Area Building

· Home
· Overview
· Helps
· Mobiles
· Objects
· Rooms
· Resets

· Shops
· Specials
· Time
· Weather
· Scripts



This file is a short manual on how to write room descriptions for Mirkwood (ROM 2.3). This format is based on ROM 'new format'. There are several EXAMPLES at the very end of this document.

 Note that exits have been redone on Mirkwood and are no longer compatible with standard ROM 2.3. If you have a standard 2.3 area, we do have a converter!
-Tomasin


The syntax for the rooms section of an area file is as follows:
#ROOMS

#<vnum:number>
<name:string> ~
<description:string
~
<area:number> <room-flags:number> <sector-type:number>
{
   D < keywords:string >~
   < door_string:string >~
   < description:string >
   ~
   < entrance_msg:string >~
   < exit_msg:string >~
   < exit_info:flags > < access_flags:flags > < exclusion_flags > < key:number > < to_room:number > < default_pos:flags >
}
{
   E
   < keywords:string>~
   < description:string>
~
}
{
   H, M, V
   < hp, mana, move regeneration rate modifiers>
}
S

.. more rooms ..
#0


---- Explanation ----

The <vnum> is the virtual number of a room, its unique identifying number, something like
a social security number.

The <name> is the name of the room. Surprised, ain't ya?

The <description> is composed of several sentence detailing the room. We recommend not more than 6-7 lines, as after that, it gets quite.. spammy.

The <area> number conventionally was the first 2 or 3 digits of your area (depending on if your room numbers were 4 or 5 digits). It's unused now,
so you can either follow convention or just put a 0 there.

