✅ Bathin abduct moves exhausted demon to bathins lane
| Category | Ability |
| Status | Passing |
| Test | tests/test_abilities_actions.py::test_bathin_abduct_moves_exhausted_demon_to_bathins_lane |
Bathin's Abduct moves an exhausted demon to Bathin's lane.
Preconditions
-
P1 Main Phase, P1 has 5 AP
-
Lane 2: P1's Bathin (#010) — READIED
-
Lane 0: P2's Sabnock (#003) — EXHAUSTED (valid Abduct target)
Action
- Execute Bathin's Abduct (ability[1], 0 AP, ready, 1x) targeting Sabnock
result = execute_ability(
state, bathin_on_field, ability_idx=1,
targets=[sabnock_on_field]
)
sabnock_after = next(d for d in result.demons if d.unit_id == "003")
Expected Postconditions
-
Sabnock: now in lane 2 (Bathin's lane)
-
Bathin: still in lane 2, still READIED
-
P1 AP: 5 (0 AP cost)
Assertions
assert sabnock_after.lane == 2
bathin_after = next(d for d in result.demons if d.unit_id == "010")
assert bathin_after.lane == 2
assert result.players[Side.PLAYER_1].ap == 5