This is for the people who just want up to date information and can't be bothered to read 100+ posts to stay updated.
Section #1: How Mob Avoid Works
Section #2: How Player Avoid Works
Section #3: How Mob Damage Works
Section #4: How Player Damage Works
Credits:
- Many members of the Southperry community: Dusk, JoeTang, KaidaTan, kruimel0, 505, and many others...
If you're wondering:
All of these formulas are taken straight from the executable file. A fully functional, unpacked, and unencrypted exe file was distributed to me legally and free from here.
---------------------
How Mob Avoid Works
Relevant Calculator:
Hit Rate Calculator
Relevant Formulas:
Magic Accuracy = INT + (LUK * 1.2)
Physical Accuracy = LUK + (DEX * 1.2)
Maximum Character Accuracy = 9999
Maximum Mob Avoid = 9999
Procedure:
Calculate the square root of your accuracy. Round down. Call this "Player Accuracy"
Calculate the square root of the enemy's avoid. Round Down. Call this "Mob Avoid"
After doing this, HitRate = Player Accuracy - Mob Avoid + 100
If the HitRate is greater than 100, then make the HitRate equal to 100
If the mob's level is above yours, subtract 5 from HitRate for every level he is above you. If this causes HitRate to go below 0, set HitRate to 0.
HitRate is the percentage chance that you will hit the enemy.
For programmers
---------------------
How Player Avoid Works
Relevant Calculator:
Avoid Rate Calculator
Relevant Formulas:
Magic Avoid = INT + (LUK * 2)
Physical Avoid = DEX + (LUK * 2)
Maximum Character Avoid = 9999
Maximum Mob Accuracy = 9999
Procedure:
Calculate the square root of your avoid. Round down.
Calculate the square root of the enemy's accuracy. Round down.
After doing this, AvoidRate = Player Avoid - Mob Accuracy
If the AvoidRate is less than 0, then make the AvoidRate equal to 0
If the mob's level is above yours, subtract 5 from AvoidRate for every level he is above you. If this causes AvoidRate to go below 0, set AvoidRate to 0.
AvoidRate is the percentage chance that you will avoid the enemy.
For programmers
---------------------
How Mob Damage Works
Relevant Calculator:
Mob Damage Calculator
Relevant Formulas:
WDEF = STR * 1.2 + (DEX + LUK) * 0.5 + INT * 0.4
MDEF = STR * 0.4 + (DEX + LUK) * 0.5 + INT * 1.2
Maximum Character Defense = 30,000
Maximum Mob Attack = 29,999
Maximum Character HP = 99,999
As a rule of thumb, your defense needs to be four times the enemy's attack value in order to receive 1 damage from the enemy's attack.
Having 30,000 defense will reduce all damage by about 86%. The "never receive damage" defense number is 40,000 (Because sqrt(WDEF * 0.25) of 40,000 is 100% in the formula), though it's impossible to reach it.
The enemy's attack value is the damage he will do if you have 0 Defense.
Flat damage reduction will only happen on values 8660 and less (and even then at only absurdly high defense values). Values higher than this are always percentage based damage reduction.
The overall procedure is: Get Mob Attack --> Reduce mob attack by threaten --> Calculate & randomize mob attack --> reduce attack by defense --> reduce attack by other means (Achilles, Combo Barrier, etc.) --> reduce damage by Meso Guard.
For every level you are below the enemy, you effectively lose 16 defense or 2.0% of the enemy's damage.
Threaten does not work on Pink Bean or any of his cohorts.
Procedure:
Calculate the following: PDDRounded = Total WDEF * 0.25 <---- Round this to the nearest whole number
Calculate the following: PDDPercentage = Square Root(Total WDEF * 0.25) <--- Round Down
If your level is less than the mob's level, subtract 4 from PDDRounded for every level. If PDDRounded becomes less than 0 because of this, set PDDRounded to 0.
If your level is less than the mob's level, subtract 2.0 from PDDPercentage for every level. If PDDPercentage becomes less than 0 because of this, set PDDPercentage to 0.
Calculate the following: MobDamagePDDRounded = Enemy Attack - PDDRounded
Calculate the following: MobDamagePDDPercentage = (100 - PDDPercentage) * (Enemy Attack / 100)
Pick the smaller number between MobDamagePDDRounded and MobDamagePDDPercentage. Call this number "damage taken"
If damage taken is less than 1, set damage taken to 1.
Damage taken is the maximum damage you will receive from the enemy.
For Programmers
---------------------
How Player Damage Works
Relevant Calculator:
None yet
Relevant Formulas:
Multiplier * (4 * main stat + secondary stat) * (Attack / 100)
It is currently believed that mob WDEF does not apply to damage calculations anymore. Only PDRate/MDRate matter.
Procedure:
If you don't want to see any of the specifics for calculations, just jump to the third spoiler.
Defining the equation
Using the equation
Damage Formula Cheat Sheet
Bookmarks