/* Filename : rat.c
* Description : An infective rat
*
* written : 06-01-1998 - Gunner
* last modified : 02-06-1998 - Gunner
* HTML-Version : 13-02-2000 - Ghorwin
*/
#include <mudlib.h>
inherit I_MONSTER;
#define FUNC "/doc/crashcourse/course14/ratfuncs"
create()
{
::create();
set_name("dirty rat");
add_id("rat");
set_short("A dirty rat");
set_long("This is a carrier of diseases.\n");
set_level(10);
load_a_chat(20,({(:call_other,FUNC,"infect",this_object():)}));
replace_program(I_MONSTER);
}
/* Filename : ratfuncs.c
* Description : the functionfile for rat.c
*
* written : 06-01-1998 - Gunner
* last modified : 02-06-1998 - Gunner
* HTML-Version : 13-02-2000 - Ghorwin
*/
#include <mudlib.h>
inherit I_DAEMON;
#define RAT_DISEASE "/doc/crashcourse/course14/ratdisease"
int
infect(object rat)
{
tell_object(rat->query_attack(),"The rat bites your hand.\n");
// If the disease fails, the object is destroyed automagically, so
// there's no need for us to do it.
new(RAT_DISEASE)->disease_victim(rat->query_attack(),rat);
return 1;
}
string
hurt(object victim, string diseasename)
{
return "You feel rather uncomfortable. *puke*\n";
}
/* Filename : ratdisease.c
* Description : the disease for rat.c
*
* written : 06-01-1998 - Gunner
* last modified : 02-06-1998 - Gunner
* HTML-Version : 13-02-2000 - Ghorwin
*/
#include <mudlib.h>
inherit I_DISEASE;
#define FUNC "/doc/crashcourse/course14/ratfuncs"
create()
{
::create();
set_disease_name("rat plague");
set_end_time(180); // 3 minutes runtime
set_base_damage(20);
set_random_damage(10);
set_interval_time(20);
set_interval_random_time(10);
set_victim_start_msg("You feel a bit sick.\n");
set_other_start_msg("$N appears to be feeling unwell.\n");
set_victim_hurt_msg((:call_other,FUNC,"hurt":));
set_other_hurt_msg("$N appears to be sick.\n");
set_victim_stop_msg("Ahhhh... You feel a whole lot better.\n");
set_other_stop_msg("$N seems to be feeling better.\n");
set_disease_look("$O seems to be awfully sick.\n");
set_str_reduce(2);
set_dex_reduce(2);
replace_program(I_DISEASE);
}