Skip to main content

✅ Fused bottom trigger fires

CategoryInteraction
StatusPassing
Testtests/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}"
)