Skip to main content

✅ Megaera survives fatal wound

CategoryAbility
StatusPassing
Testtests/test_abilities_familiars.py::test_megaera_survives_fatal_wound

Megaera (026_2) triggers survival passive like Alecto.

Preconditions

  • Lane 0: P1's Megaera (026_2) — 7 HP, 7 damage (Fatally Wounded).

  • P1 CP: 0.

Action

  • Fire FATALLY_WOUNDED event targeting Megaera.
new_state = fire_event(
state,
GameEvent(
event_type=EventType.FATALLY_WOUNDED,
source=None,
target=megaera,
value=0,
side=Side.PLAYER_1,
lane=0,
),
)

megaera_after = next((d for d in new_state.demons if d.unit_id == "026_2"), None)

Expected Postconditions

  • Megaera still on field, EXHAUSTED, damage=0.

  • P1 CP = 2 (Megaera's CP).

Assertions

assert megaera_after is not None, "Megaera should still be on field."
assert megaera_after.state == DemonState.EXHAUSTED
assert megaera_after.damage == 0
assert new_state.players[Side.PLAYER_1].cp == FAMILIARS["026_2"].cp