@@ -19,7 +19,8 @@ mod:RegisterEvents(
1919 " CHAT_MSG_MONSTER_YELL" ,
2020 " UNIT_AURA" ,
2121 " UNIT_EXITING_VEHICLE" ,
22- " UNIT_DIED"
22+ " UNIT_DIED" ,
23+ " UNIT_SPELLCAST_SUCCEEDED"
2324)
2425
2526local isPAL = select (2 , UnitClass (" player" )) == " PALADIN"
@@ -81,6 +82,7 @@ local timerNecroticCleanse = mod:NewTimer(5, "TimerNecroticPlagueCleanse", 73912
8182local timerNecroticPlagueCD = mod :NewNextTimer (30 , 73912 )
8283local timerDefileCD = mod :NewNextTimer (32.5 , 72762 )
8384local timerEnrageCD = mod :NewCDTimer (20 , 72143 , nil , true )
85+ local timerSoulShriekCD = mod :NewCDTimer (12 , 69242 , nil , true )
8486local timerEnrageCDnext = mod :NewCDTimer (41 , 72143 , nil , true )
8587local timerShamblingHorror = mod :NewNextTimer (60 , 70372 )
8688local timerDrudgeGhouls = mod :NewNextTimer (20 , 70358 )
@@ -134,6 +136,8 @@ local plagueHop = GetSpellInfo(70338)--Hop spellID only, not cast one.
134136local plagueExpires = {}
135137local lastPlague
136138
139+ local soulshriek = GetSpellInfo (69242 )
140+
137141function mod :RestoreWipeTime (self )
138142 mod :SetWipeTime (5 ) -- Restore it after frostmourn room.
139143end
@@ -214,7 +218,7 @@ function mod:SPELL_CAST_START(args)
214218 if args :IsSpellID (68981 , 74270 , 74271 , 74272 ) or args :IsSpellID (72259 , 74273 , 74274 , 74275 ) then -- Remorseless Winter (phase transition start)
215219 warnRemorselessWinter :Show ()
216220 timerPhaseTransition :Start ()
217- timerRagingSpiritCD :Start (4 )
221+ timerRagingSpiritCD :Start (3.5 )
218222 warnShamblingSoon :Cancel ()
219223 timerShamblingHorror :Cancel ()
220224 timerDrudgeGhouls :Cancel ()
@@ -317,6 +321,7 @@ function mod:SPELL_CAST_SUCCESS(args)
317321 end
318322 elseif args :IsSpellID (69200 ) then -- Raging Spirit
319323 warnRagingSpirit :Show (args .destName )
324+ timerSoulShriekCD :Start (20 , args .destName )
320325 if args :IsPlayer () then
321326 specWarnRagingSpirit :Show ()
322327 end
@@ -349,6 +354,8 @@ function mod:SPELL_CAST_SUCCESS(args)
349354 warnDefileSoon :Cancel ()
350355 mod :SetWipeTime (50 )-- We set a 45 sec min wipe time to keep mod from ending combat if you die while rest of raid is in frostmourn
351356 self :ScheduleMethod (50 , " RestoreWipeTime" )
357+ elseif args :IsSpellID (69242 ) then -- Soul Shriek Raging spirits
358+ timerSoulShriekCD :Start (args .sourceGUID )
352359 end
353360end
354361
@@ -494,6 +501,8 @@ function mod:UNIT_DIED(args)
494501 if cid == 37698 then -- Shambling Horror
495502 timerEnrageCD :Cancel (args .sourceGUID )
496503 timerEnrageCDnext :Cancel (args .sourceGUID )
504+ elseif cid == 36701 then
505+ timerSoulShriekCD :Cancel (args .sourceGUID )
497506 end
498507end
499508
@@ -566,12 +575,20 @@ function mod:UNIT_AURA(uId)
566575 end
567576end
568577
578+ function mod :UNIT_SPELLCAST_SUCCEEDED (uId , spellName )
579+ if spellName == soulshriek and mod :LatencyCheck () then
580+ self :SendSync (" SoulShriek" , UnitGUID (uId ))
581+ end
582+ end
583+
569584function mod :UNIT_EXITING_VEHICLE (uId )
570585 mod :RemoveEntry (UnitName (uId ))
571586end
572587
573588function mod :OnSync (msg , target )
574- if msg == " PALGrabbed" then -- Does this function fail to alert second healer if 2 different paladins are grabbed within < 2.5 seconds?
589+ if msg == " SoulShriek" and self :AntiSpam (1 , target ) then
590+ timerSoulShriekCD :Start (target )
591+ elseif msg == " PALGrabbed" then -- Does this function fail to alert second healer if 2 different paladins are grabbed within < 2.5 seconds?
575592 if self .Options .specWarnHealerGrabbed then
576593 specWarnPALGrabbed :Show (target )
577594 end
0 commit comments