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")["Baron Geddon"]
6 local L = AceLibrary("AceLocale-2.2"):new("BigWigs"..boss)
7  
8 ----------------------------
9 -- Localization --
10 ----------------------------
11  
12 L:RegisterTranslations("enUS", function() return {
13 bomb_trigger = "^([^%s]+) ([^%s]+) afflicted by Living Bomb",
14 inferno_trigger = "Baron Geddon gains Inferno.",
15 service_trigger = "%s performs one last service for Ragnaros.",
16  
17 you = "You",
18 are = "are",
19  
20 bomb_message_you = "You are the bomb!",
21 bomb_message_other = "%s is the bomb!",
22  
23 bombtimer_bar = "%s: Living Bomb",
24 inferno_bar = "Inferno",
25 service_bar = "Last Service",
26  
27 service_message = "Last Service, Geddon exploding in 5sec!",
28 inferno_message = "Inferno for 10sec!",
29  
30 cmd = "Baron",
31  
32 service_cmd = "service",
33 service_name = "Last service",
34 service_desc = "Timer bar for Geddon's last service.",
35  
36 inferno_cmd = "inferno",
37 inferno_name = "Inferno",
38 inferno_desc = "Timer bar for Geddons Inferno.",
39  
40 bombtimer_cmd = "bombtimer",
41 bombtimer_name = "Bar for when the bomb goes off",
42 bombtimer_desc = "Shows a 10 second bar for when the bomb goes off at the target.",
43  
44 youbomb_cmd = "youbomb",
45 youbomb_name = "You are the bomb alert",
46 youbomb_desc = "Warn when you are the bomb",
47  
48 elsebomb_cmd = "elsebomb",
49 elsebomb_name = "Someone else is the bomb alert",
50 elsebomb_desc = "Warn when others are the bomb",
51  
52 icon_cmd = "icon",
53 icon_name = "Raid Icon on bomb",
54 icon_desc = "Put a Raid Icon on the person who's the bomb. (Requires promoted or higher)",
55 } end)
56  
57 L:RegisterTranslations("zhCN", function() return {
58 bomb_trigger = "^(.+)受(.+)了活化炸弹",
59 inferno_trigger = "迦顿男爵获得了地狱火的效果。",
60 service_trigger = "%s为拉格纳罗斯做最后一次服务",
61  
62 you = "你",
63 are = "到",
64  
65 bomb_message_you = "你是炸弹人!向着夕阳奔跑吧!",
66 bomb_message_other = "%s是炸弹人!向着夕阳奔跑吧!",
67  
68 bombtimer_bar = "%s: 活化炸弹",
69 inferno_bar = "地狱火",
70 service_bar = "最后自爆",
71  
72 service_message = "最后一次服务,5秒后迦顿爆炸!",
73 inferno_message = "10秒后地狱火!",
74  
75 service_name = "最后自爆计时条",
76 service_desc = "显示迦顿男爵最后自爆的计时条.",
77  
78 inferno_name = "地狱火计时条",
79 inferno_desc = "显示迦顿男爵地狱火的计时条.",
80  
81 youbomb_name = "玩家炸弹警报",
82 youbomb_desc = "你成为炸弹时发出警报",
83  
84 youbomb_name = "玩家炸弹警报",
85 youbomb_desc = "你成为炸弹时发出警报",
86  
87 elsebomb_name = "队友炸弹警报",
88 elsebomb_desc = "队友成为炸弹时发出警报",
89  
90 icon_cmd = "icon",
91 icon_name = "炸弹图标",
92 icon_desc = "在成为炸弹的队友头上标记骷髅图标(需要助理或领袖权限)",
93 } end)
94  
95 L:RegisterTranslations("zhTW", function() return {
96 -- Baron Geddon 迦頓男爵
97 bomb_trigger = "^(.+)受到(.*)活化炸彈",
98 inferno_trigger = "迦頓男爵獲得了地獄火的效果。",
99 service_trigger = "%s為拉格納羅斯做最後一件事……",
100  
101 you = "你",
102 are = "了",
103  
104 bomb_message_you = "你是炸彈人!遠離人群!",
105 bomb_message_other = "%s是炸彈人!遠離人群!",
106  
107 bombtimer_bar = "%s: 活化炸彈",
108 inferno_bar = "地獄火",
109 service_bar = "最後自爆",
110  
111 service_message = "5 秒後迦頓爆炸!",
112 inferno_message = "施放地獄火10秒!",
113  
114 service_name = "最後自爆計時條",
115 service_desc = "顯示迦頓男爵最後自爆的計時條.",
116  
117 inferno_name = "地獄火計時條",
118 inferno_desc = "顯示迦頓男爵地獄火的計時條.",
119  
120 youbomb_name = "玩家炸彈警報",
121 youbomb_desc = "你成為炸彈時發出警報",
122  
123 youbomb_name = "玩家炸彈警報",
124 youbomb_desc = "你成為炸彈時發出警報",
125  
126 elsebomb_name = "隊友炸彈警報",
127 elsebomb_desc = "隊友成為炸彈時發出警報",
128  
129 icon_name = "炸彈標記",
130 icon_desc = "在成為炸彈的隊友頭上標記(需要助理或領隊權限)",
131 } end)
132  
133 L:RegisterTranslations("koKR", function() return {
134 bomb_trigger = "^([^|;%s]*)(.*)살아있는 폭탄에 걸렸습니다%.$",
135 inferno_trigger = "남작 게돈|1이;가; 불지옥 효과를 얻었습니다.", -- check
136 service_trigger = "%s|1이;가; 라그나로스를 위한 마지막 임무를 수행합니다...", -- check
137  
138 you = "",
139 are = "",
140  
141 bomb_message_you = "당신은 폭탄입니다!",
142 bomb_message_other = "%s님이 폭탄입니다!",
143  
144 bombtimer_bar = "%s: 살아있는 폭탄",
145 inferno_bar = "불지옥",
146 service_bar = "마지막 임무",
147  
148 service_message = "마지막 임무, 게돈 폭발 5초전!",
149 inferno_message = "10초동안 불지옥!",
150  
151  
152 service_name = "마지막 임무",
153 service_desc = "게돈의 마지막 임무에 대한 타이머 바",
154  
155 inferno_name = "불지옥",
156 inferno_desc = "게돈 불지옥에 대한 타이머 바.",
157  
158 bombtimer_name = "폭탄에 대한 바",
159 bombtimer_desc = "대상에서 폭탄이 사라질 때에 대한 10초 바를 표시합니다.",
160  
161 youbomb_name = "자신의 폭탄 경고",
162 youbomb_desc = "자신이 폭탄 일때 경고",
163  
164 elsebomb_name = "타인의 폭탄 경고",
165 elsebomb_desc = "타인이 폭탄 일때 경고",
166  
167 icon_name = "폭탄에 공격대 아이콘 표시",
168 icon_desc = "폭탄인 사람에게 공격대 아이콘 표시. (승급자 이상 요구)",
169 } end)
170  
171 L:RegisterTranslations("deDE", function() return {
172 bomb_trigger = "^([^%s]+) ([^%s]+) von Lebende Bombe betroffen",
173 inferno_trigger = "Baron Geddon bekommt 'Inferno'.",
174 service_trigger = "%s erweist Ragnaros einen letzten Dienst.", -- ?
175  
176 you = "Ihr",
177 are = "seid",
178  
179 bomb_message_you = "Du bist die Bombe!",
180 bomb_message_other = "%s ist die Bombe!",
181  
182 bombtimer_bar = "%s: Lebende Bombe",
183 inferno_bar = "Inferno",
184 service_bar = "Letzter Dienst",
185  
186 service_message = "Letzter Dienst! Baron Geddon explodiert in 5 Sekunden!",
187 inferno_message = "Inferno f\195\188r 10 Sekunden!",
188  
189 service_name = "Letzter Dienst",
190 service_desc = "Timer Balken f\195\188r Baron Geddons letzten Dienst.",
191  
192 inferno_name = "Inferno",
193 inferno_desc = "Timer Balken f\195\188r Baron Geddons Inferno.",
194  
195 bombtimer_name = "Bomben Timer",
196 bombtimer_desc = "Zeigt einen 10 Sekunden Timer f\195\188r die Explosion der Lebenden Bombe.",
197  
198 youbomb_name = "Du bist die Bombe",
199 youbomb_desc = "Warnung, wenn Du die Bombe bist.",
200  
201 elsebomb_name = "X ist die Bombe",
202 elsebomb_desc = "Warnung, wenn andere Spieler die Bombe sind",
203  
204 icon_name = "Symbol",
205 icon_desc = "Platziert ein Symbol \195\188ber dem Spieler, der die Bombe ist. (Ben\195\182tigt Anf\195\188hrer oder Bef\195\182rdert Status.)",
206 } end)
207  
208 L:RegisterTranslations("frFR", function() return {
209 bomb_trigger = "^(.+) (.+) les effets de Bombe vivante%.",
210 inferno_trigger = "Baron Geddon gagne Inferno.",
211 service_trigger = "%s accomplit un dernier service pour Ragnaros...",
212  
213 you = "Vous",
214 are = "subissez",
215  
216 bomb_message_you = "Tu es la bombe !",
217 bomb_message_other = "%s est la bombe !",
218  
219 bombtimer_bar = "%s : Bombe vivante",
220 inferno_bar = "Inferno",
221 service_bar = "Dernier service",
222  
223 service_message = "Dernier Service, Geddon explose dans 5 secondes !",
224 inferno_message = "Inferno pendant 10 secondes !",
225  
226 service_name = "Alerte Dernier Service",
227 service_desc = "Pr\195\169viens du dernier service de Geddon.",
228  
229 inferno_name = "Alerte Inferno",
230 inferno_desc = "Pr\195\169viens des Inferno de Geddon.",
231  
232 bombtimer_name = "Barre Bombes Vivantes",
233 bombtimer_desc = "Affiche une barre pour chaque Bombe vivante.",
234  
235 youbomb_name = "Alerte quand vous \195\170tes la bombe",
236 youbomb_desc = "Pr\195\169viens quand vous \195\170tes la bombe.",
237  
238 elsebomb_name = "Alerte quand d'autres sont la bombe",
239 elsebomb_desc = "Pr\195\169viens quand d'autres joueurs sont la bombe.",
240  
241 icon_name = "Ic\195\180ne de raid",
242 icon_desc = "Place une ic\195\180ne de raid sur la derni\195\168re personne qui est la bombe (requiert d'\195\170tre promus ou plus)",
243 } end)
244  
245 ----------------------------------
246 -- Module Declaration --
247 ----------------------------------
248  
249 BigWigsBaronGeddon = BigWigs:NewModule(boss)
250 BigWigsBaronGeddon.zonename = AceLibrary("Babble-Zone-2.2")["Molten Core"]
251 BigWigsBaronGeddon.enabletrigger = boss
252 BigWigsBaronGeddon.toggleoptions = {"inferno", "service", -1, "bombtimer", "youbomb", "elsebomb", "icon", "bosskill"}
253 BigWigsBaronGeddon.revision = tonumber(string.sub("$Revision: 16639 $", 12, -3))
254  
255 ------------------------------
256 -- Initialization --
257 ------------------------------
258  
259 function BigWigsBaronGeddon:OnEnable()
260 self:RegisterEvent("CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_DAMAGE", "Event")
261 self:RegisterEvent("CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE", "Event")
262 self:RegisterEvent("CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE", "Event")
263 self:RegisterEvent("CHAT_MSG_SPELL_PERIODIC_CREATURE_BUFFS")
264 self:RegisterEvent("CHAT_MSG_MONSTER_EMOTE")
265 self:RegisterEvent("CHAT_MSG_COMBAT_HOSTILE_DEATH", "GenericBossDeath")
266  
267 self:RegisterEvent("BigWigs_RecvSync")
268 self:TriggerEvent("BigWigs_ThrottleSync", "GeddonBomb", 1)
269 self:TriggerEvent("BigWigs_ThrottleSync", "GeddonInferno", 5)
270 end
271  
272 ------------------------------
273 -- Event Handlers --
274 ------------------------------
275  
276 function BigWigsBaronGeddon:Event(msg)
277 local _, _, EPlayer, EType = string.find(msg, L["bomb_trigger"])
278 if EPlayer and EType then
279 if EPlayer == L["you"] and EType == L["are"] then
280 EPlayer = UnitName("player")
281 end
282 self:TriggerEvent("BigWigs_SendSync", "GeddonBomb "..EPlayer)
283 end
284 end
285  
286 function BigWigsBaronGeddon:CHAT_MSG_SPELL_PERIODIC_CREATURE_BUFFS(msg)
287 if msg == L["inferno_trigger"] then
288 self:TriggerEvent("BigWigs_SendSync", "GeddonInferno")
289 end
290 end
291  
292 function BigWigsBaronGeddon:CHAT_MSG_MONSTER_EMOTE(msg)
293 if msg == L["service_trigger"] and self.db.profile.service then
294 self:TriggerEvent("BigWigs_StartBar", self, L["service_bar"], 5, "Interface\\Icons\\Spell_Shadow_MindBomb", "Red")
295 self:TriggerEvent("BigWigs_Message", L["service_message"], "Important")
296 end
297 end
298  
299 function BigWigsBaronGeddon:BigWigs_RecvSync(sync, rest, nick)
300 if sync == "GeddonBomb" and rest then
301 local player = rest
302  
303 if player == UnitName("player") and self.db.profile.youbomb then
304 self:TriggerEvent("BigWigs_Message", L["bomb_message_you"], "Personal", true)
305 self:TriggerEvent("BigWigs_Message", string.format(L["bomb_message_other"], player), "Attention", nil, nil, true )
306 elseif self.db.profile.elsebomb then
307 self:TriggerEvent("BigWigs_Message", string.format(L["bomb_message_other"], player), "Attention")
308 self:TriggerEvent("BigWigs_SendTell", player, L["bomb_message_you"])
309 end
310  
311 if self.db.profile.bombtimer then
312 self:TriggerEvent("BigWigs_StartBar", self, string.format(L["bombtimer_bar"], player), 10, "Interface\\Icons\\Spell_Shadow_MindBomb", "Red")
313 end
314  
315 if self.db.profile.icon then
316 self:TriggerEvent("BigWigs_SetRaidIcon", player)
317 end
318 elseif sync == "GeddonInferno" and self.db.profile.inferno then
319 self:TriggerEvent("BigWigs_StartBar", self, L["inferno_bar"], 10, "Interface\\Icons\\Spell_Fire_SealOfFire", "Orange")
320 self:TriggerEvent("BigWigs_Message", L["inferno_message"], "Important")
321 end
322 end
323