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

  1. -- Sven Siggelkow 2003
  2. -- ESPRIT #037
  3. -- change rotor with spermbird, if implemented
  4. -- trigger is destroyed by cluster explosion
  5.  
  6. levelw = 20
  7. levelh = 25
  8. create_world(levelw, levelh)
  9. oxyd_default_flavor = "c"       -- Default flavor for oxyd stones.
  10. set_actor("ac-blackball", 11.5,8.5, {player=0})
  11. set_actor("ac-rotor", 1.5,9.5, {range=30, force=40}) 
  12.  
  13. fill_floor("fl-sand",0,0,levelw,levelh)
  14.  
  15. function renderLine( line, pattern)
  16.     for i=1, strlen(pattern) do
  17.       local c = strsub( pattern, i, i)
  18.       if c ==   "#" then
  19.          set_stone("st-rock1", i-1,line)
  20.       elseif c=="1" then
  21.      set_item("it-wormhole", i-1,line, {targetx="4.5", targety="17.5",strength=0})         
  22.       elseif c=="2" then
  23.      set_item("it-wormhole", i-1,line, {targetx="1.5", targety="2.5",strength=0})   
  24.       elseif c=="3" then
  25.      set_item("it-wormhole", i-1,line, {targetx="4.5", targety="13.5",strength=0})   
  26.       elseif c=="5" then
  27.          puzzle(i-1,line, 7)  
  28.          set_item("it-trigger", i-1,line, {action="callback", target="s1"})
  29.       elseif c=="6" then
  30.          puzzle(i-1,line, 4)      
  31.       elseif c=="7" then
  32.          puzzle(i-1,line, 13)        
  33.       elseif c=="8" then
  34.          puzzle(i-1,line, 10)  
  35.          set_item("it-magicwand",i-1,line)
  36.       elseif c=="." then
  37.          set_stone("st-door_b", i-1,line, {type="v"})   
  38.       elseif c=="O" then
  39.      oxyd(i-1,line)
  40.         end
  41.     end  
  42. end
  43. --               01234567890123456789
  44. renderLine(00 , "####################")
  45. renderLine(01 , "#1#             # O#")
  46. renderLine(02 , "# # ##### # ### #  #")
  47. renderLine(03 , "# # #   # #   # #..#")
  48. renderLine(04 , "# # # # # # # #    #")  
  49. renderLine(05 , "# # # # # # # #### #")
  50. renderLine(06 , "# # # #   # #      #")
  51. renderLine(07 , "# # # ####5 ###### #")
  52. renderLine(08 , "# # # 7            #")
  53. renderLine(09 , "#   # ##### #### # #")
  54. renderLine(10 , "##### #O  . . O#6# #")
  55. renderLine(11 , "#     #   . .  # # #")
  56. renderLine(12 , "# ######### #### # #")
  57.  
  58. renderLine(13 , "# #2             # #")
  59. renderLine(14 , "# ####### # #### # #")
  60. renderLine(15 , "#       # # #O # # #")
  61. renderLine(16 , "####### # # #  # # #")
  62. renderLine(17 , "#    3# # # #..# # #")
  63. renderLine(18 , "# ##### # # #    # #")
  64. renderLine(19 , "# #     # # #  # # #")
  65. renderLine(20 , "# # ### # # #### # #")
  66. renderLine(21 , "# #       # #    # #")
  67. renderLine(22 , "# # #######8# #### #")
  68. renderLine(23 , "#           #      #")
  69. renderLine(24 , "####################")
  70. --               01234567890123456789
  71.  
  72. x=2
  73. function s1()
  74. x=x-1
  75. if x == 0 then           -- stones vanish if the initial activated trigger is released by cluster exploding
  76.   enigma.KillStone(17,3)
  77.   enigma.KillStone(18,3)
  78.   enigma.KillStone(10,10)
  79.   enigma.KillStone(12,10)
  80.   enigma.KillStone(10,11)
  81.   enigma.KillStone(12,11)
  82.   enigma.KillStone(13,17)
  83.   enigma.KillStone(14,17)
  84.   end
  85. end
  86.  
  87. oxyd_shuffle()