------------------------------ -- Are you local? -- ------------------------------ local boss = AceLibrary("Babble-Boss-2.2")["Ossirian the Unscarred"] local L = AceLibrary("AceLocale-2.2"):new("BigWigs"..boss) ---------------------------- -- Localization -- ---------------------------- L:RegisterTranslations("enUS", function() return { cmd = "Ossirian", supreme_cmd = "supreme", supreme_name = "Supreme Alert", supreme_desc = "Warn for Supreme Mode", debuff_cmd = "debuff", debuff_name = "Debuff Alert", debuff_desc = "Warn for Defuff", supremetrigger = "Ossirian the Unscarred gains Strength of Ossirian.", supremewarn = "Ossirian Supreme Mode!", supremedelaywarn = "Supreme in %d seconds!", debufftrigger = "^Ossirian the Unscarred is afflicted by (.+) Weakness%.$", debuffwarn = "Ossirian now weak to %s!", bartext = "Supreme", expose = "Expose", ["Shadow"] = true, ["Fire"] = true, ["Frost"] = true, ["Nature"] = true, ["Arcane"] = true, } end ) L:RegisterTranslations("frFR", function() return { supreme_name = "Alerte Mode Supr\195\170me", supreme_desc = "Pr\195\169viens lorsque Ossirian passe en mode supr\195\170me.", debuff_name = "Sensibilit\195\169s", debuff_desc = "Pr\195\169viens lorsque Ossirian change de Sensibilit\195\169.", supremetrigger = "Ossirian l'Intouch\195\169 gagne Force d'Ossirian.", debufftrigger = "^Ossirian l'Intouch\195\169 subit les effets de (.+)%.$", supremewarn = "Ossirian est en mode Supr\195\170me !", debuffwarn = "%s pour 45 secondes !", supremedelaywarn = "Supr\195\170me dans %d secondes !", bartext = "Supr\195\170me", ["Shadow"] = "Sensibilit\195\169 \195\160 l'Ombre", ["Fire"] = "Sensibilit\195\169 au Feu", ["Frost"] = "Sensibilit\195\169 au Givre", ["Nature"] = "Sensibilit\195\169 \195\160 la Nature", ["Arcane"] = "Sensibilit\195\169 aux Arcanes", } end ) L:RegisterTranslations("deDE", function() return { supreme_name = "St\195\164rke des Ossirian", supreme_desc = "Warnung vor St\195\164rke des Ossirian.", debuff_name = "Debuff", debuff_desc = "Warnung vor Debuff.", supremetrigger = "Ossirian der Narbenlose bekommt 'St\195\164rke des Ossirian'.", supremewarn = "St\195\164rke des Ossirian!", supremedelaywarn = "St\195\164rke des Ossirian in %d Sekunden!", debufftrigger = "Ossirian der Narbenlose ist von (.*)schw\195\164che betroffen%.$", debuffwarn = "Ossirian f\195\188r 45 Sekunden anf\195\164llig gegen: %s", bartext = "St\195\164rke des Ossirian", expose = "Schw\195\164che", ["Shadow"] = "Schatten", ["Fire"] = "Feuer", ["Frost"] = "Frost", ["Nature"] = "Natur", ["Arcane"] = "Arkan", } end ) L:RegisterTranslations("zhCN", function() return { supreme_name = "无敌警报", supreme_desc = "奥斯里安进入无敌状态时发出警报", debuff_name = "虚弱警报", debuff_desc = "奥斯里安受到虚弱效果影响时发出警报", supremetrigger = "无疤者奥斯里安获得了奥斯里安之力的效果。", supremewarn = "无疤者奥斯里安无敌了!速退!", supremedelaywarn = "%d秒后奥斯里安无敌", debufftrigger = "^无疤者奥斯里安受到了(.+)虚弱效果的影响。", debuffwarn = "奥斯里安新法术弱点: %s", bartext = "无敌", expose = "我……败……了。", ["Shadow"] = "暗影", ["Fire"] = "火焰", ["Frost"] = "冰霜", ["Nature"] = "自然", ["Arcane"] = "奥术", } end ) L:RegisterTranslations("zhTW", function() return { -- Ossirian the Unscarred 無疤者奧斯里安 supreme_name = "無敵警報", supreme_desc = "無疤者奧斯里安進入無敵狀態時發出警報", debuff_name = "虛弱警報", debuff_desc = "無疤者奧斯里安受到虛弱效果影響時發出警報", supremetrigger = "無疤者奧斯里安獲得了奧斯里安之力的效果。", supremewarn = "已經進入了無敵模式!", supremedelaywarn = "%d 秒後無敵!", debufftrigger = "^無疤者奧斯里安受到(.+)虛弱的傷害", debuffwarn = "抗性虛弱 45 秒 : %s - DPS全開!", bartext = "無敵", expose = "我...已...失敗。", ["Shadow"] = "陰影", ["Fire"] = "火焰", ["Frost"] = "冰霜", ["Nature"] = "自然", ["Arcane"] = "祕法", } end ) L:RegisterTranslations("koKR", function() return { supreme_name = "무적 경고", supreme_desc = "무적 모드에 대한 경고", debuff_name = "약화마법 경고", debuff_desc = "약화마법에 대한 경고", supremetrigger = "무적의 오시리안|1이;가; 오시리안의 힘 효과를 얻었습니다.", supremewarn = "오시리안 무적 상태!", supremedelaywarn = "%d초후 무적 상태 돌입!", debufftrigger = "무적의 오시리안|1이;가; (.+) 약점에 걸렸습니다.", debuffwarn = "오시리안이 %s 계열 마법에 약해졌습니다.", bartext = "무적 상태", expose = "노출", -- CHECK ["Shadow"] = "암흑", ["Fire"] = "화염", ["Frost"] = "냉기", ["Nature"] = "자연", ["Arcane"] = "비전", } end ) ---------------------------------- -- Module Declaration -- ---------------------------------- BigWigsOssirian = BigWigs:NewModule(boss) BigWigsOssirian.zonename = AceLibrary("Babble-Zone-2.2")["Ruins of Ahn'Qiraj"] BigWigsOssirian.enabletrigger = boss BigWigsOssirian.toggleoptions = {"supreme", "debuff", "bosskill"} BigWigsOssirian.revision = tonumber(string.sub("$Revision: 16639 $", 12, -3)) ------------------------------ -- Initialization -- ------------------------------ function BigWigsOssirian:OnEnable() self:RegisterEvent("CHAT_MSG_COMBAT_HOSTILE_DEATH", "GenericBossDeath") self:RegisterEvent("CHAT_MSG_SPELL_PERIODIC_CREATURE_BUFFS") self:RegisterEvent("CHAT_MSG_SPELL_PERIODIC_CREATURE_DAMAGE") self:RegisterEvent("BigWigs_RecvSync") self:TriggerEvent("BigWigs_ThrottleSync", "OssirianWeakness", 10) end function BigWigsOssirian:CHAT_MSG_SPELL_PERIODIC_CREATURE_BUFFS( msg ) if self.db.profile.supreme and arg1 == L["supremetrigger"] then self:TriggerEvent("BigWigs_Message", L["supremewarn"], "Attention") end end function BigWigsOssirian:CHAT_MSG_SPELL_PERIODIC_CREATURE_DAMAGE( msg ) local _, _, debuffName = string.find(msg, L["debufftrigger"]) if debuffName and debuffName ~= L["expose"] and L:HasReverseTranslation(debuffName) then self:TriggerEvent("BigWigs_SendSync", "OssirianWeakness "..L:GetReverseTranslation(debuffName)) end end function BigWigsOssirian:BigWigs_RecvSync(sync, debuffKey) if sync ~= "OssirianWeakness" or not debuffKey or not L:HasTranslation(debuffKey) then return end if self.db.profile.debuff then self:TriggerEvent("BigWigs_Message", string.format(L["debuffwarn"], L[debuffKey]), "Important") end self:CancelScheduledEvent("bwossiriansupreme1") self:CancelScheduledEvent("bwossiriansupreme2") self:CancelScheduledEvent("bwossiriansupreme3") self:TriggerEvent("BigWigs_StopBar", self, L["bartext"]) if self.db.profile.supreme then self:ScheduleEvent("bwossiriansupreme1", "BigWigs_Message", 30, string.format(L["supremedelaywarn"], 15), "Attention") self:ScheduleEvent("bwossiriansupreme2", "BigWigs_Message", 35, string.format(L["supremedelaywarn"], 10), "Urgent") self:ScheduleEvent("bwossiriansupreme3", "BigWigs_Message", 40, string.format(L["supremedelaywarn"], 5), "Important") self:TriggerEvent("BigWigs_StartBar", self, L["bartext"], 45, "Interface\\Icons\\Spell_Shadow_CurseOfTounges") end end