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