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")["Viscidus"]
6 local L = AceLibrary("AceLocale-2.2"):new("BigWigs"..boss)
7 local prior
8  
9 ----------------------------
10 -- Localization --
11 ----------------------------
12  
13 L:RegisterTranslations("enUS", function() return {
14 cmd = "Viscidus",
15 volley_cmd = "volley",
16 volley_name = "Poison Volley Alert",
17 volley_desc = "Warn for Poison Volley",
18  
19 toxinyou_cmd = "toxinyou",
20 toxinyou_name = "Toxin Cloud on You Alert",
21 toxinyou_desc = "Warn if you are standing in a toxin cloud",
22  
23 toxinother_cmd = "toxinother",
24 toxinother_name = "Toxin Cloud on Others Alert",
25 toxinother_desc = "Warn if others are standing in a toxin cloud",
26  
27 freeze_cmd = "freeze",
28 freeze_name = "Freezing States Alert",
29 freeze_desc = "Warn for the different frozen states",
30  
31 trigger1 = "begins to slow!",
32 trigger2 = "is freezing up!",
33 trigger3 = "is frozen solid!",
34 trigger4 = "begins to crack!",
35 trigger5 = "looks ready to shatter!",
36 trigger6 = "afflicted by Poison Bolt Volley",
37 trigger7 = "^([^%s]+) ([^%s]+) afflicted by Toxin%.$",
38  
39 you = "You",
40 are = "are",
41  
42 warn1 = "First freeze phase!",
43 warn2 = "Second freeze phase!",
44 warn3 = "Viscidus is frozen!",
45 warn4 = "Cracking up - little more now!",
46 warn5 = "Cracking up - almost there!",
47 warn6 = "Poison Bolt Volley!",
48 warn7 = "Poison Bolt Volley in ~3 sec!",
49 warn8 = " is in a toxin cloud!",
50 warn9 = "You are in the toxin cloud!",
51  
52 bar1text = "Poison Bolt Volley",
53 } end )
54  
55 L:RegisterTranslations("deDE", function() return {
56 volley_name = "Poison Volley Alert", -- ?
57 volley_desc = "Warn for Poison Volley", -- ?
58  
59 toxinyou_name = "Toxin Wolke",
60 toxinyou_desc = "Warnung, wenn Du in einer Toxin Wolke stehst.",
61  
62 toxinother_name = "Toxin Wolke auf Anderen",
63 toxinother_desc = "Warnung, wenn andere Spieler in einer Toxin Wolke stehen.",
64  
65 freeze_name = "Freeze Phasen",
66 freeze_desc = "Zeigt die verschiedenen Freeze Phasen an.",
67  
68 trigger1 = "wird langsamer!",
69 trigger2 = "friert ein!",
70 trigger3 = "ist tiefgefroren!",
71 trigger4 = "geht die Puste aus!", --CHECK
72 trigger5 = "ist kurz davor, zu zerspringen!",
73 trigger6 = "afflicted by Poison Bolt Volley", -- ?
74 trigger7 = "^([^%s]+) ([^%s]+) von Toxin betroffen.$",
75  
76 you = "Ihr",
77 are = "seid",
78  
79 warn1 = "Erste Freeze Phase!",
80 warn2 = "Zweite Freeze Phase!",
81 warn3 = "Dritte Freeze Phase!",
82 warn4 = "Zerspringen - etwas noch!",
83 warn5 = "Zerspringen - fast da!",
84 warn6 = "Poison Bolt Volley!", -- ?
85 warn7 = "Incoming Poison Bolt Volley in ~3 Sekunden!", -- ?
86 warn8 = " ist in einer Toxin Wolke!",
87 warn9 = "Du bist in einer Toxin Wolke!",
88  
89 bar1text = "Poison Bolt Volley",
90 } end )
91  
92 L:RegisterTranslations("zhCN", function() return {
93 volley_name = "毒性之箭警报",
94 volley_desc = "毒性之箭警报",
95  
96 toxinyou_name = "玩家毒云警报",
97 toxinyou_desc = "你站在毒云中时发出警报",
98  
99 toxinother_name = "队友毒云警报",
100 toxinother_desc = "队友站在毒云中时发出警报",
101  
102 freeze_name = "冻结状态警报",
103 freeze_desc = "冻结状态警报",
104  
105 trigger1 = "的速度慢下来了!",
106 trigger2 = "冻结了!",
107 trigger3 = "变成了坚硬的固体!",
108 trigger4 = "开始碎裂了!",
109 trigger5 = "马上就要碎裂的样子!",
110 trigger6 = "受到了毒性之箭效果",
111 trigger7 = "^(.+)受(.+)了剧毒效果的影响。$",
112  
113 you = "你",
114 are = "到",
115  
116 warn1 = "冻结第一阶段!",
117 warn2 = "冻结第二阶段 - 做好准备",
118 warn3 = "冻结第三阶段 - DPS全开!",
119 warn4 = "即将碎裂 - 加大火力!",
120 warn5 = "即将碎裂 - 几近成功!",
121 warn6 = "毒性之箭 - 迅速解毒!",
122 warn7 = "3秒后发动毒性之箭!",
123 warn8 = "在毒云中 - 快跑开!",
124 warn9 = "你在毒云中 - 快跑开!",
125  
126 bar1text = "毒性之箭",
127 } end )
128  
129 L:RegisterTranslations("zhTW", function() return {
130 -- Viscidus 維希度斯
131 volley_name = "毒性之箭警報",
132 volley_desc = "當維希度斯施放毒性之箭時時發出警報",
133  
134 toxinyou_name = "玩家毒雲警報",
135 toxinyou_desc = "你站在毒雲中時發出警報",
136  
137 toxinother_name = "隊友毒雲警報",
138 toxinother_desc = "隊友站在毒雲中時發出警報",
139  
140 freeze_name = "凍結狀態警報",
141 freeze_desc = "友方被凍結時發出警報",
142  
143 trigger1 = "的速度慢下來了!",
144 trigger2 = "凍住了!",
145 trigger3 = "變成了堅硬的固體!",
146 trigger4 = "開始碎裂了!",
147 trigger5 = "馬上就要碎裂的樣子!",
148 trigger6 = "受到了毒性之箭效果",
149 trigger7 = "^(.+)受到(.*)劇毒的",
150  
151 you = "你",
152 are = "了",
153  
154 warn1 = "凍結階段 1/3 !",
155 warn2 = "凍結階段 2/3 !做好准備!",
156 warn3 = "凍結階段 3/3 !火力全開!",
157 warn4 = "碎裂階段 1/3 !加大火力!",
158 warn5 = "碎裂階段 2/3 !幾近成功!",
159 warn6 = "毒性之箭 - 迅速解毒!",
160 warn7 = "3 秒後發動毒性之箭!",
161 warn8 = "在毒雲中!快跑開!!",
162 warn9 = "你在毒雲中!快跑開!",
163  
164 bar1text = "毒性之箭",
165 } end )
166  
167 L:RegisterTranslations("koKR", function() return {
168 volley_name = "연발 독액 경고",
169 volley_desc = "연발 독액에 대한 경고",
170  
171 toxinyou_name = "자신의 독구름 경고",
172 toxinyou_desc = "자신이 독구름일 때 알림",
173  
174 toxinother_name = "타인의 독구름 경고",
175 toxinother_desc = "타인이 독구름일 때 알림",
176  
177 freeze_name = "빙결 상태 경고",
178 freeze_desc = "각각의 빙결 상태에 대한 경고",
179  
180 trigger1 = "%s|1이;가; 느려지기 시작했습니다!", -- CHECK
181 trigger2 = "%s|1이;가; 얼어붙고 있습니다!", -- CHECK
182 trigger3 = "%s|1이;가; 단단하게 얼었습니다!", -- CHECK
183 trigger4 = "%s|1이;가; 분해되기 시작합니다!", -- CHECK
184 trigger5 = "%s|1이;가; 부서질 것 같습니다!", -- CHECK
185 trigger6 = "연발 독액에 걸렸습니다", -- CHECK
186 trigger7 = "^([^|;%s]*)(.*)독소에 걸렸습니다%.$", -- CHECK
187  
188 you = "",
189 are = "",
190  
191 warn1 = "1 단계 - 느려집니다!",
192 warn2 = "2 단계 - 얼어붙고 있습니다!",
193 warn3 = "3 단계 - 얼었습니다! 물리 공격 시작!",
194 warn4 = "4 단계 - 좀 더 빠르게 공격!",
195 warn5 = "5 단계 - 거의 부서졌습니다!",
196 warn6 = "연발 독액 - 독 해제 하세요!",
197 warn7 = "연발 독액 - 약 3 초후 시전!",
198 warn8 = "님이 독소에 걸렸습니다 - 대피!",
199 warn9 = "당신은 독구름에 걸렸습니다!",
200  
201 bar1text = "연발 독액",
202 } end )
203  
204 L:RegisterTranslations("frFR", function() return {
205 -- need french chat/combatlog
206 trigger7 = "^([^%s]+) ([^%s]+) subit les effets de Toxine%.$",
207  
208 you = "Vous",
209 are = "subissez",
210  
211 } end )
212  
213 ----------------------------------
214 -- Module Declaration --
215 ----------------------------------
216  
217 BigWigsViscidus = BigWigs:NewModule(boss)
218 BigWigsViscidus.zonename = AceLibrary("Babble-Zone-2.2")["Ahn'Qiraj"]
219 BigWigsViscidus.enabletrigger = boss
220 BigWigsViscidus.toggleoptions = {"freeze", "volley", "toxinyou", "toxinother", "bosskill"}
221 BigWigsViscidus.revision = tonumber(string.sub("$Revision: 16282 $", 12, -3))
222  
223 ------------------------------
224 -- Initialization --
225 ------------------------------
226  
227 function BigWigsViscidus:OnEnable()
228 prior = nil
229 self:RegisterEvent("BigWigs_Message")
230 self:RegisterEvent("CHAT_MSG_MONSTER_EMOTE")
231 self:RegisterEvent("CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE", "CheckVis")
232 self:RegisterEvent("CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_DAMAGE", "CheckVis")
233 self:RegisterEvent("CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE", "CheckVis")
234 self:RegisterEvent("CHAT_MSG_COMBAT_HOSTILE_DEATH", "GenericBossDeath")
235 end
236  
237 ------------------------------
238 -- Event Handlers --
239 ------------------------------
240 function BigWigsViscidus:CheckVis(arg1)
241 if not prior and self.db.profile.volley and string.find(arg1, L["trigger6"]) then
242 self:TriggerEvent("BigWigs_Message", L["warn6"], "Urgent")
243 self:ScheduleEvent("BigWigs_Message", 7, L["warn7"], "Urgent")
244 self:TriggerEvent("BigWigs_StartBar", self, L["bar1text"], 10, "Interface\\Icons\\Spell_Nature_CorrosiveBreath")
245 prior = true
246 elseif string.find(arg1, L["trigger7"]) then
247 local _,_, pl, ty = string.find(arg1, L["trigger7"])
248 if (pl and ty) then
249 if self.db.profile.toxinyou and pl == L["you"] and ty == L["are"] then
250 self:TriggerEvent("BigWigs_Message", L["warn9"], "Personal", true)
251 self:TriggerEvent("BigWigs_Message", UnitName("player") .. L["warn8"], "Important", nil, nil, true)
252 elseif self.db.profile.toxinother then
253 self:TriggerEvent("BigWigs_Message", pl .. L["warn8"], "Important")
254 self:TriggerEvent("BigWigs_SendTell", pl, L["warn9"])
255 end
256 end
257 end
258 end
259  
260 function BigWigsViscidus:CHAT_MSG_MONSTER_EMOTE(arg1)
261 if not self.db.profile.freeze then return end
262 if arg1 == L["trigger1"] then
263 self:TriggerEvent("BigWigs_Message", L["warn1"], "Atention")
264 elseif arg1 == L["trigger2"] then
265 self:TriggerEvent("BigWigs_Message", L["warn2"], "Urgent")
266 elseif arg1 == L["trigger3"] then
267 self:TriggerEvent("BigWigs_Message", L["warn3"], "Important")
268 elseif arg1 == L["trigger4"] then
269 self:TriggerEvent("BigWigs_Message", L["warn4"], "Urgent")
270 elseif arg1 == L["trigger5"] then
271 self:TriggerEvent("BigWigs_Message", L["warn5"], "Important")
272 end
273 end
274  
275 function BigWigsViscidus:BigWigs_Message(text)
276 if text == L["warn7"] then prior = nil end
277 end