1. #1
    Deleted

    PriorityQueue - Elemental

    How well does PriorityQueue work for elemental?

    I know Levva is the author, so i am hopeful

  2. #2

    Re: PriorityQueue - Elemental

    Why use an addon? Rotation is as simple as they get....

  3. #3
    Deleted

    Re: PriorityQueue - Elemental

    Until I get round to doing the setup or someone else gives me the details - not very well at present.

  4. #4

    Re: PriorityQueue - Elemental

    As elemental we dont really have any procs to look out for. I dont know PriorityQueue - but thats what I can read it does - look out for procs... simply out ofc.

    If you are looking for an addon to tighten up your rotation, I would suggest EventHorizon. It takes a bit of time getting used to - but play with it, figure it out, and I bet you'll see the difference.

  5. #5
    Deleted

    Re: PriorityQueue - Elemental

    Essentially PriorityQueue implements each possible spell you would use and under what conditions you would use it. You then list those spells in a priority order with typically the highest damage one first and it runs through the list and shows an icon for the highest one that is available and meets its conditions.

    For elemental there's not a lot happening that I can see, conditions are relatively simple, I've never played elemental but I'm thinking its probably... Do FS only if none on target (ie: don't clip dot), do LvB only if FS on target, Do LB if cast time < FS dot time left?? something like that. You get the idea. Each spell has a condition. For some spells the condition is simple - "is it off cooldown?". For other spells it depends on procs happening... eg: for Enhance how many stacks of MW do you have?

    Once someone produces a list of spells and the conditions to use them under the addon would work for that class.

  6. #6
    Deleted

    Re: PriorityQueue - Elemental

    I play elemetanl so rarely, hence the reason for needing an addon to help me for the rare occations that i am required to be a caster

    From the FAQ it seem the following list should do it

    -Always Flame Shock when the DoT expires.
    -Cast Lava Burst if it is off cooldown and above criteria are met.
    -Cast Chain Lightning if it is off cooldown, Lava Burst is on cooldown, and above criteria is met.
    -Else, cast Lightning Bolt.

  7. #7
    Deleted

    Re: PriorityQueue - Elemental

    Quote Originally Posted by stevos
    I play elemetanl so rarely, hence the reason for needing an addon to help me for the rare occations that i am required to be a caster

    From the FAQ it seem the following list should do it

    -Always Flame Shock when the DoT expires.
    -Cast Lava Burst if it is off cooldown and above criteria are met.
    -Cast Chain Lightning if it is off cooldown, Lava Burst is on cooldown, and above criteria is met.
    -Else, cast Lightning Bolt.
    Nope that is NOT what is required. Let me repeat

    For each spell ...

    1) What is the spell its cooldown, cast time etc - this is the easy bit

    2) Under what conditions should it be used - eg: use if dot on target, use if off cooldown, use if debuff on target, use if buff not on target etc etc.

    Quite simple really - a CONDITION under which each spell is cast - you can take as read that spell has to be off cooldown (saves typing).

    What I do not need is the order the spells are cast in that is phase two. You also missed heaps of spells, eg: Lightning Shield? Water Shield?, totems? Elemental Mastery? etc

    NB. it may be you have the same spell listed more than once with different conditions. eg: for enhance we have...

    1) Earth Shock - instant cast 6 sec CD, use if SS debuff on target, and off cooldown (called ES_SS)

    2) Earth Shock - instant cast 6 sec CD, use if off cooldown (called ES)

    Same spell two different conditions. Its the user's choice of ordering those two conditionals which typically give ES_SS, SS, ES in our priority list.

    So for elemental there might be different conditions for LavaBurst. However don't worry about the ORDER of the priorities at this stage all that's needed initially is the actual conditions.

  8. #8

    Re: PriorityQueue - Elemental

    just out of curiousity

    if someone were to specify these criterias.
    Wouldn't it be possible to add these to SAA and use the same priority function and UI as enhcnaement is using?
    I guess LB would be left out of the priority frame, as "use LB if nothing else is shown in the frame"
    our would cast times mess this up?

    A function to save different priorities would also be very nice. Thus having one Elemental and one Enhancement prioritylist to choose from.

  9. #9

    Re: PriorityQueue - Elemental

    OK if you have conditions like
    1) flame shock if debuff has less than 2 sec duration
    2) lava burst if less than 0.5 sec on cooldown
    3) chain lightning if cd left on lava burst < lighting bolt cast time (and you have clearcasting but lets not get cocky)
    4) lighting bolt
    How can you customize the addon for that?

  10. #10
    Deleted

    Re: PriorityQueue - Elemental

    Quote Originally Posted by ilialilov
    OK if you have conditions like
    1) flame shock if debuff has less than 2 sec duration
    2) lava burst if less than 0.5 sec on cooldown
    3) chain lightning if cd left on lava burst < lighting bolt cast time (and you have clearcasting but lets not get cocky)
    4) lighting bolt
    How can you customize the addon for that?
    Sigh. You HAVE to get cocky if its going to be even slightly accurate. There has to be an EXACT specification of EVERY ability. ie: myeviltwin you need to specify LB not just assume that its available if nothing else is.

    Computer coding is a very very precise science. Computers will always do EXACTLY what you tell them to do, if you don't tell them something they won't do it. So I repeat if this was to be added for Elemental Shamans to either ShockAndAwe or PriorityQueue (I'd do both as its copy/paste) then it has to be VERY precise AND complete, it cannot be half-arsed which is unfortunately what every single suggestion I've seen so far is. Where is your shield refresh and totem refresh in there? You CANNOT leave stuff out and hope it will work. The addon cannot assume other stuff its either coded or it isn't.

    Re: ShockAndAwe : It's my intention to add a keybinding to allow switching between a few different priority sets, perhaps 4 or 5. So you could have 1 set for Enhance another for Ele, one for PvP Enhance, one for PvP Ele, one for fights where you have multi targets and need to have CL in there on MW5 procs. etc etc.

    ie: in the setup you could choose the priority group and bind that to a keypress/mouse click etc. Then on pressing that button it would reset the priority list to that group. This could also trigger on say a talent swap.

  11. #11

    Re: PriorityQueue - Elemental

    Quote Originally Posted by Levva
    Do FS only if none on target (ie: don't clip dot), do LvB only if FS on target, Do LB if cast time < FS dot time left?? something like that. You get the idea.
    I think you want to clip the DoT if LvB is going to come off cooldown at the same time the DoT expires. Don't quote me though.

    You have totem refreshing. 5 mins.
    If you have a warlock/other shaman for SP and someone for the crit debuff, you have searing/magma refresh.
    If no flame shock dot, flame shock.
    If Lava Burst off cooldown, lave burst.
    The aforementioned if FS DoT is to expire less than 1 gcd before LvB comes off cooldown, flame shock.

    Chain lightning is tricky. If you have mana issues, you want to stay away. If its cast time starts to dip under the GCD, (bloodlust, Vezzax, Hodir) you want to stay away. More precisely, as LBs cast time falls, CLs priority falls. If you have more than 1 target, its priority soars. How you code that is beyond me.

    Water Shield/Thunderstorm are similarly ambiguous. If you aren't going to run out of mana, (Hodir hard mode) their priority drops to 0. If you will, they are the most important spell you have. If thunderstorm's knockback might save your ass during faction champs when the rogue gets on you, obviously you want to save it for that rather than using it to go from 96% mana to full. Again, how you code something like that is beyond me.

    LS: never
    EM: Prob either stack with BL, or every time it's up.

  12. #12

    Re: PriorityQueue - Elemental

    Hmmm ok .... lets get more accurate whit this.
    1) totem of wrath if you don't have the totem of wrath buff (maybe the buff from the glyph or you should count that demo lock buff too)
    2) flame shock if there is no buff or duration < 2 sec and lava burst cd < 2 sec
    3) lava burst if cd < 0.5
    4) water shield if missing or duration < 8 sec
    5) chain lighting if lava burst cd < lighting bolt cast time
    6) Lighting bolt
    I am not sure if you can code smt like ... if x is lava burst cd and y lighting bolt cast time
    chain lighting if clear casting is on and y-0.25>x-a*y>1 where a is largest possible integer number so that x-a*y>0
    meaning that it will show chain lighting if your lighting bolt will leave lava burst sitting off cd.

  13. #13
    Deleted

    Re: PriorityQueue - Elemental

    Much much better ilialilov. I could have a go at doing that, however it needs testing, and I've really not got the time nor inclination at present to test it. My time and focus is on issues with Rawr.Enhance & getting EnhSim ready for v1.9.0 for patch 3.3. What I need is a Elem Shammy who can assist coding and testing.

  14. #14

    Re: PriorityQueue - Elemental

    I can't really assist with coding but i will be glad to test it http://eu.wowarmory.com/character-sh...eppes&n=Ontamu ... here is my shaman

  15. #15
    Deleted

    Re: PriorityQueue - Elemental

    Problem with testing if you can't code is as follows :

    Someone codes it, tells you new version is out, you download it and test. You discover a error when you use X ability, so you report it, person doing the coding then has to try to work out what the error is but they can't see the error in action because they aren't that spec and aren't a tester.

    It becomes a very very long and tedious process, the tester gets a show stopping bug, the coder can't find the bug or changes something and it breaks some thing else. Each time round that loop takes several hours/days (if different time zones for instance).

    Compare that with someone who is a coder and tester. They code the abilities, load game and test, find a bug can see exact error message and can use in game tracing tools to identify where it happened. They edit code and fix bug, then reload game and test again. Each time round that loop is a few minutes!!!

    Seriously whilst any offers of assistance are useful its just way too soul destroying to have an alpha tester who isn't a coder.

  16. #16

    Re: PriorityQueue - Elemental

    Well I have a general idea of some languages. What do you use to code this anyway?

  17. #17
    Deleted

    Re: PriorityQueue - Elemental

    The language is called LUA. If you goto curse.com and download PriorityQueue you can consult the source code directly. The only code you'd need to change would be the stuff in Shaman.lua as the rest is stuff about drawing the frames and generally making the addon work. Shaman.lua is the code that actually lists the spells and what conditions they need.

  18. #18

    Re: PriorityQueue - Elemental

    PriorityQueue.priorityTable.name["fs"] = C["Flame Shock"]
    PriorityQueue.priorityTable.icon["fs"] = C["Flame Shock Icon"]
    PriorityQueue.priorityTable.test["fs"] =
    function ()
    return not PriorityQueue:GetDebuffInfo(C["Flame Shock"]) and PriorityQueue:SpellAvailable(C["Flame Shock"])
    end

    How do you set a time variable on that thing? meaning ... instead of not PriorityQueue:GetDebuffInfo(C["Flame Shock"]) to be PriorityQueue:GetDebuffInfo(C["Flame Shock"]) with the if the debuff < 2 sec ... and isntead of spellavailable is there any function that can get the actual cd remaining

  19. #19

    Re: PriorityQueue - Elemental

    And btw ... this is very easy to understand ... get me an alpha version and i can work with it

  20. #20
    Deleted

    Re: PriorityQueue - Elemental

    Quote Originally Posted by ilialilov
    PriorityQueue.priorityTable.name["fs"] = C["Flame Shock"]
    PriorityQueue.priorityTable.icon["fs"] = C["Flame Shock Icon"]
    PriorityQueue.priorityTable.test["fs"] =
    function ()
    return not PriorityQueue:GetDebuffInfo(C["Flame Shock"]) and PriorityQueue:SpellAvailable(C["Flame Shock"])
    end

    How do you set a time variable on that thing? meaning ... instead of not PriorityQueue:GetDebuffInfo(C["Flame Shock"]) to be PriorityQueue:GetDebuffInfo(C["Flame Shock"]) with the if the debuff < 2 sec ... and isntead of spellavailable is there any function that can get the actual cd remaining
    The function PriorityQueue:SpellAvailable(C["Flame Shock"]) returns two values true/false & duration, so...

    local available, cooldown = PriorityQueue:SpellAvailable(C["Flame Shock"])

    would set the variable available to whether its available or not and cooldown would set the time left until Flame Shock is off cooldown (NOTE this is NOT the DoT on the target its the Shock's 6 sec CD). The DoT on the target is got by the function PriorityQueue:GetDebuffInfo(C["Flame Shock"]) this time it returns up to three values so ....

    local DoTonTarget, timeleft, stacks = PriorityQueue:GetDebuffInfo(C["Flame Shock"])

    would set DoTonTarget to whether the DoT was present and timeleft would return the time left for the DoT and stacks would be the number of stacks of the debuff, which for FS is always 1.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •