🐾PurrwikimaniaSword x Staff, datamined

Combat mechanics

The damage formula

Every step the game runs for one hit, in the order it runs them. Source: BattleFormulaHandler.Damage().

Before anything is calculated

Three checks return zero immediately, in this order: Blind, Dodge, Immunity. A blinded attacker misses before the target's dodge is even rolled.

The pipeline

Everything below is applied in sequence to a single running number.

  1. Base damage = the skill's base stat × its coefficient. For an attack skill that is your ATK × the skill ratio.
  2. Flat skill damage is added.
  3. Armour mitigation: × ATK / (ATK + DEF).
  4. Skill damage reduction from the target, applied as a divisor.
  5. Elemental layer — see Elemental Mastery.
  6. Damage bonus vs resistance: × (1 + DMG Boost + PvE/PvP bonus) / (1 + their DMG RES + their reduction scales).
  7. Crit, if it landed, and Block, if it landed. They are mutually exclusive.
  8. Level offset and rank offset — see Level and rank scaling.
  9. Situational: food buffs, distance bonuses, execute scaling, bonus versus large monsters.

ATK is in the formula twice. Once as the base value in step 1, and again in the mitigation term in step 3. That is why its value per point behaves differently from every other offensive stat — its effectiveness ranges from linear to quadratic depending on the target's DEF.

Worked example

A single cast of Water Bullet (skill entity 10500, coefficient 0.8899, flat 8,899) from a level-83 player against a same-level standard monster. All inputs are real table values.

SideStatValue
AttackerATK97,000
AttackerElemental Mastery11,300
AttackerWater Affinity4,820
AttackerDMG Boost / PvE Bonus16.3% / 19%
MonsterDEF31,543
MonsterHP101,532
MonsterWater RES / Elemental RES957 / 0
Monster row: level_prop_monster class 501, level 83.
1. base  = 97,000 x 0.8899                        =  86,320
2. + flat skill damage 8,899                      =  95,219
3. x armour  97,000/(97,000+31,543) = 0.75461     =  71,854   you keep 75.5%
4. / target skill damage reduction (1 + 0.10)     =  65,321
5. x elemental multiplier 2.80755                 = 183,393   <- largest single step
6. x (1+0.163+0.19) / (1+0.0405+0.05)             = 227,538
7. level offset x1.0, rank offset x1.0            = 227,538
                                                    -------
   NON-CRIT HIT                                     227,538
   CRIT  x max(1.3, 1+0.63-0.0385) = x1.5915        362,127

Against a monster with 101,532 HP that is 2.24× its health — a one-shot. At an 18.3% crit rate the average hit is about 252,168.

What the example shows

Step 5 does the heavy lifting. The elemental multiplier alone nearly triples the hit. Of its numerator, roughly 70% comes from Affinity and Mastery — without them the hit would be about a third of the size. This particular monster has zero Elemental RES, which is why the multiplier is so generous; a boss with real resistance changes the picture substantially.

Step 3 is the biggest loss. Armour removes 24.5% flat.

Steps 7 do nothing here because attacker and target are the same level and rank. They only matter when punching up or down.

Set to zero in this example: profession damage scales (they depend on both classes), combat-rating suppression, distance bonuses and execute scaling. Each is a real multiplier in the chain — this example simply has none of them active.