✅ Belial deploys floating castle
| Category | Ability |
| Status | Passing |
| Test | tests/test_abilities_complex.py::TestBelialDeployTrigger::test_belial_deploys_floating_castle |
Belial enters play and deploys Floating Castle.
Preconditions
-
P1 Main Phase
-
Lane 1: P1's Belial (#101) just deployed
-
P1's familiar_deck contains "101_1" (Floating Castle)
Action
- fire DEMON_DEPLOYED with source=Belial
result = fire_event(state, event)
castle = [d for d in result.demons if d.unit_id == "101_1"]
Expected Postconditions
-
Floating Castle (101_1): deployed in lane 1 (Belial's lane), P1 owns it
-
"101_1" removed from P1's familiar_deck
Assertions
assert len(castle) == 1, (
f"Floating Castle must be deployed when Belial enters play. "
f"Found {len(castle)} on field."
)
assert castle[0].owner == Side.PLAYER_1, "Floating Castle must be owned by P1."
assert castle[0].lane == 1, (
f"Floating Castle must deploy in Belial's lane (1). Got lane {castle[0].lane}."
)
assert "101_1" not in result.players[Side.PLAYER_1].familiar_deck, (
"101_1 must be removed from familiar_deck after deploy."
)