Skip to main content

✅ Nephilim heart removes damage

CategoryAbility
StatusPassing
Testtests/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