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