Skip to main content

Aries

Unit #023

HPPWRCPSpeedRangeTier
9 (+3)3 (+1)3 (+2)SlowDistantD

Abilities

Orbital Bombardment — 5 AP

Orbital Bombardment: 5 AP - a: Deal k Fixed Damage to All Demons in Target Distant Lane.
Engine Implementation
def _aries_orbital_bombardment(state: GameState, demon: DemonInstance, targets, choices, rng) -> GameState:
"""#023 Aries — Orbital Bombardment
Action, 5 AP, (exhaust): Deal PWR Fixed Damage to All Demons in Target Distant Lane.

CRITICAL: "All Demons" includes your own allies in the targeted lane (confusion #21).
Fixed Damage bypasses DEF.
Target must be a Distant lane (different from Aries's lane).
"""
from engine.operations import get_effective_pwr, deal_fixed_damage
from engine.targeting import get_local_demons

if choices and "lane" in choices:
target_lane = choices["lane"]
elif targets:
target_lane = targets[0].lane
else:
return state

pwr = get_effective_pwr(state, demon)
demons_in_lane = get_local_demons(state, target_lane)

for t in demons_in_lane:
state = deal_fixed_damage(state, t, pwr)

return state

register_ability("023", 0, _aries_orbital_bombardment)

Artificial Sun — 5 AP

Artificial Sun: 5 AP - a: Deal (2pk)+1 Fixed Damage to Target Distant Demon.
Engine Implementation
def _aries_artificial_sun(state: GameState, demon: DemonInstance, targets, choices, rng) -> GameState:
"""#023 Aries — Artificial Sun
5 AP, (exhaust): Deal (2×PWR)+1 Fixed Damage to Target Distant Demon.

CRITICAL: Fixed Damage bypasses DEF entirely (deal_fixed_damage).
PWR-scaling uses get_effective_pwr() which includes fusion bonus.
Target must be Distant (different lane) — enforced by targeting logic, not handler.

Targets: [target_distant_demon]
"""
target = targets[0]
pwr = get_effective_pwr(state, demon)
fixed_damage = (2 * pwr) + 1
state = deal_fixed_damage(state, target, fixed_damage)
return state

register_ability("023", 1, _aries_artificial_sun)
Aries