Skip to content

Commit

Permalink
Cinderbrew Meadery update
Browse files Browse the repository at this point in the history
 - All mods have timers and alerts now
 - All events vetted
 - About half timers done, but gonna need to do a 1-2 man run later to get pulls long enough to finish them
  • Loading branch information
MysticalOS committed Apr 21, 2024
1 parent 1237626 commit f23f4e8
Show file tree
Hide file tree
Showing 4 changed files with 249 additions and 104 deletions.
146 changes: 109 additions & 37 deletions DBM-Party-WarWithin/CinderbrewMeadery/BenkBuzzbee.lua
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ local L = mod:GetLocalizedStrings()
mod:SetRevision("@file-date-integer@")
mod:SetCreatureID(218000)
mod:SetEncounterID(2931)
mod:SetUsedIcons(8, 7, 6)
--mod:SetHotfixNoticeRev(20220322000000)
--mod:SetMinSyncRevision(20211203000000)
--mod.respawnTime = 29
Expand All @@ -12,79 +13,150 @@ mod.sendMainBossGUID = true
mod:RegisterCombat("combat")

mod:RegisterEventsInCombat(
-- "SPELL_CAST_START",
-- "SPELL_CAST_SUCCESS",
-- "SPELL_AURA_APPLIED",
-- "SPELL_AURA_REMOVED"
-- "SPELL_PERIODIC_DAMAGE",
-- "SPELL_PERIODIC_MISSED"
"SPELL_CAST_START 438025 438971 441410 440134 439524",
"SPELL_SUMMON 438665",
"SPELL_AURA_APPLIED 440134 443983",
"SPELL_AURA_REMOVED 440134 443983",
"SPELL_PERIODIC_DAMAGE 440141",
"SPELL_PERIODIC_MISSED 440141",
"UNIT_DIED"
-- "UNIT_SPELLCAST_SUCCEEDED boss1"
)

--local warnSomeAbility = mod:NewSpellAnnounce(373087, 3)

--local specWarnSomeAbility = mod:NewSpecialWarningDefensive(372858, nil, nil, nil, 1, 2)
--local yellSomeAbility = mod:NewYell(372107)
--local specWarnGTFO = mod:NewSpecialWarningGTFO(372820, nil, nil, nil, 1, 8)
--TODO, UNIT_DIED doesnt actually fire for bees and neither does Bee-Haw!, we're gonna need a UNIT_SPELLCAST event probably
--[[
(ability.id = 438025 or ability.id = 441410 or ability.id = 440134 or ability.id = 439524) and type = "begincast"
or (ability.id = 438665 or ability.id = 438651) and type = "summon"
or target.id = 218016 and type = "death"
or type = "dungeonencounterstart" or type = "dungeonencounterend"
or ability.id = 438971 and type = "begincast"
or (source.type = "NPC" and source.firstSeen = timestamp) or (target.type = "NPC" and target.firstSeen = timestamp)
--]]
local warnSnackTime = mod:NewCountAnnounce(438025, 3)
local warnHoneymarinade = mod:NewTargetAnnounce(438025, 2)

--local timerSomeAbilityCD = mod:NewAITimer(33.9, 372863, nil, nil, nil, 3)
local specWarnHoneyMarinade = mod:NewSpecialWarningMoveAway(438025, nil, nil, nil, 1, 2)
local specWarnHoneyGorged = mod:NewSpecialWarningMove(443983, nil, nil, nil, 1, 2, 4)
local yellHoneyMarinade = mod:NewShortYell(438025)
local yellHoneyMarinadeFades = mod:NewShortFadesYell(438025)
local specWarnFlutteringWing = mod:NewSpecialWarningCount(439524, nil, nil, nil, 1, 13)
local specWarnGTFO = mod:NewSpecialWarningGTFO(440141, nil, nil, nil, 1, 8)

