Advanced GSE, Affliction example

If you are looking for basics on Gnome Sequencer Enhanced (GSE) visit this thread. You are going to be hopelessly lost if you do not know what keypress and sequence are for GSE.

This post shows what my affliction warlock macro is, and in the process of creating it, I think I learned a lot of general principles which may translate to you guys if you wish to make your own or improve upon them.

The macro works for a 32x2xx(1or2) Warlock spec. That means you can use whatever yu like on tier 3, 5 and 6, but need to pick talent 1 or 2 from tier 7. You want deathbolt, perma corruption, and phantom singularity.

The macro when mashed should

  • keep the target loaded up with agony and corruption
  • do a fair job of keeping haunt on target if specced
  • keep one stack of UA on the target
  • use deathbolt and phantom singularity on cooldown

I started with a basic macro from DM_Steel and improved it. Maybe some OTG coders here can help me improve it even more.

The macro uses a sequential step function, and should have all of the items toggled off, as you want to pop your trinkets for burst with Darkglare. Here are the keypress and sequence sections

KeyPress
/targetenemy [noharm][dead]
/castsequence reset=target/3 Agony, Corruption, null
/petattack
/petdefensive

Discussion of Keypress- this section executes each keypress. Here it will target an enemy if you have no target or your target is dead. It sends your pet out to attack and puts it in defensive stance. Note I use a mount macro with /petpassive to call back my pets. If I am in combat I will not mount, but it will call back the pet. The big breakthrough for me is the castsequence line. What it does with this null command is execute the sequence one time per target. This is how you apply agony and corruption just once and not have it spam in the GSE macro. I left in the reset=3/tar. I have heard these do not work in GSE, but if it does, if you do not hit the key by 3s, it will go to the top of the order, or if you change targets it will go to the top of the order, so if you tab it should apply agony and corruption again. I think it will apply corruption to a tabbed target that has corruption on it from seed, and this is a bit of a waste, but it is unavoidable.

Sequence
/cast Phantom Singularity
/cast [talent:6/2] Haunt
/castsequence Unstable Affliction, Unstable Affliction
/cast Deathbolt
/castsequence reset=target/3 Shadow Bolt, Shadow Bolt
/castsequence reset=target/3 Agony, Shadow Bolt

Discussion of the Sequence- by putting in the square bracket [talent:6:2] this macro will only cast Haunt if you have that talent specified. So you can switch between Grimoire of Sacrifice for raids or Haunt for solo and not have to rewrite the macro. When you hit this macro it should generate the following spell pattern from a cold start

A-PS-C-UA-D-S-A-UA-S-S then UA-S-A-UA-S-S

Where A=Agony, PS=Phantom Singularity, C=Corruption, UA=Unstable Affliction, D=Deathbolt, S= Shadow Bolt. This is because it does one from Keypress, then one from Sequence for each press. So it will lay down agony and corruption 1x, then basically rotate through the sequence until you switch targets. So what I did was then construct a timing diagram with zero haste. This forum will take out my tab delimiters, so the format per line is (time at which spell completes)(spell that completed)(remaining duration of DoTs). So 1.5 A A=18 means that at 1.5s your agony gcd is up and it is on target with a=18s left of duration.

1.5 A A=18
3 PS A=16.5, PS=16
4.5 C A=15, PS=14.5
6 UA A=13.5, PS=13, UA=8
7.5 D A=12, PS=11.5, UA=6.5
9.5 S A=10, PS=9.5, UA=4.5
11 A A=18, PS=8, UA=3.5 note A refreshes after 9.5s
12.5 UA A=16.5, PS=6.5, UA=8
14.5 S A=14.5, PS=4.5, UA=6
16.5 S A=12.5, PS=2.5, UA=4, worst case UA refreshes 6.5s
18 UA A=11, PS=1, UA=8
20 S A=9, PS=done, UA=6
21.5 A A=18, UA=5.5
23 UA A=16.5, UA=8
25 S A=14.5, UA=6
27 S A=12.5, UA=4

Now with Haunt

A-PS-C-H-UA-D-S-A-UA-S-S-UA-S-A

So I had a few concerns here. First is I do not have to worry about corruption, with perma corruption one application on, and it never comes off. Were I to try to do this for Siphon Life, I would have to add in a refresh for corruption in the main sequence, which would complicate the macro.

Now note that there are several cast sequences in here. This is a trick you use to generate a pattern of spells, and I had to modify DM_Steel’s macro to not cast UA so much and deal with refresh on Agony better. You will see that Agony gets refreshed within sequence on the 3rd cast sequence. Worst case seems to be it gets refreshed after 10s or so, and since it is 18s normally, and drops to around 15s if you take Creeping death, even if you stick a few other actions in manually, you should always have agony on target.

