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.

115 lines
4.1 KiB

local mod = DBM:NewMod(2360, "DBM-Party-BfA", 11, 1178)
local L = mod:GetLocalizedStrings()
mod:SetRevision("20221016002954")
mod:SetCreatureID(153755, 150712)
mod:SetEncounterID(2312)
mod:SetBossHPInfoToHighest()
mod:RegisterCombat("combat")
mod:RegisterEventsInCombat(
"SPELL_CAST_START 298669 302682 298897 298940 298651 298571 298946 299164",--298898
"UNIT_DIED"
)
--Still unsure how timer behavior, there may be a shared special timer but what special that gets used is random.
--Trixie "The Tech" Tazer
--[[
(ability.id = 298669 or ability.id = 302682 or ability.id = 298897 or ability.id = 298940 or ability.id = 298946 or ability.id = 298651 or ability.id = 299164 or ability.id = 298571 or ability.id = 298898) and type = "begincast"
--]]
--Trixie
mod:AddTimerLine(DBM:EJ_GetSectionInfo(20200))
local warnMegaTaze = mod:NewTargetNoFilterAnnounce(302682, 3)
local warnJumpStart = mod:NewSpellAnnounce(298897, 3)
local specWarnTaze = mod:NewSpecialWarningInterrupt(298669, false, nil, 2, 1, 2)
local specWarnMegaTaze = mod:NewSpecialWarningMoveTo(302682, nil, nil, nil, 3, 2)
local yellMegaTaze = mod:NewYell(302682)
local timerMegaTazeCD = mod:NewCDTimer(40.1, 302682, nil, nil, nil, 3, nil, DBM_COMMON_L.DEADLY_ICON)
--Naeno Megacrash
mod:AddTimerLine(DBM:EJ_GetSectionInfo(20203))
local warnRoadkill = mod:NewSpellAnnounce(298946, 3)
local warnBurnout = mod:NewSpellAnnounce(298571, 3)
local specWarnBoltBuster = mod:NewSpecialWarningDodge(298940, "Tank", nil, nil, 1, 2)
local specWarnPedaltotheMetal = mod:NewSpecialWarningDodge(298651, nil, nil, nil, 2, 2)
local timerRoadKillCD = mod:NewCDTimer(27, 298946, nil, nil, nil, 3)
local timerBoltBusterCD = mod:NewCDTimer(18.2, 298940, nil, "Tank", nil, 5, nil, DBM_COMMON_L.TANK_ICON)
--local timerPedaltotheMetalCD = mod:NewCDTimer(60, 298651, nil, nil, nil, 3)
mod.vb.MetalCast = 0
local SmokeBombName = DBM:GetSpellInfo(298573)
function mod:MegaTazeTarget(targetname)
if not targetname then return end
if self:AntiSpam(4, targetname) then--Antispam to lock out redundant later warning from firing if this one succeeds
if targetname == UnitName("player") then
specWarnMegaTaze:Show(SmokeBombName)
specWarnMegaTaze:Play("findshelter")
yellMegaTaze:Yell()
else
warnMegaTaze:Show(targetname)
end
end
end
function mod:OnCombatStart(delay)
self.vb.MetalCast = 0
-- timerPedaltotheMetalCD:Start(4.4)
timerMegaTazeCD:Start(25.5-delay)
timerBoltBusterCD:Start(36.4-delay)
timerRoadKillCD:Start(31.6-delay)
end
function mod:SPELL_CAST_START(args)
local spellId = args.spellId
if spellId == 298669 then
if self:CheckInterruptFilter(args.sourceGUID, false, true) then
specWarnTaze:Show(args.sourceName)
specWarnTaze:Play("kickcast")
end
elseif spellId == 302682 then
--25.5, 40.1
timerMegaTazeCD:Start()
self:ScheduleMethod(0.2, "BossTargetScanner", args.sourceGUID, "MegaTazeTarget", 0.1, 12, true, nil, nil, nil, true)
elseif spellId == 298897 then
warnJumpStart:Show()
elseif spellId == 298940 then
specWarnBoltBuster:Show()
specWarnBoltBuster:Play("shockwave")
--36.4, 18.2"
timerBoltBusterCD:Start()
elseif spellId == 298946 then
warnRoadkill:Show()
--31.6, 27.0, 33.6
elseif spellId == 298651 or spellId == 299164 then
self.vb.MetalCast = self.vb.MetalCast + 1
specWarnPedaltotheMetal:Show()
specWarnPedaltotheMetal:Play("chargemove")
--"Pedal to the Metal-298651-npc:153756 = pull:14.8, 60.7", -- [36]
--"Pedal to the Metal-299164-npc:153756 = pull:4.4, 61.5", -- [37]
-- if self.vb.MetalCast % 2 == 0 then
-- timerPedaltotheMetalCD:Start(50)--51.1, but small sample so 50 used
-- else
-- timerPedaltotheMetalCD:Start(9.6)
-- end
elseif spellId == 298571 then
warnBurnout:Show()
end
end
--https://www.wowhead.com/npc=153756/mechacycle#abilities
function mod:UNIT_DIED(args)
local cid = self:GetCIDFromGUID(args.destGUID)
if cid == 153755 then--Naeno
-- timerPedaltotheMetalCD:Stop()
timerRoadKillCD:Stop()
timerBoltBusterCD:Stop()
elseif cid == 150712 then--Trixie
timerMegaTazeCD:Stop()
end
end