Download
(4Kb)
Download
Updated: 06-26-08 08:47 AM
Pictures
File Info
Updated:06-26-08 08:47 AM
Created:unknown
Downloads:3,054
Favorites:11
MD5:

Spelling!

Version: revision260608
by: VagrantEsha [More]

If you like Spelling, please consider giving it a good rating.

(If you use Spelling frequently and feel comfortable with its use, please check out the comments section, as I have a request.)

Spelling Introduction

Spelling, what's it good for? Brightening up spell-casting, ability use, and even item use with some emotive and text-based fun, that's what!

I created this mod because I found that I liked having my character saying things when I cast/used stuff, but generally it was either too spammy or it made my macros too big, so I needed a solution... and thus I made this mod.

An amusing example would be to consider a Mage's spells, what if said Mage could pose dramatically and yell each spell in a terrible Dragonball-Z-like way? A practical example could be Entangling Roots or some other Crowd Control system, when you get it off you could let your raid/party know. You could even tie it to healing spells, applying poisons, or if you're feeling crazy... you could even tie it in with summoning out a mini-pet.

There are many uses for Spelling, and they're all handled through the chat command /spelling. I warn you though, there's no GUI here, so this isn't for the faint of heart. But what I can say is that the level of customisation and granularity that Spelling provides makes up for it.

Spelling Instructions

/spelling help

There is a form of in-game help, but more it's really just a reminder of what each of the commands do. It can be triggered by using the help command, it can also be triggered by typing /spelling with nothing else.

The help print also states whether the mod is enabled or disabled.

/spelling add [...]

This is where the customisation element of Spelling is handled, and though the use of it might be confusing at first, it's all there to help you create the kind of reaction you want and empower the player. Each command is separated by the # symbol, it's done this way so that you only need to type one line to get it all in.

/spelling add boomfire # moonfire # applied # say # 1 # Moonfire!

That's an example of how it works, and you can refer back to that as I explain what each of the arguments do.

Arg 1: Unique Identifier

Spelling is able to use multiple entries for each entity (an entity being what I call a spell cast, aura cast, item use, spell cast fail, aura removal, et cetera), but to be able to do that it needs to be able to distinguish entry A from entry B, a unique identifier is needed to do this. So if you wanted two entries for a spell, you could simply supply a unique identifier for each...

/spelling add starfire1 # starfire # [...]
/spelling add starfire2 # starfire # [...]
/spelling add starfire3 # starfire # [...]

