Cym's ST and Cleave Fire Mage Macros

(*Editing this original post as i made some mistakes in the approach to the Macros and how they fired off. For the most part they are now fixed and a lot better.)
It’s not all good news as you may need to create a new “clicking” macro with either AHK or Synapse specifically for this class as the one thing i have never taken into consideration before and what people are now witnessing/realising is you start missing abilities or randomly casting unintended spells when you start involving “Cast Times” of spells. Any Class/Spec with a lot of “Casting Time” involved should reduce their clicks MS to 1000ms - 2000ms+ to compensate for cast times (Demonology Warlock i am looking at you).

It’s that time again when new macros need to be made and posted so i thought i would go ahead and post up what i have been working on.
I have been lax in playing my Fire Mage of late so much so that I am effectively a fresh 110 with only the class helm (at the time of this writing) so take my DPS and damage with a grain of salt. I do intend to start more progression with him, eventually.

These macros will not cover all aspects but it’s up to you how you would like to use them, 1/2 macro for everything or all with the intention of using items like Tome of the Clear Mind or Tome of the Tranquil Mind between bosses and trash.

We no longer have a real rotation now and it’s more priority based so i have removed the stepfunctions out of the new Combustion Macro and re-introduced them into the ST macro. It probably doesn’t really need it either. I have also re-introduced Cinderstorm into the Cleave/AoE macro as it doesn’t make sense to stay with just Kindling.

Cinderstorm pulls too much!? Well that’s mostly on you if it happens, it’s aim based so move or point yourself to an area where it’s not going to pull and you can use it to it’s full effect. If it does happen to go wild and you pull something then a good tank will help pick it up. It’s also very powerful in both single target and AoE/Cleave :slight_smile:

Casting Cinderstorm at close range with no Pyretic Incantation will give you very quick procs of Pyretic Incantation if you need it.
Cinderstorm also has it’s damage increased by 30% on targets already burning with Ignite.

On to the good stuff…

You should always use the following consumables to maximize your damage:
Flask: Flask of the Whispered Pact
Food: Fishbrul Special
Potion: Potion of Deadly Grace

Best to use Potion of Deadly Grace before casting your ST/Cleave macros


Single Target/Boss Macro Edited*
Due to the above mentioned mistakes this changes a little bit to be partially manual.
It’s done this way so you’re not wasting many/any procs when you slip into Combustion Phases/Instant Procs.
No point making a macro for this as it will only introduce 2-3 spells as an opener and you wouldn’t use it again.

Opener: Precast Pyroblast 3 seconds before the pull and follow it up with Rune of Power
If Heating Up appears then move into Combustion Macro. If there is no Heating Up then use 1 Phoenix’s Flame to proc it and move onto Combustion Macro until you run out of Combustion/Instant Casts. Any Hot Streak use the Combustion Macro.

