diff --git a/battleman.py b/battleman.py index a0c5156..2a46336 100755 --- a/battleman.py +++ b/battleman.py @@ -30,13 +30,17 @@ class CombatGroup(): surges = input_int('healing surges', 0) recharges = [] - recharge = [''] while True: - recharge = input_str("recharge", default='').split(',') - if recharge == ['']: - break - else: + data = [] + data = input_str("recharge", default='').split(',') + if len(data) == 2: + recharge = {} + recharge['name'] = data[0] + recharge['value'] = int(data[1]) + recharge['used'] = False recharges.append(recharge) + else: + break count = input_int('count', 1) @@ -188,7 +192,13 @@ class Combatant(): else: print('{} is still affected by {} ({} round{} left).'.format(self, c['name'], c['duration'], 's'[c['duration']==1:])) - # fixme: still need to add recharges + for r in self.recharges: + if r['used']: + # Roll to recharge + d = Dice.from_str('1d6') + n = d.roll()['total'] + if n >= r['value']: + r['used'] = False def damage(self, amount):