wileymud-1.187b/
wileymud-1.187b/attic/
wileymud-1.187b/attic/bin/
wileymud-1.187b/attic/lib/
wileymud-1.187b/attic/lib/adm/
wileymud-1.187b/attic/lib/man/
wileymud-1.187b/attic/lib/new-wld/
wileymud-1.187b/attic/lib/new-wld/default/
wileymud-1.187b/attic/lib/old/
wileymud-1.187b/attic/lib/wld/
wileymud-1.187b/attic/public_html/
wileymud-1.187b/attic/public_html/gfx/
wileymud-1.187b/attic/src/bin/
wileymud-1.187b/attic/src/etc/
wileymud-1.187b/attic/src/libauth-4.0-p5/
wileymud-1.187b/attic/src/sedna/
wileymud-1.187b/backups/
wileymud-1.187b/bin/
wileymud-1.187b/docs/
wileymud-1.187b/etc/
wileymud-1.187b/lib/
wileymud-1.187b/lib/adm/
wileymud-1.187b/lib/boards/
wileymud-1.187b/lib/log/
wileymud-1.187b/lib/man/
wileymud-1.187b/lib/ply/
wileymud-1.187b/lib/ply/a/
wileymud-1.187b/lib/ply/b/
wileymud-1.187b/lib/ply/c/
wileymud-1.187b/lib/ply/d/
wileymud-1.187b/lib/ply/g/
wileymud-1.187b/lib/ply/k/
wileymud-1.187b/lib/ply/m/
wileymud-1.187b/lib/ply/s/
wileymud-1.187b/lib/ply/t/
wileymud-1.187b/public_html/gfx/
wileymud-1.187b/src/bin/
wileymud-1.187b/src/convert/attic/
wileymud-1.187b/src/convert/obj/
wileymud-1.187b/src/convert/perl/
wileymud-1.187b/src/convert/perl/MudConvert/
wileymud-1.187b/src/convert/perl/MudConvert/DUMP/
wileymud-1.187b/src/convert/perl/MudConvert/Report/
wileymud-1.187b/src/convert/perl/MudConvert/WileyMUD/
wileymud-1.187b/src/convert/perl/output/
wileymud-1.187b/src/convert/perl/output/DUMP/
wileymud-1.187b/src/convert/perl/output/Report/
wileymud-1.187b/src/convert/perl/output/WileyMUD/
wileymud-1.187b/src/etc/
wileymud-1.187b/src/etc/init.d/
wileymud-1.187b/src/etc/rc.d/
wileymud-1.187b/src/etc/rc.d/init.d/
wileymud-1.187b/src/lib/
wileymud-1.187b/src/lib/adm/
wileymud-1.187b/src/lib/boards/
wileymud-1.187b/src/lib/log/
wileymud-1.187b/src/lib/man/
wileymud-1.187b/src/lib/ply/
wileymud-1.187b/src/lib/ply/a/
wileymud-1.187b/src/lib/ply/b/
wileymud-1.187b/src/lib/ply/c/
wileymud-1.187b/src/lib/ply/d/
wileymud-1.187b/src/lib/ply/e/
wileymud-1.187b/src/lib/ply/f/
wileymud-1.187b/src/lib/ply/g/
wileymud-1.187b/src/lib/ply/h/
wileymud-1.187b/src/lib/ply/i/
wileymud-1.187b/src/lib/ply/j/
wileymud-1.187b/src/lib/ply/k/
wileymud-1.187b/src/lib/ply/l/
wileymud-1.187b/src/lib/ply/m/
wileymud-1.187b/src/lib/ply/n/
wileymud-1.187b/src/lib/ply/o/
wileymud-1.187b/src/lib/ply/p/
wileymud-1.187b/src/lib/ply/q/
wileymud-1.187b/src/lib/ply/r/
wileymud-1.187b/src/lib/ply/s/
wileymud-1.187b/src/lib/ply/t/
wileymud-1.187b/src/lib/ply/u/
wileymud-1.187b/src/lib/ply/v/
wileymud-1.187b/src/lib/ply/w/
wileymud-1.187b/src/lib/ply/x/
wileymud-1.187b/src/lib/ply/y/
wileymud-1.187b/src/lib/ply/z/
wileymud-1.187b/src/obj/
wileymud-1.187b/src/utils/
wileymud-1.187b/src/utils/mobmaker/
                              -= WileyMUD Docs =-
  			    Modified for WileyMUDII

-= These documents accurate for:

wiley_file.wld
wiley_file.mob
wiley_file.obj
wiley_file.zon
wiely_file.shp

-= World File field description:

Basic template of a room:

<#virtual_number>
<name>~
<description>
~
<zone room_flags sector_type>
<exit>
<exit_description>
~
<exit_keywords>~
<exit_type key_number room>
<E>
<keywords>~
<extra_description>
~
S

Explanations:

<virtual number>:
  A number for the given room. No two rooms may have the same number.
  The <virtual number> must always increase when browsing down the 
  world file (but increments can be larger than one).
  ie.
     #3001
     #3002
     #3010

<name>~:
  This name is the "title" of the room.  It is very important to have a 
  title to your room as that is the only part of a room that will print
  when 'brief' has been set on a player.  A tilda must follow the name
  of your room.

<description>:
  This is what will print to a character who walks into a room, this should
  include what the room looks like, what the people see and why they see
  it.  There must be a tilda on a line by itself below the last line of
  the description.

<zone nr>:
  This is the zone in which the room will reside for purposes of a reset.
  Your room must have a zone or it will have no place in the world to 
  which you build it for.

<room_flags>:
  A bitvector consisting of the room conditions.  The ones that are desired
  are added together and that number is used for the final bit.

  DARK           1  Light must be used to see anything.
  DEATH          2  Do not use.
  NO_MOB         4  No monsters may walk into this room. 
  INDOORS        8  The room is indoors.  (cave/house/tent/etc) 
  PEACEFUL      16  No fighting can be attempted.
  NO_STEAL      32  No stealing can be attempted. 
  NO_SUM        64  Nothing can be summoned from this room.
  NO_MAGIC     128  No magic can be cast.
  PRIVATE      512  This room cannot be accesed by a teleport spell.
  SOUND       1024  The room eminates sounds.

  SOUND requires addition of two fields below <zone room_flags sector_flags>.

  <zone room_flags sector_flags>
  <sound one>
  ~
  <sound two>
  ~
  <exit>

