GS Spriest ST Step Help Please

Hello all,

I am in the midst of writing my first (spriest) step-function macro and would appreciate any insights that the GS might have in regard to not being able to get this macro to execute.

The problem is that the macro cycles through on training dummys, but does not cast the spell/ability; when running the macro, I can see that the spell/ability is ‘up’ (meaning is off both of the GCD and spell CDs). However, for some reason, the macro merely cycles without casting.

Could this be a simple syntax issue or would it be the (admittedly) copied-and-paste step function in the macro? I have pasted the macro below and appreciate any clarity on this issue. Thank you.

Sequences["SPriestST"] = { 
PreMacro = [[
/targetenemy [noharm][dead]
/stopmacro [channeling:Mind Flay]
/stopmacro [channeling:Mind Spike]
/stopmacro [channeling:Vampiric Touch]
/cast Shadowfiend
/console Sound_EnableSFX 0
]],
	StepFunction = [[
		stepa = "32179354837365"
		
		limit = string.len(stepa) or 1
		if stepc == nil then
			stepc = 1
		end
		if stepc >= limit then
			stepc = 1
		else
			stepc = stepc + 1
		end
		step = tonumber(strsub (stepa, stepc, stepc))
	]],

	-- Macro 1
	[[
/run("Executing macro 1!")
/cast [@player]Power Word: Shield
	]],
	
	-- Macro 2
	[[
/run("Executing macro 2!")
/cast !Cascade
	]],
	
	-- Macro 3
	[[
/run("Executing macro 3!")
/cast Mind Blast
	]],

	-- Macro 4
	[[
/run("Executing macro 4!")
/cast Shadow Word: Pain
	]],
	
    -- Macro 5
	[[
/run("Executing macro 5!")
/cast Mind Spike
	]],
	
    -- Macro 6
	[[
/run("Executing macro 6!")
/cast Devouring Plague
	]],
	
    -- Macro 7
	[[
/run("Executing macro 7!")
/cast Shadow Word: Death
	]],
	
    -- Macro 8
	[[
/run("Executing macro 8!")
/cast Vampiric Touch
	]],
	
    -- Macro 9
	[[
/run("Executing macro 9!")
/cast Dispel Magic
	]],
	PostMacro = [[
/console Sound_EnableSFX 1
/run UIErrorsFrame:Clear()
]],
}

–John Q.

I am no expert at these either but all the ones I have seen seem to have the step part at the top followed by the Pre-macro part then the actual sequences to be rotated.

I have not tried it but it may be the problem.

Try this:


Sequences["SPriestST"] = {
	StepFunction = [[
		stepa = "32179354837365"

		limit = string.len(stepa) or 1
		if stepc == nil then
			stepc = 1
		end
		if stepc >= limit then
			stepc = 1
		else
			stepc = stepc + 1
		end
		step = tonumber(strsub (stepa, stepc, stepc))
	]],
PreMacro = [[
/targetenemy [noharm][dead]
/stopmacro [channeling:Mind Flay]
/stopmacro [channeling:Mind Spike]
/stopmacro [channeling:Vampiric Touch]
/cast Shadowfiend
/console Sound_EnableSFX 0
]],

	'/cast [@player]Power Word: Shield',
	'/cast !Cascade',
	'/cast Mind Blast',
	'/cast Shadow Word: Pain',
	'/cast Mind Spike',
	'/cast Devouring Plague',
	'/cast Shadow Word: Death',
	'/cast Vampiric Touch',
	'/cast Dispel Magic',
PostMacro = [[
/console Sound_EnableSFX 1
/run UIErrorsFrame:Clear()
]],
}