Commit c7adfd6f authored by Ivaria's avatar Ivaria
Browse files

Final reintegration of Legion branch into trunk

parents 9045ff61 a934e8d7
## Interface: 60200
## Interface: 70000
## Title: VuhDo ['vu:du:]
## Author: Iza@Gilneas, humfras, Ivaria@Hyjal
## Version: 3.71
## Version: 3.72
## 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
......@@ -21,3 +21,4 @@ Libs\UTF8\utf8data.lua
VuhDoPanel.xml
VuhDoBuffWatch.xml
......@@ -74,11 +74,11 @@ VUHDO_AOE_SPELLS = {
["avg"] = 0,
["max_targets"] = 5,
["degress"] = 1,
["rangePow"] = 30 * 30,
["rangePow"] = 20 * 20,
["isRadial"] = true,
["areTargetsRandom"] = true,
--["isSourcePlayer"] = false,
--["isDestRaid"] = false,
["isDestRaid"] = false,
["thresh"] = 20000,
["cone"] = 360,
--["checkCd"] = false,
......@@ -117,7 +117,7 @@ VUHDO_AOE_SPELLS = {
["icon"] = (GetSpellTexture(VUHDO_SPELL_ID_WG)),
["name"] = (GetSpellInfo(VUHDO_SPELL_ID_WG)),
["avg"] = 0,
["max_targets"] = 5,
["max_targets"] = 6,
["degress"] = 1,
["rangePow"] = 30 * 30,
["isRadial"] = true,
......@@ -139,7 +139,7 @@ VUHDO_AOE_SPELLS = {
["icon"] = (GetSpellTexture(VUHDO_SPELL_ID_TQ)),
["name"] = (GetSpellInfo(VUHDO_SPELL_ID_TQ)),
["avg"] = 0,
["max_targets"] = 5,
["max_targets"] = 40,
["degress"] = 1,
["rangePow"] = 40 * 40,
["isRadial"] = true,
......@@ -161,7 +161,7 @@ VUHDO_AOE_SPELLS = {
["icon"] = (GetSpellTexture(VUHDO_SPELL_ID_LOD)),
["name"] = (GetSpellInfo(VUHDO_SPELL_ID_LOD)),
["avg"] = 0,
["max_targets"] = 6, -- MOP
["max_targets"] = 5,
["degress"] = 1,
["rangePow"] = 30 * 30,
["isRadial"] = true,
......@@ -174,28 +174,6 @@ VUHDO_AOE_SPELLS = {
["time"] = select(7, GetSpellInfo(VUHDO_SPELL_ID_LOD)) or 0,
},
-- Holy Radiance
["hr"] = {
--["present"] = false,
["id"] = VUHDO_SPELL_ID_HR,
["base"] = (5098 + 6230) * 0.3, --(ca. 0.25 + 0.5 target)
["divisor"] = 4859,
["icon"] = (GetSpellTexture(VUHDO_SPELL_ID_HR)),
["name"] = (GetSpellInfo(VUHDO_SPELL_ID_HR)),
["avg"] = 0,
["max_targets"] = 40,
["degress"] = 1,
["rangePow"] = 10 * 10,
["isRadial"] = true,
["areTargetsRandom"] = true,
--["isSourcePlayer"] = false,
["isDestRaid"] = true,
["thresh"] = 10000,
["cone"] = 360,
--["checkCd"] = false,
["time"] = select(7, GetSpellInfo(VUHDO_SPELL_ID_HR)) or 0,
},
-- Chi Burst
["cb"] = {
--["present"] = false,
......@@ -272,11 +250,6 @@ local function VUHDO_isAoeSpellEnabled(aSpell)
end
-- AoE glyphs:
-- Priest: Circle of Healing, +1 target (42396)
-- Shaman: Chain Heal, +100% range (41552)
-- Paladin: Light of Dawn, -2 targets +25% healing (41109)
-- Druid: Wild Growth, +1 target (45602)
--
function VUHDO_aoeUpdateTalents()
......@@ -284,26 +257,6 @@ function VUHDO_aoeUpdateTalents()
tInfo["present"] = VUHDO_isAoeSpellEnabled(tName);
end
if "PRIEST" == VUHDO_PLAYER_CLASS then
VUHDO_AOE_SPELLS["coh"]["max_targets"] = VUHDO_isGlyphed(42396) and 6 or 5; -- Glyph of CoH -- MOPok
elseif "SHAMAN" == VUHDO_PLAYER_CLASS then
VUHDO_AOE_SPELLS["ch"]["jumpRangePow"] = VUHDO_isGlyphed(41552) and 22 * 22 or 11 * 11; -- Kettenbildung -- MOPok
elseif "DRUID" == VUHDO_PLAYER_CLASS then
VUHDO_AOE_SPELLS["wg"]["max_targets"] = VUHDO_isGlyphed(45602) and 6 or 5; -- Glyph of WG -- MOPok
elseif "PALADIN" == VUHDO_PLAYER_CLASS then
local tSpell = VUHDO_AOE_SPELLS["lod"];
if VUHDO_isGlyphed(41109) then -- Glyph of LoD
tSpell["max_targets"] = 4;
tSpell["base"] = (4599 + 5082) * 0.75;
else
tSpell["max_targets"] = 6;
tSpell["base"] = (4599 + 5082) * 0.5;
end
end
VUHDO_aoeUpdateSpellAverages();
end
......
......@@ -469,7 +469,6 @@ end
local VUHDO_IGNORE_HOT_IDS = {
[67358] = true, -- "Rejuvenating" proc has same name in russian and spanish as rejuvenation
[126921] = true, -- "Weakened Soul" by Shao-Tien Soul-Render
[65148] = true, -- Second buff of Sacred Shield: New absorb buff every 6 (which actually lasts 30 sec.)
}
......@@ -479,20 +478,7 @@ function VUHDO_hotBouquetCallback(aUnit, anIsActive, anIcon, aTimer, aCounter, a
VUHDO_updateHotIcons(aUnit, "BOUQUET_" .. (aBouquetName or ""), aTimer, aCounter, anIcon, aDuration, 0, aColor, aBuffName, aClipL, aClipR, aClipT, aClipB);
end
--
local tTalentRampantGrowthSpellId;
local tIsTalentSelected;
function VUHDO_hasTalentRampantGrowth()
if "DRUID" ~= VUHDO_PLAYER_CLASS then
return false;
end
tTalentRampantGrowthSpellId = 21655;
_, _, _, tIsTalentSelected, _ = GetTalentInfoByID(tTalentRampantGrowthSpellId, GetActiveSpecGroup());
return tIsTalentSelected;
end
--
local tOtherHotCnt;
......@@ -564,14 +550,7 @@ local function VUHDO_updateHots(aUnit, anInfo)
if VUHDO_SPELL_ID.REGROWTH == tBuffName or VUHDO_SPELL_ID.REJUVENATION == tBuffName or VUHDO_SPELL_ID.GERMINATION == tBuffName then
tStart, tSmDuration, tEnabled = GetSpellCooldown(VUHDO_SPELL_ID.SWIFTMEND);
if tEnabled ~= 0 and (tStart == nil or tSmDuration == nil or tStart <= 0 or tSmDuration <= 1.6) then
-- Level 100 talent makes a unit swiftmendable only with OWN hots
if VUHDO_hasTalentRampantGrowth() then
if tIsCastByPlayer then
sIsSwiftmend = true;
end
else
sIsSwiftmend = true;
end
sIsSwiftmend = true;
end
end
end
......
......@@ -860,6 +860,19 @@ end
--
local function VUHDO_demonHunterTankValidator(anInfo, _)
if (VUHDO_ID_MELEE_TANK == anInfo["role"]) then
if(VUHDO_ID_DEMON_HUNTERS == anInfo["classId"]) then
return true, "Interface\\LFGFrame\\UI-LFG-ICON-ROLES", -1, -1, -1, nil, nil, GetTexCoordsForRole("TANK");
end
else
return false, nil, -1, -1, -1, nil, nil, nil, nil, nil, nil;
end
end
--
local tIcon, tExpiry, tStacks, tDuration;
local function VUHDO_customDebuffIconValidator(anInfo, _)
......@@ -992,7 +1005,7 @@ local tUnit;
local function VUHDO_tappedValidator(anInfo, _)
tUnit = anInfo["unit"];
if not UnitIsPlayer(tUnit) and UnitIsTapped(tUnit) and not UnitIsTappedByPlayer(tUnit) then
if not UnitIsPlayer(tUnit) and UnitIsTapDenied(tUnit) then
return true, nil, -1, -1, -1,
VUHDO_copyColor(sBarColors["TAPPED"]);
else
......@@ -1602,6 +1615,12 @@ VUHDO_BOUQUET_BUFFS_SPECIAL = {
["interests"] = { },
},
["DEMON_HUNTER_TANK"] = {
["displayName"] = VUHDO_I18N_BOUQUET_DEMON_HUNTER_TANK,
["validator"] = VUHDO_demonHunterTankValidator,
["interests"] = { },
},
["DIRECTION"] = {
["displayName"] = VUHDO_I18N_BOUQUET_DIRECTION_ARROW,
["validator"] = VUHDO_directionArrowValidator,
......@@ -1702,7 +1721,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 },
["interests"] = { VUHDO_UPDATE_INC, VUHDO_UPDATE_HEALTH, VUHDO_UPDATE_RANGE, VUHDO_UPDATE_HEALTH_MAX, VUHDO_UPDATE_ALIVE }, --ignoring some for now (eg. VUHDO_UPDATE_MANA, VUHDO_UPDATE_DC, etc.)
},
};
......
......@@ -180,9 +180,6 @@ VUHDO_CLASS_BUFFS = {
[VUHDO_SPELL_ID.BUFF_RIGHTEOUS_FURY] = {
{ VUHDO_SPELL_ID.BUFF_RIGHTEOUS_FURY, VUHDO_BUFF_TARGET_SELF },
},
[VUHDO_SPELL_ID.SACRED_SHIELD] = {
{ VUHDO_SPELL_ID.SACRED_SHIELD, VUHDO_BUFF_TARGET_UNIQUE },
},
},
["DRUID"] = {
......@@ -192,12 +189,12 @@ VUHDO_CLASS_BUFFS = {
},
["WARLOCK"] = {
[VUHDO_SPELL_ID.BUFF_DARK_INTENT] = {
[VUHDO_SPELL_ID.BUFF_DARK_INTENT] = {
{ VUHDO_SPELL_ID.BUFF_DARK_INTENT, VUHDO_BUFF_TARGET_RAID, GROUP_SPELL_POWER },
},
[VUHDO_SPELL_ID.BUFF_GRIMOIR_OF_SACRIFICE] = {
},
[VUHDO_SPELL_ID.BUFF_GRIMOIR_OF_SACRIFICE] = {
{ VUHDO_SPELL_ID.BUFF_GRIMOIR_OF_SACRIFICE, VUHDO_BUFF_TARGET_SELF },
},
},
},
["MAGE"] = {
......@@ -306,6 +303,10 @@ VUHDO_CLASS_BUFFS = {
{ VUHDO_SPELL_ID.BUFF_LEGACY_OF_THE_WHITE_TIGER, VUHDO_BUFF_TARGET_RAID, GROUP_STATS, GROUP_CRIT },
},
},
["DEMONHUNTER"] = {
-- TODO: add the class buffs that Demon Hunters provide
},
};
......
......@@ -48,6 +48,7 @@ VUHDO_ID_DRUIDS = 27;
VUHDO_ID_PRIESTS = 28;
VUHDO_ID_DEATH_KNIGHT = 29;
VUHDO_ID_MONKS = 30;
VUHDO_ID_DEMON_HUNTERS = 31;
VUHDO_ID_PETS = 40;
VUHDO_ID_MAINTANKS = 41;
......@@ -113,7 +114,8 @@ VUHDO_ID_TYPE_MEMBERS = {
VUHDO_ID_DRUIDS,
VUHDO_ID_PRIESTS,
VUHDO_ID_DEATH_KNIGHT,
VUHDO_ID_MONKS
VUHDO_ID_MONKS,
VUHDO_ID_DEMON_HUNTERS,
},
[VUHDO_ID_TYPE_SPECIAL] = {
......@@ -166,6 +168,7 @@ VUHDO_ID_MEMBER_TYPES = {
[VUHDO_ID_PRIESTS] = VUHDO_ID_TYPE_CLASS,
[VUHDO_ID_DEATH_KNIGHT] = VUHDO_ID_TYPE_CLASS,
[VUHDO_ID_MONKS] = VUHDO_ID_TYPE_CLASS,
[VUHDO_ID_DEMON_HUNTERS] = VUHDO_ID_TYPE_CLASS,
};
......@@ -200,6 +203,7 @@ VUHDO_CLASS_IDS = {
["PRIEST"] = VUHDO_ID_PRIESTS,
["DEATHKNIGHT"] = VUHDO_ID_DEATH_KNIGHT,
["MONK"] = VUHDO_ID_MONKS,
["DEMONHUNTER"] = VUHDO_ID_DEMON_HUNTERS,
};
......@@ -217,6 +221,7 @@ VUHDO_ID_CLASSES = {
[VUHDO_ID_PRIESTS] = "PRIEST",
[VUHDO_ID_DEATH_KNIGHT] = "DEATHKNIGHT",
[VUHDO_ID_MONKS] = "MONK",
[VUHDO_ID_DEMON_HUNTERS] = "DEMONHUNTER",
};
......@@ -271,13 +276,19 @@ VUHDO_UPDATE_CHI = 35;
VUHDO_UPDATE_SHIELD = 36;
-- Unit power types (== Blizzard defined types)
VUHDO_UNIT_POWER_MANA = 0;
VUHDO_UNIT_POWER_RAGE = 1;
VUHDO_UNIT_POWER_FOCUS = 2;
VUHDO_UNIT_POWER_ENERGY = 3;
VUHDO_UNIT_POWER_HAPPINESS = 4;
VUHDO_UNIT_POWER_RUNES = 6;
VUHDO_UNIT_POWER_MANA = SPELL_POWER_MANA;
VUHDO_UNIT_POWER_RAGE = SPELL_POWER_RAGE;
VUHDO_UNIT_POWER_FOCUS = SPELL_POWER_FOCUS;
VUHDO_UNIT_POWER_ENERGY = SPELL_POWER_ENERGY;
VUHDO_UNIT_POWER_HAPPINESS = SPELL_POWER_COMBO_POINTS;
VUHDO_UNIT_POWER_RUNES = SPELL_POWER_RUNIC_POWER;
VUHDO_UNIT_POWER_LUNAR_POWER = SPELL_POWER_LUNAR_POWER;
VUHDO_UNIT_POWER_MAELSTROM = SPELL_POWER_MAELSTROM;
VUHDO_UNIT_POWER_INSANITY = SPELL_POWER_INSANITY;
VUHDO_UNIT_POWER_FURY = SPELL_POWER_FURY;
VUHDO_UNIT_POWER_PAIN = SPELL_POWER_PAIN;
......
......@@ -12,8 +12,7 @@ end
-- Spells by SpellId
--------------------
VUHDO_SPELL_ID = { };
VUHDO_SPELL_ID.ACTIVATE_FIRST_TALENT = VUHDO_getSpellInfo(63645);
VUHDO_SPELL_ID.ACTIVATE_SECOND_TALENT = VUHDO_getSpellInfo(63644);
VUHDO_SPELL_ID.ACTIVATING_SPECIALIZATION = VUHDO_getSpellInfo(200749);
VUHDO_SPELL_ID.ANCESTRAL_FORTITUDE = VUHDO_getSpellInfo(85838);
VUHDO_SPELL_ID.ANCESTRAL_SPIRIT = VUHDO_getSpellInfo(2008);
VUHDO_SPELL_ID.BINDING_HEAL = VUHDO_getSpellInfo(32546);
......@@ -30,7 +29,6 @@ VUHDO_SPELL_ID.CLEANSE_SPIRIT = VUHDO_getSpellInfo(51886);
VUHDO_SPELL_ID.CYCLONE = VUHDO_getSpellInfo(33786);
VUHDO_SPELL_ID.DESPERATE_PRAYER = VUHDO_getSpellInfo(19236);
VUHDO_SPELL_ID.DISPEL_MAGIC = VUHDO_getSpellInfo(528);
VUHDO_SPELL_ID.DIVINE_AEGIS = VUHDO_getSpellInfo(47515);
VUHDO_SPELL_ID.DIVINE_ILLUMINATION = VUHDO_getSpellInfo(71166);
VUHDO_SPELL_ID.ECHO_OF_LIGHT = VUHDO_getSpellInfo(77489);
VUHDO_SPELL_ID.EARTHLIVING = VUHDO_getSpellInfo(51945);
......@@ -55,7 +53,6 @@ VUHDO_SPELL_ID.HOLY_SHOCK = VUHDO_getSpellInfo(20473);
VUHDO_SPELL_ID.HOLY_WORD_CHASTISE = VUHDO_getSpellInfo(88625); -- Segenswort: Zchtigung
VUHDO_SPELL_ID.HOLY_WORD_SANCTUARY = VUHDO_getSpellInfo(88686); -- Segenswort: Refugium
VUHDO_SPELL_ID.ICE_BARRIER = VUHDO_getSpellInfo(11426);
VUHDO_SPELL_ID.ILLUMINATED_HEALING = VUHDO_getSpellInfo(86273);
VUHDO_SPELL_ID.INCANTERS_WARD = VUHDO_getSpellInfo(1463);
VUHDO_SPELL_ID.INNERVATE = VUHDO_getSpellInfo(29166);
VUHDO_SPELL_ID.INVOCATION = VUHDO_getSpellInfo(114003);
......@@ -89,14 +86,12 @@ VUHDO_SPELL_ID.RESURRECTION = VUHDO_getSpellInfo(2006);
VUHDO_SPELL_ID.REVIVE = VUHDO_getSpellInfo(50769);
VUHDO_SPELL_ID.RIPTIDE = VUHDO_getSpellInfo(61295);
VUHDO_SPELL_ID.RUNE_OF_POWER = VUHDO_getSpellInfo(116011);
VUHDO_SPELL_ID.SACRED_SHIELD = VUHDO_getSpellInfo(20925);
VUHDO_SPELL_ID.SACRIFICE = VUHDO_getSpellInfo(7812);
VUHDO_SPELL_ID.SAVAGE_DEFENSE = VUHDO_getSpellInfo(62606);
VUHDO_SPELL_ID.SERENDIPITY = VUHDO_getSpellInfo(63733);
VUHDO_SPELL_ID.SHADOWFORM = VUHDO_getSpellInfo(15473);
VUHDO_SPELL_ID.SOULSTONE = VUHDO_getSpellInfo(20707);
VUHDO_SPELL_ID.SPELLSTEAL = VUHDO_getSpellInfo(30449);
VUHDO_SPELL_ID.SPIRIT_SHELL = VUHDO_getSpellInfo(109964);
VUHDO_SPELL_ID.SWIFTMEND = VUHDO_getSpellInfo(18562);
VUHDO_SPELL_ID.TEMPORAL_SHIELD = VUHDO_getSpellInfo(115610);
VUHDO_SPELL_ID.TIDAL_WAVES = VUHDO_getSpellInfo(51564);
......
......@@ -38,6 +38,7 @@ local VUHDO_CLASS_TO_MACRO = {
[VUHDO_ID_PRIESTS] = "I",
[VUHDO_ID_DEATH_KNIGHT] = "E",
[VUHDO_ID_MONKS] = "O",
[VUHDO_ID_DEMON_HUNTERS] = "N",
};
......@@ -53,6 +54,7 @@ local VUHDO_MACRO_TO_CLASS = {
["I"] = VUHDO_ID_PRIESTS,
["E"] = VUHDO_ID_DEATH_KNIGHT,
["O"] = VUHDO_ID_MONKS,
["N"] = VUHDO_ID_DEMON_HUNTERS,
};
......
......@@ -44,6 +44,7 @@ VUHDO_INIT_DEBUFF_ABILITIES = {
[VUHDO_DEBUFF_TYPE_DISEASE] = { VUHDO_SPELL_ID.DETOX },
[VUHDO_DEBUFF_TYPE_MAGIC] = { VUHDO_SPELL_ID.DETOX },
},
["DEMONHUNTER"] = { },
};
......@@ -83,7 +84,7 @@ VUHDO_INIT_IGNORE_DEBUFFS_BY_CLASS = {
[VUHDO_SPELL_ID.DEBUFF_DECAYED_STR] = true,
[VUHDO_SPELL_ID.DEBUFF_CRIPPLE] = true,
[VUHDO_SPELL_ID.DEBUFF_UNSTABLE_AFFL] = true,
[(GetSpellInfo(87923))] = true, -- MOP okay Windschlag
[(GetSpellInfo(87923))] = true, -- MOP okay Wind Blast
},
["DRUID"] = {
[VUHDO_SPELL_ID.DEBUFF_UNSTABLE_AFFL] = true,
......@@ -95,7 +96,7 @@ VUHDO_INIT_IGNORE_DEBUFFS_BY_CLASS = {
[VUHDO_SPELL_ID.DEBUFF_DECAYED_STR] = true,
[VUHDO_SPELL_ID.DEBUFF_CRIPPLE] = true,
[VUHDO_SPELL_ID.DEBUFF_UNSTABLE_AFFL] = true,
[(GetSpellInfo(87923))] = true, -- MOP okay Windschlag
[(GetSpellInfo(87923))] = true, -- MOP okay Wind Blast
},
["SHAMAN"] = {
[VUHDO_SPELL_ID.DEBUFF_UNSTABLE_AFFL] = true,
......@@ -104,7 +105,7 @@ VUHDO_INIT_IGNORE_DEBUFFS_BY_CLASS = {
[VUHDO_SPELL_ID.DEBUFF_DECAYED_STR] = true,
[VUHDO_SPELL_ID.DEBUFF_CRIPPLE] = true,
[VUHDO_SPELL_ID.DEBUFF_UNSTABLE_AFFL] = true,
[(GetSpellInfo(87923))] = true, -- MOP okay Windschlag
[(GetSpellInfo(87923))] = true, -- MOP okay Wind Blast
},
["DEATHKNIGHT"] = {
[VUHDO_SPELL_ID.DEBUFF_UNSTABLE_AFFL] = true,
......@@ -112,6 +113,9 @@ VUHDO_INIT_IGNORE_DEBUFFS_BY_CLASS = {
["MONK"] = {
[VUHDO_SPELL_ID.DEBUFF_UNSTABLE_AFFL] = true,
},
["DEMONHUNTER"] = {
[VUHDO_SPELL_ID.DEBUFF_UNSTABLE_AFFL] = true,
},
};
......@@ -128,25 +132,25 @@ VUHDO_INIT_IGNORE_DEBUFFS_MOVEMENT = {
[VUHDO_SPELL_ID.DEBUFF_DAZED] = true,
[VUHDO_SPELL_ID.DEBUFF_FROST_SHOCK] = true,
[VUHDO_SPELL_ID.FROSTBOLT_VOLLEY] = true,
[(GetSpellInfo(88184))] = true, -- MOP okay Lethargisches Gift
[(GetSpellInfo(87759))] = true, -- MOP okay Schockwelle
[(GetSpellInfo(88075))] = true, -- MOP okay Taifun
[(GetSpellInfo(90938))] = true, -- MOP okay Blutgeschoss
[(GetSpellInfo(88184))] = true, -- MOP okay Lethargic Poison
[(GetSpellInfo(87759))] = true, -- MOP okay Shockwave
[(GetSpellInfo(88075))] = true, -- MOP okay Typhoon
[(GetSpellInfo(90938))] = true, -- MOP okay Bloodbolt
[(GetSpellInfo(92007))] = true, -- MOP okay Swirling Vapor
[(GetSpellInfo(88169))] = true, -- MOP okay Frostblte
[(GetSpellInfo(87861))] = true, -- MOP okay Frostfuste
[(GetSpellInfo(83776))] = true, -- MOP okay Drachenodem
[(GetSpellInfo(7964))] = true, -- MOP okay Rauchbombe
[(GetSpellInfo(83785))] = true, -- MOP okay Schockwelle
[(GetSpellInfo(81630))] = true, -- MOP okay Zhflssiges Gift
[(GetSpellInfo(82764))] = true, -- MOP okay Zurechtstutzen
[(GetSpellInfo(76825))] = true, -- MOP okay Eisschlag
[(GetSpellInfo(73963))] = true, -- MOP okay Blendendes Gift
[(GetSpellInfo(76508))] = true, -- MOP okay Frostblitz
[(GetSpellInfo(76682))] = true, -- MOP okay Frostbombe
[(GetSpellInfo(12611))] = true, -- MOP okay Kltekegel
[(GetSpellInfo(76094))] = true, -- MOP okay Fluch der Ermdung
[(GetSpellInfo(76604))] = true, -- MOP okay Leerenreien
[(GetSpellInfo(88169))] = true, -- MOP okay Frost Blossom
[(GetSpellInfo(87861))] = true, -- MOP okay Fists of Frost
[(GetSpellInfo(83776))] = true, -- MOP okay Dragon's Breath
[(GetSpellInfo(7964))] = true, -- MOP okay Smoke Bomb
[(GetSpellInfo(83785))] = true, -- MOP okay Shockwave
[(GetSpellInfo(81630))] = true, -- MOP okay Viscous Poison
[(GetSpellInfo(82764))] = true, -- MOP okay Wing Clip
[(GetSpellInfo(76825))] = true, -- MOP okay Ice Blast
[(GetSpellInfo(73963))] = true, -- MOP okay Blinding Toxin
[(GetSpellInfo(76508))] = true, -- MOP okay Frostbolt
[(GetSpellInfo(76682))] = true, -- MOP okay Frostbomb
[(GetSpellInfo(12611))] = true, -- MOP okay Cone of Cold
[(GetSpellInfo(76094))] = true, -- MOP okay Curse of Fatigue
[(GetSpellInfo(76604))] = true, -- MOP okay Void Rip
};
......@@ -158,17 +162,17 @@ VUHDO_INIT_IGNORE_DEBUFFS_DURATION = {
[VUHDO_SPELL_ID.DEBUFF_CONEOFCOLD] = true,
[VUHDO_SPELL_ID.DEBUFF_CONCUSSIVESHOT] = true,
[VUHDO_SPELL_ID.DEBUFF_FALTER] = true,
[(GetSpellInfo(87759))] = true, -- MOP okay Schockwelle
[(GetSpellInfo(90938))] = true, -- MOP okay Blutgeschoss
[(GetSpellInfo(92007))] = true, -- MOP pkay Dampf
[(GetSpellInfo(83776))] = true, -- MOP okay Drachenodem
[(GetSpellInfo(7964))] = true, -- MOP okay Rauchbombe
[(GetSpellInfo(83785))] = true, -- MOP okay Schockwelle
[(GetSpellInfo(81630))] = true, -- MOP okay Zhflssiges Gift
[(GetSpellInfo(82670))] = true, -- MOP okay Schdelkracher
[(GetSpellInfo(73963))] = true, -- MOP okay Blendendes Gift
[(GetSpellInfo(76508))] = true, -- MOP okay Frostblitz
[(GetSpellInfo(76185))] = true, -- MOP okay Steinschlag
[(GetSpellInfo(87759))] = true, -- MOP okay Shockwave
[(GetSpellInfo(90938))] = true, -- MOP okay Bloodbolt
[(GetSpellInfo(92007))] = true, -- MOP pkay Swirling Vapor
[(GetSpellInfo(83776))] = true, -- MOP okay Dragon's Breath
[(GetSpellInfo(7964))] = true, -- MOP okay Smoke Bomb
[(GetSpellInfo(83785))] = true, -- MOP okay Shockwave
[(GetSpellInfo(81630))] = true, -- MOP okay Viscous Poison
[(GetSpellInfo(82670))] = true, -- MOP okay Skull Crack
[(GetSpellInfo(73963))] = true, -- MOP okay Blinding Toxin
[(GetSpellInfo(76508))] = true, -- MOP okay Frostbolt
[(GetSpellInfo(76185))] = true, -- MOP okay Stone Blow
};
......@@ -190,13 +194,10 @@ VUHDO_INIT_IGNORE_DEBUFFS_NO_HARM = {
[(GetSpellInfo(53753))] = true, -- Nightmare Slumber
[(GetSpellInfo(78993))] = true, -- Concentration
[(GetSpellInfo(105701))] = true, -- Potion of Focus
[(GetSpellInfo(95223))] = true, -- Recently Mass Resurrected
[(GetSpellInfo(57724))] = true, -- Sated
[(GetSpellInfo(57723))] = true, -- Exhaustion
[(GetSpellInfo(80354))] = true, -- Temporal Displacement
[(GetSpellInfo(95809))] = true, -- Insanity
[(GetSpellInfo(137587))] = true, -- Kil'jaeden's Cunning
[(GetSpellInfo(12292))] = true, -- Bloodbath
};
......@@ -31,9 +31,8 @@ VUHDO_DEBUFF_BLACKLIST = {
[GetSpellInfo(57724)] = true, -- Sated (Bloodlust)
[GetSpellInfo(71328)] = true, -- Dungeon Cooldown
[GetSpellInfo(57723)] = true, -- Exhaustion (Heroism)
[GetSpellInfo(80354)] = true, -- Temporal Displacement
[GetSpellInfo(95223)] = true -- Recently Mass Resurrected
}
[GetSpellInfo(80354)] = true -- Temporal Displacement
};
......
......@@ -140,7 +140,6 @@ local VUHDO_CLASS_DEFAULT_SPELL_ASSIGNMENT = {
["2"] = {"", "2", VUHDO_SPELL_ID.PALA_CLEANSE},
["3"] = {"", "3", "menu"},
["4"] = {"", "4", VUHDO_SPELL_ID.LIGHT_OF_DAWN},
["5"] = {"", "5", VUHDO_SPELL_ID.SACRED_SHIELD},
["alt1"] = {"alt-", "1", "target"},
......@@ -718,12 +717,17 @@ local VUHDO_DEFAULT_CU_DE_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_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),
};
......@@ -1872,18 +1876,19 @@ local VUHDO_DEFAULT_BUFF_CONFIG = {
VUHDO_DEFAULT_USER_CLASS_COLORS = {
[VUHDO_ID_DRUIDS] = VUHDO_makeFullColor(1, 0.49, 0.04, 1, 1, 0.6, 0.04, 1),
[VUHDO_ID_HUNTERS] = VUHDO_makeFullColor(0.67, 0.83, 0.45, 1, 0.77, 0.93, 0.55, 1),
[VUHDO_ID_MAGES] = VUHDO_makeFullColor(0.41, 0.8, 0.94, 1, 0.51, 0.9, 1, 1),
[VUHDO_ID_PALADINS] = VUHDO_makeFullColor(0.96, 0.55, 0.73, 1, 1, 0.65, 0.83, 1),
[VUHDO_ID_PRIESTS] = VUHDO_makeFullColor(0.9, 0.9, 0.9, 1, 1, 1, 1, 1),
[VUHDO_ID_ROGUES] = VUHDO_makeFullColor(1, 0.96, 0.41, 1, 1, 1, 0.51, 1),
[VUHDO_ID_SHAMANS] = VUHDO_makeFullColor(0.14, 0.35, 1, 1, 0.24, 0.45, 1, 1),
[VUHDO_ID_WARLOCKS] = VUHDO_makeFullColor(0.58, 0.51, 0.79, 1, 0.68, 0.61, 0.89, 1),
[VUHDO_ID_WARRIORS] = VUHDO_makeFullColor(0.78, 0.61, 0.43, 1, 0.88, 0.71, 0.53, 1),
[VUHDO_ID_DEATH_KNIGHT] = VUHDO_makeFullColor(0.77, 0.12, 0.23, 1, 0.87, 0.22, 0.33, 1),
[VUHDO_ID_MONKS] = VUHDO_makeFullColor(0, 1, 0.59, 1, 0, 1, 0.69, 1),
[VUHDO_ID_PETS] = VUHDO_makeFullColor(0.4, 0.6, 0.4, 1, 0.5, 0.9, 0.5, 1),
[VUHDO_ID_DRUIDS] = VUHDO_makeFullColor(1, 0.49, 0.04, 1, 1, 0.6, 0.04, 1),
[VUHDO_ID_HUNTERS] = VUHDO_makeFullColor(0.67, 0.83, 0.45, 1, 0.77, 0.93, 0.55, 1),
[VUHDO_ID_MAGES] = VUHDO_makeFullColor(0.41, 0.8, 0.94, 1, 0.51, 0.9, 1, 1),
[VUHDO_ID_PALADINS] = VUHDO_makeFullColor(0.96, 0.55, 0.73, 1, 1, 0.65, 0.83, 1),
[VUHDO_ID_PRIESTS] = VUHDO_makeFullColor(0.9, 0.9, 0.9, 1, 1, 1, 1, 1),
[VUHDO_ID_ROGUES] = VUHDO_makeFullColor(1, 0.96, 0.41, 1, 1, 1, 0.51, 1),
[VUHDO_ID_SHAMANS] = VUHDO_makeFullColor(0.14, 0.35, 1, 1, 0.24, 0.45, 1, 1),
[VUHDO_ID_WARLOCKS] = VUHDO_makeFullColor(0.58, 0.51, 0.79, 1, 0.68, 0.61, 0.89, 1),
[VUHDO_ID_WARRIORS] = VUHDO_makeFullColor(0.78, 0.61, 0.43, 1, 0.88, 0.71, 0.53, 1),
[VUHDO_ID_DEATH_KNIGHT] = VUHDO_makeFullColor(0.77, 0.12, 0.23, 1, 0.87, 0.22, 0.33, 1),
[VUHDO_ID_MONKS] = VUHDO_makeFullColor(0, 1, 0.59, 1, 0, 1, 0.69, 1),
[VUHDO_ID_DEMON_HUNTERS] = VUHDO_makeFullColor(0.54, 0.09, 0.69, 1, 0.64, 0.19, 0.79, 1),
[VUHDO_ID_PETS] = VUHDO_makeFullColor(0.4, 0.6, 0.4, 1, 0.5, 0.9, 0.5, 1),
["petClassColor"] = false,
}
......
......@@ -645,6 +645,12 @@ function VUHDO_OnEvent(_, anEvent, anArg1, anArg2, anArg3, anArg4, anArg5, anArg
elseif "PET_BATTLE_CLOSE" == anEvent then
VUHDO_setPetBattle(false);
elseif "ACTIVE_TALENT_GROUP_CHANGED" == anEvent then
if VUHDO_VARIABLES_LOADED then
VUHDO_activateSpecc(tostring(GetSpecialization()) or "1");
end
else
VUHDO_Msg("Error: Unexpected event: " .. anEvent);
end
......@@ -1425,7 +1431,8 @@ local VUHDO_ALL_EVENTS = {
"INCOMING_RESURRECT_CHANGED",
"PET_BATTLE_CLOSE", "PET_BATTLE_OPENING_START",
"PLAYER_REGEN_ENABLED", "PLAYER_REGEN_DISABLED",
"UNIT_ABSORB_AMOUNT_CHANGED"
"UNIT_ABSORB_AMOUNT_CHANGED",
"ACTIVE_TALENT_GROUP_CHANGED"
};
......@@ -1458,5 +1465,5 @@ function VUHDO_OnLoad(anInstance)
anInstance:SetScript("OnEvent", VUHDO_OnEvent);
anInstance:SetScript("OnUpdate", VUHDO_OnUpdate);
VUHDO_Msg("VuhDo |cffffe566['vu:du:]|r v".. VUHDO_VERSION .. ". by Iza(ak)@Gilneas, dedicated to Vuh (use /vd)");
VUHDO_Msg("VuhDo |cffffe566['vu:du:]|r v" .. VUHDO_VERSION .. " (use /vd). Currently maintained by Ivaria@US-Hyjal in honor of Marshy. Originally authored by Iza(ak)@EU-Gilneas in dedication to Vuh.");
end
......@@ -28,6 +28,7 @@ VUHDO_HEADER_TEXTS = {
[VUHDO_ID_PRIESTS] = VUHDO_I18N_PRIESTS,
[VUHDO_ID_DEATH_KNIGHT] = VUHDO_I18N_DEATH_KNIGHT,
[VUHDO_ID_MONKS] = VUHDO_I18N_MONKS,
[VUHDO_ID_DEMON_HUNTERS] = VUHDO_I18N_DEMON_HUNTERS,
[VUHDO_ID_PETS] = VUHDO_I18N_PETS,
[VUHDO_ID_MAINTANKS] = VUHDO_I18N_MAINTANKS,
......
......@@ -427,3 +427,7 @@ VUHDO_I18N_ERROR_CUSTOM_FLAG_EXECUTE = "{VuhDo} Error: Your custom flag validato
VUHDO_I18N_ERROR_CUSTOM_FLAG_BLOCKED = "{VuhDo} Error: A custom flag of this bouquet tried to call a forbidden function but has been blocked from doing so. Remember only to import strings from trusted sources.";
VUHDO_I18N_ERROR_INVALID_VALIDATOR = "{VuhDo} Error: Invalid validator:";
-- 3.72
VUHDO_I18N_BOUQUET_DEMON_HUNTER_TANK = "Flag: Role Tank, Demon Hunter";
VUHDO_I18N_DEMON_HUNTERS = "Demon Hunters";
......@@ -436,3 +436,7 @@ VUHDO_I18N_ERROR_CUSTOM_FLAG_EXECUTE = "{VuhDo} Error: Your custom flag validato
VUHDO_I18N_ERROR_CUSTOM_FLAG_BLOCKED = "{VuhDo} Error: A custom flag of this bouquet tried to call a forbidden function but has been blocked from doing so. Remember only to import strings from trusted sources.";
VUHDO_I18N_ERROR_INVALID_VALIDATOR = "{VuhDo} Error: Invalid validator:";
-- 3.72
VUHDO_I18N_BOUQUET_DEMON_HUNTER_TANK = "Flag: Role Tank, Demon Hunter";
VUHDO_I18N_DEMON_HUNTERS = "Demon Hunters";
......@@ -437,3 +437,7 @@ VUHDO_I18N_ERROR_CUSTOM_FLAG_EXECUTE = "{VuhDo} Error: Your custom flag validato
VUHDO_I18N_ERROR_CUSTOM_FLAG_BLOCKED = "{VuhDo} Error: A custom flag of this bouquet tried to call a forbidden function but has been blocked from doing so. Remember only to import strings from trusted sources.";
VUHDO_I18N_ERROR_INVALID_VALIDATOR = "{VuhDo} Error: Invalid validator:";
-- 3.72
VUHDO_I18N_BOUQUET_DEMON_HUNTER_TANK = "Flag: Role Tank, Demon Hunter";
VUHDO_I18N_DEMON_HUNTERS = "Demon Hunters";
......@@ -435,3 +435,7 @@ VUHDO_I18N_ERROR_CUSTOM_FLAG_EXECUTE = "{VuhDo} Error: Your custom flag validato
VUHDO_I18N_ERROR_CUSTOM_FLAG_BLOCKED = "{VuhDo} Error: A custom flag of this bouquet tried to call a forbidden function but has been blocked from doing so. Remember only to import strings from trusted sources.";
VUHDO_I18N_ERROR_INVALID_VALIDATOR = "{VuhDo} Error: Invalid validator:";
-- 3.72
VUHDO_I18N_BOUQUET_DEMON_HUNTER_TANK = "Flag: Role Tank, Demon Hunter";
VUHDO_I18N_DEMON_HUNTERS = "Demon Hunters";
......@@ -501,3 +501,7 @@ VUHDO_I18N_ERROR_CUSTOM_FLAG_EXECUTE = "{VuhDo} Error: Your custom flag validato
VUHDO_I18N_ERROR_CUSTOM_FLAG_BLOCKED = "{VuhDo} Error: A custom flag of this bouquet tried to call a forbidden function but has been blocked from doing so. Remember only to import strings from trusted sources.";
VUHDO_I18N_ERROR_INVALID_VALIDATOR = "{VuhDo} Error: Invalid validator:";
-- 3.72
VUHDO_I18N_BOUQUET_DEMON_HUNTER_TANK = "Flag: Role Tank, Demon Hunter";
VUHDO_I18N_DEMON_HUNTERS = "Demon Hunters";
......@@ -429,3 +429,7 @@ VUHDO_I18N_ERROR_CUSTOM_FLAG_EXECUTE = "{VuhDo} Error: Your custom flag validato
VUHDO_I18N_ERROR_CUSTOM_FLAG_BLOCKED = "{VuhDo} Error: A custom flag of this bouquet tried to call a forbidden function but has been blocked from doing so. Remember only to import strings from trusted sources.";
VUHDO_I18N_ERROR_INVALID_VALIDATOR = "{VuhDo} Error: Invalid validator:";
-- 3.72
VUHDO_I18N_BOUQUET_DEMON_HUNTER_TANK = "Flag: Role Tank, Demon Hunter";
VUHDO_I18N_DEMON_HUNTERS = "Demon Hunters";
......@@ -429,3 +429,7 @@ VUHDO_I18N_ERROR_CUSTOM_FLAG_EXECUTE = "{VuhDo} Error: Your custom flag validato
VUHDO_I18N_ERROR_CUSTOM_FLAG_BLOCKED = "{VuhDo} Error: A custom flag of this bouquet tried to call a forbidden function but has been blocked from doing so. Remember only to import strings from trusted sources.";
VUHDO_I18N_ERROR_INVALID_VALIDATOR = "{VuhDo} Error: Invalid validator:";
-- 3.72
VUHDO_I18N_BOUQUET_DEMON_HUNTER_TANK = "Flag: Role Tank, Demon Hunter";
VUHDO_I18N_DEMON_HUNTERS = "Demon Hunters";
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