Megaera
Familiar of The Erinyes — Card 2 of 3
| HP | PWR | CP | Speed | Range |
|---|---|---|---|---|
| 7 | 2 | 2 | C (Companion) | Distant |
Abilities
Passive
If Megaera would become Fatally Wounded, instead, Exhaust and remove all damage from Megaera. Then, gain Megaera's CP.
Passive
After Any Other Familiar of The Erinyes performs an action, Megaera may immediately perform the same action with -2 AP Cost.
Engine Implementation
def _erinyes_mirror_action_trigger(state: GameState, event: GameEvent, demon: DemonInstance, depth: int) -> GameState | None:
"""Erinyes copy ability — fires on ABILITY_USED by another Erinyes sister.
After any OTHER familiar of The Erinyes performs an action, this familiar
may immediately perform the same action with -2 AP Cost.
Engine-side: we record a -1 AP Cost status effect as the "discount".
The actual action replication is complex (would require re-invocation).
Here we implement the -2 AP Cost discount as a status effect that this
familiar gains whenever a sister acts. The AI/OpenSpiel layer handles
the optional copy.
For the engine, we apply a -2 ap_cost status to this familiar after a
sister's ABILITY_USED event, signaling the discount window is open.
"""
source = event.source
if source is None:
return None
# Must be a different Erinyes familiar (not self)
if source.instance_id == demon.instance_id:
return None
if source.unit_id not in _ERINYES_IDS:
return None
# Must be owned by the same player
if source.owner != demon.owner:
return None
# Apply -2 ap_cost status to signal copy window is open
new_state = apply_status(state, source, demon, "ap_cost", -2)
return new_state
register_trigger("026_2", 1, _erinyes_mirror_action_trigger)