✅ Nephilim heart removes damage
| Category | Ability |
| Status | Passing |
| Test | tests/test_abilities_familiars.py::test_nephilim_heart_removes_damage |
Heart of Nephilim removes 2 damage from Abaddon.
Preconditions
-
Lane 0: P1's Abaddon (028) — 15 HP, 5 damage, READIED.
-
Lane 0: P1's Nephilim heart (028_2) — READIED, is_familiar=True.
-
P1 AP: 5.
Action
- Execute Heart of Nephilim (ability 1 on 028_2): 1 AP, remove 2 damage from Abaddon.
from engine.abilities import execute_ability
state = make_game_state()
state.players[Side.PLAYER_1].ap = 5
state.current_player = Side.PLAYER_1
state.quick_window_open = True
abaddon = make_demon("028", lane=0, owner=Side.PLAYER_1, damage=5)
state = place_demon(state, abaddon)
abaddon = state.demons[-1]
nephilim = make_familiar_demon("028_2", lane=0, owner=Side.PLAYER_1)
state = place_demon(state, nephilim)
nephilim = state.demons[-1]
new_state = execute_ability(state, nephilim, 1, targets=[])
abaddon_after = next(d for d in new_state.demons if d.unit_id == "028")
Expected Postconditions
-
Abaddon damage = 3.
-
P1 AP = 4.
Assertions
assert abaddon_after.damage == 3, f"Expected Abaddon damage=3, got {abaddon_after.damage}"
assert new_state.players[Side.PLAYER_1].ap == 4