By Thalen
Commands covered: ocreate, oindex, oset, oload, ostat, ofind, owhere, opurge, judge, findlock, modify, slookup
First, to do objects, you must have a printout of the objects section of the builder docs (for offline building) or easy access to the information on this page, either printed out or online, as well as the info on the room-type commands (oindex at the least, the others are pretty simple).
Second, before you go to a lot of trouble creating objects, have a talk with an immortal regarding what you intend, and how object balance will affect your objects (see Object Balance). In short, 95% of the equipment in the area you build should be less than the greatest of it's kind on the mud, or you're making the objects too powerful, and anything remotely near the best for it's type/level should be a lot of work and risk to get. All areas are checked as well as possible by Thalen prior to opening, and he'll have no problem making adjustments to items that seems overpowered.
Third, and most important...when you create an object, the vnum of that object is associated with an area – it is saved into a specific area file. It is of VITAL IMPORTANCE that it is saved into the right area file. An area file includes a list of vnums that the area is assigned. When you create an object, the vnum of that object MUST be in the range of the vnums associated with the area file. There is one easy, sure way to make sure that happens – when you create an object, be standing in the area the object will be going into (and use a vnum within the range of that area.
I know this is harping, but to be sure, here's an example: You are assigned to create and area 'Ghost Town' and it has been assigned vnums 700 through 799. When you create your objects, 1) use only vnums from 700 through 799, and 2) be standing in one of the rooms in that area (room vnums 700-799) when you create it. (For ease of editing later, try to use the lowest unused vnums.)
OCREATE
This is used to create a brand new, blank object for you to work with.
ocreate <vnum>
Refer to the restrictions above when doing this. Also, it is not possible to use this command on a vnum of an object that already exists, so don't be worried about that. Find the lowest unused vnum whenever possible (using the 'oindex <vnum> show' command, below). The new object will then exist, in a pretty much blank state. Note: it exists in the database, but it won't exist anywhere on the mud until you make it pop on a mob, or load it into the game by hand.
OINDEX
This is by far the most complicated building command there is, so don't feel bad if you need to refer to the docs a lot – in fact, you will never get to the point where you don't have to refer to them, so just give up – I did a long time ago :) The 'help oindex' file, printed out, is the greatest way to ease object creating, and having the builder docs handy will be a necessity a lot of the time. The basic syntax is:
oindex <vnum> <commands>
'oin' can be used for short, and <commands> will be anywhere from one to 4 or 5 separate things.
'show'
This displays the variables associated with the object – more thorough, although more technical, than ostat or the identify spell.
oindex <vnum> show
Verify any of the more complicated things you do in creating objects with this command, as well as the others above.
Below is an example, from Quebec, of the output of this command:
<prompt> oin 752 show Name: lantern Vnum: 752 Area: { All } Quebec-Cobra Short desc: a hooded brass lantern Description: A hooded brass lantern has been left here. Item type: 1 Extra flags:0 Wear flags: 16385 Count: 1 Weight: 4 Cost: 60 Value0: 0 Value1: 0 Value2: 100 Value3: 0 Keyword: 'lantern' 'It is a large and robust but somewhat battered oil lantern made from brass, equipped with a handle to make it handy and a hood to protect its flame. Some letters have been scratched on its bottom. ' Keyword: 'letters' 'They say, " Use 'hold lantern' to activate." 'As you can see, just about everything is included in this listing. If there were an mprog on this item, that would be listed last
'area'
As in brset and mindex, oindex has the 'area' command to change the area a particular object vnum is associated with (after you ignored all the warnings about how to create objects that I took all the time to type out...) Best advice: don't use this. Delete the object (opurge) and start over. If for some reason that's not the best solution, see Thalen for help with this – messing with this will be a risk, and could bring down the mud, so don't experiment.
'name'
This sets the keyword(s) of an object
oindex <vnum> name <keyword keyword keyword>
In general, use keywords in excess. In the example above, only 'lantern' was used, but it would have been more appropriate to use 'hooded' and 'brass' as well. ALWAYS tie the keywords into both the desc and the short desc.
'short'
This sets the object short description, which is the line you see in your inventory or when giving the items to someone.
oindex <vnum> short a hooded brass lantern
Since this will often be used in the middle of a sentence (for example, ' You give a hooded brass lantern to Kethry.'), it's best to phrase this appropriately. It will look a little funny in inventory, but so does everything else.
'desc'
This sets the objects description, which you see when you look at the object (usually) or when it is seen lying on the ground.
You CAN NOT use the editor on this, and if there is already a desc on the object (which there almost always is), you will need to clear the existing description first.
oindex <vnum> desc clear
That line will blank the desc text out, allowing you to add your own.
oindex <vnum> desc A hooded brass lantern has been left here.
Generally, keep these less than one line (80 characters) long, and punctuate / capitalize as you would a normal sentence.
'edesc'
This is used to add additional descriptions to an object. This can get a little tricky, but it can also add a lot of character to your objects. The basic syntax goes like this:
oindex <vnum> edesc <keyword> <description|edit>
If the desc is one line, you can type it in, or use the editor for more complicated descriptions. Here, you're not limited to one line, but don't go overboard.
Also, it is possible to put multiple words in the keyword field with quotes (single or double, I don't remember which), but DO NOT do this!!! Doing so makes removal of the edescs later very difficult. If you want one desc with more than one keyword, enter them each in separately.
To remove an edesc, you would type in the following:
oindex <vnum> edesc <keyword> clear
One thing to note on these...normally, when you look at an object (look lantern), you would see the item's description from the desc command above. However, if you use the same keywords for edescs as the object keywords, you can override this. In the lantern example above, the keyword 'lantern' was added in the edesc, so when you type 'look lantern', instead of getting the line ' A hooded brass lantern has been left here.', you will see the longer edesc, which also eludes to the other edesc 'letters'. When the object is on the ground, typing 'look' in the room will still display the lantern's desc.
'vnum'
Originally, meant to change an object's vnum. Don't think it works, don't try it even if it does, there's no guarantees on this one.
'type'
This is used to set the object's item type. Check flist 3 for a list.
oindex <vnum> type <#|keyword>
Types include weapon, armor, trash, wand, etc. You can use the number from flist 3 or just type in the item type. Please note that this setting can be of extreme importance, as not all object types do the same thing (wearing a piece of furniture on your head may not have the same effect as if the object was type armor...) More details will be provided on the page containing all the flists and their explanations.
'extra'
This is used to set flags on an object, see flist 5.
oindex <vnum> extra <######|keyword>
These flags include things like the dark, glow, newbie and magic flags, as well as the anti_ flags and bond/take_owner, etc. This works like some of the other flags for rooms and mobs, in that if you are only going to add one flag, you can use the single keyword, but if you want to add several, you have to add up the flag values and enter that into the command.
An example of this: To add the dark flag (which is sued to prevent the location spell from seeing it), you would simply type:
oindex <vnum> extra dark
If, however, you wanted dark (value=4), magic (value=64) and noremove (value=4096), you would add those (4164) and type:
oindex <vnum> extra 4164
Alternately, with this command you can add the extra flags one at a time, so if you don't want to take the time to add up the numbers every time, you could type:
oindex <vnum> extra dark
oindex <vnum> extra noremove
oindex <vnum> extra magicAs with the other commands of this type, check this after you enter the value with the oindex <vnum> show command, to see if it is correct. If not, you may want to try setting the value to 0 before entering the number you want.
Setting this value to 0 will remove all extra flags.
'wear'
Sets the location(s) that an object can be worn, see flist 6.
oindex <vnum> wear <#####|keyword>
Generally, DO NOT make items that can be worn in multiple places. Talk to Me first...it can be allowed, but certain combinations are strictly disallowed. These include rings that you can hold, or weapons that can be worn in any location besides wield.
As above, if you want only one wear location, use the keyword for that location. On this command, you also have the option to add additional wear locations one at a time, so if you wanted to make a weapon, you could issue the commands:
oindex <vnum> wear take
oindex <vnum> wear wieldAnd the object would have the correct properties.
This particular variable is prone to NOT want to take the value you assign to it. If the value seems to have a mind of its own, the best thing is to set the value to 0 and them to the number you want. This will usually only happen when you modify existing objects, but you never know... Several other variables can suffer from this little problem, so keep this fix in the back of your mind.
'weight'
This sets the carry weight of an item.
oindex <vnum> weight <####>
Use reason here. Swords would not weigh 1, and almost nothing should ever weigh less than 1. Anything that you have equipped will count against the amount of weight you can carry (some people don't seem to realize that), so you also don't want to go too overboard on weight.
Because of the possibility of using over-weighted objects in the trip skill, any item that is takeable and weighs more than about 300 lbs. will be looked at carefully for balance.
'cost'
This is what the item will sell for (approximately) in shops should it be made available in one, as well as what you could get for it in a shop (if you can find one that buys that type of items). Keep in mind that shops have limited amounts of gold available, so don't make things too expensive. Anything much into the 6-figure range may be adjusted to make things balance.
'rare'
Used to make a rare repop item
oindex <vnum> rare period <period> [increase period]
This command sets the repop period for this item. The period default is in hours. You can add 'y' for years, 'w' for weeks, 'd' for days, 'h' for hours, 'm' for minutes and 's' for seconds to the number. To make an item pop once every 2 weeks (about), type:
oindex <vnum> rare period 2w
Especially rare items can have an "increase period" put on them. Setting that field makes the period increase by this increase period every time the item repops. To make an item that would repop in 2 weeks, then take an additional week more to repop each time (2 weeks, then 3 weeks, then 4 weeks...), type:
oindex <vnum> rare period 2w 1w
You can also specify an alternate item. If the item is to repop, but the
time has not come yet, the alternate item will be created instead. The syntax for such an alternate would be:oindex <vnum> rare alternate <alt_vnum>
To remove a rare setting from an object, type:
oindex <vnum> rare delete
Deleting and re-adding the rare setting is the only way to reset the counter if you use an increasing period.
Note: giving a shopkeeper a rare repop item will not bypass the rare settings... the shop will simply sell the one item when the repop occurs, not an unlimited supply of them. (this probably hasn't been checked though...)
'action'
This will add an alternate message that shows when using an item.
This is a very under-used variable, and it can add a lot of character to whatever you're building. It's also a bit of a pain, and I personally haven't used it at all. I'll quote the help file on 'action' here, and maybe some day I'll get around to playing with it.
Following item types can have action descriptions:
Armor When worn Light When worn Weapons When worn Staves When brandished Wands When zapped Scrolls When recited Potions When quaffed Food When eaten Fountains When drunk from Drink cont. When drunk from Container When getting items from it ($P is the second item)Following variables can be used:
To your character To others $n You Name of character $s your his/her/its $e you he/her/it $m you him/her/it $o your <name of character>'s $p item short desc item short desc $P 2nd item short desc 2nd item short desc $% (nothing) sThis last code expands to nothing for when the user sees the action, but to an s when other see it. this allows an action description like this one:
$n eat$% $p.
The user will see "You eat an apple.", but others will see, "Phunk eatS an apple." - the $% will become an s.
Examples: On the rose petal sash (vnum 7511) the action setting shows up when you oindex <vnum> show, and looks like this:
$p slides gracefully over $s hips.
What I see when I wear this is:
A rose petal sash slides gracefully over your hips.This looks pretty good on first glance. And what I see when someone else wears it:
A rose petal sash slides gracefully over her hips.Notice that we don't know who the 'her' is...maybe $0 would be more appropriate than $s here.
'aff'
This command is used to add stat and spell effects to an object.
oindex <object> aff <field> <value>
This doesn't get listen anywhere in the helps or in the command itself, so you'll want this all printed out somewhere when you get to this point. A list of what all you can add to an object:
str 1 dex 2 int 3 wis 4 con 5 age 9 mana 12 hit hp 13 move mv 14 ac 17 hitroll 18 damroll 19 sav_throw saving 21 spell 25 (see below for listing) skill 26 (see below for listing) blast 28 sanct 29Either the number of the keyword can be used here.
Lets say you want to add +2 strength to an object:
oindex <vnum> aff str 2
Each thing you add must be added with a separate command line, so something with added str, int, and wis would take 3 commands, etc.
Removing one of these affects is not done by adding a negative value...you'd simply get an object that is +2 str and –2 str...looks really bad to do that. The syntax to remove the str from above would be:
oindex <vnum> -aff str
That would remove the first str affect in the object. If there are more than one to be removed, simply repeat the command. You can't remove just one of the +2 str in the example above, you have to remove the whole line. In that case, you'd remove the +2 line, then add a +1 line.
For skills and spells: Please, go easy on these. They can be very powerful, and as mentioned in the mobs section, permanent spell affects can really affect your mobs stats (if the equipment will be worn on a mob). Any perm affect equipment will be closely reviewed, and powerful spells (sanc, etc.) need to be on tough mobs or at the end of a quest.
There are lists of skills and spells available, I'll have them repeated in their own page from the main builder page, but I'll post part of them here as an example.
The listing of spells you can add looks like this (taken from the slookup command):
Sn: 1 Slot: 70 Skill/spell: 'acid blast' Sn: 2 Slot: 1 Skill/spell: 'armor' Sn: 3 Slot: 3 Skill/spell: 'bless' Sn: 4 Slot: 4 Skill/spell: 'blindness' Sn: 5 Slot: 5 Skill/spell: 'burning hands' Sn: 6 Slot: 6 Skill/spell: 'call lightning' Sn: 7 Slot: 63 Skill/spell: 'cause critical' Sn: 8 Slot: 62 Skill/spell: 'cause light' Sn: 9 Slot: 64 Skill/spell: 'cause serious' Sn: 10 Slot: 82 Skill/spell: 'change sex' Sn: 11 Slot: 7 Skill/spell: 'charm person' Sn: 12 Slot: 8 Skill/spell: 'chill touch' Sn: 13 Slot: 10 Skill/spell: 'colour spray' Sn: 14 Slot: 57 Skill/spell: 'continual light' ... ... ...The value you're looking for is the Slot #. For a piece of equipment to have perm armor spell, you would type:
oindex <vnum> aff spell 1
or
oindex <vnum> aff 25 1
or
oindex <vnum> aff spell armorKeywords for the spells can be used as well as the numbers.
Note that some spells just don't make sense here...a piece of armor with perm acid blast would do....what? Probably nothing, maybe cast that on you every tick, or maybe crash the mud...if it makes no sense, don't do it. If you're not sure, ask. (some of the listed spells are for wands, potions, etc...more on that later). Generally, if you add a spell that doesn't make sense, you'll see a line in the oindex <vnum> show command that looks like this:
Affects spell(25) by 70.For a successful affect, like armor, it looks like this:
Affects armor(25) by 1.For more than one spell, you need to repeat the command, and probably you should consider getting permission first.
To remove a spell, you would type:
oindex <vnum> -aff 25
Only the fist spell on the list can be removed, if you need to remove a lower one, you'll need to remove ones above it and re-add later.
For skills, the process is similar, only using skill (or 26) in the command
oindex <vnum> aff skill <##|keyword>
or
oindex <vnum> aff 26 <##|keyword>I guarantee you should ask before bothering to add a skill to a piece of equipment, because there will be almost no circumstance where it will be allowed. Skills are generally way too powerful and too class-defining to be added to a piece of equipment. But, you never know...
'value0'
'value1'
'value2'
'value3'
These add specific details/stats to objects, depending on what object type you're talking about...
oindex <vnum> value0 ###
etc.These are the most confusing part of object creation, and the subject of the most often asked questions that NO ONE KNOWS THE ANSWER TO (without looking back at the docs). Each object type has a certain number of stats that are more or less unique to that type (AC for armor, profi for weapons, duration for lights, volume for containers, etc.) THIS is where those values are added.
Unfortunately, there is nothing here that makes this task easy, no keywords or shortcuts. When you're adding this part of the objects, you just have to have the docs handy, and refer to them often.
The default value for all of these is 0 (which explains the abundance of normal profi weapons...), but 0 is sometimes not a good value...filling these in is important.
Below is a list of what the valueX variable does for each of the object types:
01 ITEM_LIGHT value[0] unused value[1] unused value[2] hours of light available, 0 is dead, -1 is infinite value[3] unused 02 ITEM_SCROLL value[0] level the spell(s) cast at value[1] sn 1 value[2] sn 2 value[3] sn 3See the partial list above or the slookup command for spell's sn values
03 ITEM_WAND value[0] level the spell is cast at value[1] max charges value[2] current charges value[3] sn 04 ITEM_STAFF value[0] level the spell is cast at value[1] max charges value[2] current charges value[3] snNote: staves cast whatever spell you list as a room affect spell...some spells are too powerful to be used this way, so be careful.
05 ITEM_WEAPON value[0] proficiency. value[1] unused value[2] unused value[3] weapon typeweapon types are:
00 hit 01 slice 02 stab 03 slash 04 whip 05 claw 06 blast 07 pound 08 crush 09 grep 10 bite 11 pierce 12 suctionproficiencies are:
0 normal 1 small dagger 2 dagger 3 long dagger 4 short sword 5 sword 6 huge sword 7 chain 8 small axe 9 axe 10 2-handed axe 11 knife 12 long knife 13 short bow -- 14 long bow ---> You can throw arrows with. 15 crossbow -- 16 hand to hand 17 short club 18 club 19 long club 20 mace 21 huge mace 22 hammer 23 warhammer 24 bolt 25 long bolt 26 2-handed sword 27 whip 28 saber 29 lance 30 long whip 31 long saber 32 spear 33 rapier 34 boomrang 35 blade 36 flail 37 scimitar 38 farming 39 trident 40 longsword 41 clawThis list may be incomplete, let me know if you think it is.
08 ITEM_TREASURE value[0] unused value[1] unused value[2] unused value[3] unused 09 ITEM_ARMOR value[0] Armor class. (normally from 0 <bad> to 20 <great>) value[1] unused value[2] unused value[3] unused 10 ITEM_POTION value[0] level the spell(s) cast at value[1] sn 1 value[2] sn 2 value[3] sn 3 12 ITEM_FURNITURE value[0] unused value[1] unused value[2] unused value[3] unused 13 ITEM_TRASH value[0] unused value[1] unused value[2] unused value[3] unused 15 ITEM_CONTAINER value[0] weight capacity value[1] flags: 1 closeable, 2 pickproof, 4 closed, 8 locked value[2] key vnum value[3] unusedFor the value1 amount, add the numbers to all the flags you want to use
17 ITEM_DRINK_CON value[0] capacity value[1] current quantity value[2] Drink type value[3] if non-zero, drink is poisonedvalue: liquid type, liquid color, change to (drunk, hunger, thirst)
0: water, clear, (0, 1, 10)
1: beer, amber, (3, 2, 5)
2: wine, rose, (5, 2, 5)
3: ale, brown, (2, 2, 5)
4: dark ale, dark, (1, 2, 5)
5: whisky, golden, (6, 1, 4)
6: lemonade, pink, (0, 1, 8)
7: firebreather, boiling, (10, 0, 0)
8: local specialty, everclear, (3, 3, 3)
9: slime mold juice, green, (0, 4, -8)
10: milk, white, (0, 3, 6)
11: tea, tan, (0, 1, 6)
12: coffee, black, (0, 1, 6)
13: blood, red, (0, 2, -1)
14: salt water, clear, (0, 1, -2)
15: cola, cherry, (0, 1, 5)18 ITEM_KEY value[0] unused value[1] unused value[2] unused value[3] unused 19 ITEM_FOOD value[0] hours of food value value[1] unused value[2] unused value[3] if non-zero, food is poisoned 20 ITEM_MONEY value[0] value in gold pieces value[1] unused value[2] unused value[3] unusedThis item converts to gold when you pick it up
22 ITEM_BOAT value[0] unused value[1] unused value[2] unused value[3] unused 23 ITEM_CORPSE_NPC value[0] unused value[1] unused value[2] unused value[3] unusedDon't use this one, reserved for code-based corpses
25 ITEM_FOUNTAIN value[0] unused value[1] unused value[2] unused value[3] unused 26 ITEM_PILL value[0] level spell(s) cast at value[1] sn 1 value[2] sn 2 value[3] sn 3 27 ITEM_ARROW value[0] max arrow value[1] current arrow value[2] unused value[3] unused 28 ITEM_THROW value[0] unused value[1] unused value[2] unused value[3] unusedAs you can see, that's quite a lot to remember. To add one of these to an object, figure out which one applies, and type:
oindex <vnum> value0 10
(if this was a piece of armor, that would make it AC10...)
OSET
Changes the stats on a single object.
oset <keyword> <field> <value>
This can be used to change the stats on a single object, much like MODIFY changes the descriptions. Just about any field that you can change with OINDEX can be changed with MODIFY for a single example of an object.
I won't go into how to use this specifically, as this is a very high-level command, and may not be used without express permission. If you need it, and you've been allowed to use it...you can ask then :-) OLOAD
Loads a copy of an existing object into your inventory.
oload <vnum> <level>
This will load the object, at the level you specify, into your inventory (unless the items is no_take, in which case it loads on the floor). You can load an object to use the ostat command or cast identify on it, to see if what you think you got is really what you got (those are a little easier to read than oindex show).
If you don't specify a level, the object will load at your present level.
A word of warning...be careful what you oload, and don't oload stuff for mortals, yours or others, without good reason and/or permission. Also, be very careful that what you load even for personal use doesn't get into the hands of mortals, as it can have a very unbalancing effect. There have been instances of immortals loading up equipment to wear, and then later their alignment changes and the equipment drops off unnoticed...usually level 10000+ equipment isn't a big deal as no one else can wear it, but there are ways to abuse this (animate sword, for example).
OSTAT
Ostat will give you the statistics on an object based on the keyword you give. This works best for objects you have in inventory, but you can use an objects' keywords even if not in inventory (although this may result in having to ostat 12.wand, ostat 23.wand...)
ostat <keyword>
Ostat, oindex, and the identify spell all can and should be used to check objects as you create them. Each has their uses, and some are easier to use for certain applications than others.
Here are a few examples:
<prompt> id lens
Object 'crystal reading lens' is type armor, extra flags glow anti-evil anti-neutral.
Weight is 1, value is 200000, level is 10013.
Armor class is 9.
Worn:Takeable Eyes
Affects hp by 50.
Affects detect hidden by 44.
<prompt> ostat lens
Name: crystal reading lens.
Vnum: 12318. Type: armor.
Short description: a crystal reading lens.
Long description: A flawless crystal reading lens gleams in the light
Wear bits: 65537. Extra bits: glow anti-evil anti-neutral. Extra #: 3073
Number: 1/1. Weight: 1/1.
Cost: 200000. Timer: 0. Level: 10013.
In room: 0. In object: (none). Carried by: Thalen. Wear_loc: -1.
Values: 9 0 0 0.
Affects hp by 50.
Affects detect hidden by 44.
<prompt> oin 12318 show
Name: crystal reading lens
Vnum: 12318
Area: {30 55} The Cursed Wood-Llew
Short desc: a crystal reading lens
Description: A flawless crystal reading lens gleams in the light
Item type: 9 Extra flags:3073 Wear flags: 65537
Count: 5 Weight: 1 Cost: 200000
Value0: 9 Value1: 0 Value2: 0 Value3: 0
Affects hp(13) by 50.
Affects detect hidden(25) by 44.
As you can see, each does things a little differently. ID is best for checking wear locations (except on things like weapons), ID and ostat show extra flags instead of the number value of them combined, etc.
OFIND
Used to find objects that have been created.
ofind <keyword>
This searches the resets throughout the mud to locate any objects that have the keyword you use as an argument. The output of the command is a list of vnums and their associated short description. This doesn't look for individual resets of the object, just for the existence of an object vnum that has that keyword as one of the object keywords:
<prompt> ofind flu [ 177] A large fluffy snowball [ 1372] A golden flute [ 2605] A bottle of embalming fluid [ 5217] A silver flute [14980] A panda flute [18335] A plain flute [19012] A mithril flute
All objects, loading or not, will be listed. To see what is actually out on the mud, use OWHERE.
OWHERE
Used to find out where objects currently are loaded on the mud.
owhere <keyword|vnum>
This is very similar to the locate spell, with a little added info. Based on the keyword or vnum you provide, it will list all matching items and tell you where they are, even if the item is being held by a player.
<prompt> owhere flute [ 1] a golden flute in A Warrior's Training Hall. [ 2] a golden flute carried by Thalen. [ 3] a panda flute carried by Castor. [ 4] a panda flute carried by Solo. [ 5] a silver flute in The Tavern of the Sun ROOM VNUM: 5230. [ 6] a mithril flute carried by an elven bard. [ 7] a plain flute carried by Orpheus, the master musician of Olympus. [ 8] a panda flute carried by Stewie a baby panda bear. [ 9] a golden flute carried by the master charmer.
A few things on this...if the object is carried by a mob or player, it will just tell you which one (#2). Even if the object is nested inside containers in the person's inventory, it just tells you the name of the person. If the item is on the ground, you will get the name of the room and it's vnum (#5). If the item is inside a container on the ground, you just get the room name (#1). To make use of this command, you will obviously have to know the mfind/mwhere and rfind commands as well.
OPURGE
Deletes an object from the mud completely.
opurge <vnum>
There's no undo here, so be careful. As before, this would be a very bad time to typo...removing an object also removes all the traces of it out of people's pfiles, so it's not like no one would notice. Again, it is safer to leave the object but remove all of the resets for it until you're sure.
JUDGE
Gives a rough indication of the overall power of objects.
judge rules
judge area [all]
judge here
judge <vnum> <level>
judge <keyword>
JUDGE RULES lists the criteria that the judge command operates under. Those are:
Following hardcoded rules are used by this command ================================================== Weapons have 12.00 pts + 3.00 pts per level. Non-weapons have 9.00 pts + 2.00 pts per level. Armor heavier than 100 gets 21.00 pts bonus, heavier than 60 12.00 and heavier than 40 6.00 pts. Weapons heavier than 40 gets 12.00 pts and heavier than 13 6.00 pts. Enchantable weapons cost 0.50 pts per level Slashing or piercing weapons cost 15% extra.(the above section tells you how many points are allowed, based on the criteria established...that value is compared to what you see below)
Name Loc Pos. val Neg.val Weapon Armor str 1 15.00 -8.00 10 10 dex 2 15.00 -8.00 10 10 int 3 15.00 -7.00 10 10 wis 4 15.00 -7.00 10 10 con 5 15.00 -5.00 10 10 mana 12 0.50 -0.10 -4 -4 hp 13 1.00 -0.25 -4 -4 moves 14 0.05 -0.03 0 0 damroll 19 8.00 -3.00 3 5 hitroll 18 4.00 -1.50 3 5 ac 17 -0.70 1.50 0 0 Negative Armor/Weapon values mean +X per level, positive +1 per X levels.(you count 15 points per strength bonus, or –8 per –str..the rest is confusing)
Spell/Skill Cost Min. Level Armor 12.00 20 Bless 0.00 30 Blindness -25.00 0 Detect Evil 15.00 20 Detect Invis 60.00 40 Detect Magic 20.00 20 Detect Hidden 45.00 40 Invis 50.00 50 Protection 60.00 70 Sanctuary 180.00 90 Giant Str 30.00 40 Fly 60.00 70 Stone skin 30.00 60 Shield 20.00 30 Pass door 65.00 85 Infravision 35.00 40 Change Sex -5.00 25 Damage 30.00 50 Real Vision 125.00 80 Haste 75.00 80 Poison -20.00 0 Kick 15.00 50 Disarm 30.00 40 Stun 60.00 80 Push 25.00 50 Circle 80.00 80 Rescue 25.00 40 Berserk 45.00 60(here, the value for the spell is shown, and also the minimum level that it is acceptable to have that spell on an item.)
JUDGE AREA will give you a brief listing of every object currently resetting on the area, with items having problems noted. JUDGE AREA ALL give a more detailed listing, but is otherwise the same.
JUDGE HERE looks in the current room and lists only items resetting there. It will not pick up items that reset inside other items, however.
JUDGE <vnum> <level> will let you specify an object vnum and level, and will judge the item based on that level. It's useful for seeing what an object might judge at before you load it onto a mob.
JUDGE <keyword> is used if you are carrying the object and want to judge it based on the level you found (or made) it at.
A brief example:
[28007] a carved chest (L0) in [ 1] Lost in the swamps. [28019] the book of raas (L0) inside [28007] a carved chest [28008] a silver case (L0) in [ 1] Lost in the swamps. [28009] a black basket (L0) in [ 1] Lost in the swamps. [28014] the boots of speed (L0) inside [28009] a black basket - Value 158.00 exceeds suggested max 9.00 by 1655% - dex is higher than limit of 1. - hp is higher than limit of 0. [28004] a casket (L0) in [ 1] Lost in the swamps. [28030] a blak staff (L0) inside [28004] a casket [28010] a barrel (L0) in [ 1] Lost in the swamps. [28062] a guard's lance (L105) on a guard of the tower - Value 492.50 exceeds suggested max 327.00 by 50%
There are a couple problems here...the boots (vnum 28014) loading at level 0, so they obviously are too strong (a problem that will be addressed below). The guard's lance comes in WAY over...lets see why...
<prompt> oin 28062 show
Name: lance guard
Vnum: 28062
Area: {90 99} Swamps-Sphynx
Short desc: a guard's lance
Description: A lance lies beside a dead body.
Item type: 5 Extra flags:0 Wear flags: 8193
Count: 7 Weight: 3 Cost: 1000
Value0: 29 Value1: 0 Value2: 0 Value3: 7
Affects hp(13) by 200.
Affects hit roll(18) by 20.
Affects damage roll(19) by 20.
Pretty nice, hmm? Maybe a little too nice in fact. That one should be looked at for balance. If an item is over judge, it probably should be made a little less powerful, but that would depend on a few other factors, such as what is already available, how hard the object is to get...things like that. Even pieces that don't go over the judge limits may need to be redone...talk to me for more info on this.
A few notes on judge, and objects in general. Most objects in an area shouldn't come in very high up on judge. The vast majority should never reach 50%, or you're giving too much away. The best items should be no more than about 75%, unless they are VERY hard to get, either because the mobs is difficult, or there is some sort of quest involved in getting it.
Don't think that the judge command is the final word. Just because you make a weapon with 200 dam roll, and offset the stats with –5000 mana to make it pass judge...that's not going to fly. It's simply a guideline, use it as such.
Others
The following commands are used on objects in a more general way...not so much for building, but in other ways. The overlap is there though, and this is the best place to explain them. Also, some of these things are higher-level commands, and you will not have access to them right away, so if they seem conspicuously absent...you'll know why.
FINDLOCK
This is a utility command used for finding locks belonging to a certain object.
findlock <keyword|vnum>
FINDLOCK will output a list of all exits that are locked by that key, and
after that a list of all containers. Enter the vnum of the key in question, or its keyword (best to have the key in inventory if you use the keyword, so you know for sure you are asking about the right key).
Remember that just because a container has a key associated with it, it won't necessarily reset locked (check with oindex), and that if it does, key's don't generally save after a player quits (unless you make a key that isn't type key).
MODIFY
Used to change the description of a single item.
modify <item>
This will change the keywords, and short and long descriptions of the object you specify. You need to have the object in your inventory for this to work. Once you enter the command, the rest is interactive.
<prompt> modify pie Action name [a big pot pie]: > a cherry pie Looking Description [A big pot pie has been left here.]: New long desc: > A big cherry pie has been left here. Keywords [potpie pot pie]: > potpie pot pie cherry Done: potpie pot pie cherry a cherry pie A big cherry pie has been left here.
I couple things to remember...if you enter a blank line, it does NOT keep the existing description, it blanks the description out. This can be very confusing, and may lead to you having an object in inventory that you can't see or manipulate (you can't drop something if it doesn’t have a keyword).
Also, to avoid problems in the future, when you enter the keywords, please re-enter the old keywords as well. That way, if we want to find all of some certain object, most of the commands (locate, owhere, etc.) will still work.
SLOOKUP
Looks up the codes for the various spells/skills for adding to objects
slookup <skill-or-spell>
slookup all
SLOOKUP shows you the internal 'sn' and external 'slot' for the given skill
or spell. The 'sn' is used for OSET and OSTAT. (The 'slot' is used for area
files).
SLOOKUP ALL shows this information for all skills and spells.
That about does it for objects. There will be a little more info in Building, Part 4 and How to Code Resets, but more related to how to add things to your rooms, and some of the things to be concerned about when doing so.