← All scenarios
SC-011autoAttack

Miss / Perfect Dodge: low-DEX attacker vs high-AGI defender

Tests the accuracy check and perfect-dodge path. Verifies that hit rate is computed correctly and that 'miss' and 'perfect_dodge' are distinct outcomes with different DamageResult shapes.

hitFleeCheckperfectDodgemissOutcomeoutcomesEnum
Action
autoAttack
Auto-attack in rolled mode × 1000 samples
mode
rolled
seed
scenario-011-many-rolls
samples
1000
context.mapType
pvp

Actors

Low DEX Mage trying to melee
actor · mage · Lv30
attacker
Primary stats
str
30
agi
10
vit
10
int
30
dex
10
luk
5
Equipment
  • mainhand: rod · staff · ATK 15
High-AGI Assassin
player · Lv80
defender
Primary stats
str
30
agi
99
vit
30
int
1
dex
40
luk
80
demihumanneutral 1mediumnormal
Hard DEF 20
Hard MDEF 0
Expected output
From the scenario fixture. Numerical values marked as null are placeholders pending rAthena verification.

Run 1000 rolled attacks with deterministic seed. Verify the outcome distribution falls in the expected ranges. Compare against analytical expected rates: hitRate = clamp(80 + HIT - FLEE, 5, 100); perfectDodgeRate = floor(LUK/10) + flat bonuses. Empirical and analytical should match within statistical tolerance.

Show full expected JSON
{
  "outcomeDistribution": {
    "hit_or_crit_percent_range": [
      0,
      30
    ],
    "miss_percent_range": [
      50,
      90
    ],
    "perfect_dodge_percent_range": [
      5,
      15
    ]
  },
  "deterministicCheck": "Same seed must produce same exact sequence of outcomes across runs and across platforms."
}

Computed: DamageResult

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

Outcome
miss
1 hit · 0 damage