The <room-flags> describe the various attributes of the room.

 ROOM_DARK                       A    if no chars in room have light, can't see
 ROOM_NO_MOB                 C    no mobs will enter the room
 ROOM_INDOORS                D    no weather
 ROOM_PRIVATE                  J    only 2 people max in room at any time
 ROOM_SAFE                        K    no fighting allowed in room
 ROOM_SOLITARY               L    only 1 person allowed in room
 ROOM_PET_SHOP              M    can buy pets (pet storage room must be vnum+1)
 ROOM_NO_RECALL          N    cannot recall (or gate, portal, teleport..)
 ROOM_IMP_ONLY             O    Only IMPS allowed in
 ROOM_GODS_ONLY          P    Only GODS (level 93 and up) allowed in
 ROOM_HEROES_ONLY     Q    Only Heroes (91 and up) allowed in
 ROOM_NEWBIES_ONLY   R    Only characters below level 5 allowed in
 ROOM_LAW                        S     No charmed aggies allowed in, no charming, no summon
 ROOM_WALLED_OFF        T    Togglable 'walled off' doors (morts can't get in)
 ROOM_NO_TELEPORT      U    Room cannot be teleported into or out of.
 ROOM_NO_CLERIC            V   Room cannot be accessed by a cleric
 ROOM_NO_MAGE              W   Room cannot be accessed by a mage
 ROOM_NO_THIEF               X    Room cannot be accessed by a thief
 ROOM_NO_WARRIOR        Y   Room cannot be accessed by a warrior
 ROOM_NO_THIEF                X   Room cannot be accessed by a thief
 ROOM_LEVEL_STRICT       Z    Only players within area's level range may enter
 ROOM_NO_MAGIC              a    No casting, no brewing, no scribing

<sector type>  describes the terrain. It has ramifications on movement costs and 'bumping'... trying to go in a non-exit direction. Also, some rooms require equipment to enter.. such as a boat, or the ability to fly. City rooms (streets, etc) and indoor rooms are considered 'lit'
unless there is an 'A' flag. All other rooms depend on the time of day. If there is at least one character with a light in the room, everyone can see.

 SECT_INSIDE            0  lit, unless 'A' flagged
 SECT_CITY              1  lit, unless 'A' flagged
 SECT_FIELD             2
 SECT_FOREST            3
 SECT_HILLS             4
 SECT_MOUNTAIN          5
 SECT_WATER_SWIM        6
 SECT_WATER_NOSWIM      7  need a boat to enter, items without 'float' flag or affected by 'bouyancy' spell will sink and vanish.
 SECT_UNUSED            8
 SECT_AIR               9  need to fly to enter
 SECT_DESERT            10
 SECT_OPPRESSIVE           11
SECT_UNDERWATER 12 take damage unless ACT_BREATHES_WATER
SECT_MAX 13
The order of SECT values here indicates cost of movement over the terrain, INSIDE being
the easiest and least costly, MAX being the hardest and most costly.
 


The next section describes any doors (exits with or without doors) for your room. The
links between rooms are 2-way, ie, room X is linked via a D section to room Y, and visa versa. The directions should match, ie, if room X has an exit south that leads to room Y,
room Y should have a door north leading to room X. (Note, this is not a RULE, and some tricky stuff can be created by violating this recommendation, but by and large, you should follow this most of the time. ) By default, you should try to use north, south, east, west, up
and down for your directions as scan works best with these. Possible support for northeast. etc may also be included soon.

A 'D section' for a room is described as follows:

   D <keywords:string>~
   <door string:string>~
   <description:string>
   ~
   <entrance_msg:string>~
   <exit_msg:string>~
   <exit_info:flags> <access_flags:flags> <exclusion_flags> <key:number> <to_room:number> <default_pos:flags>
You begin with the 'D' and then the list of keywords that can be used to manipulate the door. If north, south, east, west, up or down is anywhere in this list, the player may type just the direction (ie, "north") and go that direction (to support current functionality). If not, they must type 'go' and one of the keywords. The exits line in autoexit will use the first keyword.

The < door string > is the short string for display purposes when the exit is used.. such as when it is opened, or when a mob or player arrives or leaves using that exit. Note that if north, south, east, west, up or down is a keyword, this string may be left blank (ie, '~' on the line by iteself and a fill in will be used (the northern door, eg).

The <description> string is the short sentence that a character will receive if they 'look' in the direction of the door, or at the keyword. (ie, a door leading north might have 'You see the passage continue north.') The player will get 'Nothing special there.' if the description string
is blank.

The < entrance_msg > and < exit_msg > can be used to override the default messages used when the exit is being used (entered or exited). This message must include a $n in the place of where the character or mob's name should be. You may also use $m for him,her or it, $e for he, she, and it, and $s for his, her or its. A '$' should not be used anywhere else in
these strings. Again, if north, south, east, west, up or down are keywords, these strings may
be left blank and 'from the north' or 'leaves north' will be substituted as necessary. If non-standard keywords are used.. (ie, not north, east, etc), these strings should be filled in.

 The exit string is seen in the room the character just left, and the entrance string is seen the room she just entered. Thus both strings are used when the exit is used, one in the room they were in, and one in the room the exit leads too.

The exit_info flags are used to describe the type of barrier the exit is.

Open passway (no door)             0
Normal door (with or without lock) A
Closed                             B  (B and C will be overridden by
Locked                             C   the default pos if you have one.)
Pickproof                          D
Passproof                          E
Secret                             F (need detect hidden to see, use)
Random                             G (maze exit, randoms with other random
                                        exits in the room.  Replaces
                                        'R' resets)
Undectectable                      H (cannot be detected at all, good
                                        when used in conjunction with G)
Hidden                             I (need detect hidden to see, but can use
                                        no matter what)
No Scan                            J can't scan through this exit
The access flags detail some restrictions on characters who wish to use the exit. Currently supported flags:
No access flags                    0
ACCESS_FLY                         A (need to be flying to use this exit)
The exclusion flags restrict access to mobs/characters. Currently support flags:
No exclusions                      0
EXCLUDE_SMALL                      A (small and tiny may not use exit)
EXCLUDE_MEDIUM                     B (medium sized may not use this exit)
EXCLUDE_LARGE                      C (large, huge, and giant may not use)
The <key> number is the vnum of the object that works the lock of the door.
**NOTE!!** If there is no key, either because there is no door, no lock or just no key, put '-1', **NOT** 0.

The <to_room> number is the vnum of the room that the exit leads to.

Finally, the < default position > (which replaces 'D' resets) details the default state that the exit should be in when the area resets. Currently, we support 2 states:

No door or defaults open        0
POS_CLOSED                      A
POS_LOCKED                      B
You may (now) have as many exits in a room as you desire.


The E section allows for extended descriptions. The keywords provide the target, and the description is returned to the 'looker'. For example, a room might have the following E sections:
E
window~

A really nice super looking description describing the view out the 
window from this high tower.
E
throne seat~
The room might contain a throne described as a Imperial Seat.  Put that
description here.
A room may have as many E sections as desired.

The H, M, or V section allows you to alter the normal regeneration rates for this room. Legal values are 0 - 300.

For example, a room with the line:

H 200
M 0
V 100

Would regenerate twice the normal HP they would recieve, NO mana, and regular moves each tick.

These are not required, and all rooms without them default to:

H 100
M 100 
V 100


The room description MUST end with an S.


---- EXAMPLES ----

#11815
The Vestibule of the House of the Holies~
Frescoes of great antiquity adorn the plaster walls of this vestibule, a
grand spacious room opening up to the far grander Inner Sanctum. Depictions
of the lives of holy men and women, those divine exemplars of righteousness
and piety, create a sense of the sublime, of being in the presence of something
so awesome as to border on the incomprehensible. Difficult is the path of
the holy, yet how transcendent is the final destination.
~
0 CDKWXY 0
D north~
a massive wooden door~
Beyond this door lies sin and iniquity.
~
~
~
AB 0 0 -1 11767 A
D east~
~
A golden glow emanates from the Inner Sanctum.
~
$n arrives from the Vestibule to the west.~
$n heads east into The Inner Sanctum.~
0 0 0 -1 11816 0
S

#11801
The Rock Garden~
A small stream tumbles over rough-hewn blocks of pegmatite and splashes
through a rock garden set into a gentle slope. Green and yellow feldspar,
pale syenite, polished shards of quartz, and other geological beauties are
laid out in vibrant harmony. The trees stand a ways back, as if deciding not
to hide this garden from the heavens. The stream flows in from the north and
stretches off to the southwest.
~
0 0 3
D northwest~
~
A small grassy lawn, surrounded by weeping willows, lies just ahead.
~
~
~
0 0 0 -1 11822 0
D north~
~
Stone steps lead up a small hill.
~
~
~
0 0 0 -1 11823 0
D south~
~
Through the trees lies a park exit.
~
~
~
0 0 0 -1 11800 0
D southwest~
~
Ivy runs up the wooden trellises of a small gazebo.
~
~
~
0 0 0 -1 11817 0
D west~
~
A stone bench sits in a dense grove of weeping willows.
~
~
~
0 0 0 -1 11802 0
S