✅ Dantalion fuses local enemy on death
| Category | Ability |
| Status | Passing |
| Test | tests/test_abilities_complex.py::TestDantalionFuseEnemyOnDeath::test_dantalion_fuses_local_enemy_on_death |
A local enemy demon dies — Dantalion fuses its card.
Preconditions
-
P1 Main Phase
-
Lane 0: P1's Dantalion (#106) — HP=6, 0 damage, READIED, NOT fatally_wounded
-
Lane 0: P2's Murmur (#002, CP=3) — dying (fatally_wounded=True) — SAME LANE
Action
- fire FATALLY_WOUNDED with target=Murmur (local enemy of Dantalion)
result = fire_event(state, event)
dantalion_after = next(d for d in result.demons if d.unit_id == "106")
Expected Postconditions
-
Dantalion: fused_bottom="002" (Murmur's card fused onto Dantalion)
-
Dantalion: is_fused=True
-
Dantalion: state UNCHANGED (Dantalion does NOT ready on fusion)
Assertions
assert dantalion_after.fused_bottom == "002", (
f"Dantalion must fuse Murmur's card. "
f"fused_bottom={dantalion_after.fused_bottom!r}, expected '002'."
)
assert dantalion_after.is_fused is True, "Dantalion must be marked as fused."
assert dantalion_after.state == DemonState.EXHAUSTED, (
"Dantalion must NOT ready on fusion (per passive [0]). "
"State must remain EXHAUSTED."
)