<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<el:level xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://enigma-game.org/schema/level/1 level.xsd" xmlns:el="http://enigma-game.org/schema/level/1">
  <el:protected>
    <el:info el:type="level">
      <el:identity el:title="Pneumatic Delivery" el:subtitle="" el:id="malla01"/>
      <el:version el:score="2" el:release="2" el:revision="2" el:status="released"/>
      <el:author  el:name="Manuel König" el:email="" el:homepage=""/>
      <el:copyright>Copyright © 2004 Manuel König</el:copyright>
      <el:license el:type="GPL v2.0 or above" el:open="true"/>
      <el:compatibility el:enigma="0.92">
       <el:dependency el:path="lib/ant" el:id="lib/ant" el:release="1" el:preload="true"/>
      </el:compatibility>
      <el:modes el:easy="true" el:single="true" el:network="true"/>
      <el:comments>
        <el:code>Lua 5.1 and XML converted by Leveladministrators</el:code>
      </el:comments>
      <el:score el:easy="-" el:difficult="-"/>
    </el:info>
    <el:luamain><![CDATA[
multiplayer_mode()

world.DefineSimpleStone("st-c-invisible_grate","st-stone",1,0)
display.DefineAlias("st-c-invisible_grate","st-invisible")

cells={}
cells[" "]=cell{floor="fl-wood"}
cells["#"]=cell{stone="st-rock5"}
cells["A"]=cell{stone="st-black4"}
cells["a"]=cell{stone="st-white4"}
cells["B"]=cell{stone="st-mail-n"}
cells["b"]=cell{stone="st-mail-e"}
cells["C"]=cell{stone="st-mail-s"}
cells["c"]=cell{stone="st-turnstile", floor="fl-abyss"}
cells["D"]=cell{stone="st-turnstile-n", floor="fl-abyss"}
cells["d"]=cell{stone="st-turnstile-e", floor="fl-abyss"}
cells["E"]=cell{stone="st-turnstile-s", floor="fl-abyss"}
cells["e"]=cell{stone="st-turnstile-w", floor="fl-abyss"}
cells["F"]=cell{item="it-puller-n"}
cells["f"]=cell{item="it-puller-e"}
cells["G"]=cell{item="it-puller-s"}
cells["g"]=cell{item="it-puller-w"}
cells["H"]=cell{stone="st-stoneimpulse"}
cells["h"]=cell{stone={"st-fourswitch", {action="callback", target="mirrorswitch"}}}
cells["i"]=cell{stone="st-shogun-m"}
cells["I"]=cell{stone="st-shogun-l"}
cells["J"]=cell{stone="st-shogun-s", item={"it-shogun-l", {target="door2", action="openclose"}}}
cells["j"]=cell{stone="st-rotator_move-left"}
cells["K"]=cell{stone="st-knight"}
cells["k"]=cell{item={"it-document", {text="text1"}}}
cells["L"]=cell{stone={"st-laser-e", {name="laser", on=FALSE}}}
cells["l"]=cell{stone={"st-switch_white", {target="laser", on=FALSE, action="onoff"}}}
cells["m"]=cell{item="it-pipe-v"}
cells["M"]=cell{item="it-pipe-h"}
cells["N"]=cell{item="it-pipe-ne"}
cells["n"]=cell{item="it-pipe-sw"}
cells["Q"]=cell{stone={"st-laserswitch", {action="callback", target="lasertrigger1"}}}
cells["P"]=cell{item="it-hammer"}
cells["p"]=cell{stone="st-stone_break"}
cells["q"]=cell{stone={"st-laserswitch", {action="callback", target="lasertrigger2"}}}
cells["R"]=cell{stone={"st-laserswitch", {action="callback", target="lasertrigger3"}}}
cells["r"]=cell{stone={"st-laserswitch", {action="callback", target="lasertrigger4"}}}
cells["S"]=cell{stone={"st-door", {type="v", name="door2"}}}
cells["s"]=cell{stone={"st-door", {type="h", name="door3"}}}
cells["T"]=cell{stone={"st-door", {type="v", name="door1"}}}
cells["t"]=cell{stone={"st-pmirror", {movable=0, transparent=0, orientation=2}}}
cells["U"]=cell{stone={"st-pmirror", {movable=0, transparent=1, orientation=4}}}
cells["u"]=cell{stone={"st-3mirror", {movable=0, transparent=0, orientation=1}}}
cells["V"]=cell{stone={"st-3mirror", {movable=0, transparent=0, orientation=2}}}
cells["v"]=cell{stone={"st-pmirror", {movable=1, transparent=0, orientation=1}}}
cells["w"]=cell{item={"it-trigger", {action="callback", target="trigger1"}}}
cells["X"]=cell{stone="st-grate2"}
cells["x"]=cell{stone="st-grate3"}
cells["Y"]=cell{stone={"st-pmirror", {movable=0, transparent=0, orientation=4, name="mirror1"}}}
cells["y"]=cell{stone={"st-switch_black", {action="callback", target="stonedoor"}}}
cells["Z"]=cell{item={"it-trigger", {action="callback", target="trigger2"}}}
cells["z"]=cell{item={"it-trigger", {action="callback", target="trigger3"}}}
cells["*"]=cell{stone={"st-door_c", {name="door4"}}}
cells[","]=cell{floor="fl-water"}
cells["3"]=cell{stone="st-c-invisible_grate"}
puzzles2 = {}
cells["?"]=cell{parent={{add_multicell, puzzles2}}}

if difficult then
    cells["$"]=cells["?"]
end

if not difficult then
    level = {
    --            1         2         3
    --  012345678901234567890123456789012345678
        "#######################################",
        "# q      u  Q#    rxYx         #   #y #",
        "#            #     xxx     ## W wW ## #",
        "#L       U   X     x 1 v   # Wz Z#  TN#",
        "#            #  3$3A       # ### #  #k#",
        "# t      V  R#???? #       #     #  # #",
        "# ############ ?m? #B####C######C####0#",
        "#s## X #  ,, # ? ? #  #     ........###",
        "# f# J H     X ????# 2# D. ec.. . ecd##",
        "# ###H #i# # X3$3  #  #.c.. . .ec  .  #",
        "#F#M H   X #IX     a  D E #ecdc ...#  #",
        "#0h  S   X   #     #l0c ###.. EG ..## #",
        "#####################################0#"
    --  012345678901234567890123456789012345678
    --            1         2         3
    }
else
    level = {
    --             1         2         3
    --   012345678901234567890123456789012345678
        "#######################################",
        "# q      u  Q#    rxYx         #   #yM#",
        "#            #     xxx     ## W wW ##n#",
        "#L       U   X     x 1 v   # Wz Z#  Tm#",
        "#            #  3$3A   ##### ### #  #k#",
        "# t      V  R#???? #  Fb..##     #  #K#",
        "#p############ ?N? #B###ecd#####C####0#",
        "#s## X #  ,,I# ?m? #  #  . .........###",
        "#mf# J H  j  X ????# 2# D. ec.. . ecd##",
        "#G###H #i# # X3$3  #  ..c.. . .ec. .  #",
        "#F#MPH   X # X     a  D E #ecdc ...#  #",
        "#0hMNS   X   #     #l0c ###.. EG ..##K#",
        "#####################################0#"
    --   012345678901234567890123456789012345678
    --             1         2         3
    }
end

--        -- [STONE DOOR] --
stonedoorswitchgreen=0
function stonedoor()
    if (stonedoorswitchgreen==0) then
        stonedoorswitchgreen=1
        set_stone("st-grate2", 31,1)
    elseif (stonedoorswitchgreen==1) then
        stonedoorswitchgreen=0
        set_stone("st-rock5", 31,1)
    end
end
--        -- [/STONE DOOR] --

--        -- [THREE TRIGGERS] --
local switchesdoor1={0, 0, 0}
function trigger1 () triggerdoor1(1) end 
function trigger2 () triggerdoor1(2) end 
function trigger3 () triggerdoor1(3) end
doorsopen1=0

function triggerdoor1(num)
    switchesdoor1[num] = 1-switchesdoor1[num]
    alldoor1=1
    for x=1,3 do
        if (switchesdoor1[x]==0) then
        alldoor1 = 0
    end
    end
    if (doorsopen1==0 and alldoor1==1) then
        enigma.SendMessage(d1, "open", nil)
        doorsopen1 = 1
    elseif (doorsopen1==1 and alldoor1==0) then
        enigma.SendMessage(d1, "close", nil)
        doorsopen1 = 0
    end
end
--       -- [/THREE TRIGGERS] --

--        -- [FOURSWITCH] --
function mirrorswitch()
    mir=enigma.GetNamedObject("mirror1")
    enigma.SendMessage(mir, "turn", nil)
end
--       -- [/FOURSWITCH] --

--        -- [LASERSWITCHES] --
local switchesdoor3={0, 0, 0, 0}
function lasertrigger1 () triggerdoor3(1) end 
function lasertrigger2 () triggerdoor3(2) end 
function lasertrigger3 () triggerdoor3(3) end
function lasertrigger4 () triggerdoor3(4) end
doorsopen3=0

function triggerdoor3(num)
    switchesdoor3[num] = 1-switchesdoor3[num]
    allswitches3=1
    for x=1,4 do
        if (switchesdoor3[x]==0) then
        allswitches3 = 0
    end
    end
    if (doorsopen3==0 and allswitches3==1) then
        enigma.SendMessage(d3, "open", nil)
        doorsopen3 = 1
    elseif (doorsopen3==1 and allswitches3==0) then
        enigma.SendMessage(d3, "close", nil)
        doorsopen3 = 0
    end
end
--       -- [/LASERSWITCHES] --

oxyd_default_flavor = "d"
set_default_parent(cells[" "])
create_world_by_map(level)

--       --  [PUZZLE] --
function scramble(x,y,d) enigma.AddScramble(x,y,d) end
enigma.SetScrambleIntensity(50)
scramble(14,5,"e")
scramble(15,5,"s")
scramble(18,8,"w")
scramble(17,8,"n")
--       -- [/PUZZLE] --

d1=enigma.GetNamedObject("door1")
d3=enigma.GetNamedObject("door3")
render_puzzles(puzzles2, puzzle2)

fill_floor("fl-water", 14,5, 4, 1)
fill_floor("fl-water", 17,5, 1, 4)
set_floor("fl-water",18,8)

set_floor("fl-abyss",25,9)
set_floor("fl-abyss",25,10)
set_floor("fl-wood",27,8)
set_floor("fl-wood",34,8)
set_floor("fl-wood",36,8)

oxyd_shuffle()
    ]]></el:luamain>
    <el:i18n>
      <el:string el:key="title">
        <el:english el:translate="false"/>
      </el:string>
      <el:string el:key="text1">
        <el:english el:translate="true">This is my first landscape, dedicated to my father. I hope you'll enjoy it!</el:english>
      </el:string> 
    </el:i18n>
  </el:protected>
</el:level>
