WoWInterface SVN CCBreaker

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /tags
    from Rev 1 to Rev 3
    Reverse comparison

Rev 1 → Rev 3

v0.5b/icon.blp Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes : Added: svn:executable + * Added: svn:mime-type + application/octet-stream
v0.5b/CCBreaker.toc New file
0,0 → 1,27
## Interface: 30000
## Title: CCBreaker
## Notes: Displays who breaks CrowdControl Effects
## Notes-zhTW: 破控警告
## Notes-zhCN: 显示是谁破坏了控制技能的效果
## Author: Pheredhel
## Version: 0.5b
## SavedVariables: CCBreakerDB
## SavedVariablesPerCharacter: CCBreakerDBPC
## OptionalDeps: Ace2, FuBarPlugin-2.0, Tablet-2.0, Waterfall-1.0
## X-Embeds: Ace2, FuBarPlugin-2.0, Tablet-2.0, Waterfall-1.0
## X-Revision: wowi:revision
## X-Email: pheredhel@gmx.de
## X-Category: Interface Enhancements
 
#Librarys
embeds.xml
 
# Localisations
Locale-enUS.lua
Locale-koKR.lua
Locale-zhCN.lua
Locale-zhTW.lua
 
# Addon Files
CCBreaker.lua
CCOptions.lua
\ No newline at end of file
v0.5b/Locale-enUS.lua New file
0,0 → 1,136
local L = AceLibrary("AceLocale-2.2"):new("CCBreaker")
 
--[[
Explanation:
[spell] : name of the broken spell
[target] : name of the target the spell was on
[breaker] : name of the person removing the spell
[ability] : name of the ability breaking the spell
]]--
 
L:RegisterTranslations("enUS", function() return {
["[spell] on [target] was removed by [breaker]"] = true,
["[spell] on [target] was removed by [breaker]"]= true,
["[spell] on [target] was removed by [breaker]'s [ability]"] = true,
["[spell] on [target] was removed by [breaker]'s [ability]"]= true,
["[spell] on [target] was removed"] = true,
["[spell] on [target] was removed"]= true,
["ability"] = true,
["ability"]= true,
["breaker"] = true,
["breaker"]= true,
["broadcast as raidwarning"] = true,
["broadcast to party"] = true,
["broadcast to raid"] = true,
["center"] = true,
["Change the displayed text, leave blank for default"] = true,
["Chat options"] = true,
["chat"] = true,
["Chose color to use"] = true,
["class"] = true,
["Color messages"] = true,
["color text"] = true,
["color"] = true,
["config"] = true,
["console"] = true,
["debug"] = true,
["Display ability breaking the CC"] = true,
["Display broken spell"] = true,
["Display centered messages"] = true,
["Display console messages"] = true,
["Display freed target"] = true,
["Display options for centered messages"] = true,
["Display options in console"] = true,
["Display options in Fubar"] = true,
["Display options"] = true,
["Display who broke CC"] = true,
["display"] = true,
["druid"] = true,
["Enable debug messages"] = true,
["enable"] = true,
["Filter for classes"] = true,
["Filter for raid roles"] = true,
["Filter for unit types"] = true,
["Filter Options"] = true,
["filter"] = true,
["four"] = true,
["fubar"] = true,
["hunter"] = true,
["mage"] = true,
["mainassist"] = true,
["maintank"] = true,
["Open config in a Waterall window"] = true,
["others"] = true,
["paladin"] = true,
["party pet"] = true,
["party"] = true,
["pet"] = true,
["player"] = true,
["priest"] = true,
["raid pet"] = true,
["raid"] = true,
["raidwarning"] = true,
["Report CC breaks from those only"] = true,
["Report CC breaks of effects"] = true,
["Report CC breaks to those targets only"] = true,
["Reset breaker data"] = true,
["reset"] = true,
["Rightclick for options"]= true,
["rogue"] = true,
["role"] = true,
["shaman"] = true,
["Show break from druids"] = true,
["Show break from hunters"] = true,
["Show break from mages"] = true,
["Show break from mainassists"] = true,
["Show break from maintanks"] = true,
["Show break from others"] = true,
["Show break from paladins"] = true,
["Show break from party members"] = true,
["Show break from party pets"] = true,
["Show break from player"] = true,
["Show break from priests"] = true,
["Show break from raid members"] = true,
["Show break from raid pets"] = true,
["Show break from rogues"] = true,
["Show break from shamans"] = true,
["Show break from warlocks"] = true,
["Show break from warriors"] = true,
["Show break from your pet"] = true,
["Show break of "] = true,
["Show break on druids"] = true,
["Show break on hunters"] = true,
["Show break on mages"] = true,
["Show break on mainassists"] = true,
["Show break on maintanks"] = true,
["Show break on others"] = true,
["Show break on paladins"] = true,
["Show break on party members"] = true,
["Show break on party pets"] = true,
["Show break on player"] = true,
["Show break on priests"] = true,
["Show break on raid members"] = true,
["Show break on raid pets"] = true,
["Show break on rogues"] = true,
["Show break on shamans"] = true,
["Show break on warlocks"] = true,
["Show break on warriors"] = true,
["Show break on your pet"] = true,
["show effects"] = true,
["show from"] = true,
["show on"] = true,
["Slash-Commands"] = true,
["spell"] = true,
["spell"]= true,
["target"] = true,
["target"]= true,
["text if only spell an target are given"] = true,
["text if only spell, target and breaker are given"] = true,
["text if spell, target, breaker and ability are given"] = true,
["text"] = true,
["three"] = true,
["two"] = true,
["unit"] = true,
["warlock"] = true,
["warrior"] = true,
} end)
v0.5b/Locale-zhTW.lua New file
0,0 → 1,130
--翻譯:zhucc
local L = AceLibrary("AceLocale-2.2"):new("CCBreaker")
 
--[[
Explanation:
[spell] : name of the broken spell
[target] : name of the target the spell was on
[breaker] : name of the person removing the spell
[ability] : name of the ability breaking the spell
]]--
 
