A Glossary of OLC Commands for Castle Arcanum
           Version: 1.0 by Phazic/Confidential of Castle Arcanum
                    E-mail: ahsieh@student.andover.edu

Below is a list of all the OLC commands besides the *pedit commands.
Included are syntax(es), purpose, and examples which will help you build your area.

They are arranged as follows: aedit, redit, medit, oedit.


aedit - 
	Syntax: aedit
		Enters the area editing mode where you can change things
		that will affect the entire area.  When you first enter
		the mode it will show you some information about the current
		area.

	Syntax: aedit 
		Enters the area editor for the specified area.

	Example: aedit
		Enters the area editing mode for the area you are in.

	Example: aedit 0
		Enters area editing mode for limbo.
	Note: The anum is obtained from the command alist, first column.

age - 
	Syntax: age <#age>
		Currently does nothing except attach a number to age.

	Example: age 3
		Sets the age of the area to 3.

builders - 

	Syntax: builder <$name>
		Toggles someone's builder access to the area
	
	Example: builder Phazic 
		This toggles Phazic from being a builder in the area.
	
	Warning: It does not do any checks to see if that will remove 
	all builders, so it is possible to remove yourself and then you'll need an
 	immortal's assistance to re-add yourself.
	
	Syntax: builder All 	   
		Toggles allowing everyone to build.

	Example: builder All
		This toggles allowing everyone to build.
	
commands - 
	Syntax: commands
		Displays a list of commands that you can use in each mode.

	Example: commands
		Displays:
		age            builders       commands       create         filename       
		recall         reset          security       show           vnum           
		lvnum          uvnum          levels         authors        title          
		?              version        

create - 
	Syntax: aedit create
	Creates a new area and transfers you to it.
		This command is not available to normal builders (106)
filename - 
	Syntax: filename <$filename> 
		Changes the filename of an area.
		This command is not available to normal builders (106)

	Example: filename area69
		This would change the name of the file where my area 
		is stored to area69.are.

recall - 
	Syntax: recall <#rvnum>
		Sets the recall room for that area, the room you end 
		up in if you type "recall".

	Example: recall 12001
		This will set room 12001 as the destination when players type recall.
	
	Note: Unless there is a good reason to, keep recall set to 12001 (Chapel Anteroom)

reset - 
	Syntax: reset or aedit reset
		Resets the area, like a forced repop.

	Example: aedit reset
		Would reset the mobs and the objects.

	Note:	Mobs that have lost their objects but are not killed, 
		via stealing or forced drop will NOT reload those objects.


