home *** CD-ROM | disk | FTP | other *** search
/ GameStar Special 2004 August / GSSH0804.iso / Geschicklichkeit / Enigma / Enigma-081.exe / data / levels / nat2.lua < prev    next >
Text File  |  2003-01-05  |  1KB  |  62 lines

  1. -- Duck and Cover
  2. -- A level for Enigma
  3. -- Copyright (c) 2002 Nat Pryce
  4. -- License: GPL v2.0 or above
  5.  
  6. create_world( 20, 13 )
  7. oxyd_default_flavor = "c"       -- Default flavor for oxyd stones.
  8.  
  9.  
  10. fill_floor( "fl-rough", 0,0, level_width, level_height )
  11. draw_border( "st-glass")    
  12. draw_stones( "st-glass", {2,1}, {0,1}, level_height-2 )
  13. draw_stones( "st-glass", {level_width-3,1}, {0,1}, level_height-2 )
  14.  
  15. lasers = {}
  16.  
  17. function next_laser_name()
  18.     return "laser" .. getn(lasers)
  19. end
  20.  
  21. function create_laser( x, y, dir )
  22.     name = next_laser_name()
  23.     set_stone( "st-laser", x, y, {on=TRUE, dir=dir, name=name} )
  24.     tinsert( lasers, name )
  25. end
  26.  
  27. for y = 1,level_height-2 do
  28.     create_laser( 1, y, EAST )
  29.     create_laser( level_width-2, y, WEST )
  30. end
  31.  
  32. set_stone( "st-brownie", 8, 6 )
  33. set_stone( "st-brownie", 11, 6 )
  34. set_stone( "st-brownie", 9, 4 )
  35. set_stone( "st-brownie", 10, 4 )
  36. set_stone( "st-brownie", 9, 8 )
  37. set_stone( "st-brownie", 10, 8 )
  38.  
  39.  
  40. function toggle_laser( name )
  41.     enigma.SendMessage( enigma.GetNamedObject(name), "onoff", nil )
  42. end
  43. function timer_handler()
  44.     for i = 1, getn(lasers) do
  45.         toggle_laser( lasers[i] )
  46.     end
  47. end
  48. set_stone( "st-timer", 0, 6,
  49.            {action="callback", target="timer_handler", interval=4} )
  50.  
  51.  
  52. for x = 4, 8, 2 do
  53.     oxyd( x, 0 )
  54.     oxyd( level_width-(x+1), 0 )
  55.     oxyd( x, level_height-1 )
  56.     oxyd( level_width-(x+1), level_height-1 )
  57. end
  58. oxyd_shuffle()
  59.  
  60. set_actor("ac-blackball", level_width/2.0, level_height/2.0, {player=0})
  61.  
  62.