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...
Off the cuff, I can say...
<pet> is currently supported, but it works on the Blizzard API for UnitName("pet") which returns the name of the combat pet that you already control. So unfortunately, "When I START casting: call pet" is too soon for that to work, because the pet hasn't spawned yet. If you trigger it on "When I SUCCESSFULLY cast: call pet" then *maybe* SpeakinSpell will catch that AFTER your summoned pet has spawned, and return the correct name. I haven't actually tried that because, back when I created and thoroughly tested the <pet> substitution, SS did not yet support that distinction between start casting and successfully finished casting. (and I haven't played my hunter since before Blizzard released 4.0.1)
It should absolutely be possible to enhance it to get the pet's name out of the spell name, and I have a similar request open to get the <city> name out of the spell name for mage portals. I added some technical notes and design considerations on that ticket: http://www.wowace.com/addons/speakinspell/tickets/91-city-substitution-for-mage-portals/
Also, I just remembered something! I have a macro for my Misdirect for my hunter, it will cast it on my Focus and if I don't have a Focus it will instead go to my pet. I tried using <focus|pet> in SS for my announce of MD, the focus portion works but if I have no focus it will just come up as <focus> in the message instead of my pet's name. Did I just type it in wrong or is this something to do with SS?
I really like this addon, it's fun to play around with.
I think you assumed (as many people do) that <target> works out the same as <selected> to show your currently selected target, but <target> actually shows your spell's target, which is subtly different, and more often what you want it to do.
<selected> will show your selected target's name for cases where that's what you want, instead of the spell's target, for example when a Warrior casts Shield Wall (on himself) and wants to use the boss' name, he would use <selected> to show his selected target (the boss) instead of <target> to show his spell's target (himself).
<focus|pet> with the pipe character like that is invoking the first-person pronoun feature, same as <target|me>. If you write <focus|blank> it will use the name of your <focus> most of the time, unless you set your focus on yourself, in which case it uses the "blank" pronoun text you gave it instead ... if you want to use your pet's name instead of the literal word "pet" for the pronoun, you can write underscores to embed substitutions inside the pronoun text, like this: <focus|_pet_> ... and that's a general feature that works for all substitutions, for example <pet|Junior> if you named a pet after yourself, and the value of <pet> comes out the same as <player> then <pet|Junior> would say "Junior" instead of your own name.
Though none of that is really useful to your case here because what you really want is simply <target>.
I think I can thank you once more :) And now, let's try it !
---------
4.0.3.01 - BETA
---------
NEW FEATURES:
* Partially translated into French
* <targetrace> now also works on mobs = Humanoid, Beast, Dragonkin, etc. (on target players, this still returns Human, Tauren, etc)
* <targetclass> now returns "NPC" for NPCs instead of their name
* "/ss macro <substitution>" can now be used as a pointer to conditional speeches that are based on the results of the substition, for example speeches you want to use when casting Heal on a target Dwarf can be directed through "/ss macro <spellname> <targetrace>" and written in "/ss macro heal dwarf" to avoid saying those speeches on non-dwarves.
* When using "expand macros as lists-only" undefined single-line macros will be removed from the expanded list of possible speeches, so that another speech will be selected, instead of prompting you to [Setup New Event] for this undefined macro
* When creating a new event (/ss create) the list of random speeches will now be empty, instead of showing some examples
BACK-END IMPROVEMENTS:
* Loading is a little faster
* SpeakinSpell_Defaults is now a separate Load-on-Demand module containing a large amount of data that you don't need most of the time, saving memory
BUG FIXES:
* The Yell channel is selectable again
* Achievements you earn are no longer treated as achievements earned by guild members
* Added safety checks for nil value errors
thanks
If you have a suggestion, then I'd be glad to add it to my to-do list, or possibly suggest a work-around.
If all you have are complaints, then there's nothing I can do for you.
but I do have a question.... how do you turn off you example shouts? is there like a list somewhere where I can just delete them? or do I have to go into it for that partcualar class/event and delete them?
If you want to keep the trigger, but start fresh with the speeches, you can scroll down to the beginning of the list of speeches and click the button "Delete All Speeches".
Don't worry. SpeakinSpell isn't exactly rocket surgery to use. It's not the same as its spiritual predecessors, such as Battlecry, but it is very simple once you've read the user manual included with the addon. Just experiment with it and have fun!
so, thanks Aeth for the info.
As the designer, I labeled every button to say exactly what it does, and do exactly what it says, and I tried to group things together logically, and put everything where it makes the most sense. For example, the 2 buttons that Aeth pointed out above to "delete this event" and "delete all speeches" ... I don't understand why you didn't see those buttons without asking. It seems obvious to me, where to look for those functions, and what those buttons do.
Clearly I'm wrong, but what would be better?
So it's very challenging to come up with a way to address this vague general idea that it's too complicated, especially since people who find it too complicated are usually too frustrated to articulate what they'd find easier - and too new and confused about how SpeakinSpell currently works, to describe what I should actually change about it.
I don't have the innocent outsider perspective to see what it's like for a SpeakinSpell newbie to try to grasp how this works and make use of it in order to understand your expectations and design to that. I'm incapable of seeing things from that angle, ya know?
Should I relabel things with different words to explain what each button and checkbox does?
Should I reorganize how they're grouped together?
Should I remove useless functions that are just cluttering things up for you? Which ones are useless? I can't tell because they all seem useful for something (or I wouldn't have added them in the first place...)
So I spent a lot of effort writing a user manual, and carefully writing good detailed tooltips on everything, to try to bring you into my way of thinking about how SpeakinSpell works... but, ya know, obviously that wasn't very effective either.
And yeah, OK, criticism accepted that half the user manual is kind of an ego trip I guess, because I worked hard to make all these features, and I don't want anything to go overlooked and unused, because I think everything it does is really cool. (Can you really blame me??) Is there a better way I could explain it all?
You sound so lost and confused that I figure there must be something very basic about how to think about SpeakinSpell which I take for granted as obvious, but actually isn't obvious... like a starting point, or general philosophy, that doesn't make sense to you. I can't see clearly what that disconnect is between your expectations and mine. Can you put your finger on it?
I'd like to make it easier to use, but I just don't know SPECIFICALLY what I should change to achieve that. I would really appreciate specific suggestions about it. In the immortal words of Jerry McGuire: Help me help you!
----
For feign death, I already think the basic usage instructions from the description of the addon are pretty clear, and I don't understand why you're not able to do this. You've got 2 basic methods you can use to set that up...
Usage Instructions
How to setup SpeakinSpell in a few easy steps:
1. Login and play your toon for a few minutes.
2. Activate any abilities, trigger any procced effects, and encounter any other detectable events that you would like SpeakinSpell to announce.
3. Type "/ss" to access the interface options panel
4. Click on "Create New..." or type "/ss create" to create settings for a new spell or other event
5. 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.
6. 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.
7. Repeat until you run out of ideas for new announcements to write.
So in steps 4 and 5, type in "feign death" (or part of it) and select it from the drop-down list, then scroll down and adjust all the settings to work like you want. There's a random chance slider you can adjust, which sounds like a function you're looking for from Battlecry.
-- OR --
Spammy Setup Guides Method
1. Type "/ss guides" to enable Setup Guides (there's also a checkbox for it under "/ss options")
2. Do stuff with your toon
3. Observe that the spammy Setup Guides are reporting all 5k+ of every event that SpeakinSpell detects and could possibly announce
4. 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")
5. Type "/ss guides" again to turn the Setup Guides back off
6. 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.
The most useful part of that IMO is step 6: "/ss recent" ... so just cast FD, then type "/ss recent" and you'll see a clickable link in your chat frame that says [Edit Speeches] or [Setup New Event] (depending if you already have speeches setup for FD or not). Click it. It takes you to the same place as "/ss messages" with that event already selected in the list, so again, just scroll down and change all the options to suit your tastes.
In both cases, whichever method you've been trying to use, what part of it did you not understand? Sorry I know that sounds snarky, but I really want to know, because it all makes perfect sense to me. /shrug.
-----
As a footnote, I'll add that SpeakinSpell v4.0.1.01 is a BETA. I've spent something like only 5-10 hours on it at the most since WoW patch 4.0.1 came out, because I've been very busy, and because I'm somewhat disappointed in the new mage talent trees (on my main character) so I dunno, maybe some of the trouble you've run into is from actual bugs where it's still broken from the patch and I didn't notice that yet in order to fix it. Nobody has really said anything about bugs in SS 4.0.1.01, so I *think* it works, but maybe part of your problem is because something is actually broken
----
>> well, after 13 days of fooling with your addon (failing so many times that I uninstalled and reinstalled), I kind of have a hang of it.
This makes your opinion extremely valuable to me if you can describe the troubles you went through before getting the hang of it. That would really help me understand the outsider's perspective of what kind of expectations you came with, and how you had to adapt your thinking, so I can change my design in that direction towards your original expectations.
In order to make things tidier i would also have a colapse expand system for speech events that you just click through to actually edit (thus reducing visual clutter)
The best way i can describe what i mean is to ask you to look at how power auras seperates the auras from the actual edits.
One way I think it could be made easier is to subdivide the lists. BattleCry went through your spellbook and picked up the list there, dividing it the in the same way. Thus, a warlock would have the lists "General", "Affliction", "Demonology", "Destruction", and "Pet", each of which contained its spells. A similar style may help here.
Theoretically, we could take the list "Whenever I successfully cast a spell..." and subdivide it by groups: One for each talent tree, one for each profession, one for item usage. "Whenever I gain a buff..." could be divided into "Buffs from my spells", "Buffs from items", "Buffs from <class>s", etc. This makes browsing through triggers, rather than searching for them, a feasible task.
-----------
As to the matter of support that doesn't require coding, I want to remind everybody who uses this addon that YOU ARE NOT ALONE! There are quite a few of us, many of whom have come to a good understanding and even tricked it out in ways that Ris never expected us to. Pose any question in such a way that we can understand what you want, and (if it's possible with the current version), one of us WILL find a way to help you make it happen!
If you come to the regulars with a question, posed respectfully rather than in a panicked complaint, we will do our utmost to aid you. It's one of those traits that's common in RPers-- we like to make more RPers! Anything we can do to ease your becoming one of the group, we'll do, so that the group doesn't die out. Helping to support an addon that we use in our RP is just part of that package.
First, the list of default events is huge, and lots of it is item/encounter triggered buffs. This makes it really annoying to try and find any events actually related to my own character's skills and abilities on the list. If it could be made so that NO events show up until triggered, that would be way better.
Second, there's a lot of events that used to show up that have disappeared. Most especially, the combat events have been whittled down to about 4 events, where I used to have a bunch. I much preferred when I could, for example, set up different sayings for white and yellow critical hits. Not sure if this is a change in the add-on code, or a change on Blizzard's end, but at least an option to show all the extra events that used to show up would be awesome if it was possible.
1. The list-driven interface may go away entirely in a future version. It's not really intended to be browsed. It's meant to be searched...
It originally worked as you asked: it came with an empty list of known event hooks, but learned them as you play. That drew many requests to provide a default list, because it was annoying to have to trigger everything once before it would show up in SS... which is what you are now asking me to remove... I might make it an option.
There's a button to reset the list of known events, found under "/ss create". It resets it to the default list of known events, erasing everything you've learned about since you installed SpeakinSpell. The known event list in 4.0.1.01-beta is empty because I don't trust the old list after WoW patch 4.0.1. So that would temporarily achieve what you want, but I intend to provide a non-empty default list of known event hooks again in a future version (unless I redesign the interface to stop using a list).
2. I removed the white and yellow damage events several months ago because they were not implemented very well. I replaced them with more general event triggers to catch any critical strike and any killing blow.
The old white and yellow damage events included too many combinations of glancing, absorbed, resisted, blocked, parried, critical, and killing blow flags. That made them proc too rarely, and unintuitively, because they were too specific. Also, ranged weapons didn't proc it (bows, guns, wands). By far the most interesting of those events were the critical strikes and killing blows, so I created generalized detection of those events, which proc on both white and yellow damage (SPELL_DAMAGE, SWING_DAMAGE, and RANGED_DAMAGE events).
You could pursue making more specific speeches by using the Critical Strike event to trigger "/ss macro <school>" following the technique described below in the last few posts about variations of "/ss macro <substitution>".
Your old speeches for the deprecated white and yellow damage events were converted to "/ss macro something" to preserve your speeches after removing those event triggers. Look for them under the category for "/ss macro things I type"
Secondly, I have noticed that whenever I get an achievement, (I'm assuming) speakinspell posts my achievement to guild chat, along with the system generated one, and I wind up gratzing myself. Any way to make it stop doing that?
Looking over the past several patch functions that update the format of your saved data, I don't see anything very risky until the most recent update to 4.0.1.01 (beta) combined all ranks of spells into a single rank.
2. It shouldn't do that - it shouldn't be possible. This may be something that broke in WoW 4.0.1 that I didn't know about yet because I haven't been playing lately. You can look for the achievement announcement hooks under "/ss messages". There's a category for achievements that you can select from the list, or type in part of "achieve" to search. You should see that it only supports announcing achievements earned by someone nearby or someone in your guild, but it's not supposed to grats yourself.