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")["Anubisath Defender"]
6 local L = AceLibrary("AceLocale-2.2"):new("BigWigs"..boss)
7  
8 ----------------------------
9 -- Localization --
10 ----------------------------
11  
12 L:RegisterTranslations("enUS", function() return {
13 cmd = "Defender",
14  
15 plagueyou_cmd = "plagueyou",
16 plagueyou_name = "Plague on you alert",
17 plagueyou_desc = "Warn if you got the Plague",
18  
19 plagueother_cmd = "plagueother",
20 plagueother_name = "Plague on others alert",
21 plagueother_desc = "Warn if others got the Plague",
22  
23 thunderclap_cmd = "thunderclap",
24 thunderclap_name = "Thunderclap Alert",
25 thunderclap_desc = "Warn for Thunderclap",
26  
27 explode_cmd = "explode",
28 explode_name = "Explode Alert",
29 explode_desc = "Warn for Explode",
30  
31 enrage_cmd = "enrage",
32 enrage_name = "Enrage Alert",
33 enrage_desc = "Warn for Enrage",
34  
35 summon_cmd = "summon",
36 summon_name = "Summon Alert",
37 summon_desc = "Warn for add summons",
38  
39 icon_cmd = "icon",
40 icon_name = "Place icon",
41 icon_desc = "Place raid icon on the last plagued person (requires promoted or higher)",
42  
43 explodetrigger = "Anubisath Defender gains Explode.",
44 explodewarn = "Exploding!",
45 enragetrigger = "Anubisath Defender gains Enrage.",
46 enragewarn = "Enraged!",
47 summonguardtrigger = "Anubisath Defender casts Summon Anubisath Swarmguard.",
48 summonguardwarn = "Swarmguard Summoned",
49 summonwarriortrigger = "Anubisath Defender casts Summon Anubisath Warrior.",
50 summonwarriorwarn = "Warrior Summoned",
51 plaguetrigger = "^([^%s]+) ([^%s]+) afflicted by Plague%.$",
52 plaguewarn = " has the Plague!",
53 plagueyouwarn = "You have the plague!",
54 plagueyou = "You",
55 plagueare = "are",
56 thunderclaptrigger = "^Anubisath Defender's Thunderclap hits ([^%s]+) for %d+%.",
57 thunderclapwarn = "Thunderclap!",
58 } end )
59  
60 L:RegisterTranslations("deDE", function() return {
61 plagueyou_name = "Du hast die Seuche",
62 plagueyou_desc = "Warnung, wenn Du die Seuche hast.",
63  
64 plagueother_name = "X hat die Seuche",
65 plagueother_desc = "Warnung, wenn andere Spieler die Seuche haben.",
66  
67 thunderclap_name = "Donnerknall",
68 thunderclap_desc = "Warnung vor Donnerknall.",
69  
70 explode_name = "Explosion",
71 explode_desc = "Warnung vor Explosion.",
72  
73 enrage_name = "Wutanfall",
74 enrage_desc = "Warnung vor Wutanfall.",
75  
76 summon_name = "Beschw\195\182rung",
77 summon_desc = "Warnung, wenn Verteidiger des Anubisath Schwarmwachen oder Krieger beschw\195\182rt.",
78  
79 icon_name = "Symbol",
80 icon_desc = "Platziert ein Symbol \195\188ber dem Spieler, der die Seuche hat. (Ben\195\182tigt Anf\195\188hrer oder Bef\195\182rdert Status.)",
81  
82 explodetrigger = "Verteidiger des Anubisath bekommt 'Explodieren'.",
83 explodewarn = "Explosion!",
84 enragetrigger = "Verteidiger des Anubisath bekommt 'Wutanfall'.",
85 enragewarn = "Wutanfall!",
86  
87 summonguardtrigger = "Verteidiger des Anubisath wirkt Schwarmwache des Anubisath beschw\195\182ren.",
88 summonguardwarn = "Schwarmwache beschworen!",
89 summonwarriortrigger = "Verteidiger des Anubisath wirkt Krieger des Anubisath beschw\195\182ren.",
90 summonwarriorwarn = "Krieger beschworen!",
91  
92 plaguetrigger = "^([^%s]+) ([^%s]+) von Seuche betroffen%.$",
93 plaguewarn = " hat die Seuche!",
94 plagueyouwarn = "Du hast die Seuche!",
95 plagueyou = "Ihr",
96 plagueare = "seid",
97  
98 thunderclaptrigger = "^Verteidiger des Anubisath's Donnerknall trifft ([^%s]+) f\195\188r %d+%.",
99 thunderclapwarn = "Donnerknall!",
100 } end )
101  
102 L:RegisterTranslations("zhCN", function() return {
103 plagueyou_name = "玩家瘟疫警报",
104 plagueyou_desc = "你中了瘟疫时发出警报",
105  
106 plagueother_name = "队友瘟疫警报",
107 plagueother_desc = "队友中了瘟疫时发出警报",
108  
109 thunderclap_name = "雷霆一击警报",
110 thunderclap_desc = "阿努比萨斯防御者发动雷霆一击时发出警报",
111  
112 explode_name = "爆炸警报",
113 explode_desc = "阿努比萨斯防御者即将爆炸时发出警报",
114  
115 enrage_name = "狂怒警报",
116 enrage_desc = "阿努比萨斯防御者进入狂怒状态时发出警报",
117  
118 summon_name = "召唤警报",
119 summon_desc = "阿努比萨斯防御者召唤增援时发出警报",
120  
121 icon_name = "标记瘟疫",
122 icon_desc = "团队标记中瘟疫的玩家 (需要助理或更高权限)",
123  
124 explodetrigger = "阿努比萨斯防御者获得了爆炸的效果。",
125 explodewarn = "即将爆炸!近战躲开!",
126 enragetrigger = "阿努比萨斯防御者获得了狂怒的效果。",
127 enragewarn = "进入狂怒状态!",
128 summonguardtrigger = "阿努比萨斯防御者施放了召唤阿努比萨斯虫群卫士。",
129 summonguardwarn = "虫群卫士已被召唤出来",
130 summonwarriortrigger = "阿努比萨斯防御者施放了召唤阿努比萨斯战士。",
131 summonwarriorwarn = "阿努比萨斯战士已被召唤出来",
132 plaguetrigger = "^(.+)受(.+)了瘟疫效果的影响。$",
133 plaguewarn = "受到瘟疫的影响!快躲开!",
134 plagueyouwarn = "你受到瘟疫的影响!快跑开!",
135 plagueyou = "你",
136 plagueare = "到",
137 thunderclaptrigger = "^阿努比萨斯防御者的雷霆一击击中(.+)造成%d+点伤害。",
138 thunderclapwarn = "雷霆一击发动!",
139 } end )
140  
141  
142 L:RegisterTranslations("zhTW", function() return {
143 -- Anubisath Defender 阿努比薩斯防禦者
144 plagueyou_name = "玩家瘟疫警報",
145 plagueyou_desc = "你中了瘟疫時發出警報",
146  
147 plagueother_name = "隊友瘟疫警報",
148 plagueother_desc = "隊友中了瘟疫時發出警報",
149  
150 thunderclap_name = "雷霆一擊警報",
151 thunderclap_desc = "阿努比薩斯防禦者發動雷霆一擊時發出警報",
152  
153 explode_name = "爆炸警報",
154 explode_desc = "阿努比薩斯防禦者即將爆炸時發出警報",
155  
156 enrage_name = "狂怒警報",
157 enrage_desc = "阿努比薩斯防禦者進入狂怒狀態時發出警報",
158  
159 summon_name = "召喚警報",
160 summon_desc = "阿努比薩斯防禦者召喚增援時發出警報",
161  
162 icon_name = "標記瘟疫",
163 icon_desc = "團隊標記中瘟疫的玩家 (需要助理或領隊權限)",
164  
165 explodetrigger = "阿努比薩斯防禦者獲得了爆炸的效果。",
166 explodewarn = "即將爆炸!近戰躲開!",
167 enragetrigger = "阿努比薩斯防禦者獲得了狂怒的效果。",
168 enragewarn = "進入狂怒狀態!",
169 summonguardtrigger = "阿努比薩斯防禦者施放了召喚阿努比薩斯蟲群衛士。",
170 summonguardwarn = "蟲群衛士已被召喚出來",
171 summonwarriortrigger = "阿努比薩斯防禦者施放了召喚阿努比薩斯戰士。",
172 summonwarriorwarn = "阿努比薩斯戰士已被召喚出來",
173 plaguetrigger = "^(.+)受到(.*)瘟疫",
174 plaguewarn = "受到瘟疫的影響!快躲開!*",
175 plagueyouwarn = "你受到瘟疫的影響!快跑開!",
176 plagueyou = "你",
177 plagueare = "了",
178 thunderclaptrigger = "^阿努比薩斯防禦者的雷霆一擊擊中(.+)造成%d+點傷害。",
179 thunderclapwarn = "雷霆一擊發動!",
180 --The thunderclaptrigger use three events,
181 --CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE,
182 --CHAT_MSG_SPELL_CREATURE_VS_PARTY_DAMAGE and
183 --CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE,
184 --but tne function BigWigsDefenders:Thunderclap does the same thing.
185 --The skill affects a lot of players at once in zhTW.
186 --(See BigWigs\Naxxramas\Maexxna.lua)
187 --They say it works fine for all other locales.
188 --Or just simply use thunderclaptrigger = "^阿努比薩斯防禦者的雷霆一擊擊中你", to trigger self ?
189 --Any idea?
190 --If anyone knows how to correct it in translation string, mail to me please.
191 --xinsonic@gmail.com
192 } end )
193  
194  
195 L:RegisterTranslations("koKR", function() return {
196 plagueyou_name = "자신의 역병 경고",
197 plagueyou_desc = "자신의 역병에 대한 경고",
198  
199 plagueother_name = "타인의 역병 경고",
200 plagueother_desc = "타인의 역병에 대한 경고",
201  
202 thunderclap_name = "천둥벼락 경고",
203 thunderclap_desc = "천둥벼락에 대한 경고",
204  
205 explode_name = "폭발 경고",
206 explode_desc = "폭발에 대한 경고",
207  
208 enrage_name = "분노 경고",
209 enrage_desc = "분노에 대한 경고",
210  
211 summon_name = "소환 경고",
212 summon_desc = "추가 소환에 대한 경고",
213  
214 icon_name = "아이콘 지정",
215 icon_desc = "마지막 역병에 걸린 사람에게 공격대 아이콘 지정(승급자 이상 필요)",
216  
217 explodetrigger = "아누비사스 문지기|1이;가; 폭파 효과를 얻었습니다.",
218 explodewarn = "폭파! 떨어지세요!",
219 enragetrigger = "아누비사스 문지기|1이;가; 분노 효과를 얻었습니다.",
220 enragewarn = "분노 돌입!",
221 summonguardtrigger = "아누비사스 문지기|1이;가; 아누비사스 감시병 소환|1을;를; 시전합니다.",
222 summonguardwarn = "감시병 소환",
223 summonwarriortrigger = "아누비사스 문지기|1이;가; 아누비사스 전사 소환|1을;를; 시전합니다.",
224 summonwarriorwarn = "전사 소환",
225 plaguetrigger = "^([^|;%s]*)(.*)역병에 걸렸습니다%.$", -- "(.*) 역병에 걸렸습니다.",
226 plaguewarn = "님은 역병에 걸렸습니다. 피하세요",
227 plagueyouwarn = "당신은 역병에 걸렸습니다! 떨어지세요!",
228 plagueyou = "", -- "you"
229 plagueare = "", -- "are"
230 thunderclaptrigger = "아누비사스 문지기|1이;가; 천둥벼락|1으로;로; (.+)에게 (%d+)의",
231 thunderclapwarn = "천둥벼락! - 멀리 떨어지세요",
232 } end )
233  
234 L:RegisterTranslations("frFR", function() return {
235 plagueyou_name = "Alerte Peste sur vous",
236 plagueyou_desc = "Pr\195\169viens quand vous avez la peste.",
237  
238 plagueother_name = "Alerte Peste sur d'autres",
239 plagueother_desc = "Pr\195\169viens quand d'autres joueurs ont la peste.",
240  
241 thunderclap_name = "Alerte Coups de tonnerre",
242 thunderclap_desc = "Pr\195\169viens des Coups de tonnerre",
243  
244 explode_name = "Alerte Explosion",
245 explode_desc = "Pr\195\169viens en cas d'explosion imminente.",
246  
247 enrage_name = "Alerte Enrag\195\169",
248 enrage_desc = "Pr\195\169viens quand le gardien s'enrage.",
249  
250 summon_name = "Alerte invocation",
251 summon_desc = "Pr\195\169viens quand le gardien invoque des adds.",
252  
253 icon_name = "Placer une ic\195\180ne",
254 icon_desc = "Place une ic\195\180ne de raid sur le dernier personnage qui a la peste (requiert d'\195\170tre promus ou plus).",
255  
256 explodewarn = "Explosion imminente !",
257 enragewarn = "Enrag\195\169 !",
258 summonguardwarn = "Garde-Essaim invoqu\195\169 !",
259 summonwarriorwarn = "Guerrier invoqu\195\169 !",
260 plaguewarn = " a la peste !",
261 plagueyouwarn = "Tu as la peste !",
262 thunderclapwarn = "Coup de tonnerre !",
263  
264 explodetrigger = "D\195\169fenseur Anubisath gagne Exploser.",
265 enragetrigger = "D\195\169fenseur Anubisath gagne Enrager.",
266 summonguardtrigger = "D\195\169fenseur Anubisath lance Invocation d'un Garde-essaim Anubisath.",
267 summonwarriortrigger = "D\195\169fenseur Anubisath lance Invocation d'un Guerrier Anubisath.",
268 plaguetrigger = "^([^%s]+) ([^%s]+) les effets de Peste%.$",
269 plagueyou = "Vous",
270 plagueare = "subissez",
271 thunderclaptrigger = "^D\195\169fenseur Anubisath lance Coup de tonnerre",--not sure
272 } end )
273  
274 ----------------------------------
275 -- Module Declaration --
276 ----------------------------------
277  
278 BigWigsDefenders = BigWigs:NewModule(boss)
279 BigWigsDefenders.zonename = AceLibrary("Babble-Zone-2.2")["Ahn'Qiraj"]
280 BigWigsDefenders.enabletrigger = boss
281 BigWigsDefenders.toggleoptions = { "plagueyou", "plagueother", "icon", -1, "thunderclap", "explode", "enrage", "bosskill"}
282 BigWigsDefenders.revision = tonumber(string.sub("$Revision: 17584 $", 12, -3))
283  
284 ------------------------------
285 -- Initialization --
286 ------------------------------
287  
288 function BigWigsDefenders:OnEnable()
289 self:RegisterEvent("CHAT_MSG_SPELL_PERIODIC_CREATURE_BUFFS")
290 self:RegisterEvent("CHAT_MSG_SPELL_CREATURE_VS_CREATURE_BUFF")
291 self:RegisterEvent("CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE", "CheckPlague")
292 self:RegisterEvent("CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_DAMAGE", "CheckPlague")
293 self:RegisterEvent("CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE", "CheckPlague")
294 self:RegisterEvent("CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE", "Thunderclap")
295 self:RegisterEvent("CHAT_MSG_SPELL_CREATURE_VS_PARTY_DAMAGE", "Thunderclap")
296 self:RegisterEvent("CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE", "Thunderclap")
297 self:RegisterEvent("CHAT_MSG_COMBAT_HOSTILE_DEATH")
298  
299 self:RegisterEvent("BigWigs_RecvSync")
300 self:TriggerEvent("BigWigs_ThrottleSync", "DefenderEnrage", 10)
301 self:TriggerEvent("BigWigs_ThrottleSync", "DefenderExplode", 10)
302 self:TriggerEvent("BigWigs_ThrottleSync", "DefenderThunderclap", 6)
303 end
304  
305 ------------------------------
306 -- Event Handlers --
307 ------------------------------
308  
309 function BigWigsDefenders:CHAT_MSG_COMBAT_HOSTILE_DEATH(msg)
310 if msg == string.format(UNITDIESOTHER, boss) then
311 self.core:ToggleModuleActive(self, false)
312 end
313 end
314  
315 function BigWigsDefenders:BigWigs_RecvSync(sync, rest, nick)
316 if sync == "DefenderExplode" and self.db.profile.explode then
317 self:TriggerEvent("BigWigs_Message", L["explodewarn"], "Important")
318 self:TriggerEvent("BigWigs_StartBar", self, L["explodewarn"], 6, "\\Interface\\Icons\\Spell_Fire_SelfDestruct")
319 elseif sync == "DefenderEnrage" and self.db.profile.enrage then
320 self:TriggerEvent("BigWigs_Message", L["enragewarn"], "Important")
321 elseif sync == "DefenderThunderclap" and self.db.profile.thunderclap then
322 self:TriggerEvent("BigWigs_Message", L["thunderclapwarn"], "Important")
323 end
324 end
325  
326 function BigWigsDefenders:CHAT_MSG_SPELL_PERIODIC_CREATURE_BUFFS(msg)
327 if msg == L["explodetrigger"] then
328 self:TriggerEvent("BigWigs_SendSync", "DefenderExplode")
329 elseif msg == L["enragetrigger"] then
330 self:TriggerEvent("BigWigs_SendSync", "DefenderEnrage")
331 end
332 end
333  
334 function BigWigsDefenders:CHAT_MSG_SPELL_CREATURE_VS_CREATURE_BUFF(msg)
335 if not self.db.profile.summon then return end
336 if msg == L["summonguardtrigger"] then
337 self:TriggerEvent("BigWigs_Message", L["summonguardwarn"], "Attention")
338 elseif msg == L["summonwarriortrigger"] then
339 self:TriggerEvent("BigWigs_Message", L["summonwarriorwarn"], "Attention")
340 end
341 end
342  
343 function BigWigsDefenders:CheckPlague(msg)
344 local _,_, pplayer, ptype = string.find(msg, L["plaguetrigger"])
345 if pplayer then
346 if self.db.profile.plagueyou and pplayer == L["plagueyou"] then
347 self:TriggerEvent("BigWigs_Message", L["plagueyouwarn"], "Personal", true)
348 self:TriggerEvent("BigWigs_Message", UnitName("player") .. L["plaguewarn"], "Attention", nil, nil, true)
349 elseif self.db.profile.plagueother then
350 self:TriggerEvent("BigWigs_Message", pplayer .. L["plaguewarn"], "Attention")
351 self:TriggerEvent("BigWigs_SendTell", pplayer, L["plagueyouwarn"])
352 end
353  
354 if self.db.profile.icon then
355 self:TriggerEvent("BigWigs_SetRaidIcon", pplayer)
356 end
357 end
358 end
359  
360 function BigWigsDefenders:Thunderclap(msg)
361 if string.find(msg, L["thunderclaptrigger"]) then
362 self:TriggerEvent("BigWigs_SendSync", "DefenderThunderclap")
363 end
364 end
365