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.

82 lines
2.5 KiB

local mod = DBM:NewMod(637, "DBM-Party-WotLK", 13, 284)
local L = mod:GetLocalizedStrings()
mod:SetRevision("20240428124541")
mod:SetCreatureID(35451)
mod:SetEncounterID(2021)
mod:SetUsedIcons(8)
mod:DisableBossDeathKill()--work around to handle a Boss to die, rebirth, die again, rebirth again and die to loot...
mod:RegisterCombat("combat")
mod:RegisterKill("yell", L.YellCombatEnd)
mod:RegisterEvents(
"CHAT_MSG_MONSTER_YELL"
)
mod:RegisterEventsInCombat(
"SPELL_CAST_START 67729",
"SPELL_AURA_APPLIED 67823 67751",
"SPELL_DAMAGE 67781 67729",
"SPELL_MISSED 67781 67729"
)
local warnMarked = mod:NewTargetNoFilterAnnounce(67823, 3)
local specWarnDesecration = mod:NewSpecialWarningMove(67781, nil, nil, nil, 1, 8)
local specWarnExplode = mod:NewSpecialWarningRun(67751, "Melee", nil, 2, 4, 2)
local timerCombatStart = mod:NewCombatTimer(55.5)
local timerMarked = mod:NewTargetTimer(10, 67823, nil, nil, nil, 3)
local timerExplode = mod:NewCastTimer(4, 67729, nil, nil, nil, 2)
mod:AddSetIconOption("SetIconOnMarkedTarget", 67823, false, 0, {8})
mod:AddBoolOption("AchievementCheck", false, "announce")
--mod:GroupSpells(67751, 67729)
local warnedfailed = false
function mod:OnCombatStart(delay)
warnedfailed = false
end
function mod:SPELL_CAST_START(args)
if args.spellId == 67729 and self:AntiSpam(2, 2) then
specWarnExplode:Show()
specWarnExplode:Play("justrun")
timerExplode:Start()
end
end
function mod:SPELL_DAMAGE(_, _, _, _, destGUID, destName, _, _, spellId)
if spellId == 67781 and destGUID == UnitGUID("player") and self:AntiSpam(3, 1) then
specWarnDesecration:Show()
specWarnDesecration:Play("watchfeet")
elseif spellId == 67729 then
if self.Options.AchievementCheck and not warnedfailed then
SendChatMessage(L.AchievementFailed:format(destName), "PARTY")
warnedfailed = true
end
end
end
mod.SPELL_MISSED = mod.SPELL_DAMAGE
function mod:SPELL_AURA_APPLIED(args)
if args.spellId == 67823 and args:IsDestTypePlayer() then
if self.Options.SetIconOnMarkedTarget then
self:SetIcon(args.destName, 8, 10)
end
warnMarked:Show(args.destName)
timerMarked:Show(args.destName)
elseif args.spellId == 67751 and self:AntiSpam(2, 2) then -- Ghoul Explode (BK exlodes Army of the dead. Phase 3)
specWarnExplode:Show()
specWarnExplode:Play("justrun")
end
end
function mod:CHAT_MSG_MONSTER_YELL(msg)
if msg == L.Pull or msg:find(L.Pull) then
timerCombatStart:Start()
end
end