SpeakinSpell
Funny and/or Useful, SpeakinSpell will use random speeches in chat to announce when you use spells and other abilities, as well as items, procced effects, other events, and user-defined macros. Works with all classes. Configurable for many different situations.
Possible Uses
- Entertain yourself, your guild, and your PuGs
- Roleplay
- Tell your raid that you got an important debuff
- Tell your arena team that you're CC'd
- Whisper your target about a short term buff
- Congratulate your guild members on achievements
- Randomize your battle cries
- More
Main Features
- Can detect over 5000 "Events" and automatically announce them in the chat using a random selection from a list of user-defined speeches, including:
- Spells you cast
- All other abilities for any class (a warrior's Heroic Strike is also technically considered a "spell")
- Anything you can equip in your action bar
- Items
- Procced effects (buffs that you receive from yourself)
- Combat events (enter/exit combat, scored a crit, killing blow, etc)
- Talking to NPCs and other game objects like mailboxes
- Achievements
- Other events (Login, Changed Zone, etc)
- whenever you type "/ss macro something" (create your own event)
- Records more event hooks as it discovers more spells, buffs, and debuffs, etc the longer you use it.
- Each spells' random speeches can be directed to any chat channel you choose
- Supports different channel options (or silent) in different scenarios: solo, party, party leader, raid, raid leader, raid officer, BG, arena, and Wintergrasp.
- Also supports built-in emotes and most other slash commands (/cheer, /script, etc)
- Fully configurable through the interface options panel. (type "/ss" to get started)
- Includes some default example speeches for at least a few spells for all classes.
- These are only meant to serve as examples. In general, very few default speeches are available for most classes, so you may not see it do anything for you right away. You should look at the list of possible event hooks under "/ss create" and write your own speeches.
F.A.Q.
How do I make a backup copy of my SpeakinSpell data?
I recommend making a backup of your SpeakinSpell data frequently. All of your speeches for all characters are stored here: C:\Users\Public\Games\World of Warcraft\WTF\Account\<your name>\SavedVariables\SpeakinSpell.lua
How do I erase all the defaults and start from a clean slate?
Type "/ss eraseall" to erase all your data. This includes any defaults as well as any custom speeches you've written.
How do I find the spell or other event that I want to change in this huge list?
Cast the spell, or trigger the event, then type "/ss recent" then use the click-able links in your chat frame to [Edit Speeches] or [Setup New Event].
How do I stop it from announcing this spell or other event?
Cast the spell, or trigger the event, then type "/ss recent" then use the click-able links in your chat frame to [Edit Speeches] for that event... then click the button that says "Delete this event"
OMG this is so complicated!
Hey! That's not a question! It's a common complaint though, and I'm open to specific suggestions about what you find is too complicated, or confusing, or could be made easier, more intuitive, or more user-friendly. With great power comes great complexity. Everything is labeled with detailed tooltips, and there's a detailed user manual built-in (/ss help) and online to help you out. I also usually answer questions within 24 hours.
Aetharan has also written some nice guides here: http://tinyurl.com/a64sst4
Usage Instructions
How to setup SpeakinSpell in a few easy steps:
- Login and play your toon for a few minutes.
- Activate any abilities, trigger any procced effects, and encounter any other detectable events that you would like SpeakinSpell to announce.
- Type "/ss" to access the interface options panel
- Click on "Create New..." or type "/ss create" to create settings for a new spell or other event
- Select the desired spell or event from the list and click the Create button. You will be taken to the settings page for that spell or event.
- Change the settings to your tastes and write as many speeches as you want. Now whenever you cast that spell or encounter that event, SpeakinSpell will say one of your random messages for that event, using the channels and other rules that you defined.
- Repeat until you run out of ideas for new announcements to write.
Spammy Setup Guides Method
- Type "/ss guides" to enable Setup Guides (there's also a checkbox for it under "/ss options")
- Do stuff with your toon
- Observe that the spammy Setup Guides are reporting all 5k+ of every event that SpeakinSpell detects and could possibly announce
- Click on the clickable links in your chat frame to [Setup New Event] announcements (equivalent to using "/ss create") or [Edit Speeches] for event hooks you already configured (equivalent to using "/ss messages")
- Type "/ss guides" again to turn the Setup Guides back off
- At any time you wish you had the Setup Guides enabled to catch a special proc effect or something, type "/ss recent" to see Setup Guides for the last 5 events detected, and last 5 events announced.
Type "/ss help" for the in-game user's manual for complete, thorough instructions for how to make the most of every feature SpeakinSpell has to offer. It's designed for maximum flexibility.
Additional Features
- Supports over 50 substitutions in your speeches, such as <caster>, <target>, <zone>, <spellname>, <party2pettarget> and many more.
- <spelllink> will create a clickable link to the spell or achievement (for applicable events)
- All of these substitutions also support first person pronoun forms (to say "me" instead of my own name), gender forms, and possessive forms, to make your automated macros sound less like macros and more like natural speech
- Also includes random substitutions like <randomfaction> (like Mad Libs™) and you can create your own random substitution word lists.
- Up to 100 speeches can be entered per spell.
- 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 limit your chat spam in several ways
- based on a cooldown between automated speeches in chat
- based on a random chance to speak or not
- optionally limited to once per combat
- optionally limited to once per target name
- based on a global cooldown
- Can whisper messages to the target of your spell (This can be useful for resurrect style spells, innervate, power infusion, etc.)
- When you get compliments on your "macros" use "/ss ad" to tell your friends about SpeakinSpell. Some of the random ads are funny. Yes, it's an addon that spams random text in chat, and it has a feature to spam random text to advertise it's ability to spam random text. "/ss help" in game for more advanced options for using /ss ad.
- Detection of "other events" such as Login, entering combat, changed zone, and more. Type "/ss help" in game for the complete list.
- Custom Defined User Macros. Type "/ss macro something" to make SpeakinSpell detect a pseudo spell event called "When I type: /ss macro something" which you can setup to be announced with random speeches like a spell. This can be used for randomized battlecries (/ss macro battlecry), greetings (/ss macro hi), farewells (/ss macro bye), or anything you want to define (/ss macro _blank_).
- Share your speeches with your friends through the Data Sharing system
- type "/ss import" to browse the shared content you collected from others and add it to your settings (works for copying from your alts too)
- type "/ss network" for options
- type "/ss help" for help.
- Easter Egg ... there's a mildly amusing little story hidden away somewhere in an obvious place where you will never look for it ... yes, I do actually have a lot of time on my hands ...
More Information
SpeakinSpell has many more features than those listed above.
Click here for the Complete User's Manual, or type "/ss help" in-game for the same info. NOTE: If "/ss help" doesn't work, you may have an installation error, or you may have too many addons installed. Try right-clicking the minimap button, or hitting: Escape > Interface > Addons > SpeakinSpell.
Please submit a ticket for any problems, bug reports, or feature requests, or feel free to post in the comments below (but tickets are easier for me to remember to fix).
Submissions Welcome. To submit content including the witty random speeches you wrote, please read this. If you are a translator with better translations, please use this localization tool.
More Technical Information: If you're a programmer interested in understanding more about how SpeakinSpell works, read the SDD.doc in the SpeakinSpell addon folder. It's a software design document in the (compatible) MS Word 97 file format with details about the system architecture.
Aetharan's Tutorials for advanced tips and tricks: http://tinyurl.com/4ptc2xg
Petit tutoriel en Français http://abz.progp.net/wow/Tutoriel_SpeakinSpell.pdf
en Français a Youtube http://www.youtube.com/watch?v=f62eE6rzAFA
The official SpeakinSpell Forum http://www.rismisner.com/forum/viewforum.php?f=3 - Unfortunately, the SpeakinSpell forum is currently disabled because it received an excessive amount of spam advertisements (about 80 per day and only about 1 real post per month for 2 months). I will need help or time to learn how to adequately block advertisers before re-opening it.
Credits
SpeakinSpell was created by...
- Stonarius of Antonidas
Additional coding by...
- Duerma
Primary Beta Testing, Arena Team Pwnage, Key Grip...
- Meneldill
Translators...
- German: leXin (inactive)
- Korean: troth75 (inactive)
- French: contrebasse, An_Braz
Many of the default speeches were blatantly stolen from...
- Cryolysis2
- Necrosis
- LunarSphere
- Ultimate Warcraft Battlecry Generator
- RPHelper2
Thanks for the open license guys! I hope you like what I did with it.
Additional Content Packs Written by...
- Stonarius
- Meneldill
- leXin
- troth75
- Folji
- Dire Lemming
- Duerma
Special thanks to the authors of these addons that I used for copy-paste... *Ahem* I mean example code...
- Titan
- Omen
- Recount
- Healbot
- Mountiful
- WinterTime
- the WowAce libs
- RPHelper2
Additional thanks to...
- Blizzard Entertainment for this great game! ... hire me??
- The community on the wowace forums
- curse.com
- Microsoft Visual Studio, SubVersioN, and TortoiseSVN
- Texas Instruments for enabling E.T. to phone home
- The Order of the Stick
- Mom and Dad
- YOU!!
SpeakinSpell is made from 83% Recycled Materials.
No animals were harmed in the making of this addon.
... Well, the hunter popped a sheep with his aoe, but I resheeped with my /cast [target=focus] macro, and automatically said "Baaah! sheeped again <target>?!" and it was all good...
I like this addon. There's one question: How can I use a Random Channel when cast a spell?
For example:
When I cast a spell, there may be two actions that could randomly taken:
1. /s ** casted!
2. /e cast **.
If you put /s or /e into your random speeches, that will override the selected chat channel, with one exception: the "silent" channel option will still silence the speeches in that scenario. This works for all slash commands (except for a recent bug discussed above)
Thanks! This addon is a great work!
I may havee missed something but I made some custom events on my mage while in combat and now they work on all my toons. I dont wish for all my toons to say these events and can't figure out how to make them only work for my mage. Any help plz?
There's a checkbox under the general settings for "Share speeches across all toons". If you uncheck that option, it will make a separate copy of all your event triggers and their speeches, for each of your different characters. Then you can delete the unwanted triggers/speeches from your non-mage characters without also deleting them from your mage.
If you dislike the added maintenance of changing your speeches on each toon separately, then you can continue to enable the option to share speeches across all toons, and then do something a little trickier to make only your mage announce certain events. This method relies on setting up redirected events using variations of "/ss macro <player> something" The <player> substitution there will fill in your character's name, and the "something" part is any name you want to give it to distinguish "/ss macro <player> something" from "/ss macro <player> something else"
Aetheran explained how to use "/ss macro <substitution>" as "method B" in his guide for creating Different Speech Lists for Different Situations
In your case, you'd want to use the <player> substitition to fill in the name of the character who you're playing when the event happens, i.e. your mage's name vs. your other characters' names.
For example, if you only want your mage to announce entering combat, but you don't want any of your other characters to announce it, but you still want to share most of your speeches across all toons, then you could set up the entering combat event to use only 1 random speech "/ss macro <player> entering combat" and that will redirect SpeakinSpell to trigger a different event depending which character you're playing, based on the <player> substitution. Depending on your specific goals, you may find better results with other substitutions like <caster>.
I love SS, but all other ppl around me hates me for using it, even though I am not in group with them x)
-yeah, even on rp servers...:P
Yeah it's disappointing. I run into the "macro hate" quite often as well. A few tips I can offer include:
---------
4.3.0.04
---------
Fixed a lua error related to using "/ss macro <substitution>" and [Click Here] links
---------
Delthania, this fixes your Lua error.
For Polymorph Sheep, I did some experimentation, and found that the rank is nothing (an empty string) such that "/ss macro poly <rank>." evaluates to "/ss macro poly ." I put a period at the end of the macro name, after the <rank>, to show that there's a space after the word poly. You need to do the same thing because SpeakinSpell gets confused by trailing spaces and won't work correctly with "/ss macro poly " I hope that makes sense.
An update on the Simplified Chinese support added to the previous release 4.3.0.03-beta...
I heard from the translator that the beta would not load in the Chinese game client unless he modified the Lua code to set Chinese as the default language instead of English. That can't be the full explanation because the addon should still load either in English or Chinese regardless of which language is set as the default.
I believe the problem at the time was that the Chinese game client had not yet received the latest Blizzard patch for 4.3 (Blizzard doesn't update China on the same schedule as the rest of the world), which must have led to a conflict with the newest version of SpeakinSpell which expects WoW 4.3. I don't know if China has received patch 4.3 yet, but that was a few weeks ago, so I assume they have probably been updated by now.
To make a long story short, I removed the Beta designation on this release, but kept the Chinese language support and partial translation, such as it is. I have my fingers crossed in hopes that Chinese users of SpeakinSpell will be able to use this version without a problem.
If anyone is able to use this latest version of SpeakinSpell in the Simplified Chinese game client, please let me know if it works for you or not. If you receive Lua errors, please post them.
Thanks and enjoy!
Actually what I've been diong was just "When I start Casting Polymorph" My mage has sheep, pig, cat, rabbit, and turtle polymorph spells and the polymorph speech applies to all of them. What happens is I've tied my spells into one macro so that I can target an enemy, press one button, and it casts a random polymorph spell. As such, I get a random result when I cast the spell. Since it's so general, I made the speechs accordingly.
"<player> is now casting polymorph on <target>."
"And now for my next trick, I shall turn <target> into something else!"
"Randomly Polymorphing <target> let's see what it shall be today!"
"She says Polymorph... our survey says...!"
"What shall this <target> be this time? A cat or a pig or a sheep? Hmm!"
"You hit it, you tank it!"
"<target> is showing us their impersonation of it's spirit animal"
does it support russian language? I want this addon in russian so badly(((
or could you explain how to translate the spells?
It should mostly work in Russian.
SpeakinSpell doesn't inherently know about any spell in the game, other than where I provide default speeches. For the most part, SpeakinSpell learns about what spells and other event triggers exist in the game by watching you play and recording every new spell it sees pass through your combat log. That was intended to make it less work for me to support future patches and expansion. If those spells have Russian names, that doesn't change anything - it should still work exactly the same way. SpeakinSpell will learn the Russian names for every spell it sees you cast, and add it to the list you can search under "/ss create"
Nobody has provided a translation into Russian yet, so that means several parts of the addon will be stuck in English: the user interface, slash command words like /ss options, and the <substitution> words like <target> in your random speeches must be in English. So you'll need to be able to read English in order to find your way around the addon options, to understand what each option does and how to set it up to suit your tastes.
However, you can still set it up to detect your spells and abilities based on their Russian names, and write your own speeches in Russian. The random speeches that appear in chat, which is the most important part, will go into the chat in Russian (or however you write them)
Everything else that you need to know is in the main description above...
First you'll want to erase all of the default spell event triggers and speeches because they're all in English. Use the command "/ss eraseall" to easily erase all of the English defaults (technically it erases all of your event triggers and speeches, including but not limited to only the defaults - anything you added or changed is also erased by "/ss eraseall")
Next begin adding triggers to SpeakinSpell. I personally find the easiest method is to cast a spell that you want SpeakinSpell to announce, and then type "/ss recent". You will be presented with clickable links in your chat frame (also in English, except for the name of the spell).
Assuming you can read English well enough to navigate SpeakinSpell's clickable chat links, and the user interface windows that come up when you click them, then it should be obvious how to add new speeches from there. Simply write your speeches in Russian.
As a reminder, translators who would like to help translate SpeakinSpell into additional languages should please start here: http://www.wowace.com/addons/speakinspell/localization/ and send me a private message on curse or wowace to let me know when your translation is ready for testing. I am always happy to work with you to help finish the translation and deliver it to the public.
thx! i'll try to do the translation))
Is there a way to designate separate speeches for the different polymorph spells? Not the ones that are glyphed, like Monkey and Penguin (though that would be AWESOME), but Pig, Cat, Turtle and Rabbit which are completely separate spells. Well maybe not separate exactly, it looks as though they are considered different ranks of the Polymorph spell, unlike the portals and teleports... A <substitution> like you're considering for <magefood> wouldn't quite work because I'd like to see separate messages depending on which animal the <target> was polymorphed into. For example:
"Dogs can't tell that <target>'s not bacon." for Polymorph (Pig) vs. "SHOW ME THE BUNNY!" for Polymorph (Rabbit).
Right now it looks as if there is just one event hook called "Polymorph". This hook is triggered if I cast either Polymorph or Polymorph (Pig). I'd test others, but I don't have any except the two.
Aetharan's Tutorials for advanced tips and tricks: http://tinyurl.com/4ptc2xg
Aetheron figured out a powerful trick for SpeakinSpell: using <substitutions> with "/ss macro something" to create conditional speech lists for different situations. He describes it as Method B on this page.
What you can do in this case is to setup the SpeakinSpell event for "When I cast: Polymorph" to /say "/ss macro poly <rank>" (using any non-silent channel in the drop-down lists, it doesn't have to be /say)
The animal of polymorph is in its spell rank, which you can get from the <rank> substitution, so when you cast Polymorph (pig) this will cause SpeakinSpell to trigger "/ss macro poly pig" which is a command back into SpeakinSpell again to trigger a custom event ("/ss macro _anything you want to name your custom event_")
That way you can put a different speech list under "/ss macro poly turtle" and "/ss macro poly sheep" and so on.
I don't know off the top of my head what happens with the glyphed versions like penguin, whether the <rank> reflects the glyphed animal change or not. If not, <spellid> might work.
I tried this technique and it seems to be working, but I am getting the following LUA error:
<snip>
Also I'm not sure how to get this to work for the normal polymorph spell, at I don't see a rank listed for the default sheep polymorph.
Okay the error seems to have disappeared, perhaps it was a typo of my own, anyway. I'm still not sure about the original Sheep polymorph. I know I can add in a generic one, that will apply to ALL the polymorph speeches, but I have some that specifically cater to sheep. Man, that sounds wrong. Heh...
I have a theoretical repair for the Lua error but just need to spend some time testing it before I post an update. I hope to do that within the next few days if not tonight. The way I implemented [Click Here] links in chat doesn't support the use of <substitutions> in /ss macro events (until I post the next updated version) because [Click Here] also uses the same angle brackets behind the scenes. Fortunately, the Lua error is only a problem if you [Click There]
On the second point, Polymorph Sheep should be rank Sheep (confirmed in WoW patch 4.0 but I haven't personally retested it since then), but if Blizzard changed something since patch 4.0, the rank might be blank, or more likely the substitution would fail and leave it as <rank>. It will be easier to find out after I post the next version of SpeakinSpell with the repair to the Lua error mentioned above, because then you'll be able to [Click Here] to edit speeches for whatever event *actually* fires from casting Sheep.
Who exactly hears the myserious voice?
The mysterious voice is a form of self-only chat. Nobody else can see it.