/**
* This is the room used by the transports to figure out where they
* should regenerate themselves.
* @author Pinkfish
* @started Wed Sep 22 16:52:37 PDT 1999
*/
inherit "/std/room/basic_room";
inherit "/std/basic/virtual_quit_control";
#define TRANSPORT_LOCATION "transport start"
void setup() {
set_long("A room with bunches of horses and camels milling around in "
"chunks. You think you have never seen quite so many "
"transport animals ever before.\n");
set_short("transport start");
} /* setup() */
/** @ignore yes */
void player_quitting( object player, object place ) {
// Add a short term property (we save again immediately).
tell_creator( "goldenthread", "adding property with player %O and place "
"%O with environment %O\n", player, place,
environment( place ) );
player->add_property( TRANSPORT_LOCATION,
find_start_pos( player, environment( place ) ), 180 );
} /* player_quitting() */
/** @ignore yes */
void event_enter( object ob ) {
string location;
// Something came in here!
location = ob->query_property( TRANSPORT_LOCATION );
tell_creator("goldenthread", "location: %s\n", location );
if ( !location ) {
// Do something wild!
location = ob->query_start_pos();
}
tell_creator( "goldenthread", "final location: %s\n", location );
ob->move( location );
} /* event_enter() */