<sector_type>:
  This determines how many movement points are used when moving through
  the room.  This is a bit table, not the amount of movement it actually
  takes to move through this room.

  SECT_TELE           -1  Telepprts things within.
  SECT_INSIDE          0  Indoors.
  SECT_CITY            1  City.
  SECT_FIELD           2  Field.
  SECT_FOREST          3  Forest.
  SECT_HILLS           4  Hills.
  SECT_MOUNTAIN        5  Mountains.
  SECT_WATER_SWIM      6  Swimming.
  SECT_WATER_NOSWIM    7  Requires use of a boat.
  SECT_AIR             8  Requires use of flight.
  SECT_UNDERWATER      9  Requires water breathing.

 SECT_TELE:
  The below parameters must be placed behind the <sector_type>.

 <teleport_time> <to_room> <do_look> <real_sector_type>

  <teleport_time>:
     A multiple of 10, the higher the number, the longer the wait before 
     the teleports activates.  (10 is a combat round) 
  <to_room>:
     The room to which you are teleported to.
  <do_look>:
     If this value is a non-zero you will automatically look when entering
     the new room.
  <real_sector_type>:
     What this sector costs for movement.  (refer to sector_type chart)

 SECT_WATER_NOSWIM:
  The below parameters must be place behind the <sector type>.

 <river_speed> <flow_direction>

  <river_speed>:
    The time it takes before you drift through a exit.
  <river_direction>:
    The exit through which you will drift.  The exit must exist or no 
    drift will occur.

<exit>:
  This combination of a 'D' and exit number.  This field states that a 
  exit will be leaving the room in one of the cardinal directions.

  0 = North
  1 = East
  2 = South
  3 = West
  4 = Up
  5 = Down

<exit description>:
  What a player will see if he in the direction of this exit.  There must
  be a tilda on a line by itself after this field.

<exit keywords>:
  A keyword is what the exit is called if you have to open it.  This is also
  used if you want the <exit description> printed out if they look at a
  keyword.  If the exit is a door, you must have a keyword, without one the
  door cannot be opened or used in any way.

<exit_type>:
  This field determines what type of portal the exit is.  If it is anything
  other than '0' there must be a keyword for it to be acted upon.  A door is
  considred opened by the game unless it is closed in the zone file.

    0  A open passage.
    1  Door which can be opened/closed/locked/unlocked/picked
    2  Door which can be opened/closed/locked/unlocked
    3  Secret door which can be opened/closed/locked/unlocked/picked
    4  Secret door which can be opened/closed/locked/unlocked

<key_number>:
  The number of the object which can unlock/lock the door.  A value of -1
  means there is no key for this door.

<to_room>:
  The virtual number of the room to which the exit leads. If this number is
  -1, the exit doesn't lead anywhere, this is used when you need a exit 
  description but don't need it to go anywhere.

  You must have a door between both rooms that the door seperates.

-= Exit aliasing:

  This allows you to have a alternate name to a exit.  The northern exit
  could be called a cave instead of north.  This is accomplished by adding
  4 to the exit type that you desire.  ie. 1 + 4 = 5 to include a alias.
  Please note that the alias for the exit must be included in the <keywords>
  for that exit.

-= Extra descriptions:
   
  Extra descriptions are used for things within the room that you would like
  the player to be able to look at.  This is signified by placing a 'E' on
  a line by itself after all exits have been completed.  Below the 'E' you 
  must add these fields.

 <keyword list>~:
  A list of the keywords that will allow the extra description to be
  displayed. The keywords must must be seperated by blanks.  This must 
  be followed by a tilda.

 <description>:
  The description that is show when a player types 'look at <keyword>'
  and keyword matches one of the above.  There must be a tilda on a line
  by itself following the description.

Example room:

#3001
The Griffons Tail~
  Warm candlelight burns about you as you glance into this small bar and
inn.  About you people talk amungst themselves around small oaken tables,
most moving uncomfortably upon their small stools.  Near the far wall a
tall bench serves as the bar for this inn, behind which stands a large man
cleaning a wooden mug.
  A door lies to the west while archways lead east and south from here.
~
3 12 0
D1
The archway seems to lead into another chamber, most likely where people
to when they feel they need to rest.
~
~
0 -1 3008
D2
You can see a large bulletin board not for into this chamber.
~
~
0 -1 3048
D3
The door is made of solid oak, the brass handle shines in the warm light.
~
door~
1 3010 3000
E
bar~
  The bar holds many drinks upon it from those that mill about, the barkeep
fills them from time to time, spilling a bit as he looses his attention.
~
S
#3002
...

-= Facts about this room is:
    Room number: 3001
    Room name: The Griffons Tail
    Zone number: 3 
      Room Flags: 12 (8+4=12) "INDOORS and NO_MOB"
      Sector Type: 0 "Inside"
    Exits:
      A eastern exit which has:
        A description when someone looks east.
        No key-words for the exit.
        A open passageway.
        No key.
        Leads to another room, 3008.
      A southern exit which has:
        A description when somone looks south.
        No key-words for the exit.
        A open passageway.
        No key.
        Leads to another room 3048. 
      A western exit which has:
        A description when someone loods west, or at 'door'.
        A keyword of door.
        A pickable door.
        A key with object number 3010.
        Leads to another room 3000.
    Extra Description: bar
 
=-=-=-=-=-=-=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

-= Monster fields description:

Basic template of a mobile:

<#virtual_number>
<name_list>~ 
<short_description>~
<long_description>
~
<description>
~
<action_flags affects_flags alignment type>
<level thac0 AC hit_points damage>
<-1 gold experience race_type>
<position def_postion sex resistances immunites suscebilities>
<room_sound>
~
<distant_sound>
~

-= Explanations:

