✅ Great blue spot friendly fire
| Category | Regression |
| Status | Passing |
| Test | tests/test_abilities_complex.py::TestFocalorGreatBlueSpot::test_great_blue_spot_friendly_fire |
Regression: Confusion #21 — Great Blue Spot hits ALL demons including allies. Friendly fire confirmed.
Preconditions
-
P1 Main Phase, P1 has 6 AP
-
Lane 0: P1's Focalor (#069, PWR=5), READIED
-
Lane 2: P1's Murmur (#002, HP=9, 0 damage) ← P1's ALLY
-
Lane 2: P2's Duban (#001, HP=6, 0 damage) ← enemy
Action
-
Focalor uses Great Blue Spot targeting Lane 2
-
Total: 3 × 5 = 15 Fixed, 2 demons → ceil(15/2) = 8 per demon
result = execute_ability(state, focalor_p, ability_idx=0, choices={"lane": 2})
murmur_after = next(d for d in result.demons if d.unit_id == "002")
Expected Postconditions
-
Murmur (P1 ALLY): 8 damage (friendly fire!)
-
Duban (P2 enemy): fatally wounded (8 >= 6 HP)
Assertions
assert murmur_after.damage == 8, "Ally must take friendly fire"
assert not any(d.unit_id == "001" for d in result.demons), "Duban fatally wounded"