home *** CD-ROM | disk | FTP | other *** search
/ GameStar Special 2004 August / GSSH0804.iso / Geschicklichkeit / Enigma / Enigma-081.exe / data / levels / nat3.lua < prev    next >
Text File  |  2003-09-21  |  2KB  |  81 lines

  1. -- Knock Knock!
  2. -- A level for Enigma
  3. -- Copyright (c) 2002 Nat Pryce
  4. -- License: GPL v2.0 or above
  5.  
  6.  
  7. function send_message( obj_name, message )
  8.     obj = enigma.GetNamedObject( obj_name )
  9.     enigma.SendMessage( obj, message, nil )
  10. end
  11.  
  12. function noop()
  13.     -- do nothing
  14. end
  15.  
  16. function trigger( x, y )
  17.     set_item( "it-trigger", x, y, {target="callback",action="idle"}  )
  18. end
  19.  
  20. -- An island with a sandy beach
  21.  
  22. create_world(20,13)
  23. fill_floor( "fl-water", 0, 0, level_width, level_height )
  24. fill_floor( "fl-sand", 1, 1, level_width-2, level_height-2 )
  25. fill_floor( "fl-leaves", 2, 2, level_width-4, level_height-4 )
  26. fill_floor( "fl-gray", 10,3, 7, 7 )
  27.  
  28.  
  29. -- A castle on the east side of the island
  30.  
  31. function toggle_door( toggle_on )
  32.     if toggle_on == 1 then
  33.         send_message( "door", "close" )
  34.     else
  35.         send_message( "door", "open" )
  36.     end
  37. end
  38.  
  39. draw_stones( "st-greenbrown", {11,3},  {1,0}, 5 )
  40. draw_stones( "st-greenbrown", {11,9}, {1,0}, 5 )
  41. set_stone( "st-greenbrown", 10, 4 )
  42. set_stone( "st-greenbrown", 10, 5 )
  43. doorv( 10, 6, {name="door"} )
  44. set_stone( "st-greenbrown", 10, 7 )
  45. set_stone( "st-greenbrown", 10, 8 )
  46. draw_stones( "st-greenbrown", {16,4}, {0,1}, 5 )
  47. y = random(5,7)
  48. set_item( "it-trigger", 16, y, {action="callback",target="toggle_door"} )
  49. set_stone( "st-greenbrown_move", 16, y )
  50.  
  51. oxyd_default_flavor = "a"       -- Default flavor for oxyd stones.
  52. oxyd(10,3)
  53. oxyd(11,4)
  54. oxyd(16,3)
  55. oxyd(15,4)
  56. oxyd(10,9)
  57. oxyd(11,8)
  58. oxyd(16,9)
  59. oxyd(15,8)
  60.  
  61.  
  62. -- The puzzle to open the front door.
  63.  
  64. trigger(4,4)
  65. trigger(5,5)
  66. trigger(7,7)
  67. trigger(8,8)
  68. trigger(8,4)
  69. trigger(7,5)
  70. trigger(5,7)
  71. trigger(4,8)
  72.  
  73. set_stone( "st-brownie", 3, 6 )
  74. set_stone( "st-brownie", 6, 3 )
  75. set_stone( "st-brownie", 6, 9 )
  76. set_stone( "st-brownie", 9, 6 )
  77.  
  78.  
  79. set_actor("ac-blackball", 6.5, 6.5, {player=0})
  80.  
  81.