Barbatos
Sovereign of Nature
Unit #111
| HP | PWR | CP | Speed | Range | Tier |
|---|---|---|---|---|---|
| 9 (+3) | 4 (+2) | 3 (+2) | Fast | Distant | C |
Abilities
Call Wolf — 0 AP
q: Call Wolf: 0 AP - b, 1x: Play the Wolf Familiar in Barbatos's Lane.`
Engine Implementation
def _barbatos_call_wolf(
state: GameState, demon: DemonInstance, targets, choices, rng
) -> GameState:
"""#111 Barbatos — Call Wolf
Familiar: 0 AP, (ready), 1x: Play the Wolf Familiar in Barbatos's Lane.
Wolf familiar ID: "111_1".
If Wolf is already in play (all copies in play), ability does nothing.
(ready) = must be READIED; does NOT exhaust Barbatos.
"""
from engine.operations import deploy_familiar
WOLF_ID = "111_1"
owner = demon.owner
# Check if Wolf is already in play
if any(d.unit_id == WOLF_ID for d in state.demons):
return state # All copies in play
if WOLF_ID not in state.players[owner].familiar_deck:
return state # Not available
return deploy_familiar(state, owner, WOLF_ID, demon.lane)
register_ability("111", 0, _barbatos_call_wolf)
Companion's Mark — 1 AP
h: Companion's Mark: 1 AP - b, 1x: e: At the end of this Main Phase, if the Wolf Familiar is in play, Barbatos may perform an action, Without Cost, that targets at least 1 Demon in the same Lane as the Wolf Familiar.
Engine Implementation
def _barbatos_companions_mark(
state: GameState, demon: DemonInstance, targets, choices, rng
) -> GameState:
"""#111 Barbatos — Companion's Mark
Start of Turn, 1 AP, (ready), 1x: Status: At the end of this Main Phase, if the
Wolf Familiar is in play, Barbatos may perform an action Without Cost that targets
at least 1 Demon in Wolf's Lane.
Applies "companions_mark" status marker to Barbatos (value=1).
Turn sequence reads at phase end, checks if Wolf (111_1) is in play,
and grants Barbatos a free action targeting demons in Wolf's lane.
"""
from engine.status_effects import apply_status
state = apply_status(state, demon, demon, "companions_mark", 1)
return state
register_ability("111", 1, _barbatos_companions_mark)