<?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="Overshoot" el:subtitle="" el:id="ss2"/>
      <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="true" 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"       -- Default flavor for oxyd stones.

fill_floor("fl-sahara")
function renderLine( line, pattern)
    for i=1, strlen(pattern) do
      local c = strsub( pattern, i, i)
      if c ==     "G" then
         set_stone("st-glass",i-1,line)
      elseif c=="a" then
     doorh( i-1,line, {name="door1"})
      elseif c=="b" then
     doorv( i-1,line, {name="door2"})
      elseif c=="c" then
     doorv( i-1,line, {name="door3"})
      elseif c=="d" then
     doorh( i-1,line, {name="door4"})
      elseif c=="1" then
     set_stone("st-fourswitch", i-1,line, {action="callback", target="s1"})
      elseif c=="2" then
     set_stone("st-fourswitch", i-1,line, {action="callback", target="s2"})
      elseif c=="3" then
     set_stone("st-fourswitch", i-1,line, {action="callback", target="s3"})
      elseif c=="4" then
     set_stone("st-fourswitch", i-1,line, {action="callback", target="s4"})
      elseif c=="w" then
          set_stone("st-bolder-n", i-1,line, {name="bolder1"})
      elseif c=="x" then
          set_stone("st-bolder-n", i-1,line, {name="bolder2"})
      elseif c=="y" then
     set_stone("st-bolder-n", i-1,line, {name="bolder3"})
      elseif c=="z" then
     set_stone("st-bolder-n", i-1,line, {name="bolder4"})
      elseif c == "O" then
         oxyd(i-1,line)
      elseif c == "A" then
         if difficult then
            set_floor("fl-abyss",i-1,line)
         end
      elseif c == "B" then
         set_actor("ac-blackball", i-.5,line+.5)
         set_item("it-yinyang",i,line+1)
      elseif c == "W" then
         set_actor("ac-whiteball", i-.5,line+.5)
         set_item("it-yinyang",i-1,line)
        end
    end
end
--              01234567890123456789
renderLine(00, "G12GGGGGGGGGGGGGGGGG")
renderLine(01, "GB Gw             xG")
renderLine(02, "G  G               G")
renderLine(03, "G34G               G")
renderLine(04, "GGGG       A       G")
renderLine(05, "Gy        A        G")
renderLine(06, "G        A         G")
renderLine(07, "G       A        G G")
renderLine(08, "G      A       GGOGG")
renderLine(09, "G              GGaGG")
renderLine(10, "G             GObWcO")
renderLine(11, "G             zGGdGG")
renderLine(12, "GGGGGGGGGGGGGGGGGOGG")
--              01234567890123456789

set_item ("it-trigger", 7, 4, {action="openclose", target="door1"})
set_item ("it-trigger", 13, 4, {action="openclose", target="door2"})
set_item ("it-trigger", 5, 8, {action="openclose", target="door3"})
set_item ("it-trigger", 11, 8, {action="openclose", target="door4"})

hitcounter = { 0, 0, 0, 0 }
todir = { EAST, SOUTH, WEST, NORTH }

function sx(x)
   local val = todir[hitcounter[x]+1]
   SendMessage("bolder"..x, "direction", val)
   hitcounter[x] = hitcounter[x]+1
   if (hitcounter[x]==4) then
      hitcounter[x] = 0
   end
end

function s1() sx(1) end
function s2() sx(2) end
function s3() sx(3) end
function s4() sx(4) end

oxyd_shuffle()
    ]]></el:luamain>
    <el:i18n>
      <el:string el:key="title">
        <el:english el:translate="false"/>
      </el:string>
    </el:i18n>
  </el:protected>
</el:level>
