Mercurial > wow > icu
comparison ICU.lua @ 7:f020d96ccfc8
Added options to announce ready checks to selected report destination.
Cleaned up options further.
author | Xiiph |
---|---|
date | Fri, 18 Feb 2011 23:58:20 +0100 |
parents | 60ac81ad00a2 |
children | 0ed4c1a0412e |
comparison
equal
deleted
inserted
replaced
6:60ac81ad00a2 | 7:f020d96ccfc8 |
---|---|
36 }; | 36 }; |
37 | 37 |
38 | 38 |
39 local minFlaskDuration = 10; | 39 local minFlaskDuration = 10; |
40 local noFlask, noFood, hasLowDuration = {},{},{}; | 40 local noFlask, noFood, hasLowDuration = {},{},{}; |
41 local notReady, notReadyAFK, responders = {}, {}, {}; | |
41 | 42 |
42 local defaults = { | 43 local defaults = { |
43 profile = { | 44 profile = { |
44 checkFlask = true, | 45 checkFlask = true, |
45 checkFood = true, | 46 checkFood = true, |
53 noFoodMessage = L["Well Fed reminder!"], | 54 noFoodMessage = L["Well Fed reminder!"], |
54 noFlaskMessage = L["Flask reminder!"], | 55 noFlaskMessage = L["Flask reminder!"], |
55 lowFlaskDurationMessage = L["Your Flask runs out in less than 10 minutes!"], | 56 lowFlaskDurationMessage = L["Your Flask runs out in less than 10 minutes!"], |
56 disabledZones = {}, | 57 disabledZones = {}, |
57 enableAllZones = true, | 58 enableAllZones = true, |
59 announceReadyCheck = true, | |
58 } | 60 } |
59 } | 61 } |
60 | 62 |
61 function icu:OnInitialize() | 63 function icu:OnInitialize() |
62 self.db = LibStub("AceDB-3.0"):New("icuDB", defaults, true) | 64 self.db = LibStub("AceDB-3.0"):New("icuDB", defaults, true) |
74 | 76 |
75 AceConfigDialog:AddToBlizOptions("ICU", nil, nil, "general") | 77 AceConfigDialog:AddToBlizOptions("ICU", nil, nil, "general") |
76 AceConfigDialog:AddToBlizOptions("ICU", "Whispers","ICU","messages") | 78 AceConfigDialog:AddToBlizOptions("ICU", "Whispers","ICU","messages") |
77 AceConfigDialog:AddToBlizOptions("ICU", "Disabled Zones","ICU","zones") | 79 AceConfigDialog:AddToBlizOptions("ICU", "Disabled Zones","ICU","zones") |
78 AceConfigDialog:AddToBlizOptions("ICU", "Profiles","ICU","profile") | 80 AceConfigDialog:AddToBlizOptions("ICU", "Profiles","ICU","profile") |
81 | |
82 -- Ready check confirm event registration | |
83 if self.db.profile.announceReadyCheck then | |
84 self:RegisterEvent("READY_CHECK_CONFIRM"); | |
85 end | |
86 | |
87 -- Ready check event registration | |
88 if not self.db.profile.manualCheckOnly then | |
89 icu:RegisterEvent("READY_CHECK"); | |
90 end | |
79 end | 91 end |
80 | 92 |
81 function icu:refreshConfig() | 93 function icu:refreshConfig() |
82 --print("ICU: Config refreshing ..."); | 94 --print("ICU: Config refreshing ..."); |
83 | 95 |
84 if self.db.profile.manualCheckOnly then | 96 if self.db.profile.manualCheckOnly then |
85 icu:UnregisterEvent("READY_CHECK"); | 97 icu:UnregisterEvent("READY_CHECK"); |
86 else | 98 else |
87 icu:RegisterEvent("READY_CHECK"); | 99 icu:RegisterEvent("READY_CHECK"); |
100 end | |
101 | |
102 if not self.db.profile.announceReadyCheck then | |
103 icu:UnregisterEvent("READY_CHECK_CONFIRM"); | |
104 else | |
105 icu:RegisterEvent("READY_CHECK_CONFIRM"); | |
88 end | 106 end |
89 | 107 |
90 --print("ICU: Config refreshed!"); | 108 --print("ICU: Config refreshed!"); |
91 end | 109 end |
92 | 110 |
125 }, | 143 }, |
126 general = { | 144 general = { |
127 name = L["General Settings"], | 145 name = L["General Settings"], |
128 type = 'group', | 146 type = 'group', |
129 args = { | 147 args = { |
148 advertiseICU = { | |
149 type = 'toggle', | |
150 order = 1, | |
151 width = 'full', | |
152 name = L["Advertise ICU"], | |
153 desc = L["Let everyone know you are using ICU! Prefixes whispers and reports"], | |
154 set = function(o,v,...) self.db.profile.advertiseICU = v end, | |
155 get = function() return self.db.profile.advertiseICU end, | |
156 }, | |
130 checkFlask = { | 157 checkFlask = { |
131 type = 'toggle', | 158 type = 'toggle', |
159 order = 2, | |
132 name = L["Check for Flask"], | 160 name = L["Check for Flask"], |
133 desc = L["Checks the raid for valid flasks and reports results"], | 161 desc = L["Checks the raid for valid flasks and reports results"], |
134 set = function(o,v,...) self.db.profile.checkFlask = v end, | 162 set = function(o,v,...) self.db.profile.checkFlask = v end, |
135 get = function() return self.db.profile.checkFlask end, | 163 get = function() return self.db.profile.checkFlask end, |
136 }, | 164 }, |
137 checkLowFlaskDuration = { | 165 checkLowFlaskDuration = { |
138 type = 'toggle', | 166 type = 'toggle', |
167 order = 3, | |
139 name = L["Flask expiration"], | 168 name = L["Flask expiration"], |
140 desc = L["Check for soon to expire flask buffs"], | 169 desc = L["Check for soon to expire flask buffs"], |
141 set = function(o,v,...) self.db.profile.checkLowFlaskDuration = v end, | 170 set = function(o,v,...) self.db.profile.checkLowFlaskDuration = v end, |
142 get = function() return self.db.profile.checkLowFlaskDuration end, | 171 get = function() return self.db.profile.checkLowFlaskDuration end, |
143 }, | 172 }, |
144 checkFood = { | 173 checkFood = { |
145 type = 'toggle', | 174 type = 'toggle', |
175 order = 4, | |
146 name = L["Check for Food"], | 176 name = L["Check for Food"], |
147 desc = L["Checks the raid for valid food buffs and reports results"], | 177 desc = L["Checks the raid for valid food buffs and reports results"], |
148 set = function(o,v,...) self.db.profile.checkFood = v end, | 178 set = function(o,v,...) self.db.profile.checkFood = v end, |
149 get = function() return self.db.profile.checkFood end, | 179 get = function() return self.db.profile.checkFood end, |
150 }, | 180 }, |
151 advertiseICU = { | |
152 type = 'toggle', | |
153 name = L["Advertise ICU"], | |
154 desc = L["Let everyone know you are using ICU! Prefixes whispers and reports"], | |
155 set = function(o,v,...) self.db.profile.advertiseICU = v end, | |
156 get = function() return self.db.profile.advertiseICU end, | |
157 }, | |
158 remindRaider = { | 181 remindRaider = { |
159 type = 'toggle', | 182 type = 'toggle', |
183 order = 5, | |
184 width = 'full', | |
160 name = L["Raid reminder"], | 185 name = L["Raid reminder"], |
161 desc = L["Whisper the raider lacking (or soon to expire, if enabled) food/flask buff a reminder"], | 186 desc = L["Whisper the raider lacking (or soon to expire, if enabled) food/flask buff a reminder"], |
162 set = function(o,v,...) self.db.profile.remindRaider = v end, | 187 set = function(o,v,...) self.db.profile.remindRaider = v end, |
163 get = function() return self.db.profile.remindRaider end, | 188 get = function() return self.db.profile.remindRaider end, |
164 }, | 189 }, |
190 breakOne = { | |
191 type = 'description', | |
192 fontSize = 'large', | |
193 name = ' ', | |
194 order = 7, | |
195 width = 'full', | |
196 }, | |
197 manualCheckOnly = { | |
198 type = 'toggle', | |
199 order = 8, | |
200 name = L["Manual checks only"], | |
201 desc = L["Only perform buff checks if initiated manually (via /icu check)"], | |
202 set = function(o,v,...) self.db.profile.manualCheckOnly = v; self:refreshConfig() end, | |
203 get = function() return self.db.profile.manualCheckOnly end, | |
204 }, | |
205 checkAfterFinish = { | |
206 type = 'toggle', | |
207 order = 9, | |
208 width = 'full', | |
209 name = L["Inspect AFTER ready check finishes"], | |
210 desc = L["Don't check buffs until the ready check has finished (or timed out)"], | |
211 set = function(o,v,...) self.db.profile.checkAfterFinish = v end, | |
212 get = function() return self.db.profile.checkAfterFinish end, | |
213 }, | |
214 breakTwo = { | |
215 type = 'description', | |
216 fontSize = 'large', | |
217 name = ' ', | |
218 order = 10, | |
219 width = 'full', | |
220 }, | |
221 announceReadyCheck = { | |
222 type = 'toggle', | |
223 order = 11, | |
224 name = L["Report ready checks"], | |
225 desc = L["Report the results of ready checks"], | |
226 width = 'double', | |
227 set = function(o,v,...) self.db.profile.announceReadyCheck = v; self:refreshConfig() end, | |
228 get = function() return self.db.profile.announceReadyCheck end, | |
229 }, | |
165 reportResults = { | 230 reportResults = { |
166 type = 'toggle', | 231 type = 'toggle', |
167 name = L["Report results"], | 232 order = 12, |
168 desc = L["Report the results after finishing"], | 233 width = 'full', |
234 name = L["Report buff checks"], | |
235 desc = L["Report flask/food check results"], | |
169 set = function(o,v,...) self.db.profile.reportResults = v end, | 236 set = function(o,v,...) self.db.profile.reportResults = v end, |
170 get = function() return self.db.profile.reportResults end, | 237 get = function() return self.db.profile.reportResults end, |
171 }, | 238 }, |
172 reportDestination = { | 239 reportDestination = { |
173 type = 'select', | 240 type = 'select', |
241 order = 13, | |
174 style = "dropdown", | 242 style = "dropdown", |
175 name = L["Report Destination"], | 243 name = L["Report Destination"], |
176 desc = L["Report the results to the following channel"], | 244 desc = L["Report the results to the following channel"], |
177 values = { | 245 values = { |
178 ["OFFICER"] = L["Officer"], | 246 ["OFFICER"] = L["Officer"], |
181 ["GUILD"] = L["Guild"], | 249 ["GUILD"] = L["Guild"], |
182 ["SELF"] = L["Self"], | 250 ["SELF"] = L["Self"], |
183 }, | 251 }, |
184 set = function(o,v,...) self.db.profile.reportDestination = v end, | 252 set = function(o,v,...) self.db.profile.reportDestination = v end, |
185 get = function() return self.db.profile.reportDestination end, | 253 get = function() return self.db.profile.reportDestination end, |
186 }, | |
187 manualCheckOnly = { | |
188 type = 'toggle', | |
189 name = L["Manual checks only"], | |
190 desc = L["Only perform buff checks if initiated manually (via /icu check)"], | |
191 set = function(o,v,...) self.db.profile.manualCheckOnly = v; self:refreshConfig() end, | |
192 get = function() return self.db.profile.manualCheckOnly end, | |
193 }, | |
194 checkAfterFinish = { | |
195 type = 'toggle', | |
196 name = L["Check after readycheck"], | |
197 desc = L["Don't check buffs until ready check has finished (or timed out)"], | |
198 set = function(o,v,...) self.db.profile.checkAfterFinish = v end, | |
199 get = function() return self.db.profile.checkAfterFinish end, | |
200 }, | 254 }, |
201 }, | 255 }, |
202 }, | 256 }, |
203 messages = { | 257 messages = { |
204 name = L["Messages"], | 258 name = L["Messages"], |
233 zones = { | 287 zones = { |
234 name = L["Disabled Zones"], | 288 name = L["Disabled Zones"], |
235 type = 'group', | 289 type = 'group', |
236 set = function(i,v) | 290 set = function(i,v) |
237 self.db.profile.disabledZones[i[#i]] = v; | 291 self.db.profile.disabledZones[i[#i]] = v; |
238 --@debug@ | |
239 print("Enabling/Disabling Zone",i[#i],v,#self.db.profile.disabledZones); | |
240 --@end-debug@ | |
241 end, | 292 end, |
242 get = function(i) | 293 get = function(i) |
243 return self.db.profile.disabledZones[i[#i]]; | 294 return self.db.profile.disabledZones[i[#i]]; |
244 end, | 295 end, |
245 args = { | 296 args = { |
249 width = 'full', | 300 width = 'full', |
250 order = 0, | 301 order = 0, |
251 }, | 302 }, |
252 breakOne = { | 303 breakOne = { |
253 type = 'description', | 304 type = 'description', |
254 name = '', | 305 fontSize = 'large', |
306 name = ' ', | |
255 order = 1, | 307 order = 1, |
256 width = 'full', | 308 width = 'full', |
257 }, | 309 }, |
258 enableAllZones = { | 310 enableAllZones = { |
259 type = 'toggle', | 311 type = 'toggle', |
269 end, | 321 end, |
270 get = function (i) return self.db.profile.enableAllZones end, | 322 get = function (i) return self.db.profile.enableAllZones end, |
271 }, | 323 }, |
272 breakTwo = { | 324 breakTwo = { |
273 type = 'description', | 325 type = 'description', |
274 name = '', | 326 fontSize = 'large', |
327 name = ' ', | |
275 order = 3, | 328 order = 3, |
276 width = 'full', | 329 width = 'full', |
277 }, | 330 }, |
278 bwd = { | 331 bwd = { |
279 type = 'toggle', | 332 type = 'toggle', |
360 end | 413 end |
361 end | 414 end |
362 | 415 |
363 end | 416 end |
364 | 417 |
365 if self.db.profile.reportResults and self.db.profile.reportDestination ~= "SELF" then | 418 -- Announce the report if inspectRaid was by a slash command instead of ready check event |
366 SendChatMessage("---- "..L["ICU"].." "..L["Report"].." ----",self.db.profile.reportDestination,nil,nil); | 419 if not automatic then |
367 end | 420 self:announceReport(false); |
368 | 421 end |
369 if self.db.profile.reportResults then | 422 end |
370 if #noFlask > 0 and self.db.profile.checkFlask then | 423 |
371 local reportFlaskMessage = L["Missing Flask"]..": " .. table.concat(noFlask, ", "); | 424 function icu:announceReport(automatic) |
425 SendChatMessage("---- "..L["ICU"].." "..L["Report"].." ----",self.db.profile.reportDestination,nil,nil); | |
426 | |
427 -- Check flask | |
428 if #noFlask > 0 and self.db.profile.checkFlask then | |
429 local reportFlaskMessage = L["Missing Flask"]..": " .. table.concat(noFlask, ", "); | |
430 | |
431 if self.db.profile.reportDestination == "SELF" then | |
432 DEFAULT_CHAT_FRAME:AddMessage(reportFlaskMessage); | |
433 else | |
434 SendChatMessage(reportFlaskMessage,self.db.profile.reportDestination,nil,nil); | |
435 end | |
436 elseif self.db.profile.checkFlask then -- Nobody is missing a flask | |
437 if self.db.profile.reportDestination == "SELF" then | |
438 DEFAULT_CHAT_FRAME:AddMessage(L["Nobody is missing a proper flask."]); | |
439 else | |
440 SendChatMessage(L["Nobody is missing a proper flask."],self.db.profile.reportDestination,nil,nil); | |
441 end | |
442 end | |
443 | |
444 -- Check food | |
445 if #noFood > 0 and self.db.profile.checkFood then | |
446 local reportFoodMessage = L["Missing Food"]..": " .. table.concat(noFood, ", "); | |
447 | |
448 if self.db.profile.reportDestination == "SELF" then | |
449 DEFAULT_CHAT_FRAME:AddMessage(reportFoodMessage); | |
450 else | |
451 SendChatMessage(reportFoodMessage,self.db.profile.reportDestination,nil,nil); | |
452 end | |
453 elseif self.db.profile.checkFood then -- Nobody is missing a food buff | |
454 if self.db.profile.reportDestination == "SELF" then | |
455 DEFAULT_CHAT_FRAME:AddMessage(L["Nobody is missing a proper food buff."]); | |
456 else | |
457 SendChatMessage(L["Nobody is missing a proper food buff."],self.db.profile.reportDestination,nil,nil); | |
458 end | |
459 end | |
460 | |
461 -- Check ready | |
462 if automatic and self.db.profile.announceReadyCheck then -- Check was initialized by ready check event | |
463 if (#notReady > 0) or (#notReadyAFK > 0) then | |
464 local reportNotReady = L["Not Ready"]..": " .. table.concat(notReady, ", ") .. (#notReadyAFK > 0 and #notReady > 0 and ", " or "") .. table.concat(notReadyAFK, ", "); | |
372 | 465 |
373 if self.db.profile.reportDestination == "SELF" then | 466 if self.db.profile.reportDestination == "SELF" then |
374 DEFAULT_CHAT_FRAME:AddMessage(reportFlaskMessage); | 467 DEFAULT_CHAT_FRAME:AddMessage(reportNotReady); |
375 else | 468 else |
376 SendChatMessage(reportFlaskMessage,self.db.profile.reportDestination,nil,nil); | 469 SendChatMessage(reportNotReady,self.db.profile.reportDestination,nil,nil); |
377 end | 470 end |
378 elseif self.db.profile.checkFlask then -- Nobody is missing a flask | 471 else -- Everyone is ready |
379 if self.db.profile.reportDestination == "SELF" then | 472 if self.db.profile.reportDestination == "SELF" then |
380 DEFAULT_CHAT_FRAME:AddMessage(L["Nobody is missing a proper flask."]); | 473 DEFAULT_CHAT_FRAME:AddMessage(L["Everyone is ready."]); |
381 else | 474 else |
382 SendChatMessage(L["Nobody is missing a proper flask."],self.db.profile.reportDestination,nil,nil); | 475 SendChatMessage(L["Everyone is ready."],self.db.profile.reportDestination,nil,nil); |
383 end | 476 end |
384 end | 477 end |
385 | 478 end |
386 if #noFood > 0 and self.db.profile.checkFood then | 479 |
387 local reportFoodMessage = L["Missing Food"]..": " .. table.concat(noFood, ", "); | 480 self:wipeTables(); |
388 | |
389 if self.db.profile.reportDestination == "SELF" then | |
390 DEFAULT_CHAT_FRAME:AddMessage(reportFoodMessage); | |
391 else | |
392 SendChatMessage(reportFoodMessage,self.db.profile.reportDestination,nil,nil); | |
393 end | |
394 elseif self.db.profile.checkFood then -- Nobody is missing a food buff | |
395 if self.db.profile.reportDestination == "SELF" then | |
396 DEFAULT_CHAT_FRAME:AddMessage(L["Nobody is missing a proper food buff."]); | |
397 else | |
398 SendChatMessage(L["Nobody is missing a proper food buff."],self.db.profile.reportDestination,nil,nil); | |
399 end | |
400 end | |
401 | |
402 end | |
403 | |
404 noFlask, noFood, hasLowDuration = {},{},{}; | |
405 end | 481 end |
406 | 482 |
407 function icu:validateBuffs(playerIndex) | 483 function icu:validateBuffs(playerIndex) |
408 local i = 1; | 484 local i = 1; |
409 local hasFood, hasFlask, hasLowDuration = false, false, false; | 485 local hasFood, hasFlask, hasLowDuration = false, false, false; |
435 end | 511 end |
436 | 512 |
437 return hasFood, hasFlask, hasLowDuration; | 513 return hasFood, hasFlask, hasLowDuration; |
438 end | 514 end |
439 | 515 |
440 function icu:READY_CHECK() | 516 function icu:READY_CHECK(event,requester) |
441 --print("Ready check init!"); | 517 --print("Ready check init!"); |
442 if self.db.profile.manualCheckOnly then | 518 if self.db.profile.manualCheckOnly then |
443 icu:UnregisterEvent("READY_CHECK"); | 519 icu:UnregisterEvent("READY_CHECK"); |
444 return true; | 520 return true; |
445 end | 521 end |
446 | 522 |
447 if not self.db.profile.checkAfterFinish then | 523 responders[#responders+1] = requester; |
524 | |
525 if not self.db.profile.checkAfterFinish and GetNumRaidMembers() then | |
448 self:inspectRaid(nil,true); | 526 self:inspectRaid(nil,true); |
449 else | 527 else |
450 self:ScheduleTimer("READY_CHECK_FINISHED", 30); | 528 self:ScheduleTimer("READY_CHECK_FINISHED", 30); |
451 self:RegisterEvent("READY_CHECK_FINISHED"); | 529 self:RegisterEvent("READY_CHECK_FINISHED"); |
452 end | 530 end |
453 end | 531 end |
454 | 532 |
533 function icu:wipeTables() | |
534 -- Wipe tables | |
535 wipe(noFlask); | |
536 wipe(noFood); | |
537 wipe(hasLowDuration); | |
538 wipe(notReady); | |
539 wipe(notReadyAFK); | |
540 wipe(responders); | |
541 end | |
542 | |
455 function icu:READY_CHECK_FINISHED() | 543 function icu:READY_CHECK_FINISHED() |
456 --print("Ready check finish!"); | 544 --print("Ready check finish!"); |
457 self:UnregisterEvent("READY_CHECK_FINISHED"); | 545 self:UnregisterEvent("READY_CHECK_FINISHED"); |
458 self:CancelAllTimers(); | 546 self:CancelAllTimers(); |
459 self:inspectRaid(nil,true); | 547 |
548 -- Not in a raid group | |
549 if GetNumRaidMembers() then | |
550 self:inspectRaid(nil,true); | |
551 | |
552 if self.db.profile.announceReadyCheck then | |
553 self:confirmReady(); | |
554 end | |
555 | |
556 self:announceReport(true); | |
557 end | |
558 end | |
559 | |
560 function icu:READY_CHECK_CONFIRM(event,unit,status) | |
561 local raider = UnitName(unit); | |
562 -- Seeing we only check in raids, and this event fires twice for unites in your subgroup | |
563 -- Such as Raid1, and Party1 == Same unit | |
564 -- Dont parse the party event | |
565 if string.match(unit,"party") then | |
566 return true; | |
567 end | |
568 | |
569 -- Raider is NOT afk, but might not be ready | |
570 responders[#responders+1] = raider; | |
571 | |
572 -- 1 ready, 0 not ready | |
573 if not status then | |
574 notReady[#notReady+1] = raider; | |
575 end | |
576 end | |
577 | |
578 function icu:confirmReady() | |
579 local numRaiders, matchFound = GetNumRaidMembers(), false; | |
580 | |
581 --@debug@ | |
582 print(#responders); | |
583 --@end-debug@ | |
584 | |
585 if #responders < numRaiders then | |
586 for i = 1, numRaiders do | |
587 matchFound = false; | |
588 | |
589 -- Get raider name | |
590 local raider = GetRaidRosterInfo(i); | |
591 | |
592 --@debug@ | |
593 print(raider); | |
594 --@end-debug@ | |
595 | |
596 for i = 1, #responders do | |
597 print("Iterating through responders ..."); | |
598 print(responders[i],raider); | |
599 if responders[i] == raider then | |
600 --@debug@ | |
601 print(responders[i],raider); | |
602 --@end-debug@ | |
603 matchFound = true; | |
604 break; | |
605 end | |
606 end | |
607 | |
608 if not matchFound and raider then | |
609 --@debug@ | |
610 print("Tag following raider as AFK: ",raider,matchFound); | |
611 --@end-debug@ | |
612 notReadyAFK[#notReadyAFK+1] = raider .. " (AFK)"; | |
613 elseif not raider then -- GetRaidRosterInfo did not return a proper name, out of bounds?? | |
614 print("Something is wrong ..."); | |
615 else | |
616 --@debug@ | |
617 print(i,raider); | |
618 --@end-debug@ | |
619 end | |
620 end | |
621 end | |
460 end | 622 end |
461 | 623 |
462 function icu:getDB() | 624 function icu:getDB() |
463 return self.db; | 625 return self.db; |
464 end | 626 end |
466 local function filterChat(self, event, msg) | 628 local function filterChat(self, event, msg) |
467 local db = icu:getDB(); | 629 local db = icu:getDB(); |
468 if msg == db.profile.noFoodMessage or msg == db.profile.noFlaskMessage or msg == db.profile.lowFlaskDurationMessage or msg == (L["ICU"]..": "..db.profile.noFoodMessage) or msg == (L["ICU"]..": "..db.profile.noFlaskMessage) or msg == (L["ICU"]..": "..db.profile.lowFlaskDurationMessage) then return true end | 630 if msg == db.profile.noFoodMessage or msg == db.profile.noFlaskMessage or msg == db.profile.lowFlaskDurationMessage or msg == (L["ICU"]..": "..db.profile.noFoodMessage) or msg == (L["ICU"]..": "..db.profile.noFlaskMessage) or msg == (L["ICU"]..": "..db.profile.lowFlaskDurationMessage) then return true end |
469 end | 631 end |
470 ChatFrame_AddMessageEventFilter("CHAT_MSG_WHISPER_ICU_INFORM", filterChat) | 632 ChatFrame_AddMessageEventFilter("CHAT_MSG_WHISPER_ICU_INFORM", filterChat) |
471 | |
472 icu:RegisterEvent("READY_CHECK"); | |
473 | 633 |
474 --@do-not-package@ | 634 --@do-not-package@ |
475 function icu:test(cond) | 635 function icu:test(cond) |
476 if true and not cond then | 636 if true and not cond then |
477 print("First.") | 637 print("First.") |