L:RegisterTranslations("zhTW", function() return {
["[spell] on [target] was removed by [breaker]"] = "[target]身上的[spell]因為[breaker]的行為而消失了",
["[spell] on [target] was removed by [breaker]'s [ability]"] = "[target]身上的[spell]因為[breaker]的[ability]而消失了",
["[spell] on [target] was removed"] = "[target]身上的[spell]消失了",
["ability"] = "破壞技能",
["breaker"] = "破壞者",
["broadcast as raidwarning"] = "以團隊警告的形式廣播",
["broadcast to party"] = "廣播到隊伍頻道",
["broadcast to raid"] = "廣播到團隊頻道",
["center"] = "錯誤提示訊息框",
["Change the displayed text, leave blank for default"] = "更改螢幕中間的文字,留空則使用預設文字",
["Chat options"] = "聊天頻道選項",
["chat"] = "頻道",
["Chose color to use"] = "選擇要使用的顏色",
["class"] = "職業",
["Color messages"] = "顏色訊息",
["color text"] = "顏色文字",
["color"] = "顏色",
["config"] = "打開配置窗口",
["console"] = "聊天窗口",
["debug"] = "除錯",
["Display ability breaking the CC"] = "顯示破壞了控制技能的技能",
["Display broken spell"] = "顯示被破壞了的技能",
["Display centered messages"] = "在螢幕中間顯示訊息",
["Display console messages"] = "在聊天窗口顯示訊息",
["Display freed target"] = "顯示曾被控制的那個目標",
["Display options for centered messages"] = "在錯誤提示訊息框中顯示提醒文字",
["Display options in console"] = "在聊天窗口裡顯示提醒文字",
["Display options in Fubar"] = "在FuBar提示窗口裡顯示",
["Display options"] = "有關訊息顯示的選項",
["Display who broke CC"] = "顯示是誰破壞了控制技能",
["display"] = "顯示",
["druid"] = "德魯伊",
["Enable debug messages"] = "啟用除錯訊息",
["enable"] = "啟用",
["Filter for classes"] = "職業過濾器",
["Filter for raid roles"] = "團隊角色過濾器",
["Filter for unit types"] = "單位類型過濾器",
["Filter Options"] = "過濾器選項",
["filter"] = "過濾器",
["four"] = "詳細訊息",
["fubar"] = "FuBar",
["hunter"] = "獵人",
["mage"] = "法師",
["mainassist"] = "主助理",
["maintank"] = "主坦克",
["Open config in a Waterall window"] = "在Waterfall窗口裡進行選項配置",
["others"] = "其他人",
["paladin"] = "聖騎士",
["party pet"] = "隊伍寵物",
["party"] = "隊伍",
["pet"] = "寵物",
["player"] = "自己",
["priest"] = "牧師",
["raid pet"] = "團隊寵物",
["raid"] = "團隊",
["raidwarning"] = "團隊警告",
["Report CC breaks from those only"] = "只報告來自於這些選定的人的破壞",
["Report CC breaks of effects"] = "只報告這些選定的法術效果",
["Report CC breaks to those targets only"] = "只報告對於這些目標的破壞",
["Reset breaker data"] = "重置所統計的數據",
["reset"] = "重置",
["Rightclick for options"] = "右鍵點擊打開選項選單",
["rogue"] = "盜賊",
["role"] = "角色",
["shaman"] = "薩滿",
["Show break from druids"] = "顯示來自德魯伊的破壞",
["Show break from hunters"] = "顯示來自獵人的破壞",
["Show break from mages"] = "顯示來自法師的破壞",
["Show break from mainassists"] = "顯示來自主助理的破壞",
["Show break from maintanks"] = "顯示來自主坦克的破壞",
["Show break from others"] = "顯示來自其他人的破壞",
["Show break from paladins"] = "顯示來自聖騎士的破壞",
["Show break from party members"] = "顯示來自隊伍成員的破壞",
["Show break from party pets"] = "顯示來自隊伍寵物的破壞",
["Show break from player"] = "顯示來自自己的破壞",
["Show break from priests"] = "顯示來自牧師的破壞",
["Show break from raid members"] = "顯示來自團隊成員的破壞",
["Show break from raid pets"] = "顯示來自團隊寵物的破壞",
["Show break from rogues"] = "顯示來自盜賊的破壞",
["Show break from shamans"] = "顯示來自薩滿的破壞",
["Show break from warlocks"] = "顯示來自術士的破壞",
["Show break from warriors"] = "顯示來自戰士的破壞",
["Show break from your pet"] = "顯示來自自己寵物的破壞",
["Show break of "] = "當該技能被破壞時顯示",
["Show break on druids"] = "當作用於德魯伊身上控制技能被破壞時顯示",
["Show break on hunters"] = "當作用於獵人身上控制技能被破壞時顯示",
["Show break on mages"] = "當作用於法師身上控制技能被破壞時顯示",
["Show break on mainassists"] = "當作用於主助理身上控制技能被破壞時顯示",
["Show break on maintanks"] = "當作用於主坦克身上控制技能被破壞時顯示",
["Show break on others"] = "當作用於其他人身上控制技能被破壞時顯示",
["Show break on paladins"] = "當作用於聖騎士身上控制技能被破壞時顯示",
["Show break on party members"] = "當作用於隊伍成員身上控制技能被破壞時顯示",
["Show break on party pets"] = "當作用於隊伍寵物身上控制技能被破壞時顯示",
["Show break on player"] = "當作用於自己身上控制技能被破壞時顯示",
["Show break on priests"] = "當作用於牧師身上控制技能被破壞時顯示",
["Show break on raid members"] = "當作用於團隊成員身上控制技能被破壞時顯示",
["Show break on raid pets"] = "當作用於團隊寵物身上控制技能被破壞時顯示",
["Show break on rogues"] = "當作用於盜賊身上控制技能被破壞時顯示",
["Show break on shamans"] = "當作用於薩滿身上控制技能被破壞時顯示",
["Show break on warlocks"] = "當作用於術士身上控制技能被破壞時顯示",
["Show break on warriors"] = "當作用於戰士身上控制技能被破壞時顯示",
["Show break on your pet"] = "當作用於自己寵物身上控制技能被破壞時顯示",
["show effects"] = "要顯示的效果",
["show from"] = "破壞者過濾",
["show on"] = "目標過濾",
["Slash-Commands"] = "命令",
["spell"] = "控制技能",
["target"] = "施放目標",
["text if only spell an target are given"] = "在只能得到“控制技能”以及“施放目標”訊息時使用的文字",
["text if only spell, target and breaker are given"] = "在只能得到“控制技能”、“施放目標”以及“破壞者”訊息時使用的文字",
["text if spell, target, breaker and ability are given"] = "在“控制技能”、“施放目標”、“破壞者”以及“破壞技能”訊息都有時使用的文字",
["text"] = "文字",
["three"] = "簡短訊息",
["two"] = "最短訊息",
["unit"] = "單位",
["warlock"] = "術士",
["warrior"] = "戰士",
} end)
\ No newline at end of file
v0.5b/embeds.xml New file
0,0 → 1,15
<Ui xmlns="http://www.blizzard.com/wow/ui/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.blizzard.com/wow/ui/
..\FrameXML\UI.xsd">
 
<Script file="libs\AceLibrary\AceLibrary.lua"/>
<Script file="libs\AceAddon-2.0\AceAddon-2.0.lua"/>
<Script file="libs\AceConsole-2.0\AceConsole-2.0.lua"/>
<Script file="libs\AceEvent-2.0\AceEvent-2.0.lua"/>
<Script file="libs\AceDB-2.0\AceDB-2.0.lua"/>
<Script file="libs\AceLocale-2.2\AceLocale-2.2.lua"/>
 
<Script file="libs\FuBarPlugin-2.0\FuBarPlugin-2.0.lua"/>
<Script file="libs\Tablet-2.0\Tablet-2.0.lua"/>
<Script file="libs\Waterfall-1.0\Waterfall-1.0.lua"/>
 
</Ui>
v0.5b/Locale-zhCN.lua New file
0,0 → 1,129
local L = AceLibrary("AceLocale-2.2"):new("CCBreaker")
 
--[[
Explanation:
[spell] : name of the broken spell
[target] : name of the target the spell was on
[breaker] : name of the person removing the spell
[ability] : name of the ability breaking the spell
]]--
 
