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.
94 lines
3.7 KiB
94 lines
3.7 KiB
local mod = DBM:NewMod(674, "DBM-Party-MoP", 9, 316)
|
|
local L = mod:GetLocalizedStrings()
|
|
|
|
mod:SetRevision("20240605152247")
|
|
mod:SetCreatureID(60040, 99999)--3977 is High Inquisitor Whitemane and 60040 is Commander Durand, we don't really need to add her ID, because we don't ever engage her, and he true death is at same time as her.
|
|
mod:SetEncounterID(1425)
|
|
mod:SetZone(1004)
|
|
|
|
mod:RegisterCombat("combat")
|
|
|
|
mod:RegisterEventsInCombat(
|
|
"SPELL_CAST_START 113134 12039 130857",
|
|
"SPELL_CAST_SUCCESS 9256",
|
|
"UNIT_SPELLCAST_SUCCEEDED boss1 boss2",
|
|
"UNIT_DIED"
|
|
)
|
|
|
|
local warnFlashofSteel = mod:NewSpellAnnounce(115627, 3)
|
|
local warnDashingStrike = mod:NewSpellAnnounce(115676, 3)
|
|
local warnDeepSleep = mod:NewSpellAnnounce(9256, 2)
|
|
|
|
local specWarnMassRes = mod:NewSpecialWarningInterrupt(113134, "HasInterrupt", nil, nil, 1, 2)
|
|
local specWarnHeal = mod:NewSpecialWarningInterrupt(12039, "HasInterrupt", nil, nil, 1, 2)
|
|
local specWarnMC = mod:NewSpecialWarningInterrupt(130857, "HasInterrupt", nil, nil, 1, 2)
|
|
|
|
local timerFlashofSteel = mod:NewCDTimer(26, 115627, nil, nil, nil, 3)--not confirmed.
|
|
local timerDashingStrike = mod:NewCDTimer(26, 115676, nil, nil, nil, 3)--not confirmed.
|
|
local timerMassResCD = mod:NewCDTimer(21, 113134, nil, nil, nil, 4, nil, DBM_COMMON_L.INTERRUPT_ICON)--21-24sec variation. Earlier if phase transitions
|
|
local timerDeepSleep = mod:NewBuffFadesTimer(10, 9256, nil, nil, nil, 6)
|
|
local timerMCCD = mod:NewCDTimer(19, 130857, nil, nil, nil, 3)
|
|
|
|
function mod:OnCombatStart(delay)
|
|
self:SetStage(1)
|
|
timerFlashofSteel:Start(9-delay)
|
|
timerDashingStrike:Start(24-delay)
|
|
end
|
|
|
|
function mod:SPELL_CAST_START(args)
|
|
if args.spellId == 113134 then
|
|
if self:CheckInterruptFilter(args.sourceGUID, false, true) then
|
|
specWarnMassRes:Show(args.sourceName)
|
|
specWarnMassRes:Play("kickcast")
|
|
end
|
|
timerMassResCD:Start()
|
|
elseif args.spellId == 12039 and self:CheckInterruptFilter(args.sourceGUID, false, true) then
|
|
specWarnHeal:Show(args.sourceName)
|
|
specWarnHeal:Play("kickcast")
|
|
elseif args.spellId == 130857 and self:CheckInterruptFilter(args.sourceGUID, false, true) then
|
|
specWarnMC:Show(args.sourceName)
|
|
specWarnMC:Play("kickcast")
|
|
end
|
|
end
|
|
|
|
--Could also use damage overkill like phase 1 but it's only .8 sec faster so no need.
|
|
--3/28 16:22:43.001 SWING_DAMAGE,0x0100000000009810,"Omegal",0x511,0x0,0xF1300F8900000065,"High Inquisitor Whitemane",0x10a48,0x0,10172,-1,1,0,0,410,1,nil,nil
|
|
--3/28 16:22:43.810 SPELL_CAST_SUCCESS,0xF1300F8900000065,"High Inquisitor Whitemane",0xa48,0x0,0x0000000000000000,nil,0x80000000,0x80000000,9256,"Deep Sleep",0x20
|
|
function mod:SPELL_CAST_SUCCESS(args)
|
|
if args.spellId == 9256 then--Phase 3
|
|
self:SetStage(3)
|
|
warnDeepSleep:Show()
|
|
timerDeepSleep:Start()
|
|
timerMassResCD:Start(9.7)
|
|
if self:IsDifficulty("challenge5") then
|
|
timerMCCD:Start(19)--Pretty much immediately after first mas res, unless mass res isn't interrupted then it'll delay MC
|
|
end
|
|
end
|
|
end
|
|
|
|
|
|
function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, spellId)
|
|
if spellId == 115627 and self:AntiSpam(2, 1) then
|
|
warnFlashofSteel:Show()
|
|
timerFlashofSteel:Start()
|
|
elseif spellId == 115676 and self:AntiSpam(2, 2) then
|
|
warnDashingStrike:Show()
|
|
timerDashingStrike:Start()
|
|
end
|
|
end
|
|
|
|
function mod:UNIT_DIED(args)
|
|
if self:GetCIDFromGUID(args.destGUID) == 60040 then--Commander Durand
|
|
if self:GetStage(3) then--Fight is over on 2nd death == 3 then--Fight is over on 2nd death
|
|
DBM:EndCombat(self)
|
|
else--it's first death, he's down and whiteman is taking over
|
|
self:SetStage(2)
|
|
timerMassResCD:Start(8.9)
|
|
if self:IsDifficulty("challenge5") then
|
|
timerMCCD:Start(14)
|
|
end
|
|
timerFlashofSteel:Cancel()
|
|
timerDashingStrike:Cancel()
|
|
end
|
|
end
|
|
end
|
|
|