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.

69 lines
2.6 KiB

local mod = DBM:NewMod(688, "DBM-Party-MoP", 9, 316)
local L = mod:GetLocalizedStrings()
mod:SetRevision("20230708234551")
mod:SetCreatureID(59789)
mod:SetEncounterID(1423)
mod:RegisterCombat("combat")
mod:RegisterEventsInCombat(
"SPELL_AURA_APPLIED 115297",
"SPELL_AURA_REMOVED 115297",
"SPELL_CAST_SUCCESS 115297 115147 115139",
"SPELL_SUMMON 115250"
)
local warnEvictSoul = mod:NewTargetNoFilterAnnounce(115297, 3)
local warnEmpowerZombie = mod:NewSpellAnnounce(115250, 4)
local specWarnFallenCrusader = mod:NewSpecialWarningSwitch(-5863, "-Healer", nil, nil, 1, 2)--Need more data, nots sure if they are meaningful enough to kill or ignore.
local specWarnEmpoweredSpirit = mod:NewSpecialWarningSwitch(-5869, "-Healer", nil, nil, 1, 2)--These need to die before they become zombies. Cannot see a way in combat log to detect target, i'll have to watch for target scanning next time to warn that player to run away from dead crusaders.
local timerEvictSoul = mod:NewTargetTimer(6, 115297, nil, nil, nil, 5)
local timerEvictSoulCD = mod:NewCDTimer(41, 115297, nil, nil, nil, 3)
local timerRaiseCrusadeCD = mod:NewNextTimer(60, 115139, nil, nil, nil, 1)--Both of these are 40 second cds in challenge modes
local timerSummonSpiritsCD = mod:NewNextTimer(60, 115147, nil, nil, nil, 1)--Although correction is only needed in one spot
function mod:OnCombatStart(delay)
timerRaiseCrusadeCD:Start(6-delay)
timerEvictSoulCD:Start(15.5-delay)
end
function mod:SPELL_AURA_APPLIED(args)
if args.spellId == 115297 then
warnEvictSoul:Show(args.destName)
timerEvictSoul:Start(args.destName)
end
end
function mod:SPELL_AURA_REMOVED(args)
if args.spellId == 115297 then
timerEvictSoul:Cancel(args.destName)
end
end
function mod:SPELL_CAST_SUCCESS(args)
if args.spellId == 115297 then--Trigger CD off success, since we can resist it. do NOT add ID 115548, it's a similcast to 115297
timerEvictSoulCD:Start()
elseif args.spellId == 115147 then--Summon Empowering Spirits
specWarnEmpoweredSpirit:Show()
specWarnEmpoweredSpirit:Play("killmob")
timerRaiseCrusadeCD:Start(20)--Raise crusaders always 20 seconds after spirits in all modes
elseif args.spellId == 115139 then--Raise Fallen Crusade
specWarnFallenCrusader:Show()
specWarnFallenCrusader:Play("killmob")
if self:IsDifficulty("challenge5") then
timerSummonSpiritsCD:Start(20)
else
timerSummonSpiritsCD:Start(40)
end
end
end
function mod:SPELL_SUMMON(args)
if args.spellId == 115250 then--Empower Zombie (used by empowering Spirits on fallen Crusaders to make them hulking hard hitting zombies)
warnEmpowerZombie:Show()
end
end