home *** CD-ROM | disk | FTP | other *** search
- levelw=80
- levelh=20
-
- create_world( levelw, levelh)
-
- fill_floor("fl-leaves", 0,0,levelw,levelh)
-
- function renderLine( line, pattern)
- for i=1, strlen(pattern) do
- local c = strsub( pattern, i, i)
- if c =="#" then
- set_stone( "st-glass", i-1, line)
- elseif c == "o" then
- oxyd( i-1, line)
- elseif c == "!" then
- abyss(i-1,line)
- -- fill_floor("fl-water", i-1,line, 1,1)
- elseif c=="z" then
- set_actor("ac-blackball", i-.5,line+.5, {player=0})
- elseif c=="+" then
- set_stone( "st-wood", i-1, line)
- elseif c=="W" then
- set_attrib(laser(i-1,line, FALSE, WEST), "name", "laser")
- elseif c=="L" then
- set_stone("st-key_a", i-1,line, {action="on", target="laser"})
- elseif c=="k" then
- set_item("it-key_a", i-1,line)
- elseif c=="`" then
- mirrorp(i-1,line,FALSE,TRUE, 2)
- elseif c=="/" then
- mirrorp(i-1,line,FALSE,TRUE, 4)
- elseif c=="B" then
- set_stone("st-bombs", i-1,line)
- elseif c=="d" then
- set_stone("st-oneway", i-1,line, {orientation=enigma.SOUTH})
- elseif c=="l" then
- set_stone("st-oneway", i-1,line, {orientation=enigma.WEST})
- elseif c=="F" then
- set_item("it-floppy", i-1,line)
- elseif c=="c" then
- set_item("it-coin", i-1,line,{value=2})
- elseif c=="5" then
- set_item("it-coin", i-1,line,{value=1})
- elseif c=="4" then
- set_item("it-coin", i-1,line,{value=3})
- elseif c=="P" then
- set_item("it-brush",i-1,line)
- elseif c=="h" then
- hammer(i-1,line)
- elseif c=="H" then
- set_stone("st-stone_break", i-1,line)
- elseif c=="f" then
- set_stone( "st-floppy", i-1,line,{action="openclose",target="unimportantdoor"})
- elseif c=="A" then
- doorv( i-1,line, {name="door1"})
- elseif c=="b" then
- doorv( i-1,line, {name="door2"})
- elseif c=="C" then
- -- doorh( i-1,line, {name="door3"})
- set_floor("fl-bridge", i-1,line, {name="bridge1", type="yy"})
- elseif c=="D" then
- set_floor("fl-bridge", i-1,line, {name="bridge2", type="yy"})
- elseif c=="1" then
- set_stone("st-switch", i-1,line, {action="callback",target="funcc"})
- elseif c=="2" then
- doorh( i-1,line, {name="unimportantdoor"})
- elseif c=="9" then
- set_stone("st-coinslot", i-1,line, {action="openclose", target="unimportantdoor"})
- end
- end
- end
-
- -- Floor: " "
- -- Border: "#"
- -- Oxyd: "o"
-
- renderLine(00,"####################B###9###fL###9###1####################")
- renderLine(01,"#/ # # `#")
- renderLine(02,"#/ #P z k F# `#")
- renderLine(03,"#/ # # `#")
- renderLine(04,"# ####d####CD####d#### #")
- renderLine(05,"# # # # # #2# #")
- renderLine(06,"# #+++++++#ch#+++++++# #")
- renderLine(07,"# # # # # #")
- renderLine(08,"# #+++++++# #+++++++# #")
- renderLine(09,"# # H # # H # #")
- renderLine(10,"# ###++#### ####++### #")
- renderLine(11,"# # # A 4 5 b # #//#")
- renderLine(12,"####################o################o####################")
- renderLine(13,"#` `W#")
-
- oxyd_shuffle()
-
- door1=enigma.GetNamedObject("door1")
- door2=enigma.GetNamedObject("door2")
- --door3=enigma.GetNamedObject("door3")
- bridge1=enigma.GetNamedObject("bridge1")
- bridge2=enigma.GetNamedObject("bridge2")
-
- enigma.SendMessage(door1, "openclose", nil)
- enigma.SendMessage(door2, "openclose", nil)
-
- through=0
- function funcc()
- if through==1 then
- through=0
- end
- if through==0 then
- enigma.SendMessage(door1, "openclose", nil)
- enigma.SendMessage(door2, "openclose", nil)
- -- enigma.SendMessage(door3, "openclose", nil)
- enigma.SendMessage(bridge1, "openclose", nil)
- enigma.SendMessage(bridge2, "openclose", nil)
- end
- through=through+1
- end