Age of Chaos Zone Standards

[Webmaster : Migas]


Table of Contents

Introduction

  1. World Files

  2. Monster Files

  3. Object Files

  4. Shop Files

  5. Zone Files
        a. Zone Files
        b. Zonehelp Files

  6. Guidelines
        a. Monster Lookup
        b. Magical Items
        c. Armor
        d. Weapons
        e. FAQ and Tips

  7. Spell List

  8. Example mobprogs

NOTE: Throughout this text, <NL> denotes the start of a new line.


Introduction


 

So you want to build a zone eh? Well we appreciate zone submissions and are happy to help in any way we can. While the mass of information here may be at first overwhelming and obscure, by utilizing the document here along with the samples.doc zone at your availability you should be able to begin work on your zone. This is not an easy task. It takes a lot of hard work to make a truly great zone that you can be proud of, and the first step towards building your zone is to read completely through these documents. While you do this, I encourage you to look at the sample zone you have at your disposal to make more sense of all of this. And, as always the lords are available for you to inquire to about parts you may not understand. After reading carefully through the documents, you should begin by mapping out the zone you want to make. I encourage you to build your zone in the order set out here, beginning with the world file and ending with the zone file and zone help file. Good luck!

 

Back to Top

I.    World Files


This file contains all the rooms, and is loaded once and for all at boot-time.

It follows this format:

--------------------------------------------
#<virtual number>
<name>~
<description>~
<zone nr>
<room_flags>
<sector_type>
{<direction fields and extra descriptions>}
'S'
#<virtual number>

.
.
.

#99999
$~

Example World File


Explanation of fields:
-----------------------

Direction Fields:
----------------
<Direction fields> follow this format:

D<exit number>
<general description>~
<keyword list>~
<Door flag> <key number> <to_room>

Extra descriptions:
------------------

E
<blank separated keyword list>~
<description>~

-------
NOTE:

All the text fields above may be left blank, but the '~' should always be
there, with the exception of E descriptions. If you don't use an E description
at all in your room, there is no need to use the E field or the ~'s within it.

 


Main structure notes:
------------------------

#<virtual number> is:

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). Note it is very important to keep the
order of the rooms in your file in increasing order, or problems may arise.


<name>~<NL>:

This name is the "title" of the room. This title is also used in special
procedures like:
    "exits"
    "brief mode"


<description>~<NL>:

This is the general description of the room.


<zone nr> is:

The number of the zone in which this room is located. This number is used
for resetting zones and monster zone movement. See the zone file.


<room_flags> are:
 

A bitvector consisting of the room conditions as:

 

DARK 1 Light must be used to see anything.
DEATH 2 A player 'dies' (no xp lost) when entering.
    It is a good idea to:
*Have these rooms light, because then EXITS will
  show the room title, for example "In Boiling Water".
*Make exits to all rooms from which one can enter the
  death_room, then the "death cry" will be heard by
  other members of the group considering following...
NO_MOB 4 No monsters may walk around in here.
INDOORS 8 This is inside (a house, cave or dungeon for example)
LAWFULL 16 ??? (DO NOT USE)
NEUTRAL 32 ??? (DO NOT USE)
CHAOTIC 64 ??? (DO NOT USE)
NO_MAGIC 128 Use of the One Power (weaving) is blocked.
TUNNEL 256 Only one PC can stand in the room, and only one mob.
PRIVATE 512 It is impossible to teleport to this room if it already contains two characters.
GODROOM 1024 DO NOT USE
BFS_MARK 2048 DO NOT USE
COLD_ROOM 4096 The room is so cold that it takes off hits/tic.
HOT_ROOM 8192 The room is so hot that it takes off hits/tic.
NO_VIOLENCE 16384 No fighting in this room!
NO_TELEPORT 32768 No teleporting to this room....
STATIC_ROOM 65536 This room saves objects in room & reloads on reboot.
UNDERWATER 262144 Those without BREATHE WATER slowly drown (take damage) and will be unable to weave spells or recite scrolls.
??? means that the flag isn't used yet (and you shouldn't use it either!)


<sector_type> is:

This determines how many movement points are used when moving through
a location of the type, and also what resources can be extracted from
the room - use one of the numbers 0..8 (they are NOT the movement
points used - merely indexes to a lookup-table):
 
SECT_INSIDE 0 As if walking indoors
SECT_CITY 1 As if walking in a city
SECT_FIELD 2 As if walking in a field
SECT_FOREST 3 As if walking in a forest
SECT_HILLS 4 As if walking in hills
SECT_MOUNTAIN 5 As if climbing in mountains
SECT_WATER_SWIM 6 As if swimming - requires a boat or magic
SECT_WATER_NOSWIM  7 Impossible to swim water - requires a boat or magic
SECT_UNDERWATER 8 Must be set to this if the room is UNDERWATER.


Direction fields:

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

<Exit number> is one of:

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

Note:
It is equally important to keep the D's in each room in
order. So D0 comes before D3 which comes before D4.
 

<general description><NL>~<NL>:

What a player will see if he types 'look <direction>'


<keyword list>~<NL>:

used for commands like 'open', 'close', etc. should be 'door' for ordinary
doors. Example: An exit from a given room leads through a cupboard. The
keyword list for this exit might look like this:
    "cupboard door~"


<Door flag> [NL]:
 

VALUE CLOSED OPENED LOCKED UNLOCKED PHASED KNOCKED PICKED
0 No No No No No No No
1 * * * * * * *
2 * * * * * * No
3 * * * * * No No
4 * * * * No No No
Note: A zero value means the exit can still be closed at reset, however;
maybe to be opened by some special routine, like a concealed handle.

The state of the doors after reset may be controlled by a command in the
reset-command table (see the zone file). The initial state of a door is open.


<Key Number> [NL]:

The number of the object which can unlock/lock the door (in the direction
given). If a player carries/holds this object, he can lock/unlock.

<Key Number> == -1 means no keyhole.

If <Door flag> is 0, the value of this field is ignored.


<to_room> <NL>:

The virtual number of the room to which the exit leads. If this number is -1
(NOWHERE), the exit doesn't lead anywhere. This might be useful for adding
an exit-description in a direction which doesn't actually lead anywhere.

** Note about doors. You must make a door in both rooms that the door is set between.


Extra descriptions:
---------------------

E (denotes the start of a new extra description)

<blank separated keyword list>~<NL> is:

A list of the keywords that will allow the extra description to be
displayed. The keywords must be separated by blanks.
 

<description><NL>~<NL>:

The description that is show when a player types 'look at <keyword>'
and keyword matches one of the above.

Example of a room entry:
----------------------------

***<<< NOTE:

In all examples shown, the three lines of . mean that the
next room/mob/obj/etc in line can be entered after the
example. They are not necessary and only denote continuity.
 
#10001
The Blood Temple~
You stand in a gothic, red temple; built entirely from bones. It is,
sadly, not a very interesting place, and perhaps you should leave through
the portal which leads south to a sunny garden.
~
100 12 0
D0
~
~
0 -1 10003
D2
You see the grand portal of the Blood church. Beyond is an inviting garden.
~
portal grand~
1 10002 10007
E
portal~
The portal is high and arched, built out of leg bones of the finest quality.
~
E
bones~
The bones are bright white, as if bleached for many years.
~
S
.
.
.

Facts about this room:
-------------------------
 
-Room number 10001
-Zone number 100
-Room Flags (8+4=12) INDOORS and NO_MOB
-Sector Type Inside (movement loss calc only)
-Two exits:
(D0) to the north with no description.
(D2) to the south with 'look south' description:

You see the grand portal of the Blood church. Beyond is an inviting garden.
 
-To the north goes to room 10003
-Keywords for the exit south: portal grand
-To the south, door flag 1 (normal door)
-To the south, door is opened with key no. 10002.
-To the south goes to room 10007.
-Extra description for the portal and bones.
Back to Top

II.    Monster Files


The format of this file is as follows:
---------------------------------------

#<virtual number>
<namelist>~
<short description>~
<long description>~
<description>~
<action flags> <affection flags> <Alignment Flag> 'S'
<Level> <Thac0> <AC> <Hit Points (format is xdy+z)> <Damage (as HP)>
<Gold> <Exp>
<position> <default position> <sex>
A
<attacks per round: -1, per 2>
C
<npc_class>
S
<skill number> <percent ability>
M <mfire> <mwater> <mair> <mearth> <mspirit>
P <pfire> <pwater> <pair> <pearth> <pspirit>

.
.
.

#99999
$~
 

Example Mob File

Monster fields description:
------------------------------

#<virtual number><NL> is:

The monsters virtual number. Rules are same as for room virtual numbers.
 

<namelist><!NL>~<NL>

The space-separated name alias list.
 

<short description><!NL>~<NL>

This string will be displayed when the monster takes action, for example
if it is "The Beastly Fido", and fido leaves south the message will be:
 
"The Beastly Fido leaves south."
 
Or if it is fighting:
 
"The Beastly Fido TOTALLY DEMOLISHES you with its deadly hit!"
 

<long description><NL>~<NL>

This description is displayed when the monster is in it's "default"
position. When not in the default position, a message like:
 
"<short description> is sleeping here." could be displayed.
 
NOTE: Some things will override this message, such as being paralyzed.
In which case it would say ...standing/sitting/etc. here, stiff as a board.
 

<description><NL>~<NL>

This will be displayed when a player looks at the monster.
 

<action flags>[NL]

This bit-vector define how the monster behave.
 
The bits mean:
ACT_SPEC 1 This means that there is a special programmed C procedure connected to the monster. When this bit is set the monster "function pointer" must  be assigned in the "spec_assign.c" file.
ACT_SENTINEL 2 When this bit is set the monster will NOT move around in the world.
ACT_SCAVENGER 4 When this bit is set, monsters will pick up stuff lying on the ground. It will pick up the most expensive items first.
ACT_ISNPC 8 RESERVED FOR INTERNAL USE (DO NOT USE)
ACT_NO_GROUP 16 When this bit is set, the mob will never group with other mobs.
ACT_AGGRESSIVE 32 When this bit is set, the monster will attack and attempt to kill any player it can get it's claws on. It will not attack players it can't see (for example dark rooms or when player is invisible, unless the monster can detect invisibility).
ACT_STAY_ZONE 64 When this bit is set, the monster will never move into another zone of the world (this is good for keeping your monsters in your own adventure).
ACT_WIMPY 128 When this bit is set, the monster will flee when it is getting percent-wise low on hit points. If the monster is both aggressive and wimpy, then it will only attack players that are NOT awake! (IE: also suffering players)
ACT_AGGR_EVIL 256 When set mobs attack chaotic players on sight.
ACT_AGGR_GOOD 512 When set mobs attack good players on sight.
ACT_AGGR_NEUT 1024 When set mobs attack neutral players on sight.
ACT_MEMORY 2048 The mob remembers who it hates.
ACT_HELPER 4096 It attacks anything attacking a PC.
ZONE_HUNTER 8192 Hunts fleeing victims within zone.
WORLD_HUNTER 16384 Hunts fleeing victims within world.
ACT_PEACE_KNOT 32768 This mob will attack ANY player wielding/holding a weapon.
ACT_GANG 65536 Any mobs of the same type will hunt down a person fighting with one of these (unless they are hunting already).