<#virtual_number>:
  The monsters virtual number.  These work best if in numerical order.
  ie.
   #102
   #201

<name_list>~:
  This are the names by which the mob can be accesed for player actions such
  as 'look at buck'.  In there 'buck' must be one of the names in the 
  <name_list> for the mob to be looked at.

<short_description>~:
  This string will be displayed when the monster takes action.  This is when
  the mob does anything, ie.  A small boy leaves south, A small boy misses you
  with his hit.

<long_description>:
  This string is displayed when the current position of the mob matches that
  of the default position.  If those two do not match the string will simply
  read, A small boy is sitting here.  There must be a tilda on a line by 
  itself following this description.

<description>:
  This string will be displayed when a player looks at the monster.  There
  must be a tilda on a line by itself following this description.

<action_flags>:
  This bitvector define how the monster behave.  The desired bits are to be
  added together and that final bit is to be used as <action_flags>.

  ACT_SPEC          1  This bit should not be set.
  ACT_SENTINEL      2  The mob will not move out of its loading room.
  ACT_SCAVENGER     4  The mob will pick things up.
  ACT_ISNPC         8  Do not use.
  ACT_NICE_THIEF   16  The mob will not attack if a missed steal happens.
  ACT_AGGRESSIVE   32  The mob will attack only things it can see.
  ACT_STAY_ZONE    64  The mob will not move out of its loading zone.
  ACT_WIMPY       128  Mob will flee if injured.  If this bit is combined with
                       ACT_AGGRESSIVE the mob attacks sleeping pc's only.
  ACT_HATED       256  The mob will be attacked by other mobs.
  ACT_ASSASIN     512  Do not use.
  ACT_SCARED_PC  1024  Do not use.
  ACT_IMMORTAL   2048  Mob can not be attacked.
  ACT_HUNTING    4096  Do not use.
  ACT_DEADLY     8192  Do not use. 
  ACT_POLYSELF  16384  Do not use.
  ACT_POLYOTHER 32768  Do not use.
  ACT_GUARDIAN  65536  Do not use.
  ACT_USE_ITEM 131072  The mob will use items that it picks up.
  ACT_FR_MOVES 262144  The mob will use fighter skills.
  ACT_FD_PROV  524288  The mob has a chance to provide food when killed.
  ACT_PROT    1048576  Do not use.
  ACT_MOUNT   2097152  The mob can be ridden.

<affection_flags>:
  This is a bitvector that indicates what the monster is affected by.  The
  bits desired for a mob are added and the final number is that which is 
  used for <affection_flags>.

  AFF_INVISIBLE        2  The mob is invisible.
  AFF_DETECT_INVISIBLE 8  The mob can see_invisible.
  AFF_SENSE_LIFE      32  The mob can sense hidden pc's.
  AFF_SANCTUARY      128  The mob takes half damage.
  AFF_FLYING        2048  The mob can move into FLY sectors.
  AFF_INFRAVISION  32768  The mob can see in the dark.
  AFF_GILLS        65536  The mob can see underwater.
  AFF_SNEAK       524288  The mob will not be seen leaving/entering.
  AFF_HIDE       1048576  The mob will be hidden, even in combat.
  AFF_CHARM      4194304  The mob will act as charmed if a 'follow' command
                          is given to it.

<alignment>:
  This is the monsters alignment read as:
   1000 <> 350   (good alignment)
    349 <>-349   (neutral alignment)
   -350 <>-1000  (evil alignment)


<type>:
  There are four different types of a mobile.  The type defines what the
  mob will do in other respects besides those covered in <affect, action>.

  'D'  - Do not use.
  'S'  - Mob will not have multiple attacks or make sounds.
  'M'  - Mob can have more than one attack.  You must place a number after the
         M to designate how many attacks the mob shall have.  ie.  M 2
  'W'  - Mob can have multiple attacks and make sounds.  Attacks apply to the
         same rule as M mobs.  Sound is handled at the end of the template.

<level>:
  This is the level of the monster, and is used for the 'consider' command
  in game.

<thac0>:
  The amount the mob needs to hit armor class 0.  The lower the number the
  better the chance the mob will hit.  This number should be <level> + 2, with
  a max of 20.

<AC>:
  The mobs armor class.  The lower the number the harder it is to hit the 
  mob.  Figure in dexterity bonuses as dex 18=AC 6, 17=7, 16=8, 15=9, 14+=10.

<hit_points>:
  This defines the number of hitpoints a given monster has.  The format is:
  <level>d8+25.  Figure in constitution bonuses as con 18=+4 per <level>, 
  17=+3/level, 16=+2/level, 15=+1/level.  Constitution bonuses are added to
  the base 25.

<damage>:
  This is the bare_hand damage a mob will give.  The format is: 1d4+0 for any
  normal mobile.  The dice and additional strength damage can be increased
  if the mobile is deserving.

<-1>:
  This is stating that the mob will have a race, which will be place after the
  <experience>.  You do not have to have a race, therefore the -1 is not 
  needed in that case.

<gold>:
  This is how much gold the mob has on its body.  This amount can be stolen
  and is the amount a player will get from the corpse of the mob.

<experience>:
  This is how much exp a player will get for killing the mob.  A general rule
  for experience is 100*<level> + whatever amount you feel neccesary.  Do
  not give out a exuberant amount of exp, but enough to make the fight worth
  a players while.

