Skip to main content

✅ Flying menace retaliation once per phase

CategoryAbility
StatusPassing
Testtests/test_abilities_familiars.py::test_flying_menace_retaliation_once_per_phase

Flying Menace retaliation fires only once per main phase.

Preconditions

  • Lane 0: Flying Menace A, already fired retaliation this phase

  • (ability_used_this_turn has retaliation key set to 1).

  • Lane 0: P2's Duban.

Action

  • Fire DAMAGE_RECEIVED event again (second hit this phase).
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's damage stays 0 (retaliation already used this phase).

Assertions

assert duban_after.damage == 0, "Retaliation should not fire twice per phase."