From the NannyMUD documentation
2000-12-07
room - A standard room.
basic_room
add_object remove_object
PROPERTY NAME
no_smart_items - Turn off the 'smart-item' handling.DESCRIPTION
If you set this property, it prevents all 'default' items, such as sky, floor, etc. It also prevents those items prevented by 'some_smart_items'.PROPERTY NAME
some_smart_items - Prevent 'You see nothing special's.DESCRIPTION
If you set this, the room will not deliver the 'you see nothing special' for words in the long description.PROPERTY NAME
default_exit_message - Set your own 'You walk into a wall.' message.DESCRIPTION
If you have set this property, the room will use the value instead of the standard 'You walk into a wall. *BONK*\n' message when you walk in a direction where there is no exit.PROPERTY NAME
no_default_exit_messages - Prevent the 'You walk into a wall.' messages.DESCRIPTION
If you have set this property, the room will generate no messages like 'You walk into a wall. *BONK*\n' when you walk in a direction where there is no exit.
DESCRIPTION
This room object offers: + Smarter clean up + Default items + Default actions on 'north', 'south', etc.
FUNCTION
NAME
add_object - Add a resident objectSYNTAX
void add_object(mixed ob)DESCRIPTION
Given a filename, this function will clone that object every reset and move it to this room, unless: 1) The object is still in the room 2) The object is a monster, and still alive You can also give an already cloned object as argument. This tells the room that the object was cloned here and that destructing it in clean_up is not a loss, i.e. the room will be cleaned out if not accessed for some time, even if the object is still here. Yet another option is to give it a string in the format "a {something}" or "an {something}" in which case add_object will call "/std/lib"->make("{something}") to clone the object.NOTE
You need a ::reset(arg) first in you reset(arg) for this function to work. Also, calling this function _every_ reset will make you wind up with a lot of objects in your room, so don't do that. Usually, you want to have the add_object() call in the part of reset executed when the room is created, i.e. reset(0). If then reset is called again with an argument of 0, you get yet another object added. This usually happens when some wizard patches reset, without knowing what he/she/it is doing.EXAMPLE
add_object("@make_knight()"); add_object("an orc"); add_object("/std/items/beer");SEE ALSO
remove_object in std/line/line_control remove_object in std/misc/simple_container remove_object in std/room/roomSEE ALSO
lib in std/misc/lib
FUNCTION
NAME
remove_object - the opposite of add_objectSYNTAX
void remove_object(mixed ob)DESCRIPTION
This function removes a file from the list to clone every reset. Note that it does not destruct already cloned objects.SEE ALSO
add_object in std/line/line_control add_object in std/misc/simple_container add_object in std/monster/basic_monster add_object in std/room/room