/* Basic situation room - Shaggy */
#include <situations.h>
#include "defs.h"
inherit OUTSIDE_OBJ;
void setup() {
/* The "commented functions" and "keywords" properties are specific for
* rooms in the learning domain and is used to make it possible to search
* for subjects.
* See /d/learning/handlers/search.c for the way this is done.
*/
add_property( "commented functions",
({ }) );
add_property( "keywords",
({ "situation" }) );
set_short("Situation with a background state example room");
set_light(100);
set_long("This is a situations example that is automated "
"and makes use of a background situation. "
"This means that when the automated manager has not "
"fired up the labelled automated situations you specified "
"there is another situation that goes by default the rest "
"of the time. It is marked in the list by having -1 "
"for its duration. "
"Please more here to see how it is done.\n"
"%^CYAN%^Functions shown:%^RESET%^\n"
"%^YELLOW%^add_situation, automate_situation.%^RESET%^\n");
add_exit("back", SIT+ "sitroom4","path");
add_exit("exit", ROOMSCH+"start","path");
/* This is the background for the tramp */
add_situation( "tramp_sleeping",
new(class situation,
chats: ({"The tramp snores." }),
chat_rate: ({ 60,120 }),
extra_look: "There is a tramp sleeping here.",
add_items: ({ ({ "tramp",
"There is dusty and fairly dirty tramp curled up and sleeping "
"at one side of the road." }) })
)
);
/* This is the tramp awake */
add_situation( "tramp_awake",
new(class situation,
start_mess: "The tramp leaps to his feet, instantly alert.",
chats: ({"The tramp produces some brightly coloured balls and juggles "
"them.",
"The tramp does a handstand.",
"The tramp leaps into the air and touches his toes.",
"The tramp does a little dance.",
"Dust billows from the frenetic tramp's clothes."
}),
chat_rate: ({ 20,30 }),
extra_look: "There is a tramp bouncing around here.",
add_items: ({ ({ "tramp",
"The dusty tramp is bright eyed and very awake." }) }),
end_mess: "The tramp flops to the ground and slowly curls into a ball."
)
);
/* This makes the "tramp_awake' situation above occur automatically and
randomly through the day. WHEN_ANY_TIME specifies that it can happen
at any time of day. more /include/situations.h to get the list
of possible times of day filters. 300 is the chance out of 1000
that the situation is started every 61 seconds. The "tramp_sleeping"
is not part of the set because it has -1 for a duration. It
occurs whenever "tramp_awake" is off. */
automate_situation( ({ "tramp_sleeping", "tramp_awake" }),
({ -1, 61 }) , WHEN_ANY_TIME, 300 );
} /* setup() */