<affection flags>[NL]

This is a bit-vector that indicates what the monster is affected by.
 
Many of these bits are meant for players only (in context with a spell),
and should NOT be used when indicated.
 
The bits are:
AFF_BLIND 1 RESERVED PLAYERS
AFF_INVISIBLE 2 The monster is invisible.
AFF_WATERWALK 4 The monster can walk on water.
AFF_DETECT_INVISIBLE 8 The monster can see invisible players.
AFF_FLEETFEET 16 The monster is affected by fleetfeet.
AFF_SENSE_LIFE 32 RESERVED PLAYERS
AFF_HOLD 64 ??? DO NOT USE
AFF_SANCTUARY 128 The monster has sanctuary (1/2 damage).
AFF_GROUP 256 RESERVED PLAYERS
AFF_GHOST 1024 The monster is ghosted, cannot be hurt.
AFF_FEATHERFALL 2048 The monster is immune to death traps.
AFF_POISON 4096 RESERVED PLAYERS
AFF_NOSTEAL 8192 Mob cannot be stolen from.
AFF_FREE_ACTION 16384 Mob cannot be held.
AFF_INFRAVISION 32768 Mob can see in the dark.
AFF_NOPOISON 65536 The monster cannot be poisoned.
AFF_SLEEP 131072 RESERVED PLAYERS
AFF_REFLECTION 262144 RESERVED PLAYERS
AFF_SNEAK 524288 The message "The xxx leaves direction" will not be displayed when the monster moves out/in to a room.
AFF_HIDE 1048576 The monster will be hidden, and can only be detected with sense life.
AFF_BREATHWATER 2097152 Mob won't drown in a UNDERWATER room.
AFF_CHARM 4194304 The monster will act as charmed when a "follow <player>" is entered. Note that players can't force monsters to follow.
AFF_FOLLOW 8388608 RESERVED PLAYERS
AFF_ENDURE_ELEMENTS 16777216 Mob is affected by endure elements spell.
AFF_PROT_FROM_HEAT 33554432 ??? DO NOT USE


<Alignment Flag>[NL]

This is the monsters alignment, read as:
 
+1000        ...        +350 Good Alignment
+349          ...        -349 Neutral Alignment
-350           ...        -1000 Evil Alignment
 

<Detailed/Simple flag><NL>

This flag must be entered as a uppercase 'S'. S indicates that "Simple"
monster data follow. Anything but an S will be interpreted as if
"Detailed" monster data is to follow. We will NOT describe detailed
monsters as they are VERY detailed, and should not be used normally.
 

<Level>

This is the level of the monster. See sect. V. Guidelines for guidelines
when setting the level.
 

<THAC0>

The monsters THAC0.
 
See sect. V. Guidelines for an explanation of armour vs. THAC0,
and guidelines for THAC0.
 
NOTE:  THAC0 is an abbrevation for "To Hit Armour Class Zero".
 

<AC>

The monsters armor class.
 
See sect. V. Guidelines for guidelines regarding armour.
 
NOTE: The number is the AC x 10. So to make a mob have a -80 AC,
you would put the value -8 here.
 

<Hit Points (format is xdy+z)>

This defines the number of hit-points a given monster has. If this is
entered into the file:

            ..... 3d8+10 ...

The monster will have 10 hit-points plus the result of rolling 3 dice
with 8 side, and adding their sum. All the numbers (even zero), the
plus sign, and the letter 'd' MUST be entered!!!
 
Example:
            ..... 1d6+0 ....

NOTE: The 'd' MUST be lowercase. A capital D will cause errors.
 

<Damage (format is xdy+z)><NL>

This is the damage a monster will cause when it is using NO weapons
(the Bare hand damage). The format is exactly like the one described
for hit points.
 
A thing to note about damage:
    The number after the plus sign, is the "strength bonus". This bonus
    will apply to any weapons used, and bare hands too.
 
Example:
            ..... 1d4+10

This monster will damage between 11 and 14 hit-points each round. If the
monster picks up and wields a tiny stick which give 1d2 damage, then the
monster will now damage by : 1d2 + 10 points.

NOTE: The 'd' MUST be lowercase. A capital D will cause errors.
 

<Gold>

The amount of gold carried by the monster. Current policy is that no creature
should carry over 500 coins, generally. Keep in mind economic balance when
determining this amount.
 

<Exp><NL>

The experience this monster has. See sect. V. Guidelines for guidelines
regarding mob's EXP. In general this field is not really too important,
as the mud calculates experience values for mobs automatically. If you
set this value to 0, the mob will not give experience when it is killed.
 

<position>

This defines the monster's position when loaded into the game.
 
A position is one of:
 
POSITION_DEAD 0 DO NOT USE.
POSITION_MORTALLYW 1 DO NOT USE.
POSITION_INCAP 2 DO NOT USE.
POSITION_STUNNED 3 DO NOT USE.
POSITION_SLEEPING 4 The monster is sleeping.
POSITION_RESTING 5 The monster is resting.
POSITION_SITTING 6 The monster is sitting.
POSITION_FIGHTING 7 DO NOT USE.
POSITION_STANDING 8 The monster is standing.

<default position>

This is the position into which the monster will return after a fight. This
position also defines when the <long description> is displayed - see above.
 

<sex><NL>

This is the monsters sex:

    SEX_NEUTRAL         0
    SEX_MALE                1
    SEX_FEMALE            2

NOTE: SEX_NEUTRAL does NOT make a mob with no sex...instead it gives
the mob a random sex (either male or female.)
 

'A' <NL>
<attacks per 2 rounds><NL>

This two line setting gives the mob a manual number of attacks per two
rounds. The game normally uses the mob's level and dex to auto-calculate
this value.
 
Examples:
 
A         ---> 6 per 2 APR     A         ---> 7 per 2 APR
6                                          7
 

'C' <NL>
<npc_class> <NL>

This sets the TYPE of mob this is. Rather than setting an actual class,
it sets a mob type:

0    =     CLASS_MONSTER
1    =     CLASS_UNDEAD
2    =     CLASS_HUMANOID
3    =     CLASS_ANIMAL
4    =     CLASS_DRAGON
5    =     CLASS_GIANT
6    =     CLASS_MOUNT
7    =     CLASS_UNTAMED  *means the mob can be a mount if TAMED*
8    =     CLASS_GOLEM

In general, MOUNT and UNTAMED mobs should be kept below level 8 and
given somewhat basic stats. Remember these creatures are like free charmies for
any class that can be ridden.
 

'S' <NL>
<skill number> <percent ability>

Any mob can weave any spell in the game. However, to use skills they must
have the appropriate skill under this field. The skill success rate is actually
based on the mob's physical element scores. The only time the percent ability
field of the S field is used is on a skill like mind-lash which is used by mobs only.
In all other cases, the percentage ability field is ignored, but the field must still
be present.
 
Skill:                       	                    No.
-----------------------------       ------
SNEAK                  221
HIDE                   222
STEAL                  223
BACKSTAB               224
PICK_LOCK              225
KICK                   226
BASH                   227
RESCUE                 228
HUNT                   229
PARRY                  230
DISARM                 231
RETREAT                232
GUARD                  233
CONDITIONING           234
CHARGE                 235
TURN UNDEAD            236
TAME                   237
REMOVE TRAP            238
DODGE                  239
SET TRAP               240
APPLYPOISON            241
AMBIDEXTERITY          242
WEAPON MASTERY         243
GLANCE                 244
ARCHERY                245
GORE                   246
CIRCLE                 247
TREAD                  248
HIBERNATE              249
BERSERK                250
RESIST POISON          251
PUSH                   252
CONVERT                253
EXCOMM                 254
VENT                   255
BLOCK                  256
FORAGE                 257
TREE SINGING           258
MOVE SILENT            259
CONDITIONING 2         260
CONDITIONING 3         261
WEAPON_MASTERY 2       262
WEAPON MASTERY 3       263
REGENERATE             264
BLAZING FURY           265
LAND                   266
CORNER                 267
APPLYVENOM             268
TRIP                   269
MIMIC                  270
MINDLASH               271
WHIRLWIND KICK         272
RECHARGE               273
FIX                    274
INVESTMENT             275
EVALUATE               276
EMPOWER                277
TAILWHIP               278
FEARFLIGHT             279
EATBRAINS              280
DRAINVITALITY          281
DRINKBLOOD             282
STALK                  283
CLAW                   284
RAGE                   285
HOWL                   286
CONSTRICT              287
BARD SONG              288
SHRIEK                 289
RAZE                   290
ENTREAT                291

COMMON                 296
ELVEN                  297
OGIER                  298
DWARVEN                299
ARACOIX                300
GIANT                  301
DARK                   302
MINOTAUR               303
MONKEON                304
HIGH                   305
LIGHT                  306
DRUID                  307
ANCIENT                308
THIEVES CANT           309

'M' <mfire> <mwater> <mair> <mearth> <mspirit>

This is an optional field for setting the magical element scores of mobs.
The default value for these fields is 3 x level should you wish to leave
this field out. Note that a mob can use a weave with 100% success at all
times and does not need the minimum elements required for learning in
order to use a weave.
 

'P' <mfire> <mwater> <mair> <mearth> <mspirit>

This is an optional field for setting the magical element scores of mobs.
The default value for these fields is 2.2 x level should you wish to leave
this field out.


A mob's defense element score is calculated with the following formula:

                [(2 x pelem)+(melem)] x .33 = defelement

Example:
                [(2 x 6)+(12)] x .33 = 8

NOTE: Keep in mind that mobs **do NOT suffer damage** from hot
and cold rooms.

This is a chart outlining the default magical, physical, and defense element
scores of mobs by level:
      

      Level           MElem        PElem        DefElem
     --------         ----------     ---------      -----------

0        0        0        0
1        3        2        2
2        6        4        4
3        9        6        7
4        12       8        9
5        15       11       12
6        18       13       14
7        21       15       17
8        24       17       19
9        27       19       21
10       30       22       24
11       33       24       27
12       36       26       29
13       39       28       31
14       42       30       34
15       45       33       37
16       48       35       39
17       51       37       41
18       54       33       37
19       57       41       46
20       60       44       49
21       63       46       51
22       66       48       54
23       69       50       56
24       72       52       58
25       75       55       61
26       78       57       64
27       81       59       66
28       84       61       68
29       87       63       71
30       90       66       92
31       93       68       76
32       96       70       78
33       99       72       81
 

Example Mob:
-----------------
#10001
guardian black dragon~
The Black Dragon Guardian~
A tall figure in black robes with runic tattoos on his arms stands here.
~
The Black Dragon Guardian looks at you with hate in his ancient eyes.
The yellow tattoos on his arms begin to glow.
~
10274 557192 -950 S
28 1 -10 1d6+1840 5d5+10
100 350000
8 8 1
A
7
C
2
S
227 85
M 64 84 84 94 104
P 41 61 61 81 71
.
.
.

Facts about this mob:
------------------------

-Mob vnum #10001.
 
-It has keywords of 'black', 'dragon' and 'guardian.'
 
-It has a short description of The Black Dragon Guardian, and will appear when
 fighting as: The Black Dragon Guardian hits you with his hit.
 
-It has a long description of:

A tall figure in black robes with runic tattoos on his arms stands here.

