Skip to content

Commit

Permalink
Some misc Dungeon updates for Dragonflight
Browse files Browse the repository at this point in the history
 - Added nameplate timer to Vicious Lunch in Algether Academy
 - Adjusted first Screech on Crawth in Algether Academy
 - Removed unused on Echo of Doragosa in Algether Academy
 - All timers and alerts on Leymor now includes count in Azure Vault
 - All timers and alerts on Umbrelskul now include count in Azure Vault
 - Updated Rending Strike timer on balakar khan for season 4 in Nokhud
 - Slightly shortened initial timers for Terra in Nokhud
 - Improved defensive bulwark timer on Lost dwarves to only start if cast finishes, so it's not falsely shown on CD if target dies during initial cast and boss recasts on someone else.
  • Loading branch information
MysticalOS committed Apr 26, 2024
1 parent 299bfed commit 0c97a5f
Show file tree
Hide file tree
Showing 9 changed files with 85 additions and 59 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ mod:SetZone(2526)
mod.isTrashMod = true

mod:RegisterEvents(
"SPELL_CAST_START 387910 377383 378003 388976 388863 377912 387843 388392 377389 396812",
"SPELL_CAST_START 387910 377383 378003 388976 388863 377912 387843 388392 377389 396812 389054",
"SPELL_CAST_SUCCESS 390915 388984",
"SPELL_AURA_APPLIED 388984 387843",
"SPELL_AURA_REMOVED 387843",
Expand Down Expand Up @@ -53,6 +53,7 @@ local timerExpelIntrudersCD = mod:NewCDNPTimer(26.6, 377912, nil, nil, nil,
local timerViciousAmbushCD = mod:NewCDNPTimer(14.5, 388984, nil, nil, nil, 3)
local timerAstralWhirlwindCD = mod:NewCDNPTimer(18.2, 387910, nil, "Melee", nil, 3)--These mob packs are heavily stunned and CD can be delayed by stuns
local timerAstralBombCD = mod:NewCDNPTimer(18.2, 387843, nil, nil, nil, 3)--These mob packs are heavily stunned and CD can be delayed by stuns
local timerVicousLungeCD = mod:NewCDNPTimer(11.4, 389054, nil, nil, nil, 3)

mod:AddBoolOption("AGBuffs", true)

Expand Down Expand Up @@ -127,6 +128,8 @@ function mod:SPELL_CAST_START(args)
specWarnExpelIntruders:Show()
specWarnExpelIntruders:Play("justrun")
end
elseif spellId == 389054 then
timerVicousLungeCD:Start(nil, args.sourceGUID)
-- elseif spellId == 310839 and self:CheckInterruptFilter(args.sourceGUID, false, true) then
-- specWarnDirgefromBelow:Show(args.sourceName)
-- specWarnDirgefromBelow:Play("kickcast")
Expand Down Expand Up @@ -189,6 +192,8 @@ function mod:UNIT_DIED(args)
timerCalloftheFlockCD:Stop(args.destGUID)
elseif cid == 196576 then--Spellbound Scepter
timerMysticBlastCD:Stop(args.destGUID)
elseif cid == 196694 then--Arcane Forager
timerVicousLungeCD:Stop(args.destGUID)
end
end

Expand Down
2 changes: 1 addition & 1 deletion DBM-Party-Dragonflight/AlgetharAcademy/Crawth.lua
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ end
function mod:OnCombatStart(delay)
self.vb.ScreechCount = 0
timerSavagePeckCD:Start(3.6-delay)
timerDeafeningScreechCD:Start(10.1-delay, 1)
timerDeafeningScreechCD:Start(5.4-delay, 1)
timerOverpoweringGustCD:Start(15.7-delay)
end

Expand Down
13 changes: 2 additions & 11 deletions DBM-Party-Dragonflight/AlgetharAcademy/EchoofDoragosa.lua
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ mod.sendMainBossGUID = true
mod:RegisterCombat("combat")

mod:RegisterEventsInCombat(
"SPELL_CAST_START 374361 388822 439488",
"SPELL_CAST_START 374361 388822",
"SPELL_CAST_SUCCESS 374343",
"SPELL_AURA_APPLIED 389011 374350 389007",
"SPELL_AURA_APPLIED_DOSE 389011",
Expand All @@ -32,7 +32,6 @@ mod:RegisterEventsInCombat(
--]]
local warnOverwhelmingPoweer = mod:NewCountAnnounce(389011, 3, nil, nil, DBM_CORE_L.AUTO_ANNOUNCE_OPTIONS.stack:format(389011))--Typical stack warnings have amount and playername, but since used as personal, using count object to just display amount then injecting option text for stack
local warnEnergyBomb = mod:NewTargetAnnounce(374352, 3)
local warnUnleashedEnergy = mod:NewCountAnnounce(439488, 2)

local specWarnAstralBreath = mod:NewSpecialWarningDodge(374361, nil, nil, nil, 2, 2)
local specWarnPowerVacuum = mod:NewSpecialWarningRun(388822, nil, nil, nil, 4, 2)
Expand All @@ -42,21 +41,17 @@ local yellEnergyBombFades = mod:NewShortFadesYell(374352)
local specWarnGTFO = mod:NewSpecialWarningGTFO(389007, nil, nil, nil, 1, 8)

local timerAstralBreathCD = mod:NewCDTimer(26.3, 374361, nil, nil, nil, 3)--26-32
local timerPowerVacuumCD = mod:NewCDTimer(21.8, 388822, nil, nil, nil, 2)--22-29
local timerPowerVacuumCD = mod:NewCDTimer(21, 388822, nil, nil, nil, 2)--22-29
local timerEnergyBombCD = mod:NewCDTimer(14.1, 374352, nil, nil, nil, 3)--14.1-20
local timerUnleashedEnergyCD = mod:NewAITimer(14.1, 439488, nil, nil, nil, 2)

mod:AddInfoFrameOption(389011, true)

local playerDebuffCount = 0
mod.vb.unleashedCount = 0

function mod:OnCombatStart(delay)
self.vb.unleashedCount = 0
timerEnergyBombCD:Start(15.9-delay)
timerPowerVacuumCD:Start(24.9-delay)
timerAstralBreathCD:Start(28.1-delay)
timerUnleashedEnergyCD:Start(1-delay)
if self.Options.InfoFrame then
DBM.InfoFrame:SetHeader(DBM:GetSpellInfo(389011))
DBM.InfoFrame:Show(5, "playerdebuffstacks", 389011)
Expand All @@ -79,10 +74,6 @@ function mod:SPELL_CAST_START(args)
specWarnPowerVacuum:Show()
specWarnPowerVacuum:Play("justrun")
timerPowerVacuumCD:Start()
elseif spellId == 439488 then
self.vb.unleashedCount = self.vb.unleashedCount + 1
warnUnleashedEnergy:Show(self.vb.unleashedCount)
timerUnleashedEnergyCD:Start()
end
end

Expand Down
58 changes: 37 additions & 21 deletions DBM-Party-Dragonflight/TheAzurevault/Leymor.lua
Original file line number Diff line number Diff line change
Expand Up @@ -26,26 +26,31 @@ mod:RegisterEventsInCombat(
or ability.id = 374720 and type = "cast"
or type = "dungeonencounterstart" or type = "dungeonencounterend"
--]]
local warnLeylineSprouts = mod:NewSpellAnnounce(374364, 3)
local warnLeylineSprouts = mod:NewCountAnnounce(374364, 3)
local warnExplosiveEruption = mod:NewTargetNoFilterAnnounce(374567, 4)

local specWarnExplosiveEruption = mod:NewSpecialWarningYouPos(374567, nil, nil, nil, 1, 2)
local yellExplosiveEruption = mod:NewShortPosYell(374567)
local yellExplosiveEruptionFades = mod:NewIconFadesYell(374567)
local specWarnConsumingStomp = mod:NewSpecialWarningSpell(374720, nil, nil, nil, 2, 2)
local specWarnEruptingFissure = mod:NewSpecialWarningDodge(386660, nil, nil, nil, 2, 2)
local specWarnConsumingStomp = mod:NewSpecialWarningCount(374720, nil, nil, nil, 2, 2)
local specWarnEruptingFissure = mod:NewSpecialWarningDodgeCount(386660, nil, nil, nil, 2, 2)
local yellEruptingFissure = mod:NewYell(386660)
local specWarnInfusedStrike = mod:NewSpecialWarningDefensive(374789, nil, nil, nil, 1, 2)

local timerLeylineSproutsCD = mod:NewCDTimer(48.1, 374364, nil, nil, nil, 3)
local timerExplosiveEruptionCD = mod:NewCDTimer(48.5, 374567, nil, nil, nil, 3)
local timerConsumingStompCD = mod:NewCDTimer(48.5, 374720, nil, nil, nil, 2, nil, DBM_COMMON_L.DEADLY_ICON)
local timerEruptingFissureCD = mod:NewCDTimer(48.5, 386660, nil, nil, nil, 3)
local timerInfusedStrikeCD = mod:NewCDTimer(48.5, 374789, nil, "Tank|Healer", nil, 5, nil, DBM_COMMON_L.TANK_ICON)
local timerLeylineSproutsCD = mod:NewCDCountTimer(48.1, 374364, nil, nil, nil, 3)
local timerExplosiveEruptionCD = mod:NewCDCountTimer(48.5, 374567, nil, nil, nil, 3)
local timerConsumingStompCD = mod:NewCDCountTimer(48.5, 374720, nil, nil, nil, 2, nil, DBM_COMMON_L.DEADLY_ICON)
local timerEruptingFissureCD = mod:NewCDCountTimer(48.5, 386660, nil, nil, nil, 3)
local timerInfusedStrikeCD = mod:NewCDCountTimer(48.5, 374789, nil, "Tank|Healer", nil, 5, nil, DBM_COMMON_L.TANK_ICON)

mod:AddSetIconOption("SetIconOnExplosiveEruption", 374567, true, false, {1, 2, 3})

mod.vb.DebuffIcon = 1
mod.vb.leylineCount = 0
mod.vb.explosiveCount = 0
mod.vb.stompCount = 0
mod.vb.fissureCount = 0
mod.vb.strikeCount = 0

function mod:EruptionTarget(targetname)
if not targetname then return end
Expand All @@ -55,41 +60,52 @@ function mod:EruptionTarget(targetname)
end

function mod:OnCombatStart(delay)
timerLeylineSproutsCD:Start(3.2-delay)
timerInfusedStrikeCD:Start(10.1-delay)
timerEruptingFissureCD:Start(20.2-delay)
timerExplosiveEruptionCD:Start(30.7-delay)
timerConsumingStompCD:Start(45.3-delay)
self.vb.DebuffIcon = 1
self.vb.leylineCount = 0
self.vb.explosiveCount = 0
self.vb.stompCount = 0
self.vb.fissureCount = 0
self.vb.strikeCount = 0
timerLeylineSproutsCD:Start(3.2-delay, 1)
timerInfusedStrikeCD:Start(10.1-delay, 1)
timerEruptingFissureCD:Start(20.2-delay, 1)
timerExplosiveEruptionCD:Start(30.1-delay, 1)
timerConsumingStompCD:Start(45.3-delay, 1)
end

function mod:SPELL_CAST_START(args)
local spellId = args.spellId
if spellId == 374364 then
warnLeylineSprouts:Show()
timerLeylineSproutsCD:Start()
self.vb.leylineCount = self.vb.leylineCount + 1
warnLeylineSprouts:Show(self.vb.leylineCount)
timerLeylineSproutsCD:Start(nil, self.vb.leylineCount+1)
elseif spellId == 374567 then
self.vb.DebuffIcon = 1
timerExplosiveEruptionCD:Start()
self.vb.explosiveCount = self.vb.explosiveCount + 1
timerExplosiveEruptionCD:Start(nil, self.vb.explosiveCount+1)
elseif spellId == 386660 then
self.vb.fissureCount = self.vb.fissureCount + 1
self:ScheduleMethod(0.2, "BossTargetScanner", args.sourceGUID, "EruptionTarget", 0.1, 8, true)
specWarnEruptingFissure:Show()
specWarnEruptingFissure:Show(self.vb.fissureCount)
specWarnEruptingFissure:Play("shockwave")
timerEruptingFissureCD:Start()
timerEruptingFissureCD:Start(nil, self.vb.fissureCount+1)
elseif spellId == 374789 then
self.vb.strikeCount = self.vb.strikeCount + 1
if self:IsTanking("player", "boss1", nil, true) then
specWarnInfusedStrike:Show()
specWarnInfusedStrike:Play("defensive")
end
timerInfusedStrikeCD:Start()
timerInfusedStrikeCD:Start(nil, self.vb.strikeCount+1)
end
end

function mod:SPELL_CAST_SUCCESS(args)
local spellId = args.spellId
if spellId == 374720 then
specWarnConsumingStomp:Show()
self.vb.stompCount = self.vb.stompCount + 1
specWarnConsumingStomp:Show(self.vb.stompCount )
specWarnConsumingStomp:Play("aesoon")
timerConsumingStompCD:Start()
timerConsumingStompCD:Start(nil, self.vb.stompCount+1)
end
end

Expand Down
41 changes: 24 additions & 17 deletions DBM-Party-Dragonflight/TheAzurevault/Umbrelskul.lua
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ mod:RegisterCombat("combat")

mod:RegisterEventsInCombat(
"SPELL_CAST_START 384978 385399 385075 388804",
"SPELL_CAST_SUCCESS 384696",
"SPELL_CAST_SUCCESS 384696 385399 388804",
"SPELL_AURA_APPLIED 384978"
)

Expand All @@ -26,28 +26,32 @@ mod:RegisterEventsInCombat(
or ability.id = 384696 and type = "cast"
or type = "dungeonencounterstart" or type = "dungeonencounterend"
--]]
local warnArcaneEruption = mod:NewSpellAnnounce(385075, 3)
local warnArcaneEruption = mod:NewCountAnnounce(385075, 3)

local specWarnDragonStrike = mod:NewSpecialWarningDefensive(384978, nil, nil, nil, 1, 2)
local specWarnDragonStrikeDebuff = mod:NewSpecialWarningDispel(384978, "RemoveMagic", nil, nil, 1, 2)
local specWarnCrystallineRoar = mod:NewSpecialWarningDodge(384699, nil, nil, nil, 3, 2)
local specWarnUnleashedDestruction = mod:NewSpecialWarningSpell(385399, nil, nil, nil, 2, 2)
local specWarnCrystallineRoar = mod:NewSpecialWarningDodgeCount(384699, nil, nil, nil, 3, 2)
local specWarnUnleashedDestruction = mod:NewSpecialWarningCount(385399, nil, nil, nil, 2, 2)

local timerDragonStrikeCD = mod:NewCDTimer(7.3, 384978, nil, "Tank|Healer|RemoveMagic", nil, 5, nil, DBM_COMMON_L.TANK_ICON..DBM_COMMON_L.MAGIC_ICON)--7.3-24, probably delayed by CLEU events I couldn't see
local timerCrystallineRoarCD = mod:NewCDTimer(111.6, 384699, nil, nil, nil, 3, nil, DBM_COMMON_L.DEADLY_ICON)
local timerUnleashedDestructionCD = mod:NewCDTimer(103.1, 385399, nil, nil, nil, 2)--103-115
local timerArcaneEruptionCD = mod:NewCDTimer(54.6, 385075, nil, nil, nil, 3)
local timerCrystallineRoarCD = mod:NewCDCountTimer(111.6, 384699, nil, nil, nil, 3, nil, DBM_COMMON_L.DEADLY_ICON)
local timerUnleashedDestructionCD = mod:NewCDCountTimer(103.1, 385399, nil, nil, nil, 2)--103-115
local timerArcaneEruptionCD = mod:NewCDCountTimer(54.6, 385075, nil, nil, nil, 3)

