Bathin
The Bridge Between Worlds
Unit #010
| HP | PWR | CP | Speed | Range | Tier |
|---|---|---|---|---|---|
| 12 (+6) | 3 (+1) | 3 (+2) | Fast | Any | B |
Abilities
Bridge Space — 0 AP
Bridge Space: 0 AP - b, 1x: Move Target Allied Demon to Any Lane.
Engine Implementation
def _bathin_bridge_space(state: GameState, demon: DemonInstance, targets, choices, rng) -> GameState:
"""#010 Bathin — Bridge Space
0 AP, (ready), 1x: Move Target Allied Demon to Any Lane.
(ready) means demon must be readied; does NOT exhaust on use.
1x per turn (resets each main phase — confusion #20).
Target lane from choices["lane"].
Targets: [target_allied_demon]
Choices: {"lane": int}
"""
return _move_to_lane(state, targets[0], choices["lane"])
register_ability("010", 0, _bathin_bridge_space)
Abduct — 0 AP
Abduct: 0 AP - b, 1x: Move Target Exhausted Demon to Bathin's Lane.`
Engine Implementation
def _bathin_abduct(state: GameState, demon: DemonInstance, targets, choices, rng) -> GameState:
"""#010 Bathin — Abduct
0 AP, (ready), 1x: Move Target Exhausted Demon to Bathin's Lane.
(ready) means demon must be readied; does NOT exhaust on use.
1x per turn (confusion #20).
Target must be Exhausted — enforced by targeting logic, not handler.
Moves target to Bathin's (demon's) current lane.
Targets: [target_exhausted_demon]
"""
return _move_to_lane(state, targets[0], demon.lane)
register_ability("010", 1, _bathin_abduct)