vanilla-wow-addons – Blame information for rev 1

Subversion Repositories:
Rev:
Rev Author Line No. Line
1 office 1 AutoShoutOut by Cosmic Cleric (a.k.a. Effren)
2  
3 Version 1.15.5 - Automatically notifies others when player/pet stats drop below a certain percentage.
4  
5 Any comments, send to autoshoutout@cosmiccleric.com.
6  
7  
8 Credits
9 -------
10  
11 Thanks to Hopman's AutoShout for one hell of a foundation to add on to/build from!
12 http://www.hopman.plus.com/Autoshout/
13  
14 I took the AutoShout v1.1 code base, and branced off of it, adding enhancements and fixes to allow
15 for changes in the WoW client (see below for details).
16  
17  
18 Introduction
19 ------------
20  
21 Does automated notifications, based on user-defined settings. Can be used by any player who
22 wishes to notify others as to the status of their character. For example, I use AutoShoutOut
23 when playing my priest character, in instances, so that other people in the group know when I'm
24 about to die or running out of mana. Will also notify others of the player's pet health status,
25 as well as if the player loses a "Soulstone Resurrection" buff.
26  
27  
28 Tutorial
29 --------
30  
31 AutoShoutOut does 'notifications'. There are five TYPES of notifications, 'health', 'life', 'mana',
32 'pet health', and 'soulstone'. For 'health', 'life', and 'mana' types of notification, there are
33 two WAYS to do the actual notification, 'shouts' and 'messaging'. For 'pet health' and 'soulstone',
34 there is only 'messaging'.
35  
36 Each notification type has a trigger that tells AutoShoutOut that it needs do something. For the
37 'health' and 'life' notification types, the trigger is the player's health amount remaining. For
38 the 'mana' notification type, its the player's mana amount remaining. For 'pet health' notification
39 type, the trigger is the pet's health amount. The triggers are defined in percentage of health/mana
40 remaining (ex.: 75% health left). For 'soulstone', the trigger is the expiration of the "Soulstone
41 Resurrection" buff that was on the player.
42  
43 There are two ways that AutoShoutOut can do a notification, by 'shouting', which uses WoW's vocal
44 emotes, and/or by 'messaging', which uses WoW's chat messages. The player can setup AutoShoutOut to
45 use neither/either/both notification types, and can change them from within WoW via the chat prompt.
46  
47 The vocal emotes that AutoShoutOut uses when it shouts are "/healme" for 'health' notifications,
48 "/helpme" for 'life' notifications, and '/oom' for 'mana' notifications. These cannot be changed
49 (currently). There are no vocal emote for 'pet health' and 'soulstone' notifications.
50  
51 The chat messages that AutoShoutOut uses when it messages can be defined by the user, with a seperate
52 definition for each of the notification types (health, life, mana, pet health, and soulstone). Besides
53 defining the chat message to send, the target can also be defined. The possible target choices are
54 another player (via whispering), locally to your chat window with the 'LOCAL' channel, 'BANNER' to see
55 the message displayed at the top center of the screen, the 'SAY' channel, the 'PARTY' channel, and the
56 'RAID' channel. Channel names must be in all upper caps, otherwise they are presumed to be player
57 character names. For example, there is a player character named 'Party', then typing in the word 'party'
58 or 'Party' or 'PaRtY' will send a whisper to the player, and typing in 'PARTY' will send the messages to
59 the Party (/P) channel. When in doubt, use the 'Channels' button to select a channel, and type the name
60 in manually when you want to whisper to another player.
61  
62 When defining a message to send, you can use special keywords that get converted at message
63 sending time into values, like hit points remaining, mana percentage remaining, etc. The keywords are:
64  
65 $HEALTH - The current health points remaining
66 $HEALTHMAX - The maximum number of health points available
67 $HEALTHPERCENT - The current health points remaining, in a percentage notation (23%)
68 $MANA - The current mana points remaining
69 $MANAMAX - The maximum number of mana points available
70 $MANAPERCENT - The current mana points remaining, in a percentage notation (54%)
71 $NAME - The name of the unit doing the notifying (see below for "unit" information)
72  
73 Please note that, depending on which event type is being done (ex.: 'health' vs. 'pet health'), the
74 "unit" doing the notifying can be different, and the keywords listed above relate to a unit, not always
75 from a player's perspective. For the event type 'pet health', the "unit" is your pet. For all other
76 event types, the "unit" is the player. So the same keyword $NAME (for example) can return a different
77 value, based on which "unit" (player vs. pet) is doing the notifying.
78  
79 Also, the player can define the frequency (how often) AutoShoutOut does its notifications, for each
80 notification type. The default is usually ten seconds (since most battles last about thirty seconds),
81 but can be changed to any value that the user desires, up to a maximum of 999 seconds (and a minimum
82 of one second). Also, this frequency value is the minimum amount of time to go by before getting a
83 notification. You need to be in combat, or have a buff get applied/wear off, or a system message
84 be received, or your Health and/or Mana values change, or change targets, before AutoShoutOut will even
85 bother to check and see if it needs to do any notifications. Basically a WoW event needs to come in for
86 AutoShoutOut to do its thing. If, for a particular event notification, a frequency duration has elapsed,
87 but no new WoW events come in, the notification will not happen until the next WoW event comes in, then
88 AutoShoutOut will see that the amount of time that has elapsed is greater than the frequency duration,
89 and will do its notification. Checking is done this way for performance reasons.
90  
91 Also, the player can choose if AutoShoutOut does its notifications only while the player/pet is
92 in battle, or at any time that a notification should be done, because a percentage trigger has been
93 reached. Each notification type can have its own 'combat only' vs. 'always' notification setup. The
94 determination is based on the unit. In other words, for a player the check is done to see if the
95 PLAYER is in combat, and for a pet, the check is done to see if the PET is in combat.
96  
97 Also, the player can choose if AutoShoutOut does its notifications while they are dueling or not. Each
98 notification type can have its own 'notify during duels' notification setup.
99  
100 Finally, for each event type, there will be three different ways to configure an event type. These ways
101 are called 'configurations'. The three 'configurations' are 'solo', 'party', and 'raid'. The user can
102 choose which configuration is active when they are using AutoShoutOut, via a dropdown control at the top
103 of the UI. For example, the user can choose the 'solo' configuration, then change the 'health' / 'life'
104 / 'mana' / 'pet health' / 'soulstone' event types as they want. Then the user can choose the 'party'
105 configuration, and then change the 'health' / 'life' / 'mana' / 'pet health' / 'soulstone' event types for
106 that configuration differently (for example, different notify frequency or message, etc.). The user then
107 can choose which configuration is active by bringing up the UI again (if its not already up) and selecting
108 the configuration they want to be active on the dropdown control, at the top of the window.
109  
110 This below chart lays out what was just stated above...
111  
112 CONFIG NOTIFY HOW OFTEN WHEN TO NOTIFICATION
113 TYPE TYPE TO NOTIFY NOTIFY METHOD
114 ======== =============== =========== ================ =========================
115 -- Shout (Vocal Emote)
116 -- Combat Only --|
117 | -- Message (Chat Message)
118 -- Health ----- Frequency --|
119 | | -- Shout (Vocal Emote)
120 | -- Always -------|
121 | -- Message (Chat Message)
122 |
123 |
124 | -- Shout (Vocal Emote)
125 | -- Combat Only --|
126 | | -- Message (Chat Message)
127 -- Life ------- Frequency --|
128 | | -- Shout (Vocal Emote)
129 | -- Always -------|
130 Solo ---| -- Message (Chat Message)
131 |
132 |
133 | -- Shout (Vocal Emote)
134 | -- Combat Only --|
135 | | -- Message (Chat Message)
136 -- Mana ------- Frequency --|
137 | | -- Shout (Vocal Emote)
138 | -- Always -------|
139 | -- Message (Chat Message)
140 |
141 | -- Combat Only ---- Message (Chat Message)
142 -- Pet Health - Frequency --|
143 | -- Always --------- Message (Chat Message)
144 |
145 | -- Combat Only ---- Message (Chat Message)
146 -- Soulstone - Frequency --|
147 -- Always --------- Message (Chat Message)
148  
149 -- Shout (Vocal Emote)
150 -- Combat Only --|
151 | -- Message (Chat Message)
152 -- Health ----- Frequency --|
153 | | -- Shout (Vocal Emote)
154 | -- Always -------|
155 | -- Message (Chat Message)
156 |
157 |
158 | -- Shout (Vocal Emote)
159 | -- Combat Only --|
160 | | -- Message (Chat Message)
161 -- Life ------- Frequency --|
162 | | -- Shout (Vocal Emote)
163 | -- Always -------|
164 Party --| -- Message (Chat Message)
165 |
166 |
167 | -- Shout (Vocal Emote)
168 | -- Combat Only --|
169 | | -- Message (Chat Message)
170 -- Mana ------- Frequency --|
171 | | -- Shout (Vocal Emote)
172 | -- Always -------|
173 | -- Message (Chat Message)
174 |
175 | -- Combat Only ---- Message (Chat Message)
176 -- Pet Health - Frequency --|
177 | -- Always --------- Message (Chat Message)
178 |
179 | -- Combat Only ---- Message (Chat Message)
180 -- Soulstone - Frequency --|
181 -- Always --------- Message (Chat Message)
182  
183 -- Shout (Vocal Emote)
184 -- Combat Only --|
185 | -- Message (Chat Message)
186 -- Health ----- Frequency --|
187 | | -- Shout (Vocal Emote)
188 | -- Always -------|
189 | -- Message (Chat Message)
190 |
191 |
192 | -- Shout (Vocal Emote)
193 | -- Combat Only --|
194 | | -- Message (Chat Message)
195 -- Life ------- Frequency --|
196 | | -- Shout (Vocal Emote)
197 | -- Always -------|
198 Raid ---| -- Message (Chat Message)
199 |
200 |
201 | -- Shout (Vocal Emote)
202 | -- Combat Only --|
203 | | -- Message (Chat Message)
204 -- Mana ------- Frequency --|
205 | | -- Shout (Vocal Emote)
206 | -- Always -------|
207 | -- Message (Chat Message)
208 |
209 | -- Combat Only ---- Message (Chat Message)
210 -- Pet Health - Frequency --|
211 | -- Always --------- Message (Chat Message)
212 |
213 | -- Combat Only ---- Message (Chat Message)
214 -- Soulstone - Frequency --|
215 -- Always --------- Message (Chat Message)
216  
217 To sum up, for a particular configuration (solo, party, raid), there are multiple notification types.
218 For a particular notification type (health, life, mana, pet health, or soulstone) you can set up how
219 often AutoShoutOut does a notification, whether to do notifications only when you are in battle, or
220 always, and whether it should use shouts (vocal emotes) and/or messages (WoW chat messages) to notify
221 others.
222  
223  
224 Commands
225 --------
226  
227 For English clients:
228  
229 /aso (or /autoshoutout) - Displays the settings window
230  
231 /aso [on|off] - Turns on/off ALL notifications of any kind.
232  
233 /aso status - Toggles on/off the output of status information to the Combat channel.
234  
235 /aso reset - Resets all notification settings back to their default values.
236  
237 /aso warnings - Toggles on/off warning messages (ex.: "No 'Soulstone Resurrection' buff!").
238  
239  
240 Pour les clients français:
241  
242 Voyez le document d'AutoShoutOut_FR.txt pour l'information de futher.
243  
244  
245 Für französische Klienten:
246  
247 /aso [an|aus] - schaltet jegliche Hinweise an oder aus.
248  
249 /aso status - Schält AN/CAus den Ausgang von Statusangaben zur Kampfführung um.
250  
251 /aso zurückstellen - Stellt alle Mitteilungseinstellungen zurück zu ihren Default-Werten zurück.
252  
253 /aso warnungen - Toggles on/off warning messages (ex.: "No 'Soulstone Resurrection' buff!").
254  
255  
256 To-Do
257 -----
258  
259 Add notifications for the health of other group/raid members.
260  
261  
262 Changes in 1.15.5
263 -----------------
264  
265 Bug fix so that AutoShoutOut will write out its settings information.
266  
267 Updated interface number for v1.7 of WoW.
268  
269  
270 Changes in 1.15.4
271 -----------------
272  
273 Fix for bug introduced in v1.14.1, where if you are in a raid, and you try and notify via messaging
274 to the 'PARTY' channel, you will not get the "ASO: Notify via Messaging-Target: Character is NOT in a
275 party/raid" message.
276  
277  
278 Changes in 1.15.3
279 -----------------
280  
281 Fixed ctrl-left-click on chat name link functionality, which was broke with v1.6 of WoW client. Note
282 that, as of WoW v1.6, the selecting of a pet (by clicking on the player's name link twice) will no
283 longer work (because of a deprecated function call). Will try to make this work again in a future
284 release of ASO.
285  
286 Updated interface number for v1.6 of WoW.
287  
288 AutoShoutOut will not check for the loss of a 'Soulstone Resurrection' buff (the 'soulstone' event)
289 until the buff has been applied. This should stop the 'false positive' notifications players get
290 when forgetting to turn off notification after a buff has worn off from their previous WoW session.
291  
292 Made window width a little wider, so that no text runs off the right side of the window.
293  
294 Added a comment in the combat channel status output text that reminds people that they
295 can use the '/aso status' command if they do not want to see any ASO status messages.
296  
297  
298 Changes in 1.15.2
299 -----------------
300  
301 Added a settings that determines if AutoShoutOut should display warning messages when certain
302 conditions occur. For example, if a 'Soulstone Resurrection' buff is put on the player, but the
303 'Soulstone' notification is not active, a warning message is displayed. The default is set to on
304 (true). Use the "/aso warnings" command to switch back and forth between on and off (true/false).
305  
306 Updated French translations. Thank you Methos (http://forums.curse-gaming.com/member.php?u=11256)!
307  
308  
309 Changes in 1.15.1
310 -----------------
311  
312 Updated German translations. Thank you Drazul (http://forums.curse-gaming.com/member.php?u=6717)!
313  
314 Resized width of settings window because of updatiang of German translations.
315  
316 Moved the anchor point for the close button tooltip to right, from left.
317  
318  
319 Changes in 1.15.0
320 -----------------
321  
322 Added "Soulstone" event type. ASO will look to see if the player has a 'Soulstone Resurrection'
323 buff on them (a.k.a. a 'Res Stone'). If they do NOT, then ASO will do its notification. If the
324 'Soulstone Resurrection' buff is applied to a player who does not have the "Soulstone" event
325 notification turned on, ASO will warn the player of that fact.
326  
327 AutoShoutOut settings window is now dragable.
328  
329 Changed maximum notify frequency value from 60 to 999 seconds (little over 15 minutes).
330  
331 Added tooltips to the vast majority of the UI controls.
332  
333 Fixed bug when registering for event "PLAYER_AURAS_CHANGED" (typo in event name being registered).
334  
335 Modified assignment of default values (first time person runs ASO or after a "/aso reset" command)
336 so that the default message targets make sense, for the configuration (Solo/Party/Raid). Solo
337 configuration gets LOCAL as target, party configuration gets PARTY as a target, and raid
338 configuration gets RAID as a target.
339  
340 Added unregistering for events notification, when the user does a "/aso off" command.
341  
342 Cosmetic UI change for German localization.
343  
344 Updated README with additional information concerning 'Notification Frequency'.
345  
346 NOTE! French/German translations are needed. Any French/German users who wish to help,
347 please contact me. Your help will be appreciated by all other AutoShoutOut users in
348 your community.
349  
350  
351 Changes in 1.14.1
352 -----------------
353  
354 Code change for "C Stack Overflow" error, which is caused when a user is NOT in a party/raid, but
355 they have the notification via messaging target set to PARTY/RAID. WoW/LUA doesn't like it when ASO
356 would keep doing '/party' and/or '/raid' messaging every time a notification would happen. The fix is to
357 have ASO make a check to verify that the user is in a group/raid before sending a message to PARTY/RAID.
358 If the user is not in a group/raid, a warning message will be done by ASO and the message target will
359 be changed to SAY, for that message. Once the user joins a group/raid, the message target will return
360 back to what the user had set previously. This check is done for all configurations.
361  
362 Updated German command notes in the README (thank you jfk21 (http://forums.curse-gaming.com/member.php?u=12139)).
363 Tweaked French localized text (thanks Methos (http://forums.curse-gaming.com/member.php?u=11256)).
364  
365  
366 Changes in 1.14.0
367 -----------------
368  
369 Added a settings that determines if AutoShoutOut should do ANY notifications (or not); a global on/off switch.
370 The default is set to 'on'. Use the "/aso on" or "/aso off" commands to turn notifications 'on' or 'off'.
371  
372 When clicking on the 'Channels' button, and if a player is targeted, after cycling through the other channel
373 choices, the targeted player name will be entered as a whisper target. In other words, each click of the
374 'Channels' button will give you "LOCAL / BANNER / SAY / PARTY / RAID / <Targeted Player Name>", if a player
375 is targeted. Otherwise the button clicking will cycle through "LOCAL / BANNER / SAY / PARTY / RAID".
376  
377 Added checking for spell channeling, and if a 'Mana' event shout needs to be done (OOM), but a spell is being
378 channeled, the shout will not be done. This may help those who feel that doing a OOM emote during spell
379 channeling interrupts the spell and prevents it from completing. This check is only done for the 'Mana'
380 event type, and only for shouting, not messaging. What is checked is the CastingBarFrame.channeling value.
381  
382 Fixed a bug where the 'status output' on/off setting was not being saved when the character logs out.
383  
384 Tweaked localization stuff to use native language add-on name/title, instead of 'AutoShoutOut'.
385  
386  
387 Changes in 1.13.4
388 -----------------
389  
390 Fixed a bug that prevented the targeting of a target's pet (when ctrl-left-clicking on a chat window player name
391 link twice), because a check was made to see if the player had a pet UI, but this check should not be done when
392 other players are targeted, as they don't have a pet UI on the checking/clicking players WoW client.
393  
394  
395 Changes in 1.13.3
396 -----------------
397  
398 Redid how AutoShoutOut gets the player's name, to try and help out those who are getting 'nil' errors when
399 changing zones. The change is to combat a situation where a UnitName("player") could (once again after the
400 initializing phase) be returning a UNKNOWNOBJECT (or nil) value, instead of the players name, which would
401 cause errors when AutoShoutOut tries to read/update its settings. Now AutoShoutOut calls UnitName("player")
402 just once (after player has been loaded into the world and initialized), and saves the player's name to a
403 variable. Then any time after that that the player name is needed, its grabbed from the variable instead of
404 making another UnitName("player") call.
405  
406 AutoShoutOut now remembers the last setting of the 'debug' switch, the next time it starts.
407  
408 Added output of the character's name to the chat window when the user does a "/aso" command, if the debug mode
409 had been previously set on/true.
410  
411  
412 Changes in 1.13.2
413 -----------------
414  
415 Fixed a bug with how the LUA string.find function was used. Instead of using "(%a+)" as the find pattern,
416 had to use "(%S+)" instead, as special characters like "ü" (for example) were just being dropped when using
417 the "(%a+)" pattern to determine where one word ended and the next started. This bug made it so that the user
418 could not type in the foreign equivalent of the "/aso reset" command. "(%a+)" meant any alphanumeric character,
419 and "(%S+)" mean any non-space value, which is actually more accurate in the long run, as spaces seperate the
420 command from the arguments typed in. This fix also would help if the "Starting duel" system message had any
421 special characters in it as well for foreign languages.
422  
423 Moved the 'changed configuration' status message output, when the automatic configuration option changes the
424 user's configuration from one mode to another, to the combat channel, and hooked it up so that it can be
425 shown/not shown via the "/aso status" command.
426  
427  
428 Changes in 1.13.1
429 -----------------
430  
431 Updated French localization (thank you Methos).
432  
433  
434 Changes in 1.13.0
435 -----------------
436  
437 Currently in WoW, when a user sends out a chat message, his name is a link, and you can left-click on it
438 to send him a whisper, or shift-left-click to do a /who, or right-click to show a popup menu for the player.
439 AutoShoutOut adds a Ctrl-left-click, which will select the user as a target, 'if' the user is nearby (a
440 limitation of the WoW function that AutoShoutOut uses). If the user is not targetable, a message will
441 appear and targeting will be cleared. If the player is targeted, either manually or because you've clicked
442 on their chat name link once already, and if they have a pet, a second click on the link will select their
443 pet. A third click on the link will reselect the player, fourth the pet, etc. etc.
444  
445 Updated German translations (thank you jth).
446  
447  
448 Changes in 1.12.0 ßeta!
449 -----------------
450  
451 =====
452 NOTE: THIS VERSION IS MARKED AS BETA BECAUSE ONE OF THE NEW FEATURES DEPENDS ON SYSTEM MESSAGES GENERATED
453 BY THE WOW SERVERS. BECAUSE OF THIS, TESTING OF THE NEW FEATURES USING THE FRENCH/GERMAN LOCALIZATIONS
454 COULD NOT BE DONE. FRENCH/GERMAN USERS, IF YOU DECIDE TO USE THIS VERSION, PLEASE CONFIRM THAT THE NEW
455 'NOTIFY DURING A DUEL' SWITCH IS WORKING PROPERLY, SPECIFICALLY IF AUTOSHOUTOUT CAN PROPERLY DETERMINE
456 THAT YOU HAVE STARTED A DUEL. IF I DON'T HEAR BACK FROM ANYONE IN A FEW DAYS, I'LL PRESUME THAT IT IS
457 WORKING PROPERLY ON FRENCH/GERMAN CLIENTS AND RELEASE THE FINAL 1.12.0 VERSION OF AUTOSHOUTOUT. Also,
458 hoping that French/German users will help out with polishing up the UI with the new features that have
459 been added (currently using Google translations).
460 =====
461  
462 Automatic switching between configurations has been implemented. If you join a party, the configuration
463 will be automatically switched to the 'Party' configuration. If you join a raid, the configuration will
464 be automatically switched to the 'Raid' configuration. If you leave either, the configuration will be
465 automatically switched to the 'Solo' configuration. The default is to not do the automatic switching.
466 Can be turned on or off via the UI.
467  
468 Added a new setting so that the user can choose whether notifications are done during duels or not.
469 Each configuration type has its own version of this switch. The default is off, which means that
470 notifications will not be done during duels. Can be turned on or off via the UI.
471  
472 Changed how the "reset" command works, so that now it only resets the current character's settings, not
473 ALL of the character's settings.
474  
475 Added localization coding to the arguments for the DoEmote(String) function, so that in the future if
476 the arguments change from "HEALME"/"HELPME"/"OOM" to something else, its a five second change to the
477 localization file to fix (ASO_LOCSTR_DOEMOTE_HEALME/ASO_LOCSTR_DOEMOTE_HEPEME/ASO_LOCSTR_DOEMOTE_OOM).
478  
479 Reworded how AutoShoutOut tells the user if the status output has been turned on/off.
480  
481 Updated localization with new translations (thank you Methos!). French users will have to redo their
482 settings again, apologies for that.
483  
484 Methos has created a French version of the README (AutoShoutOut_FR.txt), and it has been added to the
485 distribution package. Added German translated information on the commands in the README file. Should
486 really have fully translated versions of the whole README file for French/German speakers. Any volunteers?
487  
488 Tweaked UI display by associating some objects (main window, message text edit box, etc.) to the
489 localization settings, to support localization text changes.
490  
491 Fixed typos in README tutorial.
492  
493  
494 Changes in 1.11.0
495 -----------------
496  
497 Added "Configurations" enhancement. There are three types of configurations, "Solo", "Party",
498 and "Raid", and they allow for multiple event types settings. See above for further information.
499  
500 Added a new command, "reset", which will reset all of the notificaiton options back to their
501 default values.
502  
503 Modified UI so that changes are saved as soon as something is modified, instead of when just
504 closing the window or switching between event types.
505  
506 Modified UI so that a user can TAB/ENTER from edit field to edit field (not to checkboxes or
507 lists though).
508  
509 Modified UI so that a user can hit the ESCAPE key to close the window. Their changes will be saved.
510  
511 Modified UI so that a tooltip is shown with all the available keywords that can be typed into
512 the notification message editbox.
513  
514 Updated README tutorial section to reflect "Configurations" enhancement.
515  
516  
517 Changes in 1.10.2
518 -----------------
519  
520 Added a settings that determines if AutoShoutOut should output status information to the Combat
521 channel. The default is set to on (true). Use the "/aso status" command to switch back and forth
522 between on and off (true/false).
523  
524  
525 Changes in 1.10.1
526 -----------------
527  
528 Updated French localization (thank you Methos!).
529  
530 Changed the localization so that if its not French/German, it will automatically default to
531 English, instead of generating an error. That way Korean players will at least see English,
532 instead of a bunch of question marks.
533  
534 Tweaked UI display by associating some objects (Window Title, etc.) to the localization settings.
535  
536  
537 Changes in 1.10.0
538 -----------------
539  
540 Added a 'BANNER' channel output, which just sends messages to the top center of
541 the screen, which can only be seen by the player. Also, starting with this version,
542 channel names must be in all upper caps, otherwise they are presumed to be player
543 character names. If you use the 'Channel' button you have nothing to worry about,
544 but if you type in a channel name manually, make sure its in all upper caps, or
545 else AutoShoutOut will think it is a player name and try to whisper instead. When
546 coding this latest feature I accidentally (because of a bug) started whispering
547 messages to 'Banner', a player, and he replied, to use his his words, "WTF?" :) So
548 I figured the code needed to distinguish between a player name, and a channel name,
549 and decided to use case sensitivity as a way to do the distinguishing between the two.
550  
551  
552 Changes in 1.9.0
553 ----------------
554  
555 Added a 'LOCAL' channel output, which just sends messages to the chat window that
556 can only be seen locally by the player. It is NOT a /say that others can see.
557  
558 Added the $NAME keyword. It will output the unit's name when a message is sent.
559  
560 French translations were redone by a human being. Thanks to Methos
561 (http://forums.curse-gaming.com/member.php?u=11256) for the French translations.
562  
563 Updated some of the German translations. My thanks go out to Drazul
564 (http://forums.curse-gaming.com/member.php?u=6717) for the translation help.
565  
566 Updated README with a better description of the keywords, and what it means
567 by "unit", vs. player or pet, when using keywords.
568  
569  
570 Changes in 1.8.0
571 ----------------
572  
573 Added the ability to send, as part of any message, health and/or mana information, for
574 the unit that is doing the notifying. Keywords are $HEALTH, $HEALTHMAX, $HEALTHPERCENT,
575 $MANA, $MANAMAX, and $MANAPERCENT. If you wanted, for example, to send out this message:
576 "I have X out of Y (Z%) left!", where X is how many hit points you have left, Y is the
577 maximum hit points that you have, and Z is the percentage of hit points left, you would
578 type your message like this: "I have $HEALTH out of $HEALTHMAX ($HEALTHPERCENT%) left!".
579 For mana, instead of hit points, you would type this: "I have $MANA out of $MANAMAX
580 ($MANAPERCENT%) left!".
581  
582 Bug fix. Health event notifications were not being done if the life event notification percentage
583 threshold was being met, but all life event notifications were turned off by the user in the UI.
584 Normally, if both a health and life event notification needs to be done, only the life event
585 notification would be done; the health event notification would be ignored. A bug existed where
586 the health event notification would be ignored when it should not be, because the code thought a
587 life event notification was already done, but it was not done, because the user had manually turned
588 off all life event notifications from the UI (both shout and messaging). The code now ignores the
589 status of life event notifications when determining if a health event notification should be done
590 or not, if all life event notifications have been turned off by the user.
591  
592 (Invisible) bug fix. When checking a pet's mana for low condition, the player's mana value was
593 used instead. This check is currently not being done, as there is just one single event type that
594 involves pets, and its health points based ('Pet Health'), but the check can be done in the future
595 if (Warlock) pet mana events are supported, so it seemed like a good idea to fix for future's sake.
596  
597 Cosmetic UI enhancement. If player does not have a mana pool, they cannot choose the 'Mana' event
598 type from the UI. The code already will prevent notifications from being sent out internally,
599 but the UI was allowing the user to make changes to the 'Mana' event type, as if those kind of
600 notifications would be sent out. Now the 'Mana' event type gets disabled for Warriors, Rogues,
601 and Druids in shapeshifted forms.
602  
603 Cosmetic UI enhancement. If player does not have a pet, they cannot choose the 'Pet Health' event
604 type from the UI. The code already will prevent notifications from being sent out internally, but
605 the UI was allowing the user to make changes to the 'Pet Health' event type, as if those kind of
606 notifications would be sent out. Now the 'Pet Health' event type gets disabled if the player does
607 not have a pet UI (function HasPetUI()), which presumably means they do not have a pet available.
608  
609  
610 Changes in 1.7.0
611 ----------------
612  
613 New event type, "Pet Health" added. Will only do messaging (couldn't think
614 of a proper vocal emote to assign). FYI, The "In Combat" switch is for the
615 pet, not the player. Didn't add a "Life" event type for pets, if many others
616 need/want this event type let me know and I'll add it.
617  
618 More localization bug fixes (SAY/PARTY/RAID checks) and new items.
619  
620 UI location/size tweaks for new event type and its localization text.
621  
622 Updated README to add the new notification type.
623  
624  
625 Changes in 1.6.1
626 ----------------
627  
628 Bug fix: UNKNOWNOBJECT instead of "Unknown Entity" when verifying that player
629 has been loaded into the world completely, so that his/her character's name
630 can be determined. This bug affects the non-English client using players.
631  
632 German translations were redone by a human being. Thanks to jth
633 (http://forums.curse-gaming.com/member.php?u=5486) for the German translations
634  
635 Tweaked UI controls locations based on redone German translations.
636  
637  
638 Changes in 1.6.0
639 ----------------
640  
641 AutoShoutOut now has a user interface (removed the command line interface, with the
642 exception of the "/aso" command, which displays the UI).
643  
644 Refactored "Druid in shapeshifted form" checking, when deciding to notify for low mana
645 (with thanks to Iriel for informing me about the GetShapeshiftFormInfo function!).
646  
647 Cleaned up French and German localization text, by using UTF-8 decimal representations
648 for certain letters, so that they'll display properly in WoW.
649  
650 NOTE! Korean localization text is still not working correctly. For now, I'll have to
651 remove support for this language from AutoShoutOut, until I can figure out how to do
652 it properly. I'll leave the "koKR" localization logic in the localization lua file,
653 but it currently contains a bunch of question marks. My apologies to the Korean player
654 base for this. French/German localization versions should be fine; please let me know
655 of any typos or syntactical changes that are needed.
656  
657  
658 Changes in 1.5.2
659 ----------------
660 Bug fixes for localizations support.
661  
662  
663 Changes in 1.5.1
664 ----------------
665 Fixed bug where setting on/off the shouting for 'Life' was not working correctly.
666  
667  
668 Changes in 1.5.0
669 ----------------
670  
671 Added support for myAddOns (ok, isn't it supposed to be spelled 'Add-Ons' instead of 'AddOns'? :) ).
672  
673 Added localization support. Used http://www.google.com/translate_t for translations. Let me apologize
674 up front for any comedic/insulting comments that the non-English version of this add-on may have starting
675 with this version. I only speak English and Spanish, so I needed to rely on web based translations. :)
676 Please, I would be grateful for any non-English speaking users to let me know when any of the translated
677 words are wrong, so that I may correct them for the next version of the add-on. ISSUE: Some English words
678 (for example, 'on') translate into two words in a different language, but the command line parser is only
679 expecting one word. So I've had to merge the two words as one (ex.: 'outrede' instead of 'outre de'). My
680 apologies for this. Not sure if I'll ever get around to fixing this one, but I'll keep it on the radar.
681  
682 Refactored code to remove duplication of methods. For each kind of processing, now there's one global
683 method instead of three individual methods (one for health, one for life, and one for mana).
684  
685  
686 Changes in 1.4.0
687 ----------------
688  
689 Settings are now saved for each individual character, instead of just one global setting.
690 Please note that you'll have to reassign your settings for each character, but you'll only
691 have to do it once. All previous settings are lost and default values are used initially.
692  
693  
694 Changes in 1.3.0
695 ----------------
696  
697 Modified 'frequency', so that there is a seperate setting/timer for each of the notification
698 types (Health/Life/Mana). This means that you can now do notifications for Health/Life AND
699 Mana at the same time, since they are on seperate timers now (though only Health OR Life will
700 be done, not both).
701  
702 Moved the local chat messages for when AutoShoutOut wants to do a notification to the
703 combat chat frame, from the general chat frame.
704  
705  
706 Changes in 1.2.1
707 ----------------
708  
709 Wasn't checking the notification message flags before sending out a message, so that
710 messages were being sent out always, even if the user had turned it off.
711  
712  
713 Changes in 1.2.0
714 ----------------
715  
716 Added settings so that shout/message notifications can only be done while in combat,
717 or always. There are three switches, one for each notification type (Health/Life/Mana).
718  
719 Commands interface was redone to optimize and better fit the actions that they were used for.
720  
721 Redid the README, including a tutorial of sorts.
722  
723  
724 Changes in 1.1.0
725 ----------------
726  
727 Added message sending (user request), so that when a shout event occurs, a message
728 can also be sent to either an individual player, or the say, party, or raid channels.
729 Each type of shout can have its own message sent. This will help out those players
730 who use the WhisperCast add-on, or who just want to send a notice (besides the emote
731 shout that happens) to another player/group/raid participants. With this change
732 AutoShoutOut is now PvP friendly, in that you can turn off the shouting portion, but
733 still send notifications via messaging to other persons. That way the enemy won't
734 hear any emotes from you, but your team mates know that you are in need of aid.
735  
736 Enhanced help info to just display a section of help for a particular command, when
737 an invalid command is done. Also made cosmetic changes to the help information.
738  
739 Added a "debug" command.
740  
741  
742 Changes in 1.0.1
743 ----------------
744  
745 Modified the way AutoShoutOut sends messages to the chat window. More specifically,
746 instead of sending a message to the 'ChatFrame1' chat window, it sends it to the
747 'DEFAULT_CHAT_FRAME' chat window instead. This was done to assist a user who was
748 getting an unusual crash situation when a message was sent to 'ChatFrame1'.
749  
750  
751 Changes in 1.0.0
752 ----------------
753  
754 First version, based on AutoShout code. The following changes were made since
755 branching from AutoShout's v1.1 code base:
756  
757 Updated .toc for WoW client version 1300 (v1.3.0)
758  
759 Modified to use the DoEmote(String) function, instead of the PlayVocalCategory(String)
760 function which was removed in version 1.3.0 of the WoW client.
761  
762 Added shout 'frequency' settings. Also enhancements to what order shouts are done.
763  
764 Added 'About to die' (a.k.a. Life) shout category. Uses the 'HELPME' vocal emote.
765  
766 Minor bug fixes.