← All scenarios
MAG-004skill

Same Cold Bolt vs same monster at different element levels

Three sub-scenarios with identical attacker and identical Mandragora-type defender, varying only elementLevel (1 vs 2 vs 3). Damage must be monotonically different — proves element LEVEL is being read from the defender, not hardcoded.

magicalDamageelementTableelementLevelDependentmonotonicity
Action
skill
MG_COLDBOLT Lv5 in expected mode
skillId
MG_COLDBOLT
skillLevel
5
mode
expected
context.mapType
pve

Actors

Wizard
player · wizard · Lv60/45
attacker
Primary stats
str
1
agi
10
vit
20
int
75
dex
50
luk
10
Equipment
  • mainhand: staff_of_wing · staff · +7 · ATK 60 · MATK 110
Earth-element dummy (level varies per variant)
monster · Lv50
defender
plantearth 1mediumnormal
HP 5000 / 5000
Hard DEF 10
Hard MDEF 10
Expected output
From the scenario fixture. Numerical values marked as null are placeholders pending rAthena verification.
hithitCount: 5

Water vs Earth: 1.50x (lv1), 1.75x (lv2), 2.00x (lv3) in standard Renewal. Damage should increase monotonically with elementLevel. The simulator should be able to visualize this curve clearly.

Show full expected JSON
{
  "propertyAssertions": [
    "totalDamage(elementLevel=1) < totalDamage(elementLevel=2)",
    "totalDamage(elementLevel=2) < totalDamage(elementLevel=3)",
    "ratio(lv3/lv1) closely matches table multiplier ratio (~1.33x)"
  ]
}

Computed: MagicalDamageResult

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

Outcome
hit
5 hits · 525 damage total · 105 per hit
525(5×105)
Pipeline breakdown
D-002 magical pipeline
baseMATK117
× (1 + 0.0% MATK%)117
× 1.00 skill117
× 1.00 element117
× (1 + 0.0% race/elem/size/class)117
− hard MDEF117
− soft MDEF105
× (1 − 0.0% taken%)105
floor + min(1) per hit105
× 5 hits525
Inputs
From attacker / defender ResolvedStats
StatusMATK117
WeaponMATK0
EquipMATK0
Skill mult1.00×
Element mult1.00×
Race%0.0%
Element%0.0%
Size%0.0%
Class%0.0%
Taken%0.0%

Each magical hit is identical in expected mode (no per-hit variance).

Variant matrix · 3 cells

Each cell re-applies the variant's overrides to the base scenario and re-runs the same pipeline that produced the single result above.

Sweep over defenderElementLevel
Highest in row is highlighted emerald; lowest rose. Hover any cell to see the full variant label.
+1+2+3
525525525
Property assertions
Pattern-matched checks from the scenario's expected. ⊙ marks assertions the parser doesn't recognize (the raw string is shown so devs can verify by eye).
  • totalDamage(elementLevel=1) < totalDamage(elementLevel=2)
  • totalDamage(elementLevel=2) < totalDamage(elementLevel=3)
  • ratio(lv3/lv1) closely matches table multiplier ratio (~1.33x)