Skip to main content

Seir

The Impartial Executioner

Unit #034

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

Abilities

Passive

Whenever Any Other Demon is Fatally Wounded, remove all damage from Seir.
Engine Implementation
def _seir_passive_trigger(
state: GameState, event: GameEvent, demon: DemonInstance, depth: int
):
"""#034 Seir — Passive trigger: FATALLY_WOUNDED
Whenever Any Other Demon is Fatally Wounded, remove all damage from Seir.

Fires on FATALLY_WOUNDED event for any target that is NOT this Seir instance.
CRITICAL (confusion #2): familiars ARE demons — triggers on familiar deaths too.

Returns new state with Seir's damage reset to 0. Returns None if Seir IS
the fatally wounded target (Seir's own death should not trigger on itself).
"""
from engine.operations import remove_all_damage

# Only fire if the fatally wounded target is NOT this Seir instance
if event.target is None:
return None
if event.target.instance_id == demon.instance_id:
return None # Seir itself — does not trigger on own death

# Fatally wounded demons cannot perform or resolve effects
# (game_config: dead_demons_cannot_perform_or_resolve = true)
# Re-fetch Seir from current state to check latest fatally_wounded flag
seir_current = next(
(d for d in state.demons if d.instance_id == demon.instance_id), None
)
if seir_current is None or seir_current.fatally_wounded:
return None # Seir is dead or dying — cannot resolve

# Remove all damage from Seir
return remove_all_damage(state, seir_current)

register_trigger("034", 0, _seir_passive_trigger)

Death Is the Great Equalizer — 2 AP

s: Death Is the Great Equalizer: 2 AP - a: Deal 6 Fixed Damage to this action's performer and Target Local Demon.
Engine Implementation
def _seir_death_is_the_great_equalizer(state: GameState, demon: DemonInstance, targets, choices, rng) -> GameState:
"""#034 Seir — Death Is the Great Equalizer
Universal, 2 AP, (exhaust): Deal 6 Fixed Damage to this action's performer
and Target Local Demon.

CRITICAL: Fixed Damage bypasses DEF entirely.
The performer is the demon executing the action (passed as `demon`).

Targets: [target_local_demon]
"""
target = targets[0]
# Deal 6 fixed damage to the performer (the demon executing this action)
state = deal_fixed_damage(state, demon, 6)
# Deal 6 fixed damage to the target
state = deal_fixed_damage(state, target, 6)
return state

register_ability("034", 1, _seir_death_is_the_great_equalizer)
Seir