vanilla-wow-addons – Blame information for rev 1

Subversion Repositories:
Rev:
Rev Author Line No. Line
1 office 1 ------------------------------
2 -- Are you local? --
3 ------------------------------
4  
5 local boss = AceLibrary("Babble-Boss-2.2")["Ebonroc"]
6 local L = AceLibrary("AceLocale-2.2"):new("BigWigs"..boss)
7  
8 ----------------------------
9 -- Localization --
10 ----------------------------
11  
12 L:RegisterTranslations("enUS", function() return {
13 wingbuffet_trigger = "Ebonroc begins to cast Wing Buffet",
14 shadowflame_trigger = "Ebonroc begins to cast Shadow Flame.",
15 shadowcurse_trigger = "^([^%s]+) ([^%s]+) afflicted by Shadow of Ebonroc",
16  
17 you = "You",
18 are = "are",
19  
20 wingbuffet_message = "Wing Buffet! 30sec to next!",
21 wingbuffet_warning = "3sec to Wing Buffet!",
22 shadowflame_warning = "Shadow Flame incoming!",
23 shadowflame_message_you = "You have Shadow of Ebonroc!",
24 shadowflame_message_other = " has Shadow of Ebonroc!",
25  
26 wingbuffet_bar = "Wing Buffet",
27 shadowcurse_bar = "%s - Shadow of Ebonroc",
28  
29 cmd = "Ebonroc",
30  
31 wingbuffet_cmd = "wingbuffet",
32 wingbuffet_name = "Wing Buffet alert",
33 wingbuffet_desc = "Warn for Wing Buffet",
34  
35 shadowflame_cmd = "shadowflame",
36 shadowflame_name = "Shadow Flame alert",
37 shadowflame_desc = "Warn for Shadow Flame",
38  
39 youcurse_cmd = "youcurse",
40 youcurse_name = "Shadow of Ebonroc on you alert",
41 youcurse_desc = "Warn when you got Shadow of Ebonroc",
42  
43 elsecurse_cmd = "elsecurse",
44 elsecurse_name = "Shadow of Ebonroc on others alert",
45 elsecurse_desc = "Warn when others got Shadow of Ebonroc",
46  
47 shadowbar_cmd = "cursebar",
48 shadowbar_name = "Shadow of Ebonroc timer bar",
49 shadowbar_desc = "Shows a timer bar when someone gets Shadow of Ebonroc",
50 } end)
51  
52 L:RegisterTranslations("zhCN", function() return {
53 wingbuffet_trigger = "埃博诺克开始施放龙翼打击。",
54 shadowflame_trigger = "埃博诺克开始施放暗影烈焰。",
55 shadowcurse_trigger = "^(.+)受(.+)了埃博诺克之影",
56  
57 you = "你",
58 are = "到",
59  
60 wingbuffet_message = "龙翼打击 - 30秒后再次发动",
61 wingbuffet_warning = "3秒后发动龙翼打击!",
62 shadowflame_warning = "暗影烈焰发动!",
63 shadowflame_message_you = "你中了埃博诺克之影!",
64 shadowflame_message_other = "中了埃博诺克之影!",
65  
66 wingbuffet_bar = "龙翼打击",
67 shadowcurse_bar = "%s - 埃博诺克之影",
68  
69 wingbuffet_name = "龙翼打击警报",
70 wingbuffet_desc = "龙翼打击警报",
71  
72 shadowflame_name = "暗影烈焰警报",
73 shadowflame_desc = "暗影烈焰警报",
74  
75 youcurse_name = "玩家埃博诺克之影警报",
76 youcurse_desc = "你中了埃博诺克之影时发出警报",
77  
78 elsecurse_name = "队友埃博诺克之影警报",
79 elsecurse_desc = "队友中了埃博诺克之影时发出警报",
80  
81 shadowbar_name = "博诺克之影时间条",
82 shadowbar_desc = "显示博诺克之影持续时间的一个时间条",
83 } end)
84  
85 L:RegisterTranslations("zhTW", function() return {
86 -- Ebonroc 埃博諾克
87 wingbuffet_trigger = "埃博諾克開始施放龍翼打擊。",
88 shadowflame_trigger = "埃博諾克開始施放暗影烈焰。",
89 shadowcurse_trigger = "^(.+)受到(.*)埃博諾克之影",
90  
91 you = "你",
92 are = "了",
93  
94 wingbuffet_message = "龍翼打擊! 30 秒後再次發動!",
95 wingbuffet_warning = "3 秒後龍翼打擊!",
96 shadowflame_warning = "暗影烈焰發動!",
97 shadowflame_message_you = "你中了埃博諾克之影!",
98 shadowflame_message_other = " 中了埃博諾克之影!",
99  
100 wingbuffet_bar = "龍翼打擊",
101 shadowcurse_bar = "%s - 埃博諾克之影",
102  
103 wingbuffet_name = "龍翼打擊警報",
104 wingbuffet_desc = "當埃博諾克施放龍翼打擊時發出警報",
105  
106 shadowflame_name = "暗影烈焰警報",
107 shadowflame_desc = "當埃博諾克施放暗影烈焰時發出警報",
108  
109 youcurse_name = "埃博諾克之影警報",
110 youcurse_desc = "你中了埃博諾克之影時發出警報",
111  
112 elsecurse_name = "隊友埃博諾克之影警報",
113 elsecurse_desc = "隊友中了埃博諾克之影時發出警報",
114  
115 shadowbar_name = "埃博諾克之影時間條",
116 shadowbar_desc = "顯示埃博諾克之影持續時間的時間條",
117 } end)
118  
119 L:RegisterTranslations("koKR", function() return {
120 wingbuffet_trigger = "에본로크|1이;가; 폭풍 날개|1을;를; 시전합니다.",
121 shadowflame_trigger = "에본로크|1이;가; 암흑의 불길|1을;를; 시전합니다.",
122 shadowcurse_trigger = "^([^|;%s]*)(.*)에본로크의 그림자에 걸렸습니다%.$",
123  
124 you = "",
125 are = "",
126  
127 wingbuffet_message = "폭풍 날개! 다음은 30초 후!",
128 wingbuffet_warning = "3초후 폭풍 날개!",
129 shadowflame_warning = "암흑의 불길 경고!",
130 shadowflame_message_you = "당신은 에본로크의 그림자에 걸렸습니다!",
131 shadowflame_message_other = "님이 에본로크의 그림자에 걸렸습니다!",
132  
133 wingbuffet_bar = "폭풍 날개",
134 shadowcurse_bar = "%s - 에본로크의 그림자",
135  
136 wingbuffet_name = "폭풍 날개 경고",
137 wingbuffet_desc = "폭풍 날개에 대한 경고",
138  
139 shadowflame_name = "암흑의 불길 경고",
140 shadowflame_desc = "암흑의 불길에 대한 경고",
141  
142 youcurse_name = "자신의 에본로크의 그림자 경고",
143 youcurse_desc = "자신이 에본로크의 그림자에 걸렸을 때 경고",
144  
145 elsecurse_name = "타인의 에본로크의 그림자 경고",
146 elsecurse_desc = "타인이 에본로크의 그림자에 걸렸을 때 경고",
147  
148 shadowbar_name = "에본로크의 그림자 타이머 바",
149 shadowbar_desc = "에본로크의 그림자가 걸렸을 때 타이머 바 표시",
150 } end)
151  
152 L:RegisterTranslations("deDE", function() return {
153 wingbuffet_trigger = "Schattenschwinge beginnt Fl\195\188gelsto\195\159 zu wirken.",
154 shadowflame_trigger = "Schattenschwinge beginnt Schattenflamme zu wirken.",
155 shadowcurse_trigger = "^([^%s]+) (%w+) von Schattenschwinges Schatten betroffen.",
156  
157 you = "Ihr",
158 are = "seid",
159  
160 wingbuffet_message = "Fl\195\188gelsto\195\159!",
161 wingbuffet_warning = "Fl\195\188gelsto\195\159 in 3 Sekunden!",
162 shadowflame_warning = "Schattenflamme!",
163 shadowflame_message_you = "Du hast Schattenschwinges Schatten!",
164 shadowflame_message_other = " hat Schattenschwinges Schatten!",
165  
166 wingbuffet_bar = "Fl\195\188gelsto\195\159! N\195\164chster in 30 Sekunden!",
167 shadowcurse_bar = "%s - Schattenschwinges Schatten",
168  
169 wingbuffet_name = "Fl\195\188gelsto\195\159",
170 wingbuffet_desc = "Warnung, wenn Schattenschwinge Fl\195\188gelsto\195\159 wirkt.",
171  
172 shadowflame_name = "Schattenflamme",
173 shadowflame_desc = "Warnung, wenn Schattenschwinge Schattenflamme wirkt.",
174  
175 youcurse_name = "Schatten auf Dir",
176 youcurse_desc = "Warnung, wenn Du Schattenschwinges Schatten hast.",
177  
178 elsecurse_name = "Schatten auf Anderen",
179 elsecurse_desc = "Warnung, wenn andere Spieler Schattenschwinges Schatten haben.",
180  
181 shadowbar_name = "Schattenschwinges Schatten",
182 shadowbar_desc = "Zeigt einen Anzeigebalken wenn jemand Schattenschwinges Schatten hat.",
183 } end)
184  
185 L:RegisterTranslations("frFR", function() return {
186 wingbuffet_trigger = "Roch\195\169b\195\168ne commence \195\160 lancer Frappe des ailes.",
187 shadowflame_trigger = "Roch\195\169b\195\168ne commence \195\160 lancer Flamme d'ombre.",
188 shadowcurse_trigger = "^([^%s]+) ([^%s]+) les effets de Ombre de Roch\195\169b\195\168ne.",
189  
190 you = "Vous",
191 are = "subissez",
192  
193 wingbuffet_message = "Frappe des ailes ! 30 sec. avant la prochaine !",
194 wingbuffet_warning = "3 sec. avant la Frappe des ailes !",
195 shadowflame_warning = "Flamme d'ombre imminente !",
196 shadowflame_message_you = "Vous avez l'Ombre de Roch\195\169b\195\168ne !",
197 shadowflame_message_other = " a l'Ombre de Roch\195\169b\195\168ne !",
198  
199 wingbuffet_bar = "Frappe des ailes",
200 shadowcurse_bar = "%s - Ombre de Roch\195\169b\195\168ne",
201  
202 wingbuffet_name = "Alerte Frappe des ailes",
203 wingbuffet_desc = "Pr\195\169viens quand Roch\195\169b\195\168ne effectue sa Frappe des ailes.",
204  
205 shadowflame_name = "Alerte Flamme d'ombre",
206 shadowflame_desc = "Pr\195\169viens quand l'incantation de la Flamme d'ombre est imminente.",
207  
208 youcurse_name = "Alerte Ombre de Roch\195\169b\195\168ne sur vous",
209 youcurse_desc = "Pr\195\169viens quand vous subissez l'Ombre de Roch\195\169b\195\168ne.",
210  
211 elsecurse_name = "Alerte Ombre de Roch\195\169b\195\168ne sur les autres",
212 elsecurse_desc = "Pr\195\169viens quand les autres subissent l'Ombre de Roch\195\169b\195\168ne.",
213  
214 shadowbar_name = "Barre Ombre de Roch\195\169b\195\168ne",
215 shadowbar_desc = "Affiche une barre temporelle quand quelqu'un subit l'Ombre de Roch\195\169b\195\168ne.",
216 } end)
217  
218 ----------------------------------
219 -- Module Declaration --
220 ----------------------------------
221  
222 BigWigsEbonroc = BigWigs:NewModule(boss)
223 BigWigsEbonroc.zonename = AceLibrary("Babble-Zone-2.2")["Blackwing Lair"]
224 BigWigsEbonroc.enabletrigger = boss
225 BigWigsEbonroc.toggleoptions = { "youcurse", "elsecurse", "shadowbar", -1, "wingbuffet", "shadowflame", -1, "bosskill" }
226 BigWigsEbonroc.revision = tonumber(string.sub("$Revision: 16639 $", 12, -3))
227  
228 ------------------------------
229 -- Initialization --
230 ------------------------------
231  
232 function BigWigsEbonroc:OnEnable()
233 self:RegisterEvent("CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE")
234 self:RegisterEvent("CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE", "Event")
235 self:RegisterEvent("CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_DAMAGE", "Event")
236 self:RegisterEvent("CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE", "Event")
237 self:RegisterEvent("CHAT_MSG_COMBAT_HOSTILE_DEATH", "GenericBossDeath")
238  
239 self:RegisterEvent("BigWigs_RecvSync")
240 self:TriggerEvent("BigWigs_ThrottleSync", "EbonrocWingBuffet2", 10)
241 self:TriggerEvent("BigWigs_ThrottleSync", "EbonrocShadowflame", 10)
242 end
243  
244 ------------------------------
245 -- Event Handlers --
246 ------------------------------
247  
248 function BigWigsEbonroc:CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE(msg)
249 if msg == L["shadowflame_trigger"] then
250 self:TriggerEvent("BigWigs_SendSync", "EbonrocShadowflame")
251 elseif string.find(msg, L["wingbuffet_trigger"]) then
252 self:TriggerEvent("BigWigs_SendSync", "EbonrocWingBuffet2")
253 end
254 end
255  
256 function BigWigsEbonroc:BigWigs_RecvSync(sync)
257 if sync == "EbonrocWingBuffet2" and self.db.profile.wingbuffet then
258 self:TriggerEvent("BigWigs_Message", L["wingbuffet_message"], "Important")
259 self:ScheduleEvent("BigWigs_Message", 29, L["wingbuffet_warning"], "Important")
260 self:TriggerEvent("BigWigs_StartBar", self, L["wingbuffet_bar"], 32, "Interface\\Icons\\Spell_Fire_SelfDestruct")
261 elseif sync == "EbonrocShadowflame" and self.db.profile.shadowflame then
262 self:TriggerEvent("BigWigs_Message", L["shadowflame_warning"], "Important")
263 end
264 end
265  
266 function BigWigsEbonroc:Event(msg)
267 local _,_, EPlayer, EType = string.find(msg, L["shadowcurse_trigger"])
268 if (EPlayer and EType) then
269 if (EPlayer == L["you"] and EType == L["are"] and self.db.profile.youcurse) then
270 self:TriggerEvent("BigWigs_Message", L["shadowflame_message_you"], "Personal", true)
271 self:TriggerEvent("BigWigs_Message", UnitName("player") .. L["shadowflame_message_other"], "Attention", nil, nil, true )
272 elseif (self.db.profile.elsecurse) then
273 self:TriggerEvent("BigWigs_Message", EPlayer .. L["shadowflame_message_other"], "Attention")
274 self:TriggerEvent("BigWigs_SendTell", EPlayer, L["shadowflame_message_you"])
275 end
276 if self.db.profile.shadowbar then
277 self:TriggerEvent("BigWigs_StartBar", self, string.format(L["shadowcurse_bar"], EPlayer), 8, "Interface\\Icons\\Spell_Shadow_GatherShadows")
278 end
279 end
280 end
281