Hello fellow min-maxers!I have noticed that this question has been asked several times before. The answer that has been given to this question is either "The rule of thumb for NL's is 5 LUK=w.atk seems to be allright in most cases" or "It's a multivariable equation that cannot simply be answered by stating some arbitrary number."
I was curious to find out and after accepting I was not going to be able to sleep last night, I set myself to figure it out and come up with a formula that would be relatively easy to use. Possibly someone capable can make an easy application. I know that there are some out there already but every single one I have stumbled upon in the past either did not work, or was not accurate when checking against my own stats.This should be quite useful to those debating if they are wondering if it is worth to lose Stats and gain W.Atk and possibly spend billions of meso if buying that new piece of gear.
Before going on a long tangent, here are two formulas. You'd need to plug in your own numbers. Below the generalised forumal's you can find simplified formulas for Sword/Dagger/Claw/Bow/Crossbow/Gun/Knuckle - Assuming you have maxed out all sources of mastery.
All maths are listed further below.
Also, 1 INT =/= 1 Matk
Side note:
When I was writing all of this I had been playing OSRS a lot. In OSRS the difference between Stab, Slash, Crush are revered to as Combat Styles and it felt natural to call these Attack Styles for this game.
To clearify, when speaking of Attack Styles, I mean Axe(Slash/Stab), BW(Slash/Stab), Spear(Slash/Stab) or PA(Slash/Stab).
Would be great if someone could confirm what the ratio's are. I have heared 2:3, 4:5, Spear/PA = 60 Slash, 40 Stab (and more). If you know, please lmk.---------------------------------------------------------------------------------------------------------------------------------------
Formula for Weapons that are not affected by Attack Styles - Sword/Dagger/Claw/Bow/Crossbow/Gun/Knuckle/(practical)Spear/(practical)Polearm
S=(2pmX+ma+a)/(2pmY)Formula for Weapon that are affected by Attack Styles - Axe/BW/Wand/Staff/Spear/Polearm
S=(2prmX+rma+pa)/(2prmY)S = How many Primary Stat Points need to be increased for the same increase in Damage as gaining 1 w.atk does
X = Primary Stat
Y = W.Atk
p = High Primary Stat Multiplier
r = Low Primary Stat Multiplier - only applies for weapon affected by Weapon Styles
m = Mastery * 0.9
a = Secondary StatAll variables are based on your current total stats
Secondary Stat Calculations
c = (pX(m+1)+2a)/2Y
c = Total increase of Secondary Stat required to increase Average Damage Range equal to the increase with 1 W.Atk.
For now, the following formulas are working correctly for my stats. (b) is a multiplier of your current secondary stat. (instead of a flat amount like (S))
b1 = (1/aY)(pX+a(Y+1))
b2 = (1/aY)(pmX+a(Y+1))b3 = (1/2aY)(pX(m+1)+2a(Y+1))
c = b - 1
ac = (pX(m+1)+2a)/2Y
a * c = total increase of secondary stat to increase average Damage Range equal to the increase with 1 W.Atk.Ex. My DK gains an equal increase of Average Damage Range when adding:
1 W.Atk
7.0145 STR
30.134 DEX
---------------------------------------------------------------------------------------------------------------------------------------The most usefull application of this is to evaluate the total stats gained from a new piece of gear. You can do that with the following formula.
How many Primary and Secondary Stats equal (n) W.Atk
S = gained Primary Stat
c = gained Secondary Stat
n=Y((pS(m+1)+2c)/(pX(m+1)+2a))
Adding W.Atk Potions to the calculations showes a very significant difference. I highly advice to add +60 for Stoppers or +100 for Apples. Maple Warrior has not as a significant impact but still a noticable difference.Example with the current stats of my DK:
---------------------------------------------------------------------------------------------------------------------------------------Clean
S=7.0145Stoppers
S=5.0120Apples
S=4.2199Apples+mw20
S=4.5784(p), (r), (m) are constants. Assuming you have maxed out your Mastery Skills we can easily replace these values with listed constants. However due to missing information on chance of Attack Styles it's only possible to give a correct formula for weapons unaffected by those.
S = How much Primary Stat yields same damage increase as 1 watk
c = How much Secondary Stat yields same damage increase as 1 watk
n = How much Primary + Secondary Stat yield the same damage increase as n watkHow much Secondary Stat equals same Damage increase as 1 Primary Stat is constant, depending only on weapon used considering all sources of Mastery are maxed out.
From @fuzzything44
SwordAxe1h
S=(4.32 * STR + 1.54 * DEX )/(4.32 * Atk)
c=(6.16 * STR + 2 * DEX)/(2 * Atk)
n=((4.32 * S + 2 * a)/(4.32 * STR + 2 * DEX)) * Atk2h
S=(4.968 * STR + 1.54 * DEX )/(4.968 * Atk)
c=(6,776 * STR+ 2 * DEX)/(2 * Atk)
n=((4.968 * S + 2 * a)/(4.968 * STR + 2 * DEX)) * AtkDagger / Claw(non-Lucky 7 / non-TT) (thieves)1h
S=(5.138 * STR + 1.675 * DEX)/(5.13 * Atk)
c=(6.365 * STR + 2 * DEX)/(2 * Atk)
n=((5.138 * S + 2 * a)/(5.138 * STR + 2 * DEX)) * Atk2h
S=(5.535 * STR + 1.675 * DEX)/(5.535 * Atk)
c=(6.8675 * STR + 2 * DEX)/(2 * Atk)
n=((5.535 * S + 2 * 2 * a)/(5.535 * STR + 2 * DEX)) * AtkLucky 7 / TTS=(3.888 * LUK + 1.54(STR + DEX))/(3.888 * Atk)
c=(5.544*LUK+2(STR+DEX)/(2 * Atk)
n=((3.888 * S + 2 * a)/(3.888 * LUK + 2 * (STR + DEX))) * AtkGunS=LUK/Atk
n=(Atk*S)/(LUK)KnuckleS=(3.888 * DEX + 1.54 * STR)/(3.888 * Atk)
c=5.544 * DEX + 2 * STR)/(2 * Atk)
n=((3.888 * S + 2 * a)/(3.888 * DEX + 2 * STR)) * AtkBow/CrossbowS=(5.184 * STR +1.54 * DEX)/(5.184 * Atk)
c=(7.392 * STR + 2 * DEX)/(2 * Atk)
n=((5.184 * S + 2 * a)/(5.184 * STR + 2 * DEX)) * AtkPractical Spear (stab) and Polearm (swing)Bow
S=(5.508 * DEX + 1.81 * STR)/(5.508 * Atk)
c=(6.154 * DEX + 2 * STR)/( 2 * Atk)
n=((5.508 * S + 2 * a)/(5.508 * DEX + 2 * DEX)) * AtkCrossbow
S=(6.12 * DEX + 1.9 * STR)/(6.12 * Atk)
c=(6.46 * DEX + 2 * STR)/(2 * Atk)
n=((6.12 * S + 2 * a)/(6.12 * DEX + 2 * STR)) * AtkFor Both:
S=(7.2 * STR + 1.72 * DEX)/(7.2 * Atk)
c=(8.6 * STR + 2 * DEX)/(2 * Atk)
n=((7.2 * S + 2 * a)/(7.2 * STR + 2 * DEX)) * AtkThis is not the first post about the matter!
https://royals.ms/forum/threads/stat-to-wa-ratio-secondary-to-primary-ratio.123699/
---------------------------------------------------------------------------------------------------------------------------------------I based this on the information of this page I found somewhere on the forums:
https://ayumilovemaple.wordpress.com/2009/09/06/maplestory-formula-compilation/The most important things regarding this are the formula's for calculating MAX and MIN Damage.
MAX = (Primary Stat + Secondary Stat) * Weapon Attack / 100
MIN = (Primary Stat * 0.9 * Skill Mastery + Secondary Stat) * Weapon Attack / 100Information such as the Primary Stat Multipliers (p) and (r) can be found here as well.
Stats and Multipliers:
One Handed Sword
Primary: STR * 4.0
Secondary: DEXOne Handed Axe/BW/Wand/Staff (Swinging)
Primary: STR * 4.4
Secondary: DEXOne Handed Axe/BW/Wand/Staff (Stabbing)
Primary: STR * 3.2
Secondary: DEXTwo Handed Sword
Primary: STR * 4.6
Secondary: DEXTwo Handed Axe/BW (Swinging)
Primary: STR * 4.8
Secondary: DEXTwo Handed Axe/BW (Stabbing)
Primary: STR * 3.4
Secondary: DEXSpear (Swinging)
Primary: STR * 3.0
Secondary: DEXSpear (Stabbing)
Primary: STR * 5.0
Secondary: DEXPolearm (Swinging)
Primary: STR * 5.0
Secondary: DEXPolearm (Stabbing)
Primary: STR * 3.0
Secondary: DEXDagger (Non-Thieves)
Primary: STR * 4.0
Secondary: DEXDagger/Throwing Stars (Thieves)
Primary: LUK * 3.6
Secondary: STR + DEXBow
Primary: DEX * 3.4
Secondary: STRCrossbow
Primary: DEX * 3.6
Secondary: STRKnuckle
Primary: STR * 4.8
Secondary: DEXGun
Primary: DEX * 3.6
Secondary: STR
These are the special damage formula's. I do not know if my formula's hold for these or if they are accurate for MapleRoyals at all. Here they are regardless.Spell Damage:
MAX = ((Magic²/1000 + Magic)/30 + INT/200) * Spell Attack
MIN = ((Magic²/1000 + Magic * Mastery * 0.9)/30 + INT/200) * Spell AttackLucky Seven/Triple Throw (credit to HS.net / LazyBui for recent verification):
MAX = (LUK * 5.0) * Weapon Attack / 100
MIN = (LUK * 2.5) * Weapon Attack / 100Venom (damage per second, credit to Joe Tang):
MAX = (18.5 * [STR + LUK] + DEX * 2) / 100 * Basic Attack
MIN = (8.0 * [STR + LUK] + DEX * 2) / 100 * Basic AttackNinja Ambush (credit to Fiel):
Damage per second tick = 2 * [STR + LUK] * Skill Damage PercentageShadow Web (credit to LazyBui):
Damage per 3-sec tick = Monster HP / (50 - Skill Level)Shadow Meso:
Damage = 10 * Number of mesos thrown (in skill description)
Normal critical does not apply, instead it has its own built-in critical listed in skill descriptionAssaulter ignores defense if at or above the monster’s level
Dragon Roar (credit to Stereo):
MAX = (STR * 4.0 + DEX) * Weapon Attack / 100
MIN = (STR * 4.0 * Skill Mastery * 0.9 + DEX) * Weapon Attack / 100Power Knock Back (both weapons, credit to AGF/Fiel):
MAX = (DEX * 3.4 + STR) * Weapon Attack / 150
MIN = (DEX * 3.4 * Mastery * 0.9 + STR) * Weapon Attack / 150
Mastery is 0.1 at all levelsClaw (punching):
MAX = (LUK * 1.0 + STR + DEX) * Weapon Attack / 150
MIN = (LUK * 0.1 + STR + DEX) * Weapon Attack / 150Blank Shot:
Speculated to be calculated without bullet attack or Gun MasteryBare Hands:
MAX = (STR * J + DEX) * Weapon Attack / 100
MIN = (STR * J * 0.1 * 0.9 + DEX) * Weapon Attack / 100
ATT equals floor((2*level+31)/3) and is capped at 31.
J equals 3.0 for Pirates and 4.2 for all 2nd+ job Pirates.Flamethrower (credit to blitzkrieg):
Damage per second tick: Damage of initial hit * (5% + Amp Bullet Damage %)Heal Damage (credit to Russt//Devil's Sunrise for Target Multiplier function):
MAX = (INT * 1.2 + LUK) * Magic / 1000 * Target Multiplier
MIN = (INT * 0.3 + LUK) * Magic / 1000 * Target Multiplier
The % listed in the skill description (300% at max) acts as the skill percent (see Order of Operations above).Heal Recovery
MAX = something * Magic * Heal Level * Target Multiplier
MIN = something * Magic * Heal Level * Target Multiplierold formula (credit to Nekonecat):
MAX = (1.132682429*10^-7*luk^2 + 3.368846366*10^-6*luk + 1.97124794*10^-3) * magic * int * healSkillLevel * multiplier
MIN = MAX*0.8Heal Target Multiplier: 1.5 + 5/(number of targets including yourself)
For reference-
1 - 6.5
2 - 4.0
3 - 3.166
4 - 2.75
5 - 2.5
6 - 2.333Poison Brace/Poison Mist/Fire Demon/Ice Demon:
Damage per second tick = Monster HP / (70 - Skill Level)Phoenix/Frostprey/Octopus/Gaviota (credit to Sybaris/KaidaTan):
MAX = (DEX * 2.5 + STR) * Attack Rate / 100
MIN = (DEX * 2.5 * 0.7 + STR) * Attack Rate / 100
Ignores defense
---------------------------------------------------------------------------------------------------------------------------------------Maths
For all you nerds out there, we are almost at the fun stuff.
First of all, we need to check if the listed formulas are accurate at all. These are the stats of my DKThe listed Damage Range in the Stats Menu of my DK is 3111~6972
STR 978
DEX 126
W.atk 139
Mastery 0.80Spear (Stab) (p) = 5
Spear (Swing) (p) = 3MAX = (Primary Stat + Secondary Stat) * Weapon Attack / 100
MAX = (5 * 978 + 126) * 139 / 100 = 6972.24MIN = (Primary Stat * 0.9 * Skill Mastery + Secondary Stat) * Weapon Attack / 100
MIN = (978 * 3 * 0.8 * 0.9 + 126) * 139 / 100 = 3111.487X = Primary Stat = 978 STR
Y = W.Atk = 139
p = High Primary Stat Multiplier = 5
r = Low Primary Stat Multiplier = 3
m = Mastery * 0.9 = 0.8 * 0.9 = 0.72
a = Secondary Stat = 126 DEXIt seems that the given formula correctly calculates the Damage Range of my DK.
Side note: As a DK, I am obviously using Stab 99.99% of the time. Substituting the (p) of Spear (stab) in the formula gives the range 5069.052~6972.4.
This actually matters, other classes that are affected by different (p) from Attack Styles should change their values accordingly. When relying on RNG you'd need calculate for the possible scenario's and take the average. If you are panicing now, you can use this generalised formula: (% * S0 + % * S1 .... + % * Sn-1 + % * Sn)Finaly, the moment we all have been waiting for. The fun stuff.
Starting off with the formula's for weapon unaffected by Attack Styles,
We'll start with the rewriting formula for MAX Damage.
Note that a constant is being left out. To calculate the relation between X and Y, multiplying the formula with 1/100 does not affect the results.Y(pX + a)
X = Main Stat
p = Primary Stat Multiplier
Y = W.Atk
a = Secondary StatWe want to find what increase in X gives the same result as increasing Y by 1.
That means we'll write two new equations.
For the first X=(X+S) and for the second Y=(Y+1)
Solving for S when these two are equal to eachother gives us the amount of stats required to increase Damage the same amount as 1 W.Atk does.We can come up with an easy to solve equation.
Y(p(X + S) + a) = (Y + 1)(pX + a)
Y(pX + pS + a) = pXY + pX + aY + a
pXY +pYS +aY = pXY + pX + aY + a
pSY = pX +aS1 = (pX + a)/pY
Fortunatly, the party doesn't end here! We can continue with adding the formula for MIN-Damage !
The difference between the MIN and MAX-Damage formula is the addition of (m) Mastery - This variable is always multiplied with 0.9!
Again starting with rewriting the formula.Y(pmX + a)
m = Mastery * 0.9
Continuing with applying the same process as the previous step coming up with a simular easy to solve equation.
Y(pm(X + S) + a) = (Y + 1)(pmX + a)
Y(pm(X + S) + a) = (Y + 1)(pmX + a)
Y(pmX + pS + a) = pmXY + pmX + aY + a
pmXY +pmYS +aY = pmXY + pX + aY + a
pmSY = pmX +aS2 = (pmX + a)/pmY
Don't be afraid fellow nerds, more things can be done!
Adding both equations and taking the average to find our final formula.S3 = (S1 + S2)/2
or
2S3 = S1 + S22S = (pX + a)/pY + (pmX + a)/pmY = (m/m)(pX + a)/pY + (pmX + a)/pmY
2S = (pmX + am)/pmY + (pmX + a)/pmY
2S = (2pmX + am + a)/pmYS = (2pmX + am + a)/2pmY
We can have a little more fun with determining the formula for weapons affected by Attack Styles (Axe/BW/Wand/Staff/Spear/Polearm)
We'll follow the same steps, allthough we have to use a different variable (r) for finding S2.
S1 is the same, so we can just copy-paste it.S1 = (pX + a)/pY
To find S2 we have to replace (p) with (r) due to having different Primary Stat Multipliers
S2 = (rmX + a)/rmY
Again,
S3=(S1 + S2)/2
2S3=S1 + S22S3 = (pY(rmX + a) + rmY (pX + a))/(prmY^2)
2S3 = (2prmXY + pYa + rmYa)/(prmY^2)
2S3 = (2prmX +pa + rma)/(prmY)
2S3 = (2prmX + pa + rma)/(prmY)S = (2prmX + pa + rma)/(2prmY)
The very last thing to do is to check if this all made any sense.
Increasing my DK's W.Atk by 1 increases my Damage Range to
MAX = (978 * 5 + 126) * 140/100 = 7022.4
MIN = (978 * 3 * 0.72+126) * 140/100 = 3133.872To find the amount of STR needed to reach the same Max Damage Range I plugged the following into WolframAlpha
7022.4=(5 * x + 126) * 139/100
x = 985.2173133.872=(x * 3 * 0.72 + 126) * 139/100
x = 985.465S1 = 985.217 - 978 = 7.217
S2 = 985.456 - 978 = 7.456
S3 = 7.3365S=(2prmX + rma + pa)/(2prmY) = (2 * 5 * 3 * 0.72 * 978 + 3 * 0.72 * 126 + 5 * 126)/(2 * 5 * 3 * 0.72 * 139) = 7.336451
This concludes that increasing STR by 7.3365 increases my average Damage Range the same amount as increasing my W.Atk by 1.
As a bonus step, I can assume that my DK will be using Spear (Stab) when caring about damage. To find my correct answer I can regard my weapon unaffected by Attack Styles.
S = (2pmX + am + a)/2pmY
S = (2 * 5 * 0.8 * 0.9 * 978+ 126 * 0.9 * 0.8 + 126)/(2 * 0.8 *0.9 *139) = 7.251Increasing STR by 7.251 increases my average (practical) Damage Range the same amount as increasing my W.Atk by 1.
Secondary Stat
(Y + 1)(pX + a) = Y(pX + ab)
b1 = (pX/aY) + 1/Y + 1
b2 = (pmX/aY) + 1/Y + 1b3 = (pX(m+1)/2ay)+1
(978*5+(126*1.28639945187))*139/100 = 7022.4
(978*3.6+(126*1.20822199383))*139/100 = 5105.52(1.2864 + 1.2082)/ 2 = 1.2473
(5*978)(0.72+1)/(126*139*2)+1/139+1 = 1.24731072285126(1.24731072285 - 1) = 31.161 DEX for the same increase in Average Damage as 1 W.Atk.
---------------------------------------------------------------------------------------------------------------------------------------Conclusion:
I hope you had as much fun as I did while thinking and reading about this stuff. It is very likely that I have made many typo's and spelling errors, feel free to point those out.
For the future I do not really intend to update this or work on some kind of usuable application for those that zoned out at the first line of maths. I mostly lack all skill necesary to make such a thing possible. Also, I have read a post on the Forums where someone calculates the effectiveness of the Secondary Stats.
Obviously, if my maths is wrong - please let met know, I'd be more than happy to fix it and improve it.The goal was to find a formula that calculates the main question. How much stats increases the (average) Damage Range the same amount as 1 W.Atk does. I found one and succesfuly checked it against my own stats.
Unless the used information is incorrect, the formula's should also be applicable to the special damage formula's such as Lucky 7.I have a very messy Excel Sheet and did all maths with pen and paper that is even more messier, may you demand more prove and I made to many typo's while rewriting it on my laptop. I have it f3.
If this even is a guide, it would be the first one I have ever written. Obviously I could have done a much better job in the presentation and layout etc. I have no idea how and welcome all tips !
If you have any suggestions for more maths. Yes, I do find this fun.What I might find interesting to do is evaluate avoidability - We Islanders have never really put any numbers on how avoid translates into exp/h. (LukLander = BestLander, no bias) and if there is a reasonable sweetspot. Before finding the link where I found the information I based all this on, I have never understood the actual effects of the defensive stats, I'd be curious to explore that as well when I can think of something fun to base it on. Relation between weapon- and magic defense and Reindeer Milk/hour in LHC ?
Aaaanyway. Thanks for coming to my TedTalk and happy grinding ^^.
---------------------------------------------------------------------------------------------------------------------------------------
Moo Moo, Gert, IoIzor and 12 others like this.