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've been putting off implementing the "/ss clean" command that I have in mind to quickly do that, but you can do it a little faster than what you're doing now...
Under "/ss messages" ...
Use the [Delete This Event] button near the top, instead of [Delete All] (speeches) near the bottom, because when you [Delete This Event] it automatically selects the next event in the list, so you can rapidly click [Delete This Event] until the button disappears, in order to get to a completely clean slate.
Then go to "/ss create" to re-add any event triggers you want to use.
Even after only poking around with Speakinspell for a few minutes, I can already tell it's going to be a wonderful replacement for the badly aged BattleCry. Thanks for all the work on this!
About the only suggestion I have so far would be a way to purge -all- of the "prepackaged" emotes. I'm looking for a clean tool and platform for my own emotes, so for each of 10 characters I have to go through each individual ability, delete all, next ability, delete all, etc. Not difficult, just time-consuming. : )
Apologies if there's already a way to do this that I haven't found.
No offence, but damn....
To completely remove all of the default speeches, the easiest thing for you to do is go to "/ss messages" (see the third screen shot "message settings" for reference) and click the button for [Delete This Event] several times until it disappears. That will get you to a completely empty blank slate and you can add your own macros from there. You can get the default speeches back just one at a time if you want (or in groups of various sizes) by going to "/ss import".
Alternatively, each time SpeakinSpell spams a speech you'd like to delete, you can type "/ss recent" which will give you a clickable link in your chat frame to [Edit Speeches] for this event (for the last 5 speeches announced) and from there you can delete the speech you don't like, or delete the entire event.
There is also the new feature for a global cooldown in the latest version (see: /ss options) to limit how often SpeakinSpell will say anything at all.
>> is there a simple version of this Add-on?
No, but I've been looking at various approaches I could take to make it more user friendly, modeled after user interface designs I see in Healbot and MSBT.
If you have too many addons installed so that you have to scroll down the addon options window to get to SpeakinSpell in the list, then the Blizzard API that implements "/ss help" will fail to open that window to the SS help page because it has a problem that it won't scroll then window when needed. So if "/ss help" doesn't open the help, the work-around is to go to Escape > Interface Options > Addons > scroll down to SpeakinSpell > then SpeakinSpell Help is a sub-category.
>> Resurrections are not announced
Which event, exactly? There are a couple of different ways to deal with rez events. The simple mode uses the "When I start casting:" event for your class' spell. The advanced method uses LibResComm - someone else's code library that I added to SS to try to fix the problem of unknown target names for dead players who released their spirits. LibResComm works for me in the current version, but I've had problems with it before. It's possible that you have a newer or older version of LibResComm as part of a different addon that you're using (such as Healbot). In SpeakinSpell, all of the Resurrection events (in that category) are triggered by LibResComm. The simpler "When I start casting: Resurrection" (or your class' spell name) is not related at all to LibResComm, and is more reliable from addon conflict issues, but has the problem of not knowing the <target> name for dead players who released (it will try to work around it by using your selected target if you select the dead party member from the party interface before casting your rez on them).
There's also a bug I found with the new global cooldown option vs. events that trigger "/ss macro something" which may be breaking rez announcements for you. It properly detects and announces "When I start casting: resurrection" which causes you to say "/ss macro rez" which triggers the event "When I type: /ss macro rez" which was my way of sharing 60+ rez speeches for different spells for different classes, without copy-pasting the list... the current version has a bug in which the event "When I type: /ss macro rez" thinks it's on global cooldown (if you use that new feature) because it just said "/ss macro rez" less than X seconds ago... this will be fixed in the next release. In the mean time, set your GCD in SS back to 0, or use one of the 2 functions to Expand Macros Inline to work around the problem.
>> there are a whole list of combat messages that I can't find (nonsensical ones like that I'd love to delete)
IMO, The easiest way to find these is with the command "/ss recent" which will dump a list of the last 5 speeches that you announced, and what event triggered them, with clickable links to edit the settings for that event (i.e. to edit/delete the associated speeches). So after you see SS give a speech that you don't like, just type "/ss recent" then click [Edit Speeches].
Oh- And is there any way to backup my messages? Thanks in advance.
C:\Users\Public\Games\World of Warcraft\WTF\Account\<your name>\SavedVariables\SpeakinSpell.lua
(The opening part "C:\Users\Public\Games\" may be different on other versions of Windows, or on Mac)
For the low health/mana announcements... that feature is "coming soon" or later, or eventually
I'm in dire search for an addon that is capable of announcing when I summon a Val'kyr, using Nibelung ( a staff ), in either raid/party or say. I know ForteXorcist can detect the Val'kyr and it's duration, but I'm looking for an addon to simply announce a custom message such as "Arise and carry out your master's will!" for a bit of RP fun. Thanks for any help.
Step by step instructions...
1) Install SpeakinSpell and login to the game
2) Use Nibelung to summon the Val'kyr. This chance on hit effect should generate a Spell Cast event identical to casting a spell. (or several related events for start casting, stop casting, successfully cast, etc)
Since it's a chance on hit, it may take a while to proc, so just let SS run until you proc the Val'kyr. Even if you disable SS to make it STFU if you dislike the default settings, that only disables speeches/announcements, and the background functionality of detecting new spells will still happen.
As soon as you proc the val'kyr (which should be possible vs. a target dummy, right?) ...
3) Type "/ss recent" to show a list of recent events detected. The list is reported to your chat frame.
4) One of the recent events displayed will be "When I start casting: Summon Val'kyr" or whatever that spell is actually called. Please note that the spell that you cast by using the weapon probably has a special spell name that is not the same name as the weapon or the entity you're summoning. The spell could be called "Blessing of the Holy One" or something equally arbitrary.
5) Next to where it says the name of this spell event in your chat frame, you will see a clickable link that says [Setup New Event]. Click that to open the SpeakinSpell options to start setting up speeches to announce that event.
Alternatively, suppose you prime SpeakinSpell by proccing your val'kyr in a raid, and by the time combat ends and you remember you wanted to setup SpeakinSpell, you type "/ss recent" but the val'kyr is no longer one of the 5 last events detected... You can go to "/ss create" and search the list of possible spells and other events for a spell casting event, probably in the category of "when I start casting: something" and I would bet that a search for the substring "val'kyr" or "nibe" will turn up the spell you're looking for. Alternatively, you may have to research what that spell is actually called, by checking your combat log.
I hope that makes sense... I basically just rewrote the usage instructions section of the description above...
A) the list is in the user's manual "/ss help" chapter 5 "<substitutions>". The complete list is in there. If you want to print it, there's no way to print from in-game, but you could open the related LUA file in a text editor and print that. The file is \SpeakinSpell\Locales\help-enUS.lua. It should be intuitive to find the substitution key word list (it starts around line 214)
B) <target> is the target of the spell or target of the event. When a guild member says ding, he says it to the guild chat channel, so the target of the event is the guild, which is why it uses the guild name for <target>. The person who said ding is the <caster>.
You also described using "When I type: /ss macro something" for this, but that's for manually activating SpeakinSpell. I think it's just in the way you described it differently than how you're actually doing it, but just so we're clear.... For a manually-activated SpeakinSpell trigger from typing "/ss macro something" (as opposed to automatically detected events) the <caster> will always be you, the <player>. I treat them as if you cast a spell by typing /ss macro something. The <target> will be your selected target, focus, or mouseover (checked in that order).
However, if an automatically-detected event such as "a guild member said ding" is triggering "/ss macro ding" which then contains the list of speeches, then the <caster> and <target> information are inherited from the original event or spell, down into any automatically-triggered calls to "/ss macro something" So if a guild member says ding, and that triggers /ss macro ding, then the <caster> will be the person who said ding. If you manually type "/ss macro ding" (or have it on a button that you click) then the <caster> will be you.
hi,
i have only had this addon for a few days and have been slowly learning wat i can about it to use it to its potential.
i have a couple of questions. A) is there a List of the substitutions that i can download/print for future reference while im changing or making new macros.
B) i have made a "When I type: /ss macro something" it concerns when a guild member says 'Ding'....but when it activates, it put my guilds name instead of the toons name that said it. The line i have written is as folows: Grats <target>, you are 1 step closer to "being all that you can be" i havent been able to work out if i have put the wrong Substitution in or if i have phrased it wrong.
if anyone can help with both of these it would be great
3.3.3.03
---------
Added a new Global Cooldown option to silence SpeakinSpell for 0 to 600 seconds between announcing any event.
- The default is still 0 to preserve legacy behavior
Added new option to "Expand /ss macros as lists-only"
- The new checkbox is found under "/ss messages" just above the random speech list.
- To preserve legacy behavior, this option has NOT been turned on by default
- If you use the built-in default mount announcements, you may want to edit your settings to enable this new option to even out the random selection from the nested speech lists.
Added "/ss ad /g" for advertising SpeakinSpell in the guild channel (or explaining your spam)
Updated some outdated info in the help (/ss help)
Fixed a bug with missing embedded libraries which could have caused loading errors and/or the minimap button to fail
Go to "/ss messages" and search for "Combat Event: I Died" in the list. Then scroll down to the cooldown slider and increase it from 0 to a few seconds or more, maybe a couple of minutes. (you can set it as high as 600 seconds = 10 minutes)
If that doesn't work, then the next time you see it happen, type "/ss recent" to review a list of the last 5 events detected and last 5 speeches announced. Note that fewer than all possible events detected are being announced, so you'll see a list of 10 total items here.
"/ss recent" may show you that you're encountering a second announced event when you die, not just "Combat Event: I Died" but something else that procs on your death, such as Ardent Defender (paladin ability) or Cheat Death (rogue ability). If that's the case, then you may want to choose one event to announce, and delete or disable the other one, or maybe set both events to a 50% chance, or rewrite the speeches to make it clearer that you're announcing two different things, first "Ah ha ha! I Cheated Death!", and then "I guess I couldn't cheat death..." or something. There are lots of creative options for fine tuning the announcements of things that proc on death or near death experiences.
Are you a holy priest who really dies twice every time you die, because of spirit healer form? If so, you need to set the cooldown for SpeakinSpell's Combat Event: I Died to be longer than the duration of the buff for spirit healer form, so that when your spirit healer form wears off, SpeakinSpell will still be on cooldown for announcing your death.
But still, why does it take 5Mb of memory when loaded but not enabled (set to OFF) ? It's huge !
By the way, it happened to me once that all of my settings were erased. I think I'll back them up next time, just in case...
Thanks! :)
>> why does it take 5Mb?
At this point, I feel my time is better spent adding new features than trying to optimize performance. I plan to review the memory usage and try to reduce or optimize it after it starts to exceed 10MB. I'm currently running at 7MB. But the game itself takes about 900MB to run without any addons, so another 5 is just a drop in the bucket, and it's mostly static data that just sits there, not eating CPU cycles or impacting overall performance or FPS in any significant way (as far as I can tell).
>> it happened to me once that all of my settings were erased
Sorry to hear that! I hope the subtle changes I made in the latest version will help prevent that from happening again in the future, but backing up is still an excellent precaution and a good idea.
I wanted to add that there's a built-in game function similar to what you're looking for, that doesn't require any addons: If you type "%t" the game will replace that with your target. It has some subtle differences with SpeakinSpell's <target> substitution which I tried to make slightly smarter than %t in cases of unusual targeting methods or dead players who released.
i cant really verify the <target> displaying as everyone when there is no target. cause something is up with my WoW at the moment.
But on my other pc. When i type <target> manually in the chat box. It usually shows the target's name. On this one, it shows as "<target>",
There isnt much difference in addons from this pc, to the other. When i get my WoW back up and when my server comes back up, ill test and see, and ill check through both's addons too.
I'll try that /ss macro something thing for giving target's as well.