GLOBALS LISTING UTILITY
-----------------------
This program lists global commands available on this MUCK.
> globals #help             -- shows this screen
> globals #list             -- complete alphabetized global listing
> globals #page             -- lists pages available
> globals #page {n}         -- lists indicated page
> globals {name}            -- shows information for indicated global
Pages available: 1 to 8.
1) Informational Globals
2) Player Information Globals
3) Communications Globals
4) Roleplaying Globals
5) Room Building and Maintenance
6) Other Toolkit Globals
7) Travel Globals
8) Miscellaneous Globals


COMPLETE GLOBALS LISTING
Global     Description                                      Help Info
---------------------------------------------------------------------------
.          set up a private talk session to another player  . #help
3who       as "WHO", but formatted in 3 columns             look 3who
@Archive   to make archives of constructed areas            @archive =help
@Backlink  make an exit back to current location            look @backlink
@Bootme    boots off duplicate character connections        look @bootme
@Breaklink remove unwanted links to your character/property @breaklink #help
@Bulletin  show messages of general importance              (none)
@Image     Shows where to find a .gif of character on 'net. @image #help
@Quota     shows your building quotas and totals            (none)
@Recycle!  recycle an item or room remotely by dbref #      (none)
@Relink    unlinks, attempts to relink action/room          look @relink
@Shout     for public general-interest announcements        @shout #help
@Size      "@size {item}" calculates memory taken up        (none)
@Sizeall   calculates your entire memory usage              (none)
@Unparent  set parent of room to default (#0)               look @unparent
Antivirus  for detecting "viruses"                          antivirus #help
AutoSweep  send your character home when disconnected       as
Banish     to keep out pesky players                        banish #help
Change     make small changes to messages/properties        change
Commands   shows locally-available "globals"                commands #help
Contents   show contents of a room                          look contents
Doing      set "doing" prop / see what others are doing     do #help
Eat        eat or drink "food" or beverages                 eat #help
Edit       edit messages/properties (needs TinyFugue)       edit
Editaction utility to aid in editing actions                editaction #help
Editroom   utility to aid in editing rooms                  editroom #help
Exits      show the exits from a room                       exits #help
Globals    lists actions available MUCK-wide                globals #help
Goband     global exit shortcut to Under the Bandstand      (none)
Gohome     global exit shortcut to your home                (none)
Hand       hand an object to someone                        hand #help
Helpstaff  shows helpstaff members online                   (none)
Hug        hug something or someone                         hug
List       displays a list of properties                    look list
Lookat     look at objects people are carrying              lookat #help
Lsedit     edit a list of properties                        look lsedit
Map        shows a map of area and your position            map #help
Morph      (Poly)morph into different forms                 morph #help
Muckers    shows programmers online                         (none)
Mumble     garbled "whisper" for roleplaying                look mumble
Navigate   shows path to destination in certain areas       nav #help
Nexus      global exit shortcut to Underground Nexus        (none)
Page       send messages to players wherever they are       page #help
Pet        allows creation of a "pet" to follow you         pet #help
Pinfo      IC/OOC player/character information              pinfo #help
Pose       action message                                   look pose
Programs   lists publicly usable programs                   programs #help
Propcp     copy properties from one object to another       propcp #help
Propmv     move properties from one object to another       propmv #help
Pupcheck   detects any puppets in area                      pupcheck #help
Pwho       allows you to maintain a personal "WHO" listing  pwho #help
Ride       for riding other characters to other rooms       ride #help
Roll       to "roll dice" for online gaming                 look roll
Run        moves between several rooms quickly              look run
Say        say something                                    sayhelp
Show       display properties/messages on an object         show @help
Smell      smell something or someone                       smell #help
Spoof      anonymous messages for special effects           spoof #help
Sweep      send sleeping characters home                    sweep #help
Taxi       take the taxi to various locations               (none)
Think      send customized messages to players in same room think
Throw      throw something to someone                       throw #help
Watchfor   notifies you when a player logs on/off           watchfor #help
Whatis     special information utility                      whatis #help
WhereAre   See players located in certain popular rooms     wa #help
Whereis    shows locations of players specified             whereis #help
Whisper    send messages to players in same room            whisper #help
Who        show awake and sleeping players in the same room (none)
Whodo      "WHO" listing with "doing" entries               wd #help
Whospe     shows the species and gender of players in room  ws #help
Wizzes     shows Wizards online                             (none)


GLOBALS LISTING BY SUBJECT
PAGE 1 -- INFORMATIONAL GLOBALS
Global     Description                                      Help Info
---------------------------------------------------------------------------
@Bulletin  show messages of general importance              (none)
Commands   shows locally-available "globals"                commands #help
Globals    lists actions available MUCK-wide                globals #help
Hand       hand an object to someone                        hand #help
Helpstaff  shows helpstaff members online                   (none)
Muckers    shows programmers online                         (none)
Programs   lists publicly usable programs                   programs #help
Pupcheck   detects any puppets in area                      pupcheck #help
Wizzes     shows Wizards online                             (none)

PAGE 2 -- PLAYER INFORMATION GLOBALS
Global     Description                                      Help Info
---------------------------------------------------------------------------
3who       as "WHO", but formatted in 3 columns             look 3who
@Image     Shows where to find a .gif of character on 'net. @image #help
Doing      set "doing" prop / see what others are doing     do #help
Pinfo      IC/OOC player/character information              pinfo #help
Pwho       allows you to maintain a personal "WHO" listing  pwho #help
Watchfor   notifies you when a player logs on/off           watchfor #help
Whatis     special information utility                      whatis #help
WhereAre   See players located in certain popular rooms     wa #help
Whereis    shows locations of players specified             whereis #help
Who        show awake and sleeping players in the same room (none)
Whodo      "WHO" listing with "doing" entries               wd #help
Whospe     shows the species and gender of players in room  ws #help

PAGE 3 -- COMMUNICATIONS GLOBALS
Global     Description                                      Help Info
---------------------------------------------------------------------------
.          set up a private talk session to another player  . #help
@Shout     for public general-interest announcements        @shout #help
Page       send messages to players wherever they are       page #help
Say        say something                                    sayhelp
Think      send customized messages to players in same room think
Whisper    send messages to players in same room            whisper #help

PAGE 4 -- ROLEPLAYING GLOBALS
Global     Description                                      Help Info
---------------------------------------------------------------------------
Eat        eat or drink "food" or beverages                 eat #help
Hug        hug something or someone                         hug
Lookat     look at objects people are carrying              lookat #help
Morph      (Poly)morph into different forms                 morph #help
Mumble     garbled "whisper" for roleplaying                look mumble
Pet        allows creation of a "pet" to follow you         pet #help
Pose       action message                                   look pose
Ride       for riding other characters to other rooms       ride #help
Roll       to "roll dice" for online gaming                 look roll
Smell      smell something or someone                       smell #help
Spoof      anonymous messages for special effects           spoof #help
Throw      throw something to someone                       throw #help

PAGE 5 -- ROOM BUILDING AND MAINTENANCE
Global     Description                                      Help Info
---------------------------------------------------------------------------
@Archive   to make archives of constructed areas            @archive =help
@Backlink  make an exit back to current location            look @backlink
@Unparent  set parent of room to default (#0)               look @unparent
Contents   show contents of a room                          look contents
Editroom   utility to aid in editing rooms                  editroom #help
Exits      show the exits from a room                       exits #help

PAGE 6 -- OTHER TOOLKIT GLOBALS
Global     Description                                      Help Info
---------------------------------------------------------------------------
@Breaklink remove unwanted links to your character/property @breaklink #help
@Recycle!  recycle an item or room remotely by dbref #      (none)
@Relink    unlinks, attempts to relink action/room          look @relink
Change     make small changes to messages/properties        change
Edit       edit messages/properties (needs TinyFugue)       edit
Editaction utility to aid in editing actions                editaction #help
List       displays a list of properties                    look list
Lsedit     edit a list of properties                        look lsedit
Propcp     copy properties from one object to another       propcp #help
Propmv     move properties from one object to another       propmv #help
Show       display properties/messages on an object         show @help

PAGE 7 -- TRAVEL GLOBALS
Global     Description                                      Help Info
---------------------------------------------------------------------------
Goband     global exit shortcut to Under the Bandstand      (none)
Gohome     global exit shortcut to your home                (none)
Map        shows a map of area and your position            map #help
Navigate   shows path to destination in certain areas       nav #help
Nexus      global exit shortcut to Underground Nexus        (none)
Taxi       take the taxi to various locations               (none)

PAGE 8 -- MISCELLANEOUS GLOBALS
Global     Description                                      Help Info
---------------------------------------------------------------------------
@Bootme    boots off duplicate character connections        look @bootme
@Quota     shows your building quotas and totals            (none)
@Size      "@size {item}" calculates memory taken up        (none)
@Sizeall   calculates your entire memory usage              (none)
Antivirus  for detecting "viruses"                          antivirus #help
AutoSweep  send your character home when disconnected       as
Banish     to keep out pesky players                        banish #help
Run        moves between several rooms quickly              look run
Sweep      send sleeping characters home                    sweep #help


.          SET UP A PRIVATE TALK SESSION TO ANOTHER PLAYER  . #HELP
Cross-connect Ver 1.2 by Riss
Cross-connect allows for free form communication between any 2 players on
Furry. That is this program may be set to allow totally unformatted text
to flow between 2 agreeing players.
Usage:  (Commands may be abbreviated to first 3 characters after the #)
. #connect <player's full name>
     Sends a request to connect to that player. It includes your name.
     Player should respond with a . #connect <yourname> to connect.
. text...      - Sends the text to the other player.
. #disconnect  - Brakes the connection.
. #echo        - Sets Cross-connect to echo your message back to you.
. #!echo       - Turns echo off. (default)
. #header <your header text> - Changes default line header '}' to your
                    own text. This displays in front player messages.
                    Set header to 'none' to for no header at all.
. #!header     - Restores the default header '}'.
. #name        - Display the sender's name before message.
. #!name       - Turn off name display. (default)
. #free        - Disables both header and name display. Free text.
. #!free       - Enables name and header. (default)
. #status      - Displays the status of your connection.
Cross-connect will allow for totally free form communication between
 two players. This connection is muck-wide, that is both players need
 not be in the same room for the connection to work.
You may choose to display the lines with or without a character header
 and/or the player's names. When #free is set, you will see exactly what
 the other player types, no substitutions of any kind take place.
You may choose to have your lines echo to you or not, depending on your
 echo setting. Your #echo, #free, and #name setting will be remembered
 between connections.
You should make sure you #disconnect when you are finished, or you could
 leave your self open to spoofing by the previous player should you fail
 to see their connect message.
This program has been beta-tested on Furry, and it takes a bit of getting
 used to when you don't see the familiar name display. Start thinking in
 terms of 'I' do this, or 'I' say that. Think of talking directly to someone.

If there is interest, I could work on a version that will allow for
 free communication between more than two players. Let me know what
 you think. Questions and comments to Riss.


3WHO       AS "WHO", BUT FORMATTED IN 3 COLUMNS             LOOK 3WHO
3who displays the who list in a 3 column format.


@ARCHIVE   TO MAKE ARCHIVES OF CONSTRUCTED AREAS            @ARCHIVE =HELP
Syntax: @archive <object>[=1acefil]
 @archive <object>=1    Archive only that object.
 @archive <object>=a    Archive all, regardless of owner.  (wizards only).
 @archive <object>=c    Don't archive contents.
 @archive <object>=e    Archive objects not in this room's environment.
 @archive <object>=f    Don't archive floater child rooms unless linked to.
 @archive <object>=i    Archive, including even globally registered objects.
 @archive <object>=l    Don't follow links or droptos in archiving.
NOTE: Turn off your client's wordwrap before logging an @archive output.
Also, remove the 'X lines displayed.' line listed at the end of programs.


@BACKLINK  MAKE AN EXIT BACK TO CURRENT LOCATION            LOOK @BACKLINK
                                 { #<DB> [,<return_exitname] }
Usage:  @backlink <exitname> [ = { here                      } ]
                                 { me                        }
                                 { <name>                    }

Follows standard permissions for opening and linking exits.
Opens an exit from a room to a place or person. In the case
of opening an exit to another room, it has the option to open an
exit back to the location you are opening the first exit from.


@BOOTME    BOOTS OFF DUPLICATE CHARACTER CONNECTIONS        LOOK @BOOTME
Usage: @bootme.  Boots off all but your newest connection to the MUCK.


@BREAKLINK REMOVE UNWANTED LINKS TO YOUR CHARACTER/PROPERTY @BREAKLINK #HELP
Usage: @breaklink <object|exit|player>

   @breaklink is used to break the link of an object, player, or
   exit which is linked to you (or, in the case of a player, a room
   which is owned by you), but is not owned by you.  If the target
   object is of type thing, it is relinked to its owner's home.  If
   it is an exit, it is simply unlinked.  If it is a player, it is
   relinked to a default location and sent there.


@IMAGE     SHOWS WHERE TO FIND A .GIF OF CHARACTER ON 'NET. @IMAGE #HELP
@Image ver. 1.1                        Copyright 7/10/1994 by Revar
-------------------------------------------------------------------
@image <object>            To see where to find a gif of the object
@image <obj>=<URL>         To specify where one can find a gif of
                             that object.  The URL is the WWW URL
                             format for specifying where on the net
                             a file is.
@image <obj>=clear         To clear the image reference.
-------------------------------------------------------------------
URL's have the following format:   type://machine.name/path/file
For 95% of you on Furry, your gifs will be on avatar, available for
anonymous ftp.  The type for that would be 'file', and the machine
name, obviously, would be avatar.snc.edu.  So, if I wanted to show
that people can find an image of Revar on avatar, I'd just do:
@image Revar=file://avatar.snc.edu/pub/furry/images/downloads/r/Revar-1-gw.gif

Those of you who have used Mosaic or lynx to access WWW might find
this URL format familiar.  It's because it's the same exact format.
Please keep your info in this format, since it makes it easier, if,
sometime in the future, someone were to write a graphical front end
for furryMUCK, then they could automatically get a picture of what
they looked at.  Anyone want to write said client program?


@RELINK    UNLINKS, ATTEMPTS TO RELINK ACTION/ROOM          LOOK @RELINK
Relinks an exit.  Syntax: @relink <exit> = <newdest>


@SHOUT     FOR PUBLIC GENERAL-INTEREST ANNOUNCEMENTS        @SHOUT #HELP
@shout  Ver 2.2FB By Riss.
For use by folks for general announcements to players who wish to hear.
Any player may: @shout #off   -To NOT hear the shouts from a Wizard.
                @shout #on    -To hear the Wizard shouts. (default)
                @shout #pubon -To enable you to hear and make public shouts.
                @shout #puboff -To disable public shouts. (default)

Public may:     @shout <message> to be heard by folks who are #pubon
         Public shouts are limited to 1 every 10 minutes per player.
Wizards may:    @shout <message> to be heard by folks who are #on
                @pshout <message> to produce a public type shout.

Any shout my be posed with: @shout :<message> or @shout :'s <message>
And folks, if you don't care to listen to the public shouts, don't
 complain to the wizzes, set yourself #puboff. Also, anyone abusing
 or otherwise making a jerk of themselves, in the opinion of a wizard,
 can be banned from using @shout. Please do not misuse this privilege.


@UNPARENT  SET PARENT OF ROOM TO DEFAULT (#0)               LOOK @UNPARENT
Usage: @unparent {<room> | here}.  Sets the parent of a room to be #0.


ANTIVIRUS  FOR DETECTING "VIRUSES"                          ANTIVIRUS #HELP
Anti-Virus v1.0 help:
    anti-virus ----------------- check yourself
    anti-virus <name or #num> -- check the object given
    anti-virus #help ----------- displays this help message

This program simply checks if the object's description, success, fail,
or drop messages have been set to the form '@<prognum> message' where
the <prognum> is _not_ present in a directory of 'approved' message
programs stored on the program.

If anti-virus reports an error and the program in question is a personal one
the user knows to be safe, then the user should set the object with the
property '_anti_virus:no' {@set me = _anti_virus:no for instance} and
anti-virus will ignore the object.  Alternately, the user should page #mail
the owner of the program requesting that the program be added to the
approved list of messages.

Alternately, you can @lock something to the anti-virus program and it will
then automatically check you every time the lock is tested.


AUTOSWEEP  SEND YOUR CHARACTER HOME WHEN DISCONNECTED       AS
AutoSweep: Type 'autosweep #help' for help.
  AutoSweep is used to automatically send you home after a given
  amount of time when you disconnect.  It also gives to the ability
  to set custom messages to display when you connect or disconnect.
AutoSweep Help:
  #help - This list.
  #stat - Shows current settings.
  #on   - Turns AutoSweep on.
  #off  - Turns AutoSweep off.
  #skip - Turns AutoSweep off only for the next disconnect.
  #fast - Sets AutoSweep to instantly sweep on the next disconnect.
  #delay=<time> - Sets the sweep delay to <time> seconds.
  #disc=<msg> - Sets the message displayed when you disconnect.
  #odisc=<msg> - Sets the alternate message displayed when you
          disconnect AND you have AutoSweep active.
  #swept=<msg> - Sets the message displayed when you get swept.
  #fast=<msg> - Sets the message when you get swept in fast mode.
  #conn=<msg> - Sets the message displayed when you connect.
  ( If the <time> or <msg> is blank, value gets set to the default.
    Each <msg> is automatcally prepended with your name. )


BANISH     TO KEEP OUT PESKY PLAYERS                        BANISH #HELP
Banish 1.1 by Riss
-------------------------------------------------------------------
This routine will allow an owner of a room or area to banish one or
more characters from the area. If a character attempts to enter an
area they are banished from they will be swept home.
-------------------------------------------------------------------
Banish [#dbref_of_room] chracter_name    -Banishes character
Unbanish [#dbref_of_room] chracter_name  -Unbanishes the character
Banlist [#dbref_of_room]                 -Shows who is banished
Banish #help                             -This text.
The #dbref_of_room is optional, and if not provided will use the
list of your present location. If the list for an environment room
is set, then character will be banned from all daughter rooms.
If a character is in a room when they are banished from it, they are
swept home. You may only banish characters from rooms you own.
Example: Banish #12345 keylime   - keylime banished from room #12345
         Banish keylime          - keylime banished from current room
         Unbanish #12345 Guest   - Sure let the guest come and play.
         Banlist #12345          - Show me whos on my list there.
 Another wonderful global by that swishy tail centaur! :)


CHANGE     MAKE SMALL CHANGES TO MESSAGES/PROPERTIES        CHANGE
Name: Change v1.04   Written by Tygryss/Revar   Last updated 6/15/94
Desc: Lets you replace some text in a message or property with
       new text.  Useful for fixing typos in a long message.

Syntax: change <object>=<propname>:/<old>/<new>   or
        change <object>=<mesgtype>;/<old>/<new>

<mesgtype> can be name/desc/succ/osucc/fail/ofail/drop/odrop
The first character after the : or ; is the delimiter character,
  in this case a '/'.


COMMANDS   SHOWS LOCALLY-AVAILABLE "GLOBALS"                COMMANDS #HELP
Comlist.muf -- #56701 -- last updated 9/29/93
---------------------------------------------
This program displays 'pseudo-globals' in the local environment tree.
The main purpose for this is for builders to be able to include information on
actions or special programs available in their areas but not truly set up as
globals.  Examples of this would be various 'put', 'push', 'dig' or other
adventure-game type commands to be set up in an adventuring area.
To set an action so that it will show up on this list, set the following props:
@set {action}=_global?:yes          <-- It will be shown in the listing.
@set {action}=_global/info: {text}  <-- Brief info on program usage.
... It is recommended that the _global/info include a quick example of the
format of the command, or else show how to get help with the program, such
as typing '{action} #help'.


CONTENTS   SHOW CONTENTS OF A ROOM                          LOOK CONTENTS
Usage:
    contents [ #<dbref> or <object-name> ]

Purpose:
    Gives you a one-line list of items in your current location or in
the location you specify with [arg].  Will not show you dark objects
unless you own the objects.  Will show dbref# and flags if you own the
object or it is Link_OK, Abode, or Chown_OK.

    The argument is the location to show.  It can be either a player or
a room. If it begins with a "#" then it's taken to be a dbref number;
you must own the object or it must be in the same location as you.  If
the argument does not begin with a "#" then it is 'match'ed normally.

    If you have any problems or comments/suggestions, page darkfox or
leave him page #mail.


DOING      SET "DOING" PROP / SEE WHAT OTHERS ARE DOING     DO #HELP
Doing   Ver 1.1 by Riss
-----------------------
This program will allow you to set your 'Im doing this now...' property and
 display these properties for those players in the same room as you.

Usage:
do <text...text....text....text...> will set your TEMP Doing to the text.
do     will display the names and doing property of those around you.
do :   will clear your TEMP Doing.
do s: <text...text....text...> will set your STICKY Doing.
do s:  will clear your STICKY Doing.

A TEMP Doing will automatically clear itself when you move out of a room,
 and will overide the STICKY Doing while it is available.
A STICKY Doing will display in DO or WhoSpe if there is no TEMP Doing.
If a player is asleep, the property will display [asleep]

If DO interfears with a DOWN command, use DOING as the command.
Thanks to Jet for suggesting the TEMP Doing idea.
Comments and questions to Riss. Enjoy!


EAT        EAT OR DRINK "FOOD" OR BEVERAGES                 EAT #HELP
Eat.muf, programmed by Jordan Greywolf and BoingDragon.
based on work by Lynx and WhiteUnicorn
----------------
With this command, you may 'eat' or 'drink' virtual food, with
accompanying 'special effects'.  In its simplest form, you can
create a food object by taking an object and setting it _food?:yes
To specify it as a drink rather than solid food (i.e. to change
the default messages, then set it food/drink?:yes.
.
For more details, type '@view #47459' to see the program docs.


EDIT       EDIT MESSAGES/PROPERTIES (NEEDS TINYFUGUE)       EDIT
Name: Edit v1.00   Written by Tygryss   Last updated 6/21/91
Desc: Lets you use the tinyfugue /grab feature to edit a message
       or property.  Requires tinyfugue 1.5.0 or later with this
       trigger defined:  /def -fg -p100 -t"##edit> *" = /grab %-1

Syntax: edit <object>=<propname>   or
        edit <object>=@<mesgtype>

<mesgtype> can be name/desc/succ/osucc/fail/ofail/drop/odrop


EDITACTION UTILITY TO AID IN EDITING ACTIONS                EDITACTION #HELP
Action Hammer V1.0 (C) 1994 by Triggur
--------------------------------------
This program lets you edit attributes of the actions of the room you
are in, provided you own it.  Type 'editaction' to use it.


EDITROOM   UTILITY TO AID IN EDITING ROOMS                  EDITROOM #HELP
Room Hammer V1.4 (C) 1994 by Triggur
------------------------------------
This program lets you edit attributes of the room you
are in, provided you own it.  Type 'editroom' to use it,
or 'editroom <room name>' to create a new room from anywhere.


EXITS      SHOW THE EXITS FROM A ROOM                       EXITS #HELP
EXITS LISTER V2.0 written 11-03-91 by: Bunny
This program is designed to show the exits on an object owned by
the player using the program. The Program will show the exit name,
database number, destination and its number. It will work on objects,
rooms, and yourself.
The valid parameters are "here" or "" for the room you are in
"me" for yourself, an object name, or partial name. For the name search
the object must be in your inventory or in the room. You can also
give a database number in the format #<integer> ex: #1234. This will
find the exits from that object regardless of where it is.
#help will list this help file.

CREDITS/SPECIAL THANKS:
Lynx, Gazer, and Foxen for code assistance
Pleasure, Bruce, and Volan for help debugging the program


GLOBALS    LISTS ACTIONS AVAILABLE MUCK-WIDE                GLOBALS #HELP
Globals Listing Utility
-----------------------
This program lists global commands available on this MUCK.
> globals #help             -- shows this screen
> globals #list             -- complete alphabetized global listing
> globals #page             -- lists pages available
> globals #page {n}         -- lists indicated page
> globals {name}            -- shows information for indicated global
Pages available: 1 to 8.


HAND       HAND AN OBJECT TO SOMEONE                        HAND #HELP
------------------------------------------------------------------------------
  Hand: General Help                                                  Page 1
------------------------------------------------------------------------------
  hand #ok      To set yourself so people can hand objects to you.
  hand #!ok     To set yourself so people can not hand objects to you.
  hand #msgok   To set yourself so you can use custom messages with objects.
  hand #!msgok  To set yourself so you don't use custom messages with objects.
  hand #help2   For info on how to set custom messages on objects.
  hand #help3   For info on how to set personal hand messages on yourself.
------------------------------------------------------------------------------
  Hand: Custom hand messages on objects                               Page 2
------------------------------------------------------------------------------
  Custom handing messages can be set on the objects by using the
  hand_msg property.

  Example: @set <object>=hand_msg:<message>
           @set apple=hand_msg:tosses the %n to %t.

  String substitution in the message is:
           %n is the object's name
           %t is the name of the receiving player
           %f is the name of the sending player

  Note: hand_msg is *always* is preceeded by the sending player's name.
------------------------------------------------------------------------------
  Hand: Personal hand messages                                        Page 3
------------------------------------------------------------------------------
  Custom handing messages can be set on yourself by using the
  hand_msg property.

  Example: @set me=_hand/hand_msg:<message>
           @set me=_hand/hand_msg:tosses the %n to %t.

  String substitution in the message is:
           %n is the object's name
           %t is the name of the receiving player
           %f is the name of the sending player

  Note: hand_msg is *always* is preceeded by the sending player's name.
------------------------------------------------------------------------------


HUG        HUG SOMETHING OR SOMEONE                         HUG
Squirrelly's global action program - 7/29/94
Usage:  hug <victim>
Properties you can set:
_act/def/hug: shown to person who does it to you.
_act/def/vhug: shown to you when done to you.
_act/def/ohug: shown to others in the room.
_act/<male|female>/<hug|vhug|ohug>:  shown if the person doing
   is male/female.
_act/<name>/<hug|vhug|ohug>:  shown if the person doing it
   has that name.

nohug: prevents the action from being used on you.
noglobals: prevents all global verbs from being used on you.


LIST       DISPLAYS A LIST OF PROPERTIES                    LOOK LIST
This command displays a list of the sort created by 'cmd-lsedit' and used by
@6800 (longdesc).  The syntax for it's use is:  list <object>=<listname>


LOOKAT     LOOK AT OBJECTS PEOPLE ARE CARRYING              LOOKAT #HELP
MUFlookat v1.30 by Foxen   Updated 2/7/94   Page1
----------------------------------------------------------------------------
Syntax:  lookat <player>'s <object>
    or:  lookat <player> <object>
    Lets you look at an object that a player is carrying, and see its @desc.

You can set these properties on objects:
    _remote_desc:<desc>  Shown instead of the objects @desc.  If this (or
                          the @desc if this doesn't exist) uses a program
                          like @6800, it will handle it properly.
    _remote_look?:yes    Allows lookat'ing for that object.  On a player,
                          allows looking at anything they carry unless the
                          object is set _remote_look?:no
----------------------------------------------------------------------------


LSEDIT     EDIT A LIST OF PROPERTIES                        LOOK LSEDIT
This program lets you edit lists that are used for the @6800 longdesc
program and a few others.  A list is a set of ordered properties that
contain strings.  ie:
     mylist1:This is
     mylist2:an example of
     mylist3:a simple list.

To edit one of these lists, use the syntax:   lsedit <object>=<listname>
where <object> is the object that you want to edit the property list
of, and <listname> is the base name of the list to edit.  In the above
example, the listname was 'mylist'.

You can get more help about how to use the editor itself by entering '.h'
on a line by itself while you are in the editor.


MAP        SHOWS A MAP OF AREA AND YOUR POSITION            MAP #HELP
   *---------------------------------*
   |     CMD-MAP2.MUF                |
   |     Created by: Neikrad         |
   |     Updated by: Foxx Fox        |
   |     Version: 2.1                |
   |     Last update: 6 APR 93       |
   *---------------------------------*
INDEX
Page 1:  Intro and Example Map
Page 2:  Properties
Page 3:  Advice on Making a Map
Page 4:  Example Property Setup

< These help screens are displayed with 'help-pager.muf' by Neikrad >
( Options: (i)ndex (n)ext (c)ontinuous (#)[page] (q)uit (?) )

---< Page 1:  Introduction and Example Map >---
Map is a program which allows you to create an ASCII map which indicates
a player's current position with an 'X'.

To make your own map, create an ASCII graphic of an area, and place
markers in each room.  Markers are in the form %A%, %B%, %C%, etc.
Only 26 markers %A%-%Z% can be put in a room (no lower case, %a%)

> Example ASCII Map Below          Player in Engine Room would see..

 | Shuttle Craft                 | Shuttle Craft
 |   >==---.  .-----. .---.      |   >==---.  .-----. .---.
 |     ]%A%|==| %B% |=|%C% >     |     ] X |==|     |=|    >
 |   >==---'  `-----' `---'      |   >==---'  `-----' `---'
 |  Engine rm   Dock  Bridge     |  Engine rm   Dock  Bridge

---< Page 2:  Property Usage >---
>> _map/symbol property
- This property indicates which '%X%' marker a room should use.
- Set this property to a SINGLE CAPITAL letter
  ( e.g. @set here=_map/symbol:B  --  this replaces %B% with ' X ' on a map )
- If this property is not set, then 'map' simply won't show an 'X' anywhere.

>> _map/room property
- This property is set to the dbref number of a room containing the ASCII
  map description.  ( e.g.  @set here=_map/room:12345 )
- The property IS NOT NEEDED if the map is in an environment, or parent room.

>> _map/disable property
- Set this to:  _map/disable:yes  in any room which you don't wish a map to
  be displayed.  ( only useful if a map normally would be seen otherwise )
- This property works down the environment tree.  If a map is disabled in
  a parent room, you can re-enable it in a specific child room by setting
  _map/disable:no

>> _map/ref property
- This property is mainly for use inside vehicles.  It is set to the dbref#
  of a vehicle object ( @set <vehicle interior>=_map/ref:<db of vehicle> )
- With this property, map will indicate the position of the vehicle, not the
  user.
- This ONLY works if <db> is set to an object.

---< Page 3:  Advice on Making a Map >---
1> Make sure the first character in each line of your map begins with the
  same number of leading spaces.  Some client programs eat leading spaces
  and your map could end up looking obscured, as below, to some..
>==---.  .-----. .---.
] X |==|     |=|    >
>==---'  `-----' `---'
Engine rm   Dock  Bridge

2> Try to make maps less than 25 lines long.  If you're area is too big to
   fit in 25 lines.. break it up into multiple maps.  (The program will only
   show the first 100 lines of a map)

3> Use the 'lsedit' list editor to put your ASCII map in your 'map room'
   This will create the _map# property the program requires.
   In your map room, type:  lsedit here=_map

---< Page 4:  Example Property Setup >---
In parent room:  (you can use:  lsedit here=_map  to make this easily)
_map#: 5     <<-- Note: This is REQUIRED..  lsedit adds it automatically
_map#/1: | Shuttle Craft
_map#/2: |   >==---.  .-----. .---.
_map#/3: |     ]%A%|==| %B% |=|%C% >
_map#/4: |   >==---'  `-----' `---'
_map#/5: |  Engine rm   Dock  Bridge

In the Engine room:
_map/symbol: A
( the Dock and Bridge would have this set to B and C respectively )

If you didn't build these rooms in a single parent room.. you can choose
any of these room as a 'map room'.  For example, if you chose the Engine
room as your map room (assume Engine room, dbref #1234 ) then set the Dock
and Bridge with:
_map/room: (string) 1234


MORPH      (POLY)MORPH INTO DIFFERENT FORMS                 MORPH #HELP
Morph Hammer V1.2 (C) 1994 by Triggur
-------------------------------------
This program lets you easily change your description and other attributes.

MORPH #ADD         - Add current description as a new morph
MORPH #HELP        - this text
MORPH #LIST        - list all the morphs you have and their commands
MORPH #REMOVE      - Delete one of your morphs
MORPH <command>    - change to a morph (see morph #list for commands)
QMORPH <command>   - change to a morph quietly

  To use this program, edit your current attributes (by hand or
with PEDIT) to get exactly the form you want.  Type MORPH #ADD
and your current description, sex, species, scent, say and osay
will be copied as a new morph.  You will be expected to answer
a few questions.  First, the 'command'  associated with this
morph.  This should be one word like '2leg' or 'mwolf' or somesuch.
Next the name of the morph.  Only you will see this in MORPH #LIST.
Finally, the text it should print when you change to that new morph.

  To add another morph, simply edit your current description again
and MORPH #ADD again.  Lather, rinse, repeat. :)

WARNING:  If your description is currently using @$desc (@6800 on Furry),
the whole description will be _converted_ to a single MPI list.

NOTE:  Be aware that when you change to a morph, your description
will be overwritten.  If you have multiple descriptions you want
to make morphs for, be sure to MORPH #ADD them all *before*
trying to test one of the new morphs.  PLEASE DELETE YOUR OLD
MORPHS!

Also, please keep the number of morphs you have to under 10.  Thank you!


MUMBLE     GARBLED "WHISPER" FOR ROLEPLAYING                LOOK MUMBLE
A mumbled whisper to one or more people in a room. Those you whipser to see
the clear message, everyone else sees bits. mum <player player ...>=<text>
Mumble remembers who you last mumbled to, so   mum =<text> mumbles to the
last player or group.


NAVIGATE   SHOWS PATH TO DESTINATION IN CERTAIN AREAS       NAV #HELP
Navigation System Help Screen
-----------------------------
Type 'navigate {searchstring}'.
...where {searchstring} is the name of the desired room, or a fragment
of its name.  If the path can be found through standard exits, and
within 6 steps, the shortest path found will be displayed.
For technical information on setting up Nav.muf for your area,
or disabling it, type '@view #76780' to see program documents.


PAGE       SEND MESSAGES TO PLAYERS WHEREVER THEY ARE       PAGE #HELP
MUFpage v2.35 by Foxen   Updated 3/31/92   Index
----------------------------------------------------------------
Aliases            2,A               Multimax              2
Changes            1                 Oformats              3,A,B
Echo               3                 Page format           A,B
Erase              1                 Pose format           A,B
Formatted          3                 Paging                1
Formats            3,A               Pinging               2
Forwarding         3                 Posing                1,B
Global aliases     2,A               Prepend               3,B
Haven              2                 Proploc               3,B
Help               1,2,3             Repaging              1
Hints              1,A,B             Replying              1
Ignoring           2                 Sleepmsg              2
Inform             3                 Standard              3
Mailing            1                 Summoning             1
Mail-checking      3                 Version               1
Multi-paging       1                 Who                   1
--  1 = page #help      2 = page #help2      3 = page #help3  --
--  A = page #hints     B = page #hints2                      --

MUFpage v2.35 by Foxen   Updated 3/31/92   Page1
--------------------------------------------------------------------------
To give your location to another player:     'page <player>'
To send a message to another player:         'page <player> = <message>'
To send a pose style page to a player:       'page <player> = :<pose>'
To page multiple people:                     'page <plyr> <plyr> [= <msg>]'
To send another mesg to the last players:    'page = <message>'
To send your loc to the last players paged:  'page'
To send a message in a different format:     'page !<fmt> <plyrs> = <msg>'
To reply to a page sent to you:              'page #r [= <message>]'
To reply to all the people in a multi-page:  'page #R [= <message>]'
To leave a page-mail message for someone:    'page #mail <players>=<mesg>'
To read all page-mail messages left for you: 'page #mail'
To erase a message you sent to a player:     'page #erase <players>'
To list who you last paged, who last
  paged you, and who you are ignoring:       'page #who'
To display what version this program is:     'page #version'
To display the latest program changes:       'page #changes'
To show who all helped with this program:    'page #credits'
To display an index of commands:             'page #index'
To display the next help screen:             'page #help2'
-- Words in <> are parameters.  Parameters in [] are optional. --

MUFpage v2.35 by Foxen  Updated 3/31/92  Page2
------------------------------------------------------------------------
To test if you can page a player:          'page #ping <players>'
To refuse pages from specific players:     'page #ignore <players>'
To set the mesg all ignored players see:   'page #ignore [<plyrs>]=<mesg>'
To accept pages from a player again:       'page #!ignore <player>'
To let players page you despite haven:     'page #priority <players>'
To remove players from your priority list: 'page #!priority <players>'
To page a group of people in an alias:     'page *<aliasname> = <message>'
To set a personal page alias:              'page #alias <alias>=<players>'
To clear a personal page alias:            'page #alias <alias>='
To list who is in an alias:                'page #alias <alias>'
To list all your personal aliases:         'page #alias'
To set an alias to the players last paged: 'page &<aliasname>'
To make an alias that everyone can use:    'page #global <alias>=<players>'
To clear a global page alias:              'page #global <alias>='
To list all the global aliases:            'page #global'
To list all aliases with a player in them: 'page #lookup <playername>'
To see the time (useful with %w subs):     'page #time'
To set the max# of plyrs in a page to you: 'page #multimax <max#players>'
To see your multimax setting:              'page #multimax'
To set the your 'Sleeping' message:        'page #sleepmsg <message>'
To clear the your 'Sleeping' message:      'page #sleepmsg #clear'
To display the third and last help screen: 'page #help3'

MUFpage v2.35 by Foxen   Updated 3/31/92   Page3
--------------------------------------------------------------------------
To haven yourself so you are unpagable:      'page #haven'
To set your 'havened' message:               'page #haven <message>'
To clear your 'havened' message:             'page #haven #clear'
To unhaven yourself so you can be paged:     'page #!haven'
To turn on echoing of your message:          'page #echo'
To turn off echoing of your message:         'page #!echo'
To be informed when a page to you fails:     'page #inform'
To be turn off failed-page informing:        'page #!inform'
To see another player's formatted pages:     'page #formatted'
To prepend a format string to other's pages: 'page #prepend'
To set your prepended format string:         'page #prepend <formatstr>'
To force other's pages to a standard format: 'page #standard'
To set the standard format you receive in:   'page #standard <formatstr>'
To set a format that you see when paging:    'page #format <fmtname>=<fmt>'
To set a format that others receive:         'page #oformat <fmtname>=<fmt>'
To forward page-mail to another player:      'page #forward <players>'
To stop forwarding page-mail:                'page #forward #'
To see who page-mail to you is forwarded to: 'page #forward'
To see if page-mail is waiting for a player: 'page #check [players]'
To use an object for storing page props on:  'page #proploc <object>'

MUFpage v2.35 by Foxen   Updated 3/31/92   Hints1
--------------------------------------------------------------------------
All page commands can be used abbreviated to unique identifiers.
  For example: 'page #gl' is the same as 'page #global'
If you page to a name it doesn't recognize, it will check to see if it is
  a personal alias.  If it isn't, it checks to see if it is a global alias.
  For example: If there is a global alias 'tyg' defined as 'Tygryss', then
  'page tyg=test' will page 'test' to Tygryss.
In format strings, %n will be replaced by the name of the player(s) receiv-
  ing the page.  %m will be replaced by the message.  %i will be replaced
  by your name.  %w gets replaced by the time.  These messages are what are
  shown to you when you page to someone.
In oformat strings, %n will be replaced by your name, %m by the message,
  and %l by your location.  %t will be replaced with the names of all the
  people in a multi-page.  %w will be replaced with the current time.
  These messages are what is shown to the player you are paging.
If you have a #prepend or #standard format with a %w, it shows you the time
  when a player paged you.

MUFpage v2.35 by Foxen   Updated 3/31/92   Hints2
--------------------------------------------------------------------------
There are two standard formats with page: the 'page' format, and the 'pose'
  format.  There are matching #oformats to go with them as well.
If you really dislike having your pages that begin with colon's parsed as
  page-poses, then you can 'page #oformat pose=%n pages: :%m'
  or alternately, you can simply use 'page ! <players>=<mesg>'
One good way to have all the pages to you beeped and hilighted is to do:
  'page #prepend ##page>' and then set up the this trigger in tinyfugue:
  '/def -p15 -fg -t"##page> *" = /beep 3%;/echo %e[7m%-1%e[0m'
  If you want bold hilites instead, use '%e[1m' instead of '%e[7m'
  This only works if you have version 1.5.0 or later of tinyfugue and a
  vt100 terminal type.
TinyTalk users, to make your pages always beep, use 'page #standard'
  Then all pages to you will be in standard page format.
You can specify another object to store the properties used by the page
  program on.  To do this, type 'page #proploc <object>' where <object>
  is either the name (if its in the room) or dbref of the object to use.
  #proploc will automatically copy all the page props to the new object.


PET        ALLOWS CREATION OF A "PET" TO FOLLOW YOU         PET #HELP
PET v2.15 Hacked together by Vision 1/26/93
------------------------------------------
Table o' Contents:
 1) Introduction
 2) Usage
 3) Commands
 4) Message Properties
 5) Room Property: pets_allowed? (Room owners read this.)
 6) Changes, BugFixes, etc.

Please page #mail all bug reports, Suggestions, Comments, and
personal rantings to Vision.
( Options: (i)ndex (n)ext (c)ontinuous (#)[page] (q)uit (?) )

Introduction:
 Simply put, this program sets up an object that will follow you into
 any room that will allow it.  This is useful for pets, bodyguards,
 robot butlers, slaves, little tykes, or those strange things that stalk
 you at night. :)

 Normally, the room you walk into must be JUMP_OK (and STICKY if the
 room has a drop-to) for the object to follow you.  If the room doesn't
 meet these conditions, and you do not own the room, then the object will
 be quietly placed into your inventory, you will be told why the check
 failed, and the pet object will go to sleep. (See Page 5.)
 The program will also fail if the room is set '_puppet_ok?:no'

Usage:
 Enter 'pmake <object>', object being the object you wish to have follow
 you. You must own the object, and it must be JUMP_OK.  The PetDriver
 will set up all the necessary props on yourself as well as the object,
 if they aren't there already. (pmake will also re-activate an already
 existing pet object.) You may have as many pet objects as you want, but
 only one can be active at a time. (This may change in the future.

 Dropping the object, or calling it from home will awaken the pet.
 Picking it up or sending it home will make it go to sleep.
 It will also sleep if it is sent to you by a room fail.

Commands:
 pmake <object> : Turns an object into a follower or re-activates one.
          pcall : Awakens and summons your pet to your location
                  (or your inventory if the room-check fails.)
          phome : Sends your pet to it's home (_pet/pet_home)
                  and makes it go to sleep.
          pstat : Current pet name and it's status.
         preset : Returns your pet status to inactive.
      pet #help : This here help file!

Properties:
 On the pet object:
   pet/move  : What you see when the object follows you.
               (default : <objname> bounds in after you.)
   pet/omove : What everyone sees in the room the object enters.
               (default : <objname> bounds in after %m.)
   pet/amove : What everyone sees in the room the object leaves.
               This message is displayed regardless of success or failure
               (default : <objname> bounds out after %m.)
   pet/home  :Messages seen when pet is sent home.
   pet/ohome  (default for both: <objname> bounds off to home.)
 Normal pronoun substitutions work in these messages; also, %p gives
 the object's name, and %m gives your Username (as opposed to your %n)
 alias. The object's name is always tacked onto the front of the message.
   pet/pet_home: This is the location the pet is sent to when you do a
                  'phome'. It is originally set to your HOME location. This
                  location must be owned by you.

Room Properties:
 pets_allowed?:yes
               no
   This is a property Room owners can set on a room if they want to
   allow/disallow pet objects to follow their owners in, yet do not
   wish to alter the JUMP_OK/drop-to/STICKY status of the room.

   Setting this prop to 'yes' allows objects to follow their owners
   inside a room that would normally cause the program to fail.

   Setting this prop to 'no' causes the room to not accept pets
   PERIOD, even if the Room owner and pet owner are the same.

   This property is optional; it's absence will simply make the
   program check the JUMP_OK/drop-to/STICKY status of the room.

Changes:
 2.0 -- initial global release
 2.01 - changed propdirs from _pet/ to pet/.
        ( kept getting permission errors with _pet/ )
 2.02 - couple of bug fixes, pets_allowed?:yes now overrides
        _puppet_ok?:no for movement.
 2.1 -- more bug fixes, added 'preset' command.
 2.11 - Made 'preset' a bit more complete, and HOPEFULLY
        fixed that dreaded 'double message' bug...
 2.12 - Bugfixed the bugfix. Should werk now. :)
 2.13 - Forgot to put the bugfix in 'phome'. I corrected this.
 2.15 - Relaxed some of the checking on pet movement. Now Pets can go
        anywhere puppets can. :)


PINFO      IC/OOC PLAYER/CHARACTER INFORMATION              PINFO #HELP
PLAYER-INFO, programmed by Jordan Greywolf
-----
This utility is for players who wish to make information about themselves
and/or their characters available for whomever cares to look.  It is
entirely voluntary -- There is no obligation to even bother providing
any of this information, but it could be helpful for email correspondence,
finding people with similar interests, or providing information on your
character for roleplaying purposes.
To see the list of fields, type:
.    pinfo #fields
-
To access information on a player, use the command in the format of:
   pinfo {field} {player}
or,
   pinfo {player}
which will list all the fields.
-
To set information on yourself, use the format of:
   pinfo #{field}={text}
Player-Info Fields Currently Supported:
* (c)haracter -- quick summary of your character's history, genre, world,
.            skills, interests, IC/OOC, etc.
* (p)rofile   -- major interests, hobbies, etc.  Whether you use it for RL
.            or VL info (or both) is up to you, of course.
* (e)mail     -- email address
* (a)ddress   -- mailing address
* (r)esidence -- your 'residence' on the MUCK: apartment complex, etc.
* (m)isc      -- general info about you
* (b)irthday  -- =)
* (t)inyplot  -- what are your preferences regarding TinyPlots?
.            (for further info on this, type 'pinfo #tinyplots')
-
Player-Info 'TinyPlot' Entries
For the 'tinyplots' field, there are various ways of specifying just what
you're looking for in roleplaying.  The following are suggestions on ways
you might do that, though you're of course free to utilize this field
however you see fit.
*       yes = I'd love to participate in a TinyPlot!
*        no = Please leave me out of TinyPlots.
*  !violent = No violence, please.
* !religion = No religious (or anti-religious) themes, please.
*    !angst = No angst (heavy melodrama), please.
*    !magic = No exceedingly complex magical mumbo-jumbo, please.
* !hightech = No exceedingly complex high-tech mumbo-jumbo, please.
*     !toon = No toonish stuff, please.  Please don't drop anvils on me.
*         G = G-rated {...or other 'movie ratings' might be used}
* highpower = High-Powered -- Bring on the action!
*   puzzles = Problem Solver.  Preference for mysteries/puzzles.
*        =) = Silly, light-hearted roleplaying preferred.


POSE       ACTION MESSAGE                                   LOOK POSE
Usage: :message which will generate "Name message".  Example: ':hugs a
tribble' which generates "Name hugs a tribble"


PROGRAMS   LISTS PUBLICLY USABLE PROGRAMS                   PROGRAMS #HELP
Public Programs Help
The following commands allow access to help on indexed public programs.
> programs #(program number) -- shows notes on program.
> programs (searchstring)    -- shows all programs with name or keywords
.                               containing the searchstring.
> programs #list             -- shows complete listing of indexed programs.
> programs #list (x)         -- shows listing of the (x)th indexed program.
> programs #list (x)-(y)     -- shows partial listing of indexed programs.
> programs #page (x)         -- shows a 'page' of listing.
Programmers can add their programs to this listing.  For more information,
type 'programs #commands'.
Current number of entries: 91
Current number of pages: 7


PROPCP     COPY PROPERTIES FROM ONE OBJECT TO ANOTHER       PROPCP #HELP
PROPMV     MOVE PROPERTIES FROM ONE OBJECT TO ANOTHER       PROPMV #HELP
General info: ( ----- cp/mv: copy/move prop ---- )

    cp [origobj][=prop],[destobj][=destprop]
      Copies prop from origobj to destobj, renaming it to destprop.

    mv [origobj][=prop],[destobj][=destprop]
      Moves prop from origobj to destobj, renaming it to destprop.

      Arguments in []s are optional.
      if origobj is omitted, it assumes a property on the user.
      if destobj is omitten, it assumes destobj is the same as origobj.
      if destprop is omitted, it assumes the same name as prop.
      if prop is omitted, it prompts for it.
      if both prop and origobj are omitted, it prompts for both.
      if both destobj and destprop are omitted, it prompts for them.
    NOTE1: 'virtual props' such as @desc, @succ, can be copied/moved.
    NOTE2: 'prop' may be a unix-style pattern.  ( See page 1 and 2 )

Page 1: Pattern matching ( * ? [] {} )
Page 2: Virtual properties ( @desc, @succ, @fail... )
Page 3: Using cp and mv in your MUF programs
Page 4: More routines usable for MUF programs
Page 5: Program bugs and quirks
( Options: (i)ndex (n)ext (c)ontinuous (#)[page] (q)uit (?) )

Page 1: ( ----- Pattern matching ----- )

A pattern matching feature has been added to the program to allow matching
unix-style patterns (when copying and moving properties.  The unix-style
wildcards *, ?, [], and {} are available.  Examples should be helpful...

Examples:
 cp me = *hug* , object  ---> This copies all properties on the user (me) to
 an object such as 'malehug' 'hugmesg' 'chuga'.  Note this would include all
 properties in propdirs as well such as 'hug/fox' 'alpha/test/hug3'

NOTICE:  The DESTINATION property name is NOT pattern matched.
 mv item = d-* , = desc_*  ---> This would take properties such as 'd-cabinet'
 and rename them to 'desc_*/d-cabinet' so watch out for this.

You can however, match items in a propdir and put those items in a different
propdir
 mv thing = tax/o* , widget = irs  ---> This will match properties such as
 'tax/osucc' and 'tax/over' on "thing" and name them to 'irs/osucc' and
 'irs/over' on "widget".

 cp me = * , storage   ---> This will copy EVERY property on the user,
 (including @desc, @lock, @osucc...) and put them on an object, "storage".

If your property contains one of the wildcard characters (e.g. 'star*time')
you can escape ANY wildcard by preceeding it with a backslash ('star\*time')
You can escape a backslash by using 2 backslashes.

Page 2: ( ----- Virtual properties ----- )

Virtual properties ( @desc, @succ, @osucc, @fail, @ofail, @drop, @odrop )
are supported by this program.
NEW FEATURE:  @LOCK and @IDESC have recently been added )
These only work if pattern matching ISN'T being used.

Example:  cp push=succ-list5,=@succ
 Copy the property 'succ-list5' to the @succ on 'push'.

In FB Muck, what we see as '@desc', '@succ'... is really stored as standard
properties '_/de', '_/su'...  Keep this in mind if you try something silly
like copying an entire propdir to '@succ'.

In addition to the 9 virtual props mentioned, you can copy all of the
virtual props by specifying '@all' (this copies the propdir '_/') This also
copies/moves anything else that happens to be in the propdir '_/' as well.

Page 3: ( ----- Using cp and mv in your MUF programs ----- )

The routines used for cp and mv have been made public.

cp-prop ( d1 s1 d2 s2 -- count )
  Copies prop/propdir 's1' from item d1 to item 'd2' renaming it to 's2'.

mv-prop ( d1 s1 d2 s2 -- count )
  Moves prop/propdir from item d1 to item 'd2' renaming it to 's2'.

For both of these, 'count' the number of properties moved (integer).

Virtual properties and pattern matching can be used with both routines.
For further info on these features, see pages 1 - 2

These routines are set 'public'.  If this program isn't @registerd, ask the
owner for the dbref# so you can use 'call' or '$include.'

Page 4: ( ----- More routines usable for MUF programs ----- )

cp-1 ( d1 s1 d2 s2 -- b )
  Copy one property 's1' from 'd1' to 'd2' naming it 's2'.

mv-1 ( d1 s1 d2 s2 -- b )
  Move one property 's1' from 'd1' to 'd2' naming it 's2'.

For both of these routines, 'b'=1 if successful, 0 if not.
These routines are designed to be MUCH quicker than 'cp-prop' or 'mv-prop'
 and are good if you're only copying or moving one property with no pattern
 matching or propdir copying.
To increase speed, these routines don't check the validity of the objects
 or property names.

confirm-cpmv ( d1 s1 d2 s2 -- d1 s1 d2 s2 b )
  Confirm existance of 'd1' and 'd2' ( print error message if bad ) and clean
  up 's1' and 's2' ( remove extra '/'s and spaces.  Also turn a blank string
  into '/' {root} ).  b = 1 if 'd1' and 'd2' are okay, 0 if not.

This routine can be used immediatly before a cp-1 or mv-1 like this.
  [ .... confirm-cpmv if cp-1 then ]

Page 5: ( ----- Bugs and other Quirks ----- )

Pattern matching doesn't work in the destination property (think about it..
how CAN it).  Something like>    cp me=a*,object=b*     will simply copy
all properties on you beginning with 'a' into a propdir 'b*' on 'object'
This is stated on page 1, but restated here because I've heard of this
happening to too many people.

The recursive bug where if you put a directory in one of its subdirectories
( eg. cp  me = dir , me = dir/alpha ) has been fixed.  YAY :)

If you find any bugs in this program, please contact me (Foxx Fox) via page
#mail or e-mail (firmiss@cae.wisc.edu) if I'm not around.  PLEASE tell me
as much about the situation as possible, especially the exact thing you typed
to get the error.  This will greatly improve bug-detection.
-----            /\
----- signed  .-o_ \
-----          `-/ /  Foxx Fox
-----           /  \


PUPCHECK   DETECTS ANY PUPPETS IN AREA                      PUPCHECK #HELP
Auto Puppet Check 1.3  by  Riss
This program will automatically inform you if you enter a room that
 contains any objets with the _puppet? property set on them.
 This is common of remotely controlled puppets or objects.
 To disable the automatic warning you may: pupcheck #off
 To enable the warning: pupcheck #on
 Pupcheck #check   will manually run the check.
 Ver 1.3: Will NOT automatically tell you of puppets you own.
 The WhoSpecies (ws) program has also been modified to show puppets.


PWHO       ALLOWS YOU TO MAINTAIN A PERSONAL "WHO" LISTING  PWHO #HELP
You have been set with a default value of 4 columns.
You have been set with a default value of a column length of 17.
Setting to standard output format.
This program has changed since you last used it.
Use the "#changes" command for details.
'pwho <list> runs the personal-who program on the specified list. *
'pwho #list <list>' gives a full listing of the specified list. *
'pwho #newlist <list>' creates a new list. *
   (This asks to overwrite an existing list if necessary.
'pwho #lists' gives a listing of all your lists.
'pwho #add <player> <list>' adds the player to the list. *
'pwho #delete <player> <list>' deletes the player from the list. *
'pwho #edit' edits your main list.
'pwho #ledit <list>' edits the specified list. *
'pwho #dellist <list>' deletes the specified list. *
'pwho #alias <player> = <string>' associates an alias with a player.
'pwho #alias #ok' allows you to be aliased (default).
'pwho #alias #!ok' removes your ability to be aliased.
'pwho #whois <player>' looks up an alias for the player.
'pwho #erase <player>' removes the alias for the player.

Commands followed by a * indicate that if <list> is not specified,
it defaults to the main list.
Use 'pwho #help2' for more help.
'pwho #format <format>' sets your list to output in the specified format.
   (Use pwho #help format to see valid formats.)
'pwho #setidle <n>' specifies that idle times show up only after <n> seconds
   while set on 'idle' format.
'pwho #ontime <n>' specifies that ontimes stop showing up after <n> minutes.
   A reading of 0 means that ontimes are always shown.
'pwho #columns <x>' sets you to <x> columns.
   (A non-positive <x> implies no limit on columns.)
'pwho #length <n>' sets your column width to <n> spaces.
   (<n> must be greater than 9.)
'pwho #hide on' hides you from pwho lists.
'pwho #hide off' turns off hiding from pwho lists.
'pwho #rename <oldname> <newname>' renames a list.
'pwho #info' gives you a list of your current pwho settings.
'pwho #changes' tells of recent changes to the program.
'pwho #feep' ... well, you find out. <'grin>


RIDE       FOR RIDING OTHER CHARACTERS TO OTHER ROOMS       RIDE #HELP
RIDE 3.7FB by Riss
Command                 Function
Handup | carry <name>   Enables you to carry the named character.
Hopon | ride <name>     Accepts the offer to be carried by <name>.
Hopoff | dismount       Leave the ride.
Dropoff | doff <name>   Drop the named player from your ride.
Carrywho | cwho         Shows who is being carried by you.
Ridewho | rwho          Shows who you are riding.
Rideend | rend          Disables riding and cleans up.

Example: Riss wants to carry Lynx. Riss would: HANDUP LYNX. This would
notify Lynx that Riss offers to carry him. He can accept the offer
with: HOPON RISS. When Riss moves to another location, Lynx will move
with him. Lynx can leave the ride at any time, cleanly by a: HOPOFF,
or simply by moving away from Riss by using any normal exit.
RIDE does check Locks on exits passed through, and will not allow
someone who is locked out from entering.

Page #mail Riss with comments and such.

RIDE Custom setups - RIDE can be made to display custom messages for
 most functions. You can set your own custom messages in your RIDE/
 props directory. You may have as many different modes of messages
 as you like. Set each group in a different sub directory.
MESSAGE PROP NAMES: ('taur' refers to carrier, 'rider' to rider.)
_HANDUP:      Message taur sees when using handup command.
_OOHANDUP:    Message rider sees when taur offers to carry.
_OHANDUP:     Message the rest of the room sees.
_HOPON:       Message the rider sees when hopping on.
_OOHOPON:     Message the taur sees confirming the rider hopped on.
_OHOPON:      What the rest of the room sees.
_XHOPON:      The fail message to rider when they cant get on the taur.
_OOXHOPON:    The fail message to the taur.
_OXHOPON:     What the rest of the room sees.
_HOPOFF:      Message to the rider when they hopoff.
_OOHOPOFF:    Message to the taur when the rider hops off.
_OHOPOFF:     What the rest of the room sees.
_DROPOFF:     Message to the taur when they drop a rider.
_OODROPOFF:   Message to the rider when they are dropped by the taur.
_ODROPOFF:    Ditto the rest of the room.

In all the messages, %n will substitute to the taur's name, along with
 the gender substitutions %o, %p, and %s. The substitution for the
 rider's name is %l. Any message prop beginning with _O will have the
 name of the actioner appended to the front automatically.
You create the messages in a subdirectory of RIDE/ named for the mode
 you want to call it. Examples:
@set me=ride/carry/_handup:You offer to carry %l.
@set me=ride/carry/_oohandup:offers to carry you in %p hand.
@set me=ride/carry/_ohandup:offers to carry %l in %p hand.
And so on.. You would then set your RIDE/_MODE prop to CARRY to use
 the messages from that directory. @set me=ride/_mode:carry
If you do not provide messages, or a _mode, or a bad directory name
 for _mode, then the default RIDE messages will be used.
There are 4 build in modes. RIDE, HAND, WALK, and FLY.
 RIDE is the default if your mode is not set, and is used for riding
 on ones back. HAND is holding hands to show around. WALK is just
walking with, and FLY is used for flying type messages. Feel free to
use these, or customize your own.
------------
There's more! Those are just the messages for the actions, there are
 also the messages for the movements themselves!...

Messages used by the RIDE engine - Different substitutions apply here.
_RIDERMSG - What the rider sees when moved. Taur's name prepended and
 pronoun subs refer to the taur.
_NEWROOM - Tells the room entered by the taur and riders what's going
 on. %l is the list of riders. Taur's name prepended w/ pronoun subs.
_OLDROOM - Tells the room just left. Like _NEWROOM.
There is no specific message for the taur, as you see the _NEWROOM
 message. There are other error messages, they begin with RIDE: and
 are not alterable. Set the props in the subdirectory you named in
 your _MODE property.
 -------
One last prop... RIDE does check exits passed through for locks against
 your riders. If they are locked out, they fall off. If in your RIDE/
 directory, you @set me=ride/_ridercheck:YES
 then your riders will be checked just after you move to a new place,
 and if any are locked out, you will automatically be yoyo'ed back
 to the place you just left, and get a warning message.

Version 3.5 ---
 Worked on the lock checking routines to help them work with folks using
 the Driveto.muf program for transportation. Should work now. And beefed
 lock checking up some. You may now set 2 new properties on ROOMS:
 _yesride:yes will allow riders in to a room NO MATTER IF OTHER LOCKS
 TRY TO KEEP THEM OUT.
 _noride:yes will lock out all riders from a room.
Version 3.6 ---
 Minor Lock change... You can now carry riders in to a room if you own
  it, even if you passed through an exit to which the riders are locked
  out. This allows you to not have to unlock exits to say, your front
  door, every time you want to carry someone in. This also bypasses _noride
 LookStatus Added - A way to display your RIDE status when someone looks
  at you. Add this to the end of your @6800 desc: %sub[RIDE/LOOKSTAT]
 The property RIDE/LOOKSTAT will be set on you to display either who
  you are carrying or who you are riding. This message comes from:
 _LSTATTAUR: is carrying %l with %o.    <- for the 'taur  -or-
 _LSTATRIDER: is being carryed by %n.   <- for the rider.
 These props can be set in the same _mode directory with the other
  custom messages. Pronoun subs refer to the taur, and name is prepended.
  %l is the list of riders. %n is the taur's name.
 RIDE/LOOKSTAT will _NOT_ be set until after the first move by the 'taur
 If RIDE/LOOKSTAT gets stuck showing something wrong, do a RIDEEND.
Ver 3.7 -Zombies should work.


ROLL       TO "ROLL DICE" FOR ONLINE GAMING                 LOOK ROLL
Usage: roll (number)d(sides)+(modifier) i.e. roll 3d6 to roll three six-sided
dice or roll 2d4+8 to roll two four-sided dice and then add eight to the
results total.


RUN        MOVES BETWEEN SEVERAL ROOMS QUICKLY              LOOK RUN
Ever wanted to go somewhere with Ride, but didn't like all the lag and
spam involved in moving someone 5 or 6 exits away?  Or having to go back
because lag burned someone from showing up at the required room when you
moved again?  Well, now you can Run!

Simply pile up the exit names separated by commas:

run north,left,up,south

Exits like `nexus' work as well.  Though, the exits MUST be attached to a
room, and can ALSO be personal exits.

2 properties you can set on yourself to customize your Run!, are:

@set me=_running/stop:%n pants heavily from %p long run.
@set me=_running/in:%n runs out of the room, kicking up a dust storm.

%n must be there, or it'll look rather funny.

@set here=_run/stop:y   to stop runners in that room.  Useful with Banishers.
@set here=_run/off:y    to stop anyone from using run FROM that room.


SAY        SAY SOMETHING                                    SAYHELP
SayHelp screen 1: Basic information
-------------------------------------------------------------------------------
To say something:                        "something.      [or 'say something.']
To say something in two bits:            "something,,in two bits.
To set your 'says' verb (seen/others):   sayset def barks,
To set your 'say'  verb (seen by you):   sayset +def bark,
To set your normal quoting pattern:      sayset quotes def <<%m>> [or "%m" etc]
`
To say something with an ad-hoc verb:    "Hullo there,,squeaks,,How are you?
                                      or "Yeeargh!!,,noisily %n shouts,,
To enable [disable] ad-hoc verbs:        sayset adhoc   [sayset !adhoc]
To make spilt says look unsplit:         sayset normal  [sayset !normal]
`
To see if someone is awake and present:  "?player   [or "?player,,?player  etc]
To speak iff someone is awake:           "?player,,what to say [to player]
To enable [disable] player-query:        sayset query   [sayset !query]
To [un]set Out-Of-Character mode:        sayset ooc     [sayset !ooc]
`
To show all your say settings:           sayset
`
For more help, type 'sayhelp 2'.  For LONG tutorial, type 'sayhelp 99'
(#64370):
SayHelp screen 99: Long tutorial
--------------------------------
`
Right, someone surprised me by saying that the sayhelp documentation was
 confusing.  I suppose that one of the problems with developing a program
 is over-familiarity.  Believe me, the documentation on previous versions
 were far worse.  I'd better not take up technical writing as a career.
`
Things you type appear as:    > "Type from after the '>' character
Example computer output as:   - Warwick says, "This is an example"
`
I will not echo the 'I've done that' reports from the computer.
`
--------------------  SIMPLE VERBS
`
I originally wrote say because I wanted to provide a way of switching verbs
 quickly.  This works as follows:
`
A 'verb' is defined as the text that forms the verb after which your speech
 appears.  The normal (or 'default') verbs are 'says' or 'say'. If you want to
 change those to 'purrs', for example:
`
   > sayset def purrs,       [This sets the 'Warwick purrs' verb others see]
   > sayset +def purr,       [This sets the 'You purr' verb which only you see]
`
The verb switching facility works by looking at the first character of the
 message you give say, and seeing if it knows to associate that character
 with a verb.  The character is called the macro character.
`
   > "%It's a green Wombat!                [Would normally produce..]
   - Warwick says, "%It's a green Wombat!"
`
   > sayset % gasps,                       [But after this 'sayset'..]
   > "%It's a green Wombat!
   - Warwick gasps, "It's a green Wombat!"
`
If you want to see a 'You gasp' type message, you'll need to tell say about
 that verb too.  Put a '+' before the '%', the macro character.
`
   > sayset +% gasp,
   > "%It's a green Wombat!
   - You gasp, "It's a green Wombat!"
`
Of course, you're not limited to the macro '%'. You may use any other
 single character. '~' and '@' no longer cause errors.
 If you want to set space as a macro, you must type
`
   > sayset sp squeaks,              > sayset +sp squeak,
`
To see your current state, type 'sayset' on its own.
`
You can clear verbs by putting a blank verb: > sayset def   > sayset +def
`
You can clear *everything* (verbs, quotes and filters) from a macro with
`
   > sayset clear def          > sayset clear %        ..and so on.
`
--------------------  QUOTES
`
You can also set customised quotes for 'def' or a given macro character.
`
   > sayset quotes def <<%m>>
   > "I'm hungry.
   - Warwick says, <<I'm hungry>>
`
If a macro doesn't have its own quotes, it will use those for 'def'.
`
To set quotes to 'default', miss the %m bit out:  > sayset quotes &
`
--------------------  SPLIT SPEECH AND ADHOC VERBS
`
After I had written the verb macro code, I decided to allow verbs to appear
 in the middle of speech.  This is not universally popular, and so a player
 may request only to see speech once it has been forced into the normal
 style, like  Warwick says, "Whatever".
`
   > sayset normal           [Forces others' speech into non-split format]
   > sayset !normal          [You can see the split style speech]
`
 To utter spech in a split format, type ',,' where the verb should go.
`
   > "This is,,split style speech.
   - "This is," Warwick says, "split style speech."
`
   > "This is split too,,
   - "This is split too," Warwick says.
`
   > "%You can also,,use macros.
   - "You can also," Warwick gasps, "use macros."
`
If you want to, you may use a verb without setting a macro, by allowing
 'ad-hoc' verbs.
`
   > sayset !adhoc                             [Disallows 'adhoc' verbs]
   > sayset adhoc                              [Allows 'adhoc' verbs]
   > "This,,complains,,is getting confusing.
   - "This," complains Warwick, "is getting confusing."
`
   > "You wouldn't dare!,,growls %n, looking all fierce,,
   - "You wouldn't dare!" growls Warwick, looking all fierce.
`
The trailing commas here distinguish a simple split say from an adhoc verb.
 Otherwise, you'd get:
`
   > "You wouldn't dare!,,growls %n, looking all fierce.
   - "You wouldn't dare!" says Warwick, "growls %n, looking all fierce."
`
`
A detail here is that in split speech, the name usually appears after the verb.
 Putting a comma at the end of a verb makes say put the name before the verb.
`
   > "Look,,squeaks,,         - "Look," squeaks Warwick.
   > "Look,,squeaks,,,        - "Look," Warwick squeaks.
`
This also happens to verbs set with sayset. A trailing comma has no effect on
 non-split style speech.
`
`
Two special verb styles are available and both influence split speech.
`
There is an old form which disables you from using split speech for a macro:
`
   > sayset ! says, "%m"
`
   > "!This,,is,,split,,not,,at,,all
   - Warwick says, "This,,is,,split,,not,,at,,all"
`
A second form allows you to put text after the second half of a split message:
`
   > sayset ! says%2 and growls.
`
   > "!Shut up!
   - Warwick says, "Shut up!" and growls.
   > "!It's mine.,,bog off!
   - "It's mine." Warwick says, "Bog off!" and growls.
`
----------------  QUERY
`
After writing split speech, I decided to do something about saying 'bye' to
 people who had just left, but whose departure the lag had hidden.
`
   > sayset !query            [Disables this facility]
   > sayset query             [Enables this facility]
   > "?Riss,,Bye!
   - Warwick says, "Bye!" to Riss.
or - Riss is here but asleep.
or - I don't see that here.
`
   > "?Riss,,?Kimi,,?Fuzz,,Aaargh!
   - Warwick says, "Aaargh!" to Fuzz, Riss and Kimi
(This only works if Riss, Kimi *and* Fuzz are all present and awake.)
`
If you don't put a message at the end, you will just get a status report.
`
   > "?Riss
   - Riss is here and awake.
or - Riss is here but asleep
`
Note, if you're using this, you can't use the macro '?'
`
---------------  OOC (Out Of Character) MODE
`
This was requested by Riss.
`
The intention here is to distinguish between a character who can answer
 techincal questions and ones who are capable of asking questions like
 'What is a Florida?'
`
The flag _ooc is changed from _ooc:yes to nonexistence. Hopefully, pose and
 other programs will support it sometime.
`
   > sayset !ooc      [Unsets OOC mode]
   > sayset ooc
   > "Type @link ba = #2
   - Warwick says (OOC), (Type @link bs = #2)
`
You can customise OOC mode by typing 'ooc' where you could type 'def'.
`
---------------  FILTERS
`
This was the other major introduction to speech.  A filter is a program,
 seperate from the say program, which is called by say to modify text or
 perform some other function.  If you are familiar with pipes in Unix, then
 this is similar.
`
To see a brief description of what sort of filters are available, type
`
   > sayfilter
`
Name         | Description, For more help, type 'sayhelp <filtername>'
-------------+----------------------------------------------------------
$RandomVerbs | Not a filter. Selects random verbs.
Reverse      | Reverses speech character by character
Replace      | Standard text replacing filter
-------------+----------------------------------------------------------
`
Because filters have help on them, I can only give general help here.
`
Filter help from  > sayhelp <filtername>
`
A 'filter' which begins with '$' is a verb-program and supplies verbs via a
 program rather than reading fixed properties.
`
   > sayhelp $RandomVerbs
   - ....
   > sayset def $RandomVerbs
`
 If a verb program takes commands, they are issued with
`
   > ",,<command>
`
 See the verb-program helps for more information. eg > sayhelp $RandomVerbs
`
A normal filter modifies spoken text. You add a filter to a macro with
`
   > sayfilter def fadd <Filtername>     ['def' can also be '%' etc]
`
List which filters are on a macro with
`
   > sayfilter def flist
   - def/1 : Replace
   - def/2 : Jumble
   - def/3 : Quotation
`
And remove a filter with
   > sayfilter def ftake <filtername>
or > sayfilter def ftake.<position-in-flist-list>
`
To send a command to a filter on a macro, eg 'def',
`
   > sayfilter def <command>
`
If you wanted to send the command 'foo bar 5' to the filter 'Quotation' (number
 3 on the list), but you thought 'Replace' might know about it too, you can
 type:
`
   > sayfilter def foo.3 bar 5
`
This also works in taking fliters off macros.
`
          > sayfilter def ftake.2
but also: > sayfilter def ftake Jumble
`
-------------------------------------------------------------------------------
Sorry, this is scruffy at the end, but I'm tired and this should get you to the
 stage of being able to read sayhelp 1-11.
. Err, sorry. I said it was late. 3-10
-------------------------------------------------------------------------------


SHOW       DISPLAY PROPERTIES/MESSAGES ON AN OBJECT         SHOW @HELP
Help for show:
--------------
Format: show <object> <proptery name>
The following additional commands are available
    using this format: show <object> <command>
@desc - display the object's desc
@succ, @fail, @ofail, @osucc, @drop, @odrop
    - display the appropriate message.
@help - help information. This message.
@link - display what the object is linked to. This has
    different meanings depending on what the object is.
@loc - the location of the object.
@name - the object's name.
@num - the object's database number.
@version - show version number.


SMELL      SMELL SOMETHING OR SOMEONE                       SMELL #HELP
Smell v2.01, by Lynn_Bionyx of P.A.N.D.A. Labs [Last update 03/25/92]
-===================================================================-

To set a _scent on something:
     @set <object> = _scent : <what it smells like>

     The _scent property is evaluated with %substitutions, using the
     program gen-desc v2.0 (#11632).

To be notified when something is smelled:
     @set <object> = _smell_notify : <notify-format string>

     A notify-format string should include %n, which evaluates to the
     smeller's name; normal pronoun_subs are performed on the format-
     string.  If a non-player with a _smell_notify is sniffed, the
     object's owner is notified.

For information on room _scent's, type 'smell #rooms'
For examples of _scent and _smell_notify, type 'smell #examples'
Smell v2.01, by Lynn_Bionyx of P.A.N.D.A. Labs [Last update 03/25/92]
-===================================================================-

Room Scents:
     Rooms are handled a little differently from other objects by the
     smell program.  If a room has a _scent, then that is what is
     shown to someone smelling the room.  If the room has no _scent,
     then 'You smell a number of scents, mingled together.' is given,
     and the _scent's of every object in the room, besides the person
     doing the smelling, are displayed, prefaced by the name of the
     object.  Exits with _scent's are not displayed in this manner.
     The 'You smell...mingled together.' message can be changed, by
     setting the _room_scent property on the room.

     Setting a _room_scent on an object will let that property be used
     instead of the _scent when someone smells a room containing it.

For examples of _scent and _room_scent, type 'smell #examples'
Smell v2.01, by Lynn_Bionyx of P.A.N.D.A. Labs [Last update 03/25/92]
-===================================================================-

Simple _scent on an object:
     @set me = _scent : %n smells like elderberries!

Simple _scent on a room:
     @set here = _scent : There is an overwhelming smell of bamboo here

Simple _smell_notify:
     @set me = _smell_notify : %n just smelled you!

Simple _room_scent on a room:
     @set here = _room_scent : A faint odor of freshly-baked donuts
                               permates the room; mixed in with the
                               bakery-smells, you can detect...

Simple _room_scent on an object:
    @set me = _room_scent : You get a faint whiff of berries from
                            %n -- perhaps if you smelled %s, it would
                            be clearer what type.


SPOOF      ANONYMOUS MESSAGES FOR SPECIAL EFFECTS           SPOOF #HELP
Spoof v2.5 usage: spoof <message>
                  anonymously show message to all in the room.

Note: to spoof a message beginning with #, you must double the #.
      spoof ## This is a message beginning with one #.

Type 'spoof #install' for help on installing spoof exits in rooms.
Type 'spoof #examples' for examples of how you might install spoofs.
Type 'spoof #commands' for a list of additional #keywords.
Type 'spoof #changes' to see new changes in spoof.

Spoof v2.4 installation:
Exits may be linked to the spoof program ($spoof) from a player,
object, or room, by doing this:
    @action spoof = <object>
    @link spoof = $spoof

Unless a spoof action is on a room, it is always restricted.
A restricted spoof can never begin with the name of a player and
is enclosed in parentheses.

A spoof exit on a room can be set as follows:
    spoof #free
    spoof #restricted
    spoof #message (some message with %m)

A free spoof lets the players spoof whatever they like, whether or
not it is the name of a player.  A restricted spoof is like a free
spoof except that it will not let people spoof other people's names.
And a message spoof, which is any string with %m in it, will substitute
the spoofed message for %m.

Action Spoof:
    Type 'spoof #action' to format your spoof to allow free-style actions.
The spoof must be on a room, and you must own the spoof to set it.  A
free-style action will let you have your name in it anywhere, or %n,
and will perform pronoun substitutions.  (use %%n for your %n property)

Example: spoof In a flash of fur, Lynx disappears.

Puppet Spoof:
    Type 'spoof #puppet' to format your spoof to allow puppet actions.
The spoof must be on an object, and you must own the spoof to set it.
Also, the room or an environment of the room must be set _puppet_ok?:yes
to allow you to use puppets.  A puppet spoof will put the name of the object
in front of all spoofs, allowing you to simulate a puppet.

Example: @action spoof = fire-lizard
         @link spoof = $spoof
         spoof #puppet
         spoof chirps and looks around hopefully for food.
         fire-lizard chirps and looks around hopefully for food.

You may set a spoof to reveal who spoofed to a few select people.
They will be told only if they are in the same room.
    spoof #tattletale player1
    (this will tell them even if they change names later)

You may prevent certain people from using your spoof program.
    spoof #lock player1
    (this will work even if they change names later)

For examples, type 'spoof #examples'

Spoof v2.3 examples:
Example of a spoof message on yourself:
  > @action spoof = me
  > @link spoof = $spoof
  > spoof This is a test.
  ( This is a test. )
  > spoof Wizard jumps up and down.
  Error: spoofs cannot begin with player names!
  > @recycle spoof

Example of spoof formats on a room:
  > @open spoof = $spoof
  > spoof This is the default restricted form.
  ( This is the default restricted form.
  > spoof #message On the stage, %m
  > spoof Romeo carols praises to Juliet's virtues.
  On the stage, Romeo carols praises to Juliet's virtues.
  > spoof #free
  > spoof Wizard toads you.
  Wizard toads you.

Examples of spoof tattletale:
  > spoof #tattletale Lynx
  > @set spoof = _spoof:free
  > spoof You have been booted off the system!
  You have been booted off the system!
  # spoofed by Lynx #
Note that only Lynx sees the line in #'s.

Examples of spoof locks:
  > spoof #lock Lynx
  > spoof This is a test.
  Error: you are not allowed to spoof here!

Spoof v2.5 commands:
Type 'spoof #free' to let people spoof any message.
Type 'spoof #restricted' to prevent people from spoofing messages starting
    with player names.
Type 'spoof #action' to allow people to make free-style spoofs.
Type 'spoof #puppet' to make an NPC object.
Type 'spoof #message <format> to set a special format with %m for the message.
Type 'spoof #tattletale <name>' to add someone to the spoof's tattletale.
Type 'spoof #lock <name>' to add someone to the spoof's lock list.
Type 'spoof #check' to see who is on the spoof's tattletale and lock lists.
  The above commands all require you to own the spoof.
  #tattletale and #lock let you type !name to remove a name.
Type 'spoof #feep' to...  Well, it's a feep.  Find out for yourself. *'gryn*

Spoof v2.5 changes:
Owners may now set _spoof_tattletale:(list of names and numbers) on rooms
to allow them to see who did *all* spoofs including personal spoofs or
puppets.  The same applies to _spoof_lock.  However this must be done
manually.

spoof #check will now work for any spoof and will tell you what tattletales
and locks there are on the spoof, the room or its environments, and the
global spoof tattletale and locks.

Also, set an environment _puppet_ok?:no if you do not want puppets to be
used in it.


SWEEP      SEND SLEEPING CHARACTERS HOME                    SWEEP #HELP
__Propname_________ _where_ _What_it_does____________________________________
 _sweep              you     message shown when you sweep a room.
 _swept or _osweep   you     message shown when you are swept.
 _sweep_player       you     message shown if you sweep an individual player.
 _sweep_to           room    dbref of where players swept in the room go to.
 _sweep_authorized   room    space seperated dbrefs of players allowed to
                               sweep the room.  ex.  #1234 #465 #12 #8
 _sweep_immune       room    space seperated dbrefs of players who are immune
                               to being swept from here.  ex. #567 #12 #8
 _sweep_public?      room    if 'yes' means this room in sweepable by anyone.
 _sweep_immune?      item    If 'yes', means this THING doesn't get sent home
                               when the player holding it is swept.
 @/sweepable?        player  If 'yes', player is sweepable by anyone, and
                               gets sent home always when swept.
_____________________________________________________________________________

 _sweep, _swept, and _sweep_player messages can also be set on a room, as the
   default messages if a player sweeping there does not have them set.
 different formats for specific player sweeps can be had by setting props
   with the prefix '_sweep_', containing the format, then specifying them at
   sweep time.  ie: if you have a _sweep_nasty format set, you can use it by
   typing 'sweep <player>=nasty'


THINK      SEND CUSTOMIZED MESSAGES TO PLAYERS IN SAME ROOM THINK
: Usage: think message                   -- sends to all psionic receivers
:        think all = message             -- sends to all (must be blaster)
:        think name [name ...] = message -- sends to specified
:        think = message                 -- same recipients as last send
: For more information, type "think help"
: Usage:
:     think message -- broadcasts a message to all psionically
:                      active players in the room
:     think all = message -- if you are a 'blaster', broadcasts to all
:                            players in the room regardless of their
:                            individual talents; otherwise defaults to
:                            the previous case
:     think name [name ...] = message -- broadcasts a message to the
:                                        players listed; only
:                                        'blasters' can send to non-
:                                        psionic players
:     think = message -- broadcasts a message to the same group as you
:                        specified last time
: Properties:
:     _psi: sensitive, active, or blaster
:     _psi_format: any string
:     last_psi: set by this program, last group you sent to
: Notes:
:     Sensitive players may not transmit messages to other players
: or hear them.  When psionics are used in the room around them,
: they will see their own special string.  Example:
:     @set me = _psi:sensitive
:     @set me = _psi_format:You sense psionic activity from %n.
:     [then someone uses psionics]
:     You sense psionic activity from Tygryss.
:     Active players may transmit only to other active players or to
: blasters.  Their messages are sent using their special strings;
: these should contain \"%m\", which will be replaced with the message
: to be sent.  Example:
:     @set me = _psi:active
:     @set me = _psi_format:thinks, << %m >>
:     think Hello, everyone?
:     [You and everyone who is eligible in the room sees this]
:     Tygryss thinks, << Hello, everyone? >>
:     Blasters normally transmit as active players do, but may also
: transmit to all players regardless of their psionic abilities by
: using \"think all= message\".  This works much as shown above.
:     You can only send to people in the same room, but you can use just
: the leading characters in their name as long as that's unambiguous.


THROW      THROW SOMETHING TO SOMEONE                       THROW #HELP
throw <object> to/at <player>

@set me/object=_throw_ok:n stops anyone from throw something to you.
You cannot throw any object @set <object>=_throw_ok:n.
@set me=Jump_OK, @set object=Jump_OK AND the receiver must be set Jump_OK or
the throw will fail.
throw #ok  sets you so you can receive throws.
throw #!ok sets you so you can't receive throws.

@view $throw  for more help.
Command to view: @list $throw=2-95
Run this command? (y/n)
 Hand/Throw by Mystique@AlteredStates  July 10, 1994  Use but don't Abuse!

@set me/object=_hand/succ:You hand %obj to &n.
@set me/object=_hand/osucc:%n hands %obj to &n.
@set me/object=_hand/drop:%n hands %obj to you.
@set me/object=_hand/odrop:%n hands %obj over to &n.

@set me/object=_throw/succ:You throw %obj off to see &n.
@set me/object=_throw/osucc:%n throws %obj off to see &n.
@set me/object=_throw/drop:%n threw %obj to you.
@set me/object=_throw/odrop:%n threw %obj to &n.
@set me/object=_throw/osame:%n throws %obj to &n.

Pronoun substitutions using %'s are for the hand/thrower, &'s are used for
the target [who's getting the object].  %obj is the object name.

Objects setup with the above messages [all or any], they're used instead of
the person's messages.

@set me/object=_hand_ok:n    disallows that player/object of being involved
                             in a throw.
@set me/object=_throw_ok:n   same as above, but for throws.

Wizards can have extra messages [succ, osucc, etc] by merely adding `-player'
onto them, where you can have messages for moving players.
-----------------------------------------------------------------------------
This version has been updated to support the old FurryMUCK throw functions,
listed from the original docs by Darkfox for the props to be set are:

  Restrictions:
    <object> must be jump_ok  ** NO Zombie objects! **
    <person> must be jump_ok
    <person> must have a property "_receive_ok?:" set
      to "yes"
    <person> must not be haven
    the room /environment must not have a property
      "_throw_allowed?" set to "no"

    <person> may also have a "_sleep_throw" property that
      contains a list of player names or dbrefs of people who
      can throw to you, while you're asleep.

    <person> may have a "_throw_allowed" property that
      contains a list of player names or dbrefs, and only
      those players will be allowed to throw to <person>.
      If the first character of _throw_allowed is "!" only
      players *not* contained in the list will be allowed to
      throw to <person>.

  If <person> is not in the same room as the thrower, then:
    <object> must not have a property "_throw_far?"
      set to "no".
    the room / environment must not have a property
      "_throw_far?" set to "no".
    the trigger must not be set STICKY.

  Messages:
    Messages may be both on the object and on the trigger;
    and may be general or action-specific; the action-
    specific messages will have "_" and the first name in
    the action preceding the general message names.

    The messages are put through pronoun substitution for
    both the catcher and the thrower, in that order.  So,
    for a pronoun_sub on the thrower, you must double the
    '%' in the message.  [See the default messages below for
    examples of this.]  In addition to the normal pronoun
    substitutions, a '%t' or '%T' will be replaced by the
    true name of the thrower, a '%c' or '%C' will be
    replaced by the true name of the catcher, and a '%w' or
    '%W' will be replaced by the name of the object being
    thrown.

    _same   This is the message that is given when both the
            thrower and the catcher are in the same room.

            DEFAULT: %%n throws %w to %n.
            [%%n == name of thrower, %n = name of catcher]

    _throw  This is the message given to the thrower when
            the thrower and the catcher are in different
            rooms.

            DEFAULT: %%n throws %w into the air towards %c.

    _catch  This is the message given to the catcher when
            the thrower and the catcher are in different
            rooms.

            DEFAULT: %w flies into the room from %T and is
                     caught by %n.
94 lines displayed.


WATCHFOR   NOTIFIES YOU WHEN A PLAYER LOGS ON/OFF           WATCHFOR #HELP
watchfor -- warns you when given players log in or out.
---------------------------------------------------------------------------
watchfor #on               Turns on login/logoff watching.
watchfor #off              Turns off login/logoff watching.
watchfor #help             Gives this help screen.
watchfor #list             Lists all players being watched for.
watchfor                   Lists all watched players currently online.
watchfor <player>          Adds the given player to your watch list.
watchfor !<player>         Removes the given player from your watch list.
watchfor                   Lists the players temporarily being watched for.
watchfor #temp <plyr>      Adds the given player to the temporary watch list.
watchfor #temp !<plyr>     Removes the given player from the temp. watch list.
watchfor #hidefrom <plyr>  Prevents <plyr> from being told of your logins.
watchfor #hidefrom !<plyr> Lets <plyr> be told of your logins again.
watchfor #hidefrom #all    Lets no one be informed of your logins/logouts.
watchfor #hidefrom !#all   Lets people see your logins/logouts again.
watchfor #hidefrom         Lists who you are hiding from.
For more detailed information on this program, type '@view $con/announce'
Command to view: @list $con/announce=1-42
Run this command? (y/n)
( CON-Announce 2.00 -- announces logins/logouts to interested players.
  Also known as cmd-watchfor ver. 2.00

  If you "@set me=_prefs/con_announce?:yes", then when any player listed
  by name in your "_prefs/con_announce_list" property logs in or out, you
  will be notified.  You will not be informed if the connecting player is
  in the same room as you, unless the room is set DARK;  it is assumed that
  you already know that they are connecting/disconnecting.
  When a person logs in, they have a half minute grace period in which they
  can rename themselves, or log back off, before it is announced that they
  have logged on.  This is for privacy purposes.  Wizards are told of player
  logins immediately, however.  This is for possible security reasons.

  Properties:

    _prefs/con_announce?    If set "yes" on yourself, then you will be told
                              when people log in.

    _prefs/con_announce_list    Contains a list of space seperated case-
                                 insensitive names.  When one of these people
                                 connects or disconnects, you will see a
                                 message telling you so.  Wizards may also
                                 use dbrefs in the form #1234 in place of
                                 names.  If this property is not set, then
                                 you will not be informed when anyone logs
                                 in or out.  Wizards, however, are informed
                                 of ALL logins/logouts when this prop is not
                                 set.

    _prefs/con_announce_once    Same as _prefs/con_announce_list, except that
                                 as soon as it announces a player connecting/
                                 disconnecting, it clears their name from the
                                 property.  DBrefs are not usable in this prop.

    _prefs/con_announce_fmt    Contains a format string for the announcement
                                message you see when another player connects/
                                disconnects.  %n subs to the player's name;
                                %t to the current time; %v to the verb
                                "connected", "disconnected", or "reconnected".
                                %l subs to the players location for a wizard's
                                format string.  The default format string is:
                                "Somewhere on the Muck, %n has %v."
42 lines displayed.


WHATIS     SPECIAL INFORMATION UTILITY                      WHATIS #HELP
DIRECTORYFLAGS v1.5  Cinnibar 1993
A yellow-pages program that allows characters to specify attributes for
themselves and to look-up online characters who might have specified attributes.
OPTIONS:
#help -- This help screen
#wizhelp -- Wizard-command help screen
#vers -- Displays version information
#dirflag <attrib> -- Displays long name of a single attribute
#list -- Lists all available attributes
#set <dirflag> -- Sets your attributes to those in dirflag, in default order
#force <dirflag> -- Same as #set, but specifies print sequence when displayed
#mod <dirflag> -- Modifies your attributes to include those in argument
<name> -- Displays attributes of player
<nothing> -- Displays attributes of all players in room
#search <dirflags> -- Shows all online characters matching search dirflag list
#wizzes <attrib> -- Lists all wizards for a dirflag
#all -- Lists the attributes for all online players, if set
<dirflag> can be any continuous sequence of valid attributes, prepending any by
   a '!' will specify a *removal* of the attribute
<<>>
<<>>
y)young         &A)artistic     &s)shy          &I)immortal     &u)ugly
&T)tricky       c)cute          f)fluffy        &p)poetic       &P)psionic
p)pure          &d)dark         j)jaded         &f)flirtatious  l)lecherous
+)huggable      1)lonely        m)mischievous   &e)evil         &g)good
s)sociable      w)magical       Q)quick         n)nimble        J)jumping
u)undead        G)gigantic      i)itsy-bitsy    &i)innocent     &F)fantastical
P)primitive     H)hi-tech       O)obstinate     &m)mechanical   N)newbie
})silly         W)winged        X)crazy         &?)chaotic      &=)lawful
v)vampire       a)aquatic       &n)non-morphic  A)avian         C)canine
E)equine        F)feline        &l)lapine       &R)raccoon      &O)otter
&S)skunk        &M)marsupial    e)elf           h)human         K)kangaroo
I)insect        L)lupine        M)mustelid      R)reptilian     U)ursine
D)dragon        r)rodent        S)silkie        V)vulpine       ')'taur
")demonic       0)angelic       ?)shapeshifting T)toon          k)killer
d)dominant      b)submissive    =)switch        g)games-fan     &w)M:TG-addicted
x)xxx-rated     \)male-biased   |)female-biased t)t|d-fan       &t)t|d-hater
o)ohug-hater    &a)anime        &U)unavailable  &h)mostly-harmless


WHEREARE   SEE PLAYERS LOCATED IN CERTAIN POPULAR ROOMS     WA #HELP
WhereAre  ver. 1.3 by Riss of FurryMuck. Another (W)acky global.
WhereAre will display the number of awake characters in rooms set
 with the _WhereAre:<comments> property. Removal of that property
 will remove the room from possible inclusion in the list.
Example: @set here=_whereare:T|D games nightly
 might be good for a room that has T|D games in it often so others can see
 if there are people using the room. Directions to the room can be placed
in the property _wherearedir:  for display with WA #dir
WA            - Displays enabled rooms with 2 or more people awake.
WA n          - n = MINIMUM number of people awake to display the room.
WA [n] #name  - Display names of folks awake in rooms.
WA [n] #dir   - Displays Directions to rooms if avaliable (70 char max)
WA #never     - to HIDE your name from the WhereAre #name list.
WA #always    - to include your name regardless of WhereIs setting.
WA #reset     - to use the basic default settings from WhereIs.
WA #whereis   - Same as WA #reset.
WA #def [com] - Set command to be the default command for WhereAre.
WhereAre will default to using the basic settings you selected for
 WhereIs. If you have your WhereIs program #OK and you are NOT #UNFIND
 then you can be included in the name display. WhereAre does not use
 WhereIs' #ignore or #priority functions. If you never wish to be
 included in a WhereAre name display set WA #never.


WHEREIS    SHOWS LOCATIONS OF PLAYERS SPECIFIED             WHEREIS #HELP
Help screen 1 - Whereis program.  Version: 3.1
-----------------------------------------------------------------------------
To locate a single player:             'whereis <name>'
To locate everyone in your name list:  'whereis'
To add a name to your name list:       'whereis #name <name>'
To remove a name from your name list:  'whereis #!name <name>'
To show everyone in your name list:    'whereis #name'
To set yourself unfindable:            'whereis #unfind'
To clear your unfindable flag:         'whereis #!unfind'
To set yourself Haven:                 'whereis #haven'
To clear your Haven flag:              'whereis #!haven'
To set everyone in a room unfindable:  'whereis #room'
To clear the room's unfindable flag:   'whereis #!room'
-----------------------------------------------------------------------------
Items in <> are parameters. Items in [] are optional.

Help screen 2 - Whereis program.  Version: 3.1
-----------------------------------------------------------------------------
To turn off notification of messages:  'whereis #quiet [haven] [room]
.                                           [unfindable] [findable] [ignore]'
To reset your notification messages:   'whereis #!quiet [haven] [room]
.                                           [unfindable] [findable] [ignore]'
To show your current settings:         'whereis #who'
To set your findable message:          'whereis #message find=[<text>]'
To clear your findable message:        'whereis #message find='
To set your unfindable message:        'whereis #message unfind=[<text>]'
To clear your unfindable message:      'whereis #message unfind='
Add a name to your ignore list:        'whereis #ignore <name>'
Remove a name from your ignore list:   'whereis #!ignore <name>'
See who you are ignoring:              'whereis #ignore'
-----------------------------------------------------------------------------
Items in <> are parameters. Items in [] are optional.

Help screen 3 - Whereis program.  Version: 3.1
-----------------------------------------------------------------------------
Find everyone on a pwho <list>:        'whereis #list <listname>'
Add a name to your priority list:      'whereis #priority <name>'
Remove a name from your priority list: 'whereis #!priority <name>'
See who you are prioritizing:          'whereis #priority'
View possible changes to this program: 'whereis #view'
Start writing to the prog's author:    'whereis #write <subject>'
Set yourself active user of @whereis:  'whereis #ok'
Shut off all access to @whereis:       'whereis #!ok'
Set value for crowd viewing on you:    'whereis #crowd me=[on|off|default]'
Set value for crowd viewing on room:   'whereis #crowd here=[on|off|default]'
-----------------------------------------------------------------------------
Items in <> are parameters. Items in [] are optional.


WHISPER    SEND MESSAGES TO PLAYERS IN SAME ROOM            WHISPER #HELP
MUFwhisper v1.03 by Tygryss   Updated 3/31/92   Page1
--------------------------------------------------------------------------
To whisper a message to another player:      'whisp <plyr> = <mesg>'
To do a pose style whisper to a player:      'whisp <player> = :<pose>'
To whisper to multiple people:               'whisp <plyr> <plyr> = <msg>'
To whisper again to the last players:        'whisp = <message>'
To reply to a whisper to you:                'whisp #r = <message>'
To reply to everyone in a multi-whisper:     'whisp #R = <message>'
To display what version this program is:     'whisp #version'
To display the latest program changes:       'whisp #changes'
To list who you last whispereed to, and who
                last whispereed to you:       'whisp #who'
---------------------- Words in <> are parameters. -----------------------


WHODO      "WHO" LISTING WITH "DOING" ENTRIES               WD #HELP
WhoDo 1.8 by Riss
WD                 -Shows the name, times, and Doings of on line folks.
WD [name pattern]  -Shows info only for those names starting in pattern.
WD #pwho [altlist] -Scans your main or alternate Pwho list of players.
WD #room           -Scans awake players in the room.
WD #conn [minutes] -Scans only players connected after you or minutes.
WD #watc           -Scans your WatchFor list.
WD #spec [namepat] -Like WD, but shows Sex and Species.
WD s:<text...text> -Set the Sticky Doing to <text>
WD s:              -Clears the Sticky Doing
WD t:<text...text> -Set the Temp Doing to <text>
WD t:              -Clears the Temp Doing. (Moving to a new room also clears)
WD #def [command]  -Sets or clears the default command WD will execute.
WD #temp on | off  -WD will(on) | will not(off) display Temp Doing remotely.
The Sticky Doing is the property that remains until changed by you.
The Temp Doing clears itself when you move to a new room.
The Temp Doing will only display to others in the same room as you,
 unless you 'WD #temp on'  which will make your Temp Doing available
 to be looked at by folks outside the room. '>' displays before a Temp Doing.
Viewing of your sex and species may be disabled with @set me=_wsobjector:far
To get a normal full WD list when you have a default set: WD #norm


WHOSPE     SHOWS THE SPECIES AND GENDER OF PLAYERS IN ROOM  WS #HELP
WhoSpecies Ver 1.9 by Riss
Displays the name, sex, species, and doing propertys of players.
If called by whospe <playername> then will only show information
on that one player in the room.
-------------------------------------
Props you set:     species:       Brief description of your species
                   species_prop:  Name of prop to read species from
                                   if different from species.
Set the props on yourself. No need to set species if species_prop is used.
Examples:
If you have @set me=species:Centaur then Centaur will display in list.
If you have @set me=species_prop:current then the list will display
the value of your property called current. This could be used with some
morphing programs and the @6800 general-desc program.
The sex is taken from the Gender or Sex props, with Sex overriding Gender.
[asleep] will be displayed next to the names of sleeping players.
More commands available. Enter 'whospe #morehelp' to display.
For comments or more information page #mail Riss.
WhoSpe will now look at a remote players species. This is done with:
 whospe #far <player's full name>
If you @set me=_wsobjector:far  then #far will not work on you.
---------------------------------
WhoSpe can now be set to display an extra line that can be used for a 'doing'
action. In other words, you can let others who use WhoSpe know what you
are doing. You set your doing by:
 whospe doing: <the text of what you are doing>
 (or whospe do: <text.......>  will do the same thing.)
Note - There must be a space after the doing: or do:
Example: I could set myself to say: Sitting quietly in the park.
and when someone ran WhoSpe they would see my infomation plus the line:
   Doing: Sitting quietly in the park.
To be able to see these lines if they are available from players, you must
do: whospe #doing.  To ignore these lines (default) do: whospe #!doing.
To clear your doing line, just enter: whospe doing: with no text.
WhoSpe will display your TEMP Doing if available, otherwize it will
 display your STICKY Doing. WhoSpe sets _ONLY_ your STICKY doing.
 For more info on TEMP and STICKY Doings, see the DOING global command.
-----------------------------------
Idle time display: Defaults to players idle for more than
 120 seconds. You may set a prop on yourself _WSIDLE with the number of
 seconds before you see the idle flag next to player's names.
 Ver 1.9 will display objects with _puppet? or Zombie flag set.
Enjoy! -Riss