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:
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.
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
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.
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.
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 |
|
|
|
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.
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. |
|
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.
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 |
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.
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.
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.
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
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 |
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.
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.
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
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
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
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.
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.
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) |
|
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.
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!
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.
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
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-----
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 ]
The entire
contents of this page is Copyright ©1997-2007 FoxDesigns
|