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.
159 lines
5.3 KiB
159 lines
5.3 KiB
local mod = DBM:NewMod(1214, "DBM-Party-WoD", 5, 556)
|
|
local L = mod:GetLocalizedStrings()
|
|
local wowToc = DBM:GetTOC()
|
|
|
|
mod.statTypes = "normal,heroic,mythic,challenge,timewalker"
|
|
|
|
if (wowToc >= 100200) then
|
|
mod.upgradedMPlus = true
|
|
mod.sendMainBossGUID = true
|
|
end
|
|
|
|
mod:SetRevision("20240714045506")
|
|
mod:SetCreatureID(81522)
|
|
mod:SetEncounterID(1746)
|
|
mod:SetHotfixNoticeRev(20231020000000)
|
|
--mod:SetMinSyncRevision(20211203000000)
|
|
|
|
mod:RegisterCombat("combat")
|
|
|
|
mod:RegisterEventsInCombat(
|
|
"SPELL_CAST_START 164357",
|
|
-- "SPELL_CAST_SUCCESS 164302",
|
|
"SPELL_SUMMON 164556",
|
|
"SPELL_AURA_APPLIED 164275 164302",
|
|
"SPELL_AURA_REMOVED 164275",
|
|
"UNIT_SPELLCAST_SUCCEEDED boss1"
|
|
-- "CHAT_MSG_MONSTER_EMOTE",
|
|
-- "RAID_BOSS_WHISPER"
|
|
)
|
|
|
|
--[[
|
|
ability.id = 164357 and type = "begincast"
|
|
or ability.id = 164302 and type = "cast"
|
|
or ability.id = 164275 and (type = "applybuff" or type = "removebuff")
|
|
or type = "dungeonencounterstart" or type = "dungeonencounterend"
|
|
or ability.id = 181113 and type = "cast"
|
|
or (source.type = "NPC" and source.firstSeen = timestamp) or (target.type = "NPC" and target.firstSeen = timestamp)
|
|
--]]
|
|
--NOTE: Mod is just using 10.2 values, since fight wasn't reworked i'm not making a hybrid mod for timers that have slight differences
|
|
local warnBrittleBark = mod:NewSpellAnnounce(164275, 1)
|
|
local warnBrittleBarkOver = mod:NewEndAnnounce(164275, 2)
|
|
local warnUncheckedGrowth = mod:NewTargetAnnounce(164294, 2)
|
|
local warnUncheckedGrowthSpawn = mod:NewSpellAnnounce(164556, 3)--Add Spawn
|
|
|
|
local specWarnUncheckedGrowthYou = mod:NewSpecialWarningYou(164294, nil, nil, nil, 1, 2)--The add fixate is on you
|
|
local specWarnUncheckedGrowth = mod:NewSpecialWarningGTFO(164294, nil, nil, nil, 1, 8)--GTFO
|
|
local specWarnUncheckedGrowthAdd = mod:NewSpecialWarningSwitch(164556, false, nil, nil, 1, 2)--Spawn
|
|
local specWarnParchedGrasp = mod:NewSpecialWarningSpell(164357, "Tank", nil, nil, 1, 2)
|
|
|
|
local timerParchedGrasp = mod:NewCDTimer(16, 164357, nil, "Tank", 2, 5, nil, DBM_COMMON_L.TANK_ICON)
|
|
local timerBrittleBarkCD = mod:NewCDTimer(40, 164275, nil, nil, nil, 6)--30 seconds pre 10.2 https://www.warcraftlogs.com/reports/y2cYmZVWKqGkAHbn#fight=last&pins=2%24Off%24%23244F4B%24expression%24ability.id%20%3D%20164275%20or%20ability.id%20%3D%20164556&view=events&translate=true
|
|
local timerUncheckedGrowthCD = mod:NewCDTimer(12, 164294, nil, nil, nil, 3)--LW uses spellid and not joural ID for timer, so we have to match it for WAs
|
|
|
|
--mod:GroupSpells(164294, -10098)--No longer combined since each needs a diff WA key in UI now
|
|
|
|
function mod:OnCombatStart(delay)
|
|
timerUncheckedGrowthCD:Start(6-delay)
|
|
timerParchedGrasp:Start(9.6-delay)
|
|
timerBrittleBarkCD:Start(39.9-delay)
|
|
if not self:IsTrivial() then
|
|
self:RegisterShortTermEvents(
|
|
"SPELL_PERIODIC_DAMAGE 169495 164294",
|
|
"SPELL_PERIODIC_MISSED 169495 164294"
|
|
)
|
|
end
|
|
end
|
|
|
|
function mod:OnCombatEnd()
|
|
self:UnregisterShortTermEvents()
|
|
end
|
|
|
|
function mod:SPELL_CAST_START(args)
|
|
local spellId = args.spellId
|
|
if spellId == 164357 then
|
|
specWarnParchedGrasp:Show()
|
|
specWarnParchedGrasp:Play("breathsoon")
|
|
timerParchedGrasp:Start()
|
|
end
|
|
end
|
|
|
|
--[[
|
|
function mod:SPELL_CAST_SUCCESS(args)
|
|
local spellId = args.spellId
|
|
if spellId == 164302 then
|
|
timerUncheckedGrowthCD:Start()
|
|
end
|
|
end
|
|
--]]
|
|
|
|
function mod:SPELL_SUMMON(args)
|
|
local spellId = args.spellId
|
|
if spellId == 164556 and self:AntiSpam(4, 1) then
|
|
if self.Options.SpecWarn164556switch then
|
|
specWarnUncheckedGrowthAdd:Show()
|
|
specWarnUncheckedGrowthAdd:Play("killmob")
|
|
else
|
|
warnUncheckedGrowthSpawn:Show()
|
|
end
|
|
end
|
|
end
|
|
|
|
function mod:SPELL_AURA_APPLIED(args)
|
|
local spellId = args.spellId
|
|
if spellId == 164275 then
|
|
warnBrittleBark:Show()
|
|
timerParchedGrasp:Cancel()
|
|
if self:IsNormal() then--Heroic and above CD continues without reset
|
|
timerUncheckedGrowthCD:Stop()
|
|
end
|
|
elseif spellId == 164302 then
|
|
if args:IsPlayer() then
|
|
specWarnUncheckedGrowthYou:Show()
|
|
specWarnUncheckedGrowthYou:Play("targetyou")
|
|
else
|
|
warnUncheckedGrowth:Show(args.destName)
|
|
end
|
|
end
|
|
end
|
|
|
|
function mod:SPELL_AURA_REMOVED(args)
|
|
local spellId = args.spellId
|
|
if spellId == 164275 then
|
|
warnBrittleBarkOver:Show()
|
|
timerParchedGrasp:Start(3.6)
|
|
timerBrittleBarkCD:Start(39.9)
|
|
timerUncheckedGrowthCD:Stop()
|
|
timerUncheckedGrowthCD:Start(3.6)--Needs more review to verify
|
|
end
|
|
end
|
|
|
|
function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, destName, _, _, spellId, spellName)
|
|
if (spellId == 169495 or spellId == 164294) and destGUID == UnitGUID("player") and self:AntiSpam(2, 2) then--Deprecated?
|
|
specWarnUncheckedGrowth:Show(spellName)
|
|
specWarnUncheckedGrowth:Play("watchfeet")
|
|
end
|
|
end
|
|
mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE
|
|
|
|
function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, spellId)
|
|
if spellId == 164306 then
|
|
timerUncheckedGrowthCD:Start()
|
|
end
|
|
end
|
|
|
|
--[[
|
|
function mod:CHAT_MSG_MONSTER_EMOTE(msg)--Message doesn't matter, it occurs only for one thing during this fight (assumption may be invalid in rework)
|
|
if self.Options["SpecWarn-10098switch"] then
|
|
specWarnUncheckedGrowthAdd:Show()
|
|
specWarnUncheckedGrowthAdd:Play("killmob")
|
|
else
|
|
warnUncheckedGrowth:Show()
|
|
end
|
|
end
|
|
|
|
function mod:RAID_BOSS_WHISPER()
|
|
specWarnUncheckedGrowthYou:Show()
|
|
specWarnUncheckedGrowthYou:Play("targetyou")
|
|
end
|
|
--]]
|
|
|