UA is tighter. The basic pattern I have here is either two shadowbolts or a shadow bolt and agony refresh between UAs. Worst case is 2 shadow bolts, which means the UA refreshes after 5.5s with no haste. UA normally lasts 8s, but if you take Creeping Death, it completes after 5.8s, so this just barely makes refresh and might fall off. Note that UA might fall off after you deathbolt, but then the pattern goes into full swing again.

So from a basic GSE design standpoint, the take aways are

  1. Anything that you want to apply 1x, you can use in a cast sequence with null
  2. Multiple cast sequences are the way to generate patterns.
  3. You can make macros talent spec insensitive by adding talent conditionals to casts like I did with Haunt. Note I could probably do the same by putting in conditionals on PS and D as well.
  4. You can brute force try a sequence, then lay out the key pattern and figure out the rough timing of things, and see if things drop off or not.
  5. Once you have this ironed out, it is probably time to hit the target dummy and see if it works or hangs.

Now on the general idea of whether or not it generates optimal DPS. The short answer is no. If you were super twitch and could hit everything just right, you would hold off on refreshing agony until that optimal spot where it would increase the duration beyond the maximum. Also it might make sense to time UA better for Deathbolt.

But if juggling all of these timers is a huge headache and you want ot automash something and get something closer to max, this is the way to go.

Also this is mash macro. You mash it when you are not doing anything else. So if you see Deathbolt coming off of CD, odds are you want to stop mashing and load up the big ugly with a lot of UAs so that deathbolt hits like a truck. Or if you need to heal your pet, or drain life to heal yourself, you will stop mashing this macro. Or if you are about to burst in a window on a boss you will need to hit your burst items and stop mashing this. The mash macro is a supplement meant to do the basic mundane rotation and reduce the amount of brain power devoted to maintaining your base rotation so you can do things like look at the battlefield and see that huge overhead smash coming. Some very skilled people can either through lots of repetition or youth just mash everything and follow the battlefield at the same time, but as I get older, I find usually my DPS drops if there is a lot of boss mechanics, or I die if I hyperfocus on my rotation during boss mechanics. With a masher, you can just mindlessly mash and get something halfway decent out while you do the boss mechanic.

My hope here by posting this is to give you guys a real example of how to go and improve a GSE macro someone posted on LazyMacros for your spec.

Very cool Mash, thanks for taking the time to work this out

I loaded it up and went to the Monastery to test it out.

Something is off in the rotation for some reason.

as I press the key on a full cool down of all spells, it is applying Agony, then PermaC, & when it is time to refresh Agony, it is back on the top of the list.

But instead of Phantom, I am usually seeing 1 UA, maybe DB, followed by SB. Haunt may or may not be cast.
There are several times, that I click, that I can’t figure out what it tried to cast, or is it simply clicking thru things still on CD? What i am not seeing is shadowbolt being cast as a filler during all the cooldowns or while the dots are up.

If I click long enough, everything is cast, but I was under the impression on your text Phantom should be cast (if up) right after Agony, but I am seeing A-C-UA-DB-SB…maybe a Haunt, then maybe a Phantom (Agony is recasting, but since C is perma, I can’t tell if it is trying to recast it.)

Thanks Macneel. That is a theory craft. I have been trying to get in and get AHK up and running to test it for real. I will work on it more this weekend. Weekdays I am just so tired and do not have much oomph left for gaming when I get home.

If you are manually pressing this, that might be the problem. AHK is going to hammer the key something like 10x/second and it will/should work better than. I was not having those issues with the original DM_Steel macro I based this on, so I am a little puzzled by what you are seeing. But that is my project this weekend- get AHK running, and then test and tweak this macro.

ahh…i forgot about the AHK part of it…

Still, it was fun to be able to watch the surroundings & the fight instead of having to watch & press 15 separate buttons at a specific time.

I will admit the AHK part of it still eludes me, once you have worked it all out if you would be so kind as to instruct me on how to use it properly in conjunction with GSE it would be much appreciated.

Simple AHK script to spam number row keys: https://github.com/PProvost/AutoHotKey/blob/master/SpamButton.ahk

Thanks Cefwyn,

@Macneel I suggest reading the AHK tutorial as well to learn how to create and run scripts. The tutorial is in the AHK help file.

Good links, will follow them. I did DL AHK last night, but was trying to bring up the desktop to paste scrip into and was blanking

Downloaded and followed the instructions and got it up and running.

