/
lib/banish/
lib/d/
lib/doc/
lib/doc/domains/
lib/doc/efun/
lib/doc/examples/
lib/doc/examples/armour/
lib/doc/examples/contain/
lib/doc/examples/food/
lib/doc/examples/magic/
lib/doc/examples/monster/
lib/doc/examples/room/
lib/doc/examples/weapons/
lib/function/
lib/include/
lib/include/fn_specs/
lib/include/skills/
lib/info/
lib/inherit/base/
lib/log/
lib/manuals/312/
lib/news/
lib/obj/party/
lib/objects/components/
lib/open/
lib/open/library/
lib/open/party/
lib/players/
lib/players/zilanthius/
lib/room/
lib/room/city/arena/
lib/room/city/creator/
lib/room/city/garden/monst/
lib/room/city/obj/
lib/room/city/shop/
lib/room/death/
lib/room/registry/
lib/secure/
lib/secure/UDP_CMD_DIR/
lib/skills/
lib/skills/fighter/
lib/skills/thief/
lib/usr/
lib/usr/creators/
lib/usr/players/
   ::: Armour Docs  -  Angel 1993 :::

As with all things contiguity must be maintained throughout the
entire mudlib. As a result of this, uniform prices for items
should be maintained by its creators. When making an armour item
please set_value(int i) to the following prices. The value in the
shop will come to twice this value. This will make armour valuable
and scarce.

Table 1: Armour Pricing AC by WEIGHT.

  AC      1         2      3      4       5      6    7       8
  1       300      200    130     90      60     -    -       -
  2       900      600    260    175      -      -    -       -
  3       -       2500   1700   1200     800    550   -       -
  4       -         -    5600   3750    2500   1600  1000     -
  5       -         -      -    9000    6000   4000  2600   1700
  6       -         -      -     -     10000   6500  4300   2800


Armour may be set to different types. A player may wear only one type
of each armour. The more armour a player wears, the more protected he/she
is against damage. 

Table 2: Valid Armour TYPES by maximum AC
  
  Armour Type       Max Ac    Special Ac     Quest Item Ac
    Armour            4           5               6
    Shield            2           3               4             
    Helm              1           2               -
    Gloves            1           2               -
    Cloak             1           -               -
    Amulet            1           -               2
    Ring              1           2               3
    Boots             1           1               -

The Max Ac value indicates the usual AC allowable for a standard armour
item on a standard monster. The Special Ac listing indicates possible
ac maximums for armour items on difficult monsters. This usually means
a monster in a difficult to get at area, with a minimum monster level of
18 or so. Quest Item Ac indicates the absolute max AC any item can carry
due to it being a UNIQUE QUEST ITEM. Such items are always only obtainable
upon doing a difficult quest set not less than 15th level. There should 
only be one of these items per reset.

All Special Ac and over armour items must have their set_sell_destruct(1)
flag set within the code of the said item.


set_sell_destruct (status flag) Armour items that have been enchanted, 
altered, made magical, or are 'Special Ac' type armour, or even those
which are quest items, or that the creator doesn't really wish to be
hanging around in shops, shold have this flag. Any item that returns
a value when queried for 'sell_destruct' will be destructed when sold.

set_weight(int i)   This is the weight of the armour. Usually the more
protective the armour is, the more the armour weighs. Please note the
armour weight values by ac and armour types in tables 1 and 2.

set_name(string str)     This sets the name of the armour item. Note that
the name should be set to the following:

Table 3: Armour Names and suggested Ac

     Name                     Type AC             Suggested  AC
    ____________________________________________________________
     Shield                    Shield                 1-2
    ____________________________________________________________

     Leather                   Armour                  1
     Padded                    "   "                   1
     Studded leather           "   "                   2
     Ringmail                  "   "                   2
     Scalemail                 "   "                   3
     Chainmail / Splintmail    "   "                   3
     Elfinchain                "   "                   3
     Bandedmail                "   "                   4
     Platemail                 "   "                   4
     Fieldplate                "   "                   5*
     Fullplate                 "   "                   5*
  
     Bracers (of Defence)      Armour                 1-4
    ____________________________________________________________

     Cloak                     Cloak*2                 1
     Robes                     "   "*2                 1
    ____________________________________________________________
     
     Bracers (arm bands)       Amulet                  1
     Broach                    "   "                   1
     Amulet                    "   "                   1
     (Un)Holysymbol            "   "                   1
    ____________________________________________________________

     Gauntlet(s)               Gloves                  1
     Helm / Helmet             Helm                    1
     Boots                     Boots                   1
    ____________________________________________________________

