Southperry.net
[BB] All Known Formulas - Printable Version

+- Southperry.net (https://www.southperry.net)
+-- Forum: Maplestory (https://www.southperry.net/forumdisplay.php?fid=15)
+--- Forum: Game Mechanics (https://www.southperry.net/forumdisplay.php?fid=33)
+--- Thread: [BB] All Known Formulas (/showthread.php?tid=29949)

Pages: 1 2 3 4


[BB] All Known Formulas - Fiel - 2010-09-03

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



[BB] All Known Formulas - InfiniteFusion - 2010-09-03

Fiel Wrote:AvoidRate = Mob Avoid - Player Accuracy

I think you made a typo. Don't you mean: AvoidRate = Player Avoid - Mob Accuracy ?


[BB] All Known Formulas - Fiel - 2010-09-03

Yes, thank you! (:Smile for you.


[BB] All Known Formulas - kruimel0 - 2010-09-03

Awesome! I've been waiting for this ^^

But can you please spell my name correctly? My name seems to be a problem with every non-dutch person I know... so I'm kinda used to people spelling kruimel like krumiel or kriumel or kremuil or w/e....

Edit: Thanks <3


[BB] All Known Formulas - Russt - 2010-09-03

Fiel Wrote: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.

Wow. First time I'm aware of this.

Just lol.


[BB] All Known Formulas - xallista - 2010-09-04

Quote:MAX DAMAGE = MULTIPLIER * (4 * PRIMARY STAT + SECONDARY STAT) * (ATTACK / 100)
Does this mean that +wa/ma% and +damage% are the same?

Assuming these figures:
300 wa
2500 str
200 dex
polearm

max range (normal)
= 1.49*(4*2500 + 200)*300/100
= 1.49*(10000 + 200)*3
= 1.49*10200*3
= 45594

max range (+21% wa)
= 1.49*10200*[(300*1.21)/100]
= 1.49*10200*363/100
= 1.49*10200*3.63
= 55168.74

max range (+21% damage)
= 45594*1.21
= 55168.74

If they are not the same, what exactly am I suppose to correct here?


[BB] All Known Formulas - Kabanaw - 2010-09-04

The major difference between % damage and % attack is % attack is rounded sooner than % damage, which can create a small difference.


[BB] All Known Formulas - xallista - 2010-09-04

Though that probably won't apply to my example I believe? Since the resulting WA (363) does not come with decimals.


[BB] All Known Formulas - Fiel - 2010-09-04

Haha, I've explained this like three times to three different people. +WA/MA% is not the same as +damage%

http://www.southperry.net/showthread.php?t=30367&p=508543&viewfull=1#post508543


[BB] All Known Formulas - xallista - 2010-09-04

The difference between the 2 is really insignificant though. Even with something like 366 WA, you're looking at a difference of ~129 max range (using the above example), which is pretty much obselete when you are already at 60k+ max range. Cubing your weapon with a mentality that wa/ma% and damage% are the same would save you a lot of agony trying to get a perfect 9%/6%/6% damage weapon as opposed to a mix between ma/wa % and damage %.


[BB] All Known Formulas - Fiel - 2010-09-04

I understand that in the grand scheme of things the difference between +% WA/MA/damage is pretty insignificant. However, in the scope of calculating damage ranges it is the difference between correct and incorrect. I'd rather be correct.


[BB] All Known Formulas - Stereo - 2010-09-04

Kabanaw Wrote:The major difference between % damage and % attack is % attack is rounded sooner than % damage, which can create a small difference.

I'd call that a minor difference, a major difference is that %wa only affects equipment. Potions and stars/bullets/arrows are ignored. So really with 200 + apples + 21%, you'll be getting 342 (%wa) and 363 (%dmg) if it's a class that doesn't have Use atk items.

It is possible BB changes this but I don't know why it would.



[BB] All Known Formulas - Fiel - 2010-09-04

Just learned something new. MagicUP and AttackUP affect a mob's damage multiplicatively after defense reduction. So...

Code:
Calculate Miss Check
If Mob Missed
    damage
else
    Calculate mob attack
    Randomize mob attack
    Calculate player defense
    Reduce  mob attack by player defense
    Achilles Reduce
    MesoGuard reduce
    Magic or AttackUP damage
    Constrain damage between [1, 999999]
return damage



[BB] All Known Formulas - Dusk - 2010-09-04

Any idea how much MagicUP and AttackUP add, or is that variable by mob?


[BB] All Known Formulas - Fiel - 2010-09-04

It's varied by mob. There's a certain MobSkill (in Skill.wz) which contains these variables. Typical AUP or MUP is 30%. Bosses tend to have higher values.


[BB] All Known Formulas - xallista - 2010-09-04

Stereo Wrote:I'd call that a minor difference, a major difference is that %wa only affects equipment. Potions and stars/bullets/arrows are ignored. So really with 200 + apples + 21%, you'll be getting 342 (%wa) and 363 (%dmg) if it's a class that doesn't have Use atk items.

It is possible BB changes this but I don't know why it would.

Looking at the Dark Aura thread:
11wa claw, 15wa star, 3wa BoF

1.75*(4*37 + 25)*29/100 = 87.7975 +0.5, round down = 88~

With Dark Aura (10% wa/ma):
302.75*(29*1.1)/100 = 93.8525 +0.5, round down = 94~

With DA (10% wa/ma) and warrior pot (5wa):
302.75*[(29+5)*1.1]/100 = 112.0175 +0.5, round down = 112~

Considering how potential stat% affects total stat rather than base stat only (MW), and that even bonuses gained from MW gets multiplied by your potentials, makes me think that stars and potions do get affected as well (as is the case for DA).


[BB] All Known Formulas - Fiel - 2010-09-05

Also, just so you guys know, I'm working on an HP Washing calculator. So you guys should definitely have that by the end of the week.


[BB] All Known Formulas - Devil - 2010-09-05

Wouldn't this table be easier to use (For everyone with maxed mastery)

Edit:
[Table deleted to avoid confusion]


[BB] All Known Formulas - Dusk - 2010-09-05

No, because that table's incorrect. The multiplier applies to the secondary stat as well. Also, you're forgetting Expertise-type skills.


[BB] All Known Formulas - Devil - 2010-09-05

Dusk Wrote:No, because that table's incorrect. The multiplier applies to the secondary stat as well. Also, you're forgetting Expertise-type skills.
Ah that way, didnt know that, deleted the table to avoid confusion.

Still, what on earth are Expertise skills? o.0