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.
131 lines
4.0 KiB
131 lines
4.0 KiB
local mod = DBM:NewMod(1770, "DBM-BrokenIsles", 1, 822)
|
|
local L = mod:GetLocalizedStrings()
|
|
|
|
mod:SetRevision("20220116041824")
|
|
mod:SetCreatureID(108879)
|
|
mod:SetEncounterID(1917)
|
|
mod:SetReCombatTime(20)
|
|
mod:EnableWBEngageSync()--Enable syncing engage in outdoors
|
|
|
|
mod:RegisterCombat("combat")
|
|
|
|
mod:RegisterEventsInCombat(
|
|
"SPELL_CAST_START 216428 216430 216432",
|
|
"SPELL_CAST_SUCCESS 216817",
|
|
"SPELL_AURA_APPLIED 216467 216817",
|
|
"SPELL_AURA_REMOVED 216817"
|
|
)
|
|
|
|
--TODO, evaluate severity of some warnings and promote/demote between warn/specwarn as needed
|
|
local warnIceFist = mod:NewTargetAnnounce(216432, 3)
|
|
local warnSnow = mod:NewSpellAnnounce(216467, 3)
|
|
local warnFireBoom = mod:NewTargetAnnounce(216428, 2)
|
|
|
|
local specWarnFireBoom = mod:NewSpecialWarningMoveAway(216428, nil, nil, nil, 1, 2)
|
|
local specWarnFireBoomNear = mod:NewSpecialWarningClose(216428, nil, nil, nil, 1, 2)
|
|
local specWarnIceFist = mod:NewSpecialWarningMoveAway(216432, nil, nil, nil, 1, 2)
|
|
local specWarnStomp = mod:NewSpecialWarningSpell(216430, nil, nil, nil, 2, 2)
|
|
local specWarnGoBangYou = mod:NewSpecialWarningMoveAway(216817, nil, nil, nil, 3, 2)
|
|
local specWarnGoBangSwap = mod:NewSpecialWarningTaunt(216817, nil, nil, nil, 1, 2)
|
|
|
|
local timerFireBoomCD = mod:NewCDTimer(14, 216428, nil, nil, nil, 3)
|
|
local timerStompCD = mod:NewCDTimer(28.8, 216430, nil, nil, nil, 2)--28-37
|
|
local timerIceFistCD = mod:NewCDTimer(29, 216432, nil, nil, nil, 2)--29-37
|
|
local timerSnowCD = mod:NewCDTimer(35, 216467, nil, nil, nil, 2)
|
|
local timerGoBangCD = mod:NewCDTimer(24.4, 216817, nil, "Tank", nil, 5, nil, DBM_COMMON_L.TANK_ICON)
|
|
local timerGoBangStarts = mod:NewTargetTimer(12, 216817, nil, "Tank", nil, 5, nil, DBM_COMMON_L.TANK_ICON)
|
|
|
|
--mod:AddReadyCheckOption(37460, false)
|
|
mod:AddRangeFrameOption(8, 216432)
|
|
|
|
function mod:BoomTarget(targetname, uId)
|
|
if not targetname then return end
|
|
if targetname == UnitName("player") then
|
|
specWarnFireBoom:Show()
|
|
specWarnFireBoom:Play("runout")
|
|
elseif self:CheckNearby(10, targetname) then
|
|
specWarnFireBoomNear:Show(targetname)
|
|
specWarnFireBoomNear:Play("watchstep")
|
|
else
|
|
warnFireBoom:Show(targetname)
|
|
end
|
|
end
|
|
|
|
function mod:IceFists(targetname, uId)
|
|
if not targetname then return end
|
|
if targetname == UnitName("player") then
|
|
specWarnIceFist:Show()
|
|
specWarnIceFist:Play("runout")
|
|
else
|
|
warnIceFist:Show(targetname)
|
|
end
|
|
end
|
|
|
|
function mod:OnCombatStart(delay, yellTriggered)
|
|
if yellTriggered then
|
|
|
|
end
|
|
if self.Options.RangeFrame then
|
|
DBM.RangeCheck:Show(8)
|
|
end
|
|
end
|
|
|
|
function mod:OnCombatEnd()
|
|
if self.Options.RangeFrame then
|
|
DBM.RangeCheck:Hide()
|
|
end
|
|
end
|
|
|
|
function mod:SPELL_CAST_START(args)
|
|
local spellId = args.spellId
|
|
if spellId == 216428 then
|
|
timerFireBoomCD:Start()
|
|
self:BossTargetScanner(args.sourceGUID, "BoomTarget", 0.1, 14, nil, nil, nil, nil, true)
|
|
elseif spellId == 216430 then
|
|
specWarnStomp:Show()
|
|
specWarnStomp:Play("carefly")
|
|
timerStompCD:Start()
|
|
elseif spellId == 216432 then
|
|
self:BossTargetScanner(args.sourceGUID, "IceFists", 0.1, 9, nil, nil, nil, nil, true)
|
|
timerIceFistCD:Start()
|
|
end
|
|
end
|
|
|
|
function mod:SPELL_CAST_SUCCESS(args)
|
|
local spellId = args.spellId
|
|
if spellId == 216817 then
|
|
timerGoBangCD:Start()
|
|
end
|
|
end
|
|
|
|
function mod:SPELL_AURA_APPLIED(args)
|
|
local spellId = args.spellId
|
|
if spellId == 216467 then
|
|
warnSnow:Show()
|
|
timerSnowCD:Start()
|
|
elseif spellId == 216817 then
|
|
timerGoBangStarts:Start(args.destName)
|
|
if args:IsPlayer() then
|
|
specWarnGoBangYou:Show()
|
|
specWarnGoBangYou:Play("runout")
|
|
if self.Options.RangeFrame then
|
|
DBM.RangeCheck:Show(25)
|
|
end
|
|
else
|
|
specWarnGoBangSwap:Show(args.destName)
|
|
specWarnGoBangSwap:Play("tauntboss")
|
|
end
|
|
end
|
|
end
|
|
|
|
function mod:SPELL_AURA_REMOVED(args)
|
|
local spellId = args.spellId
|
|
if spellId == 216817 then
|
|
timerGoBangStarts:Stop(args.destName)
|
|
if args:IsPlayer() then
|
|
if self.Options.RangeFrame then
|
|
DBM.RangeCheck:Show(8)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|