Which you would see upon entering the room.
 
-It has a description of:

        The Black Dragon Guardian looks at you with hate in his ancient eyes.
        The yellow tattoos on his arms begin to glow.

        Which you would see if you did a 'look' at the mob.
 
-It is a SENTINEL, AGGRESSIVE, MEMORY, ZONE_HUNTER. (10274)
 
-It is affected by DET_INVIS, SANCTUARY, INFRAVISION, AND SNEAK. (557192)
 
-It has a -950 alignment.
 
-It is a Simple mob type (S)
 
-Level 28, THACO of 1, AC of -100, has 1d6+1840 HP, and does 5d5+10 DMG.
 
-Has 100 gold, and gives 350000 exp when killed.
 
-It is STANDING, with default position STANDING, MALE sexed mob.
 
-Has 3 for 1 (6 for 2) APR, and is CLASS HUMANOID.
 
-Has the skill BASH at 85%
 
-It has magical element scores of fire 64, water 84, air 84, earth 94, spirit 104.
 If this field was left out, its default values would be 84. So it is slightly better at
 weaving spirit and earth magics, and worse at weaving fire magics.
 
-It has physical element scores of fire 41, water 61, air 61, earth 81, spirit 71.
 If this field was left out, its default values would be 61. So it is slightly better at
 using earth and spirit based skills, and worse at using fire based skills.
Back to Top

III.    Object Files


The format is as follows:
---------------------------

#<virtual number>
<namelist>~
<short description>~
<long description>~
<action description>~
<type flag> <extra flag> <wear flag> <max obj count>
<value 0> <value 1> <value 2> <value 3>
<weight> <value> <recharge cost>
'E'
<keyword-list>~
<extra description>~
'E'
<keyword-list>~
<extra description>~
.
.
.
'E'
<keyword-list>~
<extra description>~
'A'
<location> <modifier>
.
.
'A'
<location> <modifier>
'R'
<restriction1>
<restriction2>
<restrictionN>

.
.
'F'
<affect>
.
.
'F'
<affect>
'W'
<spell_num> <spell_lev> <charges>
'S'
<spell_num> <spell_lev> <spell_%>
'T'
<trap type> <trap dice 1> <trap dice 2> <charges> <trigger>

#<virtual number of next object>

.
.
.

#99999
$~

Example Object File

 

Object fields description:
--------------------------

#<virtual number><NL>

See rules for rooms above.
 

<namelist>~<NL>:

Same as for monsters above.
 

<short description>~<NL>

This string will be displayed when the object is used. For example
if it is "a rubber raft", and a player drops it, then a message like:
"Monthy drops a rubber raft." could be displayed.
 

<long description>~<NL>

This description is displayed when the object is lying on the ground.
For example, if it is "A furled umbrella lies here.~" then this message
is displayed when the umbrella is lying on the ground.
 

<action description>~<NL>

Use for weapons that do something other than slash, etc.
examples: a dart can have : 'rips through'
Note: this really only is used for arrows and other projectiles.
 

<type flag>[NL]

This defines what kind of item you are defining, it can be one of:
   ITEM_LIGHT       1  Item is a light.
   ITEM_SCROLL      2  Item is a scroll. See Item Values.
   ITEM_WAND        3  Item is a wand. See Item Values.
   ITEM_STAFF       4  Item is a staff. See Item Values.
   ITEM_WEAPON      5  Item is a weapon.
   ITEM_FIREWEAPON  6  DO NOT USE
   ITEM_MISSILE     7  DO NOT USE
   ITEM_TREASURE    8  Item is a treasure (not money).
   ITEM_ARMOR       9  Item is armour.
   ITEM_POTION     10  Item is a potion. See Item Values.
   ITEM_WORN       11  Item is a worn piece of clothing.
   ITEM_OTHER      12  Item is other.
   ITEM_TRASH      13  Item is trash.
   ITEM_COMPONENT  14  Component used in set trap skill.
   ITEM_CONTAINER  15  Item is a container.
   ITEM_NOTE       16  Item is a note that can be written upon (with a pen).
   ITEM_DRINKCON   17  Item is a drink container, for example: 
		       
		         a bottle or a barrel or a wine-skin. A drink container
		         with contents must *always* have two names: 
			
			  1. The name of the drink
			  2. the name of the container.
                       
			  Example: tea cup~
   
   ITEM_KEY        18  Item is a key.
   ITEM_FOOD       19  Item is food.
   ITEM_MONEY      20  Item is money.
   ITEM_PEN        21  Item is a pen.
   ITEM_BOAT       22  Item is a boat, which must be carried by a player if
                       the player wishes to enter NOSWIM room sector types.
   ITEM_FOUNTAIN   23  Perm. source of liquid.
   ITEM_PORTAL     24  Item is a portal to another room.
   ITEM_DICE       25  Item is a working number of dice.
   ITEM_PAPER      26  Item is a copy of the Chaos Tribune.
   ITEM_MAP        27  Item is a map.
   ITEM_TRAP       28  DO NOT USE
   ITEM_TOOL       29  Item is a crafting tool.

<extra flag>[NL]

This bitvector defines mostly special effects:
   ITEM_GLOW            1  The item is glowing (light source), makes hide
                           skill ineffective by character using eq.
   ITEM_HUM             2  The item is "humming"/"buzzing", makes sneak
                           skill ineffective by character using eq.
   ITEM_DARK            4  The item is dark.
   ITEM_LOCK            8  DO NOT USE
   ITEM_EVIL           16  DO NOT USE
   ITEM_INVISIBLE      32  Item is invisible.
   ITEM_MAGIC          64  Will show an aura when 'detect magic' is used,
                           can be used by the strip magic spell, and cannot
                           be enchanted.
   ITEM_CURSE         128  Item can not be removed! Must pray to remove it.
   ITEM_BLESS         256  Item is blessed. (Currently does nothing.)
   ITEM_ANTI_GOOD     512  Not usable by good people.
   ITEM_ANTI_EVIL    1024  Not usable by evil people.
   ITEM_ANTI_NEUTRAL 2048  Not usable by neutral people.
   ITEM_NORENT       4096  Cannot rent with this item.
   ITEM_NODONATE     8192  Cannot donate this item, or sell it.
   ITEM_NOINVIS     16384  Cannot make this item invis.
   ITEM_BONDED      32768  DO NOT USE
   ITEM_CONCEALED   65536  DO NOT USE
   ITEM_DISEASED   131072  DO NOT USE

<wear flag><NL>

This bitvector defines if items can be taken, and if they can be worn:
   ITEM_TAKE              1  Item is takeable.
   ITEM_WEAR_FINGER       2  Can be worn on a finger (rings usually)
   ITEM_WEAR_NECK         4  Can be worn around neck.
   ITEM_WEAR_BODY         8  Can be worn on body.
   ITEM_WEAR_HEAD        16  Can be worn on head.
   ITEM_WEAR_LEGS        32  Can be worn on legs.
   ITEM_WEAR_FEET        64  Can be worn on feet
   ITEM_WEAR_HANDS      128  Can be worn on hands (gauntlets, etc)
   ITEM_WEAR_ARMS       256  Can be worn on arms.
   ITEM_WEAR_SHIELD     512  Can be used as a shield.
   ITEM_WEAR_ABOUT     1024  Can be worn as a "jacket."
   ITEM_WEAR_WAISTE    2048  Can be worn around the waiste (belt).
   ITEM_WEAR_WRIST     4096  Can be worn on wrist (bracelets).
   ITEM_WIELD          8192  Can be wielded and used as a weapon.
   ITEM_HOLD          16384  Item can be held in a hand.
   ITEM_PROJECTILE    32768  Item can be notched(arrow) or thrown(spear).
   ITEM_LAUNCHER      65536  Item can launch a projectile (bow,spear)
                             Note: A throwing spear or dagger must be both.
   ITEM_TWO_HANDED   131072  Item takes both hands to wield.
                             Must be used in conjunction with WIELD.

<MAX-OBJECT-COUNT>

This bit-vector is the MAX of the object. The maximum number of
the item in the game. NOTE: Items in Age of Chaos still have a
random chance of appearing over the MAX, except for items that
load on the ground or in a container. Items that are under 150%
max will load more frequently than those greater than 150%, but
the greatest odds of tweaking occur after the 150% mark.
 

<value 0> <value 1> <value 2> <value 3> <NL>

These values are very central. They define the ability of items based
on the items <Item Type>. These values are defined below. Note that
if you define an item as being anything but a weapon, you shouldn't set
the 'wield' flag. Many similar obvious rules apply.

Item Values
=========

These values are used, as illustrated below, with the different item types.