--local castsPerGUID = {}
local timerSnackTimeCD = mod:NewAITimer(33, 438025, nil, nil, nil, 3)--33
local timerShreddingStingCD = mod:NewCDNPTimer(6, 438971, nil, nil, nil, 3, nil, DBM_COMMON_L.BLEED_ICON)--6-7.2 confirmed on normal
local timerHoneyMarinadeCD = mod:NewCDCountTimer(16, 438025, nil, "Tank|Healer", nil, 5, nil, DBM_COMMON_L.TANK_ICON)
local timerFlutteringWingCD = mod:NewAITimer(33.9, 439524, nil, nil, nil, 2)

mod:AddNamePlateOption("NPOnHoney", 443983)
mod:AddSetIconOption("SetIconOnBees", 438025, true, 5, {8, 7, 6})

--function mod:OnCombatStart(delay)

--end
--local castsPerGUID = {}

--function mod:OnCombatEnd()
mod.vb.snackCount = 0
mod.vb.honeyCount = 0
mod.vb.fluteringCount = 0
mod.vb.addIcon = 8

function mod:OnCombatStart(delay)
self.vb.snackCount = 0
self.vb.honeyCount = 0
self.vb.fluteringCount = 0
timerSnackTimeCD:Start(1)--3
timerHoneyMarinadeCD:Start(10, 1)
timerFlutteringWingCD:Start(1)--22
if self.Options.NPOnHoney then
DBM:FireEvent("BossMod_EnableHostileNameplates")
end
end

--end
function mod:OnCombatEnd()
if self.Options.NPOnHoney then
DBM.Nameplate:Hide(true, nil, nil, nil, true, true)
end
end

--[[
function mod:SPELL_CAST_START(args)
local spellId = args.spellId
if spellId == 372107 then
if spellId == 438025 then
self.vb.snackCount = self.vb.snackCount + 1
self.vb.addIcon = 8
warnSnackTime:Show(self.vb.snackCount)
timerSnackTimeCD:Start()
elseif spellId == 438971 or spellId == 441410 then--438971 confirmed on normal, 441410 unknown
timerShreddingStingCD:Start(nil, args.sourceGUID)
elseif spellId == 440134 then
self.vb.honeyCount = self.vb.honeyCount + 1
timerHoneyMarinadeCD:Start(nil, self.vb.honeyCount+1)
elseif spellId == 439524 then
self.vb.fluteringCount = self.vb.fluteringCount + 1
specWarnFlutteringWing:Show(self.vb.fluteringCount)
specWarnFlutteringWing:Play("pushbackincoming")
timerFlutteringWingCD:Start()
end
end
--]]

--[[
function mod:SPELL_CAST_SUCCESS(args)
function mod:SPELL_SUMMON(args)
local spellId = args.spellId
if spellId == 372858 then
if spellId == 438665 then
if self.Options.SetIconOnBees then
self:ScanForMobs(args.destGUID, 2, self.vb.addIcon, 1, nil, 12, "SetIconOnBees")
end
self.vb.addIcon = self.vb.addIcon - 1
timerShreddingStingCD:Start(4, args.destGUID)
end
end
--]]

--[[
function mod:SPELL_AURA_APPLIED(args)
local spellId = args.spellId
if spellId == 372858 then
if spellId == 440134 then
if args:IsPlayer() then
specWarnHoneyMarinade:Show()
specWarnHoneyMarinade:Play("scatter")
yellHoneyMarinade:Yell()
yellHoneyMarinadeFades:Countdown(spellId)
else
warnHoneymarinade:Show(args.destName)
end
elseif spellId == 443983 then
if self:IsTanking("player", "boss1", nil, true) then
--If tanking boss, you're the tank, you have to move the add
specWarnHoneyGorged:Show()
specWarnHoneyGorged:Play("moveboss")
end
if self.Options.NPOnHoney then
DBM.Nameplate:Show(true, args.destGUID, spellId)
end
end
end
--mod.SPELL_AURA_APPLIED_DOSE = mod.SPELL_AURA_APPLIED
--]]

