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...
Yes. All spells and abilities for all classes can be announced. There are instructions in the addon description above, just scroll down past the list of features and FAQ.
I love this addon, been using it along time. I was very happy to see it still being upkept and updated for MoP release. However this addon now seems to ONLY work when solo. I have all output options set to say or emote and yet it just wont work at all when in any kind of party/raid/bg. Which was when I want it the most, dont really care if it works while solo, i know what I say. Whole point is to include others near you or in your party. Is there some new option Im overlooking or am unaware of? Do I just need to be patient and wait for another update?
Regardless, thx for the great work,
Jadec of Sentinels
Hmmm... It works fine for me in groups.
What you describe sounds like a bug we had in version 5.0.4.01 (the first MoP version) but I fixed it in 5.0.4.02 (the current version). Make sure you're running the latest version.
Assuming you're already running the latest version, please try enabling the option to "show why event triggers do not fire" on the main options page (/ss options). That may tell you in your chat window why SpeakinSpell is silencing itself when you're in groups, if it's being silent because of any of your personal settings.
Yup, you were indeed right. I guess I had the first mop release, just downloaded again and now its all working fine. I suck I guess, never noticed it was updated a second time. Thanks for the help and the great work.
Game on,
~Jadec
Hey, I'm trying out SpeakinSpell as WakeSpams is no longer working
I'm trying to use it to announce raid cooldowns, but can't seem to find a way to announce buffs fading
ty for any help
buff fades are not currently supported. I plan to add them eventually. sorry for the inconvenience
"When I start channeling: summoning stone effect"
it's not working! :_(
Everything else seems okay, but not that one ^^^
Sadly, Blizzard stopped supporting that event notification back in WoW 4.2 or 4.3, and didn't replace it with anything. I searched long and hard for a way to detect summoning stones again after Blizzard changed it, but I couldn't find anything, which made it impossible to repair. Maybe there's something new in 5.0 that I haven't found yet, so I'll take a closer look at how summoning stones work for addons in MoP, but detecting this event may still be unsupported by Blizzard. It's a bummer because those were some of my absolute favorite macros!
It's ticket #162: http://www.wowace.com/addons/speakinspell/tickets/162-summoning-stones/
Yeah, you should have seen my Mass summons messages: "You are entering a new dimension, a dimension of sight and sound. A strange place where you might see a monster or a weird mirror. These are just examples; it could be something better. Prepare to enter <zone>!"
or...
"There is nothing wrong with your game; I control the game. I can make it harder, or I can nerf it. I can make rare spawns appear or make mobs drop epic loot. I can also perfom a mass summons to bring everyone to me. You are about to experience the awe and mystery that reaches from the inner mind to... <zone>!"
Thanks to Blizzard I can't use those anymore. Maybe they'll bring it back, then I'll beg my guild to let me do the summoning. ^-^
I like this addon. But I think I found something missing for me.
Or I'm just overlooking it.
When I first activated this addon, it was on a draenei. All well there.
Now if I speak to a vendor or questgiver. The addon sometimes says something that other draenei NPCs also say.
Now the thing. I logged into my Night Elf. And it keeps saying the draenei things.
Are these things shared across characters or if I delete the draenei ones from the night elfs list. They will still be there when I relog my draenei?
If not. Maybe a good option is to make an 'if' of somekind.
"Only say this when character race/class/gender is xxxx"
If I'm not finding it. I'm sorry, read the FAQ. But might still be overlooking it.
- Xone
When you login to a new character that SpeakinSpell has never seen before, it imports a set of default speeches based on that character's race and class. It did this for your Draenei, which is why it pulled in those draenei NPC speeches.
Under the general options (/ss options), there's a checkbox that says "Share speeches across all toons" (or something to that effect). You clearly have that option enabled. That's why your Night Elf is saying the Draenei speeches.
There's a caveat when you combine those 2 features together... When you login to a new character that SpeakinSpell has never seen before... AND you enabled the option to "Share speeches across all toons"... SpeakinSpell does NOT automatically import any new default speeches for that new character (you can do it manually by going to "/ss import"). That is why your Draenei is NOT saying Night Elf NPC quotes in the same way that your Night Elf says Draenei things. SS realizes that you share speeches across all your toons, so it chooses not to corrupt those shared speeches by re-importing the defaults. I found it especially annoying when it would do that to me just because I created a new level 1 toon to say hello to someone on a different server.
There are 2 basic approaches you can take...
1) Turn off the option to share speeches across all toons. SpeakinSpell will automatically create a separate copy of your event triggers and speeches, to be used by each of your individual characters. You can then login to your Night Elf, and delete the draenei speeches from your Night Elf's settings, and it won't change what SpeakinSpell does for all your other toons. The downside is that if you come up with a new witty speech that you want all of your characters to use, you have to login to each character individually to add the speech to SpeakinSpell on each character, instead of just doing it once and sharing that automatically.
2) The other way is to think in a command-line way, and setup redirection events by combining two features: "/ss macro something" and "<substitution> values". You can create a SpeakinSpell speech for a particular spell to say "/ss macro <race>" ... SS will substitute your race first, and then process the /ss macro event.
"/ss macro _blank_" is a way for you to create custom event triggers, and you can fill in the _blank_ with any name you want to give to your event. Then you can use that event as a shared speech list.
So "/ss macro <race>" takes on the name of your character's race. When you run this command as a Draenei, it triggers the event "When I type: /ss macro Draenei" but when you run the same command as a Night Elf, it triggers a totally separate event "When I type: /ss macro Night Elf" ... each of those events have separate speech lists, which you can define to use race-specific quotes.
>> Maybe a good option is to make an 'if' of somekind.
"Only say this when character race/class/gender is xxxx"
I agree with you and the dozens of others who have requested that feature over the past few years. The intuitive thing would be to provide options in the GUI to let you check a box and write out the condition or something like that. Unfortunately, I've never found time to do it (and I have some vagueness in mind about the details of how it should work)
Very few people ever figure out how to use "/ss macro <substitution>" to achieve the same result, even after I explain it. However, it already works, so it doesn't require me to do any new programming to add it... someday I'd like to make it easier, if/when I ever find the time.
Thank you for your great and detailed explaination.
I will take a look at it.
I feel like, that when you do have the time to implement it. It should be quite simple.
You are already able to see race and gender within the addon.
Sadly I have very limited experience in LUA programming. Have a hugely outdated minimap addon floating about.
Else I might have made a concept in a fork of your addon. So you could look at that.
Anyways, fun addon to play around with ingame.
Cheers
---------
5.0.4.02
---------
Added 2 new substitutions:
<companion> will supply the name of your summoned vanity pet companion
<mount> will supply the name of the mount you're currently riding
Added 4 new event triggers under the category of "Misc. Events"
- Summon Mount
- Dismiss Mount
- Summon Companion Pet
- Dismiss Companion Pet
The default speeches have been updated to use these new events instead of a separate event trigger per related spell
Fixed Lua errors while in a party or raid
To migrate from the old default setup for mounts and pets to the new one, go to "/ss messages" and select each related mount or pet spell, and click [Delete this event]. Then go to "/ss import" and import the new defaults under the category "Mounts and Pets"
The old defaults for mounts and pets, based on each individual summoning spell, should continue to work normally if you don't feel like changing over to the new, simpler event triggers.
Here's the error message I got when I tried to turn it on in party chat (turned Killing spree up to a 100% chance to reproduce it when I first noticed it and closed it before I realized I should copy it)
---
Message: Interface\AddOns\SpeakinSpell\utils.lua:340: attempt to call global 'IsPartyLeader' (a nil value)
Time: 09/12/12 08:05:38
Count: 4
Stack: Interface\AddOns\SpeakinSpell\utils.lua:340: in function `GetScenarioKey'
Interface\AddOns\SpeakinSpell\speech.lua:109: in function `GetChatChannelForSpell'
Interface\AddOns\SpeakinSpell\speech.lua:460: in function `SpeakForSpell'
Interface\AddOns\SpeakinSpell\speech.lua:58: in function `OnSpeechEvent'
Interface\AddOns\SpeakinSpell\wowevents.lua:815: in function `OnSpellcastEvent'
Interface\AddOns\SpeakinSpell\wowevents.lua:713: in function `?'
...der\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:147: in function <...der\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:147>
[string "safecall Dispatcher[6]"]:4: in function <[string "safecall Dispatcher[6]"]:4>
[C]: ?
[string "safecall Dispatcher[6]"]:13: in function `?'
...der\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:92: in function `Fire'
...e\AddOns\BossTalk\Libs\AceEvent-3.0\AceEvent-3.0.lua:120: in function <...e\AddOns\BossTalk\Libs\AceEvent-3.0\AceEvent-3.0.lua:119>
Locals: <none>
Thanks - very helpful!
I have to sadly report that it is still not working for me when in a raid or party :( Everything seems to be fine, but all messages silently fail -- even though the "show why things don't trigger" and "debug" checkboxes are checked -- where everything seems to be OK. The Guides even prompt to edit messages for an event, so the addon knows that messages exist -- they just don't play.
It works when solo -- but that misses a lot of the point!
I did check to be sure that the installed version is the latest one (it is).
Thanks for the report. I only tested while solo last night. Hopefully tonight I'll get a chance to join a party and see what's wrong. Blizzard probably rearranged the chat channels or something like that.
Is anyone else getting successful (or failing) results with SpeakinSpell while in a party or raid? Has anyone tried it in a BG, Arena, or PvP zone like Tol Barad / Wintergrasp?
I will let you know if I'm in any of those - thanks for letting me know - that sounds like a likely reason.
For a future feature update, if you could add a category for "in LFR", it would be useful for those who wind up in groups who complain about "those RP macros" -- although, happily, most groups I end up in like them!
I was in a raid last night and tried it. It wouldn't announce any speeches whatsoever :(