✅ Waddle moves stolas one lane
| Category | Ability |
| Status | Passing |
| Test | tests/test_abilities_complex.py::TestStolas::test_waddle_moves_stolas_one_lane |
Stolas uses Waddle to move 1 lane.
Preconditions
-
P1 Main Phase (Start of Turn window), P1 has 3 AP
-
Lane 0: P1's Stolas (#022, HP=15), READIED
Action
- Stolas uses Waddle (Start of Turn, 0 AP, ready, 1x)
from engine.abilities import execute_ability
result = execute_ability(
state, stolas_p, ability_idx=1, choices={"lane": 1}
)
stolas_after = next(d for d in result.demons if d.unit_id == "022")
Expected Postconditions
-
Stolas: lane=1, READIED (ready_required — does NOT exhaust)
-
P1 AP: 3 (0 AP cost — unchanged)
Assertions
assert stolas_after.lane == 1, (
f"Stolas should move to lane 1. Got lane {stolas_after.lane}."
)
assert stolas_after.state == DemonState.READIED, (
"Stolas should stay READIED — (ready) cost does NOT exhaust."
)
assert result.players[Side.PLAYER_1].ap == 3, (
"Waddle costs 0 AP — P1 AP unchanged."
)