Nilgiri Online Creation Commands

World
@COPY : copies a room to the current room
@CREATE ITEM_HERE : create room item
@DESCRIBE <direction> : describe exits
@DESCRIBE HERE : describe the room you're in
@DESCRIBE <item keyword(s)> : describe room items
@DESTROY <item keyword(s)> : destroys room items, and exits
@DIG : create exits
@DUPLICATE : duplicates a room
@EXAMINE HERE : examines the room you specify
@FIND ROOM : search for the next existing room
@FLAG DIRECTION : create doors
@FLAG HERE : make room flags
@FLAG SECTOR : define room type
@LINK <direction> <room number> : links a direction to an exit
@LINK <key number> <direction> : links a key number to a door
@NAME <direction> <door keyword(s)> : gives a door name keywords
@NAME HERE : name the room you're in
@NEW room <number | "next"> : creates a new room
@NUMBERS ROOM <start #> <end #> <command> : executes a single command across multiple rooms
@SAVE WORLD : save the world to file
@ZONE HERE : set zone number for this room
 
Mobile
@CREATE MOB_ATTACK : add a special attack for a mob
@DESCRIBE MOB : describes a mob
@DESTROY MOB_ATTACK : remove a special attack for mob
@FIND MOBILE : search for the next existing mobile
@FLAG ACTION : define the mob action types
@FLAG AFFECT : define what the mob is affected by
@FLAG RESISTANCE : define the mob's spell resistance
@LOAD MOB : define which mob you are working on
@LONG MOB : give the mob a long description
@MOB AC : define the mob armor class
@MOB ALIGNMENT : define the mob alignment
@MOB CLASS : define the mob class
@MOB DAMAGE : define the mob's ability to damage
@MOB DEFAULT : sets the mob's stats to standard
@MOB DEFAULT_POS : define the mob's default position
@MOB GOLD : how much gold the mob is carrying
@MOB HITPOINTS : define the mob's hitpoints
@MOB LEVEL : define what level the mob is
@MOB MOVE : define how the mob moves
@MOB POSITION : define the mob position
@MOB SEX : what sex is the mob
@MOB SIZE : define the mob size
@MOB THACO : define the mob thac0
@NAME MOB : names a mob
@NEW mobile <number | "next"> : creates a new mob
@NUMBERS MOBILE <start #> <end #> <command> : executes a single command across multiple mobiles
@SCRIPT : enter commands the mobile will execute at random
@SHORT MOB : gives the mob a short description
 
Object
@CREATE APPLY : puts in the objects modifiers' & location
@CREATE EXTRA_OBJ : creates extra description for object
@DESCRIBE ACTION : name the object's action, multi-line
@DESCRIBE <extra_obj keyword(s)> : describes the extra description of object
@FIND OBJECT : search for the next existing object
@FLAG OBJ : define special affect flags
@FLAG PROTECTION : define protection properties
@FLAG SPELL : define spell effect flags
@LOAD OBJ : define which object you are working on
@LONG OBJ : define the object's long description
@NAME OBJ : name the object
@NAME ACTION : name the object's action, single line (unused?)
@NEW object <number | "next"> : creates a new object
@NUMBERS OBJECT <start #> <end #> <command> : executes a single command across multiple objects
@OBJ CHANCE : % chance of reset if above max_exist
@OBJ MOD : defines the apply modfiers
@OBJ TYPE : what type is the object
@OBJ WEAR : position the object can be worn
@OBJ WEIGHT : the object's weight
@SHORT OBJ : define the object's short description
@VALUE : defines the object's values 1 - 4
snumber : displays the number for a spell/skill and acceptable type of object
 
Zone
@EXAMINE ZONE : displays information about this zone
@FIND ZONE : search for the next existing zone
@FLAG ZONE : sets flags for zone
@NEW ZONE <number | "next"> : creates a new zone
@ZONE ALL : lists all zones with title/author/levels
@ZONE AUTHOR : specify who wrote this area
@ZONE COPY : copy existing commands
@ZONE DELETE : delete commands
@ZONE DOOR : sets the state of a door
@ZONE EQUIP : equip an object on the last loaded mob
@ZONE FOLLOW : makes a mob follow the last loaded mob
@ZONE GIVE : give an object to the last loaded mob
@ZONE IF : toggle if flag of a command
@ZONE LEVELS : what levels is this area for
@ZONE LIFESPAN : set the lifespan of this zone
@ZONE LIST : list current commands for this zone
@ZONE MOBILE : load a mobile
@ZONE NAME : name this zone
@ZONE OBJECT : load an object
@ZONE PLACE : places your buffered commands
@ZONE PUT : put an object in an object
@ZONE RANDOM : load an object to be placed randomly
@ZONE RESET : reset this zone
@ZONE RESET_MODE : set the reset mode of this zone
@ZONE RIDE : makes a mob ride the last loaded mob
@ZONE TOP : set the top room number for this zone

@COPY <room number>
Description: Copies the entire room descriptions and properties of the room belonging to the room index of the room your immortal is located in when executing the command. Use @DUP instead.
Warning: If the room number argument is not supplied, it will copy the room of index 0 (The Endless Void) into the room your immortal is currently standing in.
Example: @copy 12345
Section: world
See also: @DUP <room number>

@CREATE APPLY<apply number> <apply flag>
Description: Creates a flag that will apply to the player using the object when worn. Up to three (3) applies can be created per object. The value of the apply flag is set with the corresponding @OBJ MOD<mod number> <mod value> command where the <apply number> is the same as the <mod number>. Applies can be removed from an object by setting the <apply flag> to "none". The APPLY argument without being immediately followed by 0, 1 or 2 will default to 0 and overwrite any existing APPLY0 flag.

The current object apply flags:
none
strength
dex
int
wis
con
sex
class
level
age
char_weight
char_height
mana
max-hit
move
gold
exp
armor
hitroll
damroll
saving_para
saving_rod
saving_petri
saving_breath
saving_spell
hitpoints
Example: @create apply hitpoints
@create apply2 armor
@create apply1 none
Section: object
See also: @OBJ MOD<mod number> <mod value>

