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 boss = AceLibrary("Babble-Boss-2.2")["Hakkar"] |
||
6 | local L = AceLibrary("AceLocale-2.2"):new("BigWigs"..boss) |
||
7 | |||
8 | ---------------------------- |
||
9 | -- Localization -- |
||
10 | ---------------------------- |
||
11 | |||
12 | L:RegisterTranslations("enUS", function() return { |
||
13 | -- Chat message triggers |
||
14 | engage_trigger = "FACE THE WRATH OF THE SOULFLAYER!", |
||
15 | drain_trigger = "^Hakkar suffers (.+) from (.+) Blood Siphon", |
||
16 | mindcontrol_trigger = "(.*) (.*) afflicted by Cause Insanity", |
||
17 | |||
18 | you = "You", |
||
19 | are = "are", |
||
20 | |||
21 | flee = "Fleeing will do you no good, mortals!", |
||
22 | |||
23 | -- Warnings and bar texts |
||
24 | start_message = "Hakkar engaged - 90sec to drain - 10min to enrage!", |
||
25 | drain_warning = "%d sec to Life Drain!", |
||
26 | drain_message = "Life Drain - 90 sec to next!", |
||
27 | |||
28 | mindcontrol_message = "%s is mindcontrolled!", |
||
29 | mindcontrol_bar = "MC: %s", |
||
30 | |||
31 | ["Enrage"] = true, |
||
32 | ["Life Drain"] = true, |
||
33 | |||
34 | cmd = "Hakkar", |
||
35 | |||
36 | drain_cmd = "drain", |
||
37 | drain_name = "Drain Alerts", |
||
38 | drain_desc = "Warn for Drains", |
||
39 | |||
40 | enrage_cmd = "enrage", |
||
41 | enrage_name = "Enrage Alerts", |
||
42 | enrage_desc = "Warn for Enrage", |
||
43 | |||
44 | mc_cmd = "mc", |
||
45 | mc_name = "Mind Control", |
||
46 | mc_desc = "Alert when someone is mind controlled.", |
||
47 | |||
48 | icon_cmd = "icon", |
||
49 | icon_name = "Place Icon", |
||
50 | icon_desc = "Place a skull icon on the mind controlled person (requires promoted or higher)", |
||
51 | } end) |
||
52 | |||
53 | L:RegisterTranslations("deDE", function() return { |
||
54 | engage_trigger = "^EURE \195\156BERHEBLICHKEIT K\195\156NDET BEREITS VOM ENDE DIESER WELT!", -- ? |
||
55 | drain_trigger = "^Hakkar erleidet (.+) Naturschaden von (.+) %(durch Bluttrinker%).", |
||
56 | mindcontrol_trigger = "(.*) (.*) von Wahnsinn verursachen betroffen.", |
||
57 | |||
58 | you = "Ihr", |
||
59 | are = "seid", |
||
60 | |||
61 | flee = "Es ist sinnlos zu fl\195\188chten, Sterbliche!", |
||
62 | |||
63 | start_message = "Hakkar angegriffen! Bluttrinker in 90 Sekunden! Wutanfall in 10 Minuten!", |
||
64 | drain_warning = "Bluttrinker in %d Sekunden!", |
||
65 | drain_message = "Bluttrinker! N\195\164chster in 90 Sekunden!", |
||
66 | |||
67 | mindcontrol_message = "%s steht unter Gedankenkontrolle!", |
||
68 | mindcontrol_bar = "MC: %s", |
||
69 | |||
70 | ["Enrage"] = "Wutanfall", |
||
71 | ["Life Drain"] = "Bluttrinker", |
||
72 | |||
73 | drain_name = "Bluttrinker", |
||
74 | drain_desc = "Warnung, wenn Hakkar Bluttrinker wirkt.", |
||
75 | |||
76 | enrage_name = "Wutanfall", |
||
77 | enrage_desc = "Warnung, wenn Hakkar w\195\188tend wird.", |
||
78 | |||
79 | mc_name = "Gedankenkontrolle", |
||
80 | mc_desc = "Warnung wenn jemand unter Gedankenkontrolle steht.", |
||
81 | |||
82 | icon_name = "Symbol", |
||
83 | icon_desc = "Platziert ein Symbol \195\188ber dem Spieler, der unter Gedankenkontrolle steht. (Ben\195\182tigt Anf\195\188hrer oder Bef\195\182rdert Status.)", |
||
84 | } end) |
||
85 | |||
86 | L:RegisterTranslations("frFR", function() return { |
||
87 | -- Chat message triggers |
||
88 | engage_trigger = "ANNONCE LA FIN DE VOTRE MONDE", |
||
89 | drain_trigger = "^Siphon de sang .+ (.+) inflige \195\160 Hakkar (.+).", |
||
90 | mindcontrol_trigger = "(.*) (.*) les effets de Rendre fou.", |
||
91 | |||
92 | you = "Vous", |
||
93 | are = "subissez", |
||
94 | |||
95 | flee = "Fuir ne vous servira \195\160 rien, mortels !", |
||
96 | |||
97 | -- Warnings and bar texts |
||
98 | start_message = "Hakkar engag\195\169 - 90 sec. avant Drain - 10 min. avant Enrager", |
||
99 | drain_warning = "%d sec. avant le Drain de vie !", |
||
100 | drain_message = "Drain de vie - 90 sec. avant le prochain !", |
||
101 | |||
102 | mindcontrol_message = "%s est devenu fou !", |
||
103 | mindcontrol_bar = "CM: %s", |
||
104 | |||
105 | ["Enrage"] = "Enrager", |
||
106 | ["Life Drain"] = "Drain de vie", |
||
107 | |||
108 | drain_name = "Alerte Drain", |
||
109 | drain_desc = "Pr\195\169viens quand Hakkar fait ses drains de vie.", |
||
110 | |||
111 | enrage_name = "Alerte Enrager", |
||
112 | enrage_desc = "Pr\195\169viens quand Hakkar devient enrag\195\169.", |
||
113 | |||
114 | mc_name = "Alerte Contr\195\180le Mental", |
||
115 | mc_desc = "Pr\195\169viens quand quelqu'un est sous le contr\195\180le d'Hakkar.", |
||
116 | |||
117 | icon_name = "Placer une ic\195\180ne", |
||
118 | icon_desc = "Place une ic\195\180ne de raid sur la personne sous contr\195\180le mental (n\195\169cessite d'\195\170tre promu ou mieux).", |
||
119 | } end) |
||
120 | |||
121 | L:RegisterTranslations("koKR", function() return { |
||
122 | -- Chat message triggers |
||
123 | engage_trigger = "자만심은 세상의 종말을 불러올 뿐이다. 오너라! 건방진 피조물들이여! 와서 신의 진노에 맞서 보아라!", |
||
124 | drain_trigger = "학카르|1이;가; (.+)의 피의 착취에 의해 (.+)의 자연 피해를 입었습니다.", |
||
125 | mindcontrol_trigger = "^([^|;%s]*)(.*)정신 착란에 걸렸습니다%.$", -- "(.*) (.*) afflicted by Cause Insanity", -- CHECK |
||
126 | |||
127 | you = "", |
||
128 | are = "", |
||
129 | |||
130 | flee = "도망쳐 봐야 소용없다, 어리석은 생명체여!", -- by turtl |
||
131 | |||
132 | -- Warnings and bar texts |
||
133 | start_message = "학카르 시작 - 90초후 생명력 흡수 - 10분후 격노", |
||
134 | drain_warning = "생명력 흡수 %d초전", |
||
135 | drain_message = "생명력 흡수 - 다음 시전은 90초후", |
||
136 | |||
137 | mindcontrol_message = "%s|1이;가; 정신 지배되었습니다!", |
||
138 | mindcontrol_bar = "정신지배: %s", |
||
139 | |||
140 | ["Enrage"] = "격노", |
||
141 | ["Life Drain"] = "생명력 흡수", |
||
142 | |||
143 | drain_name = "흡수 경고", |
||
144 | drain_desc = "흡수에 대한 경고", |
||
145 | |||
146 | enrage_name = "격노 경고", |
||
147 | enrage_desc = "격노에 대한 경고", |
||
148 | |||
149 | mc_name = "정신 지배", |
||
150 | mc_desc = "정신 지배 되었을 때 경고", |
||
151 | |||
152 | icon_name = "아이콘 지정", |
||
153 | icon_desc = "정신 지배된 사람에게 해골 아이콘 지정 (승급자 이상 필요)", |
||
154 | } end) |
||
155 | |||
156 | |||
157 | L:RegisterTranslations("zhCN", function() return { |
||
158 | -- Chat message triggers |
||
159 | engage_trigger = "^骄傲会将你送上绝路", |
||
160 | drain_trigger = "^(.+)的酸性血液虹吸使哈卡受到了(.+)", |
||
161 | mindcontrol_trigger = "^(.+)受(.+)疯狂效果的影响", |
||
162 | |||
163 | you = "你", |
||
164 | are = "到", |
||
165 | |||
166 | flee = "逃跑", |
||
167 | |||
168 | -- Warnings and bar texts |
||
169 | start_message = "哈卡已经激活 - 90秒后开始生命吸取 - 10分钟后进入激怒状态", |
||
170 | drain_warning = "%d秒后发动生命吸取", |
||
171 | drain_message = "血液虹吸 - 90秒后再次发动", |
||
172 | |||
173 | mindcontrol_message = "%s 被控制了", |
||
174 | mindcontrol_bar = "MC: %s", |
||
175 | |||
176 | ["Enrage"] = "激怒", |
||
177 | ["Life Drain"] = "生命吸取", |
||
178 | |||
179 | drain_name = "生命吸取警报", |
||
180 | drain_desc = "生命吸取警报", |
||
181 | |||
182 | enrage_name = "激怒警报", |
||
183 | enrage_desc = "激怒警报", |
||
184 | |||
185 | mc_name = "精神控制警报", |
||
186 | mc_desc = "哈卡使用精神控制时警报。", |
||
187 | |||
188 | icon_name = "标记精神控制", |
||
189 | icon_desc = "团队标记被精神控制者 (需要助力或更高权限)", |
||
190 | } end) |
||
191 | |||
192 | L:RegisterTranslations("zhTW", function() return { |
||
193 | -- Hakkar 哈卡 |
||
194 | -- Chat message triggers |
||
195 | engage_trigger = "^驕傲會將你送上絕路", |
||
196 | drain_trigger = "^(.+)的血液虹吸使哈卡受到了(.+)點自然傷害。$", |
||
197 | mindcontrol_trigger = "^(.+)受到(.*)導致瘋狂", |
||
198 | |||
199 | you = "你", |
||
200 | are = "了", |
||
201 | |||
202 | flee = "逃跑", |
||
203 | |||
204 | -- Warnings and bar texts |
||
205 | start_message = "哈卡已經進入戰鬥 - 90秒後開始血液虹吸 - 10分鐘後進入狂怒狀態", |
||
206 | drain_warning = "%d 秒後開始生命吸取", |
||
207 | drain_message = "血液虹吸 - 90秒後再次發動", |
||
208 | |||
209 | mindcontrol_message = "%s 被控制了,法師快羊", |
||
210 | mindcontrol_bar = "MC: %s", |
||
211 | |||
212 | ["Enrage"] = "狂怒", |
||
213 | ["Life Drain"] = "血液虹吸", |
||
214 | |||
215 | drain_name = "血液虹吸警報", |
||
216 | drain_desc = "血液虹吸警報", |
||
217 | |||
218 | enrage_name = "狂怒警報", |
||
219 | enrage_desc = "狂怒警報", |
||
220 | |||
221 | mc_name = "精神控制警報", |
||
222 | mc_desc = "哈卡使用精神控制時警報。", |
||
223 | |||
224 | icon_name = "標記被精神控制的隊友", |
||
225 | icon_desc = "在被精神控制的隊友頭上設置標記 (需要助手或領隊權限)", |
||
226 | } end) |
||
227 | |||
228 | ---------------------------------- |
||
229 | -- Module Declaration -- |
||
230 | ---------------------------------- |
||
231 | |||
232 | BigWigsHakkar = BigWigs:NewModule(boss) |
||
233 | BigWigsHakkar.zonename = AceLibrary("Babble-Zone-2.2")["Zul'Gurub"] |
||
234 | BigWigsHakkar.enabletrigger = boss |
||
235 | BigWigsHakkar.toggleoptions = { "drain", "enrage", -1, "mc", "icon", "bosskill" } |
||
236 | BigWigsHakkar.revision = tonumber(string.sub("$Revision: 17555 $", 12, -3)) |
||
237 | |||
238 | ------------------------------ |
||
239 | -- Initialization -- |
||
240 | ------------------------------ |
||
241 | |||
242 | function BigWigsHakkar:OnEnable() |
||
243 | self.prior = nil |
||
244 | self:RegisterEvent("CHAT_MSG_SPELL_PERIODIC_CREATURE_DAMAGE") |
||
245 | self:RegisterEvent("CHAT_MSG_SPELL_PERIODIC_HOSTILEPLAYER_DAMAGE") |
||
246 | self:RegisterEvent("CHAT_MSG_MONSTER_YELL") |
||
247 | self:RegisterEvent("CHAT_MSG_COMBAT_HOSTILE_DEATH", "GenericBossDeath") |
||
248 | |||
249 | self:RegisterEvent("BigWigs_Message") |
||
250 | end |
||
251 | |||
252 | ------------------------------ |
||
253 | -- Event Handlers -- |
||
254 | ------------------------------ |
||
255 | |||
256 | function BigWigsHakkar:CHAT_MSG_MONSTER_YELL(msg) |
||
257 | if string.find(msg, L["engage_trigger"]) then |
||
258 | self:TriggerEvent("BigWigs_Message", L["start_message"], "Important") |
||
259 | if self.db.profile.enrage then self:TriggerEvent("BigWigs_StartBar", self, L["Enrage"], 600, "Interface\\Icons\\Spell_Shadow_UnholyFrenzy") end |
||
260 | self:BeginTimers(true) |
||
261 | elseif string.find(msg, L["flee"]) then |
||
262 | self:TriggerEvent("BigWigs_RebootModule", self) |
||
263 | end |
||
264 | end |
||
265 | |||
266 | function BigWigsHakkar:CHAT_MSG_SPELL_PERIODIC_CREATURE_DAMAGE(msg) |
||
267 | if not self.prior and string.find(msg, L["drain_trigger"]) then |
||
268 | self.prior = true |
||
269 | self:BeginTimers() |
||
270 | end |
||
271 | end |
||
272 | |||
273 | function BigWigsHakkar:CHAT_MSG_SPELL_PERIODIC_HOSTILEPLAYER_DAMAGE(msg) |
||
274 | local _,_, mcplayer, mctype = string.find(msg, L["mindcontrol_trigger"]) |
||
275 | if mcplayer then |
||
276 | if mcplayer == L["you"] then |
||
277 | mcplayer = UnitName("player") |
||
278 | end |
||
279 | if self.db.profile.mc then |
||
280 | self:TriggerEvent("BigWigs_StartBar", self, string.format(L["mindcontrol_bar"], mcplayer), 9.5, "Interface\\Icons\\Spell_Shadow_ShadowWordDominate") |
||
281 | self:TriggerEvent("BigWigs_Message", string.format(L["mindcontrol_message"], mcplayer), "Urgent") |
||
282 | end |
||
283 | if self.db.profile.icon then |
||
284 | self:TriggerEvent("BigWigs_SetRaidIcon", mcplayer) |
||
285 | end |
||
286 | end |
||
287 | end |
||
288 | |||
289 | function BigWigsHakkar:BigWigs_Message(text) |
||
290 | if text == string.format(L["drain_warning"], 60) then self.prior = nil end |
||
291 | end |
||
292 | |||
293 | function BigWigsHakkar:BeginTimers(first) |
||
294 | if self.db.profile.drain then |
||
295 | if not first then self:TriggerEvent("BigWigs_Message", L["drain_message"], "Attention") end |
||
296 | self:ScheduleEvent("bwhakkarld60", "BigWigs_Message", 30, string.format(L["drain_warning"], 60), "Attention") |
||
297 | self:ScheduleEvent("bwhakkarld45", "BigWigs_Message", 45, string.format(L["drain_warning"], 45), "Attention") |
||
298 | self:ScheduleEvent("bwhakkarld30", "BigWigs_Message", 60, string.format(L["drain_warning"], 30), "Urgent") |
||
299 | self:ScheduleEvent("bwhakkarld15", "BigWigs_Message", 75, string.format(L["drain_warning"], 15), "Important") |
||
300 | self:TriggerEvent("BigWigs_StartBar", self, L["Life Drain"], 90, "Interface\\Icons\\Spell_Shadow_LifeDrain") |
||
301 | end |
||
302 | end |
||
303 |