initial commit
This commit is contained in:
154
Modules/Tracker/InterruptTracker/InterruptSpellDatabase.lua
Normal file
154
Modules/Tracker/InterruptTracker/InterruptSpellDatabase.lua
Normal file
@@ -0,0 +1,154 @@
|
||||
-- Core/InterruptSpellDatabase.lua
|
||||
|
||||
HMGT_SpellData = HMGT_SpellData or {}
|
||||
local Spell = HMGT_SpellData.Spell
|
||||
if not Spell then return end
|
||||
|
||||
HMGT_SpellData.Interrupts = {
|
||||
-- WARRIOR
|
||||
Spell(6552, "Pummel", {
|
||||
classes = {"WARRIOR"},
|
||||
category = "interrupt",
|
||||
state = { kind = "cooldown", cooldown = 15 },
|
||||
mods = {
|
||||
{ talentSpellId = 391271, value = 10, op = "reduceByPercent", target = "cooldown" },
|
||||
},
|
||||
}),
|
||||
Spell(23920, "Spell Reflection", {
|
||||
classes = {"WARRIOR"},
|
||||
category = "interrupt",
|
||||
state = { kind = "cooldown", cooldown = 20 },
|
||||
mods = {
|
||||
{ talentSpellId = 391271, value = 10, op = "reduceByPercent", target = "cooldown" },
|
||||
},
|
||||
}),
|
||||
|
||||
-- PALADIN
|
||||
Spell(96231, "Rebuke", {
|
||||
classes = {"PALADIN"},
|
||||
specs = {3},
|
||||
category = "interrupt",
|
||||
state = { kind = "cooldown", cooldown = 15 },
|
||||
}),
|
||||
|
||||
-- HUNTER
|
||||
Spell(147362, "Counter Shot", {
|
||||
classes = {"HUNTER"},
|
||||
specs = {1, 2},
|
||||
category = "interrupt",
|
||||
state = { kind = "cooldown", cooldown = 24 },
|
||||
}),
|
||||
Spell(187707, "Muzzle", {
|
||||
classes = {"HUNTER"},
|
||||
specs = {3},
|
||||
category = "interrupt",
|
||||
state = { kind = "cooldown", cooldown = 15 },
|
||||
}),
|
||||
|
||||
-- ROGUE
|
||||
Spell(1766, "Kick", {
|
||||
classes = {"ROGUE"},
|
||||
category = "interrupt",
|
||||
state = { kind = "cooldown", cooldown = 15 },
|
||||
}),
|
||||
|
||||
-- PRIEST
|
||||
Spell(15487, "Silence", {
|
||||
classes = {"PRIEST"},
|
||||
specs = {3},
|
||||
category = "interrupt",
|
||||
state = { kind = "cooldown", cooldown = 45 },
|
||||
}),
|
||||
|
||||
-- DEATH KNIGHT
|
||||
Spell(47528, "Mind Freeze", {
|
||||
classes = {"DEATHKNIGHT"},
|
||||
category = "interrupt",
|
||||
state = { kind = "cooldown", cooldown = 15 },
|
||||
relations = {
|
||||
{
|
||||
when = "interruptSuccess",
|
||||
effects = {
|
||||
{
|
||||
type = "reduceCooldown",
|
||||
targetSpellId = 47528,
|
||||
amount = 3,
|
||||
talentSpellId = 378848,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}),
|
||||
|
||||
-- SHAMAN
|
||||
Spell(57994, "Wind Shear", {
|
||||
classes = {"SHAMAN"},
|
||||
category = "interrupt",
|
||||
state = { kind = "cooldown", cooldown = 12 },
|
||||
}),
|
||||
|
||||
-- MAGE
|
||||
Spell(2139, "Counterspell", {
|
||||
classes = {"MAGE"},
|
||||
category = "interrupt",
|
||||
state = { kind = "cooldown", cooldown = 24 },
|
||||
}),
|
||||
|
||||
-- WARLOCK
|
||||
Spell(19647, "Spell Lock", {
|
||||
classes = {"WARLOCK"},
|
||||
specs = {2},
|
||||
category = "interrupt",
|
||||
state = { kind = "cooldown", cooldown = 24 },
|
||||
}),
|
||||
Spell(132409, "Spell Lock (Grimoire)", {
|
||||
classes = {"WARLOCK"},
|
||||
specs = {1, 3},
|
||||
category = "interrupt",
|
||||
state = { kind = "cooldown", cooldown = 24 },
|
||||
}),
|
||||
|
||||
-- MONK
|
||||
Spell(116705, "Spear Hand Strike", {
|
||||
classes = {"MONK"},
|
||||
specs = {1, 3},
|
||||
category = "interrupt",
|
||||
state = { kind = "cooldown", cooldown = 15 },
|
||||
}),
|
||||
|
||||
-- DEMON HUNTER
|
||||
Spell(183752, "Disrupt", {
|
||||
classes = {"DEMONHUNTER"},
|
||||
specs = {nil},
|
||||
category = "interrupt",
|
||||
state = { kind = "cooldown", cooldown = 15 },
|
||||
}),
|
||||
|
||||
-- DRUID
|
||||
Spell(78675, "Solar Beam", {
|
||||
classes = {"DRUID"},
|
||||
specs = {1},
|
||||
category = "interrupt",
|
||||
state = { kind = "cooldown", cooldown = 60 },
|
||||
}),
|
||||
Spell(106839, "Skull Bash", {
|
||||
classes = {"DRUID"},
|
||||
specs = {2, 3},
|
||||
category = "interrupt",
|
||||
state = { kind = "cooldown", cooldown = 15 },
|
||||
}),
|
||||
|
||||
-- EVOKER
|
||||
Spell(351338, "Quell", {
|
||||
classes = {"EVOKER"},
|
||||
category = "interrupt",
|
||||
state = { kind = "cooldown", cooldown = 40 },
|
||||
mods = {
|
||||
{ talentSpellId = 396371, value = 20, op = "set", target = "cooldown" },
|
||||
},
|
||||
}),
|
||||
}
|
||||
|
||||
if HMGT_SpellData.RebuildLookups then
|
||||
HMGT_SpellData.RebuildLookups()
|
||||
end
|
||||
21
Modules/Tracker/InterruptTracker/InterruptTracker.lua
Normal file
21
Modules/Tracker/InterruptTracker/InterruptTracker.lua
Normal file
@@ -0,0 +1,21 @@
|
||||
-- Modules/InterruptTracker.lua
|
||||
-- Interrupt tracker based on the shared single-frame tracker base.
|
||||
|
||||
local ADDON_NAME = "HailMaryGuildTools"
|
||||
local HMGT = LibStub("AceAddon-3.0"):GetAddon(ADDON_NAME)
|
||||
local L = LibStub("AceLocale-3.0"):GetLocale(ADDON_NAME)
|
||||
|
||||
local Base = HMGT.SingleFrameTrackerBase
|
||||
if not Base then return end
|
||||
|
||||
Base:CreateModule("InterruptTracker", {
|
||||
profileKey = "interruptTracker",
|
||||
frameName = "InterruptTracker",
|
||||
title = function()
|
||||
return L["IT_TITLE"]
|
||||
end,
|
||||
demoKey = "interruptTracker",
|
||||
database = function()
|
||||
return HMGT_SpellData.Interrupts
|
||||
end,
|
||||
})
|
||||
Reference in New Issue
Block a user