Ipos
The Vanquisher of Fear
Unit #019
| HP | PWR | CP | Speed | Range | Tier |
|---|---|---|---|---|---|
| 12 (+6) | 3 (+1) | 3 (+2) | Normal | Distant | C |
Abilities
Command Army — 1 AP
Command Army: 1 AP - a, 1x: Target any amount of Other Demons whose total CP is 7 or less. Ready the targeted Demons.
Engine Implementation
def _ipos_command_army(
state: GameState, demon: DemonInstance, targets, choices, rng
) -> GameState:
"""#019 Ipos — Command Army
Action, 1 AP, (exhaust), 1x:
Target any amount of Other Demons whose total CP is 7 or less. Ready the targeted Demons.
Targets: list of DemonInstance — subset of all Other Demons with total CP <= 7.
Readies each targeted demon.
"""
from engine.operations import ready_demon, get_effective_cp
if not targets:
return state
for target in targets:
# Re-fetch target in current state (state changes each iteration)
t_current = next(
(d for d in state.demons if d.instance_id == target.instance_id), None
)
if t_current is None or t_current.fatally_wounded:
continue
state = ready_demon(state, t_current)
return state
register_ability("019", 0, _ipos_command_army)