
                 Demigod Instruction Manual for Illusions 1.3
             Copyright (c) 1993 by Paradox Development Corporation
                             All rights reserved.
 
                  Designed by Andrew Laakmann and Kris D'Nal
                        Programmed by Andrew Laakmann
 
INTRODUCTION --------------------------------------------------------------

Demigod status for a player in Illusions allows that player access to a 
variety of commands that can alter the landscape of Illusions.  Depending 
upon their level, demigods can modify the world by creating and deleting 
rooms, can add danger to the world with monster creation and modification, 
and can add variety to the game with 'environment', trap, shop, and spell 
commands.

Only the sysop can grant a player demigod status, since only the sysop has 
access to the commands required for actual character modification.  But 
once a character is given demigod ability, that character has access to the 
commands offered by their privilege level.

Character privileges in Illusions are between zero and 500.  A zero 
privilege means no demigod status, and that is the privilege automatically 
assigned to new characters in the game.  The sysop can elect to offer a 
character higher privilege, up to the maximum of 500.  All higher privilege 
commands begin with a percent sign, and can be displayed along with the 
other Illusion commands by typing "COMMANDS" at the Illusion prompt.  Only 
the higher privilege commands available to the player will be displayed 
during the listing.


HIGHER PRIVILEGE COMMANDS ------------------------------------------------

The following list contains the available higher privilege commands along 
with a short description for each.  Some commands, most notably the 
creation and edit commands, are discussed in detail after this listing.  
On-Line help is available for each command by typing "HELP <Command>".

ROOM AND EXIT MODIFICATION COMMANDS
-----------------------------------

%CREATEROOM: expand the world by creating a new room (Privilege 300)
Usage:    %CREATEROOM 
Example:  %CREATEROOM 
Allows the creation of a new room.

%EDITPLAYER : edit a player's attributes
Usage:    %EDITPLAYER <name>
Example:  %EDITPLAYER Frodo

%CREATEEXIT : allows creation of an exit leaving your current room 
(Privilege 300)
Usage:    %CREATEEXIT (Direction)
Example:  %CREATEEXIT E
If an exit does not exist the the specified direction, you will be prompted 
for a target room.  

%DELEXIT : allows deletion of an exit (Privilege 300)
Usage:    %DELEXIT (Direction)
Example:  %DELEXIT E

%EDITEXIT: allows modification of an exit leaving your current room 
(Privilege 300)
Usage:    %EDITEXIT (Direction)
Example:  %EDITEXIT E
If an exit exists in the supplied direction, this command allows you to 
modify the description associated with the exit.  In addition, you can 
attach locks and make exits require keys by using this command. 

%EDITROOM: allows modification of the current room's description (Privilege 
300)
Usage:    %EDITROOM
Example:  %EDITROOM
This command allows you to modify its description and whether or not it is 
a 'dark' room.

%EDITDESC: can be used to quickly edit just the textual description of the 
current room (Privilege 300)
Usage:   %EDITDESC
Example: %EDITDESC


NPC MODIFICATION COMMANDS
-------------------------

%COPYNPC : allows the duplication of an NPC in the current world (Privilege 
300)
Usage:   %COPYNPC <npc name>
Example: %COPYNPC Volek
This copies the supplied NPC into the current room.  If you are copying 
shopkeepers, use %EDITMONSTER to immediately change the name of the new 
shopkeeper so there is no chance of a  duplication of names.

