/* -*- LPC -*- */ /* * $Locker: $ * $Id: watch.c,v 1.3 2001/11/07 21:28:07 pinkfish Exp $ * $Log: watch.c,v $ * Revision 1.3 2001/11/07 21:28:07 pinkfish * Stop dead people from watching. * * Revision 1.2 1999/10/15 06:20:36 taffyd * Added watch stop. * * Revision 1.1 1998/01/06 05:28:43 ceres * Initial revision * */ #define COST 50 inherit "/cmds/base"; mixed cmd() { if ( this_player()->query_blinded() ) { add_failed_mess( "How can you watch anything? You're blind.\n" ); return 0; } if (this_player()->query_property("dead")) { add_failed_mess( "Dead people don't watch. It is rude!\n"); return 0; } if ( sizeof( (int *)this_player()->effects_matching( "mind.alertness" ) ) ) { add_failed_mess( "You are already alert and watching " "your surroundings.\n" ); return 0; } if ( this_player()->query_specific_gp( "other" ) < COST ) { add_failed_mess( "You can't concentrate enough to watch " "your surroundings.\n" ); return 0; } this_player()->adjust_gp( -COST ); this_player()->add_effect( "/std/effects/other/alertness", 60 + (int)this_player()->query_skill_bonus( "other.perception" ) / 2 ); return 1; } /* cmd() */ int stop_watching() { int *enums, id; enums = this_player()->effects_matching( "mind.alertness" ); if ( sizeof( enums ) ) { foreach( id in enums ) { this_player()->delete_effect( id ); } } else { add_succeeded_mess( ({ "You are not currently watching!\n", "" }) ); } return 1; } /* stop_watching() */ mixed *query_patterns() { return ({ "stop", (: stop_watching() :), "", (: cmd() :) }); } /* query_patterns() */