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