--- /dev/null
+! 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
!% $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
^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
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)
Verb 'Clue'
* -> Help;
+Verb 'Hint'
+ * -> Help;
+
Verb 'xyzzy'
* -> Xyzzy;
--- /dev/null
+! 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
+++ /dev/null
-! 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
+++ /dev/null
-! 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
+++ /dev/null
-! 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
+++ /dev/null
-! 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
+++ /dev/null
-! 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
+++ /dev/null
-! 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
+++ /dev/null
-! 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
+++ /dev/null
-! 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
+++ /dev/null
-! 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
+++ /dev/null
-! 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
+++ /dev/null
-! 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
+++ /dev/null
-! 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
+++ /dev/null
-! 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
+++ /dev/null
-! 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
+++ /dev/null
-! 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
+++ /dev/null
-! 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
+++ /dev/null
-! 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
+++ /dev/null
-! 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;
+++ /dev/null
-! 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
+++ /dev/null
-! 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
+++ /dev/null
-! 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
+++ /dev/null
-! 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
+++ /dev/null
-! 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
+++ /dev/null
-! 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
--- /dev/null
+! 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