enigma-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Enigma-devel] run of validity of world records


From: Ronald Lamprecht
Subject: Re: [Enigma-devel] run of validity of world records
Date: Wed, 29 Nov 2006 13:27:50 +0100
User-agent: Mozilla Thunderbird 1.0.7 (Windows/20050923)

Hi,

address@hidden wrote:
you're right the seeds are supposed to burn,
I already reported it to Ronald and Andreas Lochmann is going to fix
it.
Andreas, you are, aren't you?

The fixed trunk version is attached (ss09_1.xml).

We should be suspicious to levels who can be solved in a couple of
seconds. Either there's a shortcut the author diddn't realize or sthg.
has been changed in the engine so the level become easier.

Ciao
Sven Siggelkow

JS> I just completed "The Builder" in 4 seconds again, without hitting the
JS> top-left oxyd first.  Occasionally, if the fire burns a certain way,
JS> there's a path with no fire along one of the walls to the oxyd (for
JS> example if a burning square along the top wall ignites the square
JS> below it but not to its right).  If you match up the bottom two oxyds
JS> first, then the top-right and top-left, the level can be completed in
JS> 4 seconds.  Also, is it a bug that the fire won't burn the seeds, like
JS> it used to in earlier versions?  It makes the level very easy -- just
JS> wait on top of a seed, without picking it up, until the fire passes.

JS> Jacob

I just wrote a fix for the other shortcuts. The fire starts completly around the top-left oxyd and burns a little longer. If no one finds a shortcut and Sven aggrees we should take the attached ss09_2.xml - the score and release numbers are increased. (But it is still marked as "test", no scores will yet be recorded).

Ronald
<?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="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 = "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 - 2 do
    enigma.SetAttrib(enigma.GetFloor(x,y), "burnable", 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)
        end
    end  
end
--               01234567890123456789
renderLine(00 , "####################")
renderLine(01 , "#Of     #   #     O#")
renderLine(02 , "#f      ###    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 , "####################") 
--               01234567890123456789
    ]]></el:luamain>
    <el:i18n>
      <el:string el:key="title">
        <el:english el:translate="false"/>
      </el:string>
    </el:i18n>
  </el:protected>
</el:level>
<?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="1" el:status="test"/>
      <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, {loop = 1, 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>

reply via email to

[Prev in Thread] Current Thread [Next in Thread]