Skip to main content

✅ Flying menace retaliation on damage

CategoryAbility
StatusPassing
Testtests/test_abilities_familiars.py::test_flying_menace_retaliation_on_damage

Flying Menace A retaliates with 2 Fixed Damage after being hit.

Preconditions

  • Lane 0: P1's Flying Menace A (063_1) — READIED.

  • Lane 0: P2's attacker (unit "001" Duban) — READIED.

Action

  • Apply 2 damage to Flying Menace A.

  • Fire DAMAGE_RECEIVED event on Flying Menace A with value=2.

state = deal_fixed_damage(state, fm, 2)

new_state = fire_event(
state,
GameEvent(
event_type=EventType.DAMAGE_RECEIVED,
source=duban,
target=fm,
value=2,
side=Side.PLAYER_2,
lane=0,
),
)

duban_after = next(d for d in new_state.demons if d.unit_id == "001")

Expected Postconditions

  • Duban has +2 damage (2 Fixed Damage from retaliation).

Assertions

assert duban_after.damage == 2, (
f"Duban should have 2 damage from Flying Menace retaliation, got {duban_after.damage}"
)