<race>:
  This is activated by having a -1 in front of the <gold> portion of the mob
  template.  This number will be the race that the mob is seen as when a 
  player looks at it.  Mobs of the same race will help each other out in a 
  fight, keep that in mind.

  Races available:
   Player/Mobile races :
   RACE_HALFBREED 0
   RACE_HUMAN     1
   RACE_ELVEN     2
   RACE_DWARF     3
   RACE_HALFLING  4
   RACE_GNOME     5
   Mobile races :
   RACE_REPTILE  6
   RACE_SPECIAL  7
   RACE_LYCANTH  8
   RACE_DRAGON   9
   RACE_UNDEAD   10
   RACE_ORC      11 
   RACE_INSECT   12 
   RACE_ARACHNID 13
   RACE_DINOSAUR 14
   RACE_FISH     15
   RACE_BIRD     16
   RACE_GIANT    17
   RACE_PREDATOR 18 
   RACE_PARASITE 19 
   RACE_SLIME    20 
   RACE_DEMON    21 
   RACE_SNAKE    22 
   RACE_HERBIV   23 
   RACE_TREE     24 
   RACE_VEGGIE   25 
   RACE_ELEMENT  26 
   RACE_PLANAR   27 
   RACE_DEVIL    28 
   RACE_GHOST    29 
   RACE_GOBLIN   30 
   RACE_TROLL    31 
   RACE_VEGMAN   32 
   RACE_MFLAYER  33 
   RACE_PRIMATE  34 
   RACE_ANIMAL   35
   RACE_FAERY    36
   RACE_PLANT    37

<position>:
  This defines the monster's position when loaded into the game.
  A position is one of:

   Position_Sleeping   4  The mob is sleeping.
   Position_Resting    5  The mob is resting.
   Position_Sitting    6  The mob is sitting.
   Position_Standing   8  The mob is standing.

<def_position>:
  This is the position into which the monster will return after a fight.
  This must be the same as the <positon> or the <long_description> will not
  print out.

<sex>:
  This is the monsters sex.  If the mob is going to have <immunities, ect>,
  you must add 3 to the sex, and then you may include those fields.  

   Neutral   0
   Male      1 
   Female    2 

<resistance> <immunity> <susceptibility>:
  This combination of numbers will make the mob resistant to those types of
  attacks and damages.  Each field uses the numbers below to result in the
  resistances, immunities, and suscebilities.  This field is only active if
  a 3 has been added to the sex of the mob.

  Imm_Fire    1
  Imm_Cold    2
  Imm_Elec    4
  Imm_Energy  8
  Imm_Blunt  16
  Imm_Pierce 32
  Imm_Slash  64

<sound_one>:
  This is the sound that will be heard if you are in the same room as the W
  type mob.  Only the 'W' type mobs are allowed to have this field.

<sound_two>:
  This is the sound you will hear if you are standing one room away from the
  mob that emits the sound.  Only 'W' type mobs are allows to have this field.

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

-= Object field description:

Basic object template:

<#virtual_number>
<name_list>~
<short_description>~
<long_description>~
<action_description>~
<type_flag> <extra_flag> <wear_flag>
<value0> <value1> <value2> <value3>
<wieght> <value> <cost/day>
<A>
<location> <modifier>
<E>
<keyword_list>~
<extra_description>
~

<#virtual_number>:
  This is the virtual number of the object.  Object numbers must increase
  in number with each additional object.  
  #234
  #235
  #391

<namelist>~:
  These are the various names that the obj can be accessed with.  They must
  be obvious enough so that a player can manipulate the obj.

<short_description>~:
  This string will be displayed when the object is used.  This field is
  the name of the obj as it will appear in a players inventory or when the
  obj is manipulated.

<long_description>~:
  This description is displayed when the object is lying on the ground.

<action_description>~:
  This field is not used for all objects other than the audio object for which
  it is used as the sound that the object will make.

<type_flag>:
  This defines what kind of obj you are making.  A obj can ony be one of
  the listed below.

   ITEM_LIGHT      1  Obj gives off light.
   ITEM_SCROLL     2  Obj can be a read spell.
   ITEM_WAND       3  Obj can use a spell.
   ITEM_STAFF      4  Obj can use a spell.
   ITEM_WEAPON     5  Obj is a weapon.
   ITEM_FIREWEAPON 6  Do not use.
   ITEM_MISSILE    7  Do not use.
   ITEM_TREASURE   8  Obj is jewelry worth coin.
   ITEM_ARMOR      9  Obj is armor.
   ITEM_POTION    10  Obj can be quaffed.
   ITEM_WORN      11  Obj can be worn.
   ITEM_OTHER     12  Obj is misc.
   ITEM_TRASH     13  Obj is junk.
   ITEM_TRAP      14  Obj is a trap.
   ITEM_CONTAINER 15  Obj is a container.
   ITEM_NOTE      16  Obj is a note, can be written upon.
   ITEM_DRINKCON  17  Obj is a drink container.
   ITEM_KEY       18  Obj is a key.
   ITEM_FOOD      19  Obj is food.
   ITEM_MONEY     20  Obj is a amount of coins.
   ITEM_PEN       21  Obj is a pen, can write on a note.
   ITEM_BOAT      22  Obj allows a player to move into SECT_NOSWIM.
   ITEM_AUDIO	  23  Obj will make a sound.
   ITEM_BOARD	  24  Obj can be a bulletin board.

<extra_flag>:
  This bitvector defines the affects and restrictions of the obj.  The
  desired bits below are added together and the final number is used as
  the <extra_flag> bit.

   ITEM_GLOW             1  Obj glows.
   ITEM_HUM              2  Obj hums.
   ITEM_INVISIBLE       32  Obj is invisible.
   ITEM_MAGIC           64  Obj will have a blue hue if detect magic is cast.
   ITEM_NODROP         128  Obj cannot be dropped.
   ITEM_BLESS          256  Obj is blessed.
   ITEM_ANTI_GOOD      512  Obj cannot be held by a good alignment.
   ITEM_ANTI_EVIL     1024  Obj cannot be held by a evilalignment.
   ITEM_ANTI_NEUTRAL  2048  Obj cannot be held by a neutral alignment.
   ITEM_ANTI_CLERIC   4096  Obj cannot be used by a cleric.
   ITEM_ANTI_MAGE     8192  Obj cannot be used by a mage.
   ITEM_ANTI_THIEF   16384  Obj cannot be used by a thief.
   ITEM_ANTI_FIGHTER 32768  Obj cannot be used by a warrior.
   ITEM_ANTI_RANGER  65536  Obj cannot be used by a ranger.
   ITEM_PARISH	    131072  Obj ITEM_FOOD will decay.

