0 QMCONFIG~
Syntax: qmconfig [show|ansiprompt|ansicolor|telnetga] [on|off]

        This command is used to set options developed in the
        QuickMUD source. They include:

        ansicolor  - do new logins have color on by default?
        ansiprompt - do new logins see a "color?" prompt?
        show       - show current settings of qmconfig variables
        telnetga   - do new logins have telnetga enabled?
~

-1 COLOUR COLOR ANSI~
Syntax: colour -- (Toggles colour mode on or off)
 
The colour codes are:
{{m {mmagenta{x {{M {Mbright magenta{x
{{y {yyellow{x  {{Y {Ybright yellow{x
{{c {ccyan{x    {{C {Cbright cyan{x
{{b {bblue{x    {{B {Bbright blue{x
{{r {rred{x     {{R {Rbright red{x     
{{x clear   {{W {Wbright white{x
{{g {ggreen{x   {{G {Gbright green{x
{{/ newline code
{{{{ bracket code

To speak in color, you simply type your message and add in the appropriate color codes.
~

0 ansi2 color2 colour2~
Syntax: colour <field> <colour>
Syntax: color <field> <color>
 
The color settings can be personalized per preference of the user.
These are the applicable fields for changing color settings:
 
text   {Yauction{x   {Wauction_text{x   {mgossip{x   {Mgossip_text{x
{rmusic{x   {Rmusic_text{x   {Yquestion{x   {Wquestion_text{x   {Yanswer{x
{Wanswer_text{x   {yquote{x   {gquote_text{x   {cimmtalk_text{x   immtalk_type
info   {gsay{x   {Gsay_text{x   {gtell{x   {Gtell_text{x   {greply{x   {Greply_text{x
gtell_text   gtell_type   wiznet   {croom_title{x   room_text
{groom_exits{x   room_things   {cprompt{x   {Rfight_death{x   
{gfight_yhit{x    {rfight_ohit{x     fight_thit     {wfight_skill{x
 
When changing the default colors, if you would like to make it a bright
color, like {Rbright red{x, you type color <field> hi-red.
 
If you would simply like {rred{x, you type color <field> red.
 
Adding a prefix of "hi-" makes the color the bright version.
~

-1 DIKU~
.                    Original game idea, concept, and design:

          Katja Nyboe               [Superwoman] (katz@freja.diku.dk)
          Tom Madsen              [Stormbringer] (noop@freja.diku.dk)
          Hans Henrik Staerfeldt           [God] (bombman@freja.diku.dk)
          Michael Seifert                 [Papi] (seifert@freja.diku.dk)
          Sebastian Hammer               [Quinn] (quinn@freja.diku.dk)


Developed at: DIKU -- The Department of Computer Science
                      at the University of Copenhagen.


~

-1 GOLD SILVER MONEY~
Midgaard's economy is based on gold and silver coinage (and the lowly copper,
which you as an adventurer are far too proud to carry).  Gold coins are worth
100 silver coins, but are also four times as heavy (25 to the pound, as 
opposed to 100 to the pound for silver). Gems can be bought to alleviate weight problems
from the Midgaard jeweller, he charges a mere 10% more than they are worth.
10 gems weigh one pound, and they can be worth more than 100 gold pieces for
the highest quality stones.
~

0 BRIEF COMPACT~
Brief and compact help set your display options for the game. Typing brief
toggles on and off the showing of room descriptions when you move around
(considerably reducing the text to be processed), and typing compact 
removes the extra blank line before your prompt.
~

-1 DEAF~
The deaf toggle turns off incoming tells, helpfull if you are being bombarded
by messages from other players.  You can still use reply (see 'help reply') to
reply to people who were telling you before you went deaf, although you
cannot reply to a deaf person unless you or they are a diety (it's mostly 
useful for sending a quick "I'm being spammed so I went deaf" message to
a person).
~

-1 AFK~
Typing AFK puts your character in a tell-saving mode as follows: any tell
to you is stored in a special buffer, and can be seen later by typing
replay.  This is useful when you need to leave the mud for 5 or 10 minutes,
but don't want to miss tells.  AFK shows up in your prompt until it is
turned off.

Tells to link-dead players are stored in a similar fashion, and can also be
seen by typing replay (unless, of course, the character logs off before
reading them).
 
For more information about replay, {Ghelp replay{x.
~

-1 PROMPT~
Syntax: prompt
Syntax: prompt all
Syntax: prompt <%*>
 
PROMPT with out an argument will turn your prompt on or off.
 
PROMPT ALL will give you the standard "<hits magic moves>" prompt.
 
PROMPT <%*> where the %* are the various variables you may set yourself.
 
        %c/C :  Display your current/max chi
        %e/E :  Display your current/max elemental
        %f/F :  Display your current/max fae
        %l/L :  Display your current/max ley
        %h/H :  Display your current/max hitpoints
        %v/V :  Display your current/max moves
        %x :  Display your current experience
        %X :  Display experience to level
        %g :  Display your gold held
        %s :  Display silver carried
        %r :  Display the room name you are in
        %a :  Display the exits from the room in NESWDU style
        %n :  Display a newline (useful for multi-line prompts)
        %R :  Display the vnum you are in (IMMORTAL ONLY)
        %z :  Display the area name you are in (IMMORTAL ONLY)
        %o :  OLC: Name of what is being edited
        %O :  OLC: Vnum of what is being edited
        %% :  Display a percent sign (%)
Example:  PROMPT <%hhp %c/%Cchi %f/%Ffae %vmv>
        Will set your prompt to "<10hp 100/100chi 100/100fae 100mv>"
 
~

-1 SUMMARY~
{CMOVEMENT{x                            {CGROUP{x
north south east west up down       follow group gtell split
exits recall
sleep wake rest stand

{COBJECTS{x                             {CINFORMATION{x / {CCOMMUNICATION{x
get put drop give sacrifice         help credits commands areas
wear wield hold                     report score time weather where who
recite quaff zap brandish           description password title
lock unlock open close pick         bug idea typo
inventory equipment look compare    gossip cgossip say shout tell yell
eat drink fill                      emote pose
list buy sell value                 note

{CCOMBAT{x                              {COTHER{x
kill flee kick rescue disarm        ! save quit
backstab cast wimpy                 practice train


For more help, type '{Ghelp {R<topic>{x' for any command, skill, or spell.
Also help on: DAMAGE DEATH EXPERIENCE NEWS STORY TICK WIZLIST
~

0 DEATH~
When your character dies, you are reincarnated back at the Altar of the Temple
of Midgaard.  Your corpse is left behind in the room where you were killed,
together with all of your equipment.

Any spells which were affecting you are canceled by death.

Following and groups are not affected by death.

You lose experience points for dying.  The amount you lose is two-thirds of 
the way back to the beginning of your level.

Corpses decay after time, and the objects inside corpses decay with them.
Player corpses last *roughly* 30 hours of game time (15 minutes of real time).
Only the player who died, or someone in the same group, can retrieve objects
from a player's corpse.

~

0 EXPERIENCE LEVEL XP~
Your character advances in power by gaining experience.  You need a set 
amount of experience points for each level based on your creation points.

You gain experience by:

    being part of a group that kills a monster

You lose experience by:

    fleeing from combat
    recalling out of combat
    being the target of certain spells
    dying

The experience you get from a kill depends on several things: how many players
are in your group; your level versus the level of the monster; your alignment
versus the monster's alignment; how many of this monster have been killed
lately; and some random variation.
~

0 PET PETS~
You can buy pets in the pet shop.  You may own only one pet at a time, after 
the old one dies you may purchase a replacement.

New pets are planned for a shop in New Thalos.
~

0 TICK~
Many of the game actions are based upon interval timers, including combat,
most autonomous monster actions, hp/mana/move regeneration, spell duration,
weather, and area resetting.

Of these timers, the hp/mana/move regeneration timer is popularly called the
'tick'.  Ticks on this mud average 30 seconds of real time, but the actual
amount varies randomly from 15 seconds to 45 seconds.

Area resetting happens roughly every 3 minutes if no one is in the area; less
often (15 minutes) if some one is.  Also note that objects lying on the ground
will not be regenerated if anyone is in the area when it resets.
~

0 !~
Syntax: !

! repeats the last command you typed.
~

0 NORTH SOUTH EAST WEST UP DOWN~
Syntax: north
Syntax: south
Syntax: east
Syntax: west
Syntax: up
Syntax: down

Use these commands to walk in a particular direction.
~

0 CAST~
Syntax: cast <spell> <target>

Before you can cast a spell, you have to practice it.  The more you practice,
the higher chance you have of success when casting.  Casting spells costs mana.
The mana cost decreases as your level increases.

The <target> is optional.  Many spells which need targets will use an
appropriate default target, especially during combat.

If the spell name is more than one word, then you must quote the spell name.
Example: cast 'cure critic' frag.  Quoting is optional for single-word spells.
You can abbreviate the spell name.

When you cast an offensive spell, the victim usually gets a saving throw.
The effect of the spell is reduced or eliminated if the victim makes the
saving throw successfully.

See also the help sections for individual spells.
~

0 EXITS~
Syntax: exits Tells you the visible exits of the room you are in.  Not
all exits are visible.  You can use the 'bump' technique to find hidden
exits.  (Try to walk in a certain direction and see what you bump into). 
This won't work for secret exits, though.  
~

0 DROP GET GIVE PUT TAKE~
Syntax: drop <object>
Syntax: drop <amount> coins
Syntax: get  <object>
Syntax: get  <object> <container>
Syntax: give <object> <character>
Syntax: give <amount> coins <character>
Syntax: put  <object> <container>

DROP drops an object, or some coins, on the ground.

GET gets an object, either lying on the ground, or from a container, or even
from a corpse.  TAKE is a synonym for get.

GIVE gives an object, or some coins, to another character.

PUT puts an object into a container.

DROP, GET and PUT understand the object names 'ALL' for all objects and
'ALL.object' for all objects with the same name.
~

0 EQUIPMENT INVENTORY~
Syntax: equipment
Syntax: inventory

EQUIPMENT lists your equipment (armor, weapons, and held items).
INVENTORY lists your inventory.
~

0 COMPARE~
Syntax: compare <object-1> <object-2>
Syntax: compare <object>
 
COMPARE compares two objects in your inventory.  If both objects are weapons,
it will report the one with the better average damage.  If both objects are
armor, it will report the one with the better armor class.
 
COMPARE with one argument compares an object in your inventory to the object
you are currently wearing or wielding of the same type.
 
COMPARE doesn't consider any special modifiers of the objects.
~

0 FLEE~
Syntax: flee
Syntax: rescue   <character>

Once you start a fight, you can't just walk away from it.  If the fight
is not going well, you can attempt to FLEE, or another character can
RESCUE you.  (You can also RECALL, but this is less likely to work,
and costs more experience points, then fleeing).

If you lose your link during a fight, then your character will keep
fighting, and will attempt to RECALL from time to time.  Your chances
of making the recall are reduced, and you will lose much more experience.
~

0 EXAMINE LOOK READ~
Syntax: look
Syntax: look    <object>
Syntax: look    <character>
Syntax: look    <direction>
Syntax: look    <keyword>
Syntax: look in <container>
Syntax: look in <corpse>
Syntax: examine <container>
Syntax: examine <corpse>
Syntax: read

LOOK looks at something and sees what you can see.

EXAMINE is short for 'LOOK container' followed by 'LOOK IN container'.
 
READ reads the description of the current room, along with any items
or players in it. READ also works to read objects.
~

0 ORDER~
Syntax: order <character> command
Syntax: order all command

ORDER orders one or all of your charmed followers (including pets) to
perform any command.  The command may have arguments.  You are responsible
for the actions of your followers, and others who attack your followers
will incur the same penalty as if they attacked you directly.

Most charmed creatures lose their aggresive nature (while charmed).

If your charmed creature engages in combat, that will break the charm.
~

0 REST SLEEP STAND WAKE SIT~
Syntax: rest
Syntax: sleep
Syntax: stand
Syntax: wake
Syntax: sit

These commands change your position.  When you REST or SLEEP, you 
regenerate hit points, mana points, and movement points faster.
However, you are more vulnerable to attack, and if you SLEEP,
you won't hear many things happen.

Use STAND or WAKE to come back to a standing position.  You can
also WAKE other sleeping characters.
~

0 GTELL ; REPLY SAY TELL REPLAY~
Syntax: gtell <message>
Syntax: say   <message>
Syntax: tell  <character> <message>
Syntax: replay

All of these commands except 'replay' send messages to other players. 
GTELL sends a message to all of the characters in your group.
GTELL works whereever your group members are, even if they are sleeping,
stunned, resting, dying, or any other of a number of situations.

SAY sends a message to all awake players in your room.  The single quote '''
is a synonym for SAY.

TELL sends a message to one awake player anywhere in the world.

REPLY sends a message to the last player who sent you a TELL.  REPLY will work
even if you can't see the player, and without revealing their identity.  This
is handy for talking to invisible or switched immortal players.
 
REPLAY plays back any "tells" you may have received from other players while
you were flagged "AFK."
~

0 NOTES NOTE COMMITS CHANGES 'NOTE SYSTEM' PENALTIES PENALTY NEWS BUG IDEA~
Syntax:
 
Commands to READ notes:
note list          : shows all notes (unread notes are marked)
note read #  : reads the note listed under that number
note remove    : removes a note that you wrote
note catchup   : marks all unread notes as read


Commands to WRITE notes:
note to           : begins a note, setting the TO: line
note subject    : sets the subject line
note +            : adds a line to a note
note -             : removes a line from a note
note clear       : erases a note (in the midst of being written)
note show       : shows the note so far
note post        : posts the note
 
Other than plain notes, there are different types of notes.
 
These are:
 
Notes, ideas, news, code commits, changes, penalties, and bugs.
 
Anyone may read them, but mortals may only post to the note and
bug and idea boards.

In order to write a note to a board other than "note," simply
replace "note" with "idea," or some other appropriate board. 
~

0 GOSSIP CGOSSIP . SHOUT YELL~
Syntax: gossip  <message>
Syntax: cgossip <message>
Syntax: shout   <message>
Syntax: yell    <message>

SHOUT sends a message to all awake players in the world.  To curb excessive
shouting, SHOUT imposes a three-second delay on the shouter.

GOSSIP and CGOSSIP are variants of SHOUT (without the delay).  '.' is a 
synonym for GOSSIP.

YELL sends a message to all awake players within your area.

Type a channel name by itself to turn it off.
~

0 EMOTE PMOTE POSE SMOTE~
Syntax: emote <action>
Syntax: pmote <action> <target>
Syntax: smote <string>
Syntax: pose

EMOTE is used to express emotions or actions.  Besides EMOTE, there are
several dozen built-in social commands, such as CACKLE, HUG, and THANK
(type socials or help socials for a listing).

PMOTE is similar to emote, but will substitute you and your for a target's
name (i.e. pmote bonks Alander will be read as bonks you by Alander, and
as bonks Alander by everyone else).

SMOTE works exactly like pmote, except you must place your name somewhere in
the string, and it will show that string to everyone in the room.
 
POSE produces a random message depending on your class and level.
~

0 HOLD REMOVE WEAR WIELD~
Syntax: hold   <object>
Syntax: remove <object>
Syntax: wear   <object>
Syntax: wear   all
Syntax: wield  <object>

Three of these commands will take an object from your inventory and start using
it as equipment.  HOLD is for light sources, wands, and staves.  WEAR is for
armor.  WIELD is for weapons.

WEAR ALL will attempt to HOLD, WEAR, or WIELD each suitable item in your
inventory.

You may not be able to HOLD, WEAR, or WIELD an item if its alignment does not
match yours, if it is too heavy for you, or if you are not experienced enough
to use it properly.

REMOVE will take any object from your equipment and put it back into your
inventory.
~

0 CREDITS~
Syntax: credits

This command shows the list of the original Diku Mud implementors.
~

0 AREAS COMMANDS REPORT SCORE TIME~
Syntax: areas
Syntax: commands
Syntax: report
Syntax: score
Syntax: time
Syntax: weather

AREAS shows you a list of areas in the game.

COMMANDS shows you all the commands in the game.

REPORT shows your current statistics to you and also announces them to other
players in the room.  SCORE shows much more detailed statistics to you only.
Your ability scores are shown as true value(current value), so for example
Str: 15(23) means you have a 15 strength from training, but a 23 strength
from other factors (spells or items).

TIME shows the game time, as well as the time the mud was last started,
and the current local time for the host computer.

WEATHER shows the current game weather.
~

-1 WHO~
Syntax: who
Syntax: who <level-range>
Syntax: who <class or race>
Syntax: who <clan name>
Syntax: who <class or race> <level-range> <clan name>

WHO shows the people currently in the game.  Some people may choose to
remain unseen and won't appear on the WHO
 
WHO without any arguments shows all of the (visible) people currently playing.

With arguments, WHO can show players of certain classes or levels.
For example:
 
who 10          lists all players of level 10 or above
who 15 20       lists all players between level 15 and 20
who cleric      lists all clerics playing
who immortal    lists all immortals playing
who cleric 1 5  lists all clerics between levels 1 and 5
who elf cleric  lists all elven clerics
who demise e m  lists all elven mages in Demise (hi Alander!)

Classes and races may be abbreviated.
~

-1 WHOIS~
Syntax: whois <name>
The whois command identifies any user who matches the name given. For
example, 'whois a' shows all characters whose name begins with A.
~

0 WHERE~
Syntax: where
Syntax: where <character>

WHERE without an argument tells you the location of visible players in the same
area as you are.

WHERE with an argument tells you the location of one character with that name
within your area, including monsters.
~

0 HELP~
Syntax: help
Syntax: help <keyword>

HELP without any arguments shows a one-page command summary.

HELP <keyword> shows a page of help on that keyword.  The keywords include
all the commands, spells, and skills listed in the game.
~

0 DESCRIPTION DESC~
Syntax: description <string>
Syntax: description + <string>
Syntax: description - 

Sets your long description to the given string.  If the description string
starts with a '+', the part after the '+' is appended to your current
description, so that you can make multi-line descriptions. You can delete
lines by uses description -.
~

0 PASSWORD~
Syntax: password <old-password> <new-password>

PASSWORD changes your character's password.  The first argument must be
your old password.  The second argument is your new password.

The PASSWORD command is protected against being snooped or logged.
~

0 TITLE~
Syntax: title <string>

Sets your title to a given string.

The game supplies a title when your character is created and when you
advance a level.  You can use TITLE to set your title to something else.
~

0 WIMPY~
Syntax: wimpy
Syntax: wimpy <number>

WIMPY sets your wimpy value.  When your character takes damage that reduces
your hit points below your wimpy value, you will automatically attempt to flee.
You will only flee if your character is not in a wait state -- i.e. has not
been using combat commands like cast, trip and bash, and has not been
tripped or bash by an enemy.

WIMPY with no argument sets your wimpy value to 20% of your maximum hit points.

Some monsters are wimpy.
~

0 OPEN CLOSE LOCK UNLOCK PICK~
Syntax: open   <object|direction>
Syntax: close  <object|direction>
Syntax: lock   <object|direction>
Syntax: unlock <object|direction>
Syntax: pick   <object|direction>

OPEN and CLOSE open and close an object or a door.

LOCK and UNLOCK lock and unlock a closed object or door.  You must have
the requisite key to LOCK or UNLOCK.

PICK can open a lock without having the key.  In order to PICK successfully,
you must practice the appropriate skill.
~

0 DRINK EAT FILL POUR~
Syntax: drink <object>
Syntax: eat   <object>
Syntax: fill  <object>
Syntax: pour  <object> out
Syntax: pour  <object> <object>
Syntax: pour  <object> <character>

When you are thirsty, DRINK something.

When you are hungry, EAT something.

FILL fills a drink container with water.

POUR transfers a liquid to a container, or empties one.
You can also pour from an object into something a character is holding.
~

0 BUY LIST SELL VALUE~
Syntax: buy   <object>
Syntax: list
Syntax: sell  <object>
Syntax: value <object>

BUY buys an object from a shop keeper.
When multiple items of the same name are listed, type 'buy n.item', where n
is the position of the item in a list of that name.  So if there are two
swords, buy 2.sword will buy the second. If you want to buy multiples of
an item, use an * (buy 5*pie will buy 5 pies).  These can be combined into
(for example) buy 2*2.shield, as long as the * is first.  

LIST lists the objects the shop keeper will sell you.
List <name> shows you only objects of that name.

SELL sells an object to a shop keeper.

VALUE asks the shop keeper how much he, she, or it will buy the item for.
~

0 SACRIFICE~
Syntax: sacrifice <object>

SACRIFICE offers an object to Mota, who may reward you.
The nature of the reward depends upon the type of object.
~

0 SCROLL~
Syntax: scroll
Syntax: scroll <number>

This command changes the number of lines the mud sends you in a page (the 
default is 24 lines).  Change this to a higher number for larger screen
sizes, or to 0 to disabling paging.
~

0 BRANDISH QUAFF RECITE ZAP~
Syntax: brandish
Syntax: quaff    <potion>
Syntax: recite   <scroll> <target>
Syntax: zap      <target>
Syntax: zap

BRANDISH brandishes a magical staff.  QUAFF quaffs a magical potion (as opposed
to DRINK, which drinks mundane liquids).  RECITE recites a magical scroll; the
<target> is optional, depending on the nature of the scroll.  ZAP zaps a
magical wand at a target.  If the target is not specified, and you are fighting
someone, then that character is used for a target.

You must HOLD a wand or a staff before using BRANDISH or ZAP.

All of these commands use up their objects.  Potions and scrolls have a single
charge.  Wands and staves have multiple charges.  When a magical object has no
more charges, it will be consumed.

These commands may require an item skill to be succesful, see the help entries
on the skills scrolls, staves, and wands for more information.
~

0 CONSIDER~
Syntax: consider <character>

CONSIDER tells you what your chances are of killing a character.
Of course, it's only a rough estimate.
~

0 FOLLOW GROUP~
Syntax: follow <character>
Syntax: group
Syntax: group <character>

FOLLOW starts you following another character.  To stop following anyone else,
just FOLLOW <yourself>.

GROUP <character> makes someone who is following you a member of your group.
Group members share experience points from kills and may use the GTELL and
SPLIT commands.  If anyone in your group is attacked, you will automatically
join the fight.

If the <character> is already a member of your group, then GROUP will
kick out the <character> from your group.  Characters can also leave your
group by using a FOLLOW command to stop following you.

GROUP with no argument shows statistics for each character in your group.

You may FOLLOW and GROUP only with characters who are within five levels of
your own.
~

0 VISIBLE~
VISIBLE cancels your hiding and sneaking, as well as any invisibility,
making you visible again.
~

0 QUIT RENT SAVE~
Syntax: QUIT
Syntax: RENT ... not!
Syntax: SAVE

SAVE saves your character and object.  The game saves your character every
15 minutes regardless, and is the preferred method of saving.  Typing save
will block all other command for about 20 seconds, so use it sparingly.
(90+ players all typing save every 30 seconds just generated too much lag)

Some objects, such as keys and potions, may not be saved.

QUIT leaves the game.  You may QUIT anywhere.  When you re-enter the game 
you will be back in the same room.

QUIT automatically does a SAVE, so you can safely leave the game with just one
command.  Nevertheless it's a good idea to SAVE before QUIT.  If you get into
the habit of using QUIT without SAVE, and then you play some other mud that
doesn't save before quitting, you're going to regret it.

There is no RENT in this mud.  Just SAVE and QUIT whenever you want to leave.
~

0 RECALL /~
Syntax: RECALL

RECALL prays to Mota for miraculous transportation from where you are
back to the Temple of Midgaard.  '/' is a synonym for RECALL.

If you RECALL during combat, you will lose experience (more than for fleeing),
and you will have a chance of failing (again, more than for fleeing).  This
chance is based on your recall skill, although a 100% recall does not 
insure success.

RECALL costs half of your movement points.

RECALL doesn't work in certain god-forsaken rooms.  Characters afflicted by a
curse may not recall at all.
~

-1 SPLIT~
Syntax: SPLIT <silver> <gold>

SPLIT splits some coins  between you and all the members of your
group who are in the same room as you.  It's customary to SPLIT
the loot after a kill.  The first argument is the amount of silver
the split (0 is acceptable), and the second gold (optional).
Examples:
split 30 	--> split 30 silver
split 20 50	--> split 20 silver, 50 gold
split  0 10	--> split 10 gold
~

0 STEAL~
Syntax: STEAL coins <character>
Syntax: STEAL <object> <character>

STEAL attempts to steal coins, or an object, from a character.

There are penalties for using STEAL on other players.

In order to STEAL successfully, you must practice the appropriate skill.
~

0 PRACTICE~
Syntax: PRACTICE
Syntax: PRACTICE <skill|spell>

PRACTICE without an argument tells you your current ability level in all
the skills and spells available to you.  You can check this anywhere.

PRACTICE with an argument practice that skill or spell.  Your learning
percentage varies from 0% (unlearned) to a some maximum between 80% and 100%,
depending on your class.  You must be at a guild master to practice.

The higher your intelligence, the more you will learn at each practice
session.  The higher your wisdom, the more practice sessions you will
have each time you gain a level.  Unused sessions are saved until you
do use them.
~

0 TRAIN~
Syntax: train <str int wis dex con hp mana>

TRAIN increases one of your attributes.  When you start the game, your
character has standard attributes based on your class, and several
initial training sessions.  You can increase your attributes by
using these sessions at a trainer (there are several in town).

It takes one training session to improve an attribute, or to increase
mana or hp by 10.  You receive one session per level.

The best attributes to train first are WIS and CON.  WIS gives you more
practice when you gain a level.  CON gives you more hit points.
In the long run, your character will be most powerful if you train
WIS and CON both to 18 before practising or training anything else.
~

60 ADVANCE~
Syntax: advance <character> <level>

ADVANCE sets a character's level to the specified value.  It is the
only way to create new immortal characters within the game.  ADVANCE
may also be used to demote characters.
~

60 TRUST~
Syntax: trust <character> <level>

TRUST sets a character's trust to the specified level.  This is similar to
advancing the character for accessing immortal commands, but has no effect
on combat strength, et cetera.  You can give more trust to mortal (or
immortal) characters to give them access to more power without messing up
the character.  You can also restrict a player's trust to less than their
natural level.

A trust of 0 means to use the character's natural level again.
~

58 ALLOW BAN PERMBAN~
Syntax: allow   <site>
	ban     <site> <newbies|all|permit>
	ban

BAN <site> prohibits players from that site from logging in.  BAN with
no arguments lists the banned sites.  ALLOW <site> removes a site from
the ban list, if the remover is of equal or higher level than the banner.

A site may have all players, new players, or non-permitted players (set
by editing the player file) banned, by changing the argument after the site.
*s may be used to ban either by suffix (*.edu), prefix (labmac*), or 
content (*andrews*), but be careful not to accidently lock out too many
sites with a wildcard.  Bans do not save unless the permban command is used.
 
Related helpfiles: {Gdeny{x
~

59 REBOOT SHUTDOWN~
Syntax: reboot
	shutdown

Reboot shuts down the server.  When the normal 'startup' script is used
to control the server, a delay of fifteen seconds will ensue (to allow
old connections to die), followed by a reboot.

Shutdown shuts down the server and prevents the normal 'startup' script
from restarting it.
~

56 WIZLOCK NEWLOCK~
Syntax: wizlock
	newlock

Wizlock and newlock both block login attempts to ROM. Wizlock locks
out all non-gods (i.e. level less than 51), except for link-dead players who
are returning.  Newlock only locks out new character generation, typically
used for preventing a spammer from returning.  Wizlocking should be avoided,
and newlocking should be accompanied by mail or a note to the imps.

A god must be at least Supreme level to wizlock the game.
~

59 DENY~
Syntax: deny <name>

Deny locks a character out of a game permanently, rendering their character
name unusable.  It may only be removed by editing the file, for this reason
freeze is usually preferred.
 
Related helpfiles: {Gallow{x, {Gban{x, {Gpermban{x
~

57 DISCONNECT~
Syntax: disconnect <name>

Disconnect breaks a player's link to the game, dumping them back to the telnet
prompt.  This is a non-lethal way of getting rid of spammers and annoying
players.
~

57 FREEZE~
Syntax: freeze <name>

FREEZE <character> is a toggle which prevents a character from issuing any
commands at all. It can be removed from within the game, so freezing a 
troublemaker is usually a better option than they deny command.
~

53 FOR~
FOR ALL <action>
FOR MORTALS <action>
FOR GODS <action>
FOR MOBS <action>
FOR EVERYWHERE <action>
FOR <number> <action>
FOR <mobname> <action>

Executes action several times, either on ALL players (not including yourself),
MORTALS (including trusted characters), GODS (characters with level higher than
L_HERO), MOBS (Not recommended) or every room (not recommended either!)  Can
also do by a mob's name or a certain number of times.

If you insert a # in the action, it will be replaced by the name of the target.

If # is a part of the action, the action will be executed for every target
in game. If there is no #, the action will be executed for every room containg
at least one target, but only once per room. # cannot be used with FOR EVERY-
WHERE. # can be anywhere in the action.

Example:

FOR ALL SMILE -> you will only smile once in a room with 2 players.
FOR ALL TWIDDLE # -> In a room with A and B, you will twiddle A then B.
FOR CITYGUARD SMILE # -> Smile at all cityguards across the MUD.
FOR 10 say Hi! -> Take a guess :)

Destroying the characters this command acts upon MAY cause it to fail. Try to
avoid something like FOR MOBS PURGE (although it actually works at my MUD).

FOR MOBS TRANS 3054 (transfer ALL the mobs to Midgaard temple) does NOT work
though :)

The command works by transporting the character to each of the rooms with
target in them. Private rooms are not violated.

~

53 FORCE~
Syntax: force <character> <command>
Syntax: force all <command>

FORCE forces one character to execute a command, except of course delete.

Below level 57 (Deity) force can only be used on mobiles, and force all is
unavailable.  You also cannot 'force orc murder hugo', for example. 

FORCE 'all' forces all player characters to execute a command.
This is typically used for 'force all save'.
~

56 SOCKETS~
Syntax: sockets
	sockets <name> 

SOCKETS reports all of the visible users connected to the server, including 
users in the process of logging in.  The two numbers inside brackets are the 
channel number and the 'connected' state.  The 'connected' states are listed in 
merc.h: 0 is CON_PLAYING; non-zero values are various states of logging in.

The optional name argument shows the site of a player, or optional can be used
to identify switched gods (i.e. socket orc shows the name of anyone switched
into an orc).
~

56 LOAD~
Syntax: load mob <vnum>
	load obj <vnum> <level>

The load command is used to load new objects or mobiles (use clone to 
duplicate strung items and mobs).  The vnums can be found with the vnum
command, or by stat'ing an existing mob or object.

Load puts objects in inventory if they can be carried, otherwise they are
put in the room.  Mobiles are always put into the same room as the god. Old
format objects must be given a level argument to determine their power, new
format objects have a preset level that cannot be changed without set.
(see also clone, vnum, stat)
~

58 SET~
Syntax: set mob   <mobile> <field> <value>
	set obj   <object> <field> <value>
	set room  <number> <field> <value>
	set skill <char>   <name>  <rating>
	set skill <char>   all     <rating>

The set command is used to change the numerical values of the various data
structures. Type set <class> without an argument to see a listing of options.
Set skill all (pc's only) will set all the character's skills to the value
given.  Use string to change the strings on an object or mobile.
(see also string, stat)
~

55 STRING~
Syntax: string obj <field> <string>
	string mob <field> <string>

The string command changes the various strings associated with an object or
mobile.  A full list of fields can be viewed by typing string obj or string
mob.  Sorry, multi-line strings are not yet supported.
~

55 NOCHANNELS NOEMOTE NOSHOUT NOTELL NOCHANNEL~
Syntax: nochannels <character>
	noemote   <character>
	noshout   <character>
	notell    <character>

Noemote, noshout, and notell are used to muffle other characters, by
preventing them from emoting, shouting, and telling, respectively.
Characters who are noshout'ed or no'telled will also not receive those
forms of communication.

The nochannel command is similar, but more drastic. It prevents the victim
from using any of the channels (gossip, cgossip, Q/A, music) on the game.
Nochannels usually result from swearing or spamming on public channels.
~

57 PARDON~
Syntax: pardon <character> killer
	pardon <character> thief

Pardon pardons a player for their crimes.  Don't pardon a player unless you
are sure they deserve it.  Being killed by Hassan acts as an automatic
pardon.
~

56 PURGE~
Syntax: purge
	purge <character>

Purge is used to clean up the world.  Purge with no arguments removes all the
NPC's and objects in the current room.  Purge with an argument purges one
character from anywhere in the world.

Purge will not get rid of PC's, or objects or mobiles with a NOPURGE flag
set (i.e. the pit, the fountain, shopkeepers, Hassan).  Mobiles may be
purged if they are called directly by name.
~

56 RESTORE~
Syntax: restore <character>
	restore room
	restore all

Restore restores full hit points, mana points, and movement points to the
target character.  It also heals poison, plague, and blindness.

Restore room (or restore with no argument) performs a restore on every player
in the room, restore all does the same for all connected players. Restore all
is only usable by creators and implementors.  Restore should be used sparingly
or not at all.
~

57 SLAY~
Syntax: slay <character>

Slay kills a character in cold blood, no saving throw.  Best not to use this
command on players if you enjoy being a god.
~

55 TRANSFER TELEPORT~
Syntax: transfer <character>
	transfer all
	transfer <character> <location>
	transfer all         <location>

Transfer transfers the target character, or ALL player characters,
to your current location (default) or to a specified location. Trans all 
should almost never be used, as 100 players popping into one room can have
horrible effects on slow links. Teleport is a synonym for transfer. 
~

54 AT~
Syntax: at <location> <command>

At executes the given command (which may have arguments) at the given
location.  The location may be specified as a vnum, as the name of
a mobile, or as the name of an object.

At works by temporarily moving you to that location, executing the
command, and then moving you back (if the command didn't change your
location).
~

54 ECHO GECHO PECHO ZECHO~
Syntax: echo  <message>
	gecho <message>
	pecho <character> <message>
{x        zecho <message>

These commands all perform similar functions.  Echo sends the message to
all characters in the same room as the user, with no indication of who sent
it.  Gecho does the same for all players connected to the game, and pecho
sends the message to the player specified as the target.  Any higher-level
god will see a prompt in front of your message, informing him or her that it
is an echo.  Zecho sends a message to all players in the zone.
~

52 GOTO~
Syntax: goto <location>

Goto takes you to a location.  The location may be specified as a vnum,
as the name of a mobile, or as the name of an object.

You may not Goto a room if it is PRIVATE and has two (or more) characters
already present, or if it is SOLITARY and has one (or more) characters
already present. Some other rooms are barred to players below a certain
god level.

Implementors can use the violate command to get into private rooms.
~

52 HOLYLIGHT INVIS WIZINVIS~
Syntax: holylight
	wizinvis <level>

Holylight is a toggle that allows you to see (almost) every character and
mobile in the game.  With holy light, you can see what's in the game more
easily.  Without holy light, you can see what mortal players see.

Wizinvis takes a level argument, and will make you invisible to all players of
a lower level than your invisibility level.  It defaults to the maximum
(your level) if no argument is given.  Wizi 60 characters are totally 
invisible.
~

52 INCOGNITO~
Toggling your incognito status will hide your presence from people outside the
room you are in, but leave you visible to those who are with you.  It takes
a level argument similar to wizinvis, people at that level or higher can see
you regarless of location.
~

52 MEMORY~
Syntax: memory

Memory reports the size of your mud.

The 'Mobs' and 'Objs' lines report the number of types of mobiles and objects,
not the number of instances currently in the game.

The 'Strings' line shows memory used by area-file strings.  These strings have
a maximum limit, which is also shown.

The 'Perms' line shows permanently allocated memory blocks.  There is no limit
on the number and size of these blocks.
~

56 VNUM~
Syntax: vnum <name>
	vnum <obj or mob> <name>
	vnum skill <name>

Vnum finds all objects and mobiles with a particular name, and prints out
the results.  Use vnum obj or vnum mob to limit the search.  This vnum is
very useful for loading. Vnum skill returns the skill number (for set) and
the slot number (for making new zones) of a skill name.
(see also load)
~

53 STAT~
Syntax: stat <name>
	stat mob  <name>
	stat obj  <name>
	stat room <number>

The stat command gives you detailed information on an object, mobile, or room
within the game.  Without a class argument, the command will return a object
(if found), a mobile (if no object exists, but a mobile does), or a room 
(if a number is  given).  Stat room with no argument stats the room you are
standing in.  Stat can be used to find room vnums for goto.
(see also goto, transfer)
~

53 MWHERE OWHERE~
Syntax: mwhere <name>
Syntax: owhere <name>
 
Mwhere shows you the locations of all mobiles with a particular name,
or keyword.  
 
Owhere shows you the locations of all objects with a particular name
or keyword.
~

55 PEACE~
Syntax: peace

Peace causes all characters in a room to stop fighting. It also strips the
AGGRESSIVE bit from mobiles.
~

52 POOFIN POOFOUT~
Syntax: poofin  <message>
Syntax: pooffout <message>

The standard messages for goto are 'arrives in a swirling mist' and
'leaves in a swirling mist'.  You can replace these messages with messages of
your own choosing using the poofin and poofout commands.  These messages
must include your name somewhere in the string.

Poofin and poofout only show to characters who can see you.
(see also goto)
~

59 PROTECT~
Syntax: protect <character>

Protect is used to protect a character from unwanted snooping.  Removing 
protected status from a character WILL be seen by that character.
~

55 LOG SNOOP~
Syntax: log   <character>
	log   all
	snoop <character>

Log <character> causes all of a character's commands to be logged into
the server's log file.  Like Freeze, it is a permanent character toggle.
Logs may only be used by creators and implementors, and should be accompanied
by mail to the implementors.

Certain commands (Password) are protected against log.  Conversely, certain
commands (especially immortal commands) are always logged.

Log all logs all character commands.  It is a server-wide toggle; it does not
persist across reboots. Please do not use this unless you tell the imps.

Snoop shows you a copy of all the input and output going to a character.
The character must have an open channel.  You may snoop more than one
character at a time. Try to respect privacy.

Snoop yourself to cancel all outstanding snoops.
~

54 SWITCH RETURN~
Syntax: switch <character>
	return

Switch switches you into the body of another character (who must not
already have a descriptor, e.g. you can't switch into a PC). You also cannot
switch into link-dead PCs.

Return returns you to your original body.
~

51 IMMTALK :~
Syntax: immtalk <message>
	immtalk

Immtalk sends a message to all immortals.  : is a synonym for immtalk.
Using this command with no argument turns off the immortal channel (or
turns it back on).
~

52 WIZNET~
Syntax: wiznet 
	wiznet show
	wiznet status
	wiznet <field>

Wiznet is sort of an immortal news service, to show important events to
the wiznetted immoral.  Wiznet by itself turns wiznet on and off, 
wiznet show lists all settable flags (they are not detailed here), 
wiznet status shows your current wiznet settings, and wiznet <field> toggles
a field on and off.  The events should be self-explanatory, if they are not,
fiddle with them a while.  More events are available at higher levels.
~

51 WIZHELP~
Syntax: wizhelp

Wizhelp provides a list of all the immortal commands.
~

0 ARMOR~
Syntax: cast armor <character>

This spell decreases (improves) the armor class of the target character
by 20 points.
~

0 BLESS~
Syntax: cast bless <character>
Syntax: cast bless <object>

This spell improves the to-hit roll and saving throw versus spell of the
target character by 1 for every 8 levels of the caster. It may also be
cast on an object to temporarily bless it (blessed weapons, for example,
are more effective against demonic beings).
~

0 BLINDNESS~
Syntax: cast blindness <victim>

This spell renders the target character blind.
~

0 'MAGIC'~
Chi: Energy that exists within a person, or Energy that is closely related with 
physical actions.  An example would be a faster-than-normal dodge.  Chi-using 
classes channel the Chi within to perform amazing feats.
 
Fae: Dark energies. Death. Decay. Corruption. Betrayal. Night. Sinister motives, 
secret pacts. The antithesis of Lay energies.  But not evil, mind you.
 
Lay: Energies that saturate our created world naturally. 'Laymen' refers to 
'laity', or persons who are not members of a given profession or other 
specialized field. It's just general magic. This includes what is considered 
'Mother Nature'; responsible for growth and the flowers blossoming and the Sun 
and happy pink bunnies while Fae is responsible for decay and the rotting stench 
of flesh and the night and Dire Wolves whose coats are soaked in the blood of 
the innocent.
 
Elemental: Fire, Earth, Air, Wind, Water, etc. Purely physical stuff. 'Spirit' 
is either Fay or Chi, so no 'Spirit' elemental.
 
Chi -- Fae -- Lay -- Elemental
~

0 'CALL LIGHTNING'~
Syntax: cast 'call lightning'

This spell works only out of doors, and only when the weather is bad.
It calls down lightning bolts from Mota.
~

0 'CAUSE LIGHT' 'CAUSE SERIOUS' 'CAUSE CRITICAL' HARM~
Syntax: cast 'cause light'    <victim>
Syntax: cast 'cause serious'  <victim>
Syntax: cast 'cause critical' <victim>
Syntax: cast harm             <victim>

These spells inflict damage on the victim.  The higher-level spells do
more damage.
~

53 'CHANGE SEX'~
Syntax: cast 'change sex' <victim>

This spell changes the sex of the victim (temporarily).
~

0 'CHARM PERSON'~
Syntax: cast 'charm person' <victim>

This spell, if successful, causes the victim to follow you and to take orders
from you.  Use ORDER to order your charmed followers.

You are responsible for the actions of your followers.  Conversely, other
people who attack your followers will be penalized as if they attacked you.
~

0 'CHILL TOUCH'~
Syntax: cast 'chill touch' <victim>

This spell inflicts damage on the victim and also reduces the victim's
strength by one.
~

0 'CONTINUAL LIGHT'~
Syntax: cast 'continual light'
Syntax: cast 'continual light' <object>

This spell creates a ball of light, which you can hold as a light source.
The ball of light will last indefinitely. It may also be used on an object
to give it an enchanted glow.
~

0 'CONTROL WEATHER'~
Syntax: cast 'control weather' better
Syntax: cast 'control weather' worse

This spell makes the weather either better or worse.
~

0 'CREATE FOOD'~
Syntax: cast 'create food'

This spell creates a Magic Mushroom, which you or anyone else can eat.
~

0 'CREATE SPRING'~
Syntax: cast 'create spring'

This spell brings forth a magical spring from the ground, which has the
same properties as a fountain.
~

0 'CREATE WATER'~
Syntax: cast 'create water' <drink-container>

This spell replenishes a drink container with water.
~

0 'CURE BLINDNESS'~
Syntax: cast 'cure blindness' <character>

This spell cures blindness in one so unfortunate.
~

0 'CURE POISON'~
Syntax: cast 'cure poison' <character>

This spell cures poison in one so unfortunate.
~

0 'CURE LIGHT' 'CURE SERIOUS' 'CURE CRITICAL' HEAL~
Syntax: cast 'cure light'    <character>
Syntax: cast 'cure serious'  <character>
Syntax: cast 'cure critical' <character>
Syntax: cast 'heal'          <character>

These spells cure damage on the target character.  The higher-level spells
heal more damage.

(see 'help healer' for details on the heal command)
~

0 CURSE~
Syntax: cast 'curse' <character>

This spell reduces the character's to-hit roll and save versus spells.
It also renders the character unclean in the eyes of Mota and
unable to RECALL. Curse may be used to fill equipment with evil power,
allowing (for example) weapons to do more damage to particularly holy
opponents.
~

0 'DETECT EVIL'~
Syntax: cast 'detect evil'

This spell enables the caster to detect evil characters, which will
reveal a characteristic red aura.
~

0 'DETECT HIDDEN'~
Syntax: cast 'detect hidden'

This spell enables the caster to detect hidden creatures.
~

0 'DETECT INVIS'~
Syntax: cast 'detect invis'

This spell enables the caster to detect invisible objects and characters.
~

0 'DETECT MAGIC'~
Syntax: cast 'detect magic'

This spell enables the caster to detect magical objects.
~

0 'DETECT POISON'~
Syntax: cast 'detect poison' <object>

This spell detects the presence of poison in food or drink.
~

0 'DISPEL EVIL'~
Syntax: cast 'dispel evil' <victim>

This spell invokes the wrath of Mota on an evil victim. It can be very
dangerous for casters who are not pure of heart.
~

0 'DISPEL MAGIC' CANCELLATION~
Syntax: cast 'dispel magic' <character>
        cast 'cancellation' <characte>
 
Both of these spells remove magical effects from the target.  Dispel magic
has a reduced chance of working, and is considering an attack spell.
Cancellation can only be used on allies, but is much more effective and does
not provoke attack.  Unfortunately, the spells do not discriminate between
harmful and benign spells.
 
The chance of dispelling is based on the level of the spell. Permanent spells
(such as mobile sanctuary) are much harder to remove.  Not all spells may
be dispelled, notable examples are poison and plague.
~

0 EARTHQUAKE~
Syntax: cast 'earthquake'

This spell inflicts damage on every enemy character in the room.
Beware that other characters who are not yet fighting may attack
you as a result!
~

0 'ENCHANT WEAPON'~
Syntax: cast 'enchant weapon' <weapon>

This spell magically enchants a weapon, increasing its to-hit and to-dam
bonuses by one or two points.  Multiple enchants may be cast, but as the
weapon grows more and more powerful, it is more likely to be drained or
destroyed by the magic.  Also, every successful enchant increases the level
of the weapon by one...and there is no turning back.
~

-1 'ENCHANT ARMOR'~
The enchant armor spell imbues armor with powerful protective magics. It is
not nearly as reliable as enchant weapon, being far more prone to destructive
effects.  Each succesful enchant increases the plus of the armor by 1 or 2
points, and raises its level by one.
~

0 'ENERGY DRAIN'~
Syntax: cast 'energy drain' <victim>

This spell saps the experience points, mana, and movement points of its
target.
~

0 'FAERIE FIRE'~
Syntax: cast 'faerie fire' <victim>

This spell increases (makes worse) the armor class of its victim.  For each
level of the caster, the victim's armor class is increased by two points.
~

0 'FAERIE FOG'~
Syntax: cast 'faerie fog'

This spell reveals all manner of invisible, hidden, and sneaking creatures in
the same room as you.
~

0 FLAMESTRIKE~
Syntax: cast 'flamestrike' <victim>

This spell inflicts damage on the victim.
~

0 FLY~
Syntax: cast 'fly' <character>

This spell enables the target character to fly.
~

0 IDENTIFY~
Syntax: cast identify <object>

This spell reveals information about the object.
~

0 INFRAVISION~
Syntax: cast infravision <character>

This spell enables the target character to see warm-blooded creatures even
while in the dark, and exits of a room as well.
~

0 INVIS 'MASS INVIS' INVISIBLITY~
Syntax: cast 'invisibility' <character>
Syntax: cast 'invisibility' <object>
Syntax: cast 'mass invis'

The INVIS spell makes the target character invisible.  Invisible characters
will become visible when they attack. It may also be cast on an object
to render the object invisible.

The MASS INVIS spell makes all characters in the caster's group invisible,
including the caster.
~

0 'KNOW ALIGNMENT'~
Syntax: cast 'know alignment' <character>

This spell reveals the alignment of the target character.
~

0 'LOCATE OBJECT'~
Syntax: cast 'locate object' <name>

This spell reveals the location of all objects with the given name.
~

0 'PASS DOOR'~
Syntax: cast 'pass door'

This spell enables the caster to pass through closed doors.
~

0 POISON~
Syntax: cast poison <victim>
Syntax: cast poison <object>

This spell reduces the strength of the victim by two, as well as reducing the
victim's regeneration rate. It may also be used to poison food, drink, or
a weapon in a fashion similar to envenom ('help envenom'), but with 
drastically reduced effectiveness.
~

0 SANCTUARY~
Syntax: cast sanctuary  <character>

The SANCTUARY spell reduces the damage taken by the character from any attack
by one half.
~

0 REFRESH~
Syntax: cast refresh <character>

This spell refreshes the movement points of a character who is out of movement
points.
~

0 'REMOVE CURSE'~
Syntax: cast 'remove curse' <character>
Syntax: cast 'remove curse' <object>

This spell removes a curse from a character, and might possibly uncurse
a cursed object.  It may also be targeted on an object in the caster's
inventory, in which case it's chance of success is significantly higher.
~

0 SHIELD 'STONE SKIN'~
Syntax: cast shield
Syntax: cast 'stone skin'

These spells protect the caster by decreasing (improving) the caster's armor
class.  SHIELD provides 20 points of armor.  STONE SKIN provides 40 points of
armor.
~

0 SLEEP~
Syntax: cast sleep <victim>

This spell puts its victim to sleep.
~

0 SUMMON~
Syntax: cast summon <character>

This spell summons a character from anywhere else in the world into your room.
Characters who are fighting may not be summoned.
~

0 TELEPORT~
Syntax: cast <teleport>

This spell takes you from your current location to a random location somewhere
in the world.
~

0 VENTRILOQUATE~
Syntax: cast ventriloquate <speaker> <message>

This spell throws your voice, making it appear that some other object or
character in the room is saying your message.  Victims who make their saving
throw will know that someone is using ventriloquism, but not who.  Victims who
fail their saving throw will think that the object or character really did say
your message.
~

0 WEAKEN~
Syntax: cast weaken <victim>

This spell reduces the strength of the victim by two points.
~

0 'WORD OF RECALL'~
Syntax: cast 'word of recall'

This spell duplicates the built-in RECALL ability.  It is provided solely for
Merc-based muds which wish to eliminate the built-in ability while still
providing the spell.
~

0 'ACID BREATH' 'FIRE BREATH' 'FROST BREATH' 'GAS BREATH' 'LIGHTNING BREATH'~
Syntax: cast 'acid breath'      <victim>
Syntax: cast 'fire breath'      <victim>
Syntax: cast 'frost breath'     <victim>
Syntax: cast 'gas breath'
Syntax: cast 'lightning breath' <victim>

These spells are for the use of dragons.  Acid, fire, frost, and lightning
damage one victim, whereas gas damages every PC in the room.  Fire and
frost can break objects, and acid can damage armor.

High level mages may learn and cast these spells as well.
~

52 TORPEDO~
Syntax: torpedo <player>
 
Torpedo is a command which permanently removes the targeted
player from the game, scattering their equipment across the
world.
 
~

52 VIOLATE~
Syntax: violate <vnum> 
Syntax: violate <character name>
 
Violate is a more powerful version of goto.  If the target is a private room
or is in a private room, then you must use violate in order to go there. 
 
~

52 COPYOVER ~
Syntax: Copyover
 
Copyover restarts the mud.  Any changes to the code will be implemented, but
any changes made in an OLC environment will not be saved, unless they are manually
saved by asave changed or asave world.
~

52 asave~
Syntax: asave <vnum>  - saves a particular area
Syntax: asave list    - saves the area.lst file
Syntax: asave area    - saves the area being edited
Syntax: asave world   - saves the world! (db dump)
Syntax: asave changed - saves all changed zones
 
Asave saves areas, to put it simply.
~

-1 OLC EDIT~
Syntax: EDIT AREA [create/reset] [vnum]     - Area Creation and Repoping.
Syntax: EDIT ROOM ( [create] [vnum] )       - Room Creation and Editing.
Syntax: EDIT OBJ  [create] <vnum>           - Object Creation and Editing.
Syntax: EDIT MOB  [create] <vnum>           - Mobile Creation and Editing.
Syntax: EDIT MP   [create] <vnum>           - MobProg Creation/Editing.

Syntax: ASAVE  <world/area/changed/list>    - Save Editing to Disk.
Syntax: ALIST                               - Listing of Areas.
Syntax: RESET  See Help Resets.             - Set Game Resets.

Definition: [optional]  <required>  (combined arguments)

     The above commands are used to expand the game world.  The original
code is based on was written by Surreality and installed in The Isles by Locke.
It was then converted to work with Envy by Jason Dinkel, and ported to ROM
2.3 by Hans Birkeland (Hugin). Port to Rom 2.4 by Ivan Toledo (ver 1.7).

     Inside an editor, typing COMMANDS lists working commands and ? gives
help. AEDIT and REDIT default to the current area or room. EDIT ROOM RESET
resets the current room.  Most commands with no arguments display syntax.
 
Related helpfiles:
 
{GAEDIT, REDIT, MEDIT, OEDIT, RPEDIT, MPEDIT, OPEDIT{x
{GOPTRIGGERTYPES, OPCOMMANDS, OPCOMMANDS2{x
~

0 ALIST~
Syntax: ALIST

This command gives you a listing of all the areas along with their
vnum assignments and the builder(s) assigned to editing them.
~

0 AEDIT~
Syntax: edit area	 -Enters the editor for the current area.
Syntax: edit area <vnum> -Enters the editor for the selected area.

The follow commands are available from within the AEDITOR:

age <number>        - set the age of the area
builder <player>    - toggle that builder's access
commands            - prints a list of possible commands
create              - create a brand new area and switch to it
done                - exits the area editor and returns to normal play
filename <filename> - change the file name for the area (be careful)
name <name>         - change the 'AREAS' name of this area
reset               - resets the current area
security <rating>   - set the security rating for this area
show                - hitting return, or 'show' shows the area stats
vnum <lower> <upper>- set the lower and upper vnum's
lvnum <lower>       - set the lower vnum
uvnum <upper>       - set the upper vnum
<flags>             - area flags, type ? AREA for a list
~

0 REDIT~
Syntax: edit room		-Enters the editor for the current room.

The following commands are available from within the REDITOR:

commands            - prints a list of possible commands
create <vnum>       - creates a room with a certain vnum
desc                - edit description of room
done                - exists the room editor and returns to normal play
ed                  - type this command for additonal extra-description help
format              - format(wordwrap) the room description
name <room title>   - changes the room title
show                - hitting return, or 'show' shows the room stats
oshow <vnum>        - shows an object with given vnum
olist               - lists objects in this area.
mshow <vnum>        - shows a mobile with given vnum
mlist               - lists mobiles in this area.
room <flags>        - room attributes, type ? ROOM for a list
sector <type>       - terrain of room, type ? SECTOR for a list
<direction>         - see help EXIT, or type <dir> ?
~

0 EXIT~
For exits, type the direction (north/s/e/w) followed by:

dig <vnum>         - creates the room and makes a two way link
link <room vnum>   - make a two way link
room <room vnum>   - make a one way link (use with caution)
key <object vnum>  - makes specified object the vnum of the key required
name <door name>   - makes the door's name/keywords = to the given name
desc               - edit the description of the exit
delete             - delete this exit
<exit-flags>       - type ? EXIT for a list(make exit door, locked etc.)

The exit flags are presented in the following manner.  The capitalized
flags are ones not included in the reset info.  i.e. closed is due to
a player closing the door and not due to the door being set to be closed.

-South to [ 3744] Key: [   -1] Exit flags: [door CLOSED bashed pickproof]
~

0 OEDIT~
Syntax: edit object <vnum>	-Enters the editor for the selected object.

The following commands are available from within the OEDITOR:

addaffect           - applies an affect to an object, no args for help
delaffect           - removes an affect to an object, no args for help
commands            - prints a list of possible commands
cost <gold>         - sets the gold value of the object
create <vnum>       - creates object with specified vnum
done                - exits the object editor and returns to normal play
ed                  - type this for info on adding/editing extended descripts
long                - edit long description (the one in the room)
name <keywords>     - sets the keywords on an object
short <desc>        - sets the 'name' of an object (a sword, a fish etc)
show                - hitting return, or 'show' shows the object stats
v0 <num>            - sets the value '0' on the object
v1 <num>            - sets the value '1' on the object
v2 <num>            - sets the value '2' on the object
v3 <num>            - sets the value '3' on the object
v4 <num>            - sets the value '4' on the objcet
weight <num>        - sets the weight of the object
type         	    - type of object, type ? TYPE for a list
extra		    - attributes of object, type ? EXTRA for a list
wear                - where object is worn, type ? WEAR for a list
material            - material the object is made from
~

0 MEDIT~
Syntax: medit <vnum>		-Enters the editor for the selected mobile.

The following commands are available from within the MEDITOR:

alignment <value>   - set the mobile's alignment
commands            - prints a list of possible commands
create <vnum>       - creates mobile with specified vnum
desc                - edit the mobile's description (when looked at)
done                - exits the mobile editor and returns to normal play
level <level>       - set the mobile's level
long                - edit long description (the one in the room)
name <keywords>     - sets the keywords on an mobile
shop                - type this command for further information
short <desc>        - sets the 'name' of an mobile (a sword, a fish etc)
show                - hitting return, or 'show' shows the mobile stats
spec                - sets a mobiles spec proc, type ? SPEC for a list
sex                 - set the mobile's sex, type ? SEX for a list
act                 - mobiles actions, type ? ACT for a list
affect              - mobile affects, type ? AFFECT for a list
ac		    - set the mobile's ac, type ? AC for a list
form		    - mobiles body-form, type ? FORM for a list
part		    - mobiles bodyparts, type ? PART for a list
imm		    - mobile is immune to, type ? IMM for a list
res		    - mobile is resistant to, type ? RES for a list
vuln		    - mobile is vulnerable to, type ? VULN for a list
material	    - material mobile is made from, type ? MATERIAL for a list
off		    - offensive behaviour, type ? OFF for a list
size		    - size, type ? SIZE for a list
hitdice		    - dice to toss to get mobile's hitpoints
manadice	    - dice to toss to get mobile's mana
damdice		    - dice to toss to get mobile's hand to hand damage

type 'help HITDICE', 'help MANADICE', 'help DAMDICE' for lists of reasonable dice 
combinations on different levels.
~

0 HITDICE~
A high number of dice makes for less variance in mobiles hitpoints.
Suggested values are:

       level:     dice         min         max        mean
         1:       1d2+6       7(  7)     8(   8)     8(   8)
	 2:       1d3+15     16( 15)    18(  18)    17(  17)
	 3:       1d6+24     25( 24)    30(  30)    27(  27)
	 5:      1d17+42     43( 42)    59(  59)    51(  51)
	10:      3d22+96     99( 95)   162( 162)   131( 129)
	15:      5d30+161   166(159)   311( 311)   239( 235)
	30:     10d61+416   426(419)  1026(1026)   726( 723)
	50:    10d169+920   930(923)  2610(2610)  1770(1767)

Diff = max - min.  Mean is the arithmetic mean.
The values in parenthesis are the the standard merc values.
~

0 MANADICE~
A high number of dice makes for less variance in mobiles mana.
The values the server generates for merc-type mobs is

  <level> d 10 + 100

where level is the level of the mobile.
~

0 DAMDICE~
A high number of dice makes for less variance in mobiles hitpoints.
Suggested values are:

       Level      dice       min      min    mean
        1         1d2+0       1        2       2
        2         1d2+1       2        3       3
        3         1d3+2       3        5       4
        5         2d3+2       4        8       6
       10         2d5+5       7       15      11
       15         3d5+8      11       23      17
       20         4d5+10     14       30      22
       30         5d6+15     20       45      33
       50         5d10+25    30       75      53

Mean is the arithmetic mean.  The values in parenthesis are the the
standard merc values.  (Will be put in when there's time to calculate
them...)
~

0 RESETS~
Syntax: RESET <number> OBJ <vnum> <location on body>    - equips last mobile
        RESET <number> OBJ <vnum> inside <obj vnum>     - store in container
        RESET <number> OBJ <vnum> room                  - store in room
        RESET <number> MOB <vnum> [<max #>]             - load a mobile
        RESET <number> DELETE                           - delete a reset

RESET alone will display the resets in the current room.  The <number> will
be displayed with this list.  Typing ? WEAR-LOC will list possible locations
that an object can be loaded to.  The [<max #>] is the maximum number of
mobiles allowed in this room and will default to 1 if no number is entered.

For resets to be successful make sure that you add them in a logical order.
For example if you are equiping a mobile don't load a container in the room
and fill it with some objects and then continue equiping the mobile.  It is
likely that resets will backfire if they are not carefully entered.

If you wish to reset the room then use EDIT ROOM RESET.  
~

0 MOB_AC~
The values ROM generates for a merc format mob is:

   level      pierce    bash    slash   exotic
     1          95       95       95      95
     5          70       70       70      85
    10          40       40       40      70
    15           5        5        5      55
    20         -25      -25      -25      40
    25         -55      -55      -55      20
    30         -90      -90      -90       5
    35        -120     -120     -120     -10
    40        -150     -150     -150     -25
    45        -180     -180     -180     -40
    50        -215     -215     -215     -55
    55        -245     -245     -245     -70
    60        -275     -275     -275     -90
    65        -305     -305     -305    -105
    70        -340     -340     -340    -120
    80        -400     -400     -400    -150

These values are 10 times what you would put in an area file. This
is because the server multiplies what it reads from file with 10.
~

0 ITEM_LIGHT~
.   value 0    unused
   value 1    unused
   value 2    hours of light available, 0 is dead, -1 or 999 is infinite            
   value 3    unused
   value 4    unused
~

0 ITEM_STAFF_WAND~
.   value 0    level
   value 1    max charges
   value 2    current charges
   value 3    spell name
   value 4    unused


An up-to-date list of spells can be obtained by typing:
? SPELLS [ignore/attack/defend/self/object/all]
~

0 ITEM_SCROLL_POTION_PILL~
.   value 0    level
   value 1    spell name 1
   value 2    spell name 2
   value 3    spell name 3
   value 4    unused

An up-to-date list of spells can be obtained by typing:
? SPELLS [ignore/attack/defend/self/object/all]
~

0 ITEM_ARMOR~
.   value 0    ac pierce
   value 1    ac bash
   value 2    ac slash
   value 3    ac exotic (magic)
   value 4    unused
~

0 ITEM_WEAPON~
.   value 0    weapon class.
   value 1    number of dice to roll.
   value 2    type of dice to roll.
   value 3    weapon type.
   value 4    special weapon type.

An up-to-date list of values can be obtained by typing
? WCLASS
help WEAPON_DICE
? WEAPON
? WTYPE
~

0 WEAPON_DICE~
These are the values the server generates automatically when
converting a merc-format mobile to ROM format.  A higher
number of dice gives less variance in damage.  There is no
dice-bonus on weapon dice.

      level:   dice 
        1:     1d8
        2:     2d5
        3:     2d5
        5:     2d6
       10:     4d5
       20:     5d5
       30:     5d7
       50:     5d11
~

0 ITEM_CONTAINER~
.   value 0    weight capacity
   value 1    flags: closeable, pickproof, closed, locked            
   value 2    key vnum
   value 3    unused
   value 4    unused

An up-to-date list of flags can be obtained by typing
? CONTAINTER
~

0 ITEM_DRINK~
.   value0    capacity
   value 1    current quantity
   value 2    liquid type
   value 3    poisoned?
   value 4    unused

An up-to-date list of liquid types can be obtained by typing
? LIQUID
~

0 ITEM_FOOD~
.   value 0    hours of food value
   value 1    unused
   value 2    unused
   value 3    poisoned?
   value 4    unused
~

0 ITEM_MONEY~
.   value 0    value in gold pieces
   value 1    unused
   value 2    unused
   value 3    unused
   value 4    unused
~

-1 NEWBIE INFO~
Ah! Another mortal, seeking adventure.  You should go through mudschool first,
to gain experience to face the trials outside.  Be sure to practice a weapon
in the guild room, or your stay with us shall be very short indeed.  Type
'equipment' to see what your are wielding, 'spells' to see your spells,
'skills' to see your skills, and 'commands' for a list of commands. Help is
available on most commands and abilities.

Please type 'help rules' to see the Rules of ROM.
~

-1 LAG~
Twas dial-up, and the failing mudders did toil and struggle in the fray
All checksummed were the compressed files
And the man pages, outdate
Beware the Internet my son,
The noise that hangs, the lag that kills
Beware the Usenet news, and shun the frivolous mud with frills
So took his his mudding client in hand
Longtime the virtual foe he sought
So rested he by the T1s three and paused a while in swap
And as in disk-drive swap he stayed,
The Internet, with lags of fame
Came packetwise through the T1 line
And error-checked as it came
One two one two and through and through, the mudding client went kill -9
He left it dead and with it's core he went a tracing back
And hath thou slain the Internet?
Come to my arms my disk-based bot!
Oh lag-free day, callooh callay, he chortled in his joy
Twas dial-up, and the failing mudders did toil and struggle in the fray
All checksummed were the compressed files
And the man pages, outdate.
~

-1 WIZLIST~
Temporaaaaaary Wizlist:
 
{DP{Woo{DKY{x
{cZ{ma{crg{x
{BR{bho{x
Loucks
Tamraine
Stephanie
{RS{yk{Ga{Dg{x
{DT{xhr{cee{x
~

-1 ROM~
ROM started in early February 1993, using Merc 1.0 code. In July of 1993,  
ROM II was started, eventually replacing the original ROM.  ROM was up for
a little over a year, after which the code (version 2.3) was released,
and various other ROM muds were started, including Rivers of Mud under
a new management (Zump's ROM), at rom.org 9000.

Alander's current project is Athen, the sequel to the ROM code. It can
be found on Rehobaom's Legacy, at hypercube.org 9000.

The following people contributed to the ROM flavor of the merc base code:

Socials --
    Kelsey and Liralen

New, Improved Valhalla --
    Liralen

Puff's new special proc and improved poofin/poofout code --
    Seth

Maps and map shop --
    Ezra, Regnan (Olympus)

Nirvana zone --
    Forstall (mobiles rewritten by Alander)

Mob Factory --
    Pinkfloyd (originally written for ROM, mobiles rewritten by Alander)

Geographically correct Midgaard (tm) --
    Alander

Ideas and playtesting --
    Thousands of dedicated mudders around the world

The New Thalos area was donated by Onivel of Jedi, who was also the originator
of the ASCII flags used in the zone files

Beta testing --
    Ken Blosser, Doug Araya, and Sherene Neil all helped with bugs reports
    and suggestions, saving a lot of headaches

Bug reports --
    Thanks to Shad Muegge, Jerome Despret, Phoenix, Will Hongach,
    Erwin S. Andreasen, Adam Debus and especially Gary Turkington
    (author of the ROM FAQ) for help spotting bugs

ROM 2.4 was developed during my time with Moosehead mud, and the release
shares many of the features I wrote while I was there.  Additional code
was written by Seth Scott (the new poofin/poofout), and many contributions
and ideas from the Merc list were used.  Portions of Rusty's work on
Moosehead also remain.

The new features of 2.4 were largely produced in bull sessions with
Gabrielle Taylor and Brian Moore, without whom this release wouldn't
have happened.  In particular, the new privacy code, furniture, and
wiznet are the results of Gabrielle's ideas.

Changes to the standard diku mob and object format, as well as the changes
to Merc 2.1 source code, were done by Alander over many a late night of
hair-pulling. Hope you enjoy it.

(my apologies if anyone was forgotten in this list)
~

-1 IMMORTAL IMMORT GOD WIZARD WIZ~
'Immortal' (often, simply, 'immort') refers to players who have reached
the highest attainable levels in the game.  Here, anyone of level 52
or higher is an 'immortal.'  Immortals are capable of exceeding the
usual game rules, in more drastic and pervasive ways as levels increase;
examples range from teleportation and invisibility to mortal sight to
creation of objects, removal of a player's privileges (channels,
ability to move, or even ability to log in), and ability to promote
players to immortality.

Since immortals can wreak havoc with game balance, they are (ideally)
a carefully-chosen and policed group.  An absolute rule of immortal
behavior is that no immortal can aid or assist any player without
explicit permission from the higher ranks; in other words, please
don't ask an immortal to help you kill a mob, gather EQ, etc, or
you'll likely be either politely or rudely refused, or referred to
this file.

The duties of immortals, and even the very reasons for their existence,
are topics of continual and heated debate in various MUD forums, and are
fraught with misconceptions, poor examples, and outrageous hypocrisies. :)
~

-1 SOCIALS~
This is a complete list of socials for this MUD:
Compiled originally by: Sara
accuse       adjust      air          apologize     applaud     babble
bark         bcatch      beckon       beer          bearhug     beg
bird         bkiss       bleed        blink         blush       boast
boggle       bonk        bounce       bow           brb         burp
cackle       caress      charge       cheer         chuckle     clap
claw         collapse    comfort      comb          cough       cover
cower        cringe      criticize    cry           cuddle      curse
curtsey      dance       daydream     drool         duck        embrace
explode      eyebrow     faint        fart          flare       flash
flex         flinch      flip         flirt         flutter     fondle
french       frown       fume         gasp          giggle      glare
goose        grimace     grin         groan         grope       grovel
growl        grumble     hand         head          hiccup      highfive
hop          howl        hug          hush          ignore      innocent
insane       judge       kiss         knee          laugh       lick
love         lust        massage      meditate      moan        moon
mosh         mutter      nibble       nod           nudge       nuzzle
pant         passout     pat          peck          pie         pinch
pissed       plead       point        poke          ponder      pout
pray         propose     puke         punch         purr        ramble
raspberry    rofl        roll         rub           ruffle      run
scratch      scream      serenade     shake         shiver      shrug
sigh         sing        slap         slobber       smile       smirk
snap         snarl       sneeze       snicker       sniff       snore
snort        snowball    snuggle      sob           spam        spank
spit         squeal      squeeze      squirm        stare       stretch
strip        stroke      strut        sulk          swoon       tackle
tease        thank       threaten     tickle        tip         tongue
twiddle      type        undress      view          wave        whine
whistle      wiggle      wince        wink          wonder      worry
worship      yawn        yeehaw       yodel         rose	laces
tank	     starve	 aargh	      homework	    puff	differ
yae	     lightbulb   voodoo       ogg	    confused	beam
bite	     discodance  scuff        whap	    lag		chortle
zerbert      twitch
 
 
type help me_i'm_a_giant_faggot_who_needs_a_big_nigger_dick_down_his_throat
for more socials.
 
~

-1 MERC~
This mud is based on Merc 2.1, created by Furey, Hatchet, and Kahn.  
Merc 2.1 is available as Merc_21.tar.gz from ftp.tcp.com and 
ftp.math.okstate.edu.
E-mail to 'majordomo@webnexus.com' to join the merc mailing list.

Thanks to ...
  ... Diku Mud for starting it all.
  ... The Free Software Foundation and DJ Delorie for kick-ass tools.
  ... Copper Mud and Alfa Mud for releasing their code and worlds.
  ... Aod of Generic for ... well, everything.  You're a hoopy frood, Aod.
  ... Alander for many ideas and contributions.
  ... John Brothers of Silly for permission to use Silly code and worlds.
  ... Zrin for administering the mailing list.
  ... Abaddon for proofreading our comm.c.
  ... Hind, Quin, Vic, Diavolo, Oleg, Trienne, and others for porting help.
  ... Diavolo, Grodyn, Morgenes, and others for code and bug fixes.
  ... Raff, Doctor, VampLestat, Nirrad, Tyrst, PinkF, Chris, Glop for worlds.
  ... the players and imps of Mud Dome, Final Mud, Mud Lite, Vego Mud, Rivers
      of Mud, Ruhr Mud, and Mystic Realms for bug reports, ideas, new code,
      and hours of enjoyment.

Also see "help ROM" for information about the Rivers of Mud code base.
~

-1 MAP MAPS~
Thanks to Ezra for drawing the originals of several maps on ROM.
~

-1 GREETING~
.

{D                                 - D e a t h - 

           Must not all things at the last be swallowed up in death?{x

Rebirth: ~

-1 MOTD~
* You are responsible for knowing the rules (type 'rules').  Ignorance of 
  the rules is no excuse.
* Important commands: help, commands, news, notes
* Use the delete command to erase unwanted characters
  
[Hit Return to continue]
~

52 IMOTD~
Welcome!
 
For a reminder on how to use the dev copies, see 'help dev'.
 
~

52 JOBS~
This is a partial list of what a god of any given level should be doing. It is
not complete yet.

Angels:(52-54)
Angels and higher level gods may not assist mortals directly in any way.  
An Angel's main job is to help with quests (via switch), or possibly run
small quest of their own -- but the rewards should be minimal.

Deities:(55-56)
Deities have two main roles: reimbursement and quest running.  Be skeptical
on reimburses, don't just hand out every piece of gear.  I suggest limiting
reimbursements to 10 items at a time, and make sure that you do not load things
at too high a level (new format items have hard-coded levels, so are not a
problem).  vnum and stat are useful for this.  You can draft Angels to help you
run a quest, and please note that quests should NOT have huge rewards -- the
main point should be to have fun.  Deities have no business trying to enforce
rules -- the most you should do to a player is a NOCHANNEL or similar light
punishment.

Gods:(57-59)
Gods can run quests just like Deities, and it's nice to do reimbursements too.
However, the main role of a God is keeping the peace.  Gods can enforce (but
not create rules), using the various NOTELL-class commands, as well as deny,
purge, freeze, and ban (but be careful with these commands!)  Gods are expected
to help make the mud run more smoothly, power trips are strictly verbotten.

Not fufilling the roles of your office can result in demotion or deletion.
~

-1 PKILL PKILLING PKILLER PSTEAL PSTEALING~
Player killing and player stealing are allowed to all clan members 
(including loners), provided the victim is is within 8 levels of the
character and is also in a clan.  This will flag you as a "killer" or
"thief", allowing any character to attack, and also provoking action
from the city guard.
~

52 COMMANDMENTS LAWS 'GOD RULES' GODS~
.
                         **********************
                         ** The Rules of ROM **
                         **********************
 
1)  Do not kill mortals, do not kill mortals, do not kill mortals.
    This includes transferring/summoning them to aggressive mobs.
 
2)  Do not cheat for ANY mortal in ANY way, especially your own. 
    Unless of course you LIKE deletion. Yes this includes tanking,
    healing/restoring, casting protection spells <armor, sanct>,    
    and softening up or altering mobs.
 
3)  Do not transfer or summon mobs to mortals or mortals to mobs.
    They have legs, if they want to kill a mob, they can easilly
    go there themselves.
 
4)  DO NOT kill the shopkeepers for any reason at ALL.
 
5)  DO NOT use reboot.  <--- Note, simple English.
 
6)  Do not give out free equipment.  You don't need to win brownie
    points with the mortals.  Quest are fine but handing out items
    isn't.
 
7)  A note on quests: Quests are a good thing, more or less, BUT 
    do not give out overly extravagant prizes.  Exercise some 
    common sense here folks.  Do not load items more than 4 levels
    below their normal level (i.e. no level 5 ogre gauntlets).
 
8)  Do not undermine the authority of a higher level god.  If you 
    see that someone has been frozen or nochannelled do not restore
    their priveleges.  They are being punished for a reason.
 
9)  Do not try to overrule each other.  
 
10) Trusted mortals:  Do not use your god powers to help your mortal
    character.  If you do, your trust will be taken away.

~

-1 RULES~
These are the rules of ROM.  For other matters, use common sense.

* Limited player stealing or player killing.

* Your presence here is a privilege not a right. Obey any orders from gods, and
  you will be fine.  Deletion does not require a reason, appeals are to be sent
  to the implementors.
 
* Sitting around idle with a client is hazardous to your health. If we catch
  you doing it, you will lose half your playing time.

* No multiple logins, multiple playing, or helping your own characters with 
  other characters you own -- by any arrangment.
 
* No kill stealing.  This means you cannot attack a mob someone else is 
  fighting, unless they ask you to. Also avoid attacking fleeing mobs.

* Cheating will not be tolerated.  This includes accepting favors from gods
  and exploiting bugs. If you find a bug, report it, then do not use it.

* Changes to these rules are at the discretion of the immortals, and may be
done without warning, notice, or even evidence of sanity. Walk softly,
and carry a black stick.
~

0 SUICIDE DELETE~
Use the delete command to erase unwanted characters, so the name will be
available for use.  This command must be typed twice to delete a character,
and you cannot be forced to delete.  Typing delete with an argument will
return your character to 'safe' status if you change your mind after the
first delete.
~

0 HEALER~
The healer decided to grab a quick buck, and now charges for his heals.  Some
services are still free to players of level 10 or below, however.  To see
a full listing of the healer's services, type 'heal' at his residence. To
receive healing, bring plenty of money, and type 'heal <spell>'.
~

-1 GAIN~
The gain command is used to learn new skills, once the proper trainer has 
been found. (Check New Thalos) The following options can be used with gain:

gain list:    list all groups and skills that can be learned
gain points:  lower your creation points by 1 (costs two sessions)
gain <name>:  add a skill or skill group, at the listed cost
gain convert: turns 10 practices into one training session

Gain uses training sessions, not practices. (see 'help train')
Gained skills and groups do NOT increase your experience per level or total
number of creation points. 
~

52 CLONE~
Syntax:
  clone obj <object>
  clone mob <mobile>
  clone <name>

The clone command duplicates an object or mobile.  The level of item or mobile
that may be cloned depends on your level.  The target object or mob must be in
the same room as you, or in your posession.  Strung and set information is
preserved by clone, as well as any spell effects and container contents or
mobile inventory, except for items which are too high for you to clone.  
Strung extended descriptions on objects are not kept, however.
~

0 SKILLS SPELLS~
The skills and spells commands are used to display your character's list
of available skills (or spells, as the case may be).  They are listed in
order of level, with mana cost (for spells) or percentage (for skills)
listed where applicable.
~

0 OUTFIT~
The outfit command, usable by levels 5 and below, equips your character with
a new set of sub issue gear (banner, weapon, helmet, shield, and vest), 
courtesy of the Mayor's warehouses.  Only empty equipment slots are affected.
~

0 AUTO AUTOLIST AUTOLOOT AUTOGOLD AUTOSAC AUTOEXIT AUTOASSIST AUTOSPLIT AUTOALL~
ROM uses various automatic actions to ease the boredom of always splitting
gold and sacrificing corpses.  The commands are as follows:

autolist  : list all automatic actions
autoloot  : take all equipment from dead mobiles
autogold  : take all gold from dead mobiles
autosac	  : sacrifice dead monsters (if autoloot is on, only empty corpes)
autoexit  : display room exits upon entering a room
autosplit : split up spoils from combat among your group members
autoassit : makes you help group members in combat
autoall   : turns all autos on or off at once

Typing a command sets the action , typing it again removes it. Use
autoall on|off to save yourself some keystrokes.
~

-1 CLAN~
A Clan is a collection of players, united to  follow and further
a common cause.   Each clan has rules and  regulations, to find out
more about clans and their 'beliefs' type "help <clan name>".  Only
Clan  members can kill or steal from other players.  To join a Clan
you  must be level 5 or above and level 25 or below.   Speak to the
Clan Leader about joining.  If you go Loner before level 25 you may 
join a Clan later.
   Joining  a  Clan is a dangerous step.   Many adventurers live to 
kill and torture others and chances are that your paths will cross.
Remember, attacking or killing fellow clan members *IS* illegal except to 
mutiny your Clan leader.
   Existing  Clans may buy  special rooms and  mobiles by acquiring 
diamonds as payment.   To see room prices, type "help prices".  New
Clans  may be formed by  petitioning the immortals.   Please  remember that 
their word is final on all matters not covered by this help.
~

-1 PRICES PRICE~
New Clan Hall Rooms cost 50 diamonds.
Boosting the mana or healing gains for a room costs 250 diamonds.
Both in the same room costs double.
Making the Healer or Store prices lower costs 1,000 diamonds.
~

-1 COUNT~
The count command displays the number of people (that you can see) logged
into the mud.  It also displays the highest number observed that day, if
it is higher.
~

-1 GATE~
The gate spell is a powerful transportation magic that opens up a portal 
between your character and another person or creature somewhere else in the
world.  This portal will transport you and any pet you might have, but not
other members of your group.  Monsters recieve a save against gate, and
monster or players more than 3 levels higher than you can not be gated to at 
all.  God rooms, private rooms, and no recall rooms cannot be gated to, and
no recall rooms cannot be gated out of.  Finally, any god or hero is also 
immune to gate, as well as in player who has no summon set.  Clan members 
may not be gated to except by their fellow Clan members.
~

-1 AFFECTS AFFECT SHOW~
Syntax: affects
Syntax: affect
Syntax: show
 
These commands directly or indirectly show all spells affecting your character.
At low levels, only the spell name will be displayed, but at higher levels, the
effects and duration of the spell will also be shown.  Spell effects
are no longer automatically shown on "score."
 
In order to automatically have spell effects shown on "score," simply type {Cshow{x.
~

-1 BITSYSTEM BITS~
.
This mud uses Ammaross Danan's Unlimited Bit System v1.2
Ammaross can be reached at ammaross@ardenmore.com
Visit www.ardenmore.com for other snippets by this author.
~

0 CHANNELS MUSIC GOSSIP QUESTION ANSWER GRATS QUOTE AUCTION~
Syntax: channels
 
Channels shows a list of current channels and their status.
For example, whether they have been turned on or off.
If they show "ON," then you will see them as people speak
to each channel.
 
To switch a channel on or off, you simply type the name
of the channel with no message(text).
 
For example, to turn of gossip, type "gossip" and hit enter. 
 
Types of channels:
 
Music, gossip, grats, question, answer, clan channels, imm
channels, auction, and quote.
~

53 DEV~
Method to follow for using the dev copies:
{x
When you first log in, set up a fresh copy of one of the devs:
{Ycd mud/SkullMUD/{x
{Ycp -av --reply=yes * ../dev1{x

{x
Now you're ready to rock.  You can freely modify anything in that /dev<x>
folder.
{x
----------
If you're the only one on, and it's late at night, and you want to see
your code in action, you can bring down the MUD.  Here's how to do that:
{Yps x{x
  PID TTY      STAT   TIME COMMAND
11250 ?        S      0:00 /bin/csh ./startup
11276 ?        S      0:00 rom 2323 copyover 5
12229 ?        S      0:00 sshd: skull@pts/0
12230 pts/0    S      0:01 -bash
13557 pts/0    R      0:00 ps x
{x
There's an example 'ps'.  You'll want to kill the startup script and the
rom copy itself by their pid.  So you'd want to do:
{Y>kill 11250
{Y>kill 11276{x
{x
Then you'd want to load up your compilation.
{Ycd $HOME/mud/dev<x>/area/
{Y../src/rom 2323 &{x
{x
Your MUD will now load on our open port as a background process.  See above
on how to kill it.
{x
If it's not late at night, it's probably best to schedule a time to take down 
the MUD to try out your new code with a post on the webboard in advance.
----------
Okay, so you've made changes you think are stable and ready for the big show.
Since we don't have any sort of quality checking at the moment, you may as well
just upload your changes:
{Ycd $HOME/mud/dev<x>/
{Ycp -av --reply=yes * ../SkullMUD{x
{x
Keep in mind the repercussions, here.  Areas, player files, source code--everything's
being overwritten.  If you'd like to take a more cautious approach, just upload the
source file directory:
{Ycd $HOME/mud/dev<x>/src/
{Ycp -av --reply=yes * ../SkullMUD/src{x
{x
After doing this, it is essential to leave a note on the MUD detailing the changes,
or a webboard post.  You'll also want to set up the MUD to run autonomously.  To
do that:
{Ycd $HOME/mud/SkullMUD/area/
{Y./startup &{x
{x
The startup script will reload the MUD if something happens to it.
----------
However, if you'd like to abandon your changes, you'll need to reset your dev:
{Ycd $HOME/mud/SkullMUD/
{Ycp -av --reply=yes * ../dev1{x
{x
And that's that.  If you have any questions or suggestions to be added to this file,
please, write a note.
{x
~

52 PICKUP~
PICKUP goes through all objects in the game that are on the ground and picks an 
object up if it matches your criteria.  "pickup sword" would cause all objects 
on the ground named 'sword' to be picked up and placed in your inventory.

There are three additional options to pickup:

pickup <argument> aggressive: Gets all objects in the game matching
                              argument, regardless of if it's in another
                              object or being used by someone.
pickup <argument> mobs: Same thing as aggressive except only mobiles
                        will be checked in addition to the ground.
                        Useful if you don't want to take things from
                        people accidently.
pickup <argument> vnum: argument will be a vnum to be picked up.
{x                        Example: "pickup 3007".
Hint: To pickup by multiple names, such as blue and sword, and aggressively, do:
"pickup 'blue sword' agg", for example. 

Notes:
- You can pickup by vnum and aggressive both at the same time, etc.
- If you cannot see the object or the room an object is in, you will not pick it up.
- Objects with no wear flags will not be picked up, even with aggressive.
- Most of the time you'd want to pick up aggressively or with mobs.  Some mobs pick up anything on the ground.
~

-1 WANDS STAVES SCROLLS~
Magical items require training to use properly.  If your character lacks the
necessary skill to use an item, he will fail, possibly destroying it.  The
item skills are as follows:

scrolls		The reading of magical scrolls and books (see 'help recite')
staves		The use of staves and similar devices (see 'help brandish')
wands		The use of wands and similar items (see 'help zap') 
~

-1 'GROUP HEADER'~
The following skills and groups are available to your chacter:
(this list may be seen again by typing list)
~

-1 'GROUP HELP'~
The following commands are available:
list         display all groups and skills not yet bought
learned      show all groups and skills bought 
premise      brief explanation of creation points and skill groups
add <name>   buy a skill or group
drop <name>  discard a skill or group
info <name>  list the skills or spells contained within a group
help <name>  help on skills and groups, or other help topics
done	     exit the character generation process
~

-1 'MENU CHOICE'~
Choice (add,drop,list,help)?~

-1 'GROUPS' 'INFO' 'PREMISE'~
The ROM skill system allows you to fully customize your new character, making
him or her skilled in the skills you choose.  But beware, the skills you pick
at character creation are the only skills you will ever learn.  Skills are 
paid for with creation points, and the more creation points you have, the
harder it is to gain a level.  Furthermore, higher-cost skills are harder to
practice.

Skill groups are like package deals for characters -- sets of skills or spells
that are closely related, and hence can be learned as a unit.  There is a 
default skill group for each class, which can be selected for a balanced 
selection of skills at a somewhat reduced cost.

The experience breakdown is as follows: 
points   exp/level     points   exp/level
40        1000         90        6000
50        1500         100       8000
60	  2000         110      12000
70        3000         120      16000 
80        4000         130      24000
The table continues in a similar manner for higher point totals.
~

-1 BASICS 'ROM BASICS'~
The basic skills:

Every character starts with two skill groups, one for their class and a default
set that all characters receive.  The default skills are:

recall  	essential escape skill (see help recall)
scrolls		reading of scrolls and other magical volumes
staves		use of magical staves
wands		use of magical wands

for class defaults, check the classes themselves.
~

-1 ALIAS UNALIAS~
Syntax: alias
	alias <word>
	alias <word> <substitution>
	unalias <word>

The alias command allows limited shortening of command names.  At this time,
aliases cannot call other aliases, and cannot generate more than one command.
Alias by itself lists your current aliases, Alias <word> lists the alias with 
that name (if such exist), and alias with both a word and and argument 
produces a new alias.  You cannot alias either alias or unalias to a new
command.  Examples of use:

alias gc get all corpse --> typing gc will equal typing 'get all corpse'
alias ff cast 'fireball' --> ff orc will equal 'cast 'fireball' orc'

Only the first word on the line will be subsituted at this time.
~

-1 NOSUMMON NOFOLLOW NOLOOT~
Syntax: nosummon
 
Nosummon is a toggleable command which flags whether or not you can be
summoned by other mortal characters playing the game.
 
Syntax: nofollow
 
Nofollow is a toggleable command which flags whether or not another
character is able to "follow" you.
 
 
Syntax: noloot
 
Noloot is a toggleable command which flags whether or not your corpse
is lootable.  If your corpse is "not safe from thieves," this means that other
players may take objects from your corpse when you die.
~

0 HEDIT~
Syntax: hedit <filename>
Syntax: hedit new <newfile>
 
Hedit is an online Helpfile Editor.  Within the editor you can
define level, keywords, and the text of the helpfile.  In order to write the
text, type "text" while in HEdit.  To define level, type "level <#>."  To define
Keywords, type "keyword <keywords>."
~

52 olc2~
The following is a list of helpfiles you can call upon
to better understand and utilize our building system.
 
AEDIT -- For help creating or editing an area file.
REDIT -- For help creating, editing, and connecting rooms.
MEDIT -- For help creating and editing mobiles.
OEDIT -- For help creating and editing objects.
MPEDIT -- For help creating and editing mobile programs.
OPEDIT -- For help creating and editing object programs.
RPEDIT -- For help creating and editing room programs.
 
Related helpfiles:
 
{GAEDIT, REDIT, MEDIT, OEDIT, RPEDIT, OPEDIT,{x
{GOPTRIGGERTYPES, OPCOMMANDS, OPCOMMANDS2{x
~

52 roomflags~
The following is a list of the room flags and a brief explanation:
 
Dark -- flagging a room dark requires a person to be wearing a light for them to see.
noformatting -- keeps tagline code from munging up your beautiful room desc.
no_mob -- mobiles cannot enter this room unless summoned.
indoors -- you can't see the weather.
private -- only two people (NPCs or PCs) can be in this room at one time.
safe -- no fighting allowed in a room flagged safe.
solitary -- only one person per room PC or NPC.
pet_shop -- this flag is needed for a shopkeep to load mobs.
no_recall -- can't recall.
imp_only -- only IMPs allowed.
gods_only -- only gods allowed.
heroes_only -- heroes only.
newbies_only -- only n00bs allowed.  Sort of like playing fort as a kid.
law -- thief and killer flags will be given and certain mobs will attack offenders.
nowhere -- hides you from the "where" command.  So if someone "where"s and you're in the
area, you won't show up.
~

52 PREFIX~
Syntax: prefix <command>
Syntax: prefix
 
Prefix is an imm command which causes all input to the 
mud to be prefixed with whatever command the imm chooses as
their prefix.  For example, "prefix note +" would preface every item
you typed with "note +." 
 
Prefix by itself turns off any previous prefix you may have set.
~

52 SEDIT~
Welcome to SEDIT!  This wonderful command lets you, the immortal create
socials for the world to enjoy!  The following is a short walkthrough on
creating your very own social.  Have fun!  
 
To create a new social simply type the following: sedit new <newsocialname> From there, 
you can type: sedit show <newsocialname> (this can also be used to edit old ones).  
Unlike the other editors you do NOT stay in the social while editing.  So there's
no need to type 'done' ever.
 
OK, so you've "shown" the social, now what?  The "show" is pretty self explainitory, but you'll 
need to know a few key variables.  These will enhance and add to your social, much like Viagra 
can enhance and add to your sexlife (Pooky excluded). 
 
$n -- this variable shows the name of the person doing the social.  "$n laughs" would show 
up as "Rho laughs."  
$N -- this variable shows the name of the "target" of the social. 
$e -- this variable is "he, she, or it" based on the sex of the social user
($n).
 
(There may be more variables yet to come.  If you're still confused,
used the "show" command on socials you know and love to better understand
what REALLY goes on behind the scenes.)
 
Syntax for editing socials:
{Rsedit {D<{Rfield{D> <{Rsocial name{D> <{Rstring{D>{x
 
Valid fields are:
{Dcnoarg onoarg cfound ofound vfound cself oself{x
~

0 GLANCE~
Syntax: glance <target>
 
Glance is a command to look at a mobile or PC and view their equipment.
The "target" is the mobile or PC.
~

52 OPEDIT OPSTAT OPDUMP RPEDIT RPSTAT RPDUMP MPEDIT MPSTAT MPDUMP~
Syntax: mpedit|opedit|rpedit <vnum>
Syntax: mpedit|opedit|rpedit create <vnum>
Syntax: mpstat|rpstat|opstat <Mobile Name>|<Room Vnum>|<Object Keyword>
Syntax: mpdump|rpdump|opdump <vnum>

The | symbol signifies an "or."  In essence, use "mpedit" or "opedit" or "rpedit."

MPEDIT begins the process of editing a mobprog.  For more information about MPEDIT, refer to MPEDIT2.
 
MPStat shows the statistics about any mobprogs in place for a certain mobile.
 
MPDump shows the source code for any mob progs in place
on a certain mobile.
 
MPEdit create creates a new mobprog with the vnum specified.  To type in the code for the program,
type "code."
 
To use opedit or rpedit, it is the same syntax with "mpedit" replaced by "opedit" or "rpedit."
You would, of course, replace "<mobile name>" with "<object name>."
 
To use "RPSTAT" you would specify a vnum rather than the name of a room.
 
For more information, refer to "ADDRPROG." 
~

60 HLOOKUP~
Syntax: hlookup
 
Hlookup shows which commands are missing helpfiles.
~

0 PAGE~
Syntax: page <target>
 
Page is a command to alert the target that their
attention is needed on the mud.  It will send them a text
message and also a "beep."
 
~

0 UNREAD~
Syntax: unread
 
Unread is a command which lists every note that has not been flagged
as "read" by your character.
 
~

0 HELP2~
Syntax: help2 <keyword>
 
Help2 is an alternate help system.
 
If you search for a word like 'lightning' you will
be able to read in succession any helpfiles that may have
the word 'lightning' in their keywords.
 
~

52 DIG~
Syntax: <direction> dig <vnum>
Syntax: <direction> delete
 
Dig creates a two-way link from the room you're standing in to the vnum you specified.
This link goes in the same direction that you specified.  
 
To delete this link, type <direction> delete. It will unlink the room you're standing in.
Make sure you go to the other vnum and make sure its link is also deleted before you 
turn around and forget about it.
~

60 PANIC~
Syntax: panic
 
Panic will kill any standing "events" that are scheduled to be run.
 
See also: "events"
~

52 EVENTS~
Syntax: events
 
Events shows any events that are scheduled to be run, such as a
global autosave.
~

0 COMBINE~
Syntax: combine
 
Combine determines whether or not objects in your inventory
will be tallied and have the number of objects carried with the same string,
or if it will show each and every object individually.
 
For example, if you hold 13 dungeon keys, if your inventory is "combined"
It will show: "(13) the dungeon key."
Otherwise, it will show 13 instances of the phrase, "the dungeon key."
~

0 SURRENDER MURDER KILL~
Syntax: surrender
Syntax: murder <target>
Syntax: kill <target>
 
All three of these commands are combat commands.
 
Murder and kill essentially do the same action, which is initiate combat.
 
Surrender is a cowardly action, ending combat if possible.
~

0 TYPO~
Syntax: typo <message>
 
Typo will take your message and record it into a file as feedback to
the implementors.
 
~

52 IMM_POLL IMMPOLL~
{GP{gO{GLL {COPT{cI{CONS{x

poll new            --Create a new poll to work on.
poll clear          --Erase the poll you're working on.
poll show           --Show the poll you're working on.;
 
poll topic          --Set a poll's topic. {R(Required){x
poll add <string>   --Add a new voting choice with text <string>. {R(Required){x
poll delete <choice>--Delete the voting choice <number>.
poll post  <minutes>: Post the poll you're working on. {R(Time Required){x

{C--{WExamples{C--{x:
poll post 60  -- Posts the poll you're working on with a voting time of 60 minutes.
poll delete 1 -- Delete the first voting choice of the poll you're working on.
poll add Yes  -- adds a voting choice of 'Yes'.
{RNOTE:{x Once a poll has been submitted, it cannot be edited.
~

0 POLL VOTE~
Syntax: vote
 
Poll is a system where players can vote upon polls set up by the immortals.
This may affect changes, game mechanics, ideas, or just random thoughts.
 
In order to see if there is a poll running, type {Gwho{x.
To see your options for voting, type "vote."
To vote, type {Gvote {Y<#>{x.
~

60 WARN~
Syntax: warn <target>
 
Warn is an imm command which sends the target a personalized message,
warning them to cease actions which have been disruptive.  It should be used
sparingly, as it is ultimately a final warning.  
 
If you have received this message, it is a good idea to cease acting
as you have, and pay attention to the rules.
 
~

52 FLAG~
Syntax: flag mob <name> <field> <flags>
Syntax: flag char <name> <field> <flags>
 
Mob flags are: {Cact{x, {R{Raff{x{x, {Boff{x, {P{Mimm{x{x, {mres{x, {rvuln{x, {Wform{x, and {Ypart{x.
Char flags are: {Cplr{x, {Wcomm{x, {Raff{x, {Mimm{x, {mres{x, {rvuln{x.
 
To add a flag, type {G+{x.  To remove a flag, type {G-{x. 
To set something equal, use {G={x. 
 
If you do not use {G+{x, {G-{x, or {G={x, flag will just toggle the
chosen flags.
 
Addition to this helpfile: Once I figure out exactly what every flag means, I'll
add them to this helpfile. In the meantime, this is it.
~

52 GUILD~
Syntax: guild <player> <clan name>
 
The guild command declares a character 
as part of a clan.
 
Current clans are:
~

0 WORTH~
Syntax: worth

 The worth command shows the exact amount of gold, silver, and experience
that you have.  It will also show exactly how much experience is needed in
order to level.  
~

0 QUIET~
Syntax: quiet
 
Quiet is a toggleable command, which determines whether or not
you will be open to hearing global channels, tells, shouts, or yells.
 
When quiet is on, your character will only 'hear' or 'see' says and emotes.
When quiet is off, you can see any channel visible to your character.
~

0 SCAN~
Syntax: scan
 
Scan expands the user's conciousness, allowing him or her to see beings in
the surrounding rooms.  It works much like the farsight spell, however, it 
does not have a cost in mana.
 
~

0 PLAY JUKEBOX~
Syntax: play loud <song>
Syntax: play <song>
Syntax: play list
 
Play loud will broadcast your song over the music channel.
 
Play song will simply play it in the room.
 
Play "list" will give you a list of songs to play.
~

60 addison(builderhelpforstupidpeople)~
<dir> key <ovnum>
<dir> name <keyword>   (trap door makes for bad)
Specify key vnum on BOTH sides of doors
aedit -- reset

 
{DTO DO LIST{W:{x
 
Change all instances of fish loading in rooms so that they iload $n
~

0 variables~
{D----{WMobProg Variable Guide{D----{x

{DPlayer variables{W:{x
 
$n - the name of whomever caused the trigger to happen -- the player
$N - the name and title of whomever caused the trigger to happen
$t - the name of a secondary character target, as in Bob smiles at Alice
$T - the name and title of a secondary character target
$r - the name of a random PC in the room with the mobile
$R - the name and title of the random PC
$q - the name of the mobprog target (see mob remember)
$Q - the short description of the mobprog target
$e - he, she, it - based on sex of $n [the player's sex]
$E - he, she, it - based on sex of $t [as in "Alice smiles at Bob" - $E would refer to Bob]
$J - he, she, it - based on sex of $r
$m - him, her, it - based on sex of $n [the player's sex]
$M - him, her, it - based on sex of $t [see example for $E]
$K - him, her, it - based on sex of $r [it remembers the random person chosen until a new random person is chosen]
$s - his, hers, its - based on sex of $n
$S - his, hers, its - based on sex of $t
$L - his, hers, its - based on sex of $r
 
{DMobile variables{W:{x
 
$i - the first of the names of the mobile itself, in their namelist
$I - the short description of the mobile itself, as in "A Beastly Fido"
$j - he, she, it - based on sex of $i [the mob's sex]
$k - him, her, it - based on sex of $i [the mob's sex]
$l - his, hers, its - based on sex of $i
 
{DObject variables{W:{x
 
$o- the first of the names of the primary object
$O - the short description of the primary object
$p - the first of the names of the secondary object
$P - the short description of the secondary object [As in "a brown leather sack"]
 
This list curtesy of {Ghttp://www.chainsmokingdryad.com{x.
~

0 'TAGLINE'~
Taglines are much like HTML tags.  Make them like this:
 
[#weather sunny: The sun shines on a field of flowers.]
[#sex male: A pretty barmaid winks at you as she goes about.]
[#wis > 16: You notice a sale on dresses in your size.]
[#name: The mirror shows your reflection, $.]
 
Preferably, you can make each on a new line like above because the code
intelligently wraps them for you.  It's very clever.  
 
Taglines are currently supported in mob/player descriptions, room descriptions,
and object extended descriptions (ed add <keyword> ones).
 
~

0 'TAGLINE_LIST'~
{GTag Name          {xUsage
{Y-----------       ---------------{x
{Gstr               {x[#str < 9: You're a weakling!]
{Gint               {x[#int > 15: You're a smart cookie.]
{Gwis               {x[#wis = 10: You're no wiser than normal.]
{Gdex               {x[#dex < 9: You stumble over your own feet.]
{Gcon               {x[#con > 17: You've never been sick once.]
{Gage               {x[#age < 21: This bar is not open to minors.]
{Gsun               {x[#sun sunset: The sunset through the leaves is nice.]
{Gtime              {x[#time > 19: Thieves come out with the night.]
{Gday               {x[#day = 20: Today is Ribbon Day!]
{Gmonth             {x[#month = 12: It is the depths of winter.]
{Gweather           {x[#weather rainy: Rain drips from the rooflines.]
{Ggold              {x[#gold > 40: You draw the eye of every thief here.]
{Gsilver            {x[#silver > 90: Beggars look at you hopefully.]
{Glevel             {x[#level < 50: These creatures look too hard for you.]
{Gsex               {x[#sex female: The bartender hurries to fill your order.]
{Grace              {x[#race human: Humans are not welcome in the village.]
{Gclass             {x[#class thief: The bodies of failed thieves rot here.]
{Galign             {x[#align evil: This place stinks of holiness.]
{Gname              {x[#name: Your guild is to the north $.]
{x
{GTag Name          {xArguments
{Y------------      --------------{x
{GAll Stats         {x>  <  =
{GAge               {x>  <  =
{GSun               {xsunrise, sunset, day, night
{GTime              {x>  <  =  (Time is in hours, from 1 - 24)
{GDay               {x>  <  =  (There are 35 days to a month)
{GMonth             {x>  <  =  (There are 17 months in a year)
{GWeather           {xsunny, cloudy, rainy, lightning
{GGold              {x>  <  =
{GSilver            {x>  <  =
{GLevel             {x>  <  =
{GAlignment         {xgood, evil, nuetral
{GSex               {xmale, female, none, either
{GRace              {x(any race name you have)
{GClass             {x(any class name you have)
{GName              {x(no arguments)
~

0 'TAGLINE_EXAMPLES'~
{GRooms{Y:{x
[#weather rainy: Rain drips from overhangings and clotheslines.]
[#weather lightning: Bolts of lightning periodically strike treetops.]
[#weather sunny: A mysterious figure shades their face from the sun beneath a cowl.]
[#wis > 14: You sense something unusual about the oakwood ahead.]
[#sex female: You catch several men staring at you with interest.]
[#name: Your guild is to the north $.]
[#time = 19: The sun is setting above the rooftops.]
[#class thief: Wealthy shoppers are practically begging to be robbed.]
[#class cleric: A crowd of cripples stare at you with desperate hope.]
{x
{GMobs{Y:{x
[#int > 14: You notice rune tattoos on their skin.]
[#class warrior: It looks like a rough match-up with this creature.]
[#sex male: She doesn't look like the sweep-me-off-my-feet type.]
[#weather rainy: Rain cleans the filth from this troll's hide.]
[#align evil: This looks like your kind of rotten guy!]
{x
{GObjects{Y:{x
[#name: This degree is for $ as a Graduate of Mud School.]
[#str < 10: This sword appears too heavy for you to use effectively.]
[#weather sunny: Sunlight gleams off of the well polished mace head.]
[#name: A small tag on the side says 'Made for $'.]
 
{RNOTE{Y:{x  Align taglines may soon become obsolete.
~

0 MPEDIT2 RPROG OPROG MPROG ADDMPROG ADDRPROG ADDOPROG~
To add an mprog or oprog to a room or an object, while in the appropriate
OLC editor (medit, oedit, etc), you may use "addoprog" or "addmprog" or
"addrprog."  
 
The syntax is:
 
addmprog <vnum> <trigger type> <extra>
 
The extra bit at the end is where you would place the vnum, appropriate speech phrase, or percentage.
 
To see the appropriate trigger types, see help {Gopcommands{x.
~

52 OPCOMMANDS~
{Cobj echo [string]{x
    What it does:  Prints the message to the room at large.
{x
{x
{Cobj gecho [string]{x
    What it does: Prints the argument to all active players in the game.
{x
{x
{Cobj zecho [string]{x
     What it does: Prints the argument to all players in the same area as the mob
{x
{x
{Cobj echoaround [victim] [string]{x
    Example: obj echoaround $n Psst! Everyone else! $n smells funny!
    What it does: Prints the message to everyone in the room other than the mob and victim.
{x
{x
{Cobj echoat [victim] [string]{x
    Example: obj echoat $n You are the champion, $n!
    What it does: Prints the message to only the victim.
{x
{x
{Cobj mload [vnum]{x
    What it does:  Lets the object load a mobile.
{x
{x
{Cobj oload [vnum] <level>{x
    What it does:  Lets the object load another object.
    Comments: Level is optional.
{x
{x
{Cobj purge <target>{x
    What it does: Lets the object purge all other objects and npcs in the room,
        or purge a specified object or mob in the room. The object cannot
        purge itself for safety reasons.
    Comments: Target is optional; it'll purge the room if not given.  Otherwise
        you can give it a mob name or object name and it'll try to purge that.
        It'll even purge worn items or carried items of the person it is being used by.
{x
{x
{Cobj goto [location]{x
    What it does: Lets the object goto any location it wishes that is not private.
    Comments: Location can be a place, a person, or a vnum.
{x
{x
{Cobj transfer [target|'all'] [location]{x
    What it does: Lets the object transfer people.  The 'all' argument transfers
        everyone in the current room to the specified location.
   Comments: Location can be a place, a person, or a vnum.
{x
{x
{Cobj gtransfer [victim] [location]{x
    Example: obj gtransfer $n 3011
    What it does: Lets the object transfer all chars in the same group as the victim.
    Comments: Location can be a place, a person, or a vnum.
{x
{x
{Cobj force [victim] [commands]{x
    What it does: Lets the object force someone to do something. Must be mortal
        level and the all argument only affects those in the room with the object.
    Comments: Victim can be 'all', which is everyone in the room.
{x
{x
{Cobj gforce [victim] [commands]{x
    What it does: Lets the object force a group something. Must be mortal level.
{x
{x
{Cobj vforce [vnum] [commands]{x
    What it does: Forces all mobiles of certain vnum to do something.  Yes,
        this is across the entire MUD.
{x
{x
{Cobj damage [victim] [min] [max] <kill>{x
    What it does: Lets obj cause unconditional damage to someone.  Nasty, use
        with caution.  Also, this is silent, you must show your own damage message.
    Comments: If kill parameter is omitted, this command is "safe" and will
    not kill the victim.
{x
{x
{Cobj remember [victim]{x
    What it does: Lets the object to remember a target. The target can be
        referred to with $q and $Q codes in OBJprograms. See also "obj forget".
{x
{x
{Cobj forget [victim]{x
    What it does: Reverse of "obj remember".
{x
{x
{Cobj delay [pulses]{x
    What it does: Sets a delay for OBJprogram execution. When the delay time
        expires, the object is checked for a OBJprogram with DELAY trigger, and if
        one is found, it is executed. Delay is counted in ticks (roughly 60 seconds).
{x
{x
{Cobj cancel{x
    What it does: Reverse of "obj delay", deactivates the timer.
{x
{x
{Cobj call [vnum] [victim|'null'] [object1|'null'] [object2|'null']{x
    What it does:  Lets the object to call another OBJprogram within a OBJprogram.
    This is a crude way to implement subroutines/functions.  Beware of nested loops
    and unwanted triggerings.  Characters and objects referred to must be in the
    same room with the object.
{x
{x
{Cobj otransfer [item name] [location]{x
    What it does: Lets the object to transfer a different object. The other object
        must be in the same room with the transferring object.
    Comments: Location can be a place, a person, or a vnum.
{x
{x
{Cobj remove [victim] [object vnum|'all']{x
    What it does: Lets the object to strip an object or all objects from the victim.
{x
--- CONTINUES -- SEE OPCOMMANDS2 --
 
~

0 OPCOMMANDS2 OPTRIGGERTYPES~
{x
{x
{Cobj attrib [target] [level] [condition] [v0] [v1] [v2] [v3] [v4]{x
    Example: obj attrib worn none 100 +5 10 +2 10 none
                       (Targ Levl Cnd v0 v1 v2 v3 v4)
    What it does: Lets the object change its stats, can be related to the target's level
        by adding a +,-,*,/ to the front of the value. 'None' makes no changes.
    Comments: Target can be 'worn', which references the person who is wearing the object.
        If no one is wearing the object, the attrib will fail to execute.  Otherwise it
        can be $n or $q, for example.  Level can be 'none' which will use the object's
        own level.  Condition is unused.
{x
{r-------------------------------- {CTrigger types {r--------------------------------{x
{C'act', takes: phrase{x
    What it does: The argument is a phrase, a text string.  This is a very general
        trigger as many things use act.  Output of "say", "shout" and "emote" do not
        trigger this event. 
    Example:  addmprog 3011 act smiles happily.  (triggers whenever someone smiles).
 
{C'speech', takes: phrase{x
    What it does: Triggers when the phrase is contained in a message which has been
        said by a player in the same room as the object.
 
{C'random', takes: a number (0 through 99){x
    What it does:  This trigger is checked at every tick. If the argument is greater
        than a percentage roll the trigger is activated. This will happen even if
        there is no PC in the room with the mob/object/room, but there must be
        players in the same area. 
 
{C'greet', takes: a number (0 through 99){x
    What it does: Triggers whenever someone enters the same room as the object, and
    it makes its check.  Objects will always fire on this trigger regardless of the
    player's visibility status.
 
{C'exall', takes: a number (0:north, 1:east, 2:south 3:west 4: up 5: down){x
    What it does: Activates when a player tries to leave a room through an exit
        indicated by the argument.  Useful for having a single guardian to watch several
        exits. An exit trigger works better than an entry trigger, since you can refer
        to a specific PC instead of a random player.
    Comments: If this event is triggered, the victim will not move through the exit.
        If necessary, you must move the character yourself in your program with obj
        transfer.  Also, this event is not triggered when a character flees from
        combat or the mobile is not in its default position. 
 
{C'give', takes: phrase (a string) or vnum (a number){x
    What it does: Triggers whenever the triggering object is given to someone else. Also,
        the argument is ignored in this case. 
 
{C'get', takes: <anything>{x
    What it does: Fires whenever the triggering object is picked up. Phrase is ignored. 
 
{C'drop', takes: <anything>{x
    What it does: Fires whenever the object is dropped, argument is ignored.
 
{C'fight', takes: a number (0 through 99){x
    What it does: Fires when the object is worn when the player wearing it is
    fighting. Targets the opponent. Checked approximately once a second. 
 
{C'delay', takes: a number (0 through 99){x
    What it does: Activates when the delay of an object (set with OBJ DELAY command) expires. 
    Comments: An object can have several delay triggers, but every time the delay
        timer expires, all the triggers are checked and the first successful one executed.
 
{C'sit', takes: a number (0 through 99){x
     What it doeS: This trigger activates when the object is sat, rested on, slept on, etc.
 
{C'wear', takes: <anything>{x
    What it does: Activates when the object is worn. 
 
{C'remove', takes: <anything>{x
    What it does: Activates when the object is removed.
 
{C'put', takes: <anything>{x
    What it does: Activates when the object is put in anything.
 
{C'input', takes: <phrase>{x
{x    What it does: Activates when the phrase is typed exactly as in the trigger.
 
~

0 ifcheck~
If-Checks
Below is a compiled listing of all of the possible values that can be checked 
against. If checks provide a basic necessity in programming of any sort, and mob 
programs are no different. A more detailed explanation of these follows.
Check Name, Example Usage
 
"{Grand"          {xif rand 30 - if random number < 30 
"{Gmobhere"       {xif mobhere fido - is there a 'fido' here
if mobhere 1233 - {xis there mob vnum 1233 here 
"{Gobjhere"       {xif objhere bottle - is there a 'bottle' here
if objhere 1233 - {xis there obj vnum 1233 here 
"{Gmobexists"     {xif mobexists fido - is there a fido somewhere 
"{Gobjexists"     {xif objexists sword - is there a sword somewhere 
"{Gpeople"        {xif people > 4 - does room contain > 4 people 
"{Gplayers"       {xif players > 1 - does room contain > 1 pcs 
"{Gmobs"          {xif mobs > 2 - does room contain > 2 mobiles 
"{Gclones"        {xif clones > 3 - are there > 3 mobs of same vnum here 
"{Gorder"         {xif order == 0 - is mob the first in room 
"{Ghour"          {xif hour > 11 - is the time > 11 o'clock 
"{Gispc"          {xif ispc $n - is $n a pc 
"{Gisnpc"         {xif isnpc $n - is $n a mobile 
"{Gisgood"        {xif isgood $n - is $n good 
"{Gisevil"        {xif isevil $n - is $n evil 
"{Gisneutral"     {xif isneutral $n - is $n neutral 
"{Gisimmort"      {xif isimmort $n - is $n immortal 
"{Gischarm"       {xif ischarm $n - is $n charmed 
"{Gisfollow"      {xif isfollow $n - is $n following someone 
"{Gisactive"      {xif isactive $n - is $n's position > SLEEPING 
"{Gisdelay"       {xif isdelay $i - does $i have mobprog pending 
"{Gisvisible"     {xif isvisible $n - can mob see $n 
"{Ghastarget"     {xif hastarget $i - does $i have a valid target 
"{Gistarget"      {xif istarget $n - is $n mob's target 
"{Gexists"        {xif exists $n - does $n exist somewhere 
"{Gaffected"      {xif affected $n blind - is $n affected by blind 
"{Gact"           {xif act $i sentinel - is $i flagged sentinel 
"{Goff"           {xif off $i berserk - is $i flagged berserk 
"{Gimm"           {xif imm $i fire - is $i immune to fire 
"{Gcarries"       {xif carries $n sword - does $n have a 'sword' 
if carries $n 1233 - does $n have obj vnum 1233 
"{Gwears"         {xif wears $n lantern - is $n wearing a 'lantern' 
if wears $n 1233 - is $n wearing obj vnum 1233 
"{Ghas"           {xif has $n weapon - does $n have obj of type weapon 
"{Guses"          {xif uses $n armor - is $n wearing obj of type armor 
"{Gsex"           {xif sex $i == 0 - sex check 
"{Glevel"         {xif level $n < 5 - level check 
"{Galign"         {xif align $n < -1000 - alignment check 
"{Gmoney"         {xif money $n 
"{Gobjval0"       {xif objval0 > 1000 - object value[] checks 0..4 
"{Gobjval1"       {xif objval1 > 1000 - object value[] checks 0..4 
"{Gobjval2"       {xif objval2 > 1000 - object value[] checks 0..4 
"{Gobjval3"       {xif objval3 > 1000 - object value[] checks 0..4 
"{Gobjval4"       {xif objval4 > 1000 - object value[] checks 0..4 
"{Ggrpsize"       {xif grpsize $n > 6 - group size check 
"{Gisinobj"       {x(O) if isinobj <name/vnum> - 
 
 Any '==' operator can be replaced with any of the available ones described 
above. The argument $* refers to any of the variables which make sense for that 
if_check (i.e. for an if_check which is referencing a person the only valid 
variables would be $i, $n, $t, $r or $q) A value type of string is a sequence 
of characters. It does not need to be included in quotes or 
anything like that (i.e. if name $n fido )
~

0 'SECRET DOORS'~
Secret doors have some unique properties:
 
- You can't "bump" into a secret door to find out if there's an exit there.
 
- Secret doors have to be opened and unlocked by their name and not the direction.
  This means you can't "unlock north", but rather "unlock trapdoor".
 
- Once a secret door has been opened, the exit is (obviously) no longer secret--
  Until you close the door again!  This can be a good way to hide in terror from
  that level 3 slime that has your name on it.
 
- Looking in the direction of a secret door won't give any clues that there's
  a secret door there--it truly is a secret!
~

60 progs~
Here's a list of progs that might have applications in multiple areas.
Please include a description when adding new ones to this list.
 
 
{Doprog 1991{x
Add this to any object weighing less than 1000 pounds.  {R<{raddoprog 1991 put toyota{R>{x
When the object is put on the catapult in room 1991 (or any container named catapult, be careful),
it will be fired from the catapult into room 1943 (above the North Gate in the Tryn Stronghold area)
and cause damage to everything in the room.  I suggest adding this to all stones, rocks, and pianos.
 
 
{Dmprog 1929{x
Add this to any poor and starving mob.  {R<{raddoprog 1929 give ' '{R>{x
Every time the mob is given an object of type 'food' it is struck deep down in its being by the
generousity of the giver, cries a bit, thanks the giver, hugs the giver, and eats the food.
Not particularly useful, but I like seeing starving children who show a little respect when given
charity.  Little grubby bastards.  
 
 
{Drprog 2100{x
Add this to any room that you want to be able to ICE fish in.  {R<{raddrprog 2100 input fish{R>{x
If a character is holding object 2110 and types 'fish', they can fish and get coldwater fish.
There's other stuff that can happen too, so make sure it's in an arctic area so it makes sense.
~

0 triggers~
{D----{WProg Trigger Type Guide{D----{x
 
{R-->  {DGreet{W/{DGrall{x

Greet/Greet All programs are almost identical to each other. They
trigger when another character enters the room the mobile is in. The
difference between them is: Greet is for characters the mob can see
(non-wizi imms, non invis/hidden chars if the mob cannot see these).
Greet All is for ALL characters who enter the room. Wizi imms, invis
chars, whether or not the mob can "see" them. If you're going to have a
mob transfer someone, however, make sure it doesn't try to transfer an
immortal or you'll have problems. Syntax for Greet is: addmprog GREET %
of times it should happen. Syntax for Greet All is: addmprog GRALL % of
times it should happen.
{WSyntax:{x addmprog {R<{Dprog vnum{R>{x greet {R<{D% chance to run prog{R>{x
{WOr:{x     addmprog {R<{Dprog vnum{R>{x grall {R<{D% chance to run prog{R>{x
 
{R-->  {DSpeech{x
 
Speech programs trigger on specific phrases. Phrases are {WDEPENDENT ON
CAPITALIZATION{x. So far, only lower case letters will work accurately.
Any punctuation can be used, however. Syntax is: addmprog SPEECH
'phrase to trigger the program' Please note the ' ' on each end of the
phrase. That is a required field.
{WSyntax:{x addmprog {R<{Dprog vnum{R>{x speech '{R<{Dphrase{R>{x'
 
{R-->{x  {DDeath{x
 
Death programs can be a lot of fun, but you can also go overboard with
them. The Death program is carried out when a mob receives a killing
blow - and is in the negatives on hitpoints. The commands will be
quickly carried out before it actually fully dies. There are two things
which are NOT allowed in death programs. The first: is for the last
command to be Mob Load <(its own vnum)> The second: to have the last
command be Mob Purge self, this will make the corpse of the mobile
disappear, and strip the PC of any experience they would have received
from the kill. Syntax to add is: addmprog DEATH %of the time you want
it to use the trigger.
 
For more information on triggers, try 'help optriggers'.  It's...  already written.
~

0 sector~
The following is a list of the sector types and what they do:
 
{Dsector type            movement cost          notes{x
inside                 1
city                   2
field                  2
forest                 3
hills                  4
mountain               6
desert                 9
swim                   4                      swimmable
noswim                 -                      need boat
air                    -                      need fly
underground
street
jungle
underwater
path
 
{DThis list curtesy of {WStardeo{D's ROM OLC and Building Guide.{x
{Whttp://rrp.rom.org/olcdocs.txt{x
~

-1 $~