✅ Ashes to ashes hits local allies too
| Category | Regression |
| Status | Passing |
| Test | tests/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