%LISTMONSTERS : obtain a monster listing for a specific zone (Privilege 
300)
Usage:    %LISTMONSTERS (Zone #)
Example:  %LISTMONSTERS 5
This command displays a listing of all monsters assigned to the supplied 
zone.

%CREATEMONSTER: allows the creation of a new creature (Privilege 300)
Usage:    %CREATEMONSTER
Example:  %CREATEMONSTER
Allows the creation of a new monster for the world.  

%EDITMONSTER: allows modification of a creature created by yourself 
(Privilege 300)
Usage:    %EDITMONSTER (Monster Name)
Example:  %EDITMONSTER Orcus Maximus
If the specified monster is standing in front of you in the current room, 
this command will allow you to modify the creature's attributes.

%SUMMON (CALL): this allows you to summon another creature into the current 
room (Privilege 200)
Usage:    %SUMMON (Creature)
Example:  %SUMMON Orcus Maximus
This command will call the specified creature into the current room, 
assuming that one exists in the current world.  This command can be used to 
call other players into the current room as well.

%TELEPORT: use this command to teleport to another room number (Privilege 
100)
Usage:    %TELEPORT (Room Number)
Example:  %TELEPORT 250
This command allows you to teleport anywhere in the current world, as 
indicated by the room number you supply.

%WHERE: locate another creature in the world  (Privilege 300)
Usage:    %WHERE (Creature Name)
Example:  %WHERE Orcus Maximus
Allows you to locate another creature in the current world.  This command 
will report back the creature's room number.  The creature can be another 
player or a monster.


ITEM MODIFICATION COMMANDS
--------------------------

%COPYITEM : allows the duplication of an item in the current world 
(Privilege 300)
Usage:   %COPYITEM <item name>
Example: %COPYITEM long sword
The item to be copied must exist in the current room, and the new one will 
appear there on the floor.

%CREATEITEM: forge a new item (Privilege 300)
Usage:    %CREATEITEM
Example:  %CREATEITEM
Allows the creation of a new item, see later section for more information.

%EDITITEM: allows modification of an item created by yourself (Privilege 
300)
Usage:    %EDITITEM (Object name)
Example:  %EDITITEM Wicked Sword
If the specified object is sitting on the floor in front of you,  this 
command will allow you to modify the attributes associated with that item. 
See later section for more information.


TALK MODIFICATION COMMANDS
----------------------

%CREATETALK : adds a message entry to the talk database (Privilege 300)
Usage: %CREATETALK

%DELTALK : removes a message entry from the talk database (Privilege 300)
Usage:   %DELTALK <message title>
Example: %DELTALK Maze Info 1
Use %LISTTALK to display a list of all messages in the database if you wish 
to find the title of a message.

%EDITTALK : allows you to modify the attributes associated with a message 
in the talk database (Privilege 300)
Usage:   %EDITTALK <message title>
Example: %EDITTALK Maze Info 1
Use %LISTTALK to display a list of all messages in the database if you wish 
to find the title of a message.

%LISTTALK : lists all the messages in the talk database (Privilege 300)
Usage:   %LISTTALK [message class]
Example: %LISTTALK
         %LISTTALK Maze Class
This command can be used to list all the messages, or just those within a 
certain message class.


SPELL MODIFICATION COMMANDS
---------------------------

%CREATESPELL : adds a spell to the world's spell book (Privilege 300)
Usage: %CREATESPELL

%DELSPELL : deletes a spell from the world's spell book (Privilege 300)
Usage:   %DELSPELL <spell name>
Example: %DELSPELL Light
Use %LISTSPELLS to see a listing of all spells if you wish to find a 
particular spell's name.

%EDITSPELL : allows modification of the attributes associated with a spell 
(Privilege 300)
Usage:   %EDITSPELL <spell name>
Example: %EDITSPELL Light
Use %LISTSPELLS to see a listing of all spells if you wish to find the name 
of a particular spell.

%LISTSPELLS : lists all spells within the system or just within a class 
(Privilege 300)
Usage:   %LISTSPELLS [class name]
Example: %LISTSPELLS
         %LISTSPELLS Wizard


SHOP MODIFICATION COMMANDS
--------------------------

%CREATESHOP : adds a shop entry to the current world (Privilege 300)
Usage: %CREATESHOP
You will be given menus in order to describe the shop you wish to create.

%DELSHOP : deletes a shop entry from the current world (Privilege 300)
Usage: %DELSHOP
You will need to select the shop for deletion from the supplied menu.

%LISTSHOPS : lists all of the shops in the current world (Privilege 300)
Usage:    %LISTSHOPS

%EDITSHOP : allows the modification of the response and buy/msg class for a 
shop (Privilege 300)
Usage:   %EDITSHOP
You will need to select your shop from the displayed shop.

%SHOPITEMS: lists all items stored by the shopkeeper in the current room 
(Privilege 300)
Usage:    %SHOPITEMS
Example:  %SHOPITEMS
Items stored by shopkeepers are included by the ghost event when it 
distributes items to the various stores.

%SHOPGIVE: allows you to add an item to a shopkeeper's storage list 
(Privilege 300)
Usage:    %SHOPGIVE <item name>
Example:  %SHOPGIVE Long Sword

%SHOPTAKE: through this command you can remove an item from a shopkeeper's 
storage list (Privilege 300)
Usage:    %SHOPTAKE <item name>
Example:  %SHOPTAKE Long Sword


TRAP MODIFICATION COMMANDS
--------------------------
%CREATETRAP: allows creation of a trap (Privilege 300)
Usage:    %CREATETRAP
Example:  %CREATETRAP
This command can be used to create a new trap.  A trap is some special 
'triggerable' event in the current room. 

%EDITTRAP: allows modification of a trap in the current room created by 
yourself (Privilege 300)
Usage:    %EDITTRAP (Noun)
Example:  %EDITRAP leather book
This command allows you to modify the attributes associated with a trap. If 
the trap has no name, simply use %EDITTRAP without a noun, and that trap 
will be edited.

%DELTRAP : allows deletion of a trap in the current room
Usage: %DELTRAP <Noun>
Example: %DELTRAP leather book
If the trap has no noun, simply use %DELTRAP with a noun and that trap will 
be deleted.

%LISTTRAPS : lists the traps in the room or world
Usage:    %LISTTRAPS [ALL]
Example:  %LISTTRAPS,
          %LISTTRAPS ALL
If the ALL keyword is supplied, all traps in the current world are listed.


ZONE COMMANDS
-------------

%LISTZONES: allows listing of all zones in the current world (Privilege 
300)
Usage:    %LISTZONES
Example:  %LISTZONES
This command will list all of the zones in the current world.

%CREATEZONE: allows creation of a new zone (Privilege 300)
Usage:    %CREATEZONE
Example:  %CREATEZONE
This command can be used to create a new zone. A zone is a logical area 
where creatures can be assigned to roam.  A zone can be as small as one 
room and as large as the whole world.


MISC COMMANDS
-------------

%DELETE: allows the deletion of an item or creature forged by you 
(Privilege 300)
Usage:    %DELETE (object name)
Example:  %DELETE Orcus Maximus
This command can be used to destroy either monsters or items created by 
yourself.  The object must be present and on the floor in your current 
room.

%E : the environment command (Privilege 100)
Usage:    %E (Message to broadcast)
Example:  %E Lightning strikes the ground.	
This command broadcasts the supplied message to all players currently in 
the game.  Using this command, a demigod can add spice and variety to the 
game.

THE %EDITPLAYER COMMAND ---------------------------------------------------

This section contains an overview of the %EDITPLAYER command.  This command 
can be used to modify any player (including yourself) within the current 
world.  

When issuing the %EDITPLAYER command, you must supply the name of the 
character you wish to modify.   For instance, "%EDITPLAYER frodo", or 
"%EDITPLAYER gandalf" would be valid commands if those players existed 
anywhere in the current world.

Once the command is issued, you will be presented with the following data 
form:

--------------------------------------------------------------------------
                            Player Edit                                   
   Use CTRL-W or move beyond first/last field to write. [ESC] to cancel.  
--------------------------------------------------------------------------
                                                                          
_____________________ [______]  ( ___________________, __________________)
_________________________________________________________________________
                                                                          
Privilege: ___ (sysop only)                                                           
                                                                          
Level:  ___ Experience _________                                          
Hit Points: _____ of _____              Spell Points: _____ of _____      
                                                                          
Armor Class: ___   Gold: ________                                  
                                                                          
Weapon: __________________________  Attack Verb: ___________              
To Hit: ____   ______ + ____                                       
                                                                          
Spell classes known: ________________________  Max Spell Level: ________ 

--------------------------------------------------------------------------
                                                                                
You can move between the various fields by using the arrow keys.  Note that 
moving past the first or last field will cause Illusions to save the 
current form and return to the game.  At anytime you can cancel your 
current changes by pressing [ESC].  Finally, if you wish to save the 
current form and return to the game, press CTRL-W (or move past the first 
or last fields).

The first field, unnamed and located in the upper left, contains the 
player's ALIAS.  This is the name by which this character is referenced on 
the command line.

The second field, located between brackets, contains the ALIGNMENT of the 
character.  Currently, two alignments are supported: GOOD and EVIL.  

The next field is the RACE field.  In general, you should not modify this 
field, as the player selected the race that they desired upon generation of 
their character.  If you do modify their race, be sure and add a race that 
already exists in Illusions.

The next field, located after the comma, is the OCCUPATION field.  Modify 
this field with the same warnings that applied to the RACE field.

The next line down contains the TITLE field.  This is the long, screen 
width field. This field holds the title of the character, which is 
displayed along with the character's alias when the character is viewed 
within a room.

The PRIVILEGE (sysops only) field holds the character's privilege level.  
See the guide section above for information on assigning privilege levels.

The LEVEL field holds the character's current experience level.

The EXPERIENCE field holds the total amount of experience acquired by this 
character throughout their adventures.

The HIT POINTS field contains the character's current and maximum hit 
points.  When the current hit points fall to zero or below, the character 
dies.

The SPELL POINTS field contains the character's current and maximum spell 
points.  If a player cannot use magic, this field has no significance.

The ARMOR CLASS field determines how difficult it is to hit this character.  
The lower the score, the more difficult this character will be to hit.  
Illusions automatically calculates this value based on readied items and 
natural ability.

The GOLD field holds the quantity of gold coins currently carried by this 
character.

The WEAPON field determines this character's basic weapon.  The basic 
weapon is the weapon that this character attacks with when they have not 
wielded a weapon.  Illusions normally uses "fists" for this weapon, but it 
can be anything you would like.  Remember, once a character wields a 
weapon, the basic weapon will no long be the one used.  

The next field is the ATTACK VERB.  This field is the action verb that 
Illusions uses whenever this character attacks another player.  This verb 
can be anything you wish, although it needs to end with an "s" to be 
grammatically correct with the sentence that Illusions will substitute it 
in.  Some example verbs are: claws, thrusts, strikes, mangles, lunges, etc.

The TO HIT field is composed of three fields.  The first is the hit 
adjustment this character receives when attacking.  The higher this value, 
the more likely an attack will score a hit.  The next field is the basic 
weapon damage.  This is the damage inflicted upon an opponent when the 
character scores a hit and has not wielded a weapon.  As elsewhere in 
Illusions, this damage value is represented in "dice roll" format.  This 
format is as follows:

(Number of times to roll) d (Maximum value of a single roll)

For example:   1d10, means roll a ten sided die once.
               2d4,  means roll a four sided die twice and add them up

The first number can be anything you like, but the smaller the number, the 
faster program execution speed will be.

The final field of the TO HIT field is the absolute damage adjustment.  
This value is added to the result of all damage rolls (either basic weapon 
or wielded weapon) and can be considered the minimum amount of damage that 
this character can inflict with a single hit.   

The last two fields concern magical spells.  The first, SPELL CLASSES 
KNOWN, contains the type or types of spells known by this character.  This 
field can currently contain "SORCERER" or "CLERIC" or both (separated by a 
space).  For instance, if the player can only cast sorcerer spells, then 
this field will read "SORCERER".  If this character can cast both sorcerer 
and clerical spells, then this field will read "SORCERER CLERIC".  The next 
field, MAX SPELL LEVEL, holds the maximum obtainable spell level for this 
character.  A character will never be able to cast a spell with a greater 
level than the value in this field.



CREATION ------------------------------------------------------------------

The following section describes how each of the various creation commands 
work.  Create carefully, as a world filled with junk is not a fun place for 
adventure!

ROOM CREATION -------------------------------------------------------------

After typing the "%CREATEROOM" command, Illusions will prompt you for a 
direction in which to create the new room.  Obviously, you can only create 
a room in a direction where one already doesn't exist.

Once Illusions has confirmed that it can create a room in the direction you 
request, you will be prompted with a 'data form'.  A data form is a screen 
where you can enter/modify the attributes of some object in Illusions.  In 
general, all data forms operate the same way.  The arrow keys can be used 
to move around the various fields.  Moving past the first or last field 
will prompt Illusions to leave the current form.  At anytime you can save 
the current data form by typing CTRL-W.  You can cancel a data form by 
pressing <ESC>.  The room data form looks like the following:

-------------------------------------------------------------------------
                            Edit Room                                    
  Use CTRL-W or move beyond first/last field to write. [ESC] to cancel.  
-------------------------------------------------------------------------
                                                                         
Room Title:  ________________________________                            
Zone Number:  ________                   Is the room dark (T or F) ?: ___ 
                                                                         
Use ^] to edit the memo description.                                     
Description:  memo                                                       
                                                                         