L:RegisterTranslations("zhCN", function() return {
["[spell] on [target] was removed by [breaker]"] = "[target]身上的[spell]因为[breaker]的行为而消失了",
["[spell] on [target] was removed by [breaker]'s [ability]"] = "[target]身上的[spell]因为[breaker]的[ability]而消失了",
["[spell] on [target] was removed"] = "[target]身上的[spell]消失了",
["ability"] = "肇事技能",
["breaker"] = "肇事者",
["broadcast as raidwarning"] = "以团队警告的形式广播",
["broadcast to party"] = "广播到队伍频道",
["broadcast to raid"] = "广播到团队频道",
["center"] = "错误提示信息框",
["Change the displayed text, leave blank for default"] = "更改屏幕中间的文字,留空则使用默认文字",
["Chat options"] = "聊天频道选项",
["chat"] = "频道",
["Chose color to use"] = "选择要使用的颜色",
["class"] = "职业",
["Color messages"] = "颜色信息",
["color text"] = "颜色文字",
["color"] = "颜色",
["config"] = "打开配置窗口",
["console"] = "聊天窗口",
["debug"] = "调试",
["Display ability breaking the CC"] = "显示破坏了控制技能的技能",
["Display broken spell"] = "显示被破坏了的技能",
["Display centered messages"] = "在屏幕中间显示信息",
["Display console messages"] = "在聊天窗口显示信息",
["Display freed target"] = "显示曾被控制的那个目标",
["Display options for centered messages"] = "在错误提示信息框中显示提醒文本",
["Display options in console"] = "在聊天窗口里显示提醒文本",
["Display options in Fubar"] = "在FuBar提示窗口里显示",
["Display options"] = "有关信息显示的选项",
["Display who broke CC"] = "显示是谁破坏了控制技能",
["display"] = "显示",
["druid"] = "德鲁伊",
["Enable debug messages"] = "启用调试信息",
["enable"] = "启用",
["Filter for classes"] = "职业过滤器",
["Filter for raid roles"] = "团队角色过滤器",
["Filter for unit types"] = "单位类型过滤器",
["Filter Options"] = "过滤器选项",
["filter"] = "过滤器",
["four"] = "详细信息",
["fubar"] = "FuBar",
["hunter"] = "猎人",
["mage"] = "法师",
["mainassist"] = "主助理",
["maintank"] = "主坦克",
["Open config in a Waterall window"] = "在Waterfall窗口里进行选项配置",
["others"] = "其他人",
["paladin"] = "圣骑士",
["party pet"] = "队伍宠物",
["party"] = "队伍",
["pet"] = "宠物",
["player"] = "自己",
["priest"] = "牧师",
["raid pet"] = "团队宠物",
["raid"] = "团队",
["raidwarning"] = "团队警告",
["Report CC breaks from those only"] = "只报告来自于这些选定的人的破坏",
["Report CC breaks of effects"] = "只报告这些选定的法术效果",
["Report CC breaks to those targets only"] = "只报告对于这些目标的破坏",
["Reset breaker data"] = "重置所统计的数据",
["reset"] = "重置",
["Rightclick for options"] = "右键点击打开选项菜单",
["rogue"] = "潜行者",
["role"] = "角色",
["shaman"] = "萨满祭司",
["Show break from druids"] = "显示来自德鲁伊的破坏",
["Show break from hunters"] = "显示来自猎人的破坏",
["Show break from mages"] = "显示来自法师的破坏",
["Show break from mainassists"] = "显示来自主助理的破坏",
["Show break from maintanks"] = "显示来自主坦克的破坏",
["Show break from others"] = "显示来自其他人的破坏",
["Show break from paladins"] = "显示来自圣骑士的破坏",
["Show break from party members"] = "显示来自队伍成员的破坏",
["Show break from party pets"] = "显示来自队伍宠物的破坏",
["Show break from player"] = "显示来自自己的破坏",
["Show break from priests"] = "显示来自牧师的破坏",
["Show break from raid members"] = "显示来自团队成员的破坏",
["Show break from raid pets"] = "显示来自团队宠物的破坏",
["Show break from rogues"] = "显示来自潜行者的破坏",
["Show break from shamans"] = "显示来自萨满祭司的破坏",
["Show break from warlocks"] = "显示来自术士的破坏",
["Show break from warriors"] = "显示来自战士的破坏",
["Show break from your pet"] = "显示来自自己宠物的破坏",
["Show break of "] = "当该技能被破坏时显示",
["Show break on druids"] = "当作用于德鲁伊身上控制技能被破坏时显示",
["Show break on hunters"] = "当作用于猎人身上控制技能被破坏时显示",
["Show break on mages"] = "当作用于法师身上控制技能被破坏时显示",
["Show break on mainassists"] = "当作用于主助理身上控制技能被破坏时显示",
["Show break on maintanks"] = "当作用于主坦克身上控制技能被破坏时显示",
["Show break on others"] = "当作用于其他人身上控制技能被破坏时显示",
["Show break on paladins"] = "当作用于圣骑士身上控制技能被破坏时显示",
["Show break on party members"] = "当作用于队伍成员身上控制技能被破坏时显示",
["Show break on party pets"] = "当作用于队伍宠物身上控制技能被破坏时显示",
["Show break on player"] = "当作用于自己身上控制技能被破坏时显示",
["Show break on priests"] = "当作用于牧师身上控制技能被破坏时显示",
["Show break on raid members"] = "当作用于团队成员身上控制技能被破坏时显示",
["Show break on raid pets"] = "当作用于团队宠物身上控制技能被破坏时显示",
["Show break on rogues"] = "当作用于潜行者身上控制技能被破坏时显示",
["Show break on shamans"] = "当作用于萨满祭司身上控制技能被破坏时显示",
["Show break on warlocks"] = "当作用于术士身上控制技能被破坏时显示",
["Show break on warriors"] = "当作用于战士身上控制技能被破坏时显示",
["Show break on your pet"] = "当作用于自己宠物身上控制技能被破坏时显示",
["show effects"] = "要显示的效果",
["show from"] = "肇事者过滤",
["show on"] = "目标过滤",
["Slash-Commands"] = "命令",
["spell"] = "控制技能",
["target"] = "施放目标",
["text if only spell an target are given"] = "在只能得到“控制技能”以及“施放目标”信息时使用的文字",
["text if only spell, target and breaker are given"] = "在只能得到“控制技能”、“施放目标”以及“肇事者”信息时使用的文字",
["text if spell, target, breaker and ability are given"] = "在“控制技能”、“施放目标”、“肇事者”以及“肇事技能”信息都有时使用的文字",
["text"] = "文本",
["three"] = "简短信息",
["two"] = "最短信息",
["unit"] = "单位",
["warlock"] = "术士",
["warrior"] = "战士",
} end)
v0.5b/CCBreaker.lua New file
0,0 → 1,533
CCBreaker = AceLibrary("AceAddon-2.0"):new("AceEvent-2.0","FuBarPlugin-2.0","AceConsole-2.0","AceDB-2.0")
local AceEvent = AceLibrary("AceEvent-2.0")
local CCLocale = AceLibrary("AceLocale-2.2"):new("CCBreaker")
local CCTablet = AceLibrary("Tablet-2.0")
CCBreaker.revision = tonumber(string.find("$Revision$","%d+")) or 1
 
-- Database
 
CCBreaker:RegisterDB("CCBreakerDB","CCBreakerDBPC")
 
-- basic datastructures
 
local oddline = {
['text']="",
['text2']="",
['text3']="",
['text4']="",
['textR']=1,
['textG']=1,
['textB']=1,
['text2R']=1,
['text2G']=1,
['text2B']=1,
['text3R']=1,
['text3G']=1,
['text3B']=1,
['text4R']=1,
['text4G']=1,
['text4B']=1,
['justify']="LEFT",
['justify2']="LEFT",
['justify3']="LEFT",
['justify4']="LEFT",
}
 
local evenline = {
['text']="",
['text2']="",
['text3']="",
['text4']="",
['textR']=0.7,
['textG']=0.7,
['textB']=0.7,
['text2R']=0.7,
['text2G']=0.7,
['text2B']=0.7,
['text3R']=0.7,
['text3G']=0.7,
['text3B']=0.7,
['text4R']=0.7,
['text4G']=0.7,
['text4B']=0.7,
['justify']="LEFT",
['justify2']="LEFT",
['justify3']="LEFT",
['justify4']="LEFT",
}
 
--combat log locals
local CombatLog_Object_IsA = CombatLog_Object_IsA
local COMBATLOG_OBJECT_NONE = COMBATLOG_OBJECT_NONE
local COMBATLOG_OBJECT_REACTION_HOSTILE = COMBATLOG_OBJECT_REACTION_HOSTILE or 0x00000040
 
local breakers = {}
 
local toUnitID = {}
local playerName = UnitName("player")
 
local should_UpdateToUnitID = false
local function UpdateToUnitID()
should_UpdateToUnitID = false
for k in pairs(toUnitID) do
if k ~= playerName then
toUnitID[k] = nil
end
end
 
local numParty = GetNumPartyMembers()
local numRaid = GetNumRaidMembers()
if numRaid > 0 then
for i = 1, numRaid do
local unitID = "raidpet" .. i
if UnitExists(unitID) then
toUnitID[UnitName(unitID)] = unitID
end
end
if UnitExists("pet") then
toUnitID[UnitName("pet")] = "pet"
end
for i = 1, numRaid do
local unitID = "raid" .. i
toUnitID[UnitName(unitID)] = unitID
end
elseif numParty > 0 then
for i = 1, numParty do
local unitID = "partypet" .. i
if UnitExists(unitID) then
toUnitID[UnitName(unitID)] = unitID
end
end
if UnitExists("pet") then
toUnitID[UnitName("pet")] = "pet"
end
for i = 1, numParty do
local unitID = "party" .. i
toUnitID[UnitName(unitID)] = unitID
end
else
if UnitExists("pet") then
toUnitID[UnitName("pet")] = "pet"
end
end
end
 
 
-- table recycling
local breakertablecache ={}
 
local function RecycleBreakerTable()
while #breakers > 0 do
table.insert(breakertablecache, table.remove(breakers))
end
end
 
local function GetBreakerTable()
local t
if #breakertablecache > 0 then
t = table.remove(breakertablecache)
else
t = {}
end
return t
end
 
function CCBreaker:reset()
self.lastBreaker = nil
RecycleBreakerTable()
self:UpdateText()
end
 
-- Initialisation
 
CCBreaker.hasIcon = true
 
function CCBreaker:OnInitialize()
self.defaultMinimapPosition = 300
self:RegisterEvent("RAID_ROSTER_UPDATE","UnitUpdate")
self:RegisterEvent("PARTY_MEMBERS_CHANGED","UnitUpdate")
self:RegisterEvent("UNIT_PET","UnitUpdate")
self:RegisterEvent("PLAYER_PET_CHANGED","UnitUpdate")
self:RegisterEvent("PLAYER_LOGIN","UnitUpdate")
self:RegisterEvent("UNIT_NAME_UPDATE","UnitUpdate")
end
 
function CCBreaker:UnitUpdate()
should_UpdateToUnitID = true
UpdateToUnitID()
end
 
function CCBreaker:OnEnable()
toUnitID[playerName]="player"
self:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED", "CrowdControlBroken");
self.raidid = 0
end
 
function CCBreaker:OnDisable()
end
 
-- Workload
 
 
 
local function CreateText(info,textatt)
local hlcolor
local basecolor
local text
strings = textatt.strings
if (strings.two =="") then
strings.two = CCLocale["[spell] on [target] was removed"]
end
if (strings.three =="") then
strings.three = CCLocale["[spell] on [target] was removed by [breaker]"]
end
if (strings.four =="") then
strings.four = CCLocale["[spell] on [target] was removed by [breaker]'s [ability]"]
end
 
