Commit 84417e5e authored by Ivaria's avatar Ivaria
Browse files

Fixed Buff Watch for new derived spells (eg. Seal of Truth) - closes CurseForge ticket 354

parent e6503928
## Interface: 60000
## Title: VuhDo ['vu:du:]
## Author: Iza@Gilneas, humfras
## Version: 3.63
## Version: 3.64
## 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_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
......
......@@ -161,6 +161,7 @@ VUHDO_CLASS_BUFFS = {
{ VUHDO_SPELL_ID.BUFF_SEAL_OF_JUSTICE, VUHDO_BUFF_TARGET_STANCE },
{ VUHDO_SPELL_ID.BUFF_SEAL_OF_INSIGHT, VUHDO_BUFF_TARGET_STANCE },
{ VUHDO_SPELL_ID.BUFF_SEAL_OF_TRUTH, VUHDO_BUFF_TARGET_STANCE },
{ VUHDO_SPELL_ID.BUFF_SEAL_OF_COMMAND, VUHDO_BUFF_TARGET_STANCE },
},
[VUHDO_SPELL_ID.BUFF_BEACON_OF_LIGHT] = {
{ VUHDO_SPELL_ID.BUFF_BEACON_OF_LIGHT, VUHDO_BUFF_TARGET_UNIQUE },
......@@ -255,7 +256,6 @@ VUHDO_CLASS_BUFFS = {
{ VUHDO_SPELL_ID.BUFF_ASPECT_OF_THE_PACK, VUHDO_BUFF_TARGET_SELF },
{ VUHDO_SPELL_ID.BUFF_ASPECT_OF_THE_FOX, VUHDO_BUFF_TARGET_SELF },
{ VUHDO_SPELL_ID.BUFF_ASPECT_OF_THE_CEETAH, VUHDO_BUFF_TARGET_SELF },
{ VUHDO_SPELL_ID.BUFF_IRON_HAWK, VUHDO_BUFF_TARGET_SELF },
},
},
......
......@@ -364,28 +364,19 @@ function VUHDO_initBuffsFromSpellBook()
local tSpellName, tSpellId, tIcon;
-- GetSpellBookItemInfo is bugged for Hunter Iron Hawk
if "HUNTER" == VUHDO_PLAYER_CLASS then
VUHDO_BUFFS[VUHDO_SPELL_ID.BUFF_IRON_HAWK] = {
["icon"] = select(3, GetSpellInfo(109260)),
["id"] = 109260,
};
end
-- GetSpellBookItemInfo is bugged for Shaman Water Shield
if "SHAMAN" == VUHDO_PLAYER_CLASS then
VUHDO_BUFFS[VUHDO_SPELL_ID.BUFF_WATER_SHIELD] = {
["icon"] = select(3, GetSpellInfo(52127)),
["id"] = 52127,
};
end
-- Patch 6.0.2 broke the spell book for a certain class of spells which 'transform' into other spells
-- eg. Lightning Shield becomes Water Shield, Seal of Command becomes Seal of Truth
-- the workaround is to always check for existance in the spell book using the 'source' or 'parent'
-- spell name then map the 'source' spell name to the correct 'derived' or 'child' spell info
-- eg. GetSpellBookItemInfo("Lightning Shield") will return a spell ID only for Lightning Shield,
-- however when a Resto Shaman calls GetSpellInfo("Lightning Shield") it returns the correct
-- information for the derived spell Water Shield
for _, tCateg in pairs(VUHDO_getPlayerClassBuffs()) do
for _, tCategSpells in pairs(tCateg) do
tSpellName = tCategSpells[1];
_, tSpellId = GetSpellBookItemInfo(tSpellName);
if tSpellId then
_, _, tIcon = GetSpellInfo(tSpellId);
tSpellName, _, tIcon, _, _, _, tSpellId = GetSpellInfo(tSpellName);
VUHDO_BUFFS[tSpellName] = {
["icon"] = tIcon,
["id"] = tSpellId
......
......@@ -68,11 +68,24 @@ end
--
local function VUHDO_getFirstBuffCategoryVariant(aCategorySpec)
local tFirstVariant = nil;
for _, tFirstVariant in pairs(VUHDO_getPlayerClassBuffs()[aCategorySpec]) do
if VUHDO_BUFFS[tFirstVariant[1]] ~= nil then
return tFirstVariant;
end
end
return nil;
end
--
local function VUHDO_addBuffPanel(aCategorySpec)
local tCategName = aCategorySpec;
local tSettings = VUHDO_BUFF_SETTINGS[tCategName];
local tFirstVariant = VUHDO_getPlayerClassBuffs()[aCategorySpec][1];
local tBuffPanel, tSwatch;
local tIcon;
local tTargetType;
......@@ -80,8 +93,12 @@ local function VUHDO_addBuffPanel(aCategorySpec)
local tTexture;
local tLabelText;
local tFirstVariant = VUHDO_getFirstBuffCategoryVariant(aCategorySpec);
-- Happens on emergency login
if not VUHDO_BUFFS[tFirstVariant[1]] then return nil; end
if not tFirstVariant or not VUHDO_BUFFS[tFirstVariant[1]] then
return nil;
end
tTargetType = tFirstVariant[2];
tLabelText = VUHDO_BUFF_SETTINGS[tCategName]["buff"] or tFirstVariant[1];
......
......@@ -221,6 +221,7 @@ VUHDO_SPELL_ID.BUFF_SEAL_OF_JUSTICE = VUHDO_getSpellInfo(20164);
VUHDO_SPELL_ID.BUFF_SEAL_OF_INSIGHT = VUHDO_getSpellInfo(20165);
VUHDO_SPELL_ID.BUFF_SEAL_OF_TRUTH = VUHDO_getSpellInfo(31801);
VUHDO_SPELL_ID.BUFF_SEAL_OF_RIGHTEOUSNESS = VUHDO_getSpellInfo(20154);
VUHDO_SPELL_ID.BUFF_SEAL_OF_COMMAND = VUHDO_getSpellInfo(105361);
VUHDO_SPELL_ID.BUFF_BEACON_OF_LIGHT = VUHDO_getSpellInfo(53563);
......@@ -266,7 +267,6 @@ VUHDO_SPELL_ID.BUFF_TRUESHOT_AURA = VUHDO_getSpellInfo(19506);
VUHDO_SPELL_ID.BUFF_ASPECT_OF_THE_PACK = VUHDO_getSpellInfo(13159);
VUHDO_SPELL_ID.BUFF_ASPECT_OF_THE_FOX = VUHDO_getSpellInfo(172106)
VUHDO_SPELL_ID.BUFF_ASPECT_OF_THE_CEETAH = VUHDO_getSpellInfo(5118);
VUHDO_SPELL_ID.BUFF_IRON_HAWK = VUHDO_getSpellInfo(109260);
-- Rogue
VUHDO_SPELL_ID.BUFF_TRICKS_OF_THE_TRADE = VUHDO_getSpellInfo(57934);
......
......@@ -51,7 +51,7 @@ VUHDO_INIT_DEBUFF_ABILITIES = {
VUHDO_SPEC_TO_DEBUFF_ABIL = {
[VUHDO_SPELL_ID.INTERNAL_MEDICINE] = VUHDO_SPELL_ID.DETOX,
}
};
......
## Interface: 60000
## Title: VuhDo ['vu:du:] - Options
## Author: Iza@Gilneas, humfras
## Version: 3.63
## Version: 3.64
## Notes: VuhDo Options
## SavedVariables: VUHDO_OPTIONS_SETTINGS
## SavedVariablesPerCharacter: VUHDO_GLOBAL_ICONS, VUHDO_GI_SCAN_IDX
......
Version 3.64.
Bugfixes:
-- Fixed Buff Watch support for the new type of derived spells
-- Fixed watching of Shaman Lightning Shield and Water Shield
-- Fixed watching of Paladin Seal of Truth
-- Removed deprecated Hunter spell Aspect of the Iron Hawk
--------------------------------------------------------------
Version 3.63.
......
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