Section #1: How Mob Avoid Works Section #2: How Player Avoid Works Section #3: How Mob Damage Works Section #4: How Player Damage Works Section #5: Experience to Next Level Section #6: How to calculate Minimum MP
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.
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
Code:
int calc_accr(int totalAcc, int mobAvoid, int charLevel, int mobLevel)
{
int accuracyRate;
int difference;
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
Code:
int calc_evar(int charAvoid, int mobACC, int charLevel, int mobLevel)
{
int avoidRate;
int difference;
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
Code:
int damage_reduce(int totalWDEF, int charLevel, int mobAttack, int mobLevel)
{
int PDDRounded;
double PDDPercentage;
int PDDRoundedRedux;
double PDDPercentageRedux;
int maxDamage;
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
Maximum Damage
All damage formulas are derived from the same basic equation, as follows:
MAX DAMAGE = MULTIPLIER * (4 * PRIMARY STAT + SECONDARY STAT) * (ATTACK / 100)
Primary Stat -- The primary stat is determined by the weapon you are using, and it's about what you'd expect. Swords, axes, blunt weapons, polearms, knucklers, and spears all use STR for primary. Wands and staves use INT for primary. Claws and daggers use LUK for primary, and all other weapons use DEX.
Secondary Stat -- The secondary stat is also similar to how it is currently. Swords, axes, blunt weapons, knucklers, polearms and spears all use DEX for secondary. Wands and staves use LUK. Claws use DEX. Daggers use DEX + STR, and bows and crossbows use STR.
Attack -- "ATTACK" here signifies either magic attack or weapon attack. Note that in this new system 1 INT no longer gives 1 Magic Attack. Meditate's magic attack is just as good as a Fighter's Rage.
Multiplier -- The "MULTIPLIER" is determined by the weapon used:
1. Determine the weapon you'll be using.
2. Insert your values for your primary stat, secondary stat, and attack.
3. Look up your multiplier (given in first spoiler) and insert that into the equation
4. Perform the calculation
5. Round to the nearest whole number. This is your maximum damage.
6. Determine your total mastery (also in first spoiler)
7. Multiply your total mastery with the maximum damage.
8. Round to the nearest whole number. This is your minimum damage.
5. Round to the nearest whole number. This is your maximum damage.
- 2750 doesn't need to be rounded as it's a whole number
6. Determine your total mastery (also in first spoiler)
- I'm melee, so that's 20% base mastery. I also maxed Mastery in second job. So Total Mastery = 20% + 50% = 70%
7. Multiply your total mastery with the maximum damage.
- 2750 * 0.7 = 1925
8. Round to the nearest whole number. This is your minimum damage.
- 1925 doesn't need to be rounded as it's a whole number
Relevant Calculator: Minimum MP calculator (NOTE: It's perfectly normal for some values to come out negative)
2010-11-13, 01:19 PM
iRyahn
Thanks for everybody who helped find formulas and thanks Fiel :}
Nice to have an EXP chart on an official thread that is easy to find too. xD
EDIT: Ohlala these calculaters are fun! Extra thanks Fiel! :D
2010-11-13, 01:21 PM
Manu
Yes! I was waiting for this, so, no formulas changed from KMS?
2010-11-13, 01:30 PM
Fiel
That I can't verify simply because I don't know. But this is the best information we've got, so I'm sticking to it.
2010-11-13, 01:39 PM
Yokuyin
It still saddens me that a character with 9999 accuracy will even miss monsters 1 level above him. I love to snipe high level monsters, and it was always fun to hit 1 1 1 1, but with 100% hit rate.
Thanks for the formulae, these will help greatly to get insight in how MapleStory works. =)
2010-11-13, 02:06 PM
donovan
The EXP I need to level now @ 155, is less than the EXP I need to level post BB at level 165
2010-11-13, 02:16 PM
SwordStaker
Wow if I did calculation right I'llbe hitting 148k per hit in illusion minimum no critical 0.o
2010-11-13, 05:41 PM
Tykian
Are we sure we got that exp table? My friend has some guildies in tespia who claim we have the normal table with 2x exp, but I don't really want to put too much stock in what some derps told my buddy.
2010-11-13, 06:46 PM
iRyahn
Quote:
Originally Posted by Tykian
Are we sure we got that exp table? My friend has some guildies in tespia who claim we have the normal table with 2x exp, but I don't really want to put too much stock in what some derps told my buddy.
We got the exact same exp needed to level in Big Bang that KMS did, so yeah we got this table. I beleive the GMST thread in General Discussion has a SS of a level 164 who needed 143mill to level(on page 10 I think?), which is the same as Cyanne's EXP chart so, hurray! :]
2010-11-13, 07:11 PM
Tykian
Quote:
Originally Posted by iRyahn
We got the exact same exp needed to level in Big Bang that KMS did, so yeah we got this table. I beleive the GMST thread in General Discussion has a SS of a level 164 who needed 143mill to level(on page 10 I think?), which is the same as Cyanne's EXP chart so, hurray! :]
Excellent, this is why I don't listen to derps.
And Hai Ryahn.
2010-11-13, 07:24 PM
rayhovite
thank you for posting the formulas guys.
I did some number crunching and will be -very- happy with my I/L archmage's power come BB. :D
2010-11-14, 01:00 AM
IllegallySane
Everyone has the same accuracy and avoid formula now? Awww I was gonna have loads of fun maintaining hax avoid on my Infighter Brawler.
2010-11-14, 02:08 AM
Stereo
Exp is only very slightly off.
eg. @ 153
71592158
71592197 <- actual exp needed.
2010-11-14, 07:54 AM
Thorr
A diligent Tespian could make the Exp TNL chart 100% accurate in a matter of an hour or so. Since Cody gives free level ups, they can simply level up one at a time and write down the Exp each time.
2010-11-14, 04:31 PM
Yokuyin
Are the new formulas for Critical Hits also known? Because I see some skills with Min Crit Damage and Max Crit Damage, plus I've heard some classes (if not all) have a base crit chance (without skills like Critical Shot).
2010-11-14, 04:58 PM
donovan
Quote:
Originally Posted by rayhovite
thank you for posting the formulas guys.
I did some number crunching and will be -very- happy with my I/L archmage's power come BB. :D
EDIT NVM forgot to factor in skills addition to magic.
How would you factor in Magic Amplification?
2010-11-14, 04:59 PM
Shidoshi
Quote:
Originally Posted by Yokuyin
Are the new formulas for Critical Hits also known? Because I see some skills with Min Crit Damage and Max Crit Damage, plus I've heard some classes (if not all) have a base crit chance (without skills like Critical Shot).
All classes after BB have a 5% base critical chance to do from 1.2 to 1.5 times their normal damage. Skills raise either the chance, the min multiplier or the max multiplier.
2010-11-14, 05:40 PM
Stereo
Quote:
Originally Posted by Thorr
A diligent Tespian could make the Exp TNL chart 100% accurate in a matter of an hour or so. Since Cody gives free level ups, they can simply level up one at a time and write down the Exp each time.