Alternate Priority

Hey Tim

So I know we have 2 types of priority. Would it be possible to add a 3rd

Option1:
1
2
3
— Every press cycles to the next option

Option2:
1
1
2
1
2
3
— Every press cycles through to the next option but repeats sequence

Option3: -New Priority
12345
12345
12345
— Tries every possible combination at every press

So how this would work is that with every press it runts through all the cast options in sequence and the one with the lowest value available would be cast. That way you can set certain spells at the top of the priority and the lower valued ones lower in the chain of events.

Just a suggestion

Cant do it currently within the macro execution sandbox. I cant tell if an action fired and then act on that as those parts of the api are outside the sandbox. Blizzard have enforced a one keypress = one attempt at an action. The exception to this are GCD abilities that can be placed on KeyPress and KeyRelease but while i can monitor the success of an action via the /gsse debug window I cant use the information in that to influence macro execution.

I am trying to create a fallthrough execution mode but that only currently works for spells that are not available. EG a mount macro that tries Bird Form or Paladin Charger but skips these if your not a paladin or druid.

Ahh… Yea that will be useful too.

How about proc factors? Can that be detected? And then sandbox rotation change factors based on proc factors.

eg. You are running step mode … 1 2 3 4 5 … As soon as you get a Stormstrike Proc for instance can it then change to 1 12 123 1234 until the proc is over and then switch back to 1 2 3 4 ?

In that instance you go from a normal rotation focus to your priority 1 spell focus and then back once the proc is over.

Sorry for the delay in response… was a bit pre occupied with work and was away for a bit.

Just got another idea to this. I am sure Buffs can be detected. I know this will take quite a bit of setup in the scripting but if for instance we take a warrior.

Step 1 2 3 4 5 then repeat
Detect Enrage
Step 6 7 8
Enrage Over
Step 1 2 3 4 5

Can something like that be done?

So in essence you dont do a IF to determine the cast sequence you just combine 2 scripts into one based on a Sandbox detect. Dunno if this is legal as well.

My understanding of the Blizzard ToS forbids automation of any kind.

That said, in your afore-written scenario:

Step 1 2 3 4 5 then repeat
Detect Enrage
Step 6 7 8
Enrage Over
Step 1 2 3 4 5

GnomeSequencer could do this if steps 6, 7, and 8 were all “Enrage-dependent”. I.e. were abilities that only activate if Enrage is active. Otherwise, GS would act is they were on CD and simply skip.

[quote quote=37194]My understanding of the Blizzard ToS forbids automation of any kind.
That said, in your afore-written scenario:

<table class="crayon-table"><tbody><tr class="crayon-row"><td class="crayon-nums " data-settings="show">
1
2
3
4
5
</td><td class="crayon-code">
<span class="crayon-i">Step</span><span class="crayon-h"> </span><span class="crayon-cn">1</span><span class="crayon-h"> </span><span class="crayon-cn">2</span><span class="crayon-h"> </span><span class="crayon-cn">3</span><span class="crayon-h"> </span><span class="crayon-cn">4</span><span class="crayon-h"> </span><span class="crayon-cn">5</span><span class="crayon-h"> </span><span class="crayon-st">then</span><span class="crayon-h"> </span><span class="crayon-st">repeat</span>
<span class="crayon-e">Detect </span><span class="crayon-e">Enrage</span>
<span class="crayon-i">Step</span><span class="crayon-h"> </span><span class="crayon-cn">6</span><span class="crayon-h"> </span><span class="crayon-cn">7</span><span class="crayon-h"> </span><span class="crayon-cn">8</span>
<span class="crayon-e">Enrage </span><span class="crayon-e">Over</span>
<span class="crayon-i">Step</span><span class="crayon-h"> </span><span class="crayon-cn">1</span><span class="crayon-h"> </span><span class="crayon-cn">2</span><span class="crayon-h"> </span><span class="crayon-cn">3</span><span class="crayon-h"> </span><span class="crayon-cn">4</span><span class="crayon-h"> </span><span class="crayon-cn">5</span>
</td></tr></tbody></table>
GnomeSequencer could do this if steps 6, 7, and 8 were all “Enrage-dependent”. I.e. were abilities that only activate if Enrage is active. Otherwise, GS would act is they were on CD and simply skip. [/quote]

Well if you look at Weak Auras they can detect buff conditions and show a animation. I am sure you can program that detection to skip 5 lines of “cast” and do only the others. Like a on off condition in your sequence

Once, you detect the buff/debuff then the variables become read-only. This means the step variable cannot be changed after that point by the addon. This was attempted by Tim in another thread.

Yeah as @Sean mentioned I tried to do this here - Attempt at a Proc Macro - Interface Action Blocked

WeakAuras can do what it does as it detects the proc but it doesnt try to then perform an action. While it displays a graphic or plays a sound or makes the screen shake, none of these things are considered an action. They don’t attack a mob or heal a player or choose to perform any action that changes the state of the game world. WeakAuras can cause sea sickness by manipulating the visual of your client if you get it to do enough things but its not impacting the in game world only your eyes and ears.

In that other thread I linked, I programmed a special version of GS-E 1 to detect the proc that makes Pyroblast instant and then change to the pyroblast step. I could detect the proc but when I tried to move to the Pyroblast step I got the Interface Action Blocked error. I could even change the macro icon to be Pyroblast but as soon as I clicked it it stopped.

I have been right down in the core of Blizzards macro code to see what I could and couldn’t get it to do within the rules. For example in GSE2 I’m adding the ability to reset a Macro when swapping targets. I didn’t think I could get it to do that but have found a part of the API within the sandbox that can tell what the target is.

I think what he wants to do is possible for a person to do I just cannot find the instructions on how to add other macros into the pre-macro part. For example: I saw an example that was:

preMacro[[
/click [mod:alt] enrageMacro
/click [mod:shift] postEnrageMacro
]].
[[/cast ability]].
[[/cast ability2]],
postMacro[[
]]