home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
GameStar Special 2004 August
/
GSSH0804.iso
/
Geschicklichkeit
/
Enigma
/
Enigma-081.exe
/
data
/
levels
/
duffy22.lua
< prev
next >
Wrap
Text File
|
2003-10-07
|
7KB
|
198 lines
levelw=80
levelh=15
enigma.ConserveLevel = FALSE -- dh
create_world( levelw, levelh)
fill_floor("fl-metal", 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-greenbrown", i-1, line)
elseif c =="D" then
set_stone( "st-death", 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=="+" then
set_stone( "st-wood", i-1, line)
elseif c=="g" then
draw_stones("st-grate1",{i-1,line}, {1,1}, 1)
elseif c=="h" then
set_item("it-tinyhollow", i-1, line)
elseif c=="H" then
set_item("it-hollow", i-1, line)
elseif c=="J" then
set_item("it-hill", i-1, line)
elseif c=="j" then
set_item("it-tinyhill", i-1, line)
elseif c == "1" then --ur
set_floor("fl-gradient", i-1, line, {type=11})
elseif c == "3" then --dl
set_floor("fl-gradient", i-1, line, {type=9})
elseif c == "7" then --dr
set_floor("fl-gradient", i-1, line, {type=12})
elseif c == "9" then --ul
set_floor("fl-gradient", i-1, line, {type=10})
elseif c == "4" then --dl
set_floor("fl-gradient", i-1, line, {type=4})
elseif c == "S" then
set_stone("st-bolder", i-1,line, {name="bolder1",direction=SOUTH})
elseif c == "R" then
set_stone("st-bolder", i-1,line, {name="bolder2",direction=EAST})
elseif c=="u" then
set_item("it-trigger", i-1,line, {action="callback", target="funcc1"})
elseif c=="r" then
set_item("it-trigger", i-1,line, {action="callback", target="funcc2"})
elseif c=="d" then
set_item("it-trigger", i-1,line, {action="callback", target="funcc3"})
elseif c=="l" then
set_item("it-trigger", i-1,line, {action="callback", target="funcc4"})
elseif c=="s" then
set_item("it-trigger", i-1,line, {action="callback", target="funcc5"})
elseif c=="e" then
set_item("it-trigger", i-1,line, {action="callback", target="funcc6"})
elseif c=="A" then
set_stone("st-switch", i-1,line, {action="openclose",target="door1"})
elseif c=="B" then
set_stone("st-switch", i-1,line, {action="callback",target="funcc7"})
elseif c=="C" then
set_stone("st-switch", i-1,line, {action="openclose",target="door2"})
elseif c=="F" then
set_stone("st-switch", i-1,line, {action="openclose",target="door3"})
elseif c=="a" then
doorh( i-1,line, {name="door1"})
elseif c=="c" then
doorh( i-1,line, {name="door2"})
elseif c=="f" then
doorh( i-1,line, {name="door3"})
elseif c=="y" then
set_actor("ac-whiteball", i-.5, line+1, {player=1})
elseif c=="L" then
oneway(i-1,line, enigma.WEST)
elseif c=="~" then
oneway(i-1,line, enigma.NORTH)
elseif c=="`" then
oneway(i-1,line, enigma.SOUTH)
elseif c =="X" then
set_stone( "st-rubberband", i-1, line,{strength=0})
elseif c=="w" then
yy1( "white", i-1, line)
end
end
end
function yy1( color, x, y)
stone = format( "st-%s4", color)
set_stone( stone, x, y)
end
-- Floor: " "
-- Border: "#"
-- Oxyd: "o"
renderLine(00,"####################################################################")
renderLine(01,"# #DDDDDDDDDDDDDDDDDD#C# #d# #")
renderLine(02,"# #D D# # #!# #")
renderLine(03,"# #D D# # #")
renderLine(04,"# #################D #DDDDDDDD# D#~# #c#####!## #############")
renderLine(05,"# D #D D D# #`#s !R!l#")
renderLine(06,"# J 31 D #D DA D######o #e l# # #")
renderLine(07,"# j 97 #D DDDDD#a#DDDDDD# #####!## ######")
renderLine(08,"# D J #D # # D#ooooooo# #")
renderLine(09,"# D 31 D #D D # D######### S #")
renderLine(10,"# J 97 J ####### D # jJJJJJJJj ##!#########")
renderLine(11,"# D J D # jJJJJJJJj # u #")
renderLine(12,"##########################################################")
oxyd_shuffle()
local actor0=set_actor("ac-blackball", 15.5,2.5,{player=0})
local actor1=set_actor("ac-whiteball-small", 14.5,2.5, {player=1})
local actor2=set_actor("ac-whiteball-small", 13.5,2.5, {player=1})
local actor3=set_actor("ac-whiteball-small", 12.5,2.5, {player=1})
local actor4=set_actor("ac-whiteball-small", 11.5,2.5, {player=1})
local actor5=set_actor("ac-whiteball-small", 10.5,2.5, {player=1})
local actor6=set_actor("ac-whiteball-small", 9.5,2.5, {player=1})
local actor7=set_actor("ac-whiteball-small", 8.5,2.5, {player=1})
local actor8=set_actor("ac-whiteball-small", 7.5,2.5, {player=1})
local actor9=set_actor("ac-whiteball-small", 6.5,2.5, {player=1})
local actor10=set_actor("ac-whiteball-small", 5.5,2.5, {player=1})
local actor11=set_actor("ac-whiteball-small", 4.5,2.5, {player=1})
rr=0
bolder1=enigma.GetNamedObject("bolder1")
bolder2=enigma.GetNamedObject("bolder2")
AddRubberBand(actor0, actor1, 50,0)
AddRubberBand(actor1, actor2, 50,0)
AddRubberBand(actor2, actor3, 50,0)
AddRubberBand(actor3, actor4, 50,0)
AddRubberBand(actor4, actor5, 50,0)
AddRubberBand(actor5, actor6, 50,0)
AddRubberBand(actor6, actor7, 50,0)
AddRubberBand(actor7, actor8, 50,0)
AddRubberBand(actor8, actor9, 50,0)
AddRubberBand(actor9, actor10, 50,0)
AddRubberBand(actor10, actor11, 50,0)
s1=0
e1=0
ss=0
ee=0
rr=0
function funcc1()
set_attribs(enigma.GetNamedObject("bolder1"), {direction=NORTH})
end
function funcc2()
set_attribs(enigma.GetNamedObject("bolder2"), {direction=EAST})
end
function funcc3()
set_attribs(enigma.GetNamedObject("bolder1"), {direction=SOUTH})
end
function funcc4()
set_attribs(enigma.GetNamedObject("bolder2"), {direction=WEST})
end
function funcc5()
if ss==0 then
if s1==0 then
set_attribs(enigma.GetNamedObject("bolder2"), {direction=SOUTH})
s1=1
elseif s1==1 then
set_attribs(enigma.GetNamedObject("bolder2"), {direction=EAST})
s1=0
end
ss=1
elseif ss==1 then
ss=0
end
end
function funcc6()
if ee==0 then
if e1==0 then
set_attribs(enigma.GetNamedObject("bolder2"), {direction=EAST})
e1=1
elseif e1==1 then
set_attribs(enigma.GetNamedObject("bolder2"), {direction=NORTH})
e1=0
end
ee=1
elseif ee==1 then
ee=0
end
end