mirror of
https://github.com/sudoxnym/habitica.git
synced 2026-05-19 04:08:54 +00:00
[https://github.com/HabitRPG/habitrpg/issues/2017] add abiltiy to opt
out of class system entirely
This commit is contained in:
parent
43ce7f11cb
commit
2d568f1cf4
3 changed files with 37 additions and 10 deletions
28
dist/habitrpg-shared.js
vendored
28
dist/habitrpg-shared.js
vendored
|
|
@ -10223,7 +10223,7 @@ var global=self;/**
|
|||
_cast = spell.cast;
|
||||
return spell.cast = function(user, target) {
|
||||
_cast(user, target);
|
||||
return user.stats.mp = user.stats.mp - spell.mana;
|
||||
return user.stats.mp -= spell.mana;
|
||||
};
|
||||
});
|
||||
});
|
||||
|
|
@ -11457,13 +11457,18 @@ var process=require("__browserify_process");(function() {
|
|||
return true;
|
||||
});
|
||||
} else {
|
||||
if (!(user.balance >= .75)) {
|
||||
return cb({
|
||||
code: 401,
|
||||
message: "Not enough gems"
|
||||
});
|
||||
if (user.preferences.disableClasses) {
|
||||
user.preferences.disableClasses = false;
|
||||
user.autoAllocate = false;
|
||||
} else {
|
||||
if (!(user.balance >= .75)) {
|
||||
return cb({
|
||||
code: 401,
|
||||
message: "Not enough gems"
|
||||
});
|
||||
}
|
||||
user.balance -= .75;
|
||||
}
|
||||
user.balance -= .75;
|
||||
_.merge(user.stats, {
|
||||
str: 0,
|
||||
con: 0,
|
||||
|
|
@ -11475,6 +11480,15 @@ var process=require("__browserify_process");(function() {
|
|||
}
|
||||
return typeof cb === "function" ? cb(null, req) : void 0;
|
||||
},
|
||||
disableClasses: function(req, cb) {
|
||||
user.stats["class"] = 'warrior';
|
||||
user.flags.classSelected = true;
|
||||
user.preferences.disableClasses = true;
|
||||
user.preferences.autoAllocate = true;
|
||||
user.stats.str = user.stats.lvl;
|
||||
user.stats.points = 0;
|
||||
return cb(null, req);
|
||||
},
|
||||
allocate: function(req, cb) {
|
||||
var stat;
|
||||
stat = req.query.stat || 'str';
|
||||
|
|
|
|||
|
|
@ -382,7 +382,7 @@ _.each api.spells, (spellClass) ->
|
|||
spell.cast = (user, target) ->
|
||||
#return if spell.target and spell.target != (if target.type then 'task' else 'user')
|
||||
_cast(user,target)
|
||||
user.stats.mp = user.stats.mp - spell.mana
|
||||
user.stats.mp -= spell.mana
|
||||
|
||||
###
|
||||
---------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -610,13 +610,26 @@ api.wrap = (user) ->
|
|||
true
|
||||
else
|
||||
# Null ?class value means "reset class"
|
||||
return cb({code:401,message:"Not enough gems"}) unless user.balance >= .75
|
||||
user.balance -= .75
|
||||
if user.preferences.disableClasses
|
||||
user.preferences.disableClasses = false
|
||||
user.autoAllocate = false
|
||||
else
|
||||
return cb({code:401,message:"Not enough gems"}) unless user.balance >= .75
|
||||
user.balance -= .75
|
||||
_.merge user.stats, {str: 0, con: 0, per: 0, int: 0, points: user.stats.lvl}
|
||||
user.flags.classSelected = false
|
||||
#'stats.points': this is handled on the server
|
||||
cb? null, req
|
||||
|
||||
disableClasses: (req, cb) ->
|
||||
user.stats.class = 'warrior'
|
||||
user.flags.classSelected = true
|
||||
user.preferences.disableClasses = true
|
||||
user.preferences.autoAllocate = true
|
||||
user.stats.str = user.stats.lvl
|
||||
user.stats.points = 0
|
||||
cb null, req
|
||||
|
||||
allocate: (req, cb) ->
|
||||
stat = req.query.stat or 'str'
|
||||
if user.stats.points > 0
|
||||
|
|
|
|||
Loading…
Reference in a new issue