← All scenarios
STATUS-010resolveStatsOnly

ignore stacking — second Kyrie Eleison cast while one is active is a no-op

Tests stackingPolicy='ignore'. If a buff with this policy is already on the actor, re-applying it does nothing (duration not refreshed, modifiers not doubled). This is rare in RO but exists for certain self-buffs that shouldn't be 'recasted up'. Verifies the library doesn't accidentally duplicate the effect.

stackingPolicyignorePolicynoOpReapplication
Action
resolveStatsOnly
Stat resolution only — no damage computation

Actors

Priest with Kyrie active (re-cast attempted)
player · priest · Lv75
attacker
Primary stats
str
30
agi
50
vit
50
int
80
dex
70
luk
30
Active effects
  • kyrie_eleison(1 modifier)
Expected output
From the scenario fixture. Numerical values marked as null are placeholders pending rAthena verification.

Library reads the single Kyrie entry; resolved damage.taken.percent = -0.30. The 'ignore' policy is enforced by the caller at apply time, not by the library reading the array. But the library should verify (via schema) that no duplicate Effect IDs exist on the same Actor — that's a strong invariant.

Show full expected JSON
{
  "_schemaInvariant": "Consider adding a refinement to Actor.activeEffects: no two entries with the same id when stackingPolicy is 'refresh' or 'ignore'. (Multiple entries are valid for 'stack_independent'.)"
}

Computed: ResolvedStats

Server-evaluated by resolveStats() from @ro/core.

Resolved primaries
After stat.* modifiers (D-005)
StatBaseResolvedΔ
STR30300
AGI50500
VIT50500
INT80800
DEX70700
LUK30300
Combat secondaries
D-007
HIT155
FLEE131
Perfect Dodge3
CRIT11%
Crit damage2.00×
ASPDbase stubbed at 0163.00
MaxHP / MaxSPjob tables pending0 / 0
Physical ATK components
D-003
StatusATK100
WeaponATKPhase 3+0
EquipATK0
MasteryATK0
ATK%0.0%
Magical MATK components
D-007
StatusMATK138
WeaponMATKPhase 3+0
EquipMATK0
MATK%0.0%
Defenses
D-004
Hard DEF0
Soft DEF92
Hard MDEF0
Soft MDEF128
Conditional buckets
Pre-summed defender-keyed bonuses + deferred modifiers

No defender-keyed bonuses active.

Pending conditional modifiers: 0