vanilla-wow-addons – Blame information for rev 1
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
1 | office | 1 | ------------------------------ |
2 | -- Are you local? -- |
||
3 | ------------------------------ |
||
4 | |||
5 | local veklor = AceLibrary("Babble-Boss-2.2")["Emperor Vek'lor"] |
||
6 | local veknilash = AceLibrary("Babble-Boss-2.2")["Emperor Vek'nilash"] |
||
7 | local boss = AceLibrary("Babble-Boss-2.2")["The Twin Emperors"] |
||
8 | local L = AceLibrary("AceLocale-2.2"):new("BigWigs" .. boss) |
||
9 | |||
10 | local started = nil |
||
11 | |||
12 | ---------------------------- |
||
13 | -- Localization -- |
||
14 | ---------------------------- |
||
15 | |||
16 | L:RegisterTranslations("enUS", function() return { |
||
17 | cmd = "Twins", |
||
18 | |||
19 | bug_cmd = "bug", |
||
20 | bug_name = "Exploding Bug Alert", |
||
21 | bug_desc = "Warn for exploding bugs", |
||
22 | |||
23 | teleport_cmd = "teleport", |
||
24 | teleport_name = "Teleport Alert", |
||
25 | teleport_desc = "Warn for Teleport", |
||
26 | |||
27 | enrage_cmd = "enrage", |
||
28 | enrage_name = "Enrage Alert", |
||
29 | enrage_desc = "Warn for Enrage", |
||
30 | |||
31 | heal_cmd = "heal", |
||
32 | heal_name = "Heal Alert", |
||
33 | heal_desc = "Warn for Twins Healing", |
||
34 | |||
35 | porttrigger = "casts Twin Teleport.", |
||
36 | portwarn = "Teleport!", |
||
37 | portdelaywarn = "Teleport in ~5 seconds!", |
||
38 | portdelaywarn2 = "Teleport in ~10 seconds!", |
||
39 | bartext = "Teleport", |
||
40 | explodebugtrigger = "gains Explode Bug%.$", |
||
41 | explodebugwarn = "Bug exploding nearby!", |
||
42 | enragetrigger = "becomes enraged.", |
||
43 | enragewarn = "Twins are enraged", |
||
44 | healtrigger1 = "'s Heal Brother heals", |
||
45 | healtrigger2 = " Heal Brother heals", |
||
46 | healwarn = "Casting Heal!", |
||
47 | startwarn = "Twin Emperors engaged! Enrage in 15 minutes!", |
||
48 | enragebartext = "Enrage", |
||
49 | warn1 = "Enrage in 10 minutes", |
||
50 | warn2 = "Enrage in 5 minutes", |
||
51 | warn3 = "Enrage in 3 minutes", |
||
52 | warn4 = "Enrage in 90 seconds", |
||
53 | warn5 = "Enrage in 60 seconds", |
||
54 | warn6 = "Enrage in 30 seconds", |
||
55 | warn7 = "Enrage in 10 seconds", |
||
56 | } end ) |
||
57 | |||
58 | L:RegisterTranslations("deDE", function() return { |
||
59 | bug_name = "Explodierende K\195\164fer", |
||
60 | bug_desc = "Warnung vor explodierenden K\195\164fern.", |
||
61 | |||
62 | teleport_name = "Teleport", |
||
63 | teleport_desc = "Warnung, wenn die Zwillings Imperatoren sich teleportieren.", |
||
64 | |||
65 | enrage_name = "Wutanfall", |
||
66 | enrage_desc = "Warnung, wenn die Zwillings Imperatoren w\195\188tend werden.", |
||
67 | |||
68 | heal_name = "Heilung", |
||
69 | heal_desc = "Warnung, wenn die Zwillings Imperatoren sich heilen.", |
||
70 | |||
71 | porttrigger = "wirkt Zwillingsteleport.", |
||
72 | portwarn = "Teleport!", |
||
73 | portdelaywarn = "Teleport in ~5 Sekunden!", |
||
74 | portdelaywarn2 = "Teleport in ~10 Sekunden!", |
||
75 | bartext = "Teleport", |
||
76 | explodebugtrigger = "bekommt 'K\195\164fer explodieren lassen'", |
||
77 | explodebugwarn = "K\195\164fer explodiert!", |
||
78 | enragetrigger = "wird w\195\188tend.", -- ? "bekommt 'Wutanfall'" |
||
79 | enragewarn = "Zwillings Imperatoren sind w\195\188tend!", |
||
80 | healtrigger1 = "'s Bruder heilen heilt", |
||
81 | healtrigger2 = " Bruder heilen heilt", |
||
82 | healwarn = "Heilung gewirkt!", |
||
83 | startwarn = "Zwillings Imperatoren angegriffen! Wutanfall in 15 Minuten!", |
||
84 | enragebartext = "Wutanfall", |
||
85 | warn1 = "Wutanfall in 10 Minuten", |
||
86 | warn2 = "Wutanfall in 5 Minuten", |
||
87 | warn3 = "Wutanfall in 3 Minuten", |
||
88 | warn4 = "Wutanfall in 90 Sekunden", |
||
89 | warn5 = "Wutanfall in 60 Sekunden", |
||
90 | warn6 = "Wutanfall in 30 Sekunden", |
||
91 | warn7 = "Wutanfall in 10 Sekunden", |
||
92 | } end ) |
||
93 | |||
94 | L:RegisterTranslations("zhCN", function() return { |
||
95 | bug_name = "爆炸虫警报", |
||
96 | bug_desc = "爆炸虫警报", |
||
97 | |||
98 | teleport_name = "传送警报", |
||
99 | teleport_desc = "传送警报", |
||
100 | |||
101 | enrage_name = "激怒警报", |
||
102 | enrage_desc = "激怒警报", |
||
103 | |||
104 | heal_name = "治疗警报", |
||
105 | heal_desc = "双子皇帝互相治疗时发出警报", |
||
106 | |||
107 | porttrigger = "施放了双子传送。", |
||
108 | portwarn = "双子传送发动!", |
||
109 | portdelaywarn = "5秒后发动双子传送!", |
||
110 | portdelaywarn2 = "10秒后发动双子传送!", |
||
111 | bartext = "双子传送", |
||
112 | explodebugtrigger = "(.+)获得了爆炸虫", |
||
113 | explodebugwarn = "爆炸虫即将出现!", |
||
114 | enragetrigger = "获得了激怒的效果。", |
||
115 | enragewarn = "双子皇帝获得了激怒的效果!", |
||
116 | healtrigger1 = "的治疗兄弟为", |
||
117 | healtrigger2 = "的治疗兄弟为", |
||
118 | healwarn = "正在施放治疗兄弟 - 快将他们分开!", |
||
119 | startwarn = "双子皇帝已激活 - 15分钟后进入激怒状态", |
||
120 | enragebartext = "激怒", |
||
121 | warn1 = "10分钟后激怒", |
||
122 | warn2 = "5分钟后激怒", |
||
123 | warn3 = "3分钟后激怒", |
||
124 | warn4 = "90秒后激怒", |
||
125 | warn5 = "60秒后激怒", |
||
126 | warn6 = "30秒后激怒", |
||
127 | warn7 = "10秒后激怒", |
||
128 | } end ) |
||
129 | |||
130 | L:RegisterTranslations("zhTW", function() return { |
||
131 | -- Twin Emperors 雙子皇帝 |
||
132 | bug_name = "爆炸蟲警報", |
||
133 | bug_desc = "雙子皇帝施放爆炸蟲時發出警報", |
||
134 | |||
135 | teleport_name = "傳送警報", |
||
136 | teleport_desc = "雙子皇帝施放雙子傳送時發出警報", |
||
137 | |||
138 | enrage_name = "狂怒警報", |
||
139 | enrage_desc = "雙子皇帝的狂怒倒數計時與時警報", |
||
140 | |||
141 | heal_name = "治療警報", |
||
142 | heal_desc = "雙子皇帝互相治療時發出警報", |
||
143 | |||
144 | porttrigger = "施放了雙子傳送。", |
||
145 | portwarn = "雙子傳送發動!", |
||
146 | portdelaywarn = "5 秒後發動雙子傳送!", |
||
147 | portdelaywarn2 = "10 秒後發動雙子傳送!", |
||
148 | bartext = "雙子傳送", |
||
149 | explodebugtrigger = "(.+)獲得了爆炸蟲的效果。$", |
||
150 | explodebugwarn = "爆炸蟲即將出現!", |
||
151 | enragetrigger = "獲得了狂怒的效果。", |
||
152 | enragewarn = "開始狂怒!", |
||
153 | healtrigger1 = "的治療兄弟為", |
||
154 | healtrigger2 = "的治療兄弟為", |
||
155 | healwarn = "正在施放治療兄弟 - 快拉開!", |
||
156 | startwarn = "雙子皇帝已進入戰鬥 - 15分鐘後進入狂怒狀態", |
||
157 | enragebartext = "狂怒", |
||
158 | warn1 = "10 分鐘後狂怒", |
||
159 | warn2 = "5 分鐘後狂怒", |
||
160 | warn3 = "3 分鐘後狂怒", |
||
161 | warn4 = "90 秒後狂怒", |
||
162 | warn5 = "60 秒後狂怒", |
||
163 | warn6 = "30 秒後狂怒", |
||
164 | warn7 = "10 秒後狂怒", |
||
165 | } end ) |
||
166 | |||
167 | L:RegisterTranslations("koKR", function() return { |
||
168 | bug_name = "벌레 폭발 경고", |
||
169 | bug_desc = "벌레 폭발에 대한 경고", |
||
170 | |||
171 | teleport_name = "순간이동 경고", |
||
172 | teleport_desc = "순간이동에 대한 경고", |
||
173 | |||
174 | enrage_name = "격노 경고", |
||
175 | enrage_desc = "격노에 대한 경고", |
||
176 | |||
177 | heal_name = "치유 경고", |
||
178 | heal_desc = "형제 치유에 대한 경고", |
||
179 | |||
180 | porttrigger = "쌍둥이 순간이동|1을;를; 시전합니다.", |
||
181 | portwarn = "순간 이동!", |
||
182 | portdelaywarn = "약 5초후 순간 이동!", |
||
183 | portdelaywarn2 = "약 10초후 순간 이동!", |
||
184 | bartext = "순간 이동", |
||
185 | explodebugtrigger = "(.+)|1이;가; 벌레 폭발 효과를 얻었습니다.", |
||
186 | explodebugwarn = "벌레 폭발!", |
||
187 | enragetrigger = "%s|1이;가; 격노 효과를 얻었습니다.", -- CHECK |
||
188 | enragewarn = "쌍둥이 격노!!", |
||
189 | healtrigger1 = "(.+)|1이;가; 형제 치유|1을;를;", |
||
190 | healtrigger2 = "(.+)의 형제 치유|1으로;로;", |
||
191 | |||
192 | healwarn = "형제 치유 시전중 - 쌍둥이 분리!", |
||
193 | startwarn = "쌍둥이 제왕 전투 시작! 15분 후 격노!", |
||
194 | enragebartext = "격노", |
||
195 | warn1 = "격노 - 10 분전", |
||
196 | warn2 = "격노 - 5 분전", |
||
197 | warn3 = "격노 - 3 분전", |
||
198 | warn4 = "격노 - 90 초전", |
||
199 | warn5 = "격노 - 60 초전", |
||
200 | warn6 = "격노 - 30 초전", |
||
201 | warn7 = "격노 - 10 초전", |
||
202 | } end ) |
||
203 | |||
204 | L:RegisterTranslations("frFR", function() return { |
||
205 | bug_name = "Alerte explosion d'insecte", |
||
206 | bug_desc = "Pr\195\169viens de l'explosion des insectes.", |
||
207 | |||
208 | teleport_name = "Alerte T\195\169l\195\169portation", |
||
209 | teleport_desc = "Pr\195\169viens des t\195\169l\195\169portations.", |
||
210 | |||
211 | enrage_name = "Alerte Enrag\195\169s", |
||
212 | enrage_desc = "Pr\195\169viens quand les jumeaux sont enrag\195\169s.", |
||
213 | |||
214 | heal_name = "Alerte soins", |
||
215 | heal_desc = "Pr\195\169viens quand les jumeaux se soignent.", |
||
216 | |||
217 | portwarn = "T\195\169l\195\169portation !", |
||
218 | portdelaywarn = "T\195\169l\195\169portation dans ~5 secondes !", |
||
219 | portdelaywarn2 = "T\195\169l\195\169portation dans ~10 secondes !", |
||
220 | bartext = "T\195\169l\195\169portation", |
||
221 | explodebugwarn = "Explosion d'insecte proche !", |
||
222 | enragewarn = "Les jumeaux sont enrag\195\169s !", |
||
223 | healwarn = "Incantation de soins !", |
||
224 | startwarn = "Les empereurs jumeaux engag\195\169s ! Enrag\195\169s dans 15 minutes", |
||
225 | enragebartext = "Enrag\195\169s", |
||
226 | warn1 = "Enrag\195\169s dans 10 minutes", |
||
227 | warn2 = "Enrag\195\169s dans 5 minutes", |
||
228 | warn3 = "Enrag\195\169s dans 3 minutes", |
||
229 | warn4 = "Enrag\195\169s dans 90 secondes", |
||
230 | warn5 = "Enrag\195\169s dans 60 secondes", |
||
231 | warn6 = "Enrag\195\169s dans 30 secondes", |
||
232 | warn7 = "Enrag\195\169s dans 10 secondes", |
||
233 | |||
234 | porttrigger = "lance T\195\169l\195\169portation des jumeaux.", |
||
235 | explodebugtrigger = "gagne Explosion de l'insecte%.$", |
||
236 | enragetrigger = "devient fou furieux.",-- not sure at all |
||
237 | healtrigger1 = "Soigner fr\195\168re (.+) gu\195\169rit", |
||
238 | healtrigger2 = "Soigner fr\195\168re (.+) soigne", |
||
239 | } end ) |
||
240 | |||
241 | ---------------------------------- |
||
242 | -- Module Declaration -- |
||
243 | ---------------------------------- |
||
244 | |||
245 | BigWigsTwins = BigWigs:NewModule(boss) |
||
246 | BigWigsTwins.zonename = AceLibrary("Babble-Zone-2.2")["Ahn'Qiraj"] |
||
247 | BigWigsTwins.enabletrigger = {veklor, veknilash} |
||
248 | BigWigsTwins.toggleoptions = {"bug", "teleport", "enrage", "heal", "bosskill"} |
||
249 | BigWigsTwins.revision = tonumber(string.sub("$Revision: 16970 $", 12, -3)) |
||
250 | |||
251 | ------------------------------ |
||
252 | -- Initialization -- |
||
253 | ------------------------------ |
||
254 | |||
255 | function BigWigsTwins:OnEnable() |
||
256 | started = nil |
||
257 | self:RegisterEvent("CHAT_MSG_COMBAT_HOSTILE_DEATH") |
||
258 | self:RegisterEvent("CHAT_MSG_SPELL_PERIODIC_CREATURE_BUFFS") |
||
259 | self:RegisterEvent("CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE") |
||
260 | self:RegisterEvent("CHAT_MSG_SPELL_CREATURE_VS_CREATURE_BUFF") |
||
261 | self:RegisterEvent("PLAYER_REGEN_ENABLED", "CheckForWipe") |
||
262 | self:RegisterEvent("PLAYER_REGEN_DISABLED", "CheckForEngage") |
||
263 | self:RegisterEvent("BigWigs_RecvSync") |
||
264 | self:TriggerEvent("BigWigs_ThrottleSync", "TwinsTeleport", 10) |
||
265 | end |
||
266 | |||
267 | ------------------------------ |
||
268 | -- Event Handlers -- |
||
269 | ------------------------------ |
||
270 | |||
271 | function BigWigsTwins:CHAT_MSG_COMBAT_HOSTILE_DEATH(msg) |
||
272 | if msg == string.format(UNITDIESOTHER, veklor) or msg == string.format(UNITDIESOTHER, veknilash) then |
||
273 | if self.db.profile.bosskill then self:TriggerEvent("BigWigs_Message", string.format(AceLibrary("AceLocale-2.2"):new("BigWigs")["%s have been defeated"], boss), "Bosskill", nil, "Victory") end |
||
274 | self.core:ToggleModuleActive(self, false) |
||
275 | end |
||
276 | end |
||
277 | |||
278 | function BigWigsTwins:BigWigs_RecvSync(sync, rest, nick) |
||
279 | if sync == self:GetEngageSync() and rest and rest == boss and not started then |
||
280 | started = true |
||
281 | if self:IsEventRegistered("PLAYER_REGEN_DISABLED") then |
||
282 | self:UnregisterEvent("PLAYER_REGEN_DISABLED") |
||
283 | end |
||
284 | if self.db.profile.teleport then |
||
285 | self:ScheduleEvent("BigWigs_Message", 20, L["portdelaywarn2"], "Urgent") |
||
286 | self:ScheduleEvent("BigWigs_Message", 25, L["portdelaywarn"], "Important") |
||
287 | self:TriggerEvent("BigWigs_StartBar", self, L["bartext"], 30, "Interface\\Icons\\Spell_Arcane_Blink") |
||
288 | end |
||
289 | if self.db.profile.enrage then |
||
290 | self:TriggerEvent("BigWigs_Message", L["startwarn"], "Important") |
||
291 | self:TriggerEvent("BigWigs_StartBar", self, L["enragebartext"], 900, "Interface\\Icons\\Spell_Shadow_UnholyFrenzy") |
||
292 | self:ScheduleEvent("bwtwinswarn1", "BigWigs_Message", 300, L["warn1"], "Attention") |
||
293 | self:ScheduleEvent("bwtwinswarn2", "BigWigs_Message", 600, L["warn2"], "Attention") |
||
294 | self:ScheduleEvent("bwtwinswarn3", "BigWigs_Message", 720, L["warn3"], "Attention") |
||
295 | self:ScheduleEvent("bwtwinswarn4", "BigWigs_Message", 810, L["warn4"], "Urgent") |
||
296 | self:ScheduleEvent("bwtwinswarn5", "BigWigs_Message", 840, L["warn5"], "Urgent") |
||
297 | self:ScheduleEvent("bwtwinswarn6", "BigWigs_Message", 870, L["warn6"], "Important") |
||
298 | self:ScheduleEvent("bwtwinswarn7", "BigWigs_Message", 890, L["warn7"], "Important") |
||
299 | end |
||
300 | elseif sync == "TwinsTeleport" and self.db.profile.teleport then |
||
301 | self:TriggerEvent("BigWigs_Message", L["portwarn"], "Attention") |
||
302 | self:ScheduleEvent("BigWigs_Message", 20, L["portdelaywarn2"], "Urgent") |
||
303 | self:ScheduleEvent("BigWigs_Message", 25, L["portdelaywarn"], "Important") |
||
304 | self:TriggerEvent("BigWigs_StartBar", self, L["bartext"], 30, "Interface\\Icons\\Spell_Arcane_Blink") |
||
305 | end |
||
306 | end |
||
307 | |||
308 | function BigWigsTwins:CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE(msg) |
||
309 | if (string.find(msg, L["porttrigger"])) then |
||
310 | self:TriggerEvent("BigWigs_SendSync", "TwinsTeleport") |
||
311 | end |
||
312 | end |
||
313 | |||
314 | function BigWigsTwins:CHAT_MSG_SPELL_PERIODIC_CREATURE_BUFFS(msg) |
||
315 | if (string.find(msg, L["explodebugtrigger"]) and self.db.profile.bug) then |
||
316 | self:TriggerEvent("BigWigs_Message", L["explodebugwarn"], "Personal", true) |
||
317 | end |
||
318 | end |
||
319 | |||
320 | function BigWigsTwins:CHAT_MSG_SPELL_CREATURE_VS_CREATURE_BUFF(msg) |
||
321 | if (not self.prior and (string.find(msg, L["healtrigger1"]) or string.find(msg, L["healtrigger2"])) and self.db.profile.heal) then |
||
322 | self:TriggerEvent("BigWigs_Message", L["healwarn"], "Important") |
||
323 | self.prior = true |
||
324 | self:ScheduleEvent(function() BigWigsTwins.prior = nil end, 10) |
||
325 | end |
||
326 | end |
||
327 | |||
328 | function BigWigsTwins:CHAT_MSG_MONSTER_EMOTE(msg) |
||
329 | if (string.find(msg, L["enragetrigger"]) and self.db.profile.enrage) then |
||
330 | self:TriggerEvent("BigWigs_Message", L["enragewarn"], "Important") |
||
331 | end |
||
332 | end |