@CREATE EXTRA_OBJ <extra_obj keyword(s)>
Description: Creates keyword(s) for the object you are currently modifying to be described. You can then describe these keywords with the @DESCRIBE <extra_obj keywords> command. Players use the "look <keyword>" command to view the description attached to the keyword(s). It helps to let players know there are other things to look at on or about the object by included the keywords in the object's short and/or long name. It also helps to have the same list of keyword(s) set for the object with @NAME OBJ <object keyword(s)> You can remove keyword(s) and their descriptions by using the @DESTROY <item keyword(s) | extra_obj keyword(s)> command.
Example: @create extra_obj silver ring
Section: object
See also: @DESCRIBE <item keyword(s) | extra_obj keyword(s)>, @DESTROY <item keyword(s) | extra_obj keyword(s)>, @NAME OBJ <object keyword(s)>

@CREATE ITEM_HERE <item keyword(s)>
Description: Creates keyword(s) in the room you are currently in to be described in addition to the room's description. Players use the "look <keyword>" command to view the description attached to the keyword(s). It helps to let players know there are other things to look at in the room by included the keyword(s) in the room description. You can remove keyword(s) and their descriptions by using the @DESTROY <item keyword(s) | extra_obj keyword(s)> command.
Example: @create item_here painting quenyarhun
Section: world
See also: @DESCRIBE <item keyword(s) | extra_obj keyword(s)>, @DESTROY <item keyword(s) | extra_obj keyword(s)>

@CREATE MOB_ATTACK <type> <die roll>d<die size>+<damage addition>
Description: Creates custom attacks and the damage die roll for the attacks. The word "die" refers to the dice rolled to determine game play in manual role-playing games. "2d8+4" would be read as "roll the eight sided die two times and add four to the result".

When creating a custom attacks set the mobile's bare-hand damage to zero it won't show up in combat. Use the @MOB DAMAGE <die roll>d<die size>+<damage addition> command and set the @MOB DAMAGE to 0d0+0.

Use the @DESTROY MOB_ATTACK command to remove unwanted custom attacks.

The currently available custom attacks are:
hit
pound
pierce
slash
whip
claw
bite
sting
crush
Example: @create mob_attack claw 1d8+2
Section: mobile
See also: @MOB DAMAGE <die roll>d<die size>+<damage addition>, @DESTROY MOB_ATTACK <mob_attack number>

@DEMOLISH ("room" | "mobile" | "object" | "zone") <number> <password>
Description: This command is used to delete a room, mobile, object, or zone from the world. Once demolished, it will not be saved to file if the world is @SAVE, and it will no longer exist for most purposes. Rooms, mobiles, and objects can be retrieved, but zones are permanently gone. Rooms must be completely empty to be demolished, and there cannot be any links to the room or zone commands making reference to it.

Mobiles cannot exist in the world, and there can be no zone commands referencing them for them to be demolished. Objects cannot exist in the world, and there can be no zone commands referencing them for them to be demolished. Zones can have no commands in them, and there can be no rooms in them for them to be demolished.

If "current" is substituted for the <number> argument, the current room, mobile, or object you are modifying will be demolished. This is useful with the @NUMBERS command for mass devastation. It cannot be used for zones.

You cannot @NEW a room/mobile/object after you demolish it. It's better to just modify the existing one.
Example: @demolish room 12345 hidden
Section: mobile, object, world, zone
See also: @NEW ("room" | "mobile" | "object" | "zone") <number | "next">, @SAVE ("room" | "mobile" | "object" | "zone"), @numbers ("room" | "mobile" | "object") <start number> <finish number> <command>

@DESCRIBE ACTION
Description: Opens the editor for entering text in for movement pattern and displayed behavior of object type ship. Any value placed in the action field for an object has no meaning except for object type ship. Enter an "@" on a line by itself to exit from the editor mode.

Each new line of the action field is used in a different way when the ship object is loaded. This is the order of lines to add for the action field for a ship. There can be no more than 10 messages and the series of character commands must all be on the same line, even if it wraps on your terminal window.

The format of the action field for a ship:

<series of character commands>
<message 0>
<message 1>
.
.
.
<message 9>

The <message number> are things you want people to see or "hear". Depending on your series of character commands you can define who sees those messages.

The series of character commands are as follows:
1..9 : delays the object for 1..9 object tics (3 seconds each)
o : opens the ship to allow people to board or unboard
c : closes the ship for boarding or unboarding
n,s,e,w,d,u : moves the ship in a direction
y<#> : a "yell" of message number
r<#> : a "say" of message number
z<#> : a direct message to all those inside the ship
Example:
o000000z3r3z1r1z5r5cwwwwwwwwz0sssssz0wwwwz0ssssz0eeeeeeeeeeeeee
ez2z6r6o000000z4r4z1r1z5r5cwwwwwwwwwwwwwwwz0nnnnz0eeeez0nnnnnz0
eeeeeeeez2z6r6
You can feel the Ship M'Lady turn sharply.
The Ship M'Lady prepares to embark.
You feel that the Ship M'Lady has come to a complete stop.
The Ship M'Lady signals flags of its imminent departure to 
Tokugawa Island.
The Ship M'Lady signals flags of its imminent departure to 
Midgaard.
The Ship M'Lady raises its anchor.
The Ship M'Lady lowers its anchor.
Section: object
See also:

@DESCRIBE <direction>
Description: Opens the editor for entering text in for a direction's description. Do not indent direction descriptions. It is best to end your lines before column 80 so line breaks are properly displayed in a 24x80 terminal display. Enter an "@" on a line by itself to exit from the editor mode. The direction has to exist before it can be described. Use the @DIG command to create directions. Players see exit descriptions when they look in that direction, "look west," and if they are not in brief display mode they will see it prior to the next room's name and description when moving in that direction. Typically these descriptions are a short one sentence long.
Example: @describe west
Section: world
See also: @DIG

@DESCRIBE <item keyword(s) | extra_obj keyword(s)>
Description: Opens the editor for entering text in for a room item's description or currently modifying extra_obj description of keyword(s), depending on which one it matches up with. If you are modifying an object and you are in a room with an item_here keyword(s) are are the same as the object, the room item_here keyword(s) will be described. Typically you should use the same keywords and order of keywords set with the @CREATE ITEM_HERE <item keyword(s)> or the @CREATE EXTRA_OBJ <extra_obj keyword(s)>command. Do not indent the item description. It is best to end your lines before column 80 so line breaks are properly displayed in a 24x80 terminal display. Enter an "@" on a line by itself to exit from the editor mode.

