✅ Nephilim cannot fuse normally
| Category | Ability |
| Status | Passing |
| Test | tests/test_abilities_familiars.py::test_nephilim_cannot_fuse_normally |
Nephilim (028_1) cannot be fused via normal Demonic Fusion.
Preconditions
-
Lane 0: P1's Abaddon (#028) — regular unit, READIED.
-
Lane 0: P1's Nephilim (#028_1, Crown) — familiar in FUSION_RESTRICTED_FAMILIARS.
Action
- can_fuse(state, abaddon, nephilim_028_1)
from engine.fusion import can_fuse
state = make_game_state()
abaddon = make_demon("028", lane=0, owner=Side.PLAYER_1)
state = place_demon(state, abaddon)
abaddon = state.demons[-1]
nephilim = make_familiar_demon("028_1", lane=0, owner=Side.PLAYER_1)
state = place_demon(state, nephilim)
nephilim = state.demons[-1]
ok, reason = can_fuse(state, abaddon, nephilim)
Expected Postconditions
-
(False, <contains "special actions">) — Nephilim blocked from normal fusion.
-
Card text: "Nephilim can only Fuse or be Fused with by special actions and
-
not by Demonic Fusion." (ability[0] on all four Nephilim cards).
Assertions
assert ok is False, (
f"Nephilim 028_1 should NOT be fusible via normal Demonic Fusion. Got ok={ok}"
)
assert "special actions" in reason.lower() or "restricted" in reason.lower(), (
f"Rejection reason should mention restriction. Got: {reason!r}"
)