Skip to main content

✅ Purifying flame can be fused

CategoryAbility
StatusPassing
Testtests/test_abilities_familiars.py::test_purifying_flame_can_be_fused

Purifying Flame can be fused as a bottom card (fusion override).

Preconditions

  • Lane 0: P1's Duban (#001) — regular unit, READIED.

  • Lane 0: P1's Purifying Flame (#102_1) — familiar with fusible override.

  • Both same lane, same owner.

Action

  • can_fuse(state, duban, purifying_flame)
from engine.fusion import can_fuse

state = make_game_state()

duban = make_demon("001", lane=0, owner=Side.PLAYER_1)
state = place_demon(state, duban)
duban = state.demons[-1]

flame = make_familiar_demon("102_1", lane=0, owner=Side.PLAYER_1)
state = place_demon(state, flame)
flame = state.demons[-1]

ok, reason = can_fuse(state, duban, flame)

Expected Postconditions

  • (True, "") — fusion is legal because 102_1 is in FUSIBLE_FAMILIARS.

  • Card text: "Demons can Fuse with Purifying Flame" (ability[0]).

Assertions

assert ok is True, (
f"Purifying Flame should be fusible (FUSIBLE_FAMILIARS override). "
f"Got ok={ok}, reason={reason!r}"
)
assert reason == "", f"Expected empty reason string, got {reason!r}"