|
|
|
|
local mod = DBM:NewMod("KazzakClassic", "DBM-WorldEvents", 4)
|
|
|
|
|
local L = mod:GetLocalizedStrings()
|
|
|
|
|
|
|
|
|
|
mod:SetRevision("20240315080105")
|
|
|
|
|
mod:SetCreatureID(121818)--121818 TW ID, 12397 classic ID
|
|
|
|
|
--mod:SetModelID(17887)
|
|
|
|
|
|
|
|
|
|
mod:RegisterCombat("combat_yell", L.Pull)
|
|
|
|
|
|
|
|
|
|
mod:RegisterEventsInCombat(
|
|
|
|
|
"SPELL_CAST_START 243712",
|
|
|
|
|
"SPELL_AURA_APPLIED 243713 243723 156598",
|
|
|
|
|
"SPELL_AURA_APPLIED_DOSE 243713"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
--TODO, maybe add yells for classic version, for timewalking version, it just doens't matter if marks don't run out
|
|
|
|
|
local warnVoidBolt = mod:NewStackAnnounce(243713, 2, nil, "Tank")
|
|
|
|
|
local warningFrenzy = mod:NewSpellAnnounce(156598, 3)
|
|
|
|
|
local warningMark = mod:NewTargetAnnounce(243723, 4)
|
|
|
|
|
local warningShadowBoltVolley = mod:NewSpellAnnounce(243712, 2)
|
|
|
|
|
|
|
|
|
|
local specWarnMark = mod:NewSpecialWarningMoveAway(243723, nil, nil, nil, 1, 2)
|
|
|
|
|
|
|
|
|
|
local timerVoidBoltCD = mod:NewCDTimer(27.8, 243713, nil, "Tank", nil, 5, nil, DBM_COMMON_L.TANK_ICON)--Iffy
|
|
|
|
|
local timerMarkCD = mod:NewCDTimer(13.3, 243723, nil, nil, nil, 3, nil, DBM_COMMON_L.MAGIC_ICON)
|
|
|
|
|
--local timerShadowBoltVolleyCD = mod:NewCDTimer(7.6, 243712, nil, nil, nil, 2)
|
|
|
|
|
|
|
|
|
|
--mod:AddReadyCheckOption(48620, false)
|
|
|
|
|
|
|
|
|
|
function mod:OnCombatStart(delay, yellTriggered)
|
|
|
|
|
if yellTriggered then
|
|
|
|
|
timerVoidBoltCD:Start(8.3-delay)
|
|
|
|
|
--timerShadowBoltVolleyCD:Start(11.5-delay)
|
|
|
|
|
timerMarkCD:Start(14.1-delay)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function mod:SPELL_CAST_START(args)
|
|
|
|
|
if args.spellId == 243712 then
|
|
|
|
|
warningShadowBoltVolley:Show()
|
|
|
|
|
--timerShadowBoltVolleyCD:Start()
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
function mod:SPELL_AURA_APPLIED(args)
|
|
|
|
|
local spellId = args.spellId
|
|
|
|
|
if spellId == 243713 then
|
|
|
|
|
local amount = args.amount or 1
|
|
|
|
|
warnVoidBolt:Show(args.destName, amount)
|
|
|
|
|
timerVoidBoltCD:Start()
|
|
|
|
|
elseif spellId == 156598 then
|
|
|
|
|
warningFrenzy:Show()
|
|
|
|
|
elseif spellId == 243723 then
|
|
|
|
|
warningMark:CombinedShow(0.5, args.destName)
|
|
|
|
|
timerMarkCD:DelayedStart(0.5)
|
|
|
|
|
if args:IsPlayer() then
|
|
|
|
|
specWarnMark:Show()
|
|
|
|
|
specWarnMark:Play("runout")
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
mod.SPELL_AURA_APPLIED_DOSE = mod.SPELL_AURA_APPLIED
|