Physical
Damage Calcuation
Physical damage is calculated by multiplying your base damage
with attack/defense function
Damage = Base Damage x pDIF
Base Damage
Base damage is the sum of these following things
Weapon Damage Rating (D)
Ammo Damage (if the calculation is for ranged attack) (aD)
Function of your STR - monster VIT (fSTR
or fSTR2)
Weapon Skill secondary attribute modifier (WSC)
(when performing weapon skills only)
So, base damage is calculated as follow:
For Normal Attack: Base Damage = D + (aD) + fSTR(2)
For Weapon
Skills: Base Damage = floor( (D + (aD) + fSTR(2) + WSC) x fTP)
Weapon Rank, fSTR
and fSTR2
This is the additional damage bonus / penalty from the difference of your STR
and monster VIT. The cap value is related to weapon base damage.
Weapon Rank
Weapon rank is calculated by floor(Weapon Damage Rating/9)
fSTR and fSTR2
Let dSTR is the value gotten by subtracting your STR by mob VIT : dSTR = your STR - monster VIT.
and WRANK is the Weapon Rank of the weapon.
fSTR is the damage bonus from dSTR for melee attack
fSTR2 is the damage bonus from dSTR for ranged attack
For ranged attack, it takes roughly 2~3 more STR to increase fSTR2
by 1 depending on how big is dSTR value
For melee attack, fSTR is calculated by fSTR2/2. So, melee attack
needs roughly 4~6 STR to increase fSTR value by 1
When STR-VIT value is high,
fSTR2 can be approximated by (dSTR+4)/2 and
fSTR can be approximated by (dSTR+4)/4
fSTR /fSTR2 upper and lower cap values are affected by weapon rank:
The lower cap of fSTR is -WRANK
The lower cap of fSTR2 is -WRANK x2.
These lower cap values occur at : dSTR = -(7 + WRANK x2) x2
Exceptions:
Rank 0 melee weapons have lower cap value -1 instead of 0, and ranged ones have the value -2
Rank 1 ranged weapons have lower cap value -3.
The upper cap of fSTR is WRANK+8 , while
The upper cap of fSTR2 is (WRANK+8) x 2
These upper cap values occur at : dSTR = (14 + WRANK x2) x2
See the fSTR2 table over here
Level Correction Function and
pDIF
This is the main multiplier of your base damage, it dependent on the level difference,
your attack, and mob defense
Level Correction
Function
Level Correction function modify your (ranged) attack / monster defense
ratio before passing it to the pDIF function
Let's say you have 400 attack/ ranged attack and the monster have 400 defense.
So your (r)atk/def ratio is 1.
If you the monster has a higher level than you, then level correction ratio
is needed.
Otherwise, when fighting EM monster or lower, your atk/def ratio will be left
as is before plugging them into the function.
(In other words, level correction value is 0)
For this example, Let's say you are fighting level 81 monster and your own character
is a level 75 character.
Let Ratio as the value of your (r)atk divided by monster defense
Melee cRatio = Ratio - 0.050 x level difference
Ranged cRatio = Ratio - 0.025 x level difference
So after the level correction, your melee attack ratio is 0.7 and your ranged
attack ratio is 0.85
pDIF
pDIF is the attack/defense function taking your (level corrected) Attack and Defense
ratio.
The min and max value of pDIF is what makes your damage fluctuate.
Melee pDIF and Ranged pDIF
have different formulas :
Melee Attack:
max pDIF have the formulas :
cRatio Range
|
fMax
Function Value |
0 ≤ cRatio < 6/12
|
fMax(cRatio)
= 0.4 + 6/5 x cRatio |
6/12
≤ cRatio ≤ 10/12
|
fMax(cRatio)
= 1 |
| 10/12
< cRatio ≤ 24/12 |
fMax(cRatio)
= 1 + 6/5 x (cRatio - 10/12) |
and Min pDIF have the formulas :
cRatio Range
|
fMin
Function Value |
|
0 ≤ cRatio < 15/12 |
fMin(cRatio)
= 6/5 x (cRatio - 5/12)
if fMin<0 → fMin = 0 |
| 15/12
≤ cRatio ≤ 18/12 |
fMin(cRatio)
= 1 |
| 18/12
< cRatio ≤ 24/12 |
fMin(cRatio)
= 1 + 6/5 x (cRatio - 18/12) |
When cRatio
exceeds 2.0, cRatio is 2.0 (capped for melee)
Melee Critical Hit
When critical hit occurs, your pDIF will be raised by 1 and the max pDIF cap is
3.0 instead of 2.4
Examples :
When your pDIF is 0.4 and you score a critical hit, your pDIF is raised to 1.4
When your pDIF is 2.3 and you score a critical hit, your pDIF is raised to 3.0
When your pDIF is -0.4 and you score a critical hit, your pDIF is raised to 0.6,
but your normal attack will have pDIF=0
See the melee pDIF graph
for Ranged Attack,
cRatio Range
|
fMax
Function Value |
| 0
≤ cRatio < 0.9 |
fMax(cRatio)
=10/9 x cRatio |
| 0.9
≤ cRatio ≤ 1.1 |
fMax(cRatio)
= 1 |
| 1.1
< cRatio ≤ 3.0 |
fMax(cRatio)
= cRatio |
cRatio Range
|
fMin
Function Value |
| 0
≤ cRatio < 0.9 |
fMin(cRatio)
= cRatio |
| 0.9
≤ cRatio ≤ 1.1 |
fMin(cRatio)
= 1 |
|
1.1 < cRatio ≤ 3.0 |
fMin(cRatio)
= 1 + 20/19 x (cRatio - 1.1) |
When cRatio
exceeds 3.0, cRatio is 3.0 (capped for ranged)
Ranged Critical Hit
Ranged critical hit always multiply your pDIF by 1.25
Example :
When your pDIF is 3.0 and you score a critical hit, your pDIF will be 3.75
See the ranged pDIF graph
Notes
Ratio, cRatio, and pDIF value is calculated using 3 digit truncation.
Weapon Skills Base Damage
When you perform Weapon skills, your base damage
will be increased by additional value of WSC and will be multiplied
by TP multiplier fTP
WSC
WSC is the Weapon Skill secondary attribute modifier. It is an additional base
damage when you perform weapon skills.
Usually every weapon skills have 1 or 2 default stats for WSC.
For example, All archery WS have STR_16% and AGI_25% which means 16% of your STR
and 25% of your AGI will be calculated as base damage when performing all archery
WS
There's variable α(Alpha) which scales down
your WSC value as you level up higher.
Here's the list of alpha for each level (range)
|
Level Range |
Alpha
Value |
| Level
1~5 |
1.00 |
| Level
6~11 |
0.99 |
| Level
12~17 |
0.98 |
| Level
18~23 |
0.97 |
| Level
24~29 |
0.96 |
| Level
30~35 |
0.95 |
| Level
36~41 |
0.94 |
| Level
42~47 |
0.93 |
| Level
48~53 |
0.92 |
| Level
54~59 |
0.91 |
| Level
60~61 |
0.90 |
| Level
62~63 |
0.89 |
| Level
64~65 |
0.88 |
| Level
66~67 |
0.87 |
| Level
68~69 |
0.86 |
| Level
70~71 |
0.85 |
| Level
72~73 |
0.84 |
| Level
74~75 |
0.83 |
So, the WSC calculation is
WSC = floor ( floor((stat_percentage_1 x stat_1) + (stat_percentage_2
x stat_2)) x α )
fTP
fTP is the Base Damage multiplier when you perform weapon skills
For multi hit weapon skill, fTP of 2nd hit and the following hits will have value 1.00
fTP of Dual Wield and Double attack
Dual Wield and Double attack will add another extra hit into your WS
For example : Dancing Edge and Rampage are 5-hit WS. when the user sub Ninja or
when double attack effect kicked in, the damage and TP gain will be counted as
6-hit WS. However, the added attack will have fTP= 1.0 as well as the consecutive
attack.
See the WSC and fTP Stats list for every weapon skill here
Miscellaneous:
THF
Main Sneak Attack and Trick Attack
For THF Main, during the activation of Sneak Attack and Trick Attack, the total
DEX and the total AGI of your character is calculated as base damage respectedly.
For Sneak Attack:
Damage = (Base Damage + Total DEX) x critical hit pDIF
For Trick Attack:
Damage = (Base Damage + Total AGI) x pDIF
For Sneak Attack and Trick Attack:
Damage = (Base Damage + Total DEX + Total AGI) x critical hit pDIF
For Sneak Attack and Trick Attack enabled WS:
Damage = ( Base Damage + Total DEX + Total AGI) x critical hit pDIF
Rogue's Armlet+1 gives 15% AGI bonus during trick attack
There are still some consistency check need to be done with Studio Gobli damage
calculator
It
has been tested by Kalia from Valefor that Triple damage proc from Mandau
only affects the base damage and not applied to AGI and DEX bonus during Sneak
Attack / Trick Attack activation.
n-fold Damage Proc from Stage-5 Relic Weapons
Some stage-5 relic weapons have non-integer n-fold damage multiplier,
such as Great Katana's, Great Sword's, Sword's, etc.
Please note that this multiplier only be applied on base damage, and will truncate the base damage after the multiplication.
For example:
Amanomurakumo have base damage 88.
Under capped condition fSTR is 17.
So, the total base damage is 105.
With 2.5-fold damage modifier, the base damage will become 262.5, Truncate it, then you'll get 262.
After that, proceed multiplying them with pDIF as usual.
(i.e. if your pDIF is capped critical-hit (3.0), then your damage will be 262 * 3.0 = 786)
Jump Damage Calculation
It seems that Jump's damage is calculated the following way:
Damage = (D + fSTR + WSC)*pDIF
where WSC is the secondary modifier of Jump : VIT_50%, with some exception that after mutliplying the number with α, the number is rounded up instead of truncated.