Skip to main content

Nergal

Bringer of War

Unit #018

HPPWRCPSpeedRangeTier
12 (+6)23 (+2)FastDistantB

Abilities

Adaptability — 0 AP

i: Adaptability: 0 AP - a: e: Target Demon has -1 AP Cost and cannot be Readied.
Engine Implementation
def _nergal_adaptability(
state: GameState, demon: DemonInstance, targets, choices, rng
) -> GameState:
"""#018 Nergal — Adaptability
Allied, 0 AP, (exhaust): Status: Target Demon has -1 AP Cost and cannot be Readied.
Status expires end of current main phase.

Allied: any allied demon can perform this (ability_implementation_guide.json).
"Cannot be Readied" is stored as status key "cannot_be_readied" = 1.

Targets: [target_demon]
"""
target = targets[0]
state = apply_status(state, demon, target, "ap_cost", -1)
state = apply_status(state, demon, target, "cannot_be_readied", 1)
return state

register_ability("018", 0, _nergal_adaptability)

Nine Variations — 1 AP

Nine Variations: 1 AP - a, 1x: e: All Allied Demons have -1 AP Cost and cannot be Readied.
Engine Implementation
def _nergal_nine_variations(
state: GameState, demon: DemonInstance, targets, choices, rng
) -> GameState:
"""#018 Nergal — Nine Variations
1 AP, (exhaust), 1x: Status: All Allied Demons have -1 AP Cost and cannot be Readied.
Status expires end of current main phase.

Applies to ALL allied demons on the board (including Nergal itself).
"Cannot be Readied" is stored as status key "cannot_be_readied" = 1.

Targets: None (applies to all allied demons)
"""
allied = [d for d in state.demons if d.owner == demon.owner]
for ally in allied:
state = apply_status(state, demon, ally, "ap_cost", -1)
state = apply_status(state, demon, ally, "cannot_be_readied", 1)
return state

register_ability("018", 1, _nergal_nine_variations)
Nergal