#include <mudlib.h>
inherit ROOM;
object prince, sword;
void reset(status arg) {
if (!present("radagast")) {
/* Radagast's Definition */
prince = clone_object (MONSTER);
prince->set_name("radagast");
prince->set_alias("prince");
prince->set_short("Radagast the Evil Prince");
prince->set_long(
"This is the Evil Minotaur Prince. He is very evil and very angry\n"+
"with you for waking him up!!\n");
prince->set_level(13);
prince->set_gender(1);
prince->set_race("minotaur");
prince->set_ac(10);
prince->set_hp(260);
prince->set_max_hp(260);
prince->set_al(300);
prince->add_money(250);
move_object(prince, this_object());
/* Weapon definition */
sword = clone_object(WEAPON);
sword->set_name("sword");
sword->set_short("Evil Prince's Sword");
sword->set_long(
"This sword was taken from the Evil Minotaur Prince.\n"+
"He was probably killed when someone woke him up!\n");
sword->set_length(54);
sword->set_weight(5);
sword->set_wc(16);
sword->set_type("cleave");
sword->set_value(3500);
move_object(sword, prince);
prince->init_command("wield sword");
prince->set_wc(17);
}
if(!arg) {
set_short("Evil Prince's Room");
set_long(
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"+
"You have stumbled into the evil prince's room. This is where he sleeps\n"+
"and hides from those he has stolen from. This room has been neglected\n"+
"compared to the other sections of the castle. There is also a bed here.\n"+
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
set_weather(2,2,0);
set_items(({
"lever", "Perhaps if you were to pull it...",
"bed", "This is where Radagast sleeps. It provides a good place to hide",
}));
}
}
void init() {
::init();
add_action("pull", "pull");
add_action("hide", "hide");
}
status pull(string lev) {
if (!lev) {
notify_fail("Pull what\n");
return 0;
}
if (lev == "lever") {
if (!present("prince")) {
say (this_player()->query_name()+" pulls the lever and is returned to"+
"the\ncastle");
write(
"You pull the lever. A grinding noise comes from within the walls as\n"+
"they begin to move! The whole wall turns around taking you with it!\n"+
"You are thrown to the ground as the wall stops abruptly to turn back\n"+
"to it's original position.\n");
this_player()->move_player("mysteriously#players/sarak/minotaur/castle1");
return 1;
}
else {
write ("The prince will not let you leave!!\n");
return 1;
}
}
notify_fail("Pull what?\n");
return 0;
}
status hide(string jmp) {
string what;
if (!jmp) {
notify_fail("Hide where?\n");
return 0;
}
if (!sscanf(jmp, "under %s", what) == 1) {
notify_fail("Hide under what?\n");
return 0;
}
if (what == "bed" || what == "the bed") {
if (present("prince")) {
write("You poke the prince in the eyes and jump under the bed. Once\n"+
"the prince manages to get his sight back, he looks around but\n"+
"cannot find you. He stands there waiting anyway...\n");
say (this_player()->query_name()+" pokes Radagast in the eyes and\n"+
"jumps under the bed!\n");
}
else {
write ("You quickly jump under the bed.\n");
say (this_player()->query_name()+" jumps under the bed.\n");
}
this_player()->move_player(
"to hide under the bed#/players/sarak/minotaur/under_bed");
return 1;
}
else {
notify_fail("Hide under what?\n");
return 0;
}
}