diff --git a/mods/auto-stance.lua b/mods/auto-stance.lua index fc936b3..ec42dd9 100644 --- a/mods/auto-stance.lua +++ b/mods/auto-stance.lua @@ -10,37 +10,14 @@ local module = ShaguTweaks:register({ }) module.enable = function(self) - local stancedance = CreateFrame("Frame") - stancedance:RegisterEvent("UI_ERROR_MESSAGE") - stancedance:SetScript("OnEvent", function() stancedance.lastError = arg1 end) - - stancedance.lastError = "" + local stancedance = CreateFrame("Frame", "ShaguTweaksStancedance") stancedance.scanString = string.gsub(SPELL_FAILED_ONLY_SHAPESHIFT, "%%s", "(.+)") - stancedance.CastSpell = CastSpell - stancedance.CastSpellByName = CastSpellByName - stancedance.UseAction = UseAction - - stancedance.SwitchStance = function() - for stance in string.gfind(stancedance.lastError, stancedance.scanString) do - for _, stance in pairs({ strsplit(",", stance)}) do - stancedance.CastSpellByName(string.gsub(stance,"^%s*(.-)%s*$", "%1")) + stancedance:RegisterEvent("UI_ERROR_MESSAGE") + stancedance:SetScript("OnEvent", function() + for stances in string.gfind(arg1, stancedance.scanString) do + for _, stance in pairs({ strsplit(",", stances)}) do + CastSpellByName(string.gsub(stance,"^%s*(.-)%s*$", "%1")) end end - stancedance.lastError = "" - end - - function CastSpell(spellId, spellbookTabNum) - stancedance:SwitchStance() - stancedance.CastSpell(spellId, spellbookTabNum) - end - - function CastSpellByName(spellName, onSelf) - stancedance:SwitchStance() - stancedance.CastSpellByName(spellName, onSelf) - end - - function UseAction(slot, checkCursor, onSelf) - stancedance:SwitchStance() - stancedance.UseAction(slot, checkCursor, onSelf) - end + end) end