--------------------------------------------
ABOUT SpeakinSpell
--------------------------------------------


SpeakinSpell will announce the use of spells and other abilities in the chat using random speeches. i.e. it will make you say funny things when you cast portals, resurrect, soul stones, use bandages, use trinkets, proc special effects like hot Streak or cheat death, etc - SpeakinSpell supports ANY spell for ANY class! (including melee classes who don't technically cast spells, though they're abilities are still listed in a "spell book")

Project home page:
http://www.wowace.com/projects/speakinspell/

Curse download page:
http://wow.curse.com/downloads/wow-addons/details/speakinspell.aspx

Please submit any feature requests and bug reports here:
http://www.wowace.com/projects/speakinspell/create-ticket/


--------------------------------------------
MAIN FEATURES
--------------------------------------------

- Supports any spell or ability for any class.

- Up to 50 speeches can be entered per spell

- Each spells' random speeches can be directed to any chat channel and/or whispered to your target on a per-spell basis, using intelligent rules that will check if you're in a party, raid, battleground, arena, or solo, and direct the speeches to a channel of your choice accordingly

- Fully configurable through the interface options panel. (/ss options)

- Includes funny default speeches for many spells for all classes
(I will always be adding more of these, and always taking suggestions)


--------------------------------------------
USAGE INSTRUCTIONS
--------------------------------------------


First, type "/ss" to access the interface options panel where you can configure options for SpeakinSpell.

All you have to do is configure a list of 1 or more speeches that you want to say for each spell or ability, then every time you cast that spell, you will automatically say one of your random speeches.

For best results, it is recommended that you configure at least 10 messages per spell, to avoid sounding repetitive.  You are also encouraged to use SpeakinSpell only on abilities which have a cooldown, those which you use rarely, about once per combat, or only out of combat.

It is NOT necessary to cast your spells through a macro to trigger your random speeches.  SpeakinSpell hooks into spell casting events to automatically detect when you cast spells, whether you cast your spell by clicking a button, using a macro, or through the use of another addon.  This also applies to melee abilities, items, trinkets, and procced effects.

Type one of the following for help in-game

/SpeakinSpell help
/ss help

To Show the options:
/ss
or /ss options

You can also get to the options by hitting Escape -> click Interface -> click Addons -> click SpeakinSpell

To reset all options to defaults:
/ss reset

Consult the in-game SpeakinSpell help (/ss help) for additional commands.


--------------------------------------------
SUBSTITUTION "VARIABLES" IN RANDOM MESSAGES
--------------------------------------------

Each random message may refer to the player casting the spell, the target of the spell, and several other pieces of information which may be provided for you automatically by SpeakinSpell

Following is a complete list of variables which you may insert in random messages to use this feature.  The angle brackets <> are required.

<player>
- Your name

<target>
- The name of the target on whom you are casting the spell.
- If you do not have a target, this will say "<no target>"

<target|me>
- Like <target> but uses alternative text if the target is you, the cast of the spell
- You can specify any alternative text that you want to use after the | character
- For example 
- "Casting bubble on <target|myself>"
- "Bubbled: No more hitting on <target|me>!"
- "<target|I> am now protected by a bubble!"

<targetclass>
- Your target's class, as in "Casting DI on the <targetclass>" becomes "Casting DI on the Priest"
- If you do not have a target, this will say "<no target class>"

<targetrace>
- Your target's race, as in "Casting DI on the <targetrace>" becomes "Casting DI on the Dwarf"
- If you do not have a target, this will say "<no target race>"

