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...
My question is: I'm probably not going to use ANY of the default sayings. Is there an easy way to just delete them all in one fell swoop? Or disable them? I'm sure they're great, but I'm primarily using this for RP and very character-specific roleplaying characteristics.
Another quick question: Does this add on support different messages for different characters of the same class? I'm sure this is in the extensive guide somewhere, too, but looking at everything is a bit overwhelming to me at the moment. I have multiple paladins who would do/say very different things when "doing" the same thing. I only ask because another old add on I'd used for something like this did NOT have a way to make individual characters of the same class do/say different things.
Thank you for your time and I am really excited to get started using this add on. :D
Kinda. The easiest way to do this is to go to "/ss messages" (See the 3rd screen shot: "message settings") and you'll see a button for [Delete this Event]. Click that button repeatedly until it disappears.
>> Does this add on support different messages for different characters of the same class?
Yes. Every character's speeches and event triggers are completely separate, even if they are the same class, so you'll have different messages per character by default.
In order to share settings between different characters, you can import your content from one character to the other by going to "/ss import" but unless you manually go there to copy the content over from one character to another, all of your characters' settings are completely separate and isolated from each other by default.
* the random word lists (/ss random) are shared by all characters.
* The GUI display options like "show these options" and "use multi-line edit boxes" and "show read-only speeches" are shared across all characters
* the data sharing options (/ss network) are shared by all your characters
Everything else is character-specific, including all of the event triggers and speech lists.
/e concentrates and makes <target|herself> smarter, not that it will help...
When I attempt to cast the spell on myself (both with no target AND when I click and actually target myself. It prints out in the chat window when the spell is cast like this:
Timble concentrates and makes <target > smarter, not that it will help...
Is there something I'm doing wrong?
You said it comes out as <target > and you typed it with a space at the end, which got me thinking, so I played around with it and found that if I write <target |me> with a space then it fails in the way you described, but if I remove the space and use <target|me> it works as intended. So check if you have an extra space in there. Spaces after the pipe are OK (you can use multiple words). I'll see if I can make the parser more flexible for the next version so it can deal with a space in there. Does that fix your problem?
I copy-pasted your emote that you typed above:
/e concentrates and makes <target|herself> smarter, not that it will help...
into the settings for my mage, and it said "herself" when I cast arcane int on myself, as intended. I'm not sure what else it could be if not an extra space in it like this:
/e concentrates and makes <target |herself> smarter, not that it will help...
the extra space is all I could find to break it
---------
3.3.3.02
---------
Fixed bugs with minimap icon
- now loads the OFF icon correctly at load time when applicable
- now correctly saves the position of the icon if you change it
Fixed a bug in the patch function for saved data older than 3.3.3.01
- was causing load errors for some people who skipped from a version of SS older than 3.2.2.22 straight to 3.3.3.01 without installing/running any version in between. Updating from older versions directly to 3.3.3.02 should be fine now.
At login, now uses ADDON_LOADED instead of VARIABLES_LOADED to check when saved variables are loaded
- this may fix a rare problem of user data becoming erased while logging in (could have occurred randomly during any login attempt, though I never saw it happen personally, this is purely theoretical that it *should* work more reliably now)
Updated all 3rd party libraries to the latest versions
- This may fix errors I never saw or knew about, compatibility issues, and so on
Don't recommend using this mod again: having to back up every time the author does a tweak or two is gonna be extremely irritating for you. Total thumbs down :/
Somebody else reported a similar issue in mid-march. I wonder if Blizzard changed something in 3.3.3 that can cause a randomly different load order sometimes that is only effecting a few people. I'll have to reread the patch notes...
You make it sound like a design oversight, but I assure you, it's a core consideration of my design to make sure that if I release a new version of SS, it will always work with your older saved data.
I need it for my own data too ya know. I don't want to have to rewrite my speeches, or edit them into the LUA files either... you can see for yourself that one of my source files, oldversions.lua, is over a thousand lines of code entirely for updating old data instead of erasing it.
If I made a mistake this last time around, I apologize. I am reviewing my code for any potential defects that might have caused your data to become erased/reset, but so far I haven't found anything wrong.
Someone else reported this in mid march and I couldn't find a problem then either.
I suspect that something else (outside of SpeakinSpell) caused your saved variables files to become erased or corrupted, possibly...
* a corrupted sector on your hard drive
* a game crash
* a conflict with another addon
* exiting with Alt+F4 instead of a regular logout
* manually editing the saved variables files in a way that introduced a LUA error
* an unusual character sequence in one of your speeches which the game could save but not reload for some reason (would be highly unexpected)
* your addon updater (the curse client?) decided to erase the settings when it installs updates (the curse client can be configured to do that)
* your guild leader logged on your toon and erased all your vulgur speeches
* or I know I'm stretching now, but there are a lot more possibilities.
And I won't discount the possibility of a bug in SS, which I'm still trying to track down. But considering how few people have experienced a problem with the latest version, I seriously doubt that SS is the problem.
This certainly doesn't happen "every time the author does a tweak or two" I swear!
So the same speeches and same settings for everything work on one computer, but not the other? Same exact speeches? Same class, same spells?
Is there anything significantly different between the two computers? Different OS? Different language settings? Do you run a non-English version of the game client? (it's supposed to support both the english and localized versions of all the substitutions, but I wonder if that broke, since I don't have the ability to test it)
Maybe you just need to reinstall SS on the computer where it's not working correctly?
You said "sometimes" it doesn't show the name... so it does work correctly sometimes too? Is there a pattern at all? Just a certain spell or event that fails? Or just a certain speech that fails? Or does the same speech sometimes work and sometimes not work?
Sorry I don't know either. Yet. I'll keep an eye out for the problem and see if I can find any ways to make it fail. If you could provide any more info, that would help my investigation.
It doesnt display the name on the second one. But it does on the first one anytime.
If a speech event has "<target>" it works sometimes. If i manually type <target> it will be displayed as "<target>" instead of "Defias Bandit" for instance.
I use <target> to display a target to my party or someone nearby to me, to let them know the name of the enemy we are going after or to look out for. I type <player> as a test a few times manually to see if it works. and instead of displaying my character's name it just says "<player>". So i figured something wasnt right, since your target can change when you type <target> and when your not targeting something, instead it says "everyone", but did neither, only displayed "<target>" but your character's name should always be present.
The only difference between the two pc's is that, one is Windows Vista, the other is Windows 7. One is a desktop while the other is a laptop.
Only thing ive done to SpeakinSpell recently besides the normal updating is copying my speeches from the first pc to the second.
on my other computer it shows like its suppose to.
On my other pc. They work just fine.
I dont know why.
That would be "working as intended." SpeakinSpell does not intercept anything you type into the chat manually in order to process any of these substitutions. It only does the substitutions if it is also doing the talking.
When you type in "/p kill <target> first!" into the default UI chat frame, SpeakinSpell doesn't get involved, so that's why it's not doing the substitution. SpeakinSpell has to be doing the talking to say "/p kill <target> first!" from one of it's event-triggered speeches in order for the substitutions to work.
If you want to use SpeakinSpell's substitution engine to announce your <target> or any of the other substitution values manually, without having to trigger it on casting a spell, then you can create a custom-defined user macro by typing "/ss macro something" (and replace the word "something" with any name you want to give your user-defined custom event) This will create a pseudo-spell event trigger in SpeakinSpell called "When I type: /ss macro something" which SpeakinSpell will automatically detect and announce when you manually execute the function by typing "/ss macro something"
More detailed instructions can be found in the in-game help (/ss help) chapter 11 "Custom Macros"
You also mentioned this...
>> your target can change when you type <target> and when your not targeting something, instead it says "everyone"
SS doesn't do that. Either the target name is known and it shows "Defias Bandit" or the target name is unknown and it shows it unsubstituted as "<target>" but I never make it show "everyone" in place of "<target>". Do you perhaps run another addon that may also be performing substitutions for <target> and <player> on its own, outside of SpeakinSpell, by intercepting what you type into the chat?
If I manually type "/s <target>" or "/s <player>" it NEVER substitutes a value, because SpeakinSpell is not involved, because I just manually typed something.
If instead I use "/ss macro test" and setup the SpeakinSpell event trigger for "When I type: /ss macro test" to say "<target>" or "<player>" then it always works.
Does any of that help with your issue, or did I miss the point?
I have a question, and was wondering if anyone could help me out:
How do I save a speech such that:
(1) I cast Innervate on myself.
---> I emote: 'has cast Innervate on himself'.
(2) I cast Innervate on someone else.
---> I emote: 'has cast Innervate on <target>.
That is to say, either speech activates based on whether the target is myself, or anyone else.
I'm quite at a lost at how to do this. =/