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.

97 lines
3.1 KiB

local mod = DBM:NewMod(126, "DBM-Party-Cataclysm", 4, 70)
local L = mod:GetLocalizedStrings()
mod:SetRevision("20220116042005")
mod:SetCreatureID(39788)
mod:SetEncounterID(1075)
mod:RegisterCombat("combat")
mod:RegisterEvents(
"CHAT_MSG_MONSTER_SAY"
)
mod:RegisterEventsInCombat(
"SPELL_AURA_APPLIED 75603 77336 77235 76956",
"SPELL_AURA_REMOVED 75603",
"SPELL_CAST_START 76184 75622 77241"
)
local warnAlphaBeams = mod:NewSpellAnnounce(76184, 4)
local warnOmegaStance = mod:NewSpellAnnounce(75622, 4)
local warnNemesis = mod:NewTargetNoFilterAnnounce(75603, 3, nil, "Healer", 2)
local warnBubble = mod:NewTargetNoFilterAnnounce(77336, 3)
local warnImpale = mod:NewTargetNoFilterAnnounce(77235, 3)
local warnInferno = mod:NewSpellAnnounce(77241, 3)
local specWarnAlphaBeams = mod:NewSpecialWarningMove(76956, nil, nil, nil, 1, 8)
local timerAlphaBeams = mod:NewBuffActiveTimer(16, 76184, nil, nil, nil, 6)
local timerAlphaBeamsCD = mod:NewCDTimer(47, 76184, nil, nil, nil, 3)
local timerOmegaStance = mod:NewBuffActiveTimer(8, 75622, nil, nil, nil, 6)
local timerOmegaStanceCD = mod:NewCDTimer(47, 75622, nil, nil, nil, 6)
local timerNemesis = mod:NewTargetTimer(5, 75603, nil, "Healer", 2, 5, nil, DBM_COMMON_L.HEALER_ICON..DBM_COMMON_L.MAGIC_ICON)
local timerBubble = mod:NewCDTimer(15, 77336, nil, nil, nil, 3, nil, DBM_COMMON_L.DAMAGE_ICON)
local timerImpale = mod:NewTargetTimer(3, 77235, nil, nil, nil, 3)
local timerImpaleCD = mod:NewCDTimer(20, 77235, nil, nil, nil, 3)
local timerInferno = mod:NewCDTimer(17, 77241, nil, nil, nil, 2)
local timerGauntlet = mod:NewAchievementTimer(300, 5296, "achievementGauntlet")
function mod:OnCombatStart(delay)
timerAlphaBeamsCD:Start(10-delay)
timerOmegaStanceCD:Start(35-delay)
timerGauntlet:Cancel()--it actually cancels a few seconds before engage but this doesn't require localisation and extra yell checks.
end
function mod:SPELL_AURA_APPLIED(args)
if args.spellId == 75603 then
warnNemesis:Show(args.destName)
timerNemesis:Start(args.destName)
elseif args.spellId == 77336 then
warnBubble:Show(args.destName)
timerBubble:Show()
elseif args.spellId == 77235 then
warnImpale:Show(args.destName)
timerImpale:Start(args.destName)
timerImpaleCD:Start()
elseif args.spellId == 76956 and args:IsPlayer() then
specWarnAlphaBeams:Show()
specWarnAlphaBeams:Play("watchfeet")
end
end
function mod:SPELL_AURA_REMOVED(args)
if args.spellId == 75603 then
timerNemesis:Cancel(args.destName)
end
end
function mod:SPELL_CAST_START(args)
if args.spellId == 76184 then
warnAlphaBeams:Show()
timerAlphaBeams:Start()
timerAlphaBeamsCD:Start()
elseif args.spellId == 75622 then
warnOmegaStance:Show()
timerOmegaStance:Start()
timerOmegaStanceCD:Start()
elseif args.spellId == 77241 then
warnInferno:Show()
timerInferno:Start()
end
end
function mod:CHAT_MSG_MONSTER_SAY(msg)
if msg == L.Brann or msg:find(L.Brann) then
self:SendSync("HoOGauntlet")
end
end
function mod:OnSync(msg)
if msg == "HoOGauntlet" then
if not self:IsDifficulty("normal5") then
timerGauntlet:Start()
end
end
end