Difference between revisions of "Manual:Game Mechanics/Rooms"

From DikuMUD Wiki
Jump to navigation Jump to search
(Created page with "This might belong better in a builder's tutorial Room Creation Document Name: room.doc Version: 1.1...")
 
Line 1: Line 1:
 
This might belong better in a builder's tutorial
 
This might belong better in a builder's tutorial
  
                          Room Creation
+
== Room Creation ==
 
                                  
 
                                  
 
Document Name:    room.doc
 
Document Name:    room.doc
Line 10: Line 10:
  
 
Short Description:
 
Short Description:
This document describes special interesting tricks and macros  for
+
This document describes special interesting tricks and macros  for use with rooms.
use with rooms.
 
   
 
  
 
1. Secret Doors
 
1. Secret Doors
Line 18: Line 16:
 
exits open flags, for example:
 
exits open flags, for example:
  
east  to  treasure_room keywords {“secret door”“door”“wall”,
+
east  to  treasure_room keywords {"secret door""door""wall", "crack"} open {EX_OPEN_CLOSE, EX_HIDDEN}
“crack”} open {EX_OPEN_CLOSE, EX_HIDDEN} descr “You notice a small
+
descr "You notice a small crack in the wall!"
crack in the wall!”
 
  
Notice  that  it  is  important to specify  the  possible  “search
+
Notice  that  it  is  important to specify  the  possible  "search
keywords” as well as the “door keywords”. If you for example  omit
+
keywords" as well as the "door keywords". If you for example  omit
“wall” or  “crack” then a command of “search wall” will  always
+
"wall" or  "crack" then a command of "search wall" will  always
 
fail!
 
fail!
 +
 
You  must  specify how difficult it is to find the door  with  the
 
You  must  specify how difficult it is to find the door  with  the
 
search  skill. The difficulty is specified in % and when it equals
 
search  skill. The difficulty is specified in % and when it equals
Line 39: Line 37:
 
find  it.  And  as  above  it is a good  idea  to  make  direction
 
find  it.  And  as  above  it is a good  idea  to  make  direction
 
descriptions  and also apply extra descriptions for keywords  like
 
descriptions  and also apply extra descriptions for keywords  like
“wall”, “crack”, etc.
+
"wall", "crack", etc.
  
 
2. Rooms in rooms
 
2. Rooms in rooms
A  room  can  be placed inside another room with the ‘in’ keyword
+
A  room  can  be placed inside another room with the "in" keyword
 
(see VMC.txt document).
 
(see VMC.txt document).
  
Line 56: Line 54:
 
however be situations in which it is reasonable to give an  amount
 
however be situations in which it is reasonable to give an  amount
 
of  damage  to  characters.  For this purpose  we  have  made  the
 
of  damage  to  characters.  For this purpose  we  have  made  the
SFUN_DEATH_ROOM  [“<damage number>”] function. The  function  will
+
SFUN_DEATH_ROOM  ["<damage number>"] function. The  function  will
 
damage  players at every specified interval with the damage amount
 
damage  players at every specified interval with the damage amount
 
specified, for example:
 
specified, for example:
  
     special SFUN_DEATH_ROOM “100” time PULSE_SEC*10
+
     special SFUN_DEATH_ROOM "100" time PULSE_SEC*10 [OBSOLETE]
  
 
will  give 10.0 damage points to players inside the room.  If  the
 
will  give 10.0 damage points to players inside the room.  If  the
Line 73: Line 71:
 
specified by the:
 
specified by the:
  
flags {UNIT_FL_SACRED}
+
  flags {UNIT_FL_SACRED}
  
6. “Buffer rooms”
+
6. "Buffer rooms"
 
In  the  case that you have two dangerous monsters in two adjacent
 
In  the  case that you have two dangerous monsters in two adjacent
 
rooms,  it is often a good idea to insert a buffer room  to  avoid
 
rooms,  it is often a good idea to insert a buffer room  to  avoid

Revision as of 08:06, 27 May 2020

This might belong better in a builder's tutorial

Room Creation

Document Name: room.doc Version: 1.10 Author: Michael Seifert (seifert@diku.dk) Questions to: seifert@diku.dk Document intended for: World Creators

Short Description: This document describes special interesting tricks and macros for use with rooms.

1. Secret Doors To make a secret door, you must set the EX_HIDDEN flag on the exits open flags, for example:

east to treasure_room keywords {"secret door", "door", "wall", "crack"} open {EX_OPEN_CLOSE, EX_HIDDEN} descr "You notice a small crack in the wall!"

Notice that it is important to specify the possible "search keywords" as well as the "door keywords". If you for example omit "wall" or "crack" then a command of "search wall" will always fail!

You must specify how difficult it is to find the door with the search skill. The difficulty is specified in % and when it equals the players skill level, he has a 50% chance of spotting the door. Roughly the difficulty percentage should equal the intended player level. Combined with the above example, lets say you intend a level 35 to be the average searcher, you would type:

SECRET_DOOR_DIFFICULTY(EAST, 35)

I can recommend that you make room descriptions hinting to the presence of the door since it will otherwise be near impossible to find it. And as above it is a good idea to make direction descriptions and also apply extra descriptions for keywords like "wall", "crack", etc.

2. Rooms in rooms A room can be placed inside another room with the "in" keyword (see VMC.txt document).

3. Force move The special function SFUN_FORCE_MOVE can be used to make persons automatically move to another room at specified time intervals. It is perfect for situations like a teleporting closet (a room in a room with a force move), a river that makes you drift along with the stream (and perhaps down a waterfall), etc.

4. Death rooms We do discourage the use of rooms with certain-death. There may however be situations in which it is reasonable to give an amount of damage to characters. For this purpose we have made the SFUN_DEATH_ROOM ["<damage number>"] function. The function will damage players at every specified interval with the damage amount specified, for example:

    special SFUN_DEATH_ROOM "100" time PULSE_SEC*10 [OBSOLETE]

will give 10.0 damage points to players inside the room. If the character has no means of escaping he is almost certainly doomed (unless he possesses means of teleporting). Make damage rooms reasonable, escapable and avoidable. Nothing discourages exploration of a zone more than a certain death damage room.

5. Sacred rooms Remember that it can often be a good idea to insert a sacred room in your zone, especially in beginner areas. A sacred room is specified by the:

 flags {UNIT_FL_SACRED}

6. "Buffer rooms" In the case that you have two dangerous monsters in two adjacent rooms, it is often a good idea to insert a buffer room to avoid players fleeing from one monster into the certain death of the other monster. This of course depends completely on the situation. A good example of such a design is the tiamat zone where when players fight one dragon the have 50% risk of fleeing into the arms of another dragon.