ITEM_LIGHT (1)
   Value[0]: Not Used
   Value[1]: Not Used
   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]: Not Used

   ITEM_SCROLL (2)
   Value[0]: Level of the spell on the scroll.
   Value[1]: Which spell (see sect. VI. Spell Numbers)
   Value[2]: Which spell
   Value[3]: Which spell

   The values(1-3) are three (or less) different spells, mixed 'on' the
   scroll. Unused spells should be set to -1. The power level of the scroll
   is based on the level of the scroll and the magical element values of
   the one reciting it.

   ITEM_WAND (3)
   Value[0]: Level of spell in wand.
   Value[1]: Max Charges (1..X)
   Value[2]: Charges Left
   Value[3]: Which spell in wand (see sect. VI. Spell Numbers)

   The power level of the wand is based on the level of the wand and the
   magical element values of the character using it.

   ITEM_STAFF (4)
   Value[0]: Level of spell in staff.
   Value[1]: Max Charges (1..X)
   Value[2]: Charges Left
   Value[3]: Which spell in staff (see sect. VI. Spell Numbers)

   The power level of the staff is based on the level of the staff and the
   magical element values of the character using it.

   ITEM_WEAPON (5)
   Value[0]: Self-destruct ID.
             0     Doesn't self destruct after thrown (spear, dagger, etc.)
             1     Does self destruct, Standard Bow and Arrow ID
                       (Both bow and arrow must have this ID) - This is the ID
               to use to make bows that take advantage of ranger's archery.
             2     Sling and rock standard ID.
             3     Standard dart and blowgun ID.
            20     Long bows...
   Value[1]: Number of dice to roll for damage
   Value[2]: Size of dice to roll for damage
   Value[3]: The weapon type. Type is one of:

         NUMBER  CATEGORY           Message Type        Example Weapons
            2  : Slash             "whip/whips"          whip, scourge
            3  : Slash             "slash/slashes"           sword
        4  : Slash-no charge   "slash/slashes"        axe, scythe
            6  : Bludgeon          "crush/crushes"        mace, flail
            7  : Bludgeon          "pound/pounds"         staff, club
           10  : Blast             "blast/blasts"        lightning bolt
           11  : Pierce            "pierce/pierces"      dagger, knife
           12  : Pierce-no BS      "pierce/pierces"     rapier, polearm
           14  : Pierce-chargable  "pierce/pierces"      spear, lance

          New types can be added as needed, and ultimately the weapon type
      you choose is a matter of personal choice.

      To make a bow, make an object that is a weapon and give it the
      item_launcher bit among whatever other bits you want it to have
      (take, wield, two-handed are typical.)

   ITEM_FIREWEAPON (6)
   Value[0]: -
   Value[1]: -
   Value[2]: -
   Value[3]: -

   ITEM_MISSILE    (7)
   Value[0]: -
   Value[1]: -
   Value[2]: -
   Value[3]: -

   ITEM_TREASURE   (8)
   Value[0]: -
   Value[1]: -
   Value[2]: -
   Value[3]: -

   ITEM_ARMOR      (9)
   Value[0]: The effective AC. >0 enhances the armour class. <0 reduces
               the armour class (cursed armour for example).
   Value[1]: -
   Value[2]: -
   Value[3]: -

   ITEM_POTION    (10)
   Value[0]: Level of the spell in the potion.
   Value[1]: Which spell number (see sect. VI. Spell Numbers)
   Value[2]: Which spell number
   Value[3]: Which spell number
                     The values(1-3) are three (or less) different spells,
                     mixed in the potion. Unused spells should be set to -1.
                      Eg.
                      Value 0 : 30  (Level)
                      Value 1 : 27  (Harm)
                      Value 2 : 17  (Curse)
                      Value 3 :  4  (Blindness)
                         (* Don't drink this - It's bad for your health! *)

   The power level of the potion is based on the level of the potion and the
   magical element values of the character using it.

   ITEM_WORN      (11)
   Value[0]: -
   Value[1]: -
   Value[2]: -
   Value[3]: -

   ITEM_OTHER     (12)
   Value[0]: -
   Value[1]: -
   Value[2]: -
   Value[3]: -

   ITEM_TRASH     (13)
   Value[0]: -
   Value[1]: -
   Value[2]: -
   Value[3]: -

   ITEM_COMPONENT     (14)
   Value[0]: -
   Value[1]: -
   Value[2]: -
   Value[3]: -

      Currently trap components are not used in Age of Chaos.
      Note: Be sure to add the following 2 lines to a COMPONENT object:
            Currently this item type is used in conjunction with SET
            trap, which is not a player usable skill.

      T <type> <d1> <d2> 0 <trigger>
      Trap spring description~

      where:
         <type>    = Trap type (1 = hurt trigger man only, 2 = Room wide)
         <d1>      = Dammage Dice 1
         <d2>      = Dammage Dice 2
         <trigger> = 1 trigger on open/close
                     2 trigger on get
                     3 trigger on entry to portal

   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]: Internal use for Corpses that must "rot". Set to 0.

   ITEM_NOTE      (16)
   Value[0]: Tongue (language of writing).
              0   = Common
              196 = Dwarven
              197 = Elven
              198 = Centaur
              199 = Giant
              200 = High Tongue
              201 = Light Tongue
              202 = Dark Tongue
              203 = Aracoix
              204 = Minotaur
              205 = Druid
              206 = Ancient Tongue
   Value[1]: -
   Value[2]: -
   Value[3]: -

   ITEM_DRINKCON  (17)
   Value[0]: Maximum drink-units the drink-container can contain.
   Value[1]: Number of drink-units that are left in the container.
   Value[2]: The type of liquid in the drink-container, one of:

                Drink Type:       No.    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_COFFEE     12      0          1          6
              LIQ_BLOOD      13      0          2         -1
              LIQ_SALTWATER  14      0          1         -2
              LIQ_CLEARWATER 15      0          0         13

          The above values for drunkness/fullness/thirst are used per
          four "units" drunk. The values are expressed in HOURS!
          Example:
            Dragon empties a bottle (say 7 units) of saltwater.
            His Drunkness is not changed ((7/4)*0)
            His Fullness increases by ((7/4)*1) hours
            His Thirst increases by ((7/4)*-2) hours, thus making
               him More thirsty.

          The hours above are numbers between 0 and 24. 24 hours is
          maximum for drunkness/fullness/thirst. When hours are zero
          for any drunkness/fullness/thirst the person will be
          sober, hungry, or thirsty respectively.

   Value[3]: If this value is not zero, the number here is the spell number
             of the spell affect that will be woven on the character when
             drinking the liquid. For example, the healing fountain in the
             dreamworld.

   ITEM_KEY       (18)
   Value[0]: The key-type. In all but the strangest cases, set this to 1.
   Value[1]: -
   Value[2]: -
   Value[3]: -

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

   ITEM_MONEY     (20)
   Value[0]: The number of gold coins "in the pile of coins".
   Value[1]: -
   Value[2]: -
   Value[3]: -

   ITEM_PEN       (21)
   Value[0]: -
   Value[1]: -
   Value[2]: -
   Value[3]: -

   ITEM_BOAT      (22)
   Value[0]: -
   Value[1]: -
   Value[2]: -
   Value[3]: -

   ITEM_FOUNTAIN  (23)
   Value[0]:    ** See ITEM_DRINKCON **
   Value[1]:
   Value[2]:
   Value[3]:

   ITEM_PORTAL    (24)
   value[0]: Target Room Vnum
   value[1]: -
   value[2]: -
   value[3]: -

   ITEM_DICE      (25)
   value[0]: Number of dice. [1-7]
   value[1]: Number of sides on each die. [2-20]
   value[2]: Weighted side(cheat). [0-sides]
   value[3]: Percent that weighted side turns up. [0-100]

   ITEM_PAPER     (26)  The Chaos Tribune will be scribed on at load.
   Value[0]: Tongue (language of writing).
              0   = Common
              196 = Dwarven
              197 = Elven
              198 = Centaur
              199 = Giant
              200 = High Tongue
              201 = Light Tongue
              202 = Dark Tongue
              203 = Aracoix
              204 = Minotaur
              205 = Druid
              206 = Ancient Tongue
   Value[1]: -
   Value[2]: -
   Value[3]: -

   ITEM_MAP       (27)
   Value[0]: Zone number of the room the map leads to.
   Value[1]: Set to 1.
   Value[2]: Room number that the map leads to.
   Value[3]: -

   ITEM_TRAP      (28) (Unused)
   Value[0]: -
   Value[1]: -
   Value[2]: -
   Value[3]: -

   ITEM_TOOL      (29)
   Value[0]: Max charges of the tool.
   Value[1]: Current charges of the tool.
   Value[2]: Trade the tool is for:
             1 = Woodcutter
             2 = Miner
             3 = Collier
             4 = Gemologist
             5 = Stonecutter
             6 = Herbalist
             7 = Fisherman
             8 = Trapper
   Value[3]: Efficiency of the tool. (Currently 1-8).

<weight>[NL]

The weight of the item in pounds.
 

<value>[NL]

The value of the item if sold. Keep in mind game balance when
setting this field. Currently, standard shopkeepers buy from
players at 1/10 value and sell at 4/3 value.
 

<cost per day / recharge cost> <NL>

The cost to store the item in the reception overnight. This
currently has no use. Standard is 1/10 value. However, if the
object is a wondrous item (see below), this value is the cost
to recharge one charge of the item.


Several extra descriptions or none at all may appear. They follow the room
format exactly.
 

'E'<NL>

<keyword-list>~<NL>

Exactly as in rooms.
 

<extra description><NL>~<NL>

Exactly as in rooms.
 

'A'<NL>

Between zero and two "affects" may be set on an item. The affects could
for example modify a characters strength, height etc. The affect only goes
into affect when the character wear, wield or hold the item. The affect
is removed when the character removes the items.
 
When items are worn using wear/wield/grab/hold commands, the 'A' will
allow the items to affect a characters various abilities. Currently
a maximum of 3 'A' fields are allowed.
 

<location>[NL]

<location> is one of the below numbers, indicating which ability
will be changed.
   APPLY_NONE            0  DO NOT USE
   APPLY_STR             1  Apply to Strength.
   APPLY_DEX             2  Apply to Dexterity.
   APPLY_INT             3  Apply to Intelligence.
   APPLY_WIS             4  Apply to Wisdom.
   APPLY_CON             5  Apply to Constitution.
   APPLY_SEX             6  DO NOT USE
   APPLY_CLASS           7  DO NOT USE
   APPLY_LEVEL           8  DO NOT USE
   APPLY_AGE             9  Apply to Age.
   APPLY_CHAR_WEIGHT    10  DO NOT USE
   APPLY_CHAR_HEIGHT    11  DO NOT USE
   APPLY_MANA           12  Apply to MAXMANA.
   APPLY_HIT            13  Apply to MAX HP's.
   APPLY_MOVE           14  Apply to MAX Moves.
   APPLY_GOLD           15  DO NOT USE
   APPLY_EXP            16  DO NOT USE
   APPLY_AC             17  Apply to AC.
   APPLY_HITROLL        18  The bonus/penalty to hit the opponent.
   APPLY_DAMROLL        19  The bouns/penalty to damage the opponent.
   APPLY_PFIRE          20  Apply to physical fire.
   APPLY_PWATER         21  Apply to physical water.
   APPLY_PAIR           22  Apply to physical air.
   APPLY_PEARTH         23  Apply to physical earth.
   APPLY_PSPIRIT        24  Apply to physical spirit.
   APPLY_CHA            25  Apply to Charisma.
   APPLY_APR            26  Apply to APR (per 2 rounds) Do not apply -APR!
   APPLY_MFIRE          27  Apply to magical fire.
   APPLY_MWATER         28  Apply to magical water.
   APPLY_MAIR           29  Apply to magical air.
   APPLY_MEARTH         30  Apply to magical earth.
   APPLY_MSPIRIT        31  Apply to magical spirit.

<modifier><NL>

The modifier is added to the APPLY_XXX ability of the character
when he uses an item, and is subtracted when he stops using it.
Take great care when using this. This is an example of an item of
improve strength and armour class. Example:

    A
    1 2
    A
    17 -2

This adds +2 to the strength, and adds -2 to the AC (thus improving it).
 

'R' <NL>

<restriction1> <NL>
<restrictionN> <NL>

These fields should set the CLASS & RACE RESTRICTIONS of the object.
For example a sword that only rangers can use would be:
    R
    RANGER_ONLY

or a club that is anti-mage and anti-cleric would be:
    R
    ANTI_MAGE
    ANTI_CLERIC

   Valid Settings are:
 --------------------
  [Use only one of these on an item]  [Use any number of these on an item]
   MAGE_ONLY                           ANTI_MAGE
   CLERIC_ONLY                         ANTI_CLERIC
   CHAOS_CLERIC_ONLY                   ANTI_CHAOS_CLERIC
   ORDER_CLERIC_ONLY                   ANTI_ORDER_CLERIC
   RANGER_ONLY                         ANTI_RANGER
   BARD_ONLY                           ANTI_BARD
   WARRIOR_ONLY                        ANTI_WARRIOR
   THIEF_ONLY                          ANTI_THIEF
   PALADIN_ONLY                        ANTI_PALADIN
   ANTI_PALADIN_ONLY                   ANTI_ANTI_PALADIN
   BARBARIAN_ONLY                      ANTI_BARBARIAN
   DRUID_ONLY                          ANTI_DRUID
   MONK_ONLY                           ANTI_MONK
   ARTIFICER_ONLY                      ANTI_ARTIFICER

   HUMAN_ONLY                          ANTI_HUMAN
   ELF_ONLY                            ANTI_ELF
   OGIER_ONLY                          ANTI_OGIER
   DWARF_ONLY                          ANTI_DWARF
   ARACOIX_ONLY                        ANTI_ARACOIX
   HALF_GIANT_ONLY                     ANTI_HALF_GIANT
   SHADE_ONLY                          ANTI_SHADE
   MINOTAUR_ONLY                       ANTI_MINOTAUR
   SYLVAN_ONLY                         ANTI_SYLVAN
   UNDEAD_ONLY                         ANTI_UNDEAD
   FERAL_ONLY                          ANTI_FERAL
   DRAGON_ONLY                         ANTI_DRAGON