mod:AddInfoFrameOption(388777, false)

mod.vb.roarCount = 0
mod.vb.unleashedCast = 0
mod.vb.eruptionCount = 0

function mod:OnCombatStart(delay)
self.vb.roarCount = 0
self.vb.unleashedCast = 0
self.vb.eruptionCount = 0
timerDragonStrikeCD:Start(7.1-delay)
timerCrystallineRoarCD:Start(12.3-delay)
timerArcaneEruptionCD:Start(28.9-delay)--28.9-37, Highly variable if it gets spell queued behind more tank casts
timerUnleashedDestructionCD:Start(48.2-delay)
timerCrystallineRoarCD:Start(12.3-delay, 1)
timerArcaneEruptionCD:Start(28.9-delay, 1)--28.9-37, Highly variable if it gets spell queued behind more tank casts
timerUnleashedDestructionCD:Start(48.2-delay, 1)
end

function mod:SPELL_CAST_START(args)
Expand All @@ -59,22 +63,25 @@ function mod:SPELL_CAST_START(args)
end
timerDragonStrikeCD:Start()
elseif spellId == 385399 or spellId == 388804 then--Easy, Hard
self.vb.unleashedCast = self.vb.unleashedCast + 1
specWarnUnleashedDestruction:Show(self.vb.unleashedCast)
specWarnUnleashedDestruction:Show(self.vb.unleashedCast+1)
specWarnUnleashedDestruction:Play("carefly")
timerUnleashedDestructionCD:Start()
elseif spellId == 385075 then
warnArcaneEruption:Show()
timerArcaneEruptionCD:Start()
self.vb.eruptionCount = self.vb.eruptionCount + 1
warnArcaneEruption:Show(self.vb.eruptionCount)
timerArcaneEruptionCD:Start(nil, self.vb.eruptionCount+1)
end
end

