/* -*- LPC -*- */
/*
* $Locker: $
* $Id: bug_effect.c,v 1.1 1998/01/06 04:19:27 ceres Exp $
* $Log: bug_effect.c,v $
* Revision 1.1 1998/01/06 04:19:27 ceres
* Initial revision
*
*/
/**
* This is the effect skelton docs. This effect
* has a classification of "object.bug".
* <p>
* Describe the arguments in here.
* @classification object.bug
* @see help::effects
*/
#include <effect.h>
/** @ignore yes */
void beginning( object player, int time, int id ) {
if (time == 0) {
/* Make up our own time... */
time = 30*60;
}
/* about every 7 minutes... */
player->submit_ee( "create_bug", ({ 5*60, 5*60 }), EE_CONTINUOUS );
player->submit_ee( 0, time, EE_REMOVE );
} /* beginning() */
/** @ignore yes */
void end( object player, int time, int id ) {
} /* end() */
void create_bug( object player, int time, int id ) {
object bug;
object room;
string env_string;
object *ignore;
bug = clone_object("/obj/monster/cockroach");
room = environment(player);
env_string = player->the_short();
ignore = ({ });
while (room) {
if (room == environment(player) && living(player)) {
tell_object(player, env_string+" have "+bug->a_short()+
" suddenly pop out of your "
"ear.\n");
ignore += ({ player });
tell_room(room, env_string+" has "+bug->a_short()+
" suddenly pop out of "+
player->query_possessive()+
" ear.\n", ignore);
} else if (living(player)) {
tell_room(room, env_string+" has "+bug->a_short()+
" suddenly pop out of "+
player->query_possessive()+
" ear.\n", ignore);
} else {
tell_room(room, env_string+" has "+bug->a_short()+
" suddenly pop out of it.\n", ignore);
}
if (living(room))
ignore += ({ room });
env_string = env_string + " in " + room->the_short();
if (!environment(room))
bug->move(room);
room = environment(room);
}
} /* create_bug() */
/** @ignore yes */
string query_classification() { return "object.bug"; }