  ===================================================
.  DoorMUD World Editor v0.99 -- Sysop Documentation  .
  ===================================================

New additions in v0.99:
 - Class and Race editing (see file WHATSNEW.TXT)
 - Fresh-from-scratch game worlds (see WHATSNEW.TXT)
 - Can run script compiler remotely (see WHATSNEW.TXT)
 - Easier-to-use sequential player editor (see ;editconfig command)
 - New door32 command lines for GameSrv and EleBBS (see section VII.i)
 - Better table of contents


IMPORTANT -- To run this release of the World Editor, you must:
  * Have a registered version of DoorMUD.
  * Be running the MOST RECENT version of DoorMUD, v0.99.  If you are running
    a previous version, please UPGRADE IMMEDIATELY before using the editor.


This document is a comprehensive guide to all of the World Editor's features
and reference to all its commands.  If you plan on doing a large amount of
editing, consider printing out this file to paper.
 
Before delving in-depth into editing, it is HIGHLY RECOMMENDED that you read
the Quick-Start guide (quick.txt), to learn how to use the World Editor in 
local mode.  The Quick-Start guide goes over most of the basic commands and
shows examples on how to use them.


TABLE OF CONTENTS:
~~~~~~~~~~~~~~~~~
    I. Introduction / Setup  (VERY IMPORTANT -- READ THIS FIRST)

   II. Glossary

  III. Command Reference
           Explains all of the editing commands.  Browse through this for any
           given command that you need help with.
     
   IV. Scripting Language
           Explains how to write/edit Scripts, which are used for quests,
           complex room behaviors, and monster interaction with the "greet"
           command.     

    V. HLP Files 
           Explains DoorMUD's HLP file format.  The HLP files are used to
           control room descriptions; monster and item descriptions via the
           "look" command; and the in-game "help" command.

   VI. Advanced Area Design
           This step-by-step tutorial explains how to design entire new game
           areas from scratch.

  VII. Additional Information
           A. TEXT CODES  -- make grammatically-correct spell messages
           B. ACTION POINTS (APs)  -- control number of hits per round
           C. SKILL SYSTEM  -- setting items/spell usage requirements
           D. SHOPS  -- how to create new shops
           E. QUESTS  -- how to create new quests
           F. CREATURE STATS  -- these are what items and spells can modify
           G. OLDER AREA DIFFERENCES  -- some oddness in the game's older areas
           H. ACCESS LEVELS  -- give your trusted users Implementor access
           I. REMOTE EDITING  -- command lines to run the Editor as a door


_____________________________________________________________________________________________________________________


I. INTRODUCTION / SETUP


The World Editor is a DoorMUD add-on that allows the game world to be edited by
you -- the sysop -- and selected users of your choice.  Almost any aspect of
the game world can be edited, allowing you to change or add to the game as you
see fit.  The DoorMUD World Editor is free to sysops running the Registered 
version of DoorMUD v0.99.

The World Editor's interface is command-based, just like the actual DoorMUD 
game.  The World Editor program actually emulates the DoorMUD interface, 
allowing you to perform editing in a room-based environment.  In addition to 
supporting many of DoorMUD's standard commands for moving around and examining
the game world, the Editor also adds 18 new editing commands.

Built as a standard doorgame, the Editor can be run either from a BBS or in
local mode.  The 16-bit (DOS) version of the Editor is dmudedit.exe, while the
32-bit (Windows) version is dmedit32.exe.  



Setup
-----
1. Make sure DoorMUD is not currently in use.  You may want to take the BBS
   off-line for a moment if necessary.
2. Unzip world099.zip to your existing DoorMUD directory.
3. From a command prompt, run "dmbackup.bat pre" to make a backup of your
   DoorMUD data files.  ***DO NOT skip this step!***
4. If you wish to allow the World Editor to be run remotely from your BBS
   (instead of just in local mode), you must install the door into your BBS
   software's menus.  This step is entirely optionally; setup info for several
   popular BBS software programs is explained at the very end of this file.



Editing in Local Mode
---------------------
This is the easiest method of editing; simply use the /l command line option
to run the World Editor in local mode.  If you are using the DOS version, 
use "dmudedit /l".  If you are using the Windows version, use "dmedit32 /l".
In either case, you may wish to create a shortcut on your Windows desktop for
added convenience.


Editing remotely through a BBS
------------------------------
First, add the World Editor to your BBS's menus, as explained at the very
end of this document in section VII.i.  After doing this, you must manually 
select which user(s) you want to grant Editor access to.  This is described
in the "Access Levels" section (VII.h), also towards the end of this file.


Making Backup Files
-------------------
The World Editor comes with two new batch files -- DMBACKUP.BAT and 
RESTORE.BAT -- for creating and restoring your data files to backups.  

To backup your DoorMUD data files, use:
  DMBACKUP.BAT name
where "name" is whatever name you wish to give this particular backup.  You can
give each backup an individual name (such as the date the backup was made), or
you can use the same name each time.  

To restore to a particular backup, use:
  RESTORE.BAT name
where "name" is whatever pre-existing backup you wish to restore to.

It is highly recommended that you create backup files on a regular basis, in 
case you make a fatal error in the Editor that is difficult to correct.

Note:  Do NOT run DMBACKUP.BAT or RESTORE.BAT while the game is in use.


Resetting the Game
------------------
If you have edited your DoorMUD game, and later wish to reset the game and
restore it to its unedited state, you must first use "restore.bat pre" to
return the data files to their unedited state.  Then, you can use the standard
"Reset Game" option in the DoorMUD Sysop Configuration menu if you wish to
reset the entire game.
(NOTE:  If you failed to run "dmbackup.bat pre" when you installed the World
Editor, then "restore.bat pre" will have no effect, and you won't be able to
run a reset yet since doing so will corrupt your data files.  If you find
yourself in this situation, e-mail RhythmNp@aol.com for a fix.)



Single-node Only
----------------
The World Editor program can only be used by one node at a time.  In addition,
the World Editor cannot be used while players are in DoorMUD on another node.
Both programs automatically check to make sure the other isn't in use, so
multiple node conflicts are handled automatically.  For example, if the World
Editor is in use and a player on another node attempts to enter DoorMUD, a
message is displayed asking them to try again later.



_____________________________________________________________________________________________________________________


II. GLOSSARY


These terms are used throughout the rest of the World Editor documentation.
Some of these are explained in more detail in Section VII, Additional
Information.

CREATURE -- Any player or monster

IMPLEMENTOR -- Any player who has been given permission to use the World
  Editor.  The Sysop is able to configure which players are granted Implementor
  status.

ENCHANTMENT -- Refers to a spell component that lasts for a number of rounds

AREA -- Every room in DoorMUD is assigned to a particular Area number.  Any
  monster within an area cannot follow a player to outside of that area.
  Each area has a set recommended level range; it also has some other
  information that shows up when a user types the "where" command.

ITEM -- Has 5 possible types: Weapon, armor, scroll, potion, or key.

POTION -- Refers to any item that cannot be equipped, but can cast a spell 
   when used.  Not necessarily a literal "potion"; this item type was also
   used for items like throwing knife, dark crystal, lump of coal, etc.

KEY -- Item type used for opening doors.  The Key type is often also used
   for non-usable items, such as quest items.  For these items, the key is
   simply set up not to open any actual doors.

SCRIPT -- Simple programming instructions used to control some of the more
  complex aspects of the game, such as talking to monsters, completing 
  quests, controlling doors that are only open at certain levels, etc.  All
  game scripts are contained in the SCRI1.SCR file.

HLP FILE -- Text file format used for descriptions of rooms, items, monsters,
  and more.   

DOORMUD -- References to "DoorMUD" in this text indicate notes that apply to
  *the actual DoorMUD game* (dmud.exe / dmud32.exe / dmud32d.exe), NOT the
  World Editor program.  

ACTION POINTS (APs) -- System used to control how many swings per round a
  creature gets, as well as controlling in-between round spells.

SKILLS -- Each class in DoorMUD has a number of skills, each ranked in ability
  from 0 to 3.  A 0 indicates that the class does not have the skill, while a 3
  indicates the maximum ability in a skill.  You will need to learn the skill
  meaninigs in DoorMUD (explained in depth in a later section) in order to 
  determine what skill restriction to place on items and spells.  Some 
  important skill meanings to remember include:
    Armor-1 -- light armor
    Armor-2 -- medium armor
    Armor-3 -- heavy armor
    Blunt-1 -- light blunt weapons
    Blunt-2 -- one-handed blunt weapons
    Blunt-3 -- two-handed blunt weapons
    Edged-1 -- light edged weapons
    Edged-2 -- one-handed edged weapons
    Edged-3 -- two-handed edged weapons

TEXT CODES -- Special characters used in spell messages (among other places)
  so that the message is grammatically correct for all players.  For example,
  text codes allow a message to show up as "You hit Ganelon with a fireball for
  42 damage!" on the caster's screen, while it shows up as "Merlin hits you
  with a fireball for 42 damage!" on the target's screen.

REFERENCE NUMBER (REFNUM) -- All creatures in DoorMUD have a unique Reference
  Number.  For example, Creature #177 is the High Imperial Kingpriest.  Items,
  Spells, Rooms, etc are also numbered.  Usually, most reference numbers are
  unimportant, but Creature reference numbers are sometimes important.  For
  example, the editor might show a certain item to be "on Creature #177", 
  instead of "on High Imperial Kingpriest".  In this case, another search can
  be performed to determine which creature is #177.

IMPLEMENTOR RECALL -- Implementors can use the game's standard Recall command
  to teleport to any room in the game at any time.  For example, an Implementor
  can type "recall 414" to teleport instantly to room #414.  This can also be
  abbreviated as "; 414" that is, a semicolon, a space, and then a room number.
  Implementor recall is the most vital navigation aid in the World Editor.


_____________________________________________________________________________________________________________________


III. COMMAND REFERENCE


The World Editor uses a room-based command interface, just like DoorMUD.  This
section explains the full effects of every editing command in the World Editor.

Notes: 
 - To view a command list in the editor, type "menu" at any time.
 - All commands in the World Editor can be abbreviated, just like in DoorMUD.
   Special abbreviations are also available, listed in (parentheses) in the
   command menu.  For example, the abbreviation of ";editcreature" is "ecr".
 - Some parameters of commands are optional, while others are required.  
   Optional parameters are shown in in [brackets], while required parameters 
   are shown in <angle brackets>.
 - Just like in DoorMUD, parameters of commands in the World Editor must be in
   the same room as you.  For example, when using the ;editcreature command, 
   the creature you wish to edit must be in the same room as you.  Use the
   implementor Recall command to teleport to a given room first.


