COMMANDS
--------

Terminology:

+ MUCK additon
* Wizard only
# Restricted with GOD_PRIV
B Builder command -- may be restricted
P Programmer command  -- restricted unless MUCKER_ALL
~ Optional
% Special

@ACTION		[+B]
@action <name>=<source>.  Creates a new action and attaches it  to the
thing, room, or  player specified.  You  may only  attach  actions you
control to things you control.  Creating an action costs 1 penny.  The
action can then be linked with the command @LINK.

@ATTACH		[+B]
@attach <action>=<new  source>.  Removes the action from  where it was
and attaches it to the  new source.  You  must control  the action  in
question.

@BOOT		[*]
@boot <player>.  Disconnects  a player from  the game.  If a player is
connected more than once it affects the most recent connection.

@CHOWN		[%]
@chown <object>  [=<player>].   Changes the ownership   of <object> to
<player>, or if no player  is  given,  to yourself.   If  the MUCK  is
compiled with PLAYER_CHOWN, all players are allowed to take possession
of objects, rooms, and  actions,  provided the  CHOWN_OK flag is  set.
Mortals cannot take ownership  of a room unless they  are standing  in
it, and  may not  take ownership of  an object unless they are holding
it.  Wizards have absolute power over all ownership.

@CREATE		[B]
@create  <object> [=<cost>].  Creates a  new object and  places it  in
your  inventory.  This costs at   least ten pennies.     If <cost>  is
specified, you are  charged  that   many pennies,  and in return,  the
object is endowed with a value according to the formula ((cost /  5) -
1).  Usually the  maximum  value of an  object  is 100 pennies,  which
would cost 505 pennies to create.

@DESCRIBE
@describe <object> [=<text>].   Sets the description field of <object>
to  <text>.   If <text> is  not  specified,  the description  field is
cleared.

@DIG		[B]
@dig <room> [=<parent>].  Creates a new room and  sets its parent.  If
no  parent is given  it defaults to  the  global  environment which is
typically room #0.  Digging a room costs  10 pennies,  and you must be
able to link to the parent room if specified.

@DROP		[+]
@drop <object> [=<text>].  Sets the drop field  of <object> to <text>.
If  <text>  is not specified,   the drop field is  cleared.   The drop
message on an object is displayed when you drop it.  On an exit, it is
displayed  upon  entering the  destination  room.  On  a player  it is
displayed to whoever kills them.   On a room,  it is displayed when an
object is dropped there.

@DUMP		[*]
@dump.  Saves the database to disk.  This  is done automatically every
hour or so, and after an @shutdown.

@EDIT		[+P]
@edit <program>.  Searches for a program and if a match is found, puts
the player into edit mode.  Programs must be created with @PROG.

@FAIL
@fail <object> [=<text>].  Sets the fail field  of <object> to <text>.
If <text> is not specified, the fail field is cleared.

@FIND
@find [<string>].   Searches through  the  entire database for  rooms,
things, players, and programs  you  control, optionally matching their
names to <string>  if given.  This usually costs  at least a penny due
to the computing power involved.