You can re-edit your description by entering the command in again. You can remove keyword(s) and their descriptions with the @DESTROY <item keyword(s) | extra_obj keyword(s)> command.
Example: @describe painting quenyarhun
@describe ring silver
Section: world, object
See also: @CREATE ITEM_HERE <item keyword(s)>, @CREATE EXTRA_OBJ <extra_obj keyword(s)>, @DESTROY <item keyword(s) | extra_obj keyword(s)>

@DESCRIBE HERE
Description: Opens the editor for entering text in for the room long description. Be sure to indent your paragraphs with three (3) spaces. It is best to end your lines before column 80 so line breaks are properly displayed in a 24x80 terminal display. Enter an "@" on a line by itself to exit from the editor mode. The room description is seen when a player enters the room no in brief mode or when they look in the room.
Example: @describe here
Section: world
See also: @CREATE ITEM_HERE <item keyword(s)>, @SPELL ("here" | "room" | "mobile" | "object")

@DESCRIBE MOB
Description: Opens the editor for entering text in for the mobile description. Do not indent mob descriptions. It is best to end your lines before column 80 so line breaks are properly displayed in a 24x80 terminal display. Enter an "@" on a line by itself to exit from the editor mode. The mobile description is seen by players when they examine or look at the mobile.
Example: @describe mob
Section: mobile
See also: @SPELL ("here" | "room" | "mobile" | "object")

@DESTROY <direction>
Description: Used to destroy a direction (and link if existing) created with the @LINK and/or @DIG command. This command only destroys the existing specified direction (and link if existing) in the room you are currently located in - it does not destroy the corresponding link (if it exists) in the room the destroyed link was linked to. To illustrate: if room 1000 had a link east to 1001 and the direction east was destroyed in room 1000, there would still be a link in 1001 going west to 1000.
Example: @destroy west
Section: world
See also: @DIG

@DESTROY <item keyword(s) | extra_obj keyword(s)>
Description: Used to destroy item keyword(s) and their description created with the @CREATE ITEM_HERE command in the room you are currently in or by the @CREATE EXTRA_OBJ command for the object you are currently modifying.
Example: @destroy painting quenyarhun
@destroy silver ring
Section: world, object
See also: @CREATE EXTRA_OBJ <extra_obj keyword(s)>, @CREATE ITEM_HERE <item keyword(s)>

@DESTROY MOB_ATTACK <mob_attack number>
Description: Removes a custom attack on the mobile currently being modified that was created with the @CREATE MOB_ATTACK <type> <die roll>d<die size>+<damage addition> command. Use the <mob_attack number> specified in the listing of special attacks from the @EXAMINE mobile command.
Example: @destroy mob_attack 1
Section: mobile
See also: @CREATE MOB_ATTACK <type> <die roll>d<die size>+<damage addition>

@DIG <direction> [<room number>]
Description: Creates a direction in the room you are currently in. Room directions can be linked to other rooms using the @LINK command to create exits and/or for adding a description to a direction. Directions can be described using the @DESCRIBE <direction> command.

If room number is supplied, logical (east-west, north-south, up-down) directions and links are created in the current room and in the room of the room number supplied. This only works if both rooms do not have existing corresponding exits in the direction specified. Use @DESTROY <direction> to remove unwanted exits.
Example: @dig north
@dig west 12345
Section: world
See also: @DESCRIBE <direction>, @DESTROY <direction>, @LINK <direction> <room number>

@DUPLICATE <room number>
Description: Just like @COPY, except doesn't duplicate exits?
Example: @duplicate 12345
Section: world
See also: @COPY <room number>

@EXAMINE ("here" | "mobile" | "object" | "shop" | "zone")
Description: "here" Displays information about the room you are currently in.

"mobile" Displays information about the mobile you are currently modifying via @load mobile.

"object" Displays information about the object you are currently modifying via @load object.

"shop" Displays information about the shop aspect to the mobile you are currently modifying via @load mobile.

"zone" Displays information about the zone you are currently in, along with any zone commands you have in your command buffer.
Example: @examine here
@examine zone
Section: mobile, object, world, zone, shop
See also: @LOAD ("mobile" | "object") <index number>

@FIND ("mobile" | "object" | "room" | "zone") <number>
Description: This command will search for the next non-used index number for rooms, mobiles, objects, or zones above the number specified.
Example: @find room 3030
@find mobile 12345
Section: mobile, object, room, zone
See also:

@FLAG ACTION <action flag>
Description: Sets flags for the mobile action behavior. There is no limit on the number of action flags for a mobile. To remove an action flag enter the command with a "!" immediately before the <action flag>.

The current available action flags are:
spec
sentinel
scavenger
pack
nice-thief
aggressive
stay-zone
wimpy
aggr-e
aggr-g
aggr-n
memory
hunter
rideable
gas
fire
lightning
drain
poison
cl
mu
th
wa
has_dr
acid
frost
nocturnal
looter
stone-gaze
fear-aura
aggr-npc
diurnal
protect
marine
no-charm
no-sleep
tameable
citizen
wimpy-aggr
citizen-midgaard
citizen-catharsis
citizen-tokugawa
citizen-argosiae
citizen-eltanin
citizen-gont
Example: @flag act memory
@flag act !no-charm
Section: mobile
See also:

@FLAG AFFECT <affect flag>
Description: Sets the flag for a mobile so they will be affected by its 'spell affects' indefinitely. The 'spell affect' could be removed from the mobile if the spell dispel magic is cast upon them. There is no limit on the number of affect flags a mobile can have. To remove an affect flag call the @FLAG AFFECT command with an "!" immediately preceding the <affect flag>.

The current available affect flags are:
undead
invisible
detect-evil
detect-invisible
detect-magic
sense-life
hold
sanctuary
group
faerie-fire
water-breathing
blind
poison
protect-evil
petrify
detect-good
water-walking
sleep
evade
sneak
hide
protect-good
charm
haste
light
anti-summon
infravision
globe-of-invulerability
non-detection
allsight
farsee
Example: @flag affect sneak
@flag affect !anti-summon
Section: mobile
See also:

@FLAG <direction> <door flag>
Description: Sets flags for existing directions (doors) created with the @NAME <direction> <door keyword(s)> command.

The current available direction flags are:

is-door
pickproof
secret
closed
locked
wizard-locked
is-object
is-window

The state of the doors after reset may be controlled by a command in the reset-command table (see the zone file). The initial state of a door is open.
Example: @flag north 2
Section: world
See also: @NAME <direction> <door keyword(s)>, @LINK <key number> <direction> [<door weight>]

@FLAG HERE <room flag>
Description: Sets the flag on the room you are currently in. If <room flag> is immediately preceded by a "!" then the flag will be RESET otherwise the flag is SET. Entering the command @FLAG HERE without the <room flag> argument will list all the available room flags.
Example: @flag here dark
@flag here !no_teleport
Section: world
See also: @FLAG SECTOR <sector type>

@FLAG OBJ <object flag>
Description: Sets flags for the object to be affected by. There is no limit on the number of flags affecting an object. To remove an object flag enter the command with a "!" immediately before the <object flag>.
Example: @flag obj magic
@flag obj !silver
Section: object
See also:

@FLAG PROTECTION <protection flag>
Description: Sets the flag for an object such the player who wears the equipment with the flag set will be affected by its protection indefinitely while the object is worn. The protection will be removed from the player if the equipment is removed. There is no limit on the number of protection flags an object can have. To remove a protection flag call the @FLAG PROTECTION command with an "!" immediately preceding the <protection flag>. The "resist-*" flags are mean only half damage is taken from a successful strike of that type. The "immune-*" flags means the player affected will not incur any damage from that type of strike.

The current available protection flags are:
resist-norm
resist-silver
resist-magic
resist-fire
resist-water
resist-air
resist-earth
resist-cold
resist-electric
resist-acid
resist-poison
immune-norm
immune-silver
immune-magic
immune-fire
immune-water
immune-air
immune-earth
immune-cold
immune-electric
immune-acid
immune-poison
Example: @flag protection resist-acid
@flag protection !immune-fire
Section: object
See also: @FLAG SPELL <spell flag>

@FLAG RESISTANCE <resistance flag>
Description: Sets the flag for a mobile to be affected by its protection indefinitely. There is no limit on the number of protection flags an mobile can have. To remove a protection flag call the @FLAG RESISTANCE command with an "!" immediately preceding the <resistance flag>. The "resist-*" flags are mean only half damage is taken from a successful strike of that type. The "immune-*" flags means the mobile affected will not incur any damage from that type of strike.

The current available resistance flags are:
resist-norm
resist-silver
resist-magic
resist-fire
resist-water
resist-air
resist-earth
resist-cold
resist-electric
resist-acid
resist-poison
immune-norm
immune-silver
immune-magic
immune-fire
immune-water
immune-air
immune-earth
immune-cold
immune-electric
immune-acid
immune-poison
Example: @flag resistance resist-air
@flag resistance !immune-poison
Section: mobile
See also:

@FLAG SECTOR <sector flag>
Description: This determines how many movement points are used when moving through a location of the type - (they are NOT the movement-points used - merely indexes to a lookup-table). Sector type also determines the if a random object will load in this sector.

Current available sector types:
inside       : no weather messages, some spells disabled
city         : 
field        : 
forest       : 
hills        : 
mountain     : 
water_swim   : no footing for bash or kick, no tracks
water_noswim : requires a boat
Example: @flag sector forest
Section: world
See also: @FLAG HERE <room flag>, @ZONE RANDOM <object number> <max existing> <sector flag>

@FLAG SPELL <spell flag>
Description: Sets the flag for an object such the player who wears the equipment with the flag set will be affected by its 'spell affects' indefinitely while the object is worn. The 'spell affect' will be removed from the player if the equipment is removed. There is no limit on the number of spell flags an object can have. To remove a spell flag call the @FLAG SPELL command with an "!" immediately preceding the <spell flag>.

The current available object spell flags are:
undead
invisible
detect-evil
detect-invisible
detect-magic
sense-life
hold
sanctuary
group
faerie-fire
water-breathing
blind
poison
protect-evil
petrify
detect-good
water-walking
sleep
evade
sneak
hide
protect-good
charm
haste
light
anti-summon
infravision
globe-of-invulerability
non-detection
allsight
farsee
	
Example: @flag spell sneak
@flag spell !anti-summon
Section: object
See also: @FLAG PROTECTION <protection flag>

@FLAG ZONE <zone flag>
Description: Sets flags for zone currently in. To remove a zone flag call the @FLAG ZONE command with an "!" immediately preceding the <zone flag>.

The current available object spell flags are:
new
cleared
restricted
Example: @flag zone new
@flag zone !restricted
Section: zone
See also:

@LINK <key number> <direction> [<door weight>]
Description: The index number of the object which can unlock/lock the door for the direction given. If a player carries or holds this object, they can lock/unlock the door. If the <key number> is -1 then there is no keyhole. If <door flag> is 0, the value of this field is ignored.

The weight of the door determines who by strength can open it and whether or not it will get stuck. If the <door weight> is -1 (the default), anyone can open the door (assuming it's unlocked) and it will never get stuck. If the <door weight> is 0, anyone can open it, but it may take more than one try. If the <door weight> is above zero, only those with sufficient strength can open it, and it might get stuck.
Warning: You must make a door in both rooms that the door is set between.
Example: @link 12345 north -1
Section: world
See also: @FLAG <direction> <door flag>, @NAME <direction> <door keyword(s)>

@LINK <direction> <room number>
Description: Creates a link between the room you are currently in the one specified by <room number>. There must be an existing <direction> created with the @DIG <direction> command in the room you are currently for a link to be created. This command only creates a one-way link to the specified <room number>. If <room number> is set to -1, the link is removed from the room you are currently in but the direction remains. If you wish to create corresponding links to and from your current room to another room, use the @DIG <direction> command with the <room number> argument.
Example: @link west 12345
Section: world
See also: @DIG <direction> [<room number>]

@LOAD ("mobile" | "object") <index number>
Description: Defines by index number which mobile/object you are currently modifying. @LOAD without any arguments lists the current mobile and object you are modifying. Use the index -1 to set the moble or object you are editing to nothing. The index numbers of the mobile and object you are editing will appear in your prompt if you use the option "display all", see "help display" for more information.
Example: @load object 12345
@load mobile -1
Section: mobile, object
See also:

@LONG MOB <long name>
Description: Opens the editor for entering text in for a mobile's long name. Do not indent mobile long names. It is best to end your lines before column 80 so line breaks are properly displayed in a 24x80 terminal display. Enter an "@" on a line by itself to exit from the editor mode. The long name of the mobile appears in the game when the mobile is visible in the room contents. Mobile long names are typically sentences that start with a capitalized first letter and end with punctuation. It is best to include keywords from the @NAME MOB <mobile keyword(s)> in the long name so players can interact with the mobile.
Example:
Section: mobile
See also:

@LONG OBJ <long name>
Description: Sets the long name for the object currently being modified. The long name of the object appears in the game when the object is on the floor of a room. Object long names are sentences that start with a capitalized first letter and end with punctuation. It is best to include keywords from the @NAME OBJ <object keyword(s)> in the long name so players can operate the object.
Example: @long obj A silver ring has been left here.
Section: object
See also: @SHORT OBJ <short name>, @NAME OBJ <object keyword(s)>

@MOB AC <armor class>
Description: Sets the armor class (AC) for a mobile. The AC of a mobile is used to determine how hard a mobile is to hit in melee combat. The AC of a mobile must be between -10 and 10 (including 0). The lower the number, the more difficult it is to hit the mobile. This value is actually a factor of 10 used in calculating the AC for a mobile. Setting the AC of a mobile to 4 would actually appear as an unadjusted 40 when stating the mobile. AC can be set manually with this command or it can be set automatically by the @MOB DEFAULT command for the @MOB LEVEL <mobile level> specified.
Example: @mob ac -4
Section: mobile
See also: @MOB DEFAULT

@MOB ALIGNMENT <alignment>
Description: Sets the alignment on a continuum ranging from -1000 to -350 (evil, red aura), -349 to 349 (neutral), and 350 to 1000 (good, blue aura). Alignment determines how the attacking player's alignment will be affected when defeating the mobile (in addition to the relative level of the player and mobile). The more "good" aligned mobiles a player kills, the more "evil" they will become.
Example: @mob alignment 500
Section: mobile
See also:

@MOB CLASS <class flag>
Description: Sets the flag for the mobile's creature class. Class determines whether or not the corpse is edible, is affected by certain spells, communication abilities, and other behavior.

The currently available mobile classes are:
other
humanoid
animal
magical
elemental
dragon
Example: @mob class humanoid
Section: mobile
See also:

@MOB DAMAGE <die roll>d<die size>+<damage addition>
Description: Sets the damage die roll for the mobile's bare handed attacks. The word "die" refers to the dice rolled to determine game play in manual role-playing games. "2d8+4" would be read as "roll the eight sided die two times and add four to the result". @MOB DAMAGE can be set manually with this command or it can be set automatically by the @MOB DEFAULT command for the @MOB LEVEL <mobile level> specified.

Bare handed attacks for mobiles appear as "hit" attack types. To specify a more custom attack, use the @CREATE MOB_ATTACK <type> <die roll>d<die size>+<damage addition> command and set the @MOB DAMAGE to 0d0+0.
Example: @mob damage 2d12+75
Section: mobile
See also: @CREATE MOB_ATTACK <type> <die roll>d<die size>+<damage addition>, @MOB DEFAULT

@MOB DEFAULT
Description: This command will set the mobile's hit points, bare-hand damage roll, THACO, and armor class to recommended values for the mobile's level. Note that the mobile's level must be set before using this command.

Special attacks are not affected by this command.
Example: @mob default
Section: mobile
See also: @MOB LEVEL <mobile level>

@MOB DEFAULT_POS <default_pos flag>
Description: Sets the flag for what position the mobile will be default to take when checked by the game(?). This is different from the position set by the @MOB POSITION <position flag>.

Current available mobile default position flags:
dead
mortally wounded
incapacitated
stunned
sleeping
resting
sitting
fighting
standing
Example: @mob default_pos sitting
Section: mobile
See also: @MOB POSITION <position flag>

@MOB GOLD <gold amount>
Description: Sets how much gold the mobile will have when loaded in the game. This must be a positive number.
Example: @mob gold 55
Section: mobile
See also:

@MOB HITPOINTS <die roll>d<die size>+<hitpoints addition>
Description: Sets the hitpoints die roll for the mobile's maximum hitpoints. When a mobile runs out of hitpoints in combat, it dies. The word "die" refers to the dice rolled to determine game play in manual role-playing games. "2d8+4" would be read as "roll the eight sided die two times and add four to the result". @MOB HITPOINTS can be set manually with this command or it can be set automatically by the @MOB DEFAULT command for the @MOB LEVEL <mobile level> specified.
Example: @mob hitpoints 1d8+0
Section: mobile
See also: @MOB DEFAULT

@MOB LEVEL <mobile level>
Description: Sets the level of the mobile. The level of the mobile helps determine how difficult it is to defeat in melee combat, what kind of spells it can cast if it can cast spells, saving throws against many spells such as summon and poison, and many other game factors. Mobile levels typically fall within the level range of the area they are being created for. Mobile level must be between 0 and 30, the higher the level, the more difficult the mobile would be to defeat. To set the base stats for the mobile's level, use the @MOB DEFAULT command.
Example: @mob level 9
Section: mobile
See also: @MOB DEFAULT

@MOB MOVE <movement flag>
Description: Sets the flag for what type of movement the mobile displays when moving from room to room.

The currently available movement types are:
Movement Number Type
0 walks
1 flies
2 swims
3 slithers
4 oozes
5 hops
6 crawls
7 marches
8 creeps
9 floats
10 gallops
11 limps
12 prances
13 scurries
14 lumbers
15 staggers
16 runs
17 rolls
18 waddles
19 digs
20 darts
21 skitters
22 scampers
23 strolls
24 moseys
25 slides
26 spins
27 wanders
Example: @mob move staggers
Section: mobile
See also:

@MOB POSITION <position flag>
Description: Sets the flag for what position the mobile will be loaded into the game at. This is different from the default position set by the @MOB DEFAULT_POS <default_pos flag>.

Current available mobile position flags:
dead
mortally wounded
incapacitated
stunned
sleeping
resting
sitting
fighting
standing
Example: @mob position sitting
Section: mobile
See also: @MOB DEFAULT_POS <default_pos flag>

@MOB SEX <sex flag>
Description: Sets the flag for the sex of the mobile. The sex of a mobile determines which pronoun (his, her, it) is used in mobile action events.

The currently available sex flags are:
neutral
male
female
Example: @mob sex male
Section: mobile
See also:

@MOB SIZE <mobile size>
Description: Sets the physical size for the mobile. Size is used to determine whether mobiles can be affected by certain game actions such as bash, how many people of what size can attack the mobile at once, whether it can fit through a door, or be mountable relative to mounter's size.

The currently available mobile sizes are:
Size Description
1 tiny (bee)
2 very small (mouse)
3 small (small dog)
4 very short (large dog)
5 short (dwarf)
6 average (humanoid)
7 large (horse)
8 very large (dragon)
9 huge (dragon turtle)
Example: @mob size 6
Section: mobile
See also:

@MOB THACO <value>
Description: THACO is an acronym for "To Hit Armor Class 0", but the zero (0) has been replaced with the letter "o". THACO is used by the game in combat to determine what is needed for the mobile to strike a target with the AC of 0. The other armor classes from -10 to 10 are offset based on this value. A mobile's (and player's) THACO decreases as the level of the mobile increases meaning it becomes easier for them to strike less armored targets. THACO must be between -128 and 127 including 0 (typically between 0 and 30). @MOB THACO can be set manually with this command or it can be set automatically by the @MOB DEFAULT command for the @MOB LEVEL <mobile level> specified.
Example: @mob thaco 8
Section: mobile
See also: @MOB DEFAULT

@NAME ACTION <action value>
Description: Sets the value for the action field of an object. This field is no longer used for items except type ship. This command only sets a single line of value and has been replaced with the @DESCRIBE ACTION command. This command is no longer used.
Example:
Section: object
See also: @DESCRIBE ACTION

@NAME <direction> <door keyword(s)>
Description: Creates a 'door' on an exit with the specified keywords. Players use the keyword(s) to operate the door with commands like "open", "close", "pick", etc.
Example: @name north wooden gate
Section: world
See also: @FLAG <direction> <door flag>, @LINK <key number> <direction> [<door weight>]

@NAME HERE <room name>
Description: Changes the name of the room you are currently in. Room names are typically short, have at least the first letter capitalized and do not end with punctuation. Room names are like titles of book chapters.
Example: @name here The Temple of Midgaard
Section: world
See also:

@NAME MOB <mobile keyword(s)>
Description: Sets keyword(s) used by players to interact the mobile with commands like "look", "kill" and "steal". It is best to be consistent with keyword(s) in the mobile's short name and long name. If a mobile has a proper name, it is best not to capitalize the proper name in the mobile keyword list.
Example: @name mob dragon red smaug
Section: mobile
See also:

@NAME OBJ <object keyword(s)>
Description: Sets keyword(s) used by players to operate the object with commands like "get", "give" and "wear". It is best to be consistent with keyword(s) in the object's short, long and extra_obj keyword(s) list.
Example: @name obj ring silver
Section: object
See also: @CREATE EXTRA_OBJ <extra_obj keyword(s)>

@NEW ("room" | "mobile" | "object" | "zone") <number | "next">
Description: This command will create a brand new room, mobile, object, or zone. For rooms, mobiles, and objects, "next" will use the next empty virtual number above the room you're in or the mobile/object you are currently modifying.
Example: @new mobile 12345
@new object next
Section: mobile, object, zone
See also: @DEMOLISH ("room" | "mobile" | "object" | "zone") <number> <password>

@NUMBERS ("room" | "mobile" | "object") <start #> <end #> <command>
Description: Executes a single command across multiple rooms, mobiles or objects. Returns a response for each executed command.
Warning: This command could do some serious damage to a wide range of rooms, mobiles or objects. The affects of this command cannot be undone. Examine your command carefully before executing.
Example: @numbers room 12340 12345 @flag here dark
@numbers mobile 12340 12350 @flag act sentinal
Section: world, mobile, object
See also:

@OBJ CHANCE <percent chance>
Description: Sets the percentage chance the object will load when the game or the zone resets. This chance percentage is only checked after the maximum number of objects exist (as specific in the zone settings for loading the object) in the player files or in the game. Setting this value to 0 means no more objects above the number specified in the zone setting will be loaded by the game. Setting this value to 100 means the object will always load no matter how many are specified to exist in the zone setting.
Example: @obj chance 33
Section: object
See also: @ZONE EQUIP <object number> <location> <max existing> <[command number]>, @ZONE GIVE <object number> <max existing> <[command number]>, @ZONE OBJECT <object number> <max existing>, @ZONE PUT <object number> <in object number> <max existing>

@OBJ COST <cost value>
Description: Sets the value for how much it would cost per mud month to rent with the object. This value is now calculated by the game when a player rents and any value placed in this field is ignored.
Example: @obj cost 5
Section: object
See also:

@OBJ MOD<mod number> <mod value>
Description: Used in conjunction with the @CREATE APPLY<apply number> <apply flag> command, this command sets the value of the corresponding <apply flag>. The same <apply number> and <mod number> must be used to match flags with values. If a 0, 1 or 2 does not immediately follow MOD, <mod number> 0 is assumed and the value for APPLY0 will affected. Some apply flags have maximum and minimum values enforced. If a <mod value> is to be negative, prepend the number with a "-" sign.
Example: @obj mod0 1
@obj mod2 -3
Section: object
See also: @CREATE APPLY<apply number> <apply flag>

@OBJ TYPE <type flag>
Description: Sets the object type for the object. This setting affects the behavior of the object and the meaning of the @VALUE values.

The current available object types are:
light
scroll
wand
staff
weapon
fire-weapon
missile
treasure
armor
potion
worn
other
trash
trap
container
note
liquid-container
key
food
money
pen
boat
herb
plant
spell object
statue
teleport
lock_pick
ship
Example: @object type weapon
Section: object
See also: @VALUE <value number> <value>

@OBJ WEAR <wear flag>
Description: Sets the equipment position for which the object can be worn. Objects that are to be worn or kept in inventory must have at least the TAKE <wear flag> set. There is no limit on the number of wear flags that can be set for an object, but typically objects only have logical wear locations for the kind of object it is: rings on finger, belts on waist, etc. To remove a wear flag call the @OBJ WEAR command with an "!" immediately preceding the <wear flag>.

The current available wear flags are:
take
finger
neck
body
head
legs
feet
hands
arms
shield
about
waist
wrist
wield
hold
throw
floating
earring
face
Example: @obj wear take
@obj wear !hands
Section: object
See also:

@OBJ WEIGHT <weight value>
Description: Sets how much the object weights. The object weight affects players ability to wield weapons based against strength, how much can fit inside a container, how many max movement points a player has. An object of weight 0 has no weight. The weight of object type weapon determines the minimum strength required to wield it as a weapon. Weapons of weight 30 require a strength of 18/100 to wield. Objects cannot have a negative weight.
Example: @obj weight 5
Section: object
See also:

