#include <mudlib.h> inherit ROOM; int counter; void reset(status arg) { counter = 0; if (arg) return; set_short("A dense rainforest"); set_long( "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"+ "After pushing through the endless growth of the rainforest, you finally\n"+ "come to the end of the river. Here, you find a small waterfall. the water\n"+ "is falling from the top of the cliff all the way to the bottom where\n"+ "the constant force of falling water has left a small hole in the ground\n"+ "at the base. The hole looks to be very deep.\n"+ "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"); set_exits(({ "players/sarak/minotaur/island/west4", "north", })); set_items(({ "rainforest#growth", "The forest has become incredibly thick with trees\n"+ "here. Perhaps due to the water falling from the cliff", "river", "The large river is totally dry", "waterfall#water", "Water falls from the top of the cliff to form this unique waterfall", "cliff#base", "This huge cliff would come close to beating the cliffs\n"+ "near Minotaur Castle when it comes to height!", "hole", "This small, but deep hole was formed by the constant force of\n"+ "the water falling from above. It is big enough for you to reach into", })); set_weather(1,4,2); } void init() { ::init(); add_action("reach", "reach"); } status reach(string where) { int i; object lep; string tmp; if (!where) { notify_fail("Reach where?\n"); return 0; } if(!sscanf(where, "into %s", tmp) == 1) { notify_fail("You can't reach like that!\n"); return 0; } if (tmp == "hole") { if(present("leprechaun")) { if (this_player()->query_level() > 10) { write("Leprechaun exclaims: Thief! Now I will kill you!\n"); say(this_player()->query_name()+" attempts to reach into"+ " the hole.\n"); lep->hit_player(5); return 1; } else { write("Leprechaun exclaims: Thief! I would kill you if you weren't"+ " such a wimp!\n"); say(this_player()->query_name()+" attempts to reach into"+ " the hole.\n"); return 1; } } if (counter == 0) { lep = clone_object("/players/sarak/minotaur/island/leprechaun"); move_object(lep, this_object()); if(this_player()->query_level() > 10) { write ("As you reach into the hole, a loony leprechaun\n"+ "appears from behins the waterfall!\n"); say("A Leprechaun appears from behind the waterfall.\n"); write("Leprechaun exclaims: Thief! Now you will die!\n"); lep->hit_player(5); } else { write("Leprechaun exclaims: Thief! I would kill you if you weren't"+ " such a wimp!\n"); say(this_player()->query_name()+" tries to reach into the hole.\n"); } counter = 1; return 1; } if (counter == 1) { i = random(4); if (i == 1) { write( "Digging through the mud, you find an anicent amulet.\n"); say(this_player()->query_name()+ " pulls an old amulet from the muddy hole.\n"); counter = 2; move_object(clone_object("players/sarak/magical/amulet"), this_player()); return 1; } else { write( "Digging through the mud, you find a mithral helmet.\n"); say(this_player()->query_name()+ " pulls a mithral helmet from the muddy hole.\n"); counter = 2; move_object(clone_object( "players/sarak/minotaur/island/helmet"), this_player()); return 1; } } if (counter == 2) { write("You plunge your hand into the hole, "+ "but find only mud.\n"); say(this_player()->query_name()+ " searches hopelessly through the muddy water hole.\n"); return 1; } } return 0; }