Skip to content

Commit

Permalink
Neltharus
Browse files Browse the repository at this point in the history
 - Fixed bug where wrong spear target was announced on non mythic difficulty on Chargath
 - Fixed two bad timers on Magmatusk
 - Added Bold Abush
 - Added Tempest
 - Added Volcanic Guard
 - Added Eruptive Crash
 - Added MagmaFist
 - Added Explosive Concoction
 - Added Scorching Breath
 - Added Scorching Fusillade
 - Fixed Motes of Combustion alerts not working
 - Added Bold Ambush
 - Added Fired Up
 - Added Molten Core

The Azure Vault
 - Added Shoulder Slam
 - Added Ice Cutter
 - Added Scornful Haste
 - Added Erratic Growth
 - Added Forbidden Knowledge
 - Added Null Stomp
 - Added Mystic Vapors
 - Added Waking Bane
  • Loading branch information
MysticalOS committed Dec 4, 2022
1 parent 9272067 commit c151056
Show file tree
Hide file tree
Showing 4 changed files with 132 additions and 52 deletions.
28 changes: 9 additions & 19 deletions DBM-Party-Dragonflight/Neltharus/Chargath.lua
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ mod:RegisterCombat("combat")
mod:RegisterEventsInCombat(
"SPELL_CAST_START 373733 373742 373424 375056",
-- "SPELL_CAST_SUCCESS",
"SPELL_AURA_APPLIED 374655",
"SPELL_AURA_APPLIED 374655 375057",
-- "SPELL_AURA_APPLIED_DOSE 374655",
"SPELL_AURA_REFRESH 374655",
-- "SPELL_AURA_APPLIED_DOSE",
Expand Down Expand Up @@ -65,17 +65,6 @@ function mod:DragonStrikeTarget(targetname)
warnDragonStrike:Show(targetname)
end

function mod:SpearTarget(targetname)
if not targetname then return end
if targetname == UnitName("player") then
specWarnGroundingSpear:Show()
specWarnGroundingSpear:Play("targetyou")
yellGroundingSpear:Yell()
else
warnGroundingSpear:Show(targetname)
end
end

--Notes:
--Boss has spell queung problems on top of varying timers, which can cause abilities to come in different orders and timings
--First magmawave is usually 15 sec into boss, but also soemtimes 26 and sometimes not cast at all before first blade lock
Expand Down Expand Up @@ -114,13 +103,6 @@ function mod:SPELL_CAST_START(args)
specWarnMagmaWave:Play("watchwave")
timerMagmaWaveCD:Start()
elseif spellId == 373424 then
if not self:IsMythic() then
self:ScheduleMethod(0.2, "BossTargetScanner", args.sourceGUID, "SpearTarget", 0.1, 8, true)
else--On mythic, everyone gets it
specWarnGroundingSpear:Show()
specWarnGroundingSpear:Play("targetyou")
yellGroundingSpear:Yell()
end
timerGroundingSpearCD:Start()
elseif spellId == 375056 then
specWarnBladeLock:Show()
Expand Down Expand Up @@ -150,6 +132,14 @@ function mod:SPELL_AURA_APPLIED(args)
timerMagmaWaveCD:Stop()
timerDragonStrikeCD:Stop()
timerBladeLockCD:Stop()
elseif spellId == 375057 then
if args:IsPlayer() then
specWarnGroundingSpear:Show()
specWarnGroundingSpear:Play("targetyou")
yellGroundingSpear:Yell()
elseif not self:IsMythic() then--On non mythic only one target, else everyone gets it so no need to target announce
warnGroundingSpear:Show(args.destName)
end
end
end
mod.SPELL_AURA_REFRESHED = mod.SPELL_AURA_APPLIED
Expand Down
20 changes: 13 additions & 7 deletions DBM-Party-Dragonflight/Neltharus/Magmatusk.lua
Original file line number Diff line number Diff line change
Expand Up @@ -28,19 +28,21 @@ mod:RegisterEventsInCombat(
or type = "dungeonencounterstart" or type = "dungeonencounterend"
--]]
--TODO, verify target scan for lava spray, or maybe use RAID_BOSS_WHISPER?
--NOTE: Magma Lob is cast by EACH tentacle, it's downgraded to normal warning by defaulta and timer disabled because it gets spammy later fight
local warnMagmaLob = mod:NewSpellAnnounce(375068, 3)
local warnVolatileMutation = mod:NewCountAnnounce(374365, 3)
local warnLavaSpray = mod:NewTargetNoFilterAnnounce(375251, 3)

