JediMUD Wiki
Register
Advertisement

Object Entry Format[]

Here is the format of an entry in the area-base object file (.obj):

#<virtual number>

<alias list>~

<short description>~

<long description>~

<action description>~

<type flag> <extra (effects) bitvector> <wear bitvector>

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

<weight> <cost> <rent per day>

{Zero or more Extra Descriptions and/or Affect Fields}


There can be an unlimited number of Extra Descriptions and up to six (6) Affect Fields.

Virtual Number[]

This number is critical; it is the identity of the object within the game. It is the number that will be used to reference the object from zone files and is the number used to ``load objects from within the game. The virtual numbers must appear in increasing order in the object file.

Alias List[]

The list of keywords, separated by spaces, that can be used by players to identify the object. The object can only be identified using the keywords that appear in its alias list; it cannot be identified by a word that appears only in its name. Great care should be taken to ensure that the spellings of names and aliases match. Fill words such as ``the, ``a, and ``an should not appear in the Alias List.

Short Description[]

The description of the object used by the MUD when the object is used. For example, a short description of ``a long, green stick would result in messages such as ``The Beastly Fido picks up the long, green stick. The Short Description should never end with a punctuation mark because it will be inserted into the middle of sentences.

Long Description[]

The description displayed when the object is seen lying on the ground, for example, ``A furled umbrella is lying here. Unlike the Short Description, the Long Description should end with appropriate punctuation.

Action Description[]

Action Descriptions are primarily used for magical objects (staves, wands, scrolls, and potions) to specify what message displayed to the room when the magical item is used. The Action Description should be given in the act format specified in act.doc. If no Action Description is present, a default message will be used:

Staves: Rasmussen taps <object> three times on the ground.


Wands: Rasmussen points <object> at Onivel.


Scrolls: Rasmussen recites <object>.


Potions: Rasmussen quaffs <object>.


For objects which are readable papers, the Action Description contains the text on the paper.


Object Value Definitions[]

The meaning of an object's four values (value 0 through value 3) vary depending on the Type Flag of the object.

In the table below, ``unused means that the server ignores the value; it can be set to any number (but 0 is always a safe bet). ``unimplemented indicates a Type Flag currently not recognized by the server.

An index of spell numbers for use with magical objects can be found in the Appendix Spell Numbers.


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

FIREWEAPON (Type Flag 6)[]

unimplemented (do not use)


MISSILE (Type Flag 7)[]

unimplemented (do not use)


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)[]

     value 0: ears

     value 1: face

     value 2: off-hand wield

     value 3: unused

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)[]

value 0: Capacity of container

     value 1: Current quantity in container

     value 2: see below

     value 3: Non-zero if the drink poisoned, 0 otherwise.


Value 2 is a number which defines the type of liquid in the drink container, from the following table:

          Type           nr.         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


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.

Advertisement