------------------------------ -- Are you local? -- ------------------------------ local boss = AceLibrary("Babble-Boss-2.2")["Viscidus"] local L = AceLibrary("AceLocale-2.2"):new("BigWigs"..boss) local prior ---------------------------- -- Localization -- ---------------------------- L:RegisterTranslations("enUS", function() return { cmd = "Viscidus", volley_cmd = "volley", volley_name = "Poison Volley Alert", volley_desc = "Warn for Poison Volley", toxinyou_cmd = "toxinyou", toxinyou_name = "Toxin Cloud on You Alert", toxinyou_desc = "Warn if you are standing in a toxin cloud", toxinother_cmd = "toxinother", toxinother_name = "Toxin Cloud on Others Alert", toxinother_desc = "Warn if others are standing in a toxin cloud", freeze_cmd = "freeze", freeze_name = "Freezing States Alert", freeze_desc = "Warn for the different frozen states", trigger1 = "begins to slow!", trigger2 = "is freezing up!", trigger3 = "is frozen solid!", trigger4 = "begins to crack!", trigger5 = "looks ready to shatter!", trigger6 = "afflicted by Poison Bolt Volley", trigger7 = "^([^%s]+) ([^%s]+) afflicted by Toxin%.$", you = "You", are = "are", warn1 = "First freeze phase!", warn2 = "Second freeze phase!", warn3 = "Viscidus is frozen!", warn4 = "Cracking up - little more now!", warn5 = "Cracking up - almost there!", warn6 = "Poison Bolt Volley!", warn7 = "Poison Bolt Volley in ~3 sec!", warn8 = " is in a toxin cloud!", warn9 = "You are in the toxin cloud!", bar1text = "Poison Bolt Volley", } end ) L:RegisterTranslations("deDE", function() return { volley_name = "Poison Volley Alert", -- ? volley_desc = "Warn for Poison Volley", -- ? toxinyou_name = "Toxin Wolke", toxinyou_desc = "Warnung, wenn Du in einer Toxin Wolke stehst.", toxinother_name = "Toxin Wolke auf Anderen", toxinother_desc = "Warnung, wenn andere Spieler in einer Toxin Wolke stehen.", freeze_name = "Freeze Phasen", freeze_desc = "Zeigt die verschiedenen Freeze Phasen an.", trigger1 = "wird langsamer!", trigger2 = "friert ein!", trigger3 = "ist tiefgefroren!", trigger4 = "geht die Puste aus!", --CHECK trigger5 = "ist kurz davor, zu zerspringen!", trigger6 = "afflicted by Poison Bolt Volley", -- ? trigger7 = "^([^%s]+) ([^%s]+) von Toxin betroffen.$", you = "Ihr", are = "seid", warn1 = "Erste Freeze Phase!", warn2 = "Zweite Freeze Phase!", warn3 = "Dritte Freeze Phase!", warn4 = "Zerspringen - etwas noch!", warn5 = "Zerspringen - fast da!", warn6 = "Poison Bolt Volley!", -- ? warn7 = "Incoming Poison Bolt Volley in ~3 Sekunden!", -- ? warn8 = " ist in einer Toxin Wolke!", warn9 = "Du bist in einer Toxin Wolke!", bar1text = "Poison Bolt Volley", } end ) L:RegisterTranslations("zhCN", function() return { volley_name = "毒性之箭警报", volley_desc = "毒性之箭警报", toxinyou_name = "玩家毒云警报", toxinyou_desc = "你站在毒云中时发出警报", toxinother_name = "队友毒云警报", toxinother_desc = "队友站在毒云中时发出警报", freeze_name = "冻结状态警报", freeze_desc = "冻结状态警报", trigger1 = "的速度慢下来了!", trigger2 = "冻结了!", trigger3 = "变成了坚硬的固体!", trigger4 = "开始碎裂了!", trigger5 = "马上就要碎裂的样子!", trigger6 = "受到了毒性之箭效果", trigger7 = "^(.+)受(.+)了剧毒效果的影响。$", you = "你", are = "到", warn1 = "冻结第一阶段!", warn2 = "冻结第二阶段 - 做好准备", warn3 = "冻结第三阶段 - DPS全开!", warn4 = "即将碎裂 - 加大火力!", warn5 = "即将碎裂 - 几近成功!", warn6 = "毒性之箭 - 迅速解毒!", warn7 = "3秒后发动毒性之箭!", warn8 = "在毒云中 - 快跑开!", warn9 = "你在毒云中 - 快跑开!", bar1text = "毒性之箭", } end ) L:RegisterTranslations("zhTW", function() return { -- Viscidus 維希度斯 volley_name = "毒性之箭警報", volley_desc = "當維希度斯施放毒性之箭時時發出警報", toxinyou_name = "玩家毒雲警報", toxinyou_desc = "你站在毒雲中時發出警報", toxinother_name = "隊友毒雲警報", toxinother_desc = "隊友站在毒雲中時發出警報", freeze_name = "凍結狀態警報", freeze_desc = "友方被凍結時發出警報", trigger1 = "的速度慢下來了!", trigger2 = "凍住了!", trigger3 = "變成了堅硬的固體!", trigger4 = "開始碎裂了!", trigger5 = "馬上就要碎裂的樣子!", trigger6 = "受到了毒性之箭效果", trigger7 = "^(.+)受到(.*)劇毒的", you = "你", are = "了", warn1 = "凍結階段 1/3 !", warn2 = "凍結階段 2/3 !做好准備!", warn3 = "凍結階段 3/3 !火力全開!", warn4 = "碎裂階段 1/3 !加大火力!", warn5 = "碎裂階段 2/3 !幾近成功!", warn6 = "毒性之箭 - 迅速解毒!", warn7 = "3 秒後發動毒性之箭!", warn8 = "在毒雲中!快跑開!!", warn9 = "你在毒雲中!快跑開!", bar1text = "毒性之箭", } end ) L:RegisterTranslations("koKR", function() return { volley_name = "연발 독액 경고", volley_desc = "연발 독액에 대한 경고", toxinyou_name = "자신의 독구름 경고", toxinyou_desc = "자신이 독구름일 때 알림", toxinother_name = "타인의 독구름 경고", toxinother_desc = "타인이 독구름일 때 알림", freeze_name = "빙결 상태 경고", freeze_desc = "각각의 빙결 상태에 대한 경고", trigger1 = "%s|1이;가; 느려지기 시작했습니다!", -- CHECK trigger2 = "%s|1이;가; 얼어붙고 있습니다!", -- CHECK trigger3 = "%s|1이;가; 단단하게 얼었습니다!", -- CHECK trigger4 = "%s|1이;가; 분해되기 시작합니다!", -- CHECK trigger5 = "%s|1이;가; 부서질 것 같습니다!", -- CHECK trigger6 = "연발 독액에 걸렸습니다", -- CHECK trigger7 = "^([^|;%s]*)(.*)독소에 걸렸습니다%.$", -- CHECK you = "", are = "", warn1 = "1 단계 - 느려집니다!", warn2 = "2 단계 - 얼어붙고 있습니다!", warn3 = "3 단계 - 얼었습니다! 물리 공격 시작!", warn4 = "4 단계 - 좀 더 빠르게 공격!", warn5 = "5 단계 - 거의 부서졌습니다!", warn6 = "연발 독액 - 독 해제 하세요!", warn7 = "연발 독액 - 약 3 초후 시전!", warn8 = "님이 독소에 걸렸습니다 - 대피!", warn9 = "당신은 독구름에 걸렸습니다!", bar1text = "연발 독액", } end ) L:RegisterTranslations("frFR", function() return { -- need french chat/combatlog trigger7 = "^([^%s]+) ([^%s]+) subit les effets de Toxine%.$", you = "Vous", are = "subissez", } end ) ---------------------------------- -- Module Declaration -- ---------------------------------- BigWigsViscidus = BigWigs:NewModule(boss) BigWigsViscidus.zonename = AceLibrary("Babble-Zone-2.2")["Ahn'Qiraj"] BigWigsViscidus.enabletrigger = boss BigWigsViscidus.toggleoptions = {"freeze", "volley", "toxinyou", "toxinother", "bosskill"} BigWigsViscidus.revision = tonumber(string.sub("$Revision: 16282 $", 12, -3)) ------------------------------ -- Initialization -- ------------------------------ function BigWigsViscidus:OnEnable() prior = nil self:RegisterEvent("BigWigs_Message") self:RegisterEvent("CHAT_MSG_MONSTER_EMOTE") self:RegisterEvent("CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE", "CheckVis") self:RegisterEvent("CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_DAMAGE", "CheckVis") self:RegisterEvent("CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE", "CheckVis") self:RegisterEvent("CHAT_MSG_COMBAT_HOSTILE_DEATH", "GenericBossDeath") end ------------------------------ -- Event Handlers -- ------------------------------ function BigWigsViscidus:CheckVis(arg1) if not prior and self.db.profile.volley and string.find(arg1, L["trigger6"]) then self:TriggerEvent("BigWigs_Message", L["warn6"], "Urgent") self:ScheduleEvent("BigWigs_Message", 7, L["warn7"], "Urgent") self:TriggerEvent("BigWigs_StartBar", self, L["bar1text"], 10, "Interface\\Icons\\Spell_Nature_CorrosiveBreath") prior = true elseif string.find(arg1, L["trigger7"]) then local _,_, pl, ty = string.find(arg1, L["trigger7"]) if (pl and ty) then if self.db.profile.toxinyou and pl == L["you"] and ty == L["are"] then self:TriggerEvent("BigWigs_Message", L["warn9"], "Personal", true) self:TriggerEvent("BigWigs_Message", UnitName("player") .. L["warn8"], "Important", nil, nil, true) elseif self.db.profile.toxinother then self:TriggerEvent("BigWigs_Message", pl .. L["warn8"], "Important") self:TriggerEvent("BigWigs_SendTell", pl, L["warn9"]) end end end end function BigWigsViscidus:CHAT_MSG_MONSTER_EMOTE(arg1) if not self.db.profile.freeze then return end if arg1 == L["trigger1"] then self:TriggerEvent("BigWigs_Message", L["warn1"], "Atention") elseif arg1 == L["trigger2"] then self:TriggerEvent("BigWigs_Message", L["warn2"], "Urgent") elseif arg1 == L["trigger3"] then self:TriggerEvent("BigWigs_Message", L["warn3"], "Important") elseif arg1 == L["trigger4"] then self:TriggerEvent("BigWigs_Message", L["warn4"], "Urgent") elseif arg1 == L["trigger5"] then self:TriggerEvent("BigWigs_Message", L["warn5"], "Important") end end function BigWigsViscidus:BigWigs_Message(text) if text == L["warn7"] then prior = nil end end