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 local boss = AceLibrary("Babble-Boss-2.2")["Nefarian"]
5 local victor = AceLibrary("Babble-Boss-2.2")["Lord Victor Nefarius"]
6 local L = AceLibrary("AceLocale-2.2"):new("BigWigs"..boss)
7  
8 local warnpairs = nil
9  
10 ----------------------------
11 -- Localization --
12 ----------------------------
13  
14 L:RegisterTranslations("enUS", function() return {
15 landing_soon_trigger = "Well done, my minions",
16 landing_trigger = "BURN! You wretches",
17 zerg_trigger = "Impossible! Rise my",
18 fear_trigger = "Nefarian begins to cast Bellowing Roar",
19 shadowflame_trigger = "Nefarian begins to cast Shadow Flame",
20  
21 triggershamans = "Shamans, show me",
22 triggerdruid = "Druids and your silly",
23 triggerwarlock = "Warlocks, you shouldn't be playing",
24 triggerpriest = "Priests! If you're going to keep",
25 triggerhunter = "Hunters and your annoying",
26 triggerwarrior = "Warriors, I know you can hit harder",
27 triggerrogue = "Rogues%? Stop hiding",
28 triggerpaladin = "Paladins",
29 triggermage = "Mages too%?",
30  
31 landing_soon_warning = "Nefarian landing in 10 seconds!",
32 landing_warning = "Nefarian is landing!",
33 zerg_warning = "Zerg incoming!",
34 fear_warning = "Fear in 2 sec!",
35 fear_soon_warning = "Possible fear in ~5 sec",
36 shadowflame_warning = "Shadow Flame incoming!",
37 classcall_warning = "Class call incoming!",
38  
39 warnshaman = "Shamans - Totems spawned!",
40 warndruid = "Druids - Stuck in cat form!",
41 warnwarlock = "Warlocks - Incoming Infernals!",
42 warnpriest = "Priests - Heals hurt!",
43 warnhunter = "Hunters - Bows/Guns broken!",
44 warnwarrior = "Warriors - Stuck in berserking stance!",
45 warnrogue = "Rogues - Ported and rooted!",
46 warnpaladin = "Paladins - Blessing of Protection!",
47 warnmage = "Mages - Incoming polymorphs!",
48  
49 classcall_bar = "Class call",
50 fear_bar = "Possible fear",
51  
52 cmd = "Nefarian",
53  
54 shadowflame_cmd = "shadowflame",
55 shadowflame_name = "Shadow Flame alert",
56 shadowflame_desc = "Warn for Shadow Flame",
57  
58 fear_cmd = "fear",
59 fear_name = "Warn for Fear",
60 fear_desc = "Warn when Nefarian casts AoE Fear",
61  
62 classcall_cmd = "classcall",
63 classcall_name = "Class Call alert",
64 classcall_desc = "Warn for Class Calls",
65  
66 otherwarn_cmd = "otherwarn",
67 otherwarn_name = "Other alerts",
68 otherwarn_desc = "Landing and Zerg warnings",
69 } end)
70  
71 L:RegisterTranslations("zhCN", function() return {
72 landing_soon_trigger = "干得好,我的手下。",
73 landing_trigger = "燃烧吧!你这个",
74 zerg_trigger = "^不可能",
75 fear_trigger = "奈法利安开始施放低沉咆哮。",
76 shadowflame_trigger = "奈法利安开始施放暗影烈焰。",
77  
78 triggershamans = "^萨满祭司",
79 triggerdruid = "^德鲁伊",
80 triggerwarlock = "^术士",
81 triggerpriest = "^牧师",
82 triggerhunter = "^猎人",
83 triggerwarrior = "^战士",
84 triggerrogue = "^盗贼",
85 triggerpaladin = "^圣骑士",
86 triggermage = "^你们也是法师",
87  
88 landing_soon_warning = "奈法利安将在10秒后降落!",
89 landing_warning = "奈法利安已降落!",
90 zerg_warning = "骨龙群出现!",
91 fear_warning = "2秒后发动群体恐惧!",
92 fear_soon_warning = "~5秒后可能发动群体恐惧",
93 shadowflame_warning = "暗影烈焰发动!",
94 classcall_warning = "5秒后开始点名!",
95  
96 warnshaman = "萨满祭司 - 图腾涌现!",
97 warndruid = "德鲁伊 - 强制猫形态,无法治疗和解诅咒!",
98 warnwarlock = "术士 - 地狱火出现,DPS职业尽快将其消灭!",
99 warnpriest = "牧师 - 停止治疗,静等25秒!",
100 warnhunter = "猎人 - 远程武器损坏!",
101 warnwarrior = "战士 - 强制狂暴姿态,加大对MT的治疗量!",
102 warnrogue = "盗贼 - 被传送和麻痹!",
103 warnpaladin = "圣骑士 - BOSS受到保护祝福,物理攻击无效!",
104 warnmage = "法师 - 变形术发动,注意解除!",
105  
106 classcall_bar = "职业点名",
107 fear_bar = "可能恐惧",
108  
109 shadowflame_name = "暗影烈焰警报",
110 shadowflame_desc = "暗影烈焰警报",
111  
112 fear_name = "恐惧警报",
113 fear_desc = "恐惧警报",
114  
115 classcall_name = "职业点名警报",
116 classcall_desc = "职业点名警报",
117  
118 otherwarn_name = "其他警报",
119 otherwarn_desc = "降落与杂兵出现时发出警报",
120 } end)
121  
122 L:RegisterTranslations("zhTW", function() return {
123 -- Nefarian 奈法利安
124 landing_soon_trigger = "幹得好,我的手下。",
125 landing_trigger = "燃燒吧!你這個",
126 zerg_trigger = "^不可能",
127 fear_trigger = "奈法利安開始施放低沉咆哮。",
128 shadowflame_trigger = "奈法利安開始施放暗影烈焰。",
129  
130 triggershamans = "^薩滿,讓我看看",
131 triggerdruid = "^德魯伊和你們愚蠢的變形。讓我們看看什麼會發生吧!",
132 triggerwarlock = "^術士,不要隨便去玩那些你不理解的法術。看看會發生什麼吧?",
133 triggerpriest = "^牧師!如果你要繼續這麼治療的話,那我們來玩點有趣的東西!",
134 triggerhunter = "^獵人和你那討厭的豌豆射擊!",
135 triggerwarrior = "^戰士,我知道你應該比較抗打!讓我們來見識一下吧!",
136 triggerrogue = "^盜賊?不要躲了,面對我吧!",
137 triggerpaladin = "^聖騎士……聽說你有無數條命。讓我看看到底是怎麼樣的吧。",
138 triggermage = "^還有法師?你應該小心使用你的魔法……",
139  
140 landing_soon_warning = "10秒後降落!",
141 landing_warning = "奈法利安已降落!",
142 zerg_warning = "龍獸出現!",
143 fear_warning = "群體恐懼 - 2 秒後發動",
144 fear_soon_warning = "群體恐懼 - 5 秒後發動",
145 shadowflame_warning = "暗影烈焰發動!",
146 classcall_warning = "5 秒後開始點名!",
147  
148 warnshaman = "薩滿 - 圖騰湧現",
149 warndruid = "德魯伊 - 強制貓形態,無法治療和解詛咒",
150 warnwarlock = "術士 - 地獄火出現,DPS職業盡快將其消滅",
151 warnpriest = "牧師 - 停止治療,靜等 25 秒",
152 warnhunter = "獵人 - 遠程武器損壞",
153 warnwarrior = "戰士 - 強制狂暴姿態,加大對MT的治療量",
154 warnrogue = "盜賊 - 被傳送和麻痺",
155 warnpaladin = "聖騎士 - BOSS受到保護祝福,物理攻擊無效",
156 warnmage = "法師 - 變形術發動,注意解除",
157  
158 classcall_bar = "職業點名",
159 fear_bar = "可能恐懼",
160  
161 shadowflame_name = "暗影烈焰警報",
162 shadowflame_desc = "當奈法利安施放暗影烈焰時發出警報",
163  
164 fear_name = "恐懼警報",
165 fear_desc = "當奈法利安施放群體恐懼時發出警報",
166  
167 classcall_name = "職業點名警報",
168 classcall_desc = "當奈法利安進行職業點名時發出警報",
169  
170 otherwarn_name = "其他警報",
171 otherwarn_desc = "降落及龍獸出現時發出警報",
172 } end)
173  
174 L:RegisterTranslations("koKR", function() return {
175 landing_soon_trigger = "적들의 사기가 떨어지고 있다",
176 landing_trigger = "불타라! 활활!",
177 zerg_trigger = "말도 안 돼! 일어나라!",
178 fear_trigger = "네파리안|1이;가; 우레와같은 울부짖음|1을;를; 시전합니다.",
179 shadowflame_trigger = "네파리안|1이;가; 암흑의 불길|1을;를; 시전합니다.",
180 triggershamans = "주술사",
181 triggerdruid = "드루이드 녀석, 그 바보",
182 triggerwarlock = "흑마법사여, 네가 이해하지도 못하는",
183 triggerpriest = "사제야, 그렇게 치유를",
184 triggerhunter = "그 장난감",
185 triggerwarrior = "전사들이로군, 네가 그보다 더 강하게 내려 칠 수",
186 triggerrogue = "도적들인가?",
187 triggerpaladin = "성기사여",
188 triggermage = "네가 마법사냐?",
189  
190 landing_soon_warning = "네파리안이 10초 후 착지합니다!",
191 landing_warning = "네파리안이 착지했습니다!",
192 zerg_warning = "해골 등장!",
193 fear_warning = "2초 후 공포!",
194 fear_soon_warning = "약 5초내 공포!",
195 shadowflame_warning = "암흑의 불길 주의!",
196 classcall_warning = "곧 직업이 지목됩니다!",
197 warnshaman = "주술사 - 토템 파괴!",
198 warndruid = "드루이드 - 강제 표범 변신!",
199 warnwarlock = "흑마법사 - 지옥불정령 등장!",
200 warnpriest = "사제 - 치유 주문 금지!",
201 warnhunter = "사냥꾼 - 원거리 무기 파손!",
202 warnwarrior = "전사 - 광태 강제 전환!",
203 warnrogue = "도적 - 강제 소환!",
204 warnpaladin = "성기사 - 강제 보축 사용!",
205 warnmage = "마법사 - 변이!",
206  
207 classcall_bar = "직업 지목",
208 fear_bar = "공포 가능",
209  
210 shadowflame_name = "암흑의 불길 경고",
211 shadowflame_desc = "암흑의 불길에 대한 경고",
212  
213 fear_name = "공포 경고",
214 fear_desc = "네파리안이 공포 시전시 경고",
215  
216 classcall_name = "직업 지목 경고",
217 classcall_desc = "직업 지목에 대한 경고",
218  
219 otherwarn_name = "기타 경고",
220 otherwarn_desc = "착지와 소환에 대한 경고",
221 } end)
222  
223 L:RegisterTranslations("deDE", function() return {
224 landing_soon_trigger = "Sehr gut, meine Diener",
225 landing_trigger = "BRENNT! Ihr Elenden!",
226 zerg_trigger = "Unm\195\182glich! Erhebt euch",
227 fear_trigger = "Nefarian beginnt Dr\195\182hnendes Gebr\195\188ll zu wirken.",
228 shadowflame_trigger = "Nefarian beginnt Schattenflamme zu wirken.",
229 triggershamans = "Schamane, zeigt mir was",
230 triggerdruid = "Druiden und ihre l\195\164cherliche",
231 triggerwarlock = "Hexenmeister, Ihr solltet nicht mit Magie",
232 triggerpriest = "Priester! Wenn Ihr weiterhin",
233 triggerhunter = "J\195\164ger und ihre l\195\164stigen",
234 triggerwarrior = "Krieger, Ich bin mir sicher",
235 triggerrogue = "Schurken%? Kommt aus den Schatten",
236 triggerpaladin = "Paladine",
237 triggermage = "Auch Magier%? Ihr solltet vorsichtiger",
238  
239 landing_soon_warning = "Nefarian landet in 10 Sekunden!",
240 landing_warning = "Nefarian ist gelandet!",
241 zerg_warning = "Diener herbeigerufen!",
242 fear_warning = "AoE Furcht in 2 Sekunden!",
243 shadowflame_warning = "Schattenflamme in K\195\188rze!",
244 classcall_warning = "Klassenruf in K\195\188rze!",
245 warnshaman = "Schamanen - Totems!",
246 warndruid = "Druiden - Gefangen in Katzenform!",
247 warnwarlock = "Hexenmeister - H\195\182llenbestien herbeigerufen!",
248 warnpriest = "Priester - Heilung schadet!",
249 warnhunter = "J\195\164ger - Angelegte Fernkampfwaffen defekt!",
250 warnwarrior = "Krieger - Gefangen in Berserkerhaltung!",
251 warnrogue = "Schurken - Teleportiert und festgewurzelt!",
252 warnpaladin = "Paladine - Segen des Schutzes!",
253 warnmage = "Magier - Verwandlung!",
254  
255 classcall_bar = "Klassenruf",
256  
257 shadowflame_name = "Schattenflamme",
258 shadowflame_desc = "Warnung, wenn Nefarian Schattenflamme wirkt.",
259  
260 fear_name = "Furcht",
261 fear_desc = "Warnung, wenn Nefarian AoE Furcht wirkt.",
262  
263 classcall_name = "Klassenruf",
264 classcall_desc = "Warnung vor Klassenrufen.",
265  
266 otherwarn_name = "Anderes",
267 otherwarn_desc = "Warnung, wenn Nefarian landet und seine Diener ruft.",
268 } end)
269  
270 L:RegisterTranslations("frFR", function() return {
271 landing_soon_trigger = "Beau travail",
272 landing_trigger = "BR\195\155LEZ, mis\195\169rables",
273 zerg_trigger = "C'est impossible ! Relevez%-vous, serviteurs !",
274 fear_trigger = "Nefarian commence \195\160 lancer Rugissement puissant",
275 shadowflame_trigger = "Nefarian commence \195\160 lancer Flamme d'ombre.",
276 triggershamans = "Chamans, montrez moi",
277 triggerdruid = "Les druides et leur stupides",
278 triggerwarlock = "D\195\169monistes, vous ne devriez pas jouer",
279 triggerpriest = "Pr\195\170tres ! Si vous continuez",
280 triggerhunter = "Ah, les chasseurs et les stupides",
281 triggerwarrior = "Guerriers, je sais que vous pouvez frapper plus fort",
282 triggerrogue = "Voleurs, arr\195\170tez de vous cacher",
283 triggerpaladin = "Les paladins",
284 triggermage = "Les mages aussi",
285  
286 landing_soon_warning = "Nefarian atterit dans 10 sec. !",
287 landing_warning = "Nefarian atterit !",
288 zerg_warning = "Zergs imminent !",
289 fear_warning = "Peur dans 2 sec. !",
290 shadowflame_warning = "Flamme d'ombre imminente !",
291 classcall_warning = "D\195\169but de l'appel des classes !",
292 warnshaman = "Chamans - Totems pos\195\169s !",
293 warndruid = "Druides - Coinc\195\169s en forme f\195\169line !",
294 warnwarlock = "D\195\169monistes - Infernaux en approche !",
295 warnpriest = "Pr\195\170tre - Stoppez les soins !",
296 warnhunter = "Chasseurs - Arcs/Fusils cass\195\169s !",
297 warnwarrior = "Guerriers - Coinc\195\169s en posture berseker !",
298 warnrogue = "Voleurs - T\195\169l\195\169port\195\169s et clou\195\169s au sol !",
299 warnpaladin = "Paladins - B\195\169n\195\169diction de protection !",
300 warnmage = "Mages - M\195\169tamorphoses imminentes !",
301  
302 classcall_bar = "Appel des classes",
303 fear_bar = "Peur probable",
304  
305 shadowflame_name = "Alerte Flamme d'ombre",
306 shadowflame_desc = "Pr\195\169viens quand Nefarian utilise sa Flamme d'ombre.",
307  
308 fear_name = "Alerte Peur",
309 fear_desc = "Pr\195\169viens quand Nefarian incante sa peur de zone.",
310  
311 classcall_name = "Alertes Appel de classe",
312 classcall_desc = "Signale les classes cibl\195\169s par l'appel de classe.",
313  
314 otherwarn_name = "Autres alertes",
315 otherwarn_desc = "Pr\195\169viens quand les Zergs arrivent et quand Nefarian atterit.",
316 } end)
317  
318 ----------------------------------
319 -- Module Declaration --
320 ----------------------------------
321  
322 BigWigsNefarian = BigWigs:NewModule(boss)
323 BigWigsNefarian.zonename = AceLibrary("Babble-Zone-2.2")["Blackwing Lair"]
324 BigWigsNefarian.enabletrigger = { boss, victor }
325 BigWigsNefarian.toggleoptions = {"shadowflame", "fear", "classcall", "otherwarn", "bosskill"}
326 BigWigsNefarian.revision = tonumber(string.sub("$Revision: 16639 $", 12, -3))
327  
328 ------------------------------
329 -- Initialization --
330 ------------------------------
331  
332 function BigWigsNefarian:OnEnable()
333 self:RegisterEvent("CHAT_MSG_MONSTER_YELL")
334 self:RegisterEvent("CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE")
335 self:RegisterEvent("CHAT_MSG_COMBAT_HOSTILE_DEATH", "GenericBossDeath")
336  
337 self:RegisterEvent("BigWigs_RecvSync")
338 self:TriggerEvent("BigWigs_ThrottleSync", "NefarianShadowflame", 10)
339 self:TriggerEvent("BigWigs_ThrottleSync", "NefarianFear", 10)
340  
341 if not warnpairs then warnpairs = {
342 [L["triggershamans"]] = {L["warnshaman"], true},
343 [L["triggerdruid"]] = {L["warndruid"], true},
344 [L["triggerwarlock"]] = {L["warnwarlock"], true},
345 [L["triggerpriest"]] = {L["warnpriest"], true},
346 [L["triggerhunter"]] = {L["warnhunter"], true},
347 [L["triggerwarrior"]] = {L["warnwarrior"], true},
348 [L["triggerrogue"]] = {L["warnrogue"], true},
349 [L["triggerpaladin"]] = {L["warnpaladin"], true},
350 [L["triggermage"]] = {L["warnmage"], true},
351 [L["landing_soon_trigger"]] = {L["landing_soon_warning"]},
352 [L["landing_trigger"]] = {L["landing_warning"]},
353 [L["zerg_trigger"]] = {L["zerg_warning"]},
354 } end
355 end
356  
357 ------------------------------
358 -- Event Handlers --
359 ------------------------------
360  
361 function BigWigsNefarian:CHAT_MSG_MONSTER_YELL(msg)
362 for i,v in pairs(warnpairs) do
363 if string.find(msg, i) then
364 if v[2] then
365 if self.db.profile.classcall then
366 self:TriggerEvent("BigWigs_Message", v[1], "Important")
367 self:ScheduleEvent("BigWigs_Message", 27, L["classcall_warning"], "Important")
368 self:TriggerEvent("BigWigs_StartBar", self, L["classcall_bar"], 30, "Interface\\Icons\\Spell_Shadow_Charm")
369 end
370 else
371 if self.db.profile.otherwarn then self:TriggerEvent("BigWigs_Message", v[1], "Important") end
372 end
373 return
374 end
375 end
376 end
377  
378 function BigWigsNefarian:CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE(msg)
379 if string.find(msg, L["fear_trigger"]) then
380 self:TriggerEvent("BigWigs_SendSync", "NefarianFear")
381 elseif string.find(msg, L["shadowflame_trigger"]) then
382 self:TriggerEvent("BigWigs_SendSync", "NefarianShadowflame")
383 end
384 end
385  
386 function BigWigsNefarian:BigWigs_RecvSync( sync )
387 if sync == "NefarianShadowflame" and self.db.profile.shadowflame then
388 self:TriggerEvent("BigWigs_Message", L["shadowflame_warning"], "Important")
389 elseif sync == "NefarianFear" and self.db.profile.fear then
390 self:CancelScheduledEvent("bwneffearsoon")
391 self:TriggerEvent("BigWigs_Message", L["fear_warning"], "Important")
392 self:ScheduleEvent("bwneffearsoon", "BigWigs_Message", 26, L["fear_soon_warning"], "Important")
393 self:TriggerEvent("BigWigs_StartBar", self, L["fear_bar"], 32, "Interface\\Icons\\Spell_Shadow_PsychicScream")
394 end
395 end
396