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...
After that, after every 10 events are reported by the Setup Guides, it prints another chat message saying "[Turn off these guides]" which is another clickable link you can click to turn off the guides... again, apparently that's also not obvious enough.
If you look at the first page of options under "/ss options" (another obvious place I assumed people would look for settings like this) there's a checkbox under the Diagnostics group that says "[X] Enable Setup Guides" and that can also be used to toggle the same feature.
then I remembered what it's like to be the guy who has to answer the angry customer so I didn't bother to complain to them, and I simultaneously felt a great well of sympathy for Scorpella...
There's also a writer I like named Scott Berkun who made a really good point that "this sucks" is actually a good review, placing it pretty high above "this is irrelevant" You must really enjoy using SpeakinSpell a lot to become that frustrated that it's ALMOST what you want, but NOT QUITE THERE because of the setup guides. If it really sucked that bad, you'd just delete it, instead of asking for help or a change in how it works.
Please try to understand... the most frequently asked questions I got throughout Nov/Dec were like "where do I find the settings for this event?" and "how do I remove this one speech I don't like?" and "what event is triggering this one speech that I don't like?" and related questions. The Setup Guides feature was my answer to those questions. Trying to teach a man to fish, so to speak.
But then I thought "alas the people who can't find the option they're looking for and need the setup guides, also won't know how to turn on the setup guides, so I guess I'd better turn them on in the default settings, to make it obvious to the noobs that the Setup Guides exist" and I KNEW that the noobs would also not be able to find how to turn off that feature, so I made the feature tell you how to turn itself off. Unfortunately, I suppose those messages get buried under too many other event notifications printed by the setup guides, so they're not obvious enough, and it's too easy to miss that statement that says "Setup guides are enabled, type [/ss guides] to disable them" I mean 3 people asked about it on here, plus more in private messages. And it's ESPECIALLY hard to find for the noobs they were intended for, who can't find the option they want to change, whatever that may be. So I'll turn off the Setup Guides in the default options, next time I release a new version (only if/when I add a new feature to make it worth pushing a release) but the setup guides feature will still exist. It will just be off by default on new installs.
The far more useful aspect of the setup guides feature is the "/ss recent" command, which prints the last 5 events detected, and last 5 speech macros that you said... It's like the mini version of the Setup Guides feature... so when you see SpeakinSpell spam a macro that you don't like, you can type "/ss recent" and get a clickable link to edit the settings for that event trigger, to delete or change that macro.
I like to be open about my design philosophy especially if anyone wants to debate it with me, but I suppose I just added a page to the big long book of documentation that nobody wants to read...
Not sure about the CPU useage yet.
If you do get around to easing the memory burden on this addon, or making a "lite" version with a more basic setup for raid use, I'd love you forever. :3
i know what you mean, the only reason it would be useful to me is because i multibox with it on as well, so i have it on 5-10 times at once, thus any reduction in ram use would help greatly. I don't know how much effort it would be to lessen the ram use, i was just throwing it out there in the off-chance it could be easily done. I figure anyone with a low end computer would appreciate it.
Either way, thanks for an amazing add-on!
I wanted to ask if there is a way to put in the same event a speech to be said to Party, and another to be whispered to the target. E.g. Innervate. I would like to ask the party to not beg me for mana for at least 3 minutes and notify my target that he got Innervated. Thank you for your help and sorry for my tremendous English.
/t <target> You are innervated!
/p I innervated <target>! Nobody beg for mana for at least 3 minutes.
I like long posts ;) I understand what you're saying. It's not THAT useful considering the horde and alliance can't understand each other, but I know what you mean about confusing the enemy LOL.
It's not limited to the PvP scenarios for WG, BG, and Arena (at least not intentionally)
Those events are based on COMBAT_LOG_EVENT_UNFILTERED (http://www.wowwiki.com/API_COMBAT_LOG_EVENT) when it sends the events SPELL_DAMAGE (yellow damage) or SWING_DAMAGE (white damage).
IIRC, I tested those features in a duel, with a friend in my group, so it's possible that you only get this event for damage done by a player in your party (friendly fire). The difference between the pairs of events for "caused by me" vs."received" is determined by the name of who was doing the damage, but both use the same SPELL_DAMAGE and SWING_DAMAGE events, which may be limited to damage done by members of your party.
I will have to look into it more closely to see how those events are actually working.
If you saw it work in WG or BGs, then perhaps there is a limitation to the way the combat log events fire into addons in world pvp that's different from how the game behaves in BGs. I'm just rambling off speculation at this point... I'll have to look into it closer.
I'll add... I'm really not happy with the way I implemented those combat events. I had a few enthusiastic people asking me for more event hooks, so I thought this approach would handle the most possibilities in one broad stroke. Unfortunately, I find that waiting for the exact combination of combat flags for (absorbed, resisted, crit) makes it seem broken because all of the conditions have to apply, instead of just one of them. The only real interesting announcements in this area IMO are a critical strike and/or a killing blow, and the rest of the combat flag combinations (like absorbed+resisted) are basically only useful for a random chance to say something in the middle of combat, at a time when nobody is going to correlate what procced your macro. That may be good or bad, but IMO if the point is to announce something randomly (as opposed to triggered on a specific event that others will recognize) then the feature should be designed for that, as opposed to coerced into it by a creative end-user (as I somewhat regrettably coerced the "/ss macro stuff" feature into spell groups, for lack of a better idea at the time...). So I may pursue something like that, and I've been considering adding new separate event hooks for critical, killing blow, and both together, ignoring the other flags. (And I had to use it for a while to realize that the combat rules actually allow for a resisted+absorbed+critical+killing blow ... didn't realize at first that you could resist it, absorb some of it, and still take overkill damage and die... seems so obvious to me now)
Anyway... I think you're application of SpeakinSpell for world PvP and city raids is a great idea, and actually calls for a new feature to identify a new scenario with its own chat channel selection, separate from raid, raid leader, raid officer, BG, WG, and arena... perhaps I should call it "outdoor pvp" and it would use that scenario if you're flagged for pvp but not in WG, BG, or arena... and also in a raid group? Hmmm... I'll have to think about this more too because players on a pvp server would be in that scenario most of the time based on that definition.
Meanwhile, the latest version adds a feature designed to help with some of the odd cases, and you might find this useful: when you've turned off SS but want to spam a random macro manually, without re-enabling automatic announcements based on event detection, you can still type "/ss macro stuff" and it will still work, even if SS is otherwise disabled. So I made a macro (default UI /m) that calls out "/ss macro battlecry" to put a button on my action bar which I click at times like that during city raids.
If that's not the answer you were looking for, then go to "/ss messages" to review the list of used event hooks, and click the "delete this event" button to delete the events that you don't want to announce.