<wear_flag>:
  This bit defines how and where the obj is manipulated within the game.  The
  desired bits are added together and used for <wear_flag> bit.  Please note
  that ITEM_TAKE should be set, or the object can never be picked up to be
  used.

   ITEM_TAKE            1  Obj can be picked up.
   ITEM_WEAR_FINGER     2  Obj can be worn on finger.
   ITEM_WEAR_NECK       4  Obj can be worn around neck.
   ITEM_WEAR_BODY       8  Obj can be worn on body.
   ITEM_WEAR_HEAD      16  Obj can be worn on head.
   ITEM_WEAR_LEGS      32  Obj can be worn on legs.
   ITEM_WEAR_FEET      64  Obj can be worn on feet.
   ITEM_WEAR_HANDS    128  Obj can be worn on hands.
   ITEM_WEAR_ARMS     256  Obj can be worn on arms.
   ITEM_WEAR_SHIELD   512  Obj can be used as a shield.
   ITEM_WEAR_ABOUT   1024  Obj is worn about body.
   ITEM_WEAR_WAISTE  2048  Obj can be worn around the waiste.
   ITEM_WEAR_WRIST   4096  Obj can be worn on wrist.
   ITEM_WIELD        8192  Obj can be wielded one-handed.
   ITEM_HOLD        16384  Obj can be held in a hand.
   ITEM_WIELD_TWOH  32768  Obj can he wielded two-handed.

<value 0> <value 1> <value 2> <value 3>:
  These values are very central. They define the ability of items based on
  the items <item_type>. These values are defined in below as each obj has
  different values.

Values are:
  (Items with no values listed must have a 0 assinged to all values)

ITEM_LIGHT (1)
Value[0]: 0
Value[1]: 0
Value[2]: Number of hours the light can be used for. Zero hours means that
          the light has gone out. A negative number will create an eternal
          light source.
Value[3]: 0

ITEM_SCROLL (2)
Value[0]: Level of the spell on the scroll.
Value[1]: Spell one.
Value[2]: Spell two.
Value[3]: Spell three.
  The values(1-3) are three (or less) different spells scribed on the scroll.
  Unused spells should be set to -1.

ITEM_WAND (3)
Value[0]: Level of spell in wand.
Value[1]: Max charges.
Value[2]: Charges left.
Value[3]: Spell in wand.

ITEM_STAFF (4)
Value[0]: Level of spell in staff.
Value[1]: Max charges.
Value[2]: Charges left.
Value[3]: Spell in staff.

ITEM_WEAPON (5)
Value[0]: 0
Value[1]: Number of die for damage.
Value[2]: Size of die for damage
Value[3]: The weapon type. Type is one of:

         NUMBER  CATEGORY   Message type
	    0  : Bludgeon      "smite/smites"
	    1  : Pierce        "stab/stabs"
            2  : Slash         "whip/whips"
            3  : Slash         "slash/slashes"
	    4  : Bludgeon      "smash/smashes"
	    5  : Slash         "cleave/cleaves"
            6  : Bludgeon      "crush/crushes"
            7  : Bludgeon      "pound/pounds"
	    8  : Mob           "claw/claws"
	    9  : Mob           "bite/bites"
           10  : Mob           "sting/stings"
           11  : Pierce        "pierce/pierces"

ITEM_FIREWEAPON (6)

ITEM_MISSILE    (7)

ITEM_TREASURE   (8)

ITEM_ARMOR      (9)
Value[0]: Effective AC of armor.
Value[1]: Original AC of armor (before damage).
Value[2]: 0
Value[3]: 0

ITEM_POTION    (10)
Value[0]: Level of the spell in the potion.
Value[1]: Spell one.
Value[2]: Spell two.
Value[3]: Spell three.
  The values(1-3) are three (or less) different spells, mixed in the potion.
  Unused spells should be set to -1.

ITEM_WORN      (11)

ITEM_OTHER     (12)

ITEM_TRASH     (13)

ITEM_TRAP      (14)
value[0]: The effect of the trap.

  TRAP_EFF_MOVE     1  Movement trigger, must be used with TRAP_EFF_(dir).
  TRAP_EFF_OBJECT   2  Trigger on a get or put of this obj, or in its chest.
  TRAP_EFF_ROOM     4  Triggers affect all in the room.
  TRAP_EFF_NORTH    8  Used with TRAP_EFF_MOVE.
  TRAP_EFF_EAST    16  Used with TRAP_EFF_MOVE.
  TRAP_EFF_SOUTH   32  Used with TRAP_EFF_MOVE.
  TRAP_EFF_WEST    64  Used with TRAP_EFF_MOVE.
  TRAP_EFF_UP     128  Used with TRAP_EFF_MOVE.
  TRAP_EFF_DOWN   256  Used with TRAP_EFF_MOVE.

value[1]: What type of damage the trap does.

  TRAP_DAM_SLEEP    -3  Makes player sleep for 12 hours.  Save vs spell.
  TRAP_DAM_TELEPORT -2  Player is teleported.  Save vs petrification.
  TRAP_DAM_ENERGY   10  Energy damage.
  TRAP_DAM_FIRE     26  Fire damage.
  TRAP_DAM_COLD    203  Cold damage.
  TRAP_DAM_ACID    206  Acid damage.
  TRAP_DAM_BLUNT   207  Blunt damage.
  TRAP_DAM_PIERCE  208  Piercing damage.
  TRAP_DAM_SLASH   209  Slashing damage.

value[2]: Level of the trap.  The higher the level, the larger the chance of 
          the trap being sprung.
value[3]: Charges on trap.

ITEM_CONTAINER (15)
Value[0]: Maximum weight the container can contain.
Value[1]: Container flags:

   CLOSEABLE 1
   PICKPROOF 2
   CLOSED    4
   LOCKED    8

Value[2]: The item-number of the object which can open the object. -1 means
          no lockability.
Value[3]: 0

ITEM_NOTE      (16)

