Building on Ack!mud - Part #2.  Updated 10/21/98 
by Kobaan@CiP (Chaos in Paradise)
original builder files from Michlotixlan@AA (Ancient Adventures)

**** OEDIT AND OBJECTS ****

You can either edit an existing object by typing "oedit <vnum>", or you can
create a new object using "addobj <vnum> <keyword>".  Just as with rooms 
you can type "list" to see how the object is built.  Several things are
different about objects, and are discussed here.


Object Basics

When an object is first created, a keyword must be supplied with the object.
You can change the keyword using the command "name <keyword>".  You can also
give the object several keywords using the command
"name <keyword1> <keyword2> <keyword3> ...ect".  Remember, ALL keywords must 
be included whenever you change the keyword(s), otherwise previous keywords 
will be lost.
Example- You use the following command to name the object: 
         name sharp steel sword
         These are but some of the commands players can use to interact with 
         the object:   get sword;  wear steel;  remove sharp
!!!WARRNING!!! - Do NOT use color in the keyword.  It is incorrect and will 
                 confuse players.

You can set the level of the object with the simple and almost obvious
command:  "level <level>"

You then need to set the short and long descriptions.  The short description 
is the one usually seen by players.  You should include the keyword(s) in 
this description, otherwise players will have a hard time interacting with 
it.  "short <description you want>" sets this descrip.  Players see long 
descriptions when the object is lying on the groud, or they 
"look <keyword>".  You can set this using "long <description you want>", 
and it may be somewhat acceptable to not include the keyword(s) here if 
you want.

"weight <number>" sets the weight of the object.


You can add wear bits using the command "wear <+/-><place>".  "wear" alone
brings up a list of possible places the object can be worn.  In order for
the players to be able to get an object it must be "wear +take".  Other 
wear bits indicate where the item may be worn if the object is intended 
as equipment.

Type "magic" by itself to bring up a list of permanent magic affects that
can improve the object, if it is worn.  Set the magic affect using
"magic <+/-><affect>".

"aff" by itself will bring up a list of affects that can affect the wearer 
of the object.  "aff <+/-><number>" is the usage.  This is where hitpoints, 
mana, armor class, hitroll, and damroll can be added to an object.  Some 
affects, class, level, weight, height, gold, and exp should no longer work.

Extra Flags

You can set extra flags onto an item, many of which do strange things which 
may need explanation or clarifacation.  "extra" by itself brings up the list 
of possibile flags, and "extra <+/-><flag>", and the flags are as follows:

nodisarm     If object is a weapon it may not be disarmed
lifestealer  If the object is a weapon it will steal hps from an opponent
silver       If the item is a weapon it can be used with the decapitate 
             skill to destroy werewolves as you kill one.
noloot       Item may not be looted from a corpse
nosac        Item may not be sacrificed
nosave       Item will not save and will disappear if you quit with it
no_auction   Item may not be put up on auction
nodrop       You cannot drop the item once you pick it up
noremove     You cannot remove the item one you wear it (!)
trig:destroy If the item is a trigger, examining the item will destroy it
rare         Item cannot be located for; if the item repops on the ground 
             then it only repops a small fraction of the time (0.16%/repop?)
unique       A unique item ready to have item enchantments added to it
remort       Only remorts of the item's level or higher can equip with it
anti-good    Good aligned players will drop the item if they try to wear it
anti-neutral Neutr aligned players will drop the item if they try to wear it
anti-evil    Evil aligned players will drop the item if they try to wear it
bless        The item is "good" and will raise align if sacced
evil         The item is "evil" and will lower align if sacced
invis        Only those that can detect invisible can see the item
claneq       This equipment is only for a clan, and cannot be uniqued
vamp         Designed for items made only for vampires, but doesn't work

Glow, hum, magic simply show up on the short descrip;  lock and inventory 
don't do anything useful anymore.


Item Types

Setting the item type is as simple as "type <type>".  Possible choices for 
object types and their functionality include:

