NOTE I have created a plugin for all of my Warrior sequences, they are available at both Curseforge and Wago. Just search for ‘Elfyau’ or ‘GSE’
I’m releasing Protection Warrior v0.5, and this update focuses on smoother rage flow and more reliable defensive timing. I’ve refined how the macro handles core abilities so it feels steadier under pressure, especially during heavy damage moments and large pulls where consistency really matters.
As always, this version is built to improve through real gameplay and your feedback. Take it into keys or raids, see how it holds up when things get rough, and let me know how it feels. We’ll keep tuning it until it stands firm, no matter how hard the fight hits.
CHANGES:-
TALENTS: Changed hero set and other major changes.
SEQUENCE: Major changes to the sequence.
MACROS: All macros removed.
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!
He has a Bunch of Macros he is working on to update. this takes a lot of time and work just to write these things so try and have some patience, @Elfyau made a post on getting to these and updating them. You can actually do this on your own.
Hey! Amazing macro. But Im getting the addons experiencing large number of errors message while using it on some Dungeons. Can someone help me troubleshoot it?
Message: Interface/AddOns/GSE/API/Storage.lua:543: attempt to index field ‘?’ (a nil value)
Time: Sat Jul 5 15:30:58 2025
Count: 54
Stack:
[Interface/AddOns/Blizzard_FrameXML/RestrictedExecution.lua]:483: in function <…ace/AddOns/Blizzard_FrameXML/RestrictedExecution.lua:446>
[tail call]: ?
[Interface/AddOns/Blizzard_FrameXML/SecureHandlers.lua]:285: in function <…nterface/AddOns/Blizzard_FrameXML/SecureHandlers.lua:279>
[tail call]: ?
Locals:
owningFrame = EA_PW_v0.4 {
}
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 =
Message: Interface/AddOns/GSE/API/Storage.lua:543: attempt to index field ‘?’ (a nil value)
Time: Sat Jul 5 15:30:58 2025
Count: 864
Stack:
[Interface/AddOns/Blizzard_FrameXML/RestrictedExecution.lua]:483: in function <…ace/AddOns/Blizzard_FrameXML/RestrictedExecution.lua:446>
[tail call]: ?
[Interface/AddOns/Blizzard_FrameXML/SecureHandlers.lua]:285: in function <…nterface/AddOns/Blizzard_FrameXML/SecureHandlers.lua:279>
[tail call]: ?
Locals:
owningFrame = EA_PW_v0.4 {
}
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 =
These errors are being thrown by GSE while using my sequence, you will need to ask Timothyluke and see what it is. If it is something on my end let me know and I will fix it.
Then not much more help can be given. Looks like he said it’s something on your end. Either a addon is causing the issue or you have a bad import. I just tried the sequence and not having any issues or errors.
I just returned to the game today, and was trying to set these macros up again, but there has been a change in the talent trees, not sure when. Is there an updated talent tree, or at least a screenshot to be uploaded showing the new talents?