def test_calculate_aggravated_damage_with_superficial_and_agg(self): # test that agg/superficial don't interfere aggravated, superficial = DamageCalculator.calculate_aggravated_damage( max_value=5, aggravated_damage=1, superficial_damage=2, damage_taken=1) self.assertEquals(aggravated, 2) self.assertEquals(superficial, 2)
def add_willpower_aggravated_damage(self, damage): """ Add aggravated damage to the willpower tracker """ self.aggravated_willpower_damage, self.superficial_willpower_damage = DamageCalculator.calculate_aggravated_damage( self.max_willpower, self.aggravated_willpower_damage, self.superficial_willpower_damage, damage) self.update_willpower_state()
def test_calculate_aggravated_damage_agg_added(self): # Already taken a hit, take another aggravated, superficial = DamageCalculator.calculate_aggravated_damage( max_value=5, aggravated_damage=1, superficial_damage=0, damage_taken=1) self.assertEquals(aggravated, 2) self.assertEquals(superficial, 0)
def test_calculate_aggravated_damage_agg_taken(self): # some points of damage taken aggravated, superficial = DamageCalculator.calculate_aggravated_damage( max_value=5, aggravated_damage=0, superficial_damage=0, damage_taken=3) self.assertEquals(aggravated, 3) self.assertEquals(superficial, 0)
def test_calculate_aggravated_damage_no_change(self): # Base case, no change aggravated, superficial = DamageCalculator.calculate_aggravated_damage( max_value=5, aggravated_damage=0, superficial_damage=0, damage_taken=0) self.assertEquals(aggravated, 0) self.assertEquals(superficial, 0)
def test_calculate_aggravated_damage_with_superficial_overflow(self): # When the character has superficial damage already, and the tracker is overfilled with agg, superficial # gets converted to agg. aggravated, superficial = DamageCalculator.calculate_aggravated_damage( max_value=5, aggravated_damage=0, superficial_damage=5, damage_taken=1) self.assertEquals(aggravated, 1) self.assertEquals(superficial, 4)
def add_health_aggravated_damage(self, damage): """ Add aggravated damage to the tracker. Updates the health state when done. """ self.aggravated_health_damage, self.superficial_health_damage = DamageCalculator.calculate_aggravated_damage( self.max_health, self.aggravated_health_damage, self.superficial_health_damage, damage) self.update_health_state()