[BETA] PQRotation - an automated ability priority queue. menu

Shout-Out

User Tag List

Page 24 of 731 FirstFirst ... 20212223242526272874124524 ... LastLast
Results 346 to 360 of 10955
  1. #346
    Ruinit's Avatar Member
    Reputation
    1
    Join Date
    Jul 2011
    Posts
    34
    Thanks G/R
    1/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by crystal_tech View Post
    if its in the code tags then you'll have to copy and paste it into the files in the profile folder or wait until xelper goes thru the thread and updates the program with the rotations.
    Yea that's what I did after posting, seems to work fine.

    [BETA] PQRotation - an automated ability priority queue.
  2. #347
    kickmydog's Avatar Contributor
    Reputation
    257
    Join Date
    Jul 2011
    Posts
    635
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I've been trying to fix the Arcane Shot code so that it will work properly. However, it is beyond my poor skills as a coder.

    Basically I'm trying to get the bot to cast arcane shot under the following conditions.

    1. Explosive Shot is on cooldown
    2. Black Arrow is on cooldown
    3. Player Focus is 80+
    4. Not to cast Arcane Shot if Lock and Load buff is active. (although if that proc is active Explosive Shot should be avialable automatically so maybe this code is redundant?)

    The current code for it is as follows;

    local sLnL, _, _, countLnL = UnitBuff("player", "Lock and Load")
    local _, _, _, esCost = GetSpellInfo(53301)
    local esStart, esDuration, esEnabled = GetSpellCooldown(53301)
    local esCooldown = (esStart + esDuration - GetTime())
    local baStart, baDuration, baEnabled = GetSpellCooldown(3674)
    local baCooldown = (baStart + baDuration - GetTime())

    local _, _, _, asCost = GetSpellInfo(3044)

    if sLnL ~= nil then
    if countLnL == 1 then
    return true
    end
    end

    Right now however it never casts arcane shot regardless of any of the above. Any suggestions would be appreciated.

    Black arrow ID is 3674
    Explosive Shot ID is 53301
    Last edited by kickmydog; 07-28-2011 at 03:13 PM.

  3. #348
    Ruinit's Avatar Member
    Reputation
    1
    Join Date
    Jul 2011
    Posts
    34
    Thanks G/R
    1/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Has anyone made a Elemental Shaman yet?

  4. #349
    popeofdope's Avatar Sergeant
    Reputation
    11
    Join Date
    Aug 2010
    Posts
    63
    Thanks G/R
    0/0
    Trade Feedback
    1 (100%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    The warlock code seems nice, but I made some suggestions.

    BoA gets refreshed 0.5 seconds before it expires, this is not ideal as the last tick of BoA occurs right at the end and is the strongest tick, you should not refresh this before it expires.
    BoD can be refreshed 15 seconds before it expires.
    When soul swapping, you do not want to cast it if your target has BoD, it will remove it off your main target once you exhale onto your focus.

  5. #350
    Xelper's Avatar ★ Elder ★
    Reputation
    1024
    Join Date
    Mar 2007
    Posts
    860
    Thanks G/R
    0/8
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by kickmydog View Post
    I've been trying to fix the Arcane Shot code so that it will work properly. However, it is beyond my poor skills as a coder.

    Basically I'm trying to get the bot to cast arcane shot under the following conditions.

    1. Explosive Shot is on cooldown
    2. Black Arrow is on cooldown
    3. Player Focus is 80+
    4. Not to cast Arcane Shot if Lock and Load buff is active. (although if that proc is active Explosive Shot should be avialable automatically so maybe this code is redundant?)
    Code:
    local esStart, esDuration, esEnabled = GetSpellCooldown(53301)
    local esCooldown = (esStart + esDuration - GetTime())
    local baStart, baDuration, baEnabled = GetSpellCooldown(3674)
    local baCooldown = (baStart + baDuration - GetTime())
    local buffLnL = UnitBuffID("player", 56453)
    local playerFocus = UnitPower("player")
    
    
    if esCooldown <= 1 then
        return false --Explosive Shot is off CD
    end
    
    
    if baCooldown <= 1 then
        return false --Black Arrow is off CD.
    end
    
    
    if buffLnL ~= nil then
        return false --We have Lock and Load
    end
    
    
    if playerFocus < 80 then
        return false --We have less than 80 focus
    end
    
    
    return true
    That should do the trick for Arcane Shot. We use <= 1 because when the ability is put on GCD the function tells us that the ability is on CD, so we compare the cooldown against our maximum possible GCD. You could do some trickery to see if ArS is on CD (GCD) and then subtract the current GCD from the cooldown for Exp Shot to be 100% sure that it is not on CD if you wanted to be 100% sure that you can get an ArS in before Exp shot is off CD.

    But really, as long as you never hit 100 focus you are not really losing long-term DPS, and the code I provided should work well 99% of the time.
    Last edited by Xelper; 07-28-2011 at 10:07 PM.

  6. #351
    crystal_tech's Avatar Elite User
    Reputation
    468
    Join Date
    Feb 2008
    Posts
    1,033
    Thanks G/R
    1/6
    Trade Feedback
    1 (100%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by popeofdope View Post
    The warlock code seems nice, but I made some suggestions.

    BoA gets refreshed 0.5 seconds before it expires, this is not ideal as the last tick of BoA occurs right at the end and is the strongest tick, you should not refresh this before it expires.
    BoD can be refreshed 15 seconds before it expires.
    When soul swapping, you do not want to cast it if your target has BoD, it will remove it off your main target once you exhale onto your focus.
    that .5 sec is there for lag issues. In my testing it falls off while Your casting something and reapplies. If this isn't the case for you and other people I'll change it to wait after it drops off. it just will be a 99% uptime. As for the soul swap, I'm not sure how I want to mess with that issue.

    some options I could do:

    cast agony before swap, exhale, cast doom and burn an extra gcd.
    leave as is and miss out on doom on the main target until bot recasts it.
    put up unstable, corrupt, swap, then doom and focus gets less damage.

    with these changes just note that it will mess with the rotation when it comes to casting spells.
    Last edited by crystal_tech; 07-28-2011 at 10:19 PM.

  7. #352
    kickmydog's Avatar Contributor
    Reputation
    257
    Join Date
    Jul 2011
    Posts
    635
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Xelper View Post
    Code:
    local esStart, esDuration, esEnabled = GetSpellCooldown(53301)
    local esCooldown = (esStart + esDuration - GetTime())
    local baStart, baDuration, baEnabled = GetSpellCooldown(3674)
    local baCooldown = (baStart + baDuration - GetTime())
    local buffLnL = UnitBuffID("player", 56453)
    local playerFocus = UnitPower("player")
    
    
    if esCooldown <= 1 then
        return false --Explosive Shot is off CD
    end
    
    
    if baCooldown <= 1 then
        return false --Black Arrow is off CD.
    end
    
    
    if buffLnL ~= nil then
        return false --We have Lock and Load
    end
    
    
    if playerFocus < 80 then
        return false --We have less than 80 focus
    end
    
    
    return true
    That should do the trick for Arcane Shot. We use <= 1 because when the ability is put on GCD the function tells us that the ability is on CD, so we compare the cooldown against our maximum possible GCD. You could do some trickery to see if ArS is on CD (GCD) and then subtract the current GCD from the cooldown for Exp Shot to be 100% sure that it is not on CD if you wanted to be 100% sure that you can get an ArS in before Exp shot is off CD.

    But really, as long as you never hit 100 focus you are not really losing long-term DPS, and the code I provided should work well 99% of the time.
    This makes the SV rotation work excellently.

  8. #353
    popeofdope's Avatar Sergeant
    Reputation
    11
    Join Date
    Aug 2010
    Posts
    63
    Thanks G/R
    0/0
    Trade Feedback
    1 (100%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by crystal_tech View Post
    that .5 sec is there for lag issues. In my testing it falls off while Your casting something and reapplies. If this isn't the case for you and other people I'll change it to wait after it drops off. it just will be a 99% uptime. As for the soul swap, I'm not sure how I want to mess with that issue.

    some options I could do:

    cast agony before swap, exhale, cast doom and burn an extra gcd.
    leave as is and miss out on doom on the main target until bot recasts it.
    put up unstable, corrupt, swap, then doom and focus gets less damage.

    with these changes just note that it will mess with the rotation when it comes to casting spells.
    The way Ive solved it is to just create different profiles. Since we can choose up to 4 rotations to keybind, why not make full use of all of them.
    Personally the 3 I have are:
    Standard boss affliction which uses demon soul and BoD
    Two target affliction which uses demon soul and soul swaps BoA
    Trash affliction which uses BoA and not demon soul
    I find it to be a much more elegant solution although I guess it can be a bit confusing for a new warlock.

  9. #354
    me28791's Avatar Member
    Reputation
    10
    Join Date
    Jul 2011
    Posts
    90
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by TommyT View Post
    Could anyone help me out with changing colussus smash for arms rotation?
    i want it to only use the spell if the debuff is not already on the target
    it currently spams it if sudden death procs
    been working on improving all warrior rotations, still refineing the prot rotation the aoe is alot better now, fury I haven't touched yet but only needs to be changed in regards to execution, arms needs some mods due to not being optiimal will release soon


    but pretty sure code you are looking for is

    Code:
    local csdebuff = UnitDebuffID("target", 86346, "PLAYER|HARMFUL")
    local css, csd, cse = GetSpellCooldown(86346)
    local cscd = (css + csd - GetTime())
    
    if csdebuff == not nil then
    	if cscd >0 then
    return false
    else 
    return true
    end
    end
    Last edited by me28791; 07-29-2011 at 03:06 AM.

  10. #355
    R0w4n's Avatar Retired Model Editor :3
    Reputation
    349
    Join Date
    Apr 2007
    Posts
    1,084
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Arcane Mage

    Originally Posted by n1bl3r View Post
    Here is what i have so far for Arcane Mage
    [spoiler]
    MAGE_Rotations
    Code:
    <?xml version="1.0" encoding="utf-8" ?><MAGE><Rotation><RotationName>Arcane</RotationName><RotationDefault>false</RotationDefault><RotationList>Make - Mana Gem|Mage Armor|Arcane Brilliance|Arcane Power|Flame Orb|Mirror Image|Use - Mana Gem|Arcane Blast - Burn|Evocation|Arcane Blast - Conserve|Arcane Missile - Conserve</RotationList></Rotation><Rotation><RotationName>Arc - No Burn</RotationName><RotationDefault>false</RotationDefault><RotationList>AB - No Burn|AM - No Burn|ABarrage - No Burn</RotationList></Rotation></MAGE>
    MAGE_Abilities
    Code:
    <?xml version="1.0" encoding="utf-8" ?><MAGE><Ability><Name>Arcane Blast - Burn</Name><Default>false</Default><SpellID>30451</SpellID><Actions>/startattack</Actions><Lua>local manapercent = 100 * UnitPower(&amp;quot;player&amp;quot;) / UnitPowerMax(&amp;quot;player&amp;quot;)
    local EvocationStart, EvocationDuration = GetSpellCooldown(12051)
    local EvocationCooldown = (EvocationStart + EvocationDuration - GetTime())
    if EvocationCooldown &amp;lt; 3 then
     --evocation will be off CD within 3 seconds or is off CD. 
                    if manapercent &amp;gt; 35 then
      return true
     end
    end</Lua><RecastDelay>0</RecastDelay><Target>Target</Target></Ability><Ability><Name>Arcane Power</Name><Default>false</Default><SpellID>12042</SpellID><Actions></Actions><Lua>return true</Lua><RecastDelay>0</RecastDelay><Target>Player</Target></Ability><Ability><Name>Mage Armor</Name><Default>false</Default><SpellID>6117</SpellID><Actions></Actions><Lua>sMA = UnitBuffID(&amp;quot;player&amp;quot;, 6117) 
      
    if sMA == nil then
     return true
    end</Lua><RecastDelay>0</RecastDelay><Target>Player</Target></Ability><Ability><Name>Arcane Brilliance</Name><Default>false</Default><SpellID>1459</SpellID><Actions></Actions><Lua>sABr = UnitBuffID(&amp;quot;player&amp;quot;, 1459) 
      
    if sABr == nil then
     return true
    end</Lua><RecastDelay>0</RecastDelay><Target>Target</Target></Ability><Ability><Name>Use - Mana Gem</Name><Default>false</Default><SpellID>0</SpellID><Actions>/use Mana Gem</Actions><Lua>local manapercent = 100 * UnitPower(&amp;quot;player&amp;quot;) / UnitPowerMax(&amp;quot;player&amp;quot;)
    local ManaGemStart, ManaGemDuration = GetItemCooldown(36799)
    local ManaGemCooldown = (ManaGemStart + ManaGemDuration - GetTime())
    if ManaGemCooldown &amp;lt; 3 then
     if manapercent &amp;lt; 95 then
      return true
     end
    end</Lua><RecastDelay>0</RecastDelay><Target>Player</Target></Ability><Ability><Name>Flame Orb</Name><Default>false</Default><SpellID>82731</SpellID><Actions>/startattack</Actions><Lua>return true</Lua><RecastDelay>0</RecastDelay><Target>Target</Target></Ability><Ability><Name>Mirror Image</Name><Default>false</Default><SpellID>55342</SpellID><Actions></Actions><Lua>if levelCheck == -1 then
     --boss level is -1... do not cast this on a boss.
     return false
    else
     return true
    end</Lua><RecastDelay>0</RecastDelay><Target>Player</Target></Ability><Ability><Name>Make - Mana Gem</Name><Default>false</Default><SpellID>759</SpellID><Actions></Actions><Lua>local gemcount = GetItemCount(&amp;quot;Mana Gem&amp;quot;)
    if gemcount &amp;lt; 1 then
     return true
    end</Lua><RecastDelay>12000</RecastDelay><Target>Player</Target></Ability><Ability><Name>Evocation</Name><Default>false</Default><SpellID>12051</SpellID><Actions></Actions><Lua>local manapercent = 100 * UnitPower(&amp;quot;player&amp;quot;) / UnitPowerMax(&amp;quot;player&amp;quot;)
    if manapercent &amp;lt; 35 then
    return true
    end</Lua><RecastDelay>0</RecastDelay><Target>Player</Target></Ability><Ability><Name>Arcane Blast - Conserve</Name><Default>false</Default><SpellID>30451</SpellID><Actions>/startattack</Actions><Lua>local _,_,_,AB = UnitDebuff(&amp;quot;player&amp;quot;, &amp;quot;Arcane Blast&amp;quot;)
    local EvocationStart, EvocationDuration = GetSpellCooldown(12051)
    local EvocationCooldown = (EvocationStart + EvocationDuration - GetTime())
    if EvocationCooldown &amp;gt; 3 then
     if AB ~= nil then
      if AB &amp;gt;= 3 then
       return false
      else
      return true
      end
     end
    end</Lua><RecastDelay>0</RecastDelay><Target>Target</Target></Ability><Ability><Name>Arcane Missile - Conserve</Name><Default>false</Default><SpellID>5143</SpellID><Actions>/startattack</Actions><Lua>local AM = UnitBuff(&amp;quot;player&amp;quot;, &amp;quot;Arcane Missiles!&amp;quot;)
    local EvocationStart, EvocationDuration = GetSpellCooldown(12051)
    local EvocationCooldown = (EvocationStart + EvocationDuration - GetTime())
    if EvocationCooldown &amp;gt; 3 then
     if AM ~= nil then
      return true
     end
    end</Lua><RecastDelay>14000</RecastDelay><Target>Target</Target></Ability><Ability><Name>Arcane Blast - Test</Name><Default>false</Default><SpellID>30451</SpellID><Actions>/startattack</Actions><Lua>return true</Lua><RecastDelay>0</RecastDelay><Target>Target</Target></Ability><Ability><Name>AB - No Burn</Name><Default>false</Default><SpellID>30451</SpellID><Actions></Actions><Lua>local _,_,_,AB = UnitDebuff(&amp;quot;player&amp;quot;, &amp;quot;Arcane Blast&amp;quot;)
    if AB ~= nil then
     if AB &amp;gt;= 3 then
      return false
     else
      return true
     end
    end</Lua><RecastDelay>0</RecastDelay><Target>Target</Target></Ability><Ability><Name>AM - No Burn</Name><Default>false</Default><SpellID>5143</SpellID><Actions></Actions><Lua>local AM = UnitBuff(&amp;quot;player&amp;quot;, &amp;quot;Arcane Missiles!&amp;quot;)
    local _,_,_,AB = UnitDebuff(&amp;quot;player&amp;quot;, &amp;quot;Arcane Blast&amp;quot;)
    if AB ~= nil then
     if AB &amp;gt;= 3 then
      if AM ~= nil then
       return true
      end
     end
    end</Lua><RecastDelay>0</RecastDelay><Target>Target</Target></Ability><Ability><Name>ABarrage - No Burn</Name><Default>false</Default><SpellID>44425</SpellID><Actions>/startattack</Actions><Lua>local _,_,_,AB = UnitDebuff(&amp;quot;player&amp;quot;, &amp;quot;Arcane Blast&amp;quot;)
    local AM = UnitBuff(&amp;quot;player&amp;quot;, &amp;quot;Arcane Missiles!&amp;quot;)
    if AB == nil then
     if AM == nil then
      return true
     end
    end</Lua><RecastDelay>0</RecastDelay><Target>Target</Target></Ability></MAGE>
    [/spoiler]

    This rotation cast AB till 90% mana then uses mana gem, then goes through the burn phase until 35% mana left. Then into conserve phase ABx3, AM to reset. This is where im having a problem, it is not contiuing the conserve phase unless I manually cast an AB then it will continue. It will go through the conserve phase untill Evocation is within 3sec of coming off cooldown. Then it will start the burn phase all over again.

    I also have it casting Flame orb when available, mirror images only on bosses, arcane power, etc.

    There is also a rotation in there that i use just for killing non bosses, ABx4-5, AM, then Barrage, and repeat. This is great for dailies and trash.

    Please feel free to correct things as you see. Be kind this is my first rotation!
    Since I suck at LUA and I dont know how to fix it myself heres my list of improvements;

    Your rotation is good but as you pointed out yourself it has some flaws, I have some ideas;
    Make it cast arcane power BEFORE Mirror Images, its a wasted Global :/
    The bot casts Arcane Missiles @ X stacks of AB and another AM procs, the bot casts it straight way - maybe look into making it only cast if you have atleast 2 AB stacks
    Also can you make it dump arcane missiles BEFORE it does evocation in burn phase - it seems like a VERY tight fit if you dont have enough haste.

    I think once you got it fixed to where it can restart itself after casting evocation its perfect ;D
    Gave you a little something for you effoct and helping me be more lazy in raids

    - R0w4n


  11. #356
    kickmydog's Avatar Contributor
    Reputation
    257
    Join Date
    Jul 2011
    Posts
    635
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thanks for the help fixing the SV rotation Xelper. Now I'm trying to get the logic for MM to work correctly.

    At the first 90% of a mob's health

    Serpent Sting (opener)
    Aimed Shot!
    Aimed Shot (if focus is over 80)
    Steady shot (forced if 2s or less is left on Improved Steady Shot buff)
    Chimera Shot if 2s left on Serpent Sting

    Ideally we want to keep enough focus at all times to Chimera Shot just to refresh serpent sting, otherwise using steady shot, and aimed shot which benefit from 60% bonus crit during the first 90%


    If dynamically hasted heroism/bloodlust/timewarp/ancient hysteria/rapid fire are up and boss health is NOT greater than 90%

    Serpent Sting (if it drops off only)
    Chimera Shot (whenever off cool down)
    Aimed Shot!
    Kill Shot
    Aimed Shot (if focus is over 80)
    Steady Shot (forced if 2s or less is left on Improved Steady Shot buff)

    Normal rotation

    Serpent Sting (if it drops off only)
    Chimera Shot (whenever off cool down)
    Aimed Shot!
    Kill Shot
    Arcane Shot (if focus is over 50)
    Steady Shot (forced if 2s or less is left on Improved Steady Shot buff)

    A couple special cases.

    Kill Command (only if Resistance is futile buff is up and focus greater than 40)
    Readiness should only be used if Chimera Shot, Rapid Fire and Kill Shot are on cool down. However, if there is say less than 30s left on the Rapid fire cool down it should hold off on readiness, and the Kill Shot criteria only if the mob health is below 20%
    t12 bonus "Burning Adrenaline" if this buff is up then Aimed Shot or Kill Command should be used, in that order of preference.

  12. #357
    n1bl3r's Avatar Corporal
    Reputation
    6
    Join Date
    Jul 2011
    Posts
    26
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thanks for tips R0w4n i will look into fixing things, this is my first try at this stuff, thanks to everyones examples.

  13. #358
    kickmydog's Avatar Contributor
    Reputation
    257
    Join Date
    Jul 2011
    Posts
    635
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    This change to the Arcane Shot BM should fix the BM rotation.

    local esStart, esDuration, esEnabled = GetSpellCooldown(34026)
    local esCooldown = (esStart + esDuration - GetTime())

    local playerFocus = UnitPower("player")


    if esCooldown <= 1 then
    return false --Kill Command is off CD
    end


    if playerFocus < 35 then
    return false --We have less than 35 focus
    end



    The BM rotation still needs a few tweaks in the logic, but this is still a pretty decent rotation for now. Right now it doesn't use Fervor intelligently, neither is it restraining use of Focus Fire while Bestial Wrath is up. Ideally it would need to wait until 5 stacks of frenzy before using Bestial Wrath to get the most out of it.

  14. #359
    n1bl3r's Avatar Corporal
    Reputation
    6
    Join Date
    Jul 2011
    Posts
    26
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    OK i have fixed a few problems with the Arcane rotation. Still think there can be some improvements. During Burn phase i can peak at about 25k dps the that drops to 15k in conserve phase, this is with 359 gear and only self buffs 3 t-11 pieces. The rotation has been fixed to cast an Arcane Missile before it casts Evocation, and to only cast Arcane Power if on a boss and Mirror Image is available to cast next. Also Got Arcane Missile to only cast is atleast two Arcane Blasts have been cast. No more AM casting from and AM proc.

    I have also renamed a few abilities to hopefully make it a little more clearer.

    MAGE_Abilities
    Code:
    <?xml version="1.0" encoding="utf-8" ?><MAGE><Ability><Name>B - Arcane Missile</Name><Default>false</Default><SpellID>5143</SpellID><Actions>/startattack</Actions><Lua>local AM = UnitBuff(&amp;quot;player&amp;quot;, &amp;quot;Arcane Missiles!&amp;quot;)
    local manapercent = 100 * UnitPower(&amp;quot;player&amp;quot;) / UnitPowerMax(&amp;quot;player&amp;quot;)
    if manapercent &amp;lt;= 36 then
     return true
    end</Lua><RecastDelay>0</RecastDelay><Target>Target</Target></Ability><Ability><Name>Buff - Arcane Power</Name><Default>false</Default><SpellID>12042</SpellID><Actions></Actions><Lua>local MirrorImageStart, MirrorImageDuration = GetSpellCooldown(12051)
    local MirrorImageCooldown = (MirrorImageStart + MirrorImageDuration - GetTime())
    if MirrorImageCooldown &amp;gt;= 3 then
     return false
    else
     return true
    end</Lua><RecastDelay>0</RecastDelay><Target>Player</Target></Ability><Ability><Name>Use - Mana Gem</Name><Default>false</Default><SpellID>0</SpellID><Actions>/use Mana Gem</Actions><Lua>local manapercent = 100 * UnitPower(&amp;quot;player&amp;quot;) / UnitPowerMax(&amp;quot;player&amp;quot;)
    local ManaGemStart, ManaGemDuration = GetItemCooldown(36799)
    local ManaGemCooldown = (ManaGemStart + ManaGemDuration - GetTime())
    if ManaGemCooldown &amp;lt; 3 then
     if manapercent &amp;lt; 95 then
      return true
     end
    end</Lua><RecastDelay>0</RecastDelay><Target>Player</Target></Ability><Ability><Name>Flame Orb</Name><Default>false</Default><SpellID>82731</SpellID><Actions>/startattack</Actions><Lua>return true</Lua><RecastDelay>0</RecastDelay><Target>Target</Target></Ability><Ability><Name>Mirror Image</Name><Default>false</Default><SpellID>55342</SpellID><Actions></Actions><Lua>local levelCheck = UnitLevel(&amp;quot;target&amp;quot;)
    if levelCheck ~= -1 then
     return false
    else
     return true
    end</Lua><RecastDelay>0</RecastDelay><Target>Player</Target></Ability><Ability><Name>Make - Mana Gem</Name><Default>false</Default><SpellID>759</SpellID><Actions></Actions><Lua>local gemcount = GetItemCount(&amp;quot;Mana Gem&amp;quot;)
    if gemcount &amp;lt; 1 then
     return true
    end</Lua><RecastDelay>12000</RecastDelay><Target>Player</Target></Ability><Ability><Name>Evocation</Name><Default>false</Default><SpellID>12051</SpellID><Actions></Actions><Lua>local manapercent = 100 * UnitPower(&amp;quot;player&amp;quot;) / UnitPowerMax(&amp;quot;player&amp;quot;)
    if manapercent &amp;lt; 35 then
     return true
    end</Lua><RecastDelay>0</RecastDelay><Target>Player</Target></Ability><Ability><Name>B - Arcane Blast</Name><Default>false</Default><SpellID>30451</SpellID><Actions>/startattack|/use 10|/use 13|/use 14</Actions><Lua>local manapercent = 100 * UnitPower(&amp;quot;player&amp;quot;) / UnitPowerMax(&amp;quot;player&amp;quot;)
    local EvocationStart, EvocationDuration = GetSpellCooldown(12051)
    local EvocationCooldown = (EvocationStart + EvocationDuration - GetTime())
    if EvocationCooldown &amp;lt; 3 then
     --evocation will be off CD within 3 seconds or is off CD. 
                    if manapercent &amp;gt; 35 then
      return true
     end
    end</Lua><RecastDelay>0</RecastDelay><Target>Target</Target></Ability><Ability><Name>Buff - Arcane Brilliance</Name><Default>false</Default><SpellID>1459</SpellID><Actions></Actions><Lua>sABr = UnitBuffID(&amp;quot;player&amp;quot;, 1459) 
      
    if sABr == nil then
     return true
    end</Lua><RecastDelay>0</RecastDelay><Target>Target</Target></Ability><Ability><Name>T - Arcane Blast Filler</Name><Default>false</Default><SpellID>30451</SpellID><Actions>/startattack</Actions><Lua>local _,_,_,AB = UnitDebuff(&amp;quot;player&amp;quot;, &amp;quot;Arcane Blast&amp;quot;)
    if AB == nil then
     return true
    end</Lua><RecastDelay>0</RecastDelay><Target>Target</Target></Ability><Ability><Name>C - Arcane Blast</Name><Default>false</Default><SpellID>30451</SpellID><Actions>/startattack</Actions><Lua>local _,_,_,AB = UnitDebuff(&amp;quot;player&amp;quot;, &amp;quot;Arcane Blast&amp;quot;)
    local EvocationStart, EvocationDuration = GetSpellCooldown(12051)
    local EvocationCooldown = (EvocationStart + EvocationDuration - GetTime())
    if EvocationCooldown &amp;gt; 3 then
     if AB &amp;gt;= 2 then
      return false
     else
      return true
     end
    end</Lua><RecastDelay>0</RecastDelay><Target>Target</Target></Ability><Ability><Name>T - Arcane Missile</Name><Default>false</Default><SpellID>5143</SpellID><Actions></Actions><Lua>local AM = UnitBuff(&amp;quot;player&amp;quot;, &amp;quot;Arcane Missiles!&amp;quot;)
    local _,_,_,AB = UnitDebuff(&amp;quot;player&amp;quot;, &amp;quot;Arcane Blast&amp;quot;)
    if AB &amp;gt;= 2 then
     if AM ~= nil then
      return true
     end
    end</Lua><RecastDelay>0</RecastDelay><Target>Target</Target></Ability><Ability><Name>C - Arcane Missile</Name><Default>false</Default><SpellID>5143</SpellID><Actions>/startattack</Actions><Lua>local AM = UnitBuff(&amp;quot;player&amp;quot;, &amp;quot;Arcane Missiles!&amp;quot;)
    local _,_,_,AB = UnitDebuff(&amp;quot;player&amp;quot;, &amp;quot;Arcane Blast&amp;quot;)
    local EvocationStart, EvocationDuration = GetSpellCooldown(12051)
    local EvocationCooldown = (EvocationStart + EvocationDuration - GetTime())
    if EvocationCooldown &amp;gt; 3 then
     if AB &amp;gt;= 2 then
      if AM ~= nil then
       return true
      end
     end
    end</Lua><RecastDelay>14000</RecastDelay><Target>Target</Target></Ability><Ability><Name>T - Arcane Barrage</Name><Default>false</Default><SpellID>44425</SpellID><Actions>/startattack</Actions><Lua>local _,_,_,AB = UnitDebuff(&amp;quot;player&amp;quot;, &amp;quot;Arcane Blast&amp;quot;)
    local AM = UnitBuff(&amp;quot;player&amp;quot;, &amp;quot;Arcane Missiles!&amp;quot;)
    if AB == nil then
     if AM == nil then
      return true
     end
    end</Lua><RecastDelay>0</RecastDelay><Target>Target</Target></Ability><Ability><Name>C - Arcane Barrage</Name><Default>false</Default><SpellID>44425</SpellID><Actions>/startattack</Actions><Lua>local _,_,_,AB = UnitDebuff(&amp;quot;player&amp;quot;, &amp;quot;Arcane Blast&amp;quot;)
    local AM = UnitBuff(&amp;quot;player&amp;quot;, &amp;quot;Arcane Missiles!&amp;quot;)
    local EvocationStart, EvocationDuration = GetSpellCooldown(12051)
    local EvocationCooldown = (EvocationStart + EvocationDuration - GetTime())
    if EvocationCooldown &amp;gt; 3 then
     if AB &amp;gt;= 3 then
      if AM == nil then
       return true
      end
     end
    end</Lua><RecastDelay>0</RecastDelay><Target>Target</Target></Ability><Ability><Name>C - Arcane Blast - Filler</Name><Default>false</Default><SpellID>30451</SpellID><Actions>/startattack</Actions><Lua>local _,_,_,AB = UnitDebuff(&amp;quot;player&amp;quot;, &amp;quot;Arcane Blast&amp;quot;)
    local EvocationStart, EvocationDuration = GetSpellCooldown(12051)
    local EvocationCooldown = (EvocationStart + EvocationDuration - GetTime())
    if EvocationCooldown &amp;gt; 3 then
     if AB == nil then
      return true
     end
    end</Lua><RecastDelay>0</RecastDelay><Target>Target</Target></Ability><Ability><Name>T - Arcane Blast</Name><Default>false</Default><SpellID>30451</SpellID><Actions></Actions><Lua>local _,_,_,AB = UnitDebuff(&amp;quot;player&amp;quot;, &amp;quot;Arcane Blast&amp;quot;)
    local AM = UnitBuff(&amp;quot;player&amp;quot;, &amp;quot;Arcane Missiles!&amp;quot;)
    if AB &amp;lt;= 1 then
     return true
    end</Lua><RecastDelay>0</RecastDelay><Target>Target</Target></Ability><Ability><Name>Buff - Mage Armor</Name><Default>false</Default><SpellID>6117</SpellID><Actions></Actions><Lua>sMA = UnitBuffID(&amp;quot;player&amp;quot;, 6117) 
      
    if sMA == nil then
     return true
    end</Lua><RecastDelay>0</RecastDelay><Target>Player</Target></Ability></MAGE>
    MAGE_Rotations
    Code:
    <?xml version="1.0" encoding="utf-8" ?><MAGE><Rotation><RotationName>Arcane</RotationName><RotationDefault>false</RotationDefault><RotationList>Make - Mana Gem|Buff - Mage Armor|Buff - Arcane Brilliance|Flame Orb|Buff - Arcane Power|Mirror Image|Use - Mana Gem|B - Arcane Blast|B - Arcane Missile|Evocation|C - Arcane Blast - Filler|C - Arcane Blast|C - Arcane Barrage|C - Arcane Missile</RotationList></Rotation><Rotation><RotationName>Arcane - Trash</RotationName><RotationDefault>false</RotationDefault><RotationList>T - Arcane Blast Filler|T - Arcane Blast|T - Arcane Barrage|T - Arcane Missile</RotationList></Rotation></MAGE>
    Please let me know how this works and what can be done to make better.
    Last edited by n1bl3r; 07-29-2011 at 04:00 PM.

  15. #360
    waisosrs's Avatar Active Member
    Reputation
    37
    Join Date
    Oct 2009
    Posts
    138
    Thanks G/R
    0/0
    Trade Feedback
    4 (100%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by n1bl3r View Post
    OK i have fixed a few problems with the Arcane rotation. Still think there can be some improvements. During Burn phase i can peak at about 25k dps the that drops to 15k in conserve phase, this is with 359 gear and only self buffs 3 t-11 pieces. The rotation has been fixed to cast an Arcane Missile before it casts Evocation, and to only cast Arcane Power if on a boss and Mirror Image is available to cast next. Also Got Arcane Missile to only cast is atleast two Arcane Blasts have been cast. No more AM casting from and AM proc.

    I have also renamed a few abilities to hopefully make it a little more clearer.

    MAGE_Abilities
    Code:
    <?xml version="1.0" encoding="utf-8" ?><MAGE><Ability><Name>B - Arcane Missile</Name><Default>false</Default><SpellID>5143</SpellID><Actions>/startattack</Actions><Lua>local AM = UnitBuff(&quot;player&quot;, &quot;Arcane Missiles!&quot;)
    local manapercent = 100 * UnitPower(&quot;player&quot;) / UnitPowerMax(&quot;player&quot;)
    if manapercent &lt;= 36 then
     return true
    end</Lua><RecastDelay>0</RecastDelay><Target>Target</Target></Ability><Ability><Name>Buff - Arcane Power</Name><Default>false</Default><SpellID>12042</SpellID><Actions></Actions><Lua>local MirrorImageStart, MirrorImageDuration = GetSpellCooldown(12051)
    local MirrorImageCooldown = (MirrorImageStart + MirrorImageDuration - GetTime())
    if MirrorImageCooldown &gt;= 3 then
     return false
    else
     return true
    end</Lua><RecastDelay>0</RecastDelay><Target>Player</Target></Ability><Ability><Name>Use - Mana Gem</Name><Default>false</Default><SpellID>0</SpellID><Actions>/use Mana Gem</Actions><Lua>local manapercent = 100 * UnitPower(&quot;player&quot;) / UnitPowerMax(&quot;player&quot;)
    local ManaGemStart, ManaGemDuration = GetItemCooldown(36799)
    local ManaGemCooldown = (ManaGemStart + ManaGemDuration - GetTime())
    if ManaGemCooldown &lt; 3 then
     if manapercent &lt; 95 then
      return true
     end
    end</Lua><RecastDelay>0</RecastDelay><Target>Player</Target></Ability><Ability><Name>Flame Orb</Name><Default>false</Default><SpellID>82731</SpellID><Actions>/startattack</Actions><Lua>return true</Lua><RecastDelay>0</RecastDelay><Target>Target</Target></Ability><Ability><Name>Mirror Image</Name><Default>false</Default><SpellID>55342</SpellID><Actions></Actions><Lua>local levelCheck = UnitLevel(&quot;target&quot;)
    if levelCheck ~= -1 then
     return false
    else
     return true
    end</Lua><RecastDelay>0</RecastDelay><Target>Player</Target></Ability><Ability><Name>Make - Mana Gem</Name><Default>false</Default><SpellID>759</SpellID><Actions></Actions><Lua>local gemcount = GetItemCount(&quot;Mana Gem&quot;)
    if gemcount &lt; 1 then
     return true
    end</Lua><RecastDelay>12000</RecastDelay><Target>Player</Target></Ability><Ability><Name>Evocation</Name><Default>false</Default><SpellID>12051</SpellID><Actions></Actions><Lua>local manapercent = 100 * UnitPower(&quot;player&quot;) / UnitPowerMax(&quot;player&quot;)
    if manapercent &lt; 35 then
     return true
    end</Lua><RecastDelay>0</RecastDelay><Target>Player</Target></Ability><Ability><Name>B - Arcane Blast</Name><Default>false</Default><SpellID>30451</SpellID><Actions>/startattack|/use 10|/use 13|/use 14</Actions><Lua>local manapercent = 100 * UnitPower(&quot;player&quot;) / UnitPowerMax(&quot;player&quot;)
    local EvocationStart, EvocationDuration = GetSpellCooldown(12051)
    local EvocationCooldown = (EvocationStart + EvocationDuration - GetTime())
    if EvocationCooldown &lt; 3 then
     --evocation will be off CD within 3 seconds or is off CD. 
                    if manapercent &gt; 35 then
      return true
     end
    end</Lua><RecastDelay>0</RecastDelay><Target>Target</Target></Ability><Ability><Name>Buff - Arcane Brilliance</Name><Default>false</Default><SpellID>1459</SpellID><Actions></Actions><Lua>sABr = UnitBuffID(&quot;player&quot;, 1459) 
      
    if sABr == nil then
     return true
    end</Lua><RecastDelay>0</RecastDelay><Target>Target</Target></Ability><Ability><Name>T - Arcane Blast Filler</Name><Default>false</Default><SpellID>30451</SpellID><Actions>/startattack</Actions><Lua>local _,_,_,AB = UnitDebuff(&quot;player&quot;, &quot;Arcane Blast&quot;)
    if AB == nil then
     return true
    end</Lua><RecastDelay>0</RecastDelay><Target>Target</Target></Ability><Ability><Name>C - Arcane Blast</Name><Default>false</Default><SpellID>30451</SpellID><Actions>/startattack</Actions><Lua>local _,_,_,AB = UnitDebuff(&quot;player&quot;, &quot;Arcane Blast&quot;)
    local EvocationStart, EvocationDuration = GetSpellCooldown(12051)
    local EvocationCooldown = (EvocationStart + EvocationDuration - GetTime())
    if EvocationCooldown &gt; 3 then
     if AB &gt;= 2 then
      return false
     else
      return true
     end
    end</Lua><RecastDelay>0</RecastDelay><Target>Target</Target></Ability><Ability><Name>T - Arcane Missile</Name><Default>false</Default><SpellID>5143</SpellID><Actions></Actions><Lua>local AM = UnitBuff(&quot;player&quot;, &quot;Arcane Missiles!&quot;)
    local _,_,_,AB = UnitDebuff(&quot;player&quot;, &quot;Arcane Blast&quot;)
    if AB &gt;= 2 then
     if AM ~= nil then
      return true
     end
    end</Lua><RecastDelay>0</RecastDelay><Target>Target</Target></Ability><Ability><Name>C - Arcane Missile</Name><Default>false</Default><SpellID>5143</SpellID><Actions>/startattack</Actions><Lua>local AM = UnitBuff(&quot;player&quot;, &quot;Arcane Missiles!&quot;)
    local _,_,_,AB = UnitDebuff(&quot;player&quot;, &quot;Arcane Blast&quot;)
    local EvocationStart, EvocationDuration = GetSpellCooldown(12051)
    local EvocationCooldown = (EvocationStart + EvocationDuration - GetTime())
    if EvocationCooldown &gt; 3 then
     if AB &gt;= 2 then
      if AM ~= nil then
       return true
      end
     end
    end</Lua><RecastDelay>14000</RecastDelay><Target>Target</Target></Ability><Ability><Name>T - Arcane Barrage</Name><Default>false</Default><SpellID>44425</SpellID><Actions>/startattack</Actions><Lua>local _,_,_,AB = UnitDebuff(&quot;player&quot;, &quot;Arcane Blast&quot;)
    local AM = UnitBuff(&quot;player&quot;, &quot;Arcane Missiles!&quot;)
    if AB == nil then
     if AM == nil then
      return true
     end
    end</Lua><RecastDelay>0</RecastDelay><Target>Target</Target></Ability><Ability><Name>C - Arcane Barrage</Name><Default>false</Default><SpellID>44425</SpellID><Actions>/startattack</Actions><Lua>local _,_,_,AB = UnitDebuff(&quot;player&quot;, &quot;Arcane Blast&quot;)
    local AM = UnitBuff(&quot;player&quot;, &quot;Arcane Missiles!&quot;)
    local EvocationStart, EvocationDuration = GetSpellCooldown(12051)
    local EvocationCooldown = (EvocationStart + EvocationDuration - GetTime())
    if EvocationCooldown &gt; 3 then
     if AB &gt;= 3 then
      if AM == nil then
       return true
      end
     end
    end</Lua><RecastDelay>0</RecastDelay><Target>Target</Target></Ability><Ability><Name>C - Arcane Blast - Filler</Name><Default>false</Default><SpellID>30451</SpellID><Actions>/startattack</Actions><Lua>local _,_,_,AB = UnitDebuff(&quot;player&quot;, &quot;Arcane Blast&quot;)
    local EvocationStart, EvocationDuration = GetSpellCooldown(12051)
    local EvocationCooldown = (EvocationStart + EvocationDuration - GetTime())
    if EvocationCooldown &gt; 3 then
     if AB == nil then
      return true
     end
    end</Lua><RecastDelay>0</RecastDelay><Target>Target</Target></Ability><Ability><Name>T - Arcane Blast</Name><Default>false</Default><SpellID>30451</SpellID><Actions></Actions><Lua>local _,_,_,AB = UnitDebuff(&quot;player&quot;, &quot;Arcane Blast&quot;)
    local AM = UnitBuff(&quot;player&quot;, &quot;Arcane Missiles!&quot;)
    if AB &lt;= 1 then
     return true
    end</Lua><RecastDelay>0</RecastDelay><Target>Target</Target></Ability><Ability><Name>Buff - Mage Armor</Name><Default>false</Default><SpellID>6117</SpellID><Actions></Actions><Lua>sMA = UnitBuffID(&quot;player&quot;, 6117) 
      
    if sMA == nil then
     return true
    end</Lua><RecastDelay>0</RecastDelay><Target>Player</Target></Ability></MAGE>
    MAGE_Rotations
    Code:
    <?xml version="1.0" encoding="utf-8" ?><MAGE><Rotation><RotationName>Arcane</RotationName><RotationDefault>false</RotationDefault><RotationList>Make - Mana Gem|Buff - Mage Armor|Buff - Arcane Brilliance|Flame Orb|Buff - Arcane Power|Mirror Image|Use - Mana Gem|B - Arcane Blast|B - Arcane Missile|Evocation|C - Arcane Blast - Filler|C - Arcane Blast|C - Arcane Barrage|C - Arcane Missile</RotationList></Rotation><Rotation><RotationName>Arcane - Trash</RotationName><RotationDefault>false</RotationDefault><RotationList>T - Arcane Blast Filler|T - Arcane Blast|T - Arcane Barrage|T - Arcane Missile</RotationList></Rotation></MAGE>
    Please let me know how this works and what can be done to make better.



    This works well for the initial burn phase in beginning, but after the evo it only cast two Arcane Blasts, and then Arcane missiles if up, which kills dps.

    So first burn phase 25k dps, after evo and only casting 2 maybe 3 AB before Arcane Missiles, it dropped to 12-13k dps.

Similar Threads

  1. [Buying] Planetside 2 Priority Beta Key
    By isit123 in forum General MMO Buy Sell Trade
    Replies: 0
    Last Post: 07-21-2012, 06:34 AM
  2. [Selling] PLANETSIDE 2 Priority/Early Access Beta Account
    By Kabraxiss in forum General MMO Buy Sell Trade
    Replies: 0
    Last Post: 07-18-2012, 10:20 AM
  3. [Selling] Planetside 2 Priority/Early access Beta Keys
    By mrsluf in forum General MMO Buy Sell Trade
    Replies: 3
    Last Post: 07-17-2012, 04:45 AM
  4. [Selling] Planetside 2 Priority Access beta key codes
    By fatalefout in forum General MMO Buy Sell Trade
    Replies: 1
    Last Post: 06-26-2012, 04:08 PM
  5. [Bot] Automated dungeon queue / Justice Point leecher(Auto-it source)
    By s_e_a_n_66 in forum World of Warcraft Bots and Programs
    Replies: 36
    Last Post: 01-17-2011, 11:50 AM
All times are GMT -5. The time now is 09:29 PM. Powered by vBulletin® Version 4.2.3
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Google Authenticator verification provided by Two-Factor Authentication (Free) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search