if textatt.colors then
hlcolor = textatt.color.colortext
basecolor = "|r"
else
hlcolor = ""
basecolor = ""
end
text = basecolor
if info.sourceName then
if info.sourceAbilityName then
text = string.gsub(strings.four,"%[ability%]",hlcolor..info.sourceAbilityName..basecolor)
else
text = strings.three
end
text = string.gsub(text,"%[breaker%]",hlcolor..info.sourceName..basecolor)
else
text = strings.two
end
text = string.gsub(text,"%[spell%]",hlcolor..info.recipientAbilityName..basecolor)
text = string.gsub(text,"%[target%]",hlcolor..info.recipientName..basecolor)
return text
end
 
local function DisplayConsole(info)
if CCBreaker.db.char.display.console.enable then
CCBreaker:Print(CreateText(info,CCBreaker.db.char.display.console))
end
end
 
function DisplayCenter(info)
if CCBreaker.db.char.display.center.enable then
UIErrorsFrame:AddMessage(CreateText(info,CCBreaker.db.char.display.center),
1.0, 1.0, 1.0, 5.0)
end
end
 
function SendToChat(info)
if (CCBreaker.db.char.chat.raid and GetNumRaidMembers() > 0) then
SendChatMessage( CreateText(info,CCBreaker.db.char.chat),"RAID" ,nil ,nil)
end
if (CCBreaker.db.char.chat.raidwarning and GetNumRaidMembers()+GetNumPartyMembers() > 0)then
SendChatMessage( CreateText(info,CCBreaker.db.char.chat),"RAID_WARNING" ,nil ,nil)
end
if (CCBreaker.db.char.chat.party and GetNumPartyMembers() > 0) then
SendChatMessage( CreateText(info,CCBreaker.db.char.chat),"PARTY" ,nil ,nil)
end
end
 
CCBreaker.filters={}
function CCBreaker.filters.unitfilter(filter,value)
local id
local name, class, role
if value then
unittype, unitnumber = string.match(value,"(%a*)(%d*)")
else
return filter.others
end
if ((not(unitnumber == "")) and UnitInRaid(value)) then
name, _, _, _, _, class, _, _, _, role, _ = GetRaidRosterInfo(unitnumber)
else
if UnitInParty(value) then
_,class = UnitClass(value)
class = string.upper(class)
end
end
 
 
 
local player = (unittype == "player")
local party = (unittype == "party")
local raid = (unittype == "raid")
local pet = (unittype == "pet")
local partypet = (unittype == "partypet")
local raidpet = (unittype == "raidpet")
 
-- I am in a raid
if player and UnitInRaid(value) then
local i = 0
name, _, _, _, _, class, _, _, _, role, _ = GetRaidRosterInfo(CCBreaker.raidid)
if not(name == UnitName("player")) then
i=1 --go search
end
if i >0 then
local playername = UnitName("player")
while i <= 40 do
name, _, _, _, _, class, _, _, _, role, _ = GetRaidRosterInfo(i)
if name == playername then
CCBreaker.raidid = i
i = 40
end
i=i+1
end
end
end
-- finaly got my role for sure
local typevalue = ( --check
( player and (filter.player)) or
( party and (filter.party)) or
( raid and (filter.raid)) or
( pet and (filter.pet)) or
( partypet and (filter.partypet)) or
( raidpet and (filter.raidpet)) or
(not (player or party or raid or pet or partypet or raidpet) and filter.others)
)
local classvalue = ( --check
(filter.warrior and class == "WARRIOR") or
(filter.warlock and class == "WARLOCK") or
(filter.hunter and class == "HUNTER") or
(filter.mage and class == "MAGE") or
(filter.priest and class == "PRIEST") or
(filter.druid and class == "DRUID") or
(filter.paladin and class == "PALADIN") or
(filter.shaman and class == "SHAMAN") or
(filter.rogue and class == "ROGUE") or
(class == nil))
local rolevalue = not(((not filter.maintank) and role == "MAINTANK") or
((not filter.mainassist) and role == "MAINASSIST"))
return (typevalue and classvalue and rolevalue)
end
 
CCBreaker.PolyId={
[118]=true, -- Polymorph (rank 1)
[12824]=true, -- Polymorph (rank 2)
[12825]=true, -- Polymorph (rank 3)
[12826]=true, -- Polymorph (rank 4)
[28272]=true, -- Polymorph (rank 1:pig)
[28271]=true, -- Polymorph (rank 1:turtle)
}
 
CCBreaker.ShackleId={
[9484]=true, -- Shackle Undead (rank 1)
[9485]=true, -- Shackle Undead (rank 2)
[10955]=true, -- Shackle Undead (rank 3)
}
 
CCBreaker.FreezingTrapId={
[3355]=true, -- Freezing Trap Effect (rank 1)
[14308]=true, -- Freezing Trap Effect (rank 2)
[14309]=true, -- Freezing Trap Effect (rank 3)
}
 
CCBreaker.HibernateId={
[2637]=true, -- Hibernate (rank 1)
[18657]=true, -- Hibernate (rank 2)
[18658]=true, -- Hibernate (rank 3)
}
 
CCBreaker.SapId={
[6770]=true, -- Sap (rank 1)
[2070]=true, -- Sap (rank 2)
[11297]=true, -- Sap (rank 3)
}
 
CCBreaker.SeductionId={
[6358]=true, -- Seduction (succubus)
}
 
local PolyId = CCBreaker.PolyId
local ShackleId = CCBreaker.ShackleId
local FreezingTrapId = CCBreaker.FreezingTrapId
local HibernateId = CCBreaker.HibernateId
local SapId = CCBreaker.SapId
local SeductionId = CCBreaker.SeductionId
 
function CCBreaker.filters.showeffects(showeffects,spellid)
 
return (ShackleId[spellid] and showeffects.shackleundead) or
(HibernateId[spellid] and showeffects.hibernate) or
(SapId[spellid] and showeffects.sap) or
(PolyId[spellid] and showeffects.polymorph) or
(FreezingTrapId[spellid] and showeffects.freezingtrap)
 
