10 Commits

Author SHA1 Message Date
Bluewhale1337 496013ae9c Merge branch 'dev' of https://github.com/Bluewhale1337/HealBotBlue into dev 2026-08-09 12:11:57 +02:00
Bluewhale1337 f7443fcdf0 feat: increase icon limit to 10, add customizable icon size, and remove obsolete code 2026-08-09 12:11:29 +02:00
Bluewhale1337 a0d435eb70 Merge pull request #13 from Bluewhale1337/main
Merging minor changes from main to dev to sync up
2026-08-09 10:13:08 +02:00
Bluewhale1337 ad302f299e Merge pull request #12 from Bluewhale1337/dev
Dev merge
2026-08-05 22:26:36 +02:00
Bluewhale1337 6c4297c126 Update README.md
info about dev branch adses
2026-07-30 15:40:18 +02:00
Bluewhale1337 4f7a06ad6f Merge pull request #11 from Bluewhale1337/dev
Merge hotfixes to main
2026-07-26 14:11:10 +02:00
Bluewhale1337 caa3a03bc3 Merge pull request #10 from Bluewhale1337/dev
hotfix: add pet frame color support and update documentation with lat…
2026-07-21 19:02:19 +02:00
Bluewhale1337 5340eb253a Merge pull request #9 from Bluewhale1337/dev
Merge pull request #8 from Bluewhale1337/main
2026-07-21 13:52:32 +02:00
Bluewhale1337 5f015c89e5 Merge branch 'main' of https://github.com/Bluewhale1337/HealBotBlue 2026-07-21 13:48:03 +02:00
Bluewhale1337 e20c5baf74 docs: remove redundant trailing space in README version history 2026-07-21 13:48:00 +02:00
8 changed files with 80 additions and 18 deletions
+40
View File
@@ -73,6 +73,46 @@
</Anchor> </Anchor>
</Anchors> </Anchors>
</Texture> </Texture>
<Texture name="$parentIcon6" hidden="true">
<Size><AbsDimension x="12" y="12"/></Size>
<Anchors>
<Anchor point="LEFT" relativeTo="$parentIcon5" relativePoint="RIGHT">
<Offset><AbsDimension x="1" y="0"/></Offset>
</Anchor>
</Anchors>
</Texture>
<Texture name="$parentIcon7" hidden="true">
<Size><AbsDimension x="12" y="12"/></Size>
<Anchors>
<Anchor point="LEFT" relativeTo="$parentIcon6" relativePoint="RIGHT">
<Offset><AbsDimension x="1" y="0"/></Offset>
</Anchor>
</Anchors>
</Texture>
<Texture name="$parentIcon8" hidden="true">
<Size><AbsDimension x="12" y="12"/></Size>
<Anchors>
<Anchor point="LEFT" relativeTo="$parentIcon7" relativePoint="RIGHT">
<Offset><AbsDimension x="1" y="0"/></Offset>
</Anchor>
</Anchors>
</Texture>
<Texture name="$parentIcon9" hidden="true">
<Size><AbsDimension x="12" y="12"/></Size>
<Anchors>
<Anchor point="LEFT" relativeTo="$parentIcon8" relativePoint="RIGHT">
<Offset><AbsDimension x="1" y="0"/></Offset>
</Anchor>
</Anchors>
</Texture>
<Texture name="$parentIcon10" hidden="true">
<Size><AbsDimension x="12" y="12"/></Size>
<Anchors>
<Anchor point="LEFT" relativeTo="$parentIcon9" relativePoint="RIGHT">
<Offset><AbsDimension x="1" y="0"/></Offset>
</Anchor>
</Anchors>
</Texture>
</Layer> </Layer>
</Layers> </Layers>
</StatusBar> </StatusBar>
+4 -4
View File
@@ -160,7 +160,7 @@ function HealBot_OnEvent_UnitAura(this, unit)
if not HealBot_UnitIcons[unit] then if not HealBot_UnitIcons[unit] then
HealBot_UnitIcons[unit] = {} HealBot_UnitIcons[unit] = {}
end end
for j = 1, 5 do for j = 1, 10 do
HealBot_UnitIcons[unit][j] = nil HealBot_UnitIcons[unit][j] = nil
end end
local iconCount = 0 local iconCount = 0
@@ -168,7 +168,7 @@ function HealBot_OnEvent_UnitAura(this, unit)
while true do while true do
local debuff, tmp, debuff_type = UnitDebuff(unit, i, 1) local debuff, tmp, debuff_type = UnitDebuff(unit, i, 1)
if debuff then if debuff then
if iconCount < 5 then if iconCount < 10 then
iconCount = iconCount + 1 iconCount = iconCount + 1
HealBot_UnitIcons[unit][iconCount] = debuff HealBot_UnitIcons[unit][iconCount] = debuff
end end
@@ -190,7 +190,7 @@ function HealBot_OnEvent_UnitAura(this, unit)
while true do while true do
local buff = UnitBuff(unit, b) local buff = UnitBuff(unit, b)
if not buff then break end 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 iconCount = iconCount + 1
HealBot_UnitIcons[unit][iconCount] = buff HealBot_UnitIcons[unit][iconCount] = buff
end end
@@ -201,7 +201,7 @@ function HealBot_OnEvent_UnitAura(this, unit)
while true do while true do
local debuff = UnitDebuff(unit, d) local debuff = UnitDebuff(unit, d)
if not debuff then break end 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 iconCount = iconCount + 1
HealBot_UnitIcons[unit][iconCount] = debuff HealBot_UnitIcons[unit][iconCount] = debuff
end end
+2 -13
View File
@@ -246,6 +246,7 @@ HealBot_ConfigDefaults = {
bpadding = {[HEALBOT_SKINS_STD] = 10, ["HealBot Party"] = 10, ["HealBot Raid"] = 10, ["Alteric Valley"] = 10, ["Modern Flat"] = 10}, 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}, 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}, 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, ShowTooltip = 1,
ShowManaBars = 0, ShowManaBars = 0,
ManaBarsHealersOnly = 0, ManaBarsHealersOnly = 0,
@@ -274,18 +275,6 @@ HEALBOT_ADDON_ID="HealBot_Heals"
HealBot_AbortButton=1; HealBot_AbortButton=1;
HealBot_Groups = {
["ITEMS"] = {
HEALBOT_BANDAGES,
HEALBOT_HEALING_POTIONS,
HEALBOT_HEALTHSTONES,
},
["PALADIN"] = {
HEALBOT_HOLY_LIGHT,
HEALBOT_FLASH_OF_LIGHT,
},
}
HealBot_Spells = { HealBot_Spells = {
-- Cast = secs until effect starts -- Cast = secs until effect starts
-- Channel = secs until caster available -- Channel = secs until caster available
@@ -584,7 +573,7 @@ HealBot_Action_TooltipUnit=nil;
HealBot_Ressing = {}; HealBot_Ressing = {};
HealBot_IamRessing = false; HealBot_IamRessing = false;
-- Table Recycling Pool (Puppeteer-inspired) -- Table Recycling Pool
local tablePool = {} local tablePool = {}
function HealBot_GetTable() function HealBot_GetTable()
local t = table.remove(tablePool) local t = table.remove(tablePool)
+3
View File
@@ -301,6 +301,9 @@ function HealBot_Options_SetSkins()
HealBot_Options_BarAlphaInHeal:SetValue(HealBot_Config.BarcolaInHeal[HealBot_Config.Current_Skin]); HealBot_Options_BarAlphaInHeal:SetValue(HealBot_Config.BarcolaInHeal[HealBot_Config.Current_Skin]);
HealBot_Options_BarTextureS:SetValue(HealBot_Config.btexture[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_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_BarWidthS:SetValue(HealBot_Config.bwidth[HealBot_Config.Current_Skin])
HealBot_Options_BarNumColsS:SetValue(HealBot_Config.numcols[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) HealBot_Options_BarMaxRowsS:SetValue((HealBot_Config.bmaxrows and HealBot_Config.bmaxrows[HealBot_Config.Current_Skin]) or 0)
+5
View File
@@ -44,6 +44,11 @@ function HealBot_Options_FontHeight_OnValueChanged(this)
getglobal(this:GetName().."Text"):SetText(this.text .. ": " .. this:GetValue()); getglobal(this:GetName().."Text"):SetText(this.text .. ": " .. this:GetValue());
HealBot_Action_ResetSkin() HealBot_Action_ResetSkin()
end 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) function HealBot_Options_AbortBarSize_OnValueChanged(this)
HealBot_Config.abortsize[HealBot_Config.Current_Skin] = this:GetValue(); HealBot_Config.abortsize[HealBot_Config.Current_Skin] = this:GetValue();
getglobal(this:GetName().."Text"):SetText(this.text .. ": " .. this:GetValue()); getglobal(this:GetName().."Text"):SetText(this.text .. ": " .. this:GetValue());
+16
View File
@@ -360,6 +360,22 @@
<OnValueChanged>HealBot_Options_FontHeight_OnValueChanged(this)</OnValueChanged> <OnValueChanged>HealBot_Options_FontHeight_OnValueChanged(this)</OnValueChanged>
</Scripts> </Scripts>
</Slider> </Slider>
<Slider name="HealBot_Options_IconSizeS" inherits="HealBot_Options_SliderTemplate">
<Size>
<AbsDimension x="123" y="17" />
</Size>
<Anchors>
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_FontHeight" relativePoint="TOPRIGHT">
<Offset>
<AbsDimension x="10" y="0" />
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnLoad>HealBot_Options_val_OnLoad(this,"Icon size",5,30)</OnLoad>
<OnValueChanged>HealBot_Options_IconSizeS_OnValueChanged(this)</OnValueChanged>
</Scripts>
</Slider>
<Slider name="HealBot_Options_BorderThicknessS" inherits="HealBot_Options_SliderTemplate"> <Slider name="HealBot_Options_BorderThicknessS" inherits="HealBot_Options_SliderTemplate">
<Size> <Size>
+4 -1
View File
@@ -251,11 +251,14 @@ function HealBot_Action_EnableButton(button)
bar.txt:SetFont(fontName, fontHeight, "") bar.txt:SetFont(fontName, fontHeight, "")
end 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) local icon = getglobal(button:GetName() .. "BarIcon" .. i)
if icon then if icon then
if HealBot_UnitIcons and HealBot_UnitIcons[unit] and HealBot_UnitIcons[unit][i] then if HealBot_UnitIcons and HealBot_UnitIcons[unit] and HealBot_UnitIcons[unit][i] then
icon:SetTexture(HealBot_UnitIcons[unit][i]) icon:SetTexture(HealBot_UnitIcons[unit][i])
icon:SetWidth(iconSize)
icon:SetHeight(iconSize)
icon:Show() icon:Show()
else else
icon:Hide() icon:Hide()
+6
View File
@@ -7,6 +7,9 @@ Original HealBot, while being a staple healing addon in Wrath and later expansio
> **Performance First:** The raidframe is not library reliant - unlike popular raidframe replacement addons it doesn't rely at all on external frameworks. While this makes my work a bit harder this allows complete control over garbage collection and CPU use which makes it multiple times more stable and lightweight. > **Performance First:** The raidframe is not library reliant - unlike popular raidframe replacement addons it doesn't rely at all on external frameworks. While this makes my work a bit harder this allows complete control over garbage collection and CPU use which makes it multiple times more stable and lightweight.
### Development version
There is dev branch available, it might be slightly more unstabl but most of time it does have more features present. It's only merged into main when major feature set is implemented and stabilised.
### Reporting Errors ### Reporting Errors
Major errors will pop up a frame with error information. Take a screenshot and post comments. Major errors will pop up a frame with error information. Take a screenshot and post comments.
@@ -48,6 +51,9 @@ Default installation path: `C:\Program Files\World of Warcraft\Interface\AddOns\
**v1.6.3** **v1.6.3**
* **Hotfix string splitter** - added falback for string splitter if the the string is empty or nil. * **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** **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. * **Hotfix - raid and party frames** - if getNumRaidMembers() > 0 wrapper around extra bars stopped from displaying all frames blocked from displaying Extras\Raid.