← All scenarios
CARD-008autoAttack

Map-conditional card — '+20% damage in PvP/GvG maps only'

Tests the mapType predicate. Same character, same target — only the context.mapType differs across variants. Card should apply in pvp/gvg, not in pve.

conditionalModifiermapTypePredicatecontextDependentModifier
Action
autoAttack
Auto-attack in expected mode
mode
expected

Actors

WoE-focused Knight
player · lord_knight · Lv95
attacker
Primary stats
str
90
agi
40
vit
70
int
1
dex
60
luk
15
Equipment
  • mainhand: woe_blade · sword_2h · +8 · ATK 200 · 1 card
Enemy player
player · Lv95
defender
Primary stats
str
30
agi
80
vit
50
int
30
dex
70
luk
30
demihumanneutral 1mediumnormal
HP 15000 / 15000
Hard DEF 45
Hard MDEF 10
Expected output
From the scenario fixture. Numerical values marked as null are placeholders pending rAthena verification.

Context is what drives the condition here — emphasizes that context (D-009) is part of the calculation environment, not the attacker.

Show full expected JSON
{
  "propertyAssertions": [
    "damage(pvp) ≈ damage(gvg) — both trigger the OR",
    "damage(pvp) > damage(pve) — pve doesn't trigger either branch",
    "damage(pvp) / damage(pve) ≈ 1.20 (+/- DEF/element rounding)"
  ]
}

Computed: DamageResult

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

Outcome
hit
1 hit · 533 damage
533
Pipeline breakdown
D-003 steps 2–13
WeaponratioATK398
× size × skill398
× (1 + 0.0% ATK%)398
+ StatusATK (235)633
× 1.00 element633
× (1 + 0.0% race/elem/size/class)633
crit none633
− 0 hard DEF633
− 100 soft DEF533
× (1 − 0.0% taken%)533
+ MasteryATK (0)533
floor + min(1)533
Inputs
From attacker / defender ResolvedStats
StatusATK235
WeaponATK398
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 533

Variant matrix · 3 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 mapType
Highest in row is highlighted emerald; lowest rose. Hover any cell to see the full variant label.
pvpgvgpve
533533533
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(pvp) ≈ damage(gvg) — both trigger the OR
    533 vs 533 (Δ 0)
  • damage(pvp) > damage(pve) — pve doesn't trigger either branch
  • damage(pvp) / damage(pve) ≈ 1.20 (+/- DEF/element rounding)