Compare with Previous | Blame | View Log
local loadZone = {"Ahn'kahet: The Old Kingdom", "Azjol-Nerub", "The Culling of Stratholme", "Drak'Tharon Keep", "Gundrak", "Halls of Lightning", "Halls of Stone", "The Nexus", "The Oculus", "Utgarde Keep", "Utgarde Pinnacle", "The Violet Hold", "Trial of the Champion", "Blackrock Depths", "Scarlet Monastery", "Pit of Saron", "The Forge of Souls", "Halls of Reflection" } local mod = RW:Boss("PartyBoss", loadZone, "Party - WOTLK") local L mod.type = "party" --------------------------- -- Variables local mEngaged local tGeneralCast local mGeneralCast local mGeneralDebuff local mGeneralEmote --------------------------- -- Init function mod:OnRegister() L = mod:RegisterLocale(self:GetName(), "enUS", true) if L then L.name = "PartyBoss" L.engage_msg = "Engaged %s!" L.engage_opt = "Engage boss message" L.engage_grp = "Boss Stuff" L.general_cast = "Casting: %s" L.general_cast_opt = "Cast timer" L.general_group = "General warnings" L.general_castmsg_opt = "Cast message" L.general_debuff = "%s: >%s<" L.general_debuff_opt = "Debuff message" L.general_emote = "<%s>: %s" L.general_emote_opt = "Emote messages" end L = mod:GetLocale() self.L = L self:SetTrigger(29309,29308,29310,29311,30258,28684,28921,29120,33373,33403,33379,33361,33372,33225, 33592,33312,33593,33335,35119,35451,26630,27483,26632,29304,29307,29305,29306,29932,26529,26530,26532, 26533,32273,26763,26794,26723,26796,26798,27654,27447,29315,29316,29313,29266,29312,29314,31134,28586, 28587,28546,28923,27975,27977,27978,24200,23954,26668,26687,26693,26861) self:SetWin("combat") mEngaged = self:CustomMessage(L.engage_msg, L.engage_opt, nil, L.engage_grp) tGeneralCast = self:CustomTimer(5, L.general_cast, L.general_cast_opt, nil, L.general_group) mGeneralCast = self:CustomMessage(L.general_cast, L.general_castmsg_opt, nil, L.general_group) mGeneralDebuff = self:CustomMessage(L.general_debuff, L.general_debuff_opt, nil, L.general_group) mGeneralEmote = self:CustomMessage(L.general_emote, L.general_emote_opt, nil, L.general_group) end --------------------------- -- Locals local debuffTarget = {} --------------------------- -- Start function mod:OnEngage(trigger) --[[ self:Track("SPELL_CAST_START", 47843, 47610) self:Track("SPELL_AURA_APPLIED", 47864, 59164) self:YellTrack("CHAT_MSG_MONSTER_YELL", "Random 1") self:YellTrack("CHAT_MSG_MONSTER_EMOTE", "Random 2") wipe(debuffTarget) if type(triger) == "number" then local uID = self:UIDFromCID(trigger) if uID then mEngaged:Show(UnitName(uID)) else mEngaged:Show("Some boss") end end ]]-- end --[[ function mod:SPELL_CAST_START(event, args) if args:IsHostile() then local name, rank, icon, cost, isFunnel, powerType, castTime, minRange, maxRange = GetSpellInfo(args.spellID) if castTime > 0 then local spellHaste = select(7, GetSpellInfo(53142)) / 10000 castTime = castTime / spellHaste / 1000 end tGeneralCast:SetIcon(icon) tGeneralCast:Start(castTime > 0 and castTime or nil, name) mGeneralCast:SetIcon(icon) mGeneralCast:Show(name) end end do local messages = {} local icons = {} local function showDebuff() wipe(messages) wipe(icons) for player, spell in pairs(debuffTarget) do local name, rank, icon, cost, isFunnel, powerType, castTime, minRange, maxRange = GetSpellInfo(spell) messages[name] = ((messages[name] and messages[name]..",") or "") ..">"..player.."<" icons[name] = icon end for spellMessage, text in pairs(messages) do mGeneralDebuff:SetIcon(icons[spellMessage]) mGeneralDebuff:Show(spellMessage, text) end wipe(debuffTarget) end function mod:SPELL_AURA_APPLIED(event, args) if args:IsHostile() then debuffTarget[args.dName] = args.spellID self:Schedule("ShowDebuff", 0.3, showDebuff) end end mod.SPELL_AURA_APPLIED_DOSE = mod.SPELL_AURA_APPLIED end function mod:CHAT_MSG_MONSTER_YELL(event, msg, name) mGeneralEmote:Show(name, msg) end mod.CHAT_MSG_MONSTER_EMOTE = mod.CHAT_MSG_MONSTER_YELL mod.CHAT_MSG_MONSTER_SAY = mod.CHAT_MSG_MONSTER_YELL mod.CHAT_MSG_MONSTER_EMOTE = mod.CHAT_MSG_MONSTER_YELL ]]--