From f7443fcdf044614e08bd07ff9229e039e544fed2 Mon Sep 17 00:00:00 2001 From: Bluewhale1337 <295648290+Bluewhale1337@users.noreply.github.com> Date: Sun, 9 Aug 2026 12:11:29 +0200 Subject: [PATCH] feat: increase icon limit to 10, add customizable icon size, and remove obsolete code --- HealBot_Action.xml | 40 +++++++++++++++++++++++++++++++++++++ HealBot_Controller_Aura.lua | 8 ++++---- HealBot_Data.lua | 15 ++------------ HealBot_Options.lua | 3 +++ HealBot_Options_General.lua | 5 +++++ HealBot_Options_Skins.xml | 16 +++++++++++++++ HealBot_View_Layout.lua | 5 ++++- README.md | 3 +++ 8 files changed, 77 insertions(+), 18 deletions(-) diff --git a/HealBot_Action.xml b/HealBot_Action.xml index 8cfd040..9a82842 100644 --- a/HealBot_Action.xml +++ b/HealBot_Action.xml @@ -73,6 +73,46 @@ + + + + + diff --git a/HealBot_Controller_Aura.lua b/HealBot_Controller_Aura.lua index 29f9d75..7b85427 100644 --- a/HealBot_Controller_Aura.lua +++ b/HealBot_Controller_Aura.lua @@ -160,7 +160,7 @@ function HealBot_OnEvent_UnitAura(this, unit) if not HealBot_UnitIcons[unit] then HealBot_UnitIcons[unit] = {} end - for j = 1, 5 do + for j = 1, 10 do HealBot_UnitIcons[unit][j] = nil end local iconCount = 0 @@ -168,7 +168,7 @@ function HealBot_OnEvent_UnitAura(this, unit) while true do local debuff, tmp, debuff_type = UnitDebuff(unit, i, 1) if debuff then - if iconCount < 5 then + if iconCount < 10 then iconCount = iconCount + 1 HealBot_UnitIcons[unit][iconCount] = debuff end @@ -190,7 +190,7 @@ function HealBot_OnEvent_UnitAura(this, unit) while true do local buff = UnitBuff(unit, b) if not buff then break end - if HealBot_TrackedHoTs[buff] and iconCount < 5 then + if HealBot_TrackedHoTs[buff] and iconCount < 10 then iconCount = iconCount + 1 HealBot_UnitIcons[unit][iconCount] = buff end @@ -201,7 +201,7 @@ function HealBot_OnEvent_UnitAura(this, unit) while true do local debuff = UnitDebuff(unit, d) if not debuff then break end - if HealBot_TrackedHoTs[debuff] and iconCount < 5 then + if HealBot_TrackedHoTs[debuff] and iconCount < 10 then iconCount = iconCount + 1 HealBot_UnitIcons[unit][iconCount] = debuff end diff --git a/HealBot_Data.lua b/HealBot_Data.lua index 86d1b4c..387e68a 100644 --- a/HealBot_Data.lua +++ b/HealBot_Data.lua @@ -246,6 +246,7 @@ HealBot_ConfigDefaults = { bpadding = {[HEALBOT_SKINS_STD] = 10, ["HealBot Party"] = 10, ["HealBot Raid"] = 10, ["Alteric Valley"] = 10, ["Modern Flat"] = 10}, bboffset = {[HEALBOT_SKINS_STD] = 16, ["HealBot Party"] = 16, ["HealBot Raid"] = 16, ["Alteric Valley"] = 16, ["Modern Flat"] = 3}, bfontoutline = {[HEALBOT_SKINS_STD] = 0, ["HealBot Party"] = 0, ["HealBot Raid"] = 0, ["Alteric Valley"] = 0, ["Modern Flat"] = 1}, + biconsize = {[HEALBOT_SKINS_STD] = 12, ["HealBot Party"] = 12, ["HealBot Raid"] = 12, ["Alteric Valley"] = 12, ["Modern Flat"] = 12}, ShowTooltip = 1, ShowManaBars = 0, ManaBarsHealersOnly = 0, @@ -274,18 +275,6 @@ HEALBOT_ADDON_ID="HealBot_Heals" HealBot_AbortButton=1; -HealBot_Groups = { - ["ITEMS"] = { - HEALBOT_BANDAGES, - HEALBOT_HEALING_POTIONS, - HEALBOT_HEALTHSTONES, - }, - ["PALADIN"] = { - HEALBOT_HOLY_LIGHT, - HEALBOT_FLASH_OF_LIGHT, - }, -} - HealBot_Spells = { -- Cast = secs until effect starts -- Channel = secs until caster available @@ -584,7 +573,7 @@ HealBot_Action_TooltipUnit=nil; HealBot_Ressing = {}; HealBot_IamRessing = false; --- Table Recycling Pool (Puppeteer-inspired) +-- Table Recycling Pool local tablePool = {} function HealBot_GetTable() local t = table.remove(tablePool) diff --git a/HealBot_Options.lua b/HealBot_Options.lua index 7c49722..553aab7 100644 --- a/HealBot_Options.lua +++ b/HealBot_Options.lua @@ -301,6 +301,9 @@ function HealBot_Options_SetSkins() HealBot_Options_BarAlphaInHeal:SetValue(HealBot_Config.BarcolaInHeal[HealBot_Config.Current_Skin]); HealBot_Options_BarTextureS:SetValue(HealBot_Config.btexture[HealBot_Config.Current_Skin]) HealBot_Options_BarHeightS:SetValue(HealBot_Config.bheight[HealBot_Config.Current_Skin]) + HealBot_Options_AbortBarSize:SetValue(HealBot_Config.abortsize[HealBot_Config.Current_Skin]) + HealBot_Options_FontHeight:SetValue(HealBot_Config.btextheight[HealBot_Config.Current_Skin]) + HealBot_Options_IconSizeS:SetValue(HealBot_Config.biconsize[HealBot_Config.Current_Skin] or 12) HealBot_Options_BarWidthS:SetValue(HealBot_Config.bwidth[HealBot_Config.Current_Skin]) HealBot_Options_BarNumColsS:SetValue(HealBot_Config.numcols[HealBot_Config.Current_Skin]) HealBot_Options_BarMaxRowsS:SetValue((HealBot_Config.bmaxrows and HealBot_Config.bmaxrows[HealBot_Config.Current_Skin]) or 0) diff --git a/HealBot_Options_General.lua b/HealBot_Options_General.lua index 1bb5a40..89eb156 100644 --- a/HealBot_Options_General.lua +++ b/HealBot_Options_General.lua @@ -44,6 +44,11 @@ function HealBot_Options_FontHeight_OnValueChanged(this) getglobal(this:GetName().."Text"):SetText(this.text .. ": " .. this:GetValue()); HealBot_Action_ResetSkin() end +function HealBot_Options_IconSizeS_OnValueChanged(this) + HealBot_Config.biconsize[HealBot_Config.Current_Skin] = this:GetValue(); + getglobal(this:GetName().."Text"):SetText(this.text .. ": " .. this:GetValue()); + HealBot_Action_ResetSkin() +end function HealBot_Options_AbortBarSize_OnValueChanged(this) HealBot_Config.abortsize[HealBot_Config.Current_Skin] = this:GetValue(); getglobal(this:GetName().."Text"):SetText(this.text .. ": " .. this:GetValue()); diff --git a/HealBot_Options_Skins.xml b/HealBot_Options_Skins.xml index fb8abf9..a85fb30 100644 --- a/HealBot_Options_Skins.xml +++ b/HealBot_Options_Skins.xml @@ -360,6 +360,22 @@ HealBot_Options_FontHeight_OnValueChanged(this) + + + + + + + + + + + + + HealBot_Options_val_OnLoad(this,"Icon size",5,30) + HealBot_Options_IconSizeS_OnValueChanged(this) + + diff --git a/HealBot_View_Layout.lua b/HealBot_View_Layout.lua index 76c56e7..2af7eef 100644 --- a/HealBot_View_Layout.lua +++ b/HealBot_View_Layout.lua @@ -251,11 +251,14 @@ function HealBot_Action_EnableButton(button) bar.txt:SetFont(fontName, fontHeight, "") end - for i = 1, 5 do + local iconSize = HealBot_Config.biconsize[HealBot_Config.Current_Skin] or 12 + for i = 1, 10 do local icon = getglobal(button:GetName() .. "BarIcon" .. i) if icon then if HealBot_UnitIcons and HealBot_UnitIcons[unit] and HealBot_UnitIcons[unit][i] then icon:SetTexture(HealBot_UnitIcons[unit][i]) + icon:SetWidth(iconSize) + icon:SetHeight(iconSize) icon:Show() else icon:Hide() diff --git a/README.md b/README.md index 5df83bc..c0e9a53 100644 --- a/README.md +++ b/README.md @@ -48,6 +48,9 @@ Default installation path: `C:\Program Files\World of Warcraft\Interface\AddOns\ **v1.6.3** * **Hotfix string splitter** - added falback for string splitter if the the string is empty or nil. +* **UI Update - Icon Limit** - Increased maximum tracked buffs/debuffs per unit from 5 to 10. +* **UI Update - Customizable icon size** - Added an option to change size of HoT icons (default to 12px). +* **Cleanup** - Removed dead code `HealBot_Groups` table. **v1.6.2** * **Hotfix - raid and party frames** - if getNumRaidMembers() > 0 wrapper around extra bars stopped from displaying all frames blocked from displaying Extras\Raid.