VERB
pry, strike, wake, say,
beam, join, opener, glow,
grab, weigh, rname, score,
debug;
feel = touch;
shake = wake;
hit = strike;
kill = strike;
shut = close;
push = move;
pull = move;
lift = move;
destroy = break;
incant = say;
chant = say;
shout = say;
yell = say;
out = exit;
cg = Proc()
{
"You can't go that way.\n";
MyLoc = $loc($ME);
}
die = Proc()
{
"You are dead. Better luck next time.\n";
Die();
}
Looks = Proc()
{
If (Dobj) {
"Huh?\n";
$exit(1);
}
GOVERB = TRUE;
MyLoc = -1;
}
n (PREACT) = Looks;
s (PREACT) = Looks;
e (PREACT) = Looks;
w (PREACT) = Looks;
nw(PREACT) = Looks;
ne(PREACT) = Looks;
sw(PREACT) = Looks;
se(PREACT) = Looks;
u (PREACT) = Looks;
d (PREACT) = Looks;
out (PREACT) = Looks;
enter (PREACT) = Looks;
say (PREACT) = Proc()
{
Expect(NO_OBJ|ONE_OBJ|STR_OBJ|PLAIN_OBJ, NO_OBJ);
If (!Dobj) {
"Type just what you want to say: ";
Dobj = $read();
}
If (Dobj >= 0) {
"You want to make ", $name(Dobj),
" a linguistic artifact?? Strange!\n";
$exit(1);
}
}
say (ACTION) = Proc()
{
If (Dobj ?= Shazm) {
WzTgl();
}
Else {
"Very well. '", Dobj, "'.\n";
}
}
DWIMD = Proc() {Return Dwimmer($arg(1));}
DWIMI = Proc() {Return Dwimmer($arg(1));}
wake(PREACT) = Preact;
wake(ACTION) = Proc() {"I don't know how to wake ", $name(Dobj), ".\n";}
strike(PREACT) = Preact;
strike(ACTION) = Proc()
{
"Hitting the ", $name(Dobj), " doesn't seem to do anything.";
}
pry(PREACT) = Proc()
{
Expect(ONE_OBJ|PLAIN_OBJ, ONE_OBJ|PLAIN_OBJ);
CheckAvail();
}
pry(ACTION) = Proc() {"I can't seem to manage that.\n";}
Tress = Proc()
{
"You were warned about trespassing! The fence is electrified!\n";
die();
}
score(ACTION) = Proc()
{
If ($loc($ME) == town5) {
"A mysterious glowing network of lights appears, and you can ",
"just make out the words:\n",
"\tYour account is now at $", $str(SCORE), ". ",
"\tThank you for letting Arpa-Citizen's be your host. ",
"The network then disappears.\n";
}
Else {
"Hmm, you'll have to check at the local bank.\n";
}
}
WizP = Proc()
{
If (!Wizrd) {
"Only a real Wizard can do that!\n";
$exit(1);
}
}
rname(PREACT) = Proc()
{
If (Dobj) {
WizP();
$sdesc(Dobj)();
}
Else {
$sdesc($loc($ME))();
}
$exit(1);
}
beam(PREACT) = WizP;
grab(PREACT) = WizP;
join(PREACT) = WizP;
opener(PREACT) = WizP;
glow(PREACT) = WizP;
weigh(PREACT) = WizP;
debug(PREACT) = WizP;
beam(ACTION) = Proc()
{
If (Dobj) {
$move($ME, Dobj);
MyLoc = -1;
}
}
join(ACTION) = Proc()
{
If (Dobj) {
$move($ME, $loc(Dobj));
MyLoc = -1;
}
}
opener(ACTION) = Proc()
{
If (Dobj) {
Dobj.OPENED = TRUE;
"Opened.\n";
}
}
glow(ACTION) = Proc()
{
$ME.LIGHT = !$ME.LIGHT;
If ($ME.LIGHT)
"Your body begins to radiate a strong but gentle white light!\n";
Else
"The light from your body fades away.\n";
}
grab(ACTION) = Proc()
{
If (Dobj) {
"You have the ", $name(Dobj), ", Boss!\n";
$move(Dobj, $ME);
$ME.HAS = $ME.HAS + Dobj.WEIGH;
}
}
weigh(ACTION) = Proc()
{
If (Dobj)
"The ", $name(Dobj), " weighs ", $str(Dobj.WEIGH);
Else
"You are carrying ", $str($ME.HAS);
" pounds, Boss!\n";
}
debug(ACTION) = Proc()
{
$spec(DEBUG); // Turn on debugging
}