Update to serial 210328
authorJason Self <j@jxself.org>
Mon, 29 Mar 2021 02:34:27 +0000 (19:34 -0700)
committerJason Self <j@jxself.org>
Mon, 29 Mar 2021 02:34:27 +0000 (19:34 -0700)
28 files changed:
src/globals.inf [new file with mode: 0644]
src/homeland.inf
src/intro.inf [new file with mode: 0644]
src/objects/globals.inf [deleted file]
src/objects/intro/backyard.inf [deleted file]
src/objects/intro/bedroom.inf [deleted file]
src/objects/intro/frontporch.inf [deleted file]
src/objects/intro/grandlivingroom.inf [deleted file]
src/objects/intro/kitchen.inf [deleted file]
src/objects/intro/livingroom.inf [deleted file]
src/objects/intro/neighborkitchen.inf [deleted file]
src/objects/intro/neighborlivingroom.inf [deleted file]
src/objects/intro/sidewalk.inf [deleted file]
src/objects/overworld/campsite.inf [deleted file]
src/objects/overworld/g58.inf [deleted file]
src/objects/overworld/g59.inf [deleted file]
src/objects/overworld/g60.inf [deleted file]
src/objects/overworld/g77.inf [deleted file]
src/objects/overworld/g79.inf [deleted file]
src/objects/overworld/grandlibrary.inf [deleted file]
src/objects/overworld/h70.inf [deleted file]
src/objects/overworld/h76.inf [deleted file]
src/objects/overworld/h78.inf [deleted file]
src/objects/overworld/h80.inf [deleted file]
src/objects/overworld/house.inf [deleted file]
src/objects/overworld/shed.inf [deleted file]
src/objects/overworld/westofcampsite.inf [deleted file]
src/overworld.inf [new file with mode: 0644]

diff --git a/src/globals.inf b/src/globals.inf
new file mode 100644 (file)
index 0000000..6e65652
--- /dev/null
@@ -0,0 +1,102 @@
+! Copyright (C) 2019, 2020 Jason Self <j@jxself.org>
+!
+! This file is free software: you may copy, redistribute and/or
+! modify it under the terms of the GNU Affero General Public License
+! as published by the Free Software Foundation, either version 3 of
+! the License, or (at your option) any later version.
+!
+! This file is distributed in the hope that it will be useful, but
+! WITHOUT ANY WARRANTY; without even the implied warranty of
+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+! Affero General Public License for more details.
+!
+! You should have received a copy of the GNU Affero General Public
+! License along with this file. If not, see https://gnu.org/licenses/
+
+Object  sky "sky" g58
+  with  name 'sky',
+        found_in backyard frontporch kitchen sidewalk g58 g60 h70,
+  has   scenery;
+
+Object  forest "forest" g58
+  with  name 'forest',
+        found_in g58 g59,
+  has   scenery;
+
+Object  hills "hills" campsite
+  with  name 'hill' 'hills',
+        found_in campsite g58,
+  has   scenery;
+
+Object  field "grassy field" campsite
+  with  name 'grassy' 'field',
+        found_in campsite g58,
+  has   scenery;
+
+Object  sun "sun" sidewalk
+  with  name 'sun',
+        found_in sidewalk backyard campsite g58 g59 h70,
+  has   scenery;
+
+Object  clouds "clouds" sidewalk
+  with  name 'cloud' 'clouds',
+        found_in sidewalk backyard h78,
+  has   scenery;
+
+Object  grass "grass" backyard
+  with  name 'green' 'grass' 'meadow' 'sod' 'turf' 'lawn',
+        found_in backyard campsite westofcampsite h70,
+  has   scenery;
+
+Object  tree "tree" sidewalk
+  with  name 'tree' 'trees' 'evergreen' 'evergreen' 'leaves' 'leaf',
+        found_in sidewalk backyard campsite,
+        description 
+            "Standing strong, majestic and tall, as if reaching for
+            the sky. There are countless numbers of sun-drenched
+            leaves, each a deep green.",
+        before [;
+          Climb:
+            print_ret 
+                "Despite your best efforts you're not able to.
+                There's no branch low enough to grab.";
+          Taste:
+            print_ret "It tastes like wood.";
+          Touch:
+            print_ret "The trunk of the free feels rough to the touch.";
+          Take, Pull, Push, PushDir, Turn:
+            print_ret 
+                "The tree is firmly anchored into the ground by a
+                healthy root system. It's not going anywhere.";
+          Drink:
+            print_ret "The tree is not a liquid.";
+          Blow:
+            print_ret "You huff and you puff but nothing happens.";
+          Burn:
+            print_ret "Only you can prevent forest fires.";
+          Buy:
+            print_ret "The tree is not for sale.";
+          JumpOver:
+            print_ret 
+                "Since when did you gain the ability to jump over
+                trees in a single bound?";
+        ],
+  has   scenery;
+
+Object  livestocktracks "livestock tracks" westofcampsite
+  with  name 'livestock' 'track' 'tracks',
+        found_in westofcampsite g59,
+  has   scenery;
+
+Object  creek "slow-moving creek" g59
+  with  name 'creek',
+        found_in g59 g60,
+  has   scenery;
+
+Object  ridge "high ridge" g60
+  with  name 'high' 'ridge',
+        description 
+            "Perched high up on the ridge is a single 
+            tan and maroon building.",
+        found_in g60 h70,
+  has   scenery;
\ No newline at end of file
index 9239799e70d900cef07e9c010be5d202e1632df0..e06781f1fe7a5a118f4fdcc4657c5c20d064988c 100644 (file)
@@ -1,5 +1,5 @@
 !% $OMIT_UNUSED_ROUTINES=1
-! Copyright (C) 2019, 2020 Jason Self <j@jxself.org>
+! Copyright (C) 2019, 2020, 2021 Jason Self <j@jxself.org>
 !
 ! This file is free software: you may copy, redistribute and/or
 ! modify it under the terms of the GNU Affero General Public License
@@ -23,7 +23,7 @@ Constant Headline
     ^Ongoing development: https://jxself.org/git/?p=homeland.git
     ^Send bugs and feedback by email to j@@64jxself.org.
     ^IFID AC0898CB-0668-4853-9EB9-757958D4AF56
