✅ Fused bottom trigger fires
| Category | Interaction |
| Status | Passing |
| Test | tests/test_abilities_complex.py::TestCamioStolasTriggerChain::test_fused_bottom_trigger_fires |
Verify that a fused bottom card's trigger fires for the
Preconditions
-
Lane 0: P1's Camio+Stolas fusion
-
Lane 0: P2's Duban (#001) — 0 damage
-
Lane 0: P2's Sabnock (#003)
Action
- Fire DEMON_EXHAUSTED for Sabnock
from engine.events import fire_event, GameEvent, EventType
camio_stolas = make_fused_demon("098", "022", lane=0, owner=Side.PLAYER_1)
duban = make_demon("001", lane=0, owner=Side.PLAYER_2)
sabnock = make_demon("003", lane=0, owner=Side.PLAYER_2)
state, placed = _make_state_with_demons(camio_stolas, duban, sabnock, ap=6)
camio_p, duban_p, sabnock_p = placed
event = GameEvent(
event_type=EventType.DEMON_EXHAUSTED,
source=sabnock_p,
target=sabnock_p,
value=None,
side=Side.PLAYER_2,
lane=0,
)
result = fire_event(state, event)
duban_after = next(d for d in result.demons if d.unit_id == "001")
Expected Postconditions
- Duban takes 1 Fixed Damage (Stolas trigger fired via fused bottom)
Assertions
assert duban_after.damage >= 1, (
f"Duban should take 1 damage from Stolas trigger (fused bottom). "
f"Got {duban_after.damage}"
)