JediMUD Builder's Guide

JediMUD’s area submission policy is quite simple and can be summarized in two parts:

•	You should have an immortal on JediMUD in order to build. This is a way to ensure that the people who are writing have a familiar grasp of our MUD’s statistics and are relatively knowledgeable about the MUD as it is today. We will accept remorted mortals as builders, since this first requirement is to assure a minimum level of knowledge.
•	You MUST FILL OUT the application for area writing before you begin. We will read each as it comes in, respond to its merits and offer suggestions. Keep in mind that a letter with suggestions is not a dismissal of your idea, it is merely to give helpful advice for possible additions to your zone concept from a person who knows more about the world than anyone else.

Area Writing Application for JediMUD

Real-life name:

E-mail address:

Character on the mud (please limit this to one, to lessen the confusion):

Is this an original zone or a revision of an existing zone? If a revision, is the area public?

Write a brief (100 word) description of your zone, including the theme/time period and/or setting.

How many rooms do you expect to use?

Would you define your zone as low (1-10) mid (11-15) high (16-25) or very high

Please describe five of your major mobs, five items (including stats), and send ten sample rooms.

If your concept is approved and registered, what is your estimated completion date?

When we are confident you have your idea fleshed out enough to begin building, we will assign you a zone to work with. JediMUD does not have Online Creation (OLC), so you will have to work offline with a text editor such as vi or pico. You can also use WorldBuilder, which was written by Unicorn to facilitate building. Here are some tips for area writing:

•	Draw your map first. Whatever your plan is and whatever you are planning to write, having a clear, concise map to work from is a major step down the right path. Ask us for clarification of some ways to draw clear maps to work from.
•	Start by writing the first five rooms at the entrance to your zone and then send it in to be looked at. It is a lot easier to prevent reoccurring mistake in your area at this stage than it is to go back and correct them when the area has been completely written. Do the same with Mobiles (monsters) and Objects.
•	Follow the guidelines for Mobile gold and experience that are listed on the Mobile Statistics Reference Table below. It is OK to deviate from this list for variety, but as a rule, try not to do so any more than 10 or 15% higher or lower. Obviously, if a mobile is hard for its level because of triple hit or being in a No-Magic room, then you should give it a little higher experience and gold. Alternatively, if it is easier than the norm, cut the experience and gold on this Mobile as would be appropriate.
•	Try to add as much creativity and originality to your writing from a unique (i.e., something from your own imagination) theme or doing entirely new things with the statistics you assign to the Object and Mobiles in the area. We do not want D&D modules that you have scanned in. Those are copyrighted materials and will not be added to the world. Unfortunately, the same goes for any other copyrighted ideas that you may stumble upon. If you want to write Wheel of Time areas, or areas based on other copyrighted themes, please go find someplace that will install them before beginning to work on them for us. We do not want legal problems with the legitimate creators of these themes down the line.
•	Frequently update us on your progress. We will be trying to keep you motivated and on track, since so very many of the zone ideas that get submitted die when their writer loses interest. If you get bogged down or bored writing Rooms, then try changing to Mobiles or Objects for a little while. Variety is the spice of life, and often it will also keep your project alive when boredom would seek to kill it. Frequent updates also allows for him to help you more extensively as you continue with your zone and get closer to completion every day.
•	Spell affects on items: If you want a spell on an item, ask us about it. If it is not going to cause a major imbalance to the game (i.e., sanctuary on an object, or curing spells on a device) then we will probably let it go in. Keep in mind that any offensive magic you want on the object will not be rejected, but it will hit the user of the object, not what they are fighting.
•	Assembled items can also be made now.  These are not in the documents, since they are listed separately from the rest of the area files.  For an assembly item, send a list including the item created and all of the parts required to make it by virtual number along with the rest of the area files.

Writing the World File

The first room of your world file should be the room where the area will connect to the rest of the mud. This makes the link easier to find when we try to attach it to the rest of the MUD world.

Death Traps

You may add death traps to your zone, but please keep the following considerations in mind when doing so. The most important rule for death traps is that their purpose is to encourage "intelligent exploration," not merely to "kill" players. They penalize people who are sloppy when they travel the lands... a truly careful player will rarely, if ever hit a death trap that is properly written.

First, make the death trap room INDOORS and make sure it is not DARK, so that the title of the trap can be seen with an "exits" command from any rooms(s) connected to it.

For example, assume that you are exploring. If you see "Certain Death" is the name of the next room to the west, then you would almost certainly avoid going there.

Second, if a room has an exit into a death trap, then there should also be an exit from the death trap into the original room. When a player dies, they make a "death cry" that can be heard in the surrounding rooms. By linking the death trap back into any rooms that a player can enter it from, you make this death cry echo back into each of those rooms. This is done to deter people in the victim's former group from joining them in their untimely demise.

For example, room 100 in your zone is a death trap. Room 101 has an exit east into room 100. By this rule, room 100 should also have an exit (the direction it points does not matter) that leads back into room 101.

Third, a good rule of thumb is to have one death trap per 50 rooms in your zone. This should be about all that you really need to make careless wandering dangerous. Remember, the goal of death traps is to encourage more intelligent exploration of the world by making life more difficult for people who walk from place to place without ever looking where that next step will take them.

Fourth, always have exit descriptions that say something really ominous about the possible consequences a player might suffer for walking into a death trap.

For example, if the exit to the east leads into a death trap, then an exit description such as "The bridge sways ominously in the breeze. Maybe walking out onto such a fragile, old structure would be a VERY unwise idea?" might get the point across.

Sample Room Creation Summary

#<Room vnum>
<Room name>~
<Room description>
~
<Zone number> <Room flags> <Sector type>
D<Direction number>			\* Directions, for exits from the room. *\
<Exit description>			\* Repeat this section for each exit. *\
~
~
<Door flag> <Key number> <to_room>
E					\* Extra descriptions in the room. *\
<Keywords>~
<Description>
~
M					\* For moving rooms *\
<Message upon moving>
~
<to_room> <per_time> <timer> <ignore_boat> <ignore_fly>
S

World Creation Fields

#<Virtual number>

Every room in your zone must be assigned a unique virtual number. No two rooms may have the same virtual number, and the number must always increase when you browse through the world file from the top to the bottom.

<Room name>~

This name is the "title" of the room. This title is used by the exits command and is the only thing a player will see when they walk into a room while in brief mode, other than monsters and objects.

<Description> (hit return) ~

This is the general description of the room. Make sure to use a carriage return at the end of each line and keep the lines of the description well short of a full page in width, since excess letters or words will no wrap to the next line inside the game. Be as creative and descriptive as possible when writing room descriptions. These are the most important part of the world files!

<Zone number>

This is the number of the zone in which this room is located. This number is used for resetting zones and monster zone movement. Ask us before you start writing your actual zone, so we can give you a zone number that is not currently in use. See the zone file for more information on zone numbers.

<Room flags>

Room flags allow an author to give individual rooms specific properties. Choose any properties that a room should have from the list below and place the letter for each flag into this field with no spaces between.

Property	Flag	Description	
Dark	A	Either a light source or infravision is needed to see in the room.	
Death	B	Any player who enters the room will die. Follow the rules for death traps.	
No Monster	C	Random monsters can not walk into this room.	
Indoors	D	The room is indoors.	
No Storm	E	Players may not teleport into a no storm room. The Shadow Storm will also never have an exit into a room with this flag.	
Moving Room	G	Move players to new location.   Used with M field.	
No Magic	H	Magical spells and items can not be used in a no magic room.	
Private	J	It is impossible for people to move into a private room if two characters are already inside. Teleport will never take a player to a private room.	
Peaceful	K	Combat is impossible in peaceful rooms.	
Godroom	L	Only high level immortals can enter a godroom.	
Overwhelming Evil	T	The room negates the effect of protection from evil.	
Overwhelming Good	U	The room negates the effect of protection from good.	

<Sector type>

The sector type is the kind of terrain that a room will have. Although the table below does not translate directly into movement points, each type of terrain is assigned a base number of movement.

Terrain Type	Value	
		
Inside	0	
City	1	
Field	2	
Forest	3	
Hills	4	
Mountain	5	
Water (swim)	6	
Water (no swim)	7	
Fly	8	

D<Exit number>

This command creates an exit in a specified direction. The directions are as follows:

North	0	
East	1	
South	2	
West	3	
Up	4	
Down	5	
Northeast	6	
Southeast	7	
Southwest	8	
Northwest	9	

<Exit description> (hit enter) ~

What a player will see if they type "look <direction>"

<Door keyword list>~

Keywords are needed any time a door is going to be used. These keywords respond to commands such as open, close, and pick.

<Door flag>

If the door flag is 1, then the exit can be locked, unlocked, opened, closed, and picked. If it is 2, the exit can only be locked, unlocked, opened, and closed. If it is 0, none of these commands will work.
The state of the doors after a zone reset may be controlled by a command in the reset-command table (see the zone file for more details). The initial state of a door is always open unless specified otherwise in the zone file.

<Key number>

The key number is the virtual number of the object that can unlock and lock the door (in the direction given). If a player carries or holds this object, they can lock and unlock it. When the key number is -1, there is no keyhole and the door cannot be picked. If door flag is 0, the value of this field is ignored. Do not put a 0 into this field if there is a door, otherwise it may be unlocked or locked with a corpse.

<To room>

The virtual number of the room to which the exit leads. If this number is -1 (nowhere), then the exit does not lead anywhere. This might be useful for adding an exit-description in a direction that does not actually lead anywhere.

E (extra description)

Extra descriptions may be added to any room where extra color is desired. They are very helpful for adding a story to a zone or adding clues to any internal quests that you do not wish to bludgeon people with in the regular room description.

<Keyword list>~

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

<Description> (hit return) ~

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

M (moving room)

Rooms given the 'G' flag can be made to move players to new locations, thus
creating currents, timed DTs, etc., via the 'M' fields, which come after the
room's D and E fields. The format is:

<The text you want displayed upon the moving of the character> (Hit Return)~

<to_room> <per_time> <timer> <ignore_boat> <ignore_fly>

where per_time is the total number of pulses between each time the room moves
people in it, and timer is the current counter on the room. NOTE: It is a good
idea to stagger the timers from room to room, or players can be sucked along
through dozens of rooms all in one pulse!

