✅ Gamigin force fuse onto dantalion deals 6 fixed damage
| Category | Ability |
| Status | Passing |
| Test | tests/test_abilities_complex.py::TestGamiginForcedFusion::test_gamigin_force_fuse_onto_dantalion_deals_6_fixed_damage |
Tests interaction between Gamigin, Dantalion.
Preconditions
-
P1 Main Phase
-
Lane 0: P1's Gamigin (#031) — HP=6, 6 damage, fatally_wounded=True
-
Lane 1: P2's Dantalion (#106) — HP=15, 0 damage, READIED, NOT fused
-
(Dantalion is the ONLY fusible target on P2's board)
Action
- fire FATALLY_WOUNDED with target=Gamigin
result = fire_event(state, event)
dant_after = next(d for d in result.demons if d.unit_id == "106")
Expected Postconditions
-
P2's Dantalion: fused_bottom="031", is_fused=True
-
P2's Dantalion: damage=6 (6 Fixed Damage from Dantalion's fusion clause)
-
P2's Dantalion: state=EXHAUSTED (Gamigin's "Fuse and Exhaust")
Assertions
assert dant_after.fused_bottom == "031", (
f"Gamigin's card must fuse onto Dantalion. Got {dant_after.fused_bottom!r}."
)
assert dant_after.is_fused is True, "Dantalion must be marked fused."
assert dant_after.damage == 6, (
f"Dantalion's passive deals 6 Fixed Damage when fused with. "
f"Expected damage=6, got {dant_after.damage}."
)
assert dant_after.state == DemonState.EXHAUSTED, (
"Gamigin's 'Fuse and Exhaust' clause must still apply — Dantalion EXHAUSTED."
)