Worked as intended on the training dummies, except my absolute corruption won’t fall off…

Will practice it this evening on some poor unsuspecting mobs…

their sacrifice to further the research will not be forgotten. (Since, I don’t want to forget to loot them)

Got both AHK and my macro working. Seems to be less of a shard drain than DM_Steel, but keeps stuff up.

Quick notes on AHK

  • install AHK to default directory
  • right click desktop create new script
  • give script a new name
  • paste Cefwyn’s script into that file
  • save
  • right click file on desktop and ‘run script’
  • start WoW
  • run GSE
  • import my macro
  • drag it to the spam key you want to use (I use 2)
  • press and hold spam key to make it work

what follows is export from GSE on my script

d4dpdaqzKxcPyxqcEnuYJPyMqcDyvMnrUhLu3Ks8lI6BkuNgIDkv7fSBu2VWOGK0WKu)wuRdsIHkIgmvdxsoiuXPGKQJPuNteAHqblfsvlgk0YL4HqI6PQAzOYZjmrf0uLIjRitN0XvGRcjYZKsxxjBKsPTcjLndvA7IGPbLAwOQ(SI67qknskjJtKA0OkJhk6KqQCBfY1OuCErY2GQElLQUlLkdBOb6B4XXwB)K4yb6Cqd8nNeXub8TCyYHjMycVvujJyG(gECwkVCbEuKQi0cVLZuYOgveizMaAG(gAG(gEzZj0W5QTzporOZbVS5eA42RNeXuubVmNDHJD6D6n0BHx2CcvqdweZqH3wVRtZp826DDAOJn8YMtOHZHh7DnEOBd8YMtOcAWIygk8WlKGuR1RmtQCB4HZ1YHFCn)W5A5WpUg64Hx2CcvqdweZqHhEHeKATELzsLBdp8etxZpCUwo8JRHhnuk0ts0jiObu4FLQSDXmksMb)tdwetroj4tMfQLZuYqdOWNSqwotjdnGcpAOujlKqanqFdVSELzsjgnkv42ZY8UYi7SFIUj7Goh8YvKEQEgSGEl8YvKor4smbsce0XgEzZjubnyrmdfE4fsqQ16vMjvUn8WtmDn)W3J54hoBjjbkOGcVLJToj0XuQKaXuKmdWa8dxSzkZG(gERiPk4hTeA48UeOWNOt5HXSKYp8dJIS0sPWn5szvPizg)WR4DmnpkCbcBEjDfenv4hBkCrEjfUjZMwiA45s4McrviS5WNOt5HcH3uqir4AoCSiQk8KF4dXq4wDlMIQi4gUOImgAc1dpZchLhg(XMcpZOWf6zWk8mUHJs4eEMfUELzsHFiH7TKuOVHh9hYe03WBjLYdXa9n8Ffzq3qOZH3g4BqgrO9KWcHnd9n8wsP8qmjLwcOVbfuaa

Usage Information
must have deathbolt, absolute corruption, phantom singularity and soul conduit or creeping death. Tries to keep PS DB Haunt(if specced) on CD and one stack of UA on target

This macro contains 1 macro version. This Sequence was exported from GSE 2.3.10.

Macro Version 1

Step Function: Sequential

KeyPress: Corruption, Agony

Main Sequence: Shadow Bolt, Haunt, Agony, Phantom Singularity, Deathbolt, Unstable Affliction

One note, you can stop/pause a running AHK script from your Windows systray. You should see AHK icon in the tray and you can right-click it to do stuff.

New AHK file. What I like about this is mb4 (lower thumb button on mouse) toggles on and off the spam macro. While that is running you can override it by holding down any of the other spammers. I only set up keys 1-5. So I turn it on, and if I want to dump more UAs, I just press and hold 4, which is where UA is bound.

#IfWinActive World of Warcraft
Toggle=0
delay := 100

; to force the hotkey only to Wow

Xbutton1::
if (Toggle := !Toggle)
SetTimer, timer, -1
return

timer:
While (Toggle)
{ Send {Xbutton1}
sleep delay
}
Return

$1::

Loop

{

if not GetKeyState("1", "P")

  break

 Send 1 

 Sleep delay

}

return

$2::

Loop

{

if not GetKeyState("2", "P")

  break

 Send 2 

 Sleep delay

}

return

$3::

Loop

{

if not GetKeyState("3", "P")

  break

 Send 3 

 Sleep delay

}

return

$4::

Loop

{

if not GetKeyState("4", "P")

  break

 Send 4 

 Sleep delay

}

return

$-::

Loop

{

if not GetKeyState("-", "P")

  break

 Send - 

 Sleep delay

}

return

#ifWinActive
; to end the WoW key binding

Oh Supreme Netherlord Leader,

Which macro combos are you thinking of using for the other buttons?
Will one be the “Nuke”?

I’d also love to figure out how to use mouse button 4, right now it is just keybound to a standard cast sequence macro which is fine for moving, but getting more out of it would be wonderful.

The only problem I had with it last night was the pet defensive, I wasn’t taking any damage on taloc, so the imp just stood there, even after i clicked for him to attack, the pet defensive script kept resetting him. Do I simply need to make sure I get tagged once to engage the pet? I know it was more luck than skill that I wasn’t being damaged.

New Macro for the toggle spam on mb4. I took out auto target, because it is nuts grabbing anything that moves. I also pulled out pet defensive, and pet seems to attack whatever target you are on.

d4JndaqzuVekQDbf41qLEmjZurvoSsZMi3dQOBsk(Li(gr50qANs1Eb7gX(fgLIknms1Vf16uuXqLqdMQHRiheQYPGc1XuLZHuzHqPAPqfwmuklxkpekKNQYYG45eMOIYuLutwv10PCCjYvHc6zsY1vyJIK2QIQAZIu2ouKPrk1SqkFgj9DOeJuKyCevJgjgpuvNekPBlrDnrQoVeSnvL3sk5Uivn8GAO)GdVut9kINgOJa1WvVsmXeWvHGpc(4JpCPWTmQc6p4WByuYn4MhpXybonRQLNp3eOzIaQH(dQH(dUe1kSWr0t)jJoOJaxIAfw4AzRetS58LGqF4Al)j)b9k4suRWeCPbtuC4v6pD50cVs)Plh6AdxIAfw4iFA)0)GE6WLOwHj4sdMO4WrQq(KPtlCKkKpz6q)dUe1kmbxAWefhoDY1PfosfYNmDOldUe1kmbxAWefhE4nwWgoTTrLTKQWdNo560chPc5tMoCyMlGdwIxbd1Gb3z8uQdIYqZe4oU0Gjg6kbhM5cfBSqa1q)bxITnQSXeUCHW1IKPSTY0R1pV)0dDe4sMyBnBv4c9k4suRWeCPbtuC4H3ybB402gv2sQcpC6KRtl8NmeAHtgssGbxXgRzvTmudgCfZctZQAzOgmWadonlzSsyLyCdtmXqZea7WnBqOYzc0FWLclnbx5HWcNYIjo8FEnkyllz0cFXMilnmoCvU1gtgAMql8jklXYLdxGsOoK2gQvi8L8hUipKcxLj)dul8ClCvJ5juc1W)51OGbHx3qzr4woCCzEk8Ix4ZWE4PSdInx00cxmXkf)JXHNjHJrZcFj)HNjC4cBv4gEoTWXq8cptc32gv2GBgN2oKmO)G7MyfwNbDKV0HttbJcQc6p4WXI(d9hC1OLzSSs4IsOc9hCAkyuqvfLgcO)admaa

