Rename game files to lowercase
[spiritwrak.git] / src / GURTH.INF
diff --git a/src/GURTH.INF b/src/GURTH.INF
deleted file mode 100644 (file)
index 8d420a0..0000000
+++ /dev/null
@@ -1,925 +0,0 @@
-
-! **************************************************************
-! GURTH.INF -- Add-on for SPIRITWRAK
-! (all rights reserved, copyright 1996, D. Yu
-! **************************************************************
-
-! (author note to self -- Gurth currently isn't going to be too
-! exciting -- I'm running out of .z5 code space.  The main 
-! planned features are:
-!   1) The abandoned house with the oven for baking the cake
-!   2) A deep forest area somewhat north of the city where
-!      a sphere piece will be hidden  
-
-! The string array for labels on the GUE Oven dial (may be changed)
-Array OVEN_settings table [;
-   "Warm Soup"; 
-   "Hot Chocolate"; 
-   "Pizza"; 
-   "Cake";
-   "Fish";
-   "Roast Chicken";
-   "Baked Potato";
-   "Rib Roast";
-   "Thermo-nuclear Flash";
-];
-
-Object GURTH_GUSStop "Gurth City Streets"
-   with description "A foggy sky covers the ever-busy city of \
-Gurth. A road heads southeast into a larger \
-portion of the city, and stairs lead down here.",
-        name "fog" "sky" "road" "stairs",
-        d_to GURTH_GUSStation,
-        se_to GURTH_NDistrict,
-   has light;
-
-Object umbrella "umbrella" GURTH_GUSStop
-   with name "umbrella",
-        description [;
-           if (self has open)
-              print "An open";
-           else print "A closed";
-           " black-cloth umbrella.";
-        ],
-        !weight 25,
-        size 16,
-        article "an",
-        before [;
-           Open:
-              if (parent(self) == player) {
-              give self open;
-              umbrella.size = 20;
-              "You snap the umbrella open.";
-              }
-              else "You need to be holding the umbrella to do that.";
-           Close:
-              if (parent(self) == player) {
-              give self ~open;
-              umbrella.size = 16;
-              "You snap the umbrella closed.";
-              }
-              else "You need to be holding the umbrella to do that.";
-        ],
-   has openable;
-
-Object GURTH_NDistrict "North District"
-   with description "Probably the safest district in Gurth, the \
-North District is mostly cobblestone roads and barricaded \
-buildings. A main road heads south, or forks northwest and \
-northeast.",
-        name "cobblestone" "buildings" "road",
-        nw_to GURTH_GUSStop,
-        s_to GURTH_MDistrict,
-        ne_to GURTH_Forest,
-   has light;
-
-Object GURTH_Forest "Forest Edge"
-   with description "Dark forest meets dark city outskirts here. \
-The only exit is along an old path to the southwest -- \
-the forest is too thick for travel otherwise. \
-Rain falls periodically from a dark stormy sky.",
-        name "forest" "path" "rain",
-        sw_to GURTH_NDistrict,
-        each_turn [;
-        if (random(10) < 4) {
-           "^A rumble of thunder booms overhead.";
-        }
-        ],
-        before [;
-           Listen:
-              if (Treant in GURTH_Forest)
-                 "You hear muffled cries for help from \
-somewhere inside the log cabin!";
-        ],
-   has light;
-
-Object storm1 "storm" GURTH_Forest
-   with name "storm" "clouds" "sky" "dark",
-        description "It does look a bit stormy overhead.",
-        before [;
-           Cast:
-              if (the_spell_was == shazok_spell) {
-                 print "A bolt of lightning rips down from the \
-clouds overhead as you finish your chant! It strikes ";
-                 if (Treant in GURTH_Forest) {
-                    print "the angry treant! \
-A portion of its top branches catch fire! Howling in pain, \
-the creature runs off into the woods and disappears!";
-                    SaveWoodsman();
-                    rtrue;
-                 }
-                 else {
-                    deadflag = 1;
-                    "you, frying you to a crisp!";
-                 }
-              }
-        ],
-   has scenery;
-
-Object Treant "angry treant" GURTH_Forest
-   with name "treant" "angry" "blighted",
-        description "Treants are basically animated trees. They \
-are considered mythical creatures, usually solitary and quite \
-rare. This particular treant looks similar to a great elm tree. \
-You notice that it seems covered with spots of some sort of \
-blight.",
-   article "an",
-   each_turn [ i ;
-     i = random(20);
-     print "^The treant ";
-     if (i > 10) {
-        if (WOOD_House.number == 3) {
-           WOOD_House.number = 4;
-           remove self;  
-           "pounds the cabin, and it collapses into \
-splinters! The treant grabs a hapless woodsman from the \
-wreckage and stalks off into the forest with his victim!";
-        }
-        else {
-          WOOD_House.number = WOOD_House.number + 1;
-          "hammers on the house and you hear a \
-crack! The cabin sustains some damage!";
-        }        
-     }
-     else "angrily attacks the wood cabin, which shakes \
-with the continued blows.";
-   ],        
-   before [;
-      Cast:
-         if (the_spell_was == egdelp_spell) {
-            deadflag = 1;
-            "The treant is covered with a waxy buildup, which \
-washes off in the rain. The treant, already \
-rather incensed, turns his attentions to you and mauls you \
-with two giant branches/arms.";
-         }
-         if (the_spell_was == throck_spell) {
-            deadflag = 1;
-            "The treant grows a bit bigger. His current bad \
-mood seems to increase proportionately! He turns his attentions \
-to you and pounds you with two huge branches/arms.";
-         }
-         if (the_spell_was == taclor_spell) {
-            print "The treant seems to turn a shade of deep \
-green, and the patches of blight disappear! The ancient tree \
-creature pauses, regards you solemnly, and then walks \
-off into the forest.";
-            SaveWoodsman();
-            rtrue;
-         } 
-   ],
-   has animate;
-
-Object WOOD_House "log cabin" GURTH_Forest
-   with name "cabin" "log" "house",
-        description [; 
-            print "A small house built of logs";
-            switch (self.number) {
-            0: print ".";
-            1: print ". It looks slightly damaged.";
-            2: print ". It looks partially damaged, the roof logs \
-are broken in several places.";
-            3: print ". It looks very damaged. One wall is \
-nearly broken through.";
-            default: print " that has collapsed into little more \
-than a pile of broken logs."; 
-            } 
-            if (self has general)
-               " You notice some area of wood have spots of wax \
-on them.";
-            new_line;
-            rtrue;
-        ],
-        before [;
-           Enter:
-              if (Treant in GURTH_Forest)
-              "The angry treant seems to be in the way.";
-              "It's just a tiny log cabin that probably \
-has nothing interesting inside.";
-           Cast:
-              if (the_spell_was == egdelp_spell) {
-                 give self general;
-                 "The outside of the cabin is now covered \
-with spots of waxy buildup.";
-              }
-        ],
-        number 0,
-   has static;
-
-[ SaveWoodsman ;
-   remove Treant;
-   move red_sphere to player;
-   "^^Moments later, a woodsman appears from the battered log \
-cabin. ~Much thanks, sir,~ he says. ~Appears I mistook that \
-treant for a dead tree and tried to cut it down. Can't say \
-he took it too well.~ he says sheepishly. ~Say, you don't \
-look like you're from around these parts. Kinda like this \
-funny thing I found in the woods the other day.~ He hands \
-you a strange round object. ~Maybe you know what to do with \
-it?~ He hefts a small hatchet over his shoulder. ~Well, \
-back to do a little logging,~ he says, as he walks off into the \
-deep forest, whistling.";
-];
-
-Object GURTH_MDistrict "Market District"
-   with description "The famous Gurth Market District is as noisy, \
-crowded, and dangerous as it ever was. A cobblestone road heads \
-north and south here.",
-        name "cobblestone" "road",
-        n_to GURTH_NDistrict,
-        s_to GURTH_SDistrict,
-        e_to "~Get out 'o me way!~ some rude fellow says as you \
-try to pass.",
-        w_to "~No push'n, no shov'n!~ some old hag screams at you, \
-and promptly shoves you back.",
-        each_turn [;
-           if ((random(10) < 5) && (self hasnt general)) {
-              give self general;
-              move c7 to self;
-              "^A clumsy hawker stumbles into you as he \
-crosses the street, hustling off without so much as an \
-apology. You notice he dropped something in his hurry.";
-           }
-        ],
-        has light;
-
-Object c7 "coin" class coin_class;
-
-Object GURTH_SDistrict "South District"
-   with description "The general gloomy atmosphere is more noticeable \
-than ever here, in the extremely dangerous South District. The \
-general area is filled with boarded-up houses, and a few shifty-eyed \
-characters are the only people milling about here. A road leads \
-north. To the east is an abandoned flat, probably in better shape \
-than the rest.",
-        name "houses" "characters" "people" "road" "flat",
-        n_to GURTH_MDistrict,
-        s_to [;
-           print "You wander down ";
-           if (random(20) == 5) {
-              deadflag = 1;
-              "a back alleyway, and are immediately \
-assaulted by a group of vicious thugs, who batter you senseless.";
-           }
-           else "an alleyway, find a dead-end, and return \
-here.";
-        ],
-        w_to [;
-           print "You wander down ";
-           if (random(20) == 5) {
-              deadflag = 1;
-              "a sidestreet, and are immediately \
-assaulted by a group of vicious thugs. One of them seems to \
-recognize you. ~That's the Preacher-man who got Davey arrested! \
-Let's show 'em what we think'o that!~ They proceed to beat you senseless.";
-           }
-           else "a sidestreet, find a dead-end, and return \
-here.";
-        ],
-        e_to GURTH_House,
-   has light;
-
-Object GURTH_House "Front of House"
-   with description "You're standing at the rotting front steps of \
-a small flat. The front door to the east has been battered down and \
-you could probably walk right in, or return to the street to \
-the west.",
-        name "street" "steps" "flat",
-        w_to GURTH_SDistrict,
-        e_to House_Ent,
-        in_to House_Ent,
-   has light;
-
-Object GURTH_House2 "Front of House"
-   with description  "You're standing near a small construction site. \
-A city street lies west, and a construction ditch is east.",
-        name "street" "ditch",
-        w_to [;
-               deadflag = 1;
-              "You step into the street, and several locals \
-give you strange looks. The surrounding neighborhood seems \
-new and busy -- various construction sites mark the \
-work of enterprising shop-keepers of the area.^^\
-~Watch out there!~ someone cries. A sudden \
-pile of bricks falls from a nearby scaffolding, and \
-crushes you.";
-        ],
-        e_to Construction_site,
-   has light;                      
-
-
-Object bad_brick "dusty brick" GURTH_House2
-   with name "brick" "dusty" "old",
-        initial "An old discarded brick lies nearby.",
-        description "An old brick, slightly cracked in several places.",
-        size 15,
-        time_left 0,
-        time_out [;
-           ! Construction Worker appears
-           if ((good_brick in Construction_site) || 
-               ((good_brick notin Construction_site) && 
-                (bad_brick notin Construction_site))) {
-              remove good_brick; 
-              foundation_wall.number = 1;
-           }
-           else {
-              remove bad_brick;
-              foundation_wall.number = 2;
-           }
-           if (location == Construction_site) {
-              print "^From behind some scaffolding, a construction \
-worker appears. He walks to a part of the ditch and starts to \
-make some finishing touches on part of a low wall. \
-He finds a brick nearby and applies it to the wall with \
-a good patch of mortar.";
-              if (foundation_wall.number == 1) 
-" Brushing himself off, he walks off \
-and is soon out of sight.";
-              else 
-" He looks at the patch somewhat \
-unsatisfied, but shrugs, and walks off, soon out of sight.";
-           }
-           else 
-              "^You hear some brief noises from the east."; 
-        ],
-;
-
-Object Construction_site "Construction Site"
-with description "This is a long square ditch that is \
-likely to be the starting point for some building. It is \
-framed by wood slats and short brick walls. The only way \
-out is to the west.",
-   name "ditch" "slats" "wood",
-   w_to GURTH_House2,
-   has light;
-
-Object good_brick "thick brick" Construction_site
-   with name "brick" "thick",
-        !weight 30, 
-        size 15,
-        initial "A thick brick lies nearby.",
-        description "A thick brick, solid as a rock.",
-;
-
-Object foundation_wall "portion of wall" Construction_site
-   with name "wall" "foundation" "portion" "hole" "recess",
-        initial "You notice a foundation side wall \
-in the ditch.",
-        number 0,
-        size 15,
-        description [;
-           switch (self.number) {
-           0: "It looks somewhat unfinished. Part of it \
-is open into a dark recess in the side of the ditch.";
-           1: "The wall is a finished work of brick and \
-mortar. It looks quite strong.";
-           2: "The wall is a finished work of brick and \
-mortar. You see a spot where the brickwork seems a bit \
-lower in quality.";
-           } 
-        ],
-        before [;
-           Receive:
-              if (self.number > 0)
-                 "The wall is currently sealed shut.";
-              else {
-                 move noun to self;
-                 print "You put ", (the) noun, " into the ";
-                 "small hole in the wall.";
-              }
-           Search, LetGo:
-              if (self.number > 0)
-                 "The wall is currently sealed shut.";
-           Attack:
-              if (self.number == 0) {
-                 deadflag = 1;
-                 "You kick at the wall. Unfortunately, it wasn't \
-all that stable, and the wall falls apart, burying you under a \
-pile of loose bricks.";
-              } 
-              if (self.number == 1) {
-                 remove foundation;
-                 print "You try to break the wall, but only end up \
-hurting your hand. ";
-              }
-              else {
-              give foundation general;
-              print "You knock on the weak portion of the \
-wall, and produce a slight crack, that no doubt will \
-cause the homeowners some worry in the future. ";
-              }
-!              give GURTH_House ~general;
-              while (child(player) ~= 0) remove child(player);
-!              while (child(GURTH_House) ~= 0) remove child(GURTH_House);
-print "The wall seems to start to glow a purple color, and you \
-step back, to find your surroundings replaced by cold natural \
-cave walls.^";
-              Mystical_Cave.number = Mystical_Cave.number + 1;
-              PlayerTo(Mystical_Cave);
-              rtrue;
-        ],
-   has static container open;
-
-Object House_Ent "Entrance Room"
-   with description "A bare room, with peeling paint and rotting, \
-water-stained walls. There's a room to the east, and a rickety \
-stairway down. The outdoors lie west.",
-        name "paint" "stairway" "outdoors",
-        e_to House_Kitchen,
-        d_to House_Basement,
-        w_to GURTH_House,
-        out_to GURTH_House,
-   has light;
-
-Object House_Basement "Basement"
-   with description "A musty, smelly basement. Stairs head up.",
-        name "stairs",
-        u_to House_Ent,
-        before [;
-           Smell: "It's smells musty down here, as though \
-the place has been unused for quite some time.";
-        ],
-;
-
-Object House_switchbox "dusty metal box" House_Basement
-   with name "dusty" "metal" "box",
-        when_closed "There's a dusty metal box attached to the wall here.",
-        when_open [ x;
-         print "There's an open metal box attached to the wall here. ";
-         x = children(self);
-         if (x == 0) "It seems to be empty.";
-         print "It contains:^";
-         x = FULLINV_BIT + INDENT_BIT + NEWLINE_BIT + RECURSE_BIT;
-         WriteListFrom (child(self), x, 1); 
-         rtrue;
-        ],
-        capacity 3,
-        size 10,
-        description "A dusty metal box, attached to the wall.",
-        before [;
-           Open, Push, Pull, Turn, Touch:
-              if (GHOST in House_Basement)
-                 "Slowly, but quite deliberately, the zombie \
-prevents you from getting near the box.";
-        ],
-   has static container openable;
-
-
-Object wire "thin wire" House_switchbox
-   with name "wire" "thin",
-        ! initial "Inside the box is a loose wire.",
-        description "A thin stiff string of metal.",
-        !weight 2,
-        size 1,  ! must fit in subway gate slot...
-        before [;
-          Cast:
-if ((the_spell_was == huncho_spell or luncho_spell) &&
-   (self hasnt general))
-"Your chant goes unanswered.";
-          Take, Push, Pull, Touch, Rub, Squeeze:
-             if (self hasnt general) {
-                if (rubber_gloves has worn) {
-                   if (action==##Take) give self general;
-                   print "As you touch the wire, you notice a \
-bright spark! Good thing you were wearing rubber gloves! ";
-                }
-                else {
-                   print "As your fingers get near the wire, \
-a bright spark of electricity ";
-                   if (random(10) < 4) {
-                   deadflag = 1;
-                   move GHOST to House_Basement;
-"arcs into your hand! The results are quite shocking, I'm afraid.";
-                   }
-                   else
-"flashes near your fingers! You pull back just in time.";
-                }
-             }
-        ],
-;        
-
-Object foundation "foundation" House_Basement
-   with name "foundation" "break" "hole",
-        initial "A large break in the wall exposes a good portion of \
-        the house's foundation.",
-        description "Water damage, or simply age, has exposed a large \
-        hole in one of the walls, through which you can see exposed \
-        wood and brick, part of the foundation of the house.",
-        before [;
-           Receive:
-              "No need to put things in the foundation like that.";
-           Search:
-              if (self hasnt general)
-                 "You briefly search the decaying foundation, but find nothing.";
-              else {
-                 print "You dig around in a familiar spot in the hole ";
-                 give self ~general;
-                 if (children(foundation_wall) == 0)
-                    "but find nothing.";
-                 Achieved(17);
-                 while (child(foundation_wall) ~= 0)
-                     move child(foundation_wall) to House_Basement;
-                 "and find something!"; 
-              }
-        ],
-   has static;
-   
-Object House_Kitchen "Kitchen"
-   with description "You're in the kitchen, by the looks of things. \
-Some broken cabinets are on the wall. Light from partially boarded-up \
-windows lets you see the rotting wood floors. Rooms lie to the \
-north and west.",
-        name "cabinets" "windows" "wood",
-        w_to House_Ent,
-        n_to House_Pantry,
-   has light;
-
-! (An oven, a typical inform object)
-Object OVEN "GUE-Automatic oven" House_Kitchen
-   with name "oven" "GUE-Automatic",
-        when_closed "Strangely untouched and undamaged, a GUE-Automatic oven is \
-sitting closed in a corner of the room.",
-        capacity 1,
-        when_open [ x;
-         print "Strangely untouched and undamaged, a GUE-Automatic oven is \
-sitting open in a corner of the room.";
-         x = children(self);
-         if (x == 0) " It seems to be empty.";
-         print "  It contains:^";
-         x = FULLINV_BIT + INDENT_BIT + NEWLINE_BIT + RECURSE_BIT;
-         WriteListFrom (child(self), x, 1); 
-         rtrue;
-        ],
-        size 15,
-        description "A FrobozzCo best-seller -- this small green oven is \
-perfect for those adventurers who want a home-cooked meal, but are short \
-on time and space. There's a dial and a button \
-on the top.",
-        before 
-        [ x ;
-           Open:
-              if (self hasnt open) {
-              give self open;
-              print "You open the oven, ";
-              x = children(self);
-              if (x==0) "which is empty.";
-              print "revealing:^";
-              x = FULLINV_BIT + INDENT_BIT + NEWLINE_BIT + RECURSE_BIT;
-              WriteListFrom (child(self), x, 1); 
-              rtrue; }             
-        ], 
-        add_to_scope oven_dial oven_button,
-   has static container openable;
-            
-Object oven_dial "oven dial" 
-   with name "dial",
-        number 5,
-        description [;
-          print "A round dial with small printed words. A line on the \
-oventop marks which dial setting is currently active, which at the \
-moment is ~", (string) OVEN_settings-->(oven_dial.number); "~.";
-        ],
-        before [;
-          Turn:
-            oven_dial.number = oven_dial.number + 1;
-            if (oven_dial.number > 9) oven_dial.number = 1;
-            print "The line is now pointing to ~", (string) OVEN_settings-->(oven_dial.number);
-            "~ on the dial.";
-          SetTo:
-            "The dial has somewhat unusual \
-settings. You'll need to turn to the one you want.";
-        ],
-   has static;
-
-Object oven_button "oven button" 
-   with name "button" "black",
-        number 0,
-        description "A small round black button on the top of the oven.",
-        before [;
-           Push:
-              if (OVEN has open)
-                 "There is an irritated buzz.";
-              else {
-                 print "You press the button and hear a low spinning noise. \
-Suddenly, the oven makes a ";
-              if (oven_dial.number == 9) {
-                 ! Ye old nuclear flash setting
-                 if (children(OVEN) ~= 0)
-                    remove child(OVEN);       
-"tremendous 'bang', and nearly springs off \
-the floor! A bright flash of light seems to originate from somewhere \
-inside the oven! Then, just as suddenly, everything is quiet again.";
-              } 
-              ! check object in oven
-              ! if obj exists, check for edible
-              ! or cake, mutate appropriately.
-              if (children(OVEN) ~= 0) {
-                 if ((Baking_Pan in oven) && (cake in Baking_Pan)) {
-                    ! we're no doubt cooking the cake again.
-                    ! as a nice feature of the GUE auto, if the cake
-                    ! was undone, and the oven setting == 4, give
-                    ! the cake the 'done' result
-                    if ((cake.number == 1) && (oven_dial.number == 4))
-                       cake.number = 0;
-                    ! otherwise, nothing changes
-                 }
-                 if ((Baking_Pan in oven) && (dough in Baking_Pan)) {
-                    ! first, check oven setting (too cold or too hot)
-                    ! if setting ok, check number of times folded
-                    ! (too few, too many).  Move 'cake' to pan, make
-                    ! dough child of cake, and set the 'result' number
-                    ! of cake accordingly (0, ok, 1 underdone, 2
-                    ! overdone, 3 underfolded, 4 overfolded) 
-                    ! (assumption is that dough will be only thing
-                    ! in pan [add's are trapped by dough]
-                    move dough to cake;   ! Zen cooking...
-                    move cake to Baking_Pan;
-                    if (oven_dial.number == 4) {
-                       if (dough.number < 83)
-                          cake.number = 3;
-                       if (dough.number > 83)
-                          cake.number = 4;
-                       else cake.number = 0;   ! well done baker
-                    }
-                    else {
-                       if (oven_dial.number < 4)
-                          cake.number = 1;
-                       if (oven_dial.number > 4)
-                          cake.number = 2;
-                    } 
-                 }
-              }
-"a loud 'pop' and nearly springs off \
-the floor! Then, just as suddenly, everything is quiet again.";
-              }
-        ],
-   has static;
-
-Object House_Pantry "Pantry"
-   with description "This was once probably a pantry of some \
-sort. It's now a bare closet-sized room. The exit is south.",
-   s_to House_Kitchen,
-   has light;
-    
-Object Baking_Pan "baking pan" House_Pantry  
-   with name "pan" "baking",
-        description "It's a nice round flat-bottomed ceramic pan.",
-        capacity 20,
-        !weight 10,
-        size 14,
-        before 
-        [ i ;
-          Mix:
-             if (children(Baking_Pan) == 0)
-                "There doesn't seem to be anything in the pan to mix.";
-             else {
-                if (cake in Baking_Pan)
-                   "You can't mix anything with the already baked cake in the pan.";
-                ! if the dough is already in the pan, add the 
-                ! 'new children', if any
-                if (dough in Baking_Pan) {
-                   i = 0;
-                   move dough to OVEN;  ! Temp
-                   while (child(Baking_Pan) ~= 0) {
-                         i = i + 1;
-                         move child(Baking_Pan) to dough;
-                   }
-                   move dough to Baking_Pan;
-                   if (i == 0) 
-                      "You need to add something to the pan if you \
-want to mix something new into the dough.";
-                   "You mix in the new ingredients into the dough.";
-                }
-                ! Minimally, if the flour, butter and egg are in the 
-                ! pan, 'dough' will be produced 
-                if ((flour notin Baking_Pan) || 
-                    (corbie_egg notin Baking_Pan) ||
-                    (butter notin Baking_Pan))
-                   "You mix the contents of the pan around a bit, but \
-some things don't quite coagulate, and the contents remain unmixed.";
-                else {
-                   while (child(Baking_Pan) ~= 0) {
-                        move child(Baking_Pan) to dough;
-                   }
-                   move dough to Baking_Pan;
-                   "You start mixing. Like magic, in short time you \
-have a doughy mixture in the pan."; 
-                } 
-             }
-          LetGo:
-             if (noun == dough or cake) { 
-                CDefArt(noun); " is stuck fast in the pan and \
-                you can't get it out.";
-             }
-             else {
-             ! we've modified certain ingredient objs that we want \
-             ! to 'preserve' in the pan.
-                if ((noun == flour) || (noun == sugar_cube) ||
-                    (noun == baking_powder) || (noun == butter) ||
-                    (noun == corbie_egg) || (noun==dornberries)) 
-                   "It's somewhat scattered about in the pan right \
-now, and you can't quite remove it cleanly.";
-             }
-          Receive:
-             if (cake in self)
-                "The cake takes up the entire space in the pan.";
-             ! -- trap and nicely parse putting
-             ! ingredients in pan, will require modifying 
-             ! 'short_name's of various ingredients.
-             if (noun == flour) {
-                flour.short_name = "pile of flour";
-                move flour to Baking_Pan;
-                flour.description = "A heap of white flour.";
-                "You break open the bag and add the flour to the pan."; 
-             }
-             if (noun == sugar_cube) {
-                sugar_cube.short_name = "quantity of sugar";
-                move sugar_cube to Baking_Pan;
-                sugar_cube.description = "Some sugar scattered about.";
-                "You crumble the sugar cube into the pan.";
-             }
-             if (noun == baking_powder) {
-                baking_powder.short_name = "small sprinkling of baking powder";
-                move baking_powder to Baking_Pan;
-                baking_powder.description = "A small pile of very fine white powder.";
-                "You open the packet and add the powder to the pan.";
-             }
-             if (noun == corbie_egg) {
-                corbie_egg.short_name = "bit of raw egg";
-                move corbie_egg to Baking_Pan;
-                corbie_egg.description = "The yolk and the white parts from an egg.";
-                "You crack the egg and drop the gooey contents into the \
-                pan, discarding the shell.";
-             }
-        ],
-   has container open;
-
-Object pan_sticker "sticker" Baking_Pan
-   with name "sticker",
-        initial "There's a sticker stuck to the bottom of the pan.",
-        description "\
-Frobozz Magic Baking Pan^^\
-HELLO, BAKER!^^\
-To mix ingredients placed in pan, simply say 'MIX PAN'. \
-Baked goods should be removed with a Frobozz Magic \
-Spatula.",
-        !weight 1,
-        size 5,
-;
-
-Object dough "lump of dough"
-   with name "dough",
-        number 0,   ! equals the number of times folded
-        !weight 10,
-        size 14,
-        description "It looks like a nice beige lump of uncooked dough.", 
-        before [;
-          Eat, Taste:
-             if (action==##Eat) remove self;
-             "Ugg. Raw dough.";
-          Cast:
-             if (the_spell_was == gloth_spell) {
-                dough.number = dough.number + 83;
-                if (dough.number > 500) dough.number = 500;
-                "As you speak the chant, the dough seems to \
-twinkle! With a sudden puff of flour, the dough spins and \
-neatly kneads itself many times!";
-             }
-          Fold:
-             dough.number = dough.number + 1;
-             print "You roll up your sleeves and start kneading. \
-The dough "; 
-             if (dough.number > 500) dough.number = 500;
-             if (dough.number < 50)
-                "folds easily.";
-             if (dough.number > 200)
-                "has the consistency of a soft rock.";
-             "is pliable.";
-        ], 
-   has edible;
-
-Object cake "cake" 
-   with name "cake",
-        number 0,  
-! number = condition:
-! 0 ok, 1 undercooked, 2 overck, 3 underfld, 4 overfld
-        description [;
-              print "It's a ";
-              switch (cake.number) {
-                1: "somewhat raw-looking cake.";
-                2: "nice-looking cake, except that it \
-looks a little burned.";
-                default: "nice-looking cake.";
-                ! The player will have to taste the cake to check the
-                ! 'fold quality'.
-              }
-        ],
-        before [;
-           Eat:
-                remove self;
-                "Not bad. Unfortunately, it looks like you can't have \
-your cake and eat it too.";
-           Taste:
-              print "You taste a tiny bit of the cake. ";
-              switch (cake.number) {
-                1: "It tastes a bit underdone.";
-                2: "It tastes a little burned.";
-                3: "It's a little too soft.";
-                4: "It's a bit tough.";
-                default: "It tastes great!";
-              }
-           ], 
-        !weight 10,
-        size 14,
-   has edible;
-
-
-
-! ***************
-! animated beings
-! ***************
-
-Object GHOST "frightening zombie" House_Basement
-   with name "zombie" "frightening",
-        description "A frightening gaunt member of the \
-living dead, with pale skin, and even paler eyes.",
-        before [;
-           Cast:
-              if (the_spell_was == wigro_spell) {
-                 remove self;
-                 "The zombie crumbles into dust, turned.";
-              }
-        ],
-        life [;
-           ThrowAt:
-              if (noun==holywater) {
-                 remove holywater; remove self;
-                 "The vial breaks into shards, scattering \
-holy water all over the zombie. The zombie shrieks, and \
-crumbles into dust."; 
-              }
-           Attack: "Your attack knocks it back, but it \
-seems completely unharmed, somehow!";
-           Give:
-if (noun==rubber_gloves) {
-   move wire to House_Basement;
-   move rubber_gloves to House_Basement;
-   give rubber_gloves ~worn;
-   give wire general;
-   give House_switchbox open;
-   remove self;
-   "The zombie seems to regard the gloves, and slowly puts \
-them on. It proceeds to open the metal box and remove a \
-loose wire, producing a few sparks in the process. Finally, \
-it places the loose wire on the floor, satisfied. It \
-slowly crumbles into dust, but you just manage to hear, \
-~Thanks, I've been trying to get rid of that wire for ages,~ \
-in the faintest of whispers.";
-}    
-           default: "Zombies are usually not very responsive to \
-those among the living. This one is no exception.";
-        ],
-   has animate;
-
-! ***************
-! spells/scrolls
-! ***************
-
-Object gray_scroll "gray scroll" House_Basement
-  class scroll_class,
-  with name "gray",
-;
-
-Object tossio_spell "turn granite to pasta" gray_scroll
-  class spell_class,
-  with name "tossio",
-       magic [;
-         if ((location == THIEF_Storeroom) && 
-             (second == w_obj) && (THIEF_Storeroom hasnt general)) {
-         give THIEF_Storeroom general;
-         move pasta to THIEF_Storeroom;
-         move c50 to THIEF_Storeroom;
-         "As you finish the chant, the granite wall is replaced \
-by a large mass of pasta. A hidden section of the room is revealed, \
-along with the mass of gold coins it was holding! The coins spill \
-out, and nearly flood the room.^^In a flash, a large group of \
-financial nymphs appear on the scene. ~It looks like we found the \
-missing GUS earnings,~ one nymph says to another. Producing large \
-sacks, they quickly collect the mass of coins and disappear with a \
-twinkle.^^Moments later, a single coin falls out of a crack in the \
-previously hidden alcove, rolling to a stop near your feet.";
-         }
-         "Your chant goes unanswered. I guess you need pure granite.";
-       ],
-;
-
-! ***************
-! misc items
-! ***************
-
-Object red_sphere "red sphere"
-   class sphere_class
-   with name "red",
-        description "A tiny perfect red sphere, made of some strange \
-         unknown metal.",
-;