mirror of
https://github.com/sudoxnym/habitica.git
synced 2026-08-05 12:02:13 +00:00
Add achievement for rebirths
This commit is contained in:
parent
44d738af50
commit
701be90da2
2 changed files with 17 additions and 1 deletions
9
dist/habitrpg-shared.js
vendored
9
dist/habitrpg-shared.js
vendored
|
|
@ -11183,7 +11183,7 @@ var process=require("__browserify_process");(function() {
|
|||
return cb(null, req);
|
||||
},
|
||||
rebirth: function(req, cb) {
|
||||
var flags, gear, stats;
|
||||
var flags, gear, lvl, stats;
|
||||
if (user.balance < 2) {
|
||||
return cb({
|
||||
code: 401,
|
||||
|
|
@ -11191,6 +11191,7 @@ var process=require("__browserify_process");(function() {
|
|||
}, req);
|
||||
}
|
||||
user.balance -= 2;
|
||||
lvl = user.stats.lvl;
|
||||
_.each(user.tasks, function(task) {
|
||||
if (task.type !== 'reward') {
|
||||
task.value = 0;
|
||||
|
|
@ -11227,6 +11228,12 @@ var process=require("__browserify_process");(function() {
|
|||
flags.itemsEnabled = false;
|
||||
flags.dropsEnabled = false;
|
||||
flags.classSelected = false;
|
||||
if (!user.achievements.rebirths || (lvl > user.achievements.rebirthLevel)) {
|
||||
user.achievements.rebirths++;
|
||||
user.achievements.rebirthLevel = lvl;
|
||||
} else {
|
||||
Notification.text(user.profile.name + " is reborn!");
|
||||
}
|
||||
return cb(null, req);
|
||||
},
|
||||
clearCompleted: function(req, cb) {
|
||||
|
|
|
|||
|
|
@ -403,9 +403,12 @@ api.wrap = (user) ->
|
|||
cb null, req
|
||||
|
||||
rebirth: (req, cb) ->
|
||||
# Cost is 8 Gems ($2)
|
||||
if user.balance < 2
|
||||
return cb {code:401,message: "Not enough gems."}, req
|
||||
user.balance -= 2
|
||||
# Save off user's level, for calculating achievement eligibility later
|
||||
lvl = user.stats.lvl
|
||||
# Turn tasks yellow, zero out streaks
|
||||
_.each user.tasks, (task) ->
|
||||
unless task.type is 'reward'
|
||||
|
|
@ -437,6 +440,12 @@ api.wrap = (user) ->
|
|||
flags.itemsEnabled = false
|
||||
flags.dropsEnabled = false
|
||||
flags.classSelected = false
|
||||
# Award an achievement if this is their first Rebirth, or if they made it further than last time
|
||||
if not (user.achievements.rebirths) or (lvl > user.achievements.rebirthLevel)
|
||||
user.achievements.rebirths++
|
||||
user.achievements.rebirthLevel = lvl
|
||||
else
|
||||
Notification.text(user.profile.name + " is reborn!")
|
||||
cb null, req
|
||||
|
||||
# ------
|
||||
|
|
|
|||
Loading…
Reference in a new issue