ITEM_DRINKCON  (17)
Value[0]: Max drinks.
Value[1]: Number of drinks left.
Value[2]: The type of liquid in the drink-container, one of:

              Type           #      Drunkness   Fullness   Thirst
              LIQ_WATER      0      0           1           10
              LIQ_BEER       1      3           2           5
              LIQ_WINE       2      5           2           5
              LIQ_ALE        3      2           2           5
              LIQ_DARKALE    4      1           2           5
              LIQ_WHISKY     5      6           1           4
              LIQ_LEMONADE   6      0           1           8
              LIQ_FIREBRT    7      10          0           0
              LIQ_LOCALSPC   8      3           3           3
              LIQ_SLIME      9      0           4           -8
              LIQ_MILK       10     0           3           6
              LIQ_TEA        11     0           1           6
              LIQ_COFFE      12     0           1           6
              LIQ_BLOOD      13     0           2           -1
              LIQ_SALTWATER  14     0           1           -2
              LIQ_COKE       15     0           1           5

Value[3]: If non-zero, the drink is poisoned.

ITEM_KEY       (18)
Value[0]: The key-type. This value must match the lock-type of the door.
Value[1]: 0 
Value[2]: 0
Value[3]: 0

ITEM_FOOD      (19)
Value[0]: The number of hours, that this food will fill the stomach.
Value[1]: 0
Value[2]: 0
Value[3]: If this value is non-zero, the food is poisoned.

ITEM_MONEY     (20)
Value[0]: The number of gold coins.
Value[1]: 0
Value[2]: 0
Value[3]: 0

ITEM_PEN       (21)

ITEM_BOAT      (22)

Spells for items:
  (The Y/N are stating whether that spell can be in that item.  The MIN_LEV
   is the minimum level for that item spell level in the item)

                                   POTION  SCROLL  WAND  STAFF   MIN_LEV
TYPE_UNDEFINED               -1      Y       Y      Y      Y        -
SPELL_RESERVED_DBC            0      N       N      N      N        -
SPELL_ARMOR                   1      Y       Y      Y      N        >0
SPELL_TELEPORT                2      Y       Y      Y      Y        >0
SPELL_BLESS                   3      Y       Y      Y      N        ...
SPELL_BLINDNESS               4      Y       Y      Y      Y
SPELL_BURNING_HANDS           5      N       N      N      N        == 5
SPELL_CALL_LIGHTNING          6      Y       Y      N      Y        >=12
SPELL_CHARM_PERSON            7      N       Y      N      Y
SPELL_CHILL_TOUCH             8      N       N      N      N        == 3
SPELL_CLONE                   9      Y       Y      Y      N
SPELL_COLOUR_SPRAY           10      N       Y      Y      N        ==11
SPELL_CONTROL_WEATHER        11      N       N      N      N
SPELL_CREATE_FOOD            12      N       Y      N      N
SPELL_CREATE_WATER           13      N       N      N      N
SPELL_CURE_BLIND             14      Y       N      N      Y
SPELL_CURE_CRITIC            15      Y       N      N      Y
SPELL_CURE_LIGHT             16      Y       N      N      Y
SPELL_CURSE                  17      Y       Y      N      Y
SPELL_DETECT_EVIL            18      Y       N      N      Y
SPELL_DETECT_INVISIBLE       19      Y       N      N      Y
SPELL_DETECT_MAGIC           20      Y       N      N      Y
SPELL_DETECT_POISON          21      Y       Y      N      N
SPELL_DISPEL_EVIL            22      Y       Y      Y      Y       == 10
SPELL_EARTHQUAKE             23      N       Y      N      Y       == 7
SPELL_ENCHANT_WEAPON         24      N       Y      N      N
SPELL_ENERGY_DRAIN           25      Y       Y      Y      Y       == 13
SPELL_FIREBALL               26      N       Y      Y      N       == 15
SPELL_HARM                   27      Y       N      N      Y       == 15
SPELL_HEAL                   28      Y       N      N      Y
SPELL_INVISIBLE              29      Y       Y      Y      Y
SPELL_LIGHTNING_BOLT         30      N       Y      Y      N       == 9
SPELL_LOCATE_OBJECT          31      N       N      N      N
SPELL_MAGIC_MISSILE          32      N       Y      Y      N       == 1
SPELL_POISON                 33      Y       N      N      Y
SPELL_PROTECT_FROM_EVIL      34      Y       Y      Y      Y
SPELL_REMOVE_CURSE           35      Y       Y      N      Y
SPELL_SANCTUARY              36      Y       Y      N      Y
SPELL_SHOCKING_GRASP         37      N       N      N      N       == 7
SPELL_SLEEP                  38      Y       Y      Y      Y
SPELL_STRENGTH               39      Y       Y      N      Y
SPELL_SUMMON                 40      N       N      N      N
SPELL_VENTRILOQUATE          41      N       N      N      N
SPELL_WORD_OF_RECALL         42      Y       Y      Y      Y
SPELL_REMOVE_POISON          43      Y       N      N      Y
SPELL_SENCE_LIFE             44      Y       N      N      Y
SPELL_IDENTIFY               53     N       Y      N      N

<weight>:
  The weight of the item in pounds.

<value>:
  The value of the item if sold.

<cost/day>:
  The cost to store the item in the reception overnight.

<A>:
  This option is stating that the object has magical properties if it is
  held, worn or used by the player.  There can a maximum of two properties 
  to a object.

