Skip to main content

✅ Fuse onto dantalion deals 6 fixed damage

CategoryAbility
StatusPassing
Testtests/test_abilities_complex.py::TestDantalionFixedDamageOnFusion::test_fuse_onto_dantalion_deals_6_fixed_damage

Fuse a regular demon onto Dantalion — Dantalion takes 6 Fixed Damage.

Preconditions

  • Lane 0: P1's Dantalion (HP=15, 0 damage)

  • Lane 0: P1's Murmur (fusible bottom)

Action

  • fuse_demons(state, dantalion, murmur)
from engine.fusion import fuse_demons

dantalion = make_demon("106", lane=0, owner=Side.PLAYER_1)
murmur = make_demon("002", lane=0, owner=Side.PLAYER_1)
state, placed = _make_state_with_demons(dantalion, murmur)
dantalion_p, murmur_p = placed

result = fuse_demons(state, dantalion_p, murmur_p)

dantalion_after = next(d for d in result.demons if d.unit_id == "106")

Expected Postconditions

  • Dantalion is_fused=True with fused_bottom "002"

  • Dantalion.damage == 6 (took 6 Fixed Damage from the "When Fused with" clause)

Assertions

assert dantalion_after.is_fused is True, "Dantalion should be fused"
assert dantalion_after.fused_bottom == "002", (
f"Dantalion fused_bottom must be '002'. Got {dantalion_after.fused_bottom!r}."
)
assert dantalion_after.damage == 6, (
f"Dantalion must take 6 Fixed Damage from 'When Fused with' clause. "
f"Got {dantalion_after.damage}."
)