Skip to main content

✅ Great blue spot friendly fire

CategoryRegression
StatusPassing
Testtests/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"