Implement more of the mall.
[the-mall.git] / the-mall.inf
1 ! Copyright (C) 2019 Jason Self <j@jxself.org>
2 !
3 ! This file is free software: you may copy, redistribute and/or modify 
4 ! it under the terms of the GNU Affero General Public License as 
5 ! published by the Free Software Foundation, either version 3 of the 
6 ! License, or (at your option) any later version.
7 !
8 ! This file is distributed in the hope that it will be useful, but 
9 ! WITHOUT ANY WARRANTY; without even the implied warranty of 
10 ! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 
11 ! Affero General Public License for more details.
12 !
13 ! You should have received a copy of the GNU Affero General Public 
14 ! License along with this file. If not, see https://gnu.org/licenses/
15
16 Constant Story "The Mall";
17 Constant Headline "^By Jason Self^
18 If you get stuck try typing HELP.^
19 This game gives you freedom; you can change and share it under the 
20 terms of the GNU Affero General Public License as published by the 
21 Free Software Foundation, either version 3 of the License, or (at your 
22 option) any later version. See the GNU Affero General Public License 
23 for details.^
24 IFID 1AB626D5-E03F-4F03-836C-50F65B643B9B^";
25 Include "parser";
26 Include "verblib";
27 Release 0;
28 Serial "190322";
29
30 Object bank "Bank of Zork"
31 with    description "The local branch of the Bank of Zork, the 
32         largest banking institution of the Great Underground Empire. 
33         The bank vault is to the north, and a small office is to the 
34         south. As with all branches of the Bank of Zork, a portrait 
35         of J. Pierpont Flathead hangs on the wall.",
36 n_to    vaultdoor,
37 s_to    securityoffice,
38 w_to    mall,
39 has     light;
40
41 Object closet "Closet"
42 with    description "You've seen better closets, but at least this 
43         one seems pretty standard.",
44 e_to    workshop,
45 has     light;
46
47 Object cookhouse "Cookhouse"
48 with    description "This is a restaurant called The Cookhouse, 
49         although since the mall closed all of the patrons have left.",
50 n_to    mall,
51 has     light;
52
53 Object securityoffice "Security Office"
54 with    description "A small office belonging to the bank's security 
55         officer. You scan the room, seeing a table.",
56 n_to    bank,
57 has     light;
58
59 Object table "table" securityoffice
60 with name 'table',
61         description "Made from metal, it looks to be a solid and 
62         hefty table.",
63 has     scenery supporter;
64
65 Object  coppercoin "copper coin" table
66 with    name 'copper' 'coin' 'zorkmid',
67         description "The coin seems to be very old, in very poor 
68         condition, and somewhat irregular in shape. The only things 
69         clearly visible are what appears to be a name on one side: 
70         Belwit The Flat and a date on the other: 699 GUE.";
71
72 Object keycard "keycard" table
73 with    name 'keycard' 'key' 'card',
74         description "The keycard is used to open things.";
75
76 Object mall "Mall"
77 with    description "You're in the main walkway. An ordinary kind 
78         of place, with stores all around. The mall's exit is to the 
79         southwest.",
80 n_to    workshop,
81 s_to    cookhouse,
82 sw_to   mallexit,
83 e_to    bank,
84 w_to    salon,
85 has     light;
86
87 Object mallexit "door" mall
88 with    name 'door' 'exit',
89         description "A large doorway to the outside world, with the 
90         word ~Exit~ written above.",
91 with_key keycard,
92 before  [; unlock: deadflag = 2; return true;
93         ],
94 has     scenery door openable locked;
95
96 Object  portrait "portrait" bank
97 with    name 'portrait' 'picture' 'photo',
98         description "It's a portrait of J. Pierpont Flathead. His 
99         portrait adorns every branch of the Bank of Zork.",
100 before  [; Take,Pull,Push,PushDir:
101         print_ret (The) self, " is firmly attached to the wall."; ],
102 has     scenery;
103
104 Object salon "Salon"
105 with    description [; print "You've just sauntered into a salon.";
106         if (salon hasnt visited) print " Suddenly you bump your head 
107         on the ceiling, but it's not such a bad bump that it's going 
108         to prevent you from looking at objects and even things.";
109         if (salon has visited) print " Remembering the low ceiling, 
110         you take care not to bump your head.";
111         new_line; ],
112 e_to    mall,
113 has     light;
114
115 Object vaultdoor "vault door" bank
116         with name 'vault' 'safe',
117         description "A large, circular, and hefty door. The words 
118         ~Manufactured By The Frobozz Magic Vault Company~ are engraved 
119         around the edge.",
120         has scenery door openable locked;
121
122 Object workshop "Bear Workshop"
123 with    description "A workshop for making stuffed bears although by 
124         now everything is put away. The workshop retains a pleasant 
125         atmosphere. You should try going west.",
126 w_to    closet,
127 s_to    mall,
128 has     light;
129
130 [ Initialise;
131
132         Location = mall;
133
134         "^You fell asleep in the mall. Now it's closed, and the 
135         exit's locked. Can you get out?";
136 ];
137
138 [ XyzzySub; "Nothing obvious happens."; ];
139
140 [ HelpSub; "If you need help try some of the commands from:
141 ^http://pr-if.org/doc/play-if-card/"; ];
142
143 Include "grammar";
144
145 Verb 'About' * -> Version;
146 Verb 'Info' * -> Version;
147 Verb 'Help' * -> Help;
148 Verb 'xyzzy' * -> Xyzzy;