-------------------------------------------------------------------------

The room data form has one special field, not described above, and that is 
the 'memo' field.  A memo field allows you to type in a long passage rather 
than just some fixed length string.  In the case of room creation, the memo 
field allows you to type in a long room description.  To enter a room 
description, move to the memo field and press CTRL-].  After pressing that 
key you will enter an editor that allows you to type in your room 
description.

One note needs to be said about the editor.  All room descriptions MUST end 
with a carriage return, and the editor does not automatically supply this.  
To add this carriage return, type CTRL-N after the last word in your 
description.  Illusions will then place a '<' at the end of the line to 
mark the carriage return.

In the ROOM TITLE field, supply the one line message that will be used as a 
title to this room.  Not all rooms need a title, although it is helpful for 
players who use the 'FAST' option to eliminate the long room description 
from their display.

The ZONE NUMBER field determines what zone this room will be in.  The zone 
number you supply must already exist for you to place the room within it.  
Zone numbers are used to allow wandering monsters - monsters that when 
killed are moved randomly into a new room, but only into room within the 
zone in which they are assigned.  

This IS DARK field determines if some sort of artificial light, like a 
lantern or torch, is required for this room to be visible. 

Once you have terminated the room create data form by either typing CTRL-W 
or moving beyond one of the end fields, Illusions will prompt if you wish 
to save your new room.  If you do, answer 'Y' to this question.  Once 
saved, you will enter the %EDITEXIT data form, where you can setup the 
exits and entrances into your new room.

