-- -- A level for Enigma -- -- Copyright (c) 2003 Martin Hawlisch -- Licensed under the GPL version 2. enigma.ConserveLevel=FALSE -- \dh\ hitcounter = 0 function turnbolder( dir) -- ONLY UPON TRIGGER STEP-ON hitcounter = hitcounter +1 if (mod(hitcounter,2)==0) then return 0 end -- GET DIRECTION local bolder_dir=enigma.GetAttrib(enigma.GetNamedObject("bolder1"), "direction") -- SET NEW DIRECTION if dir == "left" then bolder_dir = bolder_dir -1 while (bolder_dir<0) do bolder_dir = bolder_dir +4 end else bolder_dir = bolder_dir +1 while (bolder_dir>3) do bolder_dir = bolder_dir -4 end end SendMessage("bolder1", "direction", bolder_dir) end function turnbolder1() turnbolder( "left") end function turnbolder2() turnbolder( "right") end create_world( 5*19+1, 5*12+1) draw_border("st-death") fill_floor( "fl-water") fill_floor( "fl-sand", 40, 25, 16, 11) fill_floor( "fl-water", 46, 29, 4, 3) fill_floor( "fl-sand", 19, 28, 6, 5) fill_floor( "fl-sand", 25, 29, 15, 3) fill_floor( "fl-sand", 9, 25, 10, 11) fill_floor( "fl-sand", 71, 28, 6, 5) fill_floor( "fl-sand", 56, 29, 15, 3) fill_floor( "fl-sand", 77, 25, 10, 11) fill_floor( "fl-sand", 46, 12, 4, 5) fill_floor( "fl-sand", 47, 17, 2, 8) fill_floor( "fl-sand", 41, 5, 14, 7) fill_floor( "fl-sand", 46, 44, 4, 5) fill_floor( "fl-sand", 47, 36, 2, 8) fill_floor( "fl-sand", 41, 49, 14, 7) set_item( "it-trigger", 48, 30, {action="callback", target="turnbolder2"}) set_item( "it-trigger", 47, 30, {action="callback", target="turnbolder1"}) set_item("it-magicwand", 43, 27) local st = set_stone("st-bolder", 13, 30, {name="bolder1", direction=2}) local ac = set_actor("ac-blackball", 11.5, 30.5) oxyd( 10,25) oxyd( 10,35) oxyd( 85,25) oxyd( 85,35) oxyd( 41, 6) oxyd( 54, 6) oxyd( 41,54) oxyd( 54,54) oxyd_shuffle() AddRubberBand( ac, st, 5, 2)