NOTE:

 
Barbarians should be restricted to not using magical items, unless
they could be considered 'tribal' or 'natural.' Monks should be restricted
against +dmg on wrist, arm, chest, and head gear, and in general can only
use equipment made of wood, cloth, or leather. Minotaurs cannot use any sort
of helmet unless it is made MINOTAUR_ONLY. This is intentional and there
should not be a great selection of head gear for them to use.
 

'F' <NL>
<affect> <NL>

Objects can have any number of these effects:
     AFF_INVISIBLE              1     Affected by invisibility.
     AFF_DETECT_EVIL            2     Can see aura around evil players/mobs.
     AFF_DETECT_INVISIBLE       3     Can see invisible.
     AFF_DETECT_MAGIC           4     Can see aura around magic items.
     AFF_SENSE_LIFE             5     Can see hidden players and mobs.
     AFF_HOLD                   6     Affected by hold person.
     AFF_SANCTUARY              7     Affected by Sanctuary.
     AFF_GROUP                  8     DO NOT USE
     AFF_CURSE                  9     Affected by curse (-10 def elements).
     AFF_PERM_SLEEP            10     Affected by perm sleep.
     AFF_POISON                11     Affected by poison
     AFF_PROTECT_EVIL          12     Affected by protection from evil.
     AFF_FREE_ACTION           13     Can't be held.
     AFF_WATERWALK             14     Can walk into water rooms.
     AFF_WARD                  15     Affected by ward.
     AFF_SLEEP                 16     Affected by sleep spell.
     AFF_REFLECTION            17     Affected by reflection.
     AFF_SNEAK                 18     Affected by sneak.
     AFF_HIDE                  19     Affected by hide.
     AFF_BLACK_MANTLE          20     Prevents all types of healing.
     AFF_CHARM                 21     Screws over players! -charmed by all!
     AFF_FOLLOW                22     DO NOT USE
     AFF_WIMPY                 23     DO NOT USE
     AFF_INFRARED              24     Can see in the dark.
     AFF_DESICRATE             25     Affected by desicrate.
     AFF_DEATHS_DOOR           26     DO NOT USE <-- Player will not die!
     AFF_IMPROVED_INVISIBILITY 27     Affected by improved invisibility.
     AFF_FLEET_FEET            28     Affected by fleetfeet.
     AFF_GHOST                 29     ETHERIAL : No physical actions!
     AFF_FEATHERFALL           30     Affected by featherfall.
     AFF_STILLED               31     Can't weave spells.
     AFF_BLIND                 32     Affected by blindness.
     AFF_SILENCE               33     Affected by silence.
     AFF_SUSTAIN               34     No need to eat or drink.
     AFF_DREAM_SIGHT           35     Can see in sleep.
     AFF_HASTE                 36     Affected by haste.
     AFF_VENGENCE_SHROUD       37     Affected by vengeance shroud.
     AFF_FIRESHIELD            38     Affected by fireshield.
     AFF_STONESKIN             39     Affected by stoneskin.
     AFF_BARKSKIN              40     Affected by barkskin.
     AFF_PROTECT_GOOD          41     Affected by protection from good.
     AFF_AMBIDEXTERITY         42     Affected by ambidexterity.
     AFF_NOSUMMON              43     Can not be summoned by other players.
     AFF_GUARDED               44     DO NOT USE
     AFF_PARRY                 45     DO NOT USE
     AFF_ENDURE_ELEMENTS       46     Affected by endure elements.
     AFF_PROTECT_HEAT          47     DO NOT USE
     AFF_POLYMORPHED           48     DO NOT USE
     AFF_TRUESIGHT             49     Can see through polymorph.
     AFF_CIRCLED               50     Can backstab in combat.
     AFF_TREAD                 51     Can't be hunted.
     AFF_DETECT_TRAPS          52     Can see traps. (Currently disabled.)
     AFF_HALF_SANCT            53     3/4 damage.
     AFF_WALL_OF_THORNS        54     Damage with every move.
     AFF_BERSERK               55     Berserker Rage - No flee, auto-attack.
     AFF_DREAMWALK             56     DO NOT USE
     AFF_BANISHED              57     DO NOT USE
     AFF_TONGUES               58     Full language skills.
     AFF_LANDED                59     DO NOT USE
     AFF_FLAMEGLOSS            60     DO NOT USE
     AFF_VORPALIZE             61     Doesn't do anything.
     AFF_COURAGE               62     Doesn't do anything.
     AFF_CONFUSION             63     DO NOT USE
     AFF_LIGHT                 64     Doesn't do anything.
     AFF_DISEASED              65     DO NOT USE
     AFF_UNUSED_C              66     DO NOT USE
     AFF_BREATH_WATER          67     Can breathe in UNDERWATER rooms.
     AFF_ABSORBTION            68     Affected by absorbtion.
     AFF_SLOW                  69     Affected by slow spell.
     AFF_DETECT_GOOD           70     Can see aura around good players/mobs.
     AFF_ARTIFICE              71     DO NOT USE
     AFF_DARKNESS              72     Doesn't do anything.
     AFF_KNOW_ALIGNMENT        73     Affected by know alignment spell.
     AFF_FAERIE_FIRE           74     Affected by faerie fire.
     AFF_MOVE_SILENTLY         75     Affected by move silently.
     AFF_USED_FIRESHIELD       76     DO NOT USE
     AFF_CLOAK_OF_DARKNESS     77     Affected by cloak of darkness.
     AFF_NOPOISON              78     Cannot be harmed by poison.

'S' <NL>
<spell_num> <spell_lev> <spell_%> <NL>

This is the "Attack Spell" field. It is only used with weapons. If present it
causes the spell shown in spell_num to be weave spell_% of the time on
successful hits with the weapon.
 
Note: The spell is only activated when the weapon is wielded.

<spell_num>      =             Spell number (see sect. VII. Spell Numbers)
 
<spell_lev>        =             Spell weaving level.
 
<spell_%>         =             Percentage of time spell is activated on a succesfull hit.
                                         If this value is NEGATIVE, it indicates the Number of 100%
                                         charges in the item (ie. -3 is three charges that always go
                                         off on a hit)

                Spell weaving weapons usually have a cap on percentage;
                one handers cap at 3-5% for damage spells, and two handers
                cap at about 6-8% usually.

The power level of the spell is based on the spell level field and the
magical element values of the character using it.
 

Wondrous Items
-------------------

'W' <NL>
<spell_num> <spell_lev> <charges> <NL>
<desc>~ <NL>

This makes the object a wondrous item. A wondrous item is like a wand,
except it can be placed on nearly any eq slot, outputs a message about
it's use, and can be recharged at shops by being repaired. NOTE: Items
flagged with an S or T field CAN NOT be made wondrous items. Wondrous
items also CAN NOT be weapons or objects which are held (although they
can be lights). You can use $n for the user of the object, and $s for the his/her
of the user in the description line, as well as other variables, similar to those
found in mobprogs.

<spell_num>       = Spell number (see sect. VII. Spell Numbers)
 
<spell_lev>         = Spell weaving level.
 
<charges>          = Spell weaving level.
 
<desc>               = This line will be outputted to the room when item is used.

Example:

W
1 15 5
$n clutches $s Amulet of Armory in his hand, and glows strangely...~

The power level of the wondrous item is based on the spell level field
and the magical element values of the character using it.
 

Traps
-------

Traps are a recently rediscovered feature of Age of Chaos. An object can
be set to be trapped in the obj file. The general format is:
 

T <trap type> <dice 1> <dice 2> <charges> <trigger>
<Message when the trap goes off>~

<trap type>        =      0 - No trap.
                                  1 - Only hurt the one triggering trap.
                                  2 - Hurt everyone in room.
 
<dice 1>            =      Number of dice to roll for damage.
 
<dice 2>            =      Size of dice to roll for damage.
 
<charges>          =      Number of charges (-1 for infinite charges).
 
<trigger>           =       0 - No trigger.
                                  1 - Open/close triggers, use on a container.
                                  2 - Get triggers, will trigger when the object is picked up.
                                  3 - Enter portal triggers, use on a portal.

Be careful when using traps. Currently get traps are not used due to the
possibility of abuse. Traps do not do damage in no violence rooms.
 

Example Object
------------------

#10001
sword gleaming iron short~
a gleaming iron short sword~
A gleaming short blade has been left here on the ground.~
~
5 1089 8193 10
0 2 5 11
12 1750 150
E
sword gleaming~
The sword looks like it has been forged from the finest
iron, and blessed with a magical blue aura or power.
~
A
2 2
A
18 2
R
ANTI_CLERIC
ANTI_MAGE
ANTI_DRUID
ANTI_BARBARIAN
F
2
S
15 10 5
T 1 10 10 4 2
A blast of blue lightning shoots up your arm as you grab the sword!~
.
.
.

Facts about this object:
--------------------------

-Object vnum #10001
 
-Keywords of 'sword' 'gleaming' 'iron' and 'short'
 
-Short description of: a gleaming iron short sword, and if looking
  at someone wielding it: <weapon wielded> a gleaming iron short sword
 
-Long description of:

        A gleaming short blade has been left here on the ground.

        What you would see on a look if the item was lying on the ground.
 
-No action description.
 
-It is a weapon (5), that GLOWS, is MAGIC, and is ANTI_EVIL. (1089)
 
-It is flagged TAKE and WIELD, and has a MAX of 10.
 
-As a weapon, it does not self-destruct (0), does 2d5 damage, (2 5)
  and is type PIERCING (11).
 
-It weighs 12 lbs. and is valued at 1750 coins, and costs 150 coins
  to store overnight in rent.
 
-Has an E description with keywords 'sword' and 'gleaming' with desc:
 
            The sword looks like it has been forged from the finest
            iron, and blessed with a magical blue aura or power.

           Which you would see if you did a 'look' or 'examine' at the object.
 
-It applies 2 to dexterity (A..2 2) and 2 to +hit (A..18 2).
 
-The item can not be used by mages, clerics, druids, or barbarians.
 
-The item gives DETECT EVIL to its wielder (F..2).
 
-The sword weaves a level 15 color spray 5% chance per hit. (S..15 10 5)
    NOTE: See the spellnumber list in sect. VII. of these documents.
 
-The sword is trapped (T 1 10 10 4 2...), to harm the person triggering
  the trap only, doing 10d10 damage, with 4 charges, triggered by getting
  the sword. With message when triggered:

            A blast of blue lightning shoots up your arm as you grab the sword!
 
Back to Top

IV.    Shop Files


The format is as follows:
---------------------------

#<xx>~
Shop Number (Not used)
<num1>
<num2>
<num3>
<num4>
<num5>

<Profit when selling>
<Profit when buying>
<num1>
<num2>
<num3>
<num4>
<num5>

<Message When Item to buy is non existing>~
<Message When item trying to sell is non existing>~
<Message When wrong item-type sold>~
<Message when shop can't afford item>~
<Message when player can't afford item>~
<Message when buying an item>~
<Message when selling an item>~

<Temper 1>
<Temper 2>
<Shop Keeper Mobile Number>
<With Who>
<Shop Room Number>
<Time when open start 1>
<Time when open end 1>

<Time when open start 2>
<Time when open end 2>

Example Shop

Shop Definitions:
-----------------------

<num1>
<num2>
<num3>
<num4>
<num5>

These numbers refer to the objects the shop produces.
The numbers are virtual numbers. NOTE: You must give the shopkeeper
the items to sell using the zone file. Put a -1 in unused slots.
 

<Profit when selling>

The object value is multiplied by this value when sold. This is a
floating point value. Must be >= 1.0. Standard is 1.3
 

<Profit when buying>

The object value is multiplied by this value when bought. This is a
floating point value. Must be <= 1.0. Standard is .1.
 

<num1>
<num2>
<num3>
<num4>
<num5>

These five numbers are the item-types traded with by the shop.
See the Object Section (sect. III.) for item types. Put a 0 in
unused slots.
 

<Message When Item to buy is non existing>~
<Message When item trying to sell is non existing>~
<Message When wrong item-type sold>~
<Message when shop can't afford item>~
<Message when player can't afford item>~
<Message when buying an item>~

Price is %d

<Message when selling an item>~

Price is %d
 

<Temper 1>

When player can't afford an item.
 
0         =    The shopkeeper spits player in the face.
 
1         =    The shopkeeper snorts gruffly.
 
other   =    No action besides message above.
 

<Temper 2>

When player is attempting a "kill shopkeeper"
 
0        =     Shopkeeper tells player "Don't ever try that again!" Killing
                 is impossible, but murder and hit are not.
 
1        =    Shopkeeper tells player "You insolent fool!" and
                 killing is impossible. Murder is quite possible, as is hit.
 
other  =    No action besides message above.
 

<Shop Keeper Mobile Number>

Virtual number of the shopkeeper.
 

<With Who>

Case to be added later. For example character classes. Set to 0.
 

<Shop Room Number>

The virtual number the mobile must be in for the shop to be effective.
(So trans'ed shopkeepers can't sell in the desert).
 

<Time when open start 1>
<Time when open end 1>

The hours between which the shop is open. If not used set first to
0, second to 28 and shop will be open all the time.
 

<Time when open start 2>
<Time when open end 2>

The hours between which the shop is open. If not used set both of
these numbers to 0.
 

Example shop:
----------------
#1~
10001
-1
-1
-1
-1
1.3
.1
5
8
9
0
0
%s Sorry, I don't have that item.~
%s You don't seem to have that.~
%s Sorry, I don't buy that kind of item.~
%s I would purchase it, but I cannot afford it.~
%s Sorry, you can't afford that item.~
%s Thank you, that will be %d coins.~
%s I'll give you %d coins for that.~
1
0
10001
0
10003
6
22
0
0
$~
 

Facts about this shop:
------------------------

-Shop #1 in this shop file.
 
-Shop sells item number 10001.
 
-Shop sells items at 1.3 times their value.
 
-Shop buys items at .1 times their value.
 
-Shop buys items of types: weapons, treasure, and armor.
 
-Various messages for different situations. (See above.)
 
-Snorts gruffly if someone can't afford an item.
 
-Says, 'Don't ever try that again!' if someone tries to kill the
  shopkeeper...you could of course just murder the shopkeeper...
 
-Shopkeeper is mob 10001. With who is set to 0.
 
-Shop is in room 10003.
 
-Shop is open from 6 in the morning to 10 at night.
Back to Top

V.    Zone Files


Back to Top

        A.    Zone Files


Format of the zone-file:
---------------------------------------
#<zone number>
<name>~
<top of zone>
<lifespan>
<reset mode>
<command>
<command>

.
.
.
S
#99999
$~

Example Zone File


The zone-file contains the following information for each zone:
---------------------------------------------------------------------
 

<top of zone> <NL>

The top room-number of the zone. A room belongs to a zone X if:

zone[X-1].top < virtual_room_number <= zone[X]

for X > 0. Rooms belong to zone 0 if their number is between 0 and the
top of zone 0.
 

<lifespan> <NL>

The LIFESPAN of the zone. When the age of the zone (measured in minutes
after last reset) reaches this number, the zone is queued for reset. The
zone is then reset as soon as possible (more or less), depending on the
value of the RESET_MODE-variable.
 

<reset mode> <NL>

The RESET_MODE. This may take on of three values:

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 lifespan-field 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><NL><command><NL>

The COMMAND TABLE. This is a series of commands to execute at reset. The
table is terminated by the pseudo-command 'S', and thus follows the following format:

<command>
<command>

.
.
.

<command>
'S'

Each command consists of a letter, identifying the command-type,
followed by three or four arguments. The first argument, common to all
the commands is called the 'if-flag'. If it is true (nonzero), the command
is executed ONLY if the preceding command was executed. If it is false
(zero), the command is executed anyway.

The commands:
      M (load a mobile):
           Format: M <if-flag> <mobile nr> <max existing> <room nr>

        Mobile nr and room nr should be self-explanatory. The 'max
        existing' parameter is effectively ignored, set to 1. Each 'M'
        field will load a mob, regardless of mob max. The if-flag should
        always be 0 on any M field.

      O (load an object):
           Format: 'O' <if-flag> <object nr> <max existing> <room nr>

        Load an object and place it in a room (NOT -1). The max existing
        field is the number of times this item should appear and this
        command field done. For example, if set to 2, the object will
        load once when the zone is loaded, and once again at the first
        zone reset. Note: the if-flag should be 0 on any O field.

      G (give object to mobile):
           Format: 'G' <if-flag> <object nr> <max existing>

        Loads an object, and gives it to the last monster referenced
        (ie. by the M-command). The if-flag must be 1 on any G field.
        The max existing field should be 1 in most cases.

           Of course, this command doesn't make sense if a new mobile+object
           pair has not just been created, so be sure to place G fields after
           an M, E or G field, and not an O, P or D field.

      E (object to equipment list of mobile)
           Format: 'E' <if-flag> <object nr> <max existing> <eq position>

        Loads object and places it in the Equipment list of the last
        monster referenced. The if-flag must be 1 on any E field.
        The max existing field should be 1 in most cases.

        Note that it is NOT necessary to precede this command with a 'G'
        command, and the eq position you load the obj into does not have
        to be the normal slot for eq the object dictates, which makes it
        easy to have, say, a sword load on the belt of a mob. Equipment
        position is one of:

         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
         NOCKED         18

      P (put object in object):
           Format: 'P' <if-flag> <object_nr1> <max existing> <object nr2>

        Loads object1 and places it in object2. The if-flag must
        be 1 or multiple objects will load into the container. The P
        field must be placed right under the O field it gets loaded
        into... if you are loading something into a chest make sure
        you load the object into the chest in the line right under
        the field that loads the chest. Many P fields can be stacked
        together as long as they are all load in the lines beneath
        the object load field.

      D (set state of door)
           Format: 'D' <if-flag> <room nr> <exit direction flag> <state>

        The if-flag can be either 0 or 1 but it is recommended you use 0.
        State being one of:
            0: Open.
            1: Closed.
            2: Closed and locked.

        Note that to make a door you must first make the direction a door
        in the world file *and* close, lock or leave open the door in the
        zone file.

Example Zone File:
--------------------
#100
The Altar of Blood~
10099 45 2
M 0 10001 1 10003
E 1 10001 1 16
G 1 10002 1
O 0 10003 1 10007
P 1 10004 1 10003
D 0 10001 2 2
D 0 10007 0 2
S
#99999
$~

Facts about this zone:
------------------------

-Zone number 100, called The Altar of Blood.
 
-Top room number is 10099, resets every 45 minutes with RESET_MODE of 2.
 
-Loads mob 10001 in room 10003, equips the mob with obj 10001 (wielded),
 gives the mob obj 10002, loads object 10003 in room 10007, puts object
 10004 in object 10003, and closes and locks a door to the south in room
 10001, and a door north in room 10007.
Back to Top

        B.    Zonehelp Files


Every zone submitted to Age of Chaos must also contain a zone help file
that gives a general desription of the zone. The format is as follows:

"ZONE <Zone number>"
0

Title: <Title of the zone>
Zone#: <Zone number>
Author: <Author of the zone>
Danger: <Danger rating>

<A short, four to five line description of the zone>

~

The danger rating ranks from 1 to 10, basically rating the danger level of
the zone, from easiest to hardest. When rating your zone keep in mind its
intended purpose, and check the ratings of zones you feel are similiar to
yours as far as danger goes.
Back to Top

VI.    Guidelines


Back to Top

        A.    Monster Lookup


These are general guidelines for creating monsters. This is when creating
"S"imple monsters. Detailed monsters require a great deal of care when
designing, and it is not really worth it, especially since they don't work.

It is difficult to provide an accurate 'average' mob of each level, and
the following list should be used only as a framework for how you build
your mobs. It is important to take into account if the mob will be
wielding a weapon, and if so, you must adjust the damrolls so the mob
will do adequete damage wielding a weapon. For example, if a mob does
4d8+29 dmg, and it's wielding a 1d6 dagger, it will only do 1d6+29.

AoC mobs' experience are calculated based on the exp number you enter,
and modified by different effects the mob may have. Building balanced
mobs may be difficult at first, but with practice you will be able to
do it. It may help to check out the stats of various mobs in the game
if you have this resource. Even conning mobs can give you a little
insight into their power level.
Level  AVERAGE            AVERAGE  SUGGESTED  SUGGESTED  SUGGESTED
            <HP>               <EXP>    <THAC0>     <AC>       <DAM>

  0    [001..015]           [30]       20        10        1d4+0 (2.5)
  1    [011..035]          [110]       20         9        1d5+0 (3.0)
  2    [023..045]          [220]       19         8        1d6+0 (3.5)
  3    [036..055]          [385]       18         7        1d7+0 (4.0)
  4    [048..075]          [660]       17         6        1d8+0 (4.5)
  5    [061..085]          [990]       16         5        2d4+0 (5.0)
  6    [073..100]         [1650]       15         4        1d8+1 (5.5)
  7    [086..125]         [2500]       14         4        2d4+1 (6.0)
  8    [098..150]         [4000]       13         3        2d5+1 (7.0)
  9    [111..175]         [6600]       12         3        2d5+1 (7.0)
 10    [123..175]         [9900]       11         2        2d6+1 (8.0)
 11    [136..200]        [12000]       10         2        2d6+1 (8.0)
 12    [148..250]        [14000]        9         2        2d7+1 (9.0)
 13    [161..275]        [17000]        8         2        2d7+1 (9.0)
 14    [173..300]        [20000]        7         1        2d8+1 (10.0)
 15    [186..350]        [23000]        6         1        2d8+2 (11.0)
 16    [198..400]        [26000]        5         1        2d8+2 (11.0)
 17    [211..425]        [30000]        4         1        3d6+2 (12.5)
 18    [223..450]        [33000]        3         0        3d6+2 (12.5)
 19    [236..475]        [38000]        2         0        3d6+3 (13.5)
 20    [248..500]        [44000]        1         0        3d6+4 (14.5)
 21    [261..600]        [55000]        0        -1        3d7+4 (16.0)
 22    [350..650]        [66000]        0        -1        3d8+4 (17.5)
 23    [401..650]        [82000]        0        -2        3d8+4 (17.5)
 24    [451..700]        [99000]        0        -3        3d8+4  (17.5)
 25    [501..750]       [120000]        0        -4        4d6+6  (20.0)
 26    [600..1000]      [130000]        0        -6        4d8+12 (24.0)
 27    [950..2000]      [165000]       -1        -7        4d8+15 (27.0)
 28    [1750..2500]     [275000]       -1        -8        4d8+20 (32.0)
 29    [2000..2750]     [350000]       -1        -9        4d8+25 (47.0)
 30    [2500..3200]     [450000]       -2       -10        5d8+30 (52.5)
 31    [3000..4000]     [550000]       -3       -10        8d6+40 (68.0)
