Skip to main content

✅ Gamigin force fuse onto dantalion deals 6 fixed damage

CategoryAbility
StatusPassing
Testtests/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."
)