<location>:
  This is the area of the player that the obj will affect.

   APPLY_NONE           0  Do not use.
   APPLY_STR            1  Positive aids while negative hinders strength.
   APPLY_DEX            2  Positive aids while negative hinders dexterity.
   APPLY_INT            3  Positive aids while negative hinders inteligence.
   APPLY_WIS            4  Positive aids while negative hinders wisdom.
   APPLY_CON            5  Positive aids while negative hinders constitution.
   APPLY_SEX	        6  Do not use.
   APPLY_CLASS	        7  Do not use.
   APPLY_LEVEL 	        8  Do not use.
   APPLY_AGE            9  Positive will age while negative makes young.
   APPLY_CHAR_WEIGHT   10  Positive adds wieght while negative takes away.
   APPLY_CHAR_HEIGHT   11  Positive adds hieght while negative takes away.
   APPLY_MANA	       12  Positive adds mana while negative takes away.
   APPLY_HIT           13  Positive adds HP while negative declines HP.
   APPLY_MOVE	       14  Positive adds move while negative declines move.
   APPLY_GOLD          15  Positive adds gold while negative declines gold.
   APPLY_EXP	       16  Do not use.
   APPLY_ARMOR         17  Negative numbers make a lower AC.
   APPLY_HITROLL       18  Bonus/penalty to hit the opponent.
   APPLY_DAMROLL       19  Bouns/penalty to damage the opponent.
   APPLY_SAVING_PARA   20  Positive number helps make saving throw.
   APPLY_SAVING_ROD    21  Positive number helps make saving throw.
   APPLY_SAVING_PETRI  22  Positive number helps make saving throw.
   APPLY_SAVING_BREATH 23  Positive number helps make saving throw.
   APPLY_SAVING_SPELL  24  Positive number helps make saving throw.
   APPLY_SAVE_ALL      25  Adjustment to all 5 saving throws
   APPLY_IMMUNE        26  Resistance to spell or weapon/spell type.
                            Imm_Fire    1
                            Imm_Cold    2
                    	    Imm_Elec    4
  			    Imm_Energy  8
  			    Imm_Blunt  16
  			    Imm_Pierce 32
  			    Imm_Slash  64
   APPLY_SUSC          27  Susceptable to a above weapon/spell type.
   APPLY_M_IMMUNE      28  Make totally immune to a above weapon/spell type.
   APPLY_SPELL_AFFECT  29  Makes a item use a spell. (above list)
   APPLY_WEAPON_SPELL  30  A weapon uses a spell upon each hit. (above list)
   APPLY_EAT_SPELL     31  Food contains a spell cast when eaten.
   APPLY_BACKSTAB      32  Positive aids skill while negative is a detriment.
   APPLY_KICK          33  Positive aids skill while negative is a detriment.
   APPLY_SNEAK         34  Positive aids skill while negative is a detriment.
   APPLY_HIDE          35  Positive aids skill while negative is a detriment.
   APPLY_BASH          36  Positive aids skill while negative is a detriment.
   APPLY_PICK          37  Positive aids skill while negative is a detriment.
   APPLY_STEAL         38  Positive aids skill while negative is a detriment.
   APPLY_TRACK         39  Positive aids skill while negative is a detriment.
   APPLY_HITNDAM       40  Bonus/penalty for both to_hit and damage.

<modifier>:
  This is a negative or positive number following the <location>.

     A
     1 2

<E>:
  This option means that there will be a extra description.

<keyword_list>~:
  The words that are used to activate the extra descriptions buffer.

<extra_description>:
  The buffer that will print out if a player looks at one of the keywords.
  There must be a tilda on a line by itself following the description.

Example of a mobile:

#3001
punice baker~
Punice the baker~
The baker, Punice, looks at you calmly, wiping his hands on an apron.
~
  A fat, nice looking baker. But you can see that he has many scars on his
body.
~
2 0 900 W 2
15 2 2 15d8+170 1d4+4
-1 200 3000 1
8 8 1
Punice says, 'What can I get for you?".
~
~

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

-= The zone file description:

Basic template of a zone file:

<#zone_number>
<zone_name>~
<top_room> <reset_time> <reset_mode>
<command> <if_flag> <parm1/command> <max_existing/state> <parm2/room>
S

What this mess means:

<#zone_number>:
  This is the virtual_number of the zone.  The rooms that are part of this
  zone must match the <#zone_number>.  This number relates to objects and
  mobs as well.  The zone will work fastest if all the files that are being
  used inside a zone start with the zone number for their <#virtual_numbers>.

<zone_name>~:
  This is the name of the zone as it would appear in a table of all zones.
  There must be a tilda following the <zone_name>.

<top_room>:
  This is the largest <#virtual_number> of the rooms that are being loaded
  into this zone.

<reset_time>:
  This is the amount of time a zone will remain before it resets all the
  commands within its file.  This value is a number of minutes, usually
  between 30 minutes and a hour.  Zones that never reset have no need for
  a reset time, therefore this value can be placed at 0.

<reset_mode>:
  This field is a command: 0, 1, 2.  Any of those three numbers will tell 
  the zone file how the zone will reset.  They mean:

  0: Don't reset the zone at all. In this case, the age of the zone is never
     updated, and it will never be queued for reset. Thus, the value of the
     <reset_time> is effectively ignored.

  1: Reset the zone as soon as it is deserted, ie as soon as there are no
     players located within the zone.

  2: Reset the zone no matter who or what is in it.

