mirror of
https://github.com/Bluewhale1337/HealBotBlue.git
synced 2026-09-11 09:50:21 +00:00
Feature: add raid mark display to unit frames
Fix: resolve CDC configuration and color rendering issues
This commit is contained in:
@@ -47,6 +47,14 @@
|
|||||||
</Anchors>
|
</Anchors>
|
||||||
<Layers>
|
<Layers>
|
||||||
<Layer level="OVERLAY">
|
<Layer level="OVERLAY">
|
||||||
|
<Texture name="$parentRaidIcon" file="Interface\TargetingFrame\UI-RaidTargetingIcons" hidden="true">
|
||||||
|
<Size><AbsDimension x="14" y="14"/></Size>
|
||||||
|
<Anchors>
|
||||||
|
<Anchor point="CENTER">
|
||||||
|
<Offset><AbsDimension x="0" y="0"/></Offset>
|
||||||
|
</Anchor>
|
||||||
|
</Anchors>
|
||||||
|
</Texture>
|
||||||
<Texture name="$parentIcon1" hidden="true">
|
<Texture name="$parentIcon1" hidden="true">
|
||||||
<Size><AbsDimension x="12" y="12"/></Size>
|
<Size><AbsDimension x="12" y="12"/></Size>
|
||||||
<Anchors>
|
<Anchors>
|
||||||
|
|||||||
@@ -186,7 +186,7 @@ function HealBot_OnEvent_UnitAura(this, unit)
|
|||||||
local trackedTextures = {}
|
local trackedTextures = {}
|
||||||
|
|
||||||
while true do
|
while true do
|
||||||
local debuff, tmp, debuff_type = UnitDebuff(unit, i)
|
local debuff, tmp, debuff_type = UnitDebuff(unit, i, 1)
|
||||||
if debuff then
|
if debuff then
|
||||||
local mapped_type = nil
|
local mapped_type = nil
|
||||||
if debuff_type then
|
if debuff_type then
|
||||||
|
|||||||
@@ -281,6 +281,13 @@ local HealBot_EventHandlers = {
|
|||||||
HealBot_Model:NotifyObservers("ROSTER_CHANGED")
|
HealBot_Model:NotifyObservers("ROSTER_CHANGED")
|
||||||
HealBot_OnEvent_PartyMembersChanged(this)
|
HealBot_OnEvent_PartyMembersChanged(this)
|
||||||
end,
|
end,
|
||||||
|
["RAID_TARGET_UPDATE"] = function(this)
|
||||||
|
if HealBot_Action_UnitButtons then
|
||||||
|
for unit, _ in pairs(HealBot_Action_UnitButtons) do
|
||||||
|
HealBot_View_DirtyUnits[unit] = true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end,
|
||||||
["PLAYER_ENTERING_WORLD"] = function(this)
|
["PLAYER_ENTERING_WORLD"] = function(this)
|
||||||
HealBot_Model:RefreshUnit("player")
|
HealBot_Model:RefreshUnit("player")
|
||||||
HealBot_Model:RefreshUnit("pet")
|
HealBot_Model:RefreshUnit("pet")
|
||||||
@@ -386,6 +393,7 @@ function HealBot_OnEvent_VariablesLoaded(this)
|
|||||||
this:RegisterEvent("PLAYER_TARGET_CHANGED");
|
this:RegisterEvent("PLAYER_TARGET_CHANGED");
|
||||||
this:RegisterEvent("PARTY_MEMBERS_CHANGED");
|
this:RegisterEvent("PARTY_MEMBERS_CHANGED");
|
||||||
this:RegisterEvent("RAID_ROSTER_UPDATE");
|
this:RegisterEvent("RAID_ROSTER_UPDATE");
|
||||||
|
this:RegisterEvent("RAID_TARGET_UPDATE");
|
||||||
this:RegisterEvent("PARTY_MEMBER_DISABLE");
|
this:RegisterEvent("PARTY_MEMBER_DISABLE");
|
||||||
this:RegisterEvent("PARTY_MEMBER_ENABLE");
|
this:RegisterEvent("PARTY_MEMBER_ENABLE");
|
||||||
this:RegisterEvent("UNIT_PET");
|
this:RegisterEvent("UNIT_PET");
|
||||||
|
|||||||
+4
-4
@@ -54,10 +54,10 @@ HealBot_ConfigDefaults = {
|
|||||||
PanelAnchorX = -1,
|
PanelAnchorX = -1,
|
||||||
PanelAnchorY = -1,
|
PanelAnchorY = -1,
|
||||||
CDCBarColour = {
|
CDCBarColour = {
|
||||||
[HEALBOT_DISEASE_en] = { R = 0.1, G = 0.05, B = 0.2, },
|
[HEALBOT_DISEASE_en] = { R = 0.55, G = 0.19, B = 0.70, }, -- Bright Purple
|
||||||
[HEALBOT_MAGIC_en] = { R = 0.05, G = 0.05, B = 0.1, },
|
[HEALBOT_MAGIC_en] = { R = 0.01, G = 0.30, B = 0.90, }, -- Bright Blue
|
||||||
[HEALBOT_POISON_en] = { R = 0.05, G = 0.2, B = 0.1, },
|
[HEALBOT_POISON_en] = { R = 0.12, G = 0.46, B = 0.24, }, -- Bright Green
|
||||||
[HEALBOT_CURSE_en] = { R = 0.2, G = 0.05, B = 0.05, },
|
[HEALBOT_CURSE_en] = { R = 0.83, G = 0.01, B = 0.01, }, -- Bright Red
|
||||||
},
|
},
|
||||||
|
|
||||||
Debuff_Left = {
|
Debuff_Left = {
|
||||||
|
|||||||
@@ -14,6 +14,20 @@ HealBot_Options_EmergencyFilter_List = {
|
|||||||
HEALBOT_OPTIONS_MONITORCUSTOM,
|
HEALBOT_OPTIONS_MONITORCUSTOM,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
HealBot_Options_CDCMonitor_List = {
|
||||||
|
HEALBOT_OPTIONS_MONITORNO,
|
||||||
|
HEALBOT_OPTIONS_MONITORALL,
|
||||||
|
HEALBOT_DRUID,
|
||||||
|
HEALBOT_HUNTER,
|
||||||
|
HEALBOT_MAGE,
|
||||||
|
HEALBOT_PALADIN,
|
||||||
|
HEALBOT_PRIEST,
|
||||||
|
HEALBOT_ROGUE,
|
||||||
|
HEALBOT_SHAMAN,
|
||||||
|
HEALBOT_WARLOCK,
|
||||||
|
HEALBOT_WARRIOR,
|
||||||
|
}
|
||||||
|
|
||||||
-- HealBot_Options_AddDebug: UI handler for AddDebug options panel.
|
-- HealBot_Options_AddDebug: UI handler for AddDebug options panel.
|
||||||
function HealBot_Options_AddDebug(msg)
|
function HealBot_Options_AddDebug(msg)
|
||||||
HealBot_AddDebug("Options: " .. msg);
|
HealBot_AddDebug("Options: " .. msg);
|
||||||
|
|||||||
@@ -45,9 +45,9 @@ function HealBot_WarningSound_OnClick(this,id)
|
|||||||
end
|
end
|
||||||
-- HealBot_Options_CDCMonitor_DropDown: UI handler for DropDown options panel.
|
-- HealBot_Options_CDCMonitor_DropDown: UI handler for DropDown options panel.
|
||||||
function HealBot_Options_CDCMonitor_DropDown()
|
function HealBot_Options_CDCMonitor_DropDown()
|
||||||
for i=1, getn(HealBot_Options_EmergencyFilter_List), 1 do
|
for i=1, getn(HealBot_Options_CDCMonitor_List), 1 do
|
||||||
local info = {};
|
local info = {};
|
||||||
info.text = HealBot_Options_EmergencyFilter_List[i];
|
info.text = HealBot_Options_CDCMonitor_List[i];
|
||||||
info.func = HealBot_Options_CDCMonitor_OnSelect;
|
info.func = HealBot_Options_CDCMonitor_OnSelect;
|
||||||
UIDropDownMenu_AddButton(info);
|
UIDropDownMenu_AddButton(info);
|
||||||
end
|
end
|
||||||
|
|||||||
+14
-11
@@ -29,21 +29,13 @@ end
|
|||||||
|
|
||||||
-- HealBot_HealthColor: Computes health bar RGBA based on debuffs and class.
|
-- HealBot_HealthColor: Computes health bar RGBA based on debuffs and class.
|
||||||
function HealBot_HealthColor(unit, hlth, maxhlth)
|
function HealBot_HealthColor(unit, hlth, maxhlth)
|
||||||
if HealBot_UnitDebuff[unit] then
|
local cached_debuff = HealBot_UnitDebuff[unit]
|
||||||
local debuff_type = HealBot_UnitDebuff[unit]
|
if cached_debuff then
|
||||||
local color = HealBot_Config.CDCBarColour[debuff_type]
|
local color = HealBot_Config.CDCBarColour[cached_debuff]
|
||||||
if color then
|
if color then
|
||||||
local dr = color.R
|
local dr = color.R
|
||||||
local dg = color.G
|
local dg = color.G
|
||||||
local db = color.B
|
local db = color.B
|
||||||
if HealBot_Config.btexture[HealBot_Config.Current_Skin] == 10 then
|
|
||||||
dr = dr * 4
|
|
||||||
dg = dg * 4
|
|
||||||
db = db * 4
|
|
||||||
if dr > 1 then dr = 1 end
|
|
||||||
if dg > 1 then dg = 1 end
|
|
||||||
if db > 1 then db = 1 end
|
|
||||||
end
|
|
||||||
return dr, dg, db, HealBot_Config.Barcola[HealBot_Config.Current_Skin];
|
return dr, dg, db, HealBot_Config.Barcola[HealBot_Config.Current_Skin];
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -273,6 +265,17 @@ function HealBot_Action_EnableButton(button)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local raidIcon = getglobal(button:GetName() .. "BarRaidIcon")
|
||||||
|
if raidIcon then
|
||||||
|
local index = GetRaidTargetIndex(unit)
|
||||||
|
if index then
|
||||||
|
SetRaidTargetIconTexture(raidIcon, index)
|
||||||
|
raidIcon:Show()
|
||||||
|
else
|
||||||
|
raidIcon:Hide()
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
-- HealBot_Action_EnableButtons: Internal utility: HealBot_Action_EnableButtons
|
-- HealBot_Action_EnableButtons: Internal utility: HealBot_Action_EnableButtons
|
||||||
|
|||||||
@@ -50,6 +50,7 @@ Default installation path: `C:\Program Files\World of Warcraft\Interface\AddOns\
|
|||||||
### Change Log
|
### Change Log
|
||||||
|
|
||||||
**v1.7.0**
|
**v1.7.0**
|
||||||
|
* **Feature - Raid Marks** - Added tracking and display of raid marks on unit frames.
|
||||||
* **External Addon Integrations** - Added a new 'Extras' tab in Options to optionally enable integrations with `UnitXP_SP3` (for ultra-precise 3D range and Line of Sight checks), `nampower` (for accurate real-time heal/buff tracking), `SuperWoW` (for robust GUID-based state tracking), and `ClassicAPI` (for native +Healing bonuses and fast 3D distance checks).
|
* **External Addon Integrations** - Added a new 'Extras' tab in Options to optionally enable integrations with `UnitXP_SP3` (for ultra-precise 3D range and Line of Sight checks), `nampower` (for accurate real-time heal/buff tracking), `SuperWoW` (for robust GUID-based state tracking), and `ClassicAPI` (for native +Healing bonuses and fast 3D distance checks).
|
||||||
* **UI Layout** - Widened the Options UI and neatly centered elements to accommodate the new integrations tab.
|
* **UI Layout** - Widened the Options UI and neatly centered elements to accommodate the new integrations tab.
|
||||||
* **Bug Fix - Rendering Crash** - Fixed a critical UI issue where unrecognized debuff types would crash the rendering loop, causing unit frames to disappear.
|
* **Bug Fix - Rendering Crash** - Fixed a critical UI issue where unrecognized debuff types would crash the rendering loop, causing unit frames to disappear.
|
||||||
@@ -61,6 +62,8 @@ Default installation path: `C:\Program Files\World of Warcraft\Interface\AddOns\
|
|||||||
* **Bug Fix - CDC Filter** - Fixed an issue where the CDC module displayed all debuffs instead of filtering for dispellable ones, restoring proper health bar coloring.
|
* **Bug Fix - CDC Filter** - Fixed an issue where the CDC module displayed all debuffs instead of filtering for dispellable ones, restoring proper health bar coloring.
|
||||||
* **Bug Fix - UnitClass Localization** - Added a fallback mapping for the Vanilla `UnitClass` API to always return the uppercase English class string. This fixes a bug where default options (like Debuff tracking) failed to initialize.
|
* **Bug Fix - UnitClass Localization** - Added a fallback mapping for the Vanilla `UnitClass` API to always return the uppercase English class string. This fixes a bug where default options (like Debuff tracking) failed to initialize.
|
||||||
* **Feature - Shapeshift Spell Queue** - Built a native spell queue system for Druid auto-unshifting. Bypasses the "Cannot cast while shapeshifted" error and server lag when AutoUnshift is enabled, firing the heal seamlessly the exact millisecond the form is dropped. Now completely unified to use the standard casting API for maximum reliability across all client setups.
|
* **Feature - Shapeshift Spell Queue** - Built a native spell queue system for Druid auto-unshifting. Bypasses the "Cannot cast while shapeshifted" error and server lag when AutoUnshift is enabled, firing the heal seamlessly the exact millisecond the form is dropped. Now completely unified to use the standard casting API for maximum reliability across all client setups.
|
||||||
|
* **Bug Fix - CDC Config List** - Fixed an uninitialized dropdown list array that prevented the CDC class monitor configuration from saving correctly.
|
||||||
|
* **Bug Fix - Color Picker Accuracy** - Removed an undocumented multiplier hack on default textures that was artificially brightening debuff bar colors and overriding the user's selected colors from the color picker.
|
||||||
|
|
||||||
**v1.6.5**
|
**v1.6.5**
|
||||||
* **Performance Update - Mana Tracking** - Added a fast-path redraw pipeline for unit power changes. This optimization prevents full frame redraws when players naturally regenerate or consume mana, resolving severe FPS drops in 40-man raids while tracking mana.
|
* **Performance Update - Mana Tracking** - Added a fast-path redraw pipeline for unit power changes. This optimization prevents full frame redraws when players naturally regenerate or consume mana, resolving severe FPS drops in 40-man raids while tracking mana.
|
||||||
|
|||||||
Reference in New Issue
Block a user