✅ Fuse onto dantalion deals 6 fixed damage
| Category | Ability |
| Status | Passing |
| Test | tests/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}."
)