LOOK = Proc()
{
If (GOVERB & !GO) {
cg();
}
GOVERB = FALSE;
GO = FALSE;
If (IncFlag) {
$incturn();
}
IncFlag = TRUE;
}
PROMPT = Proc()
{
$spec(HEADER, $sdesc($loc($ME))(1), SCORE, $turns());
"> ";
}
GrowX = Proc(obj)
{
If (obj.SHRNK) {
obj.SHRNK = FALSE;
If ($cont(obj)) {
GrowX($cont(obj));
}
If ($link(obj)) {
GrowX($link(obj));
}
}
}
Grow = Proc()
{
If ($ME.SHRNK) {
$ME.SHRNK = FALSE;
If ($cont($ME)) {
GrowX($cont($ME));
}
}
}
ShrnX = Proc(obj)
{
If (!obj.SHRNK) {
obj.SHRNK = TRUE;
If ($cont(obj)) {
ShrnX($cont(obj));
}
If ($link(obj)) {
ShrnX($link(obj));
}
}
Else {
"You hear a tiny POP as the ", $name(obj), " vanishes completely!\n";
If ($link(obj)) {
ShrnX($link(obj));
}
$move(obj, $ALL);
}
}
Shrink = Proc()
{
If (!$ME.SHRNK) {
$ME.SHRNK = TRUE;
If ($cont($ME)) {
ShrnX($cont($ME));
}
}
}
WzTgl = Proc() // Toggle the Wizard flag
{
Wizrd = !Wizrd;
If (Wizrd) {
"You hear a low rumble of thunder, shaking the very ground on ",
"which you stand. Suddenly, there is a blazing flash of light!! ",
"You are unharmed, but feal great power flowing in your body.\n";
}
Else {
"Your wizardly powers unceremoniously fade away.\n";
}
}
TakeAct = Proc()
{
If (Dobj.WEIGH == CAPAC) {
"You can't move ";
$sdesc(Dobj)();
".\n";
$exit(1);
}
Else If ($ME.SHRNK & !Dobj.SHRNK) {
"Right now, the ", $name(Dobj), " is too big for you to deal with.\n";
$exit(1);
}
Else If (($ME.HAS + Dobj.WEIGH) > $ME.HOLDS) {
"You can't carry that much more!\n";
$exit(1);
}
Else {
$ME.HAS = $ME.HAS + Dobj.WEIGH;
}
}
DropAct = Proc()
{
$ME.HAS = $ME.HAS - Dobj.WEIGH;
If ($loc($ME) == cel13) {
If (!cel13.HOLED) {
If (Dobj.WEIGH > 75) {
"The ", $name(Dobj), " breaks through the ice and sinks!\n";
cel13.HOLED = TRUE;
$move(hole, cel13);
$move(Dobj, $ALL);
Skip = TRUE;
}
Else {
"The ice chips a bit, but does not break.\n";
}
}
}
Else If ($loc($ME) == cel19) {
If (!goblet.FREED) {
If (Dobj.WEIGH > 75) {
"The ", $name(Dobj),
" cracks the ice, and the goblet is freed!\n";
goblet.FREED = TRUE;
}
Else {
"The ice chips a bit, but does not break.\n";
}
}
}
}