92 lines
2.7 KiB
C
92 lines
2.7 KiB
C
#include <lib.h>
|
|
|
|
inherit LIB_ROOM;
|
|
|
|
int dug;
|
|
string orig_long, dug_long;
|
|
string is_dug();
|
|
|
|
void init() {
|
|
::init();
|
|
add_action("read", "read");
|
|
add_action("dig", "dig");
|
|
}
|
|
|
|
void create() {
|
|
::create();
|
|
SetProperty("light", 2);
|
|
SetProperty("no castle", 1);
|
|
SetShort( "along West Road");
|
|
SetLong( (: is_dug :));
|
|
SetNoClean(1);
|
|
SetItems(
|
|
(["road" : "There is a mound of loose dirt piled by its side.",
|
|
"dirt" : "It is very loose.",
|
|
"hut " : "It looks very mystical.",
|
|
"sign" : "Those who can read are very fortunate indeed!",
|
|
"mound" : (: this_object(), "look_at_mound" :) ]) );
|
|
SetSkyDomain("town");
|
|
SetExits(
|
|
(["north" : "/domains/Praxis/west_road3",
|
|
"south" : "/domains/Praxis/west_road1",
|
|
"east" : "/domains/Praxis/medium"]) );
|
|
dug = 0;
|
|
}
|
|
|
|
void reset() {
|
|
::reset();
|
|
if(!dug) return;
|
|
dug = 0;
|
|
RemoveItem("hole");
|
|
RemoveExit("down");
|
|
call_other("/domains/Praxis/hole", "fixing_a_hole");
|
|
}
|
|
|
|
void look_at_mound() {
|
|
if(!dug) write("It looks as if someone dug a hole there, "
|
|
"then covered it back up.");
|
|
else write("It is a mound of dirt dug out from the hole beside it.");
|
|
}
|
|
|
|
int dig() {
|
|
if(!present("shovel", this_player()) && !present("spade", this_player())) {
|
|
notify_fail("You have nothing to dig with!\n");
|
|
return 0;
|
|
}
|
|
if(dug) {
|
|
notify_fail("Where are you going to dig?\n");
|
|
return 0;
|
|
}
|
|
write("You dig into the mound and uncover a hole.");
|
|
say(this_player()->query_cap_name()+" digs into the mound "
|
|
"and uncovers a hole.", this_player());
|
|
dug = 1;
|
|
AddItem("hole", "A hole where someone just dug into the ground by the mound by the road."); AddExit( "down", "/domains/Praxis/hole");
|
|
|
|
call_other("/domains/Praxis/hole", "digging");
|
|
return 1;
|
|
}
|
|
|
|
int query_dug() { return dug; }
|
|
|
|
int read(string str) {
|
|
if(str != "sign" && str != "door") {
|
|
notify_fail("Read what?\n");
|
|
return 0;
|
|
}
|
|
write("Mora's house of mysticism.\n"
|
|
"Learn yours or someone else's horoscope for the day.");
|
|
return 1;
|
|
}
|
|
|
|
string is_dug() {
|
|
if(!dug) return "You are in the middle of West Road where rural "
|
|
"huts line the sides of the road. One of the huts on the east side "
|
|
"has a sign hanging outside it. A mound of loose dirt covers part "
|
|
"of the west side of the road.";
|
|
else return "You are in the middle of west road where rural huts line "
|
|
"the sides of the road. One of the huts on the east side has a "
|
|
"sign hanging outside of it. A hole has been recently uncovered "
|
|
"on the west side of the road.";
|
|
}
|