home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
GameStar Special 2004 August
/
GSSH0804.iso
/
Geschicklichkeit
/
Enigma
/
Enigma-081.exe
/
data
/
levels
/
ralf06.lua
< prev
next >
Wrap
Text File
|
2003-05-20
|
4KB
|
150 lines
-- A level for Enigma
-- Name: ZigZag
-- Filename: ralf06.lua
-- Copyright: (C) May 2003 Ralf Westram
-- Contact: amgine@reallysoft.de
-- License: GPL v2.0 or above
dofile(enigma.FindDataFile("levels/ralf.lua"))
--debug_mode()
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
level={
"iiiiiiiiiiiii@@@@@@@",
"iSi@@SSSSSSSi @@@@@",
"i@i @@SSSoSi !b! x",
"i@<+>^ @SSSii B@@@@@",
"i@ .+ @SSni@ !b! x",
"iS@@ v. @@SiiB @@@@@",
"iSSS@<+>^ @Si a!b!Xx",
"iSSS@ .+ @Si B@@@@@",
"iSsSS@@ v. @i ! ! x",
"iSSSSSS@<+>@i @@@@@",
"iSoSSSS@ i@i | | x",
"iSSSSSSS@@iSi @@@@@",
"iiiiiiiiiiiii@@@@@@@",
}
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
triggers = 0
function set_trigger(x,y)
triggers=triggers+1
set_item("it-trigger",x,y,{action="openclose", target="door"..triggers});
end
function set_two_triggers(x,y)
set_trigger(x,y)
set_trigger(x+1,y+1)
end
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
doors=0
function set_door(x,y,t,o)
doors=doors+1
set_stone("st-door",x,y,{name="door"..doors,type=t})
if (o==1) then
enigma.SendMessage(enigma.GetNamedObject("door"..doors),"open",0)
end
end
function set_doorvc(x,y) set_door(x,y,"v",0) end
function set_doorhc(x,y) set_door(x,y,"h",0) end
function set_doorvo(x,y) set_door(x,y,"v",1) end
function set_doorho(x,y) set_door(x,y,"h",1) end
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
function toggle0()
enigma.SendMessage(enigma.GetNamedObject("laser1"), "signal",0)
enigma.SendMessage(enigma.GetNamedObject("laser2"), "signal",0)
end
function toggle1()
enigma.KillStone(12,4);
set_stone("st-switch",12,4,{action="callback",target="toggle0"});
end
function toggle2()
xdoors(1,2)
xbridge(1,2)
end
function toggle3()
xdoors(3,4)
xbridge(3,4)
end
function toggle4()
xdoors(5,6)
xbridge(5,6)
end
function toggle5()
xdoors(7,8)
end
function xdoors(d1,d2)
enigma.SendMessage(enigma.GetNamedObject("door"..d1), "openclose",0)
enigma.SendMessage(enigma.GetNamedObject("door"..d2), "openclose",0)
end
function xbridge(b1,b2)
enigma.SendMessage(enigma.GetNamedObject("bridge"..b1), "openclose",0)
enigma.SendMessage(enigma.GetNamedObject("bridge"..b2), "openclose",0)
end
switches=0
function set_switch(x,y)
switches=switches+1
set_stone("st-switch",x,y,{action="callback",target="toggle"..switches})
end
bridges=0
function set_bridgec(x,y)
bridges=bridges+1
set_floor("fl-bridge",x,y,{name="bridge"..bridges})
end
function set_bridgeo(x,y)
set_bridgec(x,y)
enigma.SendMessage(enigma.GetNamedObject("bridge"..bridges), "openclose",0)
end
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
cells={}
cells["S"] = cell{floor="fl-space"}
cells[" "] = cell{floor="fl-inverse"}
cells["#"] = cell{parent=cells[" "],stone="st-rock6"}
cells["@"] = cell{parent=cells[" "],stone="st-glass"}
cells["a"] = cell{parent=cells[" "],actor={"ac-blackball", {player=0}}}
cells["A"] = cell{parent=cells[" "],actor={"ac-whiteball", {player=1}}}
cells["."] = cell{parent=cells[" "],actor={"ac-whiteball-small", {player=1}}}
cells["o"] = cell{oxyd}
cells["+"] = cell{parent=cells[" "],stone="st-turnstile-green"}
cells["^"] = cell{parent={cells[" "],set_two_triggers},stone="st-turnstile-n"}
cells["v"] = cell{parent=cells[" "],stone="st-turnstile-s"}
cells["<"] = cell{parent={cells[" "],set_two_triggers},stone="st-turnstile-w"}
cells[">"] = cell{parent=cells[" "],stone="st-turnstile-e"}
cells["i"] = cell{parent=cells[" "],stone="st-stoneimpulse"}
cells["I"] = cell{parent=cells["!"],stone="st-stoneimpulse_movable"}
cells["|"] = cell{parent={cells[" "],set_doorvc}}
cells["!"] = cell{parent={cells[" "],set_doorvo}}
cells["-"] = cell{parent={cells[" "],set_doorhc}}
cells["_"] = cell{parent={cells[" "],set_doorho}}
cells["x"] = cell{parent={cells[" "],set_switch}}
cells["n"] = cell{parent=cells[" "],stone={"st-laser", {on=FALSE, dir=NORTH, name="laser1"}}}
cells["s"] = cell{parent=cells[" "],stone={"st-laser", {on=FALSE, dir=SOUTH, name="laser2"}}}
cells["b"] = cell{parent={set_bridgec}}
cells["B"] = cell{parent={set_bridgeo}}
cells["X"] = cell{parent=cells[" "],item="it-extralife"}
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
rs_create_world(level,cells)
oxyd_shuffle()