<ignore_boat> should be 1 if you want it to not move you if you do not have a boat.  0 if you want it to move you with our without a boat.

<ignore_fly> should be 1 if you want it to not move you if you are not flying or possess an airship.  0 if you want it to move you with our without a fly/airship.

For example:

M
You float gently downstream.
~
12477 12 6 1 0

Room Procs

The following procedures may be added to rooms, using the following format at the end of the room entry:
	<SPECIAL>
	<proc name> <percentage> <terminator bit> <special number>
	</SPECIAL>
Yes, you WILL need to use the < > around the ‘SPECIAL’ and ‘/SPECIAL’ tags. The others are not required. Multiple procs can be listed for one room, but it is not advised.

room_sticky
This proc causes the room to trap players until all non-grouped mobs in the room are killed (ie, you have to kill all the mobs that aren’t pets to get out).  Special number is not used.

room_heal_all, room_heal_good, room_heal_neutral, room_heal_evil, 
room_restore_all, room_restore_good, room_restore_neutral, room_restore_evil
These procs either heal hit points, or restore mana points, to the associated alignment or everything in the room.  The special number is the number to be healed, and it can be negative in order to cause damage.  The room will not heal/restore during a fight, but it can cause damage.

Sample Room

#16701
The Sandy Cave~
You have entered a small chamber with a low ceiling. You have to
stoop to avoid banging your head painfully against the top of the
cave. There is a thin fissure running up the back wall of the dark
little cave. In a wide area of the fissure, right above the ground,
a small nest of debris has been made by some creature for its home.
The only exit is the narrow opening through which you entered.
~
167 AD 4
D0
A narrow, black sand beach can be seen through the tunnel entrance
just to the north.
~
~
0 -1 16794
D2
~
fissure~
2 16729 16702
E
fissure thin~
A narrow crack runs up the back wall of the cave. The foul reek of
sulphur seems to drift through it.
~
S

Basic Monster Creation

Authors are allowed a great deal of latitude when writing monsters, but there are a few general guidelines:

·	Make the level of your mobs match both the level of your area and the quality of the equipment that they will wear.

·	Avoid placing a single high level monster into the middle of a low level area for the sole purpose of putting something really nice onto it. Really good equipment should go onto high level monsters in difficult areas.

·	In general, a level X Warrior should be able to kill a level X mob if the character is fully healthy. Obviously, this guideline assumes that the warrior is decently equipped, but not perfectly equipped.

·	Avoid creating "levelling tunnels" in your zone if at all possible. A whole row of monsters with their levels all in the mid to high 20's is just going to be a target for the first well-equipped player to come alone. They make gaining experience and gold ludicrously easy and tend to be rather boring. If your zone is just a long line of easy mobs with a lot of experience and gold, then expect it to have minor modifications done to it, such as lengthened reset times.

·	We have a number of "special routines" that can be added to your mobs. A list of these is shown under Mobile Special Procedures, along with the format used to indicate which procedures you would like to use on each mob.  Please try to do as much with existing procedures and flags as possible, to minimize the time needed before your zone is ready.  If you absolutely require a new procedure, please describe what you would like done.

Monster Statistics Reference Table

What makes a level 28 monster level 28? Simply making the monster's level equal to 28 is only the first step and though it is an important one, the only solid information that the game actually has hard coded by level is saving throws for spell resistance. Monster hitpoints, damage capabilities, armor class, odds of successfully attacking, experience values and the number of gold coins they carry in their inventory are all properties that must be set individually. Use the following table as a guideline when determining the statistics you wish to assign to a mobile for each of those important attributes.

Keep in mind that these are all "average" values for a monster of each level. Some might hit a little harder and others might have a few under the normal number of hitpoints. Variety is the spice of life, so feel free to mix up your monster stats. Just try to keep deviations within reason and keep them logical. Increases or decreases of 10% to experience and gold are fine, but try to make sure that these values remain an accurate representation of the creature's difficulty. An abnormally easy monster of level 30 should not have more experience and gold than a "normal" monster of level 30.

Level	THAC0	Armor Class	Hitpoints	Hit Dice	Gold Coins	Experience	
0	20	10	1-10 	1d4+0	10 	25 	
1	20	9	11-22	1d5+0	25 	100 	
2	19	8	23-35 	1d6+0	50 	200 	
3	18	7	36-47 	1d7+0	75 	350 	
4	17	6	48-60	1d8+0	100 	600 	
5	16	5	61-72 	2d4+0	150 	900 	
6	15	4	73-85 	1d8+1	250 	1500 	
7	14	4	86-97	2d4+4	450 	2250 	
8	13	3	98-110 	2d5+1	625 	3750 	
9	12	3	111-122 	2d5+1	800 	6000 	
10	11	2	123-135 	2d6+1	900 	9000 	
11	10	2	136-147 	2d6+1	1000 	11000 	
12	9	2	148-160 	2d7+1	1100 	13000 	
13	8	2	161-172 	2d7+1	1350 	16000 	
14	7	1	173-185 	2d8+1	1600 	18000 	
15	6	1	186-197 	2d8+2	2000 	21000 	
16	5	1	198-210 	2d8+2	2400 	24000 	
17	4	1	211-222 	3d6+2	2800 	28000 	
18	3	0	223-235 	3d6+2	3200 	30000 	
19	2	0	236-247 	3d6+3	3600 	35000 	
20	1	0	248-260 	3d6+4	4100 	40000 	
21	0	-1	261-350 	3d7+4	4500 	50000 	
22	0	-1	351-400 	3d8+4	4900 	60000 	
23	0	-2	401-450 	3d9+3	5300 	70000 	
24	0	-3	451-500 	3d9+3	5700 	90000 	
25	-1	-3	501-550 	4d6+4	6200 	100000 	
26	-1	-4	551-600 	4d6+5	6650 	115000 	
27	-2	-4	601-650 	4d6+5	7250 	130000 	
28	-3	-4	651-700 	4d6+5	7750 	145000 	
29	-3	-5	701-800 	4d7+4	8300 	160000 	
30	-4	-5	801-950 	4d8+5	8750 	180000 	
31	-4	-6	951-1200 	4d9+5	9500 	200000 	
32	-5	-6	1201-1500 	4d9+7	10500 	225000 	
33	-5	-7	1501-1800 	6d7+5	11750 	250000 	
34	-6	-7	1801-2100 	6d7+7	13000 	280000 	
35	-7	-8	2101-2400 	6d8+6	15000 	310000 	
36	-8	-8	2401-2700 	6d9+5	17000 	350000 	
37	-9	-9	2701-3000 	8d7+5	19500 	400000 	
38	-10	-9	3001-3500 	8d7+7	25000 	450000 	
39	-10	-10	3501-4000 	8d8+5	32000 	600000	

Simple Mobile Creation Summary

#<Virtual number>
<Name list>~
<Short description>~
<Long description>
~
<Description>
~
<Action flags> <Affection flags> <Alignment flag> S
<Level> <THAC0> <AC> <Hitpoints> <Damage>
<Gold> <Experience>
<Load position> <Default Position> <Gender>

Monster Creation Fields

#<Virtual number>

Every monster in the world of JediMUD has a unique virtual number. The rules for assigning your monsters a virtual number are the same as the ones that apply to room virtual numbers.

<Name list>~

The name list includes all of the words that can be applied to this monster by enterprising players who wish to kill it. Avoid using articles, where possible. No well-written monster should have "a" as a name.

<Short description>~

The short description is the actual name of the monster. It is used in many facets of game play.
This string will be displayed when the monster makes a visible action.

For example, if the monster is "The beastly fido~", and the fido leaves the room to the south, then message that players in the room with it will see is, "The beastly fido leaves south."

This string is also used during combat sequences. Articles (the, a, an) tend to make combat sequences look funny, since they really should not be capitalized in the phrases being used, so if at all possible it looks cleaner if they are avoided as the first word of the short description.

You smite The beastly fido very hard.
The beastly fido tickles you with its hit.
You mangle Bilbert the Black with your extremely unpleasant crush!

There is one last place where this string is seen in JediMUD. Whenever a player looks at a monster, the very last line of that monster's description is a status indicator.

The statue of Valaria is in excellent condition.

<Long description> (hit enter) ~

This description is displayed whenever the monster is in its "default" position. Whenever the monster is not in its default position, the message, "<short description> is sleeping here." will be displayed instead.

<Description> (hit enter) ~

Whenever a player looks at your monster, they will see whatever description you place into this field. Appended to the end of your description will be a status line that uses the short description to give the current health of the monster. Be creative! The more description a monster has, the more interesting it is! Often, a great deal of the theme or story hidden in your zone can be expressed in the monster and object descriptions.

<Action flags>

There are several special flags that can be placed onto a monster in this field to give it special powers. Scan the list of action flags carefully and chose the ones that will bring your monster closest to the mental image you have drawn for yourself. Give your monster either a Sentinel or Stay-zone flag first, depending on whether it is going to walk your zone freely or be pinned in a lair. Place all of the appropriate letters into this field with no spaces between them.

Attribute	Flag	Description	
Special	A	This flag is now defunct, but was used to indicate a special procedure that the mob has.  These are detailed later.	
Sentinel	B	The monster does not walk around.	
Scavenger	C	The monster will pick up items on the ground, starting with the most expensive.	
Nice Thief	E	The monster will not attack players who try to steal from it.	
Aggressive	F	The monster will viciously attack anyone in reach.	
Stay Zone	G	The monster will never walk into another zone, but will wander freely inside yours.	
Wimpy	H	The monster will flee when it is running low on hitpoints. In conjunction with an Aggressive flag, the monster will attack only sleeping individuals.	
Multihit 0	J	The monster gets one extra attack per round.	
Multihit 1	K	The monster gets two extra attacks per round.	
Memory	L	The monster will remember players that have attacked it and be aggressive toward them in the future.	
No Suggest	N	The monster is immune to the bardic song suggestion.	
No Purge	O	The monster can not be accidentally purged by immortals.	
No Charm	U	The monster can not be charmed.	
Fido	V	The monster will devour corpses.	
Janitor	W	The monster picks up objects and corpses in the room.	
Cityguard	X	The monster will sometimes assist in fights, helping the person or mob with the higher alignment.	
Quick Heal	Y	The monster regains hitpoints at a vastly accelerated rate.	
No Calm	Z	The monster is immune to the calm spell.	
*** NOTE*** 
	A monster with Multihit 0 AND Multihit 1 flags will produce a monster with quad-hit attacks.		

