mirror of
https://github.com/sudoxnym/habitica.git
synced 2026-08-03 08:21:07 +00:00
Add class bonus calc function
This commit is contained in:
parent
e5428f29c1
commit
6d5b57d139
2 changed files with 40 additions and 3 deletions
|
|
@ -31,7 +31,18 @@ function equipmentStatBonus(stat, equipped) {
|
||||||
return total;
|
return total;
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = {
|
function classBonus(user, stat) {
|
||||||
levelBonus: levelBonus,
|
var bonus = user._statsComputed[stat]
|
||||||
equipmentStatBonus: equipmentStatBonus
|
- user.stats.buffs[stat]
|
||||||
|
- levelBonus(user.stats.lvl)
|
||||||
|
- equipmentStatBonus(stat, user.items.gear.equipped)
|
||||||
|
- user.stats[stat]
|
||||||
|
|
||||||
|
return bonus;
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
classBonus: classBonus,
|
||||||
|
equipmentStatBonus: equipmentStatBonus,
|
||||||
|
levelBonus: levelBonus
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -53,4 +53,30 @@ describe('stat calculation functions', function() {
|
||||||
expect(perStat).to.eql(24);
|
expect(perStat).to.eql(24);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('classBonus', function() {
|
||||||
|
it('calculates class bonus', function() {
|
||||||
|
var equippedGear = {
|
||||||
|
"weapon" : "weapon_warrior_1",
|
||||||
|
"shield" : "shield_warrior_1",
|
||||||
|
"head" : "head_warrior_1",
|
||||||
|
"armor" : "armor_warrior_1"
|
||||||
|
};
|
||||||
|
var user = {
|
||||||
|
_statsComputed: { str: 50 },
|
||||||
|
stats: {
|
||||||
|
lvl: 10,
|
||||||
|
buffs: { str: 10 },
|
||||||
|
str: 10
|
||||||
|
},
|
||||||
|
items: {
|
||||||
|
gear: { equipped: equippedGear }
|
||||||
|
}
|
||||||
|
};
|
||||||
|
var stat = 'str';
|
||||||
|
var classBonus = statCalc.classBonus(user, stat);
|
||||||
|
|
||||||
|
expect(classBonus).to.eql(20)
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue