Add class bonus calc function

This commit is contained in:
Blade Barringer
2015-07-18 08:07:16 -05:00
parent e5428f29c1
commit 6d5b57d139
2 changed files with 40 additions and 3 deletions

View File

@@ -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
} }

View File

@@ -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)
});
});
}); });