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.
84 lines
2.8 KiB
84 lines
2.8 KiB
local mod = DBM:NewMod(449, "DBM-Party-Vanilla", DBM:IsPostCata() and 10 or 16, 236)
|
|
local L = mod:GetLocalizedStrings()
|
|
|
|
mod:SetRevision("20240728184104")
|
|
if DBM:IsRetail() then
|
|
mod:SetCreatureID(10813)--10812 Grand Crusader Dathrohan (stage 1 classic, on live the boss starts out as Balnazzar)
|
|
else
|
|
mod:SetCreatureID(10812, 10813)
|
|
mod:SetBossHPInfoToHighest()
|
|
end
|
|
mod:SetEncounterID(478)
|
|
|
|
mod:RegisterCombat("combat")
|
|
|
|
if DBM:IsRetail() then
|
|
mod:RegisterEventsInCombat(
|
|
"SPELL_CAST_SUCCESS 17405 66290 13704",
|
|
"SPELL_AURA_APPLIED 17405 66290"
|
|
)
|
|
else
|
|
mod:RegisterEventsInCombat(
|
|
"SPELL_CAST_SUCCESS 17405 13704",
|
|
"SPELL_AURA_APPLIED 17405",
|
|
"UNIT_DIED"
|
|
)
|
|
end
|
|
|
|
local warningDomination = mod:NewTargetNoFilterAnnounce(17405, 4)
|
|
local warningPsychicScream = mod:NewSpellAnnounce(13704, 3)
|
|
|
|
local timerDominationCD = mod:NewAITimer(180, 17405, nil, nil, nil, 3)
|
|
local timerPsychicScreamCD = mod:NewAITimer(180, 13704, nil, nil, nil, 2, nil, DBM_COMMON_L.MAGIC_ICON)
|
|
local warningSleep, timerSleepCD
|
|
if DBM:IsRetail() then
|
|
warningSleep = mod:NewTargetNoFilterAnnounce(66290, 3)
|
|
timerSleepCD = mod:NewAITimer(180, 66290, nil, nil, nil, 3, nil, DBM_COMMON_L.MAGIC_ICON)
|
|
end
|
|
|
|
function mod:OnCombatStart(delay)
|
|
--Balnazzar timers start on pull on retail, in classic you have to beat up a human first
|
|
if self:IsRetail() then
|
|
timerDominationCD:Start(1-delay)
|
|
timerSleepCD:Start(1-delay)
|
|
timerPsychicScreamCD:Start(1-delay)
|
|
end
|
|
end
|
|
|
|
function mod:SPELL_CAST_SUCCESS(args)
|
|
if args:IsSpell(17405) then
|
|
timerDominationCD:Start()
|
|
elseif args.spellId == 66290 then--Retail only so no need to run it through wrapper
|
|
timerSleepCD:Start()
|
|
elseif args:IsSpell(13704) then
|
|
warningPsychicScream:Show()
|
|
timerPsychicScreamCD:Start()
|
|
end
|
|
end
|
|
|
|
function mod:SPELL_AURA_APPLIED(args)
|
|
if args:IsSpell(17405) then
|
|
warningDomination:Show(args.destName)
|
|
elseif args.spellId == 66290 then
|
|
warningSleep:Show(args.destName)
|
|
end
|
|
end
|
|
|
|
--[[
|
|
At least on SoD this guy is messed up, example log 1:
|
|
"<77.23 13:39:16> [CLEU] UNIT_DIED##nil#Creature-0-5209-329-5980-10812-000026262A#Grand Crusader Dathrohan#-1#false#nil#nil#nil#nil#nil#nil",
|
|
Now that looks normal, but actually is Balnazzar dying, no UNIT_DIED event for the first phase
|
|
|
|
Example log 2:
|
|
"<71.43 14:09:38> [CLEU] UNIT_DIED##nil#Creature-0-5210-329-9181-10812-0000262F38#Balnazzar#-1#false#nil#nil#nil#nil#nil#nil",
|
|
Same creature id, different name, what?
|
|
10813 never shows up in the logs at all.
|
|
|
|
But it looks like we get ENCOUNTER_START/END events now, I did a run early in phase 4 where the event was missing and hence kill detection didn't work.
|
|
But as of 28/7/2024 this seems to be working, so no change needed.
|
|
]]
|
|
function mod:UNIT_DIED(args)
|
|
if self:GetCIDFromGUID(args.destGUID) == 10813 then
|
|
DBM:EndCombat(self)
|
|
end
|
|
end
|
|
|