Age of Chaos Zone Standards
[Webmaster
:
Migas]
Introduction
-
World Files
-
Monster Files
-
Object Files
-
Shop Files
-
Zone Files
a.
Zone Files
b.
Zonehelp Files
-
Guidelines
a.
Monster Lookup
b.
Magical Items
c. Armor
d. Weapons
e.
FAQ and Tips
-
Spell List
-
Example mobprogs
NOTE: Throughout this text, <NL> denotes the
start of a new line.
|
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! |
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.
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.
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!
-
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.
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.
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.
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)
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.
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
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.
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.
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
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.
~
|
Peter Kelly and Steven Pester.
Copyright © 2005 Panda Publishing Inc. All rights reserved.
Revised:
01/17/05.
|