<?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="esprit 94" el:subtitle="esprit 94" el:id="ss_esp94"/>
      <el:version el:score="1" el:release="1" el:revision="0" el:status="released"/>
      <el:author  el:name="Sven Siggelkow" el:email="" el:homepage=""/>
      <el:copyright>Copyright © 2003 Sven Siggelkow</el:copyright>
      <el:license el:type="GPL v2.0 or above" el:open="true"/>
      <el:compatibility el:enigma="0.92">
      </el:compatibility>
      <el:modes el:easy="false" el:single="true" el:network="false"/>
      <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[
levelw = 20
levelh = 13

create_world(levelw, levelh)
oxyd_default_flavor = "d"
set_actor("ac-blackball", 9.5,6.5)

fill_floor("fl-samba", 0,0, levelw,levelh)

function renderLine( line, pattern)
    for i=1, strlen(pattern) do
      local c = strsub( pattern, i, i)
      if c ==   "#" then
         set_stone("st-rock1", i-1,line)
      elseif c ==">" then
         set_stone("st-oneway_black-e",i-1,line)
         set_item("it-blocker", i-1,line)   -- to prevent placing a seed
      elseif c =="<" then
         set_stone("st-oneway_black-w",i-1,line)
         set_item("it-blocker", i-1,line)
      elseif c =="x" then
         set_stone("st-rock1_move", i-1,line)
         set_item("it-seed", i-1,line)         
      elseif c =="a" then
         set_item("it-trigger", i-1,line, {invisible=1,action="callback", target="s1"})
      elseif c =="b" then
         set_item("it-trigger", i-1,line, {invisible=1,action="callback", target="s2"})
      elseif c =="c" then
         set_item("it-trigger", i-1,line, {invisible=1,action="callback", target="s3"})
      elseif c =="d" then
         set_item("it-trigger", i-1,line, {invisible=1,action="callback", target="s4"})
      elseif c =="e" then
         set_item("it-trigger", i-1,line, {invisible=1,action="callback", target="s5"})
      elseif c =="f" then
         set_item("it-trigger", i-1,line, {invisible=1,action="callback", target="s6"})
      elseif c =="g" then
         set_item("it-trigger", i-1,line, {invisible=1,action="callback", target="s7"})
      elseif c =="h" then
         set_item("it-trigger", i-1,line, {invisible=1,action="callback", target="s8"})
      elseif c =="i" then
         set_item("it-trigger", i-1,line, {invisible=1,action="callback", target="s9"})
      elseif c =="j" then
         set_item("it-trigger", i-1,line, {invisible=1,action="callback", target="s10"})
      elseif c =="k" then
         set_item("it-trigger", i-1,line, {invisible=1,action="callback", target="s11"})
      elseif c =="l" then
         set_item("it-trigger", i-1,line, {invisible=1,action="callback", target="s12"})
      elseif c =="w" then                                                               
         set_item("it-wormhole",i-1,line, {name="warp",targetx="2.5",targety="3.5",strength=0})
      elseif c=="O" then                                                               
     oxyd(i-1,line) 
        end
    end  
end
--               01234567890123456789
renderLine(00 , "####################")
renderLine(01 , "#     >      <     #")
renderLine(02 , "O     >      <     O")
renderLine(03 , "# axg >      < dxj #")
renderLine(04 , "#######      #######")  
renderLine(05 , "#     >      <     #")
renderLine(06 , "O     >   w  <     O")
renderLine(07 , "# bxh >      < exk #")
renderLine(08 , "#######      #######")
renderLine(09 , "#     >      <     #")
renderLine(10 , "O     >      <     O")
renderLine(11 , "# cxi >      < fxl #")
renderLine(12 , "####################") 
--               01234567890123456789

function s1() s(1) end
function s2() s(2) end
function s3() s(3) end
function s4() s(4) end
function s5() s(5) end
function s6() s(6) end
function s7() s(7) end
function s8() s(8) end
function s9() s(9) end
function s10() s(10) end
function s11() s(11) end
function s12() s(12) end

local flags = {0,0,0,0,0,0,0,0,0,0,0,0}
x = 2.5
y = 3.5


function s(num)
flags[num]=1-flags[num]
status=0
for i=1,12 do
  status = status + flags[i]*(2^i)
  end
if     status == 0 then
    xalt = x
    yalt = y
    x = 2.5 
    y = 3.5
elseif status == 2 then
    xalt = x
    yalt = y
    x = 2.5 
    y = 7.5
elseif status == 6 then
    xalt = x
    yalt = y
    x = 2.5 
    y = 11.5
elseif status == 14 then
    xalt = x
    yalt = y
    x = 15.5 
    y = 3.5
elseif status == 30 then
    xalt = x
    yalt = y
    x = 15.5 
    y = 7.5
elseif status == 62 then
    xalt = x
    yalt = y
    x = 15.5 
    y = 11.5
elseif status == 126 then
    xalt = x
    yalt = y
    x = 4.5 
    y = 3.5
elseif status == 254 then
    xalt = x
    yalt = y
    x = 4.5 
    y = 7.5
elseif status == 510 then
    xalt = x
    yalt = y
    x = 4.5 
    y = 11.5
elseif status == 1022 then
    xalt = x
    yalt = y
    x = 17.5 
    y = 3.5
elseif status == 2046 then
    xalt = x
    yalt = y
    x = 17.5 
    y = 7.5
elseif status == 4094 then
    xalt = x
    yalt = y
    x = 17.5 
    y = 11.5
elseif status == 8190 then
    xalt = x
    yalt = y
    x = 2.5 
    y = 1.5
    document(2,1,"text1") 
else
    x=xalt
    y=yalt    
end    
set_attribs(enigma.GetNamedObject("warp"), {targetx=x, targety=y})
end
    ]]></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">If you haven't won, you've lost!</el:english>
      </el:string> 
    </el:i18n>
  </el:protected>
</el:level>