local specWarnMagmaLob = mod:NewSpecialWarningDodge(375068, nil, nil, nil, 2, 2)
local specWarnMagmaLob = mod:NewSpecialWarningDodge(375068, false, nil, 2, 2, 2)
local specWarnLavaSpray = mod:NewSpecialWarningYou(375251, nil, nil, nil, 1, 2)
local yellLavaSpray = mod:NewYell(375251)
local specWarnBlazingCharge = mod:NewSpecialWarningDodge(375436, nil, nil, nil, 2, 2)
local yellBlazingCharge = mod:NewYell(375436)
local specWarnGTFO = mod:NewSpecialWarningGTFO(375204, nil, nil, nil, 1, 8)

local timerVolatileMutationCD = mod:NewCDTimer(31.5, 374365, nil, nil, nil, 5, nil, DBM_COMMON_L.DAMAGE_ICON)
local timerMagmaLobCD = mod:NewCDTimer(8, 375068, nil, nil, nil, 3)--8 unless delayed by other casts
local timerLavaSrayCD = mod:NewCDTimer(23.4, 375251, nil, nil, nil, 3)
--local timerMagmaLobCD = mod:NewCDTimer(8, 375068, nil, nil, nil, 3)--8 unless delayed by other casts
local timerLavaSrayCD = mod:NewCDTimer(19.9, 375251, nil, nil, nil, 3)
local timerBlazingChargeCD = mod:NewCDTimer(23, 375436, nil, nil, nil, 3)

--local berserkTimer = mod:NewBerserkTimer(600)
Expand All @@ -65,7 +67,7 @@ end
function mod:OnCombatStart(delay)
self.vb.mutationCount = 0
timerLavaSrayCD:Start(7.2-delay)
timerMagmaLobCD:Start(8-delay)
-- timerMagmaLobCD:Start(8-delay)
timerBlazingChargeCD:Start(19.7-delay)
timerVolatileMutationCD:Start(25.8-delay)
end
Expand All @@ -86,9 +88,13 @@ function mod:SPELL_CAST_START(args)
warnVolatileMutation:Show(self.vb.mutationCount)
timerVolatileMutationCD:Start()
elseif spellId == 375068 then
specWarnMagmaLob:Show()
specWarnMagmaLob:Play("watchstep")
timerMagmaLobCD:Start()
if self.Options.SpecWarn375068dodge then
specWarnMagmaLob:Show()
specWarnMagmaLob:Play("watchstep")
else
warnMagmaLob:Show()
end
-- timerMagmaLobCD:Start()
elseif spellId == 375251 then
self:ScheduleMethod(0.2, "BossTargetScanner", args.sourceGUID, "LavaSprayTarget", 0.1, 8, true)
timerLavaSrayCD:Start()
Expand Down
82 changes: 69 additions & 13 deletions DBM-Party-Dragonflight/Neltharus/NeltharusTrash.lua
Original file line number Diff line number Diff line change
Expand Up @@ -6,45 +6,101 @@ mod:SetRevision("@file-date-integer@")
mod.isTrashMod = true

