MacroTalk - v1.7.1
By Cogwheel

MacroTalk provides extended chat command support especially useful for macros.
For comments, bug reports, etc., please visit http://cogwheel.wowinterface.com.

Table of Contents

Disabling modules
Slash commands
	/tellunit
	/group
	/opt
	/rndcmd
Conditional chat commands
Random chat commands
Text substitutions
	Straight substitutions
	Unit information

Disabling modules:
	If you would prefer only to have certain functionality from MacroTalk (for
	instance, if you have another addon that provides similar functionality),
	you can disable various modules by renaming or deleting the corresponding
	.lua files. You can safely remove MacroTalkChatOptions, MacroTalkCommands,
	and MacroTalkSubstitutions which correspond to Conditional/Random chat
	commands, Slash commands, and Text substitutions, respectively.

Slash commands:
	/tellunit (/tu, /whisperunit, /wu) <unit> <message>
		Sends a whisper to the specified unit. See
		http://www.wowwiki.com/API_TYPE_UnitId for a list of units
		
		Example:
			/cast Innervate
			/tellunit target Incoming innervate
	
	/group (/gr) <message>
		Picks battleground, raid, or party chat depending on which type of group
		you are in.
	
	/opt [options] <slash command>; [options] <slash command>; ...
		Picks from multiple slash commands given the options. You can only use
		slash commands that don't trigger secure functions. Chat commands,
		emotes, scripts, etc. are OK. /cast, /use, etc. are off limits.
		
		Note: the sub-commands cannot use macro options since the semicolons
		would cause ambiguity.
		
		Example:
			/opt [button:2] /bye; /wave
	
	/rndcmd [options] <command 1>\<command 2>; [options] <command 3>\<command 4>...
		Picks a random slash command out of the group chosen based on the
		given options. Each group is a list of slash commands separated by the
		backslash (\) character (this is in contrast to commas used for the
		built-in random commands--commas are just too common in chat messages).
		
		Note: like the /opt command, the sub-commands cannot use macro options
		and you can't use any secure commands.
		
		Example:
			/rndcmd [swimming] /y Help! I'm Drowning! \ /s The water's great!;
			/s Time for a swim... \ /dance
	
Conditional chat commands:
	All chat commands (/say, /tell, /guild, etc.) can now accept macro options.
	To use this functionality, simply start the command with /opt. Note:
	[target=] has no effect on the output of the chat commands; it only affects
	the other conditionals in the clause.
	
	Example:
		/optsay [swimming] gurgle; [mounted] The cavalry has arrived!
	
	Example:
		/cast [target=focus] Polymorph
		/optgroup [target=focus, exists] Sheeping %f

Random chat commands:
	Similar to the macro options, you can now add /rnd to the beginning of any
	chat command to pick a random saying. The /rnd___ commands also take options
	to pick a different list of sayings. The lists themselves are separated by
	the backslash symbol (\).
	
	Example:
		/rndyell ZOMG! \ WTF?! \ You there! Check out that noise!
	
	Example:
		/rndsay [outdoors] Ahhh, the Great Outdoors! \ What a lovely day!;
		I wish I could go outside right now \ Must... Leave... Building...

Text substitutions:
	MacroTalk offers a variety of substitutions in addition to %t of the default
	UI. Substitutions are prioritized by the length of the code; longer codes
	are processed first. This means that %tl will be processed before %t. The
	codes are case-insensitive so %Tl is equivalent to %tL.

	Straight substitutions:
		%n   - Your name
		%z   - Your current zone
		%sz  - Your current sub-zone
		%loc - Your map coordinates
	
	Unit information:
		%t - Name of your target (built in, but listed for consistency)
		%f - Name of your focus
		%m - Name of mouseover unit
		%p - Name of your pet
		%tt - Name of your target's target
		
		You can suffix those with one of the following to return other pieces of
		data about the unit:
		
		l - Level
		c - Class
		g - Gender
		gb - Gender (blank if no gender)
		r - Race
		rb - Race (blank if no race)
		h - Health (XX/XX) - Acts like hp for players not in your party/raid/bg
		hp - Health percentage (XX%)
		ma - Mana - Not just 'm' because it conflicts with mouseover
		mab - Mana (blank if no mana)
		mp - Mana percentage
		mpb - Mana percentage (blank if no mana)
		ic - Raid icon
		icb - Raid icon (blank if no icon)
		
		Example:
			/p Sheeping %f (level %fl %fg %fr %fc)
			/cast [target=focus] Polymorph
			
			Sample result: Sheeping Cogwheel (level 64 male Gnome Warrior)
		
		You can also use the suffixes without a unit code to return information
		about yourself.
		
		Example:
			/s I'm a level %l, %g, %r %c.
			
			Sample result: I'm a level 68, male, gnome warrior.

Changes:

v1.7.1
- Fixed suffixes to work without a unit
- Fixed error when using /gr outside of a group

v1.7
- /rnd___ commands should actually work now
- Changed /rnd to /rndcmd because of a conflict with the built-in /rnd command
- Added architecture for straight text substitutions (no interface yet--see
MacroTalkSubstitutions.lua for more information)

v1.6
- Added raid icon and "blank" suffixes

v1.5.1
- Fixed a bug that was preventing all SendChatMessage calls

v1.5
- The race suffix will use UnitRace for players and UnitCreatureType for NPCs
- Added %tt, %loc
- Added health and mana suffixes

v1.4
- /opt & /rnd will now print an error message if you attempt to use a secure
command
- Added %n, %z, %sz
- Added ability to use suffixes alone to get info about the player
- Changed unit prefixes to suffixes - INCOMPATIBLE WITH PREVIOUS VERSION
- Substitutions are no longer case-sensitive
- Restructured substitutions and localizations to be more generic

v1.3
- Added /rnd and /rnd___ commands
- Fixed a bug where the /opt prefix was only being applied to the first command
of a given type (e.g. only /opts would work but not /optsay)

v1.2
- Added generic /opt command

v1.1
- Improved localizability of substitutions

v1.0
- Name substitutions have been simplified a bit to match the functionality of %t
- Added pet unit substitution
- Added info type prefixes: level, class, gender, race

v0.9
- Added /opt___ commands
- Fixed a bug where %m behaved like %f
- No longer uses Satellite
- Added localization lua for future localization

v0.5
- Initial release
