home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
GameStar Special 2004 August
/
GSSH0804.iso
/
Geschicklichkeit
/
Enigma
/
Enigma-081.exe
/
data
/
levels
/
ss2.lua
< prev
next >
Wrap
Text File
|
2003-07-17
|
3KB
|
93 lines
-- Smutty Smurf 2003
levelw = 20
levelh = 13
create_world(levelw, levelh)
oxyd_default_flavor = "d" -- Default flavor for oxyd stones.
difficult = (options.Difficulty==2)
fill_floor("fl-sahara", 0,0, level_width,level_height)
function renderLine( line, pattern)
for i=1, strlen(pattern) do
local c = strsub( pattern, i, i)
if c == "G" then
set_stone("st-glass",i-1,line)
elseif c=="a" then
doorh( i-1,line, {name="door1"})
elseif c=="b" then
doorv( i-1,line, {name="door2"})
elseif c=="c" then
doorv( i-1,line, {name="door3"})
elseif c=="d" then
doorh( i-1,line, {name="door4"})
elseif c=="1" then
set_stone("st-fourswitch", i-1,line, {action="callback", target="s1"})
elseif c=="2" then
set_stone("st-fourswitch", i-1,line, {action="callback", target="s2"})
elseif c=="3" then
set_stone("st-fourswitch", i-1,line, {action="callback", target="s3"})
elseif c=="4" then
set_stone("st-fourswitch", i-1,line, {action="callback", target="s4"})
elseif c=="w" then
set_stone("st-bolder", i-1,line, {name="bolder1", direction=NORTH})
elseif c=="x" then
set_stone("st-bolder", i-1,line, {name="bolder2", direction=NORTH})
elseif c=="y" then
set_stone("st-bolder", i-1,line, {name="bolder3", direction=NORTH})
elseif c=="z" then
set_stone("st-bolder", i-1,line, {name="bolder4", direction=NORTH})
elseif c == "O" then
oxyd(i-1,line)
elseif c == "A" then
if difficult then
set_floor("fl-abyss",i-1,line)
end
elseif c == "B" then
set_actor("ac-blackball", i-.5,line+.5, {player=0})
set_item("it-yinyang",i,line+1)
elseif c == "W" then
set_actor("ac-whiteball", i-.5,line+.5, {player=1})
set_item("it-yinyang",i-1,line)
end
end
end
-- 01234567890123456789
renderLine(00, "G12GGGGGGGGGGGGGGGGG")
renderLine(01, "GB Gw xG")
renderLine(02, "G G G")
renderLine(03, "G34G G")
renderLine(04, "GGGG A G")
renderLine(05, "Gy A G")
renderLine(06, "G A G")
renderLine(07, "G A G G")
renderLine(08, "G A GGOGG")
renderLine(09, "G GGaGG")
renderLine(10, "G GObWcO")
renderLine(11, "G zGGdGG")
renderLine(12, "GGGGGGGGGGGGGGGGGOGG")
-- 01234567890123456789
set_item ("it-trigger", 7, 4, {action="openclose", target="door1"})
set_item ("it-trigger", 13, 4, {action="openclose", target="door2"})
set_item ("it-trigger", 5, 8, {action="openclose", target="door3"})
set_item ("it-trigger", 11, 8, {action="openclose", target="door4"})
hitcounter = { 0, 0, 0, 0 }
todir = { EAST, SOUTH, WEST, NORTH }
function sx(x)
local val = todir[hitcounter[x]+1]
enigma.SendMessage(enigma.GetNamedObject("bolder"..x), "direction", val)
hitcounter[x] = hitcounter[x]+1
if (hitcounter[x]==4) then
hitcounter[x] = 0
end
end
function s1() sx(1) end
function s2() sx(2) end
function s3() sx(3) end
function s4() sx(4) end
oxyd_shuffle()