Page 5 of 235 FirstFirst ... 3 4 5 6 7 15 55 105 ... LastLast
Results 41 to 50 of 2345
  1. #41
    Player
    Shadowzanon's Avatar
    Join Date
    Aug 2013
    Location
    Winter Haven Florida
    Posts
    334
    Character
    Aether Flow
    World
    Cactuar
    Main Class
    Red Mage Lv 70
    Aye far from having all bis gear but slowly getting there. Reason I was thinking of getting piety were for moments i am not in a group with a scholar, yes they do give me 7 piety when with one. Our last coils kinda lasted only 45 min to get to turn 5 so i may be more helping friends and doing wp / ak runs. But then if i do manage to get 12 spell speed that is close to like having 2 more int according to your chart. hmmmmm But then, if the helm does drop next week i will have to get used to having a normal mana pool.
    (0)

  2. #42
    Player
    Kenji1134's Avatar
    Join Date
    Mar 2011
    Posts
    666
    Character
    Aleksandr Deicide
    World
    Cactuar
    Main Class
    Marauder Lv 70
    *Incoming Wall-o-Text*

    For those of you who have access to MATLAB, or probably any decent code compiler, here is the code I have been using to estimate rotation potency.
    Keep in mind this is not dps, this is simply the overall potency output over a period of time, going off the assumption that all spells have "roughly" the same % scaling from stats (ie. Fire 1 goes up by 2%, Blizz 3 goes up by 2%), and that all spells have the same crit rate.

    *MATLAB code* - Note: The Firestarter proc use logic is still a bit rough. Feel free to improve upon it.

    clc;
    F1 = 270;
    F3 = 396;
    F3UI = 154;
    B3AF = 154;
    T2 = 14; %Estimating at 14 pps
    SMana = 5; %Starting Mana: 4 for under 251 pie, 5 for over
    rng('shuffle');
    Time = 0; %Total Time Elapsed
    TPot = 0; %Total Potency
    Loops = 1000000; %Number of iterations <- Important!!!
    STPot = 0; %Short Potency for this loop
    STime = 0; %Short Time spend in this loop
    Z = zeros(1, Loops); %Array to hold resulting PPS values for each loop
    Next = 0; %Are we casting the next Fire 1?
    Firestarter = 0; %Do we have a Firestarter proc up?

    for s = 0: 1: Loops
    STPot = 0; %Reset short potency
    STime = 0; % Reset short time
    TPot = TPot + 308; %Regen Phase (Thunder counted later)
    STPot = STPot + 308; %Regen Phase
    Time = Time + 8; %Time for Regen Phase
    STime = STime + 8; %Time for Regen Phase
    Mana = SMana; %Reset Mana to full
    Next = 0;
    while Mana > 0
    TPot = TPot + F1; %Cast Fire 1
    STPot = STPot + F1; %Cast Fire 1
    Time = Time + 2.5; %1 GCD for Fire 1
    STime = STime + 2.5; %1 GCD for Fire 1
    Mana = Mana - 1; %Cast 1 spell
    if rand(1) <= 0.6
    Firestarter = 1;
    end
    if (Firestarter == 1 && Next == 1) %Have proc AND casted next Fire1
    TPot = TPot + F3; %Cast Fire 3
    STPot = STPot + F3; %Cast Fire 3
    Time = Time + 2.5; %1 GCD for Instant Fire 3
    STime = STime + 2.5; %1 GCD for Instant Fire 3
    Next = 0;
    Firestarter = 0;
    else
    Next = 1;
    end
    end
    %Now we calculate the effect of Thunder 2
    if STime >= 21
    TPot = TPot + 295; %Full Thunder 2 Duration
    STPot = STPot + 295; %Full Thunder 2 Duration
    else
    TPot = TPot + 14*STime; %Partial Thunder 2 Duration
    STPot = STPot + 14*STime; %Partial Thunder 2 Duration
    end
    Z(s+1)=STPot/STime; %Update array with PPS for this loop
    end
    disp('5 Fire 1 Method')
    fprintf('PPS = %f , STD = %f, Min = %f, Max = %f\n',TPot/Time,std(Z),min(Z),max(Z))

    Time = 0;
    TPot = 0;

    for s = 0: 1: Loops
    STPot = 0; %Reset short potency
    STime = 0; % Reset short time
    TPot = TPot + 308; %Regen Phase
    STPot = STPot + 308; %Regen Phase
    Time = Time + 8; %Time for Regen Phase
    STime = STime + 8; %Time for Regen Phase
    Mana = SMana; %Reset Mana to full
    TPot = TPot + F3; %Quick-Cast Fire 3
    STPot = STPot + F3; %Quick-Cast Fire 3
    Time = Time + 2.5; %1 GCD for Quick-Cast Fire 3
    STime = STime + 2.5; %1 GCD for Quick-Cast Fire 3
    Mana = Mana - 2; %Cast equivalent of 2 spells
    while Mana > 0
    TPot = TPot + F1; %Cast Fire 1
    STPot = STPot + F1; %Cast Fire 1
    Time = Time + 2.5; %1 GCD for Fire 1
    STime = STime + 2.5; %1 GCD for Fire 1
    Mana = Mana - 1; %Cast 1 spell
    if rand(1) <= 0.6
    Firestarter = 1;
    end
    if (Firestarter == 1 && Next == 1) %Have proc AND casted next Fire1
    TPot = TPot + F3; %Cast Fire 3
    STPot = STPot + F3; %Cast Fire 3
    Time = Time + 2.5; %1 GCD for Instant Fire 3
    STime = STime + 2.5; %1 GCD for Instant Fire 3
    Next = 0;
    Firestarter = 0;
    else
    Next = 1;
    end
    end
    %Now we calculate the effect of Thunder 2
    if STime >= 21
    TPot = TPot + 295; %Full Thunder 2 Duration
    STPot = STPot + 295; %Full Thunder 2 Duration
    else
    TPot = TPot + 14*STime; %Partial Thunder 2 Duration
    STPot = STPot + 14*STime; %Partial Thunder 2 Duration
    end
    Z(s+1)=STPot/STime; %Update array with PPS for this loop
    end
    format COMPACT
    disp('F3 + 3 Fire 1 Method')
    fprintf('PPS = %f , STD = %f, Min = %f, Max = %f\n\n',TPot/Time,std(Z),min(Z),max(Z))

    *end code*

    So we set the potency of our abilities as a reference. Start with a regen phase of Blizz 3, Thunder 2, and Fire 3, taking 8 seconds, and outputting 308 potency while setting up Thunder 2.
    Then we start spamcasting Fire1.
    After every Fire1, we try to get a Firestarter proc. If we did get a proc, we note that we have one. Regardless of whether we got a proc, we cast the next Fire1, and note that we are casting the next one.
    Then we return to the actual casting sequence of Fire1, retry for Firestarter, but now since we cast a 2nd Fire 1, and have a Firestarter proc banked, we can cast Fire 3.

    Once we're out of mana for Fire 1's, we look at hold long it's been since we cast Thunder 2, averaging it to 14 PPS, and factoring in the 8 second regen period beforehand... Then back to the top.

    This sequence is run 1 million times to have reliable averaging.
    (0)
    Last edited by Kenji1134; 11-05-2013 at 10:43 PM.

  3. #43
    Player
    Kuroyasha's Avatar
    Join Date
    Sep 2013
    Location
    Uldah
    Posts
    786
    Character
    Kuroyasha Tenshi
    World
    Gilgamesh
    Main Class
    Ninja Lv 70
    This is beautiful. Oh and I love your reasoning for the Allagan BiS - "Sexy robe is sexy" xD. I'll have enough for the sorc body today, but man....i hate it covers half my face . On the other hand, sorc bis gives 100% acc, more crit, and more dmg with the spell speed.

    Blah why couldn't vanya be i90 >_< ...love my dalamud red/black vanya robe so much lol. Im at 430 acc, 438 crit, 419 spell speed with the materia melds w/o food on vanya, so I assume it would be fine for a while. May just get the 3 hero acc first.
    (0)

  4. #44
    Player
    Sleigh's Avatar
    Join Date
    Sep 2013
    Posts
    1,563
    Character
    Philia Felice
    World
    Gilgamesh
    Main Class
    Thaumaturge Lv 70
    Quote Originally Posted by Kenji1134 View Post
    *Incoming Wall-o-Text*
    What does your code have to say about Thunder I and Thunder III when applied?
    (0)

  5. #45
    Player
    Kenji1134's Avatar
    Join Date
    Mar 2011
    Posts
    666
    Character
    Aleksandr Deicide
    World
    Cactuar
    Main Class
    Marauder Lv 70
    Mmm... nothing.
    The code uses Thunder 2 because... I generally use Thunder 2. =)
    Thunder 3 isnt really worth it...
    With 5 Fire1's, your longest rotation will be F1-F1-F3-F1-F1-F3-F1-B3-T3-F3, which is a total of 26 seconds, versus Thunder 3's 24 second duration.
    Your shortest rotation is 5-F1s with no Firestarter procs, + B3-T3-F3 which is 21 seconds. So at best you exceed T3's dot by 2s, at worst you lose 3s of the dot.
    With T2, your longest cycle is 25.5s, and shortest is 20.5s, so you will almost always get the full duration of T2.
    (0)
    Last edited by Kenji1134; 11-06-2013 at 09:49 AM.

  6. #46
    Player
    PuroStrider's Avatar
    Join Date
    Aug 2013
    Posts
    229
    Character
    Puro Strider
    World
    Cactuar
    Main Class
    Lv 0
    Gear Page Updated with Turn 5 gear comparison

    DPS Calculator is also updated and ready to rock!

    --

    @Kuroyasha - I know that feel bud. Hopefully they'll release the item fusing feature soon where you could fuse gear to keep stats/appearance of one another.

    @Kenji1134 - I wish I'd gone with computer science route in college. I was born for these kind of things for sure. Maybe I'll get into it once I retire in ~40 years xD. How does MATLAB compare to my raw data by the way? (That is if you can adjust it to match my awesome data) ^^
    (0)

  7. #47
    Player
    Kenji1134's Avatar
    Join Date
    Mar 2011
    Posts
    666
    Character
    Aleksandr Deicide
    World
    Cactuar
    Main Class
    Marauder Lv 70
    PuroStrider,

    Hmm... guess Ill poke around in your formulas for a bit, see what I can come up with.
    Though I imagine your results are averaged over a large set, so your formulas dont have any variance in them... though I suppose that with 1,000,000 cycles, variance is moot...

    Hmm... excel formulas look like holy hell man!
    Have you tried looking at the value of 1 potency... or maybe 100 potency? Perhaps the entire reason the game uses potency in the first place is to do 1 generic calculation, get a "potency value", and then apply it to whatever you happen to be doing?
    If nothing else it would greatly simplify the calculations.

    Poking around in your math some more, namely for Fire 1 vs Fire 3... 396/270 is ~1.466. For various values of WD/int/det, the ratio between your calcs of F3/F1 is within 1% of the potency ratio. That may be sufficient justification to reduce your F3 equation... cause I like big numbers and bigger explosions... down into a baseline potency calculation... then multiply my results by it. =)
    (0)
    Last edited by Kenji1134; 11-06-2013 at 11:20 AM.

  8. #48
    Player
    Kenji1134's Avatar
    Join Date
    Mar 2011
    Posts
    666
    Character
    Aleksandr Deicide
    World
    Cactuar
    Main Class
    Marauder Lv 70
    *Dropping The Math-Text Bomb*

    Code Printouts: (Using my stats)
    Intelligence = 423
    Determination = 258
    Weapon Damage = 66
    Critical Hit Rate = 395
    Spell Speed = 463
    Potency =
    2.4730
    5 Fire 1 Method
    PPS = 107.111960 , STD = 1.851122, Min = 94.878049, Max = 107.647059
    DPS = 264.887842 , STD = 4.577825, Min = 234.633384, Max = 266.211142
    F3 + 3 Fire 1 Method
    PPS = 109.178302 , STD = 3.700309, Min = 98.111111, Max = 113.086957
    DPS = 269.997905 , STD = 9.150862, Min = 242.628746, Max = 279.664007

    *Code* - as always, may need minor tweaking... Im an electromechanical engineer, not a programmer after all =P
    clc;
    Int = input('Intelligence = ');
    Det = input('Determination = ');
    WD = input('Weapon Damage = ');
    Crit = input('Critical Hit Rate = ');
    SPD = input('Spell Speed = ');
    %From PuroStrider's EPIC BLM spreadsheet.
    F3DMG = .382*Det+1.8*Int+7.447*WD-451.36; %And thank you Wolfram Alpha!!!
    AdjustedF3DMG = 0.000362*(Crit+2491)*(F3DMG+0.2769*SPD); %And TI-89!
    Potency = AdjustedF3DMG/396/1.097 %3rd number is a correction factor between my results and spreadsheet.
    %God your excel formulas are HUGE!!!
    F1 = 270;
    F3 = 396;
    F3UI = 154;
    B3AF = 154;
    T2 = 14; %Estimating at 14 pps
    SMana = 5; %Starting Mana: 4 for under 251 pie, 5 for over
    rng('shuffle');
    Time = 0; %Total Time Elapsed
    TPot = 0; %Total Potency
    Loops = 1000000; %Number of iterations <- Important!!!
    STPot = 0; %Short Potency for this loop
    STime = 0; %Short Time spend in this loop
    Z = zeros(1, Loops); %Array to hold resulting PPS values for each loop
    Next = 0; %Are we casting the next Fire 1?
    Firestarter = 0; %Do we have a Firestarter proc up?

    for s = 0: 1: Loops
    STPot = 0; %Reset short potency
    STime = 0; % Reset short time
    TPot = TPot + 308; %Regen Phase (Thunder counted later)
    STPot = STPot + 308; %Regen Phase
    Time = Time + 8; %Time for Regen Phase
    STime = STime + 8; %Time for Regen Phase
    Mana = SMana; %Reset Mana to full
    Next = 0;
    while Mana > 0
    TPot = TPot + F1; %Cast Fire 1
    STPot = STPot + F1; %Cast Fire 1
    Time = Time + 2.5; %1 GCD for Fire 1
    STime = STime + 2.5; %1 GCD for Fire 1
    Mana = Mana - 1; %Cast 1 spell
    if rand(1) <= 0.6
    Firestarter = 1;
    end
    if (Firestarter == 1 && Next == 1) %Have proc AND casted next Fire1
    TPot = TPot + F3; %Cast Fire 3
    STPot = STPot + F3; %Cast Fire 3
    Time = Time + 2.5; %1 GCD for Instant Fire 3
    STime = STime + 2.5; %1 GCD for Instant Fire 3
    Next = 0;
    Firestarter = 0;
    else
    Next = 1;
    end
    end
    %Now we calculate the effect of Thunder 2
    if STime >= 21
    TPot = TPot + 295; %Full Thunder 2 Duration
    STPot = STPot + 295; %Full Thunder 2 Duration
    else
    TPot = TPot + 14*STime; %Partial Thunder 2 Duration
    STPot = STPot + 14*STime; %Partial Thunder 2 Duration
    end
    Z(s+1)=STPot/STime; %Update array with PPS for this loop
    end
    disp('5 Fire 1 Method')
    fprintf('PPS = %f , STD = %f, Min = %f, Max = %f\n',TPot/Time,std(Z),min(Z),max(Z))
    fprintf('DPS = %f , STD = %f, Min = %f, Max = %f\n',TPot/Time*Potency,std(Z)*Potency,min(Z)*Potency,max(Z)*Potency)

    Time = 0;
    TPot = 0;

    for s = 0: 1: Loops
    STPot = 0; %Reset short potency
    STime = 0; % Reset short time
    TPot = TPot + 308; %Regen Phase
    STPot = STPot + 308; %Regen Phase
    Time = Time + 8; %Time for Regen Phase
    STime = STime + 8; %Time for Regen Phase
    Mana = SMana; %Reset Mana to full
    TPot = TPot + F3; %Quick-Cast Fire 3
    STPot = STPot + F3; %Quick-Cast Fire 3
    Time = Time + 2.5; %1 GCD for Quick-Cast Fire 3
    STime = STime + 2.5; %1 GCD for Quick-Cast Fire 3
    Mana = Mana - 2; %Cast equivalent of 2 spells
    while Mana > 0
    TPot = TPot + F1; %Cast Fire 1
    STPot = STPot + F1; %Cast Fire 1
    Time = Time + 2.5; %1 GCD for Fire 1
    STime = STime + 2.5; %1 GCD for Fire 1
    Mana = Mana - 1; %Cast 1 spell
    if rand(1) <= 0.6
    Firestarter = 1;
    end
    if (Firestarter == 1 && Next == 1) %Have proc AND casted next Fire1
    TPot = TPot + F3; %Cast Fire 3
    STPot = STPot + F3; %Cast Fire 3
    Time = Time + 2.5; %1 GCD for Instant Fire 3
    STime = STime + 2.5; %1 GCD for Instant Fire 3
    Next = 0;
    Firestarter = 0;
    else
    Next = 1;
    end
    end
    %Now we calculate the effect of Thunder 2
    if STime >= 21
    TPot = TPot + 295; %Full Thunder 2 Duration
    STPot = STPot + 295; %Full Thunder 2 Duration
    else
    TPot = TPot + 14*STime; %Partial Thunder 2 Duration
    STPot = STPot + 14*STime; %Partial Thunder 2 Duration
    end
    Z(s+1)=STPot/STime; %Update array with PPS for this loop
    end
    format COMPACT
    disp('F3 + 3 Fire 1 Method')
    fprintf('PPS = %f , STD = %f, Min = %f, Max = %f\n\n',TPot/Time,std(Z),min(Z),max(Z))
    fprintf('DPS = %f , STD = %f, Min = %f, Max = %f\n\n',TPot/Time*Potency,std(Z)*Potency,min(Z)*Potency,max(Z)*Potency)
    *end code*

    Um... so that's that... Though I am pretty sure I am not doing 264 dps. Really closer to 210... dunno, math is a fickle mistress.
    (0)
    Last edited by Kenji1134; 11-06-2013 at 12:44 PM.

  9. #49
    Player
    PuroStrider's Avatar
    Join Date
    Aug 2013
    Posts
    229
    Character
    Puro Strider
    World
    Cactuar
    Main Class
    Lv 0
    Updated DPS calculator as well as better methodology to compare INT vs Crit vs DET...

    ^.^
    (0)

  10. #50
    Player
    Kenji1134's Avatar
    Join Date
    Mar 2011
    Posts
    666
    Character
    Aleksandr Deicide
    World
    Cactuar
    Main Class
    Marauder Lv 70
    I wonder, is there a significant difference in damage output on a lvl 1 dummy vs a lvl 50 dummy? Or do all dummies take the same damage (have 0 defense) and just have different HP and accuracy caps?
    (0)

Page 5 of 235 FirstFirst ... 3 4 5 6 7 15 55 105 ... LastLast