/* -*- LPC -*- */
/*
* $Locker: $
* $Id: deadpet.c,v 1.2 1999/09/06 01:50:04 shaggy Exp $
* $Log: deadpet.c,v $
* Revision 1.2 1999/09/06 01:50:04 shaggy
* type fixed
*
* Revision 1.1 1998/01/06 04:20:30 ceres
* Initial revision
*
*/
/**
* This is the effect skelton docs. This effect
* has a classification of "priest.dead.pet".
* <p>
* Describe the arguments in here.
* <p>
* This effect has a shadow associated with it.
* @classification priest.dead.pet
* @see help::effects
*/
#include <effect.h>
#include "path.h";
/* arg is {type, gender, name }
*/
/** @ignore yes */
string query_classification() {return "priest.dead.pet";}
/** @ignore yes */
string query_shadow_ob() {return "/std/shadows/other/deadpet";}
/** @ignore yes */
int survive_death() {return 1;}
/** @ignore yes */
void end(object player);
void rem_pet(object player);
void weakening(object player);
/** @ignore yes */
mixed beginning(object player, mixed *arg) {
player->remember_pet( arg );
player->submit_ee( "weakening", 19200, EE_ONCE );
player->submit_ee( "rem_pet", 28800, EE_ONCE );
tell_object( player, "You notice with frustration that $C$"+ arg[ 2 ]
+" has died. You must hurry to a priest, before "+
({"it","he","she"})[ arg[ 1 ] ]+
" takes the long walk.\n");
return player->query_info();
}
/** @ignore yes */
mixed merge_effect(object player, mixed *arg1, mixed *arg2, int id) {
if(!arg2[0]) return player->query_info();
player->set_add();
/** @ignore yes */
return beginning(player, arg2);
}
void weakening( object player ) {
if( player->num_dead_pets() ) {
tell_object( player, "You start to feel less hurt by the loss of your pet.\n");
}
} /* weakening_message */
void rem_pet( object player) {
mixed *arg;
arg = player->really_remove_pet();
tell_object( player, "Your final thoughts of $C$"+ arg[ 2 ]
+" are happy recollections of the fine times you "
"had.\n");
if(!player->num_dead_pets()) {
player->delete_effect(player->effects_matching("priest.dead.pet")[0]);
}
} /* rem_pet() */
/** @ignore yes */
void end(object player) {
}