Southperry.net
Summarized %/s List - Printable Version

+- Southperry.net (https://www.southperry.net)
+-- Forum: Maplestory (https://www.southperry.net/forumdisplay.php?fid=15)
+--- Forum: Training Center (https://www.southperry.net/forumdisplay.php?fid=32)
+--- Thread: Summarized %/s List (/showthread.php?tid=60206)

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18


Summarized %/s List - Chilly - 2013-06-26

LOL...putting this in JoeTang's thread is insulting. The only way Evan or especially I/L can be so high is if they are factoring in Physical Resistance, which I suspect they are given the other Physical Resistance resisting classes' positions. I really hope this isn't the feedback that KMS is looking to utilize.


Summarized %/s List - VerrKol - 2013-06-26

Dark Link Wrote:Forget that, the list is a giant mess.

The one thing I don't like about those lists from Insoya is there's no mathematics behind it to show the conclusions they came to.

JT keeps everything black boxed here so how is it any different?

I'd like them both to show numbers/code and explain the methodology, but it doesn't seem like either is inclined so we're left just guessing which is more accurate.

I ran the numbers for BMs with the help of some people over at Basil and I can say that Insoya's numbers are a lot closer than JT's. Make of that what you will, but without numbers we take it on faith irrespective of the source.


Summarized %/s List - playboiiz - 2013-06-26

VerrKol Wrote:JT keeps everything black boxed here so how is it any different?

I'd like them both to show numbers/code and explain the methodology, but it doesn't seem like either is inclined so we're left just guessing which is more accurate.

I ran the numbers for BMs with the help of some people over at Basil and I can say that Insoya's numbers are a lot closer than JT's. Make of that what you will, but without numbers we take it on faith irrespective of the source.

Warrior %/s
Magician %/s
Archer %/s
Thief %/s
Pirate %/s


Summarized %/s List - hadriel - 2013-06-26

VerrKol Wrote:JT keeps everything black boxed here so how is it any different?

I'd like them both to show numbers/code and explain the methodology, but it doesn't seem like either is inclined so we're left just guessing which is more accurate.

I ran the numbers for BMs with the help of some people over at Basil and I can say that Insoya's numbers are a lot closer than JT's. Make of that what you will, but without numbers we take it on faith irrespective of the source.

JoeTang's methods aren't black-boxed, but it'd not necessarily be the most useful thing to release the code. Over this period of time, if you do read his posts you will see how his methods work.

Here's what I understand. You should see all the parameters that he varies and considers in the respective threads in this section. IIRC he sets up a basic cycle, lets it repeat many many many many times while incorporating suitable RNGs, then obtains a DPS from there. How he optimises the parameters for the cycles doesn't really bother me because many roads lead to Rome; even if it's manual optimisation which I perform it still works fairly well albeit being extremely time consuming. You will want to know that he also considers things like when to rebuff (no DSE, no DSI, no ToC; just your job-specific ones), although the difference it makes is on the small side of the scale. But I would believe that from an intelligent guess, he's not going to let the program consider so many permutations of skills and stuff, he'd probably do some pre-calculations and optimise the closer ones.

The Insonya post... well pardon me I don't read Korean and I don't frequent that forum so I've no idea if the guy who posted those numbers have explained any of his methods or parameters

Hadriel


Summarized %/s List - JoeTang - 2013-06-26

Code:
                    if (hyper && wind_of_frey_cd <= 0)
                    {
                        checkBuffs();
                        wind_of_frey_cd = wind_of_frey_maxcd;
                        damage += addDamage((damR + armor_piercing_bonus) * wind_of_frey, wind_of_frey_hits, applyIgnore(ignore, armor_piercing_ignore, sharp_eyes_ignoreguard.get()), wind_of_frey_mob);
                        hits += wind_of_frey_hits * wind_of_frey_mob;
                        if (wind_of_frey_maxdam > 0)
                            maxdam += (damcap + wind_of_frey_maxdam - currcap) * wind_of_frey_hits * wind_of_frey_mob;
                        else
                            maxdam += damcap * wind_of_frey_hits * wind_of_frey_mob;
                        addDelay(adjustspeed(wind_of_frey_delay));
                        dot += wind_of_frey_dot * wind_of_frey_dot_maxdur * wind_of_frey_mob;
                        maxdam += rangecap * wind_of_frey_dot * wind_of_frey_dot_maxdur * wind_of_frey_mob / 100;
                    }
                    else if (x <= arrow_blaster_maxmob + arrow_blaster_extratarget.get())
                    {
                        checkBuffs();
                        arrow_blaster_dur = arrow_blaster_maxdur;
                        addDelay(adjustspeed(arrow_blaster_pre));
                        while (arrow_blaster_dur > 0)
                        {
                            armorpiercing();
                            damage += addDamage((damR + armor_piercing_bonus + arrow_blaster_reinforce.get() + arrow_blaster_bosskiller.get()) * arrow_blaster1,
                                arrow_blaster_hits, applyIgnore(ignore, armor_piercing_ignore, sharp_eyes_ignoreguard.get()), arrow_blaster_mob);
                            hits += arrow_blaster_hits * arrow_blaster_mob;
                            maxdam += damcap * arrow_blaster_hits * arrow_blaster_mob;
                            AFA();
                            advancedQuiver();
                            addDelay(arrow_blaster_delay);
                        }
                        arrow_blaster2_dur = arrow_blaster2_maxdur;
                        arrow_blaster = arrow_blaster2;
                    }

Here's some example code. I honestly never give any of it really much thought, and push through it while I watch anime most of the time. I could wrap the hits += into the addDamage method, but I'm not 100% sure because there have been cases (i.e. Shadow Partner, DoT) where I may want to weigh a hit differently.
The addDelay method tosses the action delay and automatically rounds it to the highest 30ms, so Arrow Blaster will always be 90ms. The adjustpeed method accounts for weapon speed, so Arrow Blaster is exempt, like buffs, but the start up (supposedly) isn't. It'd be more detrimental to stop in the middle of Arrow Blaster to cast a buff or other skills, so I have it run through the full duration before choosing another action, as such, the while loop. In theory, the optimal method with this is to re-cast the turret just as your channeling expires, resetting its duration assuming it has no real startup though it probably does. This is rather idealized, and I should probably do a check for arrow_blaster2_dur <= 5 or something before resetting it, but since I have no actual start-up input for the turret, it's of no consequence yet.

Code:
    public static void arrowBlaster(double t)
    {
        if (arrow_blaster2_dur > 0)
        {
            arrow_blaster_time += t;
            while (arrow_blaster_time >= arrow_blaster_delay)
            {
                armorpiercing();
                arrow_blaster_time -= arrow_blaster_delay;
                damage += addDamage((damR + arrow_blaster_reinforce.get() + arrow_blaster_bosskiller.get() + armor_piercing_bonus) * arrow_blaster, arrow_blaster_hits,
                    applyIgnore(ignore, armor_piercing_ignore, sharp_eyes_ignoreguard.get()), arrow_blaster_mob);
                hits += (arrow_blaster_hits) * arrow_blaster_mob;
                maxdam += damcap * (arrow_blaster_hits) * arrow_blaster_mob;
            }
        }
        else
            arrow_blaster_time = 0;
    }
So while the turret duration is active, every "t" time that passes, it feeds through this method checking if the turret will fire or not.
AFA, advancedQuiver, armorpiercing all run through random number generators to see if you activate their effects. So when you do armorpiercing(), it checks if you activate it or not; if you don't, it increases the activation rate and sets the bonus and ignore to 0. If it does work, it sets the bonus and ignore to whatever they are and puts the activation rate back to 10%.


The methodology is just a straight forward simulation of a character going through a checklist using all its innate abilities, over the course of a few thousand iterations, and many people could easily do this more efficiently than I do; no one has bothered for whatever reason, likely because it's time consuming and reward-less.


Summarized %/s List - ShinkuDragon - 2013-06-26

our love and the drama this causes on basil aren't a reward? :'(


Summarized %/s List - MountLag - 2013-06-26

idk what's going on here, but some of the numbers on the Insoya table look way too high (if they're all single target)

28/47 of the classes are hitting over 20000%/sec there (1.2M%/min)


I'm guessing it's a high %boss table or something, didn't really read it.


Summarized %/s List - hadriel - 2013-06-26

I can check some of their numbers later tonight with a thought experiment. I'll probably hit those that I know e.g. Luminous. But even then, I still cannot see how the heck a Luminous can do in excess of 20k%/s on a single target. Anyone knows how that Insoya guy did it?

Hadriel


Summarized %/s List - VerrKol - 2013-06-26

[MENTION=535]JoeTang[/MENTION]; Thanks! I've always been curious about exactly where you get the numbers.


Summarized %/s List - Aggravate - 2013-06-26

MountLag Wrote:idk what's going on here, but some of the numbers on the Insoya table look way too high (if they're all single target)

28/47 of the classes are hitting over 20000%/sec there (1.2M%/min)


I'm guessing it's a high %boss table or something, didn't really read it.

They are way too high. For starters, I'm simply amused NL's would jump from near bottom-of-the-pack on Joe's charts to upper echelon that quickly. We didn't get an incredible boost by any means, and my own calculations are no where close to the Insoya chart at all. Some others that don't stand out at the top to me are I/L, TB, and Bucc's just to name a few.


Summarized %/s List - JoeTang - 2013-06-26

Aggravate Wrote:They are way too high. For starters, I'm simply amused NL's would jump from near bottom-of-the-pack on Joe's charts to upper echelon that quickly. We didn't get an incredible boost by any means, and my own calculations are no where close to the Insoya chart at all. Some others that don't stand out at the top to me are I/L, TB, and Bucc's just to name a few.

I'm under the impression they incorporate weapon multipliers since they include different tables for 1H and 2H weapons for Heroes and Paladins.


Summarized %/s List - holycow - 2013-06-27

JoeTang Wrote:There is one concern I would like to point out; ATK% are currently accounted for in the %/s since they linearly affect damage, unlike other stats. There is, however, a flat cap of 2m~2m on a damage range, so at that point, ATK% would not make you any stronger unlike Total Damage% or Boss Damage%. The classes affected by this are Battle Mages and Wild Hunters.
Hi, I'm not sure whether it's changed in GMS or KMS, but total damage (from AO / potential) got changed in season 2 (unlimited) for MSEA and it now affects the range. Would that affect your calculations in any way though? :f6:


Summarized %/s List - JoeTang - 2013-06-27

holycow Wrote:Hi, I'm not sure whether it's changed in GMS or KMS, but total damage (from AO / potential) got changed in season 2 (unlimited) for MSEA and it now affects the range. Would that affect your calculations in any way though? :f6:

No.

Any inclusion of attack% is calculated by
(1+ATK%)*(1+Total Damage%) * Damage


Summarized %/s List - SaptaZapta - 2013-06-27

JoeTang Wrote:I'm under the impression they incorporate weapon multipliers since they include different tables for 1H and 2H weapons for Heroes and Paladins.

In that case, % of what, exactly, are they showing?

I mean, if they say some class does 20,000%/s, they can't mean % of the damage range displayed in the user stats (like you do), since that includes the weapon multiplier already. So, % of what?


Summarized %/s List - GeistesblitZ - 2013-06-28

couple comments.

firstly, and most importantly, thank you so much for releasing some code. glad to see it's java so i can understand and duplicate it (i'll give credit where it's due of course)

secondly, insoya's numbers are definitely quite wacky. definitely using elemental resistance ignore, and including weapon multipliers. jt's numbers make sense and are very similar to the numbers i get when i do rough calculations manually.

finally, inclusion of total damage in the range might mean that boss damage would scale multiplicatively with total damage, since it probably wouldn't be shown in the range. unlikely, but it's a possibility


Summarized %/s List - MountLag - 2013-06-28

GeistesblitZ Wrote:finally, inclusion of total damage in the range might mean that boss damage would scale multiplicatively with total damage, since it probably wouldn't be shown in the range. unlikely, but it's a possibility
Boss and total are still additive.


Summarized %/s List - holycow - 2013-06-29

MountLag Wrote:Boss and total are still additive.

[COLOR="#0000FF"]How so? If even your % total damage from potential adds to the range o_o
while boss damage multiplies off your damage

edit : then again, GMS might not have the change ._.[/COLOR]



Summarized %/s List - Takebacker - 2013-06-29

holycow Wrote:edit : then again, GMS might not have the change ._.

We got it last patch.


Summarized %/s List - MountLag - 2013-06-29

holycow Wrote:[COLOR="#0000FF"]How so? If even your % total damage from potential adds to the range o_o
while boss damage multiplies off your damage

edit : then again, GMS might not have the change ._.[/COLOR]

Well let's just say the stat window is a little misleading. You won't be doing range x skill% x (1+boss%) damage, even though that's what it seems to imply.


Summarized %/s List - holycow - 2013-06-29

MountLag Wrote:Well let's just say the stat window is a little misleading. You won't be doing range x skill% x (1+boss%) damage, even though that's what it seems to imply.

meaning.. the range added is fake, and % total damage still works the same as last time? :f6: