[Herne's SMAUG Building Guides]
  [Introduction] [Building Rooms] [Making Resets]
  [FAQ] [Building Objects] [Making Programs]
  [Some of Herne's Ideas] [Building Mobs] [OLC Resources]
 
 

I am also working on making a PDF Version of this page.

This page last updated: Oct 2002
 
 

A Guide to Object Creation

This is intended as a set of guidelines to those who are just beginning as Builders. Nothing here is written in stone, this file is based on my experience and the online help files.

Herne the Hunter

Remember that most important command: SAVEAREA

Please Note: Many of these help files have been written or rewritten by the various hard-working Immortals of the Realms of Despair. Without these people, there would be no need for these guides, nor would they be nearly as comprehensive as they are now.

Table of Contents:

1. How to get started.  
2. The Four most important commands.  
  •  Ocreate — How to make new objects •  Oset — How to modify those objects
  •  Ostat — Getting info on those objects •  Olist — Getting a listing of your objects
3. The individual Help Files.  
  •  Objecttypes — Objects you can make •  Wearflags — Places to wear equipment
  •  Objectflags — Special flags for Objects •  Itemvalues — Setting an Object's variables
  •  Armorclass — Notes about AC •  Layers — All about Layering
  •  Affecttypes — Affects added to Objects •  Applytypes — Physical affects for Objects
  •  Liquidtypes — Liquids for drinkcons, etc •  Weapontypes — Setting weapon proficiency
  •  Objectcondition — Is your object damaged? •  Weapondamage — How much to use?
•  Missiles — Creating projectiles •  Levers — Levers, buttons, and pullchains
  •  Leverflags — Setting lever affects •  Actiondesc — Echoes for object use
  •  Allowflags — RoD-specific anti flags  
4. An advanced method for making objects.  
5. An example of the advanced method.  


How to Make Objects from the Ground Up

Once a new Builder has proven that s/he can read and understand the help files behind room building, they move up to the next level of Building; Object Creation. Without objects, there would be no armour to protect yourself, no weapons to fight mobs with, and no consumables to cure the damage that mobs do or enhance a character's attributes.

There are three very important commands when dealing with Objects;
OCREATE to create new objects, OSET to modify a new object, and OSTAT to view that stats on an object. You should become familiar with these commands before creating new objects.

I also find it's a good idea to make a scratch list of my object (and mob) vnumbers so that I can cross off each vnum as I use it to create a new object. The MUD won't allow you to create a new object with an existing vnum, but it solves problems if you keep a list of the numbers you've already used.


Step 1. Object Creation

OCREATE — (Shortform: OCR)
Syntax: ocreate {vnum} {keywords}
Syntax: ocreate {vnum} [copy from vnum] {keywords}

A prototype object will be created with the selected vnum, and set up with the plainest of default values. A material image of the magical prototype will appear before you, for you to futher modify with OSET. Once an object vnum is invoked, it cannot be destroyed or deleted (yet), but it CAN be modified completely (ie: you can change an armor to a wand).

Example: ocr 1000 helmet silver kings

This would create an object with the vnum 1000 and the keywords 'helmet silver kings'. Always try to use more than 1 keyword for your objects as it makes it easier to distinguish different objects when they're in your inventory. There may be 100 "helmets" in the game, and some of them may also be "silver", but it's a good chance that only a couple will be "kings" as well. It's not enough to simply name an object "helmet" or "potion" or "scroll", at least one keyword should be unique or rare.

Ocreate can also be used to copy an existing object to a new vnumber.

Example: ocr 1001 1000 helmet copper kings

This would take the stats of object vnum 1000 and copy them to object vnum 1001 with the NEW keywords of 'helmet copper kings'. This is useful if you have several similar objects that have slightly different flags or effects.

[Back to Top]

Step 2: Setting the Objects Stats

Once you have your proto object created, you'll need to set the various values on it to make it into whatever object you intend it to be. This is accomplish with the OSET command.

OSET
Syntax: oset (object) {field} [value]
Syntax: oset (object) on

Field being one of:
flags wear level weight cost rent timer
name short long ed rmed actiondesc
type value0 value1 value2 value3 value4 value5
affect rmaffect layers
For weapons: For armor:
weapontype condition ac condition
For scrolls, potions and pills:
slevel spell1 spell2 spell3
For wands and staves:
slevel spell maxcharges charges
For containers: For levers and switches:
cflags key capacity tflags
For furniture:
pos

**(More Detailed Help Files Follow)**

NOTE: **
If the copy of the object you are currently modifying has the PROTOTYPE flag, your modifications will also modify the index of that object, which all other instances of the object are based on. In the future, every copy of that obj will reflect your modifications.

Also be aware that modifications to the object affect list (everything that is listed after 'object values') will affect every copy of that object in the game, including old copies (even if they are not online). Thus if you change a prototype-flagged copy of a sword to +4 damroll, every copy of that vnum ever made will reflect that change. If you add a 'magic' flag to that sword, however, only copies made after the change will be affected.

If the copy of the object you are modifying does NOT have the PROTOTYPE flag, your modifications will affect only that copy you have in your possession (ie: the item you are holding).

OSET ON will lock you onto a particular object. Once locked on, all commands will imply 'oset (object)'. Hitting enter while in OSET ON gives you an ostat of the object you are working on. To get out of OSET ON, simply type the word DONE.

Example:
oset staff on
long A long gnarled staff of burnished oak lies here.
type staff
done

See also: AFFECTTYPES, WEARFLAGS, OBJECTFLAGS, OBJECTTYPES, ARMORCLASS ITEMVALUES, WEAPONTYPES, VARIABLES, and LAYERING

[Back to Top]

Step 3: Viewing an Item's Stats.

To view any item's stats, you'll need to use the OSTAT command.

OSTAT
Syntax : ostat {object/object vnum}
Example: ostat helmet
Example: ostat 1000

OSTAT shows you statistics on an object. If a copy of the object is present in the game, you can access it using its vnum.

Ostat will default first to an item on the ground, second to an item in your inventory, and third to an item in the game with the keyword you specified.

[Back to Top]

Step 4: Listing the Objects you Created in Your Assigned Range.

OLIST
Syntax: olist
Syntax: olist (first object)
Syntax: olist (first object) (last object)

This command will list all of the prototype objects in your area, when used with no arguments. When used with a single argument it will list all objects including and after the argument, and when used with two arguments, it will list all objects including and between the two.

[Back to Top]

The Help Files in Detail for OSET Fields.

OBJECTTYPES
Object types listed in bit order:

None Light Scroll Wand Staff Weapon
Fireweapon Missile Treasure Armor Potion Worn
Furniture Trash Oldtrap Container Note Drink_con
Key Food Money Pen Boat Corpse_npc
Corpse_pc Fountain Pill Blood Bloodstain Scraps
Pipe Herb_con Herb Incense Fire Book
Switch Lever Pullchain Button Dial Rune
Runepouch Match Trap Map Portal Paper
Tinder Lockpick Spike Disease Oil Fuel
Short_bow Long_bow Crossbow Projectile Quiver Shovel
Salve Missileweapon Piece      

[Back to Top]

WEARFLAGS

These flags should be self explanitory:

take finger neck body head
legs feet hands arms shield
about waist wrist wield hold
ears eyes ankle back face

See also: OSET and RESETCMDS.

[Back to Top]

OBJECTFLAGS

Flags that objects can have (grouped roughly):

Flag Affect
prototype Can modify "base stats"
glow Can be seen in dark
hum N/A
dark N/A
loyal Loyalty ('Help Loyal')
evil Glow on detect evil
invis Invisible
magic Prevents enchant
bless +20% resist damage, double duration poison weapon
organic +20% suscept. dam.
metal +20% resist damage
pkill Deadly only
clanobject Clan eq item.
clancorpse Lootable pc corpse
skinned Corpse has been skinned
hidden Must be searched for
buried Must be dug for
 
Flag Affect
antigood Zap if align +350
antievil Zap if align -350
antineutral Zap if align -350 to +350
antimage Zap if mage
antithief Zap if thief
antiwarrior Zap if warrior
anticleric Zap if cleric
antivampire Zap if vampire
antidruid Zap if druid
* See also: Allowflags — RoD specific anti-flags *
nodrop Cannot drop
nolocate Can't be located for
nofill Cannot use fill to get
noremove Cannot remove
noeat Can't be eaten by Immortals
nosac Can't be sacrificed
donation Prevents get all
inventory See "Help InventoryFlag"
groundrot Purges if on ground
deathdrop Item drops on player death

Flag Affect
serial Tracking purposes, Big Brother is watching you (Admin only)
multi_invoke Can invoke multiples of the same object with oinv (for quests)
covering Items inside this are 'covered', use 'look under <object>' to see 'inside'. The object does not have to be a container to be a covering object. Use 'reset put' to indicate objects to be covered by this object.
permanent Items with this flag will remain in a persons inventory and can not be dropped, given, put in a container, lost on death or even DT. Only imm intervention will allow it to be removed.

[Back to Top]

Objectflags Notes:

INVENTORYFLAG

The inventory flag on its own simply purges upon the death of the bearer.

There is special care to be taken when using the flag in conjunction with shopkeepers, however. You should not put inventory flags on objects to be sold on shopkeepers.

See also: Special Mobs — Shops.

LOYAL LOYALTY

The item flag 'loyal' reflects a weapon's loyal status to its deadly owner. Such a weapon will return to a player's inventory when disarmed by another deadly character.

Note that a weapon will only be loyal to a deadly character, and it will be loyal when disarmed by another deadly. Non-deadly characters will gain no advantage with a loyal weapon.

[Back to Top]

ALLOWFLAGS

Note: The "allowflag" code is specific to Realms of Despair and does not function on any other SMAUG MUD at this time. This help file is provided for those who are building on RoD.

Syntax: oset <item> align <alignment/none> [alignment]
Syntax: oset <item> genre <genre/none> [genre]
Syntax: oset <item> race <race/none> [genre]
Syntax: oset <item> class <class/none> [genre]
Syntax: oset <item> sex <sex/none> [genre]

These flags do not affect mobiles. Setting the "none" flag on any allow type other than genre and classes causes that item to be non-wearable by characters. Setting the genre/class type to "none" will cause that item to be specific to it's compliment. These flags, when set, are contrary to the traditional smaug "anti" system. Rather, these flags are inclusive. However, no flags will cause the item to be wearable by any of the particular allow type.

Example Results
genre= rogue class=warrior Wearable by all rogues and warriors.
genre= all class=warrior Wearable by all.
genre= none class=warrior Wearable by warriors only.
genre= rogue class=all Wearable by all.
genre= rogue class=none Wearable by rogues only.

All other allow types operate independently from each other.

Example:  genre= rogue  sex=male  race=half-troll
Result    :  Wearable by half-troll, male, rogues.

See also: OSET, RACE, CLASS, and GENRE (below)


RACE RACES

13 races are available to PCs within Realms of Despair.

Human Dwarf Elf Halfling Pixie
Half-Elf Half-Ogre Half-Orc Half-Troll Gith
Sea-Elf Drow Gnome    

CLASS CLASSES

11 classes available to PCs within Realms of Despair.

Mage Cleric Thief Warrior Vampire
Druid Ranger Augurer Paladin Nephandi
Fathomer        

GENRE

There are 6 genres that exist to group the existing classes.

Sorcerer Divinity Rogue Fighter Aberrant Shaman
Mage,
Augurer,
Nephandi
Cleric Thief,
Fathomer
Warrior,
Ranger,
Paladin
Vampire Druid

[Back to Top]

ITEMVALUES

In these values, 'sn' is a spell number; a negative value means 'no spell'.

Item Type V0 V1 V2 V3 V4 V5
abacus            
armor current AC original AC        
container capacity flags key vnum condition    
drinkcon capacity quantity liquid # poison?    
food food value condition   poison?    
herb   charges herb #      
key (lock #)          
keyring capacity          
lever leverflags vnum/sn vnum vnum/val    
light current AC lightable? hours left flags **    
missiles condition   dam bonus weapontype range  
money # of coins coin type        
piece prev vnum next vnum final vnum      
pill spell level sn 1 sn 2 sn 3 food value  
pipe capacity # of draws herb (sn) flags **    
potion spell level sn 1 sn 2 sn 3    
projectile            
puddle capacity quantity liquid # poison?    
quiver capacity flags key vnum condition    
salve spell level charges max charges delay sn sn
scroll spell level sn 1 sn 2 sn 3    
staff spell level max charges charges sn    
switch leverflags vnum/sn vnum vnum/val    
trap charges type level flags    
treasure (type) condition        
wand level max charges charges sn    
weapon condition num dice size dice weapontype    
furniture     value value value  

** For Furniture Values: see Help Furniturevalues
** Pipe flags : see Help Pipeflag

See also: OBJECTTYPES, WEAPONTYPES, SLOOKUP, LIQUIDTYPES, LEVERFLAGS, OSET, ARMORCLASS, and WEAPONCONDITION.

[Back to Top]

Itemvalues Notes:

SLOOKUP (Shortform: SLO)
Syntax : slookup (skill-or-spell)
Syntax : slookup all

Syntax: slookup herbs
Syntax: slookup h#

Example: slookup faerie fire
Example: slookup parry
Example: slookup h1

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. Neither 'sn' nor 'slot' is used for player files; these operate with the actual skill and spell names.

SLOOKUP ALL shows this information for all skills and spells.

[Back to Top]

FURNITUREVALUES

It is now possible to sit/sleep/rest/stand on furniture.

Here is how all of this works.

V2 — position (sit/sleep/rest/stand on)
v3 — maximum number of people the furniture can hold
v4 — maximum weight the furniture can hold
v5 — current number of people on the item

As for value2, it uses bitvictors, and here are their numbers

Bit Value Flag
1 SIT_ON
2 SIT_IN
4 SIT_AT
8 SIT_UNDER
16 SIT_INSIDE
32 SIT_BEHIND
64 STAND_ON
128 STAND_IN
256 STAND_AT
512 STAND_UNDER
1024 STAND_INSIDE
2048 STAND_BEHIND
4096 SLEEP_ON
8192 SLEEP_IN
 
Bit Value Flag
16384 SLEEP_AT
32768 SLEEP_UNDER
65536 SLEEP_INSIDE
131072 SLEEP_BEHIND
262144 REST_ON
524288 REST_IN
1048576 REST_AT
2097152 REST_UNDER
4194304 REST_INSIDE
8388608 REST_BEHIND
16777216 HIDE_UNDER
33554432 HIDE_INSIDE
67108864 HIDE_BEHIND

To make these work, you add the numbers together.

For example, if you want to be able to sit on, stand on, sleep on, and rest on the object, you then would add the numbers together and put in value2 as 585.

Orginal furniture taken from Russ Walsh's ROT copyright 1996-1997 Furniture Code 1.0 is release by Xerves of Rafermand.

See also: FURNITUREVALUES2, ITEMVALUES

FURNITUREVALUES2

These are the flags: oset <item> pos <flag>

The left side of the flag is the action (verb) controlling the body position on the furniture (one of "sleep, rest, sit, stand") and the right side of the flag is the location (adverb) relative to the furniture (one of "on, in, at, under, inside or behind")

sit_on stand_on sleep_on rest_on
sit_in stand_in sleep_in rest_in
sit_at stand_at sleep_at rest_at
sit_under stand_under sleep_under rest_under
sit_inside stand_inside sleep_inside rest_inside
sit_behind stand_behind sleep_behind rest_behind

There is also an option for "hide" but it's not fully implemented.

Currently the weight checking/enforcing code is disabled, but the occupancy code is enabled.

See also: FURNITUREVALUES, ITEMVALUES

[Back to Top]

PIPEFLAG

The following flags may be used with the item type pipe in the v3 item value:

PIPE_TAMPED Pipe has been tamped (not really used yet)
PIPE_LIT Pipe is lit (required for smoking)
PIPE_HOT Pipe is hot
PIPE_DIRTY Pipe is dirty (not really used yet)
PIPE_FILTHY Pipe is REALLY dirty (not used at all yet)
PIPE_GOINGOUT Pipe is about to go out
PIPE_BURNT Not used yet
PIPE_FULLOFASH Pipe is full of ashes, and needs to be emptied
[Back to Top]

ARMORCLASS

There are two values used with armour class for objecttype Armor:

Value0: Variable amount based on level of item at repop.
Value1: Maximum repairable armor setting for the object.

Setting Value0 has no effect. It will re-adjust itself on repop based on the repop level of the item. Setting Value1 below the expected repop value for Value0 will result in an item that cannot be repaired until Value0 drops below Value1's setting. The listing below gives you a rough approximation of the values returned by the MUD for Value0 based on level:

Level Invoked
Value 0
1
1-3
10
3-5
20
6-8
 
Level Invoked
Value 0
30
8-10
40
11-13
50
13-15

The amount that Value0 is set to determines the amount the player's AC will be adjusted. Different wear locations have a different multiplying effect on AC:

0 x Value 0 :   Wield, Ears
1 x Value 0 :   Arms, Finger, Neck, Feet, Hands, Shield, Waist, Wrist, Hold, Eyes.
2 x Value 0 :   Head, Legs, About.
3 x Value 0 :   Body.

See also: OSET, AFFECTTYPES, WEARFLAGS, OBJECTFLAGS, OBJECTTYPES, ITEMVALUES, WEAPONTYPES, and VARIABLES.

[Back to Top]

LAYERS

Layers are currently available on the following wear locations: About, Arms, Body, Feet, Hands, Legs, Waist.

Layers are set with a numeric value, or combination of values. The lower the value, the lower the layer, or thinner the item of clothing or armor is.

Valid numeric values are: 0, 1, 2, 4, 8, 16, 32, 64, 128.

Or any combination of the above. A value of zero means NO other items can be layered with this item. Items of clothing can be layered over one another as long as their layer values do not overlap. ie, if leather armor were set to a value of 56 (8, 16, and 32), it could not layer with, say, a set of heavy chain that is set to a value of 96 (32 and 64), as they overlap on the layer value of 32.

See also: OSET, AFFECTTYPES, WEARFLAGS, OBJECTFLAGS, OBJECTTYPES, ITEMVALUES, WEAPONTYPES, VARIABLES, ARMORCLASS, and LAYERS2.

LAYERS2

Layer Bit Vectors

1
2
8

6
4

3
2

1
6


8


4


2


1


Layer


Suggested Armor Type
0
0
0
0
0
0
0
0
0 (Default - Nothing Layers)
0
0
0
0
0
0
0
1
1 silk shirt, light cloth tunic (Lowest Layer)
0
0
0
0
0
0
1
0
2 leather vest, heavy cloth
0
0
0
0
0
1
0
0
4 light chainmail, padded gambeson
0
0
0
0
0
1
1
0
6 padded chainmail
0
0
0
0
1
0
0
0
8 leather jacket, reinforced chainmail
0
0
0
0
1
1
0
0
12 platemail, similarly rigid armor
0
0
0
1
0
0
0
0
16 light cloak, loose robes
0
0
0
1
1
0
0
0
24 heavy fur cloak
0
0
1
0
0
0
0
0
32 loose cloaks, surcoats
0
1
0
0
0
0
0
0
64 capes
1
0
0
0
0
0
0
0
128 magical effects(auras, clouds of dust, etc)
1
1
1
1
1
1
1
1
256 (Highest Layer - Nothing Layers)

*NOTES:*
Thick or bulky items may need to occupy more than one layer. (example; padded chain covers 2 layers)

A "body" wear position will obviously have more layers than other positions such as "arms", "hands", "legs", and "feet".

Example layering for "hands";
silk gloves | leather gloves | chain gauntlets

See also: OSET, AFFECTTYPES, WEARFLAGS, OBJECTFLAGS, OBJECTTYPES, ITEMVALUES, WEAPONTYPES, VARIABLES, ARMORCLASS, and LAYERS.

[Back to Top]

AFFECTTYPES   APPLYTYPES

none strength dexterity intelligence wisdom constitution
sex level age height weight mana
hit move gold experience armor hitroll
damroll save_para save_rod save_poison save_breath save_spell
charisma resistant immune susceptible affected luck
backstab pick track steal sneak hide
detrap dodge peek scan gouge search
mount disarm kick parry bash stun
punch climb grip scribe brew thirst
full drunk blood      

Additionally:
(The following are very powerful and should be used only rarely)

weaponspell <sn> Will cast a spell on victim with every blow of a weapon
wearspell <sn> Will cast a spell on wearer when object is worn
removespell <sn> Will cast a spell on wearer when object is removed

(Not currently working)
<skill> <modifier> Will modifify a player's ability in a skill

See also: AFFECTEDBY

[Back to Top]

AFFECTEDBY   AFFECTED_BY

The following are affect flags that can be used when osetting an item (with oset [item] affect affected {affect flag}). These flags can also be used when msetting a mobile (mset [mob name] affected {affect flag}). They may additionally be used to mset players if your level allows it.

Blind Invisible Detect_evil Detect_invis Detect_magic
Detect_hidden Hold Sanctuary Faerie_fire Infrared
Curse Flaming Poison Protect Paralysis
Sneak Hide Sleep Charm Flying
Pass_door Floating Truesight Detect_traps Scrying
Fireshield Shockshield Iceshield Aqua_breath Possess

Note - Hold and Flaming are current not in use.

See also: AFFECTTYPES

[Back to Top]

LIQUIDTYPES

Value Liquid Type Affects Appearance
0 water Thirst Quench Clear
1 beer Alcoholic Amber
2 wine Alcoholic Rose
3 ale Alcoholic Brown
4 dark ale Alcoholic Dark
5 whiskey Alcoholic Golden
6 lemonade Thirst Quench Pink
7 firebreather Alcoholic Boiling
8 local specialty Alcoholic Everclear
9 slime mold juice Poison? Green
10 milk Thirst Quench White
11 tea Thirst Quench Tan
12 coffee Thirst Quench Black
13 blood Affects BPs Red
14 salt water   Clear
15 cola Thirst Quench Cherry
16 mead Alcoholic Honey Color
17 grog Alcoholic Thick Brown
18 fruit liqueur Alcoholic Syrupy
19 cocoa Thirst Quench Steaming Brown
20 vodka Alcoholic Clear
21 gin Alcoholic Clear
22 cider Thirst Quench Golden
23 brandy Alcoholic Golden amber
24 tequila Alcoholic Gold
25 champagne Alcoholic Bubbly
26 lager Alcoholic Dark
27 sugar water Thirst Quench Clear
28 orange juice Thirst Quench Orange
29 grape juice Thirst Quench Purple
30 apple juice Thirst Quench Golden
31 sasparilla Thirst Quench Dark

Note: Liquids that are Alcoholic or Poisonous will affect a PC's mentalstate for the worse.

See also: OSET and ITEMVALUES

[Back to Top]

WEAPONTYPES

For items of type "weapon", the value3 field specifies the weapon type:

Value3 Type Weapons Skill Affected
0 hit general Pugilism
1 slice knife/sword Long Blades
2 stab dagger Short Blades
3 slash sword Long Blades
4 whip whip Flexible Arms
5 claw claw Talonous Arms
6 blast magical Pugilism
7 pound club/hammer Bludgeons
8 crush club/hammer Bludgeons
9 grep    
10 bite   Pugilism
11 pierce dagger Short Blades
12 suction   Pugilism
13 bolt crossbow missile weapons
14 arrow bow missile weapons
15 dart pipe missile weapons
16 stone sling missile weapons
17 pea peashooter missile weapons

See also: OSET.

[Back to Top]

OBJECTCONDITION   WEAPONCONDITION   ARMORCONDITION

Value Condition
12 in superb condition.
11 in excellent condition.
10 in very good condition.
9 in good shape.
8 showing a bit of wear.
7 a little run down.
6 in need of repair.
 
Value Condition
5 in great need of repair.
4 in dire need of repair.
3 very badly worn.
2 practically worthless.
1 almost broken.
0 broken.

See also: OSET, OBJECTTYPES, WEAPONTYPES, and ITEMVALUES.

[Back to Top]

WEAPONDAMAGE

The damage a weapon does depends on the values you set when you make the object. Value1 refers to the number of die used, and Value2 refers to the number of sides on the die used.

Example: Val1=5, Val2=4 — generates a damage range of 5-20 (ave 13). This assumes that you are rolling five 4-sided dice — If every die came up with 1, your lowest possible value would be 5, while if every die came up 4, then your highest possible value would be 20.

If no values are specified, the MUD will generate the appropriate damage done by the weapon based on its level.

This table is intended to use as a guideline when generating damage for weapons, it's based on the numbers the MUD generates;

Level Ave Damage
1 1 - 6 (3)
5 2 - 10 (6)
10 5 - 13 (9)
15 5 - 17 (11)
20 6 - 22 (14)
25 10 - 24 (17)
 
Level Ave Damage
30 8 - 30 (19)
35 11 - 32 (21)
40 12 - 38 (25)
45 14 - 41 (27)
50 15 - 43 (29)
[Back to Top]

MISSILES

Creating a projectile is basically the same as making any other weapon. The exception to this are its Values (see ITEMVALUES) and the need to have missiles which match missileweapons.

Follow this basic proceedure to make a set of projectiles:
1.  Create a firing mechanism, for instance, a long bow.
2.  Set the itemtype to 'missileweapon'.
3.  Set the wearflags to 'take missile'
4.  Set the projectile values from the HELP ITEMVALUES table.
5.  Set the Value3 (V3) from the table in HELP WEAPONTYPES.

Now the wielded weapon is done, but you need something to fire...
1.  Create a shootable object, for instance, an arrow.
2.  Set the itemtype to 'projectile'
3.  Set the wearflags to 'take'.
4.  Set the projectile values from the HELP ITEMVALUES table.
5.  Set the V3 to match the V3 on the firing mechanism you created.

Don't forget to finish the items with weight, cost, long, short etc. You now have two objects in inventory which are ready to fire. Lastly, you may create a quiver for certain objects. To do this, set the itemtype to 'quiver', and use v0 to set its capacity. Be sure not to set the capacity too high, as quivers should be small.

See also: ITEMVALUES, WEAPONTYPES and OSET.

[Back to Top]

PULL   PUSH   LEVERS   PULLCHAINS   SWITCHES   BUTTONS

Syntax: pull {trigger}
Syntax: push {trigger}

Levers, switches, pullchains and buttons can do all sorts of interesting things... open or unlock doors, change exits around, teleport you to another location, cast a spell, summon a monster... you name it!

[Back to Top]

LEVERFLAGS   SWITCHFLAGS   BUTTONFLAGS   PULLCHAINFLAGS   DIALFLAGS

Flag Name Bitvector Description
UP 1 Trigger is UP
UNLOCK 2 Trigger unlocks something
LOCK 4 Trigger locks something
D_NORTH 8 Affects the north exit
D_SOUTH 16 Affects the south exit
D_EAST 32 Affects the east exit
D_WEST 64 Affects the west exit
D_UP 128 Affects the exit up
D_DOWN 256 Affects the exit down
DOOR 512 Affects a door
CONTAINER * 1024 Affects a container
OPEN 2048 Opens something
CLOSE 4096 Closes something
PASSAGE 8192 Creates a passage
OLOAD * 16384 Loads up an object
MLOAD * 32768 Loads up a mobile
TELEPORT 65536 Teleports the puller
TELEPORTALL 131072 Teleports everyone in the room
TELEPORTPLUS 262144 Teleports everything in the room
DEATH * 524288 Causes instant death
CAST * 1048567 Casts a spell (sn in value1)
FAKEBLADE * 2097152 Lever is a wax covered sword blade (OUCH)
RAND4 4194304 Randomizes the exits N, S, E, W
RAND6 8388608 Randomizes the exits N, S, E, W, U, D
TRAPDOOR * 16777216 Opens a trap door, everthing falls down
ANOTHERROOM * Not in use
USEDIAL * Not in use
ABSOLUTEVNUM * Not in use
SHOWROOMDESC   Show room description on teleport
AUTORETURN   Automatically returns lever to starting position

See also: OSET, ITEMVALUES, Traps and Traps By Edmond. * = not yet implemented.

Currently you can only set one flag at a time. If you think you've got the wrong flags on an item, "oset <item> v0 0" will reset the item to no flags. Some of the flags operate on their own, others require other flags to be set before they will work.

Flags affecting doors are :
unlock, lock, d_north, d_south, d_east, d_west, d_up, d_down, door, open, close, passage

In order for any of these flags to work, a lever must have at least "door" set. Once you've set the "door" flag, you will need to specify the direction you want. Currently, only the 6 main directions will work.

The "passage" flag will open a passage from the vnum specified in value1, to the vnum specified in the lever's value2.

For instance: A lever with the "door", "d_north", and "passage" flags set, with a vnum of 10 in v1, and 11 in v2, when used, it will create a passage (oneway) from 10 to 11 to the north.

The other door affecting flags are pretty obvious. A lever with the flags "door", "d_north", and "unlock" set, with a vnum in v1 of 21000 would unlock the north door at 21000 when used. Levers with more than one flag will all occur. Doors can be "unlocked, opened, closed, locked" all in one lever use.

Flags affecting teleport are :
teleport, teleportall, teleportplus, showroomdesc

In order for any of the teleport flags to work, the item must have the "teleport" flag set. "Teleportall" teleports all players/mobs in the room to the vnum specified in v1 of the object. "Teleportplus" teleports all mobs/players/objects in the room to the vnum specified in v1. The standard is to teleport the player, but not show the room description to them. If you set the flag "showroomdesc" it will automatically show the room description to all players that were teleported.

Other flags that currently work are:
rand4, rand6, autoreturn

Rand4 randomizes doors 0-3 in the specified room vnum in v1.
Rand6 randomizes doors 0-5 in the specified room vnum in v1.
Autoreturn keeps a lever in one position after it has been push/pulled.
Setting this option will make a lever "pull" only, or "push" only.

All other lever flags do not currently work.

[Back to Top]

ACTIONDESC

Action descriptions are echo-like programs commonly used on food objects to spice up the otherwise boring default messages. You could add a use_program to accomplish your goal, but an actiondesc is generally much quicker and easier.

All of the variables listed as "actor" - $n, e, m, s - will all show "you" to the character doing the action, and show the appropriate variable to the other characters in the room.

A neat little addition— $q. When added to the end of a word will show an "s" to other characters in the room, and not the person doing the action;

Example:
"$n eat$q the apple." would be:
To char: You eat the apple.
To room: John eats the apple.

If you want a capital You in the mid sentence. (Example; "You eat the apple. You find it delicious and tasty.") The normal $ variables won't do the trick. So use the variable %s.

For instance:
$n eat$q the apple. %s find$q it delicious and tasty.

See also: VARIABLES, OSET

[Back to Top]

A Template for Object Making (The Advanced Method)

This is the template I use when I'm creating new objects. What I do is create a file from this template for each new object I make, delete those lines that I don't need, and then I send the file 1 line at a time using an ASCII upload (You could also cut-and-paste). This way, I can create objects offline and then log in to the building node and create all my objects at once.

-----CUT HERE-----
ocr (vnum) (keywords)
oset (keyword) type [See OBJECTTYPES]
oset (keyword) short (short desc of object)
oset (keyword) long (long desc of object)
oset (keyword) wear [See WEARFLAGS]
oset (keyword) flags [See OBJECTFLAGS]
oset (keyword) timer 0 [Optional Decay Timer]
oset (keyword) weight #
oset (keyword) cost #
oset (keyword) level #
oset (keyword) value0 0 [See ITEMVALUES]
oset (keyword) value1 0 [See ITEMVALUES]
oset (keyword) value2 0 [See ITEMVALUES]
oset (keyword) value3 0 [See ITEMVALUES]
oset (keyword) value4 0 [See ITEMVALUES]
oset (keyword) value5 0 [See ITEMVALUES]
oset (keyword) actiondesc (action) [Optional for FOOD itemtypes]
oset (keyword) affect (affect) [See AFFECTTYPES]
oset (keyword) affect (affect) [See AFFECTTYPES]
: : : : [More can be added]
oset (keyword) affect (affect) [See AFFECTTYPES]
oset (keyword) affect (affect) [See AFFECTTYPES]
oset (keyword) ed (keywords) [More than 1 'ed' can be used]
01234567890123456789012345678901234567890123456789012345678901234567890
+---------+---------+---------+---------+---------+---------+---------+
(This is a guide to use when writing eds, delete it before uploading.)
-----END OF TEMPLATE-----

[Back to Top]

An Example of an Object Template

---START FILE---
ocr 1000 wool woolen cape
oset woolen type armor
oset woolen short a warm woolen cape
oset woolen long A heap of wool rests on the ground here.
oset woolen wear take neck
oset woolen flags organic
oset woolen weight 5
oset woolen cost 5000
oset woolen level 13
oset woolen affect hit 5
oset woolen affect mana 10
oset woolen affect save_spell -3
oset woolen affect move -20
oset woolen ed wool woolen cape
This cape should keep you warm on those cold night watches.
/s
---END FILE---


Rooms  ] [ Objects ] [ Mobs ] [ Resets ] [ Programs ] [ Resources ] [  FAQ  ]

[Back To My Homepage][Back to Top]
The entire contents of this page is Copyright ©1997-2007 FoxDesigns