! <https://www.gnu.org/licenses/>.
!=========================================================================
Constant Story "The Server Room";
-Constant Headline
- "^An Interactive Fiction by Daniel Bartholomew.^";
-Release 1; Serial "080625"; !for keeping track of public releases
-
+Constant Headline "^An Interactive Fiction by Daniel Bartholomew.^";
+Release 1;
+Serial "080625"; !for keeping track of public releases
Constant MAX_SCORE = 6;
-
Include "parser";
Include "verblib";
-
-global openedbackpack = 1;
-global openedtray = 1;
-global takencd = 1;
-global beeping = 1;
-
+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.",
+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.",
w_to hallway,
- e_to "You take one look outside and think better of it. The
- daystar is too bright and terrible to face today. Besides, you
- have work to do.",
- has light;
-
-Object fridge "refrigerator" break_room
- with
- description "Your standard refrigerator.",
+ e_to
+ "You take one look outside and think better of it. The
+ daystar is too bright and terrible to face today. Besides,
+ you have work to do.",
+ has light;
+
+Object fridge "refrigerator" break_room
+ with description "Your standard refrigerator.",
name 'fridge' 'refrigerator',
- has container openable scenery;
+ 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.",
+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.",
name 'counter',
- has static supporter scenery;
+ has static supporter scenery;
-Object microwave "microwave" counter
- with
- description "Your standard microwave.",
+Object microwave "microwave" counter
+ with description "Your standard microwave.",
name 'microwave' 'micro',
- has container openable scenery;
+ has container openable scenery;
-Object table "Table" break_room
- with
- description "It's a table. Were you expecting something else?",
+Object table "Table" break_room
+ with description "It's a table. Were you expecting something else?",
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;
+ before [;
+ Take:
+ "Let me spell it out for you: it is a T A B L E and you
+ are NOT Superman.";
+ ],
+ has supporter;
-Object backpack "backpack" table
- with
- description "Your backpack.",
- name 'pack' 'back' 'bag' 'backpack', article "your",
- before [;
- Open:
+Object backpack "backpack" table
+ with description "Your backpack.",
+ name 'pack' 'back' 'bag' 'backpack',
+ article "your",
+ before [;
+ Open:
if (openedbackpack == 1) {
score = score + 2;
openedbackpack = 2;
}
- ],
- has clothing container openable;
+ ],
+ has clothing container openable;
-Object disc "Ubuntu CD" backpack
- with
- description "An automatic recovery CD, guaranteed to fix almost
- any server.^^Ok, it's just an install CD that auto-installs
+Object disc "Ubuntu CD" backpack
+ with description
+ "An automatic recovery CD, guaranteed to fix almost any
+ server.^^Ok, it's just an install CD that auto-installs
Ubuntu, but hey, if it works, it works.",
name 'disk' 'disc' 'Ubuntu' 'cd',
- after [;
- Take:
+ after [;
+ Take:
if (takencd == 1) {
score = score + 2;
takencd = 2;
print_ret "You pick up the Ubuntu CD.^";
}
- ],
- 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.",
+ ],
+ 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.",
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.",
+ w_to
+ "When nature calls, you'll know about it, but right now,
+ it isn't calling.",
before [;
- Go:
- if (noun == n_obj) {
- StartDaemon(server_room);
- print "^^You use your key card to open the server room
- door and step into your world.^";
- }
+ Go:
+ if (noun == n_obj) {
+ StartDaemon(server_room);
+ print
+ "^^You use your key card to open the server room
+ door and step into your world.^";
+ }
],
- has light;
-
-Object server_room "Server Room"
- with
- description "The fans, the lights, the chill . . . yep, it's a
- server room. Full of servers from a dozen different
- manufacturers, each with their own quirks.^^Your attention is
- immediately drawn to a server 2/3 of the way up rack 7. The
- little indicator light is blinking red, and it is beeping.",
+ has light;
+
+Object server_room "Server Room"
+ with description
+ "The fans, the lights, the chill . . . yep, it's a server
+ room. Full of servers from a dozen different
+ manufacturers, each with their own quirks.^^Your
+ attention is immediately drawn to a server 2/3 of the way
+ up rack 7. The little indicator light is blinking red, and
+ it is beeping.",
s_to hallway,
daemon [;
- if (location ~= server_room) return;
+ if (location ~= server_room)
+ return;
beeping = random(7);
switch (beeping) {
- 1: "^The beeping is driving you crazy.";
- 2: "^It's hard to think, with all of the beeping.";
- 3: "^The monotony of the beeping is maddening.";
- 4: "^You can't stand the beeping.";
- 5: "^The beeping reminds you of your alarm clock.";
- 6: "^beep . . . beep . . . beep . . . beep . . . beep
- . . . beep . . .";
- 7: "^If you don't stop the beeping soon, you'll loose what
- little hair you have left.";
+ 1:
+ "^The beeping is driving you crazy.";
+ 2:
+ "^It's hard to think, with all of the beeping.";
+ 3:
+ "^The monotony of the beeping is maddening.";
+ 4:
+ "^You can't stand the beeping.";
+ 5:
+ "^The beeping reminds you of your alarm clock.";
+ 6:
+ "^beep . . . beep . . . beep . . . beep . . . beep
+ . . . beep . . .";
+ 7:
+ "^If you don't stop the beeping soon, you'll loose
+ what little hair you have left.";
}
],
- has light;
+ has light;
-Object server "server" server_room
- with
- description "The indicator light on this ancient server is
- blinking orange. The rest the front is featureless except for
- the CD tray. The beeping seems to emanate from somewhere
+Object server "server" server_room
+ with description
+ "The indicator light on this ancient server is blinking
+ orange. The rest the front is featureless except for the
+ CD tray. The beeping seems to emanate from somewhere
inside the server.",
name 'server' 'machine' 'computer' 'ancient' 'old',
- has scenery;
+ has scenery;
-Object tray "tray" server_room
- with
- description "It's a CD tray. Just like every other CD tray.",
+Object tray "tray" server_room
+ with description "It's a CD tray. Just like every other CD tray.",
name 'cd' 'tray',
- before [;
- Open:
+ before [;
+ Open:
if (openedtray == 1) {
score = score + 2;
openedtray = 2;
}
- ],
- after [;
- Open:
+ ],
+ after [;
+ Open:
print_ret "You press the button and the CD tray pops out.";
- Close:
+ Close:
if (disc in self) {
deadflag = 5;
- print_ret "^With the CD in the tray, you quickly reboot
- the server.^^After the bios posts, your disc starts
- doing its thing and before you know it the server is
- happily running Ubuntu, and even more than that, the
- beeping has stopped. Yay!";
+ print_ret
+ "^With the CD in the tray, you quickly reboot the
+ server.^^After the bios posts, your disc starts
+ doing its thing and before you know it the server
+ is happily running Ubuntu, and even more than
+ that, the beeping has stopped. Yay!";
}
- ],
- has container openable scenery;
+ ],
+ has container openable scenery;
!=========================================================================
! Entry point routines
[ Initialise;
location = break_room;
- "^^^^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 Linux from this day forward! The process
- will be easy - just put the disc into the server and away we go.
- Now where is that Ubuntu CD?^";
+ "^^^^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 Linux from this day forward! The process
+ will be easy - just put the disc into the server and away we go.
+ Now where is that Ubuntu CD?^";
];
[ Deathmessage;
- if (deadflag == 5) print "You have won";
+ if (deadflag == 5)
+ print "You have won";
];
!=========================================================================
! Standard and Extended Grammar
-
Include "grammar";
-
-!=========================================================================
+!=========================================================================
\ No newline at end of file