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")["Instructor Razuvious"]
6 local understudy = AceLibrary("Babble-Boss-2.2")["Deathknight Understudy"]
7 local L = AceLibrary("AceLocale-2.2"):new("BigWigs"..boss)
8  
9 ----------------------------
10 -- Localization --
11 ----------------------------
12  
13 L:RegisterTranslations("enUS", function() return {
14 cmd = "Razuvious",
15  
16 shout_cmd = "shout",
17 shout_name = "Shout Alert",
18 shout_desc = "Warn for disrupting shout",
19  
20 shieldwall_cmd = "shieldwall",
21 shieldwall_name = "Shield Wall Timer",
22 shieldwall_desc = "Show timer for shieldwall",
23  
24 startwarn = "Instructor Razuvious engaged! ~25sec to shout!",
25  
26 starttrigger1 = "The time for practice is over! Show me what you have learned!",
27 starttrigger2 = "Sweep the leg... Do you have a problem with that?",
28 starttrigger3 = "Show them no mercy!",
29 starttrigger4 = "Do as I taught you!",
30  
31 shouttrigger = "Disrupting Shout",
32 shout7secwarn = "7 sec to Disrupting Shout",
33 shout3secwarn = "3 sec to Disrupting Shout!",
34 shoutwarn = "Disrupting Shout!",
35 noshoutwarn = "No shout! Next in ~20secs",
36 shoutbar = "Disrupting Shout",
37  
38 shieldwalltrigger = "Deathknight Understudy gains Shield Wall.",
39 shieldwallbar = "Shield Wall",
40 } end )
41  
42 L:RegisterTranslations("deDE", function() return {
43 shout_name = "Unterbrechungsruf",
44 shout_desc = "Warnung, wenn Instruktor Razuvious Unterbrechungsruf wirkt.",
45  
46 shieldwall_name = "Schildwall",
47 shieldwall_desc = "Timer f\195\188r Schildwall.",
48  
49 startwarn = "Instruktor Razuvious angegriffen! Unterbrechungsruf in ~25 Sekunden!",
50  
51 starttrigger1 = "Die Zeit des \195\156bens ist vorbei! Zeigt mir, was ihr gelernt habt!",
52 starttrigger2 = "Streckt sie nieder... oder habt ihr ein Problem damit?",
53 starttrigger3 = "Lasst keine Gnade walten!",
54 starttrigger4 = "Befolgt meine Befehle!",
55  
56 shouttrigger = "Unterbrechungsruf",
57 shout7secwarn = "Unterbrechungsruf in 7 Sekunden!",
58 shout3secwarn = "Unterbrechungsruf in 3 Sekunden!",
59 shoutwarn = "Unterbrechungsruf!",
60 noshoutwarn = "Kein Ruf! N\195\164chster in ~20 Sekunden",
61 shoutbar = "Unterbrechungsruf",
62  
63 shieldwalltrigger = "Reservist der Todesritter bekommt 'Schildwall'.",
64 shieldwallbar = "Schildwall",
65 } end )
66  
67 L:RegisterTranslations("koKR", function() return {
68 shout_name = "외침 경고",
69 shout_desc = "분열의 외침에 대한 경고",
70  
71 shieldwall_name = "방패의 벽 타이머",
72 shieldwall_desc = "방패의 벽에 대한 타이머 표시",
73  
74 startwarn = "훈련교관 라주비어스 광폭화! 외침까지 25초!",
75  
76 starttrigger1 = "훈련은 끝났다!",
77 starttrigger2 = "다리를 후려 차라! 무슨 문제 있나?",
78 starttrigger3 = "절대 봐주지 마라!",
79 starttrigger4 = "훈련받은 대로 해!",
80  
81 shouttrigger = "훈련교관 라주비어스|1이;가; 분열의 외침|1으로;로; (.+)에게 (.+)의 피해를 입혔습니다.",
82 shout7secwarn = "7초후 분열의 외침!",
83 shout3secwarn = "3초후 분열의 외침!",
84 shoutwarn = "분열의 외침!",
85 noshoutwarn = "외침 사라짐! 다음은 20초 후",
86 shoutbar = "분열의 외침",
87  
88 shieldwalltrigger = "죽음의 기사 수습생|1이;가; 방패의 벽 효과를 얻었습니다.", -- CHECK
89 shieldwallbar = "방패의 벽",
90 } end )
91  
92 L:RegisterTranslations("zhCN", function() return {
93 shout_name = "怒吼警报",
94 shout_desc = "瓦解怒吼警报",
95  
96 shieldwall_name = "盾墙计时器",
97 shieldwall_desc = "盾墙计时器",
98  
99 startwarn = "教官拉苏维奥斯已激活,~25秒后瓦解怒吼",
100  
101 starttrigger1 = "练习时间到此为止!都拿出真本事来!",
102 starttrigger2 = "绊腿……有什么问题么?",
103 starttrigger3 = "仁慈无用!",
104 starttrigger4 = "按我教导的去做!",
105  
106 shouttrigger = "瓦解怒吼",
107 shout7secwarn = "7秒后发动瓦解怒吼",
108 shout3secwarn = "3秒后发动瓦解怒吼!",
109 shoutwarn = "瓦解怒吼!",
110 noshoutwarn = "没有怒吼,下次在~20秒后发动",
111 shoutbar = "瓦解怒吼",
112  
113 shieldwalltrigger = "死亡骑士学员获得了盾墙的效果。",
114 shieldwallbar = "盾墙",
115 } end )
116  
117 L:RegisterTranslations("zhTW", function() return {
118 --Razuvious 講師拉祖維斯
119 shout_name = "怒吼警報",
120 shout_desc = "混亂怒吼警報",
121  
122 shieldwall_name = "盾牆計時器",
123 shieldwall_desc = "盾牆計時器",
124  
125 startwarn = "講師拉祖維斯已進入戰鬥 - 25 秒後混亂怒吼",
126  
127 starttrigger1 = "練習時間到此為止!都拿出真本事來!",
128 starttrigger2 = "絆腿……有什麼問題嗎?",
129 starttrigger3 = "仁慈無用!",
130 starttrigger4 = "照我教你的做!",
131  
132 shouttrigger = "混亂怒吼",
133 shout7secwarn = "7秒後發動混亂怒吼",
134 shout3secwarn = "3秒後發動混亂怒吼!",
135 shoutwarn = "混亂怒吼!",
136 noshoutwarn = "沒吼! 下次在 20 秒後發動",
137 shoutbar = "混亂怒吼",
138  
139 shieldwalltrigger = "死亡騎士實習者獲得了盾牆的效果。",
140 shieldwallbar = "盾牆",
141 } end )
142  
143 L:RegisterTranslations("frFR", function() return {
144  
145 starttrigger1 = "Les cours sont termin\195\169s ! Montrez%-moi ce que vous avez appris !",
146 starttrigger2 = "Frappe%-le \195\160 la jambe",
147 starttrigger3 = "Pas de quartier !",
148 starttrigger4 = "Faites ce que vous ai appris !",
149  
150 shouttrigger = "Cri perturbant",
151  
152 shieldwalltrigger = "Doublure de chevalier de la mort gagne Mur protecteur.",
153 } end )
154  
155 ----------------------------------
156 -- Module Declaration --
157 ----------------------------------
158  
159 BigWigsRazuvious = BigWigs:NewModule(boss)
160 BigWigsRazuvious.zonename = AceLibrary("Babble-Zone-2.2")["Naxxramas"]
161 BigWigsRazuvious.enabletrigger = { boss }
162 BigWigsRazuvious.wipemobs = { understudy }
163 BigWigsRazuvious.toggleoptions = {"shout", "shieldwall", "bosskill"}
164 BigWigsRazuvious.revision = tonumber(string.sub("$Revision: 15233 $", 12, -3))
165  
166 ------------------------------
167 -- Initialization --
168 ------------------------------
169  
170 function BigWigsRazuvious:OnEnable()
171 self.timeShout = 30
172 self.prior = nil
173 self:RegisterEvent("CHAT_MSG_COMBAT_HOSTILE_DEATH", "GenericBossDeath")
174 self:RegisterEvent("CHAT_MSG_MONSTER_YELL")
175 self:RegisterEvent("CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE", "Shout")
176 self:RegisterEvent("CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE", "Shout")
177 self:RegisterEvent("CHAT_MSG_SPELL_CREATURE_VS_PARTY_DAMAGE", "Shout")
178  
179 self:RegisterEvent("CHAT_MSG_SPELL_PERIODIC_SELF_BUFFS", "Shieldwall")
180 self:RegisterEvent("CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_BUFFS", "Shieldwall")
181 self:RegisterEvent("CHAT_MSG_SPELL_PERIODIC_PARTY_BUFFS", "Shieldwall")
182 self:RegisterEvent("CHAT_MSG_SPELL_PERIODIC_CREATURE_BUFFS", "Shieldwall")
183  
184 self:RegisterEvent("PLAYER_REGEN_ENABLED", "CheckForWipe")
185  
186 self:RegisterEvent("BigWigs_Message")
187 self:RegisterEvent("BigWigs_RecvSync")
188 self:TriggerEvent("BigWigs_ThrottleSync", "RazuviousShout", 5)
189 self:TriggerEvent("BigWigs_ThrottleSync", "RazuviousShieldwall", 5)
190 end
191  
192 function BigWigsRazuvious:CHAT_MSG_MONSTER_YELL( msg )
193 if msg == L["starttrigger1"] or msg == L["starttrigger2"] or msg == L["starttrigger3"] or msg == L["starttrigger4"] then
194 if self.db.profile.shout then
195 self:TriggerEvent("BigWigs_Message", L["startwarn"], "Urgent", nil, "Alarm")
196 self:ScheduleEvent("bwrazuviousshout7sec", "BigWigs_Message", 18, L["shout7secwarn"], "Attention")
197 self:ScheduleEvent("bwrazuviousshout3sec", "BigWigs_Message", 22, L["shout3secwarn"], "Urgent", nil, "Alert")
198 self:TriggerEvent("BigWigs_StartBar", self, L["shoutbar"], 25, "Interface\\Icons\\Ability_Warrior_WarCry")
199 end
200 self:ScheduleEvent("bwrazuviousnoshout", self.noShout, self.timeShout, self )
201 end
202 end
203  
204 function BigWigsRazuvious:BigWigs_Message(text)
205 if text == L["shout7secwarn"] then self.prior = nil end
206 end
207  
208 function BigWigsRazuvious:Shieldwall( msg )
209 if string.find(msg, L["shieldwalltrigger"]) then
210 self:TriggerEvent("BigWigs_SendSync", "RazuviousShieldwall")
211 end
212 end
213  
214 function BigWigsRazuvious:Shout( msg )
215 if string.find(msg, L["shouttrigger"]) and not self.prior then
216 self:TriggerEvent("BigWigs_SendSync", "RazuviousShout")
217 end
218 end
219  
220 function BigWigsRazuvious:noShout()
221 self:CancelScheduledEvent("bwrazuviousnoshout")
222 self:ScheduleEvent("bwrazuviousnoshout", self.noShout, self.timeShout - 5, self )
223 if self.db.profile.shout then
224 self:TriggerEvent("BigWigs_Message", L["noshoutwarn"], "Attention")
225 self:ScheduleEvent("bwrazuviousshout7sec", "BigWigs_Message", 13, L["shout7secwarn"], "Attention")
226 self:ScheduleEvent("bwrazuviousshout3sec", "BigWigs_Message", 17, L["shout3secwarn"], "Urgent", nil, "Alert")
227 self:TriggerEvent("BigWigs_StartBar", self, L["shoutbar"], 20, "Interface\\Icons\\Ability_Warrior_WarCry")
228 end
229 end
230  
231 function BigWigsRazuvious:BigWigs_RecvSync( sync )
232 if sync == "RazuviousShout" then
233 self:CancelScheduledEvent("bwrazuviousnoshout")
234 self:ScheduleEvent("bwrazuviousnoshout", self.noShout, self.timeShout, self )
235 if self.db.profile.shout then
236 self:TriggerEvent("BigWigs_Message", L["shoutwarn"], "Urgent", nil, "Alarm")
237 self:ScheduleEvent("bwrazuviousshout7sec", "BigWigs_Message", 18, L["shout7secwarn"], "Attention")
238 self:ScheduleEvent("bwrazuviousshout3sec", "BigWigs_Message", 22, L["shout3secwarn"], "Urgent", nil, "Alert")
239 self:TriggerEvent("BigWigs_StartBar", self, L["shoutbar"], 25, "Interface\\Icons\\Ability_Warrior_WarCry")
240 end
241 self.prior = true
242 elseif sync == "RazuviousShieldwall" then
243 if self.db.profile.shieldwall then
244 self:TriggerEvent("BigWigs_StartBar", self, L["shieldwallbar"], 20, "Interface\\Icons\\Ability_Warrior_ShieldWall")
245 end
246 end
247 end
248