Wrath:
- separate TOC + Constants for BCC and Wrath - cooldowns, auras, spec detection, trinket/racial tracking
This commit is contained in:
parent
2a12f35e58
commit
a87455e7bd
@ -2,44 +2,14 @@ local tbl_sort, select, string_lower = table.sort, select, string.lower
|
||||
|
||||
local GetSpellInfo = GetSpellInfo
|
||||
local GetItemInfo = GetItemInfo
|
||||
local GetLocale = GetLocale
|
||||
|
||||
local Gladdy = LibStub("Gladdy")
|
||||
local L = Gladdy.L
|
||||
local AURA_TYPE_DEBUFF, AURA_TYPE_BUFF = AURA_TYPE_DEBUFF, AURA_TYPE_BUFF
|
||||
|
||||
Gladdy.expansion = "BCC"
|
||||
Gladdy.CLASSES = {"MAGE", "PRIEST", "DRUID", "SHAMAN", "PALADIN", "WARLOCK", "WARRIOR", "HUNTER", "ROGUE"}
|
||||
tbl_sort(Gladdy.CLASSES)
|
||||
Gladdy.RACES = {"Scourge", "BloodElf", "Tauren", "Orc", "Troll", "NightElf", "Draenei", "Human", "Gnome", "Dwarf"}
|
||||
tbl_sort(Gladdy.RACES)
|
||||
|
||||
local RACE_ICON_TCOORDS = {
|
||||
["HUMAN_MALE"] = {0, 0.125, 0, 0.25},
|
||||
["DWARF_MALE"] = {0.125, 0.25, 0, 0.25},
|
||||
["GNOME_MALE"] = {0.25, 0.375, 0, 0.25},
|
||||
["NIGHTELF_MALE"] = {0.375, 0.5, 0, 0.25},
|
||||
|
||||
["TAUREN_MALE"] = {0, 0.125, 0.25, 0.5},
|
||||
["SCOURGE_MALE"] = {0.125, 0.25, 0.25, 0.5},
|
||||
["TROLL_MALE"] = {0.25, 0.375, 0.25, 0.5},
|
||||
["ORC_MALE"] = {0.375, 0.5, 0.25, 0.5},
|
||||
|
||||
["HUMAN_FEMALE"] = {0, 0.125, 0.5, 0.75},
|
||||
["DWARF_FEMALE"] = {0.125, 0.25, 0.5, 0.75},
|
||||
["GNOME_FEMALE"] = {0.25, 0.375, 0.5, 0.75},
|
||||
["NIGHTELF_FEMALE"] = {0.375, 0.5, 0.5, 0.75},
|
||||
|
||||
["TAUREN_FEMALE"] = {0, 0.125, 0.75, 1.0},
|
||||
["SCOURGE_FEMALE"] = {0.125, 0.25, 0.75, 1.0},
|
||||
["TROLL_FEMALE"] = {0.25, 0.375, 0.75, 1.0},
|
||||
["ORC_FEMALE"] = {0.375, 0.5, 0.75, 1.0},
|
||||
|
||||
["BLOODELF_MALE"] = {0.5, 0.625, 0.25, 0.5},
|
||||
["BLOODELF_FEMALE"] = {0.5, 0.625, 0.75, 1.0},
|
||||
|
||||
["DRAENEI_MALE"] = {0.5, 0.625, 0, 0.25},
|
||||
["DRAENEI_FEMALE"] = {0.5, 0.625, 0.5, 0.75},
|
||||
}
|
||||
|
||||
local specBuffs = {
|
||||
-- DRUID
|
||||
@ -51,7 +21,7 @@ local specBuffs = {
|
||||
[GetSpellInfo(33891)] = L["Restoration"], -- Tree of Life
|
||||
|
||||
-- HUNTER
|
||||
[GetSpellInfo(34692)] = L["Beast Mastery"], -- The Beast Within
|
||||
[GetSpellInfo(34471)] = L["Beast Mastery"], -- The Beast Within
|
||||
[GetSpellInfo(20895)] = L["Beast Mastery"], -- Spirit Bond
|
||||
[GetSpellInfo(34455)] = L["Beast Mastery"], -- Ferocious Inspiration
|
||||
[GetSpellInfo(27066)] = L["Marksmanship"], -- Trueshot Aura
|
||||
@ -108,8 +78,8 @@ local specBuffs = {
|
||||
[GetSpellInfo(19028)] = L["Demonology"], -- Soul Link
|
||||
[GetSpellInfo(23759)] = L["Demonology"], -- Master Demonologist
|
||||
[GetSpellInfo(35696)] = L["Demonology"], -- Demonic Knowledge
|
||||
[GetSpellInfo(30302)] = L["Destruction"], -- Nether Protection
|
||||
[GetSpellInfo(34935)] = L["Destruction"], -- Backlash
|
||||
[GetSpellInfo(30300)] = L["Destruction"], -- Nether Protection
|
||||
[GetSpellInfo(34936)] = L["Destruction"], -- Backlash
|
||||
|
||||
-- WARRIOR
|
||||
[GetSpellInfo(29838)] = L["Arms"], -- Second Wind
|
||||
@ -338,11 +308,11 @@ local importantAuras = {
|
||||
spellID = 19577,
|
||||
},
|
||||
-- The Beast Within
|
||||
[GetSpellInfo(34692)] = {
|
||||
[GetSpellInfo(34471)] = {
|
||||
track = AURA_TYPE_BUFF,
|
||||
duration = 18,
|
||||
priority = 20,
|
||||
spellID = 34692,
|
||||
spellID = 34471,
|
||||
},
|
||||
|
||||
|
||||
@ -846,35 +816,6 @@ function Gladdy:GetInterrupts()
|
||||
return interrupts
|
||||
end
|
||||
|
||||
local auraTypeColor = {}
|
||||
auraTypeColor["none"] = { r = 0.80, g = 0, b = 0 , a = 1}
|
||||
auraTypeColor["magic"] = { r = 0.20, g = 0.60, b = 1.00, a = 1}
|
||||
auraTypeColor["curse"] = { r = 0.60, g = 0.00, b = 1.00, a = 1 }
|
||||
auraTypeColor["disease"] = { r = 0.60, g = 0.40, b = 0, a = 1 }
|
||||
auraTypeColor["poison"] = { r = 0.00, g = 0.60, b = 0, a = 1 }
|
||||
auraTypeColor["immune"] = { r = 1.00, g = 0.02, b = 0.99, a = 1 }
|
||||
auraTypeColor["form"] = auraTypeColor["none"]
|
||||
auraTypeColor["aura"] = auraTypeColor["none"]
|
||||
auraTypeColor[""] = auraTypeColor["none"]
|
||||
|
||||
function Gladdy:GetAuraTypeColor()
|
||||
return auraTypeColor
|
||||
end
|
||||
|
||||
local spellSchoolColors = {}
|
||||
spellSchoolColors[1] = {r = 1, g = 1, b = 0, a = 1, type = "Physical"} --- "physical" 255, 255, 0
|
||||
spellSchoolColors[2] = {r = 1, g = 0.901, b = 0.501, a = 1, type = "Holy"} ---"holy" -- 255, 230, 128
|
||||
spellSchoolColors[4] = {r = 1, g = 0.501, b = 0, a = 1, type = "Fire"} ---"fire" -- 255, 128, 0
|
||||
spellSchoolColors[8] = {r = 0.302, g = 1, b = 0.302, a = 1, type = "Nature"} ---"nature" -- 77, 255, 77
|
||||
spellSchoolColors[16] = {r = 0.501, g = 1, b = 1, a = 1, type = "Frost"} ---"frost" -- 128, 255, 255
|
||||
spellSchoolColors[32] = {r = 0.501, g = 0.501, b = 1, a = 1, type = "Shadow"} ---"shadow" --128, 128, 255
|
||||
spellSchoolColors[64] = {r = 1, g = 0.501, b = 1, a = 1, type = "Arcane"} ---"arcane" -- 255, 128, 255
|
||||
spellSchoolColors["unknown"] = {r = 0, g = 0, b = 0, a = 1, type = "Unknown"} ---"unknown spell school"
|
||||
|
||||
function Gladdy:GetSpellSchoolColors()
|
||||
return spellSchoolColors
|
||||
end
|
||||
|
||||
local cooldownList = {
|
||||
-- Spell Name Cooldown[, Spec]
|
||||
-- Mage
|
||||
@ -1034,7 +975,7 @@ local cooldownList = {
|
||||
[34490] = { cd = 20, spec = L["Marksmanship"], }, -- Silencing Shot
|
||||
[19386] = { cd = 60, spec = L["Survival"], }, -- Wyvern Sting
|
||||
[19577] = { cd = 60, spec = L["Beast Mastery"], }, -- Intimidation
|
||||
[38373] = { cd = 120, spec = L["Beast Mastery"], }, -- The Beast Within
|
||||
[34471] = { cd = 120, spec = L["Beast Mastery"], }, -- The Beast Within
|
||||
[5384] = 30, -- Feign Death
|
||||
[3034] = 15, -- Viper Sting
|
||||
[1543] = 20, -- Flare
|
||||
@ -1168,154 +1109,6 @@ function Gladdy:Racials()
|
||||
return racials
|
||||
end
|
||||
|
||||
local arenaTimer = {
|
||||
["default"] = {
|
||||
[61] = "One minute until the Arena battle begins!",
|
||||
[31] = "Thirty seconds until the Arena battle begins!",
|
||||
[16] = "Fifteen seconds until the Arena battle begins!",
|
||||
[0] = "The Arena battle has begun!",
|
||||
},
|
||||
["esES"] = {
|
||||
[61] = "¡Un minuto hasta que dé comienzo la batalla en arena!",
|
||||
[31] = "¡Treinta segundos hasta que comience la batalla en arena!",
|
||||
[16] = "¡Quince segundos hasta que comience la batalla en arena!",
|
||||
[0] = "¡La batalla en arena ha comenzado!",
|
||||
},
|
||||
["ptBR"] = {
|
||||
[61] = "Um minuto até a batalha na Arena começar!",
|
||||
[31] = "Trinta segundos até a batalha na Arena começar!",
|
||||
[16] = "Quinze segundos até a batalha na Arena começar!",
|
||||
[0] = "A batalha na Arena começou!",
|
||||
},
|
||||
["deDE"] = {
|
||||
[61] = "Noch eine Minute bis der Arenakampf beginnt!",
|
||||
[31] = "Noch dreißig Sekunden bis der Arenakampf beginnt!",
|
||||
[16] = "Noch fünfzehn Sekunden bis der Arenakampf beginnt!",
|
||||
[0] = "Der Arenakampf hat begonnen!",
|
||||
},
|
||||
["frFR"] = {
|
||||
[61] = "Le combat d'arène commence dans une minute\194\160!",
|
||||
[31] = "Le combat d'arène commence dans trente secondes\194\160!",
|
||||
[16] = "Le combat d'arène commence dans quinze secondes\194\160!",
|
||||
[0] = "Le combat d'arène commence\194\160!",
|
||||
},
|
||||
["ruRU"] = {
|
||||
[61] = "Одна минута до начала боя на арене!",
|
||||
[31] = "Тридцать секунд до начала боя на арене!",
|
||||
[16] = "До начала боя на арене осталось 15 секунд.",
|
||||
[0] = "Бой начался!",
|
||||
},
|
||||
["itIT"] = { -- TODO
|
||||
-- Beta has no itIT version available?
|
||||
},
|
||||
["koKR"] = {
|
||||
[61] = "투기장 전투 시작 1분 전입니다!",
|
||||
[31] = "투기장 전투 시작 30초 전입니다!",
|
||||
[16] = "투기장 전투 시작 15초 전입니다!",
|
||||
[0] = "투기장 전투가 시작되었습니다!",
|
||||
},
|
||||
["zhCN"] = {
|
||||
[61] = "竞技场战斗将在一分钟后开始!",
|
||||
[31] = "竞技场战斗将在三十秒后开始!",
|
||||
[16] = "竞技场战斗将在十五秒后开始!",
|
||||
[0] = "竞技场的战斗开始了!",
|
||||
},
|
||||
["zhTW"] = {
|
||||
[61] = "1分鐘後競技場戰鬥開始!",
|
||||
[31] = "30秒後競技場戰鬥開始!",
|
||||
[16] = "15秒後競技場戰鬥開始!",
|
||||
[0] = "競技場戰鬥開始了!",
|
||||
},
|
||||
}
|
||||
arenaTimer["esMX"] = arenaTimer["esES"]
|
||||
arenaTimer["ptPT"] = arenaTimer["ptBR"]
|
||||
|
||||
function Gladdy:GetArenaTimer()
|
||||
if arenaTimer[GetLocale()] then
|
||||
return arenaTimer[GetLocale()]
|
||||
else
|
||||
return arenaTimer["default"]
|
||||
end
|
||||
end
|
||||
|
||||
Gladdy.legacy = {
|
||||
castBarPos = "LEFT",
|
||||
buffsCooldownPos = "TOP",
|
||||
buffsBuffsCooldownPos = "BOTTOM",
|
||||
classIconPos = "LEFT",
|
||||
ciAnchor = "healthBar",
|
||||
ciPos = "TOP",
|
||||
cooldownYPos = "TOP",
|
||||
cooldownXPos = "LEFT",
|
||||
drCooldownPos = "RIGHT",
|
||||
racialAnchor = "trinket",
|
||||
racialPos = "RIGHT",
|
||||
trinketPos = "RIGHT",
|
||||
padding = 1,
|
||||
growUp = false,
|
||||
}
|
||||
|
||||
Gladdy.newDefaults = {
|
||||
["bottomMargin"] = 94.99996948242188,
|
||||
["newLayout"] = true,
|
||||
Pets = {
|
||||
["petYOffset"] = -81.99993896484375,
|
||||
["petXOffset"] = 181,
|
||||
},
|
||||
ClassIcon = {
|
||||
["classIconXOffset"] = -74.90008544921875,
|
||||
},
|
||||
Racial = {
|
||||
["racialXOffset"] = 255.9000244140625,
|
||||
},
|
||||
Trinket = {
|
||||
["trinketXOffset"] = 182,
|
||||
},
|
||||
["Combat Indicator"] = {
|
||||
["ciXOffset"] = 79.99993896484375,
|
||||
["ciYOffset"] = -10.99993896484375,
|
||||
},
|
||||
Cooldowns = {
|
||||
["cooldownYOffset"] = 31,
|
||||
},
|
||||
["Buffs and Debuffs"] = {
|
||||
["buffsBuffsXOffset"] = 29,
|
||||
["buffsBuffsYOffset"] = -82.99993896484375,
|
||||
["buffsXOffset"] = 29,
|
||||
["buffsYOffset"] = 62.00006103515625,
|
||||
},
|
||||
Diminishings = {
|
||||
["drXOffset"] = 329.7999877929688,
|
||||
["drYOffset"] = -22.5,
|
||||
},
|
||||
["Cast Bar"] = {
|
||||
["castBarXOffset"] = -235.900146484375,
|
||||
["castBarYOffset"] = -30.5,
|
||||
},
|
||||
}
|
||||
|
||||
Gladdy.frameStrata = {
|
||||
BACKGROUND = L["Background"] .. "(0)",
|
||||
LOW = L["Low"] .. "(1)",
|
||||
MEDIUM = L["Medium"] .. "(2)",
|
||||
HIGH = L["High"] .. "(3)",
|
||||
DIALOG = L["Dialog"] .. "(4)",
|
||||
FULLSCREEN = L["Fullscreen"] .. "(5)",
|
||||
FULLSCREEN_DIALOG = L["Fullscreen Dialog"] .. "(6)",
|
||||
TOOLTIP = L["Tooltip"] .. "(7)",
|
||||
}
|
||||
|
||||
Gladdy.frameStrataSorting = {
|
||||
[1] = "BACKGROUND",
|
||||
[2] = "LOW",
|
||||
[3] = "MEDIUM",
|
||||
[4] = "HIGH",
|
||||
[5] = "DIALOG",
|
||||
[6] = "FULLSCREEN",
|
||||
[7] = "FULLSCREEN_DIALOG",
|
||||
[8] = "TOOLTIP",
|
||||
}
|
||||
|
||||
|
||||
---------------------
|
||||
-- TOTEM STUFF
|
||||
@ -1427,6 +1220,7 @@ local totemNpcIdsToTotemData = {
|
||||
[84519] = totemData[string_lower("Searing Totem")],
|
||||
[110730] = totemData[string_lower("Searing Totem")],
|
||||
[132178] = totemData[string_lower("Searing Totem")],
|
||||
[9637] = totemData[string_lower("Searing Totem")],
|
||||
|
||||
[5950] = totemData[string_lower("Flametongue Totem")],
|
||||
[6012] = totemData[string_lower("Flametongue Totem")],
|
||||
@ -1652,4 +1446,3 @@ local totemNpcIdsToTotemData = {
|
||||
function Gladdy:GetTotemData()
|
||||
return totemData, totemNpcIdsToTotemData, totemSpellIdToPulse
|
||||
end
|
||||
|
1334
Constants_Wrath.lua
Normal file
1334
Constants_Wrath.lua
Normal file
File diff suppressed because it is too large
Load Diff
274
Constants_shared.lua
Normal file
274
Constants_shared.lua
Normal file
@ -0,0 +1,274 @@
|
||||
local tbl_sort, select, string_lower = table.sort, select, string.lower
|
||||
local GetLocale = GetLocale
|
||||
|
||||
local Gladdy = LibStub("Gladdy")
|
||||
local L = Gladdy.L
|
||||
|
||||
Gladdy.RACES = {"Scourge", "BloodElf", "Tauren", "Orc", "Troll", "NightElf", "Draenei", "Human", "Gnome", "Dwarf"}
|
||||
tbl_sort(Gladdy.RACES)
|
||||
|
||||
local RACE_ICON_TCOORDS = {
|
||||
["HUMAN_MALE"] = { 0, 0.125, 0, 0.25 },
|
||||
["DWARF_MALE"] = { 0.125, 0.25, 0, 0.25 },
|
||||
["GNOME_MALE"] = { 0.25, 0.375, 0, 0.25 },
|
||||
["NIGHTELF_MALE"] = { 0.375, 0.5, 0, 0.25 },
|
||||
|
||||
["TAUREN_MALE"] = { 0, 0.125, 0.25, 0.5 },
|
||||
["SCOURGE_MALE"] = { 0.125, 0.25, 0.25, 0.5 },
|
||||
["TROLL_MALE"] = { 0.25, 0.375, 0.25, 0.5 },
|
||||
["ORC_MALE"] = { 0.375, 0.5, 0.25, 0.5 },
|
||||
|
||||
["HUMAN_FEMALE"] = { 0, 0.125, 0.5, 0.75 },
|
||||
["DWARF_FEMALE"] = { 0.125, 0.25, 0.5, 0.75 },
|
||||
["GNOME_FEMALE"] = { 0.25, 0.375, 0.5, 0.75 },
|
||||
["NIGHTELF_FEMALE"] = { 0.375, 0.5, 0.5, 0.75 },
|
||||
|
||||
["TAUREN_FEMALE"] = { 0, 0.125, 0.75, 1.0 },
|
||||
["SCOURGE_FEMALE"] = { 0.125, 0.25, 0.75, 1.0 },
|
||||
["TROLL_FEMALE"] = { 0.25, 0.375, 0.75, 1.0 },
|
||||
["ORC_FEMALE"] = { 0.375, 0.5, 0.75, 1.0 },
|
||||
|
||||
["BLOODELF_MALE"] = { 0.5, 0.625, 0.25, 0.5 },
|
||||
["BLOODELF_FEMALE"] = { 0.5, 0.625, 0.75, 1.0 },
|
||||
|
||||
["DRAENEI_MALE"] = { 0.5, 0.625, 0, 0.25 },
|
||||
["DRAENEI_FEMALE"] = { 0.5, 0.625, 0.5, 0.75 },
|
||||
}
|
||||
|
||||
local arenaTimer = {
|
||||
["default"] = {
|
||||
[60] = "One minute until the Arena battle begins!",
|
||||
[30] = "Thirty seconds until the Arena battle begins!",
|
||||
[15] = "Fifteen seconds until the Arena battle begins!",
|
||||
[0] = "The Arena battle has begun!",
|
||||
},
|
||||
["esES"] = {
|
||||
[60] = "¡Un minuto hasta que dé comienzo la batalla en arena!",
|
||||
[30] = "¡Treinta segundos hasta que comience la batalla en arena!",
|
||||
[15] = "¡Quince segundos hasta que comience la batalla en arena!",
|
||||
[0] = "¡La batalla en arena ha comenzado!",
|
||||
},
|
||||
["ptBR"] = {
|
||||
[60] = "Um minuto até a batalha na Arena começar!",
|
||||
[30] = "Trinta segundos até a batalha na Arena começar!",
|
||||
[15] = "Quinze segundos até a batalha na Arena começar!",
|
||||
[0] = "A batalha na Arena começou!",
|
||||
},
|
||||
["deDE"] = {
|
||||
[60] = "Noch eine Minute bis der Arenakampf beginnt!",
|
||||
[30] = "Noch dreißig Sekunden bis der Arenakampf beginnt!",
|
||||
[15] = "Noch fünfzehn Sekunden bis der Arenakampf beginnt!",
|
||||
[0] = "Der Arenakampf hat begonnen!",
|
||||
},
|
||||
["frFR"] = {
|
||||
[60] = "Le combat d'arène commence dans une minute\194\160!",
|
||||
[30] = "Le combat d'arène commence dans trente secondes\194\160!",
|
||||
[15] = "Le combat d'arène commence dans quinze secondes\194\160!",
|
||||
[0] = "Le combat d'arène commence\194\160!",
|
||||
},
|
||||
["ruRU"] = {
|
||||
[60] = "Одна минута до начала боя на арене!",
|
||||
[30] = "Тридцать секунд до начала боя на арене!",
|
||||
[15] = "До начала боя на арене осталось 15 секунд.",
|
||||
[0] = "Бой начался!",
|
||||
},
|
||||
["itIT"] = { -- TODO
|
||||
-- Beta has no itIT version available?
|
||||
},
|
||||
["koKR"] = {
|
||||
[60] = "투기장 전투 시작 1분 전입니다!",
|
||||
[30] = "투기장 전투 시작 30초 전입니다!",
|
||||
[15] = "투기장 전투 시작 15초 전입니다!",
|
||||
[0] = "투기장 전투가 시작되었습니다!",
|
||||
},
|
||||
["zhCN"] = {
|
||||
[60] = "竞技场战斗将在一分钟后开始!",
|
||||
[30] = "竞技场战斗将在三十秒后开始!",
|
||||
[15] = "竞技场战斗将在十五秒后开始!",
|
||||
[0] = "竞技场的战斗开始了!",
|
||||
},
|
||||
["zhTW"] = {
|
||||
[60] = "1分鐘後競技場戰鬥開始!",
|
||||
[30] = "30秒後競技場戰鬥開始!",
|
||||
[15] = "15秒後競技場戰鬥開始!",
|
||||
[0] = "競技場戰鬥開始了!",
|
||||
},
|
||||
}
|
||||
arenaTimer["esMX"] = arenaTimer["esES"]
|
||||
arenaTimer["ptPT"] = arenaTimer["ptBR"]
|
||||
|
||||
function Gladdy:GetArenaTimer()
|
||||
if arenaTimer[GetLocale()] then
|
||||
return arenaTimer[GetLocale()]
|
||||
else
|
||||
return arenaTimer["default"]
|
||||
end
|
||||
end
|
||||
|
||||
Gladdy.legacy = {
|
||||
castBarPos = "LEFT",
|
||||
buffsCooldownPos = "TOP",
|
||||
buffsBuffsCooldownPos = "BOTTOM",
|
||||
classIconPos = "LEFT",
|
||||
ciAnchor = "healthBar",
|
||||
ciPos = "TOP",
|
||||
cooldownYPos = "TOP",
|
||||
cooldownXPos = "LEFT",
|
||||
drCooldownPos = "RIGHT",
|
||||
racialAnchor = "trinket",
|
||||
racialPos = "RIGHT",
|
||||
trinketPos = "RIGHT",
|
||||
padding = 1,
|
||||
growUp = false,
|
||||
}
|
||||
|
||||
Gladdy.newDefaults = {
|
||||
["bottomMargin"] = 94.99996948242188,
|
||||
["newLayout"] = true,
|
||||
Pets = {
|
||||
["petYOffset"] = -81.99993896484375,
|
||||
["petXOffset"] = 181,
|
||||
},
|
||||
ClassIcon = {
|
||||
["classIconXOffset"] = -74.90008544921875,
|
||||
},
|
||||
Racial = {
|
||||
["racialXOffset"] = 255.9000244140625,
|
||||
},
|
||||
Trinket = {
|
||||
["trinketXOffset"] = 182,
|
||||
},
|
||||
["Combat Indicator"] = {
|
||||
["ciXOffset"] = 79.99993896484375,
|
||||
["ciYOffset"] = -10.99993896484375,
|
||||
},
|
||||
Cooldowns = {
|
||||
["cooldownYOffset"] = 31,
|
||||
},
|
||||
["Buffs and Debuffs"] = {
|
||||
["buffsBuffsXOffset"] = 29,
|
||||
["buffsBuffsYOffset"] = -82.99993896484375,
|
||||
["buffsXOffset"] = 29,
|
||||
["buffsYOffset"] = 62.00006103515625,
|
||||
},
|
||||
Diminishings = {
|
||||
["drXOffset"] = 329.7999877929688,
|
||||
["drYOffset"] = -22.5,
|
||||
},
|
||||
["Cast Bar"] = {
|
||||
["castBarXOffset"] = -235.900146484375,
|
||||
["castBarYOffset"] = -30.5,
|
||||
},
|
||||
}
|
||||
|
||||
Gladdy.frameStrata = {
|
||||
BACKGROUND = L["Background"] .. "(0)",
|
||||
LOW = L["Low"] .. "(1)",
|
||||
MEDIUM = L["Medium"] .. "(2)",
|
||||
HIGH = L["High"] .. "(3)",
|
||||
DIALOG = L["Dialog"] .. "(4)",
|
||||
FULLSCREEN = L["Fullscreen"] .. "(5)",
|
||||
FULLSCREEN_DIALOG = L["Fullscreen Dialog"] .. "(6)",
|
||||
TOOLTIP = L["Tooltip"] .. "(7)",
|
||||
}
|
||||
|
||||
Gladdy.frameStrataSorting = {
|
||||
[1] = "BACKGROUND",
|
||||
[2] = "LOW",
|
||||
[3] = "MEDIUM",
|
||||
[4] = "HIGH",
|
||||
[5] = "DIALOG",
|
||||
[6] = "FULLSCREEN",
|
||||
[7] = "FULLSCREEN_DIALOG",
|
||||
[8] = "TOOLTIP",
|
||||
}
|
||||
|
||||
local auraTypeColor = {}
|
||||
auraTypeColor["none"] = { r = 0.80, g = 0, b = 0, a = 1 }
|
||||
auraTypeColor["magic"] = { r = 0.20, g = 0.60, b = 1.00, a = 1 }
|
||||
auraTypeColor["curse"] = { r = 0.60, g = 0.00, b = 1.00, a = 1 }
|
||||
auraTypeColor["disease"] = { r = 0.60, g = 0.40, b = 0, a = 1 }
|
||||
auraTypeColor["poison"] = { r = 0.00, g = 0.60, b = 0, a = 1 }
|
||||
auraTypeColor["immune"] = { r = 1.00, g = 0.02, b = 0.99, a = 1 }
|
||||
auraTypeColor["form"] = auraTypeColor["none"]
|
||||
auraTypeColor["aura"] = auraTypeColor["none"]
|
||||
auraTypeColor[""] = auraTypeColor["none"]
|
||||
|
||||
function Gladdy:GetAuraTypeColor()
|
||||
return auraTypeColor
|
||||
end
|
||||
|
||||
local spellSchoolColors = {}
|
||||
spellSchoolColors[1] = { r = 1, g = 1, b = 0, a = 1, type = "Physical" } --- "physical" 255, 255, 0
|
||||
spellSchoolColors[2] = { r = 1, g = 0.901, b = 0.501, a = 1, type = "Holy" } ---"holy" -- 255, 230, 128
|
||||
spellSchoolColors[4] = { r = 1, g = 0.501, b = 0, a = 1, type = "Fire" } ---"fire" -- 255, 128, 0
|
||||
spellSchoolColors[8] = { r = 0.302, g = 1, b = 0.302, a = 1, type = "Nature" } ---"nature" -- 77, 255, 77
|
||||
spellSchoolColors[16] = { r = 0.501, g = 1, b = 1, a = 1, type = "Frost" } ---"frost" -- 128, 255, 255
|
||||
spellSchoolColors[32] = { r = 0.501, g = 0.501, b = 1, a = 1, type = "Shadow" } ---"shadow" --128, 128, 255
|
||||
spellSchoolColors[64] = { r = 1, g = 0.501, b = 1, a = 1, type = "Arcane" } ---"arcane" -- 255, 128, 255
|
||||
spellSchoolColors["unknown"] = { r = 0, g = 0, b = 0, a = 1, type = "Unknown" } ---"unknown spell school"
|
||||
|
||||
function Gladdy:GetSpellSchoolColors()
|
||||
return spellSchoolColors
|
||||
end
|
||||
|
||||
---------------------
|
||||
-- TRINKET STUFF
|
||||
---------------------
|
||||
|
||||
local pvpTrinkets = { -- [itemID] = cd in ms
|
||||
--wotlk
|
||||
[59752] = 120000,
|
||||
[51377] = 120000,
|
||||
[51378] = 120000,
|
||||
[46083] = 120000,
|
||||
[46085] = 120000,
|
||||
[46081] = 120000,
|
||||
[46084] = 120000,
|
||||
[46082] = 120000,
|
||||
[42122] = 120000,
|
||||
[42123] = 120000,
|
||||
--tbc
|
||||
[37864] = 120000,
|
||||
[37865] = 120000,
|
||||
[28235] = 120000,
|
||||
[30348] = 120000,
|
||||
[28238] = 120000,
|
||||
[30351] = 120000,
|
||||
[28236] = 120000,
|
||||
[30349] = 120000,
|
||||
[28234] = 120000,
|
||||
[28237] = 120000,
|
||||
[30350] = 120000,
|
||||
[28240] = 120000,
|
||||
[28243] = 120000,
|
||||
[30345] = 120000,
|
||||
[28241] = 120000,
|
||||
[30343] = 120000,
|
||||
[28239] = 120000,
|
||||
[30346] = 120000,
|
||||
[28242] = 120000,
|
||||
[30344] = 120000,
|
||||
[29593] = 120000,
|
||||
[29593] = 300000,
|
||||
[18859] = 300000,
|
||||
[18857] = 300000,
|
||||
[18864] = 300000,
|
||||
[18854] = 300000,
|
||||
[18862] = 300000,
|
||||
[18858] = 300000,
|
||||
[18856] = 300000,
|
||||
[18863] = 300000,
|
||||
[18834] = 300000,
|
||||
[18851] = 300000,
|
||||
[18845] = 300000,
|
||||
[18852] = 300000,
|
||||
[29592] = 300000,
|
||||
[18850] = 300000,
|
||||
[18846] = 300000,
|
||||
[18853] = 300000,
|
||||
}
|
||||
|
||||
function Gladdy:GetPvpTrinkets()
|
||||
return pvpTrinkets
|
||||
end
|
@ -1,6 +1,6 @@
|
||||
## Interface: 20504
|
||||
## Title: Gladdy - TBC
|
||||
## Version: 2.11-Release
|
||||
## Version: 2.2-Beta
|
||||
## Notes: The most powerful arena AddOn for WoW 2.5.4
|
||||
## Author: XiconQoo, DnB_Junkee, Knall
|
||||
## X-Email: contact me on discord Knall#1751
|
||||
@ -13,7 +13,8 @@ Gladdy.lua
|
||||
Lang.lua
|
||||
Frame.lua
|
||||
Options.lua
|
||||
Constants.lua
|
||||
Constants_shared.lua
|
||||
Constants_BCC.lua
|
||||
ImportStrings.lua
|
||||
Util.lua
|
||||
|
44
Gladdy_Wrath.toc
Normal file
44
Gladdy_Wrath.toc
Normal file
@ -0,0 +1,44 @@
|
||||
## Interface: 30400
|
||||
## Title: Gladdy - WotLK
|
||||
## Version: 2.2-Beta
|
||||
## Notes: The most powerful arena AddOn for WoW 3.4.0
|
||||
## Author: XiconQoo, DnB_Junkee, Knall
|
||||
## X-Email: contact me on discord Knall#1751
|
||||
## SavedVariables: GladdyXZ
|
||||
## OptionalDeps: SharedMedia, Blizzard_CombatLog, Blizzard_ArenaUI, Blizzard_CombatText, Plater, Kui_Nameplates, NeatPlates, TidyPlates_ThreatPlates, Tukui, ElvUI
|
||||
|
||||
embeds.xml
|
||||
|
||||
Gladdy.lua
|
||||
Lang.lua
|
||||
Frame.lua
|
||||
Options.lua
|
||||
Constants_shared.lua
|
||||
Constants_Wrath.lua
|
||||
ImportStrings.lua
|
||||
Util.lua
|
||||
|
||||
Modules\Announcements.lua
|
||||
Modules\Healthbar.lua
|
||||
Modules\Powerbar.lua
|
||||
Modules\Auras.lua
|
||||
Modules\Castbar.lua
|
||||
Modules\Classicon.lua
|
||||
Modules\Clicks.lua
|
||||
Modules\Diminishings.lua
|
||||
Modules\Highlight.lua
|
||||
Modules\TotemPlates.lua
|
||||
Modules\TotemPulse.lua
|
||||
Modules\Trinket.lua
|
||||
Modules\Racial.lua
|
||||
Modules\Cooldowns.lua
|
||||
Modules\ArenaCountDown.lua
|
||||
Modules\BuffsDebuffs.lua
|
||||
Modules\VersionCheck.lua
|
||||
Modules\XiconProfiles.lua
|
||||
Modules\Pets.lua
|
||||
Modules\ExportImport.lua
|
||||
Modules\CombatIndicator.lua
|
||||
Modules\RangeCheck.lua
|
||||
Modules\ShadowsightTimer.lua
|
||||
EventListener.lua
|
1
Lang.lua
1
Lang.lua
@ -7,6 +7,7 @@ local L = {}
|
||||
|
||||
-- Classes
|
||||
L["Druid"] = C_CreatureInfo.GetClassInfo(11).className
|
||||
L["Deathknight"] = C_CreatureInfo.GetClassInfo(6).className
|
||||
L["Hunter"] = C_CreatureInfo.GetClassInfo(3).className
|
||||
L["Mage"] = C_CreatureInfo.GetClassInfo(8).className
|
||||
L["Paladin"] = C_CreatureInfo.GetClassInfo(2).className
|
||||
|
@ -195,3 +195,12 @@ Buff({ 6143 }, { buffType = "magic"}, "MAGE") -- Frost Ward
|
||||
--talents
|
||||
Buff({ 11426 }, { buffType = "magic"}, "MAGE") -- Ice Barrier
|
||||
Buff({ 12472 }, { buffType = "magic"}, "MAGE") -- Icy Veins
|
||||
|
||||
-------------
|
||||
-- DEATHKNIGHT
|
||||
-------------
|
||||
|
||||
Buff({ 48707 }, { buffType = "physical"}, "DEATHKNIGHT") -- Anti-Magic Shell
|
||||
Buff({ 48792 }, { buffType = "physical"}, "DEATHKNIGHT") -- Icebound Fortitude
|
||||
Buff({ 49039 }, { buffType = "physical"}, "DEATHKNIGHT") -- Lichborne
|
||||
Buff({ 50461 }, { buffType = "physical"}, "DEATHKNIGHT") -- Anti-Magic Zone
|
@ -483,12 +483,13 @@ function Auras:Test(unit)
|
||||
if Gladdy.exceptionNames[spellid] then
|
||||
spellName = Gladdy.exceptionNames[spellid]
|
||||
end
|
||||
local duration = math.random(2,10)
|
||||
if (unit == "arena2") then
|
||||
if (v.value.track == AURA_TYPE_BUFF) then
|
||||
self:AURA_GAIN(unit,v.value.track, spellid, spellName, icon, self.auras[spellName].duration, GetTime() + self.auras[spellName].duration)
|
||||
self:AURA_GAIN(unit,v.value.track, spellid, spellName, icon, duration, GetTime() + duration)
|
||||
end
|
||||
else
|
||||
self:AURA_GAIN(unit,v.value.track, spellid, spellName, icon, self.auras[spellName].duration, GetTime() + self.auras[spellName].duration)
|
||||
self:AURA_GAIN(unit,v.value.track, spellid, spellName, icon, duration, GetTime() + duration)
|
||||
end
|
||||
end
|
||||
-- /run LibStub("Gladdy").modules["Auras"]:Test("arena1")
|
||||
|
@ -22,6 +22,7 @@ local Classicon = Gladdy:NewModule("Class Icon", 81, {
|
||||
local classIconPath = "Interface\\Addons\\Gladdy\\Images\\Classes\\"
|
||||
local classIcons = {
|
||||
["DRUID"] = classIconPath .. "inv_misc_monsterclaw_04",
|
||||
["DEATHKNIGHT"] = select(3, GetSpellInfo(49023)), --Might of Mograine
|
||||
["HUNTER"] = classIconPath .. "inv_weapon_bow_07",
|
||||
["MAGE"] = classIconPath .. "inv_staff_13",
|
||||
["PALADIN"] = classIconPath .. "inv_hammer_01",
|
||||
@ -39,6 +40,11 @@ local specIcons = {
|
||||
[L["Feral"]] = select(3, GetSpellInfo(27545)), -- Cat Form
|
||||
[L["Restoration"]] = select(3, GetSpellInfo(5185)), -- Healing Touch
|
||||
},
|
||||
["DEATHKNIGHT"] = {
|
||||
[L["Unholy"]] = select(3, GetSpellInfo(48265)), -- Unholy Presence
|
||||
[L["Blood"]] = select(3, GetSpellInfo(48266)), -- Blood Presence
|
||||
[L["Frost"]] = select(3, GetSpellInfo(48263)), -- Frost Presence
|
||||
},
|
||||
["HUNTER"] = {
|
||||
[L["Beast Mastery"]] = select(3, GetSpellInfo(1515)), -- Tame Beast
|
||||
[L["Marksmanship"]] = select(3, GetSpellInfo(42243)), -- Volley
|
||||
|
@ -32,6 +32,9 @@ function Racial:Initialize()
|
||||
self:RegisterMessage("JOINED_ARENA")
|
||||
self:RegisterMessage("ENEMY_SPOTTED")
|
||||
self:RegisterMessage("RACIAL_USED")
|
||||
if Gladdy.expansion == "Wrath" then
|
||||
self:RegisterMessage("TRINKET_USED")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -40,6 +43,9 @@ function Racial:UpdateFrameOnce()
|
||||
self:RegisterMessage("JOINED_ARENA")
|
||||
self:RegisterMessage("ENEMY_SPOTTED")
|
||||
self:RegisterMessage("RACIAL_USED")
|
||||
if Gladdy.expansion == "Wrath" then
|
||||
self:RegisterMessage("TRINKET_USED")
|
||||
end
|
||||
else
|
||||
self:UnregisterAllMessages()
|
||||
end
|
||||
@ -207,6 +213,25 @@ function Racial:RACIAL_USED(unit, expirationTime, spellName)
|
||||
Racial:Used(unit, startTime, Gladdy:Racials()[button.race].duration)
|
||||
end
|
||||
|
||||
function Racial:TRINKET_USED(unit) -- Wrath only
|
||||
local racial = self.frames[unit]
|
||||
local button = Gladdy.buttons[unit]
|
||||
if (not racial or not button or not button.race) then
|
||||
return
|
||||
end
|
||||
if button.race == "Scourge" then
|
||||
if racial.active and racial.timeLeft >= 45 then
|
||||
-- do nothing
|
||||
else
|
||||
racial.active = false
|
||||
self:Used(unit, GetTime(), 45)
|
||||
end
|
||||
elseif button.race == "Human" then
|
||||
racial.active = false
|
||||
self:Used(unit, GetTime(), 120)
|
||||
end
|
||||
end
|
||||
|
||||
function Racial:Used(unit, startTime, duration)
|
||||
local racial = self.frames[unit]
|
||||
if (not racial) then
|
||||
@ -241,8 +266,8 @@ end
|
||||
|
||||
function Racial:Test(unit)
|
||||
Racial:ENEMY_SPOTTED(unit)
|
||||
if (unit == "arena1" or unit == "arena3") then
|
||||
Racial:Used(unit, GetTime(), Gladdy:Racials()[Gladdy.buttons[unit].race].duration)
|
||||
if (unit == "arena2" or unit == "arena3") then
|
||||
Gladdy:SendMessage("RACIAL_USED", unit)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -33,12 +33,18 @@ function Trinket:Initialize()
|
||||
self.frames = {}
|
||||
if Gladdy.db.trinketEnabled then
|
||||
self:RegisterMessage("JOINED_ARENA")
|
||||
if Gladdy.expansion == "Wrath" then
|
||||
self:RegisterMessage("RACIAL_USED")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function Trinket:UpdateFrameOnce()
|
||||
if Gladdy.db.trinketEnabled then
|
||||
self:RegisterMessage("JOINED_ARENA")
|
||||
if Gladdy.expansion == "Wrath" then
|
||||
self:RegisterMessage("RACIAL_USED")
|
||||
end
|
||||
else
|
||||
self:UnregisterAllMessages()
|
||||
end
|
||||
@ -228,6 +234,7 @@ function Trinket:ResetUnit(unit)
|
||||
return
|
||||
end
|
||||
|
||||
trinket.itemID = nil
|
||||
trinket.timeLeft = nil
|
||||
trinket.active = false
|
||||
trinket.cooldown:Clear()
|
||||
@ -239,13 +246,15 @@ function Trinket:Test(unit)
|
||||
if (not trinket) then
|
||||
return
|
||||
end
|
||||
if (unit == "arena2" or unit == "arena3") then
|
||||
if (unit == "arena1" or unit == "arena2") then
|
||||
self:Used(unit, GetTime() * 1000, 120000)
|
||||
end
|
||||
end
|
||||
|
||||
function Trinket:JOINED_ARENA()
|
||||
self:RegisterEvent("ARENA_COOLDOWNS_UPDATE")
|
||||
self:RegisterEvent("ARENA_CROWD_CONTROL_SPELL_UPDATE")
|
||||
self:RegisterUnitEvent("UNIT_SPELLCAST_SUCCEEDED", "arena1", "arena2", "arena3", "arena4", "arena5")
|
||||
self:SetScript("OnEvent", function(self, event, ...)
|
||||
if self[event] then
|
||||
self[event](self, ...)
|
||||
@ -253,19 +262,64 @@ function Trinket:JOINED_ARENA()
|
||||
end)
|
||||
end
|
||||
|
||||
function Trinket:ARENA_CROWD_CONTROL_SPELL_UPDATE(...)
|
||||
local unitID, spellID, itemID = ...
|
||||
Gladdy:Debug("INFO", "Trinket:ARENA_CROWD_CONTROL_SPELL_UPDATE", unitID, spellID, itemID)
|
||||
if Gladdy.buttons[unitID] and Gladdy:GetPvpTrinkets()[itemID] then
|
||||
Gladdy.buttons[unitID].trinket.itemID = itemID
|
||||
if not Gladdy.db.trinketColored then
|
||||
self.frames[unitID].texture:SetTexture(GetItemIcon(itemID))
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function Trinket:UNIT_SPELLCAST_SUCCEEDED(...)
|
||||
local unitID, castGUID, spellID = ...
|
||||
if Gladdy.buttons[unitID] then
|
||||
if spellID == 42292 or spellID == 59752 then
|
||||
Gladdy:Debug("INFO", "Trinket:UNIT_SPELLCAST_SUCCEEDED", unitID, spellID)
|
||||
self:Used(unitID, GetTime() * 1000,
|
||||
Gladdy.buttons[unitID].trinket.itemID and Gladdy:GetPvpTrinkets()[Gladdy.buttons[unitID].trinket.itemID]
|
||||
or 120000)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function Trinket:RACIAL_USED(unit) -- Wrath only
|
||||
local trinket = self.frames[unit]
|
||||
if (not trinket) then
|
||||
return
|
||||
end
|
||||
if Gladdy.buttons[unit].race == "Scourge" then
|
||||
if trinket.active and trinket.timeLeft >= 44 then
|
||||
-- do nothing
|
||||
else
|
||||
trinket.active = false
|
||||
self:Used(unit, GetTime() * 1000, 45000, true)
|
||||
end
|
||||
elseif Gladdy.buttons[unit].race == "Human" then
|
||||
trinket.active = false
|
||||
self:Used(unit, GetTime() * 1000, 120000)
|
||||
end
|
||||
end
|
||||
|
||||
function Trinket:ARENA_COOLDOWNS_UPDATE()
|
||||
for i=1, Gladdy.curBracket do
|
||||
local unit = "arena" .. i
|
||||
local spellID, itemID, startTime, duration = C_PvP.GetArenaCrowdControlInfo(unit);
|
||||
local unitID = "arena" .. i
|
||||
local spellID, itemID, startTime, duration = C_PvP.GetArenaCrowdControlInfo(unitID)
|
||||
Gladdy:Debug("INFO", "Trinket:ARENA_COOLDOWNS_UPDATE", spellID, itemID, startTime, duration)
|
||||
if (spellID) then
|
||||
if not Gladdy.db.trinketColored and Gladdy:GetPvpTrinkets()[itemID] then
|
||||
self.frames[unitID].texture:SetTexture(GetItemIcon(itemID))
|
||||
end
|
||||
if (startTime ~= 0 and duration ~= 0) then
|
||||
self:Used(unit, startTime, duration)
|
||||
self:Used(unitID, startTime, duration)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function Trinket:Used(unit, startTime, duration)
|
||||
function Trinket:Used(unit, startTime, duration, passive)
|
||||
local trinket = self.frames[unit]
|
||||
if (not trinket) then
|
||||
return
|
||||
@ -277,7 +331,9 @@ function Trinket:Used(unit, startTime, duration)
|
||||
if Gladdy.db.trinketColored then
|
||||
trinket:SetBackdropColor(Gladdy:SetColor(Gladdy.db.trinketColoredCd))
|
||||
end
|
||||
Gladdy:SendMessage("TRINKET_USED", unit)
|
||||
if not passive then
|
||||
Gladdy:SendMessage("TRINKET_USED", unit)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
11
Options.lua
11
Options.lua
@ -935,6 +935,17 @@ function Gladdy:GetAuras(auraType)
|
||||
end
|
||||
return args
|
||||
end
|
||||
if Gladdy.expansion == "Wrath" then
|
||||
spells.deathknight = {
|
||||
order = 3,
|
||||
type = "group",
|
||||
name = LOCALIZED_CLASS_NAMES_MALE["DEATHKNIGHT"],
|
||||
icon = "Interface\\Glues\\CharacterCreate\\UI-CharacterCreate-Classes",
|
||||
iconCoords = CLASS_ICON_TCOORDS["DEATHKNIGHT"],
|
||||
args = {},
|
||||
}
|
||||
spells.deathknight.args = assignForClass("DEATHKNIGHT")
|
||||
end
|
||||
spells.druid.args = assignForClass("DRUID")
|
||||
spells.hunter.args = assignForClass("HUNTER")
|
||||
spells.mage.args = assignForClass("MAGE")
|
||||
|
Loading…
Reference in New Issue
Block a user