✅ Flying menace retaliation on damage
| Category | Ability |
| Status | Passing |
| Test | tests/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}"
)