<Affection flags>

The following spells can be permanently placed onto a monster via affect flags. As with action flags, run the letters together with no spaces between them if you wish to have more than one spell on a monster. If the monster is completely free of magical spells, leave a 0 (zero) in this field to act as a placeholder.

Spell	Flag	Effect	
Invisible	B	The monster is invisible.	
Detect Invisible	D	The monster can see invisible players.	
Sanctuary	H	The monster takes half damage from attacks.	
Infravision	O	The monster can see in the dark.	
Sneak	S	The monster sneaks	
Hide	T	The monster hides.	

<Alignment flag>

This is the monster’s alignment. The table below explains how to select a value for this field.

Alignment	Range	
		
Good	+1000 to +350	
Neutral	+349 to -349	
Evil	-350 to -1000	

<Level>

The monster's level. This number only directly impacts on saving throws against spells. In general, the higher the level of the monster, the more difficult it should be to kill. See the Monster Reference Table for guidelines to use when setting the level. Monster levels range from 0 to 39.

<THAC0>

"To Hit Armor Class Zero." This number translates into the ability of the monster to hit its target in combat. Guidelines for appropriate values are listed in the Monster Reference Table. Monster THAC0 can be anywhere in the range from 20 to -10, and lower numbers make it easier for the mob to hit.

<AC>

This is the monster's armor class. See the Monster Reference Table for guidelines when setting the armor class. Monster armor class values fall in the range of 10 to -10.

<Hitpoints (format is xdy+z)>

This field determines the number of hitpoints a monster will have. It must be in the format of xdy+z where x is the number of hit dice the monster gets, y is the size of those dice and z is an integer value that is added to the random number generated with the dice. All of the numbers must be given a value, even if it is 0 (zero) for use as a placeholder. For example, a monster with 3d8+10 the monster will have 10 hitpoints plus the result of rolling 3 dice with 8 sides.

<Damage (format is xdy+z)>

This is the barehanded damage a monster will cause during combat. The format is exactly like the one described for hit points. A thing to note about damage is that the number after the plus sign, is the strength bonus. This bonus will apply to any weapons used and bare hands too. Appropriate values for monster damage can be found in the Monster Reference Table.

For example, if this value has been listed as 2d8+3, then this monster will do between five and nineteen points of damage barehanded. If the monster picks up and wields a club that does 1d4 points of damage, then the actual damage that the monster will get during combat is 1d4+3 because it will still get the strength bonus.

<Gold>

The amount of gold carried by the monster. Appropriate values can be found in the Monster Reference Table.

<Experience>

The experience this monster is worth. Appropriate values can be found in the Monster Reference Table.

<Load position>

This field defines the monster's position when loaded into the game by a zone reset. The available positions can be found on the following table:

Position	Value	Explanation	
Resting	5	The monster will load in a resting position.	
Sitting	6	The monster will load in a sitting position.	
Sleeping	4	The monster will load in a sleeping position.	
Standing	8	The monster will load in a standing position.	

<Default Position>

This is the position the monster will return to after a fight. This position also defines when the <long description> field will be displayed. The values for default position are:

Position	Value	Explanation	
Resting	5	The monster is resting.	
Sitting	6	The monster is sitting.	
Sleeping	4	The monster is sleeping.	
Standing	8	The monster is standing.	

<Gender>

This is the monster's sex. Choose a gender from the list below:

Gender	Value	
Female	2	
Male	1	
Neuter	0	

Example of Mobile with Speech procedure

#3000
wizard~
the Wizard~
A Wizard walks around behind the counter, talking to himself.
~
The wizard looks old and senile, and yet he looks like a very powerful
wizard. He is equipped with fine clothing and is wearing many fine
rings and bracelets.
~
BJU 0 900 S
33 -5 -7 30d10+1500 6d7+5
31000 180000
8 8 1
<BEGIN_SPEECH_BLOCK>
<INTERVAL> 5
<LINE> The wizard chuckles and cracks a friendly smile at your approach.
<END_LINE>
<INTERVAL> 2
<LINE> The wizard says, "$n, I am not the one you seek, but I know much
to aid you. "
<END_LINE>
<INTERVAL> 2
<LINE> The wizard says, "The arts of the flaming sword, believed lost
forever, "
His smile gone, he adds, "Seek the ruins of the elven village for the
answer."
<END_LINE>
<INTERVAL> 4
<LINE> The wizard nods. "I can tell you no more." <END_LINE>
<END_SPEECH_BLOCK>
#3001

Mobile Special Procedures
Special procedures are added in a manner similar to mob speech.

<SPECIAL>
<procedure_name> <probability> <terminator bit> <special number>
</SPECIAL>

The procedure name is taken from one of the procedures below, with a short description.

Probability is the percentage chance that the procedure will trigger, either per command/combat round (for normal procedures), or each time the mob receives damage (for combat procedures).

The terminator bit, if set to 1, halts the handling of further procedures if the current procedure triggers.

The special number is used by certain procedures to handle operation, and will be listed in each procedure.

Normal Procedures:

Below is a list of the special procedures available.  Please note that MOB_DEFENDER will require additional code to be implemented before it will work with your mob.

ARMY
	This procedure causes the mob to initiate a fight by going berserk if a certain number of non-Immortal players are in the room.  The special number is used to determine the maximum number of allowed players 	before the procedure fires; a value of 0 indicates the default of the mob level divided by 4, rounded down to the integer.  For example, a value of 4 would cause trigger with 5 people in the room.

ASSIST_MOB, ASSIST_PLAYER
The mob will assist either mobs, or players, regardless of alignment (unlike the GUARD flag, which checks for alignment).  The special number is unused for ASSIST_PLAYER, and should be set to 0.  For ASSIST_MOB, the special number is the mob to be assisted.  For example, a mob that would assist Siawyn (mob vnum 4448) would have ‘ASSIST_MOB 100 1 4448’.

CASTLE_GUARD
CLEANING
COWARD
The mob will flee while under attack, if under the special number value percentage of hit points.  Useful for memory mobs or to really annoy rangers.  Note that setting the special number too high will cause the mob to flee constantly, and a value of 0 is the same as a value of 100.

DISTANCE_DAM
A mob with this procedure will damage players outside of the room, such as the dragons’ breath weapons, Sagittarius’ arrows, and so on.  Usage is ‘DISTANCE_DAM 100 0 0’.

DRAIN_MANA_ON_DEATH, EXPLODE_ON_DEATH, GAIN_EXP_ON_DEATH
The mob will either drain the mana of, explode on, or grant additional experience to the person striking the killing blow.  The special number is the amount of mana drain, explosion damage, or experience gained. For example, a mob that would do 100 damage when it was killed, would have ‘EXPLODE_ON_DEATH 100 1 100’.

ENTROPY_RANDOM, ENTROPY_TANK
The mob will ‘entropy’ players fighting it, removing all spell affects and inflict damage.  ENTROPY_TANK affects only the player the mob is hitting, while ENTROPY_RANDOM will has a chance of being inflicted upon anyone that is attacking the mob.

GATE_IN_MOB
The mob will load a mob in the room it is in during combat.  The special number is the vnum of the mob to be loaded.  So, if a mob was sick of being picked on and wanted to bring everyone’s favorite cuddly little nameless  horror every few rounds to play, too, it would have ‘GATE_IN_MOB 33 1 18004’.

GEN_BLOCK_(Direction)
This procedure causes the mob to block off players and mobs in the direction listed.  The directions are listed in the shorthand format (n, e, s, w, u, d, ne, nw, se, sw).  Mobs with this procedure can be used to block parts of areas (as in Rhyoden or Ravenna), or block off areas that are being used for quests (such as the ‘quest’ mobs).

HATES_CLERIC, HATES_MAGE
This procedure manifests itself as the acid breath that certain mobs spit onto clerics and mages, as well as the word of death thrown back at mages by some mobs.  The special number is unused.

HEALER
The mob with this procedure will heal players low on hit points.  An example of this is the Obi-Wan statue in Midgaard.  Usage is ‘HEALER 100 0 0’.

HELL_NYMPH
This procedure causes the mob to check if players in a room are affected by spells, ‘unaffect’ them (removing all the affectations), and then the mob self-purges, disappearing from the room.

LOAD_ITEM_ON_DEATH, LOAD_MOB_ON_DEATH
The mob will load either an item or a mob when killed.  The special number is the vnum of the mob or object to be loaded.  This can be used to load items that you do not wish to be stolen, located, or viewed in inventory, or to cause another mob to show up to ‘avenge’ the death of the first.

MASTER_PROC
	The mob with the master procedure will heal mobs with the slave procedure in the same room.

MOB_AREA_ATTACK
The mob will use area attack spells, such as ice storm, meteor swarm, and so on during combat.  The special number is not used.

MOB_CLERIC
The mob will use clerical spells in combat, such as sanctuary, heal, dispel good/evil, harm, and petrification.  The level of the mob will determine the spells cast.

MOB_CRYO
	The mob acts as a cryogenecist.

MOB_DEFENDER
This procedure is now mostly defunct, having been split into several of the other procedures.  It requires special coding for each mob, and is used to change the procedures that mobs will have when certain items (such as Jupiter’s Lightningbolt or the Mark IV Phaser Rifle) are loaded.  Speak with an implementor prior to setting this procedure.

MOB_DEMON
MOB_ENERGY_DRAIN
MOB_MAGE
The mob will use mage spells in combat, such as color spray, burning hands, chill touch, shocking grasp, fireball, and disintegrate.

MOB_NINJA
	The mob will kick, hurl, stun, and eagle claw while in combat.

MOB_SNAKE
	The mob will ‘bite’ players, usually causing a poisonous effect.

MOB_THIEF
	The mob will steal gold from players in the same room.

MOB_USE_HELD
MOB_WARRIOR
	The mob will kick, bash, pummel, pound, and grapple in combat with players and mobs.

