My First Macro (Leveling)

Hi all, This is my first attempt at writing a macro from scratch. I have used a bunch of macros from the site and decided with classic that I would attempt to write my own. Looking for some feedback help on this macro. Any feedback help would be grateful.

I am now a Level 17 Warlock and made a great improvement to this macro. After around 2 hours of messing with the Shoot command on my priest I think I have finally figured out how to make it work properly. At first I did not know Shoot was a toggle Cast Shoot once It turns on and auto Wands until target dies or you Cast Shoot again.
I wanted this macro to Cast my dots and then wand until targets death. But still wanted to be able to Multi Dot other targets if need be.
The way I have written this will allow me to do that.
Modifier Key: Shift - Will Toggle Shoot ON and OFF

This macro casts the 3 dots I have at this level Curse of Agony, Corruption and Immolate Then hit the shift modifier to toggle Shoot On. Feel free to test this out make improvements and send suggestions.
Thanks :slight_smile:



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

Macro Version 1

Step Function: Sequential

Pre Macro: Nothing In Pre Macro

/targetenemy [noharm][dead]
/cast [mod:shift] Shoot

Main Sequence: /castsequence reset=target Curse of Agony, Corruption, Immolate


Not bad!

Mb you or some one else know how to migrate the best warlock leveling script from supermacro to gse?

script 10 -20 lvl: /script if (UnitName(‘target’) == nil) then TargetNearestEnemy() PetAttack(target) else if not buffed(“Curse of Agony”, ‘target’) then PetAttack(target) cast(“Curse of Agony”) else if not buffed(“Corruption”, ‘target’) then cast(“Corruption”) else if not IsAutoRepeatAction(12) then cast(“Shoot”) end end end end

script 20 -60 lvl: /script if (UnitName(‘target’) == nil) then TargetNearestEnemy() PetAttack(target) else if not buffed(“Curse of Agony”, ‘target’) then PetAttack(target) cast(“Curse of Agony”) else if not buffed(“Corruption”, ‘target’) then cast(“Corruption”) else if not buffed(“Siphon Life”, ‘target’) then cast(“Siphon Life”) else if not buffed(“Drain Life”, ‘target’) then cast(“Drain Life”) end end end end end

1 Like

I have no idea how to export a macro in game lol, but this is what I changed to get the immolate and corruption to fire off in order:
/castsequence reset=target/15 Immolate, null
/castsequence reset=target/15 Corruption, null
/cast Shadow Bolt

the largest problem is resists, if the spell gets resisted it wont cast it again. you would either have to change target or manually cast the resisted spell. also switched to priority casting instead of sequential.

@josh-moore Awesome thanks for checking out the macro and the help and feedback.

after further testing the reset timer doesn’t work the way I thought it did and should be removed. from what ive read we cannot automate dots in this way. the reset=15 only works if you dont press the macro button for 15 seconds. the best way to recast all the dots is to switch targets but they all have different durations unfortuantly.

thanks for trying but macro for me just spams shadowbolt

Thanks for testing :slight_smile: I am working on improvements. Will post shortly the edited macro.

Made some changes

In keypress i added
/cast [nopet, group] Summon Imp
/cast [nopet, nogroup] Summon Voidwalker
/targetenemy [noharm][dead]
/petattack [@pettarget,noexists]
/cast [mod:alt][nochanneling] Fear

so when u are in a group it will summon imp and solo Voidwalker for the damage aspect.
I also added fear to ALT button becous In classic your best chance for serviving multipull enemeys is The juggeling method, since Fear dont interupt when you dot it will helt u by Fearing and doting a target and let the voidwalker do the tanking on the other target that u dot
Then i changed the order of the dots

/castsequence reset=target Immolate, Corruption, Curse of Agony
since warlocks take huge threat, The voidwalker now have time to get to the target and start building some threat

Thanks for the feed back :slight_smile: Some of these changes will get used in the next update. I posted an updated version just earlier this morning also and I meant to change the order of the dots as I was talking to a friend last night and he asked why Immolate was at the end. He kinda pointed out the same thing and I have had issues of pulling threat off my void walker.

In the latest version of the macro I put up its now enabled Shoot. And I have also removed the pet summon from mine if you are fighting and the pet dies it really sucks for the macro to try to re-summon mid fight since its such a long cast If I could figure out a way to stop that until I am out of combat I would add it back in. However I love the way you added to that for whether you are in group or not to summon imp or Void i never thought about that.

Long time lurker, but this is what I’m using while leveling.



To only have the pet cast out of combat change to what I have below

/cast [nopet, group, nocombat] Summon Imp
/cast [nopet, nogroup, nocombat] Summon Voidwalker

I just updated my macro so that it works that way.


1 Like

still having some issues when it tries to use wand it keeps spamming it on and off

1 Like

I actually think some of the issue with Wands is in the game it self. I was having some issues earlier I was thinking it was my macro so I shut AHK off and added just shoot to a hot key and I would toggle it on and it would fire once and then stop. So not quite sure what is up with that happening. But yes in the macro even having Shoot on a mod key can end up toggleing them on and off. If you don’t do just a very quick press of the shift key.

Im using auto hotkey is this macro designed to be used with AHK?

So far this has been the best I’ve been able to come up with. I’m not sure if we will ever get “shoot” perfect.


I was browsing other sites and came across this wand macro. It seems to work pretty well for me.
/castsequence [exists] !Shoot, !Shoot

I added this after the original /castsequence and it keeps my shoot going off.

Occasionally this interferes with the DOTs going off but the delay is usually minimal.

Since Classic was built on 7.3.5, the macro system works as it does now, not how it did in vanilla. this really really saddens me. They could have left the original macro coding in because there as been so very few changes over the last 15 years. Ie you could macro 5 or 6 spells into one macro and as long as they where not on the gcd you could have them all fire off at the same time on one macro button press…but we are now limited to +1 sec cast, which means you cannot fire off 2 spells at the exact same time or am i wrong (except trinks)

I made some improvements.


is there a reason why this macro doesnt show tooltips?

yeah he didnt put them in but hey if it works be thankful and if not make one

1 Like