@@ -7,21 +7,20 @@ mod:RegisterCombat("scenario", 2162)
7
7
mod .noStatistics = true
8
8
9
9
mod :RegisterEventsInCombat (
10
- " SPELL_CAST_START 288210 292903 295985 296748 295001 294362 304075 296523 270248 270264 270348 263085 215710 294526 294533 298844 297018 295942 294165 330118 258935 308026 335528 277040 329608 330438 330477 " ,
10
+ " SPELL_CAST_START 288210 292903 295985 296748 295001 294362 304075 296523 270248 270264 270348 263085 215710 294526 294533 298844 297018 295942 294165 330118 258935 308026 335528 277040 329608 330438 330471 294401 294517 296839 297020 " ,
11
11
" SPELL_AURA_APPLIED 304093 277040" ,
12
12
" SPELL_AURA_APPLIED_DOSE 303678" ,
13
13
" SPELL_AURA_REMOVED 277040" ,
14
- -- "SPELL_CAST_SUCCESS",
15
- -- "SPELL_PERIODIC_DAMAGE",
16
- -- "SPELL_PERIODIC_MISSED",
17
- -- "SPELL_INTERRUPT",
14
+ " SPELL_PERIODIC_DAMAGE 294607" ,
15
+ " SPELL_PERIODIC_MISSED 294607" ,
18
16
" UNIT_DIED" ,
19
17
" NAME_PLATE_UNIT_ADDED" ,
20
18
" FORBIDDEN_NAME_PLATE_UNIT_ADDED"
21
19
)
22
20
23
21
-- TODO, verifying howling souls spellId, user submitted and unverified from logs. SpellId given is used in eye of azshara. Can use torghast reusuing it though.
24
22
-- TODO https://shadowlands.wowhead.com/spell=303678/bone-shrapnel? not sure what i can do about it in a mod though, it's instant cast on death. warn when they are getting low if melee?
23
+ -- TODO https://shadowlands.wowhead.com/spell=299150/unnatural-power? boss buff stacks, basic DPS check
25
24
-- TODO, alert when a deadsoul scavenger is nearby?
26
25
local warnMightySlam = mod :NewCastAnnounce (296748 , 3 )-- Cast time to short to really dodge, this is just alert to at least mentally prepare for damage spike
27
26
local warnInferno = mod :NewSpellAnnounce (335528 , 3 )
@@ -34,7 +33,9 @@ local specWarnMassiveStrike = mod:NewSpecialWarningDodge(292903, nil, nil, nil
34
33
local specWarnMeteor = mod :NewSpecialWarningDodge (270264 , nil , nil , nil , 2 , 2 )
35
34
local specWarnRatTrap = mod :NewSpecialWarningDodge (295942 , nil , nil , nil , 2 , 2 )
36
35
local specWarnFanningtheFlames = mod :NewSpecialWarningDodge (308026 , nil , nil , nil , 2 , 2 )
37
- local specWarnProphecyOfDeath = mod :NewSpecialWarningDodge (330477 , nil , nil , nil , 2 , 2 )
36
+ local specWarnProphecyOfDeath = mod :NewSpecialWarningDodge (330471 , nil , nil , nil , 2 , 2 )
37
+ local specWarnDiscordantBarrage = mod :NewSpecialWarningDodge (294401 , nil , nil , nil , 2 , 2 )
38
+ local specWarnBindSouls = mod :NewSpecialWarningDodge (297020 , nil , nil , nil , 2 , 2 )
38
39
local specWarnGroundCrush = mod :NewSpecialWarningRun (295985 , nil , nil , nil , 4 , 2 )
39
40
-- local specWarnMightySlam = mod:NewSpecialWarningRun(296748, nil, nil, nil, 4, 2)
40
41
local specWarnWhirlwind = mod :NewSpecialWarningRun (295001 , nil , nil , nil , 4 , 2 )
@@ -52,6 +53,8 @@ local specWarnFireballVolley = mod:NewSpecialWarningInterrupt(270348, "HasInter
52
53
local specWarnTerrifyingRoar = mod :NewSpecialWarningInterrupt (263085 , " HasInterrupt" , nil , nil , 3 , 2 )
53
54
local specWarnCurseofFrailty = mod :NewSpecialWarningInterrupt (294526 , " HasInterrupt" , nil , nil , 1 , 2 )
54
55
local specWarnFearsomeHowl = mod :NewSpecialWarningInterrupt (298844 , " HasInterrupt" , nil , nil , 1 , 2 )
56
+ local specWarnPhasingRoar = mod :NewSpecialWarningInterrupt (294517 , " HasInterrupt" , nil , nil , 1 , 2 )
57
+ local specWarnDeathBlast = mod :NewSpecialWarningInterrupt (296839 , " HasInterrupt" , nil , nil , 1 , 2 )
55
58
local specWarnAccursedStrength = mod :NewSpecialWarningInterrupt (294165 , " HasInterrupt" , nil , nil , 1 , 2 )
56
59
local specWarnWitheringRoar = mod :NewSpecialWarningInterrupt (330118 , " HasInterrupt" , nil , nil , 1 , 2 )
57
60
local specWarnInnerFlames = mod :NewSpecialWarningInterrupt (258935 , " HasInterrupt" , nil , nil , 1 , 2 )
@@ -63,11 +66,9 @@ local timerInfernoCD = mod:NewCDTimer(21.9, 335528, nil, nil, nil, 3)--21.9-2
63
66
-- local timerWitheringRoarCD = mod:NewCDTimer(21.5, 330118, nil, nil, nil, 4, nil, DBM_CORE_L.INTERRUPT_ICON)--15.8-19.5
64
67
local timerGroundCrushCD = mod :NewNextTimer (23.1 , 295985 , nil , nil , nil , 3 )-- Seems precise, at least when used by The Grand Malleare
65
68
66
- -- mod:AddInfoFrameOption(307831, true)
67
69
mod :AddNamePlateOption (" NPAuraOnSoulofMist" , 277040 )
68
70
69
71
-- Antispam IDs for this mod: 1 run away, 2 dodge, 3 dispel, 4 incoming damage, 5 you/role, 6 GTFO, 7 misc
70
- -- local playerName = UnitName("player")
71
72
local warnedGUIDs = {}
72
73
73
74
--[[
@@ -84,17 +85,10 @@ function mod:OnCombatStart(delay)
84
85
if self .Options .NPAuraOnSoulofMist then
85
86
DBM :FireEvent (" BossMod_EnableHostileNameplates" )
86
87
end
87
- -- if self.Options.InfoFrame then
88
- -- DBM.InfoFrame:SetHeader(DBM:GetSpellInfo(307831))
89
- -- DBM.InfoFrame:Show(5, "playerpower", 1, ALTERNATE_POWER_INDEX, nil, nil, 2)--Sorting lowest to highest
90
- -- end
91
88
end
92
89
93
90
function mod :OnCombatEnd ()
94
91
table .wipe (warnedGUIDs )
95
- -- if self.Options.InfoFrame then
96
- -- DBM.InfoFrame:Hide()
97
- -- end
98
92
if self .Options .NPAuraOnSoulofMist then
99
93
DBM .Nameplate :Hide (true , nil , nil , nil , true , true )-- isGUID, unit, spellId, texture, force, isHostile, isFriendly
100
94
end
@@ -118,9 +112,15 @@ function mod:SPELL_CAST_START(args)
118
112
elseif spellId == 295942 and self :AntiSpam (3 , 2 ) then
119
113
specWarnRatTrap :Show ()
120
114
specWarnRatTrap :Play (" watchstep" )
121
- elseif spellId == 330477 and self :AntiSpam (3 , 2 ) then
115
+ elseif spellId == 330471 and self :AntiSpam (3 , 2 ) then
122
116
specWarnProphecyOfDeath :Show ()
123
117
specWarnProphecyOfDeath :Play (" watchstep" )
118
+ elseif spellId == 294401 and self :AntiSpam (3 , 2 ) then
119
+ specWarnDiscordantBarrage :Show ()
120
+ specWarnDiscordantBarrage :Play (" watchstep" )
121
+ elseif spellId == 297020 and self :AntiSpam (3 , 2 ) then
122
+ specWarnBindSouls :Show ()
123
+ specWarnBindSouls :Play (" watchstep" )
124
124
elseif spellId == 295985 then
125
125
if self :AntiSpam (4 , 1 ) then
126
126
specWarnGroundCrush :Show ()
@@ -182,18 +182,15 @@ function mod:SPELL_CAST_START(args)
182
182
elseif (spellId == 297018 or spellId == 298844 or spellId == 330438 ) and self :CheckInterruptFilter (args .sourceGUID , false , true ) then
183
183
specWarnFearsomeHowl :Show (args .sourceName )
184
184
specWarnFearsomeHowl :Play (" kickcast" )
185
+ elseif spellId == 298844 and self :CheckInterruptFilter (args .sourceGUID , false , true ) then
186
+ specWarnPhasingRoar :Show (args .sourceName )
187
+ specWarnPhasingRoar :Play (" kickcast" )
188
+ elseif spellId == 296839 and self :CheckInterruptFilter (args .sourceGUID , false , true ) then
189
+ specWarnDeathBlast :Show (args .sourceName )
190
+ specWarnDeathBlast :Play (" kickcast" )
185
191
end
186
192
end
187
193
188
- --[[
189
- function mod:SPELL_CAST_SUCCESS(args)
190
- local spellId = args.spellId
191
- if spellId == 297237 then
192
-
193
- end
194
- end
195
- --]]
196
-
197
194
function mod :SPELL_AURA_APPLIED (args )
198
195
local spellId = args .spellId
199
196
if spellId == 303678 and args :IsPlayer () then
@@ -229,24 +226,14 @@ function mod:SPELL_AURA_REMOVED(args)
229
226
end
230
227
end
231
228
232
- --[[
233
229
function mod :SPELL_PERIODIC_DAMAGE (_ , _ , _ , _ , destGUID , _ , _ , _ , spellId , spellName )
234
- if ( spellId == 303594 or spellId == 313303) and destGUID == UnitGUID("player") and self:AntiSpam(2, 4 ) then
230
+ if spellId == 294607 and destGUID == UnitGUID (" player" ) and self :AntiSpam (2 , 6 ) then -- Death Pool
235
231
specWarnGTFO :Show (spellName )
236
232
specWarnGTFO :Play (" watchfeet" )
237
233
end
238
234
end
239
235
mod .SPELL_PERIODIC_MISSED = mod .SPELL_PERIODIC_DAMAGE
240
236
241
- function mod:SPELL_INTERRUPT(args)
242
- if type(args.extraSpellId) == "number" and args.extraSpellId == 298033 then
243
- if self.Options.NPAuraOnSoulofMist then
244
- DBM.Nameplate:Hide(true, args.destGUID, 298033)
245
- end
246
- end
247
- end
248
- --]]
249
-
250
237
function mod :UNIT_DIED (args )
251
238
-- local cid = self:GetCIDFromGUID(args.destGUID)
252
239
-- not very efficient to stop all timers when ANYTHING in entire zone dies, but too many mobs have cross overs of these abilities
0 commit comments