If you wish to just modify the room text at a later time, the %EDITDESC 
command can be used to jump right into the description editor.

EXIT MODIFICATION ---------------------------------------------------------

The exit edit data form can be used to modify the attributes associated 
with a passage from one room to another in the current world.  The ten exit 
attributes allow much flexibility for the display and interaction of exits 
within your Illusions world.

This is the edit exit data form:

--------------------------------------------------------------------------
                               Edit Exit                                  
  Use CTRL-W or move beyond first/last field to write. [ESC] to cancel.   
--------------------------------------------------------------------------
                                                                          
Open Text 1:                                                              
__________________________________________________________________________
                                                                          
Open Text 2:                                                              
__________________________________________________________________________
                                                                          
Close Text 1:                                                             
__________________________________________________________________________
                                                                          
Close Text 2:                                                             
__________________________________________________________________________
                                                                          
Description:                                                              
__________________________________________________________________________
__________________________________________________________________________
                                                                          
One Way (T or F)? _           DoorType: __________       DoorStatus: _____
Keyword: _________________    Key: ________                               

An exit has five description fields: OPEN TEXT 1, OPEN TEXT 2, CLOSE TEXT 
1, CLOSE TEXT 2, and DESCRIPTION.  The OPEN TEXT fields are used to display 
a line of text to the players around this passage when the exit is 
'opened'.  The OPEN TEXT 1 field is displayed to a player when that player 
stands in the source room of the exit, i.e. the room where the exit was 
created, and the OPEN TEXT 2 field is displayed to a player when that 
player stands in the target room of the exit (assuming the exit is not one 
way).  The CLOSE TEXT fields work in a similar fashion, except they are 
displayed to players when the exit they are viewing is closed.  The 
DESCRIPTION field is displayed to a player when that character chooses to 
"EXAMINE" the exit.

The ONE WAY field determines whether this exit is one way, i.e. a player 
can move through the exit from the source room into the target room, but 
not vice versa.  Use one way exits sparingly, as they tend to confuse the 
weary adventurer (unless that is your plan!).  

Use the KEYWORD field to assign a keyword to your exit.  A keyword is the 
phrase characters will use when referencing this exit.  For instance, if 
this exit is described by "A wooden door heads east", then WOODEN DOOR 
would be a good choice of keyword. Then, a user could type "EXAMINE WOODEN 
DOOR" to display the text (if any) contained within the DESCRIPTION field 
of this exit.  An exit with a keyword can basically be considered a "door", 
since it can be referenced by the user.  If an exit has no keyword, then it 
is essentially a passage way that the user can move through, but not 
interact with.  

The DOOR TYPE field determines if this exit has a lock on it or not.  This 
field can be "NONE", "LOCKED", or "ALOCK".  A locked exit must be unlocked 
by the player before it can be opened, and an optional key can be assigned 
to the lock within the KEY field.  If a key is assigned to an exit, the 
user must have an item in their inventory which matches the KEY field.  
Note, if an exit does not have keyword and is LOCKED, there will be no way 
a user can unlock this door, so keywords are highly recommended for locked 
and closed doors!  The "ALOCK" door differs from the "LOCKED" door in that 
"ALOCK" doors will automatically lock behind the player, while "LOCKED" 
doors will stay unlocked until someone actually locks it.

The final field, DOOR STATUS, contains the state of the exit.  This can be 
"NONE", "OPEN", "CLOSED", or "LOCKED".  The "NONE" string should be used 
for passage ways, while the others hold the current state of a door, i.e. 
either open, closed, or locked.  When a locked door becomes unlocked, it is 
switched into the "CLOSED" state.

ITEM CREATION AND MODIFICATION --------------------------------------------

The %CREATEITEM and %EDITITEM commands can be used to create and modify an 
item.  For %CREATEITEM, you need only specify the command and Illusions 
will display a blank item data form for your new item.  The %EDITITEM 
command needs to be supplied with an item name to edit, and that item must 
be present and on the floor in your player's current room.

This is the item data form:

-------------------------------------------------------------------------
                              Edit Item                                  
  Use CTRL-W or move beyond first/last field to write. [ESC] to cancel.  
-------------------------------------------------------------------------
                                                                         
______________________ [ ______________________________________________ ]
Class: _______________ Weight: _______ Cost: $__________ Cursed: ____    
                                                                         
To hit: __  ______ + ___   AC: ______                                    
Slaying Ability: _____xDAMAGE against: __________________                
                                                                         
Spell captured in item: _________________________ (Charges: ___)         
Light rounds remaining: _____________                                    
                                                                         
Wield To: ______________ Appearance Change: _______________              
                                                                         
Engraving upon item:                                                     
_________________________________________________________________________

The item data form contains many fields that describe the various 
attributes of an item.  The top two fields (without labels), are the item 
keyword and item description, respectively from left to right.  The KEYWORD 
is the word or phrase players will use when referencing the item with an 
Illusions command, for instance "TAKE LONG SWORD".  The bracketed field 
contains the display players will see when viewing the item in the current 
room or in their inventory.  If no display is present, Illusions will 
simply display the keyword as the description.  Here are some examples:

