<?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 96" el:subtitle="esprit 96" el:id="ss_esp96"/>
      <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 = 39
levelh = 25
create_world(levelw, levelh)
oxyd_default_flavor = "b"
set_actor("ac-blackball", 28.5,19.5)
fill_floor("fl-abyss",0,0,levelw,levelh)
fill_floor("fl-normal",0,0,20,13)

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_floor("fl-wood", i-1,line)
      elseif c=="." then
         set_item("it-tinyhill",i-1,line)
         set_floor("fl-wood", i-1,line)      
      elseif c=="o" then
         set_item("it-tinyhollow",i-1,line)
         set_floor("fl-wood", i-1,line)       
      elseif c=="*" then
         set_item("it-hill",i-1,line)
         set_floor("fl-wood", i-1,line)      
      elseif c=="0" then
         set_item("it-hollow",i-1,line)
         set_floor("fl-wood", i-1,line)   
      elseif c=="f" then
         set_item("it-flagblack",i-1,line)   
         set_floor("fl-wood", i-1,line)          
      elseif c=="P" then
         set_item("it-coffee",i-1,line) 
         set_floor("fl-wood", i-1,line)      
      elseif c=="V" then
         set_item("it-wormhole",i-1,line,{targetx=18.5,targety=2.5,strength=0}) 
         set_floor("fl-wood", i-1,line)                           
      elseif c=="k" then
         set_stone("st-blocker",i-1,line,{name="blocker"}) 
         set_floor("fl-wood", i-1,line)             
      elseif c=="h" then
         set_stone("st-rock1_hole",i-1,line) 
         set_floor("fl-wood", i-1,line)         
      elseif c=="W" then
         set_stone("st-door_c", i-1,line,{name="doorw"}) 
         set_item("it-spade",i-1,line)
         set_floor("fl-normal", i-1,line)       
      elseif c=="X" then
         set_stone("st-door_c", i-1,line,{name="doorx"}) 
         document(i-1,line,"text1")
         set_floor("fl-normal", i-1,line)   
      elseif c=="Y" then
         set_stone("st-door_c", i-1,line,{name="doory"}) 
         set_item("it-key_a",i-1,line)
         set_floor("fl-normal", i-1,line)   
      elseif c=="Z" then
         set_stone("st-door_c", i-1,line,{name="doorz"}) 
         set_item("it-coffee",i-1,line)
         set_floor("fl-normal", i-1,line)      
      elseif c=="K" then
         set_stone("st-key_a",i-1,line, {action="openclose", target="blocker"}) 
      elseif c == "w" then
         set_stone("st-timeswitch",i-1,line, {action="callback", target="s1"})
      elseif c == "x" then
         set_stone("st-timeswitch",i-1,line, {action="callback", target="s2"})
      elseif c == "y" then
         set_stone("st-timeswitch",i-1,line, {action="callback", target="s3"})
      elseif c == "z" then
         set_stone("st-timeswitch",i-1,line, {action="callback", target="s4"})         
      elseif c == "D" then
         set_stone("st-death",i-1,line)
      elseif c == "S" then
         set_floor("fl-swamp",i-1,line)         
      elseif c == "F" then
         set_stone("st-fourswitch",i-1,line)         
      elseif c=="1" then
     set_floor("fl-gradient",  i-1,  line, {type=3})         
      elseif c=="2" then
     set_floor("fl-gradient",  i-1,  line, {type=4})   
      elseif c=="3" then
     set_floor("fl-gradient",  i-1,  line, {type=1})   
      elseif c=="4" then
     set_floor("fl-gradient",  i-1,  line, {type=2})         
      elseif c=="a" then
         set_floor("fl-gradient",  i-1,  line, {type=12})   
      elseif c=="b" then
         set_floor("fl-gradient",  i-1,  line, {type=10})         
      elseif c=="c" then
         set_floor("fl-gradient",  i-1,  line, {type=11})   
      elseif c=="d" then
         set_floor("fl-gradient",  i-1,  line, {type=9})   
      elseif c=="O" then
     oxyd(i-1,line)         
        end
    end  
end
--               012345678901234567890123456789012345678
renderLine(00 , "#######################################")
renderLine(01 , "#                  #                  #")
renderLine(02 , "#  X  W  Y  Z   K  # F  V---o--o- --- #")
renderLine(03 , "#                  #            - - o #")
renderLine(04 , "#                  k--o-**0o-o  --o - #")  
renderLine(05 , "#                  #         0      o #")
renderLine(06 , "#                  #         oP--   - #")
renderLine(07 , "#    z             #       ---  --o-- #")
renderLine(08 , "#                  #       o          #")
renderLine(09 , "#  x   y           #       .-o        #")
renderLine(10 , "#                  #         f        #")
renderLine(11 , "#    w             #        -o        #")
renderLine(12 , "#DDDDDDDDDDDDDDDDDD#########h##########") 
                                                        
renderLine(13 , "Da4444444444444444b#0       -         #")
renderLine(14 , "D2O44444444444444O1#0       - ----    #")
renderLine(15 , "D22a444444444444b11#0       - .  -    #")
renderLine(16 , "D222a4444444444b111h0   ----- -  -    #")
renderLine(17 , "D2222a44444444b1111#0   .     .  -    #")  
renderLine(18 , "D22222SSSSSSSS11111#0   -     -  -    #")
renderLine(19 , "D2222c33333333d1111#0   ------.  -    #")
renderLine(20 , "D222c3333333333d111#0            .-.- #")
renderLine(21 , "D22c333333333333d11#0               - #")
renderLine(22 , "D2O33333333333333O1#00000000--.--o--- #")
renderLine(23 , "Dc3333333333333333d#0                 #")
renderLine(24 , "#DDDDDDDDDDDDDDDDDD####################")
--               012345678901234567890123456789012345678
                               
function s1() sx(1) end                               
function s2() sx(2) end 
function s3() sx(3) end 
function s4() sx(4) end                               

local flag = {0,0,0,0,}
x = 0

function sx(num)
    flag[num] = 1-flag[num]
    if (flag[1]+flag[2]+flag[3]+flag[4]==4) then
        -- open, if all timeswitches are on   
        x = x+1
        if x == 5 then x = 1 end
        SendMessage("doorw", "close") 
        SendMessage("doorx", "close")
        SendMessage("doory", "close")
        SendMessage("doorz", "close")
        if x == 1 then
            SendMessage("doorw", "open") 
        elseif x == 2 then
            SendMessage("doorx", "open")
        elseif x == 3 then
            SendMessage("doory", "open")
        elseif x == 4 then
            SendMessage("doorz", "open")
        end          
    end
end
                               
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">It's easier with a shovel!</el:english>
      </el:string> 
    </el:i18n>
  </el:protected>
</el:level>
