Add richer room descriptions
[the-mall.git] / the-mall.inf
index 7f620a01b5abcd7bc229e96bb3439973495d4c7b..08268a3ace68344eeaa5f33bb700a85aee9df7fc 100644 (file)
@@ -13,6 +13,7 @@
 ! 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.^
@@ -25,29 +26,191 @@ IFID 1AB626D5-E03F-4F03-836C-50F65B643B9B^";
 Include "parser";
 Include "verblib";
 Release 0;
-Serial "190321";
+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. An ordinary kind 
-       of place, with stores all around.",
+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 workshop "Bear Workshop"
-with    description "A workshop for making stuffed bears although by 
-       now everything is put away. The workshop retains a pleasant 
-       atmosphere.",
-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 door 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 objects and even things.";
+       to prevent you from looking at things.";
        if (salon has visited) print " Remembering the low ceiling, 
-       you take care not to bump your head.";
+       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;