mod:RegisterEvents(
-- "SPELL_CAST_START",
"SPELL_AURA_APPLIED 384161"
"SPELL_CAST_START 382708 376186 372566 372311 372201 381663 378282",
"SPELL_CAST_SUCCESS 378827",
"SPELL_AURA_APPLIED 384161 373089 371875"
-- "SPELL_AURA_APPLIED_DOSE 339528",
-- "SPELL_AURA_REMOVED 339525"
)


--local warnConcentrateAnima = mod:NewTargetNoFilterAnnounce(339525, 3)
local warnBoldAmbush = mod:NewTargetNoFilterAnnounce(372566, 3)

local specWarnTempest = mod:NewSpecialWarningSpell(381663, nil, nil, nil, 2, 13)--pushbackincoming
local specWarnVolcanicGuard = mod:NewSpecialWarningDodge(382708, nil, nil, nil, 1, 2)
local specWarnEruptiveCrash = mod:NewSpecialWarningDodge(376186, nil, nil, nil, 2, 2)
local specWarnMagmaFist = mod:NewSpecialWarningDodge(372311, nil, nil, nil, 2, 2)
local specWarnExplosiveConcoction = mod:NewSpecialWarningDodge(378827, nil, nil, nil, 2, 2)
local specWarnScorchingBreath = mod:NewSpecialWarningDodge(372201, nil, nil, nil, 2, 2)
local specWarnScorchingFusillade = mod:NewSpecialWarningMoveAway(372543, nil, nil, nil, 1, 2)
local yellScorchingFusillade = mod:NewYell(372543)
local specWarnMoteofCombustion = mod:NewSpecialWarningMoveAway(384161, nil, nil, nil, 1, 2)
local yellMoteofCombustion = mod:NewYell(384161)
--local yellConcentrateAnimaFades = mod:NewShortFadesYell(339525)
--local specWarnSharedSuffering = mod:NewSpecialWarningYou(339607, nil, nil, nil, 1, 2)
--local specWarnDirgefromBelow = mod:NewSpecialWarningInterrupt(310839, "HasInterrupt", nil, nil, 1, 2)
local specWarnBoldAmbush = mod:NewSpecialWarningYou(372566, nil, nil, nil, 1, 2)
local yellBoldAmbush = mod:NewYell(372566)
local specWarnFiredUp = mod:NewSpecialWarningDispel(371875, "RemoveEnrage", nil, nil, 2, 2)
local specWarnMoltenCore = mod:NewSpecialWarningInterrupt(378282, "HasInterrupt", nil, nil, 1, 2)

--local playerName = UnitName("player")

--Antispam IDs for this mod: 1 run away, 2 dodge, 3 dispel, 4 incoming damage, 5 you/role, 6 misc
--[[

function mod:AmbushTarget(targetname)
if not targetname then return end
if targetname == UnitName("player") then
if self:AntiSpam(4, 5) then
specWarnBoldAmbush:Show()
specWarnBoldAmbush:Play("targetyou")
end
yellBoldAmbush:Yell()
else
warnBoldAmbush:Show(targetname)
end
end

function mod:SPELL_CAST_START(args)
local spellId = args.spellId
if spellId == 310780 and self:AntiSpam(5, 2) then
if spellId == 382708 and self:AntiSpam(3, 2) then
if self:IsTanking("player", nil, nil, true, args.sourceGUID) then
specWarnVolcanicGuard:Show()
specWarnVolcanicGuard:Play("shockwave")
end
elseif spellId == 376186 and self:AntiSpam(3, 2) then
specWarnEruptiveCrash:Show()
specWarnEruptiveCrash:Play("watchstep")
elseif spellId == 372311 and self:AntiSpam(3, 2) then
specWarnMagmaFist:Show()
specWarnMagmaFist:Play("shockwave")
elseif spellId == 372201 and self:AntiSpam(3, 2) then
specWarnScorchingBreath:Show()
specWarnScorchingBreath:Play("shockwave")
elseif spellId == 381663 and self:AntiSpam(3, 6) then
specWarnTempest:Show()
specWarnTempest:Play("pushbackincoming")
elseif spellId == 372566 then
self:ScheduleMethod(0.1, "BossTargetScanner", args.sourceGUID, "AmbushTarget", 0.1, 8)
elseif spellId == 378282 and self:CheckInterruptFilter(args.sourceGUID, false, true) then
specWarnMoltenCore:Show(args.sourceName)
specWarnMoltenCore:Play("kickcast")
end
end

elseif spellId == 310839 and self:CheckInterruptFilter(args.sourceGUID, false, true) then
specWarnDirgefromBelow:Show(args.sourceName)
specWarnDirgefromBelow:Play("kickcast")
function mod:SPELL_CAST_SUCCESS(args)
local spellId = args.spellId
if spellId == 378827 and self:AntiSpam(3, 2) then
specWarnExplosiveConcoction:Show()
specWarnExplosiveConcoction:Play("watchstep")
end
end
--]]

