← All scenarios
CARD-002autoAttack

Mixed cards — Hydra + Skeleton Worker on same weapon vs Demi-Human Medium

Two cards with DIFFERENT scopes (race vs size) on the same weapon. Both should apply independently to a target matching both conditions. Verifies that scope grouping works correctly — race.demihuman bonus and size.medium bonus are in different scope groups and combine multiplicatively across groups but additively within.

conditionalModifiermultiScopeStackingraceAndSize
Action
autoAttack
Auto-attack in expected mode
mode
expected
context.mapType
pvp

Actors

Hunter mixed-cards build
player · hunter · Lv75
attacker
Primary stats
str
30
agi
60
vit
30
int
1
dex
90
luk
30
Equipment
  • mainhand: composite_bow · bow · +7 · ATK 80 · 2 cards
Enemy Crusader (demihuman, medium)
player · Lv80
defender
Primary stats
str
60
agi
30
vit
60
int
30
dex
40
luk
20
demihumanneutral 1mediumnormal
HP 12000 / 12000
Hard DEF 50
Hard MDEF 10
Expected output
From the scenario fixture. Numerical values marked as null are placeholders pending rAthena verification.
hit
Show full expected JSON
{
  "breakdown": {
    "damageDealtMultipliers": {
      "race.demihuman": 1.2,
      "size.medium": 1.15
    },
    "_assertion": "Cross-scope combination is MULTIPLICATIVE: total = 1.20 * 1.15 = 1.38. Within-scope (multiple same-scope modifiers) is additive — see CARD-001."
  }
}

Computed: DamageResult

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

Outcome
hit
1 hit · 423 damage
423
Pipeline breakdown
D-003 steps 2–13
WeaponratioATK167
× size × skill167
× (1 + 0.0% ATK%)167
+ StatusATK (224)391
× 1.00 element391
× (1 + 0.0% race/elem/size/class)527.85
crit none527.85
− 0 hard DEF527.85
− 104 soft DEF423.85
× (1 − 0.0% taken%)423.85
+ MasteryATK (0)423.85
floor + min(1)423
Inputs
From attacker / defender ResolvedStats
StatusATK224
WeaponATK167
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 423