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...
Really dig this mod. Being as I spend 90% of my time soloing and pug everything else it really adds some life to the game. That said, couple things:
I've been playin around with 3.2.2.14 for a few days now and had a problem with Enter/Exit Combat. I've got Enter Combat set for 100% with no cooldown (for testing purposes) and find that it hasn't functioned since I added some lines and deleted some of the originals. All of my lines include only basic substitutions i.e. (target) or (caster). I'm not getting an error or anything, it's just not doing anything.
2nd question:
Is there any way to include both (randomboy) and (randomgirl) into lines so that the SS will use one, and only one, based on gender? I've been able to execute the (target*he*she) functions, but haven't figured out how I go about not calling a female a randomboy name or vice-versa.
Sorry if this is un-doable. Also, I haven't had a chance to install the 3.2.2.15 version yet.
Thanks.
1. It's possible that I broke it by renaming those events. I included a patch function to automatically update your saved data to use the new event names, but maybe that's not working as intended?
It worked for all my toons so I can't reproduce the problem.
Is it possible that you have another setting causing it to be silent? Perhaps the chat channel selections, or checkbox to "disable announcements for this speech event"?
You could try the option to enable debugging messages (/ss options) to see if that helps diagnose the problem. Also, if you'd like to send me your saved variables file -- WoW\WTF\Account\<wow login name>\<realm>\<character>\SavedVariables\SpeakinSpell.lua -- I'd be glad to take a look at it to see what's wrong.
2. Unfortunately the substitution engine in SS currently doesn't support embedding one substitution inside another like <target*<randomboy>*<randomgirl>> but it might be possible to enhance that. I'll see what I can do.
Okay, so it looks like perhaps that patch function you mentioned isn't working (for me anyway). To answer your questions, the event was enabled and set to /s in every category. I deleted my original Entering Combat event and created a new one. It's working fine, but on a side-note, it did not include the original preset speeches that were used before, but used the default lines that come with every new event. Not a problem for me, but perhaps others would like to use those lines.
Regarding the substitution within a substitution issue, I don't see that as a big deal, I'm sure most wouldn't, but it would add to the variety of things that could be said significantly (100 lines * X random names * 2 genders...you get the point). Obviously, we only need so much variety so it's not that big a deal and the substitution adds a lot as it is. Either it's doable or not - the addon is great either way. Now that my events are all working I'm thrilled. I really hope you keep this thing up 'cause I plan to use the heck out of it. :)
Thanks again.
That would fix the event key name to make it trigger properly again, so I'm glad that worked for you.
>> on a side-note, it did not include the original preset speeches that were used before, but used the default lines that come with every new event
I'd expect that since you deleted and recreated your event settings from scratch.
I don't provide any default speeches for entering combat, though there's an optional content pack called "Dire Lemming's Enter/Exit Combat" which provides entering combat speeches (available through "/ss import"). Thanks to your bug report here, I found that content pack was bugged in 3.2.2.14 so I updated it to use the new event name, in the new Combat Event category, so it should import correctly again in the new 3.2.2.16.
Not sure what really happened here but it sounds like you fixed it. If anyone else is running into this problem - please speak up!
>> Regarding the substitution within a substitution issue
3.2.2.16 adds this feature. Matching embedded brackets is tricky, so the subs within subs must be marked with underscores instead of angle brackets, as in:
<target*_randomboy_*_randomgirl_>
You can also use this in a first person pronoun form:
<target*_randomboy_*_randomgirl_|_playerfulltitle_>
Any substitution can be used, or you can mix in other text with it in the pronoun form phrases, for example:
<target*a boy's name is _randomboy_*a girl's name is _randomgirl_|my full name is _playerfulltitle_>
3.2.2.15
---------
Renamed the white and yellow damage events to:
Combat Event: I caused White Damage (<damagetype>)
Combat Event: I caused Yellow Damage (<damagetype>)
Added new events:
Combat Event: I received PvP White Damage (<damagetype>)
Combat Event: I received PvP Yellow Damage (<damagetype>)
(these events are triggered only by player actions, which is why the received damage is only detected in PvP)
fixed bug: when creating a new event trigger (/ss create), the new event is now properly added to the event selection list under the message settings (/ss messages)
3.2.2.14
---------
Dramatically increases the number of events that SpeakinSpell can announce!
(NOTE: the changes in this release are so extensive, I was unable to test some of them as much as I would have liked. I'm pretty sure it's all working, but if you find any problems, PLEASE report them)
Adds 20 new hooks to announce more events, in 4 new categories:
- Interactions with NPCs
- Combat Events
- Chat Events
- Achievements
The "System Event" category has been removed/renamed
- Enter/Exit combat events are now "Combat Events" instead of "System Events"
- "Whispered while in-combat" is now a "Chat Event" instead of a "System Event"
- All other "System Events" are now called "Misc. Events"
The following new speech events have also been added.
Please note that you must experience each event at least once in-game to populate the "/ss create" GUI to use these new events.
Please consult the in-game help (/ss help) chapter 11 for a complete list of all of these "other events" including these new ones and all the older ones in a comprehensive list, with info about additional options and features related to each of these events.
Misc. Event: Begin /follow
Misc. Event: End /follow
Misc. Event: Level Up
Misc. Event: a player sent me a rez
Misc. Event: Open Trade Window
Achievement earned by me
Achievement earned by Someone Nearby
Achievement earned by a guild member
NPC: Open Gossip Window
NPC: Talk to Vendor
NPC: Talk to Trainer
NPC: Talk to Flight Master
NPC: Quest Greeting
NPC: Open Mailbox
NPC: Enter Barber Chair
NPC: Exit Barber Chair
Chat Event: a guild member said "ding"
Chat Event: a party member said "ding"
Combat Event: Yellow Damage (<damagetype>)
Combat Event: White Damage (<damagetype>)
- These are both large groups of events
- <damagetype> is a string composed of all of the following that apply (in this order):
- Crushing, Critical, Resisted, Blocked, Absorbed, Glancing, Killing Blow
- If none of those apply, then it will be a simple "Hit"
- example event name: "Combat Event: Yellow Damage (Critical, Killing Blow)" but many other permutations are also possible
annnnywho.
any way to make it so it recognizes, say, when someone heals me with greater healing?
^.^ i think it would be great (and amusing) to randomly whisper things to people that heal my tank in the middle of, say, hard-mode iron council
"HEEEE!!! AHHHahahhaa, stop (caster) that tickles!"
=3
---------
3.2.2.13
---------
Adds options to change some of the colors used by SS
- "/ss colors" will open this new options GUI screen
Adds the ability to announce a new "System Event: Whispered While In-Combat"
- This event will NOT be announced when you send a whisper to yourself
- allows you to auto-reply with a randomized comment, for example "/r sorry can't talk right now, busy fighting with <selected>"
- <target> is the target of the event, meaning you, the player, who was the target of the whisper
- <caster> is the author of the message whispered to you
- <text> is a special substitution supported for this event only, and is the content of the whispered message.
- This can be used to relay the whisper into party chat, for example "/p <caster> whispered me to say: <text>"
I'm also thrilled to see the download count exceeded 3k on the current version - thank you all for using SpeakinSpell!
and i hate you. i have so much more to do. i think i'm going to post a date on the calender "DO NOT BUG TILY AT ALL THIS DAY UNLESS YOU HAVE MORE COFFEE" and just tinker with it.
is there a way to:
a) delete things from your list (ie; seasonal stuff?)
b) any ways to remove (or make a different color) spells we already have events created for? (so.... if i already have ice block... maybe... make it an eye-bleeding bright pastel-ish pink?)
c) share debuffs, buffs, and random general stuff through all toons? (i know you were working on it, but "are we there yet?")
d) *MAYBE*...... work on other character's SS profiles while on one character? >.>
im going to go lock myself into my think tank now for a very long time, and eyeball all the new goodies i can do to torment my guild members.
There are a few annoyances, but overall it seems to be doing most everything I want, but it has a few quirks I dislike. Maybe it's something I'm doing or not doing and if you have any tips on streamlining the process I would be much appreciative.
1. When I add in a new event it adds in a bunch of "default" or "out-of-the-box" phrases; most of which are not applicable to the event I'm creating. They are the same phrases each time and I have to delete these EVERY time I make a new event. Is there a way to turn this off? I'd rather have a blank message window ready for me to type in my own phrases than have to delete these every single time...
2. Roleplaying Helper had many "other events" included, but they don't seem to be detected by your mod. Crits, dodges, misses, parries, blocks, taking damage, being low on mana, Talking to NPCs, interacting with the Mailbox... Sending a pet to attack, or have it stop attacking, or when it dies... among others. None of these seem to be detected by your mod and can't be created as events as far as I can see. Am I just missing something?
3. How can I create a content pack for importing, Like Dire Lemmings Enter/Exit Combat list? If I create a character on another realm and want to use the same phrases it would be a great help if I could create my own content pack and just import them.
4. As a new user, the process seems a bit complex with the event detection. Sometimes there are spells that can be difficult to trigger (i.e. Tranquilizing Shot), so I do miss having a ready made list of spells/abilities for my class. Is there a way to have it detect from spells in your spellbook, other than casting each one right after another? Again this can be difficult with spells that require an event trigger themselves...
1) I share a bit of annoyance at the default phrases, actually, but Rismisner did include a handy "delete all" button largely for people like us who wanted to start fresh with each event.
2) Last I checked, he's working on figuring out how to properly add more events to trigger SpeakinSpell without making it lagariffic or overly spamtastic by default. I'd have to check the ticket system again, but I'm relatively certain several RP-type events had been listed as "It'd be nice if we could detect this.", as well as things like crits, hits, low-mana and low-health, etc.
3) At the moment, content pack creation requires hard-coding your desired sayings in a slightly different format than SpeakinSpell databases your custom setup. Last I spoke to Rismisner, he suggested that he was looking at a way to make this easier, perhaps even making it almost a one-button deal. It would be nice, but I think it was relatively low on the priority list.
4) What I ended up doing was going on a couple of raids and a few rounds of Arathi Basin with SpeakinSpell installed and turned on, but nothing set to fire. Under those conditions, it should pick up virtually everything that it knows how to detect from what you can do with your character. It meant waiting a couple of days between installing the addon and going through setup, but it was worth it. I even made sure to bounce between specs a bit so that talented-only abilities would be seen.
Aetharan, thanks for helping me keep up on support! Those are all good answers.
Adding a few more comments and tips as the developer...
1) Eventually, I'd like to make that list configurable somewhere in the GUI. The other default settings for cooldown, frequency, channels, etc should also be a part of this kind of enhancement.
In the short term before I get around to doing that, you could hack the code. That list is defined in DefaultSpeeches-enUS.lua, near the top, and should be recognizable. You can delete the contents from that list so it's blank (the list has to exist or you'll get a LUA error, but it can be empty), and that should work for what you want. You wouldn't need to know anything about programming to do this.
2) There are literally hundreds of event hooks provided by Blizzard. Lots of room for improvement here that should be fairly simple.
3) I have a standing offer to add content packs for anyone who wants to send me your saved variables file, if you're willing to share with me and the rest of the SpeakinSpell community. You should be able to find that file somewhere like WoW\WTF\Account\YourName\YourRealm\YourCharacter\SavedVariables\SpeakinSpell.lua.
You could also copy-paste from one of your saved variables files to another. I wrote that tip into a comment somewhere below with more detailed instructions.
My plan eventually is to move all of the saved data from your per-character file to your per-account file so that each of your characters will have access to each of your other characters' SpeakinSpell data, so you can import from one to the other, using that same Import New Data interface, without having to hard-code a content pack.
4) That design is intended to minimize how much hard-coding I have to do, which minimizes maintenance to fix SpeakinSpell after patches, and prevents me from having to know the names of spells in non-English game clients. I have no intention of changing this basic detection-based design aspect with a hard-coded list, as unfortunately it would be a lot of work to maintain. However, since you mention scanning the spellbook, that should be a possibility to automatically do that much. As long as any solution along these lines can occur at runtime instead of making me hard-code a list, I'm open to it - I just don't want to get stuck maintaining a hard coded list of spells (other than the default speeches).
Is that the answer you were looking for?