-    ^Copyright (C) 2019, 2020 Jason Self
+    ^Copyright (C) 2019, 2020, 2021 Jason Self
     ^You can change and share this game under the terms of the GNU 
     Affero General Public License as published by the Free Software 
     Foundation (FSF), either version 3 of the License, or (at your 
@@ -35,33 +35,13 @@ Constant Headline
 Include "parser";
 Include "verblib";
 Release 0;
-Serial "201027";
-Include "src/objects/intro/kitchen.inf";
-Include "src/objects/intro/livingroom.inf";
-Include "src/objects/intro/bedroom.inf";
-Include "src/objects/intro/grandlivingroom.inf";
-Include "src/objects/intro/sidewalk.inf";
-Include "src/objects/intro/frontporch.inf";
-Include "src/objects/intro/neighborlivingroom.inf";
-Include "src/objects/intro/backyard.inf";
-Include "src/objects/intro/neighborkitchen.inf";
-
-Include "src/objects/overworld/campsite.inf";
-Include "src/objects/overworld/westofcampsite.inf";
-Include "src/objects/overworld/shed.inf";
-Include "src/objects/overworld/house.inf";
-Include "src/objects/overworld/grandlibrary.inf";
-Include "src/objects/overworld/g58.inf";
-Include "src/objects/overworld/g59.inf";
-Include "src/objects/overworld/g60.inf";
-Include "src/objects/overworld/g77.inf";
-Include "src/objects/overworld/g79.inf";
-Include "src/objects/overworld/h70.inf";
-Include "src/objects/overworld/h78.inf";
-Include "src/objects/overworld/h80.inf";
-Include "src/objects/overworld/h76.inf";
-
-Include "src/objects/globals.inf";
+Serial "210328";
+
+Include "src/intro.inf";
+
+Include "src/overworld.inf";
+
+Include "src/globals.inf";
 
 [ DeathMessage;
     if (deadflag == 3)
@@ -168,6 +148,9 @@ Verb 'Help'
 Verb 'Clue'
     * -> Help;
 
+Verb 'Hint'
+    * -> Help;
+
 Verb 'xyzzy'
     * -> Xyzzy;
 
diff --git a/src/intro.inf b/src/intro.inf
new file mode 100644 (file)
index 0000000..e33f63c
--- /dev/null
@@ -0,0 +1,940 @@
+! Copyright (C) 2019, 2020 Jason Self <j@jxself.org>
+!
+! This file is free software: you may copy, redistribute and/or
+! modify it under the terms of the GNU Affero General Public License
+! as published by the Free Software Foundation, either version 3 of
+! the License, or (at your option) any later version.
+!
+! This file is distributed in the hope that it will be useful, but
+! WITHOUT ANY WARRANTY; without even the implied warranty of
+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+! Affero General Public License for more details.
+!
+! You should have received a copy of the GNU Affero General Public
+! License along with this file. If not, see https://gnu.org/licenses/
+
+Object  kitchen "Kitchen"
+  with  description 
+            "This looks like a restaurant-quality kitchen. It's small 
+            but full of natural light coming in through the large 
+            window, adding a nice sense of a warm glow. Despite the 
+            small size it has a high ceiling, and the room was set up 
+            into a rectangular shape. The layout allows for easy 
+            access. The walls are painted a buttery yellow and broken 
+            up by celery green curtains on the window. The highly 
+            polished floor ties everything together to create a 
+            feeling of comfort and elegance. It's the perfect example 
+            of well-balanced home design. The livingroom is to the 
+            east.",
+        n_to window,
+        cant_go "You walk smack into one of those buttery yellow 
+                walls I described.",
+        e_to livingroom,
+        before [;
+          Go:
+            if (chair in player) {
+                print_ret "The chair is too awkward to do that while 
+                          you're carrying it.";
+            }
+        ],
+  has   light;
+
+Object  wall "wall" kitchen
+  with  name 'yellow' 'wall' 'walls',
+        description [;
+            if (location == kitchen)
+                print
+                    "The walls are painted a buttery yellow and
+                    broken up by celery green curtains on the
+                    windows.^";
+            else
+                print "You see nothing special about the walls.^";
+        ],
+        found_in kitchen livingroom bedroom neighborkitchen neighborlivingroom,
+  has   scenery;
+
+Object  chair "chair" kitchen
+  with  name 'chair' 'backrest' 'seat',
+        description 
+            "It seems to be your average kitchen chair: Four chrome 
+            legs and a backrest with a yellow seat that matches the 
+            walls.",
+        before [;
+          Take:
+            move chair to player;
+            print_ret "As awkward as it is, you take the chair.";
+        ],
+  has   scenery supporter enterable;
+
+Object  table "table" kitchen
+  with  name 'table' 'kitchen table' 'formica',
+        description 
+            "It looks like something right out of the 1950s: Green 
+            formica and chrome legs.",
+        before [;
+          Take, Pull, Push, PushDir, Turn:
+            print_ret (The) self, " is too heavy for that.";
+        ],
+  has   scenery supporter enterable;
+
+Object  newspaper "newspaper" table
+  with  name 'newspaper' 'paper',
+        description 
+            "It's your favorite newspaper: U.S. News And Grue Report, 
+            which also airs on TV. The headline story says ~The GUE's 
+            redesigned 100 zorkmid bill makes history today, becoming 
+            the first ever zorkmid to feature a woman on the front. 
+            The bill is set to become legal tender next year, with 
+            the decision finalized by the Governor yesterday.~
+            ~I have enthusiastically embraced this bold new way of 
+            designing money, showing a woman's face. I believe this 
+            landmark achievement will stimulate public confidence in 
+            our monetary system and will help build the GUE's 
+            creative capabilities,~ the Governor said. The next 
+            story talks about how a local resident has won the 
+            carrot-growing contest for the third time in a row."; 
+
+Object  window "window" kitchen
+  with  name 'window' 'windows',
+        description 
+            "Framed by celery green curtains it seems almost large 
+            enough to climb through.",
+        short_name [;
+            if (location == kitchen)
+                print "window to your neighbor's back yard";
+            else
+                print "window to your kitchen";
+            return true;
+        ],
+        found_in kitchen backyard,
+        door_dir [;
+            if (location == kitchen)
+                return n_to;
+            else
+                return s_to;
+        ],
+        door_to [;
+            if (location == kitchen)
+                return backyard;
+            else
+                return kitchen;
+        ],
+        before [;
+          Search:
+            if (curtains has open) {
+                print "You see your neighbor's backyard.^";
+                return true;
+            }
+            else {
+                print "The curtains are closed, and you can't see 
+                      through them.^";
+                return true;
+            }
+          Open:
+            if (window hasnt visited) {
+                score = score + 1;
+                give window visited;
+            }
+          Climb:
+            if (window hasnt visited) {
+                score = score + 1;
+                give window visited;
+            }
+            PlayerTo(backyard);
+        ],
+  has   scenery door openable;
+
+Object  curtains "curtains" kitchen
+  with  name 'celery' 'green' 'curtain' 'curtains',
+        description "Celery green in color, you see nothing special 
+                    about the curtains.",
+        before [;
+          Take, Pull, Push, PushDir:
+            print_ret "Don't you think they look nice where they are?";
+        ],
+  has   scenery open openable pluralname;
+
+Object  legs "legs" kitchen
+  with  name 'leg' 'legs',
+        found_in kitchen neighborkitchen,
+  has   scenery;
+
+Object  livingroom "Livingroom"
+  with  description 
+            "You are in a modestly furnished living room. It's very a 
+            traditional but modern as far as the style of rooms go. It 
+            has a certain bourgeois feeling, although it doesn't seem 
+            very large. There's a couch in the middle of the room 
+            facing a television. Pictures hang from the other walls. 
+            The pictures were commissioned by your family, but a lot 
+            of people claim they painted them. You can hear the sound 
+            of vehicles driving by outside. The kitchen is to the 
+            west. The front door is to the east. Your bedroom is to 
+            the south.",
+        before [;
+          Listen:
+            print "You can hear the sound of vehicles driving by outside.^";
+            return true;
+        ],
+        n_to 
+            "Since when did you get the ability to walk through 
+            walls? The kitchen is to the west. The front door is to 
+            the east. Your bedroom is to the south.",
+        s_to bedroom,
+        w_to kitchen,
+        e_to frontdoor,
+  has   light;
+
+Object  picture "pictures" livingroom
+  with  description 
+            "The pictures in the room consist of a landscape painting 
+            showing a strangely geometric mountain, another of a 
+            still life painting of a table laid out with a feast and 
+            the third is a portrait of an unknown man. He has a full 
+            beard, is wearing a black robe and no shoes. On his head 
+            is a large 1970s-era hard disk platter.",
+        name 'picture' 'photo' 'photos' 'frame' 'frames' 'pictures' 
+        'image' 'images',
+        Before [;
+          Take:
+            print_ret 
+                "They look so nice, perhaps it's better to leave them 
+                where they are.";
+        ],
+  has   scenery pluralname;
+
+Object  man "man" livingroom
+  with  description "It's a painting of Richard Stallman dressed as 
+                    St IGNUcius.",
+        name 'man' 'disk' 'hard' 'platter' 'robe' 'rms' 'Richard' 'Stallman'
+        'robe' 'black' 'image' 'images',
+        Before [;
+          Take:
+            print_ret 
+                "The painting looks so nice, perhaps it's better to 
+                leave it where it is.";
+        ],
+  has   scenery;
+
+Object  television "television" livingroom
+  with  name 'television' 'tv',
+        description 
+            "It's big, gray, and one of those old-fashioned CRT 
+            models. It looks very heavy.",
+        watch_count 0,
+        before [;
+          Listen, Examine:
+            if (television has on) {
+                self.watch_count = self.watch_count + 1;
+                switch (self.watch_count) {
+                  1:
+                    print 
+                        "It's big, gray, and one of those 
+                        old-fashioned CRT models. It looks very 
+                        heavy.^The TV is currently switched on. Your 
+                        favorite news program is on: U.S. News And 
+                        Grue Report.^The news anchor is saying ~In 
+                        other news, authorities continue to 
+                        investigate the missing persons case.~^";
+                    score = score + 1;
+                    return true;
+                  2:
+                    print 
+                        "The news anchor continues by saying ~We're 
+                        told the that number of missing people is now 
+                        up to as many as 5.~^";
+                    score = score + 1;
+                    return true;
+                  3:
+                    print 
+                        "The news anchor concludes their coverage by 
+                        saying ~We'll have more as the story continues 
+                        to develop.~^";
+                    score = score + 1;
+                    return true;
+                  default:
+                    print 
+                        "It's big, gray, and one of those 
+                        old-fashioned CRT models. It looks very 
+                        heavy.^The TV is currently switched on. Your 
+                        favorite news program is on: U.S. News And 
+                        Grue Report.^";
+                    return true;
+                }
+            }
+            ;
+          Take, Pull, Push, PushDir:
+            print_ret (The) self, " is too heavy for that.";
+        ],
+        after [;
+          SwitchOn:
+            print 
+                "The television comes to life. Your favorite news 
+                program is on: U.S. News And Grue Report.^";
+            if (television hasnt visited) {
+                score = score + 1;
+                give television visited;
+            }
+            return true;
+        ],
+  has   scenery static switchable;
+
+Object  couch "couch" livingroom
+  with  name 'couch' 'sofa',
+        description 
+            "It looks like a throwback from the 1970s but has held up 
+            very well.",
+        before [;
+          Take, Pull, Push, PushDir:
+            print_ret (The) self, " is too heavy for that.";
+        ],
+        after [;
+          Enter:
+            print 
+                 "The couch makes a nauseating, high-pitched groan as 
+                 your weight is added.^";
+            return true;
+          Exit, GetOff:
+            print "The couch makes a muted snort as your weight is removed.^";
+            return true;
+        ],
+  has   scenery static supporter enterable;
+
+Object  frontdoor "front door" livingroom
+  with  name 'door' 'front',
+        description 
+            "Cinnamon brown in color it appears to be a very solid 
+            and hefty door.",
+        short_name [;
+            if (location == livingroom)
+                print "door to the outside";
+            else
+                print "door to your house";
+            return true;
+        ],
+        found_in livingroom sidewalk,
+        door_dir [;
+            if (location == sidewalk)
+                return w_to;
+            else
+                return e_to;
+        ],
+        door_to [;
+            if (location == sidewalk)
+                return livingroom;
+            else
+                return sidewalk;
+        ],
+  has   scenery door openable;
+
+Object  bedroom "Bedroom"
+  with  description 
+            "You walk through the door and find yourself in your own 
+            bedroom, which was once used by your grandmother. This 
+            room was designed in a renaissance style by a master 
+            decorator. It has a certain sense of extravagance, with 
+            ornate inlaid walls in a variety of complimentary colors 
+            that form exquisite patterns, with gold and marble 
+            highlights. The fully-decorated bed looks very comfortable 
+            - it projects a very light, airy feeling that's perfect 
+            for sleeping and adds to the sense of luxury. On the wall 
+            across from your bed is a large painting. The livingroom 
+            is to the north.",
+        n_to livingroom,
+        cant_go 
+            "Since when did you get the ability to walk through 
+            walls? Your livingroom is to the north.",
+  has   light;
+
+Object  painting "painting" bedroom
+  with  description 
+            "It's a picture of Aragain Falls, the most breathtaking 
+            and awesome waterfall in the known lands.",
+        before [;
+          Insert:
+            if (second == box)
+                print_ret (The) self, " is too big to fit.";
+        ],
+        name 'painting' 'paint' 'picture' 'of' 'aragain' 'falls',
+  has   scenery;
+
+Object  bed "bed" bedroom
+  with  name 'bed' 'twin',
+        description 
+            "With a frame of solid wood with a golden brown finish, 
+            it's a finely crafted bed.",
+        before [;
+          Take, Pull, Push, PushDir:
+            print_ret (The) self, " is too heavy for that.";
+        ],
+  has   scenery static supporter enterable;
+
+Object  box "dented steel box" bed
+  with  name 'box' 'safe' 'safety' 'deposit',
+        description 
+            "It's a safety deposit box. Made of steel, and dented, 
+            the words ~Property Of The Bank of Zork~ are on it.",
+  has   container openable;
+
+Object  directional "compass" box
+  with  name 'compass',
+        description [;
+            if (location == livingroom || location == sidewalk) {
+                print "The compass is pointing west.^";
+                rtrue;
+            }
+            if (location == frontporch) {
+                print "The compass is pointing southeast.^";
+                rtrue;
+            }
+            else
+                print 
+                    "Ordinarily you'd expect a compass to point north
+                    but this one is spinning wildly in every
+                    direction.^";
+        ],
+        ;
+
+Object  grandlivingroom "Grand Livingroom"
+  with  description [;
+            if (grandlivingroom has visited) {
+                print 
+                    "This time there's no sign of the woman but the 
+                    guards she called for are here. They grab & arrest 
+                    you. Perhaps you should have listened.^";
+            }
+            if (grandlivingroom hasnt visited) {
+                print 
+                    "Feeling a little disoriented as you enter, this 
+                    doesn't seem like the same place: The interior 
+                    feels very open. Walls of pine extend upward to a 
+                    ceiling soaring above this two-story height 
+                    livingroom with windows extending all the way up 
+                    the walls, providing an abundance of sunlight for 
+                    the space. The ceiling is painted with soft moss 
+                    on a deep silver background creating an inviting 
+                    effect. A wide doorway on the other side of the 
+                    room leads to a wide balcony, providing a perfect 
+                    view of the garden and pond beyond it. As you 
+                    begin to take in the bold colors of this lavish 
+                    room a woman comes out of one of the walkways on 
+                    the other end. Dressed in a stunning red and blue 
+                    gown she seems a combination of surprised and 
+                    startled to see you. ~Who are you? Why are you 
+                    here?~ she asks, demandingly. Not giving time for 
+                    a response she yells for the guards. I don't know 
+                    where we are but I think now would be a good time 
+                    to leave.^";
+            }
+        ],
+                each_turn [;
+                guardscalled = guardscalled + 1;
+                if (guardscalled == 1)
+                    PlayerTo(neighborlivingroom);
+                else
+                    if (guardscalled == 2) {
+                        deadflag = 3;
+                    }
+        ],
+  has   light;
+
+Object  Sidewalk "Sidewalk"
+  with  description 
+            "You are standing on the sidewalk in front of your house. 
+            The street is normally quiet, but it's been very busy 
+            and crowded today, like trying to get through a busy movie 
+            theater, and the sound of the traffic has been 
+            particularly noticeable. The traffic is a good sign of 
+            what's going on in the city as a whole today. It is barely 
+            cloudy and already hot this morning. Smaller branches of 
+            trees are in motion from the light wind, which helps to 
+            provide some relief from the heat. Your home is to the 
+            west. Your neighbor's home is to the northwest.",
+        n_to 
+            "Some inconsiderate person parked their car on the 
+            sidewalk which blocks your path. It might be nice to call 
+            Parking Enforcement so they can get a ticket for creating 
+            an obstruction but you don't have a phone.",
+        s_to 
+            "You arrive at an intersection. Lots of traffic drives 
+            past at high speed creating a small breeze that makes your 
+            shirt ripple. You decide it is better to not risk being 
+            run over and go back.",
+        e_to 
+            "As you start to step out into the street a car quickly 
+            zooms by at high speed. You jump back to avoid becoming 
+            part of the pavement.",
+        se_to 
+            "As you start to step out into the street a car honks 
+            impatiently for you to get out of the way. You go back to 
+            your old spot.",
+        ne_to 
+            "The street is very busy. Surely you'd be hit by a moving 
+            vehicle if you went there.",
+        nw_to frontporch,
+        sw_to "A rock wall blocks your path.",
+        w_to frontdoor,
+  has   light;
+
+Object  street "street" sidewalk
+  with  name 'street' 'road',
+        description "It's your typical street.",
+  has   scenery;
+
+Object  rockwall "rock wall" sidewalk
+  with  name 'rock' 'wall' 'stone' 'rock' 'boulder' 'stonework' 
+        'cobblestone' 'mortar' 'stones' 'rocks' 'walls',
+         description 
+            "Made up of assorted stones of various sizes and shapes, 
+            with a healthy dose of mortar between them to fill and 
+            seal the irregular gaps between them, it serves as a wall 
+            separating your property from someone else's.",
+  has   scenery;
+
+Object  car "car" sidewalk
+  with  name 'car' 'vehicle' 'automobile',
+        description 
+            "It's a white two-door car. The license plate holder says 
+            FrobozzCo International.",
+        before [;
+          Unlock:
+            print_ret "The car is locked, and there is apparently no key.";
+          Open:
+            print_ret "The car is locked, and there is apparently no key.";
+          Climb:
+            print_ret 
+                "I'm not sure that FrobozzCo International would 
+                appreciate people climbing on one of their cars.";
+          Take:
+            print_ret 
+                "I doubt that FrobozzCo International would 
+                appreciate someone taking one of their cars.";
+          Pull, Push, PushDir, Turn:
+            print_ret (The) self, " is too heavy for that.";
+        ],
+  has   scenery;
+
+Object  licenseplateframe "license plate holder" sidewalk
+  with  name 'license' 'plate' 'frame' 'holder',
+        description "It says FrobozzCo International in white letters 
+                    on a black frame.",
+        Before [;
+          Take, Pull, Push, PushDir, Turn:
+            print_ret (The) self, " is firmly attached to the car.";
+        ],
+  has   scenery;
+
+Object  frontporch "Front Porch"
+  with  description 
+            "You are on your neighbor's front porch. It consists of a 
+            coffee brown wooden floor connected to and surrounded a 
+            parchment white wooden fence. The fence is obviously new 
+            and looks great. It's tall enough to make climbing it 
+            impossible. The design of the porch places the focus on 
+            the front door. A deep red color, the door is large, high 
+            quality and has no window. It has a shiny brass handle, 
+            which appears very sturdy. There's an opening to the 
+            southwest toward the sidewalk. Their front door is to the 
+            west.",
+        cant_go "That parchment white wooden fence is too high to get over.",
+        se_to sidewalk,
+        w_to neighbordoor,
+  has   light;
+
+Object  neighbordoor "front door" frontporch
+  with  name 'door' 'front' 'red',
+        description "The door is large and high quality. A deep red 
+                    color it has no window and a shiny brass handle, 
+                    which appears to be very sturdy.",
+        found_in frontporch neighborlivingroom,
+        door_dir [;
+            if (location == frontporch)
+                return w_to;
+            else
+                return e_to;
+        ],
+        door_to [;
+            if (location == frontporch)
+                return neighborlivingroom;
+            else
+                return frontporch;
+        ],
+  has   scenery door openable;
+
+Object  brasshandle "brass door handle" frontporch
+  with  name 'brass' 'handle',
+        found_in frontporch neighborlivingroom,
+  has   scenery;
+
+Object  fence "wooden fence" frontporch
+  with  name 'fence' 'wooden' 'wood',
+        found_in backyard frontporch,
+  has   scenery;
+
+Object  neighborlivingroom "Neighbor's Livingroom"
+  with  description 
+            "You are in your neighbor's livingroom. It seems that no 
+            one has lived here in a long time, even though you saw 
+            your neighbor here last week. All of the furniture has 
+            been removed and the air smells stale. A large bay window 
+            enclosed by sheer cobalt blue curtains allowing light to 
+            come through. A door is to the east.^^A machine as tall as 
+            you sits in the center of their livingroom. It consists 
+            of three transparent spheres joined together containing 
+            machinery. A barrel with a small aperture comes out of the 
+            farthest sphere, pointing down and to the wall. The 
+            entire thing rests on a shiny metal platform allowing it 
+            to rotate and tilt with ease.",
+        w_to neighborkitchen,
+        e_to neighbordoor,
+        before [;
+          Go:
+            if (bluebutton has on && poker notin machine) {
+                machine.shoot();
+                rtrue;
+            }
+        ],
+  has   light;
+
+Object  neighborwindow "window" neighborlivingroom
+  with  name 'large' 'bay' 'window' 'windows',
+        description "A large bay window enclosed by sheer cobalt blue 
+                    curtains allowing light to come through.",
+        before [;
+          Go:
+            print_ret "The window is not something you can go through.";
+          Open, Close:
+            print_ret "This isn't the type of window that can be 
+                      opened or closed.";
+        ],
+  has   scenery;
+
+Object  neighborcurtains "curtains" neighborlivingroom
+  with  name 'cobalt' 'blue' 'curtain' 'curtains',
+        description 
+            "Cobalt blue in color, the curtains have been decorated with 
+            intricate embroidery.",
+        before [;
+          Take, Pull, Push, PushDir:
+            print_ret "Don't you think they look nice where they are?";
+        ],
+  has   scenery openable pluralname;
+
+Object  embroidery "embroidery" neighborlivingroom
+  with  name 'embroidery' 'pattern' 'patterns',
+  has   scenery;
+
+Object  redbutton "red button" neighborlivingroom
+  with  name 'red' 'red button' 'button' 'buttons',
+        before [;
+          Push:
+            if (bluebutton has on && poker notin machine) {
+                print 
+                    "You reach for the red button, but not in 
+                    time...^ ";
+                machine.shoot();
+                rtrue;
+            }
+            if (poker in machine)
+                print_ret 
+                    "You press the red button but it's futile because 
+                    the machine's shorted out.";
+            else {
+                print 
+                    "You push the red button. The machine makes clunky 
+                    noises as machinery moves inside. A loud humming 
+                    begins to emanate from it. It comes to life, spins 
+                    around on its base, aims, and quickly fires a 
+                    series of three bright blue sparks at you. You 
+                    hear a small explosive sound as they impact your 
+                    chest. You feel a little disoriented as it 
+                    teleports you away.^";
+                move box to bed ;
+                move directional to box ;
+                move newspaper to table ;
+                move letter to island ;
+                move poker to fireplace ;
+                PlayerTo(campsite);
+                rtrue;
+            }
+        ],
+  has   scenery;
+
+Object  bluebutton "blue button" neighborlivingroom
+  with  name 'blue' 'blue button' 'button' 'buttons',
+        before [;
+          Push:
+            if (bluebutton has on) {
+                if (poker notin machine) {
+                    print 
+                        "You reach for the blue button, but not 
+                        in time...^ ";
+                    machine.shoot();
+                    rtrue;
+                }
+                else {
+                    give bluebutton ~on;
+                    print_ret "You push the blue button. The machine 
+                    sounds like it powers down.";
+                }
+            }
+            else {
+                give bluebutton on;
+                if (poker notin machine) {
+                    machine.shoot();
+                    rtrue;
+                }
+                print_ret "You push the blue button.";
+            }
+        ],
+  has   scenery on;
+
+Object  machine "machine" neighborlivingroom
+  with  name 'machine' 'machinery' 'sphere' 'spheres' 'platform' 'barrel'
+        'aperture' 'metal platform' 'shiny metal platform' 'shiny platform'
+        'shiny' 'metal',
+        description 
+            "It consists of three transparent spheres joined together 
+            containing machinery. A barrel with a small aperture comes 
+            out of the farthest sphere, pointing down and to the wall. 
+            The entire thing rests on a shiny metal platform allowing 
+            it to rotate and tilt with ease. There is a blue button 
+            and a red button.",
+        time_left,
+        before [ weapon;
+          Attack:
+            if (noun == self)
+                weapon = second;
+            else
+                weapon = noun;
+            if (weapon ~= poker) {
+                print "That wasn't helpful.^";
+                if (bluebutton has on)
+                    self.shoot();
+                rtrue;
+            }
+            self.shortout();
+            return true;
+          Receive:
+            if (noun == poker) {
+                self.shortout();
+                return true;
+            }
+            if (bluebutton has on)
+                self.shoot();
+            rtrue;
+        ],
+        time_out [;
+            if (poker in self)
+                StopTimer(machine);
+            else
+                if (bluebutton has on)
+                    self.shoot();
+        ],
+        daemon [;
+            if (poker in player)
+                rfalse;
+            if (player in parent(self) && poker notin machine)
+                self.shoot();
+        ],
+        shoot [ destination;
+            destination = random(3);
+            print 
+                "^A loud humming begins to emanate from the machine. 
+                It comes to life, spins around on its base, aims, and 
+                quickly fires a series of three bright blue sparks at 
+                you. You hear a small explosive sound as they impact 
+                your chest. You feel a little disoriented as it 
+                teleports you away.^";
+            if (destination == 1)
+                PlayerTo(kitchen);
+            if (destination == 2)
+                PlayerTo(livingroom);
+            if (destination == 3)
+                PlayerTo(bedroom);
+        ],
+        shortout [;
+            if (machine hasnt visited) {
+                score = score + 1;
+                give machine visited;
+            }
+            move poker to self;
+            print "You put the poker into ", (the) self, 
+                ". Sparks 
+                fly wildly in every direction as it shorts out.^";
+        ],
+  has   scenery container open;
+
+Object  backyard "Back Yard"
+  with  description 
+            "You are in your neighbor's back yard. It is barely cloudy 
+            and already hot this morning. Some shade from the sun 
+            would be nice but the closest tree is at the sidewalk, on 
+            the other side of the building and the sun is causing all 
+            of the shadows to go in the wrong direction. The healthy, 
+            dark green grass is well manicured. It looks like a nice 
+            place. You hear some dogs barking in the distance. A high 
+            wooden fence encompasses the area, painted a burnt umber. 
+            Their back door is to the east. Your kitchen window is to 
+            the south.",
+        before [;
+          Go:
+            if (noun == s_obj) {
+                print 
+                    "Climbing over the fence you squeeze back through 
+                    your kitchen window.^";
+            }
+        ],
+        s_to window,
+        n_to "Their fence is too high to climb over in that direction.",
+        e_to backdoor,
+        w_to "Their fence is too high to climb over in that direction.",
+  has   light;
+
+Object  leaves "leaves" backyard
+  with  name 'leaf' 'leaves',
+        found_in backyard sidewalk,
+  has   scenery;
+
+Object  scratches "scratches" backyard
+  with  name 'scratch' 'scratches' 'mark' 'marks' 'marking' 'markings',
+        found_in backyard neighborkitchen,
+  has   scenery;
+
+Object  house "neighbor's house" backyard
+  with  name 'neighbor' 'neighbors' 'house' 'home' 'building',
+        found_in backyard frontporch kitchen sidewalk,
+  has   scenery;
+
+Object  backdoor "back door" backyard
+  with  name 'door' 'back' 'backdoor',
+        description 
+            "Burgundy in color it seems a solid and hefty door. It 
+            has scratches along the bottom, as if from a pet long 
+            forgotten.",
+        short_name [;
+            if (location == backyard)
+                print "door to your neighbor's house";
+            else
+                print "door to the back yard";
+            return true;
+        ],
+        found_in backyard neighborkitchen,
+        door_dir [;
+            if (location == backyard)
+                return e_to;
+            else
+                return w_to;
+        ],
+        door_to [;
+            if (location == backyard)
+                return neighborkitchen;
+            else
+                return backyard;
+        ],
+  has   scenery door openable;
+
+Object  neighborkitchen "Kitchen"
+  with  description 
+            "You are in your neighbor's kitchen. It's a large 
+             contemporary kitchen with an open design and many flat 
+             surfaces. The color palette is very bright and in 
+             perfect harmony with the kitchen. It's timeless and 
+             beautiful. The walls look like they've been used to 
+             store things, with some faint outlines remaining that 
+             gives a lived-in look. It could have been a luxury 
+             cooking environment, though by now everything has been 
+             removed. Only the kitchen island and fireplace remain in 
+             stark contrast to the bare kitchen. The livingroom is to 
+             the east. The door to the back yard is to the west.",
+        e_to neighborlivingroom,
+        w_to backyard,
+  has   light;
+
+Object  island "kitchen island" neighborkitchen
+  with  name 'kitchen' 'island' 'table' 'wood' 'wooden' 'top' 'wood',
+        description 
+            "It has metal legs firmly embedded into the floor, and a 
+            wooden top. Strangely, all of the drawers have been 
+            removed.",
+        before [;
+          Take, Pull, Push, PushDir, Turn:
+            print_ret "The kitchen island is firmly planted in the floor.";
+        ],
+  has   scenery supporter enterable;
+
+Object  brick "brick" neighborkitchen
+  with  name 'brick' 'bricks' 'mortar',
+        description 
+            "You find nothing special about the bricks that make up 
+            the fireplace.",
+  has   scenery;
+
+Object  fireplace "fireplace" neighborkitchen
+  with  name 'fireplace' 'fire' 'place' 'mouth',
+        description [;
+            print 
+                "A stain is splayed against the brick fireplace, 
+                making its curved mouth appear like a black, toothless 
+                scream. A confection of ashes occupy the fireplace";
+            if (poker in self)
+                print 
+                    ", and a poker hangs out which looks like it 
+                    could make an effective weapon";
+            print ".";
+            new_line;
+        ],
+  has   scenery container transparent open;
+
+Object  poker "poker" fireplace
+  with  name 'poker',
+        description 
+            "This poker may have once been used to expedite the 
+            flame's envelopment, as well as the house's many stories 
+            and secrets.",
+        before [;
+          Take, Pull, Push, PushDir, Remove:
+            give poker ~concealed;
+            if (poker hasnt visited) {
+                score = score + 1;
+                give poker visited;
+                }
+            if (player in neighborlivingroom) {
+                if (bluebutton has on)
+                    machine.shoot();
+            }
+        ],
+  has   concealed;
+
+Object  ashes "ashes" fireplace
+  with  name 'ash' 'ashes',
+        description "It looks like a pile of ash.",
+        before [;
+          Take, Pull, Push, PushDir:
+            print_ret "The ashes are so fine they fall between your fingers.";
+        ],
+  has   concealed pluralname;
+
+Object  stain "stain" fireplace
+  with  name 'stain',
+  has   scenery;
+
+Object  mouth "mouth of the fireplace" fireplace
+  with  name 'mouth',
+  has   scenery;
+
+Object  letter "letter" island
+  with  name 'letter',
+        description 
+            "The letter reads: ~Thank you for evaluating this 
+            prototype of the Frobozz Magic Teleporter. Please refer to 
+            the enclosed manual to learn how to program destinations 
+            in to your teleporter. Pressing the red button recalls the 
+            last-used destination and teleports you there. Pressing 
+            the blue button engages Defense Mode, which instantly 
+            whisks intruders away. Use it to provide defense for any 
+            location! Please send feedback about this prototype to 
+            your local FrobozzCo International sales person. Warning: 
+            Side effects can include disorientation, loss of memory, 
+            lightheadedness, loss of appetite, nausea, vomiting, 
+            weakness, and death.~";
\ No newline at end of file
diff --git a/src/objects/globals.inf b/src/objects/globals.inf
deleted file mode 100644 (file)
index 6e65652..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-! Copyright (C) 2019, 2020 Jason Self <j@jxself.org>
-!
-! This file is free software: you may copy, redistribute and/or
-! modify it under the terms of the GNU Affero General Public License
-! as published by the Free Software Foundation, either version 3 of
-! the License, or (at your option) any later version.
-!
-! This file is distributed in the hope that it will be useful, but
-! WITHOUT ANY WARRANTY; without even the implied warranty of
-! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-! Affero General Public License for more details.
-!
-! You should have received a copy of the GNU Affero General Public
-! License along with this file. If not, see https://gnu.org/licenses/
-
-Object  sky "sky" g58
-  with  name 'sky',
-        found_in backyard frontporch kitchen sidewalk g58 g60 h70,
-  has   scenery;
-
-Object  forest "forest" g58
-  with  name 'forest',
-        found_in g58 g59,
-  has   scenery;
-
-Object  hills "hills" campsite
-  with  name 'hill' 'hills',
-        found_in campsite g58,
-  has   scenery;
-
-Object  field "grassy field" campsite
-  with  name 'grassy' 'field',
-        found_in campsite g58,
-  has   scenery;
-
-Object  sun "sun" sidewalk
-  with  name 'sun',
-        found_in sidewalk backyard campsite g58 g59 h70,
-  has   scenery;
-
-Object  clouds "clouds" sidewalk
-  with  name 'cloud' 'clouds',
-        found_in sidewalk backyard h78,
-  has   scenery;
-
-Object  grass "grass" backyard
-  with  name 'green' 'grass' 'meadow' 'sod' 'turf' 'lawn',
-        found_in backyard campsite westofcampsite h70,
-  has   scenery;
-
-Object  tree "tree" sidewalk
-  with  name 'tree' 'trees' 'evergreen' 'evergreen' 'leaves' 'leaf',
-        found_in sidewalk backyard campsite,
-        description 
-            "Standing strong, majestic and tall, as if reaching for
-            the sky. There are countless numbers of sun-drenched
-            leaves, each a deep green.",
-        before [;
-          Climb:
-            print_ret 
-                "Despite your best efforts you're not able to.
-                There's no branch low enough to grab.";
-          Taste:
-            print_ret "It tastes like wood.";
-          Touch:
-            print_ret "The trunk of the free feels rough to the touch.";
-          Take, Pull, Push, PushDir, Turn:
-            print_ret 
-                "The tree is firmly anchored into the ground by a
-                healthy root system. It's not going anywhere.";
-          Drink:
-            print_ret "The tree is not a liquid.";
-          Blow:
-            print_ret "You huff and you puff but nothing happens.";
-          Burn:
-            print_ret "Only you can prevent forest fires.";
-          Buy:
-            print_ret "The tree is not for sale.";
-          JumpOver:
-            print_ret 
-                "Since when did you gain the ability to jump over
-                trees in a single bound?";
-        ],
-  has   scenery;
-
-Object  livestocktracks "livestock tracks" westofcampsite
-  with  name 'livestock' 'track' 'tracks',
-        found_in westofcampsite g59,
-  has   scenery;
-
-Object  creek "slow-moving creek" g59
-  with  name 'creek',
-        found_in g59 g60,
-  has   scenery;
-
-Object  ridge "high ridge" g60
-  with  name 'high' 'ridge',
-        description 
-            "Perched high up on the ridge is a single 
-            tan and maroon building.",
-        found_in g60 h70,
-  has   scenery;
\ No newline at end of file
diff --git a/src/objects/intro/backyard.inf b/src/objects/intro/backyard.inf
deleted file mode 100644 (file)
index ff9e035..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-! Copyright (C) 2019, 2020 Jason Self <j@jxself.org>
-!
-! This file is free software: you may copy, redistribute and/or 
-! modify it under the terms of the GNU Affero General Public License 
-! as published by the Free Software Foundation, either version 3 of 
-! the License, or (at your option) any later version.
-!
-! This file is distributed in the hope that it will be useful, but
-! WITHOUT ANY WARRANTY; without even the implied warranty of
-! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-! Affero General Public License for more details.
-!
-! You should have received a copy of the GNU Affero General Public
-! License along with this file. If not, see https://gnu.org/licenses/
-
-Object  backyard "Back Yard"
-  with  description 
-            "You are in your neighbor's back yard. It is barely cloudy 
-            and already hot this morning. Some shade from the sun 
-            would be nice but the closest tree is at the sidewalk, on 
-            the other side of the building and the sun is causing all 
-            of the shadows to go in the wrong direction. The healthy, 
-            dark green grass is well manicured. It looks like a nice 
-            place. You hear some dogs barking in the distance. A high 
-            wooden fence encompasses the area, painted a burnt umber. 
-            Their back door is to the east. Your kitchen window is to 
-            the south.",
-        before [;
-          Go:
-            if (noun == s_obj) {
-                print 
-                    "Climbing over the fence you squeeze back through 
-                    your kitchen window.^";
-            }
-        ],
-        s_to window,
-        n_to "Their fence is too high to climb over in that direction.",
-        e_to backdoor,
-        w_to "Their fence is too high to climb over in that direction.",
-  has   light;
-
-Object  leaves "leaves" backyard
-  with  name 'leaf' 'leaves',
-        found_in backyard sidewalk,
-  has   scenery;
-
-Object  scratches "scratches" backyard
-  with  name 'scratch' 'scratches' 'mark' 'marks' 'marking' 'markings',
-        found_in backyard neighborkitchen,
-  has   scenery;
-
-Object  house "neighbor's house" backyard
-  with  name 'neighbor' 'neighbors' 'house' 'home' 'building',
-        found_in backyard frontporch kitchen sidewalk,
-  has   scenery;
-
-Object  backdoor "back door" backyard
-  with  name 'door' 'back' 'backdoor',
-        description 
-            "Burgundy in color it seems a solid and hefty door. It 
-            has scratches along the bottom, as if from a pet long 
-            forgotten.",
-        short_name [;
-            if (location == backyard)
-                print "door to your neighbor's house";
-            else
-                print "door to the back yard";
-            return true;
-        ],
-        found_in backyard neighborkitchen,
-        door_dir [;
-            if (location == backyard)
-                return e_to;
-            else
-                return w_to;
-        ],
-        door_to [;
-            if (location == backyard)
-                return neighborkitchen;
-            else
-                return backyard;
-        ],
-  has   scenery door openable;
\ No newline at end of file
diff --git a/src/objects/intro/bedroom.inf b/src/objects/intro/bedroom.inf
deleted file mode 100644 (file)
index d0017d7..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-! Copyright (C) 2019 Jason Self <j@jxself.org>
-!
-! This file is free software: you may copy, redistribute and/or
-! modify it under the terms of the GNU Affero General Public License
-! as published by the Free Software Foundation, either version 3 of
-! the License, or (at your option) any later version.
-!
-! This file is distributed in the hope that it will be useful, but
-! WITHOUT ANY WARRANTY; without even the implied warranty of
-! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-! Affero General Public License for more details.
-!
-! You should have received a copy of the GNU Affero General Public
-! License along with this file. If not, see https://gnu.org/licenses/
-
-Object  bedroom "Bedroom"
-  with  description 
-            "You walk through the door and find yourself in your own 
-            bedroom, which was once used by your grandmother. This 
-            room was designed in a renaissance style by a master 
-            decorator. It has a certain sense of extravagance, with 
-            ornate inlaid walls in a variety of complimentary colors 
-            that form exquisite patterns, with gold and marble 
-            highlights. The fully-decorated bed looks very comfortable 
-            - it projects a very light, airy feeling that's perfect 
-            for sleeping and adds to the sense of luxury. On the wall 
-            across from your bed is a large painting. The livingroom 
-            is to the north.",
-        n_to livingroom,
-        cant_go 
-            "Since when did you get the ability to walk through 
-            walls? Your livingroom is to the north.",
-  has   light;
-
-Object  painting "painting" bedroom
-  with  description 
-            "It's a picture of Aragain Falls, the most breathtaking 
-            and awesome waterfall in the known lands.",
-        before [;
-          Insert:
-            if (second == box)
-                print_ret (The) self, " is too big to fit.";
-        ],
-        name 'painting' 'paint' 'picture' 'of' 'aragain' 'falls',
-  has   scenery;
-
-Object  bed "bed" bedroom
-  with  name 'bed' 'twin',
-        description 
-            "With a frame of solid wood with a golden brown finish, 
-            it's a finely crafted bed.",
-        before [;
-          Take, Pull, Push, PushDir:
-            print_ret (The) self, " is too heavy for that.";
-        ],
-  has   scenery static supporter enterable;
-
-Object  box "dented steel box" bed
-  with  name 'box' 'safe' 'safety' 'deposit',
-        description 
-            "It's a safety deposit box. Made of steel, and dented, 
-            the words ~Property Of The Bank of Zork~ are on it.",
-  has   container openable;
-
-Object  directional "compass" box
-  with  name 'compass',
-        description [;
-            if (location == livingroom || location == sidewalk) {
-                print "The compass is pointing west.^";
-                rtrue;
-            }
-            if (location == frontporch) {
-                print "The compass is pointing southeast.^";
-                rtrue;
-            }
-            else
-                print 
-                    "Ordinarily you'd expect a compass to point north
-                    but this one is spinning wildly in every
-                    direction.^";
-        ],
-        ;
\ No newline at end of file
diff --git a/src/objects/intro/frontporch.inf b/src/objects/intro/frontporch.inf
deleted file mode 100644 (file)
index c041953..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-! Copyright (C) 2019, 2020 Jason Self <j@jxself.org>
-!
-! This file is free software: you may copy, redistribute and/or
-! modify it under the terms of the GNU Affero General Public License
-! as published by the Free Software Foundation, either version 3 of
-! the License, or (at your option) any later version.
-!
-! This file is distributed in the hope that it will be useful, but
-! WITHOUT ANY WARRANTY; without even the implied warranty of
-! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-! Affero General Public License for more details.
-!
-! You should have received a copy of the GNU Affero General Public
-! License along with this file. If not, see https://gnu.org/licenses/
-
-Object  frontporch "Front Porch"
-  with  description 
-            "You are on your neighbor's front porch. It consists of a 
-            coffee brown wooden floor connected to and surrounded a 
-            parchment white wooden fence. The fence is obviously new 
-            and looks great. It's tall enough to make climbing it 
-            impossible. The design of the porch places the focus on 
-            the front door. A deep red color, the door is large, high 
-            quality and has no window. It has a shiny brass handle, 
-            which appears very sturdy. There's an opening to the 
-            southwest toward the sidewalk. Their front door is to the 
-            west.",
-        cant_go "That parchment white wooden fence is too high to get over.",
-        se_to sidewalk,
-        w_to neighbordoor,
-  has   light;
-
-Object  neighbordoor "front door" frontporch
-  with  name 'door' 'front' 'red',
-        description "The door is large and high quality. A deep red 
-                    color it has no window and a shiny brass handle, 
-                    which appears to be very sturdy.",
-        found_in frontporch neighborlivingroom,
-        door_dir [;
-            if (location == frontporch)
-                return w_to;
-            else
-                return e_to;
-        ],
-        door_to [;
-            if (location == frontporch)
-                return neighborlivingroom;
-            else
-                return frontporch;
-        ],
-  has   scenery door openable;
-
-Object  brasshandle "brass door handle" frontporch
-  with  name 'brass' 'handle',
-        found_in frontporch neighborlivingroom,
-  has   scenery;
-
-Object  fence "wooden fence" frontporch
-  with  name 'fence' 'wooden' 'wood',
-        found_in backyard frontporch,
-  has   scenery;
\ No newline at end of file
diff --git a/src/objects/intro/grandlivingroom.inf b/src/objects/intro/grandlivingroom.inf
deleted file mode 100644 (file)
index 11b0071..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-! Copyright (C) 2019 Jason Self <j@jxself.org>
-!
-! This file is free software: you may copy, redistribute and/or
-! modify it under the terms of the GNU Affero General Public License
-! as published by the Free Software Foundation, either version 3 of
-! the License, or (at your option) any later version.
-!
-! This file is distributed in the hope that it will be useful, but
-! WITHOUT ANY WARRANTY; without even the implied warranty of
-! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-! Affero General Public License for more details.
-!
-! You should have received a copy of the GNU Affero General Public
-! License along with this file. If not, see https://gnu.org/licenses/
-
-Object  grandlivingroom "Grand Livingroom"
-  with  description [;
-            if (grandlivingroom has visited) {
-                print 
-                    "This time there's no sign of the woman but the 
-                    guards she called for are here. They grab & arrest 
-                    you. Perhaps you should have listened.^";
-            }
-            if (grandlivingroom hasnt visited) {
-                print 
-                    "Feeling a little disoriented as you enter, this 
-                    doesn't seem like the same place: The interior 
-                    feels very open. Walls of pine extend upward to a 
-                    ceiling soaring above this two-story height 
-                    livingroom with windows extending all the way up 
-                    the walls, providing an abundance of sunlight for 
-                    the space. The ceiling is painted with soft moss 
-                    on a deep silver background creating an inviting 
-                    effect. A wide doorway on the other side of the 
-                    room leads to a wide balcony, providing a perfect 
-                    view of the garden and pond beyond it. As you 
-                    begin to take in the bold colors of this lavish 
-                    room a woman comes out of one of the walkways on 
-                    the other end. Dressed in a stunning red and blue 
-                    gown she seems a combination of surprised and 
-                    startled to see you. ~Who are you? Why are you 
-                    here?~ she asks, demandingly. Not giving time for 
-                    a response she yells for the guards. I don't know 
-                    where we are but I think now would be a good time 
-                    to leave.^";
-            }
-        ],
-                each_turn [;
-                guardscalled = guardscalled + 1;
-                if (guardscalled == 1)
-                    PlayerTo(neighborlivingroom);
-                else
-                    if (guardscalled == 2) {
-                        deadflag = 3;
-                    }
-        ],
-  has   light;
\ No newline at end of file
diff --git a/src/objects/intro/kitchen.inf b/src/objects/intro/kitchen.inf
deleted file mode 100644 (file)
index 01298e3..0000000
+++ /dev/null
@@ -1,160 +0,0 @@
-! Copyright (C) 2019 Jason Self <j@jxself.org>
-!
-! This file is free software: you may copy, redistribute and/or
-! modify it under the terms of the GNU Affero General Public License
-! as published by the Free Software Foundation, either version 3 of
-! the License, or (at your option) any later version.
-!
-! This file is distributed in the hope that it will be useful, but
-! WITHOUT ANY WARRANTY; without even the implied warranty of
-! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-! Affero General Public License for more details.
-!
-! You should have received a copy of the GNU Affero General Public
-! License along with this file. If not, see https://gnu.org/licenses/
-
-Object  kitchen "Kitchen"
-  with  description 
-            "This looks like a restaurant-quality kitchen. It's small 
-            but full of natural light coming in through the large 
-            window, adding a nice sense of a warm glow. Despite the 
-            small size it has a high ceiling, and the room was set up 
-            into a rectangular shape. The layout allows for easy 
-            access. The walls are painted a buttery yellow and broken 
-            up by celery green curtains on the window. The highly 
-            polished floor ties everything together to create a 
-            feeling of comfort and elegance. It's the perfect example 
-            of well-balanced home design. The livingroom is to the 
-            east.",
-        n_to window,
-        cant_go "You walk smack into one of those buttery yellow 
-                walls I described.",
-        e_to livingroom,
-        before [;
-          Go:
-            if (chair in player) {
-                print_ret "The chair is too awkward to do that while 
-                          you're carrying it.";
-            }
-        ],
-  has   light;
-
-Object  wall "wall" kitchen
-  with  name 'yellow' 'wall' 'walls',
-        description [;
-            if (location == kitchen)
-                print
-                    "The walls are painted a buttery yellow and
-                    broken up by celery green curtains on the
-                    windows.^";
-            else
-                print "You see nothing special about the walls.^";
-        ],
-        found_in kitchen livingroom bedroom neighborkitchen neighborlivingroom,
-  has   scenery;
-
-Object  chair "chair" kitchen
-  with  name 'chair' 'backrest' 'seat',
-        description 
-            "It seems to be your average kitchen chair: Four chrome 
-            legs and a backrest with a yellow seat that matches the 
-            walls.",
-        before [;
-          Take:
-            move chair to player;
-            print_ret "As awkward as it is, you take the chair.";
-        ],
-  has   scenery supporter enterable;
-
-Object  table "table" kitchen
-  with  name 'table' 'kitchen table' 'formica',
-        description 
-            "It looks like something right out of the 1950s: Green 
-            formica and chrome legs.",
-        before [;
-          Take, Pull, Push, PushDir, Turn:
-            print_ret (The) self, " is too heavy for that.";
-        ],
-  has   scenery supporter enterable;
-
-Object  newspaper "newspaper" table
-  with  name 'newspaper' 'paper',
-        description 
-            "It's your favorite newspaper: U.S. News And Grue Report, 
-            which also airs on TV. The headline story says ~The GUE's 
-            redesigned 100 zorkmid bill makes history today, becoming 
-            the first ever zorkmid to feature a woman on the front. 
-            The bill is set to become legal tender next year, with 
-            the decision finalized by the Governor yesterday.~
-            ~I have enthusiastically embraced this bold new way of 
-            designing money, showing a woman's face. I believe this 
-            landmark achievement will stimulate public confidence in 
-            our monetary system and will help build the GUE's 
-            creative capabilities,~ the Governor said. The next 
-            story talks about how a local resident has won the 
-            carrot-growing contest for the third time in a row."; 
-
-Object  window "window" kitchen
-  with  name 'window' 'windows',
-        description 
-            "Framed by celery green curtains it seems almost large 
-            enough to climb through.",
-        short_name [;
-            if (location == kitchen)
-                print "window to your neighbor's back yard";
-            else
-                print "window to your kitchen";
-            return true;
-        ],
-        found_in kitchen backyard,
-        door_dir [;
-            if (location == kitchen)
-                return n_to;
-            else
-                return s_to;
-        ],
-        door_to [;
-            if (location == kitchen)
-                return backyard;
-            else
-                return kitchen;
-        ],
-        before [;
-          Search:
-            if (curtains has open) {
-                print "You see your neighbor's backyard.^";
-                return true;
-            }
-            else {
-                print "The curtains are closed, and you can't see 
-                      through them.^";
-                return true;
-            }
-          Open:
-            if (window hasnt visited) {
-                score = score + 1;
-                give window visited;
-            }
-          Climb:
-            if (window hasnt visited) {
-                score = score + 1;
-                give window visited;
-            }
-            PlayerTo(backyard);
-        ],
-  has   scenery door openable;
-
-Object  curtains "curtains" kitchen
-  with  name 'celery' 'green' 'curtain' 'curtains',
-        description "Celery green in color, you see nothing special 
-                    about the curtains.",
-        before [;
-          Take, Pull, Push, PushDir:
-            print_ret "Don't you think they look nice where they are?";
-        ],
-  has   scenery open openable pluralname;
-
-Object  legs "legs" kitchen
-  with  name 'leg' 'legs',
-        found_in kitchen neighborkitchen,
-  has   scenery;
\ No newline at end of file
diff --git a/src/objects/intro/livingroom.inf b/src/objects/intro/livingroom.inf
deleted file mode 100644 (file)
index 0cb4a2c..0000000
+++ /dev/null
@@ -1,182 +0,0 @@
-! Copyright (C) 2019, 2020 Jason Self <j@jxself.org>
-!
-! This file is free software: you may copy, redistribute and/or
-! modify it under the terms of the GNU Affero General Public License
-! as published by the Free Software Foundation, either version 3 of
-! the License, or (at your option) any later version.
-!
-! This file is distributed in the hope that it will be useful, but
-! WITHOUT ANY WARRANTY; without even the implied warranty of
-! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-! Affero General Public License for more details.
-!
-! You should have received a copy of the GNU Affero General Public
-! License along with this file. If not, see https://gnu.org/licenses/
-
-Object  livingroom "Livingroom"
-  with  description 
-            "You are in a modestly furnished living room. It's very a 
-            traditional but modern as far as the style of rooms go. It 
-            has a certain bourgeois feeling, although it doesn't seem 
-            very large. There's a couch in the middle of the room 
-            facing a television. Pictures hang from the other walls. 
-            The pictures were commissioned by your family, but a lot 
-            of people claim they painted them. You can hear the sound 
-            of vehicles driving by outside. The kitchen is to the 
-            west. The front door is to the east. Your bedroom is to 
-            the south.",
-        before [;
-          Listen:
-            print "You can hear the sound of vehicles driving by outside.^";
-            return true;
-        ],
-        n_to 
-            "Since when did you get the ability to walk through 
-            walls? The kitchen is to the west. The front door is to 
-            the east. Your bedroom is to the south.",
-        s_to bedroom,
-        w_to kitchen,
-        e_to frontdoor,
-  has   light;
-
-Object  picture "pictures" livingroom
-  with  description 
-            "The pictures in the room consist of a landscape painting 
-            showing a strangely geometric mountain, another of a 
-            still life painting of a table laid out with a feast and 
-            the third is a portrait of an unknown man. He has a full 
-            beard, is wearing a black robe and no shoes. On his head 
-            is a large 1970s-era hard disk platter.",
-        name 'picture' 'photo' 'photos' 'frame' 'frames' 'pictures' 
-        'image' 'images',
-        Before [;
-          Take:
-            print_ret 
-                "They look so nice, perhaps it's better to leave them 
-                where they are.";
-        ],
-  has   scenery pluralname;
-
-Object  man "man" livingroom
-  with  description "It's a painting of Richard Stallman dressed as 
-                    St IGNUcius.",
-        name 'man' 'disk' 'hard' 'platter' 'robe' 'rms' 'Richard' 'Stallman'
-        'robe' 'black' 'image' 'images',
-        Before [;
-          Take:
-            print_ret 
-                "The painting looks so nice, perhaps it's better to 
-                leave it where it is.";
-        ],
-  has   scenery;
-
-Object  television "television" livingroom
-  with  name 'television' 'tv',
-        description 
-            "It's big, gray, and one of those old-fashioned CRT 
-            models. It looks very heavy.",
-        watch_count 0,
-        before [;
-          Listen, Examine:
-            if (television has on) {
-                self.watch_count = self.watch_count + 1;
-                switch (self.watch_count) {
-                  1:
-                    print 
-                        "It's big, gray, and one of those 
-                        old-fashioned CRT models. It looks very 
-                        heavy.^The TV is currently switched on. Your 
-                        favorite news program is on: U.S. News And 
-                        Grue Report.^The news anchor is saying ~In 
-                        other news, authorities continue to 
-                        investigate the missing persons case.~^";
-                    score = score + 1;
-                    return true;
-                  2:
-                    print 
-                        "The news anchor continues by saying ~We're 
-                        told the that number of missing people is now 
-                        up to as many as 5.~^";
-                    score = score + 1;
-                    return true;
-                  3:
-                    print 
-                        "The news anchor concludes their coverage by 
-                        saying ~We'll have more as the story continues 
-                        to develop.~^";
-                    score = score + 1;
-                    return true;
-                  default:
-                    print 
-                        "It's big, gray, and one of those 
-                        old-fashioned CRT models. It looks very 
-                        heavy.^The TV is currently switched on. Your 
-                        favorite news program is on: U.S. News And 
-                        Grue Report.^";
-                    return true;
-                }
-            }
-            ;
-          Take, Pull, Push, PushDir:
-            print_ret (The) self, " is too heavy for that.";
-        ],
-        after [;
-          SwitchOn:
-            print 
-                "The television comes to life. Your favorite news 
-                program is on: U.S. News And Grue Report.^";
-            if (television hasnt visited) {
-                score = score + 1;
-                give television visited;
-            }
-            return true;
-        ],
-  has   scenery static switchable;
-
-Object  couch "couch" livingroom
-  with  name 'couch' 'sofa',
-        description 
-            "It looks like a throwback from the 1970s but has held up 
-            very well.",
-        before [;
-          Take, Pull, Push, PushDir:
-            print_ret (The) self, " is too heavy for that.";
-        ],
-        after [;
-          Enter:
-            print 
-                 "The couch makes a nauseating, high-pitched groan as 
-                 your weight is added.^";
-            return true;
-          Exit, GetOff:
-            print "The couch makes a muted snort as your weight is removed.^";
-            return true;
-        ],
-  has   scenery static supporter enterable;
-
-Object  frontdoor "front door" livingroom
-  with  name 'door' 'front',
-        description 
-            "Cinnamon brown in color it appears to be a very solid 
-            and hefty door.",
-        short_name [;
-            if (location == livingroom)
-                print "door to the outside";
-            else
-                print "door to your house";
-            return true;
-        ],
-        found_in livingroom sidewalk,
-        door_dir [;
-            if (location == sidewalk)
-                return w_to;
-            else
-                return e_to;
-        ],
-        door_to [;
-            if (location == sidewalk)
-                return livingroom;
-            else
-                return sidewalk;
-        ],
-  has   scenery door openable;
\ No newline at end of file
diff --git a/src/objects/intro/neighborkitchen.inf b/src/objects/intro/neighborkitchen.inf
deleted file mode 100644 (file)
index 3f313e1..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-! Copyright (C) 2019, 2020 Jason Self <j@jxself.org>
-!
-! This file is free software: you may copy, redistribute and/or
-! modify it under the terms of the GNU Affero General Public License
-! as published by the Free Software Foundation, either version 3 of
-! the License, or (at your option) any later version.
-!
-! This file is distributed in the hope that it will be useful, but
-! WITHOUT ANY WARRANTY; without even the implied warranty of
-! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-! Affero General Public License for more details.
-!
-! You should have received a copy of the GNU Affero General Public
-! License along with this file. If not, see https://gnu.org/licenses/
-
-Object  neighborkitchen "Kitchen"
-  with  description 
-            "You are in your neighbor's kitchen. It's a large 
-             contemporary kitchen with an open design and many flat 
-             surfaces. The color palette is very bright and in 
-             perfect harmony with the kitchen. It's timeless and 
-             beautiful. The walls look like they've been used to 
-             store things, with some faint outlines remaining that 
-             gives a lived-in look. It could have been a luxury 
-             cooking environment, though by now everything has been 
-             removed. Only the kitchen island and fireplace remain in 
-             stark contrast to the bare kitchen. The livingroom is to 
-             the east. The door to the back yard is to the west.",
-        e_to neighborlivingroom,
-        w_to backyard,
-  has   light;
-
-Object  island "kitchen island" neighborkitchen
-  with  name 'kitchen' 'island' 'table' 'wood' 'wooden' 'top' 'wood',
-        description 
-            "It has metal legs firmly embedded into the floor, and a 
-            wooden top. Strangely, all of the drawers have been 
-            removed.",
-        before [;
-          Take, Pull, Push, PushDir, Turn:
-            print_ret "The kitchen island is firmly planted in the floor.";
-        ],
-  has   scenery supporter enterable;
-
-Object  brick "brick" neighborkitchen
-  with  name 'brick' 'bricks' 'mortar',
-        description 
-            "You find nothing special about the bricks that make up 
-            the fireplace.",
-  has   scenery;
-
-Object  fireplace "fireplace" neighborkitchen
-  with  name 'fireplace' 'fire' 'place' 'mouth',
-        description [;
-            print 
-                "A stain is splayed against the brick fireplace, 
-                making its curved mouth appear like a black, toothless 
-                scream. A confection of ashes occupy the fireplace";
-            if (poker in self)
-                print 
-                    ", and a poker hangs out which looks like it 
-                    could make an effective weapon";
-            print ".";
-            new_line;
-        ],
-  has   scenery container transparent open;
-
-Object  poker "poker" fireplace
-  with  name 'poker',
-        description 
-            "This poker may have once been used to expedite the 
-            flame's envelopment, as well as the house's many stories 
-            and secrets.",
-        before [;
-          Take, Pull, Push, PushDir, Remove:
-            give poker ~concealed;
-            if (poker hasnt visited) {
-                score = score + 1;
-                give poker visited;
-                }
-            if (player in neighborlivingroom) {
-                if (bluebutton has on)
-                    machine.shoot();
-            }
-        ],
-  has   concealed;
-
-Object  ashes "ashes" fireplace
-  with  name 'ash' 'ashes',
-        description "It looks like a pile of ash.",
-        before [;
-          Take, Pull, Push, PushDir:
-            print_ret "The ashes are so fine they fall between your fingers.";
-        ],
-  has   concealed pluralname;
-
-Object  stain "stain" fireplace
-  with  name 'stain',
-  has   scenery;
-
-Object  mouth "mouth of the fireplace" fireplace
-  with  name 'mouth',
-  has   scenery;
-
-Object  letter "letter" island
-  with  name 'letter',
-        description 
-            "The letter reads: ~Thank you for evaluating this 
-            prototype of the Frobozz Magic Teleporter. Please refer to 
-            the enclosed manual to learn how to program destinations 
-            in to your teleporter. Pressing the red button recalls the 
-            last-used destination and teleports you there. Pressing 
-            the blue button engages Defense Mode, which instantly 
-            whisks intruders away. Use it to provide defense for any 
-            location! Please send feedback about this prototype to 
-            your local FrobozzCo International sales person. Warning: 
-            Side effects can include disorientation, loss of memory, 
-            lightheadedness, loss of appetite, nausea, vomiting, 
-            weakness, and death.~";
\ No newline at end of file
diff --git a/src/objects/intro/neighborlivingroom.inf b/src/objects/intro/neighborlivingroom.inf
deleted file mode 100644 (file)
index d1318a7..0000000
+++ /dev/null
@@ -1,208 +0,0 @@
-! Copyright (C) 2019, 2020 Jason Self <j@jxself.org>
-!
-! This file is free software: you may copy, redistribute and/or
-! modify it under the terms of the GNU Affero General Public License
-! as published by the Free Software Foundation, either version 3 of
-! the License, or (at your option) any later version.
-!
-! This file is distributed in the hope that it will be useful, but
-! WITHOUT ANY WARRANTY; without even the implied warranty of
-! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-! Affero General Public License for more details.
-!
-! You should have received a copy of the GNU Affero General Public
-! License along with this file. If not, see https://gnu.org/licenses/
-
-Object  neighborlivingroom "Neighbor's Livingroom"
-  with  description 
-            "You are in your neighbor's livingroom. It seems that no 
-            one has lived here in a long time, even though you saw 
-            your neighbor here last week. All of the furniture has 
-            been removed and the air smells stale. A large bay window 
-            enclosed by sheer cobalt blue curtains allowing light to 
-            come through. A door is to the east.^^A machine as tall as 
-            you sits in the center of their livingroom. It consists 
-            of three transparent spheres joined together containing 
-            machinery. A barrel with a small aperture comes out of the 
-            farthest sphere, pointing down and to the wall. The 
-            entire thing rests on a shiny metal platform allowing it 
-            to rotate and tilt with ease.",
-        w_to neighborkitchen,
-        e_to neighbordoor,
-        before [;
-          Go:
-            if (bluebutton has on && poker notin machine) {
-                machine.shoot();
-                rtrue;
-            }
-        ],
-  has   light;
-
-Object  neighborwindow "window" neighborlivingroom
-  with  name 'large' 'bay' 'window' 'windows',
-        description "A large bay window enclosed by sheer cobalt blue 
-                    curtains allowing light to come through.",
-        before [;
-          Go:
-            print_ret "The window is not something you can go through.";
-          Open, Close:
-            print_ret "This isn't the type of window that can be 
-                      opened or closed.";
-        ],
-  has   scenery;
-
-Object  neighborcurtains "curtains" neighborlivingroom
-  with  name 'cobalt' 'blue' 'curtain' 'curtains',
-        description 
-            "Cobalt blue in color, the curtains have been decorated with 
-            intricate embroidery.",
-        before [;
-          Take, Pull, Push, PushDir:
-            print_ret "Don't you think they look nice where they are?";
-        ],
-  has   scenery openable pluralname;
-
-Object  embroidery "embroidery" neighborlivingroom
-  with  name 'embroidery' 'pattern' 'patterns',
-  has   scenery;
-
-Object  redbutton "red button" neighborlivingroom
-  with  name 'red' 'red button' 'button' 'buttons',
-        before [;
-          Push:
-            if (bluebutton has on && poker notin machine) {
-                print 
-                    "You reach for the red button, but not in 
-                    time...^ ";
-                machine.shoot();
-                rtrue;
-            }
-            if (poker in machine)
-                print_ret 
-                    "You press the red button but it's futile because 
-                    the machine's shorted out.";
-            else {
-                print 
-                    "You push the red button. The machine makes clunky 
-                    noises as machinery moves inside. A loud humming 
-                    begins to emanate from it. It comes to life, spins 
-                    around on its base, aims, and quickly fires a 
-                    series of three bright blue sparks at you. You 
-                    hear a small explosive sound as they impact your 
-                    chest. You feel a little disoriented as it 
-                    teleports you away.^";
-                move box to bed ;
-                move directional to box ;
-                move newspaper to table ;
-                move letter to island ;
-                move poker to fireplace ;
-                PlayerTo(campsite);
-                rtrue;
-            }
-        ],
-  has   scenery;
-
-Object  bluebutton "blue button" neighborlivingroom
-  with  name 'blue' 'blue button' 'button' 'buttons',
-        before [;
-          Push:
-            if (bluebutton has on) {
-                if (poker notin machine) {
-                    print 
-                        "You reach for the blue button, but not 
-                        in time...^ ";
-                    machine.shoot();
-                    rtrue;
-                }
-                else {
-                    give bluebutton ~on;
-                    print_ret "You push the blue button. The machine 
-                    sounds like it powers down.";
-                }
-            }
-            else {
-                give bluebutton on;
-                if (poker notin machine) {
-                    machine.shoot();
-                    rtrue;
-                }
-                print_ret "You push the blue button.";
-            }
-        ],
-  has   scenery on;
-
-Object  machine "machine" neighborlivingroom
-  with  name 'machine' 'machinery' 'sphere' 'spheres' 'platform' 'barrel'
-        'aperture' 'metal platform' 'shiny metal platform' 'shiny platform'
-        'shiny' 'metal',
-        description 
-            "It consists of three transparent spheres joined together 
-            containing machinery. A barrel with a small aperture comes 
-            out of the farthest sphere, pointing down and to the wall. 
-            The entire thing rests on a shiny metal platform allowing 
-            it to rotate and tilt with ease. There is a blue button 
-            and a red button.",
-        time_left,
-        before [ weapon;
-          Attack:
-            if (noun == self)
-                weapon = second;
-            else
-                weapon = noun;
-            if (weapon ~= poker) {
-                print "That wasn't helpful.^";
-                if (bluebutton has on)
-                    self.shoot();
-                rtrue;
-            }
-            self.shortout();
-            return true;
-          Receive:
-            if (noun == poker) {
-                self.shortout();
-                return true;
-            }
-            if (bluebutton has on)
-                self.shoot();
-            rtrue;
-        ],
-        time_out [;
-            if (poker in self)
-                StopTimer(machine);
-            else
-                if (bluebutton has on)
-                    self.shoot();
-        ],
-        daemon [;
-            if (poker in player)
-                rfalse;
-            if (player in parent(self) && poker notin machine)
-                self.shoot();
-        ],
-        shoot [ destination;
-            destination = random(3);
-            print 
-                "^A loud humming begins to emanate from the machine. 
-                It comes to life, spins around on its base, aims, and 
-                quickly fires a series of three bright blue sparks at 
-                you. You hear a small explosive sound as they impact 
-                your chest. You feel a little disoriented as it 
-                teleports you away.^";
-            if (destination == 1)
-                PlayerTo(kitchen);
-            if (destination == 2)
-                PlayerTo(livingroom);
-            if (destination == 3)
-                PlayerTo(bedroom);
-        ],
-        shortout [;
-            if (machine hasnt visited) {
-                score = score + 1;
-                give machine visited;
-            }
-            move poker to self;
-            print "You put the poker into ", (the) self, 
-                ". Sparks 
-                fly wildly in every direction as it shorts out.^";
-        ],
-  has   scenery container open;
\ No newline at end of file
diff --git a/src/objects/intro/sidewalk.inf b/src/objects/intro/sidewalk.inf
deleted file mode 100644 (file)
index 1fb4f1d..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-! Copyright (C) 2019, 2020 Jason Self <j@jxself.org>
-!
-! This file is free software: you may copy, redistribute and/or
-! modify it under the terms of the GNU Affero General Public License
-! as published by the Free Software Foundation, either version 3 of
-! the License, or (at your option) any later version.
-!
-! This file is distributed in the hope that it will be useful, but
-! WITHOUT ANY WARRANTY; without even the implied warranty of
-! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-! Affero General Public License for more details.
-!
-! You should have received a copy of the GNU Affero General Public
-! License along with this file. If not, see https://gnu.org/licenses/
-
-Object  Sidewalk "Sidewalk"
-  with  description 
-            "You are standing on the sidewalk in front of your house. 
-            The street is normally quiet, but it's been very busy 
-            and crowded today, like trying to get through a busy movie 
-            theater, and the sound of the traffic has been 
-            particularly noticeable. The traffic is a good sign of 
-            what's going on in the city as a whole today. It is barely 
-            cloudy and already hot this morning. Smaller branches of 
-            trees are in motion from the light wind, which helps to 
-            provide some relief from the heat. Your home is to the 
-            west. Your neighbor's home is to the northwest.",
-        n_to 
-            "Some inconsiderate person parked their car on the 
-            sidewalk which blocks your path. It might be nice to call 
-            Parking Enforcement so they can get a ticket for creating 
-            an obstruction but you don't have a phone.",
-        s_to 
-            "You arrive at an intersection. Lots of traffic drives 
-            past at high speed creating a small breeze that makes your 
-            shirt ripple. You decide it is better to not risk being 
-            run over and go back.",
-        e_to 
-            "As you start to step out into the street a car quickly 
-            zooms by at high speed. You jump back to avoid becoming 
-            part of the pavement.",
-        se_to 
-            "As you start to step out into the street a car honks 
-            impatiently for you to get out of the way. You go back to 
-            your old spot.",
-        ne_to 
-            "The street is very busy. Surely you'd be hit by a moving 
-            vehicle if you went there.",
-        nw_to frontporch,
-        sw_to "A rock wall blocks your path.",
-        w_to frontdoor,
-  has   light;
-
-Object  street "street" sidewalk
-  with  name 'street' 'road',
-        description "It's your typical street.",
-  has   scenery;
-
-Object  rockwall "rock wall" sidewalk
-  with  name 'rock' 'wall' 'stone' 'rock' 'boulder' 'stonework' 
-        'cobblestone' 'mortar' 'stones' 'rocks' 'walls',
-         description 
-            "Made up of assorted stones of various sizes and shapes, 
-            with a healthy dose of mortar between them to fill and 
-            seal the irregular gaps between them, it serves as a wall 
-            separating your property from someone else's.",
-  has   scenery;
-
-Object  car "car" sidewalk
-  with  name 'car' 'vehicle' 'automobile',
-        description 
-            "It's a white two-door car. The license plate holder says 
-            FrobozzCo International.",
-        before [;
-          Unlock:
-            print_ret "The car is locked, and there is apparently no key.";
-          Open:
-            print_ret "The car is locked, and there is apparently no key.";
-          Climb:
-            print_ret 
-                "I'm not sure that FrobozzCo International would 
-                appreciate people climbing on one of their cars.";
-          Take:
-            print_ret 
-                "I doubt that FrobozzCo International would 
-                appreciate someone taking one of their cars.";
-          Pull, Push, PushDir, Turn:
-            print_ret (The) self, " is too heavy for that.";
-        ],
-  has   scenery;
-
-Object  licenseplateframe "license plate holder" sidewalk
-  with  name 'license' 'plate' 'frame' 'holder',
-        description "It says FrobozzCo International in white letters 
-                    on a black frame.",
-        Before [;
-          Take, Pull, Push, PushDir, Turn:
-            print_ret (The) self, " is firmly attached to the car.";
-        ],
-  has   scenery;
\ No newline at end of file
diff --git a/src/objects/overworld/campsite.inf b/src/objects/overworld/campsite.inf
deleted file mode 100644 (file)
index 97ec907..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-! Copyright (C) 2019, 2020 Jason Self <j@jxself.org>
-!
-! This file is free software: you may copy, redistribute and/or 
-! modify it under the terms of the GNU Affero General Public License 
-! as published by the Free Software Foundation, either version 3 of 
-! the License, or (at your option) any later version.
-!
-! This file is distributed in the hope that it will be useful, but
-! WITHOUT ANY WARRANTY; without even the implied warranty of
-! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-! Affero General Public License for more details.
-!
-! You should have received a copy of the GNU Affero General Public
-! License along with this file. If not, see https://gnu.org/licenses/
-
-Object  campsite "Campsite"
-  with  description 
-            "You are at an old campsite set among some low-lying hills 
-            and grassy fields. The sun shines brightly from above, 
-            casting its golden glow in all directions to illuminate 
-            the camping area. The healthy, dark green grass carpets 
-            the field except around an old fire pit. The fire pit 
-            appears to have been used recently and you smell smoke in 
-            the air. It is still intact and there are no ashes. The 
-            hills and grassy fields appears to continue on in all 
-            directions, leading to some trees in the distance in an 
-            area that appears to be heavily wooded.",
-        n_to g59,
-        nw_to g58,
-        ne_to g60,
-        w_to westofcampsite,
-        e_to h70,
-        s_to g79,
-        se_to h80,
-        sw_to h78,
-        before [;
-          Listen:
-            print_ret 
-                "You listen and hear several raspy coughs nearby... 
-                all coming from the log. You also hear chanting from 
-                right behind you but looking around you see no one is 
-                there.";
-        ],
-        u_to 
-            "That's the sky. Not sure how you plan to get there but 
-            maybe you know something I don't.",
-        d_to "That's the ground. Since when are you able to move through it?",
-  has   light;
-
-Object  firepit "firepit" campsite
-  with  name 'fire' 'firepit' 'pit',
-        description 
-            "The fire pit is small and nothing more than an 
-            indentation in the ground. It reeks of old campfires.",
-  has   scenery;
-
-Object  log "log" campsite
-  with  name 'log' 'wood',
-        description 
-            "It's the remnant of a tree trunk uprooted by a storm. 
-            About 6 feet long and 2 feet thick, someone has taken the 
-            time to shape it flat and square for sitting. The log is 
-            dry but heavy for its size and would be difficult to move 
-            without some kind of vehicle. Slightly recessed into the 
-            ground, it's a combination of cinnamon and caramel brown. 
-            Deep scratches and ominous stains mar the surface.",
-  has   supporter enterable static;
-
-Object  diary "diary"
-  with  name 'diary' 'book',
-        description 
-            "The diary is old and worn. The pages are tattered and 
-            yellowed, and most of the writing has faded due to 
-            exposure to the elements over the years. In reviewing the 
-            pages you can make out a single passage: ~The humming... 
-            the humming... I can't make it stop.~",
-  has   ;
-
-Object  lantern "copper lantern" log
-  with  name 'lantern' 'copper',
-        description 
-            "This is an exceptionally beautiful oil lamp. About 
-            eleven inches high, with a base of about 5 inches or so in 
-            diameter and a large, brass-closed hook at the top. The 
-            glass in the lamp has a Fresnel type of design, which is 
-            used to distribute light widely. The words ~Manufactured 
-            By The Frobozz Magic Lantern Company~ are engraved in the 
-            base.",
-        after [;
-          SwitchOn:
-            give lantern light;
-          SwitchOff:
-            give lantern ~light;
-        ],
-  has   switchable;
\ No newline at end of file
diff --git a/src/objects/overworld/g58.inf b/src/objects/overworld/g58.inf
deleted file mode 100644 (file)
index d750363..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-! Copyright (C) 2020 Jason Self <j@jxself.org>
-!
-! This file is free software: you may copy, redistribute and/or 
-! modify it under the terms of the GNU Affero General Public License 
-! as published by the Free Software Foundation, either version 3 of 
-! the License, or (at your option) any later version.
-!
-! This file is distributed in the hope that it will be useful, but
-! WITHOUT ANY WARRANTY; without even the implied warranty of
-! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-! Affero General Public License for more details.
-!
-! You should have received a copy of the GNU Affero General Public
-! License along with this file. If not, see https://gnu.org/licenses/
-
-Object  g58 "Grassy Meadow"
-  with  description 
-            "The sky is bright and blue and you can feel the warmth 
-            of the sun. You hear birds singing and see the glowing 
-            colors of day. The lush grass is soft. A small wind blows 
-            the grass around, creating an illusion of shifting 
-            colors. The area is very picturesque and everything about 
-            it feels very natural. There's a slight incline but not 
-            anything that would make it difficult. To the north and 
-            east, a forest obscures the horizon. The trees cast 
-            shadows on the grass. There are small hills and grassy 
-            fields in all other directions.",
-        s_to westofcampsite,
-        e_to g59,
-        se_to campsite,
-  has   light;
\ No newline at end of file
diff --git a/src/objects/overworld/g59.inf b/src/objects/overworld/g59.inf
deleted file mode 100644 (file)
index 4ae4d18..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-! Copyright (C) 2020 Jason Self <j@jxself.org>
-!
-! This file is free software: you may copy, redistribute and/or 
-! modify it under the terms of the GNU Affero General Public License 
-! as published by the Free Software Foundation, either version 3 of 
-! the License, or (at your option) any later version.
-!
-! This file is distributed in the hope that it will be useful, but
-! WITHOUT ANY WARRANTY; without even the implied warranty of
-! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-! Affero General Public License for more details.
-!
-! You should have received a copy of the GNU Affero General Public
-! License along with this file. If not, see https://gnu.org/licenses/
-
-Object  g59 "Grassy Meadow"
-  with  description 
-            "A garden overflows from the east. All around you are 
-            beautiful flowers of many colors, red, yellow, blue, 
-            purple, and brown. Some are pastel, others darker. The 
-            sun is brightly shining through it all, enveloping the 
-            entire setting in rich and warm color. Everything feels 
-            strong and substantial here, a wonderland from a 
-            fairytale garden. The air is crisp and cool. Birds can be 
-            heard in the distance, as their beautiful melodies call 
-            to you. Well-worn livestock tracks come from the 
-            northeast and join up with a slow-moving creek from the 
-            east. Both go to the southwest. There's a forest to the 
-            north.",
-        s_to campsite,
-        se_to h70,
-        e_to g60,
-        w_to g58,
-        sw_to westofcampsite,
-  has   light;
\ No newline at end of file
diff --git a/src/objects/overworld/g60.inf b/src/objects/overworld/g60.inf
deleted file mode 100644 (file)
index 98cd028..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-! Copyright (C) 2020 Jason Self <j@jxself.org>
-!
-! This file is free software: you may copy, redistribute and/or 
-! modify it under the terms of the GNU Affero General Public License 
-! as published by the Free Software Foundation, either version 3 of 
-! the License, or (at your option) any later version.
-!
-! This file is distributed in the hope that it will be useful, but
-! WITHOUT ANY WARRANTY; without even the implied warranty of
-! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-! Affero General Public License for more details.
-!
-! You should have received a copy of the GNU Affero General Public
-! License along with this file. If not, see https://gnu.org/licenses/
-
-Object  g60 "Grassy Meadow"
-  with  description 
-            "It's a beautiful sunny day. The sky is a brilliant blue 
-            without a cloud in sight. Nearby is a large oak tree, 
-            with a small shed and a small garden. The tree has a 
-            twisted, heavy trunk. The branches are splashed with 
-            green and yellow leaves as the tree reaches toward the 
-            sky, casting its shadow around the meadow. The area smells 
-            fresh and has a peaceful feel about it. A high ridge to 
-            the east appears unclimbable. A creek slowly moves down 
-            the ridge and winds through the grassy meadow toward the 
-            east.",
-        s_to h70,
-        e_to 
-            "The ridge is so steep that you'd first need to find 
-            climbing equipment to be able to continue in that 
-            direction.",
-        up_to 
-            "The ridge is so steep that you'd first need to find 
-            climbing equipment to be able to continue in that 
-            direction.",
-        w_to g59,
-        sw_to campsite,
-  has   light;
-
-Object  garden "small garden" g60
-  with  name 'garden' 'flowers',
-        found_in g59 g60,
-        description 
-            "The garden contains beautiful flowers of many colors, 
-            red, yellow, blue, purple, and brown. Some are pastel, 
-            others darker.",
-  has   scenery;
-
-Object  shed2 "shed" g60
-  with  name 'shed',
-        description 
-            "It's a rickety-looking building made of thin wood. It 
-            has no windows but there's a large opening where a door 
-            should be. It's possible to enter the shed.",
-        before [;
-          Enter:
-            PlayerTo(shed);
-            rtrue;
-        ],
-  has   scenery;
-
-Object  oaktree "oak tree" g60
-  with  name 'oak' 'tree',
-        description 
-            "The tree has a twisted, heavy trunk. The branches are 
-            splashed with green and yellow leaves as the tree reaches 
-            toward the sky, casting its shadow around the meadow.",
-        before [;
-          Climb:
-            print_ret 
-                "As soon as you make it halfway up the tree, your 
-                muscles begin to tremble and shake violently, throwing 
-                your entire body against the bark of the tree and 
-                making it difficult to continue to ascend, especially 
-                without the use of climbing equipment. You go back 
-                down to the ground.";
-          Taste:
-            print_ret "It tastes like wood.";
-          Touch:
-            print_ret "The trunk of the free feels rough to the touch.";
-          Take, Pull, Push, PushDir, Turn:
-            print_ret 
-                "The tree is firmly anchored into the ground by a
-                healthy root system. It's not going anywhere.";
-          Drink:
-            print_ret "The tree is not a liquid.";
-          Blow:
-            print_ret "You huff and you puff but nothing happens.";
-          Burn:
-            print_ret "Only you can prevent forest fires.";
-          Buy:
-            print_ret "The tree is not for sale.";
-          JumpOver:
-            print_ret 
-                "Since when did you gain the ability to jump over
-                trees in a single bound?";
-        ],
-  has   scenery;
\ No newline at end of file
diff --git a/src/objects/overworld/g77.inf b/src/objects/overworld/g77.inf
deleted file mode 100644 (file)
index 31e62b5..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-! Copyright (C) 2020 Jason Self <j@jxself.org>
-!
-! This file is free software: you may copy, redistribute and/or 
-! modify it under the terms of the GNU Affero General Public License 
-! as published by the Free Software Foundation, either version 3 of 
-! the License, or (at your option) any later version.
-!
-! This file is distributed in the hope that it will be useful, but
-! WITHOUT ANY WARRANTY; without even the implied warranty of
-! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-! Affero General Public License for more details.
-!
-! You should have received a copy of the GNU Affero General Public
-! License along with this file. If not, see https://gnu.org/licenses/
-
-Object  g77 "Grassy Meadow"
-  with  description 
-            "You are standing in a grassy meadow. Sunlight beats down 
-            on you. It is nearly 70 degrees. The crystal clear sky is 
-            a rich hue of blue and perfect for gazing at. The soft 
-            green grass wafts gently in the breeze. You are 
-            completely enveloped in the wonder of nature yet there is 
-            a sense of eeriness in the air. To the north, a large 
-            forest obscures the horizon. A narrow and winding road 
-            leads to what appear to be ancient ruins in the northwest. 
-            A steep hill is to the south. Other than the road, the 
-            area seems completely untouched.",
-        s_to 
-            "The ridge is so steep that you'd first need to find
-            climbing equipment to be able to continue in that
-            direction.",
-        e_to h78,
-        ne_to westofcampsite,
-  has   light;
\ No newline at end of file
diff --git a/src/objects/overworld/g79.inf b/src/objects/overworld/g79.inf
deleted file mode 100644 (file)
index f3ecb38..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-! Copyright (C) 2020 Jason Self <j@jxself.org>
-!
-! This file is free software: you may copy, redistribute and/or 
-! modify it under the terms of the GNU Affero General Public License 
-! as published by the Free Software Foundation, either version 3 of 
-! the License, or (at your option) any later version.
-!
-! This file is distributed in the hope that it will be useful, but
-! WITHOUT ANY WARRANTY; without even the implied warranty of
-! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-! Affero General Public License for more details.
-!
-! You should have received a copy of the GNU Affero General Public
-! License along with this file. If not, see https://gnu.org/licenses/
-
-Object  g79 "Small Hill"
-  with  description 
-            "You are on a small hill, and from here it feels as if you 
-            can see for miles around. A garden used to exist here, now 
-            overgrown. Under the foliage are hundreds of stands of 
-            wildflowers, along with yellow hedges. The wind causes a 
-            100-foot-high metal spiral to slowly rotate and make a 
-            low, whistling sound. A rusty metal bench is here, which 
-            faces out over the former garden. There's a dense forest 
-            to the south. The height of this hill makes it possible 
-            to see farmland in the distance with an orchard and 
-            evidence of old animal activity.",
-        n_to campsite,
-        e_to h80,
-        w_to h78,
-        ne_to h70,
-        nw_to westofcampsite,
-        cant_go "The forest is so dense that you'd first need to find 
-                a machete to be able to continue in that direction.",
-  has   light;
-
-Object  garden2 "garden" g79
-  with  name 'garden',
-        description
-            "It's an old garden, now overgrown.",
-  has   scenery;
-
-Object  wildflowers "wildflowers" g79
-  with  name 'wild' 'flower' 'flowers' 'foliage',
-  has   scenery;
-
-Object  yellowhedges "yellow hedges" g79
-  with  name 'yellow' 'hedge' 'hedges',
-        description
-            "They look like they need trimming but they are doing 
-            their best. The wind is just making them dance a little.",
-  has   scenery pluralname;
-
-Object  rustymetalbench "rusty metal bench" g79
-  with  name 'metal' 'bench',
-        description
-            "You can't see it very well since it is partly hidden by 
-            some of the overgrowth but it's so rusty that you might 
-            get tetanus just from looking at it.",
-  has   scenery supporter enterable static;
-
-Object  spiral "100-foot-high metal spiral" g79
-  with  name 'metal' 'spiral',
-        description
-            "It seems so old and rusted that it could fall at any 
-            minute as it slowly rotates in the wind.",
-  has   scenery;
\ No newline at end of file
diff --git a/src/objects/overworld/grandlibrary.inf b/src/objects/overworld/grandlibrary.inf
deleted file mode 100644 (file)
index 7b0b7b4..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-! Copyright (C) 2020 Jason Self <j@jxself.org>
-!
-! This file is free software: you may copy, redistribute and/or 
-! modify it under the terms of the GNU Affero General Public License 
-! as published by the Free Software Foundation, either version 3 of 
-! the License, or (at your option) any later version.
-!
-! This file is distributed in the hope that it will be useful, but
-! WITHOUT ANY WARRANTY; without even the implied warranty of
-! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-! Affero General Public License for more details.
-!
-! You should have received a copy of the GNU Affero General Public
-! License along with this file. If not, see https://gnu.org/licenses/
-
-Object  grandlibrary "Grand Library, Main Lobby"
-  with  description 
-            "The Grand Library, with its high ceiling, has been 
-            abandoned for many years. Despite being heavily looted 
-            there may still be some valuable items left behind. The 
-            walls are lined with empty shelves that seem to reach all 
-            the way to the high ceiling. All of the furniture is 
-            gone, and on the west wall, there is a curtained off 
-            area. This room looks considerably less damaged than any 
-            other part of this building although the dilapidated 
-            condition makes the library quite a dangerous place to 
-            wander around in.";
\ No newline at end of file
diff --git a/src/objects/overworld/h70.inf b/src/objects/overworld/h70.inf
deleted file mode 100644 (file)
index 6c31306..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-! Copyright (C) 2020 Jason Self <j@jxself.org>
-!
-! This file is free software: you may copy, redistribute and/or 
-! modify it under the terms of the GNU Affero General Public License 
-! as published by the Free Software Foundation, either version 3 of 
-! the License, or (at your option) any later version.
-!
-! This file is distributed in the hope that it will be useful, but
-! WITHOUT ANY WARRANTY; without even the implied warranty of
-! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-! Affero General Public License for more details.
-!
-! You should have received a copy of the GNU Affero General Public
-! License along with this file. If not, see https://gnu.org/licenses/
-
-Object  h70 "Grassy Meadow"
-  with  description [;
-            print 
-                "The sun shines brightly in a cloudless sky of a 
-                brilliant blue. You feel the sun's rays creating a 
-                pleasant warmth. A soft breeze comes from the south, 
-                bringing a delicate clean-smelling spring fragrance. 
-                It smells very inviting. The grass feels warm and safe 
-                as it moves slightly in rhythm with the breeze. The 
-                grass feels slightly moist. This area seems very 
-                peaceful. A high ridge to the east appears 
-                unclimbable. Perched high up on the ridge is a single 
-                tan and maroon building. There are words carved into a 
-                large stone block to turn it into a distinct ~no 
-                trespassing~ sign.";
-            if (h70 hasnt visited)
-                print 
-                    " The only sound is the cry from a small pink and 
-                    blue bird as it scuttles about on the ground. 
-                    Startled at your approach, it flies away.";
-            new_line;
-        ],
-        n_to g60,
-        s_to h80,
-        e_to 
-            "The ridge is so steep that you'd first need to find 
-            climbing equipment to be able to continue in that 
-            direction.",
-        up_to
-            "The ridge is so steep that you'd first need to find
-            climbing equipment to be able to continue in that
-            direction.",
-        w_to campsite,
-        nw_to g59,
-        sw_to g79,
-  has   light;
-
-Object  tanmaroonbuilding "tan and maroon building" h70
-  with  name 'tan' 'maroon' 'building',
-        description 
-            "The tan and maroon building appears to be very solidly 
-            constructed. The roof is steeply pitched. The windows are 
-            very narrow and deep set yet still reveal someone walking 
-            around inside.",
-before [;
-          Enter:
-            print_ret
-                "The tan and maroon building is so far up the high 
-                ridge that you'd first need to find climbing equipment 
-                to be able to do that.";
-],
-  has   scenery;
-
-Object  largestoneblock "large stone block" h70
-  with  name 'large' 'stone' 'block',
-        description
-            "There are words carved into a large stone block that 
-            read: ~No Trespassing!~.",
-        before [;
-          Take, Pull, Push, PushDir, Turn:
-            print_ret
-                "You're unable. The large stone block is too heavy.";
-],
-  has   scenery;
diff --git a/src/objects/overworld/h76.inf b/src/objects/overworld/h76.inf
deleted file mode 100644 (file)
index aa42615..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-! Copyright (C) 2020 Jason Self <j@jxself.org>
-!
-! This file is free software: you may copy, redistribute and/or 
-! modify it under the terms of the GNU Affero General Public License 
-! as published by the Free Software Foundation, either version 3 of 
-! the License, or (at your option) any later version.
-!
-! This file is distributed in the hope that it will be useful, but
-! WITHOUT ANY WARRANTY; without even the implied warranty of
-! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-! Affero General Public License for more details.
-!
-! You should have received a copy of the GNU Affero General Public
-! License along with this file. If not, see https://gnu.org/licenses/
-
-Object  h76 "Grassy Meadow"
-  with  description 
-            "You are standing in a grassy meadow on top of a small 
-            hill, which has several little hills surrounding it. The 
-            sun is shining brightly, and the air smells of flowers. 
-            The sky is dark blue and there isn't a cloud in the sky. 
-            There's no wind either. The sun is high enough that you 
-            can see all around you, but not so high as to be 
-            blinding. This place feels quiet and serene; as if you 
-            have stepped into picturesque moment where time seems to 
-            stand still. To the south is the Grand Library.",
-        s_to grandlibrary,
-  has   light;
\ No newline at end of file
diff --git a/src/objects/overworld/h78.inf b/src/objects/overworld/h78.inf
deleted file mode 100644 (file)
index 7559cba..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-! Copyright (C) 2020 Jason Self <j@jxself.org>
-!
-! This file is free software: you may copy, redistribute and/or 
-! modify it under the terms of the GNU Affero General Public License 
-! as published by the Free Software Foundation, either version 3 of 
-! the License, or (at your option) any later version.
-!
-! This file is distributed in the hope that it will be useful, but
-! WITHOUT ANY WARRANTY; without even the implied warranty of
-! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-! Affero General Public License for more details.
-!
-! You should have received a copy of the GNU Affero General Public
-! License along with this file. If not, see https://gnu.org/licenses/
-
-Object  h78 "Small Hill"
-  with  description 
-            "You are on a small hill, and from here it feels as if 
-            you can see for miles around. It feels like a quiet and 
-            beautiful place. The sky is clear except for some large 
-            white clouds far away on the horizon in the bright 
-            expanse of sky. The wind blows through your hair as if in 
-            blessing. In the far distance is a lake surrounded by 
-            trees and hills. It is so beautiful, you feel as if 
-            you can see your reflection in the still water. There's a 
-            dense forest to the south.",
-        n_to westofcampsite,
-        ne_to campsite,
-        e_to g79,
-        w_to g77,
-        s_to "The forest is so dense that you'd first need to find 
-                a machete to be able to continue in that direction.",
-  has   light;
-
-Object  greenstone "thin green stone" h78
-  with  name 'thing' 'green' 'stone',
-        description
-            "The thin green stone is engraved with a message: ~Know 
-            that it is everywhere. Know that it is yours alone and 
-            that it will go on forever.~";
-
-Object  lake "lake" h78
-  with  name 'lake' 'water',
-  has   scenery;
\ No newline at end of file
diff --git a/src/objects/overworld/h80.inf b/src/objects/overworld/h80.inf
deleted file mode 100644 (file)
index 10ebc01..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-! Copyright (C) 2020 Jason Self <j@jxself.org>
-!
-! This file is free software: you may copy, redistribute and/or 
-! modify it under the terms of the GNU Affero General Public License 
-! as published by the Free Software Foundation, either version 3 of 
-! the License, or (at your option) any later version.
-!
-! This file is distributed in the hope that it will be useful, but
-! WITHOUT ANY WARRANTY; without even the implied warranty of
-! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-! Affero General Public License for more details.
-!
-! You should have received a copy of the GNU Affero General Public
-! License along with this file. If not, see https://gnu.org/licenses/
-
-Object  h80 "Grassy Meadow"
-  with  description 
-            "This is a pretty, quiet place. There are wide swaths of 
-            open space with green fields and blue skies that seem to 
-            meander on to the north and west, and a densely packed 
-            forest to the south and east. The air is warm. The forest 
-            seems sleepy while the sun shines through the trees, but 
-            there's something wrong. Something is happening to the 
-            landscape around you; it is changing. You hear an eerie 
-            breeze coming from the direction of the forest, which is 
-            in direct opposition to the normal wind direction of this 
-            area.",
-        before [;
-          Listen:
-            print_ret 
-                "You hear an audible moan nearby but looking around 
-                see no one.^";
-        ],
-        n_to h70,
-        nw_to campsite,
-        w_to g79,
-        cant_go "The forest is so dense that you'd first need to find 
-                a machete to be able to continue in that direction.",
-  has   light;
\ No newline at end of file
diff --git a/src/objects/overworld/house.inf b/src/objects/overworld/house.inf
deleted file mode 100644 (file)
index 3f66ee9..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-! Copyright (C) 2020 Jason Self <j@jxself.org>
-!
-! This file is free software: you may copy, redistribute and/or 
-! modify it under the terms of the GNU Affero General Public License 
-! as published by the Free Software Foundation, either version 3 of 
-! the License, or (at your option) any later version.
-!
-! This file is distributed in the hope that it will be useful, but
-! WITHOUT ANY WARRANTY; without even the implied warranty of
-! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-! Affero General Public License for more details.
-!
-! You should have received a copy of the GNU Affero General Public
-! License along with this file. If not, see https://gnu.org/licenses/
-
-Object  oldhouse "House"
-  with  description 
-            "It's an old, two-story house with a wide front porch 
-            that wraps around the entire first floor. The roof is tall 
-            and spindly, like it's ready to collapse inward from old 
-            age at any moment. The interior of the house is dark and 
-            quiet compared to the bright afternoon outside.";
\ No newline at end of file
diff --git a/src/objects/overworld/shed.inf b/src/objects/overworld/shed.inf
deleted file mode 100644 (file)
index a60cfdd..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-! Copyright (C) 2020 Jason Self <j@jxself.org>
-!
-! This file is free software: you may copy, redistribute and/or 
-! modify it under the terms of the GNU Affero General Public License 
-! as published by the Free Software Foundation, either version 3 of 
-! the License, or (at your option) any later version.
-!
-! This file is distributed in the hope that it will be useful, but
-! WITHOUT ANY WARRANTY; without even the implied warranty of
-! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-! Affero General Public License for more details.
-!
-! You should have received a copy of the GNU Affero General Public
-! License along with this file. If not, see https://gnu.org/licenses/
-
-Object  shed "Shed"
-  with  description 
-            "This small shed is a rickety-looking building made of 
-            thin wood. It has no windows but there's a large opening 
-            where a door should be. The exit is to the east.",
-        e_to g60,
-  has   light;
\ No newline at end of file
diff --git a/src/objects/overworld/westofcampsite.inf b/src/objects/overworld/westofcampsite.inf
deleted file mode 100644 (file)
index 670c4ec..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-! Copyright (C) 2019, 2020 Jason Self <j@jxself.org>
-!
-! This file is free software: you may copy, redistribute and/or 
-! modify it under the terms of the GNU Affero General Public License 
-! as published by the Free Software Foundation, either version 3 of 
-! the License, or (at your option) any later version.
-!
-! This file is distributed in the hope that it will be useful, but
-! WITHOUT ANY WARRANTY; without even the implied warranty of
-! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-! Affero General Public License for more details.
-!
-! You should have received a copy of the GNU Affero General Public
-! License along with this file. If not, see https://gnu.org/licenses/
-
-Object  westofcampsite "West Of Campsite"
-  with  description [;
-            print "You're in an area of sweet smelling green ankle 
-            high grass just east of a forest. Livestock tracks form a 
-            well-worn path next to a creek, both coming from the 
-            northeast, and ending at a small pond. Filled with water 
-            lilies, the pond seems quiet and serene. You look to the 
-            forest edge and see a clear path east and northeast 
-            leading deep into the forest. On both sides there is 
-            dense undergrowth with only a small path through it. The 
-            trees are ancient with thick vines hanging from them and 
-            across the path. All other directions take you to 
-            low-lying hills and grassy fields.";
-            if (westofcampsite hasnt visited)
-                print
-                    " A flock of birds fly overhead and disappear into 
-                    the forest.";
-            new_line;
-        ],
-        before [;
-          Listen:
-            print_ret 
-                "You hear strange unintelligible whispers but looking 
-                around see no one.^";
-        ],
-        e_to campsite,
-  has   light;
-
-Object  pond "pond" westofcampsite
-  with  name 'pond' 'water',
-        description 
-            "Filled with water lilies, the pond seems quiet 
-            and serene.",
-        before [;
-          ThrownAt:
-            "Probably not a good idea. You might need that.";
-          Taste, Drink:
-            print_ret "The water tastes dirty.";
-          Touch:
-            print_ret "You touch the water, creating ripples.";
-          Take, Pull, Push, PushDir, Turn:
-            print_ret 
-                "I'm not sure how 
-                you'd do that with a pond.";
-          Blow:
-            print_ret "You huff and you puff but nothing happens.";
-          Burn:
-            print_ret "One can burn water?";
-          Buy:
-            print_ret "The pond is not for sale.";
-          JumpOver:
-            print_ret "The pond is too large to jump over.";
-        ],
-  has   scenery;
-
-Object  vines "vines" westofcampsite
-  with  name 'vine' 'vines',
-  has   scenery;
\ No newline at end of file
diff --git a/src/overworld.inf b/src/overworld.inf
new file mode 100644 (file)
index 0000000..a82cea5
--- /dev/null
@@ -0,0 +1,597 @@
+! Copyright (C) 2019, 2020, 2021 Jason Self <j@jxself.org>
+!
+! This file is free software: you may copy, redistribute and/or 
+! modify it under the terms of the GNU Affero General Public License 
+! as published by the Free Software Foundation, either version 3 of 
+! the License, or (at your option) any later version.
+!
+! This file is distributed in the hope that it will be useful, but
+! WITHOUT ANY WARRANTY; without even the implied warranty of
+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+! Affero General Public License for more details.
+!
+! You should have received a copy of the GNU Affero General Public
+! License along with this file. If not, see https://gnu.org/licenses/
+
+Object  bridge1 "Bridge"
+  with  description
+            "This part of the bridge seems sturdy enough, although 
+            there are signs of rot and termite damage.",
+        n_to bridge2,
+  has   light;
+
+Object  bridge2 "Bridge"
+  with  description
+            "The rot and termite damage is more serious in this area 
+            and there are clear signs that nails are missing.",
+        s_to bridge1,
+        n_to bridge3,
+  has   light;
+
+Object  bridge3 "Bridge"
+  with  description
+            "The entire bridge swings slightly from side to side.
+            It seems certain that this bridge is going to crack and 
+            break.",
+        s_to bridge2,
+        n_to bridge4,
+  has   light;
+
+Object  bridge4 "Bridge"
+  with  description [;
+            print
+                "You are nearly halfway across. Everything seems fine 
+                for a moment but then there is a horrible cracking 
+                sound as the entire bridge lurches to the side and all 
+                of the planks fall. You look down and see the water 
+                rapidly approaching.";
+        deadflag = 1;
+        ],
+  has   light;
+
+Object  campsite "Campsite"
+  with  description 
+            "You are at an old campsite set among some low-lying hills 
+            and grassy fields. The sun shines brightly from above, 
+            casting its golden glow in all directions to illuminate 
+            the camping area. The healthy, dark green grass carpets 
+            the field except around an old fire pit. The fire pit 
+            appears to have been used recently and you smell smoke in 
+            the air. It is still intact and there are no ashes. The 
+            hills and grassy fields appears to continue on in all 
+            directions, leading to some trees in the distance in an 
+            area that appears to be heavily wooded.",
+        n_to g59,
+        nw_to g58,
+        ne_to g60,
+        w_to westofcampsite,
+        e_to h70,
+        s_to g79,
+        se_to h80,
+        sw_to h78,
+        before [;
+          Listen:
+            print_ret 
+                "You listen and hear several raspy coughs nearby... 
+                all coming from the log. You also hear chanting from 
+                right behind you but looking around you see no one is 
+                there.";
+        ],
+        u_to 
+            "That's the sky. Not sure how you plan to get there but 
+            maybe you know something I don't.",
+        d_to "That's the ground. Since when are you able to move through it?",
+  has   light;
+
+Object  firepit "firepit" campsite
+  with  name 'fire' 'firepit' 'pit',
+        description 
+            "The fire pit is small and nothing more than an 
+            indentation in the ground. It reeks of old campfires.",
+  has   scenery;
+
+Object  log "log" campsite
+  with  name 'log' 'wood',
+        description 
+            "It's the remnant of a tree trunk uprooted by a storm. 
+            About 6 feet long and 2 feet thick, someone has taken the 
+            time to shape it flat and square for sitting. The log is 
+            dry but heavy for its size and would be difficult to move 
+            without some kind of vehicle. Slightly recessed into the 
+            ground, it's a combination of cinnamon and caramel brown. 
+            Deep scratches and ominous stains mar the surface.",
+  has   supporter enterable static;
+
+Object  diary "diary"
+  with  name 'diary' 'book',
+        description 
+            "The diary is old and worn. The pages are tattered and 
+            yellowed, and most of the writing has faded due to 
+            exposure to the elements over the years. In reviewing the 
+            pages you can make out a single passage: ~The humming... 
+            the humming... I can't make it stop.~",
+  has   ;
+
+Object  lantern "copper lantern" log
+  with  name 'lantern' 'copper',
+        description 
+            "This is an exceptionally beautiful oil lamp. About 
+            eleven inches high, with a base of about 5 inches or so in 
+            diameter and a large, brass-closed hook at the top. The 
+            glass in the lamp has a Fresnel type of design, which is 
+            used to distribute light widely. The words ~Manufactured 
+            By The Frobozz Magic Lantern Company~ are engraved in the 
+            base.",
+        after [;
+          SwitchOn:
+            give lantern light;
+          SwitchOff:
+            give lantern ~light;
+        ],
+  has   switchable;
+
+Object  westofcampsite "West Of Campsite"
+  with  description [;
+            print "You're in an area of sweet smelling green ankle 
+            high grass just east of a forest. Livestock tracks form a 
+            well-worn path next to a creek, both coming from the 
+            northeast, and ending at a small pond. Filled with water 
+            lilies, the pond seems quiet and serene. You look to the 
+            forest edge and see a clear path east and northeast 
+            leading deep into the forest. On both sides there is 
+            dense undergrowth with only a small path through it. The 
+            trees are ancient with thick vines hanging from them and 
+            across the path. All other directions take you to 
+            low-lying hills and grassy fields.";
+            if (westofcampsite hasnt visited)
+                print
+                    " A flock of birds fly overhead and disappear into 
+                    the forest.";
+            new_line;
+        ],
+        before [;
+          Listen:
+            print_ret 
+                "You hear strange unintelligible whispers but looking 
+                around see no one.^";
+        ],
+        e_to campsite,
+  has   light;
+
+Object  pond "pond" westofcampsite
+  with  name 'pond' 'water',
+        description 
+            "Filled with water lilies, the pond seems quiet 
+            and serene.",
+        before [;
+          ThrownAt:
+            "Probably not a good idea. You might need that.";
+          Taste, Drink:
+            print_ret "The water tastes dirty.";
+          Touch:
+            print_ret "You touch the water, creating ripples.";
+          Take, Pull, Push, PushDir, Turn:
+            print_ret 
+                "I'm not sure how 
+                you'd do that with a pond.";
+          Blow:
+            print_ret "You huff and you puff but nothing happens.";
+          Burn:
+            print_ret "One can burn water?";
+          Buy:
+            print_ret "The pond is not for sale.";
+          JumpOver:
+            print_ret "The pond is too large to jump over.";
+        ],
+  has   scenery;
+
+Object  vines "vines" westofcampsite
+  with  name 'vine' 'vines',
+  has   scenery;
+
+Object  shed "Shed"
+  with  description 
+            "This small shed is a rickety-looking building made of 
+            thin wood. It has no windows but there's a large opening 
+            where a door should be. The exit is to the east.",
+        e_to g60,
+  has   light;
+
+Object  oldhouse "House"
+  with  description 
+            "It's an old, two-story rectangular house built with white 
+            stones tan brick. One large chimney sits at the side of 
+            the house and small, rounded windows have been added to 
+            in a very asymmetric way. The second floor is the same 
+            size as the first, but part of it hangs over the edge,
+            creating an overhang on one side and a balcony on the 
+            other. The roof is tall and spindly, like it's ready to 
+            collapse inward from old age at any moment. The interior 
+            of the house is dark and quiet compared to the bright 
+            afternoon outside.";
+
+Object  grandlibrary "Grand Library, Main Lobby"
+  with  description 
+            "The Grand Library, with its high ceiling, has been 
+            abandoned for many years. Despite being heavily looted 
+            there may still be some valuable items left behind. The 
+            walls are lined with empty shelves that seem to reach all 
+            the way to the high ceiling. All of the furniture is 
+            gone, and on the west wall, there is a curtained off 
+            area. This room looks considerably less damaged than any 
+            other part of this building although the dilapidated 
+            condition makes the library quite a dangerous place to 
+            wander around in.";
+
+Object  g58 "Grassy Meadow"
+  with  description 
+            "The sky is bright and blue and you can feel the warmth 
+            of the sun. You hear birds singing and see the glowing 
+            colors of day. The lush grass is soft. A small wind blows 
+            the grass around, creating an illusion of shifting 
+            colors. The area is very picturesque and everything about 
+            it feels very natural. There's a slight incline but not 
+            anything that would make it difficult. To the north and 
+            east, a forest obscures the horizon. The trees cast 
+            shadows on the grass. There are small hills and grassy 
+            fields in all other directions.",
+        s_to westofcampsite,
+        e_to g59,
+        se_to campsite,
+  has   light;
+
+Object  g59 "Grassy Meadow"
+  with  description 
+            "A garden overflows from the east. All around you are 
+            beautiful flowers of many colors, red, yellow, blue, 
+            purple, and brown. Some are pastel, others darker. The 
+            sun is brightly shining through it all, enveloping the 
+            entire setting in rich and warm color. Everything feels 
+            strong and substantial here, a wonderland from a 
+            fairytale garden. The air is crisp and cool. Birds can be 
+            heard in the distance, as their beautiful melodies call 
+            to you. Well-worn livestock tracks come from the 
+            northeast and join up with a slow-moving creek from the 
+            east. Both go to the southwest. There's a forest to the 
+            north.",
+        s_to campsite,
+        se_to h70,
+        e_to g60,
+        w_to g58,
+        sw_to westofcampsite,
+  has   light;
+
+Object  g60 "Grassy Meadow"
+  with  description 
+            "It's a beautiful sunny day. The sky is a brilliant blue 
+            without a cloud in sight. Nearby is a large oak tree, 
+            with a small shed and a small garden. The tree has a 
+            twisted, heavy trunk. The branches are splashed with 
+            green and yellow leaves as the tree reaches toward the 
+            sky, casting its shadow around the meadow. The area smells 
+            fresh and has a peaceful feel about it. A high ridge to 
+            the east appears unclimbable. A creek slowly moves down 
+            the ridge and winds through the grassy meadow toward the 
+            east.",
+        s_to h70,
+        e_to 
+            "The ridge is so steep that you'd first need to find 
+            climbing equipment to be able to continue in that 
+            direction.",
+        up_to 
+            "The ridge is so steep that you'd first need to find 
+            climbing equipment to be able to continue in that 
+            direction.",
+        w_to g59,
+        sw_to campsite,
+  has   light;
+
+Object  garden "small garden" g60
+  with  name 'garden' 'flowers',
+        found_in g59 g60,
+        description 
+            "The garden contains beautiful flowers of many colors, 
+            red, yellow, blue, purple, and brown. Some are pastel, 
+            others darker.",
+  has   scenery;
+
+Object  shed2 "shed" g60
+  with  name 'shed',
+        description 
+            "It's a rickety-looking building made of thin wood. It 
+            has no windows but there's a large opening where a door 
+            should be. It's possible to enter the shed.",
+        before [;
+          Enter:
+            PlayerTo(shed);
+            rtrue;
+        ],
+  has   scenery;
+
+Object  oaktree "oak tree" g60
+  with  name 'oak' 'tree',
+        description 
+            "The tree has a twisted, heavy trunk. The branches are 
+            splashed with green and yellow leaves as the tree reaches 
+            toward the sky, casting its shadow around the meadow.",
+        before [;
+          Climb:
+            print_ret 
+                "As soon as you make it halfway up the tree, your 
+                muscles begin to tremble and shake violently, throwing 
+                your entire body against the bark of the tree and 
+                making it difficult to continue to ascend, especially 
+                without the use of climbing equipment. You go back 
+                down to the ground.";
+          Taste:
+            print_ret "It tastes like wood.";
+          Touch:
+            print_ret "The trunk of the free feels rough to the touch.";
+          Take, Pull, Push, PushDir, Turn:
+            print_ret 
+                "The tree is firmly anchored into the ground by a
+                healthy root system. It's not going anywhere.";
+          Drink:
+            print_ret "The tree is not a liquid.";
+          Blow:
+            print_ret "You huff and you puff but nothing happens.";
+          Burn:
+            print_ret "Only you can prevent forest fires.";
+          Buy:
+            print_ret "The tree is not for sale.";
+          JumpOver:
+            print_ret 
+                "Since when did you gain the ability to jump over
+                trees in a single bound?";
+        ],
+  has   scenery;
+
+Object  h70 "Grassy Meadow"
+  with  description [;
+            print 
+                "The sun shines brightly in a cloudless sky of a 
+                brilliant blue. You feel the sun's rays creating a 
+                pleasant warmth. A soft breeze comes from the south, 
+                bringing a delicate clean-smelling spring fragrance. 
+                It smells very inviting. The grass feels warm and safe 
+                as it moves slightly in rhythm with the breeze. The 
+                grass feels slightly moist. This area seems very 
+                peaceful. A high ridge to the east appears 
+                unclimbable. Perched high up on the ridge is a single 
+                tan and maroon building. There are words carved into a 
+                large stone block to turn it into a distinct ~no 
+                trespassing~ sign.";
+            if (h70 hasnt visited)
+                print 
+                    " The only sound is the cry from a small pink and 
+                    blue bird as it scuttles about on the ground. 
+                    Startled at your approach, it flies away.";
+            new_line;
+        ],
+        n_to g60,
+        s_to h80,
+        e_to 
+            "The ridge is so steep that you'd first need to find 
+            climbing equipment to be able to continue in that 
+            direction.",
+        up_to
+            "The ridge is so steep that you'd first need to find
+            climbing equipment to be able to continue in that
+            direction.",
+        w_to campsite,
+        nw_to g59,
+        sw_to g79,
+  has   light;
+
+Object  tanmaroonbuilding "tan and maroon building" h70
+  with  name 'tan' 'maroon' 'building',
+        description 
+            "The tan and maroon building appears to be very solidly 
+            constructed. The roof is steeply pitched. The windows are 
+            very narrow and deep set yet still reveal someone walking 
+            around inside.",
+before [;
+          Enter:
+            print_ret
+                "The tan and maroon building is so far up the high 
+                ridge that you'd first need to find climbing equipment 
+                to be able to do that.";
+],
+  has   scenery;
+
+Object  largestoneblock "large stone block" h70
+  with  name 'large' 'stone' 'block',
+        description
+            "There are words carved into a large stone block that 
+            read: ~No Trespassing!~.",
+        before [;
+          Take, Pull, Push, PushDir, Turn:
+            print_ret
+                "You're unable. The large stone block is too heavy.";
+],
+  has   scenery;
+
+Object  h74 "Dirt Road"
+  with  description 
+            "You're standing on an empty dirt road that seems to be 
+            in reasonable condition. It runs in an east-west 
+            direction. The wind blows gently and steadily. The sky is 
+            a pale blue with a few wispy clouds. The sun hangs in the 
+            center of the sky and warms your skin. There seems to be 
+            a mixture of calmness and energy all around you. There is 
+            a large grassy field to the north, and you can hear a few 
+            birds singing from that direction. The south is blocked by 
+            a large stone wall.",
+        e_to g75,
+        s_to "The forest is so dense that you'd first need to find
+             a machete to be able to continue in that direction.",
+  has   light;
+
+Object  stonewall "stone wall" h74
+  with  name 'stone' 'wall',
+        description 
+            "The wall is thick and high. It's definitely a man-made 
+            structure but the age is hard to tell. It looks like it 
+            was built during the medieval times but maybe older. Most 
+            of the stones seem quite ordinary but others have 
+            unrecognizable symbols carved into them.",
+  has   static;
+
+Object  g75 "Grassy Meadow"
+  with  description 
+            "There is a gentle breeze and you can hear the wind   
+            blowing through the high grass near your feet. Everything 
+            seems very quiet and peaceful. The breeze is crisp and 
+            refreshing, and it brings a scent of flowers and grass. 
+            The cool blades of grass sway slightly as the wind blows  
+            through. The grass looks slightly greener than usual, and 
+            the lush green field stretches out to the north and east. 
+            The trees to the south are tall and seem to protect the 
+            land from whatever dangers lie beyond. A dirt road is to 
+            the east.",
+        e_to h76,
+        s_to "The forest is so dense that you'd first need to find
+             a machete to be able to continue in that direction.",
+  has   light;
+
+Object  h76 "Grassy Meadow"
+  with  description 
+            "You are standing in a grassy meadow on top of a small 
+            hill, which has several little hills surrounding it. The 
+            sun is shining brightly, and the air smells of flowers. 
+            The sky is dark blue and there isn't a cloud in the sky. 
+            There's no wind either. The sun is high enough that you 
+            can see all around you, but not so high as to be 
+            blinding. This place feels quiet and serene; as if you 
+            have stepped into picturesque moment where time seems to 
+            stand still. To the south is the Grand Library.",
+        s_to grandlibrary,
+  has   light;
+
+Object  g77 "Grassy Meadow"
+  with  description 
+            "You are standing in a grassy meadow. Sunlight beats 
+            down on you. It is nearly 70 degrees. The crystal clear 
+            sky is a rich hue of blue and perfect for gazing at. The 
+            soft green grass wafts gently in the breeze. You are 
+            completely enveloped in the wonder of nature yet there is 
+            a sense of eeriness in the air. To the north, a large 
+            forest obscures the horizon. A narrow and winding road 
+            leads to the northwest. A steep hill is to the south. 
+            Other than the road, the area seems completely 
+            untouched.",
+        s_to 
+            "The ridge is so steep that you'd first need to find
+            climbing equipment to be able to continue in that
+            direction.",
+        e_to h78,
+        ne_to westofcampsite,
+  has   light;
+
+Object  h78 "Small Hill"
+  with  description 
+            "You are on a small hill, and from here it feels as if 
+            you can see for miles around. It feels like a quiet and 
+            beautiful place. The sky is clear except for some large 
+            white clouds far away on the horizon in the bright 
+            expanse of sky. The wind blows through your hair as if in 
+            blessing. In the far distance is a lake surrounded by 
+            trees and hills. It is so beautiful, you feel as if 
+            you can see your reflection in the still water. There's a 
+            dense forest to the south.",
+        n_to westofcampsite,
+        ne_to campsite,
+        e_to g79,
+        w_to g77,
+        s_to "The forest is so dense that you'd first need to find 
+                a machete to be able to continue in that direction.",
+  has   light;
+
+Object  greenstone "thin green stone" h78
+  with  name 'thing' 'green' 'stone',
+        description
+            "The thin green stone is engraved with a message: ~Know 
+            that it is everywhere. Know that it is yours alone and 
+            that it will go on forever.~";
+
+Object  lake "lake" h78
+  with  name 'lake' 'water',
+  has   scenery;
+
+Object  g79 "Small Hill"
+  with  description 
+            "You are on a small hill, and from here it feels as if you 
+            can see for miles around. A garden used to exist here, now 
+            overgrown. Under the foliage are hundreds of stands of 
+            wildflowers, along with yellow hedges. The wind causes a 
+            100-foot-high metal spiral to slowly rotate and make a 
+            low, whistling sound. A rusty metal bench is here, which 
+            faces out over the former garden. There's a dense forest 
+            to the south. The height of this hill makes it possible 
+            to see farmland in the distance with an orchard and 
+            evidence of old animal activity.",
+        n_to campsite,
+        e_to h80,
+        w_to h78,
+        ne_to h70,
+        nw_to westofcampsite,
+        cant_go "The forest is so dense that you'd first need to find 
+                a machete to be able to continue in that direction.",
+  has   light;
+
+Object  garden2 "garden" g79
+  with  name 'garden',
+        description
+            "It's an old garden, now overgrown.",
+  has   scenery;
+
+Object  wildflowers "wildflowers" g79
+  with  name 'wild' 'flower' 'flowers' 'foliage',
+  has   scenery;
+
+Object  yellowhedges "yellow hedges" g79
+  with  name 'yellow' 'hedge' 'hedges',
+        description
+            "They look like they need trimming but they are doing 
+            their best. The wind is just making them dance a little.",
+  has   scenery pluralname;
+
+Object  rustymetalbench "rusty metal bench" g79
+  with  name 'metal' 'bench',
+        description
+            "You can't see it very well since it is partly hidden by 
+            some of the overgrowth but it's so rusty that you might 
+            get tetanus just from looking at it.",
+  has   scenery supporter enterable static;
+
+Object  spiral "100-foot-high metal spiral" g79
+  with  name 'metal' 'spiral',
+        description
+            "It seems so old and rusted that it could fall at any 
+            minute as it slowly rotates in the wind.",
+  has   scenery;
+
+Object  h80 "Grassy Meadow"
+  with  description 
+            "This is a pretty, quiet place. There are wide swaths of 
+            open space with green fields and blue skies that seem to 
+            meander on to the north and west, and a densely packed 
+            forest to the south and east. The air is warm. The forest 
+            seems sleepy while the sun shines through the trees, but 
+            there's something wrong. Something is happening to the 
+            landscape around you; it is changing. You hear an eerie 
+            breeze coming from the direction of the forest, which is 
+            in direct opposition to the normal wind direction of this 
+            area.",
+        before [;
+          Listen:
+            print_ret 
+                "You hear an audible moan nearby but looking around 
+                see no one.^";
+        ],
+        n_to h70,
+        nw_to campsite,
+        w_to g79,
+        cant_go "The forest is so dense that you'd first need to find 
+                a machete to be able to continue in that direction.",
+  has   light;
\ No newline at end of file