@OBJ WORTH <worth value>
Description: Sets how much the object is to be valued at when selling or buying at a shop. This value is no longer used in worth calculations at shops except for objects of type treasure. For items of type treasure, the worth field is populated by the first of the four values for an object. This command has been disabled.
Example:
Section: object
See also: @VALUE <value number> <value>

@SAVE ("world" | "mobile" | "object" | "zone")
Description: Writes the index for the tinyworld section specified. This command is not immediate. The index will be saved over a period of time, and you will be notified when it is complete. Saves have to be 100% completed before they can be saved again.
Example: @save world
Section: mobile, object, world, zone
See also:

@SCRIPT
Description: Allows you to write a simple script of commands for the mobile you are currently editing. Each line of the script is interpreted as if it were typed in at the command line. The lines are executed randomly.
Example: n/a
Section: mobile
See also:

@SHORT MOB <short name>
Description: Sets the short name for the mobile. This value is seen in actions involving the mobile. This value is not a complete sentence; it should not start with a capitalized letter unless it is a proper name and it should not end with punctuation. It is wise to have the keyword(s) of the object set with the @NAME MOB <mobile keyword(s)> contained in the short name as well.
Example: @short mob dragon green
@short mob Lovidamo, the Sheriff of Midgaard
Section: mobile
See also: @NAME MOB <mobile keyword(s)>

@SHORT OBJ <short name>
Description: Sets the short name for the object. This value is seen in action commands operated on the object and when viewed in inventories/equipment lists, etc. This value is not a complete sentence; it should not start with a capitalized letter unless it is a proper name and it should not end with punctuation. It is wise to have the keyword(s) of the object set with the @NAME OBJ <object keyword(s)> contained in the short name as well.
Example: @short obj a silver ring
@short obj Nightbringer
Section: object
See also: @NAME OBJ <object keyword(s)>

SNUMBER <spell/skill name | spell/skill number>
Description: Displays the number of the spell or skill specified and what object types the spell/skill can be set for. The snumber of a spell/skill is used to define properties of object types such as potions, staves and wands.
Example: snumber cure light wounds
snumber 3
Section: object
See also: @OBJ TYPE <type flag>

@SPELL ("here" | "room" | "mobile" | "object")
Description: This command will run the room you're in or the mobile/object you're currently modifying through a spellchecker. Anything that the spellchecker does not recognize will be displayed. If nothing happens, the spellchecker recognized everything
Warning: This command will lag the game for a second or two.
Example: @spell mobile
Section: mobile, object, world
See also:

@VALUE <value number> <value>
Description: Sets the value for one of the four (0, 1, 2, 3) possible values for the object's type setting. Depending on the type of object, the value of the object values will give the object different properties. Refer to the object type set with the @OBJ TYPE <type flag> command for the meanings of these values.
Example: @value 0 1
@value 3 40
Section: object
See also: @OBJ TYPE <type flag>

@ZONE ALL
Description: This command lists all of the current zones in the world, showing their virtual number, room range, author, level range, and title.
Example: @zone all
Section: zone
See also: @ZONE LIST [<substring>]

@ZONE AUTHOR <author>
Description: Sets the author name of the zone you are currently in. Executing with command without a <name> with set the author to blank.
Example: @zone author Mobius
Section: zone
See also:

@ZONE COPY <command> [<command>]
Description: If one command number is specified, that command will be copied to your buffer, along with all command dependent on it. If two command numbers are specified, those commands and all commands between them will be copied, ignoring dependence.

See also @ZONE PLACE for more information about your command buffer.
Example: @zone copy 13
@zone copy 20 55
Section: zone
See also: @ZONE PLACE

@ZONE DELETE <command> [<command>]
Description: If one command number is specified, that command and all commands dependent upon it will be deleted. If two command numbers are specified, those commands and all commands between them will be deleted, ignoring dependence.

Note that "delete" cannot be abbreviated to avoid accidental deletion.
Example: @zone delete 3
@zone delete 10 22
Section: zone
See also:

@ZONE DOOR ("open" | "close" | "lock") <direction>
Description: Used to add a command that will set the state of a door at zone reset. This will not be put in your command buffer, it will be entered directly into the zone command table.

The command will be executed in the room your are in. An exit must exist for the command to be executed, but it does not necessarily have to be a door.
Example: @zone door close north
Section: zone
See also:

@ZONE EQUIP <object number> <location> <max existing> [<command number>]
Description: This will load a command that will equip the last mobile referenced with the specified object in the specified location. The object will only be loaded if the total number of objects with the same number is less than <max existing>. If the number of objects exceeds <max existing> than the game rolls the load chance as specified in the object settings by @OBJ CHANCE to see the item will load. If <max existing> is set to -1 then the object will load constantly provided it meets its 'if' statement.

The game will not check to see if the location you specify makes sense; it is left to your judgement.

If a command number is specified, the object will be equipped on the mobile loaded by that command. Otherwise, to use this command, you must already have a mobile command loaded in your buffer with the @ZONE MOBILE command.

The if-flag for this command will automatically be set. (see @ZONE IF)
Example: @zone equip 3022 wield 10
Section: zone
See also: @ZONE MOBILE <mobile number> <max existing>, @ZONE IF <command> ["special"], @OBJ CHANCE <percent chance>

@ZONE FOLLOW <command number>
Description: To use this command, the first command in your buffer must load a mobile. This command will cause the mobile in your buffer to follow the mobile loaded by the command specified. All other commands in your buffer will then be added afterwards.

Note that this command replaces the @ZONE PLACE command, so @zone place is not necessary.
Example: @zone follow 23
Section: zone
See also: @ZONE PLACE, @ZONE MOBILE <mobile number> <max existing>

@ZONE GIVE <object number> <max existing> [<command number>]
Description: This will load a command that will give the specified object to the last mobile referenced, only if the number of objects with the same number in the game is less than <max existing>, or if <max existing> is set to -1. If the number has reached <max existing> or above, then the game rolls the load chance as specified in the object settings by @OBJ CHANCE to see the item will load.

If you specify the command number, the object will be given to the mobile loaded by that command. Otherwise, to use this command, you must already have a mobile command loaded in your buffer with the @ZONE MOBILE command. The if-flag for this command will automatically be set. (see @ZONE IF)
Example: @zone give 4010 1
Section: zone
See also: @ZONE MOBILE <mobile number> <max existing>, @ZONE IF <command> ["special"], @OBJ CHANCE <percent chance>