PLAGUE
The mob will infect the player with a fatal disease, causing a rapid loss of hit points until restore is cast upon the player or until the player dies.

PURGE_PET
The mob will purge mobiles that are fighting it, causing all equipment carried by them to fall to the ground.  If the mob level is greater than 30, it will instead be ‘slammed against the wall’ or thrown out of the room, thus stopping the fight.

SLAVE_PROC
The slave mob will rescue a master mob, whose vnum is the special number of the procedure.  For example, a mob that rescued those cuddly little horrors would have ‘SLAVE_PROC 100 0 18004’.  If the horror had a MASTER_PROC, it would then heal the slave mobs that rescued it.

UNAFFECTS_SELF
The mob will unaffect itself when harmful spell effects are present, such as slow, fumble, blind, or poison.  An example of a mob with this proc would be Jupiter, on the mountaintop in Rome.

VAMPIRE
WRAITH

Combat Procedures:

The combat procedures deal almost entirely with how the mob takes damage from certain types, for example, taking extra damage from fire and being immune to cold.  Once again, you must pay attention to the order in which these are processed, since damage gets passed through the procedures in order.  Examples will follow to clarify how this can complicate things.

CAP_(Damage Type)
This procedure caps the damage taken from the specified damage type to a certain maximum value.  The special number is the maximum amount of damage that the mob will take, after sanctuary, from the specified attack type.

HEAL_FROM_(Damage Type)
This procedure is used for mobs which heal from certain types of damage, such as using fire on a fire elemental.  The special number is the percentage of damage healed from the attack.  Note that this procedure will also cap damage to 0 from that damage type.

REDUCE_(Damage Type)
This procedure is used to modify the damage taken by a mob from the damage type.  The special number is the percentage that the damage is reduced by, and the number can be negative (to increase damage).

REFLECT_(Damage Type)
This procedure reflects damage back at the attacker.  The special number is a percentage of the damage taken by the mob which is redirected back to the attacker, in some retaliatory strike.  Note that the damage reflected back onto the attacker bypasses sanctuary, orb, and other protective spells, but it cannot kill the attacker all by itself.

REFLECT_MANA_(Damage Type)
This procedure works like the REFLECT_ procedure listed above, however, instead of reducing hit points, it will reduce mana instead.

RESIST_(Damage Type)
This procedure reduces the damage taken by the mob by a specified amount, instead of a percentage - for example, a mob that takes 20 less damage from spells.  The special number is the amount that the damage is reduced by.

Damage Types

Some of the procedures above list a damage type (ex: REFLECT_, HEAL_FROM_, etc.).  For these procedures, the following damage types are listed, with examples of what is covered by them.  Note when listing these procedures, they are handled in order listed by the code, and so the most general should be listed last, while the more limiting procedures are listed earlier with terminator bits to keep them from interfering (samples are below to explain better).

Damage Type	Affected damage	
BACKSTAB	Backstab and Circle damage	
COLD	Chill Touch, Ice Storm	
COMBAT_NORMAL	All weapon types	
COMBAT_PROC	Kick, Bash, Punch, Pummel, Berserk, Hurl, Stun Touch, Iron Fist, Eagle Claw, BACKSTAB	
EARTH	Disintegrate, Earthquake, Meteor Swarm, Petrification	
ELECTRIC	Call Lightning, Energy Drain, Lightning Bolt, Shocking Grasp	
FIRE	Burning Hands, Fireblast, Fireball, Flamestrike	
NUKE	Fission Bomb, Atomic Blast, Thermonuclear Holocaust	
PSIONIC	Choking Claw, Brain Implosion, Searing Gaze, Force Lightning	
DIVINE	Dispel Evil/Good, Cause Light/Serious/Critic, Harm	
MAGIC	Color Spray, Magic Missile, Slay, Word of Death, COLD, FIRE, EARTH, ELECTRIC, NUKE, and PSIONIC	
PHYSICAL	Any COMBAT_NORMAL or COMBAT_PROC	

Special Procedure Examples:

Some examples to help illustrate how the combat procedures interact with each other, and the important of order when writing them, follow:

For a mob that takes double damage from fire, half damage from cold and electricity, and is immune to other magical attacks, you may see the following:

	<SPECIAL>
	RESIST_FIRE 100 1 -100
	RESIST_COLD 100 1 50
	RESIST_ELECTRIC 100 1 50
	RESIST_MAGIC 100 1 100
	</SPECIAL>

In order, this list of procedures checks to see if it is fire damage, and if so it reduces it by -100% (doubling it).  If it was fire damage, it then stops.  If it was cold or electricity, it reduces the damage by 50% (halving it).  Then, if either of those procedures worked, it will stop.  After all of this, it reduces all other magical based attacks by 100%.  Note that if the terminator bit was not set in the first three, the mob would take no damage from the attacks, since MAGIC covers FIRE, COLD, and ELECTRIC, and the last procedure would effectively cancel the others out.  If the RESIST_MAGIC came first, the same would also happen, with or without the terminator bit set.

You can see from the above example how the terminator bit could cause problems if ignored and the general damage types (MAGIC and PHYSICAL) should come after the specific types for most purposes.  The following list of procedures is an example of how NOT to set up mob procedures:

	<SPECIAL>
	REFLECT_PHYSICAL 100 0 50
	HEAL_FROM_PHYSICAL 100 1 100
	REFLECT_MANA_MAGIC 100 0 100
	REFLECT_MAGIC 100 0 50
	CAP_MAGIC 100 1 0
	</SPECIAL>

Again, please do not use this combination of procedures.  It is an example and used to illustrate how order can effect the procedures.  This mob reflects all non-psionic, non-divine damage back upon the attacker, reflecting spell damage on the caster’s mana as well as hit points.  Half of the damage the mob takes (after sanctuary) is reflected back on the attackers hit points, and afterwards, the mob either heals (from physical damage) or ignores the damage (by capping magical damage to 0).  So, if a warrior hits the mob for 40 points of damage, the player will take 20, and the mob will gain 40 hit points.  If a mage casts a Word of Death spell that does 500 damage, 250 damage will reflect back upon the mage, the mob will take 0 damage (due to the cap), and it will cost 650 mana (150 to cast the word of death, plus 500 for the reflected damage to the mana).

However, if you were to put the CAP_MAGIC in front of the reflects, terminator bit set or not, it would negate the other procedures, since the damage reflected would already be reduced to 0.  Since the HEAL_FROM procedure also caps damage to 0, placing it before the reflection would negate it as well.  Now admittedly, the mob would still be difficult to damage, but the overall pain of the procedures is greatly reduced by the arrangement.

Object Creation Format

We have gone to great pains to balance the object file on the MUD. Early on in the lifetime of JediMUD, the object balance was atrocious, because so many people wrote areas and they were "designed" for different muds. Often, this meant that area authors just did not follow some common sense rules.

Potions, Scrolls, Staves, and Wands

You can create almost any object that you desire. Please make full use of wands/scrolls/staves/potions, the only stipulation is that their rent, cost, and minimum level reflect their worth. Please, no Level 1 usable wands that will cast Word or Death.

Weapons

The absolute maximum damage that we will allow a mortal wieldable weapon to do is 30. This is including any damage bonuses that are specifically written into the weapon, as well as those that are possible with the enchant weapon spell. If we feel that a weapon is just too powerful, one of two things will occur:
1. The weapon will be toned down to a level that is more reasonable for the JediMUD world.
2. A ‘no mortal’ flag will be added to the object and mortals will never be allowed to wield it.

Other than damage, there are some other rules that we are going to enforce. These further rules are listed below.

•	If a weapon is under 1d10 (10 max damage), you may add whatever modifiers you wish, as long as they are reasonable. Guidelines for maximum modifiers, listed by the statistic can be found in the documentation about writing objects.
•	If a weapon falls in the range of 1d10 to about 3d5 (10-15 max damage), you may add modifiers, but one of them has to be undesirable. Again, keep the magnitude of these modifiers within the realm of reason. A +100 hitpoints sword just is not going to go into the game, regardless of how lousy it is in other ways.
•	If a weapon can do more than 20 points of damage, then you must add flags to make its use restricted. Some good ways to do this include class flags, alignment restrictions, hefty minimum level for usage, and making the weapon itself prohibitively heavy. In addition, any weapon that is capable of large sums of damage should always have a Limited flag.
•	You may use any of the decorative effects, such as humming, invisible and glowing that you wish, but the ones that appear in the items short description must be limited to 2 or less per item.
•	Always include the logical class restrictions when you write your weapons. There is nothing more annoying than going through a finished zone and adding No Cleric and No Mage flags to claymores.
•	The weapon's power should match the difficulty in attaining it. "Common weapons" that do less than 10 damage can go just about anywhere, but "great weapons" should only go onto mobs that are worthy of them. Something that does more than 25 points of damage in one swat should go on a mob that has spell casting ability, a large number of hit points and, basically, should be very risky to get.

Everyone desires extremely powerful weapons. The simple fact that your weapon is the main source of your player's combat damage means that, inevitably, they are also the easiest means of royally screwing up the balance of a MUD. For this reason, powerful weapons must exist in extremely limited quantities. Limit how often they load when you write the zone file for your area.

Armor

There are tips for assigning value to armor and clothing within the object building documentation. The following list of armor values should be observed where possible, to keep armor values of the players in the game from skyrocketing.

•	Bracelets, rings, necklaces and belts should not have an "armor" factor of more than 3.
•	Shields average around 3-5 ac, 8 for EXTREMELY good ones.
•	Helmets should never go above 10 ac for any reason. (average: 4)  Keep in mind that the ac-apply number for this location is doubled for determining overall effect.
•	Boots... see helmets, but these values are not doubled.
•	Leggings/Sleeves: average around 5, 12 for GREAT ones.  See the note about doubling the ac-apply listed under helmets.
•	Gloves should be below 6, with an average of around 3.
•	Cloaks/Capes: try to keep them under 6
•	Breast plates/Body Armor.... average around 5, 12 for GREAT ones.  Keep in mind that the number for ac-apply on this location is tripled to determine overall effect on ac.

