✅ Sword of wrath invulnerable while aamon in play
| Category | Ability |
| Status | Passing |
| Test | tests/test_abilities_familiars.py::test_sword_of_wrath_invulnerable_while_aamon_in_play |
Sword of Wrath cannot take damage while Aamon is in play.
Preconditions
-
Lane 0: P1's Aamon (096) — READIED.
-
Lane 0: P1's Sword of Wrath (096_1) — READIED, damage=0.
Action
- Apply 5 Fixed Damage to Sword of Wrath, then fire DAMAGE_RECEIVED event.
state_with_dmg = deal_fixed_damage(state, sword, 5)
# Fire DAMAGE_RECEIVED — should cancel the damage
new_state = fire_event(
state_with_dmg,
GameEvent(
event_type=EventType.DAMAGE_RECEIVED,
source=None,
target=sword,
value=5,
side=Side.PLAYER_2,
lane=0,
),
)
sword_after = next(d for d in new_state.demons if d.unit_id == "096_1")
Expected Postconditions
- Sword of Wrath damage = 0 (damage cancelled while Aamon is in play).
Assertions
assert sword_after.damage == 0, (
f"Sword of Wrath should have 0 damage while Aamon is in play, got {sword_after.damage}"
)