Skip to main content

Decarabia

The Starshield

Unit #008

HPPWRCPSpeedRangeTier
15 (+9)24 (+3)FastLocalB

Abilities

Passive

Enemy Demons cannot move Decarabia.
Engine Implementation
def _decarabia_immovable(state: GameState, demon: DemonInstance) -> dict:
"""#008 Decarabia — Enemy Demons cannot move Decarabia.
Returns a flag checked by can_be_moved_by(). Allies CAN still move Decarabia."""
return {"cannot_be_moved_by_enemy": 1}

register_passive("008", 0, _decarabia_immovable)

Perfect Defense — 2 AP

h: Perfect Defense: 2 AP - a: e: All Local Allied Demons have +15n.
Engine Implementation
def _decarabia_perfect_defense(state: GameState, demon: DemonInstance, targets, choices, rng) -> GameState:
"""#008 Decarabia — Perfect Defense
Start of Turn, 2 AP, (exhaust): Status: All Local Allied Demons have +15 DEF.

Applies +15 DEF status to all allied demons in Decarabia's lane including Decarabia.
Status expires end of current main phase (confusion #9 — NOT permanent).
"""
from engine.status_effects import apply_status

local_allies = [
d for d in state.demons
if d.lane == demon.lane and d.owner == demon.owner
]

for ally in local_allies:
state = apply_status(state, demon, ally, "def", 15)

return state

register_ability("008", 1, _decarabia_perfect_defense)
Decarabia