Bards, thieves, ninja and rangers are restricted from wearing armor heavier than chain mail. Mages should be forced into the even weaker protection of cloth armor or robes. Have fun with your armors, but again, as with weapons, keep the most valuable and effective armor items very rare.

Magical Items

In JediMud it is possible to create all kinds of Magical items - but to avoid chaos (having 1st levels kill 20 level dragons) these rules for Magic must be obeyed. It is possible to create almost any item. Items can (for example) change the <STR>, <DEX>, <WIS>, <INT>, <CON>, <HP>, Age, Weight, Height, etc. None of these changes are directly permanent in effect, but may be so indirectly - example:

Iggy found a helmet of Increase Wisdom/Intelligence (some + modifier). When Iggy wears this helmet, these abilities improve. When he removes the helme, they return to their original state. Thus no direct change has happened. BUT if Iggy practices spells (upon which INT and WIS determine the rate & success) he will learn them much faster than normal. This was an example of an indirect change.

General Guidelines to Follow when Writing Magical Items:

•	Never use large modifiers. Guidelines for how large any one modifier may be can be found in the Object Creation portion of this documentation.
•	Impose a penalty on the item if it has a large magical bonus.
•	Limit the number in existence. If you write a powerful object, then give it a Limited flag. As you write the zone file for your area, keep in mind which items are Limited and give them a low maximum number that will load. It is often also a good idea to make powerful items load a percentages or to make their load dependent on that of some other item.

CHARACTER & MONSTER ARMOR:

Armor class for monsters ranges from 10 to -10. In general, this places armor onto a rough continuum as follows:

AC	Example of the effect	
10	Naked monster.	
0	Well-armored monster. The equivalent of plate mail.	
-10	Nearly invulnerable monster. Magical armor and protections.	

Armor class for players falls onto a broader ranger, from 100 to -100. A player begins with the armor class of 100 and gains armor protection from the items they wear and the spells that are protecting them. The following table lists the armor value equivalent for each type of armor. When assigning sale value to a piece of armor, a useful guideline is to make the armor worth 50 coins per level of armor protection. Multiply that value by three for the body and by two for the head and legs.

AC	Armor	
0	None	
1	Cloth	
2	Soft leather	
3	Studded leather	
4	Scale mail	
5	Chain mail	
6	Bronze plate mail	
7	Plate mail	
8	Field plate mail	
9	Heavy plate mail	
10	Magical plate mail	

IMPORTANT NOTICE:
Rare items should only exist in minimal quantities! The occurrence of magical protection should be limited since it is easy to carry.

Weapons, Strength and Carrying Capacity

The weight of a weapon determines the strength required to wield it. These values should be used:

Strength	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	

Notes on creating weapons:

•	There are three general types of weapons:
•	Piercing - Daggers, knives, spears and any other weapon which is used to stab with.
•	Slashing - Swords, axes, polearms and any other weapon that causes cutting or chopping damage. Slashing weapons may not be used by Clerics, who view the shedding of blood to be an unholy act. They are also, typically, not usable by Mages.
•	Bludgeoning - Maces, clubs and staves which are blunt and cause smashing/crushing damage.
•	Backstabbing is only possible with piercing or stabbing weapons (damage type 11 or 16).
•	No weapon may ever exceed 14 points of average damage (4d6 damage).
•	The formula for calculating average damage is: <#dice>*((1+<size of dice>)/2)
•	No weapon may ever exceed 30 pounds in weight. Heavier weapons are impossible to wield by standard characters. Anything heavier than 30 should be discussed with the area coordinator who is in charge of your zone submission.
•	No shop-produced weapon may exceed 2d8 in total damage or weigh more than 20 pounds.
•	Read the general notes regarding Magic before making a monster-slayer +50 +70 with +800 to strength

 Some common weapons that can be bought from shops

Name	Damage	Type	Cost	Weight	Rent Value	
Dagger	1d4	P	10	1	Cost/3	
Small Sword	1d6	P	60	3	Cost/3	
Long Sword	1d8	S	600	8	Cost/3	
Club	1d3	B	12	3	Cost/3	
Warhammer	1d5	B	50	6	Cost/3	

Object Creation Summary

#<Object vnum>
<Keywords and aliases>~
<Item name (in inventory)>~
<Description on ground>~
~
<Type> <Affect Flags> <Wear Flags>
<Value0> <Value1> <Value2> <Value3> <Value4 (always used as minlevel)>
<Weight> <Value> <Rent>
\* Below this point, entries are optional - for example, verbs are only used with devices, etc *\
V				\* Verb, used for devices only *\
<Commands>~			\* keywords to activate device *\
<Echo string>			\* what the person/room/zone sees when activated *\
~
E				\* Extra description *\
<Keywords>~
<Description>
~
A				\* Affects *\
<Affect type> <Amount>
M				\* Spell Affects *\
<Spell number>
L				\* Version number, if other than 1 *\
<Version number>

Object Creation Fields

#<Virtual number>

The object's virtual number. The rules are same as those for virtual numbers associated with rooms and mobiles.

<Name list>~

The is a list of keywords that the object will answer to when a player tries to manipulate it.

 <Short description>~

This string will be displayed whenever the object is used.

For example if the short description is "a rubber raft~" and a player drops it, then the message "Zippy drops a rubber raft." will be displayed.

<Long description>~

This description is displayed only when the object is lying on the ground.

For example, if the long description is "A furled umbrella lies here.~", then a player who walks into the room will see "A furled umbrella lies here."

<Action description>~

Do not use this field.

 <Type flag>

The type flag defines what kind of item is being described. An object may only be of one type. Choose the type flag for each object that is appropriate for its function.

Item Type	Type Flag	
Light	1	
Scroll	2	
Wand	3	
Staff	4	
Weapon	5	
Missile Weapon	6	
Missile	7	
Treasure	8	
Armor	9	
Potion	10	
Worn	11	
Other	12	
Trash	13	
Container	15	
Note	16	
Drink Container	17	
Key	18	
Food	19	
Gold Coins	20	
Pen	21	
Boat	22	
Fountain	23	
Airship	24	
Device	26	

<Extra flag(s)>

Objects will often have special properties such as alignment or class restrictions. These are listed in the extra flags field. Use as many flags as necessary to fully describe an object. When you do use more than one extra flag, write them in a block with no spaces between the letters. If the object has no special properties, then this field should be filled with a 0 (zero).

Object Property	Flag	Function of the Flag	
Glow	A	The item has (glowing) added to the end of the description.	
Hum	B	The item has (humming) added to the end of the description.	
Quest-Only	D	The item is invisible to where, locate object, vnum, and vstat. 	
Evil	E	The item may only be used by evil-aligned players.  This is the ONLY alignment flag that can be removed with a spell (remove curse).	
Invisible	F	The item is invisible and may only be seen by players who can see invisible.	
Magic	G	The item is magical. Magic items cannot be enchanted.	
No Drop	H	The item cannot be dropped until a remove curse spell has been cast upon it.	
Bless	I	The item is blessed.	
Anti-good	J	The item is usable only by evil and neutral aligned players. 	
Anti-evil	K	The item is usable only by good and neutral aligned players.	
Anti-neutral	L	The item is usable only by good and evil aligned players.	
Neutral	M	The item may only be used by neutral-aligned players. (-349 to +349)	
Good	N	The item may only be used by good-aligned players. (+1000 to +350)	
No Mortal	O	The item is only usable by immortals (Level 31 and higher).	
No Mage	P	The item is not usable by mages.	
No Cleric	Q	The item is not usable by clerics.	
No Thief	R	The item is unusable by thieves.	
No Warrior	S	The item is unusable by warriors.	
No Paladin	T	The item is unusable by paladins.	
No Antipaladin	U	The item is not usable by anti-paladins.	
No Ninja	V	The item is unusable by ninja.	
No Jedi	W	The item is not usable by jedis.	
No Sohei	X	The item is unusable by sohei.	
Limited	Y	The item can only be loaded by Demigods or higher.	
No Purge	Z	The item may not be purged.	
No Rent	a	The item may not be rented.	
No Donate	c	The item may not be donated.	
No Ranger	d	The item is unusable by rangers.	
No Bard	e	The item is not usable by bards.	

<Wear flag>

The wear flag indicates which locations of the body on which the item may be worn. The vast majority of items should have a take flag, but some exceptions include fountains, devices, and ATMs.

Location	Flag	Function of the Flag	
Take	A	The item can be taken.	
Finger	B	The item can be worn on a finger.	
Neck	C	The item can be worn around the neck.	
On Body	D	The item can be worn on the body.	
Head	E	The item can be worn on the head.	
Legs	F	The item can be worn on the legs.	
Feet	G	The item can be worn on the feet.	
Hands	H	The item can be worn on the hands.	
Arms	I	The item can be worn on the arms.	
Shield	J	The item can be worn as a shield.	
About Body	K	The item can be worn about the body.	
Waist	L	The item can be worn around the waist.	
Wrist	M	The item can be worn on a wrist.	
Wield	N	The item can be wielded and used as a weapon.	
Hold	O	The item can be held in a hand.	

<Value 0> <Value 1> <Value 2> <Value 3>

Many types of objects need storage fields for type-specific attributes. A maximum of four such unique fields is needed for even the most complex of objects on JediMUD. Each item type uses the four fields differently. The specifics for exactly how these item types use the individual fields and examples of each type of object can be found in the documentation for values.

<Value 4 (Minimum level)>

Many powerful items have a minimum level for player use associated with them. To describe a minimum level for an object, write the number of the first level able to use the object into this field. If the object is usable by any player, put a 0 (zero) into this field.

<Weight>

The weight of the item in pounds.

<Value>

The value of the item if it is sold to a shop. See the generic value list for guidance in attaching a value to your items.

<Cost per day>

The unmodified cost (in gold coins) to store the item in reception overnight.
 
E(extra descriptions)

All objects should have some kind of description associated with them. When the "look" or "examine" commands are used on the object, the player will see the full description. Items without a description will return "You see nothing special" when examined. An E at this point in the object allows you to assign an extra description to the object. There is no limit to the number of unique descriptions that may be added to any one object. Each E will require a keyword list and extra description listed immediately below it.

<Keyword list>~

The keywords that respond to the "look" and "examine" commands. Avoid re-using the same keyword for more than one extra description on an object, since only the first description with a specific keyword will be visible via "look."

