You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
87 lines
3.0 KiB
87 lines
3.0 KiB
local mod = DBM:NewMod(119, "DBM-Party-Cataclysm", 5, 69)
|
|
local L = mod:GetLocalizedStrings()
|
|
|
|
mod.statTypes = "normal,heroic,timewalker"
|
|
|
|
mod:SetRevision("20230117063410")
|
|
mod:SetCreatureID(43612)
|
|
mod:SetEncounterID(1053)
|
|
|
|
mod:RegisterCombat("combat")
|
|
|
|
mod:RegisterEventsInCombat(
|
|
"SPELL_AURA_APPLIED 82622 82506 82255 88814 82320",
|
|
"SPELL_AURA_REMOVED 82622 82506",
|
|
"SPELL_DAMAGE 81942",
|
|
"SPELL_MISSED 81942"
|
|
)
|
|
|
|
--TODO, verify how soul sever stuff works, i don't remember it completely
|
|
local warnPlagueAges = mod:NewTargetAnnounce(82622, 3, nil, "Healer", 2)
|
|
local warnLashings = mod:NewTargetAnnounce(82506, 3, nil, "Tank|Healer", 2)--I think it's tank debuff? review
|
|
local warnRepentance = mod:NewSpellAnnounce(82320, 2) -- kind of add phase
|
|
local warnSoulSever = mod:NewTargetAnnounce(82255, 4)
|
|
|
|
local specWarnHeavenFury = mod:NewSpecialWarningMove(81942, nil, nil, nil, 1, 2)
|
|
local specWarnHallowedGround = mod:NewSpecialWarningMove(88814, nil, nil, nil, 1, 2)
|
|
local specWarnSoulSever = mod:NewSpecialWarningYou(82255, nil, nil, nil, 3, 2)
|
|
local specWarnSoulSeverDps = mod:NewSpecialWarningSwitch(82255, "Dps", nil, nil, 1, 2)
|
|
|
|
local timerPlagueAges = mod:NewTargetTimer(9, 82622, nil, "Healer", 2, 5)
|
|
local timerLashings = mod:NewTargetTimer(20, 82506, nil, "Tank|Healer", 2, 5)
|
|
local timerSoulSever = mod:NewTargetTimer(4, 82255, nil, nil, nil, 1)
|
|
local timerSoulSeverCD = mod:NewCDTimer(11, 82255, nil, nil, nil, 3)
|
|
|
|
local spamSIS = 0--We use custom updating so don't use prototype
|
|
local BlazeHeavens = DBM:EJ_GetSectionInfo(2459)
|
|
local HarbringerDarkness = DBM:EJ_GetSectionInfo(2473)
|
|
|
|
function mod:OnCombatStart(delay)
|
|
spamSIS = 0
|
|
end
|
|
|
|
function mod:SPELL_AURA_APPLIED(args)
|
|
local spellId = args.spellId
|
|
if spellId == 82622 then
|
|
warnPlagueAges:Show(args.destName)
|
|
timerPlagueAges:Start(args.destName)
|
|
elseif spellId == 82506 then
|
|
warnLashings:Show(args.destName)
|
|
timerLashings:Start(args.destName)
|
|
elseif spellId == 82320 and args.destName == L.name then
|
|
warnRepentance:Show()
|
|
spamSIS = GetTime()
|
|
elseif spellId == 82255 then
|
|
if args:IsPlayer() then
|
|
specWarnSoulSever:Show()
|
|
specWarnSoulSever:Play("targetyou")
|
|
else
|
|
warnSoulSever:Show(args.destName)
|
|
end
|
|
specWarnSoulSeverDps:Schedule(4)
|
|
specWarnSoulSeverDps:ScheduleVoice(4, "killmob")
|
|
timerSoulSever:Start(args.destName)
|
|
timerSoulSeverCD:Start()
|
|
elseif spellId == 88814 and args:IsPlayer() and GetTime() - spamSIS > 5.5 then
|
|
spamSIS = GetTime()
|
|
specWarnHallowedGround:Show()
|
|
specWarnHallowedGround:Play("runaway")
|
|
end
|
|
end
|
|
|
|
function mod:SPELL_AURA_REMOVED(args)
|
|
local spellId = args.spellId
|
|
if spellId == 82622 then
|
|
timerPlagueAges:Cancel(args.destName)
|
|
elseif spellId == 82506 then
|
|
timerLashings:Cancel(args.destName)
|
|
end
|
|
end
|
|
|
|
function mod:SPELL_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId)
|
|
if spellId == 81942 and destGUID == UnitGUID("player") and GetTime() - spamSIS > 3 then
|
|
spamSIS = GetTime()
|
|
specWarnHeavenFury:Show()
|
|
specWarnHeavenFury:Play("runaway")
|
|
end
|
|
end
|
|
|