Valarin
Builder's Tutorial: Building Objects

3. Building Objects

3 . A

Object Commands

All of these commands may not be available depending on the level of the builder.
load obj <vnum>
Load the given object into your inventory.
oedit <object vnum>
Bring up the oedit screen for the object that you've specified by its vnum.
oedit list
List all the objects in the zone you are currently building.
oedit list <zone num>
List all the objects in the given zone.
oedit list <start vnum> <end vnum>
List all the objects between the start and end vnums given.
oedit save
Saves all object changes in your zone to the mud database.
oedit save <zone num>
Saves all object changes in the zone number specified.
vnum obj <name>
Shows the object description and the vnums for all objects that match the name given.
vstat obj <vnum>
Gives the statistics (ie all the relevant object information) for object #vnum.
vtype <type>
Lists all the objects of the given type.
vwear <location>
Lists all the objects designed to be worn on the given location on the player's body.
3 . B

Sample Oedit Screen

-- Item number : [2600]
1) Namelist : pearl dagger
2) S-Desc   : a pearl-handled dagger
3) L-Desc   :-
A pearl-handled dagger is lying here.
4) A-Desc   :-

5) Type        : WEAPON
6) Extra flags : !EVIL !NEUTRAL 
7) Wear flags  : TAKE WIELD 
8) Weight      : 0
9) Cost        : 0
A) Cost/Day    : 0
B) Load Rate   : 100
C) Timer       : 0
D) Values      : 2 4 8 14
E) Applies menu
F) Extra descriptions menu
S) Script      : Not Set.
Q) Quit
3 . C

Building An Object With oedit

Objects are the items that characters can, generally, pick up and use in the mud. Objects can also be items (such as fountains or bulletin boards) that players can interact with and use. Objects, for the most part, are inanimate things, animate things (people, monsters) should be created as Mob(ile)s (see later)

To get started with your first object, type oedit XX00 and hit enter. Get a good idea of what you want your object to be (weapons are popular first objects) before you continue with this tutorial.

Once you've decided what you want the object to be, its time to start describing it, there are several different descriptions all of which, generally, should be used to describe the object.

The first thing you need to set is the namelist, this is a list of words that are associated with the object and that the game will use to identify the object when the player tries to use it. The namelist should not include words like the or a. Type in a couple of words that best describe your object, then hit enter to store these words.

The next description is the S-Desc, or short description. This is a short, two to four (or so) word long description of the object. Generally this should look a lot like your namelist. Type in a good short description for your first object.

