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")["Gothik the Harvester"]
6 local L = AceLibrary("AceLocale-2.2"):new("BigWigs"..boss)
7  
8 ----------------------------
9 -- Localization --
10 ----------------------------
11  
12 L:RegisterTranslations("enUS", function() return {
13 cmd = "Gothik",
14  
15 room_cmd = "room",
16 room_name = "Room Arrival Warnings",
17 room_desc = "Warn for Gothik's arrival",
18  
19 add_cmd = "add",
20 add_name = "Add Warnings",
21 add_desc = "Warn for adds",
22  
23 adddeath_cmd = "adddeath",
24 adddeath_name = "Add Death Alert",
25 adddeath_desc = "Alerts when an add dies.",
26  
27 disabletrigger = "I... am... undone.",
28  
29 starttrigger1 = "Foolishly you have sought your own demise.",
30 starttrigger2 = "Teamanare shi rikk mannor rikk lok karkun",
31 startwarn = "Gothik the Harvester engaged! 4:30 till he's in the room.",
32  
33 rider_name = "Unrelenting Rider",
34 spectral_rider_name = "Spectral Rider",
35 deathknight_name = "Unrelenting Deathknight",
36 spectral_deathknight_name = "Spektral Deathknight",
37 trainee_name = "Unrelenting Trainee",
38 spectral_trainee_name = "Spectral Trainee",
39  
40 riderdiewarn = "Rider dead!",
41 dkdiewarn = "Death Knight dead!",
42  
43 warn1 = "In room in 3 minutes",
44 warn2 = "In room in 90 seconds",
45 warn3 = "In room in 60 seconds",
46 warn4 = "In room in 30 seconds",
47 warn5 = "Gothik Incoming in 10 seconds",
48  
49 wave = "%d/26: ",
50  
51 trawarn = "Trainees in 3 seconds",
52 dkwarn = "Deathknight in 3 seconds",
53 riderwarn = "Rider in 3 seconds",
54  
55 trabar = "Trainee - %d",
56 dkbar = "Deathknight - %d",
57 riderbar = "Rider - %d",
58  
59 inroomtrigger = "I have waited long enough. Now you face the harvester of souls.",
60 inroomwarn = "He's in the room!",
61  
62 inroombartext = "In Room",
63 } end )
64  
65 L:RegisterTranslations("koKR", function() return {
66  
67 room_name = "고딕 등장 경고",
68 room_desc = "고딕 등장에 대한 경고",
69  
70 add_name = "애드 경고",
71 add_desc = "애드에 대한 경고",
72  
73 adddeath_name = "애드 죽음 알림",
74 adddeath_desc = "애드가 죽었을 때 알림.",
75  
76 disabletrigger = "내가... 죽는구나.", -- CHECK
77  
78 starttrigger1 = "어리석은 것들, 스스로 죽음을 자초하다니!",
79 starttrigger2 = "Teamanare shi rikk mannor rikk lok karkun", -- CHECK
80 startwarn = "영혼의 착취자 고딕 전투 시작! 4:30 후 고딕 등장.",
81  
82 rider_name = "무자비한 죽음의 기병",
83 spectral_rider_name = "Spectral 죽음의 기병", -- CHECK
84 deathknight_name = "무자비한 죽음의 기사",
85 spectral_deathknight_name = "Spektral 죽음의 기사", -- CHECK
86 trainee_name = "무자비한 훈련생", -- CHECK
87 spectral_trainee_name = "Spectral 훈련생", -- CHECK
88  
89 riderdiewarn = "기병 죽음! 무덤조 긴장하세요!",
90 dkdiewarn = "죽음의 기사 죽음!",
91  
92 warn1 = "고딕 등장 3분 전",
93 warn2 = "고딕 등장 90초 전",
94 warn3 = "고딕 등장 60초 전",
95 warn4 = "고딕 등장 30초 전",
96 warn5 = "고딕 등장 10초 전",
97  
98 wave = "%d/26: ",
99  
100 trawarn = "훈련생 3초후 등장",
101 dkwarn = "죽음의 기사 3초후 등장",
102 riderwarn = "기병 3초후 등장",
103  
104 trabar = "훈련병 - %d",
105 dkbar = "죽음의 기사 - %d",
106 riderbar = "기병 - %d",
107  
108 inroomtrigger = "오랫동안 기다려 왔다. 이제 영혼의 착취자를 만날 차례다.", -- CHECK
109 inroomwarn = "고딕 등장!!",
110  
111 inroombartext = "고딕 등장",
112 } end )
113  
114 L:RegisterTranslations("deDE", function() return {
115 room_name = "Ankunft",
116 room_desc = "Warnung, wenn Gothik in den Raum kommt.",
117  
118 add_name = "Adds",
119 add_desc = "Warnung vor Adds.",
120  
121 disabletrigger = "I... am... undone.", -- ?
122  
123 starttrigger1 = "Ihr Narren habt euren eigenen Untergang heraufbeschworen.",
124 starttrigger2 = "Maz Azgala veni kamil toralar Naztheros zennshinagas.", -- ?
125 startwarn = "Gothik der Ernter angegriffen! 4:30 bis er in den Raum kommt!",
126  
127 rider_name = "Unerbittlicher Reiter",
128 deathknight_name = "Unerbittlicher Todesritter",
129  
130 riderdiewarn = "Reiter tot!",
131 dkdiewarn = "Todesritter tot!",
132  
133 warn1 = "Im Raum in 3 Minuten",
134 warn2 = "Im Raum in 90 Sekunden",
135 warn3 = "Im Raum in 60 Sekunden",
136 warn4 = "Im Raum in 30 Sekunden",
137 warn5 = "Gothik im Raum in 10 Sekunden",
138  
139 wave = "%d/26: ",
140  
141 trawarn = "Lehrlinge in 3 Sekunden",
142 dkwarn = "Todesritter in 3 Sekunden",
143 riderwarn = "Reiter in 3 Sekunden",
144  
145 trabar = "Lehrlinge - %d",
146 dkbar = "Todesritter - %d",
147 riderbar = "Reiter - %d",
148  
149 inroomtrigger = "Ich habe lange genug gewartet. Stellt euch dem Seelenj\195\164ger.", -- ?
150 inroomwarn = "Er ist im Raum!",
151  
152 inroombartext = "Im Raum",
153 } end )
154  
155 L:RegisterTranslations("zhCN", function() return {
156 room_name = "进入房间警报",
157 room_desc = "收割者戈提克进入房间时发出警报",
158  
159 add_name = "增援警报",
160 add_desc = "增援警报",
161  
162 adddeath_name = "小怪计时及死亡通告",
163 adddeath_desc = "小怪计时及死亡通告",
164  
165 disabletrigger = "事业……未尽……",
166  
167 starttrigger1 = "你们这些蠢货已经主动步入了陷阱。",
168 starttrigger2 = "Teamanare shi rikk mannor rikk lok karkun",
169 startwarn = "收割者戈提克已激活 - 4:30后进入房间",
170  
171 rider_name = "冷酷的骑兵",
172 spectral_rider_name = "骑兵",
173 deathknight_name = "冷酷的死亡骑士",
174 spectral_deathknight_name = "死亡骑士",
175 trainee_name = "冷酷的学徒",
176 spectral_trainee_name = "学徒",
177  
178 riderdiewarn = "骑兵已死亡!",
179 dkdiewarn = "死亡骑士已死亡!",
180  
181 warn1 = "3分钟后进入房间",
182 warn2 = "90秒后进入房间",
183 warn3 = "60秒后进入房间",
184 warn4 = "30秒后进入房间",
185 warn5 = "收割者戈提克10后进入房间!",
186  
187 trawarn = "3秒后学徒出现",
188 dkwarn = "3秒后死亡骑士出现",
189 riderwarn = "3秒后骑兵出现",
190  
191 trabar = "学徒 - %d",
192 dkbar = "死亡骑士 - %d",
193 riderbar = "骑兵 - %d",
194  
195 inroomtrigger = "我已经等待很久了。现在你们将面对灵魂的收割者。",
196 inroomwarn = "收割者戈提克进入了房间!",
197  
198 inroombartext = "进入房间",
199 } end )
200  
201 L:RegisterTranslations("zhTW", function() return {
202 --Gothik the Harvester 收割者高希
203 room_name = "進入房間警報",
204 room_desc = "收割者戈提克進入房間時發出警報",
205  
206 add_name = "增援警報",
207 add_desc = "增援警報",
208  
209 adddeath_name = "小怪計時及死亡通告",
210 adddeath_desc = "小怪計時及死亡通告",
211  
212 disabletrigger = "I... am... undone.", --?
213  
214 starttrigger1 = "你們這些蠢貨已經主動步入了陷阱。",
215 starttrigger2 = "我已經等待很久了。現在你們將面對靈魂的收割者。", --?
216 startwarn = "收割者戈提克已進入戰鬥 - 4:30 後進入房間",
217  
218 rider_name = "冷酷的騎兵",
219 spectral_rider_name = "騎兵",
220 deathknight_name = "冷酷的死亡騎士",
221 spectral_deathknight_name = "死騎",
222 trainee_name = "冷酷的學徒",
223 spectral_trainee_name = "學徒",
224  
225 riderdiewarn = "騎兵已死亡!",
226 dkdiewarn = "死亡騎士已死亡!",
227  
228 warn1 = "3 分鐘後進入房間!",
229 warn2 = "90 秒後進入房間!",
230 warn3 = "60 秒後進入房間!",
231 warn4 = "30 秒後進入房間!",
232 warn5 = "10 秒後進入房間!",
233  
234 trawarn = "3 秒後學徒出現!",
235 dkwarn = "3 秒後死亡騎士出現!",
236 riderwarn = "3 秒後騎兵出現!",
237  
238 trabar = "訓練師 - %d",
239 dkbar = "死騎 - %d",
240 riderbar = "騎兵 - %d",
241  
242 inroomtrigger = "我已經等待很久了。現在你們將面對靈魂的收割者。",
243 inroomwarn = "收割者高希進入了房間!",
244  
245 inroombartext = "進入房間",
246 } end )
247  
248 L:RegisterTranslations("frFR", function() return {
249 cmd = "Gothik",
250  
251 starttrigger1 = "Dans votre folie, vous avez provoqu\195\169 votre propre mort.",
252 starttrigger2 = "Teamanare shi rikk mannor rikk lok karkun",
253 startwarn = "Gothik le moissonneur engag\195\169! 4:30 avant son arriv\195\169e dans la salle.",
254  
255 rider_name = "Cavalier tenace",
256 spectral_rider_name = "Cavalier spectral",
257 deathknight_name = "Chevalier de la mort tenace",
258 spectral_deathknight_name = "Chevalier de la mort spectral",
259 trainee_name = "Jeune recrue tenace",
260 spectral_trainee_name = "Jeune recrue spectral",
261  
262 riderdiewarn = "Cavalier mort !",
263 dkdiewarn = "Chevalier de la mort mort !",
264  
265 warn1 = "Dans la salle dans 3 minutes",
266 warn2 = "Dans la salle dans 90 secondes",
267 warn3 = "Dans la salle dans 60 secondes",
268 warn4 = "Dans la salle dans 30 secondes",
269 warn5 = "Gothik arrive dans 10 secondes",
270  
271 trawarn = "Jeune recrue dans 3 secondes",
272 dkwarn = "Chevalier de la mort dans 3 secondes",
273 riderwarn = "Cavalier dans 3 secondes",
274  
275 trabar = "Jeune recrue - %d",
276 dkbar = "Chevalier de la mort - %d",
277 riderbar = "Cavalier - %d",
278  
279 inroomtrigger = "J'ai attendu assez longtemps. Maintenant, vous affrontez le moissonneur d'\195\162mes.",
280 inroomwarn = "Il est dans la salle !",
281  
282 inroombartext = "Dans la salle !",
283 } end )
284  
285 ----------------------------------
286 -- Module Declaration --
287 ----------------------------------
288  
289 BigWigsGothik = BigWigs:NewModule(boss)
290 BigWigsGothik.zonename = AceLibrary("Babble-Zone-2.2")["Naxxramas"]
291 BigWigsGothik.enabletrigger = { boss }
292 BigWigsGothik.wipemobs = {
293 L["rider_name"], L["deathknight_name"], L["trainee_name"],
294 L["spectral_rider_name"], L["spectral_deathknight_name"], L["spectral_trainee_name"]
295 }
296 BigWigsGothik.toggleoptions = { "room", -1, "add", "adddeath", "bosskill" }
297 BigWigsGothik.revision = tonumber(string.sub("$Revision: 15773 $", 12, -3))
298  
299 ------------------------------
300 -- Initialization --
301 ------------------------------
302  
303 function BigWigsGothik:OnEnable()
304 self.wave = 0
305 self.tratime = 27
306 self.dktime = 77
307 self.ridertime = 137
308  
309 self:RegisterEvent("CHAT_MSG_COMBAT_HOSTILE_DEATH")
310 self:RegisterEvent("CHAT_MSG_MONSTER_YELL")
311 self:RegisterEvent("PLAYER_REGEN_ENABLED", "CheckForWipe")
312 end
313  
314 function BigWigsGothik:CHAT_MSG_COMBAT_HOSTILE_DEATH( msg )
315 if self.db.profile.adddeath and msg == string.format(UNITDIESOTHER, L["rider_name"]) then
316 self:TriggerEvent("BigWigs_Message", L["riderdiewarn"], "Important")
317 elseif self.db.profile.adddeath and msg == string.format(UNITDIESOTHER, L["deathknight_name"]) then
318 self:TriggerEvent("BigWigs_Message", L["dkdiewarn"], "Important")
319 end
320 end
321  
322 function BigWigsGothik:StopRoom()
323 self:TriggerEvent("BigWigs_StopBar", self, L["inroombartext"])
324 self:CancelScheduledEvent("bwgothikwarn1")
325 self:CancelScheduledEvent("bwgothikwarn2")
326 self:CancelScheduledEvent("bwgothikwarn3")
327 self:CancelScheduledEvent("bwgothikwarn4")
328 self:CancelScheduledEvent("bwgothikwarn5")
329 if self.tranum and self.dknum and self.ridernum then
330 self:TriggerEvent("BigWigs_StopBar", self, string.format(L["trabar"], self.tranum - 1))
331 self:TriggerEvent("BigWigs_StopBar", self, string.format(L["dkbar"], self.dknum - 1))
332 self:TriggerEvent("BigWigs_StopBar", self, string.format(L["riderbar"], self.ridernum - 1))
333 end
334 self:CancelScheduledEvent("bwgothiktrawarn")
335 self:CancelScheduledEvent("bwgothikdkwarn")
336 self:CancelScheduledEvent("bwgothikriderwarn")
337 self:CancelScheduledEvent("bwgothiktrarepop")
338 self:CancelScheduledEvent("bwgothikdkrepop")
339 self:CancelScheduledEvent("bwgothikriderrepop")
340 end
341  
342 function BigWigsGothik:WaveWarn(message, L, color)
343 self.wave = self.wave + 1
344 if self.db.profile.add then self:TriggerEvent("BigWigs_Message", string.format(L["wave"], self.wave) .. message, color) end
345 end
346  
347 function BigWigsGothik:Trainee()
348 if self.db.profile.add then
349 self:TriggerEvent("BigWigs_StartBar", self, string.format(L["trabar"], self.tranum), self.tratime, "Interface\\Icons\\Ability_Seal")
350 end
351 self:ScheduleEvent("bwgothiktrawarn", self.WaveWarn, self.tratime - 3, self, L["trawarn"], L, "Attention")
352 self:ScheduleRepeatingEvent("bwgothiktrarepop", self.Trainee, self.tratime, self)
353 self.tranum = self.tranum + 1
354 end
355  
356 function BigWigsGothik:DeathKnight()
357 if self.db.profile.add then
358 self:TriggerEvent("BigWigs_StartBar", self, string.format(L["dkbar"], self.dknum), self.dktime, "Interface\\Icons\\INV_Boots_Plate_08")
359 end
360 self:ScheduleEvent("bwgothikdkwarn", self.WaveWarn, self.dktime - 3, self, L["dkwarn"], L, "Urgent")
361 self:ScheduleRepeatingEvent("bwgothikdkrepop", self.DeathKnight, self.dktime, self)
362 self.dknum = self.dknum + 1
363 end
364  
365 function BigWigsGothik:Rider()
366 if self.db.profile.add then
367 self:TriggerEvent("BigWigs_StartBar", self, string.format(L["riderbar"], self.ridernum), self.ridertime, "Interface\\Icons\\Spell_Shadow_DeathPact")
368 end
369 self:ScheduleEvent("bwgothikriderwarn", self.WaveWarn, self.ridertime - 3, self, L["riderwarn"], L, "Important")
370 self:ScheduleRepeatingEvent("bwgothikriderrepop", self.Rider, self.ridertime, self)
371 self.ridernum = self.ridernum + 1
372 end
373  
374 function BigWigsGothik:CHAT_MSG_MONSTER_YELL( msg )
375 if msg == L["starttrigger1"] or msg == L["starttrigger2"] then
376 if self.db.profile.room then
377 self:TriggerEvent("BigWigs_Message", L["startwarn"], "Important")
378 self:TriggerEvent("BigWigs_StartBar", self, L["inroombartext"], 270, "Interface\\Icons\\Spell_Magic_LesserInvisibilty")
379 self:ScheduleEvent("bwgothikwarn1", "BigWigs_Message", 90, L["warn1"], "Attention")
380 self:ScheduleEvent("bwgothikwarn2", "BigWigs_Message", 180, L["warn2"], "Attention")
381 self:ScheduleEvent("bwgothikwarn3", "BigWigs_Message", 210, L["warn3"], "Urgent")
382 self:ScheduleEvent("bwgothikwarn4", "BigWigs_Message", 240, L["warn4"], "Important")
383 self:ScheduleEvent("bwgothikwarn5", "BigWigs_Message", 260, L["warn5"], "Important")
384 end
385 self.tranum = 1
386 self.dknum = 1
387 self.ridernum = 1
388 if self.db.profile.add then
389 self:Trainee()
390 self:DeathKnight()
391 self:Rider()
392 end
393 -- set the new times
394 self.tratime = 20
395 self.dktime = 25
396 self.ridertime = 30
397 elseif msg == L["inroomtrigger"] then
398 if self.db.profile.room then self:TriggerEvent("BigWigs_Message", L["inroomwarn"], "Important") end
399 self:StopRoom()
400 elseif string.find(msg, L["disabletrigger"]) then
401 if self.db.profile.bosskill then self:TriggerEvent("BigWigs_Message", string.format(AceLibrary("AceLocale-2.2"):new("BigWigs")["%s has been defeated"], boss), "Bosskill", nil, "Victory") end
402 self.core:ToggleModuleActive(self, false)
403 end
404 end
405