::: Armour Documentation ::: Introduction ~~~~~~~~~~~~ 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 2-3 times this value (also dependant upon a player's Charisma). This will make armour valuable and scarce. Table 1: Armour Pricing AC by WEIGHT. +------------------------------------------------------------+ +----| W E I G H T | | AC | 1 2 3 4 5 6 7 8 | + +------------------------------------------------------------+ | 1 | 300 200 130 90 60 - - - | | 2 | 900 600 400 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 *1 Fullplate " " 5 *1 Bracers (of Defence) Armour *2 1-4 ____________________________________________________________ Cloak Cloak *3 1 Robes " " *3 1 ____________________________________________________________ Bracers (arm bands) Amulet *4 1 Broach " " *4 1 Amulet " " *4 1 (Un)Holysymbol " " *4 1 ____________________________________________________________ Gauntlet(s) Gloves *5 1 Helm / Helmet Helm *5 1 Boots Boots *5 1 ____________________________________________________________ Ring (s) Ring *6 1 ____________________________________________________________ *1 These are considered race. Only cavalier and paladin should seek out such items, and hence it is only found on such monsters and like NPC's. Also note the monster level minimum for placing these items on them *2 Bracers of defence should have a description that states simply that it is an arm band. Bracers is actually 'magical armour' of 'protection'. You should write into the query_info that they are 'bracers of protection'. *3 A cloak or robe does not usually offer protection. You can imagine a sword actually slicing through cloth! When you make an armour item, as type 'armour', with 'cloak' or 'robe', only state in the long that they might have runes on it. Again, in the query_info state that it is a 'cloak/robe' of protection'. It is only due to its magical nature that the cloak/robe confers protection as armour. If you set the type to 'armour', then the AC can be set as high as 3. Otherwise, you may use the type 'cloak', and make the max AC only 1. These items are sought by mages and thieves! *4 Consider these items not armour as such, but imbued with magical protection fields, akin to rings and cloaks. The maximum AC value these items can have is but 1. *5 Gauntlets, Helms, and Boots are considered metal or at the very least a hard leather, granting the wearer actual protection from weapon blows, unlike magical protection devices like amulets, rings, cloaks, and bracers, *6 A ring conveys a magical field of protection around the wearer, and is not actually 'armour' as such. Again, you should place in the set_info that it is a 'magical ring of protection'. 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 (as that should light just about ANYTHING!) 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 ::: 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. Angel, August 1993, updated July 1996.