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.

116 lines
3.8 KiB

local mod = DBM:NewMod(2154, "DBM-Party-BfA", 4, 1036)
local L = mod:GetLocalizedStrings()
mod:SetRevision("20240417180519")
mod:SetCreatureID(134063, 134058)
mod:SetEncounterID(2131)
mod:SetBossHPInfoToHighest()
mod:RegisterCombat("combat")
mod:RegisterEventsInCombat(
"SPELL_AURA_APPLIED 267830",
"SPELL_AURA_REMOVED 267830",
"SPELL_CAST_START 267818 267905 267891 267899",
"SPELL_CAST_SUCCESS 267901",
"UNIT_DIED"
)
--Galecaller Faye
mod:AddTimerLine(DBM:EJ_GetSectionInfo(17970))
local warnBlessingofTempest = mod:NewTargetNoFilterAnnounce(267830, 4)
local specWarnSwiftnessWardT = mod:NewSpecialWarningMove(267891, nil, nil, nil, 1, 2)
local specWarnSwiftnessWard = mod:NewSpecialWarningMoveTo(267891, nil, nil, nil, 1, 2)
local specWarnSlicingBlast = mod:NewSpecialWarningInterrupt(267818, "HasInterrupt", nil, 4, 1, 2)
local timerSwiftnessWardCD = mod:NewCDTimer(36.4, 267891, nil, nil, nil, 5)--More data needed
--Brother Ironhull
mod:AddTimerLine(DBM:EJ_GetSectionInfo(18154))
local specWarnReinforcingWardT = mod:NewSpecialWarningMove(267905, nil, nil, nil, 1, 2)
local specWarnReinforcingWard = mod:NewSpecialWarningMoveTo(267905, nil, nil, nil, 1, 2)
local specWarnBlessingofIronsides = mod:NewSpecialWarningRun(267901, "Tank", nil, 2, 4, 2)
local specWarnHinderingCleave = mod:NewSpecialWarningDefensive(267899, nil, nil, nil, 1, 2)
local timerReinforcingWardCD = mod:NewCDTimer(30.2, 267905, nil, nil, nil, 5, nil, DBM_COMMON_L.IMPORTANT_ICON)
local timerBlessingofIronsidesCD = mod:NewCDTimer(32.4, 267901, nil, "Tank", nil, 5, nil, DBM_COMMON_L.TANK_ICON)
local timerHinderingCleaveCD = mod:NewCDTimer(17.6, 267899, nil, nil, nil, 5, nil, DBM_COMMON_L.TANK_ICON)
mod.vb.bossTempest = false
function mod:OnCombatStart(delay)
self.vb.bossTempest = false
if not self:IsNormal() then
timerBlessingofIronsidesCD:Start(5-delay)
end
timerHinderingCleaveCD:Start(5.4-delay)
timerSwiftnessWardCD:Start(10.9-delay)
timerReinforcingWardCD:Start(21.3-delay)--21-30
end
function mod:SPELL_AURA_APPLIED(args)
local spellId = args.spellId
if spellId == 267830 then
self.vb.bossTempest = true
warnBlessingofTempest:Show(args.destName)
end
end
function mod:SPELL_AURA_REMOVED(args)
local spellId = args.spellId
if spellId == 267830 then
self.vb.bossTempest = false
end
end
function mod:SPELL_CAST_START(args)
local spellId = args.spellId
if spellId == 267905 then
timerReinforcingWardCD:Start()
if self:IsTank() then
specWarnReinforcingWardT:Show()
specWarnReinforcingWardT:Play("bossout")
else
specWarnReinforcingWard:Show(args.spellName)
specWarnReinforcingWard:Play("findshield")
end
elseif spellId == 267891 then
timerSwiftnessWardCD:Start()
if self:IsTank() then
specWarnSwiftnessWardT:Show()
specWarnSwiftnessWardT:Play("bossout")
else
specWarnSwiftnessWard:Show(args.spellName)
specWarnSwiftnessWard:Play("findshield")
end
elseif spellId == 267818 and not self.vb.bossTempest and self:CheckInterruptFilter(args.sourceGUID, false, true) then
specWarnSlicingBlast:Show(args.sourceName)
specWarnSlicingBlast:Play("kickcast")
elseif spellId == 267899 then
if self:IsTanking("player", "boss1", nil, true) then
specWarnHinderingCleave:Show()
specWarnHinderingCleave:Play("defensive")
end
timerHinderingCleaveCD:Start()
end
end
function mod:SPELL_CAST_SUCCESS(args)
local spellId = args.spellId
if spellId == 267901 then
specWarnBlessingofIronsides:Show()
specWarnBlessingofIronsides:Play("justrun")
timerBlessingofIronsidesCD:Start()
end
end
function mod:UNIT_DIED(args)
local cid = self:GetCIDFromGUID(args.destGUID)
if cid == 134063 then
timerReinforcingWardCD:Stop()
timerHinderingCleaveCD:Stop()
elseif cid == 134058 then
timerSwiftnessWardCD:Stop()
end
end