NOTE I have created a plugin for all of my Demon Hunter sequences, they are available at both Curseforge and Wago. Just search for ‘Elfyau’ or ‘GSE’
This is my first max-level release of the sequence, built so you can dive straight into endgame content and keep the chaos flowing without setup headaches. There’s still some tidying to do, but the core rotation is in place, and it should feel smooth as Fury generates and your heavy-hitting abilities come online.
From testing, it’s already producing solid output and handling real fights well. I’ll keep refining it, but for now it should feel fast, aggressive, and very Havoc
Unless otherwise stated RECOMMENDED Talents can be found at the links below:
Refer to: Wowhead | Icy-Veins | Archon | MaxRoll
Thank you,
Elfyau
This package consists of 1 elements.
Sequences
EA_HDH_v0.2
CHANGES:-
TALENTS: Minor talent changes.
SEQUENCE: Moderate changes to the sequence.
MACROS: None.
Your feedback is the secret ingredient that transforms great macros into legendary ones! Every click, comment, and suggestion is a building block for future awesomeness.
Let’s work together to create macros that elevate your gameplay to the next level. Help me make them smoother, stronger, and faster! Let’s unlock the full potential of your character together!
P.S. You can find me on Patreon and other social links at: Links - Elfyau
Elfy! You have done it again thanks for the amazing macro so good if I would say only one maybe not Blur as much but thats just being picky lol thanks again
I’m getting this error when running this after about 45 seconds.
Message: Interface/AddOns/GSE/API/Storage.lua:547: attempt to index field ‘?’ (a nil value)
Time: Mon Feb 9 12:45:24 2026
Count: 9
Stack:
[Interface/AddOns/Blizzard_RestrictedAddOnEnvironment/RestrictedExecution.lua]:485: in function <…d_RestrictedAddOnEnvironment/RestrictedExecution.lua:448>
[tail call]: ?
[Interface/AddOns/Blizzard_RestrictedAddOnEnvironment/SecureHandlers.lua]:285: in function <…izzard_RestrictedAddOnEnvironment/SecureHandlers.lua:279>
[tail call]: ?
Locals:
owningFrame = EA_HDH_v0.1 {
}
signature = “self,button,down”
body = " local mods = “RALT=” .. tostring(IsRightAltKeyDown()) .. “|” ..
“LALT=”.. tostring(IsLeftAltKeyDown()) .. “|” ..
“AALT=” .. tostring(IsAltKeyDown()) .. “|” ..
“RCTRL=” .. tostring(IsRightControlKeyDown()) .. “|” ..
“LCTRL=” .. tostring(IsLeftControlKeyDown()) .. “|” ..
“ACTRL=” .. tostring(IsControlKeyDown()) .. “|” ..
“RSHIFT=” .. tostring(IsRightShiftKeyDown()) .. “|” ..
“LSHIFT=” .. tostring(IsLeftShiftKeyDown()) .. “|” ..
“ASHIFT=” .. tostring(IsShiftKeyDown()) .. “|” ..
“AMOD=” .. tostring(IsModifierKeyDown()) .. “|” ..
“MOUSEBUTTON=” .. GetMouseButtonClicked()
self:SetAttribute(‘localmods’, mods)
local iteration = self:GetAttribute(‘iteration’) or 1
local step = self:GetAttribute(‘step’)
step = tonumber(step)
iteration = tonumber(iteration)
if self:GetAttribute(‘stepped’) then
self:SetAttribute(‘stepped’, false)
else
for k,v in pairs(spelllist[iteration][step]) do
if k == “macrotext” then
factory = {
}
LOCAL_Closure_Factories = {
self = {
}
self,button,down = {
}
}
LOCAL_execution_count = 1
Well damn… I’ve deleted all my havoc sequences prior to importing this one. Is there another way to purge GSE of all the sequences besides right-click → delete?
I am very new here and can’t figure out how to make this work. I have GSE and your macro files both installed but can’t get them to keybind and actually use them
If you mean the plugins then in GSE you have to go to the plugin section in GSE and then left click on the plugin to import the sequences - then you should be able to see them to bind them
I see all of the sequences that say default and configuration, I just don’t understand how to select binds for them. I apologize its my first time using all of this. I see all fo the block type repeats and loop but just cant figure out how to bind
I get the same LUA error. I posted into AI and it returned these results.
This error in GSE (Gnome Sequencer: Enhanced), specifically at Storage.lua:547, is commonly caused by a corrupted custom sequence in your stored data.
The stack trace shows it’s happening during macro execution in a secure environment (Blizzard_RestrictedAddOnEnvironment), likely when GSE tries to access spelllist[iteration][step] (as seen in the locals: for k,v in pairs(spelllist[iteration][step]) do). The ‘?’ in the error indicates a nil table is being indexed, often due to malformed sequence data from a bad import, edit, or save (possibly in combat queue).
It suggested to run /gse forceclean and /gse cleanorphans which I did and the error still pops up.
Getting this error aswell and i did delete and reimported
10596x GSE/API/Storage.lua:796: attempt to index field ‘?’ (a nil value)
[Blizzard_RestrictedAddOnEnvironment/RestrictedFrames.lua]:697: in function <…zard_RestrictedAddOnEnvironment/RestrictedFrames.lua:695> C: ? C: ?
[Blizzard_RestrictedAddOnEnvironment/RestrictedFrames.lua]:701: in function <…zard_RestrictedAddOnEnvironment/RestrictedFrames.lua:700>
[Blizzard_RestrictedAddOnEnvironment/RestrictedFrames.lua]:839: in function ‘CallMethod’
[ local mods = “RALT=” .. tostring(IsRightAltKeyDown()) .. “|” ..
“LALT=”.. tostring(IsLeftAltKeyDown()) .. “|” ..
“AALT=” .. tostring(IsAltKeyDown()) .. “|” ..
“RCTRL=” .. tostring(IsRightControlKeyDown()) .. “|” ..
“LCTRL=” .. tostring(IsLeftControlKeyDown()) .. “|” ..
“ACTRL=” .. tostring(IsControlKeyDown()) .. “|” ..
“RSHIFT=” .. tostring(IsRightShiftKeyDown()) .. “|” ..
“LSHIFT=” .. tostring(IsLeftShiftKeyDown()) .. “|” ..
“ASHIFT=” .. tostring(IsShiftKeyDown()) .. “|” ..
“AMOD=” .. tostring(IsModifierKeyDown()) .. “|” ..
“MOUSEBUTTON=” .. GetMouseButtonClicked()
self:SetAttribute(‘localmods’, mods)
local step = self:GetAttribute(‘step’)
local iteration = self:GetAttribute(‘iteration’) or 1
step = tonumber(step)
iteration = tonumber(iteration)
for k,v in pairs(spelllist[iteration][step]) do
if k == “macrotext” then
self:SetAttribute(“macro”, nil )
self:SetAttribute(“unit”, nil )
elseif k == “macro” then
self:SetAttribute(“macrotext”, nil )
self:SetAttribute(“unit”, nil )
elseif k == “Icon” then
– skip
end
self:SetAttribute(k, v )
end
if step < #spelllist[iteration] then
step = step % #spelllist[iteration] + 1
else
iteration = iteration % maxsequences + 1
step = 1
end
self:SetAttribute('step', step)
self:SetAttribute('iteration', iteration)
self:CallMethod('UpdateIcon')
]:38: in function <[string " local mods = "RALT=" .. tostring(IsRigh..."]:1>
[Blizzard_RestrictedAddOnEnvironment/RestrictedExecution.lua]:485: in function <…d_RestrictedAddOnEnvironment/RestrictedExecution.lua:448> tail call: ?
[Blizzard_RestrictedAddOnEnvironment/SecureHandlers.lua]:285: in function <…izzard_RestrictedAddOnEnvironment/SecureHandlers.lua:279> tail call: ?
Locals:
message = “GSE/API/Storage.lua:796: attempt to index field ‘?’ (a nil value)”
solution for me to fix this was to delete the 2 GSE files inhere /World of Warcraft_retail_\WTF\Account\—–YOUR AC NAME—-\SavedVariables
and reimport the GSE stings again