Skip to main content

Barbatos

Sovereign of Nature

Unit #111

HPPWRCPSpeedRangeTier
9 (+3)4 (+2)3 (+2)FastDistantC

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)
Barbatos