diff --git a/HealBot_Controller_Events.lua b/HealBot_Controller_Events.lua index 4550b94..5aed545 100644 --- a/HealBot_Controller_Events.lua +++ b/HealBot_Controller_Events.lua @@ -298,9 +298,6 @@ local HealBot_EventHandlers = { ["PLAYER_ENTERING_WORLD"] = function(this) HealBot_Model:RefreshUnit("player") HealBot_Model:RefreshUnit("pet") - if HealBot_UnitClass("player") == "DRUID" then - HealBot_UpdateShapeshiftForm() - end HealBot_OnEvent_PlayerEnteringWorld(this) end, ["VARIABLES_LOADED"] = function(this) @@ -329,9 +326,7 @@ local HealBot_EventHandlers = { HealBot_OnEvent_PlayerEquipmentChanged2(this, arg1) end, ["UNIT_PET"] = function(this, arg1) HealBot_OnEvent_PartyMembersChanged(this) end, - ["SPELLS_CHANGED"] = function(this, arg1) HealBot_OnEvent_SpellsChanged(this, arg1) end, - ["UPDATE_SHAPESHIFT_FORM"] = function(this) HealBot_UpdateShapeshiftForm() end, - ["UPDATE_SHAPESHIFT_FORMS"] = function(this) HealBot_UpdateShapeshiftForm() end + ["SPELLS_CHANGED"] = function(this, arg1) HealBot_OnEvent_SpellsChanged(this, arg1) end } -- HealBot_OnEvent: Event dispatcher for WoW UI events. @@ -420,11 +415,6 @@ function HealBot_OnEvent_VariablesLoaded(this) this:RegisterEvent("CHAT_MSG_ADDON"); this:RegisterEvent("CHAT_MSG_SYSTEM"); this:RegisterEvent("PLAYER_ENTERING_WORLD"); - if class == "DRUID" then - this:RegisterEvent("UPDATE_SHAPESHIFT_FORM"); - this:RegisterEvent("UPDATE_SHAPESHIFT_FORMS"); - HealBot_UpdateShapeshiftForm(); - end HealBot_SpellsInitFlag = 2; end end diff --git a/HealBot_Controller_Spells.lua b/HealBot_Controller_Spells.lua index 0ee9d6c..806b9d6 100644 --- a/HealBot_Controller_Spells.lua +++ b/HealBot_Controller_Spells.lua @@ -857,10 +857,7 @@ function HealBot_Generic_Patten(matchStr, matchPattern) return tmpTest, _HealsMin, _HealsMax; end --- HealBot_UpdateShapeshiftForm: Called on UPDATE_SHAPESHIFT_FORM -function HealBot_UpdateShapeshiftForm() - -- Deprecated -end + -- HealBot_GetShapeshiftForm: Detects active druid form to prevent invalid casts. function HealBot_GetShapeshiftForm() @@ -870,11 +867,14 @@ function HealBot_GetShapeshiftForm() for i=1,forms do local icon,name,active = GetShapeshiftFormInfo(i); if active then - -- Do not unshift from Tree of Life form - if icon and (string.find(string.lower(icon), "treeoflife") or string.find(string.lower(icon), "healingway")) then - return nil; + if icon then + local icon_lower = string.lower(icon) + if not string.find(icon_lower, "humanoidform") and not string.find(icon_lower, "treeoflife") and not string.find(icon_lower, "healingway") and not string.find(icon_lower, "stoneclawtotem") then + return i; + end + else + return i; end - return i; end end end