<spellname>
- The complete name of the spell that you are casting (the spell's rank is not included)

<pet>
- The name of your combat pet (not for use with vanity pets)
- Due to a limitation of the WoW LUA API, this substitution does not work when summoning your pet. It only works after your pet has already been summoned.

<TM>
- The trademark symbol, as in Stonaria's Magical Biscuits

<C>
- The copyright symbol, as in Copyright  2008

<R>
- The registered trademark symbol, as in Speak & Spell  is a registered trademark of Texas Instruments (or at least I assume it is)


--------------------------------------------
ADDITIONAL FEATURES
--------------------------------------------

- Never says the same message for a given spell twice in a row
(unless you only have 1 message defined for that spell)

- Can be configured to only announce the use of a spell based on a random chance
This is a user-configurable percent chance per spell.  This can be useful for roleplaying purposes, or to cut down on the amount of spell-triggered spam you generate in chat.

- Can be configured to use a cooldown on spell announcements for each spell
This can be used to prevent announcing spell casting too often for frequently used spells

- Can whisper messages to the target of your spell
This can be useful for resurrect style spells.

- When you get compliments on your "macros" use "/ss advertise" to tell your friends about SpeakinSpell

- Option to "[X] Report Detected Spell Events"
If you tried to add a new spell but it doesn't seem to be working, you can use the option to "[X] Report Detected Spell Events" to check that SpeakinSpell can see when you use that ability (or item, or trinket, or procced effect, etc) and exactly what the name of the spell effect is that SpeakinSpell sees.  A common mistake is to enter the name of a trinket item instead of the name of its spell effect.  You must enter the name of the spell effect to make it work, and "[X] Report Detected Spell Events" can help you figure out exactly what that is.


--------------------------------------------
CHANGE HISTORY
--------------------------------------------

See ChangeLog.txt for complete version history at the major feature level

Consult the changes documented on the website for more detailed change history at the code file level.
Click on "Changes" at the following link:
http://wow.curse.com/downloads/wow-addons/details/speakinspell.aspx


--------------------------------------------
HOW TO INTERPRET THE VERSION NUMBER
--------------------------------------------

The SpeakinSpell version number is composed of the WoW client version number that SpeakinSpell was built and tested against, followed by an incremental SpeakinSpell version number

For example SpeakinSpell version 3.0.3.05 was built against WoW client version 3.0.3, and is SpeakinSpell release 5 against that version of WoW

When WoW 3.1.0 comes out, the next SpeakinSpell release will be SpeakinSpell v3.1.0.01


--------------------------------------------
HOW TO SETUP SPEAKINSPELL TO WORK IN ANY LANGUAGE
--------------------------------------------

I do not have access to a non-English version of WoW in order to verify the following information, however, the US English version of SpeakinSpell should theoretically work in any non-English version of WoW.

If your WoW game client is non-English and SpeakinSpell has not yet been translated into your language, then the SpeakinSpell options interface, labels, tooltips, slash commands, and default options, default spell names, and default random speeches will of course appear in English, so understanding how to make the most of all of the features may be somewhat difficult unless you also speak English (which must be the case if you can understand these instructions).

However, the functionality of speaking random messages to announce the usage of spells should work correctly in any language by virtue of the core design concept of SpeakinSpell which allows it to support any spell for any class. At least theoretically.

In order to configure SpeakinSpell for use in any non-English version of WoW which is not supported by SpeakinSpell by default, follow this simple procedure.

1. Delete all of the default options from SpeakinSpell. Click on Delete Spell until the spell list is empty and the Delete Spell button disappears.

2. Click on New Spell. Enter the name of any spell using your native language (the language of your WoW game client)

3. Write your own custom messages in your native language.

If you find that your spell does not announce random messages when you use it, then it is probably because you entered the name of the spell incorrectly (typographical error or spelling error). Use the checkbox at the top of the interface options to [X] Report Detected Spell Events in order to make SpeakinSpell report the exact names of all of the spells that it can see you cast (in the language of your WoW game client), including the spell effects that are cast by items, trinkets, and procced effects, in order to determine exactly the correct name of the spell that you must enter into SpeakinSpell to make it work as intended.


--------------------------------------------
The Origins of SpeakinSpell
--------------------------------------------

The name SpeakinSpell is a play on a common mode of speech in the American Midwest, also commonly used by the Dwarves of Azeroth, where we tend to drop the 'g' from words ending in "ing" and say Speakin' instead of Speaking.  So a Speakin' Spell is a spell that speaks.

SpeakinSpell is also intended to be a reference to an educational children's toy that I grew up with in the early 1980s.

http://en.wikipedia.org/wiki/Speak_&_Spell_(game)

SpeakinSpell was written entirely from scratch using Ace3 libraries and tutorials that I found online, and following some examples of code fragments and addon architecture concepts from Titan, Omen, and Recount. (all addons that I highly respect)

It was inspired by class-specific addons like Cryolysis for mages or Necrosis for warlocks.  The author's main character is a mage (Stonaria of Duskwood) and I, the author, quite enjoyed the humor of using the random speeches feature of Cryolisis2, particularly for announcing Ritual of Refreshment using my own customized random speeches, most of which were inspired by the advertising language I found on food boxes in my kitchen (for example a box of cereal that said "It's Cinnamontastic!".  Seriously, I kid you not, they trademarked the word Cinnamontastic LOL)

Unfortunately, Cryolisis2 broke down when WoW 3.0 was released, and I was disappointed that the random speeches feature was not planned to be restored by the new author in the updated rewrite of Cryolysis3.  Something had to be done about that...

I also preferred to write my own customized random speeches for Cryolysis2, but the only way I had to do that was to edit LUA files, where my changes would always be lost whenever I installed a new updated version of the addon, which would of course overwrite the LUA files and destroy my changes.

So I dreamed of an in-game interface to edit the speeches, in a way that they would be saved in the SavedVariables files where they would be safe from changes to the supporting LUA code (which are necessary to keep addons running from patch to patch), so that future patches would not destroy the custom speeches that I had spent hours writing into the wittiest possible things I could think of to say about the spells that I was casting.

I also found (with Cryolisis2) that while Polymorph announcements could be nice in a 5-man group, they became quite annoying in 25-man raids when resheeping the same mob 20 times in a row throughout the same combat, in which situations I was often asked to turn it off.  Finding that a bit of a hassle to change the settings every time I joined or left a raid, I dreamed of having that logic built into my spell-speaking addon.

I dreamed about making that addon for a long time, maybe almost a year, but dreaded facing the learning curve.  Even though I have 10 years XP in C++, learning to program in LUA is like relearning how to play paladin after the 3.0 patch, and I just didn't feel like tackling that.  But then one day I randomly thought of the Speak & Spell toy, and thus the addon name Speakin' Spell, and thought "OK, that seals it, now I absolutley MUST make that addon" and the next day began the long weekend of Thanksgiving 2008, giving me ample time...

And so SpeakinSpell was born.

Thank you for using SpeakinSpell.  It's Mannabiscuitalicious! :P