It doesn't have to be numbered like that, in fact you can use any identifier you want, as long as they're all different. Another use for the identifier is if you ever need to remove an entry (I'll cover this later), so it's best to keep the identifiers as simple as you can.

Arg 2: Spell Name or ID

For this arg the spell you wish spelling to react to must be entered, the spell can be entirely lower case, higher case, correct case or whatever you like, as long as the spelling of it is correct.

/spelling add myid # myspell # [...]

You can also use the spell ID. This might be necessary for spells that apply multiple buffs whilst keeping the spell name the same. One example of this is Invisibility, when the spell is first cast a buff named Invisibility is applied, but when the invisibility actually kicks in, another buff named Invisibility is applied again. The only way around this is to use the ID of the spell.

/spelling add myid # id:66 # [...] (First ID of Invisibility.)
/spelling add myid # id:32612 # [...] (Second ID of Invisibility.)

If you're not sure what the IDs are, you can use Spelling's own in-built debugging command. The debug command will be covered later in these instructions.

Please note that Spelling isn't limited to just spells, in fact you could use it with items, or other abilities. As long as it's something that shows up in the Combat Log, it'll work. I even use Spelling to have some text fired when I summon out my Worg Pup.

Arg 3: State

This is--err...--arguably the most complex of all the args. The state implies the state the combat log throws in relation to a spell, item, or ability.

/spelling add tranq # tranquility # spell_heal # [...]
/spelling add mark1 # mark of the wild # success # [...]
/spelling add hold # entangling roots # applied # [...]
/spelling add mark2 # mark of the wild # removed # [...]
/spelling add baaa # polymorph # missed # [...]
/spelling add goose # mongoose bite # missed # [...]

These are a few examples, but the states used by spells can be quite different. Often, many abilities, items, and spells will have their own particular and quirky state use, so you'll have to possibly use the debugging tool to find out which is best for the spell/ability/item you're trying to set up. There's a section below though on the use of states, and I've tried my best to suggest the best courses of action there, so that might be a good read too if you're new to Spelling.

Arg 4: Channel

This arg implies the output channel that spelling will send to. This can be say, raid, party, or whatever you'd like.

/spelling add catform # cat form # applied # emote # 1 # lets out a feral mrowl as his form shifts to that of a Lion.

The above example uses the emote channel, so that if you have a Druid and they shift to Cat, they'll do the emote: Name lets out a feral mrowl as his form shifts to that of a Lion.

The channels are basically the ones you've come to know from WoW, so usually if you can prefix it (such as /say, /party, /guild), you can use it as a channel.

There are times though where you might want to specify that you'd like to check whether you're in a raid and send there, and then check whether you're in a party and send there, and if you're in neither you might not want the Spelling to fire at all.

/spelling add myid # myspell # mystate # channel1 channel2 [...] # [...]

Spelling can take multiple channels and run these checks for you.

/spelling add myid # myspell # mystate # raid party none # [...]

In this example, Spelling first checks to see if the player is in a raid, and if so the output is sent there, then it checks to see if the player is in a party, and the output is sent there, otherwise the spelling won't fire at all.

/spelling add myid # myspell # mystate # party say # [...]

In this instance, Spelling will check if the player is in a party and send the output there, if not it'll send the output through say.

Arg 5: Chance

As a Druid, I'm more than well aware that some abilities are as spammy as hell. Rogues should know this too. But that shouldn't stop us from being able to use Spelling, and without spamming our fellow adventurers into oblivion! To this end, chance allows you to set a chance number for your spell.

The chance is 1 in ?, so if you were to specify 5 it has a 1 in 5 times chance of firing. This is done by doing a randomisation between 1 and your number, if the randomisation matches your number, then the Spelling is fired. If the chance number is 1 then the Spelling will always fire.

/spelling mangler # mangle (cat) # applied # emote # 5 # [...]

Here we see that the mangle (cat) ability has been set so that it has only a 1 in 5 chance of firing.

Arg 6: The Output Text

This is where the fun begins!

/spelling add yoink # pickpocket # success # say # 1 # Yoink!

That's just one example, and the text can be anything you'd like. I've covered earlier how channels can be tied into this, so that you can send text to any channel you like. This is where the customisation of Spelling really shines.

/spelling add nobaaame # polymorph # missed # say # 1 # It would appear that HITNAME doesn't care to be a Sheep, and that's their loss if you ask me. It's a wonderful experience, I say.

There are various elements that can also be tied in with the output text, such as HITNAME in that example. I'll cover these below. The gist of it though is that anything you can get your character saying or doing whatever you like, it really is all up to you.

Output Element: HITNAME

This might imply that you'll need a target in order to use HITNAME, but that's not the case. Providing your spell actually lands on a unit (as opposed to being an area of effect) it'll work. This is because the unit it falls on is known as the destination unit, and any spell or ability that lands on a unit will consider that unit as the destination unit.

For example, if you were to buff Peon with Mark of the Wild, Peon would be considered the destination unit, even if you don't have them targeted.

The same goes for healing spells, abilities, and even item-based abilities that land on a unit. If however HITNAME is used in a spell that doesn't have a destination unit, then HITNAME will simply come back out as <no destination unit>. I've done this so it'll be more simple to quickly spot what can use HITNAME without a lot of debugging.

Output Element: PETHITNAME

You might want to add Spelling items for your Hunter pet, you can do that...

/spelling add growler # growl # success # say # 1 # My pet has successfully growled PETHITNAME!

Basically, the idea is that it works exactly the same as HITNAME, but in this case it'll check for an ability on your pet, and your pet's destination unit.

Output Element: SOURCE

In some cases, you might want to add Spelling entries for things that were cast on you, rather than things you cast. For example, if someone casts a debuff on you, you might want to use Spelling to inform your raid/party.

/spelling add mime # silence # applied # say # 1 # SOURCE is trying to cas--mmh mmf mrrh mmgggrffle mrraaggh... *waves his arms wildly!*

In this example, Spelling is setup to output a say line when the player has silence cast on them, SOURCE will be replaced by the name of the person or mob who cast it on them. This can also be used for heals and buffs to thank people if you like, so it isn't limited to just debuffs.

Output Element: PLAYERISDEST

Unlike the other elements, this one is replaced by nothing, so if you have 'This text.PLAYERISDEST' it becomes simply 'This text.' That means you can put this element anywhere. The point of this element is to allow a Spelling to be fired if the destination of a spell is the same name as the player, hopefully this will be a useful tool to those who have dual-part buffs.

Output Element: IGNOREREQS

This one is simple, it means only that Spelling reacts if a spell is fired, and it makes Spelling not care who the source is, and who the dest is. If IGNOREREQS is supplied, then the only thing Spelling worries about is that the spell is right, and the state is right. Like PLAYERISDEST, IGNOREREQS is simply stripped from the entry as soon as it's been checked.

/spelling list

If you want a list of all the entries you've made to spelling, this is the command to use.

Spelling List: [unique id] text

That's the output format, the unique identifier is highlighted to make it easier to spot the one you're looking for, if you're seeking a certain entry to delete/edit.

If you want to be able to see just one entry or a grouup of entries, you can supply queries to list.

/spelling list firstspelling secondspelling thirdspelling [...]

This will build and display a list of only the specific Spellings you want to see. This is handy if you want to make a quick change to a Spelling because that way you can see what you have already (and Spellings can be re-added without the need to remove them, providing you keep the identifier the same.

Finally, you can do a partial match for entries. Let's say that for your Druid character, you base all your Spelling entries on a class-abilityname basis (such as druid-growl), you could then list them by using: /spelling list druid

/spelling remove [...]

This command is used to delete Spelling entries based on their unique identifiers. If you're not sure of the unique identifier you used, you can use list to check all the entries.

/spelling toggle

This will enable/disable Spelling's functionality. There are times when Spelling would likely get in the way, such as if a player's at a Battleground. So it's good to be able to tell Spelling to shut up for a little while.

This option carries across sessions.

/spelling wipe

This is here for worst case scenarios. If Spelling completely breaks down due to a bad entry and you can't remove it, this'll likely solve the problem. Spelling is pretty solid, these days... but this is here as a "just in case" precaution. It's a last resort though as this will wipe all of your entries and reset Spelling to its default installation state.

/spelling debug

This activate's Spelling's debug mode. It works as a toggle so it can be disabled the same way. Debugging is only activated for the session though, as it's more of an information gathhering tool than anything else.

When debug mode is enabled, standard Spelling behaviour and outputs are suppressed in favour of debug prints. These prints contain the following (and in the same order):

Spell Name, Spell ID, CLEU State, CLEU Source, CLEU Destination.

The debug mode is most handy for figuring out which state is the best for your spell, because you'll be able to watch which states are cycled through when your spell is fired. It's also good for finding out the IDs of spells too, in case you need to find the ID of a spell in order to use it properly (as per the Invisibility example above).

The Use of States

The first step in determining which state best fits a spell is to use the debug, if only one state is fired for your spell, then that's the state to use. If something like SPELL_CAST_START is fired, followed by SPELL_DAMAGE, then SPELL_DAMAGE is the most apt state.

The way to find out which states your spells use is to enable debugging and try casting it. The debug print will tell you exactly which states were used by your spell so that you can determine the best to use.

Generally though, a good basic guide is to keep in mind what a spell does, that and I'll supply a general use list here:

Healing Spells or Abilities: I find spell_heal is generally best.
Damaging Spells: It seems spell_damage works best for these.
Damaging Abilities (Druid/Rogue/Warrior): Often applied works rather well.
Crowd Control: Unsure, but probably success or applied.
Buffs: Usually success is best for buffs.
Items: I find that for items without timers, the way to go is cast_start.

There are weird effects that can stem from using incorrect events, as has been reported to me by helpful Spelling testers. For example, using applied for buffs causes it to trigger when other players cast that buff. So if you're witnessing weird behaviour, try another state. If all else fails, report back here with the line you were using (and the debug info, if possible) and I'll do all I can to help you out.

To see a list of possible states, check out WoW Wiki's page on the Combat Log Event, as almost anything listed there can be used as a state.

If you'd like to see examples of how to create different kinds of Spelling entries, please check out the Spelling Resource Wiki, you might find something close to what you want to do there, and you could simply copy an example and edit it.

Regarding Portals, Teleports, and Mounts

There are things that the Combat Log doesn't support, such as teleports, portals, mounts, and so on. Support has been added for these in Spelling, but they don't use any of the standard CLEU states to function.

SPELL_CAST_SPECIAL_SUCCEEDED - This works the same as SUCCESS.
SPELL_CAST_SPECIAL_SENT - This works the same as START.

So for the states, you can simply supply 'succeeded' and 'sent'. You can debug spells/abilities/items to find out which will work for you, there will be areas where one or the other will take precedence.

Here are a few examples of what I'm talking about: SENT always has a destination, but START never does, SUCCESS always has a destination, but SUCCEEDED never does, neither SENT or SUCCEEDED carry spell IDs (the IDs always return 0), but START and SUCCESS do. (It must be noted that all states carry the spell name, but in some cases the ID is needed because the ID can be different where a spell/buff name can be the same for more than once instance.) So as you can see, you need to choose the state based on what variables you need.

If you want to see the two new states in action, here's how I use them with my mount (as the CLEU doesn't support mounts):

/spelling add horn # frostwolf howler # sent # sound # 1 # warhorn.wav
/spelling add whitemane # frostwolf howler # succeeded # say # 1 # I called to you Whitemane, and loyally you came. Now, let us ride like the wind!

The first instance is done when I start to call out my mount, it plays a warhorn sound (see below in the advanced usage section for information on using sounds in Spelling), then when I get on my mount, it does the say.

With the use of the debug tool, it shouldn't be hard to figure out which you'll want to use.

Info Words

These aren't like the elements as each element is a singular thing, but these words can be used all together in one sentence even, if you so desire. These are to aid in creating more believable Spellings, without needing to resort to a script.

Each of the words works in the same way, and it's a basic concept so this shouldn't be considered as advanced use. Anyone who can use Spelling will be able to use this. The format is basically that WORD is supplied, and you get a Return. As an example, TGTRACE would return Tauren if the targeted unit was a Tauren.

Finally, for the gender words, you can append CAP in order to use them as sentence starters. For example, whereas TGTHESHE would return 'he' (if the target unit were male, of course), TGTHESHECAP would return 'He'.

TGTHESHE and FCSHESHE

This returns either 'he' or 'she' based on the gender of the target or focus, it can also return 'it' if Spelling can't figure out the gender or if the game supplies no gender (this might be the case with numerous non-humanoid mobs).

- As a bitter Forsaken, I hate HITNAME as I hate all things, TGTHESHE can burn!
- As a bitter Forsaken, I hate Baudb as I hate all things, he can burn!

You can replace TGTHESHE with FCSHESHE in this example to use the focus instead.

TGTHISHER and FCSHISHER

This is much like above, except it returns 'his', 'her', or 'its' as applicable.

- Yes, I always buff HITNAME, but what can I say? ...TGTHISHER hair smells nice.
- Yes, I always buff Baudb, but what can I say? ...his hair smells nice.

Again, you can use FCS instead of TGT for a focus unit.

TGTHISHERS and FCSHISHERS

This is much like above, again, except it returns 'his', 'hers', or 'its' as applicable.

- HITNAME certainly brings all the boys to the yard, no showy display of dancing can top TGTHISHERS!
- Baudb certainly brings all the boys to the yard, no showy display of dancing can top his!

TGTHIMHER and TGTHIMHER

Verisimilitude! This returns 'him', 'her', or 'it'.

- HITNAME is irritating enough to deserve SPELLNAME, I find myself irked by TGTHIMHER.
- Baudb is irritating enough to deserve Entangling Roots, I find myself irked by him.

TGTRACE and FCSRACE

This returns the race of the target/focus.

I won't give examples for this, it's too easy for me to take cheap shots at the races I don't like, but because it's pretty obvious, that's okay. <.<

TGTCLASS and FCSCLASS

This reutrns the class of the target/focus.

As above, it's too tempting to take shots at those bloody--err... shots at classes I don't like.

TGTPOWER and FCSPOWER

This returns the power type used by the target/focus. This is mana, energy, or rage. If an unknown type is used, or any undesirable type is returned, it's replaced with 'effort' (I felt that was the most applicable).

- Ow, ow, ow, ow... does this TGTRACE never run out of TGTPOWER?!
- Ow, ow, ow, ow... does this Blood Elf ever run out of energy?!

...and so on.

MINIMAPZONE

This returns the zone as shown by the minimap's text.

- Wow, I think I just dropkicked that TGTRACE all the way out of MINIMAPZONE!
- Wow, I think I just dropkicked that Gnome all the way out of The Barrens!

Advanced Spelling Usage

Please note that with all of the features below, the only elements that work are PLAYERISDEST and IGNOREREQS, as the other words would not be required. PLAYERISDEST is only there so that you can ensure that the player is the destination with a given Spelling. IGNOREREQS forces spelling to not care who's dest and source. Otherwise it's assumed that the player must be the source.

Sounds

Spelling can play sounds to accompany your spells/abilities/items, too. For example, you could play the sound of a horn when summoning your Wolf. All you have to do is supplant the usual entry additions with the appropriate words.

Channel: sound
Text: soundfile.wav (or .mp3, .wma, or whatever else the client supports)

Here's an example of that:

/spelling add horn # frostwolf howler # sent # sound # 1 # warhorn.wav

This allows my Tauren to play a Warhorn to summon Whitemane, his Frostwolf.

Sounds always play, they're not a part of the random selection, so you should only have one sound per spell/ability/item and state. If it's the same spell/ability/item but a different state, then it's okay to have a new sound.

Animated Emotes

This is similar to above, but instead of sounds Spelling can utilise emotes suchc as /dance and so on.

Channel: staticemote
Text: emotename

Here's an example of that:

/spelling add rar # feral charge # success # staticemote # 1 # charge

This will cuase my Druid character to do the /charge emote, whenever he uses the Bear skill Feral Charge.

You, Anybuff/Anydebuff, and SPELLNAME

What if you wanted a blanket system that could react to any buff or debuff? I did, and so I've included an option to Spelling that can do that. If you supply anybuff or anydebuff to Spelling, it'll do a named Spelling whenever a buff/debuff is cast. Basically turning Spelling into broadcaster, but with Spelling scripts (Grammar) so much more could be done than that. But for the purpose of example, we'll use a broadcaster. Note that SPELLNAME, unlike any other element, can be used in combination with any other one element.

/spelling omgbuffs # anybuff # applied # raid party none # 1 # SPELLNAME buff received!PLAYERISDEST

/spelling ackdebuffs # anydebuff # applied # raid party none # 1 # SPELLNAME debuff is on me!PLAYERISDEST

On the Spelling Resource Wiki there's an example of a Spelling script called tehdance, I'm personally now using that with anybuff in the following format:

/spelling dancylads # anybuff # applied # script # 1 # tehdancePLAYERISDEST

Since the spell is passed through to the Spelling script, the SPELLNAME element does not need to be supplied.

You and Any

The any operator works similar to IGNOREREQS, except in this case it ignores the need for the spell. When any is supplied, there can be any or even no spell. The reason for this is primarily for scripts, but it can even be used with normal spellings, too. When any is supplied, the creator of a Spelling must instead look to the state to work with, it's with this that the power of any is utilised.

Here's an example:

/spelling add killed # any # party_kill # 3 # A vile act, but it had to be done. May the winds guide TGTHISHER spirit to the Earthmother's embrace...

On a chance of one in three, this fires whenever the player (who is the source) makes a kill. I find it rather fitting that my Tauren says this occasionally when grinding.

Scripting

The scripting functionality is for advanced users, and if you don't have an understanding of Lua then you shouldn't worry about it. For those that are interested though, I'd suggest you download Grammar from the optional files, as it contains what you'll need to start Spellin' some scriptin'! ...or something like that.

The Grammar.lua file contains detailed instructions on how the system works, including an example. If you have any questions about the feature then feel free to ask me, I'm always willing to help! I've also put up a script example (just to get things started) on the Spelling Resource Wiki.

I'm hoping the wiki can become a central hub for users of Grammar, it's a place where you can put your scripts for others to see, or if you need help with a script (mark it as problematic/not working) then put it up on the wiki and I'll be able to take a look at it and edit it for you.

Footnote

Spelling is feature-complete, and after much testing it's pretty stable. It can currently be considered stable, as I've implemented all the features I wanted to see in it, and I've fixed all the known bugs. For the forseeable future, I'm going to focus on fixing any bugs that might possibly remain, and simply maintaining the addon.

I say this because Spelling does all that it should, currently, and it covers every base. I don't want to do more with it than it already does as that would be feature-creep, just putting things in for the sake of putting them in, things that might not necessarily be useful.

So Spelling as you see it now will likely be Spelling as you'll always see it.

All I have to add now is; thanks for using my mod, and I hope you enjoy it and find it useful!

revision260608: It was possible to call improper things from the /spelling command line thingy, and I've known that for a bit but I just left it to smart users not to do anything foolish with it. But now that I'm just working on cleaning up Spelling, I've removed that capability. So consider that a fix, of sorts!

revision230608c: /spelling list can now do partial matches.

revision230608b: Damnation, I forgot to replace one instance of HITPOWER with FCSPOWER, I can't believe I overlooked that. Thankfully it was only one and I caught it quick.

revision230608: First of all, a fix. I'm really sorry about this but it seems like the whole SRC/HIT stuff I added only works in PvP. :< This is because the UnitBlah functions are smart enough to work with player names, but not smart enough to figure out how they should work with mob names (in fact, UnitSex always returns male if it's given anything it doesn't recognise). To this end, I've had to change the source/destination basis to a target/focus basis. Again, sorry. I've added a bunch of fun new stuff to make up for my err, though. The gender items can now be capitalised (to be used at the start of a sentence), there's a new 'any' operator which can be used in the place of a spell name, list has been buffed so that it can supply only what you want to see (instead of spamming everything), and at Everglow's request (and it was a good request) I've moved SpellingScript into Grammar for the sake of cleanliness and to save people from accidental overwriting.

revision220608: Added some word thingies, fun stuff!

revision170608c: Note to self... commit before uploading! Thankfully, it hadn't been verified yet, I noticed when I peeked in the zip that something didn't match up my local, thank goodness I do OCD code spring-cleaning.z

revision170608b: Having to add every buff to Spelling for tehdance (those who read the comments will know what I mean) was getting pretty damned old. So instead I put in a system where anybuff/anydebuff could be used. This is insanely powerful... and could be used as an alert system with two spelling lines alone. I've put the details on the front page. ...heh, I love these little updates, no more epic stuff for me! But this stuff I can do.

revision170608: Nothing major, just a couple of small things I felt Spelling could do with to make it more powerful, there's a new element (IGNOREREQS) and now spell is passed to SpellingScripts along with source, and dest. Check out the SpellingScript.lua for the example but don't overwrite your current SpellingScript file!

revision160608d: The addscript, removescript, and listscript commands have been removed in favour of an entirely better system, a more complex one to be sure, but it has to be said that the older scripts system was pretty damn useless. As I like to do with Spelling, the chaff is cut away and only the wheat remains, hopefully this will be the kind of powerful system I was hoping for, one that really would let players do whatever they like with their Spellings. Well, within the restrictionns imposed by Blizzard, of course. (So no reactive-casting for us! <.< Well, not unless you're really clever and you tie it into a button that shows at the proper time... but I won't get into that.)

revision160608c: Of course, could be that a player wants to specify player-as-source-only or player-as-destination-only for sounds and static emotes, in that case, I've enabled the use of PLAYERISDEST for sounds and static emotes. Please check the front page for information on this.

revision160608b: Sounds and static emotes should only work if the player is the source or the destination, whoops.

revision160608: Fixed an error in Spelling's onload, which caused it to run more than once.

revision150608d: Hokay, new attempt at the script feature. I re-thought it and I think I have a good solution. Check out the front-page for details. Important note: If you aren't new to Spelling, please run the /spelling upgrade command!

revision150608c: The last version had a blank zip inside which was because I wrote the batch file I was using to compile these wrongly, whoops! Thanks to Cairenn for letting me know!

revision150608b: I have an apology to make. I've been trying to keep the 'special' instances of things to 'SUCCESS' in order to not make things difficult on the player, but the truth of it is... it's not working out. Ever since I introduced support for portals, teleports, and mounts, Spelling has gone haywire. That was my fault, my erroneous approach. Before anything is feared, no, I'm not rolling back. In fact, this release is a rethink of how special, non CLEU (like the aforementioned) things are handled. There are now two new states (so you may have to debug). The one is a replacement for the special bits of SPELL_CAST_SUCCESS, the other is something entirely new! I've been playing with it for a while (questing with it) because I wanted to make sure that it was good. I wanted to make sure that it was right. I've gotten a bit fed up of all the broken releases lately... and it's because I've been going beyond my capabilities, trying to do the impossible for the sake of simplicity. So everything works now, it's just a bit more complicated. I apologise for that, but at the very least Spelling is flawless again. To check out information on the new states and such, check out the front page, I've explained it all there.

revision150608: Changed when sounds/static-emotes fire, now included officially. Check the front page for details.

revision140608d: Fixed a few bugs. Spelling would only fire once for certain things per session [regression-fixed]. Spelling would sometimes fire twice for certain things [fixed]. Spelling would not fire if a special instance (such as mounts, portals, teleports, and so on) were to be triggered first after logging on [fixed]. Believe it or not, all of these bugs are related. Anyway, that's it... I'm-a go to bed.

revision140608c: A few undocumented additions, check the comments.

revision140608b: I realised that there was an error in the last release, it broke destination tracking. I thought that would be a simple fix, turns out it wasn't. It took me half a day to sort it all out, and to get the new functionality working happily with the old (many Druid skills and mount ups tested, with people giving me funny looks). But in the end, fix it I did, and without needing to change how it works for the user, either! But damn, that was exhausting. I can has hugs now? *Thud.*

revision140608: Spelling release of awesomeness! I'm sorry for that, I don't mean to be egotistical or anything but I'm really pleased with this release. Spelling now supports things the Combat Log does not, such as teleports, portals, and mounts. Hooray!

revision130608: This version is an attempt to fix things like the second part of Invisibility, if they don't work. The suggested approach is to use the new PLAYERISDEST element. I've also fixed a silly bug with SOURCE handling.

revision120608b: Okay, I know everything was working in the current release, but there were a few quirks that were bothering me. For example, if you set a buff to success, it wouldn't fire for other players, but if it was set to applied (a wrong state), it would. Now it won't fire at all if it's set to applied. I've done some serious rejigging of the code, here. This also means that the one elusive element--Invisibility, part the second--should actually work right, now. I've also cut down the extra added registered events, now I only register one event other than the CLEU, and that's only because it's aboslutely necessary. So try this latest release and see for yourself! (Oh, forgot to mention... I also fixed a bug where the list would freak out if the mod was in its disabled state and the list was called.)

revision120608: No code updates this time, I've just included a credits text.

revision110608c: I made one more attempt, and this time I know I have it. Why? I got my roomie to help out with his Mage. Two Mages, and a hell of a lot of testing. I just kept changing things until it worked. I have no idea why this all works now, my head is too confused... but it works. And I never, ever want to do that much testing again, ever. Nor having to impose! Bleh! I also ran a full battery of tests on my Druid; Starfire, Moonfire, Cat Form, Prowl, Entangling Roots, and Summon Worg Pup. So if Spelling is still firing for other players, then it's probably not Spelling's fault. This time I'm sure. I just wish I knew fully why it works... but it does.

revision110608b: Okay, this is my last attempt to fix this by myself. This might do the trick, but I honestly can't say. The spells should work, and they shouldn't trigger for other players. If it's still broken, let me know and I'll go asik for help over on the WoWAce forums, I will get this mod sorted out!

revision110608: Thanks to lfd, I found some weirdness with how start>apply based spells were being handled, this really broke my mind for a bit... but I got that all sorted.

revision100608f: The PETHITNAME element wasn't working right, it was reporting for players using abilities with the same names of those of the pet's. For example, if I had a growl Spelling setup for my Hunter, it was also showing on my Druid. I've fixed that. And I've also changed HITNAME so it comes out as '<no destination unit>' instead of just HITNAME.

revision100608e: Damn, I was rushing because I had things to do and I accidentally uploaded the wrong version. Here's the correction for that. Sorry!

revision100608d: I introduced a regression which once again allowed Spelling entries to fire for other players. Damn it. Sorry about that. This version should be good.

revision100608c: Changed the on/off in Spelling to a toggle, as that works better. And I've now got the help printout showing the enabled/disabled status. The conversion option has also been taken out of this version as likely everyone has converted their databases by now, and the option might prove confusing to those who don't know why it's there. The older versions that have it though will remain up for a while.

revision100608b: New option! You can now specify a spell by its ID instead of the name, to do this, use id:number instead of the name of the spell. So for example, where you might use mark of the wild, you'd use id:9885 instead. Both name and id can be used, it hasn't switched from one to the other.

revision100608: The last version did tighten up the progression from start to applied and passing source, but there was an instance where if someone nearby is casting the same spell as you, and they got it off before you, then their success would fire for you, even if your spell failed. That just wasn't good enough. So I looked over some LOGwut printouts to see if I could link anything... and I think I'm finally beginning to wrap my head around the whole flags malarkey. Now, it goes by ensuring that the source/dest flags match up. So it should be theoretically impossible for a Spelling to fire for another player. Or such is the hope.

revision090608b: I think I've got the bug pinned down where certain spells fire for other players aswell as yourself in this release.

revision090608: There was a bug where debug mode was being reset when it shouldn't have, I've hopefully fixed that. There was also an issue in the progression of output channels ('raid party say') because I was foolish and forgot to perform a simple removal on the string to make sure it wouldn't constantly call the first element again. I can't test the latter though at the moment, so consider that drycoded.

revision080608c: Quick fix for something that wouldn't break Spelling but could cause it to throw errors.

revision080608b: First, an apology. I realise that in the last release, I broke a few things (such as stopping Spelling firing for other people when it shouldn't, gathering HITNAME names and so on). This was because I was working on a framework for this release... so some of it was drycoded. That was a mistake. This new release though has been tested quite thouroughly, and it seems to be spiffy. Of course, with this new release existing users will have to convert their databases, and I apologise for that, too. I'm not very good at managing my mods, am I? Well, rather than apologise yet again... let's get to what's new. This new release allows players to specify states! So you can now explicitly tell Spelling when you want it to fire, and for different things. So yep, Spelling can now alert when a Sheep/Growl attempt fails, and neat stuff like that. Still, I do apologise for hte large amounts of fail in the last version, and in needing to convert for this one.

revision080608: I've added some channel handling to Spelling, so that more control over where the output goes is handed to the player. I always felt that the output might be a little stiff anyway, and this improves upon that by taking that unbending absolution away from the outputs. So a player can specify more than one output, as opposed to an absolution-based requirement where the text must be output in a certain place. Thanks go to lfd on the comments page for the suggestion!

revision070608b: This release adds PETNAME to the list of replaceable words, see the front page for details. It also has a bit of a rewrite for replacement word handling, this resolves any bugs that might've occurred from trying to use two replacement words together (which is never necessary, but it may get tried).

revision070608: This release fixes the issue where Mage food/drink spells (or any spells that fire SPELL_CREATE) will only work for the current session. Many thanks to lfd (of the comments page) for helping me to test this, as I don't have a high level Mage. This fix wouldn't have gotten in if not for that help.

revision060608: Spelling now has a debug system, check out the description on the front page to see how it works.

revision050608: So... many... logic... gates, and sheep jumping logic gates, polymorphed Tauren sheep! This is tainting my dreams! Ahem, this release adds the ability to use SOURCE, which is awesome...SOURCE. It's thanks to a comment made by a friendly poster on the comments page, and I do tend to listen to feature requests. I also actually used this release as an excuse to clean out some redundant gates I saw (type(spell) == "string" is checked early on, so the later instance of 'not spell' does not need to be there, little things like that).

revision040608: I worked so hard on this one! The bug with removing spellings (Spelling getting confused over what should be removed, or simply refusing to do it) has been fixed. The bug where spells which didn't require a target didn't do anything has been fixed. The bug which affected Spelling's ability to detect area of effect spells has been fixed. The bug where stuff like Moonfire would happen twice has been fixed. The bug where something might only trigger once in a battle and then not again until the end of the battle has... indeed, been fixed. The ability to enable/disable the mod has been added, the ability to wipe Spelling's database has been added, the ability for Spelling to distinguish properly between spells which have a destination or not (see the updated description) has been added. Due to important changes that had to be made to Spelling's storage system, any Spelling stored before this release will be cleared! Sorry! :< You might want to do a list in game and use something like Chatter to copy your stuff out before you upgrade to this version.

revision030608: Fixed the silly bug where sometimes it'd say such and such is being compared with a number, it was something that slipped in after the rewrite, something that i'd even remembered to account for in the first release. Oops! <.< Still, that issue shouldn't be seen any more.

revision020608: Second release, less spammy this time! The combat log event, unfiltered, is a most confusing and nebulous thing. 9.6 When does a spell have a destination? When is something spell damage or spell periodic damage? If it's periodic, why doesn't it have a source (the player)? If you apply a debuff on a mob, why does it only 70 per cent of the time list you as the source of that debuff? Why, why, why... aauuuugh. There are times when I just wish to go to Blizzard's HQ and hit anyone with an IDE open over the head repeatedly with an iron bar. I could have got out the easy way, claiming that Spelling wasn't meant to use those spells, that it's just for laugh... lol-ed it off. But I'm not like that! So yes... lots of work went into the logic checking of Spelling, it should now be good, and not spammy, for everyone!

revision010608: Initial release.
Optional Files (0)


Post A Reply Comment Options
Unread 06-01-08, 07:00 PM  
Dawn
A Molten Giant
 
Dawn's Avatar
AddOn Author - Click to view AddOns

Forum posts: 918
File comments: 959
Uploads: 22
Hi there, i got a couple of questions.

I play a "spammy" druid and would like to know if it's possible to use this to announce crowd control casts in arena.

It seems i can use it to show a message for let's say:
Entangling Roots - "Ho there, %t, take a load off."

How do i have to set it up to show it as a raid message? Or is it just possible to output messages into the chat (say, party, raid, battleground)?

I suppose i have to actually target the target to get a message announced ?
I ask this because i use click casting and often find myself having a completly different target than what i cast my "CC" on.

What happens if i have "WarlockLolz" targeted and casting Entangling Roots with the message "Ho there, %t, take a load off." on "WarlockzLazyDruidHealerWOOH" by click casting on him (let's say focus frame or Proximo....)?

And last but not least. What happens if i spam a button, let's say Cyclon. Will it announce the cast every time i hit the button ? Or does it only announce when i'm ACTUALLY casting, wich means i spam the button while being stunned or unable to cast for whatever reasons, but it still does nothing until i really cast.

Thanks in advance
Report comment to moderator  
Reply With Quote
Unread 06-01-08, 11:36 PM  
VagrantEsha
Token Werewolf Fan
 
VagrantEsha's Avatar
Premium Member
AddOn Author - Click to view AddOns

Forum posts: 27
File comments: 238
Uploads: 38
- I play a "spammy" druid

Me too! Bit of a mangle-bot in my case.

-- ...announce crowd control casts in arena.

You know, I really hadn't thought of that. Useful applications are, indeed, for the win. But yes, it could easily do that.

In regards to how you'd get it to work, you're 100 per cent right on your assumption, you'd just have to supply raid as the channel, as opposed to say or emote. Then the text will appear in raid chat.

- What happens if i have "WarlockLolz" targeted and casting Entangling Roots with the message...

...

Wow that's a tricky question. I really hadn't considered that, either. But don't feel bad about giving me conundrums, as I thrive upon the challenge and I always enjoy making my stuff work better.

All I can say right now is that I have no official word on this, but I will test it out. If you have target A targeted, and you do a C2C on target B, then I'm not sure if the %t will call the name of A or B. This is one of those %\ moments where one can't exactly wrap one's mind around how the system works in game, how the game actually thinks. My best guess though is that it would make the mistake of actually using A.

However... !

Let's say that it does target A, and it all goes horribly, terribly wrong. Is there a solution to that? You know, I think there is.

The CLEU (unfiltered combat log event) gives us plenty of information. In fact, I use the CLEU to get spells fired and to ensure that it was the player who fired them. From the CLEU however I can also get the name of the entity that the spell landed on, no matter what kind of spell it was, and no matter who you have targeted, or in what way.

In this case, what i can do is also provide a HITNAME variable, implying that the name of the creature that was hit by melee/spell/ranged should be used. An example of this would be; "Ho there, HITNAME, take a load off!"

I think that'd be what you're after.

I'll test in game soon to make sure that it doesn't use A instead of B, but in this case, I'm fearing the worst and you should probably expect an update to Spelling real soon.

I really appreciate you bringing that to light, thanks! I really hadn't considered that. And this is why I share my work... there's always going to be stuff I don't consider that someone else will, and the mod will be better for it.

- Will it announce the cast every time i hit the button...

It should announce it when the spell lands. For example, when I'm casting Entangling Roots, it makes the call when Entangling Roots succeeds. I was worried that it would make the mistake of spamming... but it doesn't seem to, the CLEU seems to have got that right. I'll have to do more testing to be sure though.

In some cases, however, such as Frost Nova, the CLEU actually only throws the initiator when the person starts casting (From what I've seen).

However, I've never really seen Spelling yell about both a spell start and a spell success, it seems to be one or the other, really.

The only way we'll get to the truth of this is by testing it in game and then coming back and yelling at me if it all goes pear shaped, if you find that you're getting messages twice when it should be once, then I might have to put in an extra variable for 'casting' or 'onhit'. Like I said though, I haven't personally seen it commenting up twice... but it's possible. Too possible.

Another thing to consider is that if you need it happening every time the spell lands, you'll want the set the chance number to 1.

- Thanks in advance

Always glad to help.
Report comment to moderator  
Reply With Quote
Unread 06-02-08, 01:56 AM  
VagrantEsha
Token Werewolf Fan
 
VagrantEsha's Avatar
Premium Member
AddOn Author - Click to view AddOns

Forum posts: 27
File comments: 238
Uploads: 38
Apparently when I was fighting alongside my Shaman friend, things were getting killed too quickly to spot an error.

Fixing that error was... 9.6 ...painful.

I did a lot of testing with various spells, and now things like Entangling Roots and other DoTs should only do the Spelling thing on the successful initiation of the spell.

I am worried though that my sanity checking will have done bad things to certain long-timer based spells, such as Mage spells, but I'll just have to wait and see. The current Spelling makes my Druid very happy, though. Since all the Druid abilities I tested worked beautifully.

Oh and Dawn, I got the dest thingy in. Now you can supply HITNAME instead of %t, that way it'll always refer to the name of the mob that Entangling Roots lands upon.
Report comment to moderator  
Reply With Quote
Unread 06-02-08, 06:53 AM  
Dawn
A Molten Giant
 
Dawn's Avatar
AddOn Author - Click to view AddOns

Forum posts: 918
File comments: 959
Uploads: 22
I've been looking for something like this for quite some time, now.
I really like the idea you had with HITNAME, i didn't know this was possible.

Thank you very much!
Report comment to moderator  
Reply With Quote
Unread 06-02-08, 07:53 AM  
Thunder12
An Aku'mai Servant
 
Thunder12's Avatar
AddOn Author - Click to view AddOns

Forum posts: 36
File comments: 50
Uploads: 2
Pickpocket - "Look behind you, a three-headed monkey!"

teehee
Report comment to moderator  
Reply With Quote
Unread 06-02-08, 10:57 AM  
VagrantEsha
Token Werewolf Fan
 
VagrantEsha's Avatar
Premium Member
AddOn Author - Click to view AddOns

Forum posts: 27
File comments: 238
Uploads: 38
Dawn:

Glad to be of assistance. If you find any issues or weirdness at all, let me know and I'll look into it. Even though my Druid checked out, I'm not 100 per cent on what I've done.

Thunder:

Looks like someone got the Guybrush Threepwood reference. Hooray!
Report comment to moderator  
Reply With Quote
Unread 06-04-08, 05:16 AM  
VagrantEsha
Token Werewolf Fan
 
VagrantEsha's Avatar
Premium Member
AddOn Author - Click to view AddOns

Forum posts: 27
File comments: 238
Uploads: 38
Thanks to a tester (ladykey) and my own findings, I realised I had some more owrk to do with Spelling. That work has culminated in the latest release, a release which I just feel... better about. I'd say that this release has been tested to breaking point, but thankfully this one didn't break for me.

I suspect though that this won't be the end of it, and there may just be a few more bits of weirdness hanging around. So if you have any problems at all with Spelling, or if there's anything you feel is just wrong or not working, then please report back here and I'll look into it.

The new combat log event is a great way to save on resources, and it makes things possible that weren't easily done before (at least, not in a non-bloated way) but it's... genuinely nebulous at times, and that's being kind. I'm sure though that by the time I have Spelling working perfectly, I'll have unravelled all of its mysteries and most intricately hidden secrets.

And that might even be now, luck willing.

So if you like, try the latest Spelling, and if you do... please let me know what you make of it.

(I'm going to eventually be known as Esha the Mad for my obsession with that bloody event.)
Report comment to moderator  
Reply With Quote
Unread 06-04-08, 06:53 AM  
OttoDeFe
A Chromatic Dragonspawn
 
OttoDeFe's Avatar
AddOn Author - Click to view AddOns

Forum posts: 178
File comments: 195
Uploads: 12
Nah... more Esha the "I Just Get These Headaches"

Thank you for another little thing that makes the game more entertaining ( as well as adds a tough more individuality to each toon I play),
__________________
"They say
the pen is mightier than any saber -
any sword -
but if there's a war
I just don't know if a Bic will save ya..."

-- Last Offence
Report comment to moderator  
Reply With Quote
Unread 06-04-08, 09:08 AM  
VagrantEsha
Token Werewolf Fan
 
VagrantEsha's Avatar
Premium Member
AddOn Author - Click to view AddOns

Forum posts: 27
File comments: 238
Uploads: 38
Indeed, and now that Spelling seems fixed, the only way to go is up... upgrading that is! At least, once I've finished that aliasing mod for txxnnok anyway.

I think the first thing I want to add when I start working on this again is the ability to allow the player to do multiple lined entries, I think. That way a player could do multiple says/emotes at once, or even separate them up with the /in command. Either way, having the capability there will be nice.

Right now though, I'm just glad it's working. And a long gaming session I just enjoyed tells me that that's still the case... thankfully.
Report comment to moderator  
Reply With Quote
Unread 06-04-08, 07:45 PM  
Sojik
A Wyrmkin Dreamwalker
 
Sojik's Avatar
AddOn Author - Click to view AddOns

Forum posts: 53
File comments: 166
Uploads: 10
I was going to post some bugs but I think I know what the problem is. I think maybe the new version just hasn't been posted yet? :P Changelog mentions 040608 but what you download is still 030608. I have issues the changelog says are fixed (like it won't trigger off Ice Block or Blink and won't let me delete Spellings).

I look forward to trying this mod once the new version is posted. Sounds like I'd like it.

I already have a few ideas.

Ice Block -- Barristan says, "Aaahh! Save me, giant ice cube!"
Last edited by Sojik : 06-04-08 at 09:18 PM.
Report comment to moderator  
Reply With Quote
Unread 06-05-08, 03:30 AM  
VagrantEsha
Token Werewolf Fan
 
VagrantEsha's Avatar
Premium Member
AddOn Author - Click to view AddOns

Forum posts: 27
File comments: 238
Uploads: 38
You're right! How could I have possibly missed that? I was stoned tired when I uploaded it though, so I think it must just have been fatigue. My sincerest apologies to everyone I kept waiting. :/

The new version should be up soon, anyway, with all the fixes described!

Regarding the Ice Block example you described though; I don't think that'll be possible. Spelling only works if the caster casts a spell, not if the person is the recipient of a spell. However ... it is a good idea, and just because Spelling doesn't do it now, it doesn't mean it shouldn't! I'll look into adding that as a capability.
Report comment to moderator  
Reply With Quote
Unread 06-05-08, 04:56 AM  
Sojik
A Wyrmkin Dreamwalker
 
Sojik's Avatar
AddOn Author - Click to view AddOns

Forum posts: 53
File comments: 166
Uploads: 10
Originally posted by VagrantEsha
You're right! How could I have possibly missed that? I was stoned tired when I uploaded it though, so I think it must just have been fatigue. My sincerest apologies to everyone I kept waiting. :/

The new version should be up soon, anyway, with all the fixes described!

Regarding the Ice Block example you described though; I don't think that'll be possible. Spelling only works if the caster casts a spell, not if the person is the recipient of a spell. However ... it is a good idea, and just because Spelling doesn't do it now, it doesn't mean it shouldn't! I'll look into adding that as a capability.
Ah, ok. Thanks for the update. I'll test it out in a few hours.

I wonder, since Ice Block is probably not possible in the current update, are things like Icy Veins and Combustion viable? If not, I'll make a formal feature request for combat log entries like those to be added. It'd be fun to yell battle cries when I pop my cooldowns.
Report comment to moderator  
Reply With Quote
Unread 06-05-08, 05:33 AM  
VagrantEsha
Token Werewolf Fan
 
VagrantEsha's Avatar
Premium Member
AddOn Author - Click to view AddOns

Forum posts: 27
File comments: 238
Uploads: 38
Nullus anxietas, no rush!

Icy veins is a buff, so if you're a caster you should be able to do it with something like:

/add icify # icy veins # 1 # say # HITNAME has Icy Veins.

If you want to set it up to notify that you've received the buff, the new SOURCE thingydoofer can cover that:

/add icify # icy veins # 1 # say # Icy Veins? Hey, thanks SOURCE!

From what I understand, Combustion is similar. They look like Shaman weapon buffs that can be cast on other people, thus the examples will work for that because I've already had similar tested.

I'm sorry I can't give a more solid answer than that, it's because I don't have a Mage and the only chap I know of who has a Mage doesn't have said Mage of a high enough level to test those yet. So I'm in a bit of a bind when it comes to testing most things, so all I can really say is to try things out with the mod. If you try something and it doesn't work as intended, or you find there's something you want to do but can't, come back and post about it and I'll see about fixing it up/getting it in.

Improving Spelling is something I'm interested in right now, because it seems to be becoming more and more of a powerful thing, not just as an item of individuality for laughs (which is what I use it for, I absolutely love coupling it with my Druid shape-shift forms), but as something even more practical than that.

I might even create a new mod eventually that can take Spelling output and channel it through something like Sink. So that if you get a bad debuff and you want everyone to know about it, then you could add a line with a tag to it and the mod would pick up on that tag and feed it to a very big line of text in the cener of the screen. Such a mod wouldn't even need to be tied to Spelling in any way, but they would owrk well bouncing off each other.

"Infected by [something]!PRINT"

And everyone with the Printer mod installed gets 'Name: Infected by [something]!"... thus making it a tiny, dynamic *wigs mod.

...but these are thoughts for another time, and I digress. Right now I just want to concentrate on making Spelling a better tool for individualising players.
Last edited by VagrantEsha : 06-05-08 at 05:35 AM.
Report comment to moderator  
Reply With Quote
Unread 06-05-08, 12:38 PM  
Sojik
A Wyrmkin Dreamwalker
 
Sojik's Avatar
AddOn Author - Click to view AddOns

Forum posts: 53
File comments: 166
Uploads: 10


First thing I tried was Ice Block and it works.

I have a question about chances though, and multiple spellings. If I wanted, say, ten different random things to say when I throw out a fireball, but I only want it to do it every 10 fireballs or so, would I set them each to 1:100? It's been awhile since I've studied math or statistics and I'm curious how the mod handles the randomness.

Also, in case you didn't know, Ice Block is a buff you apply to yourself much not unlike the paladin bubble. It removes all debuffs and makes you immune to damage for a few seconds.
Last edited by Sojik : 06-05-08 at 12:52 PM.
Report comment to moderator  
Reply With Quote
Unread 06-05-08, 06:42 PM  
VagrantEsha
Token Werewolf Fan
 
VagrantEsha's Avatar
Premium Member
AddOn Author - Click to view AddOns

Forum posts: 27
File comments: 238
Uploads: 38
It is? Bugger, I didn't know that's what Ice Block was... I thought it was similar to Ice Nova.

The problem is that I don't have a high level Mage, and considering that most of my guild is Tauren (no, really) and that I'm a casual PvE player...well, I'm sure the image comes together in your mind. I am clueless about classes which ~= Warrior, Shaman, Druid, and Hunter. <.< But I am learning! ...or at least I'm using friends alts to experiment with, but that constitutes learning.

I'll change the dscription to match.

I'll need a new offensive spell now...

Hm.

...

I'm-a use Starfire!

<.<

...

Back to the original topic!

The chances are simply a math.random upon math.random, they use this formulae.

1. Note which spell we are using.
2. Scan and note every entry that uses that spell.
3. With all of those collected, select one at random from the pile.
4. Check if that entry has a random number.
5. Run a simple check against that number, if random is the same as...

So basically, 1 in 100 would probably be a bit too much, you could probably set them 1 in 10 and you'd be just fine. From the start I was thinknig of allowing the user to specify a 'priority number' but I dismissed this because I figured it might be a very confusing element to deal with... "What did I set the potential for that line to? What about this one? How should this line factor in between the previous two? Oooh, new spell! Wait, that means... awww [explosive expletive]!!!"

If you think it's a good idea, I might include it anyway. If you other thoughts and a better idea of how the randomising should work, then please do share. You know me, I'm always open to feedback... and if my mod is better at the end of the day for it, then everyone benefits!

I do apologise though for not having explained the random element properly (or even at all) in the description... I should've gone over exactly how that works. There might even be users of Spelling who aren't aware that this functionality exists... I shall have to correct that.

Nonetheless, this reply is already far too long (sorry!) and I've digressed a number of times... and I don't really have anything else to add now. But I do thank you for trying each new release of Spelling and providing feedback, it really is appreciated! And I'm glad the latest version worked as expected for you.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: