Abelinc's Aardwolf Tinyfugue Spellup Script v3

Quickstart Guide

For starters, of course, you will need to put the files where tinyfugue can get to them. All files for my spellup script are in their own directory called "spellup" except "variables.tf" and "edit-variables.tf" which go in the main .tf-dir (because my pots script uses them as well). I personally have them in my ~/.tf-dir/ directory, but they could also be put on the machine-wide tflib directory. I am distributing the files in a standard .tgz archive, so if you're using gtar, you can cd into your .tf-dir and type "tar -zxf /path/to/spellup.tf" to put the whole directory there. Additionally, I'm distributing them in pkzip format, and the .zip files have DOS line endings so they'll work on Windows machines without the need to convert them.

There are 2 steps that must be done from the command line once the files are in place. (1) is to put a call to spellup/spellup.tf in one of your startup files. As mentioned on the script's main page, I do this in an aard.tf file that is called whenever I connect to aard. If aard is your only MUD, you can call it directly from your .tfrc file. Hey, I like Macs so much, there is no step 2 :) (that's for those that remember the iMac commercial for connecting to the Internet).

Now we're ready to do everything within tinyfugue, so you can go right ahead and fire it up and connect to aard. NEARLY everything in this 3rd version of my script is done automagically. Here's what happens:
1) When spellup/spellup.tf is loaded, it checks to see whether it has been setup or not.
2) If the variables.tf does not have the variables_initialized flag set, then it will wait 15 seconds & load spellup/setup.tf.
3) Setup.tf then loads up some macros & triggers to determine everything.
4) 15 seconds later, it sends finger, owned and wish to the MUD.
5) Armed with the output from those commands, it sets your level, your Tier (and calculates your "effective_level"...the level at which you get spells), your race, all of your classes (and tierclasses), your aard-EQ and your wishes.
6) It then echoes to your window a setup-summary telling you what it just entered as your settings so that you may override them if you choose.
7) 15 seconds after that, it /undef's the setup macros & triggers to unclutter your tf :).

Depending on your classes, there are some further preference settings that you must make manually. The setup script will echo to your window if there are settings that need to be made & will tell you the commands to type. These settings are:

1) If your class gets protection evil and/or protection good, you can use /protect to toggle which of those you wish to cast.
2) If your class gets disrupt, when you get that, the spellup script can disrupt spells that are going to wear off soon so they don't wear off during battle. Type /spell-length # to tell it what the "safe" length is. Spells of that length and longer will be left alone, while spells shorter than that will be disrupt & recast whenever you run spellup.
3) Finally, if you're a psi, you can decide whether you wish to cast the "share" spells when giving someone else a spellup. Type /wanna-share to toggle whether or not you want to cast them.

There are 5 ways to use the spellup script. None require a leading slash:
1) spellup
2) spellup help
3) spellup count
4) spellup [name]
5) spellup (resist|AC|stats|saves|detect|stealth|effect)

1) spellup will send saff to the MUD. It loads a list of what spells each class you have gets at your level. It then looks up your aardEQ, race, & wishes from its variables and sets those spells to ignore. If you have disrupt, it looks at the length of all the spells you're under and marks all of the long ones to ignore and marks the long ones to disrupt. If you have the reports set to Full, it will echo to your window a rather ugly list to tell you exactly which spells it's about to try (it just sends a /listvar need*). If you have the reports set to anything other than None, it will then grouptell "There are # spells that need disrupting. There are # spells to (re)cast." If your class also has cancellation, it will gtell "There are # long spells and # disruptable spells." If there are more long spells than disruptable spells, it will cast cancel instead of disrupting them one-by-one. When it finishes disrupting, it will gtell "OK, Disruption is done. Now proceeding with the casts." As it just told you, it will then do the casts. When done with that, it will gtell "OK, the casting portion of the spellup script is done." & you're done. I don't bother to trigger for lost concentration, so you can (1) live with that, (2) pay attention and recast those few spells manually, or (3) type "spellup" again to catch the strays.

2) spellup help will echo a command synopsis to your window.

3) spellup count will do everything except do the actual disrupts or casts. It will do the saff, & give you the reports on what it would do if you just typed spellup.

4) spellup [name] will look up your classes, your level, and your wanna-share setting and will give [name] a spellup.

5) spellup [TheListAbove] will give yourself a spellup with only spells of that type.