Back to Top

        B.    Magical Items


Good ideas when making items:

Keep in mind game balance. Try not to add items that are more powerful
than items currently in the game. Making duplicates of overmaxxed items
in the game is acceptable, as is taking an item and changing it somehow.
For example, there is an onyx bracelet (+1 dam +1 hit), an adamantine
bracelet (+1 dam -5 ac), a bronze bracelet {+1 dam Det. Invis). A greater
modifier may have penalties, such as a demon-bone bracelet (+2 dam -1 con)
or a bracelet heralding images of the abyss (+2 dam -1 dex).

Impose a penalty on the item - for example make a helmet of wisdom so that
at the same time reduces the constitution.

When making items keep in mind the value of the item. Standard
shopkeepers buy at 1/10 value and sell at 4/3 value. Also keep in mind
the max of the item. The lower the max, the rarer the item will be.
Restrictions can also help an item be balanced. Try to use all of
the resources available to you when making balanced items, including
how powerful the mobs that have the items are.

It is also important to keep in mind that items can TWEAK and become
more or less powerful.

The best way to balance an item is be knowledgable about items in the
game and try to keep around that level.

Example Magical Items:

Name                 Value   Wt.  Max  RESTRICTS       Magic Effect
-------------------  ------  ---  ---  -------------   ------------------
Onyx Bracelet         2500    6    20  M,C,Ba,D,Mk     +1 dam, +1 hit
Golden Dwarven Ring   5000    1    25  M,C,T,Ba,D,Mk   +2 dam, -1 dex
Cape of Sanguine      2600    5    20  M,C,Ba,D,Mk     +1 hit, +1 dam
Black Leather Belt   10000    1    15  Ba,Mk           +2 dex
Robe of Summoner      3000    2    12  T,W,P,A,Ba,Mk   +18 mana, +2 cha
Crested Helm         10100   10    12  M,C,T,Bd,Ba,D   +2 str, ACAP 7
Orb Ter'angreal       8750    1    20  Ba,Mk           +35 mana

In addition, the following rules have been instigated regarding equipment
balance. They must be followed at all times.

The following charts outlines the slots in which classes can have
equipment with +damage as one of its A fields:

WARRIOR         PART WAR        MID WAR         PART WVR        WEAVER
(wa)            (ba,th)         (ra,pa,ap)      (ar,mk*,bd)     (mu,oc,cc,dr)

light
finger          finger          finger          finger          finger
neck            neck            neck            neck            neck
body            body            body            body            body
head            head            head            head            head
legs            legs
feet            feet            feet            feet
hands           hands           hands           hands           hands
arms            arms            arms            arms            arms
shield          shield          shield
about           about           about           about           about
waist           waist           waist
wrist           wrist           wrist           wrist           wrist
hold            hold            hold            hold            hold

* Monks have NO +dam arm, wrist, head, or body slots.
  They DO get +dam waist slot to compensate. Rangers
  get the waist slot, paladins and APs do not.

In addition, these rules on damage gear must also be followed:

o Limit max +dam/+hit on eq to +1 weaver/+2 semi/+3 warrior
o Limit eq so +hit and +dam on the same non-weapon, non-held
  item is only usable by warriors.

Finally, there are rules regarding +element equipment. While this balance
is largely based on the item itself, elements have opposing elements that
should be used when adding to one element and the need to subtract from
another arises:

FIRE   - Opposed by water and air.
WATER  - Opposed by fire and earth.
AIR    - Opposed by earth and fire.
EARTH  - Opposed by air and water.
SPIRIT - Opposed by any.
Back to Top

        C.    Armor


EQUIPMENT ACAP MULTIPLIERS:

Place Worn     ACAP
----------     ----
Body            x3
Head            x2
Legs            x2
Arms            x2
Shield          x2
Hands           x1
Feet            x1
Ring            x1
Neck            x1
About           x1
Wrist           x1
Waist           x1
Held            x1

SUGGESTED ACAP AND WEIGHTS FOR DIFFERENT ARMOR MATERIALS:

Armor     ACAP    Wt.     Material Type   ACAP   Wt.
--------  ----    ----    -------------   ----   ----
Cloth      0      0-3     Adamantine       +2    -10%
Leather    1      1-6     Mithril          +1    -25%
Studded    2      1-8     Iron             +0    +10%
Hide       3      6-11    Silver           -1    +0 %
Ring       4      3-12    Gold             -2    +25%
Scale      5      8-15
Splint     6      8-16
Banded     7      8-16
Chain      8      9-18
Plate      9     10-26
Back to Top

        D.    Weapons


The weight of a weapon determines the strength needed to wield the weapon,
these values should be used:

STR     Max. Weapon Weight    Carrying capacity
---     ------------------    -----------------
  0           0                      0
  1           1                      3
  2           2                      3
  3           3                     10
  4           4                     25
  5           5                     55
  6           6                     80
  7           7                     90
  8           8                    100
  9           9                    100
 10          10                    115
 11          11                    115
 12          12                    140
 13          13                    140
 14          14                    170
 15          15                    170
 16          16                    195
 17          18                    220
 18          20                    255
 18/01..50   22                    280
 18/51..75   24                    305
 18/76..90   26                    330
 18/91..99   28                    380
 18/100      30                    480
 19          31                    520

Backstabbing is only possible with piercing weapons (type 11)
Charging is only possible with slashing or piercing weapons (type 3, 14)

When creating new weapons, keep in mind current weaponry. Use weight,
restrictions ans item max to control the balance of your weapon.

Like items, the easiet way to ensure balance of your weapon is to look
at example items used in the game and use them as a basic framework. It
is important to keep in mind that your weapon may TWEAK, making it more
powerful, and that part of how strong your weapon should be should be
based on the mob that has it.

SUGGESTED WEIGHTS FOR WEAPONS:

Battle Axes     7-10
Long Bows       3-31
Short Bows      2-20
Club            3-31
Crossbows       3-20
Daggers         1-20
Glaives         8-31
Halberd         15-31
Staff           4-20
Bastard Sword   10-20
Kopesh Swords   7-26
Long Sword      4-20
Scimitar        4-20
Short Sword     3-20
TwoHandeds      15-31

To find the damage average of a weapon, use ths formula:

(minimum DICE damage) + (maximum DICE damage) / 2

Then add any + or - damage from the A field of the weapon.

The following chart shows the standards for weapon damage for different
classes, showing the class, then the maximum damage per weapon for both one
handed and two handed weapons, then the maximum average damage per weapon
for one handed and two handed weapons, then the best possible dice and damage
apply a weapon for each class can have for both one handed and two handed
weapons. These standards must be followed at all times.

CLASS          Max1H Max2H  MaxAv1H MaxAv2H  Best1H  Best2H
-------------- ----- ------ ------- -------- ------- -------
Mage           6     10     5       7        1d3+3   3d3+1
Chaos Cleric   8     12     6       9        2d3+2   3d3+3
Order Cleric   8     12     6       9        2d3+2   3d3+3
Druid          8     12     6       9        2d3+2   3d3+3
Monk           8     14     6       10       2d3+2   4d3+2
Bard           10    18     8       13       2d3+4   5d3+3
Artificer      10    18     8       13       2d3+4   5d3+3
Thief          12    18     9       13       3d3+3   5d3+3
Ranger         12    20     9       15       3d3+3   5d3+5
Paladin        12    20     9       15       3d3+3   5d3+5
Anti-Paladin   12    20     9       15       3d3+3   5d3+5
Barbarian      13    22     10      16       3d3+4   6d3+4
Warrior        16    26     13      19       6d2+4   7d3+5

Backstabbing weapons should not have an average higher than 9, and charging
weapons should not have an average damage higher than 15.
Back to Top

        E.    FAQ and Tips


Q: Where do I begin?
A: There is an Age of Chaos zone builder available on out website.
   I would still recommend being familiar with the information
   outlined here. If you wish to manually create a zone, you should
   use the simplest text editor possible. Wordpad or Write are two
   that work, or you could use VI to write in UNIX. I recommend using
   Wordpad. I do not recommend using MSWord, MSWorks, or similar
   programs. Use the example zones to aid you in your zone writing.
   I would reccommend Textpad, which is available as shareware for
   a limited use time period.
Q: If my zone is greater than 100 rooms, what should I do?
A: Choose 2, 3, or whatever number of vnums you need. Just be
   sure they are all in a row (101,102,103..). Then, when you
   finish your first vnum wld file (ex: 101.wld), start a new
   wld file (ex: 102.wld). Then, in the zone file, include all
   of the rooms you have made to fit under the top room number.
Q: How do you make items that cannot be seen?
A: Leave out the long description of the item, and there will
   be no message of it lying on the ground. Use this sparingly,
   or players will quickly catch on to this trick. Note: Do NOT
   try to use this trick on mobs - it does not work and causes
   errors.
Q: How do I use color in my objects?
A: Using the standard ANSI code. AoC would like to maintain a
   low key color scheme, and we try to keep colored eq down to
   a tasteful level. To use ANSI, you must use $R followed by
   a three letter color code (red,yel,blu,cya,gre,mag,hig,nor)
   At the end of any line where you have used ANSI color code,
   you MUST end the line with $Rnor. You can altar colors by
   using $Rhig before another color code.
Q: What should I know about mob grouping?
A: Mobs will automatically group with each other unless they are
   of opposite alignment or are level 7 or below, or have been
   flagged NO_GROUP.
Q: How do I make my mob weave spells and interact with the world?
A: Using mobprogs. See the Mobprog Tutorial for full details, but
   here are some general tips. First of all, before every command
   in your mobprogs, you need to have either mppush or mpadd. This
   is a checking procedure that keeps the mob more stable. mppush
   will do the command slowly, while the mpadd will do it more quickly.
   On death_progs, do not use mpadd or mppush or the mobprog wont
   work. NEVER make a mob say anything. Always use the following:

   mpadd mpecho $I says, '<text>'

   If you use say, you run the risk of having mobs set off each other's
   speech progs (or their own!) and causing an infinite loop. That's bad.
   You can have multiple greet, fight, rand, entry, etc. progs that use
   a percentage chance. You must, however, place them in increasing order.
   So a 5% chance greet prog goes before a 10% chance greet prog, 15% etc.
   Note: channel_prog and all_greet_prog are disabled, do not use them.
   In Sect. VIII you will find an array of example mobprogs.
