✅ Normal attack allows zagan reposition
| Category | Interaction |
| Status | Passing |
| Test | tests/test_abilities_actions.py::test_normal_attack_allows_zagan_reposition |
Control test: a normal ability triggers Zagan's reposition passive via ACTION_DECLARED and does not suppress Quick.
Preconditions
-
P1 Main Phase, P1 has 5 AP
-
Lane 0: P1's Sabnock (#003) — READIED
-
Lane 0: P2's Flauros (#013) — READIED (target)
-
Lane 2: P2's Zagan (#024) — READIED
Action
- P1 activates Sabnock's Pink Haze (ability idx=0, Quick, 1 AP) targeting Flauros
result = execute_ability(state, sabnock_p, ability_idx=0, targets=[flauros_p])
zagan_after = next(d for d in result.demons if d.unit_id == "024")
Expected Postconditions
-
ACTION_DECLARED fires → Zagan repositions (moves out of lane 2)
-
state.suppress_quick_response = False
Assertions
assert zagan_after.lane != 2, (
f"Zagan should reposition (ACTION_DECLARED fires for normal abilities). "
f"Still in lane {zagan_after.lane}"
)