<Extra description>~

The actual description a player will see when they "look" at or "examine" a word from the keyword list of this object.

A(item affects)

Between zero and two item affects may be set on any single item. These affects only modify the character's statistics when the item is actually being worn. No more than two affects may be associated with any one item and excessive modifiers will be toned down before the item enters the game.

<Ability to be changed>

Each of the abilities that an object can modify is assigned a number. Some guidelines for the maximum amount you should modify a statistic by have been included in the table below. Some stronger items may go in, but they have a much higher chance of being toned down than items that follow these guidelines. The maximums apply to both additions and subtractions from abilities. Choose the number for the ability that you want your item to impact from the table below:

Ability	Number	Maximum	Description	
Strength	1	2	Influences how much a player can carry. Strong players receive combat bonuses.	
Dexterity	2	2	Influences the success rate of many hand-to-hand combat skills.	
Intelligence	3	2	Player intelligence directly influences their ability to learn new skills and spells.	
Wisdom	4	2	Influences the number of practices a player will gain when they increase a level.	
Constitution	5	2	Influences the number of hitpoints a player will gain when they increase a level.	
Weight	10	-	Increases player weight.	
Height	11	-	Increases player height.	
Mana	12	15	Adds directly to the maximum mana points a player has available to cast spells.	
Hitpoints	13	15	Adds directly to the maximum hitpoints a player has.	
Movement	14	15	Increases the distance a player can travel before resting.	
Armor	17	-	Adds to the player's armor value.  Negative values will help ac.	
Hitroll	18	2	Increasing a player's hitroll increases their ability to hit an opponent in combat.	
Damage	19	1 for most locations	Adds directly to the damage a player does in combat.	
Save vs. Paralysis	20	2	Increases the chance a player will successfully avoid being paralyzed.	
Save vs. Rod	21	2	Increases the chance a player will be avoid the effects of certain types of spells.	
Save vs. Petrification	22	2	Increases the chance a player will successfully avoid being turned to stone.	
Save vs. Breath	23	2	Increases the chance a player will not be damaged by breath weapons.	
Save vs. Spells	24	2	Increases the chance an offensive spell cast at the player will fail.	
Charisma	26	2	Influences the number of pets a player can control and the power of many bard songs.	
Hitpoint Regeneration	27	5	Increases the rate a player will regain hitpoints.	
Mana Regeneration	28	5	Increases the rate a player will regain mana points.	
Movement Regeneration	29	5	Increases the rate a player will regain movement points.	

<Modifier>

The modifier is the numerical amount added to the character's statistics when the item is worn. "Bad" modifiers can be placed on an item by making the number negative. Remember to adhere to the guidelines from the table above when you assign modifiers.

Adding Spells to Items

M(spell affect)

Please use caution when creating items with spells attached to avoid upsetting the balance of the game.  A general rule of thumb when assigning class restrictions is to restrict items with spell effects to those classes that can learn the spell already.

<Spell number>

This is the spell number, from the spell index, for the spell which you are attaching to the item.  Note that not all spells will have an affect, and that many spells will be removed for being too powerful (for example, sanctuary).

Version Updating

L (item version)

<version number> 

Used to automatically update all instances of an item already in the game.  Any items of an earlier version than the currently defined version are updated upon entry into the game.

Max Level

To add a Maximum level to your item, add the following three lines to the end of your object:

<OBJ_FLAGS>
MAX_LEVEL x
</OBJ_FLAGS>

Where x is the maximum level that can use the item. Carriage returns and spaces are important. The level and the word MAX_LEVEL must be on the same line, and separated by at least 1 space.  It must be on a line by itself, as must the <OBJ_FLAGS> and the </OBJ_FLAGS>.  Look for more <OBJ_FLAGS> options in the future.

ITEM VALUE DOCUMENTATION

These values are used, as illustrated below, with the different item types. The various item types are shown in object explanations.

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
·	Value[4]: Minimum level (to wear)

ITEM_SCROLL (2)
·	Value[0]: Level of the spell on the scroll.
·	Value[1]: Which spell (See the  spell documentation)
·	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.
·	Value[4]: Minimum level (to wear)

ITEM_WAND (3)
·	Value[0]: Level of spell in wand..
·	Value[1]: Max Charges (1..X)
·	Value[2]: Charges Left
·	Value[3]: Which spell (See the  spell documentation)
·	Value[4]: Minimum level (to wear)

ITEM_STAFF (4)
·	Value[0]: Level of spell in staff..
·	Value[1]: Max Charges (1..X)
·	Value[2]: Charges Left
·	Value[3]: Which spell (See the  spell documentation)
·	Value[4]: Minimum level (to wear)

ITEM_WEAPON (5)
·	Value[0]: Not Used
·	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:

Num	Category	Message
1		Slash 		"bite/bites"
2		Slash 		"whip/whips"
3		Slash 		"slash/slashes"
4		Slash 		"sting/stings"
5		Bludgeon 	"spray/sprays"
6		Bludgeon 	"crush/crushes"
7		Bludgeon 	"pound/pounds"
8		Bludgeon 	"gore/gores"
9		Bludgeon 	"chop/chops"
10		Bludgeon 	"blast/blasts"
11		Pierce	 	"pierce/pierces"
12		Bludgeon 	"club/clubs"
13		Bludgeon 	"hammer/hammers"
14		Slash 		"smite/smites"
15		Bludgeon 	"smash/smashes"
16		Pierce 		"stab/stabs"

New types will be added as needed.

·	Value[4]: Minimum level (to wear)

ITEM_FIREWEAPON (6)
·	Value[0]: Number of rounds left
·	Value[1]: Number of dice to roll for damage
·	Value[2]: Size of dice to roll for damage
·	Value[3]: Total number of rounds weapon can hold
·	Value[4]: Minimum level (to wear)

ITEM_MISSILE (7)
·	Value[0]: --
·	Value[1]: Number of dice to roll for damage
·	Value[2]: Size of dice to roll for damage
·	Value[3]: --
·	Value[4]: Minimum level (to wear)

ITEM_TREASURE (8)
·	Value[0]: --
·	Value[1]: --
·	Value[2]: --
·	Value[3]: --
·	Value[4]: Minimum level (to wear)

ITEM_ARMOR (9)
·	Value[0]: The effective AC. >0 enhances the armor class. <0 reduces the armor class (cursed armor for example).
·	Value[1]: --
·	Value[2]: --
·	Value[3]: --
·	Value[4]: Minimum level (to wear)

ITEM_POTION (10)
·	Value[0]: Level of the spell in the potion..
·	Value[1]: Which spell (See the  spell documentation)
·	Value[2]: Which spell
·	Value[3]: Which spell
The values (1-3) are three (or less) different spells, mixed in the potion.
Unused spells should be set to -1. For example
Value 0 : 30  (Level)
Value 1 : 27  (Harm)
Value 2 : 17  (Curse)
Value 3 : -1  (No spell)
(* Don't drink this - It's bad for your health! *)
·	Value[4]: Minimum level (not used for quaffing)

ITEM_WORN (11)
·	Value[0]: --
·	Value[1]: --
·	Value[2]: --
·	Value[3]: --
·	Value[4]: Minimum level (to wear)

ITEM_OTHER (12)
·	Value[0]: --
·	Value[1]: --
·	Value[2]: --
·	Value[3]: --
·	Value[4]: Minimum level (to wear)

ITEM_TRASH (13)
·	Value[0]: --
·	Value[1]: --
·	Value[2]: --
·	Value[3]: --
·	Value[4]: Minimum level (to wear)

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"..
·	Value[4]: Minimum level (to wear)

ITEM_NOTE (16)
·	Value[0]: Tongue (language of writing) . Not yet used.
·	Value[1]: --
·	Value[2]: --
·	Value[3]: --
·	Value[4]: --

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:
Type	#	Drunk	Full	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_LEMON	6	0	1	8
LIQ_FIREBRT	7	10	0 	0
LIQ_LCLSPC	8	3	3	3
LIQ_SLIME	9	0	4	-8
LIQ_MILK	10	0	3	6
LIQ_TEA	11	0	1	6
LIQ_COFFE	12	0	1	6
LIQ_BLOOD	13	0	2	-1
LIQ_SALTWTR	14	0	1	-2
LIQ_COKE	15	0	1	5

The above values for drunkenness/fullness/thirst are used per four "units" drunk. The values are expressed in HOURS! For example:

Dragon empties a bottle (say 7 units) of saltwater. His Drunkenness 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 the maximum for drunkenness, fullness, and thirst. When hours are zero for any drunkenness, fullness, or thirst the person will be sober, hungry, or thirsty respectively.

·	Value[3]: if this value is non-zero, then the drink is poisoned..
·	Value[4]: Minimum level (to wear)

ITEM_KEY (18)
·	Value[0]: The key-type. This value must match the lock-type the door that the key can open..
·	Value[1]: --
·	Value[2]: --
·	Value[3]: --
·	Value[4]: Minimum level (to wear)

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..
·	Value[4]: Minimum level (to wear)

ITEM_MONEY (20)
·	Value[0]: The number of gold coins "in the pile of coins"..
·	Value[1]: --
·	Value[2]: --
·	Value[3]: --
·	Value[4]: Minimum level (to wear)

ITEM_PEN (21)
·	Value[0]: --
·	Value[1]: --
·	Value[2]: --
·	Value[3]: --
·	Value[4]: Minimum level (to wear)

ITEM_BOAT (22)
·	Value[0]: --
·	Value[1]: --
·	Value[2]: --
·	Value[3]: --
·	Value[4]: Minimum level (to wear)

ITEM_FOUNTAIN (23)
·	Value[0]: Maximum drink units..
·	Value[1]: Drink units left..
·	Value[2]: --
·	Value[3]: --
·	Value[4]: Minimum level (to wear)

ITEM_AIRSHIP (24)
·	Value[0]: --
·	Value[1]: --
·	Value[2]: --
·	Value[3]: --
·	Value[4]: Minimum level (to wear)

ITEM_DEVICE (26)