security - 
	Syntax: security [#level]
		Sets the minimum amount of security required to edit the area.
	
	Example: security 99
		Only builders with a security of 99 can be builders in this area.
	
	Note: Most player areas only allow a security of 1 only.

	
show - 
	Syntax: show
		Shows you information about the area.

	Example: show
		Displays:
		Vnums:     [34300-34399]
		Title:     Proton/Phaze
		Authors:   Phazic
		Levels:    {   New   }
		Flags:     [none]
		Recall:    [12001] Chapel Anteroom
		File:      phazic.are
		Age:       [1]
		Players:   [1]
		Security:  [0]
		Builders:  [Phazic]
		OLCflags:  [changed verbose]

	
vnum - 
	Syntax: vnum [#lvnum] [#uvnum]
		Sets the min and max vnums on an area.

	Example: vnum 34300 34399
		Allocates 34300-34399 to be designated with this area, 
		checks for overlap and invalid vnums.

lvnum - 
	Syntax: lvnum [#lvnum]
		Sets the lower vnum on an area.

	Example: lvnum 34300
		Sets the smallest vnum value to 34300, checks 
		for overlap and invalids.

uvnum - 
	Syntax: uvnum [#uvnum]
		Sets the upper vnum on an area.

	Example: uvnum 34399
		Sets the maximum vnum to be used in this area to 34399
		checks for overlap and invalids.

levels -
	Syntax: levels 
		This sets the displayed minimum level and maximum level of the area, 
these are the numbers used in the area command as well as the where command.
		
		Note: The levels of the actual mobs/objects can be greater
		than the max and or lower than the min.

	Example: levels 60 80
		Shows in where and areas { 60 80 }

	Example: levels All
		Shows in where and areas { All }
		Area: {   All   } Phazic Proton/Phaze

authors -
	Syntax: authors [$authors]
		This sets the authors of an area.  This info is 
		displayed in where and areas and is only used for
		displaying purposes.

	Example: authors Phazic
		Shows in where and areas, Phazic.
		Area: {   All   } Phazic Proton/Phaze
		

title - 
	Syntax: title [$title]
		Sets the name of the area.  This info is displayed 
		in where and areas and is only used for displaying purposes.

	Example: title Proton/Phaze
		Shows in where and areas, Proton/Phaze.
		Area: {   All   } Phazic Proton/Phaze
? - 
	Syntax: ? 
		Will show you a list of short helps on things.

    Syntax: ? [$argument]
	    Shows the list of options for argument.

Area flags:

	Syntax: [$areaflag]
		Toggles an area flag, must be in aedit.

	no_tp_in - cannot tp into area

	no_tp_out - cannot tp out of area

	no_astral_in - cannot astral into area

	no_astral_out - cannot astral out of area

	no_summon_from - cannot summon players/mobs from area

	no_summon_to - cannot summon players/mobs into area

	no_list - area won't show up on areas

	Example: no_tp_in no_summon_to no_astral_in
		Toggles the status of no_tp_in, no_summon_to, and no_astral_in.
	
End of area flags.

redit - 
	Syntax: redit
		Enters the room editing mode, this is where you can change 
		flags about a room, its description, sector type, exits, etc.

	Example: redit
		Enters redit and does a show.

create -
	Syntax: create [#rvnum]
		Creates a room of that vnum and transfers you to it, 
		as long it doesn't already exist.

	Example: redit create 34301
		Creates room 34301, and transfers you to it as long 
		as it doesn't already exist.
desc - 
	Syntax: desc
      	Enters an editor where you can modify the room's description.
	      Identical to the note editor.

	Example: desc
		Starts the editing sequence for the room's description.
 
ed - 
	Syntax: ed
		Lists the commands available to edit a keyword in a room.

	Example: ed
	
	Syntax:  ed add      [keyword(s);]
	    ed delete   [keyword(s)]
	    ed keywords [keyword(s)]
	    ed edit     [keyword(s)]
	    ed format   [keyword(s)]

	
ed subcommands:

add - 
	Syntax: ed add [keyword(s) separated by ;]
		Adds keywords to a room/object.
		Will enter you into editor mode for that keyword.
	
	Note: Keywords separated with ; will all have the same description.
	
	Example: ed add hi;fire;now
		Edits the keywords hi, fire, and now simultaneously.

delete - 
	Syntax: ed delete [keyword(s)]
		Deletes keyword(s) from an object/room.

	Note: When one keyword that is linked, with other keywords,
		to a description is deleted, all the keywords linked 
		with that description are also deleted.

	Example: ed delete hi
		Deletes hi, fire, and now from the keywords.


keywords - 
	Syntax: ed keywords [keyword] [additional keywords]
		Changes the keyword list for the specified keyword
	
	Example: ed keywords fire flame
		Adds the keyword flame to the description linked to fire, in
		essence, it copies the contents of fire to the keywords listed,
		however they cannot be edited separately.

edit - 
	Syntax: ed edit [keyword(s)]
      	Allows you to enter the editor to edit the keyword's
		description.

	Example: ed edit fire
		Loads up the editor and displays the current description of
		the keyword, fire.


format - 
	Syntax: ed format [keyword(s)]
		Formats the extra description, just like a note.

	Example: ed format fire
		Formats the fire extended description, just like .f in editor.

End of subcommands

format -
	Syntax: format
		Formats the room description.

	Example: format
		Formats the room's description, just like .f in editor.

name - 
	Syntax: name [$name]
      	Sets the name of a room, displayed to people when they walk in
		also shown in locate object if the item is in a room.

	Example: name Chapel Anteroom
		When people enter, the first they'll see is Chapel Anteroom.

show -
	Syntax: Show
      	Displays current settings of room.

	Example: show

Description:
Museo de Mexico City, the storehouse of artefacts and information on
peoples who once walked the earth just like we do now.  Cities rise, cities
fall and are trodden into the dust, never to see the light of day, their
glories and splendour all but forgotten.  However, due to the selfless
efforts of the few individuals who care enough to spend years researching,
those ancient civilizations now see the light of day in the form of
interesting exhibits that educate.  But attendance at the museum has been
steadily declining over time, so the museum director managed to get some
rather special exhibits, just go south and take a look.  Also, due to the
fact that it's Cinco de Mayo, there's a special festive treat when
you exit the museum at the end if you take the time to explore.  Enjoy!  
Name:       [Lobby of Museo de Mexico City]
Area:       [   50] {   All   } Staff Holiday Celebration
Vnum:       [32301]
Sector:     [field]
Room flags: [none]
Characters: [phazic portalmob rolando]
Objects:    [none]
-South to [32302] Key: [    0] Exit flags: [none]


walk - 
	Syntax: walk [$direction]
      	Since [direction] is now a command in redit, used to edit
		exits, this	command is used to go from room to room staying
		in redit.

	Example: walk south
		Performs the "south" command.

mreset -
	Syntax: mreset [#vnum] [#max amount]
		Adds a mob to reset in the current room.
		Max amount defines the maximum number of that mob to load.

	Example: mreset 34301 1
		Each time the area resets, if 34301, loaded from this room,
		has been killed, it will reload the mob 34301 once.

oreset -
	Syntax: oreset [#vnum] [$arguments]

		Adds an object to resets and loads it according to arguments.
			No arguments - resets the object into the room
			Object_Name - resets the object into the specified object
			mob_name wear_location - resets the object in mob on wear_location

	Use: ? wear-loc for a list of wear locations, none means in inventory.

	Example: oreset 34300
		Loads the object 34300 into the room.

	Example: oreset 34300 cabinet
		Loads the object 34300 into the cabinet.  
		(Cabinet must already exist in the room and be in resets).

	Example: oreset 34300 shopkeeper none
		Loads the object 34300 into the shopkeeper's inventory.

	Example: oreset 34300 shopkeeper wielded
		Loads the object 34300 into the shopkeeper and has him wield it.
		This is done regardless if the item could be worn in that location
		in the first place.  (You could have a guy wear a sword on his head
 		but players could only wield it, etc.)

Table of wear locations:

none               light              lfinger            rfinger            
neck1              neck2              body               head               
legs               feet               hands              arms               
shield             about              waist              lwrist             
rwrist             wielded            hold               wield2             
pride

mlist -
	Syntax: mlist [all/$name]
		Lists either all mobs and their vnums, or all mobs and 
		their vnums with [name] in them.
		Mobs with a * have mprogs.
		Limited to the current area.	

	Example: mlist all
		Lists all mvnums in the area.

	Example: mlist padrino
		Lists the mobs with padrino in their name.


olist -
	Syntax: olist [all/$name/$item_type]
		Lists all objects with their vnums, list all objects and
		their vnums that have [name] 	or list all objects and their 
		vnums of type [item_type]
		For a list of item types use: ? type
		Objects with a * have oprogs.
		Limited to the current area.

	Example: olist all
		Shows all the ovnums in the area.

	Example: olist drink-container
		Shows all items of type drink-container and items that have
		drink-container in them.

	Example: olist jug
		Shows all items with the word jug in them.

rlist - Syntax: rlist
	Lists all room names and their vnums.
	Rooms with a * have roomprogs
	Limited to the area.

mshow - Syntax: mshow [#vnum]
	Performs a show of the specified mob vnum.

oshow - Syntax: oswow [#vnum]
	Performs a show of the specified object vnum.

Room flags:

	Syntax: [$roomflag]
		Toggles the roomflag for the current room.
	
	dark - need a light source to see

	no_mob - no mobs may enter

	no_magic - currently nothing

	indoors - the room is indoors

	underground - room is underground (avoids sun)

	private - only 2 people allowed in this room or (1 mob, 1 player)

	safe - no killing or actions that trigger attacks, besides socials

	solitary - Only 1 player/mob allowed

	pet_shop - the room is a pet shop

	no_recall - can't recall from this room

	cone_of_silence - room is affected by a cone of silence

	arena - room is an arena (player fighting allowed, no xp gained from mobs)

	battlefield - Used for Clan fights (not in use)

	no_summon_to - Cannot summon players/mobs into this room

	no_summon_from - Cannot summon players/mobs from this room

	no_tp_in - Cannot teleport to a mob in this room

	no_tp_out - Cannot teleport out of this room

	no_astral_in - Cannot astral to players in this room

	no_astral_out - Cannot astral out of this room

	special - room will use \keywords (more on this later)

End of room flags

reset - 
	Syntax: redit reset
		Resets the current room.

	Example: redit reset
		Resets the current room.

Direction name commands:

	Syntax:  [command] [argument(s)]

dig - 
	Syntax:  dig [#vnum]
	        Creates the room and makes a two-way link.
      		If room exists, creates a two-way link unless the remote
		side exit exists.

	Example: north dig 34300
		Links the current room to 34300, at the north exit in the 
		current room and the south exit of 34300.
		

link - 
	Syntax: [dir] link [#vnum]
		Links two rooms together with a two-way link
		as long as the side to the room to be linked is free.

	Example: north link 34300
		This is the 'proper' way to connect two rooms together when
		both already exist.

room - 
	Syntax: [dir] room [#vnum]
		Makes a one way link from current room to the specified room.

	Example: north room 34300
		Makes a one way exit from the current room to 34300

key - 
	Syntax: [dir] key [#vnum]
		Makes the specified ovnum the key to the
		specified direction.

	Example: north key 34399
		Makes the object with ovnum 34399 the key of the door to the north.
		If there's no door, then it doesn't matter.

	Note: The ovnum 34399 must have type 'key' for it to allow that ovnum to
 	      to be used as a key

name -
	Syntax: [dir] name [door name]
		Sets a name for a door, when opening and closing, will use the
		first word.

	Example: north name oaken door
		Sets the name of the northern door to "oaken door".
		Players will see " opens the oaken.

desc -
	Syntax: [dir] desc
		Starts up the editor so you can edit what players see when they look
 		[dir] or examine [dir]. Defaults to "Nothing special there"

	Example: north desc
		Enters the editor for the description of the northern exit.

remove -
	Syntax: [dir] remove [key/name/desc]
		Removes the specified argument from the direction

	Example: north remove key
		Sets the ovnum for the key to 0 (no key)

	Example: north remove name
		Unsets the name field for the north exit.

	Example: north remove desc
		Removes the description from the north exit.
		Synonomous to doing north desc, and then .c
		then @.

delete -
	Syntax: [dir] delete
		Deletes the exit from the room.
	
	Example: north delete
	Deletes the entire north exit, from both sides.

Exit Flags:
	Syntax: [dir] [exit-flags]
		Toggles the specified exit flag for the specified direction.

	door - toggles the existence of a door

	closed - toggles whether it starts closed 

	locked - toggles whether it starts locked

	bashproof - toggles the door being bashproof

	pickproof - toggles the door being pickproof

	passproof - toggles the door being passproof

	hidden - toggles the player needing 'detect hidden' to see the door

End of Exit Flags

Sectors:
	Syntax: [sector]
		Assigns the specified sector to the room.
	
	Note on Sectors:
		Underwater requires scuba/breathe water and nofly.
		Swim can be flown over.
		Air requires the player to be flying.
	To obtain all valid sector types, type: ? sector

Table of Sector Types:

inside             city               field              forest             
hills              mountain           swim               noswim             
underwater         air                desert             


medit - 
	Syntax: medit [#vnum]
		Enters the mobile editing mode for the specified mvnum.

	Example: medit 34300
		Enters meditng for mvnum 34300, must already exist.

alignment -
	Syntax: Alignment [#alignment]
		Sets the mob alignment to the specified number.

	Example: alignment 1000
		Sets the mob's alignment to 1000.

create -
	Syntax: create [#vnum] or medit create [#vnum]
		Creates a mob and assigns it the specified vnum and puts you
		into the editing mode on it.

	Example: medit create 34300
		Creates the mob 34300 and puts you in medit mode for it.

desc -
	Syntax: desc
		Starts up the editor so the description of the mob can be edited.

	Example: desc
		Enters the description editor for the mob, the lengthy thing you see
		when you look at it.

level -
	Syntax: level [#level]
		Sets the level of the mob.

	Example: level 101
		Makes the mob's level 101, hp, hitroll, damroll, AC, and what they
 		use in their spec functions are based on this.

long -
	Syntax: long [$long description]
		Sets the long description of a mob. This is the description someone
 		sees when the mob is displayed in a room.

	Example: long The Protector stands guard with his hand on his sword hilt.
		This would give a mob the same long as the Protector at recall.

short -
	Syntax: short [$short description]
		Sets the short description of a mob.  This is the description you
 		see when the mob does something.  For example attacks, drops items,
 		gives items, talks to you, etc.

	Example: short The Protector
		Sets the mob's short description to The Protector


name - 
	Syntax: name [$name]
		This sets the keywords of a mob.  These are very important.  This
 		determines what words anyone can use to act upon the mob. 

	Note: Refrain from using words like: a,and,the,an,etc.
		Also, do not use color in the name, since to act upon it, players
 		would need the proper color settings as well.

	Example: name Kaius brother healer
		This sets the keywords that people can use to "Kaius brother healer"

shop -
	Syntax: shop [command] [arguments]
		This lets you modify the shopkeeper properties of a mob.

Shop subcommands:

hours -
	Syntax: shop hours [#opening] [#closing]
		Defines when the shop closes and opens. Use 24 hour format (0-23).

	Example: shop hours 0 23
		Makes the shop open all the time.

	Example: shop hours 0 5
		The shop is only open from midnight to 5am (eg a nightclub ;) )


profit - 
	Syntax: shop profit [#buying%] [#selling%]
		The buying percent indicates the percentage of the actual price a
 		player will pay for it .  (Never make this below 100.)  The selling
 		percent indicates the percentage of the actual price that the player
 		will receive. (Never make this above 100%.)  Otherwise, players can
 		profit by buying and selling the same item over and over again.

	Example: shop profit 125 75
		This sets it so the player buys things for 125% of the actual value
 		and receives 75% of the actual value when he sells it.

type - 
	Syntax: shop type [0-4] [item-type]
		This indicates what types of itmes the shopkeeper will buy, contrary
 		to what the online help says, the shopkeeper will sell anything it
 		is reset with, or anything it has in its inventory.  The shopkeeper
 		can buy up to 5 types of items.  A list of item types can be
		retrieved by typing: ? type   

	Example: shop type 0 key
		The shopkeeper will buy keys.

delete - 
	Syntax: shop delete [0-4]
		This removes an item type from the shopkeeper's buying list.

	Example: shop delete 0
		Using our previous example, this stops the shopkeeper from buying
 		keys.

remove - 
	Syntax: shop remove
		Removes all the shop information and make the mob a non-shopkeeper

	Example: shop remove
		Makes the current mob a non-shopkeeper.

End of Shop Subcommands 

show - 
	Syntax: show
		This displays info on the mob.

	Example: show

	Name:        [padrino man matador]
	Area:        [   50] {   All   } Staff Holiday Celebration
	Act:         [npc sentinel worldlimit no_kill social]
	Vnum:        [32328]
	Sex:         [male]
	Race:        [Human]
	Class:       [Mage]
	Level:       [75]
	Align:       [   0]
	Affected by: [detect-invis detect-hidden infrared]
	Socials:     [fight 0, mirror 16, slap 0] 
	Short descr: the padrino
	Long descr:
	A distinguished man dressed in the distinctive clothing of a matador
	awaits  a novillero. 
	Description:
	Your eyes are drawn to the padrino as he gracefully steps out of the
	shadows to greet you.  The sunlight glints off his decorated jacket and
	vest.  The padrino is dressed in the "suit of lights", the traje de luces,
	the distinctive clothing that evolved directly from 17th century Spain. 
	Despite the weight of his costume and the oppressive heat even here in the
	shade, he looks calm and self-assured.  You can see his graying temples
	under the matador's cap as his sunbaked skin crinkles around his eyes.
  	The padrino bows slightly, heels drawn together.

social - 
	Syntax: social <#fightchance> <#mirrorchance> <#slapchance> [social to
 		replace with slap]  (out of 16 chances)
		This sets a mob's reaction to socials.	 social 4 5 6 bonk

	Example: social 4 5 6 bonk
		4/16 times the mob will attack
		5/16 times the mob will mirror the social
		6/16 times the mob will bonk the socialer

spec -
	Syntax: spec spec_[spec function]
		This adds a preprogrammed special function to the mob.

	Example: spec spec_cast_adept
		Makes the mob cast spells on low level players.


Mob Special Functions:

	breath_any - mob will use any breath


	breath_acid - mob will use acid breath

	breath_flame - mob will use flame breath

	breath_frost - mob will use frost breath
	
	breath_gas -  mob will use gas breath

	breath_lightning - mob will use lightning breath

	cast_adept - casts spells on low level players, like the healer in
                     training tower

	silly_adept - says funny things and does strange socials to random player 

	cast_cleric - combative cleric (will use clerical spells eg mute,
		      flamestrike, etc.)

	cast_ghost - gets killed by light outside

	cast_judge - casts high explosive

	cast_mage - combative mage (fireball, polymorph, dispel)

	cast_psionicist - combative psionicist (psionic blast, ultrablast,
			  disintegrate)

	cast_undead - unknown

	executioner - unknown (don't use)

	fido - eats corpses

	guard - Protects the innocent and attacks players with KILLER or THIEF

	janitor - picks up trash

	mayor - mayor (don't use)

	poison - poisonous bite

	repairman - fixes bashed doors

	thief - steal gold

	rob - jitters and gyrates

	fiery - causes players to get burnt while in same room

	snake_charm - unknown

End of mob special functions

Mob act flags:
	Syntax: [$mobactflag]
		Toggles the mob having the given affected flag.
	
	sentinel - the mob stays in one place

	special - unknown

	worldlimit - there can only be one of this mob in the entire mud
	             at any given time

	scavenger - the mob picks up items
	
	aggressive - the mob is aggressive to players

	stay_area - the mob won't leave the area

	wimpy - the mob flees when hurt

	pet - automatically set for pets

	train - the mob will train players

	practice - players can practice the skills of the mob's class here

	gamble - the mob runs a gambling game (?)

	healer - the mob is a healer, players can type heal for a list

	stay_terrain - the mob will only wander on the same sector type it starts
   		       in. Useful for preventing fish to move around on land, etc.

	identify - the mob will be able to identify things, like iago

	no_kill - the mob cannot be killed

	total_invis - the mob cannot be seen at all, and no one can act on it

	social - an act flag that shows that the social responses have been set

End of Mob Act flags.

Mob races:

Syntax: [$racename]
	While in medit, sets the race of the mob.
	Use ? race to display this table.

	Human              Elf                Eldar              Halfelf            
	Drow               Dwarf              Halfdwarf          Hobbit             
	Halfling           Giant              Ogre               Orc                
	Kobold             Minotaur           Troll              Hobgoblin          
	Insect             Dragon             Demon              Animal             
	God                Undead             Lich               Harpy              
	Bear               Sloth              Githyanki          Elemental          
	Bat                Plant              Rat                Vampire            
	Werewolf           Goblin             Faerie             Pixie              
	Arachnid           Mindflayer         Object             Mist               
	Snake              Worm               Fish               Hydra              
	Lizard             Lizardman          Gnome              Halfkobold         
	Troglodyte         Tabaxi             Rakshasa           Kenku              
	Halfdemon          Grugach            Ape                Feline             
	Cat                Cyclops            Dinosaur           Horse              
	Centaur            ThriKreen          Pudding            Chimera            
	Dog                Elephant           Ettin              Amphibian          
	Gnoll              Automaton          Griffon            Imp                
	Leprechaun         Medusa             Monster            Pegasus            
	Unicorn            Rust-Monster       Parasite           Satyr              
	Sphinx             Titan              Treant             Wolf               
	Wolverine          Yeti               Beastman           Gargoyle           
	Ghoul              Golem              Lycanthrope        Merman             
	Ooze               Pixie              Skeleton           Zombie             
	Mutant             Robot              Alien              Energy             

Example: God
	Sets the mobs race to god


	Help [racename] will display information about each race.

End of mob races.

Mob Classes:

Syntax: [$mobclassname]
	While in medit, sets the class of the mob, if the mob has the 'practice'
 	act will  be able to have other people practice skills of this class in
 	the prescence of the mob.

	? class displays the list of classes.
	
	Mage               Cleric             Thief              Warrior            
	Psionist           Druid              Ranger             Paladin            
	Bard               Vampire            Necromancer        

	help [classname] will display information about the class, except for Necromancer and Vampire.

End of mob classes.

Mob affected by attributes:

Syntax:[$mobaffectflag]
	Toggles the mob having the affect.

Example: blind invisible "flaming shield"

	All these affects are permanent, except sanctuary which can be dispelled.

	blind - the mob is affected by permanent blindness

	invisible - the mob is always invisible

	detect-evil - the mob can see the red aura around people

	detect-invis - the mob can see invisible chars/mobs.

	detect-magic - the mob sees magical objects with a (magical) flag

	detect-hidden - the mob can see hidden chars/mobs

	hold - unknown (?)

	sanctuary - the mob is affected by permanent sanc	

	faerie-fire - the mob is affected by faerie-fire

	infrared - the mob is affected by infravision

	curse - the mob is cursed (can't summon/bamf)

	poison - the mob is poisoned

	protect - the mob is affected by protection

	sneak - the mob is affected by sneak

	hide - the mob is hidden

	sleep - the mob starts asleep

	charm - adds charm flag (does nothing?)

	flying - the mob is flying

	pass-door - the mob is affected by pass door

	waterwalk - the mob can walk on water

	summoned - (?)

	mute - the mob is mute

	gills - the mob can breathe underwater

	vampiric curse - the mob is a affected by vampiric curse (turns them into
 			 a vampire)

	ghoulic curse - the mob is affected by ghoulic curse (turns them into a
 			ghoul)

	flaming shield - the mob is always surrounded by a flaming aura

End of mob affects.


oedit - 
	Syntax: oedit 
		Enters oedit mode for the specified ovnum, here you can change
		various settings for objects as well as their affects.

	Example: oedit 34300
		Enters oedit mode for object 34300

addaffect - 
	Syntax: addaffect  

	Example: addaffect strength 3
		Makes the item give +3 to strength.

	Note:
		help addaffect displays the list of all locations

cost -
	Syntax: cost #
		Sets the price for the object (no effect?)

	Example: cost 1000
		Does nothing since cost is extrapolated based on the level.

create - 
	Syntax: create  or oedit create 
		Creates the specified ovnum and enters oedit mode for it.

	Example: (in oedit) create 34301
		Creates the object 34301 and switches you to it.

	Example: oedit create 34301
		Creates the object 34301 and switches you to it.

delaffect - 
	Syntax: delaffect 
		Deletes the specified affect from the current object.

	Example: delaffect 0
		Deletes the first affect from the object.

	Note: You obtain the affect number by typing show when oediting that
 	      object.

ed - 
	Syntax: ed
		Lists the commands available to edit a keyword in a room.

	Example: ed
	
	Syntax:  ed add      [keyword(s);]
	    ed delete   [keyword(s)]
	    ed keywords [keyword(s)]
	    ed edit     [keyword(s)]
	    ed format   [keyword(s)]

	
ed subcommands:

add - 
	Syntax: ed add [keyword(s) separated by ;]
		Adds keywords to a room/object.
		Will enter you into editor mode for that keyword.
	
	Note: Keywords separated with ; will all have the same description.
	
	Example: ed add hi;fire;now
		Edits the keywords hi, fire, and now simultaneously.

delete - 
	Syntax: ed delete [keyword(s)]
		Deletes keyword(s) from an object/room.

	Note: When one keyword that is linked, with other keywords,
		to a description is deleted, all the keywords linked 
		with that description are also deleted.

	Example: ed delete hi
		Deletes hi, fire, and now from the keywords.


keywords - 
	Syntax: ed keywords [keyword] [additional keywords]
		Changes the keyword list for the specified keyword
	
	Example: ed keywords fire flame
		Adds the keyword flame to the description linked to fire, in
		essence, it copies the contents of fire to the keywords listed,
		however they cannot be edited separately.

edit - 
	Syntax: ed edit [keyword(s)]
      	Allows you to enter the editor to edit the keyword's
		description.

	Example: ed edit fire
		Loads up the editor and displays the current description of
		the keyword, fire.


format - 
	Syntax: ed format [keyword(s)]
		Formats the extra description, just like a note.

	Example: ed format fire
		Formats the fire extended description, just like .f in editor.

End of ed subcommands

long - 
	Syntax: long 
		Sets the long description for an object, just like a mob.

	Example: long A stupid looking hat has been left here intentionally.
		When people enter, if this object is on the ground that's what
 		they'll see.

short - 
	Syntax: short 
		Sets the short description for an object, just like a mob.

	Example: short Phazic's dunce cap
		When this object is acted upon, this is what people will see.

name - 
	Syntax: name 
		Sets the keywords that people can use to act on the object.

	Example: name dunce cap
		Sets the keyword list to "dunce cap" so players can use get dunce or
 		get cap to pick it up.

show - 
	Syntax: show or [enter] key
		Displays all current settings set on the object.

	Example: show
		Name:        [wand]
		Area:        [   59] {   All   } Phazic Proton/Phaze
		Vnum:        [34399]
		Type:        [wand]
		Wear flags:  [take hold]
		Extra flags: [none]
		Weight:      [0]
		Cost:        [1000]
		Ex desc kwd: [hottub]
		Short desc:  wand
		Long desc:
		     No touch!
		[v0] Level:          [105]
		[v1] Charges Total:  [99]
		[v2] Charges Left:   [99]
		[v3] Spell:          remove silence

v0,v1,v2,v3 - 
	Syntax v[#] 
		Changes value[#] to the indicated value.

	Example: v0 105 or v1 99 or v2 99 or v3 remove silence
		This sets the values to the values shown above.
		
	Note: To obtain the proper values, refer to the table 6 at the end of this
 	      document. In some instances v[#]  will be allowed.

speco - 
	Syntax: speco speco_[speco function]
		Adds/Removes a speco function to the current object.

	Example: speco speco_blob
		Adds the blob speco function to the object.

Here are the speco_functions

airfill - used to refill scuba items

attach - 
	The object is "attached" to you.  When you drop it, a second or 2 later it
 	will jump back into your inventory and cause you to wear it.  (Easier to
 	do with programs).

blob - 
	When the object is created it turns into a blob which will eat equipment.

burper - 
	When the object is worn, the wearer will randomly burp.

drain_hp - 
	It currently sends a nice message to the player about their life force
 	slipping away, however no affect to hp.

drunk - 
	Should make a player talk like a drunk, but it doesn't appear to work.

morph - 
	unknown

recycler - 
	unknown

social - 
	Wearer will randomly social

machine - 
	Defines the object as a machine

one_owner - 
	Object will associate to someone when first picked up, causes other people
 	to drop it when non-owner picks it up/gives.  

End of speco functions

Setting Wear locations:

Syntax: 
	Toggles the ability to wear the object at the designated location.

Example: head
	Toggles ability to wear object on head.

Setting Types

Syntax: 
	Sets the type of the object to the designated type

Example: potion
	Makes the object a potion.

Valid types:

light              scroll             wand               staff              
weapon             treasure           armor              potion             
furniture          trash              container          drink-container    
key                food               money              boat               
npc corpse         fountain           pill               fly                
portal             scuba              tool               herb

Note: npc corpse does not seem to work.

Object Extra Flags:

Syntax: 
	Toggles the presence of the indicated flag.

glow               hum                dark               lock               
evil               invis              magic              nodrop             
bless              anti-good          anti-evil          anti-neutral       
noremove           inventory          poisoned           vampire_bane       
holy               poisoned           machine            timed              
renamable          enterable          nosave


|   FLAGS   |
I  _________!________________________________________________________________
T |                                                                          |
E | Here is a list of the flags you may find on items throughout Castle      !
M | Arcanum and what they mean and do.                                       :
S |                                                                          .
!_| ANTI-EVIL.....You can not hold/wield/wear if you are of evil align.
  ! ANTI-GOOD.....You can not hold/wield/wear if you are of good align.
  : ANTI-NEUTRAL..You can not hold/wield/wear if you are of neutral align.
  . BLESS.........If you poison a weapon, this flag will allow the weapon to
                  last twice as long.
    DARK..........Currently nothing.
    EVIL..........Currently does nothing other than add (Red Aura) to item.
    ENTERABLE.....You can enter the object
    GLOW..........Currently does nothing other than add (Glowing) to item.
    HOLY..........If you are evil, you will be burned by Holy Fire either by
                  picking up or using the item.
    HUM...........Currently does nothing other than add (Humming) to item.
    INVIS.........The item is invisible, requires detect invis to see.
    LOCK..........Currently nothing.
    MACHINE.......The object is a machine.
    MAGIC.........Adds (Magical) to item. If it's a weapon it can not be
                  enchanted, but will last twice as long for poison weapon.
                  Armor can not be enhanced with magic as a flag.
    NODROP........You can not drop the item once you pick it up. You can
                  sell, have destroy curse cast on you or play the hangman.
    NOREMOVE......You can not remove the item once you wear it. Use remove
                  curse to have it removed or use the hangman.
    NOSAVE........Item is not saved when the player quits.
    POISONED......Typically used for weapons, the item has been poisoned and
                  does anywhere from 3 to 5 times normal damage. Timed
                  usually goes with this flag.
    RENAMABLE.....This allows the object to have a custom description of
                  your choice. See HELP RENAME
    TIMED.........The item has a time limit and will disappear when the time
                  runs out. Actual time varies depending on many factors.
                  Usually associated with poisoned items.                    .
    VAMPIRE_BANE..This will deal out twice as much damage to your victim if  :
                  it's a vampire.                                            |
                                                                         .___!

End of Glossary


[Table 6]
Table of Values for Objects
Item       Type  Value-0         Value-1         Value-2         Value-3
----       ----  -------         -------         -------         -------
Light       01      0               0         hours (0=dead,        0
					                 -1=infinite)
Scroll      02  spell lvl      spell name 1    spell name 2    spell name 3
Wand        03  spell lvl      max charges   current charges    spell name
Staff       04  spell lvl      max charges   current charges    spell name 
Weapon      05      0               0               0            hit type
Treasure    08      0               0               0               0
Armor       09      0               0               0               0
Potion      10    level        spell name 1    spell name 2    spell name 3
Furniture   12 max # people  max wt (unused)    (Table 6b)   heal/mana gain
Trash       13      0               0               0               0
Container   15  max weight      (Table 6c)       key vnum           0
Drink Con.  17 max capacity    current cap.       liquid      poison (0=no,
					                  (Table 6d)    non-zero=yes)
Key         18      0               0               0               0
Food        19  hours fed           0               0        poison (as above)
Money       20    value             0               0               0
Boat        22      0               0               0               0
NPC Corpse  23      0               0               0               0
PC Corpse   24      0               0               0               0
Fountain    25      0               0               0               0
Pill        26  spell lvl      spell name 1    spell name 2    spell name 3
Fly         27      0               0               0               0
Portal      28   charges            1        flags (Table 6e)   exit vnum
Scuba       29   charge(mud hours) max charge       0               0

Specific Case Scenarios:

Weapon hit type:
	Syntax: v3 
		Sets the appropriate hit type to the weapon.

	Example: v3 pierce
		Makes the weapon pierce.

Table of weapon types:

hit                slice              stab               slash              
whip               claw               blast              pound              
crush              grep               bite               pierce             
suction            chop

Container values:

	Syntax: v[#] 
		Sets the specified values for the container table 6.

	Example: v0	500, v1 Pickproof closed locked v2 34300
		Sets the container's max capacity to 500, makes it closed pickproof
 		and locked, and makes the key object 34300.

	Container Flags:

	closeable          pickproof          closed             locked             
	keychain


Drink-Container Values:

	Syntax: v2 
		Sets the specified values for the container table 6.

	Example: v2 beer
		Puts beer in the drink-container.

	Drink-Container Liquids:

	water              beer               wine               ale                
	dark-ale           whisky             lemonade           firebreather       
	local-specialty    slime-mold-juice   milk               tea                
	coffee             blood              salt-water         coke               
	dr_pepper          mountain_dew       diet_coke          sprite             
	hot_chocolate      brandy             spec_hot_chocolate 

Portal Flags:
	
	Syntax: v2 <# based on flags>
		Gives the portal, various flags.

	Example: v2 23
		Makes the portal, normal exit, nocurse, gowith, and random.
		Just add the number of each flag you want, 1+2+4+16 = 23
Table 6e:  Portal flags
-----------------------
  PORTAL_NORMAL_EXIT    1     Normal exit
  PORTAL_NOCURSE        2     Can't use portal if cursed
  PORTAL_GOWITH         4     Changes locations with player (carriable)
  PORTAL_BUGGY          8     Buggy (doesn't always exit to right location)
  PORTAL_RANDOM        16     Random exit (ignores value3)

Furniture Flags:

	Syntax: v2 <# based on flags>
		Gives furniture various flags.
	
	Example: v2 575
		Allows players to stand_at, sit_at, rest_at, and sleep_at this
		object.  Again add the numbers of each flag you want: 1+8+64+512 =
 		575


Table 6b:  Furniture flags
--------------------------
  STAND_AT         1
  STAND_ON         2
  STAND_IN         4
  SIT_AT           8
  SIT_ON          16
  SIT_IN          32
  REST_AT         64
  REST_ON        128
  REST_IN        256
  SLEEP_AT       512
  SLEEP_ON      1024
  SLEEP_IN      2048

Scrolls, Wands, and Potions Spell names:

	Syntax: v[#] 
		Sets the specified value with that spellname.

	Example: (On a pill) v1 bless
		Makes the first spell on a pill bless.

List of all Spell names:

acid blast         armor              astral             bamf               
bless              blindness          breathe water      burning hands      
call lightning     cause critical     cause light        cause serious      
change sex         charm person       chill touch        colour spray       
cone of silence    continual light    control weather    create food        
create spring      create water       cure blindness     cure critical      
cure light         cure poison        cure serious       curse              
destroy cursed     detect evil        detect hidden      detect invis       
detect magic       detect poison      dispel evil        dispel magic       
earthquake         enchant weapon     energy drain       exorcise           
faerie fire        faerie fog         fireball           flamestrike        
flaming shield     fly                gate               giant strength     
harm               heal               identify           infravision        
invis              know alignment     lightning bolt     locate object      
magic missile      mass heal          mass invis         mute               
pass door          poison             polymorph other    protection         
recharge item      refresh            remove alignment   remove curse       
remove silence     sanctuary          shield             shocking grasp     
sleep              stone skin         summon             teleport           
turn undead        ventriloquate      weaken             word of recall     
acid breath        fire breath        frost breath       gas breath         
lightning breath   general purpose    high explosive     adrenaline control 
agitation          aura sight         awe                ballistic attack   
biofeedback        cell adjustment    combat mind        complete healing   
control flames     create sound       death field        detonate           
disintegrate       displacement       domination         ectoplasmic form   
ego whip           energy containment enhance armor      enhanced strength  
flesh armor        inertial barrier   inflict pain       intellect fortress 
lend health        levitation         mental barrier     mind thrust        
project force      psionic blast      psychic crush      psychic drain      
psychic healing    share strength     thought shield     ultrablast         
vampiric bite      total recall       lartsa             mystic eye         
begone             sendforth



Credits:

This section had to come in somewhere :)

Special thanks go out to:

Roy for assigning me this project in the first place.

Gomez for answering countless number of questions when I asked him and adapting ILAB for Castle Arcanum. :)

Bram for answering questions, and fixing bugs which I found and making the OLC port for builders to use.

Ceivar for creating the first builder's manual for manual area file editing and the typing up of the tables.

Nano for creating the help files for all these original commands.

Surreality, Locke, and Jason Dinkel for creating OLC and adapting it for use with Envy.

Everyone else for emotional support, without you, no one would be here to read this guide. :)



    Source: geocities.com/dr_decapito