@FORCE		[*#]
@force <player>=<command>.  Causes the game to process <command> as if
typed  by <player>.  With  the compile option  GOD_PRIV, God cannot be
forced by his/her sub-wizards.

@LINK
@link  <object1>=<object2> [;  <object3>; ...  <objectn>   ].    Links
<object1> to <object2>, provided  you control <object1>, and <object2>
is either  controlled by you or linkable.   Actions  may be  linked to
more than one thing, specified in a list separated by semi-colons.

@LIST
@list <program>  [=[line1] [-] [line2]].  Lists  lines  in a  program,
provided you control it or  it is LINK_OK.   Zero, one,  or  two  line
numbers may be specified, denoting the range of lines to list.   If no
lines are given, the entire program is listed.
 
@LOCK
@lock <object>=<key>.  Sets the key for <object>  to that specified by
<key>.  <key> is a full boolean expression, which  may  contain any of
the characters: ! | & ( ).

@NAME
@name  <object>=<name> [<password>].  Sets  the name field of <object>
to  <name>.   <name>  cannot   be  empty; a null   name   is  illegal.
<password> must  be supplied to rename a   player.  Wizards can rename
any player but still must include the password.

@NEWPASSWORD	[*#]
@newpassword <player>  [=<password>].   Sets   the  password field  of
<player> to <password>.  If <password> is not specified,  the password
field is    cleared.  A   player with    no  password   cannot  rename
him/herself.  If  GOD_PRIV  was defined,   nobody can   change   God's
password.

@ODROP		[+]
@odrop  <object>  [=<text>].   Sets the odrop field   of  <object>  to
<text>.  If <text>   is not specified,  the odrop  field  is  cleared.
Odrop on an  object is displayed  prefixed  by the player's  name when
s/he drops that object.  On an exit, it  is displayed upon  a player's
arrival to  the destination room  (or the location  of the destination
player).  On a player, it is displayed after the `name killed victim!'
message.  On a room, it is displayed when an  object is dropped there,
prefixed by the object's name.

@OFAIL
@ofail  <object>  [=<text>].    Sets the  ofail  field  of <object> to
<text>.  If <text> is not specified, the ofail field is cleared.

@OPEN		[B]
@open <exit> [=<object> [; <object2>; ... <objectn> ]].  Opens an exit
in the current room, optionally attempting to link  it simultaneously.
Opening an exit costs a penny, and an extra penny  to link it, and you
must control the room where it is being opened.

@OSUCCESS
@osucc <object>  [=<text>].   Sets  the osuccess field  of <object> to
<text>.  If <text> is not specified, the osuccess field is cleared.

@OWNED
@owned [<player>].  Lists everything you own, or Wizards may specify a
player argument.  This list includes exits, unlike @FIND.

@PASSWORD
@password <old>=<new>.  Change your password.

@PCREATE	[*#~]
@pcreate  <player>=<password>.  This  command is only   used under the
compile option REGISTRATION.  Create a new player named  <player> with
<password>.

@PROG		[+P]
@prog  <program>.  Create  a   new program, or enter  edit  mode on an
existing one.  See @EDIT and Programmer's Reference.

@RECYCLE	[+~]
@recycle <object>.  Destroy an object and remove  all references to it
within the  database.  The object  is then added  to a free  list, and
newly created objects  are assigned from  the pool of recycled objects
first.   You *must*  own the object being  recycled, even wizards must
use the @chown command to recycle someone else's belongings.

@SET
@set <object> = [!] <flag> -or-
@set <object> = <property> : [ <string> ] -or-
@set <object> = :
@set does one of  three things on TinyMUCK,  it  can modify flags, add
properties to an object,  or remove properties  from an object.
Using the first format, you may set flags, which are: WIZARD,
	LINK_OK, DARK [DEBUG], FILTER, STICKY [SETUID], or JUMP_OK.
	Optional flags which may or may not be on a given site are:
	BUILDER, CHOWN_OK, HAVEN, ABODE, or MUCKER.
The second format sets <property> on <object> to <string>, or if <string>
	is not given, removes <property>.
The third format removes all properties from an object.

@SHUTDOWN	[*]
@shutdown.  Dumps the database and shuts the game down.

@STATS
@stats [<player>].  For mortal  players, returns the highest number in
the  database, which includes  garbage that  has been  generated  with
@recycle.  For Wizards, gives  this  number as well  as a breakdown of
each type of   object:  rooms, exits,  things,  programs, players, and
garbage.  Wizards may  also specify <player>  which returns  a similar
display limited to the possessions of <player>.

@SUCCESS
@succ <object> [=<text>].   Sets  the  success field  of  <object>  to
<text>.  If <text> is not specified, the success field is cleared.

@TELEPORT
@teleport <arg1> [=<destination>].  Moves  <arg1> to <destination>, if
<destination> is not given, moves you to <arg1>.  Wizards may teleport
anything to anywhere, provided it makes sense, and mortals are allowed
to  do two things: teleport  rooms to change  their parent fields, and
the  may  teleport  things to a room  they can link  to, provided they
control either the thing or its location.

@TOAD		[*]
@toad <player>.  Turns <player> into a slimy  toad, destroying his/her
character and disconnecting him/her from the game.

@TRACE		[+]
@trace  <object> [=<depth>].   Starts  with  <object>  and  traces all
location  fields, until the global-environment  room is reached or the
optional <depth> is specified.  This  is generally  useful for finding
which rooms are  parents in  your heirarchy.   If you cannot link to a
particular location its name is replaced by stars ***.

@UNLINK		[B]
@unlink  <action>.  Removes  any  and  all destination fields  of  the
specified <action>.

@UNLOCK
@unlock  <object>.   Removes  any and   all   locks  on the  specified
<object>.

@WALL		[*]
@wall <message>.  Shouts a message to every player in the game.

DROP
drop  <object>.  Drops the <object>  if you are holding it.   It moves
the object to the room you are in, unless  its STICKY flag  is set, or
the room has a drop-to.  Programs are  much  like  objects but are not
affected by room droptos or STICKY flags.

EXAMINE examine <object>.    If you  control  <object>,  a    complete
breakdown of all fields, flags, properties, etc.  associated  with the
object is displayed.  Program-executing fields  are displayed as their
true text, rather than executing the program in  question.   If you do
not control <object>, however, it  prints the owner of  the  object in
question, and, again, displays the true text of the description.

GET
get <object>.  Attempts to pick up <object>.  The lock on  <object> is
checked for a success  (true), and  the normal path of success/fail is
then taken.  On success the object is placed in your inventory.

GIVE
give   <player|object>=<amount>.   Gives <amount>  pennies  from  your
supply to <player>.  Mortals may  only give  positive amounts and  may
not  cause a player  to have more than 10000  pennies.  Wizards do not
affect  their penny supplies  by giving  to  others, and may also give
pennies to objects, changing that object's value.

GOTO
goto <direction>.  Attempts  to find an  exit by  that  name.  Goto is
unnecessary and much like LET in Basic (read: silly).

GRIPE
gripe <message>.  Sends <message> to the system maintainer.

HELP
help.  Displays the help file.

INVENTORY
inventory.  Lists the objects you  are carrying,  as  well as how many
pennies you have.

KILL
kill  <player> [=<cost>].  A  successful  kill  sends the player home,
sends all objects in the player's inventory to their respective homes.
The probability of killing the player is <cost> percent.  Spending 100
pennies always  works  except against   Wizards who  cannot be killed.
Players cannot be killed in rooms which have the HAVEN flag set.

LOOK
look <object>.  Looks around  at the  current room, or at  <object> if
specified.  For players, displays their description and inventory, for
things,  their description,  and for  rooms,  their name, description,
succ/fail message,  and contents.  Also triggers osucc/ofail  messages
on  rooms.   Programs   are triggered   accordingly on  desc/succ/fail
fields.

MOVE
move <direction>.  See GOTO.

MAN		[+]
man.  Displays the programmer's manual or a quick reference.

NEWS
news.  Displays the game's news file.

OUTPUTPREFIX
OUTPUTPREFIX [string]. Must  be in all capitals, and  must be typed in
full.   This  prints  the  given string  before  the output  of  every
command.

OUTPUTSUFFIX [string].  Must be in all capitals, and must be  typed in
full.  This prints the given string after the output of every command.

PAGE
page <player> [=<message>].  Costs a  penny,  and sends  your name and
location to <player>, optionally  passing them <message> as  well.   A
player who is set HAVEN cannot be paged, and will not be notified that
you tried.

POSE or :
:<text>.  Displays your name, followed by <text>.

PUT
put <object>.  See DROP.

QUIT
QUIT.  Logs you off the game.  Must be typed all capitals.

READ
read [<object>].  Synonym for LOOK.

ROB
rob <player>.  Attempts to steal a penny from <player>.   The  lock on
<player> is checked, and  you succeed or  fail appropriately.   If you
succeed, the message `You stole a penny.' is always displayed.

SAY or "
"<text>.  Displays the message, <player> says, "<text>".

SCORE
score.  Displays how many pennies you have.

TAKE
take <object>.  Synonym for GET.

THROW
throw <object>.  Synonym for DROP.

WHISPER
whisper <player>=<message>.   Gives  <player>    a   private  message,
undetectable by others in the same room.

WHO
WHO [<match>]. List  names of the players  logged in, and  their  idle
times.   If  <match> is specified, only names  that start with <match>
are displayed.  Must be typed in all capitals.