The next description is the L-Desc, or long description. This is a longer description that appears when an object is lying in a room (it is not in any player's posession). The description should be a sentance describing the object and how it is sitting (lying, etc.) in the room. Make sure to end your sentance with a period. Type in a good long description for your first object.

The next description is the A-desc or action description. This is the what is displayed when the item is used by the player. It is only implemented for magical objects (staves, wands, scrolls and potions). If your item is one of these things feel free to add an action description. Note, A-desc is also where you put the text on a readble paper (ie a note type object)

The next thing you need to set is what type of object this is. There are several types of items you can choose from, including:

LIGHT          Item is a light source.
SCROLL         Item is a magical scroll.
WAND           Item is a magical wand.
STAFF          Item is a magical staff.
WEAPON         Item is a weapon.
FIRE WEAPON    Item is a ranged weapon.
MISSILE        Item is a missile for a ranged weapon.
TREASURE       Item is treasure other than gold coins (i.e. gems)
ARMOR          Item is armor.
POTION         Item is a magical potion.
WORN           Currently not implemented.  Do not use.
OTHER          Miscellaneous object with no special properties.
TRASH          Trash -- junked by cleaners, not bought by shopkeepers.
TRAP           *** NOT IMPLEMENTED ***
CONTAINER      Item is a container.
NOTE           Item is a note (can be written on).
LIQ CONTAINER  Item is a drink container.
KEY            Item is a key.
FOOD           Item is food.
MONEY          Item is money (gold coins).
PEN            Item is a pen.
BOAT           Item is a boat; allows you to traverse SECT_WATER_!SWIM
FOUNTAIN       Item is a fountain.
SPELLBOOK      Item is a spellbook.
PORTAL         Item is a portal.
TILLER         Item is a tiller (ie to control a boat)
QUIVER         Item is a container for missiles.
PILL           Item is a pill (like a potion but eaten).
Most of these are pretty self explanatory, if there is anything you don't understand, feel free to ask around on the MUD or to post a message to the bulletin board. Pick the appropriate type for your object and we'll continue or our way. Note that an object can only have one type.

The next thing to do is to set the Extra fields for the object. The extra fields affect special properties of the object, such as who can use the object. You can add as many extra flags as you want to an object to have. The extra flags are:

GLOW           Item is glowing (cosmetic).
HUM            Item is humming (cosmetic).
!RENT          Item cannot be rented.
!DONATE        Item cannot be donated.
!INVIS         Item cannot be made invisible.
INVISIBLE      Item is invisible.
MAGIC          Item has a magical aura and cannot be enchanted.
!DROP          Item is cursed and cannot be dropped.
BLESS          Item is blessed (cosmetic).
!GOOD          Item cannot be used by good-aligned characters.
!EVIL          Item cannot be used by evil-aligned characters.
!NEUTRAL       Item cannot be used by neutral align characters.
!MAGE          Item cannot be used by the Mage class.
!CLERIC        Item cannot be used by the Cleric class.
!THIEF         Item cannot be used by the Thief class.
!WARRIOR       Item cannot be used by the Warrior class.
!SELL          Shopkeepers will not buy or sell the item.
!HUMAN         Item cannot be used by humans.
!ELF           Item cannot be used by elves.
!DWARF         Item cannot be used by drawves.
!GNOME         Item cannot be used by gnomes.
!HALFELF       Item cannot be used by halfelves.
!HALFLING      Item cannot be used by halflings.
!WOLFEN        Item cannot be used by wolfens.
!HUNTER        Item cannot be used by the hunter class.
!SHAMAN        Item cannot be used by the shaman class.
Note that keys should generally be !RENT so that a player cannot rent with a key so other players can use it.

Next up are the wear flags. These flags dictate where on the body an object can be worn. Any object that can be picked up by players should be given the TAKE flag, any object whcih should not be picked up by players (ie fountains and the like) should not have the take flag. Besides the take flag there should be only one body part listed at most (you should only be able to wear an object in one place on your body if it can be worn). The hold flag can also be set if the player can hold the object (not wearing it). The possible flags are:

TAKE      Item can be taken (picked up off the ground).
FINGER    Item can be worn on the fingers.
NECK      Item can be worn around the neck.
BODY      Item can be worn on the body.
HEAD      Item can be worn on the head.
LEGS      Item can be worn on the legs.
FEET      Item can be worn on the feet.
HANDS     Item can be worn on the hands.
ARMS      Item can be worn on the arms.
SHIELD    Item can be used as a shield.
ABOUT     Item can be worn about the body.
WAIST     Item can be worn around the waist.
WRIST     Item can be worn around the wrist.
WIELD     Item can be wielded; e.g. weapons.
HOLD      Item can be held (the "hold" command).

Next up is the object's weight. The weight of the object should generally be between 1 and 20, with larger objects being heavier. If you've designed a particularily useful object, feel free to make it a little heavier to penalize the player for using it.

The cost of the object is how much it is sold/bought for at a shop. The cost should be relative to the power of the object, better objects costing more than less good objects. If you are unsure of how expensive to make your object ask around for some general guidelines. Good equipment may be worth 10000 gold or more, crappier equipment may be worth only a few hundred cold coins. Give your item an appropriate cost.

Next we have the cost per day, this is the cost for the player to rent with that object. This shouldn't be too great an amount, possibly a few gold coins per day, with better equipment being slightly more expensive to rent with. Give your item a reasonable rent cost.

The next item to edit is the Load Rate, this is the chance that an object will load if told to in the zedit commands (see zedit below). 100 means that the object loads all the time, any number less represents the percent chance that the object will load. If you don't want this object loading all the time (ie you anly want mobs to be equipped with this item 10 percent of the time) then lower this value, otherwise it is fine to leave the value at 100.

The timer is how many tics until the item rots. A tic is an hour in the game's day. If this is given a value of zero the item will never rot. This is good for perishable items such as food.

3 . D

Values for Different Object Types

The values menu is probably the most important part of oedit, here is where you set the properties of you object, whatever it is. The values you set vary based upon the type of object you choose to create, a list of some of these values can be found in the CircleMUD Builder's manual. Adding values is self-explanatory but some of the values used can be a little confusing. If you are unsure of anything, feel free to ask around or post a message on the bulletin board.

The values, for the different types of objects are:

LIGHT (Type Flag 1) 

             value 0: unused
             value 1: unused
             value 2: Capacity of light in hours.
                        0: Burned out light.
                       -1: Eternal light source.
             value 3: unused

SCROLL (Type Flag 2) 

             value 0: Level at which scroll's spells are cast.
             value 1: Spell number 1
             value 2: Spell number 2
             value 3: Spell number 3
                  If less than 3 spells are desired, set unused values to -1.

WAND (Type Flag 3) 

             value 0: Level at which wand's spell is cast.
             value 1: Charge capacity of wand (>= 1)
             value 2: Current number of charges remaining
             value 3: Spell number

STAFF (Type Flag 4) 

             value 0: Level at which staff's spell is cast.
             value 1: Charge capacity of staff (>= 1)
             value 2: Current number of charges remaining
             value 3: Spell number

WEAPON (Type Flag 5) 

             value 0: unused
             value 1: Number of damage dice
             value 2: Size of damage dice
             value 3: Weapon type for damage messages, one of:
                       0    hit/hits
                       1    sting/stings
                       2    whip/whips
                       3    slash/slashes
                       4    bite/bites
                       5    bludgeon/bludgeons
                       6    crush/crushes
                       7    pound/pounds
                       8    claw/claws
                       9    maul/mauls
                       10   thrash/thrashes
                       11   pierce/pierces
                       12   blast/blasts
                       13   punch/punches
                       14   stab/stabs
                       15   chop/chops

FIREWEAPON (Type Flag 6) 

             value 0: type of missile fired
                       1 arrow
                       2 rock
                       3 bolt
             value 1: number of damage dice
             value 2: size of damage dice
             value 3: Weapon type for damage messages, one of:
                       0    hit/hits
                       1    sting/stings
                       2    whip/whips
                       3    slash/slashes
                       4    bite/bites
                       5    bludgeon/bludgeons
                       6    crush/crushes
                       7    pound/pounds
                       8    claw/claws
                       9    maul/mauls
                       10   thrash/thrashes
                       11   pierce/pierces
                       12   blast/blasts
                       13   punch/punches
                       14   stab/stabs
                       15   chop/chops
 

MISSILE (Type Flag 7) 

             value 0: type of missile
                       1 arrow
                       2 rock
                       3 bolt
             value 1: number of damage dice
             value 2: size of damage dice
             value 3: Weapon type for damage messages, one of:
                       0    hit/hits
                       1    sting/stings
                       2    whip/whips
                       3    slash/slashes
                       4    bite/bites
                       5    bludgeon/bludgeons
                       6    crush/crushes
                       7    pound/pounds
                       8    claw/claws
                       9    maul/mauls
                       10   thrash/thrashes
                       11   pierce/pierces
                       12   blast/blasts
                       13   punch/punches
                       14   stab/stabs
                       15   chop/chops

TREASURE (Type Flag 8) 

             value 0: unused
             value 1: unused
             value 2: unused
             value 3: unused

ARMOR (Type Flag 9) 

             value 0: AC-apply of the armor.  Note that the effective change
                       to AC is this value times a multiplier based on where
                       the armor is worn.  Values >0 enhance the armor class;
                       values <0 damage the armor class (cursed armor, for
                       example).
             value 1: unused
             value 2: unused
             value 3: unused

POTION (Type Flag 10) 

             value 0: Level at which the potion's spells are cast.
             value 1: Spell number 1
             value 2: Spell number 2
             value 3: Spell number 3
                  If less than 3 spells are desired, set unused values to -1.

WORN (Type Flag 11) 

    unimplemented (do not use)

OTHER (Type Flag 12) 

             value 0: unused
             value 1: unused
             value 2: unused
             value 3: unused

TRASH (Type Flag 13) 

             value 0: unused
             value 1: unused
             value 2: unused
             value 3: unused

TRAP (Type Flag 14) 

    unimplemented (do not use)

CONTAINER (Type Flag 15) 

             value 0: Capacity (max containable weight) of container
             value 1: Container flag bitvector (MUST be a numeric bitvector)
                  1    CLOSEABLE      Container can be closed and locked.
                  2    PICKPROOF      Lock on container can't be picked.
                  4    CLOSED         Container is closed when created.
                  8    LOCKED         Container is locked when created.
             value 2: The vnum of the key object that opens this container.
                       -1 if it has no key.
             value 3: Reserved for internal use -- always set as 0.

NOTE (Type Flag 16) 

             value 0: Language of writing (unimplemented).
             value 1: unused
             value 2: unused
             value 3: unused

DRINKCON (Type Flag 17) 

    See Values for Drink Containers.

KEY (Type Flag 18) 

             value 0: unused
             value 1: unused
             value 2: unused
             value 3: unused

FOOD (Type Flag 19) 

             value 0: The number of hours of hunger satisfied by this food.
             value 1: unused
             value 2: unused
             value 3: Non-zero if the food is poisoned, 0 otherwise.

MONEY (Type Flag 20) 

             value 0: The number of gold coins in the pile.
             value 1: unused
             value 2: unused
             value 3: unused

PEN (Type Flag 21) 

             value 0: unused
             value 1: unused
             value 2: unused
             value 3: unused

BOAT (Type Flag 22) 

             value 0: unused
             value 1: unused
             value 2: unused
             value 3: unused

FOUNTAIN (Type Flag 23) 

    See Values for Drink containers

SPELLBOOK (Type Flag 24) 

             value 0: Level at which spellbook's spells are cast.
             value 1: Spell number 1
             value 2: Spell number 2
             value 3: Spell number 3
                  If less than 3 spells are desired, set unused values to -1.

PORTAL (Type Flag 25) 

             value 0: unused
             value 1: room vnum the portal leads to
             value 2: unused
             value 3: how the player enters the portal
		  0: enter
		  1: climb
		  2: board  

TILLER (Type Flag 26) 

             value 0: unused
             value 1: vnum of the object the tiller controls
             value 2: unused
             value 3: unused


QUIVER (Type Flag 27)
             value 0: Type of missile held
                      1 arrow
                      2 rock
                      3 bolt
             value 1: Maximum capacity of the quiver
             value 2: unused
             value 3: unused

PILL (Type Flag 28)
             value 0: Level at which the pill's spells are cast.
             value 1: Spell number 1
             value 2: Spell number 2
             value 3: Spell number 3
                  If less than 3 spells are desired, set unused values to -1.

3 . E

Values for Drink Containers

DRINKCON (Type Flag 17) and FOUNTAIN (Type Flag 23)

         value 0: Capacity of container
         value 1: Current quantity in container
         value 2: drink number, see below
         value 3: Non-zero if the drink poisoned, 0 otherwise.

Type           no.         Effect of Liquid On:
                    Drunkness   Fullness   Thirst
LIQ_WATER      0      0           1           10
LIQ_BEER       1      3           2           5
LIQ_WINE       2      5           2           5
LIQ_ALE        3      2           2           5
LIQ_DARKALE    4      1           2           5
LIQ_WHISKY     5      6           1           4
LIQ_LEMONADE   6      0           1           8
LIQ_FIREBRT    7      10          0           0
LIQ_LOCALSPC   8      3           3           3
LIQ_SLIME      9      0           4           -8
LIQ_MILK       10     0           3           6
LIQ_TEA        11     0           1           6
LIQ_COFFE      12     0           1           6
LIQ_BLOOD      13     0           2           -1
LIQ_SALTWATER  14     0           1           -2
LIQ_CLEARWATER 15     0           0           13
The above values for drunkness, fullness, and thirst are in the units of one hour of effect per four units of liquid drunk. For example, imagine that a character drinks an entire bottle (say 7 units) of saltwater. According to the table above, saltwater has a drunkness value of 0, fullness value of 1 and thirst value of -2. Therefore:

His Drunkness is not changed ((7/4)*0) His Fullness increases by ((7/4)*1) hours His Thirst increases by ((7/4)*-2) hours, thus making him more thirsty.

A player's drunkness, fullness, and thirst can range from 0 to 24. 24 is the maximum; 0 means the person is completely sober, hungry, or thirsty respectively.

3 . F

Oedit Continued

The applies menu allows you to add special features to the object which make it more or less desireable for the player. The menu has 6 slots for extra applies which you can set from the following list:

 0) NONE                  1) STR                  
 2) DEX                   3) INT                  
 4) WIS                   5) CON                  
 6) CHA                   7) CLASS                
 8) LEVEL                 9) AGE                  
10) CHAR_WEIGHT          11) CHAR_HEIGHT          
12) MAXMANA              13) MAXHIT               
14) MAXMOVE              15) GOLD                 
16) EXP                  17) ARMOR                
18) HITROLL              19) DAMROLL              
20) SAVING_PARA          21) SAVING_ROD           
22) SAVING_PETRI         23) SAVING_BREATH        
24) SAVING_SPELL         
Note that armor type objects should not affect armor here, this should be done using the values option. It is a good idea to mix some good qualities of an object with some bad, to give the player the dilemma of whether or not it is a good idea to use the object.

Maximum values for the applies menu should soon be posted on this site to help with the creation of new objects.

The extra descriptions menu is very important with regards to objects as it is where you enter the description of the object itself. The extra description menu works as it does for redit. To add a description for your object, type the object's name as the keyword and then type the description (usually two or so lines is all that's required) for the object. That's all there is to it, if you'd like to add more descriptions (ie if this is a book and you want to have chapters) feel free to add as many additional extra descriptions that you need.

Scripts, the last item used by oedit, will be discussed later, in the section on writing and editing scripts.

Previous Chapter | Table of Contents | Next Chapter
Builder's Information | Home