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...
Date: 2010-07-01 21:27:47
ID: 1
Error occured in: Global
Count: 4
Message: ...AceGUI-3.0\widgets\AceGUIWidget-MultiLineEditBox.lua line 180:
attempt to index field 'editbox' (a nil value)
Debug:
(tail call): ?
(tail call): ?
...AceGUI-3.0\widgets\AceGUIWidget-MultiLineEditBox.lua:180: SetMaxLetters()
...AceGUI-3.0\widgets\AceGUIWidget-MultiLineEditBox.lua:126: OnAcquire()
...ddOns\AckisRecipeList\libs\AceGUI-3.0\AceGUI-3.0.lua:190: Create()
...nfig-3.0\AceConfigDialog-3.0\AceConfigDialog-3.0.lua:1120:
...nfig-3.0\AceConfigDialog-3.0\AceConfigDialog-3.0.lua:1051
...nfig-3.0\AceConfigDialog-3.0\AceConfigDialog-3.0.lua:1078:
...nfig-3.0\AceConfigDialog-3.0\AceConfigDialog-3.0.lua:1051
...nfig-3.0\AceConfigDialog-3.0\AceConfigDialog-3.0.lua:1078:
...nfig-3.0\AceConfigDialog-3.0\AceConfigDialog-3.0.lua:1051
...nfig-3.0\AceConfigDialog-3.0\AceConfigDialog-3.0.lua:1078:
...nfig-3.0\AceConfigDialog-3.0\AceConfigDialog-3.0.lua:1051
...nfig-3.0\AceConfigDialog-3.0\AceConfigDialog-3.0.lua:1538: FeedGroup()
...nfig-3.0\AceConfigDialog-3.0\AceConfigDialog-3.0.lua:1814: Open()
...nfig-3.0\AceConfigDialog-3.0\AceConfigDialog-3.0.lua:1842:
...nfig-3.0\AceConfigDialog-3.0\AceConfigDialog-3.0.lua:1840
(tail call): ?
[C]: ?
[string "safecall Dispatcher[2]"]:9:
[string "safecall Dispatcher[2]"]:5
(tail call): ?
...ddOns\AckisRecipeList\libs\AceGUI-3.0\AceGUI-3.0.lua:314: Fire()
...GUI-3.0\widgets\AceGUIContainer-BlizOptionsGroup.lua:20:
...GUI-3.0\widgets\AceGUIContainer-BlizOptionsGroup.lua:19
[C]: Show()
..\FrameXML\InterfaceOptionsFrame.lua:28: InterfaceOptionsList_DisplayPanel()
..\FrameXML\InterfaceOptionsFrame.lua:46: InterfaceOptionsListButton_OnClick()
[string "*:OnClick"]:2:
[string "*:OnClick"]:1
AddOns:
Swatter, v5.8.4723 (CreepyKangaroo)
AckisRecipeList, v2.0-rc1
ACP, v3.3.3
Altoholic, v3.3.002
Atlas, v1.16.1
AtlasBattlegrounds, v1.16.1
AtlasDungeonLocs, v1.16.1
AtlasOutdoorRaids, v1.16.1
AtlasTransportation, v1.16.1
AtlasLoot, vv5.11.03
AtlasLootFu, vv5.11.03
AtlasQuest, v4.4.2
AucAdvanced, v5.8.4723 (CreepyKangaroo)
AucFilterBasic, v5.8.4723 (CreepyKangaroo)
AucFilterOutlier, v5.8.4723.2531
AucMatchUndercut, v5.8.4723.2531
AucStatHistogram, v5.8.4723 (CreepyKangaroo)
AucStatiLevel, v5.8.4723 (CreepyKangaroo)
AucStatPurchased, v5.8.4723 (CreepyKangaroo)
AucStatSales, v5.8.4723.2842
AucStatSimple, v5.8.4723 (CreepyKangaroo)
AucStatStdDev, v5.8.4723 (CreepyKangaroo)
AucStatWOWEcon, v5.8.4723.2530
AucUtilAHWindowControl, v5.8.4723.3311
AucUtilAppraiser, v5.8.4723.2530
AucUtilAskPrice, v5.8.4723.3175
AucUtilAutoMagic, v5.8.4723.3142
AucUtilCompactUI, v5.8.4723.2530
AucUtilEasyBuyout, v5.8.4723.3583
AucUtilFixAH, v5.8.4723 (CreepyKangaroo)
AucUtilGlypher, v5.8.4723.2545
AucUtilItemSuggest, v5.8.4723.3108
AucUtilPriceLevel, v5.8.4723.2545
AucUtilScanButton, v5.8.4723.2530
AucUtilScanFinish, v5.8.4723.3576
AucUtilScanProgress, v5.8.4723.2530
AucUtilScanStart, v5.8.4723.2530
AucUtilSearchUI, v5.8.4723.3655
AucUtilSimpleAuction, v5.8.4723.4546
AucUtilVendMarkup, v5.8.4723.2530
AuctionLite, v1.6.4
Auditor2, v4.3.3
Babel, v1.2
BadBoy, v5.0.1.7
Bazooka, v1.8.7
BeanCounter, v5.8.4723 (CreepyKangaroo)
BrokerAltGuild, vv1.3
BrokerAuditor, v4.3.3
BrokerAutoLoot, v1.0
BrokerDurabilityInfo, v1.1
BrokerExtractor, v1.5.5-release
BrokerLunarSphere, v1.0
BrokerRecount, v1.0
BrokerXP, v0.1
Configator, v5.1.DEV.130
Cosplay, vv1.3
Cromulent, vv1.5.1
DataStore, v3.3.001
DataStoreAchievements, v3.3.001
DataStoreAuctions, v3.3.001
DataStoreCharacters, v3.3.001
DataStoreContainers, v3.3.001
DataStoreCrafts, v3.3.001
DataStoreCurrencies, v3.3.001
DataStoreInventory, v3.3.001
DataStoreMails, v3.3.001
DataStorePets, v3.3.001
DataStoreQuests, v3.3.001
DataStoreReputations, v3.3.001
DataStoreSkills, v3.3.001
DataStoreSpells, v3.3.001
DataStoreStats, v3.3.001
DataStoreTalents, v3.3.001
DBMBurningCrusade, v
DBMCore, v
Decursive, v2.5.0
DoubleWideTradeSkills, vv0.1
eAlign, v
EasySerum, v1.06
Enchantrix, v5.8.4723 (CreepyKangaroo)
EnchantrixBarker, v5.8.4723 (CreepyKangaroo)
EveryQuest, v2.3r161-release
FishingBuddy, v0.9.8o
FuBar2Broker, vr88-release
FuBarFactionsFu, v2.2.1-79
Gatherer, v3.1.14
GFWDisenchantPredictor, v3.3.1
GFWFactionFriend, v3.3.1
GFWFeedOMatic, v3.3
GoGoMount, v0003030701
GuildGreet, v30300.9
HandyNotes, v1.1.5
InFlightLoad, v3.3.005
Informant, v5.8.4723 (CreepyKangaroo)
InspectEquip, v1.7.7
LibDBIcon10, v
LibQTip10, vr135-release
LunarSphere, v1.09
LunarSphereExporter, v1.09
MageFever, v3.3.1
Mapster, v1.3.8
MassMailer, v2.0.1
MrDressup, v1.0.3
MySales, v1.2.0
OgriLazy, v1.1.0
Omen, v3.0.9
Outfitter, v5.0b8
Overachiever, v0.54
Postal, v3.3.2
Prat30, v3.3.20
Prat30Libraries, v
Quartz, v3.0.3
QuickAuctions, v
RangeDisplay, v3.7.7
RatingBuster, v
Recount, v
SexyCooldown, v0.6.16
SilverDragon, vv2.3.4
SlideBar, v5.8.4723 (CreepyKangaroo)
SpeakinSpell, v3.3.5.02
Stubby, v5.8.4723 (CreepyKangaroo)
SwindlerPreventer, v3.3
TomTom, vwowi:revision
TrackoMatique, v3.4.6
ViperNotify, v1.3.9
WoWPro, v1.0
BlizRuntimeLib_enUS v3.3.5.30300 <us>
(ck=dcd)
http://www.wowace.com/addons/speakinspell/pages/
The help file is more readable here (I hope) than the smaller in-game window, and you can print it, which has been requested by a few people.
3.3.5.02 - beta
---------
Code Cleanup
- No visible impact is intended in this area (yet), but the following elements have been cleaned up or refactored:
- localization support overhauled for non-English game clients
- cleaned up slash commands implementation and related usage of AceConsole-3.0
Fixed Lua errors from using <targetclass> and <targetrace> without a target
Fixed a bug with "/ss reset" leaving remnant deleted spells in the GUI
Removed default speeches for Blessing of Protection
The localization website is now up! If you use SpeakinSpell in a non-English game client, please go to this website to help translate it to your language:
http://www.wowace.com/addons/speakinspell/localization/
This only covers the built-in text from the Locale-xxXX.lua files used in the GUI and built-in messages. Default Speeches and their related event hooks are easier to translate by writing them in-game (for event hooks that work in your game client) and sending me your resulting saved variables file.
3.3.5.01 - beta
---------
NEW FEATURES:
Added a speech event hook: Data Sharing Events (Received): Found a SpeakinSpell User
- This event is fired once per login session when the data sharing feature handshakes with another SpeakinSpell user for the first time. (unreliable at detecting versions older than 3.3.5.01)
- Supports the following substitutions:
- <caster> and <target> are both the player who was found
- <version> is the version of SS they are running
- and all other standard substitutions apply as usual
BUG FIXES:
- Skip unnecessary data patch functions that you already ran by logging into an alt.
- "/ss import" will not suffer an error if you have multiple alternate characters with the same name on different realms
- Non-English game clients will no longer use the English list of default known event hooks
- Fixed WoW 3.3.5 vs. voice emotes (/cheer) and other slash commands in your SpeakinSpell macros
Data Sharing Network Communications:
- Removed the SilentSendAddonMessage module that silences "you are not in a raid" spam error messages. This will be rereleased as a stand-alone addon because this functionality is out of scope for SpeakinSpell.
- fixed the logic that SpeakinSpell uses for which addon communication channels are valid in different kinds of groups or scenarios.
CONTENT UPDATE - NEW MACROS! (and some dumb ones deleted or reworded)
- Use "/ss import" to browse and import the ones you like
- look in ChangeLog.txt for a more detailed list of event hooks that have new or changed default speeches
Added an Arena Content Pack
- This is optional and will not be enabled by default
- use "/ss import" to activate these announcements if you're an Arena player.
UPDATES TO THE DEFAULT SETTINGS for new installs
- Upgrading users' settings will not be changed by the update, but you may want to consider reviewing your choices for the following options.
- See changelog.txt for details about which options' defaults were changed and why
On my (german) client the default eventhooks have been removed and the "reset hooks" button works as expected.
New events are added correctly, so SS works fine now.
Saved Variables are saved here:
...\World of Warcraft\WTF\Account\<Your Name>\SavedVariables\SpeakinSpell.lua
Tickets page here:
http://www.wowace.com/addons/speakinspell/tickets/
To assist with translating all the other English text to non-English, I am also in the process of bringing up this site:
http://www.wowace.com/addons/speakinspell/localization/
(but it's not ready yet - I have to reorganize some things on the backend to be compatible with the system on that website)
did you see my post about my "event hook"-problem on a german WoW client?
At least on german clients SS seems to be not working when you use the "built in" event hooks but doesn't create working ones itself either.
Event hooks have to be created manually (by searching for spells, items, buffs or debuffs which are currently not listed) and creating new events this way.
Could you add some option to remove single (or all) event hooks from the database for the next version? I guess once not working hooks are removed, SS should work fine, but I'll keep you up to date as soon as I know for sure.
Any way to manually delete the event hook db would be fine, too.
So far I am aware of 2 issues:
1) Sometimes if you have a SpeakinSpell speech that tries to do a built-in emote like /cheer, along with a normal text message like "/say something" you will randomly see one or the other, but not both. Sometimes it works correctly and you get both.
2) I've seen a couple of errors from the data sharing network communication system failing to properly decode data packets from other SS users.
If you have run into any other issues with SS 3.3.3.09 in WoW 3.3.5 please report them.
I expect to release SpeakinSpell 3.3.5.01 beta some time in the next couple of days. I was also in the process of a content update (new macros) and some other enhancements when WoW 3.3.5 hit us yesterday, so SpeakinSpell 3.3.5.01 beta will have more in it than just compatibility repairs vs. the new patch from blizzard and the overhauled chat frame.
There's really no special trick to it, so it's hard to say what could be wrong...
The GUI at "/ss random" for creating a new random word list is supposed to be "safe" now in terms of fixing any errors in the way you entered it.
The result you're getting suggests that it can't find a substitution for <MyRandomWord>. Check the following...
<<myrandomword>>
. Both of these restraints are supposed to be fixed for you automatically if you entered "<MyRandomWord>" in the text box to create a new word list, instead of "myrandomword"In your speeches (/ss messages) you should be able to use camel case capitalization like <MyRandomWord> but in case I have a defect there, does it work if you use lowercase instead, as <myrandomword>?
Are you literally using "MyRandomWord" as your substitution key name, or something else? If you tried to use any built-in substitution key names, like "target", then the built-in substitution may take over, even if it's unknown, and block substituting a random word from a custom word list. I recommend using "randomsomething" as the substitution key name, like "randomanimal" to avoid conflicts. None of the built-in substitutions start with the word random (except for the default random word lists like randomfaction, but that's default data, not built-in logic)
I'm not sure what else to suggest at this point, but I'll retest this feature in my latest version to make sure I didn't break it with any of my recent changes.