This commit is contained in:
Andrew6810
2022-10-21 06:50:13 -07:00
parent 8571e98fb1
commit 39c0ed874e
466 changed files with 52263 additions and 2 deletions
@@ -0,0 +1,73 @@
local mod = DBM:NewMod("PT", "DBM-Party-BC", 12)
local L = mod:GetLocalizedStrings()
mod:SetRevision(("$Revision: 147 $"):sub(12, -3))
mod:RegisterEvents(
"UPDATE_WORLD_STATES",
"UNIT_DIED",
"CHAT_MSG_MONSTER_YELL"
)
mod:RemoveOption("HealthFrame")
-- Portals
local warnWavePortalSoon = mod:NewAnnounce("WarnWavePortalSoon", 2, 57687)
local warnWavePortal = mod:NewAnnounce("WarnWavePortal", 3, 57687)
local warnBossPortal = mod:NewAnnounce("WarnBossPortal", 4, 33341)
local timerNextPortal = mod:NewTimer(120, "TimerNextPortal", 57687)
--mod:AddBoolOption("ShowAllPortalTimers", false, "timer")
local lastPortal = 0
function mod:UNIT_DIED(args)
local cid = self:GetCIDFromGUID(args.destGUID)
if cid == 17879 then
timerNextPortal:Start(40, lastPortal + 1)
warnWavePortalSoon:Schedule(35)
elseif cid == 17880 then
timerNextPortal:Start(40, lastPortal + 1)
warnWavePortalSoon:Schedule(35)
end
end
function mod:UPDATE_WORLD_STATES()
local text = select(3, GetWorldStateUIInfo(2))
if not text then return end
local _, _, currentPortal = string.find(text, L.PortalCheck)
if not currentPortal then
currentPortal = 0
end
currentPortal = tonumber(currentPortal)
lastPortal = tonumber(lastPortal)
if currentPortal > lastPortal then
warnWavePortalSoon:Cancel()
timerNextPortal:Cancel()
if currentPortal == 6 or currentPortal == 12 or currentPortal == 18 then
warnBossPortal:Show()
else
warnWavePortal:Show(currentPortal)
--[[ if self.Options.ShowAllPortalTimers then
timerNextPortal:Start(122, currentPortal + 1)--requires complete overhaul I haven't patience to do.
warnWavePortalSoon:Schedule(112)--because portals spawn faster and faster each time.
end--]]
end
lastPortal = currentPortal
elseif currentPortal < lastPortal then
lastPortal = 0
end
end
function mod:CHAT_MSG_MONSTER_YELL(msg)
if msg == L.Shielddown or msg:find(L.Shielddown) then
self:SendSync("Wipe")
end
end
function mod:OnSync(msg, arg)
if msg == "Wipe" then
warnWavePortalSoon:Unschedule()
timerNextPortal:Cancel()
end
end