Command list:

  ----------------------------------------------------------------------------
  ----Creature Editing-------------Movement------------Fast Room Building---
   ;addcrea (acr)          n    s    e    w    u   ;build                 
   ;editcrea (ecr) <cr>    ne   nw   se   sw   d   ;grid                  
   ;duplicate (dcr) <cr>   ; <#>                   ;title [text]          
   ;raisedead                                      ;area [#]              
                                                                          
  ------Item Editing-------------Other Editing------------Room Editing------
   ;additem (aitm)         ;locate <text>          ;editroom (erm)        
   ;edititem (eitm) <itm>  ;editspells (esp)       ;addroom               
   ;duplitem (ditm) <itm>  ;editconfig (ecnf)      ;mark [#]              
   give <cr>                                       look <any>             
   list                                            where                  
                                                                          
  -------------------------------Miscellaneous------------------------------
   status        inventory        wear          get         rank        =r  
   menu          talk             remove        drop        exit            
  ----------------------------------------------------------------------------



===============================================================================

COMMAND:         recall [#]
ABBREVIATIONS:   ; [#]
                 \ [#]  
EXAMPLE:         ; 700  

Implementors may use the recall command to teleport to any room, simply by
supplying a room number following the command.  For example, typing "recall 45"
will teleport you to room 45 instantly.

The commands ";" and "\" have the same affect as "recall" and are useful as
quicker abbreviations.  For the above example, you could use "; 45" instead
of "recall 45".

This teleportation feature may also be used in DoorMUD, by implementors only.



===============================================================================

COMMAND:         ;locate <text>
ABBREVIATION:    ;l <text>

The ;locate command is a vital Editor tool that allows you to find specific
players, monsters, items, and more.  It can be used as follows:

FINDING PLAYERS:     ;locate <player name>
  Displays what room the matching player(s) are in.

FINDING MONSTERS:    ;locate <monster name>
  Displays what room the matching monster(s) are in.  If the monster is dead,
  the amount of time until it respawns is shown.

FINDING ITEMS:       ;locate <item name>
  Displays the exact location of the matching item(s).

REFERENCE SEARCH:    ;locate <reference number>
  Searches for creatures, items, and areas with the given reference number.
  For example, ";locate 20" displays creature #20, item #20, and area #20.
  This feature is useful because some game functions show objects by number,
  not by name.  IE, If an item was shown to be located "on Creature #531",
  you could use ";locate 531" to see that creature's exact name and location.

LISTING AREAS:       ;locate all area
  Lists all areas, along with area number.

LISTING BOSSES:      ;locate all boss
  Displays info on all boss monsters.

LISTING DEAD:        ;locate all dead
  Lists all monsters that are currently dead, along with respawn timers.

LIMITED ITEM LIST:   ;locate all limited
QUEST ITEM LIST:     ;locate all quest
RARE ITEM LIST:      ;locate all rare
UNCOM ITEM LIST:     ;locate all uncommon
  Lists all items of the given type.  Of these, the limited list and quest
  list are probably the most useful, for game-monitoring purposes.

STASHED ITEM LIST:   ;locate all stashed
  Lists all stashed items, along with who stashed them.

HELP WITH LOCATE:    ;locate
  Displays the different formats for ;locate, as described here.
  
When searching for players, monsters, items, or areas, the search text can be
abbreviated.  All matching results are shown.

The ;locate command can also be used in DoorMUD, by implementors only.  The
DoorMUD version of ;locate does not list areas, though.  In addition, for item
lists, the DoorMUD version of ;locate highlights player-owned items in brown, 
making it easier to see where a given item is.  (This item-highlighting feature
may also be added to the Editor's ;locate in a future version, if possible)



===============================================================================

COMMAND:         ;editconfig
ABBREVIATION:    ecnf

The ;editconfig command is used to easily perform a variety of editing
functions.  It includes a sequential player editor, class editor, race editor,
and more.

  1. Player editor   --   Allows you to view/edit all players in a menu-based
                          fashion.  For help on the indivitual player editor
                          options, please see the entry for the ;editcreature
                          command below.
  2. Edit classes    --   Allows you to edit the game's classes.  For more
                          info, please see WhatsNew.txt.
  3. Edit races      --   Allows you to edit the game's races.  Please see
                          WhatsNew.txt.
  4. Script compile  --   Recompiles the game's scripts.  You must do this
                          after any time you edit the SCRI1.SCR file in order
                          for your changes to take effect!
  5. Quest status    --   Allows you to edit the current status of game quests.
                          This is an advanced option; for more information, 
                          please see section VII.E to learn about Quests.
  6. Starting room   --   Allows you to specify which room number new players
                          start in.  Also sets the starting Temple room for new
                          playes.  This option is useful if you've made major 
                          changes to the game world and want to alter where 
                          players begin.
  7. Restore default --   If you damaged your class/race edits beyond repair, 
     classes & races      this option will prompt you to restore the default
                          classes and/or races.  If you choose yes for either,
                          a backup of your edited class/races will be made
                          before the stock settings are restored.
  8. Erase all data  --   This option erases all DoorMUD data files and allows
                          you to create a new world "from scratch".  This is an
                          EXTREMELY ADVANCED OPTION.  Please see WhatsNew.txt
                          for information.


===============================================================================

COMMAND:         ;addcreature
ABBREVIATION:    acr

Creates a new monster, prompting for its basic starting stats.  The Monster 
Editor is then loaded automatically for changing more advanced stats if
desired.



===============================================================================

COMMAND:         ;editcreature <creature>
ABBREVIATION:    ecr <creature>
EXAMPLES:        ecr thor
                 ecr orc

Loads the editor for the selected creature.  Limited Implementors can only edit
monsters, while Full Implementors may edit players or monsters.

Reminder:  When using editing commands, the target of the command must be in
the same room as you.  So to use ;editcreature on a creature, that creature
must be in your room.  The ;locate and ; (implementor recall) commands are
useful for finding a given creature and teleporting to its room.

If you use ;editcreature on a player, the Player Editor is loaded.  The Player
Editor consists of a single screen.  To exit the editor, simply press enter at
the menu prompt.  Some of the more complicated stats are explained here:
  6. Bonus Fights    --   Allows you to specify how many "extra" monster fights
                          a player receives per day, in addition to the normal
                          daily amount.  Normally, this should be set to 0
                          unless the player has items that raise this stat, or
                          unless you have specifically rewarded this player for
                          whatever reason.
  7. Gender          --   Available options are "m" for male and "f" for
                          female.  Has some effect on spell messages (ie, for
                          displaying "his" vs "her") but has no other effect
                          on gameplay.
  8. Incr Any Stat   --   Allows you to modify several other stats for a
                          player; please see the creature stat section for
                          information on what the stat codes are.  You can only
                          increment a stat by, at most, +/- 999 at a time.
 12. Class           --   Changes a player's class instantly.  All game classes
                          are available, plus a special Champion class that has
                          a skill level of 3 for every skill and is invisible
                          to other players.
 13. Race            --   Changes a player's race instantly.  Their attribute
                          values are immediately adjusted based on their new 
                          race's starting stats.  All game races are available,
                          plus a special Immortal race that has starting values
                          of 20 in all stats, has special "starbeam" (kill any
                          target instantly) and "full heal" spells, and is 
                          invisible to other players.
 14. Access Level    --   Select "normal" for most players.  If you wish to
                          grant a player the ability to use the World Editor,
                          remotely, set to an Implementor level.  Please see 
                          the section on Access Levels for more information.
 
If you use ;editcreature on a monster, the Monster Editor is loaded.  The 
Monster Editor has two screens.  The first screen is for editing the basic 
statistics of a monster.   Some specific explanations:
  6. Hostile         --   Determines which players the monster will attack, if
                          any.
 10. Room            --   Current room for the monster.
 11. Regen to Room   --   Room that the monster respawns to, after death.  At
                          maintenance, the monster will also be returned to this
                          room regardless of respawn status.  Set to 0 to allow
                          monster to wander its area, with no set regen room.
 12. Follow Chance   --   For determining if the monster will follow after a
                          fleeing player that it is in combat with.
 13. Gender          --   For combat messages.  "n" for neutral ("its"), "m"
                          for male ("his"), "f" for female ("her").  There are
                          also 2 other special gender variables for specifying
                          unusual monster stats:  "i" for invisible and "c"
                          for charmed.  These flags are permanent; the monster
                          is considered neutral gender for message purposes.
 15. Death Regen     --   Determines how many days it takes for this monster to
                          respawn after dying.  Monsters set to 1+ days are
                          considered to be "boss" monsters.
 16. Hitpoint Regen  --   Every 10 rounds, the monster regains this % of its
                          maximum hitpoints.
 17. Spellpt Regen   --   As above, but for spellpoints instead of hitpoints.

At the first screen of the Monster Editor, you can hit Enter to proceed to the
second screen of the Editor, which is for changing the monster's attack info:
  7. Crit Bonus Dmg  --   When the monster gets a critical hit, this much bonus
                          damage is added to their normal damage amount.
  8. Bonus AP/round  --   Determines how many extra swings a monster gets. 
                          Basically, for ever 2 bonus APs, the monster gets 1
                          extra swing.  See the section on APs for more info.
  9+ Add new spell   --   Attaches a new combat spell to this monster.  Prompts
                          for new spell info and loads Spell Editor.  A monster
                          may have up to 5 spells.
  9+ Edit mon spell  --   Edits a spell that has already been given to this
                          monster.  The chance of the monster casting the spell
                          is displayed before the spell name; this value can be
                          modified in the actual Spell Editor.  Please see the
                          ";editspells" command for information on the Spell 
                          Editor's options.

Hit ENTER again to edit the monster editor entirely.

Please note that most stats on a "duplicate" copy of a monster (see ;duplicate)
cannot be edited.  Find the original version of the monster using the ;locate
command and edit that copy of the monster instead.  All duplicates of the 
original monster will have their stats adjusted as well.



===============================================================================

COMMAND:         ;duplicate <monster>
ABBREVIATION:    dcr <monster>
EXAMPLE:         dcr orc

Makes 1 or more duplicates of a monster and prompts for room placement on the
copies.  Used for handling monster regeneration within an area.  Although the
"duplicates" act as independent monsters, they cannot be individually edited.
Any editing changes made to the "parent" monster will be applied to the
duplicates as well.  Please see the section on Advanced Area Design for more
information on using ;duplicate for monster regen room placement.



===============================================================================

COMMAND:         ;raisedead
ABBREVIATION:    ;r

Resurrects dead monsters in this room.  In the World Editor, dead monsters are
displayed in dark red.  

This command can also be used in DoorMUD, by implementors only, to resurrect
dead monsters in real-time.



===============================================================================

COMMANDS:        north south east west northeast northwest southeast southwest
                 up down
ABBREVIATIONS:   n s e w ne nw se sw u d
NUMERIC KEYPAD:  8 2 6 4 9  7  3  1  + -

Used for moving around the game world in the Editor.  Alternatively, if NumLock
is on, you can use the numberic keypad for faster movement.  This is highly
recommended.

If Builder Mode is enabled, you may use these commands to build new rooms by
intentionally walking into walls.  Return exits are created automatically.
Please see the section on Advanced Area Design for more information.



===============================================================================

COMMAND:         ;build
ABBREVIATION:    ;b

Toggles Builder Mode on/off.  When Builder Mode is on, you can quickly create
new rooms by intentionally walking into walls.  Return exits are created
automatically.  New rooms are given the current Default Room Title (see ;title)
and Default Area (see ;area).  

When building rooms with Builder Mode enabled, the relative coordinates of
your current room are displayed next to the room number.  You can reset all
relative coordinates by using the ;grid command.

Please see the section on Advanced Area Design for more information on Builder
Mode.



===============================================================================

COMMAND:         ;grid
ABBREVIATION:    ;g

Clears the current database of relative room coordinates, and sets the current
room to (0, 0, 0).  Useful in conjunction with Builder Mode (see ;build).
Please see the section on Advanced Area Design for more information.



===============================================================================

COMMAND:         ;title [text]
ABBREVIATION:    ;t [text]
EXAMPLES:        ;t Dragon Cave, Wide Tunnel
                 ;t

The ;title command is used to display or change the current default room name.
The default room name is given to new rooms created in Builder Mode.  To view
the current default room name, simply use ;title without a parameter.  To
change the default room name, use ;title followed by text.
Please see the section on Advanced Area Design for more information.



===============================================================================

COMMAND:         ;area [#]
ABBREVIATION:    ;a [#]
EXAMPLES:        ;a 5
                 ;a
                 ;a new

The ;area command is used to display or change the current default area number.
New rooms created in Builder Mode are assigned to the default area.  To view
the current default area number, simply use ;area without a parameter.  To
change the default area number, use ;area followed by a number.  

In order to see what area numbers correspond to which area names, type
";locate all area" or simply ";l all area".

The ;area command can also be used to create new areas.  To do so, use
";area new".  A new area will be created, and the Area Editor will be loaded
so that you can set the stats for the new area.  This new area then becomes
the default area for new rooms.

Please see the section on Advanced Area Design for more information on this
command.



===============================================================================

COMMAND:         ;editroom
ABBREVIATION:    erm

Loads the Room Editor on the current room.  

The Room Editor consists of a single screen.  To exit the editor, simply
press enter at the menu prompt.  Some of the more complicated options are 
explained here:

  2. Room Type       --   Use "generic" for a standard room.  Otherwise, you
                          can use: "shop" (allows list, buy, sell); "bank"
                          (allows deposit, withdraw); "trainer" (allows train);
                          "temple" (allows pray); "arena" (for a player-vs-
                          player arena -- dying here has no harmful effects).
  3. Purchase type   --   Only used if room is a shop.  This determines what
                          type of items the shop will buy back.  Use "generic"
                          to indicate any item type; "none" to indicate no
                          items at all; or a specific item type as desired.
                          Please note that shops will ALWAYS buy back items
                          normally stocked at that location regardless of this
                          stat.  In other words, this stat only controls how
                          the shop buys back non-stock items.
  4. Safe level      --   Set to 0 for a standard room.  Set to 1 to indicate
                          a room that monsters cannot follow players into.
                          Set to 2+ to indicate a "safe room".  Player vs
                          Player combat (of ANY level) cannot be initiated in
                          a safe room.  Also, Monsters will not attack players
                          (and likewise cannot be attacked) who are BELOW this
                          setting in level.
  5. Area number     --   Select an area setting for this room from the given
                          list.  New areas can also be created from this menu.
  6. Descript Var    --   Has an identical function to the ;mark command.  See
                          ;mark for more information.
  7. Edit Area       --   Launches the Area Editor on the current room's area.
                          See below for options.
  8. Edit Room Exits --   Launches the Room Exit Editor.  See below.
  9+ Extra Descrip   --   Allows you to enter up to 2 lines of "extra" text for
                          this specific room's description, in addition to
                          whatever text is present for this room title in
                          ROOM1.HLP.  Useful for adding a short bit of added
                          description for selected rooms.

The Area Editor, loaded by option 7 (or by creating a new area with option 5),
has the following options:
  1. Area Name       --   Displayed when a player types "where".  
  2. For Characters  --   When a player types "where", this text is displayed
                          after "Recommended for characters of ".
  3. Warning Level   --   If a player under this level enters this area, a
                          subtle warning message is displayed.
  4. Easier Level    --   Characters above this level have an easier time
                          running through the area if not attempting combat.
                          IE, monsters have a lower chance of following or
                          attacking fleeing/running players.  Useful for road-
                          type areas that higher level characters would need to
                          travel through frequently.
  5. Movement Rate   --   Set to 1 for standard movement, or 0 for an area that
                          can be run through more quickly.  Set to 2+ (use
                          sparingly!) for areas that cause players to move
                          sluggishly.
  6. Recall allowed  --   Toggles between "yes", "no", and "any".  Use "any"
                          to specify areas that anyone can recall from (even
                          Demons, cursed characters, etc).  Please note that
                          Implementors can recall from all areas, even if an
                          area is set to "no".

The Room Exit Area, loaded by option 8, is used to set secret exits, doors,
etc.  It is also used to change how rooms are connected (ie, if you made a 
mistake in Builder Mode, or perhaps if you want to create a one-way exit).
 - Specify the direction you wish to modify; any direction can be chosen, even if
   the room doesn't already have an exit in that direction.  
 - Then, select an option:
    * Use (d)estination to modify where this exit leads.  A return exit in the
      target room is NOT created automatically; you must do this by hand if
      desired.  You can remove an exit in a given direction by setting its
      destination to room 0.  This can be useful for fixing mistakes (ie, 
      accidentally linking a room) or for creating one-way exits.
    * Use (t)ype to modify the type of the room exit.  Options include:
      "wall" -- Removes a room exit (same as setting destination to 0)
      "exit" -- A standard room exit
      "invis exit" -- Not listed on room display (unless player has See Invis
          flag), but can be moved through at will.  Use sparingly.
      "locked gate" -- Must be unlocked with a key, NPC interation, etc.
      "locked door" -- As above, but player cannot use "look" command to
          view room before entering it.
      "closed secret" -- A secret exit, can be found via "search" command.
      "blocked exit" -- Room cannot be entered if any non-charmed monsters are
          in the current room.  Monsters must be killed first, or possibly 
          interacted with via Talk command.
      "closed keyword" -- Specifies a door that can only be opened through
          a script (Talk command, special room scripts, etc).
    
                          

===============================================================================

COMMAND:         ;addroom

Creates a new room.  The room will be given a title and area designation
based on default value settings (see ;title and ;area).  The room will start
with no room exits, but can be given room exits through the ;editroom command.

;addroom is NOT the recommended way of adding rooms, since Builder Mode is much
faster.  Please see the section on Advanced Area Design for more information
on when ;addroom should be used.



===============================================================================

COMMAND:         ;mark [#]
ABBREVIATION:    ;m [#]

Flags the current room as having a nonstandard text description in ROOM1.HLP.

Rooms normally display text descriptions from ROOM1.HLP based on the room name.
For example, a room titled Ancient Cave would display the entry under 
";ancient cave" in ROOM1.HLP.  (Please see the section on Advanced Area Design
for more information, as well as the section on HLP file formats).

However, you can mark specific rooms as being special landmark rooms that have
different room descriptions.  For example, if you typed ";mark 7", the entry in
ROOM1.HLP that would now be displayed for this room would be ";ancient cave7",
even though the room's title was still Ancient Cave.  All other rooms titled
Ancient Cave would still display the entry for ";ancient cave", unless ;mark was
used in those rooms as well.

Typing ";mark" without a parameter sets the description variation number to the
room number.  IE, if the room in the previous example was room number 1440,
typing ";mark" would change the description entry for this room to ";ancient
cave1440".

To change a room back to having its standard description, use ";mark 0".



===============================================================================

COMMAND:         look <any>
ABBREVIATION:    l <any>

The Look command functions the same in the World Editor as it does in DoorMUD,
with two minor improvements:

1. When you look at a player, you can see the player's full inventory, 
   including items that aren't equipped.  (Characters in DoorMUD with
   Implementor access are granted this ability as well)

2. When you look at a monster, you can see what items it is carrying.  This is
   useful for seeing what items a monster can drop upon death and/or use in
   NPC interaction scripts via the "talk" command.



===============================================================================

COMMAND:         ;additem
ABBREVIATION:    aitm

Creates a new item, prompting for its type (weapon, armor, scroll, key, or
potion) and its basic starting stats.  The Item Editor is then loaded
automatically for changing more advanced stats if desired.

The new item will appear on the ground in the current room.  If you would like
to change the item to be in a shop inventory, you must edit its Location stat
(option 6 in the Item Editor -- see next section).  If you would like to place
the item in a monster's inventory, use must use the Give command.



===============================================================================

COMMAND:         ;edititem <item>
ABBREVIATION:    eitm <item>
EXAMPLES:        eitm shortsword

Loads the editor for the selected item.  

The first screen of the Item Editor is for editing general stats that all items
share.  To proceed to the second screen, simply press enter at the menu prompt.
Some of the more complicated stats are explained here:
  2. Skill needed    --   Specifies what skill is needed to use this item, and
                          what amount of that skill is required.  Can also be
                          used to restrict an item to one particular class or
                          race.  For weapons, usually use Blunt Weapons or
                          Edged Weapons skills; skill level [1] is light 
                          weapons, [2] is one-handed weapons, and [3] is two-
                          handed weapons.  For armor, [1] is light armor, 
                          [2] is medium armor, and [3] is heavy armor.  See the
                          section on Player Skills for more information.
  3. Level           --   Minimum level required to use the item.  Select 0 to
                          make the item non-level-restricted (the default).
  6. Location        --   Specifies where the item currently is.  Change to
                          "in shop" to have the item be stocked in this room's
                          shop; "in room" to move the item into the room (ie,
                          to remove it from a shop or creature); or "none" to
                          delete the item entirely.  Note -- to play an item
                          in a player or monster's inventory, use the Give
                          command.
  7. Drop Chance     --   Percent chance that the item drops to the ground
                          when its owner dies.
  8. Quantity        --   This is only used for items in shops.
  9. Quest number    --   Can be used to indicate this item is related to a
                          certain quest (#1 through #30).  This causes the
                          item to only drop under certain conditions involving
                          the quest's availability.  Do NOT ever assign the
                          same Quest Number to different items.  For more info
                          on quest numbering, please see the Quests section.
 10. Edit item flags --   Described later in this section.


The second screen of the Item Editor varies by item type, described below.  To
exit the Item Editor, simply press Enter on the second screen.

Weapon Editor:
  1. Hit text        --   Displayed upon hitting and missing the target,
  2. Miss text            respectively.  Be sure to use Text Codes so that the
                          grammar in the message is accurate; please see the
                          section on Text Codes for more information.
  5. BS dmg bonus    --   When backstabbing with this weapon, this stat
                          adds extra damage to the attack.  Or, set to -999 to
                          indicate that this weapon cannot backstab.
  6. Full dmg level  --   Specifies what level this weapon achieves its maximum
                          damage (ie, the damage amounts specified in stats 3
                          and 4).  For each level below this stat, the weapon
                          inflicts less damage for the amount you set.  For
                          example, if you set a weapon to max at level 15 with
                          a -2/lvl penalty, a level 11 player using the weapon
                          would have a -8 damage penalty.
  7. Spell hit chnce --   If this weapon has an attached spell, this is the 
                          chance that the spell will be triggered upon each
                          successful (non-missing) attack.
  9. Modifies stat   --   Each weapon can give bonuses to up to 3 stats of the
                          wearer.  These bonuses are only applied if the weapon
                          is being wielded.  Please see the section on Creature
                          Stats for a list of an explanation of the stats.  

Armor Editor:
  1. Worn on         --   Enter text to specify what body part the item is worn
                          on.  You are free to put whatever you want in this
                          space, but typical selections include: torso, back,
                          arms, finger, feet, waist, neck, off-hand, etc.  
  2. Fills location  --   If set to "yes" (the default), the item "fills" the
                          location it is assigned to, preventing other items
                          from being worn on that location.  If set to "no" (use
                          sparingly!), other items may still be worn in the
                          same location.
  4. Spell Uses/day  --   If the item has an attached usage spell, this stat
                          indicates how many times it may be used per day.
  5. Add/edit spell  --   Each piece of armor may have up to one spell attached
                          to it.  Spells on armor are triggered via the "use"
                          command.

Scroll Editor:
  Each scroll may have up to four spells attached to them.  When a player uses
  the scroll, these spell(s) are added to their spellbook, if they are capable
  of casting them.

Key Editor:
  You must manually specify which door(s) the key opens.  Each key may open
  up to four doors.  If a door is locked on both sides, be sure to list both
  rooms (with proper directions) if you want the key to be able to open it on
  both sides.

Potion Editor:
  Each potion may cast up to two spells.  These spell(s) are normally triggered
  via the Use command.  Potions can also be set to work with the Eat and/or 
  Drink commands, if desired, although this isn't particularly necessary (since
  most players just use the Use command anyway)


Item Flag Editor:
This is option 10 on first Item Editor screen.  It allows a number of on/off
settings to be specified for an item:
  1. Anti-good       --   If yes, players with alignment greater than 10 cannot
                          use the item.
  2. Anti-evil       --   If yes, players with alignment less than -10 cannot
                          use the item.
  3. Anti-neutral    --   If yes, players with alignment between -20 and 20
                          cannot use the item.
  4. Exclusive       --   If yes, player must match required skill level
                          *exactly* to use the item.  For example, an item
                          with a skill requirement of Armor[2] that is flagged
                          as Exclusive can *only* be used by Armor[2] classes,
                          not Armor[3] classes.  Another example would be setting
                          an item will skill requirement Magic[0] to Exclusive,
                          to prevent the item from being used by spellcasters.
  5. Uncommon        --   If yes, and the item is stocked in a shop, it will
                          restock much more slowly than regular items.  Uncommon
                          items also have a higher resale value (25% of sale 
                          price, instead of 20% like normal items).
  6. Rare            --   Rare items on monsters will only drop about once per
                          day.  Rare items that are stocked in shops will not
                          ever restock.  Rare items also have a better resale
                          value (25% of sale price).
  7. Limited         --   Should be used for items in which there is a specific,
                          limited quantity in the game world.  Limited items that
                          are on players who are inactive for 14 days are
                          "reindexed", ie, returned to their original monsters. 
                          Limited items in shops also have a 5% daily chance of
                          being reindexed.  Limited items cannot be stashed.
                          Limited items also have an excellent resale value (33%
                          of sale price).
  8. Drop Can't Use  --   If yes, the item can drop from monsters even if none
                          of the players in the room can use the item.
  9. Very Common     --   Very Common items that are stocked in shops will
                          restock back to 50 quantity every day.  Very Common
                          items left on the ground will auto-poof at maintenance.
                          This flag is useful for keys, and newbie-shop items.
  
Setting certain flags may automatically set and/or unset other flags.  For
example, setting an item to Limited also automatically sets it to Rare, and
also automatically un-sets Uncommon and Very Common.                        
                        


===============================================================================

COMMAND:         ;duplitem <item>
ABBREVIATION:    ditm <item>
EXAMPLE:         ditm buckler shield

Makes an exact duplicate of the specified item.  The duplicate will appear on
the ground in the current room, regardless of where the original item was
located.

If you wish to edit the duplicated item, be sure to pick it up (get <item>)
and then move to another room.  Otherwise, using ;edititem <item> will target
the original copy of the item, not the duplicate.

This command can also be used in DoorMUD, by implementors only.



===============================================================================

COMMAND:         give <monster>
EXAMPLE:         give kingpriest

The Give command is used to place items onto monsters, so that items will drop
when the monster dies.  

The syntax for the Give command is different in the World Editor.  Unlike in
DoorMUD, you simply use give <monster>; do NOT specify an item.  The Editor's
Give command brings up a menu where you can select which item(s) to give to
the monster.

When giving an item to a monster, you can select the quantity of the item that
the monster should have.  Normally, just hit enter at this prompt to specify
a quantity of 9999 (the maximum quantity).  The only situation in which you
would want to enter a quantity other than 9999 is for Limited Items.


===============================================================================

COMMAND:         list

Like in DoorMUD, the List command is used to view what items are for sale
in a given shop.  Unlike in DoorMUD, though, the World Editor's List command
will display items that are currently at 0 quantity.  This allows you to see
what items the shop normally stocks, but is currently out of.

This enhancement to List is also available in DoorMUD to implementors. 


===============================================================================

COMMAND:         ;editspells
ABBREVIATION:    esp

Allows you to sequentially view/edit ALL spells currently in the game.  The
Spell Editor is loaded for the first spell in the game's spell database.
You can then use any of the standard spell editor options, as well as use 
special options to jump around in the spell database.  

PLEASE NOTE that the ;editspells command is NOT the usual method of spell
editing.  Using ;editspells can be confusing because it is hard to tell which
spells belong to which monsters and items.  It is much easier to edit the
spell(s) on a monster or item by editing that monster or item directly.

Explanations for the Spell Editor options:
  1. Spell name      --   The name of the spell, as displayed in a player's
                          spell book 
  2. Cast command    --   The command that players use to cast the spell.  Leave
                          blank for monster/item-based spells.
  3. Spell message   --   Displayed when the spell is successfully cast.  Be sure
                          to use Text Codes so that the grammar in the message is
                          accurate; please see the section on Text Codes for more
                          information.
  7. Resist Bonus    --   Bonus to the enemy's magic resistance (or AC, if spell
                          is flagged as non-magical).  Making this be a positive 
                          value makes the spell EASIER to resist, while a 
                          negative value makes the spell harder to resist.
  8. APs Restored    --   For player and monster spells, use:
                             0 for round-based attack
                             1 for in-between round spell
                             2 for unlimited-per-round spell
                             4 for unlimited-per-round, +1 swing
                             6 for unlimited-per-round, +2 swing (etc...)  
                          For item spells (armor and potion spells, via "use
                          <item>"), subtract 2 from the above values.
                          Please see the section on Action Points (APs) for a
                          more detailed explanation of this system.
  9. Cast chance     --   For monster spells, set this to the % chance that the
                          monster casts the spell.  For monsters with multiple
                          spells, dice rolls are separate for each spell.  Thus,
                          if a monster had a Fireball spell set to 50% and an
                          Ice Blast also set to 50%, the monster would
                          effectively have a 50% chance of casting Fireball, a
                          25% chance (.5*.5) of casting Ice Blast, and a 25%
                          chance of doing a standard (non-spell) attack.
 10. Enchantments    --   Determine effects of a spell that last for a number of
                          rounds.  Description of the Enchantment Editor is 
                          described below.
 11. Level           --   Minimum level required to cast the spell.
 12. Damage Type     --   Specifies the effect of the spell.  Damage spells 
                          subtract from target's HPs; Healing spells add to HPs;
                          Drain spells subtract from target and add to caster.
 13. Target type     --   Specifies how the spell targeting works.  Options:
                          Self: Spell targets caster by default, but can be
                             used on any other target if specified.
                          Enemy: Spell targets enemy by default, but can be
                             used on any other target if specified.
                          Caster: Spell can only target its caster.
                          All: Spell hits all non-friendly targets in room.
                          Hitparty: Spell hits all friendly targets in room.
                          In Room: Spell hits dead monsters in the room.  Used
                            only for resurrection-type spells.
 14. Skill needed    --   See description for "Skill Needed" in Item Editor.
 15. Full dmg level  --   See description for "Full dmg level" in Weapon Editor.
 16. Edit Flags      --   Toggles certain yes/no spell options:  
                          Anti-good/evil/neutral: See item flag editor
                          Exclusive: See item flag editor
                          Magical: If yes (the default for spells), the spell
                             hits automatically, but can be resisted.  If no
                             (the default for martial arts skills), the skill
                             works like a standard attack, rolling attacker's
                             accuracy versus enemy's armor class.
                          Auto-gain: If yes, spell is gained automatically when
                             a player Trains and is able to use the spell. 
                             Auto-gain spells can be created for classes and 
                             races via the Class and Race editors (see 
                             ;editconfig command).  Or, you can create an
                             inaccessable "autogain holder" spell scroll and
                             attach the spells to it; place the scroll in
                             an inaccessable room like room #1.
                          Non-combat only: If yes, the spell cannot be cast in
                             combat.  Should not ever be used for monster spells.
 17. Sample messages --   Shows examples of the spell's message from multiple
                          points of view.  Helps to determine if you have used
                          the correct Text Codes in your spell message, in order
                          to have correct grammar.


The enchantment editor has these options:
  1. Stat Screen Msg --   This text is displayed when a player uses the "status"
                          command.
  2. Termination Msg --   This text is displayed when the enchantment wears off.
  3. Look Message    --   When a player looks at a creature with this
                          enchantment, this text is displayed. Please note that
                          the creature's name is displayed *immediately before
                          this text, without a separating space*.  Thus, for the 
                          Look Message, you might use something like " looks 
                          ill!", or perhaps "'s skin is green!".
  4. Duration        --   Length of time, in rounds, that the enchantment lasts.
                          Enter 9999 for a "permanent" effect, like a Martial
                          Arts stance.
  5. Enchant Type    --   A creature may only have one enchantment of a given
                          Type Value at a time.  For example, say a player had
                          Bless (a type-3 enchantment) cast on them.  If a
                          monster then casts Curse (another type-3) on the
                          player, the Bless will be negated immediately.
                          Types 1 through 6 have predefined meanings; types 7+
                          are open for you to create if desired.
                          Select Type-0 or "none" for non-typed enchantments;
                          these enchantments do not ever negate each other.
  6. PvP Adjust      --   If Yes, and the spell is cast on a player *who has 
                          already taken their action this round*, the spell's
                          duration is increased by 1 round.  For most spells,
                          you can leave this at "No".  But for short-duration
                          spells/effects that can be used in Player-vs-Player
                          combat, set it to "Yes".  For example, all weapons
                          that have Stun effects have this set to "Yes"; this
                          way, if the weapon stuns a player who already took
                          their action this round, they will be stunned on the
                          *next* round.
                          For monster spells, instead of setting this to "Yes",
                          you can just increase the spell's duration by 1 round.
                          This works since monsters *always* attack after
                          players.
  7. Modifies stat   --   Each enchantment can give bonuses to up to 3 stats.  
                          These bonuses apply only while the enchantment is in
                          effect.  See the Creature Stats section for a list
                          and explanation of the stats.  

_____________________________________________________________________________________________________________________


IV. Scripting Language

DoorMUD uses a simple scripting language to control monster interactions (via 
the greet/talk command), quests, special room controls, and more.  

The text file SCRI1.SCR contains all of the source code for all of the game's
scripts.  WHENEVER YOU MODIFY THIS FILE, in order for your changes to take
effect, you must manually compile the script into the SCRI1.HBS binary file.
You can do this from the editor with the ";editconfig" or "ecnf" command,
selecting option 3 from the menu to re-compile the scripts.

NOTE -- When you first install the World Editor, the script file may be called
SCRI1.SC_ instead of SCRI1.SCR.  The game will automatically fix the file's
extension the first time you run the World Editor.

Scripts can be executed in two ways:
1. By the greet/talk command.  When a player greets a monster, the game checks
   for a script with the monster's name.  If such a script exists, it is run;
   otherwise, the greet/talk command has no effect.
2. By triggers in HLP files.  This allows you to run scripts from any room,
   item, or monster description.  This effect is most commonly used in
   ROOM1.HLP, to handle special room controls such as doors that are only open
   at certain levels.  Scripts of this sort can be given any name you want, but
   the script name must be surrounded in <angle brackets>.  HLP files are
   described in depth in section V.

The scripting language is extremely simple, and is much easier to learn than a
normal programming language.  The best way to learn it is by example, ie, by
looking at SCRI1.SCR.  

SCRIPT COMMANDS, sorted by purpose:
  ----------------------------------------------------------------
  -----SCRIPT FLOW------------OUTPUT---------------INPUT--------
   label               print               prompt             
   if                  translate           input              
   goto                announce                               
   stop                                                       
                                                              
  --MONSTER ACTIONS-------ITEM HANDLING--------QUEST HANDLING---
   banish              give                setquest           
   attack              chkitem             getquest           
   cast                getitem             chkcomp            
                                                              
  ------------------------MISCELLANEOUS-------------------------
   let         open        rand         //        ::end_file::  
  ----------------------------------------------------------------


The commands supported by the scripting language are explained here in detail.
In the following explanations, "the player" refers to the player who activated
the script (ie, the player who used the GREET command, or the player who viewed
an HLP description that ran a script).  "The monster" refers to the monster
being GREETed.

Some commands take parameters that can be values (usually any integer from
-30000 to 30000) and/or variables (certain stat names, explained at the end
of this section).

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

COMMAND:  //
EXAMPLE:  // This is a comment

This command is used to denote comments in the script files.  These lines
have no effect.


-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

COMMAND:  LABEL labelname
EXAMPLE:  label high imperial kingpriest
EXAMPLE:  label <brigand hideout1>

The LABEL command is used to indicate the starting point of a given script,
indicated by the parameter.  Each label must be unique.

For example, if a player GREETs the High Imperial Kingpriest, the game searches
the script file for a "label high imperial kingpriest" instruction, and then
begins executing the script at that point if found.  The script will run until
a "stop" instruction is found.


-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

COMMAND:  STOP

Terminates the current script.  If you don't add a STOP command to the end of
each script, it will "run into" the next script.  Therefore, be very careful to
use the STOP command whenever needed.


-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

COMMAND:  GOTO labelname
EXAMPLE:  goto mayor: give reward 

Jumps to another label.  Usually, you will only need to use the GOTO command
after an IF command.


-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

COMMAND:  PRINT text
EXAMPLE:  print You may pass!
EXAMPLE:  print 

Prints the given text, in the current text color.  The text is only displayed
on the screen of the player who triggered the script.  To display a blank line,
use "print" with no parameter.

The current text color can be changed with the LET command.


-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

COMMAND:  TRANSLATE text
EXAMPLE:  translate The mayor hands & a pair of golden bracers.

Prints the given text, in the current text color.  The text is displayed to
the player who triggered the script, as well as all other players in the same
room.  The TRANSLATE command supports use of text codes, so that the message
grammar is correct for all players in the room.  More information on Text Codes
is available in Section VII.A of this document.


-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

COMMAND:  ANNOUNCE text
EXAMPLE:  announce has completed the mayor's quest!

Adds a message to the daily log, in the current text color.  The announcement
consists of the player's name, followed by a space, and then the supplied text.
Text codes are not supported.


-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-


COMMAND:  LET variable operator value/variable
EXAMPLE:  let color = 14
EXAMPLE:  let room = temple
EXAMPLE:  let criminal + 30
EXAMPLE:  let gold - 20

Sets or adjusts the value of a game variable.  The = operator is used to set
a variable to a specific value.  The + operator is used to increase the value
of a variable, and the - operator is used to decrease the value of a variable.

For a list of variables usable in DoorMUD scripts, please see the end of this
section.


-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

COMMAND:  IF value/variable operator value/variable
EXAMPLE:  if return > 0
EXAMPLE:  if level < 5
EXAMPLE:  if temple = 1285
EXAMPLE:  if room ! 145

If the given expression is true, the line after the IF command is executed.  If
the expression is false, the line after the IF command is skipped.  

IF statements only apply to a *single* line, ie, the one following the IF
command.  For this reason, it is common to use a GOTO on the line after an IF.
IF commands cannot be nested.

Valid operators are < (less than), > (greater than), = (equals), and ! (does
not equal).


-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

COMMAND:  OPEN direction
EXAMPLE:  open north

Opens the door in the given direction.  Sets the "return" variable to 1 if
successful.  If the door is already open, or if there is no door in that
direction, "return" is set to 0.


-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

COMMAND:  PROMPT text
EXAMPLE:  prompt Pay him?  [y/n]: 

Displays the given text in the current text color, and then waits for the user
to type input.  If the user types "y" or "yes", the "return" variable is set to
1.  Otherwise, the "return" variable is set to 0.

Please note that after the user finishes his input, the values of "color" is
reset to 7 and the value of "integer" is reset to 0.


-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

COMMAND:  INPUT text|choice1~choice2
COMMAND:  INPUT text|choice1~choice2~choice3 ...
EXAMPLE:  input What is your destination?  |arcadia~ancalador~tolaria~desert~tundra
EXAMPLE:  input Which shall it be?  |fame~fortune

The INPUT command allows for complex player interaction.  Text is displayed to
the user in the current text color, and then the player is able to type input.
The value of "return" is set according to what the player types.

The parameter format of INPUT is somewhat complex.  The display text portion
consists of all text up until a | character.  Then, separate each possible text
choice with a ~ character. 

If the user's input matches choice1, "return" is set to 1.  This works 
similarly for choice2, choice3, etc.

If the user's input matches none of your choices, "return" is set to 0.

Your parameter MUST include a | character, ie, you must have at least one
choice.  Additional choices are up to you.

Keyboard notes: The | character is SHIFT with \, and the ~ character is
SHIFT with ` (top-left corner of keyboard).

Please note that after the user finishes his input, the values of "color" is
reset to 7 and the value of "integer" is reset to 0.


-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

COMMAND:  RAND value/variable - value/variable
EXAMPLE:  rand 1 - 5
EXAMPLE:  rand 1 - int

Sets "return" to a random number within the given range.  For example, 
"rand 1 - 3" will set return to 1, 2, or 3, at random.


-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

COMMAND:  BANISH length
EXAMPLE:  banish 75

Causes this monster (ie, the one being GREETed) to be removed from the game for
a given number of rounds.  The monster is treated as if it just died, in terms
of how its stats are reset and in terms of where it eventually respawns to.

Note: One round is 4 seconds.  The highest value allowed for the BANISH command
is 30000 rounds.  Higher values may cause the BANISH command to not work 
properly.

This command cannot be used in HLP-triggered scripts.


-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

COMMAND:  ATTACK

Causes the current monster to engage combat with the player who activated this
script.  

This command cannot be used in HLP-triggered scripts.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

COMMAND:  CAST spellname
EXAMPLE:  cast remove soul

Causes the current monster to cast the given spell.  The parameter must be a
spell that the monster has in its spellbook, and the monster must have enough
spellpoints to cast it.  

If the spell hits type ENEMY, the monster must currently be engaged in combat
for the spell to be cast; for this reason, it is sometimes useful to use the 
ATTACK command prior to the CAST command.

If the monster does not have a spell with the supplied spellname, "return" is
set to -1.  If the monster has the spell, but has insufficient SP to cast it,
"return" is set to 0.  Otherwise, "return" is set to 1.

This command cannot be used in HLP-triggered scripts.


-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

COMMAND:  GIVE itemname
EXAMPLE:  give golden bracers

Transfers an item from the monster's inventory to the player's inventory.  If
successful, "return" is set to 1.  If unsuccessful (ie, the monster did not
have the given item, or did not have any left), "return" is set to 0.

This command cannot be used in HLP-triggered scripts.


-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

COMMAND:  CHKITEM itemname
EXAMPLE:  chkitem sasquatch foot

Checks if the player has an item of the given name.  "Return" is set to a
number indicating the quantity of that item in the player's inventory.

For example, "return" is set to 0 if the player doesn't have the item, 1 if 
the player has 1 copy of the item, 2 if the player has 2 copies of the item, 
and so forth.


-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

COMMAND:  GETITEM itemname
EXAMPLE:  getitem mad dwarf crown

Removes the given item from the player's inventory.  If successful, "return"
is set to 1.  If unsuccessful (the player did not have that item), "return"
is set to 0.

GETITEM only removes 1 copy of the item from the player's inventory.  To
see how to remove *all* instances of an item from a player's inventory, use
a GOTO loop.  The following is an example, taken from the script that removes
all Illegal Narcotics from a player's inventory:

  label confiscate1
  getitem illegal narcotics
  if return > 0
  goto confiscate1

In other words, the script continues to try to "getitem ilelgal narcotics"
until the GETITEM is unsuccessful, ie, when the player doesn't have any left.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

COMMAND:  SETQUEST questnum = regenrate
EXAMPLE:  setquest 10 = 14
EXAMPLE:  setquest 5 = 0

Sets a given quest to be unavailable for a given number of days.  If the
questnum is 15 or less, the player is flagged as having completed the quest.

For example, "setquest 10 = 14" will make Quest #10 unavailable for 14 days,
and will flag the player has having completed Quest #10.

As another example, "setquest 5 = 0" will flag the player as having completed
Quest #5, but will keep Quest #5 available immediately for other players.  This
is useful for simple completion-flagging that does not involve an actual quest,
such as when the player greets the dying Elven Messenger.

Questnum can range from 1 to 30.  Please see the Quests portion of Section VII
for more information on quest numbering.


-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

COMMAND:  GETQUEST questnum
EXAMPLE:  getquest 4

Sets "return" to the availability of the given quest.  

The value of "return" is set as follows:
  0   means the quest is available, and the quest item has not dropped yet.

 -1   means the quest IS available.  The quest item dropped today, but has not
      been traded in yet.
 -2   as above, but the item dropped yesterday.
 -3   as above, but the item dropped 2 days ago.
      ... etc for -4 and -5.  

  1   means the quest is NOT available, and will respawn in 1 day.
  2   as above, but respawn in 2 days.
  3   as above, but respawn in 3 days.
      ... etc for higher numbers.

Usually, GETQUEST is only used to check if a quest is NOT available.  In other
words, it is typical to check "if return > 0" following a GETQUEST.


-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

COMMAND:  CHKCOMP questnum
EXAMPLE:  chkcomp 4

Sets "return" to 1 if the player has already completed the given quest, or
0 if the player has not.

CHKCOMP is used to prevent players from re-doing certain quests.


-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

COMMAND:  :::END_FILE:::

The last line of SCRI1.SCR must be :::END_FILE:::.  
Be sure that :::END_FILE::: is only on the last line of the file; if you place
script commands after it, they will be ignored.


-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-


Script variables
----------------
The following is a list of all variables usable in DoorMUD scripts, for use 
with the LET and IF commands.  

Key:
 = indicates the variable can be set to a given value with the "let ... = ..."
   syntax. 
 + indicates that the variable can be adjuged with the "let ... + ..." or 
   "let ... - ..." syntax.
 
 If no symbol is present, the variable's value cannot be changed with the LET 
 command.  In this case, the variable should only be used with the IF command.


 =  color     -- Color of text printed by the PRINT and TRANSLATE commands.
                 Has a value of 7 (white) by default.  Dark colors: 1=blue,
                 2=green, 3=cyan, 4=red, 5=magenta, 6=brown, 8=gray.  Bright
                 colors: 9=blue, 10=green, 11=cyan, 12=red, 13=magenta,
                 14=yellow, 15=brght white.
 =+ integer   -- Variable freely available for you to use for any purpose. 
                 Equals 0 by default, until you set it to a different value.
    return    -- Set by GETQUEST, OPEN, CHKITEM, GETITEM, GIVE, CAST, PROMPT,
                 INPUT, RAND, and CHKCOMP commands.  Used to indicate the
                 return value of these commands.
  + gold      -- Player's gold
 =  room      -- Player's current room.
 =  temple    -- Player's temple room (where they appear when RECALLing)
 =+ criminal  -- Player's Criminal timer, in rounds.
 =+ hp        -- Player's current hit points.  If reduced below 1, reset to 1;
                 modifying "hp" cannot be used to directly kill a player.
 =+ sp        -- Player's current spell points.
 =+ mf        -- Player's monster fights remaining.
  + align     -- Player's alignment.
    level     -- Player's level.
    sk0       -- Player's class.  0=Champion, 1=Warrior, 2=Shaman, 3=Cleric,
                 4=Paladin, 5=Mage, 6=Warlock, 7=Thief, 8=Ninja, 9=Bard,
                 10=Monk, 11=Gladiator, 12=Druid.
    sk1       -- Player's race.  0=Immortal, 1=Human, 2=Dwarf, 3=Troll,
                 4=Gnoll, 5=Elf, 6=Gnome, 7=LizardMan, 8=DarkElf, 9=Halfling,
                 10=Goblin, 11=Demon.
    sk#       -- Player's ability in a given skill.  sk2 is Magic, 
                 sk3 is Thievery, sk4 Backstab, sk5 Armor, sk6 Edged Weap, 
                 sk7 Blunt Weap, sk8 Wiz Spells, sk9 Pri Spells, 
                 sk10 Mys Spells, sk12 Martial Arts.
    hard      -- Equals 1 if Hard Mode is enabled (DoorMUD Professional only).  
                 Otherwise, equals 0.
    deathcost -- The number of Monster Fights the player would lose if he died.
                 Useful in "let mf + deathcost" to restore the lost MFs after a
                 script-caused instant death.
    looking   -- Equals 1 if the player is only LOOKing into the current room; 
                 otherwise, equals 0.  Useful for ROOM1.HLP-triggered scripts 
                 that should only be run if the player has actually entered the
                 room.
   

_____________________________________________________________________________________________________________________


V. HLP Files

The HLP file format is a simple text markup language used for descriptions of
rooms, monsters, and items.  It is also used for help files and a few other
game messages.

The game uses 5 HLP files that you can edit or add to:
ROOM1.HLP     -- Room descriptions
CREA1.HLP     -- Monster descriptions (look <monster>)
ITEM1.HLP     -- Item descriptions (look <item>)
GAME.HLP      -- Help files (help <topic>)
MISC.HLP      -- Various game text

There are 2 additional HLP files that usually don't need to be edited:
RELNOTES.HLP  -- DoorMUD's release notes.  Leave this as is, or add to the top
                 of it to perhaps list some major edits you've made.
DAILYLOG.HLP  -- DoorMUD's daily log.  If the log is getting large and loads
                 slowly, you can remove older entries.

The easiest way to learn the HLP file format is by example; open up ROOM1.HLP
in a text editor, and note the layout.

The first character of a line in a HLP file can be a special control character.
These characters have special effects:
   ;   Semicolon      -- Indicates the beginning of a text entry.
   -   Hyphen         -- Indicates the end of a text entry.  Can be used to end
                         a specific text entry, or all text entries.
   $   Dollar Sign    -- Used to change the text color.  The default color is
                         white (color 7, ie, $7).  Color numbers are the same as
                         in scripts, ie, $1 is dark blue, $2 is dark green, and 
                         so forth.
   :   Colon          -- Indicates the end of the HLP file.  Should be on the
                         very last line of the file.
   <   Angle Brackets -- Used to trigger a script.  Must be at the end of a
                         text entry.
   ]   Bracket        -- Causes a newline NOT to be printed after this line.

Control characters MUST be the first character on a line in order to be
recognized.  Any line that does not begin with a control character is
considered to be standard text, printed in the current text color.
Standard text lines in HLP files should not exceed 80 characters.

The following examples demonstrate how the HLP control characters can be used.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

A simple example from ROOM1.HLP:
  ;tolaria, dirt road
  This narrow dirt road is the main street in the small town of Tolaria.
  -

When a player enters a room titled "Tolaria, Dirt Road", the game searches
ROOM1.HLP for a line ";tolaria, dirt road" and then displays text until a line
beginning with a - character is encountered.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Another example from ROOM1.HLP:
  ;Tolaria, temple
  This majestic building is the sole place of worship for the citizens of the 
  town of Tolaria.  Adventurers come here for healing and rest.
  <tolaria, temple>
  -

The line <tolaria, temple> here causes a script to be executed after the room 
description is displayed.  Script execution begins on a line in SCRI1 that 
says "label <tolaria, temple>".  Note that if an HLP entry calls script(s), they
must be at the end of the HLP entry.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

From ROOM1.HLP:
  ;forest path, bridge
  ;forest, wooden bridge
  This less-than-sturdy bridge provides passage over a swiftly-flowing creek.
  -

This sort of synax is used to give rooms with titles "Forest Path, Bridge" and
"Forest, Wooden Bridge" the same description.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

From ROOM1.HLP:
  ;forest, dirt road4
  The path forks here.  The road to the southwest seems to have been recently
  constructed, and you can see smoke in the sky off in that direction -- a good
  indication of some sort of encampment.
  -

This description will be displayed for a room titled "Forest, Dirt Road" with a
description variation of 4.  Description variations for rooms can be set with
either ;mark or with ;editroom.  

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

From ITEM1.HLP:
  ;scroll of return
  This magical scroll is the only means of escape from the demonic realm.
  -

When a player LOOKs at an item named Scroll of Return, ITEM1.HLP is searched
for a line ";scroll of return" and then displays text until a line beginning 
with a - character is reached.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

From ITEM1.HLP:
  ;mirror of teleportation
  As you stare into this gigantic mirror, a disembodied voice booms:
  <mirror of teleportation>
  -

Scripts can be inserted into item or monster descriptions in the same way that
they are inserted in room descriptions.  Please note that in all cases, the
name of the script is completely up to you, it does NOT have to be the same
name as the HLP entry.  However, keeping it the same as the HLP entry helps
for organizational reasons.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

From CREA1.HLP:
  ;grim reaper
  $8
  This is a mortal servant of the Angel of Death.  Run, fool, it wants your
  soul!
  -

When a player LOOKs at a grim reaper monster, CREA1.HLP is searched for a line
";grim reaper".  Text is then displayed until a - character is reached.  Note
that the $8 in this case changes the text color to gray for this specific text
entry.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

From CREA1.HLP:
  ;medusa
  $12
  ]Are you mad?  
  $7
  Looking directly at a medusa will turn you to stone permanently!
  -

This synax looks odd, but is really rather simple.  "Are you mad?" is printed
in bright red; then, on the SAME LINE, "Looking directly ..." is printed in
white.  The ] control character is thus useful to use different colors on the
same line.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

From GAME.HLP:
  ;mres
  ;mr
  ;magic resistance
  Magic Resistance is your character's percent chance of resisting a harmful
  spell cast upon you.
  -

If the player types "help mres", "help mr", or "help magic resistance", 
GAME.HLP is searched for the entry and text is displayed as usual.  Help topics
can also be abbreviated, so "help magic res" would work, for example.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

From GAME.HLP:
  ;encumbrance
  ;weight
  ;heavy
  Your strength determines your maximum encumbrance.  If the total weight you
  are carrying equals or exceeds HALF of your max encumbrance, you will become
  heavy.  Heavy characters cannot run quickly, have a reduced chance of being
  able to outrun a monster, have a reduced armor class, and suffer a major 
  penalty to stealth.
  -heavy

  ;medium
  ;medium encumbrance
  As you start to approach "heavy" encumbrance, you will be given a warning
  message every time you pick up or purchase a new item, and your weight will
  be displayed as "medium" in your inventory.  However, the only harmful affect
  of "medium" encumbrance is a slight penalty to Stealth for characters that
  can backstab.
  -

The line "-heavy" is an example of using the - control character to end 
specific help entries.  This is typically only used for nested help entries in 
GAME.HLP, although it can be used in other HLP files as well if you wish.

Basically, if the user types "help encumbrance" or "help weight", both of the
above paragraphs will be displayed.  If the user types "help medium", only the
bottom paragraph is displayed.  If the user types "help heavy", only the top 
paragraph is displyed; the line "-heavy" terminates the HLP entry for ";heavy"
but NOT for ";weight" or ";encumbrance".  

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-


About MISC.HLP:

The MISC.HLP files contains various configurable game text.  Most of this text
is used by DoorMUD, while some of it is used by the World Editor.  Most of the
entries should NOT be edited, but a few can be, as follows:

 ;xsdk globals    -- If you are using the Synchronet version of DoorMUD, and
                     have added new control-key globals to Synchronet, feel
                     free to list them here.
 ;quest vals      -- As you use new Quest Numbers to create your own quests,
                     list them here.
 ;enchant negate  -- As you use new Enchantment Type numbers for your new
                     enchantments, list them here.

Area maps:  When a user types "map" in an area, MISC.HLP is searched for
the area's name.  If an entry is found, it is displayed.  Maps for Tolaria,
Ancalador, Arcadia, Hades, and The Forest are currently found in MISC.HLP.
Thus, in DoorMUD, normally the "map" command only works in a few areas.  But
you are free to add maps of the other game areas if desired.

Level messages:  When a user gains a level, MISC.HLP is searched for a ;levelX
entry for the players level.  For example, when a player trains to level 10,
the entry ;level10 in MISC.HLP is displayed, if such an entry exists.

General entrance message:  If you create an entry called ";entrance", it will
be displayed to players when they enter the game.  This can be useful for sysop
announcements.  By default, no ;entrance entry exists, but you can easily add
one.

Level entrance messages:  You can create entrance messages for characters of
specific levels.  For example, if a level 4 player enters the game, an entry
called ;entrance4 in MISC.HLP will be displayed if it exists.


_____________________________________________________________________________________________________________________


VI. Advanced Area Design

This section explains how to add new areas to the game world.  Adding new areas
to DoorMUD is fairly easy step-by-step process.

The key to adding new areas with the World Editor is Builder Mode, toggled by
the ;build command.  With Builder Mode enabled, you can quickly create new
rooms by moving into walls.  When a new room is created, a return exit to the
previous room is automatically added.  The new room is given whatever default
room title has been specified by the ;title command, and is assigned to 
whatever default area was specified with the ;area command.

The recommended steps for creating a completely new area are as follows.


-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[ STEP 1: PLANNING ]

First, it is highly recommended that you fully plan out the area on paper.  
Make a map of the area's layout.  Figure out stats for all of the monsters
you wish to create, and then figure out stats on any items that the monsters
drop.  Several Word-format (.doc) files have been included with the World 
Editor for use as worksheets:

BLANKMAP.DOC:  You can use this as a grid for drawing a map of your area.  Fill
               in a bubble to represent a room, and draw lines between the
               filled-in bubbles to represent room exits.  Each sheet should be 
               able to hold several areas.  Alternatively, use graph paper.

MONSTERS.DOC:  Use to write down monster stats.  Each page has space for 2
               areas.  For each area, use the top slots for standard monsters
               and the bottom slots for boss monsters.  The min/max fields are 
               for attack damage.  The "other" field is useful for writing 
               down spell info or other special monster stats.

SHOPS.DOC:     Useful for creating new towns.  Each page has space for 3 shops.

MAGICITM.DOC:  Useful for keeping track of all items that you create that are
               dropped by monsters.  The "type" field is used to write weapon,
               armor, potion, scroll, or key.  The "drop" field is used to
               write the drop % chance.


When determining stats on monsters, spells, and items, it may be useful to look
at existing examples that are already in the game.  For example, if you are
creating an area designed for levels 12-14, look at the existing monsters in 
the Great Pyramid as a guide for stats.  Also, be very careful when creating
magic items; if you make them too powerful, or only make them for certain
classes, the game will become very unbalanced.


-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[ STEP 2: ROOM CREATION ]

Now, you can create the actual rooms for the area.  Determine where you want
the area to go (ie, what existing room your new area branches off of).  From
that room, type the following commands once:

";a new"  -- Allows you to create the new area info, for use in the "where"
             command and other places.  Your new area will become the default
             area for new rooms.

";t ..."  -- Set the default room title to whatever title you want to use for
             the first room of the area.  (Don't actually type ..., use text
             there instead)

";b"      -- Toggles builder mode to on.  (;build)

";g"      -- Creates a new overlap-checking grid.  (;grid)


Now, move in the direction of where you wish to create the first room of your
area.  As you move through the wall, a new room is created.

Continue to move into walls, creating new rooms in whatever layout you made on
your map.  If NumLock is on, use the numeric keypad instead of the movement
keys for faster building.  Whenever needed, use the ";title" command to change
the default room title.

Builder mode automatically tracks the relative coordinates of each room you 
enter into a grid.  This prevents rooms from ever "overlapping", and allows 
loops/intersections in areas to connect properly.  Only rooms that you have
entered this editing session are tracked; the grid is reset when you exit
the editor or intentionally use the ;grid command.  Be careful using the
implementor recall command to teleport while in builder mode, since the editor
will "lose your place" on the overlap grid until you re-enter a previously
known room.

As you lay out the area, you may wish to add room descriptions as you go.  For
this reason, it may be useful to have ROOM1.HLP open in a text editor in 
another window.  

To create special/landmark rooms that have a different room description, use
the ;mark command as needed.

If this section made little or no sense to you, please read the Quick-Start
guide to learn by example.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[ STEP 3: MONSTER CREATION AND PLACEMENT ]

Placing monster regeneration spots is one of the more time-consuming steps in
area design.  Each copy of each monster must be assigned to a specific room.

It is perhaps easiest to figure out monster placement using paper-and-pencil
first.  Get a blank piece of paper, or use the extra blank space available on
a printed copy MONSTERS.DOC.  Write out the name of each monster in your area,
and leave some space after each name to write down room numbers.

Next, walk through your area and determine which rooms you wish to be monster
regeneration spots.  Write down these room numbers on paper, deciding which
rooms will hold which monsters.  Take care to scatter the different monsters
throughout the area, so that monsters of one type aren't "bunched up" in one 
place.

An example (for the Dungeon of the Damned) might look like this, on paper:
   Twisted One  1616, 1679, 1675, 1674, 1681, 1683, 1698
   Sh. Priest   1677, 1680, 1676, 1682, 1701, 1697, 1630
   Guardian     1616, 1625, 1651, 1686, 1690, 1633, 1653
   Der. Wizard  1678, 1673, 1682, 1692, 1698, 1697
   Beholder     1696, 1698, 1637, 1656, 1662, 1688
   Shadow Lord  1693
   Angel of Dth 1699

Finally, it is time to create the actual monsters.  Using the Implementor
Recall (; <#>), teleport to the first regeneration room of your first monster.
Use the ;addcreature command (abbreviation: acr) to add the monster to the 
game, setting its stats appropriately.  Then, make additional copies of the 
monster using the ;duplicate command (abbreviation: dcr), sending each copy to 
the correct regeneration spot.

An example of how the Beholder monster was created and assigned to the correct
regeneration rooms:

  Divine Shop  [#1]  (Safe if under L999) (Shop)
  This store sells divine items.
  Players in this room are not listed on the RANK list.
  Obvious exits: south.
  [ Editor ]: ; 1696

  Shrine of the Unholy Savior  [#1696]
  Obvious exits: east, west.
  [ Editor ]: acr
  Enter name: beholder
  Enter exp:    

  ...text omitted...

  Modify which?  [1-10]:
  [ Editor ] [100%]:

  Shrine of the Unholy Savior  [#1696]
  You see Beholder here.
  Obvious exits: east, west.
  [ Editor ] [100%]: dcr beh
  Make how many duplicates? [0-6]:5
  Send duplicate #1 to what room? 1698
  Monster duplicated.
  Send duplicate #2 to what room? 1637
  Monster duplicated.
  Send duplicate #3 to what room? 1656
  Monster duplicated.
  Send duplicate #4 to what room? 1662
  Monster duplicated.
  Send duplicate #5 to what room? 1688
  Monster duplicated.
  [ Editor ] [100%]:

As you can see, the first monster was created in room 1696, and then duplicates
were assigned to rooms 1698, 1637, 1656, 1662, and 1688, as previously planned
on paper.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[ STEP 4: FINISHING TOUCHES ]

The last stage is to add any other optional elements to you area that you wish.
If you want your boss monsters to drop items, create the items and then place
them on the correct monster using the GIVE command.  Unless the item is a
limited item, set the quantity to 9999.

Create any scripts that are needed for the area, for either HLP-triggered 
scripts and/or for TALK-triggered scripts.  Remember, after editing the script
file (SCRI1.SCR), you MUST re-compile the file via ;editconfig option 3, in
order for your changes to take effect.

Create HLP descriptions for monsters and items as you see fit.

Lastly, be sure to test every aspect of your area, and take special care to
note any problems in game balance.


_____________________________________________________________________________________________________________________


VII. Additional Information


A. Text codes

Text codes are special control characters used in spell messages, weapon attack
messages, and scripts (in the TRANSLATE command) to allow multinode messages to
display properly for all players in the room.  

Some text codes control how certain text is selectively displayed.  These codes
work by surrounding text in parentheses, brackets, angle brackets, braces, etc.
These codes are as follows:

  Braces:          {Text displayed only if viewer is caster}
  Parentheses:     (Text displayed only if viewer is NOT caster)
  Angle Brackets:  <Text displayed only if viewer is target>
  Brackets:        [Text displayed only if viewer is NOT target]
  Equal signs:     =Text displayed only if caster is not target=

"viewer" refers to the player viewing the message.  "Caster" refers to the 
player casting a spell or making an attack.  "Target" refers to the player
being hit by the spell or attack.

Of these, the Parentheses code is used most frequently, since it should ALWAYS
be used in weapon attack messages.  An example of a common weapon attack
message is "slash(es)".  If a player named Bob is attacking a player named Thor,
the message will correctly display on Bob's screen as:
  You slash Thor for 7 damage!
While Thor will see:
  Bob slashes you for 7 damage!
Note how the "es" is not displayed on Bob's screen, since Bob is the caster.


Other text codes are used to stand in for certain things:
  & is used for Caster's Name
  + is used for Target's Name
  @ is used for Amount of Damage

For example, & will display either the caster's name, or "you", depending on
which player is viewing the message.


Text codes can be very confusing to new users of the World Editor.  With time,
though, you will get used to them.  The best way to learn them is by example --
look at other weapon messages and spell messages in the game for examples.

Some examples from spell messages:
  & cast(s) holy force on + for @ damage!
  &{r}('s) fireball burns + for @ damage!
  & cast(s) holy armor( on +).
  & cast(s) inferno, burning +<r>['s] flesh for @ damage!
  & cast(s) cure wounds{, restoring @ hit points}( on +).
  
Some examples from weapon hit and miss messages:
  Swords often use: Hit text "slash(es)", miss text "swing(s)"
  A fancy magical sword might use "slice(s) and dice(s)" for the hit text.


-------------------------------------------------------------------------------

B. Action Points (APs)

The Action Point (AP) system is used to control how many swings a creature gets
per round.  Normally, players and monsters receive 2 APs per round.  Some
monsters receive bonus APs (as set in the monster editor), and some spells
allow players to get more than 2 APs per round.  Also, when players use low-
level weapons at high levels, bonus APs are sometimes awarded.

When it is a given creature's turn in combat, the creature will continue to
make attacks until at 0 (or less) APs.  Each swing uses up 2 APs.  Casting a
spell also used up 2 APs, although some spells use up less (as set in the spell
editor).

For example, say a player named Thor is making an attack with his weapon.
When the round starts, he has 2 APs.  He makes a swing, reducing his APs to 0.
He makes no more swings, since he is out of APs.

As another example:  A player named Merlin started the round with 2 APs (as
usual), but before his turn to attack, he cast a Cure Wounds spell.  This would
normally reduce him to 0 SPs, but Cure Wounds is set to restore 1 AP.  So it is
now Merlin's turn to attack, and he has 1 AP left.  Since he still has APs
left, he makes a swing.  He is now at -1 APs, and makes no more swings.

Fully understanding the Action Point system is not really necessary for game
design.  The only times in which you will need to worry about Action Points
are the following:

- Monster Bonus APs:  These can be set through the second page of the Monster
  Editor.  For every 2 Bonus APs a monster gets, it receives 1 extra swing
  in combat.  This is all you really need to remember here.

- Spells cast by Players and Monsters:  A spell cast by a player or monster
  uses up 2 APs, which usually means it uses up the creature's entire turn
  in combat.  However, you can use the "APs Restored" option in the Spell
  Editor to "give back" some APs after the spell is cast.  As a guide, use
  these values:
    0 for a round-based spell (the spell gives back no APs, and thus counts
      as the creature's attack for the round)
    1 for an in-between round spell (the spell gives back 1 AP, so after
      casting it, the caster still has an AP left and thus receives a swing
      in combat)
    2 for an unlimited-per-round spell (the spell gives back the 2 APs it used
      up.  Thus, it can be used an unlimited number of times per round, and
      will never count as the creature's attack for the round)
    4 for unlimited-per-round, +1 swing (not only can the spell be used an
      unlimited number of times per round, but also, the caster receives an
      EXTRA swing on their round since they now have 2 extra APs).
    6 for unlimited-per-round, +2 swing (etc for 8, 10, 12...)  

- Spells cast by items (by USE-ing a potion or armor):  These spells do not
  normally use any APs when cast.  So, for the "APs Restored" option, you
  should set it to 2 points lower than for other spells.  In other words:
   -2 for a round-based spell (so that the spell uses up 2 APs)
   -1 for an in-between round spell (the spell will use up 1 AP, leaving 1
      AP left for a combat swing)
    0 for an unlimited-use spell 
    2 for unlimited used, +1 swing (etc...)

-------------------------------------------------------------------------------

C. Skill System

There are 10 skills in DoorMUD:  Armor, Edged Weapons, Blunt Weapons, Magic, 
Thievery, Backstab, Mage Spells, Cleric Spells, Mystical Spells, and Martial
Arts.  The skills are important for you to understand, since they are used in
restricting certain items and spells to particular classes.

Each class in DoorMUD is given a rating from 0 to 3 in each skill.  The table
below lists each class's skill abilities.  If a skill isn't listed for a given
class, the class has a 0 in that skill.

Warrior:   Armor-3, Edged-3, Blunt-3
Shaman:    Armor-2, Edged-2, Blunt-2, Magic-2, Mystical-2
Cleric:    Armor-1, Blunt-2, Magic-3, Cleric-3
Paladin:   Armor-3, Edged-2, Blunt-2, Magic-1, Cleric-1
Mage:      Armor-1, Edged-1, Blunt-1, Magic-3, Mage-3
Warlock:   Armor-3, Edged-2, Blunt-2, Magic-1, Mage-1
Thief:     Armor-2, Edged-2, Blunt-2, Thievery-3, Backstab-3
Ninja:     Armor-1, Edged-3, Blunt-3, Backstab-1
Bard:      Armor-2, Edged-2, Blunt-2, Thievery-2, Backstab-2, Magic-1, Mystical-1
Monk:      Armor-1, Edged-1, Blunt-1, MartialArts-3
Gladiator: Armor-2, Edged-3, Blunt-3, MartialArts-1
Druid:     Armor-1, Edged-1, Blunt-1, Magic-3, Mage-1, Cleric-1

The special Champion class (available only through editing) has 3's in every 
skill.


The effects of the skills are explained here:

ARMOR:  Armor-1 is light armor only (robes, padded armor, etc).  Armor-2 is
  medium-weight armor, up to and including Chain Mail.  Armor-3 is heavy armor.

EDGED WEAPONS:  Edged-1 is light edged weapons only (daggers, sickles).  
  Edged-2 is one-handed edged weapons (mostly swords).  Edged-3 is two-handed
  edged weapons.

BLUNT WEAPONS:  Blunt-1 is light blunt weapons only (slings, staffs).  Blunt-2
  is one-handed blunt weapons (maces, hammers).  Blunt-3 is two-handed blunt
  weapons.

THIEVERY:  Higher skill ability in Thievery increases chance of success with
  the Rob command.  

BACKSTAB:  Ability to sneak and backstab.  Higher skill ability indicates
  better success chance with sneaking and better backstab damage.

MAGIC:  General skill that contributes to how many Spell Points a class gets
  and how fast they regenerate.  Does not usually determine which spells a
  class gets, but is nonetheless useful for restricting certain items.  For
  example, restrict an item to Magic-1 to allow it to only be used by 
  spellcasters.  A restriction of Magic-3 can be used to permit only Mages,
  Clerics, and Druids to use an item.  A restriction of Magic-0 Exclusive
  can be used to permit only non-spellcasters to use an item.

MAGE SPELLS:  Some spells are flagged as Mage-1 (usable by Mages and
  Warlocks), while others are flagged as Mage-2 or 3 (usable only by Mages).

CLERIC SPELLS:  Some spells are flagged as Cleric-1 (usable by Clerics and
  Paladins), while others are flagged as Cleric-2 or 3 (usable only by
  Clerics).

MYSTICAL SPELLS:  Some spells are flagged as Mystical-1 (usable by Shamans and
  Bards), while others are flagged as Mystical-2 (usable only by Shamans).  No
  items should ever be flagged at Mystical-3, since no class has that skill.

MARTIAL ARTS:  Some skills are flagged as MartialArts-1 (usable by Monks and
  Gladiators), while others are flagged as MartialArts-2 or 3 (usable only
  by Monks).

-------------------------------------------------------------------------------

D. Shops

Creating new shops in DoorMUD is simple.  In the Room Editor, set the Room Type
to shop first, and then stock the shop with items, repeating the following
process for each new item the shop should stock:

1. Create the item, setting its stats as necessary.
2. In the Item Editor, set the item's location to "in shop".  This causes the
   item to considered to be "stocked" in the shop, meaning that the shop will
   regen new quantities of the item over time, and will always buy back these
   items from players.
3. Set the item's quantity to whatever value you wish its starting quantity
   to be.

At maintenance each day, the quantities of stocked items in each shop may
increase, depending on the item's flags.  Standard items only regen when their
quantity is running low.  Very Common items will regen to 50 quantity each day.
Uncommon items regen very slowly, based somewhat on randomness.  Rare, Limited,
and Quest items do not ever regen in shops.

Depending on what the shop's Purchase Type is set to (in the room editor), 
shops may purchase non-stocked items from players.  These items usually vanish
at maintenance, unless they are rare or limited.

-------------------------------------------------------------------------------

E. Quests

DoorMUD supports a number of different ways of handling quests.  Quests are
usually one of the more confusing aspects of the World Editor, since they
often heavily rely on scripts to work properly.  The different types of quests
are reviewed here, and other quest information is also explained.

First, some basic quest terminology:
  NPC        -- A "non-player character", that is, a friendly monster that is
                GREETed to learn about the quest.
  Quest Item -- An item that must be obtained to complete a quest.  Some
                existing examples include the Sasquatch Foot, Mad Dwarf Crown,
                etc. Quest items only drop under certain conditions, described
                later in this section.
  Timing     -- Some quests are "timed", meaning that the quest takes a few
                days to regenerate after it is completed.  Until the quest
                regenerates, it will be unavailable to ALL players.  The timing
                for a quest is controlled by a script.
  Tracking   -- Some quests are "tracked", meaning that a given player can only
                complete the quest once.  The tracking for a quest is
                controlled by a script.

DoorMUD allows for up to 30 "numbered" quests that can be controlled with 
scripts.  Of these, the first 15 are "tracked" quests; the CHKCOMP script
command can be used to determine if a player has already completed these
quests.

Quests #1 through #10 are predefined tracked quests, already used in the game 
as follows:
  #1 -- Ancalador Mayor's quest 
  #2 -- Kind of the Elves quest
  #3 -- Dwarven Emperor's quest
  #4 -- Gnome Nobleman's quest
  #5 -- Flag for greeting the Elven Messenger / finding Elder Havenwood
  #6 -- Captain of the Guard's quest (for good-aligned players)
  #7 -- Dark Priest's quest (for evil-aligned players)
  #8 -- Flag for Captain of the Guard's permission to enter Slums/Island
  #9 -- Flag for Ancient Master's permission to enter Dunes/Tundra
 #10 -- Final quest (Champion of Order / Warmaster of Chaos)

Quests #11 through #30 are open for you to create and use.  Of these, #11
through #15 are tracked quests, while #16 through #30 are not tracked.

-=-=-

Quest items:
Any item can be set as a Quest Item through the "Quest Number" option on the
Item Editor.  Quest Items are given special properties regarding how/when they
drop from monsters.  Quest items will NOT ever drop if the quest is currently
unavailable.  Quest items will also NOT drop if another player currently has
the quest item.  For Quests #1 through #15, the Quest Item also won't drop for
players who have already completed the quest.  If a Quest Item is obtained by
a player, but is not turned in for a reward within 5 days, it is automatically
reindexed.

For example, the Zombie Master's Head is given a Quest Number of 1, since it is
the quest item for the Mayor's quest.  The Zombie Master's Head will never drop
if Quest #1 is unavailable, and it will never drop for a player who has already
completed Quest #1.  If there's already a Zombie Master's Head in the game
somewhere, a second one will not drop.  If a player obtains a Zombie Master's
Head, he must turn it in for a reward within 5 days, or it will be reindexed.

-=-=-
 
Most quests in DoorMUD involve obtaining a Quest Item and giving it to an NPC
for a reward.  These quests are usually timed and tracked.  Quests #1, 2, 3, 4,
6, 7, and 10 are this sort of quest.  Quests of this sort usually operate as 
follows:
  1. The player must greet the NPC, triggering a script which does most of
     the quest handling.  
  2. If the quest has not regenerated yet, the script aborts.  This is checked
     with the GETQUEST script command.
  3. If the player has already completed this quest, the script abords.  This
     is checked with the CHKCOMP script command.
  4. The script checks to see if the player has obtained the required quest 
     item.  This is done with the CHKITEM script command.
  5. If the player does NOT have the quest item, the NPC describes the quest
     and the script aborts.  
  6. If the player DOES have the quest item, the NPC takes it; use the GETITEM
     script command for this purpose.  The player is given a reward, usually
     via the GIVE script command.  The quest is then set to be unavailable for
     a certain number of days.  This is done with the SETQUEST command, which
     also flags the player as having completed the quest.  The script then 
     aborts.

-=-=-

Some quests in DoorMUD are simply tasks that a player must complete.  These
tasks are tracked, but are not timed (ie, they're always available to other
players -- there's no delay period for the quest to regenerate).  These quests
might involve obtaining certain items, but if so, the items do NOT have their
Quest Number stat set.  This is important -- it ensures that all players can
complete the quest, regardless of whether another player is in the process of
completing it.  

Quests #5, #8, and #9 are this sort of quest.  When a player completes the
quest, the SETQUEST command is used to track that the player has completed the
quest.  Other scripts may check if the player has completed the quest by using
the CHKCOMP script command.

-=-=-

Quest Status editor:
You can modify the current status of timed quests by using Option 5 of the
;editconfig command.  IE, you can change a quest from "regen in 5 days"
to "available" to make it regenerate immediately.

The Quest Status Editor does NOT actually otherwise control how the quests
function.  Most quest-handling is done in monster-interaction scripts in
SCRI1.SCR; please see the script language reference for more information.  

Each of the timed quests will be displayed as one of the following:
  "available"          -- The quest is open for grabs.
  "regen in X days"    -- The quest will become available in X days.
  "dropped X days ago" -- Someone has the quest item, but has not yet turned it
                          in for a reward.  If the player does not turn it in
                          within 5 days, the quest item is automatically
                          reindexed and the quest becomes available again.

The quest editor allows you to reset the number of days until a quest
regenerates.  Enter 0 to make a quest available again, or a positive number to
make it become available in that number of days.

When using the Quest Editor, the predefined timed quests are listed by number.
You can add to this text list by editing the ";quest vals" text in MISC.HLP.
Quests listed with (F) after them are simply completion flags; ie, a player is
flagged as having completed the quest, but the quest itself is always available
to other players.  Please see the section on Quests for full information.


-=-=-

Finally, there are some simple quests that do not even use the quest numbering
system.  These quests are not tracked or timed.  Two examples are mentioned
here.

Dwarven Lord's quest (killing Grendel) -- This quest involves killing Grendel,
and returning his arm to the Dwarven Lord.  It is somewhat "timed" in the sense 
that Grendel only regenerates every 5 days, and is somewhat "tracked" in the
sense that the player cannot recomplete the quest if he/she already has the
reward item.  However, the GETQUEST / SETQUEST commands are never used for the
scripts in this quest, and the Arm of Grendel item has no assigned quest
number.  Thus, this quest can be repeated if a player loses the reward item. 
Also, multiple Arm of Grendel items are able to be in the game at once.

Onix Ring Quest -- This quest involves talking to a number of NPCs, each whom
want to trade one item for another.  The quest usually can only be completed
once *per game* (only one player ever gets the reward), but this effect is
accomplished without using quest numbering or tracking.  One of the involved
items is on a 1% drop rate, but has a quantity of 9999.  Items with a quantity
of 9999 will *always* drop the first time the monster is killed, as long as the
drop chance is above 0%.  Thus, the quest can easily be completed by one
player, but later players are highly unlikely to be able to complete the quest
since they will have to deal with a 1% drop rate.

As you can see, it is fairly easy to create quests that are "loosely" tracked 
and timed by using these sorts of game mechanics.

-------------------------------------------------------------------------------

F. Creature Stats

This section lists the various creature stats that can be modified by items and
spells.  The amount the stat is modified can be either positive or negative.
Stat modifications are only applied while the item is being worn (for items)
or while the enchantment is in effect (for spell enchantments).  When the item 
is removed or enchantment wears off, the bonus is immediately removed.

# indicates the stat can be modified by an item.
* indicates that the stat can be modified by a spell enchantment.  

 #* str    -- Strength (affects players only)
 #* int    -- Intellect (players)
 #* hea    -- Health (players)
 #* dex    -- Dexterity (players)
 #* mwght  -- Maximum weight (players)
 #* maxhp  -- Maximum hit points
 #* maxsp  -- Maximum spell points
 #* hpreg  -- Hitpoint regen rate, in percent
 #* spreg  -- Spellpoint regen rate, in percent
 #* AC     -- Armor class       
 #* acc    -- Accuracy           
 #* crits  -- Critical hit chance
 #* mres   -- Magic resistance   
 #* align  -- Alignment          
 #* bnsmp  -- Bonus to movement rate (players only)
 #  bnsmf  -- Bonus to monster fights per day
  * room   -- Creature's room.  See note below.
  * AP     -- Action points.  See note below.
  * foll   -- Follow chance (affects monsters only)
  * host   -- Hostility (monsters).  See note below.
  * rstat  -- Regen status (dead monsters only).  See note below.
  * cond   -- Creature conditions.  See note below.


Modifying "room":  This *sets* the creature's room to the given value, rather
than simply incrementing the stat.  When the item/spell is removed, the
creature's room does not change back to its old room.  Thus, most enchantments
that modify room have 1-round durations, since the duration is unimportant.

Modifying "AP":  Gives a temporary, one-round AP bonus or penalty.
Enchantments that modify AP usually have 1-round durations, since the duration
is unimportant.

Modifying "host":  For the purposes of this stat, hostility is on a numeric
scale of 1 to 4.  1=Nonhostile, 2=Nonhostile but follows, 3=Hostile to opposing
alignment, 4+=Hostile.  The creature's numeric hostility is modified by the
value you set.  For example, a spell that modifies "host" by 1 would raise a
monster's hostility up one ranking, so a "hostile to opposing alignment"
monster would temporarily become hostile to all players instead.

Modifying "rstat":  This stat only affects dead monsters, which can only be hit
by spells that have a Target Type of "In Room".  It is used to resurrect dead
monsters.  To resurrect a monster, modify "rstat" by -1.  Has no effect on boss
monsters.

Modifying "cond":  Sets or removes creature conditions.  To set a creature 
condition, modify "cond" by one of these values:
   1 = Strong (+2 damage/hit)
   2 = Weak (-2 damage/hit)
   3 = Stunned (takes no round action)
   4 = Diseased (loses 4 HP per round)
   5 = Confused (35% fumble chance per round)
   6 = No recall (affects players only)
   7 = Blind (affects players only)
   8 = Charmed (affects monsters only, must be non-bosses)
   9 = Invisible (not shown on room descriptions)
  10 = See Invisible
  11 = Paralyzed (cannot move from room)

Positive values set conditions, while negative values remove them.  For
example, modifying "cond" by 7 sets the Blind condition; the condition will
wear off when the spell enchantment wears off.  

Some enchantments remove conditions.  For example, modifying "cond" by -2
will remove the Weakness condition.  When the anti-weakness enchantment wears
off, the weakness does NOT return.  For this reason, most anti-condition
enchantments have 1-round durations, since the duration is not important.

-------------------------------------------------------------------------------

G. Older area differences

The various areas in DoorMUD have been created over a long period of time.  The
oldest areas were created in September of 1998, while the newest areas were
created in July of 2001.  As such, some of the older areas were created before
the game supported certain features, such as critical hits for monsters, bonus
swings for monsters, etc.  

For this reason, as you look over some of the game's older monsters, you may
find that some have unusual spells designed to mimic a critical hit or provide
bonus swings.  In the case of the oldest area (the newbie Forest), duplicate
monsters are not even tagged as duplicates, so any changes to the monsters must
be individually made to each copy of the monster.

Some monsters were created before the "c" special gender flag for Monsters
was created.  This flag makes a monster be permanently charmed and unable to
be attacked, and is commonly used for quest-related monsters that should be
unkillable.  In some of the older areas, instead of having the "c" flag,
the quest-related monsters are simply given 9999 armor class and 9999 magic
resistance to make them unkillable.

Auto-gained skills like the Gnoll's Head-Butt (gained when creating a Gnoll
character) or the Monk's Jumpkick (gained when training to level 9) were
created before the Class and Race editors were in place.  Hence, these 
abilities are stored on inaccessable "autogain holder" scrolls in room #1.
If you want to create new auto-gain class/race abilities, you should do it
directly with the class / race editors; there is no longer a need to create
holder scrolls.

-------------------------------------------------------------------------------

H. Access levels

The Access Level stat (option #14 on the Player Editor) determines whether or
not a player is an Implementor.  By default, all players have an access level
of "normal", which indicates a standard player.

However, using the World Editor, you can set the access level of particular
player(s) to Implementor.  This allows you to specify which trusted players,
if any, are allowed to use the World Editor remotely.  (For a tutorial-by-
example of how to edit a player's access level, please see the example in
the quick-start guide, QUICK.TXT.  For information on how to set up the 
World Editor to be run remotely as a door, see the following section on
Remote Editing.)

In addition to being able to use the World Editor remotely, players who have
been granted Implementor access also receive a number of special abilities
in DoorMUD (ie, the actual game -- dmud*.exe) at all times.  These abilities 
include:

- Can see stashed items
- Can see secret and invisible exits
- Can see stocked items in shops that are at 0 quantity
- Can give items to any player, even if that player has their "receive
  items" preference set to no
- When looking at other players, their full inventory (even non-equipped items)
  is shown
- Can move through all blocked/closed exits freely, as if they were open
- Can use Implementor recall (; <#>) to teleport to any room at will
- Can use ;raisedead
- Can use ;duplitem
- Can use ;locate
- Room numbers are always displayed in room descriptions
- Room description variation numbers are displayed in room titles

When setting a player's access level to Implementor, there are two choices: 
Limited Implementor and Full Implementor.  Limited Implementor is similar to
Full Implementor, except that Limited Implementors cannot use the Player Editor
or Quest Status Editor.

Regardless, even Limited Implementors have extreme amounts of power in the
game.  Even though they cannot edit players, they still can effectively raise
their own stats in other ways (ie, by creating ultra-powerful items).  So in
either case, be *extremely* careful about which players, if any, you grant
Implementor access to. 

It would be a good idea to provide all of your Implementors with a full copy
of the World Editor documentation files.

-------------------------------------------------------------------------------


I. Remote editing

Players with an Implementor access level can use the World Editor remotely.
(To learn how to give a player Implementor access, please read the "Access 
Levels" section VII.h, directly above this section)

To set this up, you must add the World Editor to your BBS's menus.  Setups for
several common BBS software programs are shown in this section.

Please note that players performing remote editing will be unable to edit the
game's HLP files or the SCRI1.SCR script file.  You may wish to simply have
your remote implementors e-mail you new text to add to these files; you will
have to manually put their additions in these files.  

Another option would be to set up a DoorMUD file library on your BBS, 
containing upload/download links to the HLP and SCR files of your DoorMUD 
directory.  You will have to take care to only give access to this file library
to the Implementor users on your BBS.  If you have multiple Implementors, you
may want to use a version-control system like CVS to prevent your Implementors
from over-writing each others' changes.


Synchronet for Win32 (v3.10g or later)
======================================
Assuming c:\sbbs\xtrn\dmud32 is your DoorMUD directory, use this setup in SCFG:

Name                       DoorMUD World Editor
Internal Code              DMEDIT32
Start-up Directory         c:\sbbs\xtrn\dmud32\
Command Line               dmedit32 /n %# /d %f
Clean-up Command Line
Execution Cost             None
Access Requirements
Execution Requirements
Multiple Concurrent Users  No
Intercept Standard I/O     No
Native (32-bit) Executable Yes
Modify User Data           No
Execute on Event           No
BBS Drop File Type         Mystic          DOOR32.SYS
Place Drop File In         Node Directory
Time Options...

If you only want the World Editor to be displayed on the doors menu to certain
users, set the "Access Requirements" accordingly.



Synchronet for Win32 (v3.00c through 3.10f)
===========================================
Running Door32 programs on older versions of Synchronet is slightly more
complicated.  This setup assumes c:\sbbs is your Synchronet directory, and
c:\sbbs\xtrn\dmud32 is your DoorMUD directory.  Use these settings in SCFG:

Name                       DoorMUD World Editor
Internal Code              DMEDIT32
Start-up Directory         c:\sbbs\xtrn\dmud32\
Command Line               dmedit32 /n %# /d c:\sbbs\node%#\door32.sys
Clean-up Command Line
Execution Cost             None
Access Requirements
Execution Requirements
Multiple Concurrent Users  No
Intercept Standard I/O     No
Swap BBS out of Memory     No
Modify User Data           No
Execute on Event           No
BBS Drop File Type         GAP             DOOR.SYS
Place Drop File In         Node Directory
Time Options...

After setting this up, you MUST add "dmedit32" to your OS/2 Program List in
order for Synchronet to recognize the World Editor as a 32-bit door.

If you only want the World Editor to be displayed on the doors menu to certain
users, set the "Access Requirements" accordingly.



WildCat Winserver
=================
  You must run the World Editor through a batch file.  Copy WCMUDED.BAT from
  your DoorMUD directory to whatever directory you normally put door batch 
  files, and edit it as directed in the batch file's comments.  Then, configure
  your BBS to run the World Editor as "Door32 Compatible" for Door Type, and 
  "WCMUD.BAT" for the Batch File.  Do NOT check the Multiuser toggle.

  IMPORTANT:  This version of the Editor directly interfaces with Winserver's
  DOOR32.DLL file.  It is vital that the door is able to find this file.  
  Please determine which of your directories contains this file (probably
  your \wc5 directory), and then add this directory to your system's path
  if it isn't already there:   

    Windows 95/98/ME:  You can add a directory to your system path by
                       modifying AUTOEXEC.BAT.
    Windows NT/2K/XP:  Use the Control Panel to modify your system path.
                       Please see Control Panel >> System >> Advanced >> 
                       Environmental Variables >> System Variables >> Path.

  An alternative option (if you don't know how to edit your path) is to 
  simply place a copy of the DOOR32.DLL file in DoorMUD's directory.  This
  should work fine, but is not recommended for upgrade reasons, since
  DOOR32.DLL may change in future versions of Winserver.



MysticBBS for Win32  (v1.07.2 or later)
=======================================
Assuming c:\doormud is your DoorMUD directory, and c:\mystic is your Mystic 
directory, use a command line of:
    c:\doormud\dmedit32.exe -n %3 -d c:\mystic\temp%3
Set the menu command type to "D3  Door with DOOR32.SYS".
Do NOT use a batch file to call this door.


EleBBS
======
Assuming c:\doormud is your DoorMUD directory, and c:\ele is your EleBBS
directory, use a command line of:
    c:\doormud\dmedit32.exe -n *N -d c:\ele\NODE*N\door32.sys -socket *W
Do NOT use a batch file to call this door.


MannSoft GameSrv
================
In GameSrv, go to the Games tab and press Add.  Assuming DoorMUD is in
c:\bbs\doormud and GameSrv is in c:\bbs, you should use the following
command line: 
    c:\bbs\doormud\dmedit32.exe /n *N /d c:\bbs\node*N /socket *H 
For the FOSSIL setting, select "None".  


16-bit BBS software
===================
To use the 16bit (DOS) version of the World Editor, edit RUNEDIT.BAT as noted
in the file's comments and then place it in whatever directory you normally put
door batch files in.  Set up your BBS so it runs the World Editor by calling
RUNEDIT.BAT.  You must pass the node number and location of the dropfile to the
batch file, as follows:
    runedit.bat -n # -d XXX
where # is the node number, and XXX is the location of the dropfile.  Most BBS
softwares have special flags that can be used for the node number and dropfile
location.  For example, a sysop using Renegade BBS would use the command 
line "runedit.bat -n %n -d %o".  A sysop using Virtual Advanced BBS would use
the command line "runedit.bat /n %1 /d c:\va\temp\n%1".


-------------------------------------------------------------------------------

<END OF FILE>