← All scenarios
MAG-003skilldraft

Lightning Bolt Lv5 vs Ghost-element target (absorption / negative multiplier)

Tests the absorption case — some element interactions yield a NEGATIVE multiplier, meaning the 'damage' heals the target. The library must support this and the outcome should reflect 'absorbed' (a distinct DamageResult outcome).

magicalDamageelementTableelementAbsorptionnegativeMultiplieroutcomeAbsorbed
Action
skill
MG_LIGHTNINGBOLT Lv5 in expected mode
skillId
MG_LIGHTNINGBOLT
skillLevel
5
mode
expected
context.mapType
pve

Actors

Mage
player · mage · Lv30
attacker
Primary stats
str
1
agi
10
vit
10
int
50
dex
25
luk
5
Equipment
  • mainhand: rod · staff · +3 · ATK 15 · MATK 30
Ghost-armored target (illustrative)
monster · Lv40
defender
demonghost 2mediumnormal
HP 1500 / 2000
Hard DEF 15
Hard MDEF 10
Expected output
From the scenario fixture. Numerical values marked as null are placeholders pending rAthena verification.
absorbedtotalDamage: pendingtickDamage: pending

Wind vs Ghost in the standard Renewal table is one of the elements that can yield a negative multiplier (Ghost armor absorbs Wind in some interactions, or in some tables it's 0%). Verify against rAthena — if the multiplier is exactly 0, outcome should be 'immune' instead.

Show full expected JSON
{
  "breakdown": {
    "category": "magical",
    "elementMultiplier_expectedRange": [
      -1,
      0.25
    ],
    "outcomeDispatch": "If multiplier < 0: outcome='absorbed', totalDamage is the negative number (i.e. healing). If multiplier == 0: outcome='immune', totalDamage=0. If multiplier > 0 but tiny: outcome='hit', totalDamage clamped to 1."
  }
}

Computed: MagicalDamageResult

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

Outcome
hit
5 hits · 125 damage total · 25 per hit
125(5×25)
Pipeline breakdown
D-002 magical pipeline
baseMATK70
× (1 + 0.0% MATK%)70
× 1.00 skill70
× 0.50 element35
× (1 + 0.0% race/elem/size/class)35
− hard MDEF35
− soft MDEF25
× (1 − 0.0% taken%)25
floor + min(1) per hit25
× 5 hits125
Inputs
From attacker / defender ResolvedStats
StatusMATK70
WeaponMATK0
EquipMATK0
Skill mult1.00×
Element mult0.50×
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).