These puzzle-solving customized devices function as normal objects, and are made in the same format as normal objects, with the item type number 26. What makes these objects different is that they can be given customized verbs with which the player can interact with them to produce certain results. The verbs and the special text message that the player sees when interacting with the devices, are stored in the field where objects normally keep extra descriptions. In other words, the following:

V
push pull grab move adjust~
After you fiddling with the lever, the lights in the room go dim.
~
Assigns the verbs push, pull, grab, move and adjust to the object in question. The line afterwards is displayed upon use.

What each device does and how it displays the results, are determined by the four blank values that other objects use to determine weapon dice rolls, spell numbers, etc. What follows is a list of possible devices uses and the information necessary to make the device function properly. The item device type, in the first column, is entered into the first blank value of the object, the value in the 2nd field is entered into the second blank value, etc. The last column describes who sees the message that you enter after you set which verbs can be used on the object.

Item Device Type (Value[0])	Value[1]	Value[2]	Value[3]	String sent to	
1 - Everyone in a room moved to another room	Vnum of target room	-	-	Current room	
2 - Device user sent to another room	Vnum of target room	-	-	Device user	
3 - Kills all in a room	-	-	-	Current room	
4 - Kills the user	-	-	-	Current room (except user)	
*5 - Unlocks a door 	direction	-	-	Current room (with door in it)	
*6 - Opens a door	direction	-	-	Current room (with door in it)	
7 - Loads an object	Vnum of target object	Room to load to	-	Current room	
*8 - Purges an object	Vnum of target object	Room to purge from	-	Current room	
9 - Loads a mobile	Vnum of target mobile	Room to load to	-	Current room	
*10 - Purges a mobile	Vnum of target mobile	Room to purge from	-	Current room	
11 - Gives a room echo	-	-	-	Current room	
12 - Gives a zone echo	-	-	-	Current zone	
13 - Moves a group to a room if leader of group uses device	Vnum of target room	-	-	Each group member	
*14 - Boolean toggle	0 - device is off 
1 - device is on	Vnum of device to be toggled on/off if previous field is 1	-	Current room	
15 - Reimburse object to device user	Vnum of object	-	-	Device user	
*16 - Unlocks a door	Room number of door	Direction of exit	-	Current room	
*17 - Opens a door	Room number of door	Direction of exit	-	Current room	
*18 - Casts spell on all in room	Room number	Spell number	Spell level	Current room	
*19 - Casts spell on device user	Spell number	Spell level	-	Current room	
*20 - Casts spell on group if leader uses	Spell number	Spell level	-	Each group member	
* - indicates a type that has not yet been implemented.
Please email any questions about devices and formatting to areas@jedimud.com - thank you :)

Device Example:

Example #1: A dummy device that creates a dummy object (vnum 3333):
 
#3332
dummy device box lever~
the lever~           [NB: since !take, want what activation will show]
A black box is here taking up space.~
~
26 ABG 0                        [device, glow/hum/magic, not takeable]
7 3333 0 0 0
1 1 1                                  [irrelevant since not takeable]
V
pull push kick~
The device whirs and clicks and cranks out a dummy object.
~
E
dummy device box~   [note: not including lever, could describe separately]
The dummy device is a plain black box with a lever on the side.  You 
wonder what would happen if you pulled it.
~

Shop Creation

	Occasionally, you will want to include a shop in your zone.  This section tells you how to form the shop for your area.

Basic Shop Format
#<shop num>
<item sold vnum1>
<item sold vnum2>
<item sold vnum3>
<item sold vnum4>
<item sold vnum5>
<profit selling> 
<profit buying>
<item type bought by shop 1>
<item type bought by shop 2>
<item type bought by shop 3>
<item type bought by shop 4>
<item type bought by shop 5>
%s <message when item does not exist to be bought>~
%s <message when player tries to sell item not carried>~
%s <message when the item is not a type the shopkeeper buys>~
%s <message when the shop can’t afford the item>~
%s <message when the player can’t afford the item>~
%s <message when an item is sold to the player>~
%s <message when an item is bought by the shop>~
<temper 1>
<temper 2>
<shopkeeper vnum>
0
<room vnum>
<open time 1>
<close time 1>
<open time 2>
<close time 2>

#<shop num>
	This is an identifier for the shop within the file, and does not change shop properties.

<item sold vnum1>…<item sold vnum5>
	These are the vnums of the item that the shop sells when it first loads.  More items may be added to the list later, due to the shopkeeper buying items, or being given items.

<profit selling>, <profit buying>
	These are multiples of the value of the item, used when selling and buying.  Selling value must be >= 1.0, and buying value must be <= 1.0

<item type bought by shop 1>…<item type bought by shop 5>
	These numbers are the item types that the shop will buy.  Set unused values to 0, or all to 0 to indicate that the shop does not buy any items.

%s <message when. Item does not exist to be bought>~…%s <message when an item is bought by the shop>~
	These are the messages that the player will see as the different circumstances come to pass. The %s represents the shopkeeper telling the player the message.  For when an item is bought or sold, %d represents the price of the item in question.

<temper 1>
	Determines the shopkeeper’s reaction to the player not being able to afford an item.
		0: The shopkeeper pukes on the player.
		1: The shopkeeper smokes his joint.

<temper 2>
	Determines the shopkeeper’s reaction to the kill command.
		0: Says, ‘Don’t ever try that again!’ and gets first hit.
		1: Says, ‘I’m too powerful for you – midget!’ and killing is impossible.

<open time 1>…<close time 2>
	These are the times the shop opens and closes, in military time.  The second set of numbers is used for shops which open more than once per day (maybe closing for lunch, for example).

Example Shop
#3004
3040
3042
3044
3076
3081
1.0
0.5
9
0
0
0
0
%s Haven't got that on storage - try list!~
%s You don't seem to have that.~
%s I only buy armours.. Go away!~
%s That is too expensive for me - Try a wizard!~
%s You can't afford it!~
%s That'll be %d coins, please.~
%s You'll get %d coins for it!~
0
0
3004
0
3037
0
25

Writing a Zone File

The zone file contains many essential facts that the game needs in order to load a zone and the monsters, doors and objects in it correctly. The zone file begins by listing the general information the game needs to assign status for autoexits, reset time and how large the zone is and ends with a far more extensive list which details where everything loads, when and how often.

Zone Creation Fields

#<Zone number>

Every zone has a unique zone number associated with it. The zone number is used with many immortal
commands inside the running game.

<Name of Zone>~

<Top room of the zone>

The game actually needs the top room number of each zone to start correctly.

<Zone lifespan>

The zone lifespan is the length of time the zone will be active between resets. When the lifespan elapses it will be queued to reset at the earliest opportunity.

<Reset mode>

The zone's reset mode will determine the conditions under which a zone will reset when its lifespan has elapsed. Chose a reset mode from the following table:

Value	Purpose	
0	The zone will only reset when the game crashes.	
1	The zone will reset as soon as it is deserted.	
2	The zone will reset no matter what.	

<Autoexits status>

An interesting feature of the JediMUD code is the ability to turn off the autoexits command by zone. When autoexits are disabled, players are forced to slow down and be more careful when they initially explore a zone than might be the case otherwise. If this value is 0, then autoexits will not work in the zone. If the value in this field is a 1, then autoexits will function.

Level Restrictions
@<MORTAL_LEVEL_RESTRICT> Low-High (i.e. 1-20)
@<IMMORTAL_LEVEL_RESTRICT> Low-High (i.e. 31-36)

The Command Table

The command table is the list of commands that the game will attempt to execute every time the zone is reset. Each command consists of a letter, which identifies the command type, followed by three or four fields.
(* Denotes a comment line.  Use throughout the file to make it easier to read.)

<Command type>

Each command type has a unique letter associated with it. Chose the appropriate command type from the table below:

Function	Flag	
Load a monster and place it into a room.	M	
Percentile load a monster and place it into a room.	W	
Load an object and place it into a room.	O	
Percentile load an object and place it into a room.	X	
Load an object and give it to the last monster loaded.	G	
Percentile load an object and give it to the last monster loaded.	Y	
Load an object into the equipment list of a monster.	E	
Percentile load an object and place it into the equipment list of a monster.	Z	
Load one object into another object.	P	
Percentile load an object and place it into another object.	Q	
Load a door.	D	

<If flag>

The first field is common to all commands. It is called the If flag and will tell the game specific conditions that must be met for the command on that line to execute. The following If commands are available on JediMUD:

Conditions for the Load Command to Execute	If Flag	
Execute no matter what.	0	
Execute only if the last command was successful.	1	
Execute only if the last command was not successful.	2	
Execute if the last monster load command was successful.	3	
Execute if the last monster load command failed because of a probability test.	4	
Execute if the last monster load command was successful.	5	
Execute if the last monster load command did not succeed for any reason.	6	

How to use each type of load command

The following section lists the format for each type of load command. If flags are listed in the previous section.

M - Load a monster and place it into a room

Format:
M <if flag> <monster number> <maximum existing> <room number>

·	Monster number is the virtual number of the monster that is to be loaded.
·	Maximum existing is the absolute maximum number of this monster that can be in the game at any one time.  Unique monsters should have a one in this field.
·	Room number is the number for the room in which this command is going to load the monster.

W - Percentile load a monster and place it into a room

Format:
W <if flag> <monster number> <maximum existing> <room number> <probability>

·	Monster number is the virtual number of the monster that is to be loaded.
·	Maximum existing is the absolute maximum number of this monster that can be in the game at any one time.  Unique monsters should have a one in this field.
·	Room number is the number for the room in which this command is going to load the monster.
·	Probability is the percent chance that the command will execute successfully.

O - Load an object and place it into a room

Format:
O <if flag> <object number> <maximum existing> <room number>

·	Object number is the virtual number of the object that is to be loaded.
·	Maximum existing is the absolute maximum number of this object that can be in the game at any one time.  Unique objects should have a one in this field.
·	Room number is the number for the room in which this command is going to load the object.

X - Percentile load an object and place it into a room

Format:
X <if flag> <object number> <maximum existing> <room number> <probability>

·	Object number is the virtual number of the object that is to be loaded.
·	Maximum existing is the absolute maximum number of this object that can be in the game at any one time. Unique objects should have a one in this field.
·	Room number is the number for the room in which this command is going to load the object.
·	Probability is the percent chance that the command will execute successfully.