function mod:SPELL_AURA_APPLIED(args)
if not self.Options.Enabled then return end
local spellId = args.spellId
if spellId == 339525 then
if spellId == 384161 then
if args:IsPlayer() then
specWarnMoteofCombustion:Show()
specWarnMoteofCombustion:Play("runout")
yellMoteofCombustion:Yell()
end
elseif spellId == 372543 then
if args:IsPlayer() then
specWarnScorchingFusillade:Show()
specWarnScorchingFusillade:Play("scatter")
yellScorchingFusillade:Yell()
end
elseif spellId == 371875 and self:AntiSpam(3, 5) then
specWarnFiredUp:Show(args.destName)
specWarnFiredUp:Play("enrage")
end
end
--mod.SPELL_AURA_APPLIED_DOSE = mod.SPELL_AURA_APPLIED
Expand Down
54 changes: 41 additions & 13 deletions DBM-Party-Dragonflight/TheAzurevault/TheAzurevaultTrash.lua
Original file line number Diff line number Diff line change
Expand Up @@ -6,29 +6,37 @@ mod:SetRevision("@file-date-integer@")
mod.isTrashMod = true

mod:RegisterEvents(
"SPELL_CAST_START 391136 370764",
"SPELL_CAST_SUCCESS 374885",
"SPELL_AURA_APPLIED 371007"
"SPELL_CAST_START 391136 370764 386526 387564 377105",
"SPELL_CAST_SUCCESS 374885 371358",
"SPELL_AURA_APPLIED 371007 395492 375596"
-- "SPELL_AURA_APPLIED_DOSE 339528",
-- "SPELL_AURA_REMOVED 339525"
)


--TODO, I don't think shoulder slam target scan worked, maybe try again though.
local warnShoulderSlam = mod:NewCastAnnounce(391136, 2)
local warnPiercingShards = mod:NewCastAnnounce(370764, 4)
local warnIceCutter = mod:NewCastAnnounce(377105, 4, nil, nil, "Tank|Healer")
local warnSplinteringShards = mod:NewTargetAnnounce(371007, 2)
local warScornfulHaste = mod:NewTargetNoFilterAnnounce(395492, 2)
local warnErraticGrowth = mod:NewTargetNoFilterAnnounce(375596, 2)

