2
enigma.ConserveLevel = TRUE
6
create_world(levelw, levelh)
7
oxyd_default_flavor = "c"
8
set_actor("ac-blackball", 2.5,2.5)
9
draw_border("st-rock1")
10
fill_floor("fl-rough", 0,0, levelw,levelh)
12
--------------------------------------------------------------------------------------------
15
set_stone("st-rock1_move",1,y)
16
set_stone("st-rock1_move",37,y)
17
set_stone("st-rock1_move",y,1)
18
set_stone("st-rock1_move",y,23)
21
set_item("it-floppy",5,1)
22
set_item("it-blackbomb",10,1)
23
set_item("it-magnet",15,1)
25
set_item("it-flagblack",20,1)
27
set_item("it-umbrella",20,1)
29
set_item("it-sword",25,1)
30
set_item("it-key_a",30,1)
31
set_item("it-brush",35,1)
32
set_item("it-yinyang",5,23)
33
set_item("it-hammer",10,23)
35
set_item("it-whitebomb",20,23)
36
set_item("it-tinyhollow",25,23)
37
set_item("it-spade",30,23)
38
set_item("it-key_c",35,23)
39
set_item("it-tinyhill",37,5)
40
document(37,10,"If I only had a bag")
41
set_item("it-hollow",37,15)
42
set_item("it-crack3",37,20)
43
set_item("it-hill",1,5)
44
set_item("it-springboard",1,10)
45
set_item("it-key_b",1,15)
46
set_item("it-extralife",1,20)
48
--------------------------------------------------------------------------------------------
49
function draw_border_SS(name,xx0,yy0,w,h)
50
draw_stones (name,{xx0,yy0}, {1,0},w)
51
draw_stones (name,{xx0,(yy0+h-1)}, {1,0},w)
52
draw_stones (name,{xx0,yy0}, {0,1},h)
53
draw_stones (name,{(xx0+w-1),yy0}, {0,1},h)
58
draw_border_SS("st-rock1",x0,y0,8,8)
61
draw_border_SS("st-rock1",x0,y0,8,8)
63
draw_border_SS("st-rock1",x0,y0,8,8)
67
draw_border_SS("st-rock1",x0,y0,8,8)
69
draw_border_SS("st-death",x0,y0,8,8)
71
draw_border_SS("st-rock1",x0,y0,8,8)
73
draw_border_SS("st-rock1",x0,y0,8,8)
75
-----------------------------------------------------------------------------------------
79
set_stone("st-bolder-s", x0+4,y0-2, {name="startbolder"})
81
set_stone("st-switch", 0, 14, {action="callback", target="start"})
84
kill_stone(7,2) --blocker weg
88
draw_items("it-seed",{x0+4,y0}, {0,1},2)
89
set_stone("st-rock1",x0+3,y0+3)
90
draw_stones("st-rock1",{x0+4,y0+6}, {1,0},3)
91
draw_stones("st-rock1",{x0+1,y0+4}, {0,1},3)
92
set_stone("st-rock1",x0+4,y0+4)
93
draw_stones("st-rock1",{x0+6,y0+1}, {0,1},3)
95
set_stone("st-wood",x0+2,y0+2)
96
set_stone("st-wood",x0+5,y0+3)
97
set_stone("st-wood",x0+2,y0+5)
100
document(x0+6,y0+5,"shh...listen!")
102
set_item("it-trigger", x0+3,y0+1, {invisible=1,action="callback", target="box1trig1"})
103
set_item("it-trigger", x0+3,y0+2, {invisible=1,action="callback", target="box1trig2"})
104
set_item("it-trigger", x0+4,y0+2, {invisible=1,action="callback", target="box1trig3"})
106
local door1 = set_stone("st-door-v", x0+7, y0+5)
108
local switchesbox1={0, 0, 0}
111
function box1trig1 () triggerbox1(1) end
112
function box1trig2 () triggerbox1(2) end
113
function box1trig3 () triggerbox1(3) end
115
function triggerbox1(num)
116
%switchesbox1[num] = 1-%switchesbox1[num]
119
if (%switchesbox1[x]==0) then
123
if (doorsopenbox1==0 and allbox1==1) then
124
SendMessage(%door1, "open")
126
elseif (doorsopenbox1==1 and allbox1==0) then
127
SendMessage(%door1, "close")
131
-----------------------------------------------------------------------------------------
134
fill_stones("st-rock1",x0,y0,8,2)
135
fill_stones("st-rock1",x0,y0,2,5)
136
fill_stones("st-rock1",x0+6,y0,2,8)
137
enigma.KillStone(x0+4, y0)
138
enigma.KillStone(x0+4, y0+1)
139
draw_stones("st-rock1",{x0,y0+7}, {1,0},8 )
140
draw_floor("fl-water",{x0+4,y0}, {0,1},2 )
141
set_floor("fl-water",x0,y0+6)
142
set_floor("fl-water",x0+4,y0+3)
144
set_stone("st-thief",x0+1,y0+1)
145
set_stone("st-thief",x0+2,y0+1)
147
enigma.KillStone(x0+1, y0+2)
148
set_stone("st-thief",x0+1,y0+3)
149
set_stone("st-thief",x0+2,y0+3)
150
set_stone("st-rock1",x0+2,y0+4)
152
set_item("it-magicwand",x0+3,y0+3)
154
set_stone("st-wood",x0+3,y0+5)
155
set_stone("st-wood",x0+4,y0+5)
156
set_stone("st-wood",x0+4,y0+6)
158
set_item("it-trigger", x0+5,y0+3, {action="callback", target="box2trig1"})
159
set_item("it-trigger", x0+5,y0+4, {action="callback", target="box2trig2"})
160
set_item("it-trigger", x0+3,y0+6, {action="callback", target="box2trig3"})
162
local switchesbox2={0, 0, 0}
165
function box2trig1 () triggerbox2(1) end
166
function box2trig2 () triggerbox2(2) end
167
function box2trig3 () triggerbox2(3) end
169
function triggerbox2(num)
170
%switchesbox2[num] = 1-%switchesbox2[num]
173
if (%switchesbox2[x]==0) then
177
if (doorsopenbox2==0 and allbox2==1) then
178
draw_floor("fl-wood",{15,3}, {0,1},2 ) -- feste Koordinaten
180
elseif (doorsopenbox2==1 and allbox2==0) then
181
draw_floor("fl-water",{15,3}, {0,1},2 ) -- feste Koordinaten
185
-----------------------------------------------------------------------------------------
188
fill_stones("st-rock1",x0+1,y0+1,2,3)
189
fill_stones("st-rock1",x0+5,y0+1,2,2)
190
draw_stones("st-rock1",{x0+1,y0+6}, {1,0},3)
191
set_stone("st-rock1",x0+4,y0+4)
192
set_stone("st-door",x0+3,y0,{name="door3", type="h"})
193
set_stone("st-coinslot",x0+2,y0,{action="openclose", target="door3"})
197
set_stone("st-wood",x0+3,y0+4)
198
set_stone("st-wood",x0+4,y0+5)
199
set_stone("st-wood",x0+5,y0+5)
201
set_stone("st-bolder-e", x0+11,y0+5, {name="bolder1"}) -- in Box4
202
set_stone("st-blocker", x0+7,y0+5, {name="blocker2"})
203
set_stone("st-blocker", x0+8,y0+5, {name="blocker3"})
205
set_item("it-trigger", x0+4,y0+3, {action="callback", target="box3trig1"})
206
set_item("it-trigger", x0+5,y0+3, {action="callback", target="box3trig2"})
207
set_item("it-trigger", x0+3,y0+5, {action="callback", target="box3trig3"})
209
local switchesbox3={0, 0, 0}
212
function box3trig1 () triggerbox3(1) end
213
function box3trig2 () triggerbox3(2) end
214
function box3trig3 () triggerbox3(3) end
216
function triggerbox3(num)
217
%switchesbox3[num] = 1-%switchesbox3[num]
220
if (%switchesbox3[x]==0) then
224
if (doorsopenbox3==0 and allbox3==1) then
225
SendMessage("bolder1", "direction", WEST)
227
elseif (doorsopenbox3==1 and allbox3==0) then
228
SendMessage("bolder1", "direction", EAST)
232
-----------------------------------------------------------------------------------------
235
draw_stones("st-rock1",{x0+1,y0+1}, {1,0},2 )
236
draw_stones("st-rock1",{x0+6,y0+1}, {0,1},6 )
237
set_stone("st-rock1",x0+4,y0+2)
238
set_stone("st-rock1",x0+3,y0+4)
239
set_stone("st-rock1",x0+4,y0+6)
240
set_stone("st-bombs",x0+5,y0+5)
241
set_stone("st-bombs",x0+5,y0+6)
242
set_stone("st-bombs",x0+5,y0+7)
243
set_stone("st-grate2",x0+4,y0+5)
245
draw_stones("st-wood",{x0+2,y0+2}, {0,1},2 )
246
set_stone("st-wood",x0+3,y0+3)
248
bomb1 = set_item("it-blackbomb",x0+4,y0+5)
249
--draw_items("it-blackbomb",{x0+5,y0+5}, {0,1},3)
251
set_item("it-trigger", x0+5,y0+1, {action="callback", target="box4trig1"})
252
set_item("it-trigger", x0+4,y0+4, {action="callback", target="box4trig2"})
253
set_item("it-trigger", x0+2,y0+3, {action="callback", target="box4trig3"})
254
set_item("it-trigger", x0+2,y0+4, {action="callback", target="box4trig4"})
256
local switchesbox4={0, 0, 0, 0}
259
function box4trig1 () triggerbox4(1) end
260
function box4trig2 () triggerbox4(2) end
261
function box4trig3 () triggerbox4(3) end
262
function box4trig4 () triggerbox4(4) end
264
function triggerbox4(num)
265
%switchesbox4[num] = 1-%switchesbox4[num]
268
if (%switchesbox4[x]==0) then
272
if (allbox4==1 and exploded==0) then
273
SendMessage(bomb1, "explode")
277
-----------------------------------------------------------------------------------------
280
enigma.KillStone(x0+3, y0)
281
set_stone("st-key_a",x0+2,y0, {action="openclose", target="door4"})
282
doorh( x0+3,y0, {name="door4"})
283
draw_stones("st-rock1",{x0+3,y0+3}, {0,1},4 )
284
draw_stones("st-rock1",{x0+6,y0+1}, {0,1},3 )
285
set_stone("st-rock1",x0+1,y0+1)
286
set_stone("st-rock1",x0+5,y0+5)
288
draw_stones("st-wood",{x0+2,y0+2}, {1,0},3 )
289
set_stone("st-wood",x0+1,y0+5)
291
set_stone("st-rock1_move",x0+2,y0+5)
292
set_item("it-coin1", x0+2,y0+5)
293
set_item("it-wormhole", x0+1,y0+5, {name="warp1",targetx="4.5", targety="18.5",strength=5})
297
set_item("it-trigger", x0+3,y0+1, {action="callback", target="box5trig1"})
298
set_item("it-trigger", x0+6,y0+4, {action="callback", target="box5trig2"})
299
set_item("it-trigger", x0+4,y0+2, {action="callback", target="box5trig3"})
301
local switchesbox5={0, 0, 0}
304
function box5trig1 () triggerbox5(1) end
305
function box5trig2 () triggerbox5(2) end
306
function box5trig3 () triggerbox5(3) end
308
function triggerbox5(num)
309
%switchesbox5[num] = 1-%switchesbox5[num]
312
if (%switchesbox5[x]==0) then
316
if (doorsopenbox5==0 and allbox5==1) then
317
set_attribs(enigma.GetNamedObject("warp1"), {targetx="12.5", targety="19.5",strength=0})
319
elseif (doorsopenbox5==1 and allbox5==0) then
320
set_attribs(enigma.GetNamedObject("warp1"), {targetx="4.5", targety="18.5",strength=5})
324
-----------------------------------------------------------------------------------------
327
enigma.KillStone(x0+5, y0)
329
local laser1 = laser(x0+6,y0+1,TRUE,WEST)
330
draw_stones("st-death",{x0+4,y0+2}, {1,0},3 )
331
draw_stones("st-death",{x0+1,y0+6}, {1,0},4 )
332
set_stone("st-death",x0+1,y0+2)
333
set_stone("st-death",x0+2,y0+4)
334
set_stone("st-death",x0+4,y0+5)
336
draw_stones("st-wood",{x0+3,y0+3}, {0,1},2 )
337
set_stone("st-wood",x0+5,y0+4)
339
set_item("it-trigger", x0+1,y0+3, {action="callback", target="box6trig1"})
340
set_item("it-trigger", x0+2,y0+3, {action="callback", target="box6trig2"})
341
set_item("it-trigger", x0+6,y0+3, {action="callback", target="box6trig3"})
342
set_item("it-extralife", x0+2,y0+5)
344
local switchesbox6={0, 0, 0}
347
function box6trig1 () triggerbox6(1) end
348
function box6trig2 () triggerbox6(2) end
349
function box6trig3 () triggerbox6(3) end
351
function triggerbox6(num)
352
%switchesbox6[num] = 1-%switchesbox6[num]
355
if (%switchesbox6[x]==0) then
359
if (doorsopenbox6==0 and allbox6==1) then
360
SendMessage(%laser1, "off")
362
elseif (doorsopenbox6==1 and allbox6==0) then
363
SendMessage(%laser1, "on")
367
-----------------------------------------------------------------------------------------
370
fill_stones("st-glass1",x0+1,y0+1,3,2)
371
draw_stones("st-glass1",{x0+6,y0+4}, {0,1},3 )
372
draw_stones("st-glass1",{x0+5,y0+5}, {0,1},2 )
373
set_stone("st-glass1",x0+6,y0+1)
374
set_stone("st-glass1",x0+3,y0+3)
375
set_stone("st-glass1",x0+1,y0+6)
377
local door2 = set_stone("st-door-v",x0+7,y0+3)
379
set_stone("st-glass1",x0+4,y0)
381
set_stone("st-wood",x0+4,y0+3)
382
set_stone("st-wood",x0+5,y0+3)
383
set_stone("st-wood",x0+4,y0+5)
386
set_item("it-crack3", x0+5,y0)
387
set_stone("st-glass1_hole",x0+5,y0)
391
set_item("it-trigger", x0+1,y0+3, {action="callback", target="box7trig1"})
392
set_item("it-trigger", x0+1,y0+5, {action="callback", target="box7trig2"})
393
set_item("it-trigger", x0+2,y0+6, {action="callback", target="box7trig3"})
395
local switchesbox7={0, 0, 0}
398
function box7trig1 () triggerbox7(1) end
399
function box7trig2 () triggerbox7(2) end
400
function box7trig3 () triggerbox7(3) end
402
function triggerbox7(num)
403
%switchesbox7[num] = 1-%switchesbox7[num]
406
if (%switchesbox7[x]==0) then
410
if (doorsopenbox7==0 and allbox7==1) then
411
set_stone("st-glass1_hole",24,14)
412
SendMessage(%door2, "open")
414
elseif (doorsopenbox7==1 and allbox7==0) then
415
set_stone("st-glass1",24,14)
416
SendMessage(%door2, "close")
420
-----------------------------------------------------------------------------------------
423
draw_stones("st-rock1",{x0+1,y0+1}, {1,0},6 )
424
draw_stones("st-rock1",{x0+1,y0+5}, {1,0},4 )
425
set_stone("st-rock1",x0+4,y0+6)
426
set_stone("st-glass",x0+2,y0+3)
427
set_stone("st-glass",x0+4,y0+3)
431
set_stone("st-rock1_move",x0+2,y0+4)
432
set_stone("st-rock1_move",x0+5,y0+4)
433
set_stone("st-rock1_move",x0+6,y0+5)
435
set_item("it-trigger", x0+1,y0+2, {action="callback", target="box8trig1"})
436
set_item("it-trigger", x0+5,y0+2, {action="callback", target="box8trig2"})
437
set_item("it-trigger", x0+6,y0+4, {action="callback", target="box8trig3"})
438
set_item("it-trigger", x0,y0+3, {action="callback", target="box8trig4"})
440
local laser2 = laser(x0+1,y0+6,FALSE,EAST)
443
local switchesbox8={0, 0, 0, 0}
446
function box8trig1 () triggerbox8(1) end
447
function box8trig2 () triggerbox8(2) end
448
function box8trig3 () triggerbox8(3) end
449
function box8trig4 () triggerbox8(4) end
451
function triggerbox8(num)
452
%switchesbox8[num] = 1-%switchesbox8[num]
455
if (%switchesbox8[x]==0) then
459
if (doorsopenbox8==0 and allbox8==1) then
460
SendMessage(%laser2, "on")
462
elseif (doorsopenbox8==1 and allbox8==0) then
463
SendMessage(%laser2, "off")