✅ Nephilim shield grants def to abaddon
| Category | Ability |
| Status | Passing |
| Test | tests/test_abilities_familiars.py::test_nephilim_shield_grants_def_to_abaddon |
Shield of Nephilim grants Abaddon +2 DEF as a status.
Preconditions
-
Lane 0: P1's Abaddon (028) — READIED.
-
Lane 0: P1's Nephilim shield (028_3) — READIED.
-
P1 AP: 5.
-
quick_window_open = True (Quick action).
Action
- Execute Shield of Nephilim (ability 1 on 028_3).
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)
state = place_demon(state, abaddon)
abaddon = state.demons[-1]
nephilim = make_familiar_demon("028_3", 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")
def_mod = get_stat_modifier(new_state, abaddon_after, "def")
Expected Postconditions
-
Abaddon has +2 DEF status effect.
-
P1 AP = 4.
Assertions
assert def_mod == 2, f"Abaddon should have +2 DEF status, got {def_mod}"
assert new_state.players[Side.PLAYER_1].ap == 4