[MapleMaths] Calculating 'x stats = y w.atk'

Discussion in 'Guides' started by Kheb, Nov 6, 2022.

  1. Kheb
    Offline

    Kheb Well-Known Member

    Joined:
    Jun 25, 2020
    Messages:
    309
    Likes Received:
    725
    Gender:
    Male
    Country Flag:
    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 Stat

    All 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.0145

    Stoppers
    S=5.0120

    Apples
    S=4.2199

    Apples+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 watk

    How 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
    Sword
    1h
    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)) * Atk

    2h
    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)) * Atk
    Axe
    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)) * Atk

    2h
    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)) * Atk
    Dagger / Claw(non-Lucky 7 / non-TT) (thieves)
    S=(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))) * Atk
    Lucky 7 / TT
    S=LUK/Atk
    n=(Atk*S)/(LUK)
    Gun
    S=(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)) * Atk
    Knuckle
    S=(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)) * Atk
    Bow/Crossbow
    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)) * Atk


    Crossbow
    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)) * Atk
    Practical Spear (stab) and Polearm (swing)
    For 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)) * Atk


    This 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 / 100

    Information 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: DEX

    One Handed Axe/BW/Wand/Staff (Swinging)
    Primary: STR * 4.4
    Secondary: DEX

    One Handed Axe/BW/Wand/Staff (Stabbing)
    Primary: STR * 3.2
    Secondary: DEX

    Two Handed Sword
    Primary: STR * 4.6
    Secondary: DEX

    Two Handed Axe/BW (Swinging)
    Primary: STR * 4.8
    Secondary: DEX

    Two Handed Axe/BW (Stabbing)
    Primary: STR * 3.4
    Secondary: DEX

    Spear (Swinging)
    Primary: STR * 3.0
    Secondary: DEX

    Spear (Stabbing)
    Primary: STR * 5.0
    Secondary: DEX

    Polearm (Swinging)
    Primary: STR * 5.0
    Secondary: DEX

    Polearm (Stabbing)
    Primary: STR * 3.0
    Secondary: DEX

    Dagger (Non-Thieves)
    Primary: STR * 4.0
    Secondary: DEX

    Dagger/Throwing Stars (Thieves)
    Primary: LUK * 3.6
    Secondary: STR + DEX

    Bow
    Primary: DEX * 3.4
    Secondary: STR

    Crossbow
    Primary: DEX * 3.6
    Secondary: STR

    Knuckle
    Primary: STR * 4.8
    Secondary: DEX

    Gun
    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 Attack

    Lucky Seven/Triple Throw (credit to HS.net / LazyBui for recent verification):
    MAX = (LUK * 5.0) * Weapon Attack / 100
    MIN = (LUK * 2.5) * Weapon Attack / 100

    Venom (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 Attack

    Ninja Ambush (credit to Fiel):
    Damage per second tick = 2 * [STR + LUK] * Skill Damage Percentage

    Shadow 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 description

    Assaulter 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 / 100

    Power 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 levels

    Claw (punching):
    MAX = (LUK * 1.0 + STR + DEX) * Weapon Attack / 150
    MIN = (LUK * 0.1 + STR + DEX) * Weapon Attack / 150

    Blank Shot:
    Speculated to be calculated without bullet attack or Gun Mastery

    Bare 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 Multiplier

    old 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.8

    Heal 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.333

    Poison 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 DK

    The listed Damage Range in the Stats Menu of my DK is 3111~6972

    STR 978
    DEX 126
    W.atk 139
    Mastery 0.80

    Spear (Stab) (p) = 5
    Spear (Swing) (p) = 3

    MAX = (Primary Stat + Secondary Stat) * Weapon Attack / 100
    MAX = (5 * 978 + 126) * 139 / 100 = 6972.24

    MIN = (Primary Stat * 0.9 * Skill Mastery + Secondary Stat) * Weapon Attack / 100
    MIN = (978 * 3 * 0.8 * 0.9 + 126) * 139 / 100 = 3111.487

    X = 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 DEX

    It 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 Stat

    We 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 +a

    S1 = (pX + a)/pY


    Fortunatly, the party doesn't end here! We can continue with adding the formula for MIN-Damage :D !

    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 +a

    S2 = (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 + S2

    2S = (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)/pmY

    S = (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 + S2

    2S3 = (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.872

    To 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.217

    3133.872=(x * 3 * 0.72 + 126) * 139/100
    x = 985.465

    S1 = 985.217 - 978 = 7.217
    S2 = 985.456 - 978 = 7.456
    S3 = 7.3365

    S=(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.251

    Increasing 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 + 1

    b3 = (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.24731072285

    126(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 :D!
    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 :D?


    Aaaanyway. Thanks for coming to my TedTalk and happy grinding ^^.


    ---------------------------------------------------------------------------------------------------------------------------------------
     
    Last edited: Apr 15, 2024
    Moo Moo, Gert, IoIzor and 12 others like this.
  2. Kheb
    Offline

    Kheb Well-Known Member

    Joined:
    Jun 25, 2020
    Messages:
    309
    Likes Received:
    725
    Gender:
    Male
    Country Flag:
    [reserve for update]

    LF > Data for chance on Attack Styles for weapons affected so I can make formula's for each weapon by replacing (p) and (r) with constants.

    Figured out how Brandish works with axes
    First line deals damage with highest multiplier (p), 2nd line deals damage with lowest multiplier (p)

    Still looking for BW

    LF > Data for mastery values of classes including beginner (am a noob, idk other classes then mage and DK)

    From testing it seems that base mastery is 0.10
     
    Last edited: Apr 15, 2024
    IoIzor likes this.
  3. Aqwrd
    Offline

    Aqwrd Well-Known Member

    Joined:
    Sep 11, 2021
    Messages:
    718
    Likes Received:
    659
    Gender:
    Male
    IGN:
    Aqwrd
    upload_2022-11-7_12-49-47.png
    upload_2022-11-7_12-49-8.png
    upload_2022-11-7_12-50-14.png
     
    Kheb likes this.
  4. LichWiz
    Offline

    LichWiz Well-Known Member

    Joined:
    Jun 21, 2016
    Messages:
    2,037
    Likes Received:
    4,412
    IGN:
    IronShichika
    Level:
    200
    Guild:
    Ironman
    refer to this for all the mastery and multipliers of all the classes: https://royals.ms/forum/threads/mapleroyals-skill-library.209540/

    Beginner mastery is 10% i believe
     
    Kheb likes this.
  5. LichWiz
    Offline

    LichWiz Well-Known Member

    Joined:
    Jun 21, 2016
    Messages:
    2,037
    Likes Received:
    4,412
    IGN:
    IronShichika
    Level:
    200
    Guild:
    Ironman
    Btw, as a side note, when someone wants to calculate the ratio of main stat to WA, I recommend measuring both baseline range, and range once you have used a pot of your choosing [apple/stopper/etc].
    Focus the first one if your goal is to brag about your range numbers.
    Or focus on the second one if you actually want to deal more damage.

    I did something similar back when I needed to see how many stats am I missing before I can solo shaolin with a gelt, and was surprised at the ratio being so different once I took gelt into account.
     
    Kheb likes this.
  6. Geyforlife
    Offline

    Geyforlife Well-Known Member

    Joined:
    Jul 30, 2017
    Messages:
    1,187
    Likes Received:
    2,616
    Country Flag:
    IGN:
    Geybrian
    Level:
    o7
    Guild:
    USSR
  7. Kheb
    Offline

    Kheb Well-Known Member

    Joined:
    Jun 25, 2020
    Messages:
    309
    Likes Received:
    725
    Gender:
    Male
    Country Flag:
    I have linked your post! Allthough I have to note that I am not sure how to apply your formula.
    When I plug in my numbers I get:

    (((126 * 2) * (1 + 0.72))/139) + (978 / 139) = 10.154
    +10.154 STR > 1 W.Atk for my DK.
    Both my formula and manualy calculating results in 7.217 STR or 31.16 DEX being equal to 1 W.Atk.

    1 W.ATk increases my (listed) Average Damage Range from 6972.24 ~ 3111.49 to 7022.40 ~ 3133.87 and practical Average Damage Range from 5069.052~6972.24 to 5105.52~7022.4
    Resulting in a listed average increase of 36.27 or practical increase of 43.314


    While like 99% of all people reading posts like this prefering to see as little maths as possible, I am missing in your post how you came to your formula's. You are starting with stating that Average Range = (A(2S + PK(1 + 0.9M))/200
    How did you find this formula to start with?

    However, it does correctly calculate my average (practical) range!
    (6972.24 + 5069.052) / 2 = (139(2 * 126 + 978 * 5(1 + 0.9 * 0.8))/200 = 6020.646

    I am also missing a clear list of what each variable represents.

    My guess:
    A = Attack
    P = Primary
    S = Secondary
    C = K(1 + 0.9M)
    K = Primary Stat Modifier

    It might be an oversight or you have not updated your post after a certain patch. But you've listed the Mastery of Archers as being 0.9. This is incorrect since Crossbowman have a Mastery of 1.

    Finaly, you lose my when proving your maths. By your steps (chain rule and dRange / dA) I am assuming you are taking the derivative of the equation (Range/A) = (2S + CP)/200.

    I might simply not be skilled in maths enough to be able to confidently take derivatives of a 4-variable equation. But I feel I am missing a lot of maths to conclude that Ratio = 2S/CA + P/A.


    Data we both are missing is the chance on Attack Styles.
    I might be totaly wrong here but I have always believed that the chance on a BW swing and BW Stab are not both 50%. I have had this believe since the early GMS days and it the knowledge came from the same people that said Spear (stab) has a 166% Damage modifier. I know now that it is a close enough approximation but incorect. Also these people have had me believe that Pole-Arm was superior to Spear until 3rth Job due to the higher chance of getting a Swing than Stab. It has been over a decade ago that I was playing an Islander in EMS and used a Rose to attack with and my experience has told me that the chance on Swing was indeed higher than Stab, further cementing this believe.

    I am very much hoping to find more data on this.


    Anyway, the tl;dr is that I feel quite confused by your post.
    Also to prevent off-topic related spam on this post. It might be better to take the discussion to either PM or your post.
     
    IoIzor and Rielle like this.
  8. Geyforlife
    Offline

    Geyforlife Well-Known Member

    Joined:
    Jul 30, 2017
    Messages:
    1,187
    Likes Received:
    2,616
    Country Flag:
    IGN:
    Geybrian
    Level:
    o7
    Guild:
    USSR
    From https://ayumilovemaple.wordpress.com/2009/09/06/maplestory-formula-compilation/
    upload_2022-11-10_9-25-36.png

    upload_2022-11-10_9-25-52.png

    Actually, before 2020, in 2018, I derived the formula not from proofs, but by observing trend in damage range by adjusting stat vs attack. Basically plotting graph on spreadsheet with generated stats and attack. You could try that approach and see if your formula matches with the original range formula. i.e. does increasing x stat lead to roughly same increase in range as increase y weapon attack.

    Yes, I wrote these in 2018-2020, so the crossbowman formula mastery might have changed :)

    The "attack styles" variable is expressed through mastery.

    EDIT: attack as in total attack from everything, weapon, rings, pendents, heartstoppers... everything

    EDIT2: on the matter of chance, I believe it was 3:2 swing stab for bw -- feel free to change to whatever ratio you think it is accurate. Take this ratio and average out the mastery. For spears, you are always stabbing if you use crusher. For heroes, brandish will swing stab in equal ratio, so if using non-swords, take that into account and average net mastery.
     
    Last edited: Nov 10, 2022
    rustygreen, yann, Rielle and 2 others like this.
  9. Kheb
    Offline

    Kheb Well-Known Member

    Joined:
    Jun 25, 2020
    Messages:
    309
    Likes Received:
    725
    Gender:
    Male
    Country Flag:
    It indeed has been a while ^^

    The tl;dr of what I was trying to say is that when I apply your formula I do not get the correct values.
    My formula's give the exact values required to gain the same average damage values as 1. Watk does. Wich are both checked against the given formula's as by manual calculating (in excel).
    I was working on a formula that calculates
    (n) W.Atk = Primary Stat + Secondary Stat.
    But it became a huge unreadable mess with too many typo's and have deleted it for now.

    I might not have used the correct terminology when talking about Attack Styles. With that I mean f.e. the difference in Spear(stab) and Spear(swing). These are not affected by Mastery but I think we were misunderstanding eachother.

    "EDIT2: on the matter of chance, I believe it was 3:2 swing stab for bw"

    This, yes please. This I need so badly xD.

    Also 1 INT =/= 1 M.Atk


    Edit

    n=(Y/2)((pS+ac)/(pX+a)+(pmS+ac)/(pmX+a))

    Need to check this later
     
    Last edited: Nov 10, 2022
    IoIzor likes this.
  10. Geyforlife
    Offline

    Geyforlife Well-Known Member

    Joined:
    Jul 30, 2017
    Messages:
    1,187
    Likes Received:
    2,616
    Country Flag:
    IGN:
    Geybrian
    Level:
    o7
    Guild:
    USSR
    Ah yes, my mistake, I don't mean mastery but the multiplier when swing/stab.

    Could you give example stats, so I could do some calculations?
     
  11. Sylafia
    Offline

    Sylafia Donator

    Joined:
    Jan 2, 2022
    Messages:
    1,416
    Likes Received:
    5,565
    Gender:
    Female
    Country Flag:
    IGN:
    Sylafia
    Level:
    200
    Guild:
    FlatEarth
    As far as I can tell your spell damage formulas are accurate, although missing Archmage's 1.4x boost, and elemental wand boost but those are global multipliers so shouldn't affect ratios. Summons likely follow the same spell damage formula - bahamut hits almost exactly the same damage as angel ray for me.

    1 int is usually 5-10% better than 1 matk, but in unusually high/low tma scenarios it might go outside of this range. This is because (for genesis, the exact value differs based on the spell but the idea stays the same) 1 int gives a flat damage boost of 3.35 minimum damage above 1 MA (INT/200*SpellAttack = 670/200*INT=3.35*INT). Meanwhile, the total damage of the spell scales quadratically, meaning each additional tma gives more damage than the last tma, so this flat 3.35 damage bonus becomes less impactful.

    Here's the charts for marginal damage increases of genesis (lv 30). The exact min dmg increases will change based on spell/level but the % increases should remain consistent, barring rounding errors:
    At 400 tma: 1 int = 11.2% above ma (33 min dmg vs 30 min dmg added)
    At 800 tma: 1 int = 7% above ma (51 min dmg vs 48 min dmg added)
    At 1000 tma: 1 int = 5.9% above ma (60 min dmg vs 57 min dmg added)
    At 1300 tma: 1 int = 4.8% above ma (73 min dmg vs 70 min dmg added)
    At 1600 tma: 1 int = 4% above ma (87 vs 84)
    At 2k tma: 1 int = 3.3% above ma (105 vs 101)
    at 69k tma: 1 int = 0.1% above ma (3097 vs 3094)

    If you care about more than just minimum damage, the gap shrinks more as the tma part is affected by low damage rolls meaning it's effect gets reduced when talking about min damage, but the int part doesn't. However, usually mages care about 1hitting so it's better to focus on min damage.
     
    Last edited: Aug 8, 2023
    XuXuBaoBao and Kheb like this.
  12. Kheb
    Offline

    Kheb Well-Known Member

    Joined:
    Jun 25, 2020
    Messages:
    309
    Likes Received:
    725
    Gender:
    Male
    Country Flag:
    Added:

    ac/S for each weapon.
    This value evaluates how much Secondary Stat yields the same damage increase as 1 Primary Stat.

    Made a mistake, thanks @fuzzything44 for pointing out.

    Removed:

    INT vs Matk comparison.
    Made a mistake in how it should be calculated.
     
    Last edited: Dec 12, 2023
    Sylafia likes this.
  13. Slashed
    Offline

    Slashed Well-Known Member

    Joined:
    Apr 16, 2024
    Messages:
    155
    Likes Received:
    227
    Gender:
    Male
    IGN:
    ZetsuboMS
    Level:
    150
    Hi hello hey!

    I'm writing a little python script to calculate primary stat formula, need some clarification if you can -

    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 ?base or total?
    Y = W.Atk CLEAR
    p = High Primary Stat Multiplier ?Do I take the multiplier value posted in your list or does p=X*multiplier from the list?
    r = Low Primary Stat Multiplier - only applies for weapon affected by Weapon Styles ?Where does this number come from?
    m = Mastery * 0.9 ?Is mastery the skill lvl i.e 20 when maxed or the skill value and if so will it be 60 or 0.6 if the skill description mentions 60%?
    a = Secondary Stat ?base or total?

    Also what would be the best way to share the script with you for testing?
     
    Last edited: Oct 29, 2024
    Kheb likes this.
  14. Kheb
    Offline

    Kheb Well-Known Member

    Joined:
    Jun 25, 2020
    Messages:
    309
    Likes Received:
    725
    Gender:
    Male
    Country Flag:
    PM me on Forum is a good way to contact me!

    My apologies for the poorly choosing of terms and variables. I kinda added one thing after another and it has been on my to-do list ever since to completely redo this math-dump to be readable for people that are not used to discussing maths over WhatsApp.

    X = Total Primary Stat

    p and r = This might be one of the more confusing things, yet is only really matters for Axe Heroes and BW Pallies. Many weapons have a different High and Low Multiplier listed (and by the in-game stat menu as your listed minimum damage). However, DK's will pretty much only care for their Spear Crusher damage, wich only uses the High Multiplier from Spear(Stab). While their in-game stat menu lists their range as Range=[f(Spear(Swing),g(Spear(stab)]

    2h Axe/BW(swing) do use a different High and Low multiplier of 4.8 and 3.4. I have yet to find someone that can confirm what Pally's Swing:Stab Ratio is. For Axe Heroes using Brandish, it's 1 line with High Multiplier and 1 line with Low Multiplier, it's 1:1. So for 2h Axes we can use (4.8+3.4)/2=4.1 and for 1h Axes we can use (4.4+3.2)/2=3.8.

    finding out what the Swing:Stab Ratio for a BW Pally is would remove the practical need for any Non-Beginner class to have their High and Low Multipliers be differentiated.

    We can substitute Axe Heroes Multipliers with 4.1 and 3.8. With the remaining exception of Pallies, for all other practical cases, p=r.

    Small side note: while intentionally ignoring odd-jobs (like STR Mages, Islanders, Melee Archer and whatever) Fighter-CPQ Leechers might require another evaluation since I do not know if Brandish forces a different Swing:Stab Ratio then Power Strike may or may not do.

    m*0.9 = The Minimum Damage Formula simply states: rX*m*0.9+a. Hence why MM's with 100% mastery still have a different minimum and maximum damage.

    a = Total Secondary Stat
     
  15. Slashed
    Offline

    Slashed Well-Known Member

    Joined:
    Apr 16, 2024
    Messages:
    155
    Likes Received:
    227
    Gender:
    Male
    IGN:
    ZetsuboMS
    Level:
    150
    So for p and r I should use the same number? or should I also check for class and weapon to add the exception for axe hero and bw pally?

    Sorry if I keep asking what you already explained but regarding m, how would I take input from the user? skill level integer i.e 20 when maxed, skill description value integer i.e 60 for 60%, or skill percentage float value i.e 0.6 for 60%?

    Thank you for clarifying! ~f14
     
  16. Kheb
    Offline

    Kheb Well-Known Member

    Joined:
    Jun 25, 2020
    Messages:
    309
    Likes Received:
    725
    Gender:
    Male
    Country Flag:
    I will not pretend I am capable of writing any respectable Python script (or any other language for that matter)

    I imagine the could would look like this

    p=r
    _IF Class = Pally AND
    __IF Weapon = 2H BW OR Weapon = 1H BW
    ___p=p*Ratio \\ Assuming we get this Ratio confirmed


    For you second question. I personally prefer the 0.6 because maths, Tho in my experience 99% of the general public breaks down emotionally when needing to do anything with percentages beside reading them. I think user input should either be in integers (m = INT(m)/100*0.9) or just assume all sources are maxed (like I do in this guide). You either maxed it in 2nd Job or it's very high on your priority list during 4rth Job (DK, BM, MM) and max it very early on.

    The only example I can really think of that would want Mastery to be variable might be Goby Leechers not having the SP to max their Mastery
     
  17. Slashed
    Offline

    Slashed Well-Known Member

    Joined:
    Apr 16, 2024
    Messages:
    155
    Likes Received:
    227
    Gender:
    Male
    IGN:
    ZetsuboMS
    Level:
    150
    Ok you got it!
    Ill try to send an executable in pm here if that is possible and let me know if it works like you would expect :D
     
    Kheb likes this.

Share This Page