@ZONE HERE <zone>
Description: Set the zone number of the room you are in. This is used to determine whether or not a zone is empty, and also for mobiles that are required to stay within their zone. The zone must exist before you can assign a room to it.
Example: @zone here 450
Section: zone
See also: @NEW

@ZONE IF <command> ["special"]
Description: Used to toggle the if-flag of the specified command. If the if-flag is true, the command will only be executed if the previous command was executed. Otherwise, the command will always be executed, unless the command loads an object in a room, in which case it will only load the object if there isn't already an object of the same type in the same room. This is to prevent two bulletin boards from being loaded in the same room, for example. To override this, type "@zone if <command> special".

This command is useful for giving objects to mobiles, etc, since you do not want to give the object to the mobile if the mobile was not loaded in the first place.
Example: @zone if 33
Section: zone
See also:

@ZONE LEVELS <min level> <max level>
Description: Sets the value for suggested level range for the zone you are currently in. This is for descriptive purposes only. This value is not enforced, merely suggested.
Example: @zone levels 5 10
Section: zone
See also:

@ZONE LIFESPAN <minutes>
Description: Used to specify how many minutes of real time will be allowed before the zone begins to attempt to reset.
Example: @zone lifespan 15
Section: zone
See also:

@ZONE LIST [<substring>]
Description: Lists the commands for the zone you are currently in with their command numbers.

A "|" preceding a command means its "if-flag" is true. A "~" preceding a command means its "if-flag" is set to special (see @ZONE IF). Max numbers are listed in parentheses after the mobiles and objects they refer to.

If no substring is provided, all commands for this zone will be shown. If a substring is provided, only commands that contain it will be shown. This command is case sensitive.
Example: @zone list pike
@zone list
Section: zone
See also: @ZONE IF <command>

@ZONE MOBILE <mobile number> <max existing>
Description: This will load a command into your buffer that can be used to load a mobile when the zone resets. If there are already more mobiles with the same number than the specified <max existing> value, this command will be skipped. This is useful for limiting the number of monsters in the game. Use the @ZONE PLACE command to place the current mobile loaded in your buffer in a specified room.
Example: @zone mobile 12345 3
Section: zone
See also: @ZONE PLACE

@ZONE NAME <name>
Description: Sets the name of the zone you are currently in. Zone names are like book titles and should be capitalized/punctuated accordingly.
Example: @zone name The City of Midgaard
Section: zone
See also:

@ZONE OBJECT <object number> <max existing>
Description: This will load a command into your buffer that can be used to load an object when the zone resets. If there are already more objects with the same number than the specified <max existing> value, this command will have a percentage chance that executed based on the @OBJ CHANCE setting. If you specify <max existing> to be -1 then this command will load constantly (provided it meets the 'if' statement).
Example: @zone object 3033 1
Section: zone
See also: @ZONE IF <command> ["special"], @OBJ CHANCE <percent chance>

@ZONE PLACE
Description: Used to append the commands in your command buffer to the end of the list of commands for the zone you are in. Commands created using @ZONE MOBILE and @ZONE OBJECT will be set to operate in the room you are currently in.

All commands that load mobiles or objects must first be loaded into your command buffer. Then, go to each room that you want the commands executed in, and execute @ZONE PLACE. This way, it is not necessary to keep typing in repetitive sets of commands, such as equipping several mobs with the same equipment. In addition, existing commands can be copied to your buffer, and placed elsewhere.

@ZONE COPY, @ZONE MOBILE and @ZONE OBJECT will erase your command buffer and start with a new one. To view your current command buffer, use @EXAMINE ZONE
Example: @zone place
Section: zone
See also: @ZONE MOBILE <mobile number> <max existing>, @ZONE OBJECT <object number> <max existing>, @ZONE COPY, @EXAMINE ZONE

@ZONE PUT <object number> <in object number> <max existing>
Description: This will load a command in your buffer that will put the specified object in the last object referenced with the number specified by <in object number>. The command will check if the number of objects in the world with the same number as <object number> is not less than <max existing>. If the number is less than <max existing>, or <max existing >is set to -1 then the item will load. If the number is over or has reached its <max existing>, the game will check the object's chance of loading set by @OBJ CHANCE.

To use this command, you must already have an object command in your buffer. (see @ZONE EQUIP, @ZONE GIVE, @ZONE OBJECT) The if-flag for this command is automatically set. (see @ZONE IF)

See @ZONE PLACE for more information on actually implementing the command.
Example: @zone put 3144 3032 1
Section: zone
See also: @OBJ CHANCE <percent chance>

@ZONE RANDOM <object number> <max existing> <sector type>
Description: This command will place an object in the zone randomly. Sector type specifies what type of rooms the object is to load in. If the sector type has not been matched for about 50 iterations of trying to place the object the object will not be placed.
Example:
Section: zone
See also: @FLAG SECTOR <sector flag>

@ZONE RESET
Description: This command will force the immediate reset of the zone you are in. The word "reset" cannot be abbreviated.
Warning: This should be done only for testing, and NOT for the convenience of mortals.
Example: @zone reset
Section: zone
See also:

@ZONE RESET_MODE ("always" | "empty" | "never")
Description: Sets a conditional for whether a zone is to be reset when the lifespan timer is reached. Mode "always" means that no matter who is in the zone, it will reset. Mode "empty" means that the zone has to be empty of mortals at the time lifespan is reached. Mode "never" means the zone will never be reset.
Example: @zone reset_mode always
Section: zone
See also: @ZONE LIFESPAN <minutes>

@ZONE RIDE <command number>
Description: To use this command, the first command in your buffer must load a mobile. This command will cause the mobile in your buffer to ride the mobile loaded by the command specified. All other commands in your buffer will then be added afterwards.

Note that this command replaces the @zone place command, so @ZONE PLACE is not necessary.
Example: @zone ride 44
Section: zone
See also: @ZONE PLACE

@ZONE TOP <room>
Description: Used to set the range of rooms for the zone you are in. This is mainly used just for bookkeeping and catching mistakes. The game actually only uses the zone number specified for each room set by the @ZONE HERE <zone> command. The bottom of the next zone will be set to one higher than the top of the zone you are in.
Example: @zone top 18999
Section: zone
See also: @ZONE HERE <zone>