From the NannyMUD documentation

LAST CHANGE

2000-12-07

NAME

        room - A standard room.

INHERITS

        basic_room

FUNCTIONS

SETUP FUNCTIONS

        add_object
        remove_object

PROPERTIES

INTERNAL PROPERTIES


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 object

SYNTAX

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/room

SEE ALSO

        lib in std/misc/lib

FUNCTION


NAME

        remove_object - the opposite of add_object

SYNTAX

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