function mod:SPELL_CAST_SUCCESS(args)
local spellId = args.spellId
if spellId == 384696 then
specWarnCrystallineRoar:Show()
self.vb.roarCount = self.vb.roarCount + 1
specWarnCrystallineRoar:Show(self.vb.roarCount)
specWarnCrystallineRoar:Play("shockwave")
timerCrystallineRoarCD:Start()
timerCrystallineRoarCD:Start(nil, self.vb.roarCount+1)
elseif spellId == 385399 or spellId == 388804 then--Easy, Hard
self.vb.unleashedCast = self.vb.unleashedCast + 1--Only increment cast count if it actually finishes
timerUnleashedDestructionCD:Start(100.1, self.vb.unleashedCast+1)--Even this cast can be interrupted kited boss around so we have to move timer to success
end
end

Expand Down
2 changes: 1 addition & 1 deletion DBM-Party-Dragonflight/TheNokhudOffensive/BalakarKhan.lua
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ function mod:SPELL_CAST_START(args)
specWarnRendingStrike:Play("defensive")
end
--Now alternates again
local timer = (self.vb.comboCount % 2 == 0) and 17 or 22
local timer = (self.vb.comboCount % 2 == 0) and 15 or 22
timerRendingStrikeCD:Start(timer, self.vb.comboCount+1)
elseif spellId == 376827 then
self.vb.comboCount = self.vb.comboCount + 1
Expand Down
8 changes: 4 additions & 4 deletions DBM-Party-Dragonflight/TheNokhudOffensive/TeeraandMaruuk.lua
Original file line number Diff line number Diff line change
Expand Up @@ -74,9 +74,9 @@ local function scanBosses(self, delay)
local cid = self:GetUnitCreatureId(unitID)
local bossGUID = UnitGUID(unitID)
if cid == 186339 then--Terra
timerSpiritLeapCD:Start(6-delay, 1, bossGUID)
timerGaleArrowCD:Start(21.5-delay, 1, bossGUID)
timerRepelCD:Start(50-delay, 1, bossGUID)
timerSpiritLeapCD:Start(5-delay, 1, bossGUID)
timerGaleArrowCD:Start(20.5-delay, 1, bossGUID)
timerRepelCD:Start(49-delay, 1, bossGUID)
else--Maruuk
timerFrightfulRoarCD:Start(4.5-delay, 1, bossGUID)
timerBrutalizeCD:Start(13.5-delay, 1, bossGUID)
Expand Down Expand Up @@ -152,7 +152,7 @@ function mod:SPELL_CAST_START(args)
elseif self.vb.leapCount % 3 == 1 then--1, 4, 7, etc
timer = 23.9
else--2, 5, 8, etc
timer = 13.4
timer = 13
end
timerSpiritLeapCD:Start(timer, self.vb.leapCount+1, args.sourceGUID)
elseif spellId == 382836 then
Expand Down
2 changes: 1 addition & 1 deletion DBM-Party-Dragonflight/UldamanLegacyofTyr/Bromach.lua
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ local specWarnQuakingTotem = mod:NewSpecialWarningSwitchCount(369700, "-Hea
local specWarnChainLightning = mod:NewSpecialWarningInterrupt(369675, "HasInterrupt", nil, nil, 1, 2)
local specWarnThunderingSlam = mod:NewSpecialWarningDodgeCount(369703, nil, nil, nil, 2, 2)

local timerCalloftheDeepCD = mod:NewCDCountTimer(27.9, 369605, nil, nil, nil, 1)--28-30
local timerCalloftheDeepCD = mod:NewCDCountTimer(27.4, 369605, nil, nil, nil, 1)--28-30
local timerQuakingTotemCD = mod:NewCDCountTimer(30, 369700, nil, nil, nil, 5)
local timerBloodlustCD = mod:NewCDTimer(30, 369754, nil, nil, nil, 5)
local timerThunderingSlamCD = mod:NewCDCountTimer(18.2, 369703, nil, nil, nil, 3)--18-23
Expand Down
11 changes: 9 additions & 2 deletions DBM-Party-Dragonflight/UldamanLegacyofTyr/TheLostDwarves.lua
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ mod:RegisterCombat("combat")

mod:RegisterEventsInCombat(
"SPELL_CAST_START 369573 369563 369791 369677 375924",
"SPELL_CAST_SUCCESS 369677",
"SPELL_AURA_APPLIED 369602 377825",
"SPELL_PERIODIC_DAMAGE 377825",
"SPELL_PERIODIC_MISSED 377825"
Expand Down Expand Up @@ -51,7 +52,7 @@ local yellRicochetingShield = mod:NewYell(369677)
local specWarnDefensiveBulwark = mod:NewSpecialWarningInterrupt(369602, "HasInterrupt", nil, nil, 1, 2)

local timerRicochetingShieldCD = mod:NewCDTimer(16.9, 369677, nil, nil, nil, 3)
local timerDefensiveBulwarkCD = mod:NewCDTimer(33.8, 369602, nil, nil, nil, 4, nil, DBM_COMMON_L.INTERRUPT_ICON)
local timerDefensiveBulwarkCD = mod:NewCDTimer(32.4, 369602, nil, nil, nil, 4, nil, DBM_COMMON_L.INTERRUPT_ICON)
--Longboat Raid!
mod:AddTimerLine(DBM:EJ_GetSectionInfo(24783))
local timerLongboatRaidCD = mod:NewCDTimer(27.4, 375924, nil, nil, nil, 6)
Expand Down Expand Up @@ -118,7 +119,6 @@ function mod:SPELL_CAST_START(args)
timerSkullcrackerCD:Start(nil, args.sourceGUID)
elseif spellId == 369677 then
self:ScheduleMethod(0.2, "BossTargetScanner", args.sourceGUID, "ShieldTarget", 0.1, 8, true)
timerRicochetingShieldCD:Start(nil, args.sourceGUID)
elseif spellId == 375924 then
local bossUid = DBM:GetUnitIdFromGUID(args.sourceGUID)
local bossPower = UnitPower(bossUid)--If boss power is ever less than 100 when this is cast, they're defeated
Expand Down Expand Up @@ -149,6 +149,13 @@ function mod:SPELL_CAST_START(args)
end
end

function mod:SPELL_CAST_SUCCESS(args)
if args.spellId == 369677 then
--Doesn't go on CD unless cast finishes, if boss is kited around or LOSed he recasts it on someone else
timerRicochetingShieldCD:Start(12.9, args.sourceGUID)--16.9 - 4
end
end

function mod:SPELL_AURA_APPLIED(args)
local spellId = args.spellId
if spellId == 369602 then
Expand Down

0 comments on commit 0c97a5f

Please sign in to comment.