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.

74 lines
2.5 KiB

local mod = DBM:NewMod(2348, "DBM-Party-BfA", 11, 1178)
local L = mod:GetLocalizedStrings()
mod:SetRevision("20220920232426")
mod:SetCreatureID(144248)--Head Mechinist Sparkflux
mod:SetEncounterID(2259)
mod:RegisterCombat("combat")
mod:RegisterEventsInCombat(
"SPELL_CAST_START 285440",
"SPELL_CAST_SUCCESS 285454 294853 292332",
"SPELL_AURA_APPLIED 285460"
)
--TODO, can bomb be target scanned?
--TODO, do more with plants and oil and stuff?
--TODO, if plant warning works, localize it to something more friendly
--TODO, add Blossom Blast if it's not spammy
--[[
ability.id = 285440 and type = "begincast"
or (ability.id = 285454 or ability.id = 294855 or ability.id = 294853 or ability.id = 292332) and type = "cast"
--]]
local warnDiscomBomb = mod:NewSpellAnnounce(285454, 2)
local warnSelfTrimmingHedge = mod:NewSpellAnnounce(294954, 2)
local warnPlant = mod:NewSpellAnnounce(294853, 2)
local specWarnFlameCannon = mod:NewSpecialWarningSpell(285440, nil, nil, nil, 2, 2)
local specWarnDiscomBomb = mod:NewSpecialWarningDispel(285454, "RemoveMagic", nil, nil, 2, 2)
--local specWarnGTFO = mod:NewSpecialWarningGTFO(238028, nil, nil, nil, 1, 8)
local timerDiscomBombCD = mod:NewNextTimer(18.2, 285454, nil, nil, nil, 3)
local timerFlameCannonCD = mod:NewCDTimer(47.4, 285440, nil, nil, nil, 2)
local timerSelfTrimmingHedgeCD = mod:NewCDTimer(25.5, 294954, nil, nil, nil, 3)
local timerPlantCD = mod:NewCDTimer(45.4, 294853, nil, nil, nil, 1)
function mod:OnCombatStart(delay)
timerSelfTrimmingHedgeCD:Start(3.4-delay)
timerPlantCD:Start(5.9-delay)
timerDiscomBombCD:Start(8.3-delay)
timerFlameCannonCD:Start(12.1-delay)
end
function mod:SPELL_CAST_START(args)
local spellId = args.spellId
if spellId == 285440 then
specWarnFlameCannon:Show()
specWarnFlameCannon:Play("aesoon")
timerFlameCannonCD:Start()
end
end
function mod:SPELL_CAST_SUCCESS(args)
local spellId = args.spellId
if spellId == 285454 then
warnDiscomBomb:Show()
timerDiscomBombCD:Start()
elseif spellId == 294853 then--Activate Plant
warnPlant:Show()
timerPlantCD:Start()
elseif spellId == 292332 then--Self-Trimming Hedge
warnSelfTrimmingHedge:Show()
timerSelfTrimmingHedgeCD:Start()
end
end
function mod:SPELL_AURA_APPLIED(args)
local spellId = args.spellId
if spellId == 285460 and self:CheckDispelFilter("magic") then
specWarnDiscomBomb:Show(args.destName)
specWarnDiscomBomb:Play("helpdispel")
end
end