Sequences["CombustPhase"] = {
author="Cymiryc",
specID=63,
version=3,
helpTxt = "Combustion!",
icon='Ability_Creature_Cursed_01',
lang="enUS",
PreMacro = [[
]],
[[/cast Fire Blast]],
[[/cast Combustion]],
[[/cast Pyroblast]],
[[/cast Fire Blast]],
[[/cast Pyroblast]],
[[/cast Flame On]],
[[/cast Fire Blast]],
[[/cast Pyroblast]],
[[/cast Fire Blast]],
[[/cast Pyroblast]],
[[/cast Phoenix's Flames]],
[[/cast Pyroblast]],
[[/cast Phoenix's Flames]],
[[/cast Phoenix's Flames]],
PostMacro = [[
]],
}

the above macro should be cast with a 500 or 600 delay. (600 might be better)

Move onto:

Sequences['FlamesST'] = {
author= "Cymiryc",
specID= 63,
version=3,
helpTxt= 'Talents - 1-2-2-2-1-2-1',
icon='Spell_Fire_Flamebolt',
StepFunction = GSStaticPriority,
PreMacro = [[
/targetenemy [noexists][noharm][dead]
]],
[[/castsequence reset=target/4 Fireball]],
[[/castsequence reset=11 Fire Blast]],
[[/castsequence reset=target/4 Fireball]],
[[/cast [combat] Phoenix's Flames]],
[[/castsequence reset=target/4 Fireball, Fire Blast]],
PostMacro = [[
/cast Ice Barrier
]],
}

From there until around 45 seconds left on Combustion then switch to either:

Fireball spam w/Pyro Procs Only or

Sequences['HeatingUp'] = {
author= "Cymiryc",
specID= 63,
version=3,
helpTxt= 'Talents - 1-2-2-2-1-2-1',
icon='Spell_Fire_Flamebolt',
StepFunction = GSStaticPriority,
PreMacro = [[
/targetenemy [noexists][noharm][dead]
]],
[[/castsequence reset=target/4 Fireball]],
[[/castsequence reset=11 Fire Blast]],
[[/castsequence reset=target/4 Fireball]],
[[/castsequence reset=target/4 Fireball, Fire Blast]],
PostMacro = [[
/cast Ice Barrier
]],
}

This will allow you to start saving Phoenix’s Flames and Fire Blasts for Combustion again.


AoE/Cleave/Trash/Eye of Il’gynoth
To be used on any of the above :wink:
Opener: Precast Pyroblast 3 seconds before the pull and follow it up with Rune of Power
If Heating Up appears then move into Combustion Macro. If there is no Heating Up then use 1 Phoenix’s Flame to proc it and move onto Combustion Macro until you run out of Combustion/Instant Casts. Any Hot Streak use the Combustion Macro.
You can then either press/click the macro button 3 times until Living Bomb is cast and then move into Combustion or just press it until it’s cast. (This WILL waste a Fire Blast or Phoenix’s Flame if held down)

Sequences["Flames2X"] = {
author="Cymiryc",
specID=63,
version=3,
helpTxt = "Talents = 2-2-2-2-1-1-2",
icon='ABILITY_MAGE_FIRESTARTER',
lang="enUS",
PreMacro = [[
/targetenemy [noexists][noharm][dead]
]],
[[/cast Fireball]],
[[/cast Cinderstorm]],
[[/cast Living Bomb]],
[[/cast Phoenix's Flames(Artifact)]],
[[/cast Fire Blast]],
PostMacro = [[
/startattack
/cast Ice Barrier
]],
}

Sadly there is no real way to make this competitive using just 1 macro. If you want to do that while levelling then i suggest using ImprovedFlames. For raiding/dungeons i would use the above and get used to manually casting your openers of 2-3 spells.
Blame Fire Blast for being off the GCD :wink:

Please let me know how this works/provide feedback. I have tried the best i can with this.
Clips are NOT to showcase damage but more how to open the rotation and how much more smooth Combustion is.
ST/Combustion
Cleave/Combustion

Cym

I think I have all my GS addons messed up. Right now all that I can get to show up is DB_Fire (Draik).

If I remove and reinstall, where do I put these sequences? Any help would be great.

JR

I have made some changes to the original post as firing off some of the macros was just a mess. It’s been a frustrating trip but hopefully this should work out a lot better in the long run.

One thing to note is the behaviour of using software options like AHK to cast while you hold the keys down/spam is to look for an addon/option which will allow you to cast on button down rather than the default button up.
It should help with the buffer of spells queuing as i found some issues/strange button delays while switching from 1 macro to another.

ElvUi can do this. You can also do this by using the AdvancedInterfaceOptions Addon on Curse

[quote quote=34450]I think I have all my GS addons messed up. Right now all that I can get to show up is DB_Fire (Draik).
If I remove and reinstall, where do I put these sequences? Any help would be great.
JR
[/quote]

You have 2 options with this whe using GS-E:
Add it to the Draiks folder under Mage.lua BUT uy doing that you run the risk of overwriting everything each time you update the addon.

OR

Go HERE and download the myMacros addin pack and add it to the mage.lua file there. It will remain safe each addon update :slight_smile:
Once you do that you can go to Addons section in the WoW client and disable (rather than delete) Draiks Macros

Could you post your AHK macros

Sure.

;////////////////////////////////////////////////////////////////
#SingleInstance Force
#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
;#Warn  ; Recommended for catching common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
;////////////////////////////////////////////////////////////////
#ifWinActive World of Warcraft
$numpad1::				
if getkeystate("ScrollLock","T")
	{
	Loop
		{
		if getkeystate("numpad1","P")=0
			break
		Send {=}			
		Sleep 2000		
		}
	}
	else				
		Send {numpad1}
return
$numpad2::
if getkeystate("ScrollLock","T")
	{
	Loop
		{
		if getkeystate("numpad2","P")=0
			break
		Send {-}				
		Sleep 600			

		}
	}
	else	
		Send {numpad2}
return
$numpad3::				
if getkeystate("ScrollLock","T")		
	{
	Loop
		{
		if getkeystate("numpad3","P")=0
			break
		Send {0}			
		Sleep 500		

		}
	}
	else	
		Send {numpad3}
return

Can change the 2000 to lower if you’re using ST after a manual opener. Use the 2000 delay for cleave… it’s a lot of switching but it’s worth it.

With this AHK it’s scroll lock on and which button do you hold down? numpad 1-3?

Yeah because i am left handed and use my mouse in the left hand, arrows for moving, numpad 0 for jump and numpad 1 for attacking/macro, 2 for procs/leaping and 3 for AoE attacks.

You can change where it says numpad1 etc keys of your own choosing, will fire off the same. This is just more comfortable for me to use this way.

K thanks for the quick reply

Can’t seem to get the AHK to work properly. Even when I hold it down it only cast the first initial fireball and stops.

;////////////////////////////////////////////////////////////////
#SingleInstance Force
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
;#Warn ; Recommended for catching common errors.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
;////////////////////////////////////////////////////////////////
#ifWinActive World of Warcraft
$numpad1::
if getkeystate(“CapsLock”,“T”)
{
Loop
{
if getkeystate(“F1”,“P”)=0
break
Send {=}
Sleep 2000
}
}
else
Send {F1}
return
$numpad2::
if getkeystate(“CapsLock”,“T”)
{
Loop
{
if getkeystate(“F2”,“P”)=0
break
Send {-}
Sleep 600

}
}
else
Send {F2}
return
$numpad3::
if getkeystate(“CapsLock”,“T”)
{
Loop
{
if getkeystate(“F3”,“P”)=0
break
Send {0}
Sleep 500

}
}
else
Send {F3}
return

Are you using the numpads or function keys?

$F1::
if getkeystate(“CapsLock”,”T”)
{
Loop
{
if getkeystate(“F1″,”P”)=0
break
Send {=}
Sleep 2000
}
}
else
Send {F1}

I am guessing it’s F1 that you’re using so you need to change the $numpad1:: option to F1 as i added above to show you and have the Macro on the main action bar at =

Thanks bro

Also for the AoE/Cleave FlameST and HeatingUp which delay do you use?

Since the rotation doesn’t really matter on those ones i tend to use 500 delay. It’s all priority based on what is off cooldown which is why there is not any real order to what should/would fire off. If i had a specific order like lots of Cinderstorms and Fireballs then i would introduce 2000

The delays only really matter on Combustion to try keep it in cast order.

If I were to add berserking which line do I add it at in CombustionPhase
Also when I use combustion phase even when im still smoldering it will either cast a raw pyroblast and ruin the rotation is it because it’s going too fast?

No it’s because you have not proc’d either Heating Up or Hot Steaks.
Combustion only increases your crit and doesn’t guarantee that you proc either of those during the phase. If you have Heating Up but don’t have a Flame Blast available you may need to manually cast a Phoenix’s Flame to keep the rotation going.

The delay of 600 should be enough to keep it going almost perfectly. Could always try slowing it down if you want to try that

It’s all in the hands of Blizzards RNG to be honest.

If you have a quick look at my video clip for combustion, i only have 39% Crit, i am not equiped enough to go raiding/mythic/heorics just yet but i manage to keep the uptime of the procs going well enough. ilvl 788.

To add in Beserking add it into the PreMacro for best result

[quote quote=34450]I think I have all my GS addons messed up. Right now all that I can get to show up is DB_Fire (Draik).
If I remove and reinstall, where do I put these sequences? Any help would be great.
JR
[/quote]

Copy
/gsse
paste
import

I’m confused.

You have “reset=” lines in your macros. But according to Timothy Luke:

reset=time do not work with GS-E

Two sites and not even one comment about the performance of the macros? Could anyone share their experiences here please (how the macros compare with good players with similar items level) ?

I am not familiar with mages, but i like the solution of more macros instead of one (not well performing).

Since my english is limited, could anyone help me to understand Cymiryc´s explaination (if you are still reading here - thank you very much for you work :slight_smile: )
The first part i understood. Than :

When i uses the spell “Combustion” i start using the macro “CombustPhase” for the 10s duration same for " Hot Streaks"

If i dont got “Hot Streaks” and “Combustion” is over - i will start to use “FlamesST” macro until the 120s Cooldown of "Combustion is at only 45s left - than i start using the macro “HeatingUp”

Is my sum up correct ?

And - my knowledge abut macros is at same level than my english - so please excuse me, but why you dont use “no channeling” for spells that aren´t instant ? For my understood this line would make sure, that the casts dont get interrupt bye spam the button.

Greetings

Max

Hello,

You’re correct in your usage of the macro and when to use it yes, your sum up is correct.
The reason for Heating up is to stop using Phoenix’s Flames and Fire blasts to save them for the upcoming Combustion. It might be a slight DPS loss for those few seconds unless you fire off your procs manually.

The reason i don’t use nochanneling in the macro is thats reserved for spells like Mind Flay and Drain Life and Arcane Missiles etc. Fire Mages dont have a channeled ability. Nochanneling will not stop “Cast Time” so there is no use in adding it.