fix vbox not recalculating on spec remove

This commit is contained in:
ntr
2019-04-03 23:44:02 +11:00
parent b664396ddf
commit 13cd21c925
4 changed files with 18 additions and 2 deletions
+14
View File
@@ -638,6 +638,20 @@ pub fn vbox_unequip(params: VboxUnequipParams, tx: &mut Transaction, account: &A
None => return Err(err_msg("var has no effect on cryps")),
}
// now the var has been applied
// recalculate the stats of the whole team
let team_colours = player.cryps.iter().fold(Colours::new(), |tc, c| {
Colours {
red: tc.red + c.colours.red,
green: tc.green + c.colours.green,
blue: tc.blue + c.colours.blue
}
});
for cryp in player.cryps.iter_mut() {
cryp.apply_modifiers(&team_colours);
}
player.vbox.bound.push(params.target);
return player_update(tx, player, false);
}