Usage Information
must have deathbolt, absolute corruption, phantom singularity and soul conduit or creeping death. Tries to keep PS DB Haunt(if specced) on CD and one stack of UA on target

This macro contains 1 macro version. This Sequence was exported from GSE 2.3.10.

Macro Version 1

Step Function: Sequential

KeyPress: Corruption, Agony

Main Sequence: Shadow Bolt, Haunt, Agony, Phantom Singularity, Deathbolt, Unstable Affliction

See new AHK file and macro. Talk to me in Discord. I can give pointers. Think it is running well now, was pulling over 11K on dummy

I must be doing something wrong, but it worked fantastic in the world, but i went into heroic motherlode and it went crazy trying to find targets and I ended up pulling a Leroy.

soooo many goblins…I was “that guy” in the pug…felt bad for ruining their run.

Take out the targetenemy from keypress. Manually target. Nameplates and left click for best results.

I was trying to say that. It is indeed nuts if you just run it with the autotarget. You could probably afk rep grind with that thing.

Tried out a couple other versions. One with SL, and another with Writhing Agony. Perma corruption seems to give the best damage of the 3, but SL is pretty nice for running WQs. I think with gear the Writhing Agony could be better. The Azeriete piece with ramped up agony stacks makes that work better. I had the best shard generation on the SL one.

could you export those gse’s so I could try them out?

I’ll erase the target enemy from keypress and see how that works out.

thanks again

I am putting all my macros and mashers in a mega thread over on the WoWwiki section of this site. Most of my new stuff and projects for other toons will be there.