--[[ return (((spell == CCBabble["Shackle Undead"]) and (showeffects.shackleundead)) or
((spell == CCBabble["Hibernate"]) and (showeffects.hibernate)) or
((spell == CCBabble["Sap"]) and (showeffects.sap)) or
((spell == CCBabble["Seduction"]) and (showeffects.seduction)) or
(((spell == CCBabble["Polymorph"]) or (spell == CCBabble["Polymorph: Pig"])
or (spell == CCBabble["Polymorph: Turtle"])) and (showeffects.polymorphor
((spell == CCBabble["Freezing Trap Effect"]) and (showeffects.freezingtrap)))]]
end
 
 
 
function CCBreaker:filter(info)
local filters = self.filters
local sourceid
local targetid
 
local db = self.db.char
local spell = info.recipientAbilityName
local showfrom = self.db.char.showfrom
 
return (
-- "Show on" filter
filters.unitfilter(db.showon,info.recipientID) and
-- "Show From" filter
filters.unitfilter(db.showfrom,info.sourceID) and
-- "Show Effect" filter
filters.showeffects(db.showeffects,info.recipientAbilityId)
)
end
 
function CCBreaker:OnTextUpdate()
local text = {}
local lastbreaker = self.lastBreaker
local fubar = self.db.char.display.fubar
if ((lastbreaker == nil) or not
(fubar.spell or
fubar.target or
fubar.breaker or
fubar.ability
))then
table.insert(text,"CCBreaker")
else
if fubar.spell then
table.insert(text,lastbreaker.spell)
end
if fubar.target then
table.insert(text,lastbreaker.target)
end
if (fubar.breaker and not (lastbreaker.breaker=="")) then
table.insert(text,lastbreaker.breaker)
end
if (fubar.ability and not (lastbreaker.ability=="")) then
table.insert(text,lastbreaker.ability)
end
end
self:SetText(table.concat(text,"|"))
end
 
 
 
function CCBreaker:OnTooltipUpdate()
local cat = CCTablet:AddCategory(
'text',"",
'columns', 4
)
 
cat:AddLine(
'text', CCLocale["spell"],
'text2',CCLocale["target"],
'text3',CCLocale["breaker"],
'text4',CCLocale["ability"],
'textR',0,
'textG',1,
'textB',0,
'text2R',0,
'text2G',1,
'text2B',0,
'text3R',0,
'text3G',1,
'text3B',0,
'text4R',0,
'text4G',1,
'text4B',0,
'justify',"LEFT",
'justify2',"LEFT",
'justify3',"LEFT",
'justify4',"LEFT"
)
 
local isodd = true
local current
 
for i=1, #breakers do
if isodd then current = oddline else current = evenline end
isodd = not isodd
current['text'] = breakers[#breakers+1-i].spell
current['text2'] = breakers[#breakers+1-i].target
current['text3'] = breakers[#breakers+1-i].breaker
current['text4'] = breakers[#breakers+1-i].ability
cat:AddLine(current)
end
 
CCTablet:SetHint(CCLocale["Rightclick for options"])
end
 
function CCBreaker:CrowdControlBroken(
_,
eventType,
sourceGUID,
sourceName,
_,
destGUID,
destName,
destFlags,
spellId,
spellName,
_,
extraSpellId,
extraSpellName
)
if eventType == "SPELL_AURA_BROKEN" or eventType == "SPELL_AURA_BROKEN_SPELL" then
local info = {
["recipientID"] = toUnitID[recipientName],
["recipientName"] = destName,
["recipientAbilityName"] = spellName,
["recipientAbilityId"] = spellId,
["sourceID"] = toUnitID[sourceName],
["sourceName"] = sourceName,
["sourceAbilityName"] = extraSpellName,
["sourceAbilityId"] = extraSpellId,
}
if CCBreaker.db.char.debug then
CCBreaker:PrintLiteral(info)
CCBreaker:PrintLiteral(CCBreaker:filter(info))
CCBreaker:PrintLiteral(toUnitID)
--self:PrintLiteral(self.db.char.display.console)
end
 
if CCBreaker:filter(info) then
DisplayConsole(info)
DisplayCenter(info)
SendToChat(info)
 
--tooltip
local breaker = GetBreakerTable()
if (info.recipientAbilityName) then
breaker.spell = info.recipientAbilityName
else
breaker.spell = ""
end
 
if (info.recipientName) then
breaker.target = info.recipientName
else
breaker.target = ""
end
 
if (info.sourceAbilityName) then
breaker.ability = info.sourceAbilityName
else
breaker.ability = ""
end
 
if (info.sourceName) then
breaker.breaker = info.sourceName
else
breaker.breaker = ""
end
table.insert(breakers,breaker)
self.lastBreaker = breaker
self:UpdateText()
end
end
end
\ No newline at end of file
v0.5b/CCOptions.lua New file
0,0 → 1,755
local CCLocale = AceLibrary("AceLocale-2.2"):new("CCBreaker")
local CCWaterfall = AceLibrary("Waterfall-1.0")
 
local PolyId = CCBreaker.PolyId
local ShackleId = CCBreaker.ShackleId
local FreezingTrapId = CCBreaker.FreezingTrapId
local HibernateId = CCBreaker.HibernateId
local SapId = CCBreaker.SapId
local SeductionId = CCBreaker.SeductionId
 
CCBreaker:RegisterDefaults("char",{
debug = false;
showon = {
player = false,
party = false,
raid = false,
pet = false,
partypet = false,
raidpet = false,
others = true,
warrior = true,
warlock = true,
hunter = true,
rogue = true,
shaman = true,
priest = true,
paladin = true,
mage = true,
druid = true,
maintank = true,
mainassist = true,
},
showfrom = {
player = true,
party = true,
raid = true,
pet = true,
partypet = true,
raidpet = true,
others = false,
warrior = true,
warlock = true,
hunter = true,
rogue = true,
shaman = true,
priest = true,
paladin = true,
mage = true,
druid = true,
maintank = true,
mainassist = true,
},
showeffects = {
freezingtrap = true,
hibernate = true,
polymorph = true,
shackleundead = true,
sap = true,
seduction = true,
},
chat = {
raid = false,
raidwarning = false,
party = false,
strings={
two=CCLocale["[spell] on [target] was removed"],
three=CCLocale["[spell] on [target] was removed by [breaker]"],
four=CCLocale["[spell] on [target] was removed by [breaker]'s [ability]"],
},
},
display = {
fubar = {
spell = true,
target = false,
breaker = true,
ability = false,
},
center = {
colors = true,
enable = false,
color = {
r = 1,
g = 1,
b = 0.5,
a = 0,
colortext = "|cffff8000"
},
strings={
two=CCLocale["[spell] on [target] was removed"],
three=CCLocale["[spell] on [target] was removed by [breaker]"],
four=CCLocale["[spell] on [target] was removed by [breaker]'s [ability]"],
}
},
console = {
colors = true,
enable = true,
color = {
r = 1,
g = 1,
b = 0.5,
a = 0,
colortext = "|cffff8000"
},
strings={
two=CCLocale["[spell] on [target] was removed"],
three=CCLocale["[spell] on [target] was removed by [breaker]"],
four=CCLocale["[spell] on [target] was removed by [breaker]'s [ability]"],
},
colors = false;
},
},
})
 
 
-- Menu
 
CCBreaker.OnMenuRequest = {
type = "group",
args = {
debug ={
type = "toggle",
name = CCLocale["debug"],
desc = CCLocale["Enable debug messages"],
get = function() return CCBreaker.db.char.debug end,
set = function(v) CCBreaker.db.char.debug = v end,
},
reset = {
type = "execute",
name = CCLocale["reset"],
desc = CCLocale["Reset breaker data"],
func = "reset",
},
config = {
type = "execute",
name = CCLocale["config"],
desc = CCLocale["Open config in a Waterall window"],
func = function() CCWaterfall:Open("CCBreaker") end,
},
 
 
 
chat = {
type = "group",
name = CCLocale["chat"],
desc = CCLocale["Chat options"],
args = {
raid = {
type = "toggle",
name = CCLocale["raid"],
desc = CCLocale["broadcast to raid"],
get = function() return CCBreaker.db.char.chat.raid end,
set = function(v) CCBreaker.db.char.chat.raid = v end,
},
raidwarning = {
type = "toggle",
name = CCLocale["raidwarning"],
desc = CCLocale["broadcast as raidwarning"],
get = function() return CCBreaker.db.char.chat.raidwarning end,
set = function(v) CCBreaker.db.char.chat.raidwarning = v end,
},
party = {
type = "toggle",
name = CCLocale["party"],
desc = CCLocale["broadcast to party"],
get = function() return CCBreaker.db.char.chat.party end,
set = function(v) CCBreaker.db.char.chat.party = v end,
},
text = {
type = "group",
name = CCLocale["text"],
desc = CCLocale["Change the displayed text, leave blank for default"],
args ={
two = {
type = "text",
name = CCLocale["two"],
desc = CCLocale["text if only spell an target are given"],
usage = "[spell], [target]",
get = function() return CCBreaker.db.char.chat.strings.two end,
set = function(v) CCBreaker.db.char.chat.strings.two = v end,
},
three = {
type = "text",
name = CCLocale["three"],
desc = CCLocale["text if only spell, target and breaker are given"],
usage = "[spell], [target], [breaker]",
get = function() return CCBreaker.db.char.display.console.strings.three end,
set = function(v) CCBreaker.db.char.chat.strings.three = v end,
},
four = {
type = "text",
name = CCLocale["four"],
desc = CCLocale["text if spell, target, breaker and ability are given"],
usage = "[spell], [target], [breaker], [ability]",
get = function() return CCBreaker.db.char.display.console.strings.four end,
set = function(v) CCBreaker.db.char.chat.strings.four = v end,
},
},
},
},
},
 
 
 
display = {
type = "group",
name = CCLocale["display"],
desc = CCLocale["Display options"],
args = {
console ={
type = "group",
name = CCLocale["console"],
desc = CCLocale["Display options in console"],
args = {
color = {
type = "toggle",
name = CCLocale["color text"],
desc = CCLocale["Color messages"],
get = function() return CCBreaker.db.char.display.console.colors end,
set = function(v) CCBreaker.db.char.display.console.colors = v end,
},
colors = {
type = "color",
name = CCLocale["color"],
desc = CCLocale["Chose color to use"],
get = function() local color = CCBreaker.db.char.display.console.color
return color.r,color.g,color.b,color.a
end,
set = function(r,g,b,a) local color = CCBreaker.db.char.display.console.color
color.r = r
color.g = g
color.b = b
color.colortext = string.format("|cff%02x%02x%02x", r * 255, g * 255, b * 255)
end,
},
enable = {
type = "toggle",
name = CCLocale["enable"],
desc = CCLocale["Display console messages"],
get = function() return CCBreaker.db.char.display.console.enable end,
set = function(v) CCBreaker.db.char.display.console.enable = v end,
},
text = {
type = "group",
name = CCLocale["text"],
desc = CCLocale["Change the displayed text, leave blank for default"],
args ={
two = {
type = "text",
name = CCLocale["two"],
desc = CCLocale["text if only spell an target are given"],
usage = "[spell], [target]",
get = function() return CCBreaker.db.char.display.console.strings.two end,
set = function(v) CCBreaker.db.char.display.console.strings.two = v end,
},
three = {
type = "text",
name = CCLocale["three"],
desc = CCLocale["text if only spell, target and breaker are given"],
usage = "[spell], [target], [breaker]",
get = function() return CCBreaker.db.char.display.console.strings.three end,
set = function(v) CCBreaker.db.char.display.console.strings.three = v end,
},
four = {
type = "text",
name = CCLocale["four"],
desc = CCLocale["text if spell, target, breaker and ability are given"],
usage = "[spell], [target], [breaker], [ability]",
get = function() return CCBreaker.db.char.display.console.strings.four end,
set = function(v) CCBreaker.db.char.display.console.strings.four = v end,
},
},
},
},
},
center ={
type = "group",
name = CCLocale["center"],
desc = CCLocale["Display options for centered messages"],
args = {
color = {
type = "toggle",
name = CCLocale["color text"],
desc = CCLocale["Color messages"],
get = function() return CCBreaker.db.char.display.center.colors end,
set = function(v) CCBreaker.db.char.display.center.colors = v end,
},
colors = {
type = "color",
name = CCLocale["color"],
desc = CCLocale["Chose color to use"],
get = function() local color = CCBreaker.db.char.display.center.color
return color.r,color.g,color.b,color.a
end,
set = function(r,g,b,a) local color = CCBreaker.db.char.display.center.color
color.r = r
color.g = g
color.b = b
color.colortext = string.format("|cff%02x%02x%02x", r * 255, g * 255, b * 255)
end,
},
enable = {
type = "toggle",
name = CCLocale["enable"],
desc = CCLocale["Display centered messages"],
get = function() return CCBreaker.db.char.display.center.enable end,
set = function(v) CCBreaker.db.char.display.center.enable = v end,
},
text = {
type = "group",
name = CCLocale["text"],
desc = CCLocale["Change the displayed text, leave blank for default"],
args ={
two = {
type = "text",
name = CCLocale["two"],
desc = CCLocale["text if only spell an target are given"],
usage = "[spell], [target]",
get = function() return CCBreaker.db.char.display.center.strings.two end,
set = function(v) CCBreaker.db.char.display.center.strings.two = v end,
},
three = {
type = "text",
name = CCLocale["three"],
desc = CCLocale["text if only spell, target and breaker are given"],
usage = "[spell], [target], [breaker]",
get = function() return CCBreaker.db.char.display.center.strings.three end,
set = function(v) CCBreaker.db.char.display.center.strings.three = v end,
},
four = {
type = "text",
name = CCLocale["four"],
desc = CCLocale["text if spell, target, breaker and ability are given"],
usage = "[spell], [target], [breaker], [ability]",
get = function() return CCBreaker.db.char.display.center.strings.four end,
set = function(v) CCBreaker.db.char.display.center.strings.four = v end,
},
},
},
},
},
fubar = {
type = "group",
name = CCLocale["fubar"],
desc = CCLocale["Display options in Fubar"],
args = {
spell = {
type = "toggle",
name = CCLocale["spell"],
desc = CCLocale["Display broken spell"],
get = function() return CCBreaker.db.char.display.fubar.spell end,
set = function(v) CCBreaker.db.char.display.fubar.spell = v end,
},
target = {
type = "toggle",
name = CCLocale["target"],
desc = CCLocale["Display freed target"],
get = function() return CCBreaker.db.char.display.fubar.target end,
set = function(v) CCBreaker.db.char.display.fubar.target = v end,
},
breaker = {
type = "toggle",
name = CCLocale["breaker"],
desc = CCLocale["Display who broke CC"],
get = function() return CCBreaker.db.char.display.fubar.breaker end,
set = function(v) CCBreaker.db.char.display.fubar.breaker = v end,
},
ability = {
type = "toggle",
name = CCLocale["ability"],
desc = CCLocale["Display ability breaking the CC"],
get = function() return CCBreaker.db.char.display.fubar.ability end,
set = function(v) CCBreaker.db.char.display.fubar.ability = v end,
},
},
},
},
},
filter = {
type = "group",
name = CCLocale["filter"],
desc = CCLocale["Filter Options"],
args = {
 
showon = {
type = "group",
name = CCLocale["show on"],
desc = CCLocale["Report CC breaks to those targets only"],
args = {
role = {
type = "group",
name = CCLocale["role"],
desc = CCLocale["Filter for raid roles"],
args = {
maintank = {
type = "toggle",
name = CCLocale["maintank"],
desc = CCLocale["Show break on maintanks"],
get = function() return CCBreaker.db.char.showon.maintank end,
set = function(v) CCBreaker.db.char.showon.maintank = v end,
},
mainassist = {
type = "toggle",
name = CCLocale["mainassist"],
desc = CCLocale["Show break on mainassists"],
get = function() return CCBreaker.db.char.showon.mainassist end,
set = function(v) CCBreaker.db.char.showon.mainassist = v end,
},
},
},
unit = {
type = "group",
name = CCLocale["unit"],
desc = CCLocale["Filter for unit types"],
args = {
player = {
type = "toggle",
name = CCLocale["player"],
desc = CCLocale["Show break on player"],
get = function() return CCBreaker.db.char.showon.player end,
set = function(v) CCBreaker.db.char.showon.player = v end,
},
party = {
type = "toggle",
name = CCLocale["party"],
desc = CCLocale["Show break on party members"],
get = function() return CCBreaker.db.char.showon.party end,
set = function(v) CCBreaker.db.char.showon.party = v end,
},
raid = {
type = "toggle",
name = CCLocale["raid"],
desc = CCLocale["Show break on raid members"],
get = function() return CCBreaker.db.char.showon.raid end,
set = function(v) CCBreaker.db.char.showon.raid = v end,
},
pet = {
type = "toggle",
name = CCLocale["pet"],
desc = CCLocale["Show break on your pet"],
get = function() return CCBreaker.db.char.showon.pet end,
set = function(v) CCBreaker.db.char.showon.pet = v end,
},
partypet = {
type = "toggle",
name = CCLocale["party pet"],
desc = CCLocale["Show break on party pets"],
get = function() return CCBreaker.db.char.showon.partypet end,
set = function(v) CCBreaker.db.char.showon.partypet = v end,
},
raidpet = {
type = "toggle",
name = CCLocale["raid pet"],
desc = CCLocale["Show break on raid pets"],
get = function() return CCBreaker.db.char.showon.raidpet end,
set = function(v) CCBreaker.db.char.showon.raidpet = v end,
},
others = {
type = "toggle",
name = CCLocale["others"],
desc = CCLocale["Show break on others"],
get = function() return CCBreaker.db.char.showon.others end,
set = function(v) CCBreaker.db.char.showon.others = v end,
},
},
},
 
class = {
type = "group",
name = CCLocale["class"],
desc = CCLocale["Filter for classes"],
args = {
warrior = {
type = "toggle",
name = CCLocale["warrior"],
desc = CCLocale["Show break on warriors"],
get = function() return CCBreaker.db.char.showon.warrior end,
set = function(v) CCBreaker.db.char.showon.warrior = v end,
},
warlock = {
type = "toggle",
name = CCLocale["warlock"],
desc = CCLocale["Show break on warlocks"],
get = function() return CCBreaker.db.char.showon.warlock end,
set = function(v) CCBreaker.db.char.showon.warlock = v end,
},
hunter = {
type = "toggle",
name = CCLocale["hunter"],
desc = CCLocale["Show break on hunters"],
get = function() return CCBreaker.db.char.showon.hunter end,
set = function(v) CCBreaker.db.char.showon.hunter = v end,
},
paladin = {
type = "toggle",
name = CCLocale["paladin"],
desc = CCLocale["Show break on paladins"],
get = function() return CCBreaker.db.char.showon.paladin end,
set = function(v) CCBreaker.db.char.showon.paladin = v end,
},
priest = {
type = "toggle",
name = CCLocale["priest"],
desc = CCLocale["Show break on priests"],
get = function() return CCBreaker.db.char.showon.priest end,
set = function(v) CCBreaker.db.char.showon.priest = v end,
},
druid = {
type = "toggle",
name = CCLocale["druid"],
desc = CCLocale["Show break on druids"],
get = function() return CCBreaker.db.char.showon.druid end,
set = function(v) CCBreaker.db.char.showon.druid = v end,
},
shaman = {
type = "toggle",
name = CCLocale["shaman"],
desc = CCLocale["Show break on shamans"],
get = function() return CCBreaker.db.char.showon.shaman end,
set = function(v) CCBreaker.db.char.showon.shaman = v end,
},
mage = {
type = "toggle",
name = CCLocale["mage"],
desc = CCLocale["Show break on mages"],
get = function() return CCBreaker.db.char.showon.mage end,
set = function(v) CCBreaker.db.char.showon.mage = v end,
},
rogue = {
type = "toggle",
name = CCLocale["rogue"],
desc = CCLocale["Show break on rogues"],
get = function() return CCBreaker.db.char.showon.rogue end,
set = function(v) CCBreaker.db.char.showon.rogue = v end,
},
},
},
},
},
showfrom = {
type = "group",
name = CCLocale["show from"],
desc = CCLocale["Report CC breaks from those only"],
args = {
role = {
type = "group",
name = CCLocale["role"],
desc = CCLocale["Filter for raid roles"],
args = {
maintank = {
type = "toggle",
name = CCLocale["maintank"],
desc = CCLocale["Show break from maintanks"],
get = function() return CCBreaker.db.char.showfrom.maintank end,
set = function(v) CCBreaker.db.char.showfrom.maintank = v end,
},
mainassist = {
type = "toggle",
name = CCLocale["mainassist"],
desc = CCLocale["Show break from mainassists"],
get = function() return CCBreaker.db.char.showfrom.mainassist end,
set = function(v) CCBreaker.db.char.showfrom.mainassist = v end,
},
},
},
unit = {
type = "group",
name = CCLocale["unit"],
desc = CCLocale["Filter for unit types"],
args = {
player = {
type = "toggle",
name = CCLocale["player"],
desc = CCLocale["Show break from player"],
get = function() return CCBreaker.db.char.showfrom.player end,
set = function(v) CCBreaker.db.char.showfrom.player = v end,
},
party = {
type = "toggle",
name = CCLocale["party"],
desc = CCLocale["Show break from party members"],
get = function() return CCBreaker.db.char.showfrom.party end,
set = function(v) CCBreaker.db.char.showfrom.party = v end,
},
raid = {
type = "toggle",
name = CCLocale["raid"],
desc = CCLocale["Show break from raid members"],
get = function() return CCBreaker.db.char.showfrom.raid end,
set = function(v) CCBreaker.db.char.showfrom.raid = v end,
},
pet = {
type = "toggle",
name = CCLocale["pet"],
desc = CCLocale["Show break from your pet"],
get = function() return CCBreaker.db.char.showfrom.pet end,
set = function(v) CCBreaker.db.char.showfrom.pet = v end,
},
partypet = {
type = "toggle",
name = CCLocale["party pet"],
desc = CCLocale["Show break from party pets"],
get = function() return CCBreaker.db.char.showfrom.partypet end,
set = function(v) CCBreaker.db.char.showfrom.partypet = v end,
},
raidpet = {
type = "toggle",
name = CCLocale["raid pet"],
desc = CCLocale["Show break from raid pets"],
get = function() return CCBreaker.db.char.showfrom.raidpet end,
set = function(v) CCBreaker.db.char.showfrom.raidpet = v end,
},
others = {
type = "toggle",
name = CCLocale["others"],
desc = CCLocale["Show break from others"],
get = function() return CCBreaker.db.char.showfrom.others end,
set = function(v) CCBreaker.db.char.showfrom.others = v end,
},
},
},
class = {
type = "group",
name = CCLocale["class"],
desc = CCLocale["Filter for classes"],
args = {
warrior = {
type = "toggle",
name = CCLocale["warrior"],
desc = CCLocale["Show break from warriors"],
get = function() return CCBreaker.db.char.showfrom.warrior end,
set = function(v) CCBreaker.db.char.showfrom.warrior = v end,
},
warlock = {
type = "toggle",
name = CCLocale["warlock"],
desc = CCLocale["Show break from warlocks"],
get = function() return CCBreaker.db.char.showfrom.warlock end,
set = function(v) CCBreaker.db.char.showfrom.warlock = v end,
},
hunter = {
type = "toggle",
name = CCLocale["hunter"],
desc = CCLocale["Show break from hunters"],
get = function() return CCBreaker.db.char.showfrom.hunter end,
set = function(v) CCBreaker.db.char.showfrom.hunter = v end,
},
paladin = {
type = "toggle",
name = CCLocale["paladin"],
desc = CCLocale["Show break from paladins"],
get = function() return CCBreaker.db.char.showfrom.paladin end,
set = function(v) CCBreaker.db.char.showfrom.paladin = v end,
},
priest = {
type = "toggle",
name = CCLocale["priest"],
desc = CCLocale["Show break from priests"],
get = function() return CCBreaker.db.char.showfrom.priest end,
set = function(v) CCBreaker.db.char.showfrom.priest = v end,
},
druid = {
type = "toggle",
name = CCLocale["druid"],
desc = CCLocale["Show break from druids"],
get = function() return CCBreaker.db.char.showfrom.druid end,
set = function(v) CCBreaker.db.char.showfrom.druid = v end,
},
shaman = {
type = "toggle",
name = CCLocale["shaman"],
desc = CCLocale["Show break from shamans"],
get = function() return CCBreaker.db.char.showfrom.shaman end,
set = function(v) CCBreaker.db.char.showfrom.shaman = v end,
},
mage = {
type = "toggle",
name = CCLocale["mage"],
desc = CCLocale["Show break from mages"],
get = function() return CCBreaker.db.char.showfrom.mage end,
set = function(v) CCBreaker.db.char.showfrom.mage = v end,
},
rogue = {
type = "toggle",
name = CCLocale["rogue"],
desc = CCLocale["Show break from rogues"],
get = function() return CCBreaker.db.char.showfrom.rogue end,
set = function(v) CCBreaker.db.char.showfrom.rogue = v end,
},
},
},
},
},
showeffects = {
type = "group",
name = CCLocale["show effects"],
desc = CCLocale["Report CC breaks of effects"],
args = {
freezingtrap = {
type = "toggle",
name = GetSpellInfo(3355),
desc = CCLocale["Show break of "]..GetSpellInfo(3355),
get = function() return CCBreaker.db.char.showeffects.freezingtrap end,
set = function(v) CCBreaker.db.char.showeffects.freezingtrap = v end,
},
hibernate = {
type = "toggle",
name = GetSpellInfo(2637),
desc = CCLocale["Show break of "], GetSpellInfo(2637),
get = function() return CCBreaker.db.char.showeffects.hibernate end,
set = function(v) CCBreaker.db.char.showeffects.hibernate = v end,
},
polymorph = {
type = "toggle",
name = GetSpellInfo(118),
desc = CCLocale["Show break of "]..GetSpellInfo(118)..", "
..GetSpellInfo(28271).." and "
..GetSpellInfo(28272),
get = function() return CCBreaker.db.char.showeffects.polymorph end,
set = function(v) CCBreaker.db.char.showeffects.polymorph = v end,
},
sap = {
type = "toggle",
name = GetSpellInfo(6770),
desc = CCLocale["Show break of "]..GetSpellInfo(6770),
get = function() return CCBreaker.db.char.showeffects.sap end,
set = function(v) CCBreaker.db.char.showeffects.sap = v end,
},
seduction = {
type = "toggle",
name = GetSpellInfo(6358),
desc = CCLocale["Show break of "]..GetSpellInfo(6358),
get = function() return CCBreaker.db.char.showeffects.seduction end,
set = function(v) CCBreaker.db.char.showeffects.seduction = v end,
},
shackleundead = {
type = "toggle",
name = GetSpellInfo(9484),
desc = CCLocale["Show break of "]..GetSpellInfo(9484),
get = function() return CCBreaker.db.char.showeffects.shackleundead end,
set = function(v) CCBreaker.db.char.showeffects.shackleundead = v end,
},
},
},
},
},
},
}
 
 
 
--CCBreaker:RegisterChatCommand(CCLocale["Slash-Commands"],CCBreaker.OnMenuRequest)
CCWaterfall:Register("CCBreaker","aceOptions",CCBreaker.OnMenuRequest,"title","CCBreaker Options","treeLevels",3)
 
 
 
v0.5b/Locale-koKR.lua New file
0,0 → 1,131
local L = AceLibrary("AceLocale-2.2"):new("CCBreaker")
 
--[[
Explanation:
[spell] : name of the broken spell
[target] : name of the target the spell was on
[breaker] : name of the person removing the spell
[ability] : name of the ability breaking the spell
]]--
 
L:RegisterTranslations("koKR", function() return {
["[spell] on [target] was removed by [breaker]"] = "[target]의 [spell]|1이;가; [breaker]에 의해서 해제되었습니다",
["[spell] on [target] was removed by [breaker]"]= "[target]의 [spell]|1이;가; [breaker]에 의해서 해제되었습니다",
["[spell] on [target] was removed by [breaker]'s [ability]"] = "[target]의 [spell]|1이;가; [breaker]의 [ability]에 의해서 해제되었습니다",
["[spell] on [target] was removed by [breaker]'s [ability]"]= "[target]의 [spell]|1이;가; [breaker]의 [ability]에 의해서 해제되었습니다",
["[spell] on [target] was removed"] = "[target]의 [spell]|1이;가; 해제되었습니다",
["[spell] on [target] was removed"]= "[target]의 [spell]|1이;가; 해제되었습니다",
["ability"] = "해제기술",
["ability"]= "해제기술",
["breaker"] = "해제자",
["breaker"]= "해제자",
["center"] = "중앙",
["Change the displayed text, leave blank for default"] = "표시될 문자열을 변경합니다. 기본값은 공백으로 남겨둡니다",
["Chose color to use"] = "사용할 색상을 선택합니다",
["class"] = "직업",
["Color messages"] = "메시지에 색상 사용",
["color text"] = "문자 색상",
["color"] = "색상",
["config"] = "설정",
["console"] = "대화창",
["debug"] = "디버그",
["Display ability breaking the CC"] = "군중제어 효과 해제 능력을 표시합니다",
["Display broken spell"] = "해제된 주문을 표시합니다",
["Display centered messages"] = "중앙에 메세지를 표시합니다",
["Display console messages"] = "대화창에 메세지를 표시합니다",
["Display freed target"] = "해제된 대상 표시",
["Display options for centered messages"] = "중앙에 표시될 메세지의 설정을 변경합니다",
["Display options in console"] = "대화창에 표시될 메세지의 설정을 변경합니다",
["Display options in Fubar"] = "Fubar에 표시될 내용을 설정합니다",
["Display options"] = "표시 설정",
["Display who broke CC"] = "군중 제어 해제자 표시",
["display"] = "표시",
["druid"] = "드루이드",
["Enable debug messages"] = "디버그 메세지를 사용",
["enable"] = "사용",
["Filter for classes"] = "직업별 필터",
["Filter for raid roles"] = "공격대 역활별 필터",
["Filter for unit types"] = "유닛 종류별 필터",
["Filter Options"] = "필터 설정",
["filter"] = "필터",
["four"] = "주문 - 대상 - 해제자 - 해제 기술",
["fubar"] = "Fubar",
["hunter"] = "사냥꾼",
["mage"] = "마법사",
["mainassist"] = "메인어시스트",
["maintank"] = "메인탱커",
["Open config in a Waterall window"] = "Waterfall 설정창을 엽니다",
["others"] = "기타",
["paladin"] = "성기사",
["party pet"] = "파티원 소환수",
["party"] = "파티",
["pet"] = "소환수",
["player"] = "플레이어",
["priest"] = "사제",
["raid pet"] = "공격대원 소환수",
["raid"] = "공격대",
["Report CC breaks from those only"] = "군중제어 해제자에게 알림",
["Report CC breaks of effects"] = "군중제어 효과 보고",
["Report CC breaks to those targets only"] = "해제된 군중제어 목표의 대상에게 알림",
["Reset breaker data"] = "해제 정보 초기화",
["reset"] = "초기화",
["Rightclick for options"] = "우클릭시 설정 변경",
["rogue"] = "도적",
["role"] = "역활",
["shaman"] = "주술사",
["Show break from druids"] = "드루이드가 해제한 경우 표시",
["Show break from hunters"] = "사냥꾼이 해제한 경우 표시",
["Show break from mages"] = "마법사가 해제한 경우 표시",
["Show break from mainassists"] = "메인어시스트가 해제한 경우 표시",
["Show break from maintanks"] = "매인탱커가 해제한 경우 표시",
["Show break from others"] = "기타 경우의 해제에 대해 표시",
["Show break from paladins"] = "성기사가 해제한 경우 표시",
["Show break from party members"] = "파티원이 해제한 경우 표시",
["Show break from party pets"] = "파티원의 소환수가 해제한 경우 표시",
["Show break from player"] = "자신이 해제한 경우 표시",
["Show break from priests"] = "사제가 해제한 경우 표시",
["Show break from raid members"] = "공격대원이 해제한 경우 표시",
["Show break from raid pets"] = "공격대원의 소환수가 해제한 경우 표시",
["Show break from rogues"] = "도적이 해제한 경우 표시",
["Show break from shamans"] = "주술사가 해제한 경우 표시",
["Show break from warlocks"] = "흑마법사가 해제한 경우 표시",
["Show break from warriors"] = "전사가 해제한 경우 표시",
["Show break from your pet"] = "소환수가 해제한 경우 표시",
["Show break of "] = " 주문의 해제 표시",
["Show break on druids"] = "드루이드가 걸린 군중 제어 효과 표시",
["Show break on hunters"] = "사냥꾼이 걸린 군중 제어 효과 표시",
["Show break on mages"] = "마법사가 걸린 군중 제어 효과 표시",
["Show break on mainassists"] = "메인어시스트가 걸린 군중 제어 효과 표시",
["Show break on maintanks"] = "메인탱커가 걸린 군중 제어 효과 표시",
["Show break on others"] = "기타 경우가 걸린 군중 제어 효과 표시",
["Show break on paladins"] = "성기사가 걸린 군중 제어 효과 표시",
["Show break on party members"] = "파티원이 걸린 군중 제어 효과 표시",
["Show break on party pets"] = "파티원의 소환수가 걸린 군중 제어 효과 표시",
["Show break on player"] = "자신이 걸린 군중 제어 효과 표시",
["Show break on priests"] = "사제가 걸린 군중 제어 효과 표시",
["Show break on raid members"] = "공대원이 걸린 군중 제어 효과 표시",
["Show break on raid pets"] = "공격대원의 소환수가 걸린 군중 제어 효과 표시",
["Show break on rogues"] = "도적이 걸린 군중 제어 효과 표시",
["Show break on shamans"] = "주술사가 걸린 군중 제어 효과 표시",
["Show break on warlocks"] = "흑마법사가 걸린 군중 제어 효과 표시",
["Show break on warriors"] = "전사가 걸린 군중 제어 효과 표시",
["Show break on your pet"] = "소환수가 걸린 군중 제어 효과 표시",
["show effects"] = "군중 제어 효과 표시",
["show from"] = "군중 제어 해제자 표시",
["show on"] = "군중 제어 대상 표시",
-- ["Slash-Commands"] = true,
-- ["Slash-Commands"] = { "/ccbreaker", "/ccb" },
["spell"] = "주문",
["spell"]= "주문",
["target"] = "대상",
["target"]= "대상",
["text if only spell an target are given"] = "주문과 군중제어 대상이 있을 경우에만 텍스트 표시",
["text if only spell, target and breaker are given"] = "주문과 군중 제어 대상, 해제자가 있을 경우에만 표시",
["text if spell, target, breaker and ability are given"] = "주문과 군중 제어 대상, 해제자, 해제 기술이 있을 경우에만 표시",
["text"] = "텍스트",
["three"] = "주문 - 대상 - 해제자",
["two"] = "주문 - 대상",
["unit"] = "유닛",
["warlock"] = "흑마법사",
["warrior"] = "전사",
} end)
v0.5b Property changes : Added: svn:externals + libs/AceAddon-2.0 svn://svn.wowace.com/wow/ace2/mainline/trunk/AceAddon-2.0 libs/Waterfall-1.0 svn://svn.wowace.com/wow/waterfall-1-0/mainline/trunk/Waterfall-1.0 libs/Tablet-2.0 svn://svn.wowace.com/wow/tabletlib/mainline/trunk/Tablet-2.0 libs/Dewdrop-2.0 svn://svn.wowace.com/wow/dewdroplib/mainline/trunk/Dewdrop-2.0 libs/AceDB-2.0 svn://svn.wowace.com/wow/ace2/mainline/trunk/AceDB-2.0 libs/AceLocale-2.2 svn://svn.wowace.com/wow/ace2/mainline/trunk/AceLocale-2.2 libs/FuBarPlugin-2.0 svn://svn.wowace.com/wow/fubarplugin-2-0/mainline/trunk/FuBarPlugin-2.0 libs/AceEvent-2.0 svn://svn.wowace.com/wow/ace2/mainline/trunk/AceEvent-2.0 libs/AceLibrary svn://svn.wowace.com/wow/ace2/mainline/trunk/AceLibrary libs/AceConsole-2.0 svn://svn.wowace.com/wow/ace2/mainline/trunk/AceConsole-2.0 libs/AceOO-2.0 svn://svn.wowace.com/wow/ace2/mainline/trunk/AceOO-2.0