Skip to main content

✅ Ashes to ashes hits local allies too

CategoryRegression
StatusPassing
Testtests/test_abilities_complex.py::TestBalam::test_ashes_to_ashes_hits_local_allies_too

Regression: Confusion #21 — "All Other Local Demons" includes allies. Balam's Ashes to Ashes confirms friendly fire.

Preconditions

  • P1 Main Phase, P1 has 3 AP

  • Lane 0: P1's Balam (#040, PWR=2), READIED

  • Lane 0: P1's Murmur (#002, HP=9, DEF=0) ← P1's ALLY in same lane

  • Lane 0: P2's Duban (#001, HP=6, DEF=0) ← enemy in same lane

Action

  • Balam uses Ashes to Ashes (0 AP, ready, 1x), PWR=2 regular damage
result = execute_ability(state, balam_p, ability_idx=0)
murmur_after = next(d for d in result.demons if d.unit_id == "002")
duban_after = next(d for d in result.demons if d.unit_id == "001")
balam_after = next(d for d in result.demons if d.unit_id == "040")

Expected Postconditions

  • Murmur (P1 ALLY): 2 damage (friendly fire!)

  • Duban (P2 enemy): 2 damage

  • Balam: still READIED (ready cost)

Assertions

assert murmur_after.damage == 2, "Ally takes friendly fire"
assert duban_after.damage == 2
assert balam_after.state == DemonState.READIED