✅ Valac call snake deploys snake
| Category | Ability |
| Status | Passing |
| Test | tests/test_abilities_actions.py::test_valac_call_snake_deploys_snake |
Valac plays Call Snake — deploys Snake A (036_1) to target lane.
Preconditions
-
P1 Main Phase, P1 has 3 AP
-
Lane 0: P1's Valac (#036) — READIED
-
P1's familiar_deck contains 036_1, 036_2, 036_3, 036_4
Action
- Execute Valac's Call Snake (ability idx=0, 1 AP, ready, 1x) targeting lane 2
state.players[Side.PLAYER_1].familiar_deck = ["036_1", "036_2", "036_3", "036_4"]
state_after = execute_ability(state, valac_on_field, ability_idx=0, targets=None, choices={"lane": 2})
snake_on_field = [d for d in state_after.demons if d.unit_id == "036_1"]
Expected Postconditions
-
Snake A (036_1) is on field in lane 2
-
P1 familiar_deck: 036_2, 036_3, 036_4
-
P1 AP: 2 (spent 1)
-
Valac: READIED (ready cost, not exhausted)
Assertions
assert len(snake_on_field) == 1
assert snake_on_field[0].lane == 2
assert "036_1" not in remaining