/* -*- LPC -*- */ /* * $Locker: $ * $Id: life_saving.c,v 1.1 1998/01/06 04:06:32 ceres Exp $ * $Log: life_saving.c,v $ * Revision 1.1 1998/01/06 04:06:32 ceres * Initial revision * */ /** * This is the effect skelton docs. This effect * has a classification of "magic.health.life-saving". * <p> * Describe the arguments in here. * <p> * This effect has a shadow associated with it. * @classification magic.health.life-saving * @see help::effects */ #include "path.h" #include <effect.h> /** @ignore yes */ string query_classification() { return "magic.health.life-saving"; } int query_indefinite() { return 1; } /** @ignore yes */ void beginning( object player ) { player->submit_ee( "count_things", 0, EE_ONCE ); } /* beginning() */ /** @ignore yes */ void merge_effect( object player ) { player->submit_ee( "count_things", 0, EE_ONCE ); } /* merge_effect() */ /** @ignore yes */ void end( object player ) { return; } /** @ignore yes */ string query_shadow_ob() { return SHADOWS +"life_saving"; } int test_for_effect( object thing ) { return member_array( file_name( this_object() ), (string *)thing->query_wear_effects() ) != -1; } /* test_for_effect() */ void count_things( object player, mixed dummy, int id ) { object *things; things = filter_array( (object *)player->query_armours(), "test_for_effect", this_object() ); if ( sizeof( things ) ) player->set_arg_of( (int)player->sid_to_enum( id ), things ); else player->delete_effect( (int)player->sid_to_enum( id ) ); return; } /* count_things() */