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
97 lines
3.1 KiB
|
3 years ago
|
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
|