Add extra names for the bears, fix mall exit, fix some line wrapping
[the-mall.git] / the-mall.inf
index 7f620a01b5abcd7bc229e96bb3439973495d4c7b..c8ede31906d21e7b4c4d0534efaa48df3d1cb55e 100644 (file)
 !
 ! 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 "190321";
-
-Object mall "Mall"
-with   description "You're in the main walkway. An ordinary kind 
-       of place, with stores all around.",
-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 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.";
-       if (salon has visited) print " Remembering the low ceiling, 
-       you take care not to bump your head.";
-       new_line; ],
-e_to   mall,
-has     light;
+Serial "190717";
 
-[ 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' 'eye' 'eyes' 
+              'supply' 'supplies' 'bulge' 'bulges',
+        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,
+        after [;
+          unlock:
+            deadflag = 2;
+            return true;
+        ],
+  has   scenery door lockable 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