Skip to main content

✅ Marchosias allied action no redirect

CategoryInteraction
StatusPassing
Testtests/test_abilities_passive.py::test_marchosias_allied_action_no_redirect

P1 uses an ability on their own Duban. Marchosias does NOT

Preconditions

  • P1 Main Phase, P1 has 3 AP

  • Lane 0: P1's Duban (#001) — 6 HP, 0 damage, READIED

  • Lane 0: P1's Marchosias (#087) — 15 HP, 0 damage, READIED

  • Lane 0: P1's Sabnock (#003) — 15 HP, 0 damage, READIED

Action

  • P1 activates Sabnock's Pink Haze targeting P1's own Duban

  • This is an allied action — Marchosias does not intercept

from engine.targeting import find_marchosias_interceptors
from engine.constants import Range

state = make_game_state(current_side=Side.PLAYER_1)

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

marchosias = make_demon("087", lane=0, owner=Side.PLAYER_1)
state = place_demon(state, marchosias)

sabnock = make_demon("003", lane=0, owner=Side.PLAYER_1)
state = place_demon(state, sabnock)
sabnock_p = state.demons[-1]

# Sabnock (P1) targets Duban (P1) — same owner, not enemy action
pairs = find_marchosias_interceptors(state, [duban_p], sabnock_p, Range.ANY)

Expected Postconditions

  • Duban gets the -3 PWR, -2 DEF status (no redirect)

  • Marchosias untouched

Assertions

assert len(pairs) == 0, (
f"Allied action should not trigger redirect. Got {len(pairs)} pairs."
)