home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
GameStar Special 2004 August
/
GSSH0804.iso
/
Geschicklichkeit
/
Enigma
/
Enigma-081.exe
/
data
/
levels
/
ant20.lua
< prev
next >
Wrap
Text File
|
2003-04-13
|
2KB
|
76 lines
-- Come To Me -- the Enigma Level
-- (c) 2003 Petr Machata/ant_39
-- Licensed under GPL v2.0 or above
-- 2003-01-24
-- 2003-02-09 -- fixes in object groups
-- 2003-02-10 -- change in interfacing parent functions in ant.lua, rubber band changed
-- 2003-02-20 -- rewrite
-- 2003-03-25 -- using slope generator
dofile(enigma.FindDataFile("levels/ant.lua"))
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
num = 0
function switchcell(x, y, boundwith, tgt)
num = num +1
local fname = "switchfunc"..num
local func0 = function()
kill_stone(%x, %y)
local obj = {set_stone("st-death", %x, %y, {})}
add_rubber_bands(%boundwith, obj, 16, 0)
send_group_message(%tgt, "open")
end
setglobal(fname, func0)
switch(x, y, fname, "callback")
end
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
cells={}
cells["_"]=cell{floor="fl-normal"}
cells[" "]=cell{floor="fl-sand"}
cells["#"]=cell{stone="st-rock2"}
slopes={}
pivots={}
cells["*"]=cell{{{add_multicell, slopes, -1}}}
cells["%"]=cell{{{add_multicell, slopes, 1}}}
cells["&"]=cell{{{add_multicell, pivots, slopes}}}
actors = {}
cells["O"]=cell{{{add_multiactor, "ac-blackball", actors, {player=0}}}}
doors = {}
cells["b"]=cell{{cells["_"],{add_multistone, "st-door_b", doors, {type="v"}}}}
cells["B"]=cell{{cells["_"],{switchcell, actors, doors}}}
cells["0"]=oxyd
level = {
"#0################0#",
"0b****************b0",
"#** **#",
"#* O *#",
"#* _____ *#",
"#* _%%%_ *#",
"#* _%B%_ *#",
"#* _%%%_ & *#",
"#* _____ *#",
"#* *#",
"#** **#",
"0b****************b0",
"#0################0#"
}
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
set_default_parent(cells[" "])
create_world_by_map(level)
spread_tag(pivots)
render_slopes(slopes)
oxyd_shuffle()