-- Sven Siggelkow 2003 -- Thanks to Thomas Schmalz levelw = 20 levelh = 13 create_world(levelw, levelh) fill_floor("fl-dunes") function renderLine( line, pattern) for i=1, strlen(pattern) do local c = strsub( pattern, i, i) if c == "#" then set_stone("st-greenbrown",i-1,line) elseif c=="D" then set_stone("st-death",i-1,line) elseif c=="p" then set_stone("st-door_a",i-1,line) elseif c=="|" then set_stone("st-greenbrown_hole",i-1,line) if (options.Difficulty==1) then -- easy set_stone("st-grate2",i-1,line) else -- hard set_stone("st-greenbrown_hole",i-1,line) end set_floor("fl-gradient", i-1, line, {type=1}) elseif c=="a" then if (options.Difficulty==1) then -- easy set_stone("st-grate2",i-1,line) else -- hard set_stone("st-greenbrown_hole",i-1,line) end hollow(i-1,line, {name="hollow1"}) elseif c=="b" then if (options.Difficulty==1) then -- easy set_stone("st-grate2",i-1,line) else -- hard set_stone("st-greenbrown_hole",i-1,line) end hollow(i-1,line, {name="hollow2"}) elseif c=="c" then if (options.Difficulty==1) then -- easy set_stone("st-grate2",i-1,line) else -- hard set_stone("st-greenbrown_hole",i-1,line) end hollow(i-1,line, {name="hollow3"}) elseif c=="d" then if (options.Difficulty==1) then -- easy set_stone("st-grate2",i-1,line) else -- hard set_stone("st-greenbrown_hole",i-1,line) end hollow(i-1,line, {name="hollow4"}) elseif c=="e" then set_stone("st-door_a", i-1,line, {name="door1", type="v"}) elseif c=="f" then set_stone("st-door_a", i-1,line, {name="door2", type="v"}) elseif c=="g" then set_stone("st-door_a", i-1,line, {name="door3", type="v"}) elseif c=="h" then set_stone("st-door_a", i-1,line, {name="door4", type="v"}) elseif c=="1" then set_stone("st-switch",i-1,line, {action="callback", target="s1"}) elseif c=="2" then set_stone("st-switch",i-1,line, {action="callback", target="s2"}) elseif c=="3" then set_stone("st-switch",i-1,line, {action="callback", target="s3"}) elseif c=="4" then set_stone("st-switch",i-1,line, {action="callback", target="s4"}) elseif c=="W" then set_stone("st-timer",i-1,line, {action="openclose", target="door1"}) elseif c=="X" then set_stone("st-timer",i-1,line, {action="openclose", target="door2"}) elseif c=="Y" then set_stone("st-timer",i-1,line, {action="openclose", target="door3"}) elseif c=="Z" then set_stone("st-timer",i-1,line, {action="openclose", target="door4"}) elseif c=="5" then set_stone("st-fourswitch",i-1,line, {name="switch1", action="openclose", target="door1"}) elseif c=="6" then set_stone("st-fourswitch",i-1,line, {name="switch2", action="openclose", target="door2"}) elseif c=="7" then set_stone("st-fourswitch",i-1,line, {name="switch3", action="openclose", target="door3"}) elseif c=="8" then set_stone("st-fourswitch",i-1,line, {name="switch4", action="openclose", target="door4"}) elseif c=="x" then set_actor("ac-whiteball-small", i,line+.5, {player=0}) end end end -- 01234567890123456789 renderLine(00, "####W#56#XY#78#Z####") renderLine(01, "# #") renderLine(02, "# x x x x #") renderLine(03, "# #") renderLine(04, "# #") renderLine(05, "# pepfp pgphp #") renderLine(06, "# p|p|p p|p|p #") renderLine(07, "# p|p|p p|p|p #") renderLine(08, "# p|p|p p|p|p #") renderLine(09, "# p|p|p p|p|p #") renderLine(10, "# p|p|p p|p|p #") renderLine(11, "# pcpdp papbp #") renderLine(12, "#DDD#1#2#DD#3#4#DDD#") -- 01234567890123456789 local s={0, 0, 0, 0} function s1() %s[1] = 1-%s[1] if (%s[1] == 1) then set_item("it-hill",12,11) else set_item("it-hollow",12,11) end end function s2() %s[2] = 1-%s[2] if (%s[2] == 1) then set_item("it-hill",14,11) else set_item("it-hollow",14,11) end end function s3() %s[3] = 1-%s[3] if (%s[3] == 1) then set_item("it-hill",5,11) else set_item("it-hollow",5,11) end end function s4() %s[4] = 1-%s[4] if (%s[4] == 1) then set_item("it-hill",7,11) else set_item("it-hollow",7,11) end end