A R C H I P E L A G O  Builder's Guidebook

This guide explains the Archipelago on-line creation editors for objects, mobs, and zones. Most commands, listed on the wizhelp, will be explained, and building tips will be offered. If you have any suggestions, or comments regarding this guide, contact me.

Table of Contents:

[ Page Top ] [ Index Page ]

I. General building commands:
Usually, you can abbreviate the first few letters. Anything in < > is required. Anything in [ ] is optional. The | symbol means OR.

remote execution of a command. e.g., at postmaster receive.
be right back!, puts an (away) flag in your title.
display a list of building tips, and standards.
shows the real date and time.
ECHO <text>
echo something into the room.
GOTO [ name | roomnum ]
go to someone, or to a room number.
FORCE <name> <action>
force a mob or person to do something. useful in equiping mobs before zsaving them, and useful for roleplaying purposes.
display the immortal rules of conduct.
toggle this command to see dark rooms, and hard-to-see people.
INVIS [level]
the first command the new builder inevitably uses :)
LOAD < MOB | OBJ > <vnum>
load a mob or object.
MCLONE <vnum>
clone an existing mob into your own zone. note, mclone only if it is necessary.
create a new mob prototype.
MEDIT <vnum>
edit an existing mob.
display the message of the day.
toggle this command to prevent aggr mobs from bothering you.
toggle this to be summonable by players. don't bother, there are no summoning skills or spells.
toggle this command to tune out of the wiz channel.
OCLONE <vnum>
clone an existing object into your own zone. note, oclone only if it is necessary. if there is an object you like to have, but it belongs to someone else, ask to see if you can use/load that object into your zone -- please try and help keep redundancy to a minimum.
create a new object prototype.
OEDIT <vnum>
edit an existing object.
set your "entrance" and "exit" when you enter and exit via the 'go' command.
PURGE [name]
purge, with a name argument, will purge that obj/mob. purge, without arguments, will purge the entire room. purge on players will kick a player, sans eq., out of the game and into the main menu -- don't do it.
RCLONE <roomnum>
clone an existing room into your own zone. note, rclone only if it is necessary.
create a new room.
REDIT <roomnum>
edit an existing room.
toggle this command to see room flags in addition to room numbers.
these commands save your objs, mobs, rooms, zones. Type 'save' to autosave everything automatically.
SHOW [infotype]
type this alone to see what info type is available to you.
SHOW < MOB | OBJ | ROOM | ZONE > <zonenum>
show the mob, objects, rooms, zone commands of the specified zone.

e.g., "show zone all" shows all (or a big chunk of) zone resets for the current zone you are editing. "show zone 18 all" shows all resets for zone 18. "show all from 120" shows all resets in current zone starting from the 120th reset. "show zone 18 all from 120" show all resets for zone 18 starting from the 120th reset. "show zone all about 120" shows the 20 resets centered around resetnumber 120.

