← All scenarios
SC-008autoAttack

Refinement comparison: +4 vs +10 weapon

Same character, same target, same skill — only the weapon's refine level differs. Tests the refinement formula (D-008) and verifies that refine bonus enters via WeaponATK, not as a generic Modifier. Also tests over-refine (above safe level) bonus.

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

Actors

Knight
actor · knight · Lv80/50
attacker
Primary stats
str
80
agi
30
vit
60
int
1
dex
40
luk
10
Equipment
  • mainhand: claymore · sword_2h · +4 · ATK 180
Hardened Dummy
monster · Lv80
defender
Primary stats
str
1
agi
1
vit
100
int
1
dex
1
luk
1
formlessneutral 1mediumnormal
HP 999999 / 999999
Hard DEF 50
Hard MDEF 0
Expected output
From the scenario fixture. Numerical values marked as null are placeholders pending rAthena verification.

The +10 variant must yield strictly higher damage than +4. The difference is non-linear because +8, +9, +10 each add over-refine bonus on top of safe refine. Property-test: damage(+N+1) >= damage(+N) for all N.

Show full expected JSON
{
  "propertyAssertions": [
    "damage_plus10 > damage_plus4",
    "(damage_plus10 - damage_plus9) > (damage_plus4 - damage_plus3)"
  ],
  "+4_damage": null,
  "+10_damage": null
}

Computed: DamageResult

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

Outcome
hit
1 hit · 309 damage
309
Pipeline breakdown
D-003 steps 2–13
WeaponratioATK272
× size × skill272
× (1 + 0.0% ATK%)272
+ StatusATK (195)467
× 1.00 element467
× (1 + 0.0% race/elem/size/class)467
crit none467
− 0 hard DEF467
− 158 soft DEF309
× (1 − 0.0% taken%)309
+ MasteryATK (0)309
floor + min(1)309
Inputs
From attacker / defender ResolvedStats
StatusATK195
WeaponATK272
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 309

Variant matrix · 2 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 weaponRefine
Highest in row is highlighted emerald; lowest rose. Hover any cell to see the full variant label.
+4+10
309379
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).
  • damage_plus10 > damage_plus4
  • (damage_plus10 - damage_plus9) > (damage_plus4 - damage_plus3)