/** * This effect has a classification * of "exploded.apples". * <p> * @author mooples * @classification exploded.apples * @see help::effects * @changes Rewritten by Terano, 7 April, 1998 */ #include <effect.h> /** @ignore yes */ void beginning( object player, int time ) { if (time > 1800) time = 1800; tell_object( player, "Pieces of apple start to drip off you.\n" ); tell_room( environment( player ), (string)player->the_short() + " starts to drip apple " "pieces.\n", player); player->submit_ee( "do_spam", ({ 40, 40 }), EE_CONTINUOUS ); player->submit_ee( 0, time, EE_REMOVE ); player->add_extra_look( this_object() ); } /* beginning() */ /** @ignore yes */ int merge_effect( object player, int time1, int time2 ) { int newtime; newtime = (time1 > time2 ) ? time1 : time2; newtime = ( newtime > 1800 ) ? 1800 : newtime; player->submit_ee( 0, newtime, EE_REMOVE ); return newtime; } /* merge_effect() */ /** @ignore yes */ void end( object player, int time ) { if ( !player->query_property( "dead" ) ) tell_object( player, "You finally manage to shake off the last " "piece of apple.\n" ); player->remove_extra_look( this_object() ); } /* end() */ void do_spam( object player ) { switch ( random( 10 ) ) { case 0 : player->new_parser( "cough" ); break; case 1 : tell_object( player, "You reach up and pull a bit of apple " "from your left ear.\n" ); tell_room( environment( player ), (string)player->the_short() +" pulls a piece of apple from "+ player->query_possessive() +" left ear.\n", player); break; case 2 : tell_object( player, "You sniff loudly and choke as apple " "pulp get sucked up your nose.\n" ); tell_room( environment( player ), (string)player->the_short() +" sniffs loudly and chokes as "+ player->query_pronoun() +" inhales something " "squishy.\n", player); break; case 3 : tell_object( player, "You shake your head spraying apple " "everywhere.\n" ); tell_room( environment( player ), (string)player->the_short() +" shakes "+player->query_possessive()+" head " "spraying you with apple pieces.\n", player); break; case 4 : tell_object( player, "You squeeze some of the apple juice " "from your clothes.\n" ); tell_room( environment( player ), (string)player->the_short() +" squeezes "+player->query_possessive()+" clothes " "dripping apple juice everywhere.\n", player); break; case 5 : player->new_parser( "sigh" ); break; case 6 : tell_object( player, "You sigh as a lone drop of apple juice " "hangs from your nose.\n" ); tell_room( environment( player ), (string)player->the_short() +" sighs and stares at a drip hanging from " +player->query_possessive()+" nose.\n", player); break; case 7 : tell_object( player, "You cough and pieces of apple spray " "everywhere.\n" ); tell_room( environment( player ), (string)player->the_short() +" coughs small pieces of apple everywhere.\n", player); break; case 8 : tell_object( player, "You take off your shoes and scoop the " "apple bits out.\n" ); tell_room( environment( player ), (string)player->the_short() +" takes off "+ player->query_possessive()+" shoes " "and scoops out apple pieces.\n", player); break; default : tell_object( player, "You put your finger in your ear and " "scoop out some apple pulp.\n" ); tell_room( environment( player ), (string)player->the_short() +" sticks "+ player->query_possessive()+" finger " "in "+player->query_possessive()+" ear and scoops " "out some squishy apple bits.\n", player); } } /* do_spam() */ /** @ignore yes */ string query_classification() { return "exploded.apples"; } /** @ignore yes */ string extra_look( object player ) { return capitalize( player->query_pronoun()+" looks " "like "+player->query_pronoun()+" was just ambushed by an " "apple tree.\n" ); }/* end query_extra_look() */