/* -*- LPC -*- */ /* * $Locker: $ * $Id: boomerang_return.c,v 1.1 1998/09/26 10:17:13 terano Exp $ * * */ /** * This is the effect skeleton docs. This effect * has a classification of "body.arm.boomerang". * <p> * Describe the arguments in here. * <p> * @classification body.arm.boomerang * @see help::effects */ #include <effect.h> int delay; string msg = ""; /** @ignore yes */ string query_classification() { return "body.arm.boomerang"; } /** @ignore yes */ void beginning( object player, int duration ) { delay = 0; player->submit_ee( "return_check", duration, EE_CONTINUOUS ); } /* beginning() */ /** @ignore yes*/ void return_check( object player, int duration ) { if( environment( player )->query_property( "location" ) != "outside" ) { switch( delay ) { case 0 : msg = "You get a slight feeling you have forgotten something.\n"; break; case 1 : msg = "A sixth sense tells you that you left something behind.\n"; break; case 2 : msg = "You remember that you threw your boomerang while outside.\n"; break; case 3 : msg = "You guess that if you don't get outside very soon, you'll " "lose your boomerang forever.\n"; break; default : player->submit_ee( 0, 0, EE_REMOVE ); return; break; } ++delay; tell_object( player, msg ); return; } player->submit_ee( 0, 0, EE_REMOVE ); } /* return_check() */ /** @ignore yes */ void end( object player ) { object boomerang; if( environment( player )->query_property( "location" ) != "outside" ) { tell_object( player, "You get a nasty feeling that your boomerang is " "not coming back.\n" ); return; } boomerang = clone_object( "/d/am/items/boomerang" ); boomerang->boomerang_returned( player ); } /* end() */