KEYWORD             DISPLAY
--------------      ----------------------
LONG SWORD          long sword (+0,+1)
SCROLL              scroll of poison
MUSTY BOOTS         musty boots (+2,+2)

In general, the following standard templates should be used for item 
displays.

- WEAPON DISPLAY TEMPLATE:
	Weapon Name (to Hit adjust, to Damage adjust) [AC adjust] abilities
	Example: long sword (+3,+2) [2] of death

- ARMOR DISPLAY TEMPLATE:
	Armor Name (Normal AC adjust, enchanted adjust) abilities
	Example: Field plate armor (+8,+1)

The CLASS field defines what type of item this item will be.  For instance, 
weapons, armor, keys, and lights are all of different classes.  This class 
distinction is most important to shop keepers, who will only buy and sell 
items of certain classes. Here is a listing of the various classes:

Class Name     Examples
----------     -----------
ACCESSORY      shield, boots, hats
ARMOR          leather armor, chain mail, ring mail
KEY            spider key, black key
LIGHT          torch, lantern, magical globe
TREASURE       golden crown, emerald necklace
WEAPON         swords, staff, maces

The WEIGHT field determines how much this item weighs. Obviously, this 
value is added to a player's current weight when the item is taken, and 
subtracted when it is dropped.

The COST field contains how much the item will cost when purchased from a 
shopkeeper.

The CURSED flag can be used to create a cursed item.  A cursed item is one 
that, once readied, cannot be taken off by the player.  For instance, if a 
player readies a cursed sword, then that weapon will be the player's weapon 
until they are killed, and they can neither drop the weapon nor ready 
another one.  Once they are killed, the weapon will drop to the floor and 
wait for the next adventurer.

The TO HIT and DAMAGE fields are used when this item is (and can) be 
wielded as a weapon.  The first field (TO HIT) is the item's 'to hit' 
adjustment.  The higher this number, the more likely it is that the player 
will score a hit against their opponent.  The next field is the dice roll 
and adjustment value used to calculate the weapons damage.  Dice rolls have 
the following format throughout Illusions.

	(Number of times to roll) d (Maximum value of single roll)

For instance, a "2d4" means to roll a four sided die twice and add them up, 
resulting in an end value between 2 and 8.  The final field is the absolute 
adjustment, i.e. "2d4+10" means do the original roll and then add 10 to the 
value.

The SLAY ABILITY field allows you to make the item (assuming that it is a 
weapon) particularly effective against certain creatures or types of 
creatures.  The first field (the one with the decimal point) contains the 
multiplier and the second field contains the target creature type.   If the 
string you supply in the target creature type appears anywhere in opponents 
race, alignment, name, or occupation, then the damage inflicted will be 
multiplied by the multiplier.

The ARMOR CLASS ADJUSTMENT field will be subtracted from the players AC 
when they ready this item.  A positive number in this field is better, and 
will make they player more difficult to hit.

The SPELL CAPTURED IN ITEM and CHARGES field concern items that have 
magical properties.  Any item can be enchanted with a spell from the 
current spell book by placing that spell name in the SPELL CAPTURED IN ITEM 
field.  The CHARGES field contains the number of times that the item's 
spell can be invoked before its magical ability is lost. An enchanted item 
can be used by typing the "USE" command.

The LIGHT ROUNDS REMAINING field holds how many rounds of light that this 
item can emit before it fizzles out.  This value only has meaning when the 
WIELD TO field is set to "LIGHT".  In addition, this value is only 
decremented when the player has readied the light source.  

The WIELD TO field tells Illusions where upon the player's body this item 
can be readied to.  If no WIELD TO area is specified, then the item can 
simply be carried around and never selected.  There are ten different 
places that items can be selected to:

WIELD TO       Example
--------       -----------
HEAD           hat, helmet
NECK           necklace, vampire bites
BODY           ring mail armor, plate armor
ARM            shield
HANDS          gloves
FINGER         ring
FEET           boots, slippers
ABOUT          cloak
LIGHT          torch, lantern
WEAPON         sword, whip, flail, mace

The APPEARANCE CHANCE is the percentage chance that an item will appear in 
store on any given day, and the dice roll determines the quantity the shop 
keeper will get in if the item does appear.  This field has a specific 
format as follows:
	
	(Percent chance)%, (Dice Roll).

EXAMPLE: 50%, 1d4 : means there is a fifty percent chance that the store 
owner will get this item in, and that he will have one, two, three, or four 
to sell that day.  Some special instructions concern the random appearance 
of items, see the following section, "SHOPKEEPER STORAGE" for more 
information.

The last field, ENGRAVING UPON ITEM, is a description line that will be 
displayed to players when they EXAMINE this item.  It can be anything you 
like, including text, marks, glows, and other details.

Once an item has been created, a copy of it can be created by issuing a 
%COPYITEM command.  Simply type %COPYITEM <item name> and a new item will 
appear in room.  You must be in the same room as the original item to copy 
it.

SHOPKEEPER STORAGE -------------------------------------------------------

An item must be in a shopkeeper's storage bin to have a chance of being 
given to that storekeeper each day.  The APPEARANCE CHANCE controls the 
likely hood that an item will appear once it has been stored by a 
shopkeeper.  Three commands: %SHOPITEMS, %SHOPGIVE, and %SHOPTAKE, can be 
used to interact with a shopkeeper's storage bin.

When in the same room as a shopkeeper, issue a %SHOPITEMS command to see 
what items are currently being stored by the shopkeeper.  To give an item 
to a shopkeeper, issue a %SHOPGIVE <item name> command.  You must be 
carrying and have created the item you wish to give.

Once you have given an item to a shopkeeper, the daily distribution event 
will decide based on its APPEARANCE FIELD whether or not to make the item 
available for sale.

To remove an item from a shopkeeper's storage list, issue a %SHOPTAKE <item 
name> command. 


MONSTER CREATION AND MODIFICATION ----------------------------------------

