/** * This effect has a classification * of "body.look.powered". * <p> * @author Shaggy * @classification body.look.powdered * @see help::effects */ #include <effect.h> #define TO this_object() /** @ignore yes */ string query_classification() { return "body.look.powdered"; } /** @ignore yes */ mixed beginning( object player, string colour ) { player->submit_ee( 0, 600, EE_REMOVE ); player->add_extra_look( TO ); return ({ colour }); } /* beginning() */ /** @ignore yes */ mixed merge_effect( object player, mixed oldcol, string newcol ) { int newtime; newtime = 600 + player->expected_tt(); if( newtime > 1200 ) newtime = 1200; if( newtime < 0 ) newtime = 0; player->submit_ee( 0, newtime, EE_REMOVE ); if (member_array(newcol,oldcol)==-1) oldcol+=({ newcol }); return oldcol; } /* merge_effect() */ void restart( object player ) { player->add_extra_look( TO ); } /* restart() */ /** @ignore yes */ void end( object pl, mixed arg, int id ) { pl->remove_extra_look(this_object()); } /* end() */ /** @ignore yes */ string extra_look( object pl ) { int *enums; enums = pl->effects_matching( "body.look.powdered" ); if ( !sizeof( enums ) ) return ""; if (pl->query_room_size()) return "Someone has sprinkled " +query_multiple_short(pl->arg_of(enums[0]))+ " around here.\n"; return pl->query_pronoun()+" is dusted with " +query_multiple_short(pl->arg_of(enums[0]))+".\n"; }/* extra_look() */