Q: What vnum should I use for my zone?
A: Just choose one that doesn't look like it's currently being used (by
   typing zone). It can be easily changed later by whoever puts your zone in.
Q: I'm going to make a really cool zone with awesome equipment in it and it
   will be BUFF!!! That's cool right?
A: All zones submitted to AoC are subject to change. That means that if we
   don't need a buff zone and we can format your zone for a lower level
   group of players it could happen. I would suggest you start your first
   zones as lower level zones anyway, and work your way up to knowing how
   to properly make difficult zones with better equipment. All too often I
   have to reduce equipment stats simply because I don't think the zone is
   hard enough... not to say it always happens but it happens. So you may
   be less disappointed in changes that may be made to your zone if you
   begin with lower level zones which are easier to balance and create in
   general anyway.
Q: How do I organize the different files?
A: Seperate the files into wld, mob, obj, zon, shp, and hel files, using
   the prefix as the vnum of the zone. So if you used the vnum 44, you
   would have 44.wld with your world file, 44.mob with your mob file,
   44.obj with your obj file, 44.zon with your zone file, and 44.shp if
   you had a shop file ... and 44.hel for your zone help file.
Q: How do I make 'invisible' mobs - the kind that no one can see?
A: Set the mob to level 32 and give it perm affects of hide and invis.
   Use this to make 'utility' mobs to do things but not be noticed by
   people exploring the zone.
Q: These docs look like heiroglyphics to me. I can't make sense of them.
A: Look carefully at the samples throughout this text. Available also is
   a full sample zone where you got these docs. It isn't always easy, I
   realize, but the best I can offer you is to read carefully and look at
   the samples. It isn't nearly as difficult as it seems, and usually
   first-time builders are intimidated by all the numbers and formatting.
   Just take your time to try and understand things as best you can.
Q: What kind of formatting standards does AoC use?
A: Currently we try to keep text width limited to 75 characters. The standard
   is to use a single space after periods, rather than two which many people
   learn to do. There is no indentation on descriptions.
Back to Top

VII.    Spell List


Spell		       Number
=============================
ARMOR                    1
TELEPORT_MAJOR           2
BLESS                    3
BLINDNESS                4
BURNING_HANDS            5
CALL_LIGHTNING           6
CHARM_PERSON             7
CHILL_TOUCH              8
CLONE                    9
COLOUR_SPRAY            10
CONTROL_WEATHER         11
CREATE_FOOD             12
CREATE_WATER            13
CURE_BLIND              14
CURE_CRITIC             15
CURE_LIGHT              16
CURSE                   17
DETECT_EVIL             18
DETECT_INVISIBLE        19
DETECT_MAGIC            20
DETECT_POISON           21
DISPEL_EVIL             22
EARTHQUAKE              23
ENCHANT_WEAPON          24
ENERGY_DRAIN            25
FIREBALL                26
HARM                    27
HEAL_LIGHT              28
INVISIBLE               29
LIGHTNING_BOLT          30
LOCATE_OBJECT           31
MAGIC_MISSILE           32
POISON                  33
PROTECT_FROM_EVIL       34
REMOVE_CURSE            35
SANCTUARY               36
SHOCKING_GRASP          37
SLEEP                   38
STRENGTH                39
SUMMON                  40
VENTRILOQUATE           41
WORD_OF_RECALL          42
REMOVE_POISON           43
SENSE_LIFE              44
HOLD_MONSTER            45
SOUL_SHATTER            46
BALEFIRE                47
SPEAK_OGIER             48
SPEAK_ARACOIX           49
SPEAK_DWARVEN           50
SPEAK_ELVEN             51
SPEAK_GIANT             52
IDENTIFY                53
ANIMATE_DEAD            54
ENTANGLEMENT            55
FIRE_BREATH             56
GAS_BREATH              57
FROST_BREATH            58
ACID_BREATH             59
LIGHTNING_BREATH        60
HOLD_UNDEAD             61
VAMPIRIC_TOUCH          62
CONTROL_UNDEAD          63
LIFE_LEECH              64
SILENCE                 65
FLAMESTRIKE             66
CURE_SERIOUS            67
SYNOSTODWEOMER          68
SMITE                   69
RAVAGE                  70
DISPEL_GOOD             71
ANIMAL_FRIENDSHIP       72
HOLD_ANIMAL             73
BARKSKIN                74
FLEET_FEET              75
WATERWALK               76
SUSTAIN                 77
ICELANCE                78
ICESTORM                79
VIGORIZE_LIGHT          80
KNOCK                   81
SPOOK                   82
ROAR                    83
VIGORIZE_CRITICAL       84
IMPROVED_INVISIBILITY   85
TELEPORT_MINOR          86
PHASE_DOOR              87
FREE_ACTION             88
DREAM_SIGHT             89
ENFEEBLEMENT            90
CHARM_MONSTER           91
SONIC_BLAST             92
AIRWALK                 93
DISPEL_MAGIC            94
FUMBLE                  95
AID                     96
DISPEL_SILENCE          97
REMOVE_PARALYSIS        98
GATE                    99
VITALIZE_MANA          100
HEAL_SERIOUS           101
REGENERATION           102
FEATHERFALL            103
INFRAVISION            104
TELEVIEW_MINOR         105
HASTE                  106
SHIELD                 107
IMM_FIRE               108
DEATHS_DOOR            109
SUCCOR                 110
FIREBOLT               111
TELEPORT_GROUP         112
STONESKIN              113
ASTRAL_PROJECT_MINOR   114
ASTRAL_PROJECT_MAJOR   115
FIRESHIELD             116
RESURRECT              117
TRUMP                  118
DESICRATE              119
TOWER_OF_STRENGTH      120
WARD                   121
HOLD_PERSON            122
HEAL_CRITICAL          123
MAGE_BLADE             124
PROTECT_FROM_GOOD      125
VENGEANCE_SHROUD       126
TELEVIEW_MAJOR         127
ENDURE_ELEMENTS        128
ACID_ARROW             129
POSSESS_ANIMAL         130
POLYMORPH_ANIMAL       131
POLYMORPH_PERSON       132
POLYMORPH_MONSTER      133
TRUESIGHT              134
ANCHOR                 135
MASS_HEAL              136
BLACK_MANTLE           137
TENTACULAR_DOOM        138
STILL                  139
CONJURE_ELEMENTAL      140
SUNRAY                 141
CREEPING_DOOM          142
WALL_OF_THORNS         143
VIGORIZE_SERIOUS       144
DETECT_TRAPS           145
PHANTOM_STEED          146
TONGUES                147
CREATE_DARKNESS        148
SPIRITUAL_HAMMER       149
HOPE                   150
DESPAIR                151
COURAGE                152
CONFUSION              153
CREATE_LIGHT           154
PLAGUE                 155
CURE_DISEASE           156
SUGGESTION             157
WAR_CHANT              158
KNOW_ALIGN             159
HOLY_WORD              160
STINKING_CLOUD         161
STARSHINE              162
FLAME_BLADE            163
SANDSTORM              164
DEATH_LINK             165
SLOW                   166
MAGICAL_VEST           167
FAERIE_FIRE            168
DETECT_GOOD            169
GUST_OF_WIND           170
SUNBURST               171
TRAVEL                 172
CLOAK_OF_DARKNESS      173
THUNDERLANCE           174
BLOOD_DAGGER           175
DEATH_BLADE            176
TORNADO                177
PURIFY                 178
FINGER_OF_DEATH        179
CREATE_ANIMAL          180
HARMONY                181
CALL_PLANTS            182
METEOR_SWARM           183
BREATH_WATER           184
FIRESTORM              185
NATURE_FURY            186
VENOM                  187
NATURES_INFUSION       188
REFLECTION             189
ABSORBTION             190
MANTLE OF TRUTH        191
MANTLE OF CHAOS        192
SUFFOCATE              193
MOONBEAM               194
HELLFIRE               195
QUIVERING PALM         196
DRAIN ESSENCE          197
SAP STRENGTH           198
CREATE ARTIFACT        199
WALL OF ICE            200
WALL OF FIRE           201
FOXSONG                202
ENCHANT ARMOR          203
FLAMEGLOSS             204
VORPALIZE              205
STRIP MAGIC            206
WALL OF FORCE          207
WALL OF SWORDS         208
COMMAND GOLEM          209
LIGHTNING BOW          210
***                    ***
SEDUCE GOOD            212
POSSESS PERSON         213
TRUE INVISIBILITY      214
CREATE POTION          215
ACHIEVE BALANCE        216
MECHANICAL HAND        217
***                    ***
LORDS LIGHT            219
Back to Top

VIII.    Example Mobprogs


For more details on mobprogs, check out the mobprog tutorial available on
the Age of Chaos webpage along with this document.

FIGHT PROG:
===============================
>fight_prog 15~
  mppush weave 'energy drain' $n
~
|

DEATH PROG:
===============================
>death_prog 100~
  mpecho $I screams, 'No! My treasure...ARGH!!!'
  mpoload 24905
  unlock szchestsz
  mpecho $I collapses as he reaches into the chest for his treasure.
  mpjunk key
~
|

SPEECH PROG:
===============================
>speech_prog key~
  if >(stat($i,"con"),16)
    mpadd mpoload 24906
    mpadd give key $n
  else
    endif
  endif
~
|

GREET PROG:
===============================
>greet_prog 100~
  mppush weave 'create darkness'
  mppush cackle
~
|

ENTRY PROG:
===============================
>entry_prog 100~
  mpadd mpecho A zombie rises up from the murky water, groaning loudly.
~
|

HITPRCNT PROG:
===============================
>hitprcnt_prog 80~
  if <(stat($i,"con"),15)
    mpadd mpset me con 18
    mpadd mpecho $I opens his robes; a storm of knives erupt from them!
    mpadd mpmload 25104
    mpadd mpforce knives kill $n
  else
    endif
  endif
~
|

ACT PROG:
===============================
>act_prog p howls at the moon.~
  mppush howl
  mppush $I pants happily.
~
|

RAND PROG:
===============================
>rand_prog 25~
  mppush mpecho $I snores very loudly.
~
|

GIVE PROG:
===============================
>give_prog scalp giant rat~
  mpadd give 20 coins $n
  mpadd mpjunk scalp
~
|

BRIBE PROG:
===============================
>bribe_prog 500~
  if isnpc($n)
    mpadd mpecho $I says, 'Yeah not likely pal.'
  else
    mpadd mpecho $I says, 'Yeah I know him...he's staying at the Abry Inn.'
  endif
~
|

EXAMPLE 1 OF MULTIPLE PROGS:
===============================
>fight_prog 20~
  mppush weave 'blindness' $n
~
>fight_prog 40~
  mppush weave 'harm' $n
~
|

EXAMPLE 2 OF MULTIPLE PROGS:
===============================
>fight_prog 15~
  mppush weave 'firebolt' $n
~
>death_prog 100~
  mpoload 24905
  mpat 24996 unlock door w
  mpjunk key
  mpecho A small *click* comes from the small bronze door.
~
|
Back to Top

Peter Kelly and Steven Pester.
Copyright © 2005  Panda Publishing Inc.  All rights reserved.
Revised: 01/17/05.