The %CREATEMONSTER and %EDITMONSTER commands can be used to create and 
modify monsters.  Upon issue of either command, you will be presented with 
the following data form:

--------------------------------------------------------------------------
                              Monster Edit                                
   Use CTRL-W or move beyond first/last field to write. [ESC] to cancel.  
--------------------------------------------------------------------------
                                                                          
_____________________ [_____]  (______________, __________ ) - Level: ___ 
                                                                          
Experience: ______________                                                
Hit points: _____ of _____                                                
                                                                          
Armor Class: ___                                                          
                                                                          
Weapon: ______________________      Attack Verb: _______                  
To Hit:  ____  _____  +  ___                                      
                                                                          
Aggressive: _                            Mobile: _                         
Gold Roll: ____________                 Random appearance in zone: _____  
                                                                          
Description:                                                              
__________________________________________________________________________
 
The first field, which is unnamed, is the NAME field.  This is the name and 
keyword of this creature.  Players can use this word to reference the 
monster.  For instance, "ATTACK ORCUS" will cause Illusions to search for a 
creature called ORCUS in the current room.

The next field, which is bracketed, contains the ALIGNMENT of the creature.  
Unless provoked, creatures will not attack other creatures of the same 
alignment.  Note that currently, all new characters have a "GOOD" 
alignment.

The RACE field of a monster allows you to logically group various monsters 
together.  Generally, the only value this serves is for magical weapons, 
since weapons can be assigned to do extra damage against certain types of 
creatures, and the RACE field is one of the key fields along with 
ALIGNMENT, NAME, and OCCUPATION.

The LEVEL field holds the monster's experience level.  This skill level is 
equivalent to a player's skill level.  The higher this number, the more 
skilled this creature is in combat and the more likely it will score a hit.

The EXPERIENCE field holds the bonus that a player with receive every time 
a hit is scored upon this creature.  Whenever the player successfully hits 
this creature, their experience will be boosted by this amount.  With that 
in mind, higher skilled and more difficult to kill creatures should be 
given more experience points.

The MAXIMUM HIT POINTS field stores the hitpoints that the monster receives 
every time that they are regenerated.  This number represents the maximum 
number of hit points that a player can inflict upon the creature before it 
dies.

The ARMOR CLASS field determines how difficult it is to hit this monster.  
This value can be virtually any value, but typically values between -10 and 
25 are most reasonable.  Note that once the number reaches 0, it becomes 
highly unlikely that a player will score a hit without using magical means,

The TO WEAPON field is used to specify a description of the weapon that you 
have armed this creature with.  This field really doesn't serve any useful 
purpose except to offer players a little variety when EXAMINING the 
monsters in your Illusions world.

The ATTACK VERB is similar to the TO WEAPON field in that it serves to add 
spice to the game.  This verb must end with an "s" and will be displayed 
whenever the creature attacks someone else.  The following are common 
attack verbs: claws, strikes, thrusts, slices, gazes, bites, hugs, etc.

The TO HIT field is the bonus to the monster's attack roll.  This works in 
combination with the level field to determine how likely it is that this 
creature will score a hit. 

The next field is the DAMAGE field, and this holds the dice roll from which 
damage to opponents is calculated.  As is required for all dice rolls, this 
field must have the following format:

	(Number of times to roll) d (Maximum value of a  single roll)

	For example: 1d10 will roll a ten-sided dice once
		        2d15 will roll a fifteen-sided dice twice

For best program execution speed,  keep the first number relatively small.

The field directly after DAMAGE is the DAMAGE ADJUSTMENT field.  This is 
simply a damage offset, and this value is added to the DAMAGE ROLL to 
create the total damage inflicted on a successful hit.

The AGGRESSIVE field determines if your monster will attack without 
provocation.  An aggressive monster will attack as soon as a player enters 
the room.  An unassertive monster will only attack after it has been 
attacked and has thus become enraged.

The MOBILE field determines if your monster will be randomly moved after it 
is killed.  A MOBILE monster will be deposited randomly into another room 
in its zone after it has been killed.  If a monster is not MOBILE, it will 
vanish once killed and reappear in the same room on the next day.  The 
RANDOM APPEARANCE IN ZONE field contains the zone number that your monster 
is restricted to (assuming it is MOBILE).

The last field is the DESCRIPTION field.  This field contains the 
description of the monster as characters will see it when they enter the 
room.  If none is given, just the name of the monster will be used for the 
display.  Feel free to be as creative as you would like when using the 
field!

Once a monster or NPC (non-player character) has been created, a duplicate 
can be generated by using the %COPYNPC <name> command.  Simply supply the 
name of the NPC or monster you wish to copy, and a new one will appear in 
the current room.  After copying, if you wish to change the name of the new 
NPC, simply use the %EDITMONSTER command.

SHOP CREATION ------------------------------------------------------------

Shops can be attached to any shopkeeper in the game. To create a shopkeeper 
either use the %COPYNPC command to copy an existing shopkeeper (using 
%EDITMONSTER to change their name), or use %CREATEMONSTER to create an NPC 
and then set their occupation field to SHOPKEEPER.

Once a shopkeeper has been created, a shop can be attached to them using 
the %CREATESHOP command.  After issuing the command you will be prompted 
for the name of the shopkeeper you wish to attach this shop to, as well as 
the type of shop you wish to create.  Note that if you wish to create a 
shop that can both buy and sell items, you will need to create two entries 
for that shopkeeper, one for buying and one for selling.  If you are 
setting up a shop that will buy items back from players, you will need to 
supply a BUYCLASS which indicates which class of items you wish this shop 
to buy back.

To delete a shop, use the %DELSHOP command and select the appropriate shop 
for deletion from the list.  If the shop keeper is carrying or storing any 
items, they will be deleted along with the shop entry.  If you wish to list 
all of the shops in the current world, use %LISTSHOPS.

The response text and the buy/msg class of a shopkeeper (for those buying 
items back from players or talking to them) can be set using the %EDITSHOP 
command.  Again you will need to select the actual shop from a list in 
order to do your editing.

