home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
GameStar Special 2004 August
/
GSSH0804.iso
/
Geschicklichkeit
/
Enigma
/
Enigma-081.exe
/
data
/
levels
/
nat6.lua
< prev
next >
Wrap
Text File
|
2003-01-05
|
3KB
|
112 lines
-- Twelve Doors
-- A public domain Sokoban level adapted for Enigma
--
-- Copyright (c) 2002 Nat Pryce
trigger_count = 0
function trigger( x, y )
door_id = "door"..trigger_count
trigger_count = trigger_count + 1
set_floor( "fl-rough", x, y )
set_item( "it-trigger", x, y, {target=door_id, action="openclose"} )
end
door_count = 0
function door( x, y )
id = "door"..door_count
door_count = door_count + 1
set_floor( "fl-rough", x, y )
doorh( x, y, {name=id} )
end
level = {
" ################# ",
" ###o##::::::::::::# ",
" #....#++++++++++++# ",
" #.a..#::::::::::::# ",
" #.aa.#::::::::::::# ",
" ##.a.###b######=### ",
" #,###..a.# #=# ",
" ##...b..a.# #=# ",
" #..a.#..a.# #=# ",
" ####.a..#....# #=# ",
" #s.#..a.#....# #=# ",
" #..@....#....# #=# ",
" ############## #=# ",
" #=# ",
" #=# ",
" #=# ",
" #x#=#x# ",
" x:::::x ",
" #:::::# ",
" x::^::x ",
" #:::::# ",
" x:::::x ",
" #x###x# ",
" ",
" ",
}
cells = {}
cells[" "] = function( x, y )
set_floor( "fl-leaves", x,y )
end
cells["#"] = function( x, y )
set_floor( "fl-leaves", x, y )
set_stone( "st-greenbrown", x, y )
end
cells["@"] = function( x, y )
set_floor( "fl-gray", x, y )
set_stone( "st-greenbrown_move", x, y )
end
cells["o"] = function( x, y )
set_floor( "fl-gray", x, y )
set_actor( "ac-blackball", x+0.5, y+0.5, {player=0} )
end
cells["x"] = function( x, y )
set_floor( "fl-gray", x, y )
oxyd(x,y)
end
cells["."] = function( x, y )
set_floor( "fl-gray", x, y )
end
cells["a"] = function( x, y )
set_floor( "fl-gray", x, y )
set_stone( "st-brownie", x, y )
end
cells[","] = function( x, y )
set_floor( "fl-normal", x, y )
end
cells["b"] = function( x, y )
set_floor( "fl-normal", x, y )
set_stone( "st-brownie", x, y )
end
cells[":"] = function( x, y )
set_floor( "fl-rough", x, y )
end
cells["+"] = trigger
cells["="] = door
cells["^"] = function( x, y )
set_floor( "fl-rough", x, y )
set_stone( "st-laser", x, y, {name="laser", dir=NORTH, on=1} )
end
cells["s"] = function( x, y )
set_floor( "fl-hay", x, y )
set_stone( "st-switch", x, y, {on=1,target="laser", action="onoff"} )
end
create_world( strlen(level[1]), getn(level) )
oxyd_default_flavor = "a"
for y,line in level do
for x = 1,strlen(line) do
cell = strchar(strbyte(line,x))
cells[cell]( x-1, y-1 )
end
end
oxyd_shuffle()