Commit 475a8ddd authored by Ivaria's avatar Ivaria

Reverting accidental MR from classic

parent e5fc9e74
......@@ -60,4 +60,4 @@ gitlab:
script:
- cd .release
- chmod +x ./release.sh
- ./release.sh -ocelzLWH
- echo ./release.sh -ocelzLWH
package-as: VuhDo
manual-changelog: changelog.txt
wowi-archive-previous: yes
externals:
Libs/LibStub:
url: svn://svn.wowace.com/wow/libstub/mainline/trunk
tag: latest
Libs/CallbackHandler-1.0:
url: svn://svn.wowace.com/wow/callbackhandler/mainline/trunk/CallbackHandler-1.0
tag: latest
Libs/AceAddon-3.0: svn://svn.wowace.com/wow/ace3/mainline/trunk/AceAddon-3.0
Libs/AceGUI-3.0: svn://svn.wowace.com/wow/ace3/mainline/trunk/AceGUI-3.0
Libs/AceConfig-3.0: svn://svn.wowace.com/wow/ace3/mainline/trunk/AceConfig-3.0
Libs/AceBucket-3.0: https://repos.wowace.com/wow/ace3/trunk/AceBucket-3.0
Libs/AceEvent-3.0: https://repos.wowace.com/wow/ace3/trunk/AceEvent-3.0
Libs/AceComm-3.0: svn://svn.wowace.com/wow/ace3/mainline/trunk/AceComm-3.0
Libs/AceLocale-3.0: svn://svn.wowace.com/wow/ace3/mainline/trunk/AceLocale-3.0
Libs/AceTimer-3.0: svn://svn.wowace.com/wow/ace3/mainline/trunk/AceTimer-3.0
Libs/AceSerializer-3.0: svn://svn.wowace.com/wow/ace3/mainline/trunk/AceSerializer-3.0
Libs/LibSharedMedia-3.0: svn://svn.wowace.com/wow/libsharedmedia-3-0/mainline/trunk/LibSharedMedia-3.0
Libs/LibDataBroker-1.1: git://git.wowace.com/wow/libdatabroker-1-1/mainline.git
Libs/UTF8: svn://svn.wowace.com/wow/utf8/mainline/trunk
Libs/LibCompress: svn://svn.wowace.com/wow/libcompress/mainline/trunk
Libs/LibBase64-1.0: git://git.wowace.com/wow/libbase64-1-0/mainline.git
Libs/LibDBIcon-1.0: svn://svn.wowace.com/wow/libdbicon-1-0/mainline/trunk/LibDBIcon-1.0
Libs/LibCustomGlow-1.0: git://github.com/Stanzilla/LibCustomGlow.git
Libs/LibClassicDurations: https://repos.curseforge.com/wow/libclassicdurations
Libs/LibHealComm-4.0: https://repos.wowace.com/wow/libhealcomm-4-0
Libs/!LibTotemInfo: https://github.com/SwimmingTiger/LibTotemInfo.git
VuhDoOptions/Libs/ChatThrottleLib: svn://svn.wowace.com/wow/chatthrottlelib/mainline/trunk
move-folders:
VuhDo/VuhDoOptions: VuhDoOptions
package-as: VuhDo
manual-changelog: changelog.txt
wowi-archive-previous: yes
externals:
Libs/LibStub:
url: svn://svn.wowace.com/wow/libstub/mainline/trunk
tag: latest
Libs/CallbackHandler-1.0:
url: svn://svn.wowace.com/wow/callbackhandler/mainline/trunk/CallbackHandler-1.0
tag: latest
Libs/AceAddon-3.0: svn://svn.wowace.com/wow/ace3/mainline/trunk/AceAddon-3.0
Libs/AceGUI-3.0: svn://svn.wowace.com/wow/ace3/mainline/trunk/AceGUI-3.0
Libs/AceConfig-3.0: svn://svn.wowace.com/wow/ace3/mainline/trunk/AceConfig-3.0
Libs/AceComm-3.0: svn://svn.wowace.com/wow/ace3/mainline/trunk/AceComm-3.0
Libs/AceLocale-3.0: svn://svn.wowace.com/wow/ace3/mainline/trunk/AceLocale-3.0
Libs/AceTimer-3.0: svn://svn.wowace.com/wow/ace3/mainline/trunk/AceTimer-3.0
Libs/AceSerializer-3.0: svn://svn.wowace.com/wow/ace3/mainline/trunk/AceSerializer-3.0
Libs/LibSharedMedia-3.0: svn://svn.wowace.com/wow/libsharedmedia-3-0/mainline/trunk/LibSharedMedia-3.0
Libs/LibDataBroker-1.1: git://git.wowace.com/wow/libdatabroker-1-1/mainline.git
Libs/UTF8: svn://svn.wowace.com/wow/utf8/mainline/trunk
Libs/LibCompress: svn://svn.wowace.com/wow/libcompress/mainline/trunk
Libs/LibBase64-1.0: git://git.wowace.com/wow/libbase64-1-0/mainline.git
Libs/LibDBIcon-1.0: svn://svn.wowace.com/wow/libdbicon-1-0/mainline/trunk/LibDBIcon-1.0
Libs/LibCustomGlow-1.0:
url: https://github.com/Stanzilla/LibCustomGlow
VuhDoOptions/Libs/ChatThrottleLib: svn://svn.wowace.com/wow/chatthrottlelib/mainline/trunk
move-folders:
VuhDo/VuhDoOptions: VuhDoOptions
......@@ -2,7 +2,7 @@
export CF_ID=7950
#export CF_API_KEY=
export WOWI_ID=24919
export WOWI_ID=14239
#export WOWI_ID_TEST=
#export WOWI_API_TOKEN=
#export GITHUB_SLUG=
......
......@@ -22,8 +22,4 @@
<Include file="LibCustomGlow-1.0\LibCustomGlow-1.0.xml" />
<Include file="NickTag-1.0\NickTag-1.0.xml" />
<Include file="!LibTotemInfo\embeds.xml" />
<Include file="LibClassicDurations\LibClassicDurations.xml" />
<Include file="LibHealComm-4.0\LibHealComm-4.0.xml" />
</Ui>
......@@ -91,7 +91,7 @@ local UnitIsAFK = UnitIsAFK;
local UnitIsConnected = UnitIsConnected;
local UnitIsCharmed = UnitIsCharmed;
local UnitInRaid = UnitInRaid;
local VUHDO_unitHasVehicleUI = VUHDO_unitHasVehicleUI;
local UnitHasVehicleUI = UnitHasVehicleUI;
local UnitTargetsVehicleInRaidUI = UnitTargetsVehicleInRaidUI;
local UnitCanAttack = UnitCanAttack;
local GetNumGroupMembers = GetNumGroupMembers;
......@@ -101,8 +101,8 @@ local UnitPowerMax = UnitPowerMax;
local UnitThreatSituation = UnitThreatSituation;
local UnitClass = UnitClass;
local UnitPowerType = UnitPowerType;
local VUHDO_unitHasVehicleUI = VUHDO_unitHasVehicleUI;
local VUHDO_unitGroupRolesAssigned = VUHDO_unitGroupRolesAssigned;
local UnitHasVehicleUI = UnitHasVehicleUI;
local UnitGroupRolesAssigned = UnitGroupRolesAssigned;
local GetRaidRosterInfo = GetRaidRosterInfo;
local InCombatLockdown = InCombatLockdown;
local IsInRaid = IsInRaid;
......@@ -333,7 +333,6 @@ function VUHDO_setHealth(aUnit, aMode)
tName, tRealm = UnitName(aUnit);
tInfo["healthmax"] = UnitHealthMax(aUnit);
tInfo["health"] = UnitHealth(aUnit);
tInfo["loghealth"] = UnitHealth(aUnit);
tInfo["name"] = tName;
tInfo["number"] = VUHDO_getUnitNo(aUnit);
tInfo["unit"] = aUnit;
......@@ -352,7 +351,7 @@ function VUHDO_setHealth(aUnit, aMode)
tInfo["connected"] = tIsConnected;
tInfo["threat"] = UnitThreatSituation(aUnit) or 0;
tInfo["threatPerc"] = 0;
tInfo["isVehicle"] = VUHDO_unitHasVehicleUI(aUnit);
tInfo["isVehicle"] = UnitHasVehicleUI(aUnit);
tInfo["className"] = tLocalClass or "";
tInfo["petUnit"] = VUHDO_OWNER_2_PET[aUnit];
tInfo["targetUnit"] = VUHDO_getTargetUnit(aUnit);
......@@ -387,30 +386,14 @@ function VUHDO_setHealth(aUnit, aMode)
VUHDO_updateBouquetsForEvent(aUnit, 19); -- VUHDO_UPDATE_DC
end
if 2 == aMode or 12 == aMode then -- VUHDO_UPDATE_HEALTH -- VUHDO_UPDATE_HEALTH_COMBAT_LOG
if 12 == aMode then -- VUHDO_UPDATE_HEALTH_COMBAT_LOG
tNewHealth = tInfo["loghealth"];
end
if 2 == aMode then
-- Filter exception UNIT_HEALTH_FREQUENT event in classic
-- Sometimes there is a UNIT_HEALTH_FREQUENT event in the interim period
if tInfo["updateTime"] == GetTime() then
return;
-- Filter exception health data from UnitHealth API
-- UnitHealth will return 0 if the hunter cast FeignDeath
-- Sometimes UnitIsDeadOrGhost return false and UnitHealth return 0 before UnitIsFeignDeath return true
elseif UnitIsFeignDeath(aUnit) or not UnitIsDeadOrGhost(aUnit) and UnitHealth(aUnit) == 0 then
return;
else
tNewHealth = UnitHealth(aUnit);
end
end
if 2 == aMode then -- VUHDO_UPDATE_HEALTH
tNewHealth = UnitHealth(aUnit);
if not tIsDead and tInfo["health"] > 0 then
tInfo["lifeLossPerc"] = tNewHealth / tInfo["health"];
end
tInfo["health"] = tNewHealth;
if tInfo["dead"] ~= tIsDead then
if not tIsDead then
tInfo["healthmax"] = UnitHealthMax(aUnit);
......@@ -424,7 +407,6 @@ function VUHDO_setHealth(aUnit, aMode)
tInfo["dead"] = tIsDead;
tInfo["healthmax"] = UnitHealthMax(aUnit);
tInfo["sortMaxHp"] = VUHDO_getUnitSortMaxHp(aUnit);
tInfo["loghealth"] = UnitHealth(aUnit);
elseif 6 == aMode then -- VUHDO_UPDATE_AFK
tInfo["afk"] = tIsAfk;
......@@ -456,7 +438,7 @@ function VUHDO_updateHealth(aUnit, aMode)
tIsPet = VUHDO_RAID[aUnit] and VUHDO_RAID[aUnit]["isPet"];
if not tIsPet or VUHDO_INTERNAL_TOGGLES[26] then -- VUHDO_UPDATE_PETS -- Enth\84lt nur Pets als eigene Balken, vehicles werden ?ber owner dargestellt s.unten
if not tIsPet or VUHDO_INTERNAL_TOGGLES[26] then -- VUHDO_UPDATE_PETS -- Enthlt nur Pets als eigene Balken, vehicles werden ?ber owner dargestellt s.unten
VUHDO_setHealth(aUnit, aMode);
VUHDO_updateHealthBarsFor(aUnit, aMode);
end
......@@ -471,7 +453,7 @@ function VUHDO_updateHealth(aUnit, aMode)
end
if 1 ~= sCurrentMode -- VUHDO_MODE_NEUTRAL
and (2 == aMode or 3 == aMode or 12 == aMode) then -- VUHDO_UPDATE_HEALTH -- VUHDO_UPDATE_HEALTH_MAX -- VUHDO_UPDATE_HEALTH_COMBAT_LOG
and (2 == aMode or 3 == aMode) then -- VUHDO_UPDATE_HEALTH -- VUHDO_UPDATE_HEALTH_MAX
-- Remove old emergencies
VUHDO_FORCE_RESET = true;
for tUnit, _ in pairs(VUHDO_EMERGENCIES) do
......@@ -557,7 +539,7 @@ end
--
local tRole;
local function VUHDO_addUnitToSpecial(aUnit)
if VUHDO_CONFIG["OMIT_DFT_MTS"] and "TANK" == (VUHDO_unitGroupRolesAssigned(aUnit)) then
if VUHDO_CONFIG["OMIT_DFT_MTS"] and "TANK" == (UnitGroupRolesAssigned(aUnit)) then
tinsert(VUHDO_GROUPS[41], aUnit); -- VUHDO_ID_MAINTANKS
return;
end
......@@ -882,7 +864,7 @@ function VUHDO_refreshRaidMembers()
else
tInfo["group"] = VUHDO_getUnitGroup(tPlayer, false);
tInfo["isVehicle"] = VUHDO_unitHasVehicleUI(tPlayer);
tInfo["isVehicle"] = UnitHasVehicleUI(tPlayer);
if ( tInfo["isVehicle"] ) then
local tRaidId = UnitInRaid(tPlayer);
......@@ -923,7 +905,7 @@ function VUHDO_refreshRaidMembers()
VUHDO_setHealth(bossUnitId, 1); -- VUHDO_UPDATE_ALL
else
tInfo["group"] = VUHDO_getUnitGroup(bossUnitId, false);
tInfo["isVehicle"] = VUHDO_unitHasVehicleUI(bossUnitId);
tInfo["isVehicle"] = UnitHasVehicleUI(bossUnitId);
tInfo["afk"] = false;
tInfo["connected"] = true;
......
## Interface: 11305
## Interface: 80300
## Title: VuhDo ['vu:du:]
## Author: Iza@Gilneas, humfras, Ivaria@Hyjal
## Version: 3.114-classic
## Version: 3.114
## Notes: Raid Frames providing click-heal functionality, buff and debuff control, main tank management and much more
## SavedVariablesPerCharacter: VUHDO_CONFIG, VUHDO_PANEL_SETUP, VUHDO_SPELL_ASSIGNMENTS, VUHDO_HOSTILE_SPELL_ASSIGNMENTS, VUHDO_MM_SETTINGS, VUHDO_PLAYER_TARGETS, VUHDO_MAINTANK_NAMES, VUHDO_BUFF_SETTINGS, VUHDO_POWER_TYPE_COLORS, VUHDO_SPELLS_KEYBOARD, VUHDO_SPELL_CONFIG, VUHDO_BUFF_ORDER, VUHDO_SPEC_LAYOUTS, VUHDO_GROUP_SIZE, VUHDO_RAID, VUHDO_INDICATOR_CONFIG
## SavedVariables: VUHDO_DEFAULT_LAYOUT, VUHDO_DEFAULT_PROFILE, VUHDO_PROFILES, VUHDO_MANUAL_ROLES, VUHDO_SPELL_LAYOUTS, VUHDO_USER_CLASS_COLORS, VUHDO_DEBUFF_BLACKLIST, VUHDO_BOUQUETS, VUHDO_COMBAT_LOG_TRACE, VUHDO_GLOBAL_CONFIG, VUHDO_DEBUG
......
......@@ -16,16 +16,6 @@ VUHDO_LibBase64 = LibStub:GetLibrary("LibBase64-1.0");
VUHDO_LibCustomGlow = LibStub("LibCustomGlow-1.0");
VUHDO_LibNickTag = LibStub("NickTag-1.0");
VUHDO_LibHealComm = LibStub("LibHealComm-4.0");
VUHDO_LibClassicDurations = LibStub("LibClassicDurations");
if VUHDO_LibClassicDurations then
VUHDO_LibClassicDurations:Register("VuhDo");
end
VUHDO_LibTotemInfo = LibStub("LibTotemInfo-1.0");
VUHDO_LibSharedMedia:Register("font", "Arial Black", "Interface\\AddOns\\VuhDo\\Fonts\\ariblk.ttf");
VUHDO_LibSharedMedia:Register("font", "Emblem", "Interface\\AddOns\\VuhDo\\Fonts\\Emblem.ttf");
VUHDO_LibSharedMedia:Register("font", "Vixar", "Interface\\AddOns\\VuhDo\\Fonts\\vixar.ttf");
......@@ -45,11 +35,9 @@ VUHDO_LibSharedMedia:Register("statusbar", "VuhDo - Plain White", "Interface\\Ad
VUHDO_LibSharedMedia:Register("statusbar", "LiteStepLite", "Interface\\AddOns\\VuhDo\\Images\\LiteStepLite.tga");
VUHDO_LibSharedMedia:Register("statusbar", "Tukui", "Interface\\AddOns\\VuhDo\\Images\\tukuibar.tga");
--[[ unavailable media in classic?
VUHDO_LibSharedMedia:Register("sound", "Tribal Bass Drum", "Sound\\Doodad\\BellTollTribal.wav");
VUHDO_LibSharedMedia:Register("sound", "Thorns", "Sound\\Spells\\Thorns.wav ");
VUHDO_LibSharedMedia:Register("sound", "Elf Bell Toll", "Sound\\Doodad\\BellTollNightElf.wav");
]]
VUHDO_LibSharedMedia:Register("sound", "Tribal Bass Drum", 566027);
VUHDO_LibSharedMedia:Register("sound", "Thorns", 569022);
VUHDO_LibSharedMedia:Register("sound", "Elf Bell Toll", 566558);
VUHDO_LibSharedMedia:Register("border", "Plain White", "Interface\\AddOns\\VuhDo\\Images\\white_square_16_16");
......
--
local UnitPower = UnitPower;
local UnitGetIncomingHeals = UnitGetIncomingHeals;
local pairs = pairs;
local ipairs = ipairs;
local floor = floor;
......@@ -241,11 +242,7 @@ local function VUHDO_isAoeSpellEnabled(aSpell)
elseif not VUHDO_CONFIG["AOE_ADVISOR"]["knownOnly"] then
return true;
else
if VUHDO_AOE_SPELLS[aSpell]["name"] then
return VUHDO_isSpellKnown(VUHDO_AOE_SPELLS[aSpell]["name"]);
else
return false;
end
return VUHDO_isSpellKnown(VUHDO_AOE_SPELLS[aSpell]["name"]);
end
end
......@@ -268,7 +265,7 @@ local function VUHDO_aoeGetIncHeals(aUnit, aCastTime)
return 0;
end
return (VUHDO_unitGetIncomingHeals(aUnit) or 0) - (VUHDO_unitGetIncomingHeals(aUnit, "player") or 0);
return (UnitGetIncomingHeals(aUnit) or 0) - (UnitGetIncomingHeals(aUnit, "player") or 0);
end
......
......@@ -690,7 +690,7 @@ function VUHDO_updateHealthBarsFor(aUnit, anUpdateMode)
tAllButtons = VUHDO_getUnitButtons(aUnit);
if not tAllButtons then return; end
if 2 == anUpdateMode or 12 == anUpdateMode then -- VUHDO_UPDATE_HEALTH --VUHDO_UPDATE_HEALTH_COMBAT_LOG
if 2 == anUpdateMode then -- VUHDO_UPDATE_HEALTH
VUHDO_determineIncHeal(aUnit);
tInfo = VUHDO_RAID[aUnit];
......
......@@ -541,32 +541,15 @@ local function VUHDO_updateHots(aUnit, anInfo)
if not tBuffIcon then
tDebuffOffset = tCnt - 1;
else
if VUHDO_LibClassicDurations then
local tNewDuration, tNewExpiry = VUHDO_LibClassicDurations:GetAuraDurationByUnit(aUnit, tSpellId, tCaster, tBuffName);
if tDuration == 0 and tNewDuration then
tDuration = tNewDuration;
tExpiry = tNewExpiry;
end
end
end
end
if tDebuffOffset then -- Achtung kein elseif
tBuffName, tBuffIcon, tStacks, _, tDuration, tExpiry, tCaster, _, _, tSpellId = UnitDebuff(aUnit, tCnt - tDebuffOffset);
if not tBuffIcon then
break;
end
if VUHDO_LibClassicDurations then
local tNewDuration, tNewExpiry = VUHDO_LibClassicDurations:GetAuraDurationByUnit(aUnit, tSpellId, tCaster, tBuffName);
if tDuration == 0 and tNewDuration then
tDuration = tNewDuration;
tExpiry = tNewExpiry;
end
end
end
tIsCastByPlayer = tCaster == "player" or tCaster == VUHDO_PLAYER_RAID_ID;
......
......@@ -205,7 +205,7 @@ end
--
local function VUHDO_isPhasedValidator(anInfo, _)
if VUHDO_unitIsWarModePhased(anInfo["unit"]) or not UnitInPhase(anInfo["unit"]) then
if UnitIsWarModePhased(anInfo["unit"]) or not UnitInPhase(anInfo["unit"]) then
return true, "Interface\\TargetingFrame\\UI-PhasingIcon",
-1, -1, -1, nil, nil, 0.15625, 0.84375, 0.15625, 0.84375;
else
......@@ -217,7 +217,7 @@ end
--
local function VUHDO_isWarModePhasedValidator(anInfo, _)
if VUHDO_unitIsWarModePhased(anInfo["unit"]) then
if UnitIsWarModePhased(anInfo["unit"]) then
return true, "Interface\\TargetingFrame\\UI-PhasingIcon",
-1, -1, -1, nil, nil, 0.15625, 0.84375, 0.15625, 0.84375;
else
......@@ -779,7 +779,7 @@ end
local function VUHDO_statusExcessAbsorbValidator(anInfo, _)
local healthmax = anInfo["healthmax"];
local excessAbsorb = (VUHDO_unitGetTotalAbsorbs(anInfo["unit"]) or 0) + anInfo["health"] - healthmax;
local excessAbsorb = (UnitGetTotalAbsorbs(anInfo["unit"]) or 0) + anInfo["health"] - healthmax;
if excessAbsorb < 0 then
return true, nil, 0, -1, healthmax;
......@@ -792,7 +792,7 @@ end
--
local function VUHDO_statusTotalAbsorbValidator(anInfo, _)
return true, nil, VUHDO_unitGetTotalAbsorbs(anInfo["unit"]) or 0, -1, anInfo["healthmax"];
return true, nil, UnitGetTotalAbsorbs(anInfo["unit"]) or 0, -1, anInfo["healthmax"];
end
......@@ -824,7 +824,7 @@ end
--
local function VUHDO_hasSummonIconValidator(anInfo, _)
if VUHDO_hasIncomingSummon(anInfo["unit"]) then
if C_IncomingSummon.HasIncomingSummon(anInfo["unit"]) then
local status = C_IncomingSummon.IncomingSummonStatus(anInfo["unit"]);
if (status == Enum.SummonStatus.Pending) then
......@@ -1472,28 +1472,28 @@ VUHDO_BOUQUET_BUFFS_SPECIAL = {
["displayName"] = VUHDO_I18N_BOUQUET_HEALTH_BELOW,
["validator"] = VUHDO_healthBelowValidator,
["custom_type"] = VUHDO_BOUQUET_CUSTOM_TYPE_PERCENT,
["interests"] = { VUHDO_UPDATE_HEALTH, VUHDO_UPDATE_HEALTH_MAX, VUHDO_UPDATE_HEALTH_COMBAT_LOG },
["interests"] = { VUHDO_UPDATE_HEALTH, VUHDO_UPDATE_HEALTH_MAX },
},
["HEALTH_ABOVE"] = {
["displayName"] = VUHDO_I18N_BOUQUET_HEALTH_ABOVE,
["validator"] = VUHDO_healthAboveValidator,
["custom_type"] = VUHDO_BOUQUET_CUSTOM_TYPE_PERCENT,
["interests"] = { VUHDO_UPDATE_HEALTH, VUHDO_UPDATE_HEALTH_MAX, VUHDO_UPDATE_HEALTH_COMBAT_LOG },
["interests"] = { VUHDO_UPDATE_HEALTH, VUHDO_UPDATE_HEALTH_MAX },
},
["HEALTH_BELOW_ABS"] = {
["displayName"] = VUHDO_I18N_BOUQUET_HEALTH_BELOW_ABS,
["validator"] = VUHDO_healthBelowAbsValidator,
["custom_type"] = VUHDO_BOUQUET_CUSTOM_TYPE_HEALTH,
["interests"] = { VUHDO_UPDATE_HEALTH, VUHDO_UPDATE_HEALTH_MAX, VUHDO_UPDATE_HEALTH_COMBAT_LOG },
["interests"] = { VUHDO_UPDATE_HEALTH, VUHDO_UPDATE_HEALTH_MAX },
},
["HEALTH_ABOVE_ABS"] = {
["displayName"] = VUHDO_I18N_BOUQUET_HEALTH_ABOVE_ABS,
["validator"] = VUHDO_healthAboveAbsValidator,
["custom_type"] = VUHDO_BOUQUET_CUSTOM_TYPE_HEALTH,
["interests"] = { VUHDO_UPDATE_HEALTH, VUHDO_UPDATE_HEALTH_MAX, VUHDO_UPDATE_HEALTH_COMBAT_LOG },
["interests"] = { VUHDO_UPDATE_HEALTH, VUHDO_UPDATE_HEALTH_MAX },
},
["MANA_BELOW"] = {
......@@ -1631,7 +1631,7 @@ VUHDO_BOUQUET_BUFFS_SPECIAL = {
["displayName"] = VUHDO_I18N_BOUQUET_STATUS_HEALTH,
["validator"] = VUHDO_statusHealthValidator,
["custom_type"] = VUHDO_BOUQUET_CUSTOM_TYPE_STATUSBAR,
["interests"] = { VUHDO_UPDATE_HEALTH, VUHDO_UPDATE_HEALTH_MAX, VUHDO_UPDATE_INC, VUHDO_UPDATE_HEALTH_COMBAT_LOG },
["interests"] = { VUHDO_UPDATE_HEALTH, VUHDO_UPDATE_HEALTH_MAX, VUHDO_UPDATE_INC },
},
["STATUS_MANA"] = {
......@@ -1676,7 +1676,7 @@ VUHDO_BOUQUET_BUFFS_SPECIAL = {
["displayName"] = VUHDO_I18N_BOUQUET_STATUS_EXCESS_ABSORB,
["validator"] = VUHDO_statusExcessAbsorbValidator,
["custom_type"] = VUHDO_BOUQUET_CUSTOM_TYPE_STATUSBAR,
["interests"] = { VUHDO_UPDATE_HEALTH, VUHDO_UPDATE_HEALTH_MAX, VUHDO_UPDATE_SHIELD, VUHDO_UPDATE_HEALTH_COMBAT_LOG },
["interests"] = { VUHDO_UPDATE_HEALTH, VUHDO_UPDATE_HEALTH_MAX, VUHDO_UPDATE_SHIELD },
},
["STATUS_TOTAL_ABSORB"] = {
......@@ -1938,7 +1938,7 @@ VUHDO_BOUQUET_BUFFS_SPECIAL = {
["validator"] = VUHDO_customFlagValidator,
["custom_type"] = VUHDO_BOUQUET_CUSTOM_TYPE_CUSTOM_FLAG,
["updateCyclic"] = true,
["interests"] = { VUHDO_UPDATE_INC, VUHDO_UPDATE_HEALTH, VUHDO_UPDATE_RANGE, VUHDO_UPDATE_HEALTH_MAX, VUHDO_UPDATE_ALIVE, VUHDO_UPDATE_NUM_CLUSTER ,VUHDO_UPDATE_HEALTH_COMBAT_LOG}, --ignoring some for now (eg. VUHDO_UPDATE_MANA, VUHDO_UPDATE_DC, etc.)
["interests"] = { VUHDO_UPDATE_INC, VUHDO_UPDATE_HEALTH, VUHDO_UPDATE_RANGE, VUHDO_UPDATE_HEALTH_MAX, VUHDO_UPDATE_ALIVE, VUHDO_UPDATE_NUM_CLUSTER }, --ignoring some for now (eg. VUHDO_UPDATE_MANA, VUHDO_UPDATE_DC, etc.)
},
};
......
......@@ -34,31 +34,14 @@ local GROUP_CRIT = { };
local GROUP_MASTERY = { };
local GROUP_STATS = {
VUHDO_SPELL_ID.BUFF_MARK_OF_THE_WILD,
VUHDO_SPELL_ID.BUFF_GIFT_OF_THE_WILD,
};
local GROUP_STATS = { };
local GROUP_SPELL_POWER = { };
local GROUP_SPELL_POWER = {
VUHDO_SPELL_ID.BUFF_ARCANE_BRILLIANCE,
};
local GROUP_STAM = {
VUHDO_SPELL_ID.BUFF_POWER_WORD_FORTITUDE,
VUHDO_SPELL_ID.BUFF_PRAYER_OF_FORTITUDE,
};
local GROUP_SHADOW = {
VUHDO_SPELL_ID.BUFF_SHADOW_PROTECTION,
VUHDO_SPELL_ID.BUFF_PRAYER_OF_SHADOW_PROTECTION,
};
local GROUP_SPIRIT = {
VUHDO_SPELL_ID.BUFF_DIVINE_SPIRIT,
VUHDO_SPELL_ID.BUFF_PRAYER_OF_SPIRIT,
};
local GROUP_INT = {
VUHDO_SPELL_ID.BUFF_ARCANE_INTELLECT,
VUHDO_SPELL_ID.BUFF_ARCANE_BRILLIANCE,
};
......@@ -71,19 +54,10 @@ VUHDO_CLASS_BUFFS = {
-- Priest
["PRIEST"] = {
[VUHDO_SPELL_ID.BUFF_POWER_WORD_FORTITUDE] = {
{ VUHDO_SPELL_ID.BUFF_POWER_WORD_FORTITUDE, VUHDO_BUFF_TARGET_SINGLE, GROUP_STAM },
{ VUHDO_SPELL_ID.BUFF_PRAYER_OF_FORTITUDE, VUHDO_BUFF_TARGET_RAID, GROUP_STAM },
},
[VUHDO_SPELL_ID.BUFF_SHADOW_PROTECTION] = {
{ VUHDO_SPELL_ID.BUFF_SHADOW_PROTECTION, VUHDO_BUFF_TARGET_SINGLE, GROUP_SHADOW },
{ VUHDO_SPELL_ID.BUFF_PRAYER_OF_SHADOW_PROTECTION, VUHDO_BUFF_TARGET_RAID, GROUP_SHADOW },
},
[VUHDO_SPELL_ID.BUFF_DIVINE_SPIRIT] = {
{ VUHDO_SPELL_ID.BUFF_DIVINE_SPIRIT, VUHDO_BUFF_TARGET_SINGLE, GROUP_SPIRIT },
{ VUHDO_SPELL_ID.BUFF_PRAYER_OF_SPIRIT, VUHDO_BUFF_TARGET_RAID, GROUP_SPIRIT },
{ VUHDO_SPELL_ID.BUFF_POWER_WORD_FORTITUDE, VUHDO_BUFF_TARGET_RAID, GROUP_STAM },
},
[VUHDO_SPELL_ID.BUFF_FEAR_WARD] = {
{ VUHDO_SPELL_ID.BUFF_FEAR_WARD, VUHDO_BUFF_TARGET_UNIQUE },
[VUHDO_SPELL_ID.BUFF_SHADOWFIEND] = {
{ VUHDO_SPELL_ID.BUFF_SHADOWFIEND, VUHDO_BUFF_TARGET_HOSTILE },
},
[VUHDO_SPELL_ID.BUFF_POWER_INFUSION] = {
{ VUHDO_SPELL_ID.BUFF_POWER_INFUSION, VUHDO_BUFF_TARGET_UNIQUE },
......@@ -94,9 +68,9 @@ VUHDO_CLASS_BUFFS = {
[VUHDO_SPELL_ID.BUFF_LEVITATE] = {
{ VUHDO_SPELL_ID.BUFF_LEVITATE, VUHDO_BUFF_TARGET_SINGLE },
},
[VUHDO_SPELL_ID.BUFF_INNER_FIRE] = {
{ VUHDO_SPELL_ID.BUFF_INNER_FIRE, VUHDO_BUFF_TARGET_SELF },
},
[VUHDO_SPELL_ID.PAIN_SUPPRESSION] = {
{ VUHDO_SPELL_ID.PAIN_SUPPRESSION, VUHDO_BUFF_TARGET_UNIQUE },
},
},
-- Shaman
......@@ -167,38 +141,43 @@ VUHDO_CLASS_BUFFS = {
},
["DRUID"] = {
[VUHDO_SPELL_ID.BUFF_MARK_OF_THE_WILD] = {
{ VUHDO_SPELL_ID.BUFF_MARK_OF_THE_WILD, VUHDO_BUFF_TARGET_SINGLE, GROUP_STATS },
{ VUHDO_SPELL_ID.BUFF_GIFT_OF_THE_WILD, VUHDO_BUFF_TARGET_RAID, GROUP_STATS },
},
[VUHDO_SPELL_ID.BUFF_THORNS] = {
{ VUHDO_SPELL_ID.BUFF_THORNS, VUHDO_BUFF_TARGET_SELF },
},
-- TODO: what would be useful for Druids?
},
["WARLOCK"] = {
[VUHDO_SPELL_ID.BUFF_DEMON_SKIN] = {
{ VUHDO_SPELL_ID.BUFF_DEMON_SKIN, VUHDO_BUFF_TARGET_SELF },
},
[VUHDO_SPELL_ID.BUFF_DEMON_ARMOR] = {
{ VUHDO_SPELL_ID.BUFF_DEMON_ARMOR, VUHDO_BUFF_TARGET_SELF },
[VUHDO_SPELL_ID.BUFF_GRIMOIRE_OF_SACRIFICE] = {
{ VUHDO_SPELL_ID.BUFF_GRIMOIRE_OF_SACRIFICE, VUHDO_BUFF_TARGET_SELF },
},
},
["MAGE"] = {
[VUHDO_SPELL_ID.BUFF_ARCANE_BRILLIANCE] = {
{ VUHDO_SPELL_ID.BUFF_ARCANE_INTELLECT, VUHDO_BUFF_TARGET_SELF, GROUP_INT },
{ VUHDO_SPELL_ID.BUFF_ARCANE_BRILLIANCE, VUHDO_BUFF_TARGET_RAID, GROUP_INT },
{ VUHDO_SPELL_ID.BUFF_ARCANE_BRILLIANCE, VUHDO_BUFF_TARGET_RAID, GROUP_SPELL_POWER },
},
[VUHDO_SPELL_ID.BUFF_ICE_BLOCK] = {
{ VUHDO_SPELL_ID.BUFF_ICE_BLOCK, VUHDO_BUFF_TARGET_SELF },
},
[VUHDO_SPELL_ID.BUFF_COMBUSTION] = {
{ VUHDO_SPELL_ID.BUFF_COMBUSTION, VUHDO_BUFF_TARGET_SELF },
},
[VUHDO_SPELL_ID.BUFF_SLOW_FALL] = {
{ VUHDO_SPELL_ID.BUFF_SLOW_FALL, VUHDO_BUFF_TARGET_SINGLE },
},
[VUHDO_SPELL_ID.BUFF_INVISIBILITY] = {
{ VUHDO_SPELL_ID.BUFF_INVISIBILITY, VUHDO_BUFF_TARGET_SELF },
},
[VUHDO_SPELL_ID.ICE_BARRIER] = {
{ VUHDO_SPELL_ID.ICE_BARRIER, VUHDO_BUFF_TARGET_SELF },
},
[VUHDO_SPELL_ID.RUNE_OF_POWER] = {
{ VUHDO_SPELL_ID.RUNE_OF_POWER, VUHDO_BUFF_TARGET_SELF },
},
[VUHDO_SPELL_ID.TEMPORAL_SHIELD] = {
{ VUHDO_SPELL_ID.TEMPORAL_SHIELD, VUHDO_BUFF_TARGET_SELF },
},
[VUHDO_SPELL_ID.BUFF_ARCANE_FAMILIAR] = {
{ VUHDO_SPELL_ID.BUFF_ARCANE_FAMILIAR, VUHDO_BUFF_TARGET_SELF },
},
},
["DEATHKNIGHT"] = {
......@@ -209,6 +188,9 @@ VUHDO_CLASS_BUFFS = {
[VUHDO_SPELL_ID.BUFF_BATTLE_SHOUT] = {
{ VUHDO_SPELL_ID.BUFF_BATTLE_SHOUT, VUHDO_BUFF_TARGET_RAID, GROUP_ATK_POWER },
},
[VUHDO_SPELL_ID.BUFF_COMMANDING_SHOUT] = {
{ VUHDO_SPELL_ID.BUFF_COMMANDING_SHOUT, VUHDO_BUFF_TARGET_RAID },
},
},
["HUNTER"] = {
......
......@@ -43,7 +43,7 @@ local VUHDO_isInBattleground;
local VUHDO_brightenTextColor;
local VUHDO_isConfigDemoUsers;
local GetTotemInfo = VUHDO_LibTotemInfo.GetTotemInfo;
local GetTotemInfo = GetTotemInfo;
local table = table;
local strsub = strsub;
local GetTime = GetTime;
......
local VUHDO_RAID = { };
local VUHDO_RAID_GUIDS = { };
local VUHDO_INTERNAL_TOGGLES = { };
local strsplit = strsplit;
local pairs = pairs;
local select = select;
local VUHDO_updateHealth;
local sCurrentTarget = nil;
local sCurrentFocus = nil;
--
function VUHDO_combatLogInitLocalOverrides()
VUHDO_RAID = _G["VUHDO_RAID"];
VUHDO_RAID_GUIDS = _G["VUHDO_RAID_GUIDS"];
VUHDO_INTERNAL_TOGGLES = _G["VUHDO_INTERNAL_TOGGLES"];
VUHDO_updateHealth = _G["VUHDO_updateHealth"];
end
--
local tInfo;
local tNewHealth;
local tDeadInfo = { ["dead"] = true };
local function VUHDO_addUnitHealth(aUnit, aDelta, aSrcGUID)
tInfo = VUHDO_RAID[aUnit] or tDeadInfo;
if not tInfo["dead"] then
-- filter exception data from combat log in classic
-- sometimes combat log shows 19000+ damage but it's not correct e.g Ragnaros's Melt Weapon
if abs(aDelta) > 10000 then
local tSrc, _, _, _, _, tNpcId = strsplit("-", aSrcGUID);
-- 11502 - Ragnaros
-- 11583 - Nefarian
if tNpcId and (tNpcId == "11502" or tNpcId == "11583") then
return;
end
-- 18168 - Force Reactive Disk
if tSrc and tSrc == "Player" and abs(aDelta) == 18168 then
return;
end
end
-- avoid the calculation to be disturbed by the exception data
if tInfo["health"] ~= 0 then
tNewHealth = tInfo["health"] + aDelta;
else
tNewHealth = tInfo["loghealth"] + aDelta;
end
if tNewHealth < 0 then
tNewHealth = 0;
elseif tNewHealth > tInfo["healthmax"] then
tNewHealth = tInfo["healthmax"];
end