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...
Also I'm finding that if I want to put in a speech that is over 85 characters long SpeakinSpell won't allow it. Is there a way to increase the speech length? Ihave some wordy ones. mostly Portal and polymorph messages, but still.
Try going into "/ss messages" search for "poly" and scroll down to the chat channel options (shown in the "which channel?" screenshot above) and change the "by yourself" scenario to use "self-only chat" or "/say"
If that doesn't work... in the general options (/ss options) there is also a diagnostic checkbox near the bottom labeled "show why not" (or something like that - it's a newer feature than the screenshots above). You can turn that feature on to get some diagnostic messages in your chat to explain which option is silencing a particular speech event, such as a random chance failed to announced it, or the speeches for that event are on cooldown, or in your case I think it would say "Announcement of [Polymorph] was silenced because you are by yourself [Click Here] to change this option"
Along those lines, another possibility is the Curse Client's option to install libs separately (off by default). If you use that option, try turning it off, and then reinstall SpeakinSpell using the full version instead of the "nolib" version. I have historically had problems with the "nolib" release version (though I think it should work)
The second error is easier to explain. I removed the SpellIdCache some time ago, so you must be running an outdated version. SpeakinSpell dies badly sometimes if you try to roll back to an older version, because your saved data has already been migrated to a newer version. The SpellIdCache was once saved as part of your saved data in older versions, but saved data from the latest v4.2.0.04 doesn't have the SpellIdCache in it anymore. So be sure to update to the newest version, and don't try older releases.
The only other thing I can suggest for fixing it is a clean reinstall of the most recent release. You will probably also have to delete your saved data. The curse client can do that for you, or you can delete it manually by deleting the file:
...\WoW\WTF\Account\<your name>\SavedVariables\SpeakinSpell.lua
Exit the game before doing that. The same goes for installing updates.
Good luck.
I can try to recover your saved data (all your speeches and stuff). If you open a ticket or PM me and attach your \SavedVariables\SpeakinSpell.lua file, I may be able to repair it so you don't have to lose all your custom speeches by doing the clean reinstall that I suggested. I'm not completely sure if there's a problem in it left over from the game crash that you experienced, but it seems likely given that you still had problems after reinstalling, so I might be able to fix it for you.
Thanks for the thorough explanation. I now have a very good understanding of what may have gone wrong.
My speakinspell has weird problems. Where it will either freeze my game client for like 2 seconds as soon as I do an action that was registered with a speech in speakinspell (Without even saying the speech). Or it will fail to load.
This has occured through various reinstallations of the addon and even through installs of older versions.
I got it to a point where it would stop doing the 2 second lag thing after an action (such as a spell or mounting a horse) But the speeches never go off.
---------------------------------------------------------------------------------------------------
This is one of the messages I get upon fresh installing the addon and starting the game.
-----------------------------------------------------------------------------------
Message: ...akinSpell\Libs\LibSmartComm-1.0\LibSmartComm-1.0.lua:140: Cannot find a library instance of "LibCompress".
Time: 09/15/11 05:06:37
Count: 1
Stack: [C]: ?
[C]: in function `error'
Interface\AddOns\Ace3\LibStub\LibStub.lua:23: in function `GetLibrary'
...akinSpell\Libs\LibSmartComm-1.0\LibSmartComm-1.0.lua:140: in main chunk
Locals:
------------------------------------------------------------------
And this is a message I get from using a spell/ability
---------------------------------------------------------------------------------------
Message: Interface\AddOns\SpeakinSpell\data.lua:291: attempt to index field 'SpellIdCache' (a nil value)
Time: 09/15/11 05:18:04
Count: 10
Stack: (tail call): ?
Interface\AddOns\SpeakinSpell\data.lua:291: in function `GetSpellID'
Interface\AddOns\SpeakinSpell\wowevents.lua:424: in function `UNIT_SPELLCAST_StandardHandler'
Interface\AddOns\SpeakinSpell\wowevents.lua:443: in function `?'
...Ons\Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:147: in function <...Ons\Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:147>
[string "safecall Dispatcher[5]"]:4: in function <[string "safecall Dispatcher[5]"]:4>
[C]: ?
[string "safecall Dispatcher[5]"]:13: in function `?'
...Ons\Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:92: in function `Fire'
Interface\AddOns\Ace3\AceEvent-3.0\AceEvent-3.0.lua:120: in function <Interface\AddOns\Ace3\AceEvent-3.0\AceEvent-3.0.lua:119>
[C]: in function `UseAction'
Interface\FrameXML\SecureTemplates.lua:310: in function `handler'
Interface\FrameXML\SecureTemplates.lua:529: in function <Interface\FrameXML\SecureTemplates.lua:478>
Locals: (*temporary) = "LeftButton"
(*temporary) = false
(*temporary) = nil
(*temporary) = nil
(*temporary) = "Visagalis"
(*temporary) = <function> defined =[C]:-1
------------------------------------------------------------------------------------
The only thing that has happened was my pc cut off during loading into a dungeon. Nothing else has been done except constant reinstalls and different versions. No other addons were changed. Prior to this happening it was working perfectly fine.
First of all, that's an open feature request that I never got around to implementing, and I don't do enhancements on this very often anymore for lack of time, so I'm not sure if/when I'll ever get to it, even though I do think it would be fun, and definitely a feature that SpeakinSpell *should* have. See ticket #92: http://www.wowace.com/addons/speakinspell/tickets/92-spellsteal-event-to-link-what-i-stole/
As mentioned by the person who first asked for this feature, there's another addon I've been told can do that (or there was, months ago), but I've never tried it: SpellstealPartyLinks http://wow.curse.com/downloads/wow-addons/details/spellsteal-party-links.aspx
I imagine SpellstealPartyLinks is not as flexible as SpeakinSpell as far as configuring the speeches and using <substitutions> and other options, but like I said I've never tried it.
What you can do in SpeakinSpell (current version 4.2.0.04) is setup announcements for each of the individual events "when I buff myself with: ____" for all of the buffs you would steal. I've never tried that either, but theoretically, it should work fine. Unless you steal Arcane Int or a mage armor, the only way you can cast those other buffs on yourself is through Spellsteal. They would have to be separate event triggers for each individual stolen buff you want to announce, but in the current scheme of level 85 PvE content, there aren't very many spells worth stealing, or worth announcing that you stole... "Swell" in Throne of the Tides, and that fire blazing speed thing in Zul'Aman are all that come to mind at the moment. The rest are stolen for dispel purposes only (like vapor form) and you really don't get much from it IMO. I suppose they are still worthy of witty macros :)
If you want to share a speech list for all spellsteal buffs that you're announcing from separate triggers for each of the "when I buff myself with:" events, you can direct them all through "/ss macro spellsteal" and then put your shared speeches under "When I type: /ss macro spellsteal". The speeches may use <spelllink> to link the buff that you stole.
If you simply want utilitarian stale announcements linking what you stole in exactly the same way every time, such as "I stole <spelllink> from <target>", as opposed to writing witty RP jokes, or randomizing it in other ways, then you may find SpellstealPartyLinks simpler to use and easier to setup, but like I said, I've never tried it.
You can also go to the SpeakinSpell tickets page and vote for the features you would like me to implement first (like ticket 92). I'm sure it doesn't look like I'm really doing anything at all on this anymore, but I do (or will) take the votes into consideration if/when I get the chance to add another new feature. One of the reasons I haven't worked on the spellsteal enhancement at all is because it never received any votes, which puts it somewhat far down on the priority list at the moment, behind things like "Fishing: Wow that's a big one!" which got 5 votes.
No... It's not possible. SpeakinSpell matches all of the event triggers by name, so it's going to treat "when I start casting: mirror images" the same whether it's from your spellbook or the 2-piece set bonus proc... In the future, I hope to redesign the core engine of SpeakinSpell to use spell IDs instead of names, in order to distinguish between events like this, and for other reasons. Unfortunately it's a challenging redesign effort that I haven't been able to find time to complete.
Wait, Maybe... you can announce a buff instead of the spell? I don't have that 2 piece set bonus so I can't experiment with it, but if the set bonus proc puts a buff on you that's different from the mirror image spell, you could potentially announce that "when I buff myself with" event, instead of the "when I start casting" event.
No wait, YES... This is more complicated, but it should work: setup the event "When i start casting: mirror image" to announce one speech every time: "/ss macro <spellid>" ... it *should* fill in the spell ID dynamically, which will trigger a separate event for each spell ID. "When I type: /ss macro 1" and "when I type: /ss macro 2" (or whatever the 2 spell IDs are) Then put your real speeches under "when I type: /ss macro 2" or whatever is the actual spell ID of the set bonus proc.
As for your gnome mage's speeches disappearing... I hate when that happens and it especially sucks if you spent a lot of time on it! Hopefully it won't happen again. Most of the times when people have told me about their data suddenly getting erased, the problem was never repeatable (and I was left assuming that it was caused by a fluke game crash, not my bug). The good news is that it probably won't suddenly erase your speeches like that again... the bad news is that I can't guarantee that because I don't know for sure why it erased them in the first place.
If you spend a lot of time on your speeches, you should make a backup copy of your saved variables file. All of your speeches for all characters are stored here: C:\Users\Public\Games\World of Warcraft\WTF\Account\<your name>\SavedVariables\SpeakinSpell.lua
Please let me know if you continue to have a problem and I'll see what I can do.
4.2.0.04
---------
Fixed detection of buffs and debuffs (and possibly additional combat log events)
"/ss messages" GUI should now allow you to scroll down all the way