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.
90 lines
3.2 KiB
90 lines
3.2 KiB
local mod = DBM:NewMod(1163, "DBM-Party-WoD", 3, 536)
|
|
local L = mod:GetLocalizedStrings()
|
|
|
|
mod.statTypes = "normal,heroic,mythic,challenge,timewalker"
|
|
mod.upgradedMPlus = true
|
|
|
|
mod:SetRevision("20230708234551")
|
|
mod:SetCreatureID(79545)
|
|
mod:SetEncounterID(1732)
|
|
|
|
mod:RegisterCombat("combat")
|
|
|
|
mod:RegisterEventsInCombat(
|
|
"SPELL_AURA_APPLIED 160681 166570",
|
|
"SPELL_AURA_APPLIED_DOSE 160681 166570",
|
|
"SPELL_CAST_START 163550 160680 160943",
|
|
"UNIT_TARGETABLE_CHANGED"
|
|
)
|
|
|
|
--[[
|
|
(ability.id = 163550 or ability.id = 160680 or ability.id = 160943) and type = "begincast"
|
|
or ability.id = 181089 and type = "applybuff"
|
|
--]]
|
|
local warnMortar = mod:NewSpellAnnounce(163550, 3)
|
|
local warnPhase2 = mod:NewPhaseAnnounce(2, 2, nil, nil, nil, nil, nil, 2)
|
|
local warnSupressiveFire = mod:NewTargetNoFilterAnnounce(160681, 2)--In a repeating loop
|
|
--local warnGrenadeDown = mod:NewAnnounce("warnGrenadeDown", 1, -9711, nil, DBM_CORE_L.AUTO_ANNOUNCE_OPTIONS.spell:format("ej9711"))--Boss is killed by looting using these positive items on him.
|
|
--local warnMortarDown = mod:NewAnnounce("warnMortarDown", 4, -9712, nil, DBM_CORE_L.AUTO_ANNOUNCE_OPTIONS.spell:format("ej9712"))--So warn when adds that drop them die
|
|
local warnPhase3 = mod:NewPhaseAnnounce(3, 2, nil, nil, nil, nil, nil, 2)
|
|
|
|
local specWarnSupressiveFire = mod:NewSpecialWarningYou(160681, nil, nil, nil, 1, 2)
|
|
local yellSupressiveFire = mod:NewYell(160681)
|
|
local specWarnShrapnelblast = mod:NewSpecialWarningDodge(160943, nil, nil, 2, 3, 2)--160943 boss version, 166675 trash version.
|
|
local specWarnSlagBlast = mod:NewSpecialWarningMove(166570, nil, nil, nil, 1, 8)
|
|
|
|
local timerSupressiveFire = mod:NewTargetTimer(10, 160681, nil, nil, nil, 5)
|
|
|
|
local grenade = DBM:EJ_GetSectionInfo(9711)
|
|
local mortar = DBM:EJ_GetSectionInfo(9712)
|
|
|
|
function mod:SupressiveFireTarget(targetname, uId)
|
|
if not targetname then return end
|
|
if targetname == UnitName("player") then
|
|
specWarnSupressiveFire:Show()
|
|
specWarnSupressiveFire:Play("findshelter")
|
|
yellSupressiveFire:Yell()
|
|
else
|
|
warnSupressiveFire:Show(targetname)
|
|
end
|
|
end
|
|
|
|
function mod:OnCombatStart(delay)
|
|
self:SetStage(1)
|
|
end
|
|
|
|
function mod:SPELL_AURA_APPLIED(args)
|
|
local spellId = args.spellId
|
|
if spellId == 160681 and args:IsDestTypePlayer() then
|
|
timerSupressiveFire:Start(args.destName)
|
|
elseif spellId == 166570 and args.destGUID == UnitGUID("player") and self:AntiSpam() then
|
|
specWarnSlagBlast:Show()
|
|
specWarnSlagBlast:Play("watchfeet")
|
|
end
|
|
end
|
|
mod.SPELL_AURA_APPLIED_DOSE = mod.SPELL_AURA_APPLIED
|
|
|
|
function mod:SPELL_CAST_START(args)
|
|
local spellId = args.spellId
|
|
if spellId == 163550 then
|
|
warnMortar:Show()
|
|
elseif spellId == 160680 then
|
|
self:BossTargetScanner(79548, "SupressiveFireTarget", 0.2, 15)
|
|
elseif spellId == 160943 and self:AntiSpam(2, 1) then
|
|
if self:IsTanking("player", nil, nil, true, args.sourceGUID) then
|
|
specWarnShrapnelblast:Show()
|
|
specWarnShrapnelblast:Play("shockwave")
|
|
end
|
|
end
|
|
end
|
|
|
|
function mod:UNIT_TARGETABLE_CHANGED()
|
|
self:SetStage(0)
|
|
if self:GetStage(2) then
|
|
warnPhase2:Show()
|
|
warnPhase2:Play("ptwo")
|
|
elseif self:GetStage(3) then
|
|
warnPhase3:Show()
|
|
warnPhase3:Play("pthree")
|
|
end
|
|
end
|
|
|