If you are creating a shop that will sell items to players, and you wish 
for items to randomly appear in the shop, see the section above for 
information on "giving" an item to a shopkeeper.  The commands involved are 
%SHOPGIVE, %SHOPTAKE, and %SHOPITEMS.

For shopkeepers that talk to a player via the TALK command, you will need 
to select the message class that this shopkeeper uses.  Messages can be 
created with the message commands (see section below).  When a player talks 
to a message shopkeeper, they will be prompted for a "gold donation" 
(unless the message class ends with a "*", see below for more information).  
Based on this amount, a random message from the shopkeeper's message class 
is selected and displayed.  Only messages that cost less than or the same 
amount as the donated gold will be included in the random display.  Thus, 
more important and rarer messages can be assigned a higher cost. 
 
CREATING/EDITING TALK MESSAGES -------------------------------------------

Certain shopkeeper's can be instructed to TALK to a player upon issue of 
that command.  When triggered, the shopkeeper will select a random message  
from their message class and display it to the user.  The %CREATETALK, 
%DELTALK, %CREATETALK, and %EDITTALK commands can be used to create 
messages and message classes that the talking shopkeepers can draw from.

To create a message, simply type %CREATETALK and complete the form.  The 
message text is contained within the memo field.  The title of the message 
is the handle by which you'll be able to reference this message (for later 
editing and deletion).  The cost is the minimum gold amount a player must 
give the shopkeeper keep in order to see the message.  The class is the 
message class that this message is associated with.  A talking shopkeeper 
is assigned an individual message class and they draw the responses from 
there.  NOTE: if the message class ends with an *, such as "SWORD*", a 
shopkeeper assigned this class WILL NOT ask for a gold amount, and instead 
will assume a 0 gold donation.  Use of a "*" message class allows 
shopkeepers to simply respond when queried with TALK.

If you wish to see all of the messages in the system, type %LISTTALK.  If 
you wish to just display the messages within a given class, type %LISTTALK 
<class name>.

To later edit a message, type %EDITTALK <message title>, where <message 
title> is the title of the message you wish to edit.  

CREATING/EDITING SPELLS ---------------------------------------------------

The %CREATESPELL, %EDITSPELL, %DELSPELL, and %LISTSPELLS commands can be 
used for spell creation and modification.  These commands work in a similar 
fashion to the message modification commands.

The %LISTSPELLS command can be used to list all the spells in the current 
world.  If you wish to just list a particular class of spells, use the 
%LISTSPELLS <class name> command, such as %LISTSPELLS WIZARD.

When editing or creating a spell, the following data form will appear:

--------------------------------------------------------------------------
                              Spell Modification                                
   Use CTRL-W or move beyond first/last field to write. [ESC] to cancel.  
--------------------------------------------------------------------------

Name: _______                              Class: _______
Level: __                                  SPoints: ________

Effect:     __________              Target: _
AlterField: __________
NReplace:   __________              Dice Roll: ______       Adj: ___

MByLevel:   _                       EffectAll _

Display: ________________________________________________________________

Exp:     ____
                                                                          
__________________________________________________________________________
 
The NAME of the spell is simply the title of the spell.  This name is the 
one used by players when casting the spell.

The CLASS is the type of spell class for this spell.  Valid values are 
WIZARD, CLERIC, or MAGICIAN.

LEVEL is the spell level for this spell.  More advanced characters can cast 
spells with a higher spell level.

SPOINTS is the amount of spell energy required to cast this spell.

The EFFECT field determines how the spell should effect the field specified 
in ALTERFIELD.  Note that the "generated number" indicated below will be 
described in a bit. Valid values for the EFFECT field are:

   REPLACE  : the ALTERFIELD value is replaced by the generated number
   DAMAGE   : the ALTERFIELD value is lowered by the generated number
   HEAL     : the ALTERFIELD value is raised by the generated number
   LIGHT    : a special type that allows LIGHT spells, ALTERFIELD is 
              ignored in this case

The TARGET field determines if this spell requires a target.  The only 
spells that don't require a target are those with the EFFECTALL set, or 
those with an EFFECT of light.

The ALTERFIELD determines the target of the EFFECT verb, valid values for 
this field are:

   LOCATION : the target's location is modified (Teleportation)
   EXP      : the target's experience is modified
   HPOINTS  : the target's hit points are modified
   SPOINTS  : the target's spell points are modified
   GOLD     : the target's gold is modified
   ENRAGED  : the target's ENRAGED (for NPCs only) status is modified
  
Note that if invalid types are used in the EFFECT or ALTERFIELD fields, a 
runtime error will occur when the spell is cast, so check your spelling 
carefully and test your spell.

The actual number used by EFFECT and ALTERFIELD is generated from the 
values of NREPLACE, DICEROLL, and ADJ.  If NREPLACE is non zero, the 
NREPLACE value is used directly.  If NREPLACE is zero, then the value is 
computed from the DICEROLL and ADJ field.  This computation is the same as 
is done for weapons and basic damage, so see the previous sections for 
information on die rolls and adjustments.

The MBYLEVEL field determines if the number generated should be multiplied 
by half of the player's level.  This allows spells to have an increasing 
effect as a player's level increases.

The EFFECTALL field determines if this spell should affect ALL non-player 
characters in the room.  Use of this field allows for the creation of some 
VERY powerful spells.

The DISPLAY is the display seen by the player when the spell is cast.  Note 
that if the spell is against a target, the target's name precedes the 
display.

The EXP field indicates how much experience is given to the player when 
they cast this spell. This field can be negative for loss of experience.

Examine the existing spells for examples of how spells should be created.  
Also, remember that items can have spells attached to them, so the 
combination of created items and spells can make for a very interesting 
world.


CREATING TRAPS ------------------------------------------------------------

A trap is anything that happens to a character when they interact with some 
item in the room.  A trap can be anything you like, from trap doors, to 
sliding panels, to quicksand, to teleporting chairs, etc.  In addition, a 
trap can be automatic and be triggered on every round that a player stays 
in the current room.

