Example #1
0
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)))
Example #2
0
    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)
Example #3
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
Example #4
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
Example #5
0
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)))