G - Load an object and give it to the last monster loaded

Format:
G <if flag> <object number> <maximum existing>

·	Object number is the virtual number of the object that is to be loaded.
·	Maximum existing is the absolute maximum number of this object that can be in the game at any one time. Unique objects should have a one in this field.

Y - Percentile load an object and give it to the last monster loaded

Format: 
Y <if flag> <object number> <maximum existing> <probability>

·	Object number is the virtual number of the object that is to be loaded.
·	Maximum existing is the absolute maximum number of this object that can be in the game at any one time. Unique objects should have a one in this field.
·	Probability is the percent chance that the command will execute successfully.

E - Load an object into the equipment list of the last monster loaded

Format:
E <if flag> <object number> <maximum existing> <equipment position>

·	Object number is the virtual number of the object that is to be loaded.
·	Maximum existing is the absolute maximum number of this object that can be in the game at any one time. Unique objects should have a one in this field.
·	Equipment position is the body location where the item will be worn by the monster. Chose this value from the following table:

Location	Number	
Light	0	
Finger (right)	1	
Finger (left)	2	
Neck (one)	3	
Neck (two)	4	
Body	5	
Head	6	
Legs	7	
Feet	8	
Hands	9	
Arms	10	
Shield	11	
About the Body	12	
Waist	13	
Wrist (right)	14	
Wrist (left)	15	
Wield	16	
Hold	17	

Z - Percentile load an object into the equipment list of the last monster loaded

Format:
Z <if flag> <object number> <maximum existing> <equipment position> <probability>

·	Object number is the virtual number of the object that is to be loaded.
·	Maximum existing is the absolute maximum number of this object that can be in the game at any one time. Unique objects should have a one in this field.
·	Equipment position is the body location where the item will be worn by the monster. Chose this value from the following table:

Location	Number	
Light	0	
Finger (right)	1	
Finger (left)	2	
Neck (one)	3	
Neck (two)	4	
Body	5	
Head	6	
Legs	7	
Feet	8	
Hands	9	
Arms	10	
Shield	11	
About the Body	12	
Waist	13	
Wrist (right)	14	
Wrist (left)	15	
Wield	16	
Hold	17	

·	Probability is the percent chance that the command will execute successfully.

P - Load an object and place it into another object

Format:
P <if flag> <object one> <max existing> <object two>

·	Object one is the virtual number of the object that is to be loaded.
·	Maximum existing is the absolute maximum number of this object that can be in the game at any one time. Unique objects should have a one in this field.
·	Object two is the virtual number of the object that object one is to be put into.

Q - Percentile load an object and place it into another object

Format: 
Q <if flag> <object one> <maximum existing> <object two> <probability>

·	Object one is the virtual number of the object that is to be loaded.
·	Maximum existing is the absolute maximum number of this object that can be in the game at any one time. Unique objects should have a one in this field.
·	Object two is the virtual number of the object that object one is to be put into.
·	Probability is the percent chance that the command will execute successfully.

D - Loading a door into a room

Format: 
D <if flag> <room number> <exit number> <state>

·	Room number is the room that the door is located in.
·	Exit number refers to the number associated with the direction that the door is supposed to block. Use the same values for this number as you would for a world file.
·	The state can be one of the following:

Open	0	
Closed	1	
Closed and Locked	2	

End the zone file with the following two lines:

S
$~

The JediMUD Spell System

IMPORTANT NOTICE
Since the level versus average damage calculations are performed, all the offensive spells are individually much stronger than higher level spells. For example:

One fireball of level 15 does more damage than one of level 16 which does more damage than level 17 which does more damage than level 18 which does more than... etc.

Thus, all offensive potions, scrolls, etc. must be made the basic level they are designed for. The levels are listed below.

The Y/N rows below indicate which potions/scrolls/wands/staffs that are possible to make. The MIN_LEV is the Minimum Level DEMANDED by the item you are making. The game will crash if making level less than demanded.

   The JediMud extended spell-set:

Spell Name	Number	Potion	Scroll	Wand	Staff	Minlevel	
Undefined	-1	y	y	y	y	-	
Reserved	0	n	n	n	n	-	
Aerial Servant	1	n	y	n	n	-	
Aid	2	y	y	y	n	-	
Animate Dead	3	n	y	y	n	-	
Armor	4	y	y	y	n	>0	
Banishment (not coded)	5	n	n	n	n	-	
Bless	6	y	y	y	n	-	
Blindness	7	y	y	y	y	-	
Burning Hands	8	n	n	n	n	5	
Call Lightning	9	y	y	n	y	12	
Calm	10	n	n	n	y	-	
Cause Critic	11	y	y	y	n	-	
Cause Light	12	y	y	y	n	-	
Cause Serious	13	y	y	y	n	-	
Charm	14	n	y	y	n	-	
Chill Touch	15	n	n	n	n	3	
Clone	16	y	y	y	n	-	
Color Spray	17	n	y	y	n	11	
Conjure Elemental	18	n	y	n	y	-	
Control Weather	19	n	n	n	n	-	
Create Food	20	n	y	n	n	-	
Create Water	21	n	n	n	n	-	
Cure Blind	22	y	n	n	y	-	
Cure Critic	23	y	n	n	y	-	
Cure Light	24	y	n	n	y	-	
Cure Serious	25	y	n	n	y	-	
Curse	26	y	y	n	y	-	
Deaths Door	27	n	n	y	n	-	
Detect Alignment	28	y	n	y	n	-	
Detect Invisibility	29	y	n	n	y	-	
Detect Magic	30	y	n	n	y	-	
Detect Poison	31	y	y	n	n	-	
Disintegrate	32	y	n	y	n	-	
Dispel Evil	33	y	y	y	y	10	
Dispel Good	34	y	y	y	y	10	
Earthquake	35	n	y	n	y	7	
Enchant Armor	36	n	y	n	n	-	
Enchant Weapon	37	n	y	n	n	-	
Energy Drain	38	y	y	y	y	13	
Blur	39	n	n	n	n	-	
Group Armor	40	n	y	n	n	-	
Fireball	41	n	y	y	n	15	
Fireblast	42	n	y	y	n	15	
Flamestrike	43	y	n	y	n	-	
Gate One	44	n	y	n	n	-	
Gate Two	45	n	y	n	n	-	
Group Heal	46	n	y	n	n	-	
Group Infravision	47	n	y	n	n	-	
Group Invisibility	48	n	y	n	n	-	
Harm	49	y	n	n	y	15	
Fly	50	y	n	y	y	-	
Heal	51	y	n	n	y	-	
Hold	52	y	n	y	y	-	
Ice Storm	53	n	y	n	y	-	
Infravision	54	y	n	y	n	-	
Invisible	55	y	y	y	y	-	
Lightning Bolt	56	n	y	y	n	9	
Locate Object	57	n	n	n	n	-	
Magic Missile	58	n	y	y	n	1	
Magical Vestment	59	y	n	y	n	-	
Meteor Swarm	60	n	n	n	y	-	
Monsum One	61	n	y	n	n	-	
Monsum Two	62	n	y	n	n	-	
Monsum Three	63	n	y	n	n	-	
Petrification	64	y	n	y	n	-	
Poison	65	y	n	n	y	-	
Fission Bomb	66	n	n	n	n	-	
Atomic Blast	67	n	n	n	n	-	
Thermonuclear Holocaust	68	n	n	n	n	-	
Illusion	69	n	n	n	n	-	
Protection From Evil	70	y	y	y	y	-	
Protection From Good	71	y	y	y	y	-	
Reanimate	72	n	n	y	n	-	
Regenerate	73	n	n	n	n	-	
Rejuvenate	74	y	n	y	y	-	
Remove Curse	75	y	y	n	y	-	
Remove Paralysis	76	n	n	y	y	-	
Remove Poison	77	y	n	n	y	-	
Restore	78	y	n	n	y	-	
Resurrect	79	n	n	n	n	-	
Sanctuary	80	y	y	n	y	-	
Sense Life	81	y	n	n	y	-	
Shocking Grasp	82	n	n	n	n	7	
Slay	83	y	n	y	n	-	
Sleep	84	y	y	y	y	-	
Gate Three	85	n	y	n	n	-	
Stone Skin	86	y	n	y	n	-	
Strength	87	y	y	n	y	-	
Summon	88	n	n	n	n	-	
Teleport	89	y	y	y	y	>0	
Information	90	n	n	n	n	-	
Create Light	91	y	n	n	n	-	
Waterwalk	92	y	n	n	n	-	
Web	93	y	n	y	n	-	
Word of Death	94	y	y	y	n	-	
Word of Recall	95	y	y	y	y	-	
Unconscious	96	n	n	n	n	-	
Friends	97	n	n	n	n	-	
Inspire	98	n	n	n	n	-	
Mirror Image	99	n	n	n	n	-	
Scare	100	n	n	n	n	-	
Confusion	101	y	n	n	n	-	
Group Recall	102	n	y	n	n	-	
Slow	103	n	n	n	n	-	
Forget	104	n	n	n	n	-	
Hopelessness	105	n	n	n	n	-	
Mass Calm (not coded)	106	n	n	n	n	-	
Mass Charm	107	n	n	n	n	-	
Petrify	108	n	n	n	n	-	
Suggestion	109	n	n	n	n	-	
Night Vision	110	n	n	n	n	-	
Creature Lore	111	n	n	n	n	-	
Orb	112	n	n	n	n	-	
Inner Gateway	113	n	y	n	n	-	
Mana Channel	114	n	n	n	n	-	
Directed Teleport	115	n	n	n	n	-	
Charisma	116	y	n	n	n	-	
Mental Vigor	117	y	y	n	n	-	
Flaming Sword	118	y	n	n	n	-	
Choking Claw	119	n	n	n	n	-	
Brain Implosion	120	n	n	n	n	-	
Searing Gaze	121	n	n	n	n	-	
Remove Invisible	122	n	y	y	n	-	
Group Fly	123	n	n	n	n	-	
Group Inspire	124	n	n	n	n	-	
Pax	125	n	n	n	n	-	
Enrage	126	n	n	n	n	-	
Resonance	127	n	n	n	n	-	
Identify	129	n	y	n	n	-