Skip to main content

✅ White tiger escort moves ally and self

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