!
! You should have received a copy of the GNU Affero General Public
! License along with this file. If not, see https://gnu.org/licenses/
-
Constant NO_SCORE;
Constant Story "The Mall";
-Constant Headline "^By Jason Self^
-If you get stuck try typing HELP.^
-This game gives you freedom; you can change and share 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. See the GNU Affero General Public License
-for details.^
-IFID 1AB626D5-E03F-4F03-836C-50F65B643B9B^";
+Constant Headline
+ "^By Jason Self^
+ If you get stuck try typing HELP.^
+ ^Send bugs and feedback by email to j@@64jxself.org.
+ ^Copyright (C) 2019 Jason Self
+ This game gives you freedom; you can change and share 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. See the GNU Affero General
+ Public License for details.^
+ IFID 1AB626D5-E03F-4F03-836C-50F65B643B9B^";
Include "parser";
Include "verblib";
Release 0;
-Serial "190323";
-
-Object bank "Bank of Zork"
-with description "The local branch of the Bank of Zork, the
- largest banking institution of the Great Underground Empire.
- The walls are redpainted and there is a distinct wash of pine
- and sandalwood that hovers in the air. Beyond the lobby of the
- bank, to the north, lies the vault. The air there is dark--
- almost heavy-- and thick with the scents of fresh paper and
- silver and copper. A darkened office sits to the south. As
- with all branches of the Bank of Zork, a portrait of J.
- Pierpont Flathead hangs on the wall.",
-n_to vaultdoor,
-s_to securityoffice,
-w_to mall,
-has light;
-
-Object closet "Closet"
-with description "In the closet of the workshop, it is mostly
- dark. Here lie the new supplies waiting to be taken out to
- customers to make new teddy bears. Their beady eyes glisten as
- they reflect the light from the workshop, their bodies
- deflated in some places, bulging unnaturally in others.",
-e_to workshop,
-has light;
-
-object bears "teddy bears" closet
-with name 'bear' 'bears' 'teddy' 'teddies' 'ted',
-before [; Take,Pull,Push,PushDir:
- print_ret "Shoplifting isn't the answer."; ],
-has scenery;
-
-Object cookhouse "Cookhouse"
-with description "The glowing letters atop indicate that this
- restaurant is called ~The Cookhouse.~ There's a light
- smokiness in the air, and the tables are covered in
- soft-looking linen tablecloths. Although, since the mall
- closed, all of the patrons have left.",
-n_to mall,
-has light;
-
-Object table2 "table" cookhouse
-with name 'table',
-has scenery supporter;
-
-Object tablecloth "tablecloth" table2
-with name 'tablecloth' 'linen' 'cloth',
- description "It's made of soft-looking linen.",
-before [; Take,Pull,Push,PushDir:
- print_ret "Shoplifting isn't the answer."; ],
-has scenery;
-
-Object securityoffice "Security Office"
-with description "A small office belonging to the bank's security
- officer. You scan the room, seeing a table and a large bulky
- television.",
-n_to bank,
-has light;
-
-Object television "television" securityoffice
-with name 'television' 'tv' 'screen' 'monitor',
- description "It's big, gray, and one of those old-fashioned
- CRT models.",
-watch_count 0,
-before [; Listen,Examine:
- if (television has on) {
- self.watch_count = self.watch_count + 1;
- switch (self.watch_count) {
- default: print "It's big, gray, and one of those old-fashioned
- CRT models. It looks very heavy.^The TV is currently switched
- on. It's showing grainy footage at odd angles from the vault's
- security cameras.^"; return true;
- }
- };
- Take,Pull,Push,PushDir:
- print_ret "The television is firmly attached to the wall.";
- ],
- after [; SwitchOn:
- print "The television comes to life, showing grainy
- footage at odd angles from the vault's security
- cameras.^"; return true;
- ],
-has scenery switchable;
-
-Object table "table" securityoffice
-with name 'table',
- description "Made from metal, it looks to be a solid and
- hefty table.",
-has scenery supporter;
-
-Object coppercoin "copper coin" table
-with name 'copper' 'coin' 'zorkmid',
- description "The coin seems to be very old, in very poor
- condition, and somewhat irregular in shape. The only things
- clearly visible are what appears to be a name on one side:
- Belwit The Flat and a date on the other: 699 GUE.";
-
-Object keycard "keycard" table
-with name 'keycard' 'key' 'card',
- description "The keycard is used to open things.";
-
-Object mall "Mall"
-with description "You're in the main walkway. It's bright and clean
- with stores all around. Pale light glimmers off the polished
- tile like sunlight on water. The quietness of the closed mall
- floats by as if on the wind. The mall's exit is to the
- southwest.",
-n_to workshop,
-s_to cookhouse,
-sw_to mallexit,
-e_to bank,
-w_to salon,
-has light;
-
-Object mallexit "door" mall
-with name 'door' 'exit',
- description "A revolving door to the outside world, with the
- word ~Exit~ written above. Sunlight streams crisply in
- through the glass.",
-with_key keycard,
-before [; unlock: deadflag = 2; return true;
- ],
-has scenery openable locked;
-
-Object portrait "portrait" bank
-with name 'portrait' 'picture' 'photo',
- description "It's a portrait of J. Pierpont Flathead. His
- portrait adorns every branch of the Bank of Zork.",
-before [; Take,Pull,Push,PushDir:
- print_ret (The) self, " is firmly attached to the wall."; ],
-has scenery;
-
-Object salon "Salon"
-with description [; print "You've just sauntered into a salon.";
- if (salon hasnt visited) print " Suddenly you bump your head
- on the ceiling, but it's not such a bad bump that it's going
- to prevent you from looking at things.";
- if (salon has visited) print " Remembering the low ceiling,
- you take care not to bump your head."; print " Behind the
- reception desk is a small display made up of backlit shampoos
- and conditioners in various shades of translucent blue.
- Continuing to the west is another room.";
- new_line; ],
-e_to mall,
-w_to salon2,
-has light;
-
-object desk "reception desk" salon
-with name 'desk' 'reception',
-has scenery;
-
-object shampoo "shampoos" salon
-with name 'shampoo' 'shampoos' 'display',
-before [; Take,Pull,Push,PushDir:
- print_ret "Shoplifting isn't the answer."; ],
-has scenery;
-
-object conditioner "conditioners" salon
-with name 'conditioner' 'conditioners',
-before [; Take,Pull,Push,PushDir:
- print_ret "Shoplifting isn't the answer."; ],
-has scenery;
-
-Object salon2 "Salon"
-with description "This is a tranquil glasslit room where the
- stylists would work on peoples' hair. You can imagine the
- sounds of clipping shears and buzzing razors resounding
- through the air with the clarity of a ringing bell when this
- place is open.",
-e_to salon,
-has light;
-
-Object vaultdoor "vault door" bank
- with name 'vault' 'safe',
- description "A large, circular, and hefty door. The words
- ~Manufactured By The Frobozz Magic Vault Company~ are engraved
- around the edge.",
- has scenery door openable locked;
-
-Object workshop "Bear Workshop"
-with description "A workshop for making stuffed bears although by
- now everything is put away. The workshop retains a pleasant
- atmosphere. You should try going west.",
-w_to closet,
-s_to mall,
-has light;
+Serial "190714";
-[ Initialise;
+Object bank "Bank of Zork"
+ with description
+ "The local branch of the Bank of Zork, the largest banking
+ institution of the Great Underground Empire. The walls are
+ redpainted and there is a distinct wash of pine and
+ sandalwood that hovers in the air. Beyond the lobby of the
+ bank, to the north, lies the vault. The air there is
+ dark-- almost heavy-- and thick with the scents of fresh
+ paper and silver and copper. A darkened office sits to the
+ south. As with all branches of the Bank of Zork, a
+ portrait of J. Pierpont Flathead hangs on the wall.",
+ n_to vaultdoor,
+ s_to securityoffice,
+ w_to mall,
+ has light;
+
+Object closet "Closet"
+ with description
+ "In the closet of the workshop, it is mostly dark. Here
+ lie the new supplies waiting to be taken out to customers
+ to make new teddy bears. Their beady eyes glisten as they
+ reflect the light from the workshop, their bodies deflated
+ in some places, bulging unnaturally in others.",
+ e_to workshop,
+ has light;
+
+Object bears "teddy bears" closet
+ with name 'bear' 'bears' 'teddy' 'teddies' 'ted',
+ before [;
+ Take, Pull, Push, PushDir:
+ print_ret "Shoplifting isn't the answer.";
+ ],
+ has scenery;
+
+Object cookhouse "Cookhouse"
+ with description
+ "The glowing letters atop indicate that this restaurant is
+ called ~The Cookhouse.~ There's a light smokiness in the
+ air, and the tables are covered in soft-looking linen
+ tablecloths. Although, since the mall closed, all of the
+ patrons have left.",
+ n_to mall,
+ has light;
+
+Object table2 "table" cookhouse
+ with name 'table',
+ has scenery supporter;
+
+Object tablecloth "tablecloth" table2
+ with name 'tablecloth' 'linen' 'cloth',
+ description "It's made of soft-looking linen.",
+ before [;
+ Take, Pull, Push, PushDir:
+ print_ret "Shoplifting isn't the answer.";
+ ],
+ has scenery;
+
+Object securityoffice "Security Office"
+ with description
+ "A small office belonging to the bank's security officer.
+ You scan the room, seeing a table and a large bulky
+ television.",
+ n_to bank,
+ has light;
+
+Object television "television" securityoffice
+ with name 'television' 'tv' 'screen' 'monitor',
+ description
+ "It's big, gray, and one of those old-fashioned CRT
+ models.",
+ watch_count 0,
+ before [;
+ Listen, Examine:
+ if (television has on) {
+ self.watch_count = self.watch_count + 1;
+ switch (self.watch_count) {
+ default:
+ print
+ "It's big, gray, and one of those
+ old-fashioned CRT models. It looks very
+ heavy.^The TV is currently switched on. It's
+ showing grainy footage at odd angles from the
+ vault's security cameras.^";
+ return true;
+ }
+ }
+ ;
+ Take, Pull, Push, PushDir:
+ print_ret "The television is firmly attached to the wall.";
+ ],
+ after [;
+ SwitchOn:
+ print
+ "The television comes to life, showing grainy footage
+ at odd angles from the vault's security cameras.^";
+ return true;
+ ],
+ has scenery switchable;
+
+Object table "table" securityoffice
+ with name 'table',
+ description
+ "Made from metal, it looks to be a solid and hefty table.",
+ has scenery supporter;
+
+Object coppercoin "copper coin" table
+ with name 'copper' 'coin' 'zorkmid',
+ description
+ "The coin seems to be very old, in very poor condition,
+ and somewhat irregular in shape. The only things clearly
+ visible are what appears to be a name on one side: Belwit
+ The Flat and a date on the other: 699 GUE.";
+
+Object keycard "keycard" table
+ with name 'keycard' 'key' 'card',
+ description "The keycard is used to open things.";
+
+Object mall "Mall"
+ with description
+ "You're in the main walkway. It's bright and clean with
+ stores all around. Pale light glimmers off the polished
+ tile like sunlight on water. The quietness of the closed
+ mall floats by as if on the wind. The mall's exit is to
+ the southwest.",
+ n_to workshop,
+ s_to cookhouse,
+ sw_to mallexit,
+ e_to bank,
+ w_to salon,
+ has light;
+
+Object tile "tile" mall
+ with name 'tile' 'tiles',
+ has scenery;
+
+Object walkway "walkway" mall
+ with name 'walkway' 'hallway',
+ has scenery;
- Location = mall;
+Object stores "stores" mall
+ with name 'store' 'stores' 'shop' 'shops',
+ has scenery;
- "^You fell asleep in the mall. Now it's closed, and the
- exit's locked. Can you get out?";
+Object mallexit "door" mall
+ with name 'door' 'exit' 'glass',
+ description
+ "A revolving door to the outside world, with the word
+ ~Exit~ written above. Sunlight streams crisply in through
+ the glass.",
+ with_key keycard,
+ before [;
+ unlock:
+ deadflag = 2;
+ return true;
+ ],
+ has scenery openable locked;
+
+Object portrait "portrait" bank
+ with name 'portrait' 'picture' 'photo',
+ description
+ "It's a portrait of J. Pierpont Flathead. His portrait
+ adorns every branch of the Bank of Zork.",
+ before [;
+ Take, Pull, Push, PushDir:
+ print_ret (The) self, " is firmly attached to the wall.";
+ ],
+ has scenery;
+
+Object salon "Salon"
+ with description [;
+ print "You've just sauntered into a salon.";
+ if (salon hasnt visited)
+ print
+ " Suddenly you bump your head
+ on the ceiling, but it's not such a bad bump that it's going
+ to prevent you from looking at things.";
+ if (salon has visited)
+ print
+ " Remembering the low ceiling,
+ you take care not to bump your head.";
+ print
+ " Behind the reception desk is a small display made up
+ of backlit shampoos and conditioners in various shades
+ of translucent blue. Continuing to the west is another
+ room.";
+ new_line;
+ ],
+ e_to mall,
+ w_to salon2,
+ has light;
+
+Object desk "reception desk" salon
+ with name 'desk' 'reception',
+ has scenery;
+
+Object shampoo "shampoos" salon
+ with name 'shampoo' 'shampoos' 'display',
+ before [;
+ Take, Pull, Push, PushDir:
+ print_ret "Shoplifting isn't the answer.";
+ ],
+ has scenery;
+
+Object conditioner "conditioners" salon
+ with name 'conditioner' 'conditioners',
+ before [;
+ Take, Pull, Push, PushDir:
+ print_ret "Shoplifting isn't the answer.";
+ ],
+ has scenery;
+
+Object salon2 "Salon"
+ with description
+ "This is a tranquil glasslit room where the stylists
+ would work on peoples' hair. You can imagine the sounds of
+ clipping shears and buzzing razors resounding through the
+ air with the clarity of a ringing bell when this place is
+ open.",
+ e_to salon,
+ has light;
+
+Object vaultdoor "vault door" bank
+ with name 'vault' 'safe',
+ description
+ "A large, circular, and hefty door. The words
+ ~Manufactured By The Frobozz Magic Vault Company~ are
+ engraved around the edge.",
+ has scenery door openable locked;
+
+Object workshop "Bear Workshop"
+ with description
+ "A workshop for making stuffed bears although by now
+ everything is put away. The workshop retains a pleasant
+ atmosphere. You should try going west.",
+ w_to closet,
+ s_to mall,
+ has light;
+
+[ Initialise;
+ Location = mall;
+ "^You fell asleep in the mall. Now it's closed, and the exit's
+ locked. Can you get out?";
];
-[ XyzzySub; "Nothing obvious happens."; ];
+[ XyzzySub;
+ "Nothing obvious happens.";
+];
-[ HelpSub; "If you need help try some of the commands from:
-^http://pr-if.org/doc/play-if-card/"; ];
+[ HelpSub;
+ "If you need help try some of the commands from:
+ ^http://pr-if.org/doc/play-if-card/";
+];
Include "grammar";
-Verb 'About' * -> Version;
-Verb 'Info' * -> Version;
-Verb 'Help' * -> Help;
-Verb 'xyzzy' * -> Xyzzy;
\ No newline at end of file
+Verb 'About'
+ * -> Version;
+
+Verb 'Info'
+ * -> Version;
+
+Verb 'Help'
+ * -> Help;
+
+Verb 'xyzzy'
+ * -> Xyzzy;
\ No newline at end of file