The "from" and "about" keywords also work for mobs, objs, and rooms.
silly immortal social.
STAT [ MOB | OBJ ] <name>
stat a mob, object, or player that is in the game. this command defaults to stating a mob or player, unless you specifically use 'stat o' for objects.
Bodhisattva+ level command. toggle this to edit another zone if you have one.
toggle how much system log spam you want to receive. Syslog messages include who is logging in/out of the game, which zones are resetting, and who are using certain wiz commands (see the immortal command book).
TRANSFER [ ALL ] <name>
transfer a mob/person to you.
display how long Archipelago has been up and running.
display brief info on who is logged into the game.
VNUM < MOB | OBJ > <name>
find the vnum of a mob or object. NOTE: you can specify two keywords to describe what you are trying to find, e.g., vn m black sheep.
VSTAT <vnum>
stat a mob or object prototype not currently loaded in the game.
WHERE [name]
this is not listed as a wizhelp command, but it is a immortal command nonetheless. The command tells you where things and people are located. Typing this command alone will show you the location of all active players in the game.
lists all the immortal commands available to you. Not listed in wizhelp are 'users' and 'where' and probably one or two others.
WIZNET, or ;
wiznet options are [ #<level> | + | - | @ ] <text>.
the immortal's talk channel. the "#<level>" option restricts your message to those with that minimum level. "@" shows all gods that are on (same as typing 'who'). "+" turns on wiznet, "-" turns it off (same as nowiz).
ZEDIT [zonenum]
Daemon+ level command. edit a zone's characteristics. the name of the zone, its repop time, its repop type (toggle 0 for no reset, toggle 1 for reset if no players are in the zone when it resets, toggle 2 for normal repop), the max number of rooms the zone can contain, and its open/closed status.
ZRESET < . | * >
Djinn+ level command. if the "." option is used, force the zone you are currently standing in to reset. if the "*" option is used, force the entire world to repop.
ZSAVE < MOB | OBJ | DOOR > <name|dir>
save the mob, object, or door to the zone file. For doors, you must specify the exit direction where the door is located. Zsave both sides of a door if its opens and closes both ways. NOTE: the "mob", "obj", "door" keywords have to be typed in fully as mob, obj or door, otherwise it will not work. This is unlike the other commands where you can just use M for mobs, and O for objects.
ZSET <resetnumber> < NUMBER | PERCENT > <howmany> [ IF ]
zone commands execute every reset, and will execute based on the percentage value assigned to it until the max number specified for it is reached. The default percentage value is 100% if none is initially assigned. The max number is world dependent, not zone, i.e., if a zone command says two dragons max to be loaded, and on next reset the game finds two dragons already loaded in the world, the game will not load another.

The "if" option is rarely used, what it does is to execute this zone command only if the zone command before it had been executed.

e.g., "zset 100 number 5" means set resetnumber 100 to have a max of 5 loading in the world. "zset 90 percent 80" means set resetnumber 90 to load 80 percent of the time.
ZPURGE <resetnumber>
purge a command from the zone file. note: if you zpurge something with inventory, then that inventory disappears also.

[ Page Top ] [ Index Page ]

II. Building objects,
The guide to the object editor. use the OEDIT command.

(N)ame: the keywords used to reference the object.
See notes on keywords below for additional details.
(S)hortdescr: the object's name.
(D)escription: the object's description if its on a floor.
(A)ction description:
The action description is used for FOOD type items when eaten, for the SCABBARD, and WEAPON type objects when the draw and sheathe commands are used, for the CANTRIP type objects when they are recited, and for FOUNTAIN type objects when they are in a room.
(W)orn: the slots where the object can be worn, wielded, and held.
(A)pply: what this object is affected with.
see notes on building magic items, below. also, see Jolanda's obj flag faq.
(E)xtra flags: extra bits affecting an object.
note: some bits are merely cosmetic and do nothing, see the obj flag flag.
(T)ype: the object's type.
note: set the object's type before you edit anything else.
(W)eight: the object's weight
(the unit you enter here is 10*lb, fractions are acceptable, e.g., 1lb = 10units, 66lb = 660units, 0.2lb = 2units).
(V)alue: its real value
(the unit you enter here is 10*money).
(C)ost: the rent cost
(the unit you enter here is 10*money).
this number affects the object's influence on light levels. If its a positive number, the object gives off light, if its a negative number, the object absorbs light. To make a permanent light (or dark) object, set the illumination number, and set the object's extra bit to GLOW and MAGIC.
the object's values depending on type.
(D)am state:
how damaged is this object?
what is its size?
item (L)imit:
set the item's absolute limit. The object will not load past this number. Set this to zero if there is no limit.
optionally apply up to four extra values for an object.
the extra descriptions of an object when 'look'ed at. adding some sort of extra description is highly recommended to further enrich Archipelago's world.
(Q)uit: quit object editor.

[ Page Top ] [ Index Page ]

III. Notes on building certain object types,

An obj flag marked with an asterisk means the flag has either not been implemented, or is reserved for internal use. please do not use it.

Notes on the use of keywords.
Please make the first keyword of an object its primary noun, e.g., 'vase' in 'a black glass vase', because when you wear, wield, or hold something, the game always uses the first keyword to reference the obj. See notes on building LIQUID CONTAINER types below for an exception.

Notes on god_flagging of items.
To be mortal usuable, all items must not have a god_flag on them, which means the item cannot exceed 125 creation_points. Additionally, items costing 20 creation_points, or more, must have a cash value of at least 100*creation_pts., and a rent value of at least 10*creation_pts. No cash or rent value is needed for items costing less than 20 creation_pts. See WEAPON and CONTAINER types below for additional restraints. Object flags and their corresponding creation_pt. values are listed in Jolanda's obj flag faq.

Notes on building FOOD type objects.
You can add an (A)ction desc on food items to describe what the food tastes like if eaten.

Notes on building SCABBARD type objects.
When you choose (V)alues, type the vnum of the weapon which belongs with that scabbard. if there is no specific weapon, i.e., 0 as a value, then choose the general type of weapon that should fit inside it.

The action description for weapons and scabbard are used in conjunction with the draw and sheath commands. The action description is shown to everyone in the room except you.

Use the following $ codes in the action desc: $n to show the name of person with the object, $p to show the object name, $s for the pronoun (his, her, it), $m for the pronoun (him, her, it), $e for the pronoun (he, she, it).

e.g., a glowing white saber of light (weapon), and a wide belt (scabbard).
- Action desc on the WEAPON: $n turns off $p with a flick of a switch.
when the weapon is SHEATHED, everyone will see this:
     Zanth turns off a glowing saber of light with a flick of a switch.
     Zanth slips a glowing white saber of light into a wide belt.
- Action desc on the SCABBARD: $n fingers something hooked to $p.
when the weapon is DRAWN, everyone will see this:
     Zanth fingers something hooked to a wide belt.
     Zanth slides a glowing white saber of light from a wide belt.
     Zanth wields a glowing white saber of light.

Notes on building WEAPON type items.
There are rules in building weapons that will be usuable for mortals. The weapon may not exceed 40 points of damage points, it may not have more than a total of 7 to their hit and dam rolls, and the weapon must weigh 0.7 * max_damage_pts_of_weap. The rules of god_flagging apply here also.

Notes on building CONTAINER type items.
There are two numbers that must be considered in building a container, the container's weight, shown in the (S)tats menu, and the number listed in (V)alues menu. The container's weight can be anything. The number shown in the (V)alues menu is the container's weight AND the carrying capacity totalled together. e.g., If a bag weights one lb (10units), and you want the bag to carry 10lb of stuff (100units), then the number you enter into the (V)alues menu is 10units + 100units = 110units.

Note: a container cannot have a carrying capacity of greater than 400lb (4000units), otherwise, it will be god_flagged, unless the initial weight of the container is 10000lb or more.

Notes on creating an enterable container.
set the room number and its maximum capacity in (V)alues, and how small the entrance is in si(Z)es.

Notes on building LIQUID CONTAINER type items.
In the list of keywords, make sure the first keyword reflects the initial liquid that is contained in the container, e.g., if you have a wine skin containing wine, then the first keyword is wine. When the liquid container empties out, the mud code will automatically remove the first keyword and replace it with another when the container is refilled. See the appendix for the list of liquid types.

Notes on building PULLABLE type items.
Multiple mobs can be hitched to one cart. type 'zsave obj <cart>' to save the cart and mobs hitched to it into your zone file.

Notes on building KEY type objects.
Keys don't have to be KEY type objects. As long as the vnum of the key object matches the door lock, it will work, e.g., a crowbar (which is a weapon type object, but doubles as a key).

Notes on building CANTRIP type objects.
You can add an (A)ction desc on cantrip items to describe (to everyone in the room except you) what happens when the cantrip is recited,
e.g., $p bursts in to flames and vanishes with a *POP*!

Notes on building magic items.
There are several types of magic items currently available,
CANTRIPS are items that can be 'recite'd. They disappear once used.
PHILTRES are weak potions that can be 'quaff'ed. They disappear once used.
ELIXIRS are the strongest type of potions you can have, and they disappear once used. Note: they are not yet implemented.
RODS are another name for wands, and are used as such. They can contain one to many charges before they are rendered useless.
STAVES are the strongest type of wands you can have. Note: they are not yet implemented.
VIS items are used in conjunction with the 'invoke' command. They boost spells and disappear once used.
"rechargable" items are wand-like objects that can used once, and recharged to be reused again and again. These items can be any object type, but the important thing is to set the object's (A)pply bit, which determines what powers it has. For every hour of effect, the rechargable has to have at least double the time of recharge.
Magical Foods are items that either make you grow taller, or make you more hungrier when eaten. Other magic food types will be added later. To enable magic foods, make a FOOD item, and follow the instructions in the (V)alues section of the object editor.

Notes on building permanent light (and dark) objects.
These objects permanently provide, or absorb light. Set the object's (I)llumination, and the object's GLOW and MAGIC extra bits.

Notes on creating room invisible objects.
To hide an object in a room, toggle the DARK extra bit on the object, and remove its floor description. note: The DARK extra bit has nothing to do with illumination.

Notes on the 2-HANDED extra bit.
This flag can be applied on weapons, on shields, and holdable objects. The ability to use two-handed objects depends on the size of the object, and the size of the person handling it, i.e., small two-handed weapons can be wielded single-handedly by large sized people; and large single-handed weapons can only be handled with two hands by smaller folk. One disadvantage with this flag involves its use in shields. Mobs and people cannot hit back if wearing a two-handed shield.

[ Page Top ] [ Index Page ]

IV. Building mobs,
The guide to the mob editor. use the MEDIT command.

(N)ame: the keywords used to look at the mob.
(S)hortdescr: the mob's name.
(L)ongdescr: the mob's description when its in the room.
(D)escription: the mob's full description when it is looked at.
Adding some sort of description is highly recommended to further enrich Archipelago's world. optionally enter a script for the mob.
(D)ynamic Mob Language: optionally enter a script for the mob.
scripts allow mobs to behave on their own. They will be able to speak and answer questions, load eq, trap and block player commands, and many other things. The latest version of DML allows multiple scripts, or threads, to exist and run simultaneously on a mob. See archdml.html for a brief intro.
(M)ob flags:
toggle the mob's limitations here.
Affect (F)lags:
toggle whatever spell effects, and special abilities here.
(P)layer stats:
individually set the mob stats.
(A)rmor class:
(A)rmor: set the mob's armor class.
numbers range from -100 to 100. -100 is the best armour.
(S)topping: set the mob's stopping class
(the number that is first deducted from an enemy blow, before armor class calculations).
(T)hrows: set the mob's saving throws.
(1) set the mob's align, level, bonus hitroll, height (in centimeters), weight (the unit you enter here is 10*lb).
(2) set the mob's hitpoints, damage and bonus damroll, and hitting type.
(3) set the mob's current and default position, and gender.
(4) toggle 'yes' if the mob has gold, and set its fame value.
(5) set the mob's class type. See the appendix for a list of applicable types.
(Q)uit: quit mob editor.

[ Page Top ] [ Index Page ]

V. Notes on building mobs.

How to equip a basic mob and to save into the zone file:
load up a mob, and give it some eq. Force the mob to wear the eq, and when everything is in order, type zsave mob . Type show zone, and adjust the max number of mobs and eq you want to exist at any one time in the world with the zset command. If a mob can't wear some eq, make sure the eq fits, if not, change either the size of the eq or the size of the mob (be sure to change it back once you zsaved the mob).

You can also force mobs to wear items in a wrong body slot. All you have to do is to change the object's (W)orn flag to something else after it is worn by the mob and zsaved. Then you have to wait until the zone resets to see your results, or use zreset if you have it.

General notes:
A mob flag marked with an asterisk means the flag has either not been implemented, or is reserved for internal use. please do not use it.

A mob can't be tamed if its INT > 10, and/or it can speak.

Hitpoints are computed in the nds+p format where p is the base hp, n and s are dice rolls to add an extra amount to "randomize" the mob. nds, means n die of s type, e.g., 4d5 mean 4 dies each with 5 outcomes, 4d5 will generate a number from 4-20, with an average of 12.

Damage is also computed in the nds+p format, but with this difference: the nds is the barehand damage, which can be overriden if the mob is wielding a weapon. The p is only a bonus damroll that is added either to the mob's barehand nds, or the weapon's nds. The p should be kept reasonable, (normally 0-14) and never used as the mob's sole means of damage.

The bonus hitroll simply makes a mob more or less tough than average. It increases a mob's ability to hit a target, e.g., a mob with a 15 hitroll has a better chance of hitting a target than a mob with less.

Mob experience, and gold (if it has any), are automatically calculated by the game engine. They are dependant on stats, hp, damage, armor, and other minor things. str, dex, int, hp, and damage are the more important ones.

Notes on mobs helping CITIZENS.
If ANY of the following is true, then there is a 1 in 4 chance per combat round that a mob will assist.
  1. if both mobs are flagged as citizen and within 200 align pts.
  2. if mob is flagged as a helper.
  3. if mob has int > 10 and within 200 align pts.

Notes on the HAS MOOD mob flag.
If this flag is set, the mob will be affected by moods. If a mob's mood reaches -1000, it will have a random chance of attacking anyone.

Notes on the FREE ACTION mob affect flag.
Set this flag and WATER BREATH for mobs who dwell underwater.

Notes on the mob class type.
Most mobs of the same race have features unique to them. Please refer to the appendix at the end of this guide for more details.

[ Page Top ] [ Index Page ]

VI. Building rooms,
The guide to the room editor. use the REDIT command.

(T)itle: the room name.
(D)esc: the room's full description.
(R)eplace: search and replace a string.
(T)o room: set the teleport's destination.
(D)elay: set the teleport's delay.
(1) Message to char: what the char sees when teleport activates.
(2) Message to room: what the room sees when teleport activates.
(3) Message to destination: what the next room sees when teleport activates.
note: $codes, such as $n to represent the player's name, can be used inside teleport messages.
(R)oom flags:
set any room flags. also, see Jolanda's room flag faq.
se(C)tor flag:
set the room's sector type.
(N)orth, (E)ast, (S)outh, (W)est, (U)p, (D)own:
(T)o room: what room number this room is connected to.
(D)esc: the desc that is shown when one looks in this direction.
A desc can also be placed on a null exit (exit without a room link), in which case, the desc will only be shown when one looks, or moves into the null exit.
(K)eywords: the keywords used to reference a door, if there is one.
(E)xit bits: set extra bits, as well as creating a door for this exit.
Ke(Y): the vnum of the object used as the "key".
note: the key doesn't have to be a KEY obj type, just as long as the object vnum matches the door's lock.
(P)urge exit: purge this exit,
can be used to create one-way exits.
e(X)tra desc:
note: if you already have a room extra desc, and want to (C)reate another, you must first create it, then immediately type (Q), then reenter to edit the (now null) extra desc. If, instead, you (C)reate a new extra, and immediately edit the desc, you will be, in actuality, editing a previous extra desc, and will destroy it. this is a bug.
(Q)uit: quit room editor.

[ Page Top ] [ Index Page ]

VII. Notes on building rooms,

General notes:
Notes on building petshops and stables.
To set up a petshop, you must have a shopkeeper mob, and an empty and unaccessible storage room containing the mobs the shopkeeper will sell. A coder will then be able to set the shopkeeper to sell whatever mobs are loading in that storage room. You can, at anytime, alter what mobs the shopkeeper will sell by changing what mobs load in that storage room. e.g., in room 11173, Drinth sells horses, the mounts load in room 11348.

Notes on room illumination.
Room descriptions can be made light sensitive. In front of the text you wish to be light sensitive, add a '%#' code, and end the text with '%',
e.g., "%2The bare outline of a small trapdoor can be seen in the dusty floor.%".

Valid #'s range from 0 to 4.
%0 sentences show up in "quite dark" or better light conditions,
%1 in "gloomy" or better lighting,
%2 in normal light or brighter,
%3 in "bright" or brighter lighting, and
%4 sentences show up only in "very bright" light.
For additional examples, stat rooms 1880, and 2001.

Notes on room teleports.
Teleports can teleport into the same room. This is useful for livening up a room. e.g., A fire crackles in the fireplace.

Notes on null exits.
A description can be placed on a null exit (an exit without a room link). The description will be shown only when someone looks or moves into the exit.

[ Page Top ] [ Index Page ]

VIII. Building shops:

Shop building and editing are done by Overlord+ level imms. Building shops are found in the Immortal Command Book.

[ Page Top ] [ Index Page ]

IX. Miscellaneous building tips:

Use cut and paste if and where possible, and try to build offline if you are comfortable with that idea. Building offline has it advantages,
- 1. you can employ a spell checker to check for errors,
- 2. you can build unmolested from distractions in the game,
- 3. you have a copy of the work on your hard drive to peruse and edit.

If you are without cut and paste abilities, try the ascii protocol option on your terminal program. ascii protocol uploads text in the same manner as typing in stuff on your keyboard and seeing it on your screen, but only faster (like cut and paste). note, if you have problems with extra carriage returns, or missing text, you may need to speed, or slow down the upload by a few tenths of a second, or use tintin or similar client to help buffer input into the mud.

You really don't need to make a key, a KEY obj type. You can make keys out out of anything, e.g., weapons, armor, etc. Just set the door's lock to the object's vnum as you would normally do when creating keys and doors.

Cursed items can be gotten rid of blessing the item when its in your inventory, and not worn as eq. This is the only option if you can't 'eat' the item in the first place.

Where are all the boards located?
the IMMORTAL BOARD in room 1204.
- various topics. no mortal can read this board.
the MORTAL BOARD in room 1205.
- various topics.
the BUILDER'S BOARD in room 1207.
- archipelago building and development issues.
the BUG BOARD in 1208.
- please put all game crash bugs on the imm board.
the CODE DEVELOPMENT BOARD in room 1220.
- current projects, code development issues.
- topics to be discussed now, and at the next meeting, etc.
the UPDATE BOARD in room 1222.
- notices of new code changes, and updates.
Saladin's POETRY BOARD in the House of Mysteries, room 8112.
- poetry, and occasionally a bit of prose.
Xero's ADVENTURER'S BOARD in the City of Abernach, room 11025.
- is a roleplay board for the citizens of Abernach.
the ADVENTURER'S NOTICE BOARD located at the various inns on the mud.
- is a general purpose roleplaying board for "inchar" messages.

What's a useful prompt?
I use this prompt: '%iR:%R> '. It tells me my wizinvis and roomnum.

Check out these Medieval Links for medieval related building resources.

[ Page Top ] [ Index Page ]

X. Appendix:

(6) TINY < 100 cm
(5) VERY SMALL < 135 cm
(4) SMALL < 170 cm
(3) NORMAL < 190 cm
(2) LARGE < 220 cm
(1) HUGE >=220 cm

Poison Levels:
Mild 1-12 pts per tick
Mild 6-24 pts per tick
Moderate 12-48 pts per tick
Strong 24-96 pts per tick
V Strong 48-192 pts per tick
Deadly 200-500 pts per tick

Mob Class Types:
Undead - produce a pile of dust instead of a corpse when killed. undead are also affected by the skill "turn undead".
Other -
Humanoid -
Animal -
Dragon - breath only when the spell_caster mob flag is set, and a special -- post on the board to request a special -- is assigned. The types of breath the dragon can breath are fire, frost, gas, lightning, and halitosis.
Giant -
Plant - plants don't do anything just yet, but provisions in the code, (constant.c) will allow plants to resemble plants, i.e., they will have petals, stalks, stems, roots, etc., instead of hands, legs, and arms. plants will be affected by herbam spells.
Equine - horses. this prototype doesn't do anything yet, but provisions in the code (constant.c) will allow horses to resemble horses, i.e., they will have fetlocks, hooves, etc., instead of legs and feet.
Ichthyoid - fish creatures. they don't do anything yet, i don't think.
Arthropod - animals with chitinous exoskeletons and jointed appendages, e.g., arachnids (spiders, scorpions, ticks), crustaceans (lobster, crabs, barnacles), insects (beetles, butterflies, millipedes). this prototype doesn't do anything yet, i don't think.
Avian - birds. this prototype doesn't do anything yet.

Liquid Types:
[ 0] water [ 1] beer [ 2] wine [ 3] ale
[ 4] dark ale [ 5] whisky [ 6] lemonade [ 7] firebreather
[ 8] local speciality [ 9] slime mold juice [10] milk [11] tea
[12] coffee [13] blood [14] salt water [15] clear water
[16] fruit juice [17] strange brew [18] urine [19] rum
[20] muddy water [21] sap [22] nectar [23] moonshine
[24] soup

[ Page Top ] [ Index Page ]

© Copyright 1995-1997 by Robert K. Chin. All rights reserved.
Last revised February 26, 1997.