7 Commits

Author SHA1 Message Date
Bluewhale1337 dbdd10b906 Update README.md
Fixing broken formating


Signed-off-by: Bluewhale1337 <295648290+Bluewhale1337@users.noreply.github.com>
2026-09-09 20:50:23 +02:00
Bluewhale1337 56b55f34ad Merge branch 'dev' into main
Signed-off-by: Bluewhale1337 <295648290+Bluewhale1337@users.noreply.github.com>
2026-09-09 18:53:27 +02:00
Bluewhale1337 135a8f6bcd fix: prevent incorrect druid unshifting from Tree of Life form and remove deprecated shapeshift event listeners 2026-09-09 18:43:50 +02:00
Bluewhale1337 7f5b1afe23 refactor: remove deprecated shapeshift form update logic and refine form detection criteria 2026-09-09 18:32:13 +02:00
Bluewhale1337 00a1ddf789 fix: prevent accidental unshifting while in Tree of Life or Healing Way forms 2026-09-09 17:32:38 +02:00
Bluewhale1337 74e940f41c fix: prevent shapeshift cancellation while in Tree of Life or Healing Way forms 2026-09-09 17:32:18 +02:00
Bluewhale1337 98b34f24b8 Fix: Exception for shapeshift queue to allow heals in tree form 2026-09-09 17:30:38 +02:00
3 changed files with 16 additions and 16 deletions
+1 -11
View File
@@ -300,9 +300,6 @@ local HealBot_EventHandlers = {
["PLAYER_ENTERING_WORLD"] = function(this) ["PLAYER_ENTERING_WORLD"] = function(this)
HealBot_Model:RefreshUnit("player") HealBot_Model:RefreshUnit("player")
HealBot_Model:RefreshUnit("pet") HealBot_Model:RefreshUnit("pet")
if HealBot_UnitClass("player") == "DRUID" then
HealBot_UpdateShapeshiftForm()
end
HealBot_OnEvent_PlayerEnteringWorld(this) HealBot_OnEvent_PlayerEnteringWorld(this)
end, end,
["VARIABLES_LOADED"] = function(this) ["VARIABLES_LOADED"] = function(this)
@@ -331,9 +328,7 @@ local HealBot_EventHandlers = {
HealBot_OnEvent_PlayerEquipmentChanged2(this, arg1) HealBot_OnEvent_PlayerEquipmentChanged2(this, arg1)
end, end,
["UNIT_PET"] = function(this, arg1) HealBot_OnEvent_PartyMembersChanged(this) end, ["UNIT_PET"] = function(this, arg1) HealBot_OnEvent_PartyMembersChanged(this) end,
["SPELLS_CHANGED"] = function(this, arg1) HealBot_OnEvent_SpellsChanged(this, arg1) 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
} }
-- HealBot_OnEvent: Event dispatcher for WoW UI events. -- HealBot_OnEvent: Event dispatcher for WoW UI events.
@@ -423,11 +418,6 @@ function HealBot_OnEvent_VariablesLoaded(this)
this:RegisterEvent("CHAT_MSG_ADDON"); this:RegisterEvent("CHAT_MSG_ADDON");
this:RegisterEvent("CHAT_MSG_SYSTEM"); this:RegisterEvent("CHAT_MSG_SYSTEM");
this:RegisterEvent("PLAYER_ENTERING_WORLD"); 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; HealBot_SpellsInitFlag = 2;
end end
end end
+11 -5
View File
@@ -859,10 +859,7 @@ function HealBot_Generic_Patten(matchStr, matchPattern)
return tmpTest, _HealsMin, _HealsMax; return tmpTest, _HealsMin, _HealsMax;
end end
-- HealBot_UpdateShapeshiftForm: Called on UPDATE_SHAPESHIFT_FORM
function HealBot_UpdateShapeshiftForm()
-- Deprecated
end
-- HealBot_GetShapeshiftForm: Detects active druid form to prevent invalid casts. -- HealBot_GetShapeshiftForm: Detects active druid form to prevent invalid casts.
function HealBot_GetShapeshiftForm() function HealBot_GetShapeshiftForm()
@@ -872,9 +869,18 @@ function HealBot_GetShapeshiftForm()
for i=1,forms do for i=1,forms do
local icon,name,active = GetShapeshiftFormInfo(i); local icon,name,active = GetShapeshiftFormInfo(i);
if active then if active then
return i; if icon then
local icon_lower = string.lower(icon)
-- Exclude non-standard/custom forms like Tree of Life from unshifting
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
end end
end end
end end
return nil; return nil;
end end
+4
View File
@@ -50,6 +50,10 @@ Default installation path: `C:\Program Files\World of Warcraft\Interface\AddOns\
### Change Log ### Change Log
**v1.7.1** **v1.7.1**
* **Bug Fix - Shapeshift Auto-Unshift** - Fixed an issue where the shapeshift spell queue would incorrectly pull druids out of Tree of Life form .
* **Cleanup** - Removed deprecated `UPDATE_SHAPESHIFT_FORM` event listeners and `HealBot_UpdateShapeshiftForm` function to save CPU cycles.
* **v1.7.2**
* **Performance Fix - Table Pooling** - Fixed massive Vanilla Lua 5.0 garbage collection memory leaks caused by unbounded table allocations in high-frequency update loops (e.g., `OnUpdate` and `PreserveStateByGUID`). Moved tables to file-local scope and implemented inline clearing. * **Performance Fix - Table Pooling** - Fixed massive Vanilla Lua 5.0 garbage collection memory leaks caused by unbounded table allocations in high-frequency update loops (e.g., `OnUpdate` and `PreserveStateByGUID`). Moved tables to file-local scope and implemented inline clearing.
* **Performance Fix - OOC Cleanup** - Added an out-of-combat garbage collection hook (`PLAYER_REGEN_ENABLED`) to purge disconnected senders from the `HealBot_IncomingHealers` global table, preventing memory bloat during prolonged play sessions. * **Performance Fix - OOC Cleanup** - Added an out-of-combat garbage collection hook (`PLAYER_REGEN_ENABLED`) to purge disconnected senders from the `HealBot_IncomingHealers` global table, preventing memory bloat during prolonged play sessions.
* **Bug Fix - Incoming Heals Comms** - Fixed a regex string parsing bug that caused incoming heals from other HealBot instances to drop if a unit's name contained non-alphabetic characters (e.g. dashes or spaces in pet names). * **Bug Fix - Incoming Heals Comms** - Fixed a regex string parsing bug that caused incoming heals from other HealBot instances to drop if a unit's name contained non-alphabetic characters (e.g. dashes or spaces in pet names).