// /domains/Praxis/obj/mon/spider.c // Semi-Random spiders for the Pit of Spiders // Part of the Mortal Law system at Nightmare // Created by Manny@Nightmare 940831 #include <std.h> inherit MONSTER; create() { ::create(); set_name("spider"); switch(random(5)) { case 0: set_id( ({ "spider", "leaper", "black leaper" }) ); set_short("Black Leaper"); set_long("There are few spiders larger and more greusome than " "the infamous Black Leaper.."); set_level(20); set_spell_chance(50); break; case 1: case 2: set_id( ({ "spider", "timber spider", "giant timber spider" }) ); set_short("Giant Timber Spider"); set_long("A very large and ugly grey spider. It looks quite " "hungry."); set_level(random(3)+12); set_spell_chance(20); break; default: set_id( ({ "spider", "cave spider" }) ); set_short("Praxis cave spider"); set_long("A medium-sized black spider with a cresent-shaped " "moon on its tail end."); set_level(random(3)+8); break; } set_race("insect"); set_gender("male"); set_body_type("insectoid"); set_spells( ({"poison"}) ); set_aggressive(999999); set_die( (:"death_func":) ); } int death_func() { message("say", "%^RED%^"+this_object()->query_name()+" squeals out " "a loud shreak, then falls dead.", environment(this_object())); if(!present("spider", environment(this_object()))) { int x; message("say", "%^RED%^You notice additional spiders " "creeping in from cracks at the base of the pit!", environment(this_object())); for(x=0; x<10; ++x) { new("/"+__DIR__+"obj/mon/spider")->move(environment(this_object())); } } return 1; }