Client Determination Snippet

This snippet will ask players' clients to identify themselves when they connect. This can come in handy 
for troubleshooting, and allow imms to give advice on what to do for certain clients, or ways to 
optimize based on client. A good coder could also use this information to establish preset options and 
settings based on client, such as turning the pager on automatically for unrecognized clients, in case they 
do not allow scrolling, and turning color on for clients it recognizes as having color capability.

Adding a New Channel

This is a walk through for the implementation of a new channel, step by step. The example channel used
is the swear channel. This walk through comes complete with a sample command to use the channel. You will
have to use your own judgement in customizing your channel.

Extending Channel Bitvectors

This is a walkthrough in converting channels to use extended bitvectors. This converts the possble number
of channels from 32, to 128, which should be more than enough channels to assist you in most any endeavor.

Area Pointers

Ever notice that rooms point to the area they're a part of, but objects and mobs don't? This is how you can fix that.

Full Command Name

If you want to secure commands against accidental partial typing without creating ridiculous 
nannying commands for all of them, this is a guide to creating a flag that will automatically
require the command to have its full name used in order to access it.
A practical example would prevent someone typing co to consider accidentally triggering a
copyover, or someone who meant to reply using re and getting reboot. Under normal circumanstances
those would not happen anyway, since other commands have higher precedence, but other commands
you might make, might need this protection (delete for one, destroy for another), two things you
seriously don't want to run the risk of triggering accidentally.

Mudprog Variables
Allows you to create and utilize pointers within mudprogs to give more info and realism,
as well as set variables within them. For SMAUG-FUSS an updated version is available here.
This can be a somewhat complex and advanced snippet. Part of it's functionality is deprecated in
my own MUD for even more complex enhancements, so my ability to support this is limited.


Auto WordWrap
This allows you to just type as much as you want and the mud will automatically word wrap it for you,
when you're inside an editing buffer.

Mudprog Concatenation
This allows you to a way to get around the 80 character limit inside a prog by using multiple lines
whenever you need to.

Mudprog Pre-Progs
This allows you to create progs that will not only react to things having happened, but actually
stop them from happening if you want to. Instead of removing a person from a room for example, you
can simply not let them enter. Want them to not wear something that belongs to another clan? Don't
make them remove it, simply never let them wear it in the first place. 

Transmission Speed
Add user definable transmission speeds from the MUD. Users can set their speed anywhere from 
the default 1/2 K to 5K... a full 10 times faster than it normally output.

Racial Skills
Allows you to assign any spell/skill/etc to any race or class, instead of just any class, and instead
of having a 'special' skill type just for races.

Hanging Spells
This outlines how to go about adding physical spell manifestations to your MUD, such as a spell of
darkness, light, and continual versions of each. Similar floating spells can be constructed by
adapting these and adding your own supporting code, or you can install just for these four popular
spells.

Spells with Timers
This explains how to make multistep and perpetual-casting spells. 

Skill ifchecks
This system can actually be used for more than just skills, you can add ifchecks to pretty much anything
following the basic guidelines in here, and with usage of parse_conditionals.

Overland Bitmaps
For those out there who don't understand RAW image files, don't have the programs necessary to open
one, and just plain don't the hassle of dealing with them, this snippet changes samsons' overland
code to support both bitmaps (*.bmp) and the standard raw files (*.raw). Once installed your mud
can both read in bitmaps and raws, and save either as a bitmap. With a little modification you can
also have the option of which format you want to save in.

Basic Permission System
This outlines how to make a command that will not complete unless the victim gives it permission to.

Dice Formulas

This snippet addresses some issues with the Smaug dice formula parsing, removing faulty math due
to spacing, mishandled parenthesis, and improperly parsed usage of min/max operators. Basically
what it does is go through and rip out parenthetical statements and work out the math from the
inside out, instead of just parsing it left to right, which it otherwise seems to do.

An example problem as it loops through:
        Step 1] (((G/4)-Y){(G/10))
        Step 2] ((750-Y){(G/10))
        Step 3] (62{(G/10))
        Step 4] (62{300)
        Step 5] 62
        Result of "( ((G/4)-Y)  { (G /10) )" is: 62      <-- Retarded spacing in the math was intentional test
        Timing took 0.000433 seconds.

G = 3000 Y = 688 for the mathophobes/philes out there.

In reverse:

        Step 1] (((G/4)-Y)}(G/10))
        Step 2] ((750-Y)}(G/10))
        Step 3] (62}(G/10))
        Step 4] (62}300)
        Step 5] 300
        Result of "( ((G/4)-Y)  } (G /10) )" is: 300     <-- Retarded spacing in the math was intentional test
        Timing took 0.000436 seconds.

Channel Socials
This lets a player do a social, even on another player/mob, via channels. 
Example: chat @poke bob, will perform the poke social, on bob, over the chat channel.

Active Backtrace
This lets you trigger a backtrace and do with it as you will, from any point of your code, with minimal interruption.
For bug handling this lets you see everything that led up to the current bug so you can stop it from happening again.