Commit 90abc783 authored by Ivaria's avatar Ivaria
Browse files

Added class color option for incoming heal/shield/etc. bars

parent 1a64fc9e
......@@ -2,7 +2,7 @@
## Title: VuhDo ['vu:du:]
## Author: Iza@Gilneas, humfras, Ivaria@Hyjal
## Version: 3.131
## Version: 3.132
## Notes: Raid Frames providing click-heal functionality, buff and debuff control, main tank management and much more
## X-Curse-Project-ID: 7950
......
......@@ -179,6 +179,40 @@ end
--
local tBarColor, tBarClassColor;
local tInfo;
local function VUHDO_getStatusBarColor(aBarType, aUnit)
tBarColor = VUHDO_PANEL_SETUP["BAR_COLORS"][aBarType];
if not tBarColor then
return;
end
if not tBarColor["useClassColor"] then
return tBarColor;
else
tInfo = VUHDO_RAID[aUnit];
if not tInfo then
return tBarColor;
end
tBarClassColor = VUHDO_getClassColor(tInfo);
if tBarColor["useOpacity"] then
tBarClassColor["useOpacity"] = true;
tBarClassColor["O"], tBarClassColor["TO"] = tBarColor["O"], tBarColor["TO"];
end
return tBarClassColor;
end
end
--
local tInfo;
local tAllButtons;
......@@ -224,7 +258,7 @@ function VUHDO_updateShieldBar(aUnit, aHealthPlusIncQuota, aAmountInc)
tShieldBar:SetValueRange(aHealthPlusIncQuota, aHealthPlusIncQuota + tAbsorbAmount);
tShieldColor["R"], tShieldColor["G"], tShieldColor["B"], tShieldOpacity = tHealthBar:GetStatusBarColor();
tShieldColor = VUHDO_getDiffColor(tShieldColor, VUHDO_PANEL_SETUP["BAR_COLORS"]["SHIELD"]);
tShieldColor = VUHDO_getDiffColor(tShieldColor, VUHDO_getStatusBarColor("SHIELD", aUnit));
if tShieldColor["O"] and tShieldOpacity then
tShieldColor["O"] = tShieldColor["O"] * tShieldOpacity * (tHealthBar:GetAlpha() or 1);
......@@ -243,7 +277,7 @@ function VUHDO_updateShieldBar(aUnit, aHealthPlusIncQuota, aAmountInc)
tOvershieldBar:ClearAllPoints();
tOvershieldColor["R"], tOvershieldColor["G"], tOvershieldColor["B"], tOvershieldOpacity = tHealthBar:GetStatusBarColor();
tOvershieldColor = VUHDO_getDiffColor(tOvershieldColor, VUHDO_PANEL_SETUP["BAR_COLORS"]["OVERSHIELD"]);
tOvershieldColor = VUHDO_getDiffColor(tOvershieldColor, VUHDO_getStatusBarColor("OVERSHIELD", aUnit));
if tOvershieldColor["O"] and tOvershieldOpacity then
tOvershieldColor["O"] = tOvershieldColor["O"] * tOvershieldOpacity * (tHealthBar:GetAlpha() or 1);
......@@ -343,7 +377,7 @@ function VUHDO_updateHealAbsorbBar(aUnit)
tHealAbsorbBar:ClearAllPoints();
tHealAbsorbColor["R"], tHealAbsorbColor["G"], tHealAbsorbColor["B"], tHealAbsorbOpacity = tHealthBar:GetStatusBarColor();
tHealAbsorbColor = VUHDO_getDiffColor(tHealAbsorbColor, VUHDO_PANEL_SETUP["BAR_COLORS"]["HEAL_ABSORB"]);
tHealAbsorbColor = VUHDO_getDiffColor(tHealAbsorbColor, VUHDO_getStatusBarColor("HEAL_ABSORB", aUnit));
if tHealAbsorbColor["O"] and tHealAbsorbOpacity then
tHealAbsorbColor["O"] = tHealAbsorbColor["O"] * tHealAbsorbOpacity * (tHealthBar:GetAlpha() or 1);
......@@ -428,7 +462,7 @@ local function VUHDO_updateIncHeal(aUnit)
tHealthBar = VUHDO_getHealthBar(tButton, 1);
tIncColor["R"], tIncColor["G"], tIncColor["B"], tOpacity = tHealthBar:GetStatusBarColor();
tIncColor = VUHDO_getDiffColor(tIncColor, VUHDO_PANEL_SETUP["BAR_COLORS"]["INCOMING"]);
tIncColor = VUHDO_getDiffColor(tIncColor, VUHDO_getStatusBarColor("INCOMING", aUnit));
if tIncColor["O"] and tOpacity then
tIncColor["O"] = tIncColor["O"] * tOpacity * (tHealthBar:GetAlpha() or 1);
......
......@@ -2321,26 +2321,31 @@ local VUHDO_DEFAULT_PANEL_SETUP = {
["R"] = 0, ["G"] = 0, ["B"] = 0.4, ["O"] = 0.2,
["TR"] = 1, ["TG"] = 0.82, ["TB"] = 0, ["TO"] = 1,
["useText"] = false, ["useBackground"] = false, ["useOpacity"] = true,
["useClassColor"] = false,
},
["INCOMING"] = {
["R"] = 0, ["G"] = 0, ["B"] = 0, ["O"] = 0.33,
["TR"] = 1, ["TG"] = 0.82, ["TB"] = 0, ["TO"] = 1,
["useText"] = false, ["useBackground"] = false, ["useOpacity"] = true,
["useClassColor"] = false,
},
["SHIELD"] = {
["R"] = 0.35, ["G"] = 0.52, ["B"] = 1, ["O"] = 1,
["TR"] = 0.35, ["TG"] = 0.52, ["TB"] = 1, ["TO"] = 1,
["useText"] = false, ["useBackground"] = true, ["useOpacity"] = true,
["useClassColor"] = false,
},
["OVERSHIELD"] = {
["R"] = 0.35, ["G"] = 0.52, ["B"] = 1, ["O"] = 1,
["TR"] = 0.35, ["TG"] = 0.52, ["TB"] = 1, ["TO"] = 1,
["useText"] = false, ["useBackground"] = true, ["useOpacity"] = true,
["useClassColor"] = false,
},
["HEAL_ABSORB"] = {
["R"] = 1, ["G"] = 0.4, ["B"] = 0.4, ["O"] = 1,
["TR"] = 0.35, ["TG"] = 0.52, ["TB"] = 1, ["TO"] = 1,
["useText"] = false, ["useBackground"] = true, ["useOpacity"] = true,
["useClassColor"] = false,
},
["DIRECTION"] = {
["R"] = 1, ["G"] = 0.4, ["B"] = 0.4, ["O"] = 1,
......
......@@ -257,6 +257,10 @@ function VUHDO_getDiffColor(aBaseColor, aModColor)
aBaseColor["O"], aBaseColor["TO"] = aModColor["O"], aModColor["TO"];
end
if aModColor["useClassColor"] then
aBaseColor["useClassColor"] = true;
end
return aBaseColor;
end
......
......@@ -8,7 +8,7 @@
<Anchors>
<Anchor point="TOPLEFT">
<Offset>
<AbsDimension x="352" y="-13" />
<AbsDimension x="352" y="-302" />
</Offset>
</Anchor>
</Anchors>
......@@ -155,7 +155,7 @@
<Frame name="$parentNormalModePanel" inherits="VuhDoPanelTemplate">
<Size>
<AbsDimension x="321" y="283" />
<AbsDimension x="358" y="283" />
</Size>
<Anchors>
<Anchor point="TOPLEFT">
......@@ -166,6 +166,26 @@
</Anchors>
<Frames>
<Frame name="$parentClassColorLabel" inherits="VuhDoLabelFrameTemplate">
<Size>
<AbsDimension x="75" y="18" />
</Size>
<Anchors>
<Anchor point="TOPLEFT">
<Offset>
<AbsDimension x="294" y="-24" />
</Offset>
</Anchor>
</Anchors>
<Layers>
<Layer>
<FontString name="$parentLabel" text="VUHDO_I18N_CLASS_COL" justifyH="LEFT" inherits="VuDoDefaultFontTemplate">
</FontString>
</Layer>
</Layers>
</Frame>
<Frame name="$parentOpacityLabel" inherits="VuhDoLabelFrameTemplate">
<Size>
<AbsDimension x="75" y="18" />
......@@ -223,6 +243,21 @@
</Layers>
</Frame>
<!-- <CheckButton name="$parentRangeClassColorCheckBox" inherits="VuhDoCheckBoxTemplate">
<Anchors>
<Anchor point="TOPLEFT">
<Offset>
<AbsDimension x="302" y="-238" />
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnLoad>
VUHDO_lnfSetModel(self, "VUHDO_PANEL_SETUP.BAR_COLORS.OUTRANGED.useClassColor");
</OnLoad>
</Scripts>
</CheckButton> -->
<CheckButton name="$parentRangeOpacCheckBox" inherits="VuhDoCheckBoxTemplate">
<Anchors>
<Anchor point="TOPLEFT">
......@@ -268,6 +303,21 @@
</Scripts>
</CheckButton>
<CheckButton name="$parentOvershieldClassColorCheckBox" inherits="VuhDoCheckBoxTemplate">
<Anchors>
<Anchor point="TOPLEFT">
<Offset>
<AbsDimension x="302" y="-162" />
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnLoad>
VUHDO_lnfSetModel(self, "VUHDO_PANEL_SETUP.BAR_COLORS.OVERSHIELD.useClassColor");
</OnLoad>
</Scripts>
</CheckButton>
<CheckButton name="$parentOvershieldOpacCheckBox" inherits="VuhDoCheckBoxTemplate">
<Anchors>
<Anchor point="TOPLEFT">
......@@ -313,6 +363,22 @@
</Scripts>
</CheckButton>
<CheckButton name="$parentHealAbsorbClassColorCheckBox" inherits="VuhDoCheckBoxTemplate">
<Anchors>
<Anchor point="TOPLEFT">
<Offset>
<AbsDimension x="302" y="-200" />
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnLoad>
VUHDO_lnfSetModel(self, "VUHDO_PANEL_SETUP.BAR_COLORS.HEAL_ABSORB.useClassColor");
</OnLoad>
</Scripts>
</CheckButton>
<CheckButton name="$parentHealAbsorbOpacCheckBox" inherits="VuhDoCheckBoxTemplate">
<Anchors>
<Anchor point="TOPLEFT">
......@@ -358,6 +424,21 @@
</Scripts>
</CheckButton>
<CheckButton name="$parentShieldClassColorCheckBox" inherits="VuhDoCheckBoxTemplate">
<Anchors>
<Anchor point="TOPLEFT">
<Offset>
<AbsDimension x="302" y="-124" />
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnLoad>
VUHDO_lnfSetModel(self, "VUHDO_PANEL_SETUP.BAR_COLORS.SHIELD.useClassColor");
</OnLoad>
</Scripts>
</CheckButton>
<CheckButton name="$parentShieldOpacCheckBox" inherits="VuhDoCheckBoxTemplate">
<Anchors>
<Anchor point="TOPLEFT">
......@@ -403,6 +484,22 @@
</Scripts>
</CheckButton>
<CheckButton name="$parentIncomingClassColorCheckBox" inherits="VuhDoCheckBoxTemplate">
<Anchors>
<Anchor point="TOPLEFT">
<Offset>
<AbsDimension x="302" y="-86" />
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnLoad>
VUHDO_lnfSetModel(self, "VUHDO_PANEL_SETUP.BAR_COLORS.INCOMING.useClassColor");
</OnLoad>
</Scripts>
</CheckButton>
<CheckButton name="$parentIcomingOpacCheckBox" inherits="VuhDoCheckBoxTemplate">
<Anchors>
<Anchor point="TOPLEFT">
......@@ -448,7 +545,23 @@
</Scripts>
</CheckButton>
<CheckButton name="$parentIrreleventOpacCheckBox" inherits="VuhDoCheckBoxTemplate">
<!-- <CheckButton name="$parentIrrelevantClassColorCheckBox" inherits="VuhDoCheckBoxTemplate">
<Anchors>
<Anchor point="TOPLEFT">
<Offset>
<AbsDimension x="302" y="-48" />
</Offset>
</Anchor>
</Anchors>
<Scripts>
<OnLoad>
VUHDO_lnfSetModel(self, "VUHDO_PANEL_SETUP.BAR_COLORS.IRRELEVANT.useClassColor");
</OnLoad>
</Scripts>
</CheckButton> -->
<CheckButton name="$parentIrrelevantOpacCheckBox" inherits="VuhDoCheckBoxTemplate">
<Anchors>
<Anchor point="TOPLEFT">
<Offset>
......
......@@ -2,7 +2,7 @@
## Title: VuhDo ['vu:du:] - Options
## Author: Iza@Gilneas, humfras, Ivaria@Hyjal
## Version: 3.131
## Version: 3.132
## Notes: VuhDo Options
## X-Curse-Project-ID: 7950
......
Version 3.132
Known issues:
-- Shadowlands stat squish cleanup still a work in progress
-- AOE Advice spell equations need complete overhaul
-- Some text providers need changes to better display small numbers
-- Debuff tooltips are currently bugged when using ElvUI
-- Deselect 'VuhDo Options > Panels > Tooltips > Tooltips > Debuffs'
Bugfixes:
Improvements:
-- Added class color option for incoming heal/shield/etc. bars
--------------------------------------------------------------
Version 3.131
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment