← All scenarios
SC-001autoAttackdraft

Baseline auto-attack: Novice with Knife vs Poring

Smoke test for the simplest possible physical damage path. No skill, no buffs, no cards, no element advantage. If this is wrong, everything is wrong.

physicalDamageelementTablesoftDEFweaponSizeMultiplier
Action
autoAttack
Auto-attack in expected mode
mode
expected
context.mapType
pve

Actors

Novice
actor · novice · Lv1/1
attacker
Primary stats
str
5
agi
5
vit
5
int
5
dex
5
luk
5
Equipment
  • mainhand: knife · dagger · ATK 17
Poring
monster · Lv1
defender
Primary stats
str
1
agi
1
vit
1
int
1
dex
6
luk
5
plantwater 1smallnormal
HP 50 / 50
Hard DEF 0
Hard MDEF 0
Expected output
From the scenario fixture. Numerical values marked as null are placeholders pending rAthena verification.
hittotalDamage: 17

PLACEHOLDER — run against rAthena to get the real number. The point of this scenario is to verify the path executes end-to-end and the breakdown structure is correct.

Show full expected JSON
{
  "breakdown": {
    "statusATK_present": true,
    "weaponATK_present": true,
    "equipATK": 0,
    "masteryATK": 0,
    "weaponSizeMultiplier_present": true,
    "elementMultiplier_present": true,
    "hardDEFSubtracted": 0,
    "softDEFSubtracted_present": true,
    "minDamageClamp": false
  }
}

Computed: DamageResult

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

Outcome
hit
1 hit · 24 damage
24
Pipeline breakdown
D-003 steps 2–13
WeaponratioATK17
× size × skill17
× (1 + 0.0% ATK%)17
+ StatusATK (8)25
× 1.00 element25
× (1 + 0.0% race/elem/size/class)25
crit none25
− 0 hard DEF25
− 1 soft DEF24
× (1 − 0.0% taken%)24
+ MasteryATK (0)24
floor + min(1)24
Inputs
From attacker / defender ResolvedStats
StatusATK8
WeaponATK17
EquipATK0
MasteryATK0
Size mult1.00×
Element mult1.00×
Race%0.0%
Element%0.0%
Size%0.0%
Class%0.0%
Taken%0.0%

Hits (1): hit 24