1 /**********************************************************************************
2 * Copyright (c) 2008, 2009 Derek Yu and Mossmouth, LLC
3 * Copyright (c) 2018, Ketmar Dark
5 * This file is part of Spelunky.
7 * You can redistribute and/or modify Spelunky, including its source code, under
8 * the terms of the Spelunky User License.
10 * Spelunky is distributed in the hope that it will be entertaining and useful,
11 * but WITHOUT WARRANTY. Please see the Spelunky User License for more details.
13 * The Spelunky User License should be available in "Game Information", which
14 * can be found in the Resource Explorer, or as an external file called COPYING.
15 * If not, please obtain a new copy of Spelunky from <http://spelunkyworld.com/>
17 **********************************************************************************/
18 final MapTile MakeSignTile (int tileX, int tileY, string message) {
19 return MakeSignTileAtPix(tileX*16, tileY*16, message);
23 MapTile MakeSignTileAtPix (int px, int py, string message) {
24 auto tile = TileMessageSign(MakeMapTileAtPix(px, py, 'oMsgSign'));
25 if (tile) tile.message = message;
30 void createTutorialRoom () {
32 global.darkLevel = false;
33 levBGImgName = 'bgCave';
35 //MakeMapTile(1, 1, 'oGame');
36 //MakeMapTile(3, 1, 'oLevel');
38 setRoomBounds(0, 0, 656, 288);
40 MakeMapTile(0, 0, 'oHardBlock');
41 MakeMapTile(1, 0, 'oHardBlock');
42 MakeMapTile(2, 0, 'oHardBlock');
43 MakeMapTile(3, 0, 'oHardBlock');
44 MakeMapTile(4, 0, 'oHardBlock');
45 MakeMapTile(5, 0, 'oHardBlock');
46 MakeMapTile(6, 0, 'oHardBlock');
47 MakeMapTile(7, 0, 'oHardBlock');
48 MakeMapTile(8, 0, 'oHardBlock');
49 MakeMapTile(9, 0, 'oHardBlock');
50 MakeMapTile(10, 0, 'oHardBlock');
51 MakeMapTile(11, 0, 'oHardBlock');
52 MakeMapTile(12, 0, 'oHardBlock');
53 MakeMapTile(13, 0, 'oHardBlock');
54 MakeMapTile(14, 0, 'oHardBlock');
55 MakeMapTile(15, 0, 'oHardBlock');
56 MakeMapTile(16, 0, 'oHardBlock');
57 MakeMapTile(17, 0, 'oHardBlock');
58 MakeMapTile(18, 0, 'oHardBlock');
59 MakeMapTile(19, 0, 'oHardBlock');
60 MakeMapTile(20, 0, 'oHardBlock');
61 MakeMapTile(21, 0, 'oHardBlock');
62 MakeMapTile(22, 0, 'oHardBlock');
63 MakeMapTile(23, 0, 'oHardBlock');
64 MakeMapTile(24, 0, 'oHardBlock');
65 MakeMapTile(25, 0, 'oHardBlock');
66 MakeMapTile(26, 0, 'oHardBlock');
67 MakeMapTile(27, 0, 'oHardBlock');
68 MakeMapTile(28, 0, 'oHardBlock');
69 MakeMapTile(29, 0, 'oHardBlock');
70 MakeMapTile(30, 0, 'oHardBlock');
71 MakeMapTile(31, 0, 'oHardBlock');
72 MakeMapTile(32, 0, 'oHardBlock');
73 MakeMapTile(33, 0, 'oHardBlock');
74 MakeMapTile(34, 0, 'oHardBlock');
75 MakeMapTile(35, 0, 'oHardBlock');
76 MakeMapTile(36, 0, 'oHardBlock');
77 MakeMapTile(37, 0, 'oHardBlock');
78 MakeMapTile(38, 0, 'oHardBlock');
79 MakeMapTile(39, 0, 'oHardBlock');
80 MakeMapTile(40, 0, 'oHardBlock');
81 MakeMapTile(41, 0, 'oHardBlock');
82 MakeMapTile(0, 1, 'oHardBlock');
83 MakeMapTile(41, 1, 'oHardBlock');
84 MakeMapTile(0, 2, 'oHardBlock');
85 MakeSignTile(32, 2, "HOLD $UP AND PRESS $ATTACK TO OPEN CHESTS.");
86 MakeMapTile(40, 2, 'oLadderOrange');
87 MakeMapTile(41, 2, 'oHardBlock');
88 auto chest = ItemChest(MakeMapObject(504, 40, 'oChest'));
89 if (chest) chest.createSmallGemsContents();
90 MakeMapObject(536, 44, 'oRubyBig');
91 MakeMapObject(552, 44, 'oSapphireBig');
92 MakeMapObject(568, 44, 'oEmeraldBig');
93 MakeMapTile(0, 3, 'oHardBlock');
94 MakeMapTile(31, 3, 'oBrick');
95 MakeMapTile(32, 3, 'oBrick');
96 MakeMapTile(33, 3, 'oBrick');
97 MakeMapTile(34, 3, 'oBrick');
98 MakeMapTile(35, 3, 'oBrick');
99 MakeMapTile(36, 3, 'oBrick');
100 MakeMapTile(37, 3, 'oBrick');
101 MakeMapTile(38, 3, 'oBrick');
102 MakeMapTile(39, 3, 'oBrick');
103 MakeMapTile(40, 3, 'oLadderTop');
104 MakeMapTile(41, 3, 'oHardBlock');
105 MakeMapTile(0, 4, 'oHardBlock');
106 MakeMapTile(1, 4, 'oEntrance'); //MakeMapTile(1, 4, 'oXTitle');
107 MakeSignTile(2, 4, "WELCOME TO THE TUTORIAL CAVE!\nTHIS MIGHT BE YOUR FIRST TIME PLAYING.");
108 MakeSignTile(15, 4, "YOU CAN ATTACK WITH YOUR WHIP\nBY PRESSING $ATTACK BUTTON.");
109 MakeMapObject(22*16, 4*16, 'oSnake');
110 MakeMapTile(40, 4, 'oLadderOrange');
111 MakeMapTile(41, 4, 'oHardBlock');
112 MakeMapTile(0, 5, 'oHardBlock');
113 MakeMapTile(1, 5, 'oBrick');
114 MakeMapTile(2, 5, 'oBrick');
115 MakeMapTile(14, 5, 'oBrick');
116 MakeMapTile(15, 5, 'oBrick');
117 MakeMapTile(16, 5, 'oBrick');
118 MakeMapTile(17, 5, 'oBrick');
119 MakeMapTile(18, 5, 'oBrick');
120 MakeMapTile(19, 5, 'oBrick');
121 MakeMapTile(20, 5, 'oBrick');
122 MakeMapTile(21, 5, 'oBrick');
123 MakeMapTile(22, 5, 'oBrick');
124 MakeMapTile(40, 5, 'oLadderOrange');
125 MakeMapTile(41, 5, 'oHardBlock');
126 MakeMapTile(0, 6, 'oBrick');
127 MakeMapTile(1, 6, 'oBrick');
128 MakeMapTile(2, 6, 'oBrick');
129 MakeSignTile(5, 6, "YOU CAN JUMP WITH $JUMP BUTTON.");
130 MakeMapTile(8, 6, 'oBrick');
131 MakeSignTile(11, 6, "YOU CAN HANG ON LEDGES, TOO!");
132 MakeMapTile(14, 6, 'oBrick');
133 MakeMapTile(15, 6, 'oBrick');
134 MakeMapTile(16, 6, 'oBrick');
135 MakeMapTile(17, 6, 'oBrick');
136 MakeMapTile(18, 6, 'oBrick');
137 MakeMapTile(19, 6, 'oBrick');
138 MakeMapTile(20, 6, 'oBrick');
139 MakeMapTile(21, 6, 'oBrick');
140 MakeMapTile(22, 6, 'oBrick');
141 MakeSignTile(24, 6, "COLLECT THE TREASURE!");
142 MakeSignTile(40, 6, "HOLD $UP TO CLIMB THE LADDER.");
143 MakeMapTile(41, 6, 'oHardBlock');
144 MakeMapObject(512, 104, 'oGoldBars');
145 MakeMapObject(416, 108, 'oGoldBar');
146 MakeMapObject(432, 108, 'oGoldBar');
147 MakeMapObject(448, 108, 'oGoldBar');
148 MakeMapObject(464, 108, 'oGoldBar');
149 MakeMapObject(480, 108, 'oGoldBar');
150 MakeMapObject(496, 108, 'oGoldBar');
151 MakeMapTile(0, 7, 'oBrick');
152 MakeMapTile(1, 7, 'oBrick');
153 MakeMapTile(2, 7, 'oBrick');
154 MakeMapTile(3, 7, 'oBrick');
155 MakeMapTile(4, 7, 'oBrick');
156 MakeMapTile(5, 7, 'oBrick');
157 MakeMapTile(6, 7, 'oBrick');
158 MakeMapTile(7, 7, 'oBrick');
159 MakeMapTile(8, 7, 'oBrick');
160 MakeMapTile(9, 7, 'oBrick');
161 MakeMapTile(10, 7, 'oBrick');
162 MakeMapTile(11, 7, 'oBrick');
163 MakeMapTile(12, 7, 'oBrick');
164 MakeMapTile(13, 7, 'oBrick');
165 MakeMapTile(14, 7, 'oBrick');
166 MakeMapTile(15, 7, 'oBrick');
167 MakeMapTile(16, 7, 'oBrick');
168 MakeMapTile(17, 7, 'oBrick');
169 MakeMapTile(18, 7, 'oBrick');
170 MakeMapTile(19, 7, 'oBrick');
171 MakeMapTile(20, 7, 'oBrick');
172 MakeMapTile(21, 7, 'oBrick');
173 MakeMapTile(22, 7, 'oBrick');
174 MakeMapTile(23, 7, 'oBrick');
175 MakeMapTile(24, 7, 'oBrick');
176 MakeMapTile(25, 7, 'oBrick');
177 MakeMapTile(26, 7, 'oBrick');
178 MakeMapTile(27, 7, 'oBrick');
179 MakeMapTile(28, 7, 'oBrick');
180 MakeMapTile(29, 7, 'oBrick');
181 MakeMapTile(30, 7, 'oBrick');
182 MakeMapTile(31, 7, 'oBrick');
183 MakeMapTile(32, 7, 'oBrick');
184 MakeMapTile(33, 7, 'oBrick');
185 MakeSignTile(34, 7, "HOLD $DOWN TO DUCK AND CRAWL.");
186 MakeMapTile(38, 7, 'oBrick');
187 MakeMapTile(39, 7, 'oBrick');
188 MakeMapTile(40, 7, 'oBrick');
189 MakeMapTile(41, 7, 'oHardBlock');
190 MakeMapTile(0, 8, 'oHardBlock');
191 MakeMapTile(1, 8, 'oBrick');
192 MakeMapTile(2, 8, 'oBrick');
193 MakeMapTile(3, 8, 'oBrick');
194 MakeMapTile(4, 8, 'oBrick');
195 MakeMapTile(5, 8, 'oBrick');
196 MakeMapTile(6, 8, 'oBrick');
197 MakeMapTile(7, 8, 'oBrick');
198 MakeMapTile(8, 8, 'oBrick');
199 MakeMapTile(9, 8, 'oBrick');
200 MakeMapTile(10, 8, 'oBrick');
201 MakeMapTile(11, 8, 'oBrick');
202 MakeMapTile(12, 8, 'oBrick');
203 MakeMapTile(13, 8, 'oBrick');
204 MakeMapTile(14, 8, 'oBrick');
205 MakeMapTile(15, 8, 'oBrick');
206 MakeMapTile(16, 8, 'oBrick');
207 MakeMapTile(17, 8, 'oBrick');
208 MakeMapTile(18, 8, 'oBrick');
209 MakeMapTile(19, 8, 'oBrick');
210 MakeMapTile(20, 8, 'oBrick');
211 MakeMapTile(21, 8, 'oBrick');
212 MakeMapTile(22, 8, 'oBrick');
213 MakeMapTile(23, 8, 'oBrick');
214 MakeMapTile(24, 8, 'oBrick');
215 MakeMapTile(25, 8, 'oBrick');
216 MakeMapTile(26, 8, 'oBrick');
217 MakeMapTile(27, 8, 'oBrick');
218 MakeMapTile(28, 8, 'oBrick');
219 MakeMapTile(29, 8, 'oBrick');
220 MakeMapTile(30, 8, 'oBrick');
221 MakeMapTile(31, 8, 'oBrick');
222 MakeMapTile(32, 8, 'oBrick');
223 MakeMapTile(33, 8, 'oBrick');
224 MakeMapTile(34, 8, 'oBrick');
225 MakeMapTile(35, 8, 'oBrick');
226 MakeSignTile(36, 8, "CRAWL OVER THE EDGE TO DO A FLIP HANG.\nFALLING TOO FAR CAN REALLY HURT!");
227 MakeMapTile(40, 8, 'oBrick');
228 MakeMapTile(41, 8, 'oHardBlock');
229 MakeMapTile(0, 9, 'oHardBlock');
230 MakeMapTile(1, 9, 'oBrick');
231 MakeMapTile(2, 9, 'oBrick');
232 MakeMapTile(3, 9, 'oBrick');
233 MakeMapTile(4, 9, 'oBrick');
234 MakeMapTile(5, 9, 'oBrick');
235 MakeMapTile(6, 9, 'oBrick');
236 MakeMapTile(7, 9, 'oBrick');
237 MakeMapTile(8, 9, 'oBrick');
238 MakeMapTile(9, 9, 'oBrick');
239 MakeMapTile(10, 9, 'oBrick');
240 MakeMapTile(11, 9, 'oBrick');
241 MakeMapTile(12, 9, 'oBrick');
242 MakeMapTile(13, 9, 'oBrick');
243 MakeMapTile(14, 9, 'oBrick');
244 MakeMapTile(15, 9, 'oBrick');
245 MakeMapTile(16, 9, 'oBrick');
246 MakeMapTile(17, 9, 'oBrick');
247 MakeMapTile(18, 9, 'oBrick');
248 MakeMapTile(19, 9, 'oBrick');
249 MakeMapTile(20, 9, 'oBrick');
250 MakeMapTile(21, 9, 'oBrick');
251 MakeMapTile(22, 9, 'oBrick');
252 MakeMapTile(23, 9, 'oBrick');
253 MakeMapTile(24, 9, 'oBrick');
254 MakeMapTile(25, 9, 'oBrick');
255 MakeMapTile(26, 9, 'oBrick');
256 MakeMapTile(27, 9, 'oBrick');
257 MakeMapTile(28, 9, 'oBrick');
258 MakeMapTile(29, 9, 'oBrick');
259 MakeMapTile(30, 9, 'oBrick');
260 MakeMapTile(31, 9, 'oBrick');
261 MakeMapTile(32, 9, 'oBrick');
262 MakeMapTile(33, 9, 'oBrick');
263 MakeMapTile(34, 9, 'oBrick');
264 MakeMapTile(35, 9, 'oBrick');
265 MakeMapTile(36, 9, 'oBrick');
266 MakeMapTile(37, 9, 'oBrick');
267 MakeMapTile(40, 9, 'oBrick');
268 MakeMapTile(41, 9, 'oHardBlock');
269 MakeMapTile(0, 10, 'oHardBlock');
270 MakeMapTile(1, 10, 'oBrick');
271 MakeMapTile(2, 10, 'oBrick');
272 MakeMapTile(3, 10, 'oBrick');
273 MakeMapTile(12, 10, 'oBrick');
274 MakeMapTile(25, 10, 'oBrick');
275 MakeMapTile(26, 10, 'oBrick');
276 MakeMapTile(27, 10, 'oBrick');
277 MakeMapTile(28, 10, 'oBrick');
278 MakeMapTile(29, 10, 'oBrick');
279 MakeMapTile(30, 10, 'oBrick');
280 MakeMapTile(31, 10, 'oBrick');
281 MakeMapTile(41, 10, 'oHardBlock');
282 MakeMapTile(0, 11, 'oHardBlock');
283 MakeMapTile(1, 11, 'oBrick');
284 MakeMapTile(2, 11, 'oBrick');
285 MakeMapTile(12, 11, 'oBrick');
286 MakeSignTile(27, 11, "CROUCH AND PRESS $ROPE\nTO THROW A ROPE DOWN A LEDGE.");
287 MakeMapObject(30*16, 11*16, 'oBat');
288 MakeMapTile(41, 11, 'oHardBlock');
289 MakeMapTile(0, 12, 'oHardBlock');
290 MakeMapTile(1, 12, 'oBrick');
291 MakeMapTile(12, 12, 'oBrick');
292 MakeMapTile(26, 12, 'oBrick');
293 MakeMapTile(27, 12, 'oBrick');
294 MakeMapTile(28, 12, 'oBrick');
295 MakeMapTile(29, 12, 'oBrick');
296 MakeMapTile(41, 12, 'oHardBlock');
297 MakeMapTile(0, 13, 'oHardBlock');
298 MakeMapTile(12, 13, 'oBrick');
299 MakeSignTile(14, 13, "PRESS $SWITCH TO SELECT BOMBS AND\nPRESS $ATTACK TO USE IT.");
300 MakeSignTile(16, 13, "OPEN THIS CRATE FOR A BAG OF BOMBS.");
301 MakeSignTile(24, 13, "TO RUN, HOLD DOWN $RUN BUTTON.");
302 MakeMapTile(26, 13, 'oBrick');
303 MakeMapTile(27, 13, 'oBrick');
304 MakeMapTile(28, 13, 'oBrick');
305 MakeMapTile(29, 13, 'oBrick');
306 MakeMapTile(41, 13, 'oHardBlock');
307 auto crt = ItemCrate(MakeMapObject(216, 216, 'oCrate'));
308 // ensure that is contains a bomb bag
309 if (crt) crt.createBombBagContents();
310 MakeMapTile(0, 14, 'oHardBlock');
311 MakeMapTile(12, 14, 'oBrick');
312 MakeMapTile(13, 14, 'oBrick');
313 MakeMapTile(14, 14, 'oBrick');
314 MakeMapTile(15, 14, 'oBrick');
315 MakeMapTile(16, 14, 'oBrick');
316 MakeMapTile(21, 14, 'oBrick');
317 MakeMapTile(22, 14, 'oBrick');
318 MakeMapTile(23, 14, 'oBrick');
319 MakeMapTile(24, 14, 'oBrick');
320 MakeMapTile(26, 14, 'oBrick');
321 MakeMapTile(27, 14, 'oBrick');
322 MakeMapTile(28, 14, 'oBrick');
323 MakeMapTile(29, 14, 'oBrick');
324 MakeMapTile(41, 14, 'oHardBlock');
325 MakeMapTile(0, 15, 'oHardBlock');
326 MakeMapTile(3, 15, 'oExit');
327 MakeMapTile(11, 15, 'oBrick');
328 MakeMapTile(12, 15, 'oBrick');
329 MakeMapTile(13, 15, 'oBrick');
330 MakeMapTile(14, 15, 'oBrick');
331 MakeMapTile(15, 15, 'oBrick');
332 MakeMapTile(16, 15, 'oBrick');
333 MakeMapTile(26, 15, 'oBrick');
334 MakeMapTile(27, 15, 'oBrick');
335 MakeMapTile(28, 15, 'oBrick');
336 MakeMapTile(29, 15, 'oBrick');
337 MakeMapTile(41, 15, 'oHardBlock');
338 MakeMapTile(0, 16, 'oHardBlock');
339 MakeMapTile(2, 16, 'oBrick');
340 MakeMapTile(3, 16, 'oHardBlock');
341 MakeMapTile(4, 16, 'oBrick');
342 MakeSignTile(6, 16, "THERE'S LOTS MORE AHEAD!\nUSE YOUR WITS AND BEWARE OF TRAPS!");
343 MakeMapTile(10, 16, 'oBrick');
344 MakeMapTile(11, 16, 'oBrick');
345 MakeMapTile(12, 16, 'oBrick');
346 MakeMapTile(13, 16, 'oBrick');
347 MakeMapTile(14, 16, 'oBrick');
348 MakeMapTile(15, 16, 'oBrick');
349 MakeMapTile(16, 16, 'oBrick');
350 MakeMapTile(25, 16, 'oBrick');
351 MakeMapTile(26, 16, 'oBrick');
352 MakeMapTile(27, 16, 'oBrick');
353 MakeMapTile(28, 16, 'oBrick');
354 MakeMapTile(29, 16, 'oBrick');
355 MakeSignTile(31, 16, "PRESS $SWITCH TO SELECT YOUR ROPE AND\n$ATTACK TO USE IT.");
356 MakeSignTile(36, 16, "PRESS $ATTACK TO THROW OR USE ITEMS.\nHOLD $UP TO THROW HIGH AND $DOWN TO DROP.");
357 MakeSignTile(38, 16, "DUCK AND PRESS $ATTACK$ TO PICK UP ITEMS.");
358 MakeMapTile(41, 16, 'oHardBlock');
359 MakeMapObject(648, 264, 'oRock');
360 MakeMapTile(0, 17, 'oHardBlock');
361 MakeMapTile(1, 17, 'oBrick');
362 MakeMapTile(2, 17, 'oBrick');
363 MakeMapTile(3, 17, 'oBrick');
364 MakeMapTile(4, 17, 'oBrick');
365 MakeMapTile(5, 17, 'oBrick');
366 MakeMapTile(6, 17, 'oBrick');
367 MakeMapTile(7, 17, 'oBrick');
368 MakeMapTile(8, 17, 'oBrick');
369 MakeMapTile(9, 17, 'oBrick');
370 MakeMapTile(10, 17, 'oBrick');
371 MakeMapTile(11, 17, 'oBrick');
372 MakeMapTile(12, 17, 'oBrick');
373 MakeMapTile(13, 17, 'oBrick');
374 MakeMapTile(14, 17, 'oBrick');
375 MakeMapTile(15, 17, 'oBrick');
376 MakeMapTile(16, 17, 'oBrick');
377 MakeMapTile(17, 17, 'oBrick');
378 MakeMapTile(18, 17, 'oBrick');
379 MakeMapTile(19, 17, 'oBrick');
380 MakeMapTile(20, 17, 'oBrick');
381 MakeMapTile(21, 17, 'oBrick');
382 MakeMapTile(22, 17, 'oBrick');
383 MakeMapTile(23, 17, 'oBrick');
384 MakeMapTile(24, 17, 'oBrick');
385 MakeMapTile(25, 17, 'oBrick');
386 MakeMapTile(26, 17, 'oBrick');
387 MakeMapTile(27, 17, 'oBrick');
388 MakeMapTile(28, 17, 'oBrick');
389 MakeMapTile(29, 17, 'oBrick');
390 MakeMapTile(30, 17, 'oBrick');
391 MakeMapTile(31, 17, 'oBrick');
392 MakeMapTile(32, 17, 'oBrick');
393 MakeMapTile(33, 17, 'oBrick');
394 MakeMapTile(34, 17, 'oBrick');
395 MakeMapTile(35, 17, 'oBrick');
396 MakeMapTile(36, 17, 'oBrick');
397 MakeMapTile(37, 17, 'oBrick');
398 MakeMapTile(38, 17, 'oBrick');
399 MakeMapTile(39, 17, 'oBrick');
400 MakeMapTile(40, 17, 'oBrick');
401 MakeMapTile(41, 17, 'oHardBlock');
402 MakeMapTile(0, 18, 'oHardBlock');
403 MakeMapTile(1, 18, 'oHardBlock');
404 MakeMapTile(2, 18, 'oHardBlock');
405 MakeMapTile(3, 18, 'oHardBlock');
406 MakeMapTile(4, 18, 'oHardBlock');
407 MakeMapTile(5, 18, 'oHardBlock');
408 MakeMapTile(6, 18, 'oHardBlock');
409 MakeMapTile(7, 18, 'oHardBlock');
410 MakeMapTile(8, 18, 'oHardBlock');
411 MakeMapTile(9, 18, 'oHardBlock');
412 MakeMapTile(10, 18, 'oHardBlock');
413 MakeMapTile(11, 18, 'oHardBlock');
414 MakeMapTile(12, 18, 'oHardBlock');
415 MakeMapTile(13, 18, 'oHardBlock');
416 MakeMapTile(14, 18, 'oHardBlock');
417 MakeMapTile(15, 18, 'oHardBlock');
418 MakeMapTile(16, 18, 'oHardBlock');
419 MakeMapTile(17, 18, 'oHardBlock');
420 MakeMapTile(18, 18, 'oHardBlock');
421 MakeMapTile(19, 18, 'oHardBlock');
422 MakeMapTile(20, 18, 'oHardBlock');
423 MakeMapTile(21, 18, 'oHardBlock');
424 MakeMapTile(22, 18, 'oHardBlock');
425 MakeMapTile(23, 18, 'oHardBlock');
426 MakeMapTile(24, 18, 'oHardBlock');
427 MakeMapTile(25, 18, 'oHardBlock');
428 MakeMapTile(26, 18, 'oHardBlock');
429 MakeMapTile(27, 18, 'oHardBlock');
430 MakeMapTile(28, 18, 'oHardBlock');
431 MakeMapTile(29, 18, 'oHardBlock');
432 MakeMapTile(30, 18, 'oHardBlock');
433 MakeMapTile(31, 18, 'oHardBlock');
434 MakeMapTile(32, 18, 'oHardBlock');
435 MakeMapTile(33, 18, 'oHardBlock');
436 MakeMapTile(34, 18, 'oHardBlock');
437 MakeMapTile(35, 18, 'oHardBlock');
438 MakeMapTile(36, 18, 'oHardBlock');
439 MakeMapTile(37, 18, 'oHardBlock');
440 MakeMapTile(38, 18, 'oHardBlock');
441 MakeMapTile(39, 18, 'oHardBlock');
442 MakeMapTile(40, 18, 'oHardBlock');
443 MakeMapTile(41, 18, 'oHardBlock');
445 //MakeMapTileAtPix(24, 72, 'oPlayer1');
446 spawnPlayerAt(1*16+8, 4*16+8);
447 player.dir = MapEntity::Dir.Right;