--[[
function mod:SPELL_AURA_REMOVED(args)
local spellId = args.spellId
if spellId == 440134 then
if args:IsPlayer() then
yellHoneyMarinadeFades:Cancel()
end
elseif spellId == 443983 then
if self.Options.NPOnHoney then
DBM.Nameplate:Hide(true, args.destGUID, spellId)
end
end
end

function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId, spellName)
if spellId == 372820 and destGUID == UnitGUID("player") and self:AntiSpam(3, 2) then
if spellId == 440141 and destGUID == UnitGUID("player") and self:AntiSpam(3, 2) then
specWarnGTFO:Show(spellName)
specWarnGTFO:Play("watchfeet")
end
end
mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE
--]]

--[[
function mod:UNIT_DIED(args)
local cid = self:GetCIDFromGUID(args.destGUID)
if cid == 193435 then
if cid == 218016 then--Ravenous Cinderbee
timerShreddingStingCD:Stop(args.destGUID)
end
end
--]]

--[[
function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, spellId)
Expand Down
24 changes: 14 additions & 10 deletions DBM-Party-WarWithin/CinderbrewMeadery/BrewMasterAldryr.lua
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,12 @@ mod:RegisterEventsInCombat(

--TODO, or use 442611 removed (Disregard) if happy hour removed doesn't work
--TODO, upgrade brawl to higher prio warning?, assuming detection even valid
--TODO, verify nameplate aura for thirsty/Rowdy patrons, cause if they aren't hostile it won't work (in which case switch to auto marking probably)
--TODO, reset counts on happy hour?
--[[
(ability.id = 442525 or ability.id = 432198 or ability.id = 432179 or ability.id = 432229) and type = "begincast"
or ability.id = 442525
or type = "dungeonencounterstart" or type = "dungeonencounterend"
--]]
local warnHappyHour = mod:NewSpellAnnounce(442525, 3)
local warnHappyHourOver = mod:NewEndAnnounce(442525, 2)
local warnThrowCinderbrew = mod:NewSpellAnnounce(432179, 2)
Expand All @@ -38,7 +42,7 @@ local specWarnGTFO = mod:NewSpecialWarningGTFO(432182, nil, nil, nil, 1, 8
local timerHappyHourCD = mod:NewAITimer(33.9, 442525, nil, nil, nil, 6)
local timerBlazingBelchCD = mod:NewAITimer(33.9, 432198, nil, nil, nil, 3)
local timerThrowCinderbrewCD = mod:NewAITimer(33.9, 432179, nil, nil, nil, 3)
local timerKegSmashCD = mod:NewAITimer(33.9, 432229, nil, "Tank|Healer", nil, 5, nil, DBM_COMMON_L.TANK_ICON)
local timerKegSmashCD = mod:NewAITimer(33.9, 432229, nil, "Tank|Healer", nil, 5, nil, DBM_COMMON_L.TANK_ICON)--13.7

mod:AddNamePlateOption("NPAuraOnThirsty", 431896)

Expand All @@ -52,10 +56,10 @@ function mod:OnCombatStart(delay)
self.vb.belchCount = 0
self.vb.cinderbrewCount = 0
self.vb.kegCount = 0
timerBlazingBelchCD:Start(1)
timerHappyHourCD:Start(1)
timerThrowCinderbrewCD:Start(1)
timerKegSmashCD:Start(1)
timerKegSmashCD:Start(1)--5.8
timerThrowCinderbrewCD:Start(1)--11
timerBlazingBelchCD:Start(1)--14.7
timerHappyHourCD:Start(1)--26.8
if self.Options.NPAuraOnThirsty then
DBM:FireEvent("BossMod_EnableHostileNameplates")
end
Expand Down Expand Up @@ -119,12 +123,12 @@ function mod:SPELL_AURA_REMOVED(args)
warnHappyHourOver:Show()
if self:IsMythic() then
specWarnBrawl:Show()
specWarnBrawl:Play("watcstep")
specWarnBrawl:Play("watchstep")
end
timerHappyHourCD:Start(2)
timerBlazingBelchCD:Start(2)
timerKegSmashCD:Start(2)--8.6
timerThrowCinderbrewCD:Start(2)
timerKegSmashCD:Start(2)
timerBlazingBelchCD:Start(2)
timerHappyHourCD:Start(2)
elseif spellId == 431896 then
if self.Options.NPAuraOnThirsty then
DBM.Nameplate:Hide(true, args.destGUID, spellId)
Expand Down
60 changes: 39 additions & 21 deletions DBM-Party-WarWithin/CinderbrewMeadery/GoldieBaronbottom.lua
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,9 @@ mod.sendMainBossGUID = true
mod:RegisterCombat("combat")

mod:RegisterEventsInCombat(
"SPELL_CAST_START 435622 435560 436592",
"SPELL_CAST_SUCCESS 436644",
"SPELL_CAST_START 435622 435560 436592 436637",
"SPELL_CAST_SUCCESS 435797",
"SPELL_SUMMON 439517",
"SPELL_AURA_APPLIED 435789 436644",
-- "SPELL_AURA_APPLIED_DOSE 435789",
"SPELL_AURA_REMOVED 435789 436644"
Expand All @@ -23,14 +24,16 @@ mod:RegisterEventsInCombat(
-- "UNIT_SPELLCAST_SUCCEEDED boss1"
)

--TODO, track number of remaining bombs and cahnge emphasis of Hail if more than a couple?
--TODO, warn cinderboom going off, but which ID, there are 4 of them, and it might not even be CLEU
--TODO, right event for spread the love timer/announce
--TODO, can bombs be auto marked with https://www.wowhead.com/beta/spell=435567/spread-the-love and https://www.wowhead.com/beta/spell=439517/spread-the-love
--TODO, do timers reset on Hail?
--TODO, can tank sidestep frontal?
local warnSpreadtheLove = mod:NewCountAnnounce(435560, 3)--Maybe change to bomb count not spread count, or show both
--TODO, longer pulls for let it hail and spread the love timer vetting
--[[
(ability.id = 435622 or ability.id = 435560 or ability.id = 436592 or ability.id = 436637) and type = "begincast"
or type = "dungeonencounterstart" or type = "dungeonencounterend"
or ability.id = 439517 and type = "summon" or ability.id = 435797 and type = "cast"
--]]
local warnSpreadtheLove = mod:NewCountAnnounce(435560, 3)
local warnBurningRicochet = mod:NewTargetNoFilterAnnounce(436644, 4)
local cinderboom = mod:NewSpellAnnounce(435797, 4)

local specWarnLetItHail = mod:NewSpecialWarningCount(435622, nil, nil, nil, 2, 2)
local specWarnBurningRicochet = mod:NewSpecialWarningYouPos(436644, nil, nil, nil, 1, 2)
Expand All @@ -41,12 +44,13 @@ local specWarnCashCannon = mod:NewSpecialWarningCount(436592, nil, nil, nil,

local timerLetItHailCD = mod:NewAITimer(33.9, 435622, nil, nil, nil, 2)
local timerCinderWounds = mod:NewBuffFadesTimer(33.9, 435789, nil, nil, nil, 5, nil, DBM_COMMON_L.MAGIC_ICON)
local timerSpreadtheLoveCD = mod:NewAITimer(33.9, 435560, nil, nil, nil, 5)
local timerBurningRicochetCD = mod:NewAITimer(33.9, 436644, nil, nil, nil, 3)
local timerCashCannonCD = mod:NewAITimer(33.9, 436592, nil, nil, nil, 5, nil, DBM_COMMON_L.TANK_ICON)
local timerSpreadtheLoveCD = mod:NewAITimer(49.6, 435560, nil, nil, nil, 5)
local timerBurningRicochetCD = mod:NewCDCountTimer(13.3, 436644, nil, nil, nil, 3)
local timerCashCannonCD = mod:NewCDCountTimer(13.3, 436592, nil, nil, nil, 5, nil, DBM_COMMON_L.TANK_ICON)

mod:AddSetIconOption("SetIconOnRico", 436644, true, false, {1, 2})

mod.vb.bombsRemaining = 0
mod.vb.hailCount = 0
mod.vb.debuffsTracked = 0
mod.vb.spreadCount = 0
Expand All @@ -55,16 +59,17 @@ mod.vb.DebuffIcon = 1
mod.vb.cannonCount = 0

function mod:OnCombatStart(delay)
self.vb.bombsRemaining = 0
self.vb.hailCount = 0
self.vb.debuffsTracked = 0
self.vb.spreadCount = 0
self.vb.ricochetCount = 0
self.vb.DebuffIcon = 1
self.vb.cannonCount = 0
timerLetItHailCD:Start(1)
timerSpreadtheLoveCD:Start(1)
timerBurningRicochetCD:Start(1)
timerCashCannonCD:Start(1)
-- timerSpreadtheLoveCD:Start(1)--Instantly on Pull
timerCashCannonCD:Start(4.8, 1)
timerBurningRicochetCD:Start(13.3, 1)
timerLetItHailCD:Start(1)--35
end

--function mod:OnCombatEnd()
Expand All @@ -77,6 +82,9 @@ function mod:SPELL_CAST_START(args)
self.vb.hailCount = self.vb.hailCount + 1
specWarnLetItHail:Show(self.vb.hailCount)
specWarnLetItHail:Play("specialsoon")
if self.vb.bombsRemaining > 3 then--At least 4 bombs still up, should also emphasize many waves
specWarnLetItHail:ScheduleVoice(2, "watchwave")
end
timerLetItHailCD:Start()
elseif spellId == 435560 then
self.vb.spreadCount = self.vb.spreadCount + 1
Expand All @@ -88,19 +96,29 @@ function mod:SPELL_CAST_START(args)
specWarnCashCannon:Show()
specWarnCashCannon:Play("carefly")
end
timerCashCannonCD:Start()
timerCashCannonCD:Start(nil, self.vb.cannonCount+1)
elseif spellId == 436637 then
self.vb.DebuffIcon = 1
self.vb.ricochetCount = self.vb.ricochetCount + 1
timerBurningRicochetCD:Start(nil, self.vb.ricochetCount+1)
end
end

function mod:SPELL_CAST_SUCCESS(args)
local spellId = args.spellId
if spellId == 436644 and self:AntiSpam(3, 1) then
self.vb.DebuffIcon = 1
self.vb.ricochetCount = self.vb.ricochetCount + 1
timerBurningRicochetCD:Start()
if spellId == 435797 then
self.vb.bombsRemaining = self.vb.bombsRemaining - 1
if self:AntiSpam(5, 2) then
cinderboom:Show()
end
end
end

function mod:SPELL_SUMMON(args)
if args.spellId == 439517 then
self.vb.bombsRemaining = self.vb.bombsRemaining + 1
end
end

function mod:SPELL_AURA_APPLIED(args)
local spellId = args.spellId
Expand Down Expand Up @@ -141,7 +159,7 @@ end

--[[
function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId, spellName)
if spellId == 372820 and destGUID == UnitGUID("player") and self:AntiSpam(3, 2) then
if spellId == 372820 and destGUID == UnitGUID("player") and self:AntiSpam(3, 3) then
specWarnGTFO:Show(spellName)
specWarnGTFO:Play("watchfeet")
end
Expand Down
Loading

0 comments on commit f23f4e8

Please sign in to comment.