Trap creation is a twofold process.  First you need to create the trap 
definition, and that can be accomplished via the %CREATETRAP command.  
Next, you need to modify your room description to contain some reference to 
the trap, such that the player is at least given some hint as to what to 
interact with.  This is an important point -- traps contain nothing but the 
implementation, and the description of the trap MUST be contained within 
the room text.

Upon issue of the %CREATETRAP command, the follow trap data form will be 
displayed:

--------------------------------------------------------------------------
                               Edit Trap                                  
  Use CTRL-W or move beyond first/last field to write. [ESC] to cancel.   
--------------------------------------------------------------------------
                                                                          
Command Set: _____________________ Noun: _______________________________  
_______  __________________                                               
                                                                          
Dice roll: _____ + ________                                               
                                                                          
Display as seen by player:                                                
________________________________________________________________________  
                                                                          
Display as seen by players in room:                                       
________________________________________________________________________  
                                                                          
Loop to command prompt: _                                                 
Disarmed: _                                                               

The COMMAND SET field contains all possible verbs that the player can use 
to active the trap.  It can contain multiple verbs, but each verb needs to 
be surrounded by a "." to allow Illusions to parse the verb list.  Note 
that these verbs DO NOT NEED to be part of the Illusion command list, and 
anything you like can be here.

Here are some COMMAND SET examples:

     .PULL.TWIST.KICK.
     .EAT.BITE.SWALLOW
     .TAKE.
     .SAY.

Illusions also allows "automatic" traps.  These traps trigger themselves 
every round, and the player does not need to manually activate the trap.  A 
trap can be made automatic by simply including the ".AUTO." verb in its 
command list.  Some examples of automatic traps are trap doors, quicksand, 
a rushing river, and a falling log.

The next field, the NOUN field, contains the "noun" that Illusions will 
look for on the command line.  This noun also serves as the tag from which 
you can later modify the trap.  For instance, if a torch can be pulled to 
open a sliding panel, the COMMAND SET and NOUN field might be set as 
follows:

command set: .PULL.TWIST.PUSH.	noun: TORCH.

Later, if you wish to modify this trap, you can issue the command 
"%EDITTRAP TORCH" and the trap data form will be displayed, complete with 
the values defining the "torch" trap.  The NOUN field can be set to '*' if 
you wish any noun to match this trap.  For instance a trap with 
VERB=".YELL." and NOUN="*" will fire anytime the player yells in the room.  
Only the first character in the noun field needs to be a "*" to match 
anything.   This allows multiple traps in the same room that use a wildcard 
noun match since one could have the noun "*1" and the other could have 
"*2".  Because they are different nouns, editing of the traps is possible.

Beneath the COMMAND SET field lies the unnamed ACTION field.  Use this 
field to specify what type of action to take on the event of a trap 
trigger.  This field can contain one of three words: ADD, SUBTRACT, or 
REPLACE.   This field works in conjunction with the PLAYERS-> and DICE ROLL 
field.  The PLAYERS-> field contains the player attribute to modify when 
this trap is triggered, and the dice roll contains the value to modify that 
attribute with.  The DICE ROLL field is a standard dice roll, i.e. 1d12+20.  
Note that absolute values can be specified by leaving the first field of 
the DICE ROLL blank, and just specifying an offset.

The following attributes are allowed to appear in the PLAYERS-> field:

Setting   Effect on player              Notes
--------  ------------------            -------
HPOINTS   Player's current hitpoints    Damage
SPOINTS   Player's current spell points
LOCATION  Player's location             Teleportation
GOLD      Player's gold
EXP       Player's experience

For example, if the ACTION field is "ADD", and the PLAYERS-> field is 
"GOLD", and the DICE ROLL field is "1d100+100", then whenever this trap is 
triggered the player's gold will be increased by 100 to 200 gold pieces.

And as another example, if the ACTION field is "REPLACE", and the PLAYERS-> 
field is "LOCATION", and the dice roll field is "     +1000", then whenever 
this trap is triggered, the player will be teleported to room number 1000.

The next two fields are display fields.  The first, DISPLAY AS SEEN BY THE 
PLAYER, contains the display that the player will see when they trigger the 
trap.  If you wish to include the random number generated by the dice roll, 
simply include a %D string inside the text, and the %D will be replaced 
with the dice roll.

Here is an example:  "You sink into quicksand for %D damage."
On this example, the ACTION field is DAMAGE, the PLAYERS-> field is 
HPOINTS, and the DICE ROLL field could be anything.

The next display field, DISPLAY AS SEEN BY PLAYERS IN THE ROOM, contains 
the display that other people will see when a player triggers a trap.  For 
instance, in the quicksand example, a useful display string might be "sinks 
into quicksand!!!!!".  It is important to note that Illusions will preface 
the string you type with the player's name who triggered the trip.  So if 
Frodo triggered the trap, the quicksand example would read "Frodo sinks 
into quicksand!!!!!".  Optionally, this field can be prefaced with a "%E" 
to broadcast a message to all players in the game.  For instance, if this 
field was "%EThe tower bell rings!", then all players would see "The tower 
bell rings!" whenever this trap was triggered.

The next field, LOOP TO COMMAND PROMPT, contains either a T or F.  If this 
field is true, Illusions will not attempt to parse and execute the command 
string, and instead will immediately return to the command prompt after 
triggering the trap.  If this field is false, Illusions will process the 
command line normally after the trap is triggered.

The final field, DISARMED, is another T or F field.  When this field is 
false, the trap is disarmed and cannot be triggered.

If you wish to list the traps in the current world, use %LISTTRAPS.  If you 
wish to list all of the traps in the current world, use %LISTTRAPS ALL. 

To delete a trap, use the %DELTRAP command with the associated traps noun, 
and it will be removed from the current room.  An example is, %DELTRAP 
leather book. 
