mirror of
https://github.com/Bluewhale1337/HealBotBlue.git
synced 2026-07-27 09:44:44 +00:00
+4
-4
@@ -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()
|
||||||
|
|||||||
@@ -115,14 +115,7 @@ function HealBot_CheckBuffs(unit)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function HealBot_OnEvent_UnitAura(this, unit)
|
local HealBot_TrackedHoTs = {
|
||||||
local DebuffType;
|
|
||||||
|
|
||||||
if HealBot_Heals[unit] and unit ~= "target" then
|
|
||||||
HealBot_UnitIcons[unit] = {}
|
|
||||||
local iconCount = 0
|
|
||||||
|
|
||||||
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,
|
||||||
["Interface\\Icons\\Spell_Nature_ResistNature"] = true,
|
["Interface\\Icons\\Spell_Nature_ResistNature"] = true,
|
||||||
@@ -130,8 +123,19 @@ function HealBot_OnEvent_UnitAura(this, unit)
|
|||||||
["Interface\\Icons\\Spell_Holy_SealOfProtection"] = true,
|
["Interface\\Icons\\Spell_Holy_SealOfProtection"] = true,
|
||||||
["Interface\\Icons\\Spell_Holy_Excorcism"] = true,
|
["Interface\\Icons\\Spell_Holy_Excorcism"] = true,
|
||||||
["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
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
Reference in New Issue
Block a user