<command> <if_flag> <parm1/command> <max_existing/state> <parm2/room>:
  These are a series of comands that tell the zone file what to do when it
  resets.  Each command has different parts so each will be handled 
  seperately.  The commands are:

  M: This command loads a mobile into a room.
       Format: M <if_flag> <mob_number> <max_existing> <room>

  <if_flag>:
    This is either 0, which means load the mobile no matter what.  Or 1, which
    means load the mobile only if the command before it was executed.  This
    stands true for all the commands in the zone file.  0 means load the
    command, 1 means load this command only if the previous was executed.

  <mob_number>:
    This is the virtual number of the mobile to be loaded.

  <max_existing>:
    This field is the maximum number of mobs that the game will load in. Note
    that if you want more than one mobile in a room you must load each 
    individualy, with the <max_existing> equal to the total number of that
    which will be in the game.  This stands true for all the commands in
    the zone file.  This field must be the total amount that you want to be
    loaded into the game.
    
  <room>:
    This is the virtual number of the room to which the mob is loaded into.
 
  O: This command loads a object into a room.
       Format: O <if_flag> <obj_number> <max_existing> <room>

  <obj_number>:
    This is the virtual number of the object to be loaded.

  <room>:
    This is the room that the obj is to be loaded into.

  G: Give a obj to a mob.  This must be preceeded with the load of a mob.
       Format: G <if_flag> <obj_number> <max_existing>

  <obj_number>:
    This is the virtual number of the obj to be given.

  E: Equips a mob with a object.
       Format: E <if_flag> <obj_number> <max_existing> <equip_position>

  <obj_number>:
    The virtual number of the obj to be equipped.

  <equip_position>:
    This is the position to which the mob will be equiped with the item.  Make
    sure that the obj is able to be equiped in that position, or you will
    have boots loading in as worn on head.  Positions are:

      WEAR_LIGHT    0
      WEAR_FINGER_R 1
      WEAR_FINGER_L 2
      WEAR_NECK_1   3
      WEAR_NECK_2   4
      WEAR_BODY     5
      WEAR_HEAD     6
      WEAR_LEGS     7
      WEAR_FEET     8
      WEAR_HANDS    9
      WEAR_ARMS    10
      WEAR_SHIELD  11
      WEAR_ABOUT   12
      WEAR_WAISTE  13
      WEAR_WRIST_R 14
      WEAR_WRIST_L 15
      WIELD        16
      HOLD         17
      WIELD_TWOH   18

  P: Loads one obj and puts it into another obj.
       Format: P <if_flag> <obj_number1> <max_existing> <obj_number2>

  <obj_number1>:
    This is the obj that will be put into <obj_number2>.

  <obj_number2>:
    This is the obj that will have <obj_number1> put into it.

  D: Sets the state of a door.
       Format: D <if_flag> <room> <exit_number> <state>

  <room>:
    This is the room that holds the door to be manipulated.

  <exit_number>:
    This is the exit number of the exit. (1-5)

  <state>:
    This field puts the door in one of the below states.

	0: Open.
	1: Closed.
	2: Closed and locked.

  R: Removes a obj from a room.
       Format: R <if_flag> <room> <obj_number>

  <room>:
    The room from which the obj is to be removed.

  <obj_number>:
    The virtual number of the obj to be removed.

  L: Led by, makes a mob the leader of others.

       This still needs a bit more work.

  H/F: The hate/fear flags.  These will make a mob hate/fear something else.

       This still needs a bit more work.

Example of part of a zone:

#30
Shylar~
3099 15 2
M 0 3000 1 3001     * buck, the barkeep w/drinks
G 1 3000 1
G 1 3001 1
G 1 3002 1
G 1 3003 6
G 1 3004 1
M 0 3001 1 3010     * punice, the baker w/food
G 1 3010 7
G 1 3011 3
G 1 3012 3
M 0 3004 1 3012     * sass, the leatherworker w/leathers
G 1 3025 100
G 1 3026 100
G 1 3027 100
G 1 3028 100
G 1 3051 100
G 1 3052 100
G 1 3053 100
M 0 3005 1 3008     * butler
M 0 3018 5 3016     * small boys
M 0 3018 5 3002
M 0 3018 5 3002
M 0 3018 5 3015
M 0 3018 5 3005
S

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

-= The design of shops.

Basic template of a shop:

<#virtual_number>~
<obj1_sold>
<obj2_sold>
<obj3_sold>
<obj4_sold>
<obj5_sold>
<selling_profit>
<buying_profit>
<obj1_traded>
<obj2_traded>
<obj3_traded>
<obj4_traded>
<obj5_traded>
<keeper_message1>~
<keeper_message2>~
<keeper_message3>~
<keeper_message4>~
<keeper_message5>~
<keeper_message6>~
<keeper_message7>~
<temper1>
<temper2>
<keeper_mob_number>
0
<room>
<open1>
<close1>
<open2>
<close2>

What this means:

<#virtual_number>~:
  This is the number of the shop.  This must be followed by a tilda.

<obj1_sold> <obj2_sold> <obj3_sold> <obj4_sold> <obj5_sold>:
  These are objs that the shop will sell and never run out of.  You must give
  the shop keeper the obj in the zone file when loading.  These fields refer
  to the virtual numbers of the objs.  There can only be five items that
  the shop will sell and never run out of.  Other objs can be given to the
  shopkeeper and he will sell just one of them.

<selling_prof>:
  The object value is multiplied by this value when sold. This is a
  floating point value. Must be >= 1.0

<buying_prof>:
  The object value is multiplied by this value when bought. This is a
  floating point value. Must be <= 1.0

<obj1_traded> <obj2_traded> <obj3_traded> <obj4_traded> <obj5_traded>:
  These are the ITEM_TYPE's that the shop will buy.  There can only be five
  different types.

<keeper_message1>~:
  Message when item to buy is non existing.  A %s must be at the beginning
  of this field to signify the shopkeeper will be talking.  The %s applies
  for message fields 1 - 7.  %d symbolizes the coin for the item.

<keeper_message2>~:
  Message when item trying to sell is non existing.

<keeper_message3>~:
  Message when wrong item-type sold.

<keeper_message4>~:
  Message when shop can't afford item.

<keeper_message5>~:
  Message when player can't afford item.

<keeper_message6>~:
  Message when buying an item.  The price is %d.

<keeper_message7>~:
  Message when selling an item.  The price is %d.

<temper1>:
  When player can't afford an item.
    0: The shopkeeper spits player in the face.
    1: The shopkeeper smokes his joint.

<temper2>:
  When player is attempting a to kill a shopkeeper.
    0: Shopkeeper tells player "Don't ever try that again!" and gets the
       first hit!
    1: Shopkeeper tells player "I'm to powerfull for you - midget!" and 
       killing is impossible.

<keeper_mob_number>:
  Virtual number of the shopkeeper.

<room>:
  The virtual number of the room the mobile must be in for the shop to be
  effective.

<open1>:
  The time which the shop opens.  Use a 0 for this field.

<close1>:
  The time which the shop closes.  If you use 28 for this field, the shop is
  open all the time, never closes.

<open2>:
  Use a 0 for this field.

<close2>:
  Use a 0 for this field.

Example of a shop:

#0~
3000
3001
3002
3003
3004
1.5
0.5
0
0
0
0
0
%s Don't mix that here pup.~
%s You don't even have that pup.~
%s This is a bar pup, only drinks here.~
%s A might to expensive for me pup.~
%s This is a little out of your league pup.~
%s Thanks for the %d coins pup.~
%s I think %d coins is just a bit much, but i'll do it pup.~
2
0
3000
0
3001
0
28
0
0