assert( oRA, "oRA not found!") ------------------------------ -- Are you local? -- ------------------------------ local L = AceLibrary("AceLocale-2.2"):new("oRAPBuff") local buffs = { ["PowerWordFortitude"] = { 1, 1}, ["PrayerOfFortitude"] = {1, 2}, ["MarkOfTheWild"] = {2, 1}, ["GiftOfTheWild"] = {2, 2}, ["ArcaneIntellect"] = {3, 1}, ["ArcaneBrilliance"] = {3, 2}, -- 4 missing from CTRA as well. ["ShadowProtection"] = {5, 1}, ["PrayerofShadowProtection"] = {5, 2}, ["PowerWordShield"] = {6, 0}, ["SoulstoneResurrection"] = {7, 0}, ["DivineSpirit"] = {8, 1}, ["PrayerOfSpirit"] = {8, 2}, ["Thorns"] = {9, 0}, ["FearWard"] = {10, 0}, ["BlessingOfMight"] = {11, 1}, ["GreaterBlessingOfMight"] = {11, 2}, ["BlessingOfWisdom"] = {12, 1}, ["GreaterBlessingOfWisdom"] = {12, 2}, ["BlessingOfKings"] = {13, 1}, ["GreaterBlessingOfKings"] = {13, 2}, ["BlessingOfSalvation"] = {14, 1}, ["GreaterBlessingOfSalvation"] = {14, 2}, ["BlessingOfLight"] = {15, 1}, ["GreaterBlessingOfLight"] = {15, 2}, ["BlessingOfSanctuary"] = {16, 1}, ["GreaterBlessingOfSanctuary"] = {16, 2}, ["Renew"] = {17, 0}, ["Rejuvenation"] = {18, 0}, ["Regrowth"] = {19, 0}, ["AmplifyMagic"] = {20, 0}, ["DampenMagic"] = {21, 0}, } ---------------------------- -- Localization -- ---------------------------- L:RegisterTranslations("enUS", function() return { ["buffparticipant"] = true, ["Participant/Buff"] = true, ["buff"] = true, ["Buff"] = true, ["Options for buffs."] = true, ["PowerWordFortitude"] = "Power Word: Fortitude", ["PrayerOfFortitude"] = "Prayer of Fortitude", ["GiftOfTheWild"] = "Gift of the Wild", ["MarkOfTheWild"] = "Mark of the Wild", ["ArcaneIntellect"] = "Arcane Intellect", ["ArcaneBrilliance"] = "Arcane Brilliance", ["ShadowProtection"] = "Shadow Protection", ["PrayerofShadowProtection"] = "Prayer of Shadow Protection", ["PowerWordShield"] = "Power Word: Shield", ["SoulstoneResurrection"] = "Soulstone Resurrection", ["DivineSpirit"] = "Divine Spirit", ["PrayerOfSpirit"] = "Prayer of Spirit", ["Thorns"] = "Thorns", ["FearWard"] = "Fear Ward", ["BlessingOfMight"] = "Blessing of Might", ["GreaterBlessingOfMight"] = "Greater Blessing of Might", ["BlessingOfWisdom"] = "Blessing of Wisdom", ["GreaterBlessingOfWisdom"] = "Greater Blessing of Wisdom", ["BlessingOfKings"] = "Blessing of Kings", ["GreaterBlessingOfKings"] = "Greater Blessing of Kings", ["BlessingOfSalvation"] = "Blessing of Salvation", ["GreaterBlessingOfSalvation"] = "Greater Blessing of Salvation", ["BlessingOfLight"] = "Blessing of Light", ["GreaterBlessingOfLight"] = "Greater Blessing of Light", ["BlessingOfSanctuary"] = "Blessing of Sanctuary", ["GreaterBlessingOfSanctuary"] = "Greater Blessing of Sanctuary", ["Renew"] = "Renew", ["Rejuvenation"] = "Rejuvenation", ["Regrowth"] = "Regrowth", ["AmplifyMagic"] = "Amplify Magic", ["DampenMagic"] = "Dampen Magic", } end ) L:RegisterTranslations("koKR", function() return { ["Participant/Buff"] = "부분/버프", ["Buff"] = "버프", ["Options for buffs."] = "버프 설정", ["PowerWordFortitude"] = "신의 권능: 인내", ["PrayerOfFortitude"] = "인내의 기원", ["GiftOfTheWild"] = "야생의 선물", ["MarkOfTheWild"] = "야생의 징표", ["ArcaneIntellect"] = "신비한 지능", ["ArcaneBrilliance"] = "신비한 총명함", ["ShadowProtection"] = "어둠의 보호", ["PrayerofShadowProtection"] = "암흑 보호의 기원", ["PowerWordShield"] = "신의 권능: 보호막", ["SoulstoneResurrection"] = "영혼석 보관", ["DivineSpirit"] = "천상의 정신", ["PrayerOfSpirit"] = "정신력의 기원", ["Thorns"] = "가시", ["FearWard"] = "공포의 수호물", ["BlessingOfMight"] = "힘의 축복", ["GreaterBlessingOfMight"] = "상급 힘의 축복", ["BlessingOfWisdom"] = "지혜의 축복", ["GreaterBlessingOfWisdom"] = "상급 지혜의 축복", ["BlessingOfKings"] = "왕의 축복", ["GreaterBlessingOfKings"] = "상급 왕의 축복", ["BlessingOfSalvation"] = "구원의 축복", ["GreaterBlessingOfSalvation"] = "상급 구원의 축복", ["BlessingOfLight"] = "빛의 축복", ["GreaterBlessingOfLight"] = "상급 빛의 축복", ["BlessingOfSanctuary"] = "성역의 축복", ["GreaterBlessingOfSanctuary"] = "상급 성역의 축복", ["Renew"] = "소생", ["Rejuvenation"] = "회복", ["Regrowth"] = "재생", ["AmplifyMagic"] = "마법 증폭", ["DampenMagic"] = "마법 감쇠", } end ) L:RegisterTranslations("zhCN", function() return { ["buffparticipant"] = "buffparticipant", ["Participant/Buff"] = "Participant/Buff", ["buff"] = "buff", ["Buff"] = "buff", ["Options for buffs."] = "buff助手选项", ["PowerWordFortitude"] = "真言术:韧", ["PrayerOfFortitude"] = "坚韧祷言", ["GiftOfTheWild"] = "野性赐福", ["MarkOfTheWild"] = "野性印记", ["ArcaneIntellect"] = "奥术智慧", ["ArcaneBrilliance"] = "奥术光辉", ["ShadowProtection"] = "防护暗影", ["PrayerofShadowProtection"] = "暗影防护祷言", ["PowerWordShield"] = "真言术:盾", ["SoulstoneResurrection"] = "灵魂石复活", ["DivineSpirit"] = "神圣之灵", ["PrayerOfSpirit"] = "精神祷言", ["Thorns"] = "荆棘", ["FearWard"] = "防护恐惧结界", ["BlessingOfMight"] = "力量祝福", ["GreaterBlessingOfMight"] = "强效力量祝福", ["BlessingOfWisdom"] = "智慧祝福", ["GreaterBlessingOfWisdom"] = "强效智慧祝福", ["BlessingOfKings"] = "王者祝福", ["GreaterBlessingOfKings"] = "强效王者祝福", ["BlessingOfSalvation"] = "拯救祝福", ["GreaterBlessingOfSalvation"] = "强效拯救祝福", ["BlessingOfLight"] = "光明祝福", ["GreaterBlessingOfLight"] = "强效光明祝福", ["BlessingOfSanctuary"] = "庇护祝福", ["GreaterBlessingOfSanctuary"] = "强效庇护祝福", ["Renew"] = "恢复", ["Rejuvenation"] = "回春术", ["Regrowth"] = "愈合", ["AmplifyMagic"] = "魔法增效", ["DampenMagic"] = "魔法抑制", } end ) L:RegisterTranslations("zhTW", function() return { ["buffparticipant"] = "buffparticipant", ["Participant/Buff"] = "隊員/增益", ["buff"] = "增益", ["Buff"] = "增益", ["Options for buffs."] = "增益狀態選項", ["PowerWordFortitude"] = "真言術:韌", ["PrayerOfFortitude"] = "堅韌禱言", ["GiftOfTheWild"] = "野性賜福", ["MarkOfTheWild"] = "野性印記", ["ArcaneIntellect"] = "祕法智慧", ["ArcaneBrilliance"] = "祕法光輝", ["ShadowProtection"] = "暗影防護", ["PrayerofShadowProtection"] = "防護暗影禱言", ["PowerWordShield"] = "真言術:盾", ["SoulstoneResurrection"] = "靈魂石冷卻", ["DivineSpirit"] = "神聖之靈", ["PrayerOfSpirit"] = "精神禱言", ["Thorns"] = "荊棘術", ["FearWard"] = "防護恐懼結界", ["BlessingOfMight"] = "力量祝福", ["GreaterBlessingOfMight"] = "強效力量祝福", ["BlessingOfWisdom"] = "智慧祝福", ["GreaterBlessingOfWisdom"] = "強效智慧祝福", ["BlessingOfKings"] = "王者祝福", ["GreaterBlessingOfKings"] = "強效王者祝福", ["BlessingOfSalvation"] = "拯救祝福", ["GreaterBlessingOfSalvation"] = "強效拯救祝福", ["BlessingOfLight"] = "光明祝福", ["GreaterBlessingOfLight"] = "強效光明祝福", ["BlessingOfSanctuary"] = "庇護祝福", ["GreaterBlessingOfSanctuary"] = "強效庇護祝福", ["Renew"] = "恢復", ["Rejuvenation"] = "回春術", ["Regrowth"] = "愈合", ["AmplifyMagic"] = "魔法增效", ["DampenMagic"] = "魔法抑制", } end ) L:RegisterTranslations("frFR", function() return { --["buffparticipant"] = true, --["Participant/Buff"] = true, --["buff"] = true, --["Buff"] = true, ["Options for buffs."] = "Options concernant les buffs.", ["PowerWordFortitude"] = "Mot de pouvoir : Robustesse", ["PrayerOfFortitude"] = "Pri\195\168re de robustesse", ["GiftOfTheWild"] = "Don du fauve", ["MarkOfTheWild"] = "Marque du fauve", ["ArcaneIntellect"] = "Intelligence des arcanes", ["ArcaneBrilliance"] = "Illumination des arcanes", ["ShadowProtection"] = "Protection contre l'ombre", ["PrayerofShadowProtection"] = "Pri\195\168re de protection contre l'Ombre", ["PowerWordShield"] = "Mot de pouvoir : Bouclier", ["SoulstoneResurrection"] = "R\195\169surrection de pierre d'\195\162me", ["DivineSpirit"] = "Esprit divin", ["PrayerOfSpirit"] = "Pri\195\168re d'esprit", ["Thorns"] = "Epines", ["FearWard"] = "Gardien de la peur", ["BlessingOfMight"] = "B\195\169n\195\169diction de puissance", ["GreaterBlessingOfMight"] = "B\195\169n\195\169diction de puissance sup\195\169rieure", ["BlessingOfWisdom"] = "B\195\169n\195\169diction de sagesse", ["GreaterBlessingOfWisdom"] = "B\195\169n\195\169diction de sagesse sup\195\169rieure", ["BlessingOfKings"] = "B\195\169n\195\169diction des rois", ["GreaterBlessingOfKings"] = "B\195\169n\195\169diction des rois sup\195\169rieure", ["BlessingOfSalvation"] = "B\195\169n\195\169diction de salut", ["GreaterBlessingOfSalvation"] = "B\195\169n\195\169diction de salut sup\195\169rieure", ["BlessingOfLight"] = "B\195\169n\195\169diction de lumi\195\168re", ["GreaterBlessingOfLight"] = "B\195\169n\195\169diction de lumi\195\168re sup\195\169rieure", ["BlessingOfSanctuary"] = "B\195\169n\195\169diction de sanctuaire", ["GreaterBlessingOfSanctuary"] = "B\195\169n\195\169diction de sanctuaire sup\195\169rieure", ["Renew"] = "R\195\169novation", ["Rejuvenation"] = "R\195\169cup\195\169ration", ["Regrowth"] = "R\195\169tablissement", ["AmplifyMagic"] = "Amplification de la magie", ["DampenMagic"] = "Att\195\169nuation de la magie", } end ) ---------------------------------- -- Module Declaration -- ---------------------------------- oRAPBuff = oRA:NewModule(L["buffparticipant"]) oRAPBuff.defaults = { } oRAPBuff.participant = true oRAPBuff.name = L["Participant/Buff"] -- oRAPBuff.consoleCmd = L["buff"] -- oRAPBuff.consoleOptions = { -- type = "group", -- desc = L["Options for buffs."], -- args = { -- } -- } ------------------------------ -- Initialization -- ------------------------------ function oRAPBuff:OnEnable() self:RegisterEvent("SpecialEvents_PlayerBuffGained") self:RegisterEvent("SpecialEvents_PlayerBuffLost") end function oRAPBuff:OnDisable() self:UnregisterAllEvents() end ------------------------------ -- Event Handlers -- ------------------------------ function oRAPBuff:SpecialEvents_PlayerBuffGained(buff, index) if L:HasReverseTranslation( buff ) then local ourbuff = L:GetReverseTranslation( buff ) local timeleft = floor( GetPlayerBuffTimeLeft( index ) + .5 ) self:SendMessage( "RN " .. timeleft .. " " .. buffs[ourbuff][1] .. " " .. buffs[ourbuff][2] ) end end function oRAPBuff:SpecialEvents_PlayerBuffLost(buff) if L:HasReverseTranslation( buff ) then local ourbuff = L:GetReverseTranslation( buff ) -- we send 1 second left on this buff. self:SendMessage( "RN 1 ".. buffs[ourbuff][1] .. " " .. buffs[ourbuff][2] ) end end