You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
167 lines
5.6 KiB
167 lines
5.6 KiB
local mod = DBM:NewMod(2588, "DBM-Party-WarWithin", 7, 1272)
|
|
local L = mod:GetLocalizedStrings()
|
|
|
|
mod:SetRevision("20240421061449")
|
|
mod:SetCreatureID(218000)
|
|
mod:SetEncounterID(2931)
|
|
mod:SetUsedIcons(8, 7, 6)
|
|
--mod:SetHotfixNoticeRev(20220322000000)
|
|
--mod:SetMinSyncRevision(20211203000000)
|
|
--mod.respawnTime = 29
|
|
mod.sendMainBossGUID = true
|
|
|
|
mod:RegisterCombat("combat")
|
|
|
|
mod:RegisterEventsInCombat(
|
|
"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"
|
|
)
|
|
|
|
--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 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 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})
|
|
|
|
--local castsPerGUID = {}
|
|
|
|
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
|
|
|
|
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 == 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_SUMMON(args)
|
|
local spellId = args.spellId
|
|
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 == 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 == 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 == 218016 then--Ravenous Cinderbee
|
|
timerShreddingStingCD:Stop(args.destGUID)
|
|
end
|
|
end
|
|
|
|
--[[
|
|
function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, spellId)
|
|
if spellId == 74859 then
|
|
|
|
end
|
|
end
|
|
--]]
|
|
|