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 GetSpellInfo = GetSpellInfo
|
||||||
local GetItemInfo = GetItemInfo
|
local GetItemInfo = GetItemInfo
|
||||||
local GetLocale = GetLocale
|
|
||||||
|
|
||||||
local Gladdy = LibStub("Gladdy")
|
local Gladdy = LibStub("Gladdy")
|
||||||
local L = Gladdy.L
|
local L = Gladdy.L
|
||||||
local AURA_TYPE_DEBUFF, AURA_TYPE_BUFF = AURA_TYPE_DEBUFF, AURA_TYPE_BUFF
|
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"}
|
Gladdy.CLASSES = {"MAGE", "PRIEST", "DRUID", "SHAMAN", "PALADIN", "WARLOCK", "WARRIOR", "HUNTER", "ROGUE"}
|
||||||
tbl_sort(Gladdy.CLASSES)
|
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 = {
|
local specBuffs = {
|
||||||
-- DRUID
|
-- DRUID
|
||||||
@ -51,7 +21,7 @@ local specBuffs = {
|
|||||||
[GetSpellInfo(33891)] = L["Restoration"], -- Tree of Life
|
[GetSpellInfo(33891)] = L["Restoration"], -- Tree of Life
|
||||||
|
|
||||||
-- HUNTER
|
-- 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(20895)] = L["Beast Mastery"], -- Spirit Bond
|
||||||
[GetSpellInfo(34455)] = L["Beast Mastery"], -- Ferocious Inspiration
|
[GetSpellInfo(34455)] = L["Beast Mastery"], -- Ferocious Inspiration
|
||||||
[GetSpellInfo(27066)] = L["Marksmanship"], -- Trueshot Aura
|
[GetSpellInfo(27066)] = L["Marksmanship"], -- Trueshot Aura
|
||||||
@ -108,8 +78,8 @@ local specBuffs = {
|
|||||||
[GetSpellInfo(19028)] = L["Demonology"], -- Soul Link
|
[GetSpellInfo(19028)] = L["Demonology"], -- Soul Link
|
||||||
[GetSpellInfo(23759)] = L["Demonology"], -- Master Demonologist
|
[GetSpellInfo(23759)] = L["Demonology"], -- Master Demonologist
|
||||||
[GetSpellInfo(35696)] = L["Demonology"], -- Demonic Knowledge
|
[GetSpellInfo(35696)] = L["Demonology"], -- Demonic Knowledge
|
||||||
[GetSpellInfo(30302)] = L["Destruction"], -- Nether Protection
|
[GetSpellInfo(30300)] = L["Destruction"], -- Nether Protection
|
||||||
[GetSpellInfo(34935)] = L["Destruction"], -- Backlash
|
[GetSpellInfo(34936)] = L["Destruction"], -- Backlash
|
||||||
|
|
||||||
-- WARRIOR
|
-- WARRIOR
|
||||||
[GetSpellInfo(29838)] = L["Arms"], -- Second Wind
|
[GetSpellInfo(29838)] = L["Arms"], -- Second Wind
|
||||||
@ -338,11 +308,11 @@ local importantAuras = {
|
|||||||
spellID = 19577,
|
spellID = 19577,
|
||||||
},
|
},
|
||||||
-- The Beast Within
|
-- The Beast Within
|
||||||
[GetSpellInfo(34692)] = {
|
[GetSpellInfo(34471)] = {
|
||||||
track = AURA_TYPE_BUFF,
|
track = AURA_TYPE_BUFF,
|
||||||
duration = 18,
|
duration = 18,
|
||||||
priority = 20,
|
priority = 20,
|
||||||
spellID = 34692,
|
spellID = 34471,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
@ -846,35 +816,6 @@ function Gladdy:GetInterrupts()
|
|||||||
return interrupts
|
return interrupts
|
||||||
end
|
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 = {
|
local cooldownList = {
|
||||||
-- Spell Name Cooldown[, Spec]
|
-- Spell Name Cooldown[, Spec]
|
||||||
-- Mage
|
-- Mage
|
||||||
@ -1034,7 +975,7 @@ local cooldownList = {
|
|||||||
[34490] = { cd = 20, spec = L["Marksmanship"], }, -- Silencing Shot
|
[34490] = { cd = 20, spec = L["Marksmanship"], }, -- Silencing Shot
|
||||||
[19386] = { cd = 60, spec = L["Survival"], }, -- Wyvern Sting
|
[19386] = { cd = 60, spec = L["Survival"], }, -- Wyvern Sting
|
||||||
[19577] = { cd = 60, spec = L["Beast Mastery"], }, -- Intimidation
|
[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
|
[5384] = 30, -- Feign Death
|
||||||
[3034] = 15, -- Viper Sting
|
[3034] = 15, -- Viper Sting
|
||||||
[1543] = 20, -- Flare
|
[1543] = 20, -- Flare
|
||||||
@ -1168,154 +1109,6 @@ function Gladdy:Racials()
|
|||||||
return racials
|
return racials
|
||||||
end
|
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
|
-- TOTEM STUFF
|
||||||
@ -1427,6 +1220,7 @@ local totemNpcIdsToTotemData = {
|
|||||||
[84519] = totemData[string_lower("Searing Totem")],
|
[84519] = totemData[string_lower("Searing Totem")],
|
||||||
[110730] = totemData[string_lower("Searing Totem")],
|
[110730] = totemData[string_lower("Searing Totem")],
|
||||||
[132178] = totemData[string_lower("Searing Totem")],
|
[132178] = totemData[string_lower("Searing Totem")],
|
||||||
|
[9637] = totemData[string_lower("Searing Totem")],
|
||||||
|
|
||||||
[5950] = totemData[string_lower("Flametongue Totem")],
|
[5950] = totemData[string_lower("Flametongue Totem")],
|
||||||
[6012] = totemData[string_lower("Flametongue Totem")],
|
[6012] = totemData[string_lower("Flametongue Totem")],
|
||||||
@ -1652,4 +1446,3 @@ local totemNpcIdsToTotemData = {
|
|||||||
function Gladdy:GetTotemData()
|
function Gladdy:GetTotemData()
|
||||||
return totemData, totemNpcIdsToTotemData, totemSpellIdToPulse
|
return totemData, totemNpcIdsToTotemData, totemSpellIdToPulse
|
||||||
end
|
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
|
## Interface: 20504
|
||||||
## Title: Gladdy - TBC
|
## Title: Gladdy - TBC
|
||||||
## Version: 2.11-Release
|
## Version: 2.2-Beta
|
||||||
## Notes: The most powerful arena AddOn for WoW 2.5.4
|
## Notes: The most powerful arena AddOn for WoW 2.5.4
|
||||||
## Author: XiconQoo, DnB_Junkee, Knall
|
## Author: XiconQoo, DnB_Junkee, Knall
|
||||||
## X-Email: contact me on discord Knall#1751
|
## X-Email: contact me on discord Knall#1751
|
||||||
@ -13,7 +13,8 @@ Gladdy.lua
|
|||||||
Lang.lua
|
Lang.lua
|
||||||
Frame.lua
|
Frame.lua
|
||||||
Options.lua
|
Options.lua
|
||||||
Constants.lua
|
Constants_shared.lua
|
||||||
|
Constants_BCC.lua
|
||||||
ImportStrings.lua
|
ImportStrings.lua
|
||||||
Util.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
|
-- Classes
|
||||||
L["Druid"] = C_CreatureInfo.GetClassInfo(11).className
|
L["Druid"] = C_CreatureInfo.GetClassInfo(11).className
|
||||||
|
L["Deathknight"] = C_CreatureInfo.GetClassInfo(6).className
|
||||||
L["Hunter"] = C_CreatureInfo.GetClassInfo(3).className
|
L["Hunter"] = C_CreatureInfo.GetClassInfo(3).className
|
||||||
L["Mage"] = C_CreatureInfo.GetClassInfo(8).className
|
L["Mage"] = C_CreatureInfo.GetClassInfo(8).className
|
||||||
L["Paladin"] = C_CreatureInfo.GetClassInfo(2).className
|
L["Paladin"] = C_CreatureInfo.GetClassInfo(2).className
|
||||||
|
@ -195,3 +195,12 @@ Buff({ 6143 }, { buffType = "magic"}, "MAGE") -- Frost Ward
|
|||||||
--talents
|
--talents
|
||||||
Buff({ 11426 }, { buffType = "magic"}, "MAGE") -- Ice Barrier
|
Buff({ 11426 }, { buffType = "magic"}, "MAGE") -- Ice Barrier
|
||||||
Buff({ 12472 }, { buffType = "magic"}, "MAGE") -- Icy Veins
|
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
|
if Gladdy.exceptionNames[spellid] then
|
||||||
spellName = Gladdy.exceptionNames[spellid]
|
spellName = Gladdy.exceptionNames[spellid]
|
||||||
end
|
end
|
||||||
|
local duration = math.random(2,10)
|
||||||
if (unit == "arena2") then
|
if (unit == "arena2") then
|
||||||
if (v.value.track == AURA_TYPE_BUFF) 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
|
end
|
||||||
else
|
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
|
||||||
end
|
end
|
||||||
-- /run LibStub("Gladdy").modules["Auras"]:Test("arena1")
|
-- /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 classIconPath = "Interface\\Addons\\Gladdy\\Images\\Classes\\"
|
||||||
local classIcons = {
|
local classIcons = {
|
||||||
["DRUID"] = classIconPath .. "inv_misc_monsterclaw_04",
|
["DRUID"] = classIconPath .. "inv_misc_monsterclaw_04",
|
||||||
|
["DEATHKNIGHT"] = select(3, GetSpellInfo(49023)), --Might of Mograine
|
||||||
["HUNTER"] = classIconPath .. "inv_weapon_bow_07",
|
["HUNTER"] = classIconPath .. "inv_weapon_bow_07",
|
||||||
["MAGE"] = classIconPath .. "inv_staff_13",
|
["MAGE"] = classIconPath .. "inv_staff_13",
|
||||||
["PALADIN"] = classIconPath .. "inv_hammer_01",
|
["PALADIN"] = classIconPath .. "inv_hammer_01",
|
||||||
@ -39,6 +40,11 @@ local specIcons = {
|
|||||||
[L["Feral"]] = select(3, GetSpellInfo(27545)), -- Cat Form
|
[L["Feral"]] = select(3, GetSpellInfo(27545)), -- Cat Form
|
||||||
[L["Restoration"]] = select(3, GetSpellInfo(5185)), -- Healing Touch
|
[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"] = {
|
["HUNTER"] = {
|
||||||
[L["Beast Mastery"]] = select(3, GetSpellInfo(1515)), -- Tame Beast
|
[L["Beast Mastery"]] = select(3, GetSpellInfo(1515)), -- Tame Beast
|
||||||
[L["Marksmanship"]] = select(3, GetSpellInfo(42243)), -- Volley
|
[L["Marksmanship"]] = select(3, GetSpellInfo(42243)), -- Volley
|
||||||
|
@ -32,6 +32,9 @@ function Racial:Initialize()
|
|||||||
self:RegisterMessage("JOINED_ARENA")
|
self:RegisterMessage("JOINED_ARENA")
|
||||||
self:RegisterMessage("ENEMY_SPOTTED")
|
self:RegisterMessage("ENEMY_SPOTTED")
|
||||||
self:RegisterMessage("RACIAL_USED")
|
self:RegisterMessage("RACIAL_USED")
|
||||||
|
if Gladdy.expansion == "Wrath" then
|
||||||
|
self:RegisterMessage("TRINKET_USED")
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -40,6 +43,9 @@ function Racial:UpdateFrameOnce()
|
|||||||
self:RegisterMessage("JOINED_ARENA")
|
self:RegisterMessage("JOINED_ARENA")
|
||||||
self:RegisterMessage("ENEMY_SPOTTED")
|
self:RegisterMessage("ENEMY_SPOTTED")
|
||||||
self:RegisterMessage("RACIAL_USED")
|
self:RegisterMessage("RACIAL_USED")
|
||||||
|
if Gladdy.expansion == "Wrath" then
|
||||||
|
self:RegisterMessage("TRINKET_USED")
|
||||||
|
end
|
||||||
else
|
else
|
||||||
self:UnregisterAllMessages()
|
self:UnregisterAllMessages()
|
||||||
end
|
end
|
||||||
@ -207,6 +213,25 @@ function Racial:RACIAL_USED(unit, expirationTime, spellName)
|
|||||||
Racial:Used(unit, startTime, Gladdy:Racials()[button.race].duration)
|
Racial:Used(unit, startTime, Gladdy:Racials()[button.race].duration)
|
||||||
end
|
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)
|
function Racial:Used(unit, startTime, duration)
|
||||||
local racial = self.frames[unit]
|
local racial = self.frames[unit]
|
||||||
if (not racial) then
|
if (not racial) then
|
||||||
@ -241,8 +266,8 @@ end
|
|||||||
|
|
||||||
function Racial:Test(unit)
|
function Racial:Test(unit)
|
||||||
Racial:ENEMY_SPOTTED(unit)
|
Racial:ENEMY_SPOTTED(unit)
|
||||||
if (unit == "arena1" or unit == "arena3") then
|
if (unit == "arena2" or unit == "arena3") then
|
||||||
Racial:Used(unit, GetTime(), Gladdy:Racials()[Gladdy.buttons[unit].race].duration)
|
Gladdy:SendMessage("RACIAL_USED", unit)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -33,12 +33,18 @@ function Trinket:Initialize()
|
|||||||
self.frames = {}
|
self.frames = {}
|
||||||
if Gladdy.db.trinketEnabled then
|
if Gladdy.db.trinketEnabled then
|
||||||
self:RegisterMessage("JOINED_ARENA")
|
self:RegisterMessage("JOINED_ARENA")
|
||||||
|
if Gladdy.expansion == "Wrath" then
|
||||||
|
self:RegisterMessage("RACIAL_USED")
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function Trinket:UpdateFrameOnce()
|
function Trinket:UpdateFrameOnce()
|
||||||
if Gladdy.db.trinketEnabled then
|
if Gladdy.db.trinketEnabled then
|
||||||
self:RegisterMessage("JOINED_ARENA")
|
self:RegisterMessage("JOINED_ARENA")
|
||||||
|
if Gladdy.expansion == "Wrath" then
|
||||||
|
self:RegisterMessage("RACIAL_USED")
|
||||||
|
end
|
||||||
else
|
else
|
||||||
self:UnregisterAllMessages()
|
self:UnregisterAllMessages()
|
||||||
end
|
end
|
||||||
@ -228,6 +234,7 @@ function Trinket:ResetUnit(unit)
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
|
trinket.itemID = nil
|
||||||
trinket.timeLeft = nil
|
trinket.timeLeft = nil
|
||||||
trinket.active = false
|
trinket.active = false
|
||||||
trinket.cooldown:Clear()
|
trinket.cooldown:Clear()
|
||||||
@ -239,13 +246,15 @@ function Trinket:Test(unit)
|
|||||||
if (not trinket) then
|
if (not trinket) then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
if (unit == "arena2" or unit == "arena3") then
|
if (unit == "arena1" or unit == "arena2") then
|
||||||
self:Used(unit, GetTime() * 1000, 120000)
|
self:Used(unit, GetTime() * 1000, 120000)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function Trinket:JOINED_ARENA()
|
function Trinket:JOINED_ARENA()
|
||||||
self:RegisterEvent("ARENA_COOLDOWNS_UPDATE")
|
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, ...)
|
self:SetScript("OnEvent", function(self, event, ...)
|
||||||
if self[event] then
|
if self[event] then
|
||||||
self[event](self, ...)
|
self[event](self, ...)
|
||||||
@ -253,19 +262,64 @@ function Trinket:JOINED_ARENA()
|
|||||||
end)
|
end)
|
||||||
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()
|
function Trinket:ARENA_COOLDOWNS_UPDATE()
|
||||||
for i=1, Gladdy.curBracket do
|
for i=1, Gladdy.curBracket do
|
||||||
local unit = "arena" .. i
|
local unitID = "arena" .. i
|
||||||
local spellID, itemID, startTime, duration = C_PvP.GetArenaCrowdControlInfo(unit);
|
local spellID, itemID, startTime, duration = C_PvP.GetArenaCrowdControlInfo(unitID)
|
||||||
|
Gladdy:Debug("INFO", "Trinket:ARENA_COOLDOWNS_UPDATE", spellID, itemID, startTime, duration)
|
||||||
if (spellID) then
|
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
|
if (startTime ~= 0 and duration ~= 0) then
|
||||||
self:Used(unit, startTime, duration)
|
self:Used(unitID, startTime, duration)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function Trinket:Used(unit, startTime, duration)
|
function Trinket:Used(unit, startTime, duration, passive)
|
||||||
local trinket = self.frames[unit]
|
local trinket = self.frames[unit]
|
||||||
if (not trinket) then
|
if (not trinket) then
|
||||||
return
|
return
|
||||||
@ -277,8 +331,10 @@ function Trinket:Used(unit, startTime, duration)
|
|||||||
if Gladdy.db.trinketColored then
|
if Gladdy.db.trinketColored then
|
||||||
trinket:SetBackdropColor(Gladdy:SetColor(Gladdy.db.trinketColoredCd))
|
trinket:SetBackdropColor(Gladdy:SetColor(Gladdy.db.trinketColoredCd))
|
||||||
end
|
end
|
||||||
|
if not passive then
|
||||||
Gladdy:SendMessage("TRINKET_USED", unit)
|
Gladdy:SendMessage("TRINKET_USED", unit)
|
||||||
end
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function Trinket:GetOptions()
|
function Trinket:GetOptions()
|
||||||
|
11
Options.lua
11
Options.lua
@ -935,6 +935,17 @@ function Gladdy:GetAuras(auraType)
|
|||||||
end
|
end
|
||||||
return args
|
return args
|
||||||
end
|
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.druid.args = assignForClass("DRUID")
|
||||||
spells.hunter.args = assignForClass("HUNTER")
|
spells.hunter.args = assignForClass("HUNTER")
|
||||||
spells.mage.args = assignForClass("MAGE")
|
spells.mage.args = assignForClass("MAGE")
|
||||||
|
Loading…
Reference in New Issue
Block a user