-- Come To Me -- the Enigma Level -- (c) 2003 Petr Machata/ant_39 -- Licensed under GPL v2.0 or above -- 2003-01-24 -- 2003-02-09 -- fixes in object groups -- 2003-02-10 -- change in interfacing parent functions in ant.lua, rubber band changed -- 2003-02-20 -- rewrite -- 2003-03-25 -- using slope generator dofile(enigma.FindDataFile("levels/ant.lua")) -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- num = 0 function switchcell(x, y, boundwith, tgt) num = num +1 local fname = "switchfunc"..num local func0 = function() kill_stone(%x, %y) local obj = {set_stone("st-death", %x, %y, {})} add_rubber_bands(%boundwith, obj, 16, 0) send_group_message(%tgt, "open") end setglobal(fname, func0) switch(x, y, fname, "callback") end -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- cells={} cells["_"]=cell{floor="fl-normal"} cells[" "]=cell{floor="fl-sand"} cells["#"]=cell{stone="st-rock2"} slopes={} pivots={} cells["*"]=cell{{{add_multicell, slopes, -1}}} cells["%"]=cell{{{add_multicell, slopes, 1}}} cells["&"]=cell{{{add_multicell, pivots, slopes}}} actors = {} cells["O"]=cell{{{add_multiactor, "ac-blackball", actors, {player=0}}}} doors = {} cells["b"]=cell{{cells["_"],{add_multistone, "st-door_b", doors, {type="v"}}}} cells["B"]=cell{{cells["_"],{switchcell, actors, doors}}} cells["0"]=oxyd level = { "#0################0#", "0b****************b0", "#** **#", "#* O *#", "#* _____ *#", "#* _%%%_ *#", "#* _%B%_ *#", "#* _%%%_ & *#", "#* _____ *#", "#* *#", "#** **#", "0b****************b0", "#0################0#" } -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- set_default_parent(cells[" "]) create_world_by_map(level) spread_tag(pivots) render_slopes(slopes) oxyd_shuffle()