def impl(context): observer = context.observer hp_events = [ x for x in observer.events if e_event_type(x) == 'hit points changed' ] hp_event = hp_events[0] attack_events = [ x for x in observer.events if e_event_type(x) == 'attack hit' ] if attack_events: attack_event = attack_events[0] weapon = e_attacker(attack_event).inventory.weapon expected_damage = sum(x[0] for x in weapon.weapon_data.damage) realised_damage = e_old_hit_points(hp_event) - e_new_hit_points( hp_event) else: trap_event = [ x for x in observer.events if e_event_type(x) == 'damage trap triggered' ][0] expected_damage = 2 realised_damage = e_damage(trap_event)[0] assert_that(realised_damage, is_(less_than(expected_damage)))
def __init__(self, event): """ Default constructor """ super().__init__(event) self.location = e_target(event).location self.damage = -e_damage(event)[0] self.colour = 'white' self.offset = (0, 0)
def impl(context, damage_type): observer = context.observer attack_hit_events = (x for x in context.observer.events if e_event_type(x) == "attack hit") found = False for event in attack_hit_events: damage_list = e_damage(event)[1] for damage in damage_list: if damage_type == damage[1]: found = True assert found
def impl(context, damage_type): observer = context.observer attack_hit_events = (x for x in context.observer.events if e_event_type(x) == 'attack hit') found = False for event in attack_hit_events: damage_list = e_damage(event)[1] for damage in damage_list: if damage_type == damage[1]: found = True assert found
def impl(context): observer = context.observer hp_events = [x for x in observer.events if e_event_type(x) == "hit points changed"] hp_event = hp_events[0] attack_events = [x for x in observer.events if e_event_type(x) == "attack hit"] if attack_events: attack_event = attack_events[0] weapon = e_attacker(attack_event).inventory.weapon expected_damage = sum(x[0] for x in weapon.weapon_data.damage) realised_damage = e_old_hit_points(hp_event) - e_new_hit_points(hp_event) else: trap_event = [x for x in observer.events if e_event_type(x) == "damage trap triggered"][0] expected_damage = 2 realised_damage = e_damage(trap_event)[0] assert_that(realised_damage, is_(less_than(expected_damage)))