X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=the-server-room.inf;h=390b4e0b4def4b6078b449cd728de29459109aa8;hb=HEAD;hp=6ae746615636c30ad1a34bc35eb3810a7ce26480;hpb=c747099ec399b0b020687122c40194c333f69c65;p=the-server-room.git diff --git a/the-server-room.inf b/the-server-room.inf index 6ae7466..390b4e0 100644 --- a/the-server-room.inf +++ b/the-server-room.inf @@ -1,6 +1,6 @@ !% -SD !========================================================================= -! Copyright (C) 2019 Jason Self +! Copyright (C) 2019, 2020, 2021 Jason Self ! ! This program is free software: you can redistribute it and/or modify ! it under the terms of the GNU Affero General Public License as @@ -36,24 +36,29 @@ ! . !========================================================================= Constant Story "The Server Room"; -Constant Headline "^An Interactive Fiction by Daniel Bartholomew.^"; +Constant Headline "^An Interactive Fiction by Daniel Bartholomew +with modifications by Jason Self.^"; Release 1; -Serial "190908"; +Serial "210202"; Constant MAX_SCORE = 6; Include "parser"; Include "verblib"; -Global openedbackpack = 1; -Global openedtray = 1; -Global takencd = 1; Global beeping = 1; !========================================================================= ! The Game Objects Object break_room "Break Room" with description - "Your standard break room. A fridge, and a long counter - take up one wall. East is the outside world and west is - the hallway to the server room.", + "This break room is a calm, quiet and peaceful place for + people to unwind and eat. Well kept and organized, the + area is clean and inviting. A large television is mounted + to one of the walls, next to a refrigerator. Even though + no one's around the smell of a pleasant coffee blend still + hangs in the air. A cool-looking counter and white couch + take up another wall. The remaining walls have posters of + various sports teams of the previous four years. East is + the outside world and west is the hallway to the server + room.", w_to hallway, e_to "You take one look outside and think better of it. The @@ -61,16 +66,56 @@ Object break_room "Break Room" you have work to do.", has light; +Object tv "television" break_room + with description + "It looks like a cheap, generic flat screen television + with an edge-to-edge matte screen. You see no buttons on + it. There should be a remote control somewhere.", + name 'tv' 'television' 'telly', + before [; + SwitchOn: + print_ret + "The television can only be turned on using the + remote."; + ], + has container openable scenery switchable; + +Object whitecouch "white couch" break_room + with description + "With a smooth and modern design, this looks to be a luxurious couch. + It is extremely durable and easy to clean and maintain. Offering + enough room to sit or lay, it looks very soft and comfortable.", + name 'white' 'couch' 'sofa', + before [; + Take, Pull, Push, PushDir: + print_ret (The) self, " is too heavy for that."; + ], + has scenery static supporter enterable; + +Object posters "posters" break_room + with description + "Fold outs from a japanese sport fanzine, the posters + really show off the players and game.", + name 'sport' 'sports' 'poster' 'posters', + has scenery; + Object fridge "refrigerator" break_room - with description "Your standard refrigerator.", + with description + "This refrigerator makes a statement with a sleek, modern + and minimal stainless steel design. Featuring large doors + it seems quite an impressive refrigerator that can hold a + lot.", name 'fridge' 'refrigerator', has container openable scenery; Object counter "long counter" break_room with description - "A long counter. You can't quite determine the color, - it's somewhere between green and brown. On the counter is - a microwave.", + "It's a beautiful, stylish, and high-quality solid wood + counter that runs the length of the wall. You can't quite + determine the color of the sleek countertop, it's + somewhere between green and brown. The design on the + countertop consists of geometric patterns. It seems a + sturdy, durable, and solid counter.", name 'counter', has static supporter scenery; @@ -80,27 +125,45 @@ Object microwave "microwave" counter like a real workhorse. It's compact, quiet, and works great.", name 'microwave' 'micro', - has container openable scenery; + before [; + Receive: + print "Put "; + print (a) noun; + print_ret + " into the microwave? Maybe you should come with a + warning label because you contain more than a trace + amount of nut."; + ], + has container openable; Object table "table" break_room - with description "It's a table. Were you expecting something else?", + with description "The table is made of strong wood. It looks to + be about 6 feet across and could probably sit 6 + to 8 people. It's white, round and seems very + functional as a table despite looking quite + heavy.", name 'table', before [; Take: "Let me spell it out for you: it is a T A B L E and you are NOT Superman."; ], - has supporter; + has scenery supporter; Object backpack "backpack" table - with description "Your backpack.", + with description + "This backpack looks like a modern art piece that was + made using brown and light blue-green watercolors. A black + line was traced around to make the stitching lines. + Well-worn and quite suitable for travel, it looks like it + could carry a lot of belongings.", name 'pack' 'back' 'bag' 'backpack', article "your", before [; Open: - if (openedbackpack == 1) { + if (backpack hasnt visited) { score = score + 2; - openedbackpack = 2; + give backpack visited; } ], has clothing container openable; @@ -113,33 +176,93 @@ Object disc "Trisquel CD" backpack name 'disk' 'disc' 'Trisquel' 'cd', after [; Take: - if (takencd == 1) { + if (disc hasnt visited) { score = score + 2; - takencd = 2; - print_ret "You pick up the Trisquel CD.^"; + give disc visited; } ], has ; Object hallway "Hallway" with description - "Bereft of features, adornment or even adequate lighting, - this hallway is as plain as they come. Doors lead east - back to the break room, north to the server room, or - west to the restrooms.", + "The hallway is long and rectangular, and the walls are + painted a cool blue and the floor is carpeted. One of the + long walls is decorated with a few paintings, all of + different scenes from around the city. The wall opposite + the paintings has a glass display case. Doors lead east + back to the break room, north to the server room, or west + to the restrooms.", e_to break_room, - n_to server_room, - w_to - "When nature calls, you'll know about it, but right now, - it isn't calling.", + n_to + "You use your key card to open the server room door but + instead of a beep of approval and an unlocked door you + get a buzz of denial and the door remains locked. Plus: + Through the window in the door you can see someone moving + around inside but there shouldn't be anyone else here + today.", + w_to restroom, + has light; + +Object carpet "carpet" hallway + with description + "The carpet is a deep red color and very well kept. It + covers the floor of the entire hallway. It has an + intricate pattern of woven vines, flowers and leaves.", + name 'carpet' 'floor', + has scenery; + +Object paintings "paintings" hallway + with description + "There's a painting of the city bridge with a young girl + standing on it and looking out to the horizon, another of + a large three-masted ship tied up at the docks with + several people on the deck looking out over the water, + one of an old style saloon with a bucking horse outside.", + name 'paint' 'painting' 'paintings', before [; - Go: - if (noun == n_obj) { - print - "^^You use your key card to open the server room - door and step into your world.^"; - } + Take, Pull, Push, PushDir: + print_ret (The) self, " are firmly attached to the wall."; + ], + has scenery pluralname; + +Object case "glass display case" hallway + with description + "The display case is large and made of glass.", + name 'glass' 'display' 'case', + before [; + Take, Pull, Push, PushDir: + print_ret (The) self, " is too heavy for that."; ], + has container openable scenery transparent; + +Object award "crystal award" case + with description + "It's an award the company won. It's made of extremely + ornate crystal, in fact more so than any other crystal + award you've ever seen; this is probably because it's the + only one you've ever seen up close. The bottom is a solid + crystal octagon and there are actually eight more little + crystals that act as legs supporting the main crystal + octagon.", + name 'crystal' 'award'; + +Object keycard "key card" break_room + with description + "The key card is thin and black with a magnetic strip + down the middle. The card is slightly bendable and easy + to grip.", + name 'key' 'card' 'keycard', + has ; + +Object restroom "Restroom" + with description + "This average-sized, square restroom has a sink set into a + resin counter. The floor is tiled, the ceiling has + removable tiles, and the walls are painted with a + wallpapered dado. Light is provided by ceiling lights. The + room is done in colors that remind you of the sky and + overall looks very eclectic.", + e_to hallway, has light; Object server_room "Server Room" @@ -191,9 +314,9 @@ Object tray "tray" server_room if (noun ~= disc) print_ret (The) noun, " is too big to fit."; Open: - if (openedtray == 1) { + if (tray hasnt visited) { score = score + 2; - openedtray = 2; + give tray visited; } ], after [; @@ -217,6 +340,7 @@ Object tray "tray" server_room [ Initialise; location = break_room; + move keycard to player; "^^^^It's Saturday, a nice one at that, and you've been called in to fix a server that's on the blink. Again.^^You've had it. This server is going to run GNU/Linux from this day forward! The @@ -232,4 +356,4 @@ Object tray "tray" server_room !========================================================================= ! Standard and Extended Grammar Include "grammar"; -!========================================================================= \ No newline at end of file +!=========================================================================