Commit 5f7da0d7 authored by Ivaria's avatar Ivaria
Browse files

-- Added new bouquet validator 'Flag: Own Combo Points =='

-- Added new default bouquet 'Player Combo Points'
-- Added new text provider 'Combo Points: <#n>'
-- Added new bouquet validator 'Flag: Own Soul Shards =='
-- Added new default bouquet 'Player Soul Shards'
-- Added new text provider 'Soul Shards: <#n>'
-- Listen to UNIT_HEALTH_FREQUENT events exclusively
--   Work around a Blizzard bug that triplicates health events
parent 6e5697ea
master classic fade_per_hot revert-ae0b90ef shadowlands tbcc v3.123 v3.123-tbcc v3.123-tbcc-alpha-3 v3.123-alpha-7 v3.123-alpha-6 v3.123-alpha-5 v3.123-alpha-4 v3.123-alpha-3 v3.123-alpha-2 v3.123-alpha-1 v3.122 v3.122-beta-1 v3.122-alpha-3 v3.122-alpha-2 v3.122-alpha-1 v3.121 v3.121-beta-1 v3.121-alpha-5 v3.121-alpha-4 v3.121-alpha-3 v3.121-alpha-2 v3.121-alpha-1 v3.120 v3.120-beta-3 v3.120-beta-2 v3.120-beta-1 v3.120-alpha-5 v3.120-alpha-4 v3.120-alpha-3 v3.120-alpha-2 v3.120-alpha-1 v3.119 v3.119-beta-4 v3.119-beta-3 v3.119-beta-2 v3.119-beta-1 v3.119-alpha-4 v3.119-alpha-3 v3.119-alpha-2 v3.119-alpha-1 v3.118 v3.118-classic v3.118-classic-alpha-2 v3.118-classic-alpha-1 v3.118-beta-1 v3.118-alpha-1 v3.117 v3.117-classic v3.117-classic-alpha-2 v3.117-classic-alpha-1 v3.117-beta-2 v3.117-beta-1 v3.117-alpha-4 v3.117-alpha-3 v3.117-alpha-2 v3.117-alpha-1 v3.116 v3.116-classic v3.116-classic-beta-1 v3.116-classic-alpha-1 v3.116-beta-2 v3.116-beta-1 v3.116-alpha-8 v3.116-alpha-7 v3.116-alpha-6 v3.116-alpha-5 v3.116-alpha-4 v3.116-alpha-3 v3.116-alpha-2 v3.116-alpha-1 v3.115 v3.115-classic v3.115-classic-beta-2 v3.115-classic-beta-1 v3.115-classic-alpha-1 v3.114-classic v3.114-classic-beta-10 v3.114-classic-beta-9 v3.114-classic-beta-7 v3.114-classic-beta-6 v3.114-classic-beta-5 v3.114-classic-beta-4 v3.114-classic-beta-3 v3.114-classic-beta-2 v3.114-classic-beta-1 v3.114-classic-alpha-2 v3.114-classic-alpha-1 v3.114-beta-9 v3.114-beta-8 v3.114-beta-7 v3.114-beta-7-1 v3.114-beta-6 v3.114-beta-5 v3.114-beta-4 v3.114-beta-3 v3.114-beta-2 v3.114-beta-1 v3.114-alpha-2 v3.114-alpha-1 v3.113 v3.113-classic v3.113-classic-beta-1 v3.113-classic-alpha-1 v3.113-beta-1 v3.113-alpha-1 v3.112 v3.112-classic v3.112-classic-beta-1 v3.112-classic-alpha-3 v3.112-classic-alpha-2 v3.112-classic-alpha-1 v3.112-beta-1 v3.112-alpha-3 v3.112-alpha-2 v3.112-alpha-1 v3.111 v3.111-classic v3.111-classic-beta-3 v3.111-classic-beta-2 v3.111-classic-beta-1 v3.111-classic-alpha-8 v3.111-classic-alpha-7 v3.111-classic-alpha-6 v3.111-classic-alpha-5 v3.111-classic-alpha-4 v3.111-classic-alpha-3 v3.111-classic-alpha-2 v3.111-classic-alpha-1 v3.111-beta-3 v3.111-beta-2 v3.111-beta-1 v3.111-alpha-8 v3.111-alpha-7 v3.111-alpha-6 v3.111-alpha-5 v3.110 v3.110-classic v3.110-classic-beta-1 v3.110-classic-alpha-4 v3.110-classic-alpha-3 v3.110-classic-alpha-2 v3.110-classic-alpha-1 v3.110-beta-1 v3.110-alpha-4 v3.110-alpha-3 v3.110-alpha-2 v3.109 v3.109-classic v3.109-classic-beta-1 v3.109-classic-alpha-2 v3.109-classic-alpha-1 v3.109-beta-1 v3.109-alpha-2 v3.109-alpha-1 v3.108 v3.108-classic v3.108-classic-alpha-7 v3.108-classic-alpha-6 v3.108-classic-alpha-5 v3.108-classic-alpha-4 v3.108-classic-alpha-3 v3.108-classic-alpha-2 v3.108-classic-alpha-1 v3.108-alpha-1 v3.107 v3.107-classic v3.107-classic-beta-9 v3.107-classic-beta-8 v3.107-classic-beta-7 v3.107-classic-beta-6 v3.107-classic-beta-5 v3.107-classic-beta-2 v3.107-classic-beta-1 v3.107-classic-alpha-18 v3.107-classic-alpha-17 v3.107-classic-alpha-16 v3.107-classic-alpha-15 v3.107-classic-alpha-14 v3.107-classic-alpha-13 v3.107-classic-alpha-12 v3.107-classic-alpha-11 v3.107-classic-alpha-10 v3.107-classic-alpha-9 v3.107-classic-alpha-8 v3.107-classic-alpha-7 v3.107-classic-alpha-6 v3.107-classic-alpha-5 v3.107-classic-alpha-4 v3.107-classic-alpha-3 v3.107-classic-alpha-2 v3.107-classic-alpha-1 v3.107-4 v3.107-3 v3.107-2 v3.106 v3.105 v3.105-beta-1 v3.104 v3.104-beta-2 v3.104-beta-1 v3.103 v3.103-beta-2 v3.103-beta-1 v3.102 v3.102-beta-2 v3.102-beta-1 v3.101 v3.101-beta-5 v3.101-beta-4 v3.101-beta-3 v3.101-beta-2 v3.101-beta-1
No related merge requests found
......@@ -176,6 +176,7 @@ function VUHDO_addDebuffIcon(aUnit, anIcon, aName, anExpiry, aStacks, aDuration,
end
end
end
tIconInfo = { anIcon, -1, aName, anExpiry, aStacks, aDuration, aSpellId };
VUHDO_DEBUFF_ICONS[aUnit][tSlot] = tIconInfo;
......
......@@ -106,13 +106,9 @@ function VUHDO_bouquetValidatorsInitLocalOverrides()
sIsDistance = VUHDO_CONFIG["DIRECTION"]["isDistanceText"];
end
local tEmptyInfo = { };
local tEmptyColor = { };
----------------------------------------------------------
local tEmptyInfo = { };
local VUHDO_CHARGE_COLORS = {
"HOT_CHARGE_1",
"HOT_CHARGE_2",
......@@ -122,27 +118,7 @@ local VUHDO_CHARGE_COLORS = {
--
local tCopy = { };
local function VUHDO_copyColor(aColor)
if not aColor then return tEmptyColor; end
tCopy["R"], tCopy["G"], tCopy["B"], tCopy["O"] = aColor["R"], aColor["G"], aColor["B"], aColor["O"];
tCopy["TR"], tCopy["TG"], tCopy["TB"], tCopy["TO"] = aColor["TR"], aColor["TG"], aColor["TB"], aColor["TO"];
tCopy["useBackground"], tCopy["useText"], tCopy["useOpacity"] = aColor["useBackground"], aColor["useText"], aColor["useOpacity"];
return tCopy;
end
--
local tSummand;
local function VUHDO_brightenColor(aColor, aFactor)
if not aColor then return; end
tSummand = aFactor - 1;
aColor["R"], aColor["G"], aColor["B"] = (aColor["R"] or 0) + tSummand, (aColor["G"] or 0) + tSummand, (aColor["B"] or 0) + tSummand;
return aColor;
end
----------------------------------------------------------
......@@ -518,6 +494,38 @@ end
--
local function VUHDO_comboPointsEqualsValidator(anInfo, someCustom)
if anInfo["connected"] and not anInfo["dead"] then
tPower = UnitPower(anInfo["unit"], VUHDO_UNIT_POWER_COMBO_POINTS);
if tPower == someCustom["custom"][1] then
return true, nil, tPower, -1, UnitPowerMax(anInfo["unit"], VUHDO_UNIT_POWER_COMBO_POINTS);
else
return false, nil, -1, -1, -1;
end
else
return false, nil, tPower, -1, -1;
end
end
--
local function VUHDO_soulShardsEqualsValidator(anInfo, someCustom)
if anInfo["connected"] and not anInfo["dead"] then
tPower = UnitPower(anInfo["unit"], VUHDO_UNIT_POWER_SOUL_SHARDS);
if tPower == someCustom["custom"][1] then
return true, nil, tPower, -1, UnitPowerMax(anInfo["unit"], VUHDO_UNIT_POWER_SOUL_SHARDS);
else
return false, nil, -1, -1, -1;
end
else
return false, nil, tPower, -1, -1;
end
end
--
local function VUHDO_durationAboveValidator(anInfo, someCustom)
if VUHDO_getIsCurrentBouquetActive() then
......@@ -1481,6 +1489,20 @@ VUHDO_BOUQUET_BUFFS_SPECIAL = {
["interests"] = { VUHDO_UPDATE_CHI, VUHDO_UPDATE_DC, VUHDO_UPDATE_ALIVE },
},
["OWN_COMBO_POINTS_EQUALS"] = {
["displayName"] = VUHDO_I18N_BOUQUET_OWN_COMBO_POINTS_EQUALS,
["validator"] = VUHDO_comboPointsEqualsValidator,
["custom_type"] = VUHDO_BOUQUET_CUSTOM_TYPE_HOLY_POWER,
["interests"] = { VUHDO_UPDATE_COMBO_POINTS, VUHDO_UPDATE_DC, VUHDO_UPDATE_ALIVE },
},
["OWN_SOUL_SHARDS_EQUALS"] = {
["displayName"] = VUHDO_I18N_BOUQUET_OWN_SOUL_SHARDS_EQUALS,
["validator"] = VUHDO_soulShardsEqualsValidator,
["custom_type"] = VUHDO_BOUQUET_CUSTOM_TYPE_HOLY_POWER,
["interests"] = { VUHDO_UPDATE_SOUL_SHARDS, VUHDO_UPDATE_DC, VUHDO_UPDATE_ALIVE },
},
["DURATION_ABOVE"] = {
["displayName"] = VUHDO_I18N_BOUQUET_DURATION_ABOVE,
["validator"] = VUHDO_durationAboveValidator,
......
......@@ -280,6 +280,8 @@ VUHDO_UPDATE_SHIELD = 36;
VUHDO_UPDATE_SPELL_TRACE = 37;
VUHDO_UPDATE_SUMMON = 38;
VUHDO_UPDATE_PHASE = 39;
VUHDO_UPDATE_COMBO_POINTS = 40;
VUHDO_UPDATE_SOUL_SHARDS = 41;
......@@ -288,7 +290,7 @@ VUHDO_UNIT_POWER_MANA = Enum.PowerType.Mana;
VUHDO_UNIT_POWER_RAGE = Enum.PowerType.Rage;
VUHDO_UNIT_POWER_FOCUS = Enum.PowerType.Focus;
VUHDO_UNIT_POWER_ENERGY = Enum.PowerType.Energy;
VUHDO_UNIT_POWER_HAPPINESS = Enum.PowerType.ComboPoints;
VUHDO_UNIT_POWER_COMBO_POINTS = Enum.PowerType.ComboPoints;
VUHDO_UNIT_POWER_RUNES = Enum.PowerType.RunicPower;
VUHDO_UNIT_POWER_LUNAR_POWER = Enum.PowerType.LunarPower;
VUHDO_UNIT_POWER_MAELSTROM = Enum.PowerType.Maelstrom;
......@@ -297,6 +299,7 @@ VUHDO_UNIT_POWER_FURY = Enum.PowerType.Fury;
VUHDO_UNIT_POWER_PAIN = Enum.PowerType.Pain;
VUHDO_UNIT_POWER_CHI = Enum.PowerType.Chi;
VUHDO_UNIT_POWER_HOLY_POWER = Enum.PowerType.HolyPower;
VUHDO_UNIT_POWER_SOUL_SHARDS = Enum.PowerType.SoulShards;
......
......@@ -771,17 +771,17 @@ local VUHDO_DEFAULT_SPELL_TRACE_STORED_SETTINGS = {
VUHDO_DEFAULT_POWER_TYPE_COLORS = {
[VUHDO_UNIT_POWER_MANA] = VUHDO_makeFullColor(0, 0, 1, 1, 0, 0, 1, 1),
[VUHDO_UNIT_POWER_RAGE] = VUHDO_makeFullColor(1, 0, 0, 1, 1, 0, 0, 1),
[VUHDO_UNIT_POWER_FOCUS] = VUHDO_makeFullColor(1, 0.5, 0.25, 1, 1, 0.5, 0.25, 1),
[VUHDO_UNIT_POWER_ENERGY] = VUHDO_makeFullColor(1, 1, 0, 1, 1, 1, 0, 1),
[VUHDO_UNIT_POWER_HAPPINESS] = VUHDO_makeFullColor(0, 1, 1, 1, 0, 1, 1, 1),
[VUHDO_UNIT_POWER_RUNES] = VUHDO_makeFullColor(0.5, 0.5, 0.5, 1, 0.5, 0.5, 0.5, 1),
[VUHDO_UNIT_POWER_LUNAR_POWER] = VUHDO_makeFullColor(0.87, 0.95, 1, 1, 0.87, 0.95, 1, 1),
[VUHDO_UNIT_POWER_MAELSTROM] = VUHDO_makeFullColor(0.09, 0.56, 1, 1, 0.09, 0.56, 1, 1),
[VUHDO_UNIT_POWER_INSANITY] = VUHDO_makeFullColor(0.15, 0.97, 1, 1, 0.15, 0.97, 1, 1),
[VUHDO_UNIT_POWER_FURY] = VUHDO_makeFullColor(0.54, 0.09, 0.69, 1, 0.54, 0.09, 0.69, 1),
[VUHDO_UNIT_POWER_PAIN] = VUHDO_makeFullColor(0.54, 0.09, 0.69, 1, 0.54, 0.09, 0.69, 1),
[VUHDO_UNIT_POWER_MANA] = VUHDO_makeFullColor(0, 0, 1, 1, 0, 0, 1, 1),
[VUHDO_UNIT_POWER_RAGE] = VUHDO_makeFullColor(1, 0, 0, 1, 1, 0, 0, 1),
[VUHDO_UNIT_POWER_FOCUS] = VUHDO_makeFullColor(1, 0.5, 0.25, 1, 1, 0.5, 0.25, 1),
[VUHDO_UNIT_POWER_ENERGY] = VUHDO_makeFullColor(1, 1, 0, 1, 1, 1, 0, 1),
[VUHDO_UNIT_POWER_COMBO_POINTS] = VUHDO_makeFullColor(0, 1, 1, 1, 0, 1, 1, 1),
[VUHDO_UNIT_POWER_RUNES] = VUHDO_makeFullColor(0.5, 0.5, 0.5, 1, 0.5, 0.5, 0.5, 1),
[VUHDO_UNIT_POWER_LUNAR_POWER] = VUHDO_makeFullColor(0.87, 0.95, 1, 1, 0.87, 0.95, 1, 1),
[VUHDO_UNIT_POWER_MAELSTROM] = VUHDO_makeFullColor(0.09, 0.56, 1, 1, 0.09, 0.56, 1, 1),
[VUHDO_UNIT_POWER_INSANITY] = VUHDO_makeFullColor(0.15, 0.97, 1, 1, 0.15, 0.97, 1, 1),
[VUHDO_UNIT_POWER_FURY] = VUHDO_makeFullColor(0.54, 0.09, 0.69, 1, 0.54, 0.09, 0.69, 1),
[VUHDO_UNIT_POWER_PAIN] = VUHDO_makeFullColor(0.54, 0.09, 0.69, 1, 0.54, 0.09, 0.69, 1),
};
......
......@@ -444,6 +444,80 @@ VUHDO_DEFAULT_CHI_BOUQUET = {
VUHDO_DEFAULT_COMBO_POINTS_BOUQUET = {
[VUHDO_I18N_DEF_PLAYER_COMBO_POINTS] = {
{
["name"] = "OWN_COMBO_POINTS_EQUALS",
["mine"] = true, ["icon"] = 14,
["color"] = VUHDO_makeFullColorForBouquet(0.6, 1, 0.6, 1, 0.6, 1, 0.6, 1),
["custom"] = { [1] = 5, ["radio"] = 1, ["bright"] = 1 },
},
{
["name"] = "OWN_COMBO_POINTS_EQUALS",
["mine"] = true, ["icon"] = 13,
["color"] = VUHDO_makeFullColorForBouquet(1, 1, 0.4, 1, 1, 1, 0.4, 1),
["custom"] = { [1] = 4, ["radio"] = 1, ["bright"] = 1 },
},
{
["name"] = "OWN_COMBO_POINTS_EQUALS",
["mine"] = true, ["icon"] = 12,
["color"] = VUHDO_makeFullColorForBouquet(1, 1, 0.4, 1, 1, 1, 0.4, 1),
["custom"] = { [1] = 3, ["radio"] = 1, ["bright"] = 1 },
},
{
["name"] = "OWN_COMBO_POINTS_EQUALS",
["mine"] = true, ["icon"] = 11,
["color"] = VUHDO_makeFullColorForBouquet(1, 0.75, 0.4, 1, 1, 0.75, 0.4, 1),
["custom"] = { [1] = 2, ["radio"] = 1, ["bright"] = 1 },
},
{
["name"] = "OWN_COMBO_POINTS_EQUALS",
["mine"] = true, ["icon"] = 10,
["color"] = VUHDO_makeFullColorForBouquet(1, 0.4, 0.4, 1, 1, 0.4, 0.4, 1),
["custom"] = { [1] = 1, ["radio"] = 1, ["bright"] = 1 },
},
},
};
VUHDO_DEFAULT_SOUL_SHARDS_BOUQUET = {
[VUHDO_I18N_DEF_PLAYER_SOUL_SHARDS] = {
{
["name"] = "OWN_SOUL_SHARDS_EQUALS",
["mine"] = true, ["icon"] = 14,
["color"] = VUHDO_makeFullColorForBouquet(0.6, 1, 0.6, 1, 0.6, 1, 0.6, 1),
["custom"] = { [1] = 5, ["radio"] = 1, ["bright"] = 1 },
},
{
["name"] = "OWN_SOUL_SHARDS_EQUALS",
["mine"] = true, ["icon"] = 13,
["color"] = VUHDO_makeFullColorForBouquet(1, 1, 0.4, 1, 1, 1, 0.4, 1),
["custom"] = { [1] = 4, ["radio"] = 1, ["bright"] = 1 },
},
{
["name"] = "OWN_SOUL_SHARDS_EQUALS",
["mine"] = true, ["icon"] = 12,
["color"] = VUHDO_makeFullColorForBouquet(1, 1, 0.4, 1, 1, 1, 0.4, 1),
["custom"] = { [1] = 3, ["radio"] = 1, ["bright"] = 1 },
},
{
["name"] = "OWN_SOUL_SHARDS_EQUALS",
["mine"] = true, ["icon"] = 11,
["color"] = VUHDO_makeFullColorForBouquet(1, 0.75, 0.4, 1, 1, 0.75, 0.4, 1),
["custom"] = { [1] = 2, ["radio"] = 1, ["bright"] = 1 },
},
{
["name"] = "OWN_SOUL_SHARDS_EQUALS",
["mine"] = true, ["icon"] = 10,
["color"] = VUHDO_makeFullColorForBouquet(1, 0.4, 0.4, 1, 1, 0.4, 0.4, 1),
["custom"] = { [1] = 1, ["radio"] = 1, ["bright"] = 1 },
},
},
};
VUHDO_DEFAULT_ROLE_ICON_BOUQUET = {
[VUHDO_I18N_DEF_ROLE_ICON] = {
{
......@@ -1456,6 +1530,14 @@ function VUHDO_loadDefaultBouquets()
end
VUHDO_DEFAULT_ICON_IS_PHASED = nil;
if VUHDO_BOUQUETS["VERSION"] < 22 then
VUHDO_BOUQUETS["VERSION"] = 22;
VUHDO_addDefaultBouquet(VUHDO_DEFAULT_COMBO_POINTS_BOUQUET);
VUHDO_addDefaultBouquet(VUHDO_DEFAULT_SOUL_SHARDS_BOUQUET);
end
VUHDO_DEFAULT_COMBO_POINTS_BOUQUET = nil;
VUHDO_DEFAULT_SOUL_SHARDS_BOUQUET = nil;
VUHDO_buildGenericHealthBarBouquet();
VUHDO_buildGenericTargetHealthBouquet();
......
......@@ -442,11 +442,11 @@ function VUHDO_OnEvent(_, anEvent, anArg1, anArg2, anArg3, anArg4, anArg5, anArg
VUHDO_updateBouquetsForEvent(anArg1, 4); -- VUHDO_UPDATE_DEBUFF
end
elseif "UNIT_HEALTH" == anEvent then
-- elseif "UNIT_HEALTH" == anEvent then
-- as of patch 7.1 we are seeing empty units on health related events
if anArg1 and (VUHDO_RAID or tEmptyRaid)[anArg1] then
VUHDO_updateHealth(anArg1, 2); -- VUHDO_UPDATE_HEALTH
end
-- if anArg1 and (VUHDO_RAID or tEmptyRaid)[anArg1] then
-- VUHDO_updateHealth(anArg1, 2); -- VUHDO_UPDATE_HEALTH
-- end
-- TODO: is it ok to listen to both UNIT_HEALTH and UNIT_HEALTH_FREQUENT?
-- TODO: add options based on desired responsiveness and performance
......@@ -468,6 +468,10 @@ function VUHDO_OnEvent(_, anEvent, anArg1, anArg2, anArg3, anArg4, anArg5, anArg
if "player" == anArg1 then VUHDO_updateBouquetsForEvent("player", 35); end -- VUHDO_UPDATE_CHI
elseif "HOLY_POWER" == anArg2 then
if "player" == anArg1 then VUHDO_updateBouquetsForEvent("player", 31); end -- VUHDO_UPDATE_OWN_HOLY_POWER
elseif "COMBO_POINTS" == anArg2 then
if "player" == anArg1 then VUHDO_updateBouquetsForEvent("player", 40); end -- VUHDO_UPDATE_OWN_COMBO_POINTS
elseif "SOUL_SHARDS" == anArg2 then
if "player" == anArg1 then VUHDO_updateBouquetsForEvent("player", 41); end -- VUHDO_UPDATE_OWN_SOUL_SHARDS
elseif "ALTERNATE" == anArg2 then
VUHDO_updateBouquetsForEvent(anArg1, 30); -- VUHDO_UPDATE_ALT_POWER
else
......@@ -905,7 +909,9 @@ function VUHDO_updateGlobalToggles()
or VUHDO_isAnyoneInterstedIn(VUHDO_UPDATE_OTHER_POWERS)
or VUHDO_isAnyoneInterstedIn(VUHDO_UPDATE_ALT_POWER)
or VUHDO_isAnyoneInterstedIn(VUHDO_UPDATE_OWN_HOLY_POWER)
or VUHDO_isAnyoneInterstedIn(VUHDO_UPDATE_CHI),
or VUHDO_isAnyoneInterstedIn(VUHDO_UPDATE_CHI)
or VUHDO_isAnyoneInterstedIn(VUHDO_UPDATE_COMBO_POINTS)
or VUHDO_isAnyoneInterstedIn(VUHDO_UPDATE_SOUL_SHARDS),
"UNIT_DISPLAYPOWER", "UNIT_MAXPOWER", "UNIT_POWER_UPDATE", "UNIT_POWER_FREQUENT"
);
......@@ -1451,7 +1457,7 @@ end
local VUHDO_ALL_EVENTS = {
"VARIABLES_LOADED", "PLAYER_ENTERING_WORLD",
"UNIT_HEALTH", "UNIT_HEALTH_FREQUENT", "UNIT_MAXHEALTH",
"UNIT_HEALTH_FREQUENT", "UNIT_MAXHEALTH", -- "UNIT_HEALTH",
"UNIT_AURA",
"UNIT_TARGET",
"GROUP_ROSTER_UPDATE", "INSTANCE_ENCOUNTER_ENGAGE_UNIT", "UPDATE_ACTIVE_BATTLEFIELD",
......
......@@ -19,6 +19,8 @@ local sShowPanels;
local sIsHideEmptyAndClickThrough;
local sEmpty = { };
local tEmptyColor = { };
local VUHDO_LibSharedMedia;
local VUHDO_getActionPanelOrStub;
local VUHDO_getPanelButtons;
......@@ -345,7 +347,7 @@ local VUHDO_BLIZZ_EVENTS = {
"UNIT_FACTION",
"UNIT_FLAGS",
"UNIT_HEAL_PREDICTION",
"UNIT_HEALTH",
-- "UNIT_HEALTH",
"UNIT_HEALTH_FREQUENT",
"UNIT_LEVEL",
"UNIT_MAXHEALTH",
......@@ -378,7 +380,7 @@ local VUHDO_FIX_EVENTS = {
"UNIT_AURA",
"UNIT_COMBAT",
"UNIT_HEAL_PREDICTION",
"UNIT_HEALTH",
-- "UNIT_HEALTH",
"UNIT_HEALTH_FREQUENT",
"UNIT_MAXHEALTH",
"UNIT_MAXPOWER",
......@@ -786,6 +788,27 @@ end
--
local tCopy = { };
function VUHDO_copyColor(aColor)
if not aColor then return tEmptyColor; end
tCopy["R"], tCopy["G"], tCopy["B"], tCopy["O"] = aColor["R"], aColor["G"], aColor["B"], aColor["O"];
tCopy["TR"], tCopy["TG"], tCopy["TB"], tCopy["TO"] = aColor["TR"], aColor["TG"], aColor["TB"], aColor["TO"];
tCopy["useBackground"], tCopy["useText"], tCopy["useOpacity"] = aColor["useBackground"], aColor["useText"], aColor["useOpacity"];
return tCopy;
end
--
local tSummand;
function VUHDO_brightenColor(aColor, aFactor)
if not aColor then return; end
tSummand = aFactor - 1;
aColor["R"], aColor["G"], aColor["B"] = (aColor["R"] or 0) + tSummand, (aColor["G"] or 0) + tSummand, (aColor["B"] or 0) + tSummand;
return aColor;
end
----------------------------------------
......
......@@ -460,3 +460,9 @@ VUHDO_I18N_BOUQUET_IS_PHASED = "Icon: Is Phased";
VUHDO_I18N_BOUQUET_IS_WAR_MODE_PHASED = "Icon: Is War Mode Phased";
VUHDO_I18N_DEF_BOUQUET_IS_PHASED = "Is Phased Icon";
-- 3.101
VUHDO_I18N_DEF_PLAYER_COMBO_POINTS = "Player Combo Points";
VUHDO_I18N_BOUQUET_OWN_COMBO_POINTS_EQUALS = "Flag: Own Combo Points ==";
VUHDO_I18N_DEF_PLAYER_SOUL_SHARDS = "Player Soul Shards";
VUHDO_I18N_BOUQUET_OWN_SOUL_SHARDS_EQUALS = "Flag: Own Soul Shards ==";
......@@ -469,3 +469,9 @@ VUHDO_I18N_BOUQUET_IS_PHASED = "Icon: Is Phased";
VUHDO_I18N_BOUQUET_IS_WAR_MODE_PHASED = "Icon: Is War Mode Phased";
VUHDO_I18N_DEF_BOUQUET_IS_PHASED = "Is Phased Icon";
-- 3.101
VUHDO_I18N_DEF_PLAYER_COMBO_POINTS = "Player Combo Points";
VUHDO_I18N_BOUQUET_OWN_COMBO_POINTS_EQUALS = "Flag: Own Combo Points ==";
VUHDO_I18N_DEF_PLAYER_SOUL_SHARDS = "Player Soul Shards";
VUHDO_I18N_BOUQUET_OWN_SOUL_SHARDS_EQUALS = "Flag: Own Soul Shards ==";
......@@ -470,3 +470,9 @@ VUHDO_I18N_BOUQUET_IS_PHASED = "Icon: Is Phased";
VUHDO_I18N_BOUQUET_IS_WAR_MODE_PHASED = "Icon: Is War Mode Phased";
VUHDO_I18N_DEF_BOUQUET_IS_PHASED = "Is Phased Icon";
-- 3.101
VUHDO_I18N_DEF_PLAYER_COMBO_POINTS = "Player Combo Points";
VUHDO_I18N_BOUQUET_OWN_COMBO_POINTS_EQUALS = "Flag: Own Combo Points ==";
VUHDO_I18N_DEF_PLAYER_SOUL_SHARDS = "Player Soul Shards";
VUHDO_I18N_BOUQUET_OWN_SOUL_SHARDS_EQUALS = "Flag: Own Soul Shards ==";
......@@ -468,3 +468,9 @@ VUHDO_I18N_BOUQUET_IS_PHASED = "Icon: Is Phased";
VUHDO_I18N_BOUQUET_IS_WAR_MODE_PHASED = "Icon: Is War Mode Phased";
VUHDO_I18N_DEF_BOUQUET_IS_PHASED = "Is Phased Icon";
-- 3.101
VUHDO_I18N_DEF_PLAYER_COMBO_POINTS = "Player Combo Points";
VUHDO_I18N_BOUQUET_OWN_COMBO_POINTS_EQUALS = "Flag: Own Combo Points ==";
VUHDO_I18N_DEF_PLAYER_SOUL_SHARDS = "Player Soul Shards";
VUHDO_I18N_BOUQUET_OWN_SOUL_SHARDS_EQUALS = "Flag: Own Soul Shards ==";
......@@ -534,3 +534,9 @@ VUHDO_I18N_BOUQUET_IS_PHASED = "Icon: Is Phased";
VUHDO_I18N_BOUQUET_IS_WAR_MODE_PHASED = "Icon: Is War Mode Phased";
VUHDO_I18N_DEF_BOUQUET_IS_PHASED = "Is Phased Icon";
-- 3.101
VUHDO_I18N_DEF_PLAYER_COMBO_POINTS = "Player Combo Points";
VUHDO_I18N_BOUQUET_OWN_COMBO_POINTS_EQUALS = "Flag: Own Combo Points ==";
VUHDO_I18N_DEF_PLAYER_SOUL_SHARDS = "Player Soul Shards";
VUHDO_I18N_BOUQUET_OWN_SOUL_SHARDS_EQUALS = "Flag: Own Soul Shards ==";
......@@ -462,3 +462,9 @@ VUHDO_I18N_BOUQUET_IS_PHASED = "Icon: Is Phased";
VUHDO_I18N_BOUQUET_IS_WAR_MODE_PHASED = "Icon: Is War Mode Phased";
VUHDO_I18N_DEF_BOUQUET_IS_PHASED = "Is Phased Icon";
-- 3.101
VUHDO_I18N_DEF_PLAYER_COMBO_POINTS = "Player Combo Points";
VUHDO_I18N_BOUQUET_OWN_COMBO_POINTS_EQUALS = "Flag: Own Combo Points ==";
VUHDO_I18N_DEF_PLAYER_SOUL_SHARDS = "Player Soul Shards";
VUHDO_I18N_BOUQUET_OWN_SOUL_SHARDS_EQUALS = "Flag: Own Soul Shards ==";
......@@ -462,3 +462,9 @@ VUHDO_I18N_BOUQUET_IS_PHASED = "Icon: Is Phased";
VUHDO_I18N_BOUQUET_IS_WAR_MODE_PHASED = "Icon: Is War Mode Phased";
VUHDO_I18N_DEF_BOUQUET_IS_PHASED = "Is Phased Icon";
-- 3.101
VUHDO_I18N_DEF_PLAYER_COMBO_POINTS = "Player Combo Points";
VUHDO_I18N_BOUQUET_OWN_COMBO_POINTS_EQUALS = "Flag: Own Combo Points ==";
VUHDO_I18N_DEF_PLAYER_SOUL_SHARDS = "Player Soul Shards";
VUHDO_I18N_BOUQUET_OWN_SOUL_SHARDS_EQUALS = "Flag: Own Soul Shards ==";
......@@ -34,6 +34,28 @@ end
--
local function VUHDO_comboPointsCalculator(anInfo)
if anInfo["connected"] and not anInfo["dead"] then
return UnitPower(anInfo["unit"], VUHDO_UNIT_POWER_COMBO_POINTS), UnitPowerMax(anInfo["unit"], VUHDO_UNIT_POWER_COMBO_POINTS);
else
return 0, 0;
end
end
--
local function VUHDO_soulShardsCalculator(anInfo)
if anInfo["connected"] and not anInfo["dead"] then
return UnitPower(anInfo["unit"], VUHDO_UNIT_POWER_SOUL_SHARDS), UnitPowerMax(anInfo["unit"], VUHDO_UNIT_POWER_SOUL_SHARDS);
else
return 0, 0;
end
end
--
local tAmountInc;
local function VUHDO_overhealCalculator(anInfo)
......@@ -193,6 +215,18 @@ VUHDO_TEXT_PROVIDERS = {
["validator"] = VUHDO_absoluteValidator,
["interests"] = { VUHDO_UPDATE_OWN_HOLY_POWER, VUHDO_UPDATE_DC, VUHDO_UPDATE_ALIVE },
},
["COMBO_POINTS_N"] = {
["displayName"] = "Combo Points: <#n>",
["calculator"] = VUHDO_comboPointsCalculator,
["validator"] = VUHDO_absoluteValidator,
["interests"] = { VUHDO_UPDATE_COMBO_POINTS, VUHDO_UPDATE_DC, VUHDO_UPDATE_ALIVE },
},
["SOUL_SHARDS_N"] = {
["displayName"] = "Soul Shards: <#n>",
["calculator"] = VUHDO_soulShardsCalculator,
["validator"] = VUHDO_absoluteValidator,
["interests"] = { VUHDO_UPDATE_SOUL_SHARDS, VUHDO_UPDATE_DC, VUHDO_UPDATE_ALIVE },
},
["MANA_PERCENT"] = {
["displayName"] = "Mana: <#n>%",
["calculator"] = VUHDO_manaCalculator,
......
......@@ -14,6 +14,14 @@ Bugfixes:
Improvements:
-- Minimap icon profile and key layout dropdown menus are now sorted
-- Added new bouquet validator 'Flag: Own Combo Points =='
-- Added new default bouquet 'Player Combo Points'
-- Added new text provider 'Combo Points: <#n>'
-- Added new bouquet validator 'Flag: Own Soul Shards =='
-- Added new default bouquet 'Player Soul Shards'
-- Added new text provider 'Soul Shards: <#n>'
-- Listen to UNIT_HEALTH_FREQUENT events exclusively
-- Work around a Blizzard bug that triplicates health events
--------------------------------------------------------------
......
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