weapon       Item should be used as a weapon to hurt opponents
armor        Item should be set as wearable on some equipment position
light        Item should be wearable and provides light
clutch       Special clutch item that makes portals to a fixed location
stake        Holdable item capable of destroying vampires
wand         Item that casts a spell when "zap"ped
staff        Item that casts a spell when "brandish"ed
scroll       Item that can cast 1 - 3 spells when "recite"ed
potion       Item that can cast 1 - 3 spells when "quaff"ed
pill         Item that can cast 1 - 3 spells when eaten
food         Provides noursihment for players
drink_con    Holds bevarages for players
fountain     Stationary item provides unlimited source for a drink
container    Object that can hold items, freeing up inventory space
matrix       A container designed for making and upgrading unique items
enchantment  An item used to upgrade a unique item
soul         Item used for infusing weapons (necromancer spells)
piece        This item is combined with a second piece to create some 
             third object
board        Players can read and post messages on these
boat         Allows players to traverse rooms with water
key          Unlocks doors; will never save on characters
quest        Items sought after in quests
trigger      Can do several things, like teleporting players when examined
money        This object is instantly converted into gold when a player 
             picks it up (may not work properly)
furniture    Objects that may be reseted upon
treasure     To be used for very special items, like quest point tokens :)
trash        Useless item, a red herring for players to find

Object types portal, beacon, corpse_npc, corpse_pc should not be built, 
and are mostly designed for objects created by the game.

Type Trigger

Objects that are type: trigger can do a few special things:
 - Set value0 to 9, value1 to 0, and value2 to a room vnum, pcs and npcs 
   are transported to the room vnum when they exam the item.
 - Add the trigger:destroy flag to make the obj dissapear when used.
 - Set value0 to 9, value1 to 3, and value2 to a mob vnum, the mob specified
   will appear in the room when the object is examined.

Type Clutch

You can make extra-special clutchable items.  Here's how:
 - Set value0 to 1, value1 to a room vnum.  When clutched the object will
   disappear, and the player will be portalled to the room.
 - Set value0 to 3, value1 to a room vnum.  When clutched the object will
   NOT disappear, and the player will be portalled to the room.
 - Set value0 to 2, value1 to a mob, and value2 to a %.  When clutched the
   object will disappear, and the specified mob will appear.  It has the %
   chance that it will begin following the player.
These will not work however in noportal rooms.

Type Piece

Type:peice can be confusing, but can add interesting elements to the
game where players must find several pieces, and learn how to connect them
to make a final item.  If the correct items are connected, then it will
produce third object, which may or may not be of value.  The players may 
try connecting your piece items using this syntax:

"connect <obj1> <obj2>", where both objects are type:piece.
"connect" is now "assemble" in 4.3

A single piece item can therefore be connected one of two ways:
1.) Use it as <obj1>, and it must be connected to the value1 vnum.
2.) Use it as <obj2>, and it must be connected to the value0 vnum.

If the objects are correcly connected, both items disappear and the object
with the vnum of value2 appears.  If they are incorrectly connected, the
player simply wastes time and nothing happens.  Generally, value0 and value1 
should be the same, but not always if you want special results.  
Tips:
 - Make two pieces connect together to form armor or equipment, or keys.
 - Make pieces connect to form another piece, which may be connected to 
   something else to form equipment.  The possibilities are endless!
 - It IS possible for connection order to matter.  Here's how:

name:bottom     vnum:100             name:top     vnum:101
value0: 0                            value0: 0
value1: 101                          value1: 100
value2: 102                          value2: 103

In this case, "connect top bottom" results in object 103, while
"connect bottom top" results in object 102 being produced.  Connection
order can matter if you do things this way!

Objfun

You can add special effects to objects, mostly for weapons.  Here's the list 
of the useful ones:
objfun_giggle        Object occasionally giggles; very annoying
objfun_dispeller     Object occasionall does some weird stuff to annoy you
objfun_cast_fight    Weapon casts various spells in battle
objfun_healing       Weapon heals the wearer up during battle
objfun_flaming       Weapon casts fiery spells at opponent during battle
objfun_regen         Equipment increases healing rate while worn
objfun_soul_moan     Object moans like it's an infused weapon