----------------------------------------------------------------------------------------
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/

Brought to you by Stonaria of Duskwood
German translation by LeXiN
Beta Testing by Meneldil of Duskwood

And many ideas taken from many other wonderful addons (see Credits below)


----------------------------------------------------------------------------------------
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 - OVERVIEW
----------------------------------------------------------------------------------------


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

ALL YOU HAVE TO DO is cast a spell, use an ability, receive a buff, or in general encounter any event that SpeakinSpell can detect.  SpeakinSpell will do the rest.  All you have to do is configure the settings to your tastes.  Please use responsibly, some people don't like too much spam :P

The SpeakinSpell options panel is divided into the following sections:

SpeakinSpell - general global options which apply to 

Message Settings - Provides a list of all spells and other events that SpeakinSpell is setup to announce in the chat.  Select a spell to change it's settings.

Create New... - Provides a list of all the spells and other events that SpeakinSpell has detected since you logged in.  Select one and click on Create to begin creating a list of funny speeches to announce that event.

Trade - Some kind of Trade Barker feature is coming soon, because "[Enchanting] LFW" gets so boring

Help - this screen


All of your settings are character-specific, so anything you change here will only apply to the character you're playing right now


----------------------------------------------------------------------------------------
ADDITIONAL FEATURES OVERVIEW
----------------------------------------------------------------------------------------

- 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

- Can also be used for battle cries, greetings, farewells, or any "custom macro" category of messages you want to create.  See CUSTOM MACROS below for details.


----------------------------------------------------------------------------------------
SLASH COMMANDS
----------------------------------------------------------------------------------------

/ss options - show options
/ss reset - reset all settings to defaults

/ss help - show this help
/ss create - open the Create New... interface
/ss messages - open the Message Settings interface

/ss ad - tell your friends about this addon (using a default channel)
/ss ad /p - tell your party about this addon (/s or /ra also works)
/ss ad /w stonaria - whisper to your friend Stonaria about this addon

/ss macro <something> - see "USING CUSTOM MACROS" below


----------------------------------------------------------------------------------------
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)

<spellrank> 
- The rank of the spell. 
- For greater flexibility, parentheses are not included by the substitution, so default usage would be "<spellname> (<spellrank>)" -> "Fishing (Artisan)" or "Arcane Intellect (Rank 2)" 

<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)


----------------------------------------------------------------------------------------
USING CUSTOM MACROS
----------------------------------------------------------------------------------------

You can use SpeakinSpell to yell out random battle cries at the click of a button, or greetings, or farewells, or a list of jokes you wrote, or anything you want.

A SpeakinSpell Custom Macro is a SpeakinSpell event which can be announced in the chat using a random speech just like any spell, ability, or other detected event.

You can create and use custom macros by typing:
/ss macro anything I want to call my macro

If you have a list of random speeches associated with "/ss macro anything I want to call my macro" the SpeakinSpell will announce one of them in the chat, using your selected options.

If not, it will add "/ss macro anything I want to call my macro" to the list of new spells that have been detected.

Go into the options interface under Create New Event, and look for "/ss macro anything I want to call my macro" in the list.


----------------------------------------------------------------------------------------
OTHER EVENTS
----------------------------------------------------------------------------------------

SpeakinSpell can also detect other events.  These will show up in the list under the Create New... interface (/ss create)

"_ Event: Login" - This pseudo spell event is detected at login or whenever you reload your UI

(more are coming in a future version, check the website for updates)


----------------------------------------------------------------------------------------
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. These defaults are in English and won't work for you.  Type "/ss messages" and then click on Remove Spell until the spell list is empty and the Remove Spell button disappears.

2. Click on Create New... Select the name of any spell or other event which SpeakinSpell has detected recently (since you logged in or last reset your UI)

3. Click on the Create Button.  Write your own custom messages in your native language.  Profit.


----------------------------------------------------------------------------------------
The Origins of SpeakinSpell
(or... Lame Story of a Thanksgiving Dream)
----------------------------------------------------------------------------------------

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


----------------------------------------------------------------------------------------
CREDITS
----------------------------------------------------------------------------------------

SpeakinSpell was designed and created by Stonaria of Duskwood

Big thanks to leXin for the German translation, many ideas for random speeches, and much appreciated feedback on usability, options, tooltips, and general clarity of use. 

Beta Testing by Meneldil of Duskwood

I'd also like to thank the authors of all the wonderful addons that I use, especially Titan, Omen, Recount, and Healbot, for offering me hundreds of hours of better gameplay, inspiration for my own addon, and most importantly: LUA code samples! 

Thank you to the community on the wowace forums for much appreciated LUA coding help. 

Some of the default random speeches were lifted from Necrosis, Cryolysis2, and LunarSphere. 

No sheep were popped in the making of this addon. Well, maybe a couple who wandered into the AoE... 
