MapleStory Formula Compilation

MapleStory Formula Compilation

Order of Operations

For the uninitiated: integer simply means “whole number”. The order in which damage is calculated is as follows:

1.) Calculate min and max damage from the appropriate damage formula (see Weapon/Special Damage Formulas).
2.) Multiply by any applicable skill modifiers (see Modifiers), including elemental bonuses.
3.) Calculate defense (see Defense Reduction).
4.) Select a random number from the damage range (not necessarily integer). Call this X, set it aside for a couple of steps.
5.) Find the appropriate damage multiplier (typically expressed as a percentage in the skill description, which should be converted to decimal). Default attack and spell-based skills count as 100%, or 1.
6.) Add any applicable critical bonuses (typically expressed as a percentage in the critical skill description, which should be converted to decimal). Sharp Eyes on physical attacks adds an additional 100% or 1; when combined with Stun Mastery, a further 100% or 1 (totalling to Stun Mastery + Sharp Eyes + 200%; yes, it's true). Also, add Corsairs' Elemental Boost if applicable (max level adds 2).
7.) Take that value and multiply it with X, the number selected in Step 4.
8.) Check if the damage is within the range of [1, 99999] and if not, restrict them to 1 or 99999 respectively.
9.) Multiply by any After-Modifiers (see Modifiers). Most of these apply to skills where each successive hit deals more/less damage than the last.
10.) Take the integer part of the result.

EXP Splitting

Leech conditions: Only one of the following must be met in order to share a cut of party EXP
1. Deal at least 1 damage to the monster.
2. Be within 5 levels of the monster.
3. Be within 5 levels of a party member that fulfills 1 or 2.
EXP received by the highest damager = Monster EXP * (0.2 + 0.8 * Player level / Total party level) * Party's portion of EXP {see 'When not partied'} * Party bonus
(Total party level = sum of the levels of all players that satisfy leech conditions. When not partied, you count as your own party.)
EXP received by other party members = Monster EXP * (0.8 * Player level / Total party level) * Party's portion of EXP * Party bonus
When not partied:
EXP received by the last hit = Monster EXP * (0.2 + 0.8 * Damage dealt / Monster HP)
EXP received by other damagers = Monster EXP * (0.8 * Damage dealt / Monster HP)