Merge pull request #5 from Bluewhale1337/main

Hotfix merge to dev
This commit is contained in:
Bluewhale1337
2026-07-18 12:40:18 +02:00
committed by GitHub
4 changed files with 35 additions and 28 deletions
+4 -4
View File
@@ -22,9 +22,9 @@ function HealBot_ShouldHeal(unit)
end end
function HealBot_Action_ShouldHealSome() function HealBot_Action_ShouldHealSome()
return table.foreach(HealBot_Action_HealButtons, function (index,button) for index, button in pairs(HealBot_Action_HealButtons) do
if (HealBot_ShouldHeal(button.unit)) then return button.unit; end if (HealBot_ShouldHeal(button.unit)) then return button.unit; end
end); end
end end
function HealBot_MustHeal(unit) function HealBot_MustHeal(unit)
@@ -32,9 +32,9 @@ function HealBot_MustHeal(unit)
end end
function HealBot_Action_MustHealSome() function HealBot_Action_MustHealSome()
return table.foreach(HealBot_Action_HealButtons, function (index,button) for index, button in pairs(HealBot_Action_HealButtons) do
if (HealBot_MustHeal(button.unit)) then return button.unit; end if (HealBot_MustHeal(button.unit)) then return button.unit; end
end); end
end end
function HealBot_GetRezSpellForClass() function HealBot_GetRezSpellForClass()
+11 -7
View File
@@ -115,13 +115,6 @@ function HealBot_CheckBuffs(unit)
end end
end end
function HealBot_OnEvent_UnitAura(this, unit)
local DebuffType;
if HealBot_Heals[unit] and unit ~= "target" then
HealBot_UnitIcons[unit] = {}
local iconCount = 0
local HealBot_TrackedHoTs = { local HealBot_TrackedHoTs = {
["Interface\\Icons\\Spell_Holy_Renew"] = true, ["Interface\\Icons\\Spell_Holy_Renew"] = true,
["Interface\\Icons\\Spell_Nature_Rejuvenation"] = true, ["Interface\\Icons\\Spell_Nature_Rejuvenation"] = true,
@@ -132,6 +125,17 @@ function HealBot_OnEvent_UnitAura(this, unit)
["Interface\\Icons\\btnholyscriptures"] = true, ["Interface\\Icons\\btnholyscriptures"] = true,
} }
function HealBot_OnEvent_UnitAura(this, unit)
local DebuffType;
if HealBot_Heals[unit] and unit ~= "target" then
if not HealBot_UnitIcons[unit] then
HealBot_UnitIcons[unit] = {}
end
for j = 1, 5 do
HealBot_UnitIcons[unit][j] = nil
end
local iconCount = 0
local i = 1; local i = 1;
while true do while true do
local debuff, tmp, debuff_type = UnitDebuff(unit, i, 1) local debuff, tmp, debuff_type = UnitDebuff(unit, i, 1)
+11 -11
View File
@@ -255,9 +255,9 @@ function HealBot_Action_EnableButton(button)
end end
function HealBot_Action_EnableButtons() function HealBot_Action_EnableButtons()
table.foreach(HealBot_Action_HealButtons, function (index, button) for index, button in pairs(HealBot_Action_HealButtons) do
HealBot_Action_EnableButton(button); HealBot_Action_EnableButton(button)
end); end
end end
function HealBot_Action_RefreshButton(button) function HealBot_Action_RefreshButton(button)
@@ -285,13 +285,13 @@ end
function HealBot_Action_RefreshButtons(unit) function HealBot_Action_RefreshButtons(unit)
if unit and HealBot_Action_UnitButtons[unit] then if unit and HealBot_Action_UnitButtons[unit] then
table.foreach(HealBot_Action_UnitButtons[unit], function (index, button) for index, button in pairs(HealBot_Action_UnitButtons[unit]) do
HealBot_Action_RefreshButton(button); HealBot_Action_RefreshButton(button)
end); end
else else
table.foreach(HealBot_Action_HealButtons, function (index, button) for index, button in pairs(HealBot_Action_HealButtons) do
HealBot_Action_RefreshButton(button); HealBot_Action_RefreshButton(button)
end); end
end end
end end
@@ -748,7 +748,7 @@ function HealBot_Action_PartyChanged()
local i = 0; local i = 0;
local z = 1; local z = 1;
table.foreach(HealBot_Action_HealButtons, function (index, button) for index, button in pairs(HealBot_Action_HealButtons) do
i = i + 1; i = i + 1;
local checked = false; local checked = false;
local header; local header;
@@ -787,7 +787,7 @@ function HealBot_Action_PartyChanged()
bar:SetScale(barScale); bar:SetScale(barScale);
bar2:SetHeight(bheight); bar2:SetHeight(bheight);
HealBot_Action_SetTexture(bar2, btexture); HealBot_Action_SetTexture(bar2, btexture);
end); end
if MaxOffsetY < OffsetY then MaxOffsetY = OffsetY; end if MaxOffsetY < OffsetY then MaxOffsetY = OffsetY; end
+4 -1
View File
@@ -41,11 +41,14 @@ Default installation path: `C:\Program Files\World of Warcraft\Interface\AddOns\
### Change Log ### Change Log
**v1.5** **v1.5**
* **Macro, Item, and Script Bindings:** Support for binding named macros, inventory items, and inline scripts (e.g. `/target`) directly to mouse clicks in the Spells tab. All of these now natively support implicit `@mouseover` targeting on the unit frame you click, without losing your current target. * **Macro, Item, and Script Bindings:** Support for binding named macros, inventory items, and inline scripts (e.g. `/target`) directly to mouse clicks in the Spells tab. All of these now natively support implicit `@mouseover` targeting on the unit frame you click, without losing your current target.
* **Modifier-Aware Tooltips & Resource Costs:** The tooltip dynamically updates to show exactly what action is bound when holding down Shift, Ctrl, or Alt over a frame. Spells also show their required mana cost, turning red if you do not have enough mana to cast them. * **Modifier-Aware Tooltips & Resource Costs:** The tooltip dynamically updates to show exactly what action is bound when holding down Shift, Ctrl, or Alt over a frame. Spells also show their required mana cost, turning red if you do not have enough mana to cast them.
* **Memory Recycling Pool:** Added a local table recycling pool in the data layer to greatly reduce Lua garbage collection (GC) spikes, improving overall client frame rates during intense combat. * **Memory Recycling Pool:** Added a local table recycling pool in the data layer to greatly reduce Lua garbage collection (GC) spikes, improving overall client frame rates during intense combat.
**v1.4.2**
* **Memory Optimization:** Fixed a significant memory leak where tracking tables were being repeatedly allocated every tick during aura scanning, and replaced `table.foreach` with pairs loops to avoid GC spikes during combat.
**v1.4.1** **v1.4.1**
* **Talent-based Healing Calculations:** Implemented dynamic spell healing calculations for Druid, Priest, and Paladin classes based on talents. * **Talent-based Healing Calculations:** Implemented dynamic spell healing calculations for Druid, Priest, and Paladin classes based on talents.
* **Modifier Key Polling:** Replaced MODIFIER_STATE_CHANGED event with polling in HealBot_OnUpdate to track modifier keys reliably. * **Modifier Key Polling:** Replaced MODIFIER_STATE_CHANGED event with polling in HealBot_OnUpdate to track modifier keys reliably.