INCLUDE "stdproc.adl";
NOUN startrm, brightroom; /* Locations in the dungeon */
startrm(LIGHT) = TRUE; brightroom(LIGHT) = TRUE;
cg = Proc() {"You can't go that way.\n";}
startrm(LDESC) = Proc()
{
"You are in a small but comfortable room. You hardly want ",
"to leave, but there is a door leading east, if you insist.\n";
}
startrm (SDESC) = Proc() {"Comfortable room.\n";}
startrm(ACTION) = Proc()
{
$miss( cg, cg, 0, cg, 0, 0, 0, 0, 0, 0);
$hit($ME, 0, 0, brightroom, 0, 0, 0, 0, 0, 0, 0);
}
brightroom(LDESC) = Proc()
{
"You are in a brightly lit room. The walls sparkle with ",
"scintillating lights. There is a darker room to the west.\n";
}
brightroom(SDESC) = Proc() {"Bright room.\n";}
brightroom(ACTION) = Proc()
{
$miss( cg, cg, cg, 0, 0, 0, 0, 0, 0, 0);
$hit($ME, 0, 0, 0, startrm, 0, 0, 0, 0, 0, 0);
}
ADJEC red, blue;
NOUN red pillow(startrm), blue pillow(startrm);
red pillow(LDESC) = Proc() {"There is a red pillow here.\n";}
red pillow(SDESC) = Proc() {"A red pillow";}
blue pillow(LDESC) = Proc() {"There is a blue pillow here.\n";}
blue pillow(SDESC) = Proc() {"A blue pillow";}
NOUN platinum(brightroom); bar = platinum;
platinum(LDESC) = Proc() {"There is a bar of platinum here!\n";}
platinum(SDESC) = Proc() {"A platinum bar";}
platinum(ACTION) = Proc()
{
If (($verb() == drop) & ($loc($ME) == $loc(<red pillow>))) {
"The bar falls onto the red pillow, breaking it! The symbolism ",
"impresses itself upon you, and you go back to work instead of ",
"playing these silly games!\n";
$spec(QUIT);
}
}
NOUN SELF(startrm); SELF(NOTAKE) = TRUE;
START = Proc ()
{
StdInit(SELF);
}
DWIMD = Proc() {Return Dwimmer($arg(1));}
DWIMI = Proc() {Return Dwimmer($arg(1));}