Page 52 of 70 FirstFirst ... 2 42 50 51 52 53 54 62 ... LastLast
Results 511 to 520 of 783

Hybrid View

  1. #1
    Player
    ChaozK's Avatar
    Join Date
    Aug 2013
    Posts
    572
    Character
    Baal Mirtaq
    World
    Shiva
    Main Class
    Dragoon Lv 100
    Quote Originally Posted by pandabearcat View Post
    snip
    This might be an obvious question but is this sim taking the Dmg and Speed buff of Greased Lightning into consideration? I also see no bootshine or true strike.

    I realize that this is a potency per second sim but bootshines damage for example is higher than snap punch due to the guaranteed crit. That raises the question if a pps sim is a good way to determine MNK strength to begin with.
    (0)

  2. #2
    Player
    pandabearcat's Avatar
    Join Date
    Sep 2013
    Posts
    1,517
    Character
    Alizebeth Bequin
    World
    Brynhildr
    Main Class
    Dancer Lv 90
    Quote Originally Posted by ChaozK View Post
    This might be an obvious question but is this sim taking the Dmg and Speed buff of Greased Lightning into consideration? I also see no bootshine or true strike.

    I realize that this is a potency per second sim but bootshines damage for example is higher than snap punch due to the guaranteed crit. That raises the question if a pps sim is a good way to determine MNK strength to begin with.
    Hi! PPS scales linearly with gear from stats, so it is a good representation of actual DPS.

    And yes, if you go down the sim you'll notice that attacks get faster (from ~2.45 sec GCD to 2.08 sec GCD), so GL is being accounted for.

    The reason there are no BS - Bootshines is because ID does more damage, and from a damage perspective the priority list would rather ID more often rather than TRUE or BS for damage.

    If I turn off ID/FR, then it will go back into more BS's.

    It will never do TRUE because it doesn't have a sub 2.0 GCD.

    EDIT:

    a good example of this are these two lines:

    Code:
    [1651]	: SP - Snap Punch - Boss -  (301.87)
    [1859]	: DK - Dragon Kick - Boss -  (377.34!)
    You'll notice the timestamps are 1859-1651 = 208 (2.08 sec) apart, different from the base GCD of 2.45 seconds (sorry I guess I should've pasted base numbers).

    Snap punch also has a potency of 301.87, which is 180 * 1.21 (GL3) * 1.1 (DK) * 1.1 (Twin) * 1.2 (BfB) * 1.05 (fists of fire) = ...332.06...crap

    Hrm! You might be onto something here. I don't think DK had expired by then so imma go check to see why its not picking up either twin or DK for damage.


    EDIT2: hahaha, I suck, I never once accounted for twin strikes >.<

    EDIT3: the damage has been fixed =) but for now, please check the above for rotational errors or other damage problems, thanks!
    (0)
    Last edited by pandabearcat; 11-01-2013 at 12:00 AM.

  3. #3
    Player
    Allyrion's Avatar
    Join Date
    Aug 2013
    Location
    Ul'dah
    Posts
    1,231
    Character
    Allyrion Windwalker
    World
    Yojimbo
    Main Class
    Samurai Lv 70
    Quote Originally Posted by pandabearcat View Post
    The reason there are no BS - Bootshines is because ID does more damage, and from a damage perspective the priority list would rather ID more often rather than TRUE or BS for damage.
    Why is that the case? Like Chaoz said, Bootshine hits harder on average than Snap Punch which has the same potency as ID. So ID should be less damage every time it doesn't crit?
    Is there a problem with making Bootshine always crit in the sim or something?
    (0)

  4. #4
    Player
    pandabearcat's Avatar
    Join Date
    Sep 2013
    Posts
    1,517
    Character
    Alizebeth Bequin
    World
    Brynhildr
    Main Class
    Dancer Lv 90
    Quote Originally Posted by Allyrion View Post
    Why is that the case? Like Chaoz said, Bootshine hits harder on average than Snap Punch which has the same potency as ID. So ID should be less damage every time it doesn't crit?
    Is there a problem with making Bootshine always crit in the sim or something?
    No, remember the sim only calculates actual game rules. EDIT: to clarify, the sim does autocrit on bs. However in the current ID/FR rotation, both ID and FR hit harder than BS with 11% crit or higher, which is why the priority list (which I wrote, which has no guarantee of being optimal btw, so thanks for the feedback XD) doesn't do it.

    I can probably change it to BS more (it will still never Truestrike, even at sub 2.0 speeds True is not worth it unless you have TP issues).

    It couldn't care less what you do, as long as what you try to do is legal. For example, you could spam bootshine all day, or ID, or whatever (currently TP is set to infinite, so there isn't even a TP check in place, for more acurate "max" dps sims).

    Where are you getting that Bootshine does more damage than SP on average?

    Bootshine is (ignoring all modifiers since everything is affected by such modifiers), 130*1.5 = 190 potency.

    SP is 180*(1+crit/2) solving for crit, we get that you need roughly 11% crit to be higher damage than BS.

    I'm fairly certain almost everyone has at least 11% crit (I could be wrong here, actually! It depends on what crit number I feed into the sim, currently, baseline is 12%), and especially under IR, both SP and ID do more damage than BS.
    (0)
    Last edited by pandabearcat; 11-01-2013 at 03:53 AM.

  5. #5
    Player
    Xal's Avatar
    Join Date
    Sep 2013
    Location
    İstanbul
    Posts
    46
    Character
    Xal Shi'nax
    World
    Odin
    Main Class
    Pugilist Lv 50
    sorry but im not weak : /
    (1)

  6. #6
    Player
    EasymodeX's Avatar
    Join Date
    Sep 2013
    Posts
    900
    Character
    Lunairetic Emx
    World
    Midgardsormr
    Main Class
    Lancer Lv 50
    Umm, the discussion is not focusing on the correct comparisons.

    Impulse Drive is an independent ability. You can use it whenever you want to.

    Bootshine is dependent on a full 3-step cycle of attacks (Twin - SP - BS for a default sequence).

    In order to assess whether or not ID is a local DPS increase, you compare ID agaulst the full Twin-SP-BS combo, not BS itself. Autocrit Bootshine does not exist without Twin-SP.

    ID is, for the purposes of this comparison, 180/gcd * (1 + .12*.5) = 190.8 p/g.

    TW-SP-BS = (140*1.06 + 180*1.06 + 130 * 1.5)/3 = 178.07.

    So ID is more potency per gcd than TW-SP-BS at 12% crit. So ID is spammed in this local scenario with unlimited TP without considering the timing of things external to the BS-TW-SP cycle (such as getting your next DK up, maintaining GL3, better uptime on TOD, Fracture, or Demolish, or maintaining TW itself across long cycles).
    (1)

  7. #7
    Player
    pandabearcat's Avatar
    Join Date
    Sep 2013
    Posts
    1,517
    Character
    Alizebeth Bequin
    World
    Brynhildr
    Main Class
    Dancer Lv 90
    I wanted to show yall the current logic for the rotation, by far the most complicated one yet.

    Even if you don't understand code the logic should be in place.

    Let me know if something is glaringly wrong =D

    ps, || means logical OR , and && means logical AND.

    Code:
    //this checks to see if we have a GCD to consume
                if(bs.isGCD())
                {
                    //this gets the timings for the time since the last time we cast those attacks.
                    lastGL = currEvent.eventTime() - bs.getLastGL();
                    lastTwin = currEvent.eventTime() - bs.getLastTwin();
                    lastDK = currEvent.eventTime() - myTarget.getLastDK();
                    //basically sets the last time we did demo to a million years ago if we're lacking demo (for PB)
                    lastDemo = (myTarget.demo()?currEvent.eventTime() - myTarget.getLastDEMO().eventTime():-100000);
                    
                    //this gets our current GCD (modified by GL stacks)
                    currGCD = bs.getGCD();
                    
                    //this just does PB at the start of the fight
                    if(currEvent.eventTime()==0 && !bs.pbCD())
                    {
                        bs.addAction(MNKEvent.EventType.PB, myTarget);
                        continue;
                    }
                    
                    //this tells us what we do inside a PB
                    if(bs.pb())
                    {
                        //setup GL and buffs, first priority during PB
                        if(bs.gl() < 3)
                        {
                            //only Demo during PB only after buffs if we're starting with pb
                            if(!myTarget.demo() && (currEvent.eventTime() > 1000 || bs.bfb() && bs.ir()))
                                bs.addAction(MNKEvent.EventType.DEMO, myTarget);
                            else    //otherwise SP
                                bs.addAction(MNKEvent.EventType.SP, myTarget);
                        }
                        else
                        {
                            //once we have GL3, setup other buffs, prioritizing DK before OPO form runs out
                            if(bs.getLastStance() == MNKSimulator.Stance.OPO && !myTarget.dk())
                                bs.addAction(MNKEvent.EventType.DK, myTarget);
                            else if(!bs.twin())
                                bs.addAction(MNKEvent.EventType.TWIN, myTarget);
                            else    //if we have all buffs, just SP for max damage.
                            {
                                bs.addAction(MNKEvent.EventType.SP, myTarget);
                            }
                        }
                    }
                    else
                    {
                        //do different timings based on stance
                        switch(bs.getLastStance())
                        {
                            //we only have NONE stance if we just came out of PB or we had to leave target
                            case NONE:
                                //basically if we don't have DK, Twin or GL3, or demo, immediately start GL combo
                                if(!myTarget.dk() || lastDemo >= 1800 - currGCD * 2 || lastGL >= 1200 - currGCD*3 || lastTwin >= 1200 - currGCD * 2 || bs.gl() < 3)
                                    bs.addAction(MNKEvent.EventType.DK, myTarget);
                                else if(!myTarget.tod())    //otherwise, we have time to ToD
                                    bs.addAction(MNKEvent.EventType.TOD, myTarget);
                                else if(!myTarget.fr())     //otherwise, we have time to FR
                                    bs.addAction(MNKEvent.EventType.FR, myTarget);
                                else    //otherwise ID filler
                                    bs.addAction(MNKEvent.EventType.ID, myTarget);
                                break;
                            case RAPTOR:
                                if(lastTwin >= 1200 - currGCD*3)    //if twin will fall off within next combo
                                    bs.addAction(MNKEvent.EventType.TWIN, myTarget);
                                //this tests timings to see whether we have time to filler
                                else if(lastGL < 1200 - currGCD*2 && lastDemo < 1800 - currGCD && lastTwin < 1200 - currGCD && lastDK < 1500 - currGCD*3)
                                {
                                    //filler priority is ToD > FR > ID
                                    if(!myTarget.tod())
                                        bs.addAction(MNKEvent.EventType.TOD, myTarget);
                                    else if(!myTarget.fr())
                                        bs.addAction(MNKEvent.EventType.FR, myTarget);
                                    else
                                        bs.addAction(MNKEvent.EventType.ID, myTarget);
                                }
                                else
                                    bs.addAction(MNKEvent.EventType.TRUE, myTarget);
                                break;
                            case COEURL:
                                //more timings, demo if it will expire in less than 3 seconds (arbitrary number here)
                                if(!myTarget.demo() || (lastDemo > 1500 && currEvent.numBuffs() > myTarget.getLastDEMO().numBuffs()))
                                    bs.addAction(MNKEvent.EventType.DEMO, myTarget);
                                //otherwise SP if DK, GL, or Twin will fall off
                                else if(lastGL >= 1200 - currGCD || lastDK >= 1500 - currGCD*2 || lastTwin >= 1200 - currGCD*3)
                                    bs.addAction(MNKEvent.EventType.SP, myTarget);
                                else
                                {
                                    //otherwise filler
                                    if(!myTarget.tod())
                                        bs.addAction(MNKEvent.EventType.TOD, myTarget);
                                    else if(!myTarget.fr())
                                        bs.addAction(MNKEvent.EventType.FR, myTarget);
                                    else
                                        bs.addAction(MNKEvent.EventType.ID, myTarget);
                                }
                                break;
                            case OPO:
                                //dk if dk is going to fall off
                                if(!myTarget.dk() || lastDK > 1500 - currGCD*3)
                                    bs.addAction(MNKEvent.EventType.DK, myTarget);
                                //if nothing's going to fall off we can filler
                                else if(lastGL < 1200 - currGCD*3 && lastDemo < 1800 - currGCD * 2 && lastTwin < 1200 - currGCD*2 && lastDK < 1500 - currGCD)
                                {
                                    if(!myTarget.tod())
                                        bs.addAction(MNKEvent.EventType.TOD, myTarget);
                                    else if(!myTarget.fr())
                                        bs.addAction(MNKEvent.EventType.FR, myTarget);
                                    else
                                        bs.addAction(MNKEvent.EventType.ID, myTarget);
                                }
                                //if somehow we get here (usually because i've disabled ID filler, we can BS if DK won't fall off
                                else if(myTarget.dk() && lastDK < 1500 - currGCD*3 && myTarget.canBackstab())
                                    bs.addAction(MNKEvent.EventType.BS, myTarget);
                                else
                                    //if we run out of stuff to do might as well DK to continue rotation
                                    bs.addAction(MNKEvent.EventType.DK, myTarget);
                                break;
                        }
                    }
                }
                //this checks to see if there is an oGCD slot for an action
                else if(bs.isOGCD())
                {
                    //do all OGCD actions here
                    //PB if its up, and we are either missing GL stacks or the stance isn't COEURL (so we don't waste a coeurl)
                    if(!bs.pbCD() && (bs.gl() < 3 || bs.getLastStance() != MNKSimulator.Stance.COEURL))
                    {
                        bs.addAction(MNKEvent.EventType.PB, myTarget);
                    }
                    //do BfB > IR > HF > Peak > invig cooldowns, too lazy (and not much point) in saving to stack.
                    else if(!bs.bfbCD())
                        bs.addAction(MNKEvent.EventType.BFB, myTarget);
                    else if(!bs.irCD() && (!myTarget.demo() || lastDemo > 1200))
                        bs.addAction(MNKEvent.EventType.IR, myTarget);
                    else if(!bs.hfCD())
                        bs.addAction(MNKEvent.EventType.HF, myTarget);
                    else if(!bs.peakCD())
                        bs.addAction(MNKEvent.EventType.PEAK, myTarget);
                    else if(bs.getTPBalance() < 540)
                        bs.addAction(MNKEvent.EventType.INVIG, myTarget);
                }
    (0)

  8. #8
    Player
    Cynric's Avatar
    Join Date
    Aug 2013
    Location
    Uldah
    Posts
    1,215
    Character
    Cynric Caliburn
    World
    Cactuar
    Main Class
    Viper Lv 100
    If you're going to use PB as a starter why not do.

    PB > DK(B4B) > TwS(IR) > SnapPunch(HowlingFist)> SnapPunch(SteelPeak) > Demolish

    Why use howling fist/steel peak before setting up DK, and TwS? Seems like a waste of extra damage, I'd actually like to see the math in comparison on this one.
    (0)

  9. #9
    Player
    pandabearcat's Avatar
    Join Date
    Sep 2013
    Posts
    1,517
    Character
    Alizebeth Bequin
    World
    Brynhildr
    Main Class
    Dancer Lv 90
    Quote Originally Posted by Cynric View Post
    If you're going to use PB as a starter why not do.

    PB > DK(B4B) > TwS(IR) > SnapPunch(HowlingFist)> SnapPunch(SteelPeak) > Demolish

    Why use howling fist/steel peak before setting up DK, and TwS? Seems like a waste of extra damage, I'd actually like to see the math in comparison on this one.
    Not sure, but for one thing, I assumed since you are not in Opo stance at the beginning of PB you shouldn't DK until after the first SP at least. DK only applies debuff if used in Opo.
    (1)

  10. #10
    Player
    NoctisUmbra's Avatar
    Join Date
    Mar 2011
    Posts
    2,546
    Character
    Noctis Umbra
    World
    Excalibur
    Main Class
    Pugilist Lv 50
    Quote Originally Posted by pandabearcat View Post
    Not sure, but for one thing, I assumed since you are not in Opo stance at the beginning of PB you shouldn't DK until after the first SP at least. DK only applies debuff if used in Opo.
    This was actually changed during Retail version. Not sure if right off the bat, or with one of the early patches.

    DK debuff is in fact applied during PB. PB effectively removes any stance you have up, and acts as a sort of universal stance, at least as far as Dragon Kick's debuff is concerned. I have not tested other bonus effects actually.

    That being said, I prefer getting to the GL3 buff first and foremost before I apply DK or TS.

    MY PB opener is PB > SPx3 > DK > TS > PB wears off. Then I simply continue with DK > TS > Demo > ToD. If I have reason to not keep my rotation flank-only I will start with BS > TS > Deemo > ToD.
    (0)
    Last edited by NoctisUmbra; 11-01-2013 at 06:56 AM.

Page 52 of 70 FirstFirst ... 2 42 50 51 52 53 54 62 ... LastLast