<?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="The Builder" el:subtitle="" el:id="ss9"/>
      <el:version el:score="2" el:release="2" el:revision="3" 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="1.00">
      </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
          1.00 fire system adaption by Andreas Lochmann
          Shortcut fixing by Ronald Lamprecht
        </el:code>
      </el:comments>
      <el:score el:easy="-" el:difficult="-"/>
    </el:info>
    <el:luamain><![CDATA[
levelw = 20
levelh = 14

create_world(levelw, levelh)
oxyd_default_flavor = "a"
set_actor("ac-blackball", 8.5,6.5)
enigma.ConserveLevel=FALSE

fill_floor("fl-himalaya", 0,0, levelw,levelh)
fill_floor("fl-leaves", 14,7, 4,3)
fill_items("it-burnable", 1, 1, 18, 11)
enigma.KillItem(16,7)
enigma.KillItem(17,8)
enigma.KillItem(16,9)

for x = 1, levelw - 2 do
  for y = 1, levelh - 3 do
    enigma.SetAttrib(enigma.GetFloor(x,y), "burnable", TRUE)
    enigma.SetAttrib(enigma.GetFloor(x,y), "eternal", TRUE)
  end
end

function renderLine( line, pattern)
    for i=1, strlen(pattern) do
      local c = strsub( pattern, i, i)
      if c ==   "#" then
         set_stone("st-wood", i-1,line)
      elseif c =="P" then
         set_stone("st-pull", i-1,line)
      elseif c =="f" then
         set_item("it-burnable_ignited", i-1,line)
      elseif c=="O" then                                                               
         oxyd(i-1,line) 
      elseif c=="." then
         set_item("it-seed", i-1,line) 
      elseif c=="o" then
         set_item("it-seed_nowood", i-1,line)
      elseif c=="T" then
         set_stone("st-timer", i-1,line, {interval = 1, action="callback", target="end_fire"})
      end
    end  
end

fire_time = 0
function end_fire()
  fire_time = fire_time + 1
  for x = 1, levelw - 2 do
    for y = 1, levelh - 3 do
      if x < fire_time * 0.9 - 3 and y < fire_time * 0.9 - 3 then
        enigma.SetAttrib(enigma.GetFloor(x,y), "eternal", FALSE)
      end
    end
  end
end

--               01234567890123456789
renderLine(00 , "####################")
renderLine(01 , "#Of     #   #     O#")
renderLine(02 , "#ff     ###    o   #")
renderLine(03 , "#  #  o       P    #")
renderLine(04 , "#                  #")  
renderLine(05 , "#      #           #")
renderLine(06 , "#               #. #")
renderLine(07 , "#      .    .      #")
renderLine(08 , "#           P      #")
renderLine(09 , "#       #          #")
renderLine(10 , "#       o .   #  o #")
renderLine(11 , "#O               .O#")
renderLine(12 , "####################") 
renderLine(13 , "T###################") 
--               01234567890123456789
    ]]></el:luamain>
    <el:i18n>
      <el:string el:key="title">
        <el:english el:translate="false"/>
      </el:string>
    </el:i18n>
  </el:protected>
</el:level>
