mirror of
https://github.com/Bluewhale1337/HealBotBlue.git
synced 2026-07-27 09:44:44 +00:00
Re
factor: fix UI layout overlaps and anchor constraints in options menu and update changelog
This commit is contained in:
+7
-5
@@ -391,7 +391,8 @@ function HealBot_Action_SetHeightWidth(width,height,bwidth)
|
||||
end
|
||||
HealBot_Action:SetHeight(height);
|
||||
HealBot_ActionHeight = height;
|
||||
HealBot_Action:SetWidth(width+bwidth+10)
|
||||
local bpadding = (HealBot_Config.bpadding and HealBot_Config.bpadding[HealBot_Config.Current_Skin]) or 10
|
||||
HealBot_Action:SetWidth(width+bwidth+bpadding)
|
||||
end
|
||||
|
||||
function HealBot_Action_SetHealButton(index,unit)
|
||||
@@ -776,7 +777,7 @@ if not HealBot_IsFighting then
|
||||
if HealBot_Config.HideOptions==1 then
|
||||
HealBot_Action_OptionsButton:Hide();
|
||||
else
|
||||
HealBot_Action_OptionsButton:SetPoint("BOTTOM","HealBot_Action","BOTTOM",0,10);
|
||||
HealBot_Action_OptionsButton:SetPoint("BOTTOM","HealBot_Action","BOTTOM",0,bpadding);
|
||||
HealBot_Action_OptionsButton:Show();
|
||||
MaxOffsetY = MaxOffsetY+30;
|
||||
end
|
||||
@@ -804,8 +805,8 @@ if not HealBot_IsFighting then
|
||||
HealBot_Action_AbortButton:SetWidth(width)
|
||||
HealBot_Action_AbortButton:SetHeight(bheight+abortsize);
|
||||
if HealBot_Config.HideOptions==1 then
|
||||
HealBot_Action_AbortButton:SetPoint("BOTTOM","HealBot_Action","BOTTOM",0,10);
|
||||
bar:SetPoint("BOTTOM","HealBot_Action","BOTTOM",0,10);
|
||||
HealBot_Action_AbortButton:SetPoint("BOTTOM","HealBot_Action","BOTTOM",0,bpadding);
|
||||
bar:SetPoint("BOTTOM","HealBot_Action","BOTTOM",0,bpadding);
|
||||
else
|
||||
HealBot_Action_AbortButton:SetPoint("BOTTOM","HealBot_Action_OptionsButton","TOP",0,10);
|
||||
bar:SetPoint("BOTTOM","HealBot_Action_OptionsButton","TOP",0,10);
|
||||
@@ -815,7 +816,7 @@ if not HealBot_IsFighting then
|
||||
|
||||
|
||||
|
||||
HealBot_Action_SetHeightWidth(OffsetX, MaxOffsetY+10, bwidth);
|
||||
HealBot_Action_SetHeightWidth(OffsetX, MaxOffsetY+bpadding, bwidth);
|
||||
end
|
||||
HealBot_Action_RefreshButtons();
|
||||
end
|
||||
@@ -1304,3 +1305,4 @@ end
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
+62
-56
@@ -1701,62 +1701,68 @@ function HealBot_Options_Buff_Initialize()
|
||||
func = HealBot_Options_Buff_OnClick,
|
||||
value = i
|
||||
}
|
||||
UIDropDownMenu_AddButton(info)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function HealBot_Options_Buff_OnClick()
|
||||
local frameName = UIDROPDOWNMENU_OPEN_MENU
|
||||
local frame = getglobal(frameName)
|
||||
local myClass = UnitClass("player")
|
||||
local id = frame:GetID()
|
||||
|
||||
if not HealBot_Config.BuffDropDowns then HealBot_Config.BuffDropDowns = {} end
|
||||
if not HealBot_Config.BuffDropDowns[myClass] then HealBot_Config.BuffDropDowns[myClass] = {} end
|
||||
HealBot_Config.BuffDropDowns[myClass][id] = this.value
|
||||
|
||||
local text = "None"
|
||||
if this.value > 0 then
|
||||
text = HealBot_Buff_Spells[myClass][this.value]
|
||||
end
|
||||
|
||||
UIDropDownMenu_SetSelectedID(frame, this.value + 1)
|
||||
UIDropDownMenu_SetText(text, frame)
|
||||
end
|
||||
|
||||
function HealBot_Options_SetBuffs()
|
||||
local myClass = UnitClass("player")
|
||||
if HealBot_Options_BuffWatch then
|
||||
HealBot_Options_BuffWatch:SetChecked(HealBot_Config.BuffWatch)
|
||||
HealBot_Options_BuffWatchInCombat:SetChecked(HealBot_Config.BuffWatchInCombat)
|
||||
if HealBot_Config.BuffWatch == 0 then
|
||||
HealBot_Options_BuffWatchInCombat:Disable()
|
||||
else
|
||||
HealBot_Options_BuffWatchInCombat:Enable()
|
||||
end
|
||||
end
|
||||
|
||||
if not HealBot_Config.BuffDropDowns then HealBot_Config.BuffDropDowns = {} end
|
||||
if not HealBot_Config.BuffDropDowns[myClass] then HealBot_Config.BuffDropDowns[myClass] = {} end
|
||||
|
||||
for i = 1, 8 do
|
||||
local dropDown = getglobal("HealBot_Options_Buff" .. i)
|
||||
if dropDown then
|
||||
local val = HealBot_Config.BuffDropDowns[myClass][i] or 0
|
||||
UIDropDownMenu_Initialize(dropDown, HealBot_Options_Buff_Initialize)
|
||||
UIDropDownMenu_SetSelectedID(dropDown, val + 1)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
UIDropDownMenu_AddButton(info)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
function HealBot_Options_Buff_OnClick()
|
||||
local frameName = UIDROPDOWNMENU_OPEN_MENU
|
||||
local frame = getglobal(frameName)
|
||||
local myClass = UnitClass("player")
|
||||
local id = frame:GetID()
|
||||
|
||||
if not HealBot_Config.BuffDropDowns then HealBot_Config.BuffDropDowns = {} end
|
||||
if not HealBot_Config.BuffDropDowns[myClass] then HealBot_Config.BuffDropDowns[myClass] = {} end
|
||||
HealBot_Config.BuffDropDowns[myClass][id] = this.value
|
||||
|
||||
local text = "None"
|
||||
if this.value > 0 then
|
||||
text = HealBot_Buff_Spells[myClass][this.value]
|
||||
end
|
||||
|
||||
UIDropDownMenu_SetSelectedID(frame, this.value + 1)
|
||||
UIDropDownMenu_SetText(text, frame)
|
||||
end
|
||||
|
||||
function HealBot_Options_SetBuffs()
|
||||
local myClass = UnitClass("player")
|
||||
if HealBot_Options_BuffWatch then
|
||||
HealBot_Options_BuffWatch:SetChecked(HealBot_Config.BuffWatch)
|
||||
HealBot_Options_BuffWatchInCombat:SetChecked(HealBot_Config.BuffWatchInCombat)
|
||||
if HealBot_Config.BuffWatch == 0 then
|
||||
HealBot_Options_BuffWatchInCombat:Disable()
|
||||
else
|
||||
HealBot_Options_BuffWatchInCombat:Enable()
|
||||
end
|
||||
end
|
||||
|
||||
if not HealBot_Config.BuffDropDowns then HealBot_Config.BuffDropDowns = {} end
|
||||
if not HealBot_Config.BuffDropDowns[myClass] then HealBot_Config.BuffDropDowns[myClass] = {} end
|
||||
|
||||
for i = 1, 8 do
|
||||
local dropDown = getglobal("HealBot_Options_Buff" .. i)
|
||||
if dropDown then
|
||||
local val = HealBot_Config.BuffDropDowns[myClass][i] or 0
|
||||
UIDropDownMenu_Initialize(dropDown, HealBot_Options_Buff_Initialize)
|
||||
UIDropDownMenu_SetSelectedID(dropDown, val + 1)
|
||||
end
|
||||
|
||||
local selfCheck = getglobal("HealBot_Options_BuffSelf" .. i)
|
||||
if selfCheck then
|
||||
if HealBot_Config.BuffWatchSelf and HealBot_Config.BuffWatchSelf[i] then
|
||||
selfCheck:SetChecked(HealBot_Config.BuffWatchSelf[i])
|
||||
else
|
||||
selfCheck:SetChecked(0)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
function HealBot_Options_FramePaddingS_OnValueChanged(this)
|
||||
if not HealBot_Config.bpadding then HealBot_Config.bpadding = {} end
|
||||
|
||||
+65
-60
@@ -241,8 +241,8 @@
|
||||
<CheckButton name="HealBot_Options_ManaBarsHealersOnly" inherits="OptionsCheckButtonTemplate">
|
||||
<Anchors>
|
||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_ShowManaBars" relativePoint="BOTTOMLEFT">
|
||||
<Offset>
|
||||
<AbsDimension x="20" y="5" />
|
||||
<Offset>
|
||||
<AbsDimension x="20" y="-2" />
|
||||
</Offset>
|
||||
</Anchor>
|
||||
</Anchors>
|
||||
@@ -307,9 +307,9 @@
|
||||
|
||||
<CheckButton name="HealBot_Options_HideOptions" inherits="OptionsCheckButtonTemplate">
|
||||
<Anchors>
|
||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_ShowManaBars" relativePoint="BOTTOMLEFT">
|
||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_ManaBarsHealersOnly" relativePoint="BOTTOMLEFT">
|
||||
<Offset>
|
||||
<AbsDimension x="20" y="-10" />
|
||||
<AbsDimension x="-20" y="-2" />
|
||||
</Offset>
|
||||
</Anchor>
|
||||
</Anchors>
|
||||
@@ -321,9 +321,9 @@
|
||||
</CheckButton>
|
||||
<CheckButton name="HealBot_Options_HideAbort" inherits="OptionsCheckButtonTemplate">
|
||||
<Anchors>
|
||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_HideOptions" relativePoint="BOTTOMLEFT">
|
||||
<Offset>
|
||||
<AbsDimension x="0" y="5" />
|
||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_HideOptions" relativePoint="BOTTOMLEFT">
|
||||
<Offset>
|
||||
<AbsDimension x="0" y="-2" />
|
||||
</Offset>
|
||||
</Anchor>
|
||||
</Anchors>
|
||||
@@ -334,9 +334,9 @@
|
||||
</CheckButton>
|
||||
<CheckButton name="HealBot_Options_QualityRange" inherits="OptionsCheckButtonTemplate">
|
||||
<Anchors>
|
||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_HideAbort" relativePoint="BOTTOMLEFT">
|
||||
<Offset>
|
||||
<AbsDimension x="0" y="5" />
|
||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_HideAbort" relativePoint="BOTTOMLEFT">
|
||||
<Offset>
|
||||
<AbsDimension x="0" y="-2" />
|
||||
</Offset>
|
||||
</Anchor>
|
||||
</Anchors>
|
||||
@@ -347,9 +347,9 @@
|
||||
</CheckButton>
|
||||
<CheckButton name="HealBot_Options_ProtectPvP" inherits="OptionsCheckButtonTemplate">
|
||||
<Anchors>
|
||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_QualityRange" relativePoint="BOTTOMLEFT">
|
||||
<Offset>
|
||||
<AbsDimension x="0" y="5" />
|
||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_QualityRange" relativePoint="BOTTOMLEFT">
|
||||
<Offset>
|
||||
<AbsDimension x="0" y="-2" />
|
||||
</Offset>
|
||||
</Anchor>
|
||||
</Anchors>
|
||||
@@ -1739,9 +1739,9 @@
|
||||
<AbsDimension x="123" y="17" />
|
||||
</Size>
|
||||
<Anchors>
|
||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_FramePaddingS" relativePoint="TOPLEFT">
|
||||
<Offset>
|
||||
<AbsDimension x="10" y="-35" />
|
||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_BarBRSpaceS" relativePoint="TOPLEFT">
|
||||
<Offset>
|
||||
<AbsDimension x="0" y="-35" />
|
||||
</Offset>
|
||||
</Anchor>
|
||||
</Anchors>
|
||||
@@ -1843,9 +1843,9 @@
|
||||
<AbsDimension x="87" y="20"/>
|
||||
</Size>
|
||||
<Anchors>
|
||||
<Anchor point="BOTTOM" relativeTo="HealBot_Options_FontHeight" relativePoint="TOPLEFT">
|
||||
<Offset>
|
||||
<AbsDimension x="19" y="-50"/>
|
||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_FontHeight" relativePoint="BOTTOMLEFT">
|
||||
<Offset>
|
||||
<AbsDimension x="0" y="-15"/>
|
||||
</Offset>
|
||||
</Anchor>
|
||||
</Anchors>
|
||||
@@ -1858,9 +1858,9 @@
|
||||
<AbsDimension x="87" y="20"/>
|
||||
</Size>
|
||||
<Anchors>
|
||||
<Anchor point="BOTTOM" relativeTo="HealBot_Options_FontHeight" relativePoint="TOPLEFT">
|
||||
<Offset>
|
||||
<AbsDimension x="37" y="-50"/>
|
||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_FontHeight" relativePoint="BOTTOMLEFT">
|
||||
<Offset>
|
||||
<AbsDimension x="0" y="-15"/>
|
||||
</Offset>
|
||||
</Anchor>
|
||||
</Anchors>
|
||||
@@ -1888,9 +1888,9 @@
|
||||
<AbsDimension x="87" y="20"/>
|
||||
</Size>
|
||||
<Anchors>
|
||||
<Anchor point="BOTTOM" relativeTo="HealBot_Options_FontHeight" relativePoint="TOPLEFT">
|
||||
<Offset>
|
||||
<AbsDimension x="37" y="-50"/>
|
||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_FontHeight" relativePoint="BOTTOMLEFT">
|
||||
<Offset>
|
||||
<AbsDimension x="0" y="-15"/>
|
||||
</Offset>
|
||||
</Anchor>
|
||||
</Anchors>
|
||||
@@ -2575,9 +2575,9 @@
|
||||
<AbsDimension x="80" y="22"/>
|
||||
</Size>
|
||||
<Anchors>
|
||||
<Anchor point="LEFT" relativeTo="HealBot_Options_ChatMsg1_Text" relativePoint="RIGHT">
|
||||
<Offset>
|
||||
<AbsDimension x="10" y="0"/>
|
||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_ChatMsg1_Text" relativePoint="BOTTOMLEFT">
|
||||
<Offset>
|
||||
<AbsDimension x="0" y="-5"/>
|
||||
</Offset>
|
||||
</Anchor>
|
||||
</Anchors>
|
||||
@@ -2588,11 +2588,11 @@
|
||||
</Scripts>
|
||||
</Button>
|
||||
<!-- Chat Message 2 -->
|
||||
<Frame name="HealBot_Options_ChatMsg2" inherits="UIDropDownMenuTemplate" id="2">
|
||||
<Anchors>
|
||||
<Anchor point="TOPLEFT">
|
||||
<Offset>
|
||||
<AbsDimension x="0" y="-70" />
|
||||
<Frame name="HealBot_Options_ChatMsg2" inherits="UIDropDownMenuTemplate" id="2">
|
||||
<Anchors>
|
||||
<Anchor point="TOPLEFT">
|
||||
<Offset>
|
||||
<AbsDimension x="0" y="-90" />
|
||||
</Offset>
|
||||
</Anchor>
|
||||
</Anchors>
|
||||
@@ -2621,9 +2621,9 @@
|
||||
<AbsDimension x="80" y="22"/>
|
||||
</Size>
|
||||
<Anchors>
|
||||
<Anchor point="LEFT" relativeTo="HealBot_Options_ChatMsg2_Text" relativePoint="RIGHT">
|
||||
<Offset>
|
||||
<AbsDimension x="10" y="0"/>
|
||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_ChatMsg2_Text" relativePoint="BOTTOMLEFT">
|
||||
<Offset>
|
||||
<AbsDimension x="0" y="-5"/>
|
||||
</Offset>
|
||||
</Anchor>
|
||||
</Anchors>
|
||||
@@ -2634,11 +2634,11 @@
|
||||
</Scripts>
|
||||
</Button>
|
||||
<!-- Chat Message 3 -->
|
||||
<Frame name="HealBot_Options_ChatMsg3" inherits="UIDropDownMenuTemplate" id="3">
|
||||
<Anchors>
|
||||
<Anchor point="TOPLEFT">
|
||||
<Offset>
|
||||
<AbsDimension x="0" y="-110" />
|
||||
<Frame name="HealBot_Options_ChatMsg3" inherits="UIDropDownMenuTemplate" id="3">
|
||||
<Anchors>
|
||||
<Anchor point="TOPLEFT">
|
||||
<Offset>
|
||||
<AbsDimension x="0" y="-150" />
|
||||
</Offset>
|
||||
</Anchor>
|
||||
</Anchors>
|
||||
@@ -2667,9 +2667,9 @@
|
||||
<AbsDimension x="80" y="22"/>
|
||||
</Size>
|
||||
<Anchors>
|
||||
<Anchor point="LEFT" relativeTo="HealBot_Options_ChatMsg3_Text" relativePoint="RIGHT">
|
||||
<Offset>
|
||||
<AbsDimension x="10" y="0"/>
|
||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_ChatMsg3_Text" relativePoint="BOTTOMLEFT">
|
||||
<Offset>
|
||||
<AbsDimension x="0" y="-5"/>
|
||||
</Offset>
|
||||
</Anchor>
|
||||
</Anchors>
|
||||
@@ -2680,11 +2680,11 @@
|
||||
</Scripts>
|
||||
</Button>
|
||||
<!-- Chat Message 4 -->
|
||||
<Frame name="HealBot_Options_ChatMsg4" inherits="UIDropDownMenuTemplate" id="4">
|
||||
<Anchors>
|
||||
<Anchor point="TOPLEFT">
|
||||
<Offset>
|
||||
<AbsDimension x="0" y="-150" />
|
||||
<Frame name="HealBot_Options_ChatMsg4" inherits="UIDropDownMenuTemplate" id="4">
|
||||
<Anchors>
|
||||
<Anchor point="TOPLEFT">
|
||||
<Offset>
|
||||
<AbsDimension x="0" y="-210" />
|
||||
</Offset>
|
||||
</Anchor>
|
||||
</Anchors>
|
||||
@@ -2713,9 +2713,9 @@
|
||||
<AbsDimension x="80" y="22"/>
|
||||
</Size>
|
||||
<Anchors>
|
||||
<Anchor point="LEFT" relativeTo="HealBot_Options_ChatMsg4_Text" relativePoint="RIGHT">
|
||||
<Offset>
|
||||
<AbsDimension x="10" y="0"/>
|
||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_ChatMsg4_Text" relativePoint="BOTTOMLEFT">
|
||||
<Offset>
|
||||
<AbsDimension x="0" y="-5"/>
|
||||
</Offset>
|
||||
</Anchor>
|
||||
</Anchors>
|
||||
@@ -2726,11 +2726,11 @@
|
||||
</Scripts>
|
||||
</Button>
|
||||
<!-- Chat Message 5 -->
|
||||
<Frame name="HealBot_Options_ChatMsg5" inherits="UIDropDownMenuTemplate" id="5">
|
||||
<Anchors>
|
||||
<Anchor point="TOPLEFT">
|
||||
<Offset>
|
||||
<AbsDimension x="0" y="-190" />
|
||||
<Frame name="HealBot_Options_ChatMsg5" inherits="UIDropDownMenuTemplate" id="5">
|
||||
<Anchors>
|
||||
<Anchor point="TOPLEFT">
|
||||
<Offset>
|
||||
<AbsDimension x="0" y="-270" />
|
||||
</Offset>
|
||||
</Anchor>
|
||||
</Anchors>
|
||||
@@ -2759,9 +2759,9 @@
|
||||
<AbsDimension x="80" y="22"/>
|
||||
</Size>
|
||||
<Anchors>
|
||||
<Anchor point="LEFT" relativeTo="HealBot_Options_ChatMsg5_Text" relativePoint="RIGHT">
|
||||
<Offset>
|
||||
<AbsDimension x="10" y="0"/>
|
||||
<Anchor point="TOPLEFT" relativeTo="HealBot_Options_ChatMsg5_Text" relativePoint="BOTTOMLEFT">
|
||||
<Offset>
|
||||
<AbsDimension x="0" y="-5"/>
|
||||
</Offset>
|
||||
</Anchor>
|
||||
</Anchors>
|
||||
@@ -2857,3 +2857,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
**HealBotBlue**
|
||||
By Bluewhale.
|
||||
|
||||
Original Vanilla HealBot, while being a staple healing addon in Wrath and later expansions, was in its infancy during Vanilla WoW. It was a memory and CPU hog that ate up resources, featured a clunky UI, and offered limited functions. To fix all of the above while still using it as a base framework, I refactored the entire codebase. The monolithic code structure was split to follow a more modern approach (MVC design pattern), making it more stable and easily editable. Additionally, the inefficient AURA scanning was replaced with lightweight (Observer Pattern) reactive programming. It now updates only what is necessary when a trigger fires, rather than performing clumsy, continuous scans of a 40-man raid. By doing so, I managed to throttle down CPU and memory usage significantly, placing it on par with modern addons. Additional functionalities are being added over time to provide a holistic, healer-centered raid frame.
|
||||
|
||||
|
||||
> **NOTE:** For HealBot to work correctly, the **Selfcast** feature in WoW options needs to be disabled.
|
||||
|
||||
### Reporting Errors
|
||||
@@ -19,6 +22,10 @@ Default installation path: `C:\Program Files\World of Warcraft\Interface\AddOns\
|
||||
|
||||
### Change Log
|
||||
|
||||
**v1.2.1**
|
||||
* **UI Layout Fixes:** Fixed slider width constraints in the Skin menu causing layout overlaps. Realigned Chat tab buttons to ensure they do not exceed the window bounds. Fixed Color Picker anchors.
|
||||
* **Menu Cleanup:** Fixed Options panel checkboxes overlapping due to incorrect vertical spacing offsets.
|
||||
|
||||
**v1.2**
|
||||
* **Class Colors & Dimming:** Frame text now inherits class colors with black outline for better visibility. Missing buffs intelligently dim the class color and turn the text yellow.
|
||||
* **Modern Skin Updates:** Fixed white background bugs in modern skins and brightened debuff indicators.
|
||||
@@ -33,11 +40,12 @@ Default installation path: `C:\Program Files\World of Warcraft\Interface\AddOns\
|
||||
* **Bug Fix:** Fixed division-by-zero math errors during UI scaling that caused the addon to crash.
|
||||
|
||||
**v1.0**
|
||||
* **Buff tracking** - Added submenu for tracking buffs on element
|
||||
* ***Hot tracking with icons** - Hots and DoTs display on player bars
|
||||
* **Incoming heals use newer protocol**
|
||||
* **Chat functionalities** - modified chat functionalities for spellcast announcements
|
||||
* **Mana Bars** - Mana bars for healers in the grid added togglable from options menu.
|
||||
* **Buff tracking:** Added a submenu for tracking buffs on elements.
|
||||
* **HoT tracking with icons:** HoTs and DoTs display on player bars.
|
||||
* **Incoming heals:** Now using a newer protocol.
|
||||
* **Chat functionalities:** Modified chat functionalities for spellcast announcements.
|
||||
* **Mana Bars:** Mana bars for healers in the grid added, toggleable from the options menu.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user