Notes: *   Such items are considered rare. Only cavalier and paladin
           usually seek out such items, and hence it is only found on
           such monsters and npc's. Also note the monster level minimum
           for placing these armour items on them.

       *2  These armour items can have type 'armour', but should be 
           restricted, and considered as +1 to +3 cloaks and robes as per
           AD&D, and just as rare to find in this case. These items would
           probably be as rare as 'Special Ac' type items found on hard
           and difficult monsters.

Armour names are very important as class restrictions coded into armour.c
rely upon the correct names, especially for type 'armour' items. These names
should not be 'a suit of chainmail' as armour.c restrictions only recognise
the above very specific armour names. The lower case name 'chainmail' should
and MUST be used instead. 'A suit of chainmail' would be used as the short,
or as the long description as described below.


set_type (string str)    This is the 'type' or armour indicated in tables
1, 2 and 3. This helps identify what kind of armour the player is wearing,
allowing him/her to only wear one of each type of armour (it would look
strange for a person to be wearing platemail, chainmail and leather armour
all at the same time!).

set_armour_material(string str)    Armour of all types can be made of a 
specific material. As armour slowly destructs (only when a player is
wearing it) as it is hit different armour materials make the armour more
or less resistant to being hit. The following is a list of armour materials
that can be used in conjunction with armour.c The value given is multiplied
by the AC. This means that you can have a suit of ringmail armour that is 
made from glass, which would be more likely to be destroyed than ringmail
made from mithril, iron, or adamantite.

Table 4: Armour materials and Destruction Modifiers.
     _________________________________________________
          Material                 Modifier  
     _________________________________________________
          Bone                     -50
          Ivory                    -50
          Ceramic                  -75 (Brittle)
          Cloth                    -45
          Crystal                  -75
          Glass                    -100
          Leather                  -20
          Metal                    standard mod.
          Mithril                  +100
          Meterorite iron          +75
          Iron                     +20
          Adamantite               +150
          Bronze                   -10 (Soft metals)
          Silver                   -20
          Gold                     -30
          Platinum                 -40
          Steel                    +30
     _________________________________________________


     ::: Other Common Functions :::

set_alias(string str)    This is used where you want to give the armour
another name to be used by the player. If the set_short(string str) is 
something confusing like 'a suit of huge red chainmail armour', as the 
set_name(string str) is 'chainmail' and the type is 'armour', you may 
wish to give the alias as 'suit' or 'red chainmail'. Note that the alias
is simply an extra id added to the item.

set_ac(int i)  This is the armour value of the armour. The more this value
is the more the player wearing it is protected. This value is cumulative 
with any other armour items that the player is wearing. Note the relative
max and min values for armour in tables 1, 2 and 3.

set_short(string str)    When a player first sees the armour item on 
a monster, or lying in a room, he will see this description. The 'short'
is usually kept quite simple and brief. Long descriptions of the armour
and what is looks like is kept for the 'long' description. A short 
description is usually something like 'A suit of chainmail' or 'A pair of 
boots'.

set_long(string str)     This is the description that is given to the 
player when he looks specifically at this item. It is can be detailed or
as simple as the short description. This usually gives the player more 
information about the armour, perhaps what its made of and the like.

set_arm_light(int i)     This makes the armour GLOW in the dark and acts
like a light source. Light is cumulative within a room. A value of '1'
means that it is as bright as a torch. If you want it to be as bright as
magical light use a value of 2, and for continual light, use a value of 5.

set_info(string str)     This is used when the armour has a special function
or power that can be used by the player. This info is for the player, NOT
for creators. This gives the use and what it does. This can usually be 
accessed by magical means. Information about the magical nature of armour
should NOT be given in the long, but written here.

set_quest_item ()   This is the flag that is used to indicate that the
armour is a quest object of some type.
 
  
set_enchanted ()    When the armour has been changed by magical means -
when its AC, VALUE, or WEIGHT, has been altered - then this flag should
be set.  
  
set_id (string str) This is an extra name that can be used for the armour. 
  
set_can_use (string str) At certain times there are certain magical items
that should only be used by certain classes when created. It should not
be used to alter an already existing item to be used by a single class.

set_current_strength(int i)   This will alter the current armour strength
of the armour. The armour strength is the amount of damage the armour can
take before it is destroyed. This value cnanot exceed the maximum value
calculated by armour.c  
  
  
  
               - Angel 1993

Further Notes:

Classes:
 
Mage - Cannot use shields
     - Can only wear type "armour" if its set_name() is either,
       robe, robes, cloak, bracers.
     - Can only wear types "helm", "gloves", "boots", "cloak" if the armour
       material is set to cloth, or leather.

Thief - Cannot use shields
      - Can only wear type "armour" if its set_name() is either,
        robe, robes, cloak, bracers or the armour material type is set
        to leather or cloth.

Fighter - Can wear all armour types.

Cleric - Can wear all armour types.

Notes: Multi-classed players have the minimum armour restrictions.
       ie. A fighter/mage has mage armour restrictions.