✅ White tiger escort moves ally and self
| Category | Ability |
| Status | Passing |
| Test | tests/test_abilities_familiars.py::test_white_tiger_escort_moves_ally_and_self |
Escort moves an ally 1 lane then White Tiger follows.
Preconditions
-
Lane 1: P1's White Tiger (084_3) — READIED.
-
Lane 1: P1's Duban (001) — READIED (to be escorted).
-
P1 AP: 3.
Action
- Execute Escort (ability 0) targeting Duban, direction=1 (move right to lane 2).
from engine.abilities import execute_ability
state = make_game_state()
state.players[Side.PLAYER_1].ap = 3
state.current_player = Side.PLAYER_1
state.quick_window_open = True
tiger = make_familiar_demon("084_3", lane=1, owner=Side.PLAYER_1)
state = place_demon(state, tiger)
tiger = state.demons[-1]
duban = make_demon("001", lane=1, owner=Side.PLAYER_1)
state = place_demon(state, duban)
duban = state.demons[-1]
new_state = execute_ability(state, tiger, 0, targets=[duban], choices={"direction": 1})
duban_after = next(d for d in new_state.demons if d.unit_id == "001")
tiger_after = next(d for d in new_state.demons if d.unit_id == "084_3")
Expected Postconditions
-
Duban lane = 2.
-
White Tiger lane = 2 (follows ally).
Assertions
assert duban_after.lane == 2, f"Duban should be in lane 2, got {duban_after.lane}"
assert tiger_after.lane == 2, f"White Tiger should be in lane 2, got {tiger_after.lane}"