local specWarnUnstablePower = mod:NewSpecialWarningDodge(374885, nil, nil, nil, 2, 2)
local specWarnShoulderSlam = mod:NewSpecialWarningMoveAway(391136, nil, nil, nil, 1, 2)
local yellShoulderSlam = mod:NewYell(391136)
local specWarnForbiddenKnowledge = mod:NewSpecialWarningDodge(371358, nil, nil, nil, 2, 2)
local specWarnNullStomp = mod:NewSpecialWarningDodge(386526, nil, nil, nil, 2, 2)
--local specWarnShoulderSlam = mod:NewSpecialWarningMoveAway(391136, nil, nil, nil, 1, 2)
--local yellShoulderSlam = mod:NewYell(391136)
local specWarnSplinteringShards = mod:NewSpecialWarningMoveAway(371007, nil, nil, nil, 1, 2)
local yellSplinteringShards = mod:NewYell(371007)
--local specWarnSharedSuffering = mod:NewSpecialWarningYou(339607, nil, nil, nil, 1, 2)
--local specWarnDirgefromBelow = mod:NewSpecialWarningInterrupt(310839, "HasInterrupt", nil, nil, 1, 2)
local yellErraticGrowth = mod:NewYell(375596)
local specWarnMysticVapors = mod:NewSpecialWarningInterrupt(387564, "HasInterrupt", nil, nil, 1, 2)
local specWarnWakingBane = mod:NewSpecialWarningInterrupt(386546, "HasInterrupt", nil, nil, 1, 2)

--local playerName = UnitName("player")

--Antispam IDs for this mod: 1 run away, 2 dodge, 3 dispel, 4 incoming damage, 5 you/role, 6 misc

--[[
function mod:ShoulderSlamTarget(targetname)
if not targetname then return end
if targetname == UnitName("player") then
Expand All @@ -39,24 +47,37 @@ function mod:ShoulderSlamTarget(targetname)
yellShoulderSlam:Yell()
end
end
--]]

function mod:SPELL_CAST_START(args)
local spellId = args.spellId
if spellId == 391136 then
self:ScheduleMethod(0.1, "BossTargetScanner", args.sourceGUID, "ShoulderSlamTarget", 0.1, 8)
warnShoulderSlam:Show()
-- self:ScheduleMethod(0.1, "BossTargetScanner", args.sourceGUID, "ShoulderSlamTarget", 0.1, 8)
elseif spellId == 370764 and self:AntiSpam(5, 6) then
warnPiercingShards:Show()
-- elseif spellId == 310839 and self:CheckInterruptFilter(args.sourceGUID, false, true) then
-- specWarnDirgefromBelow:Show(args.sourceName)
-- specWarnDirgefromBelow:Play("kickcast")
elseif spellId == 377105 and self:AntiSpam(3, 6) then
warnIceCutter:Show()
elseif spellId == 386526 and self:AntiSpam(3, 2) then
specWarnNullStomp:Show()
specWarnNullStomp:Play("watchstep")
elseif spellId == 387564 and self:CheckInterruptFilter(args.sourceGUID, false, true) then
specWarnMysticVapors:Show(args.sourceName)
specWarnMysticVapors:Play("kickcast")
elseif spellId == 386546 and self:CheckInterruptFilter(args.sourceGUID, false, true) then
specWarnWakingBane:Show(args.sourceName)
specWarnWakingBane:Play("kickcast")
end
end

function mod:SPELL_CAST_SUCCESS(args)
local spellId = args.spellId
if spellId == 374885 and self:AntiSpam(5, 2) then
if spellId == 374885 and self:AntiSpam(3, 2) then
specWarnUnstablePower:Show()
specWarnUnstablePower:Play("watchstep")
elseif spellId == 371358 and self:AntiSpam(3, 2) then
specWarnForbiddenKnowledge:Show()
specWarnForbiddenKnowledge:Play("watchstep")
end
end

Expand All @@ -70,6 +91,13 @@ function mod:SPELL_AURA_APPLIED(args)
specWarnSplinteringShards:Play("runout")
yellSplinteringShards:Yell()
end
elseif spellId == 395492 then
warScornfulHaste:CombinedShow(0.3, args.destName)
elseif spellId == 375596 then
warnErraticGrowth:CombinedShow(0.3, args.destName)
if args:IsPlayer() then
yellErraticGrowth:Yell()
end
end
end
--mod.SPELL_AURA_APPLIED_DOSE = mod.SPELL_AURA_APPLIED
Expand Down

0 comments on commit c151056

Please sign in to comment.