home *** CD-ROM | disk | FTP | other *** search
/ GameStar Special 2004 August / GSSH0804.iso / Geschicklichkeit / Enigma / Enigma-081.exe / data / levels / duffy12.lua < prev    next >
Text File  |  2003-06-26  |  6KB  |  150 lines

  1. -- 2003-06-24: [ant]: changes in AddConstantForce
  2.  
  3. levelw = 100
  4. levelh = 100
  5.  
  6. create_world(levelw, levelh)
  7.  
  8. fill_floor("fl-hay", 0,0, level_width,level_height)
  9.  
  10. laser1 = enigma.GetNamedObject("laser1")
  11. door1=enigma.GetNamedObject("door1")
  12. door2=enigma.GetNamedObject("door2")
  13. door3=enigma.GetNamedObject("door3")
  14. door4=enigma.GetNamedObject("door4")
  15. door5=enigma.GetNamedObject("door5")
  16.  
  17. function renderLine( line, pattern)
  18.     for i=1, strlen(pattern) do
  19.         local c = strsub( pattern, i, i)
  20.         if c =="#" then
  21.             set_stone( "st-greenbrown", i-1, line)
  22.         elseif c == "o" then
  23.             oxyd( i-1, line)
  24.         elseif c == "K" then
  25.             set_stone("st-key_a", i-1, line, {action="openclose", target="door1"})
  26.         elseif c == "j" then
  27.             set_stone("st-door", i-1, line , {name="door1", type="h"})
  28.                 elseif c == "n" then
  29.             set_item("it-key_b", i-1 ,line)
  30.         elseif c == "N" then
  31.             set_stone("st-key_b", i-1, line, {action="openclose", target="door4"})
  32.         elseif c == "p" then
  33.             set_stone("st-door", i-1, line , {name="door4", type="v"})
  34.                 elseif c == "k" then
  35.             set_item("it-key_a", i-1 ,line)
  36.         elseif c == "v" then
  37.             set_stone("st-door", i-1, line , {name="door2", type="h"})
  38.         elseif c == "w" then
  39.             set_item("it-trigger", i-1,line, {action="close", target="door2"})
  40.         elseif c == "x" then
  41.             set_stone("st-door", i-1, line , {name="door3", type="h"})
  42.         elseif c == "y" then
  43.             set_item("it-trigger", i-1,line, {action="close", target="door3"})
  44.         elseif c == "a" then
  45.             set_item("it-trigger", i-1,line, {action="off", target="laser1"})
  46.         elseif c == "U" then
  47.             set_stone("st-door", i-1, line , {name="door5", type="h"})
  48.         elseif c == "u" then
  49.             set_item("it-trigger", i-1,line, {action="close", target="door5"})
  50.  
  51.                 elseif c == "l" then
  52.             set_attrib( laser( i-1 , line, TRUE, WEST), "name", "laser1")
  53.                 elseif c == "d" then
  54.                 set_stone("st-death",i-1,line)
  55.           elseif c == "1" then
  56.                 oneway(i-1,line, enigma.NORTH)
  57.             elseif c == "z" then
  58.                 set_actor("ac-blackball", i-1,line, {player=0})    
  59.             elseif c == "s" then
  60.                 set_item("it-spring1",i-1,line)
  61.         elseif c == "i" then
  62.                 set_stone("st-invisible",i-1,line)
  63.         elseif c == "@" then
  64.                 document(i-1,line,"It isn't as easy as it looks.")
  65.         
  66.              
  67.               
  68.                 end
  69.     end
  70. end
  71.  
  72. -- Floor:  " "
  73. -- Border: "#"
  74. -- Oxyd:   "o"
  75.  
  76. renderLine(00, "###################################d###########")
  77. renderLine(01, "#        #   # s           d               d###")
  78. renderLine(02, "## ## #### # # ####        #                ###")
  79. renderLine(03, "## ## #    # # #          ### ############  ###")
  80. renderLine(04, "## ## # #### # #          l     #        ## ###")
  81. renderLine(05, "## ## #   #  # #                # ###### ## ###")
  82. renderLine(06, "## ## ### # ## #aaaaaaaaaaa###### ##   # ##   #")
  83. renderLine(07, "## ## ### #  # #d######### #o   # ## #   ##   #")
  84. renderLine(08, "## ## ### i    ###########d#### # ## ### ##   #")
  85. renderLine(09, "## ## ### ######                # #   ## ##   #")
  86. renderLine(10, "## ## ###1###### ################ ### ## #d  o#")
  87. renderLine(11, "## ## ### #      #                ### ## ######")
  88. renderLine(12, "## ## ### #  ##### ############## ### ##     ##")
  89. renderLine(13, "## ## ###1#  # @   #              ### ###### ##")
  90. renderLine(14, "## ##o#o# #  #     # #### ########### #### # ##")
  91. renderLine(15, "## #### # #  #  z  #    #                  # ##")
  92. renderLine(16, "## ###       #     ## # #################### ##")
  93. renderLine(17, "##   ##      #     ## #              i       ##")
  94. renderLine(18, "####     oo  ######## #########################")
  95. renderLine(19, "# n####  oo  #     ## #                      ##")
  96. renderLine(20, "# ##o#       # ### ## # #################### ##")
  97. renderLine(21, "#  # ##      #   # ## #               #      ##")
  98. renderLine(22, "# ## ## #u#U#### # ## ############### # #######")
  99. renderLine(23, "#  #    #o#  #   # ##                 #      ##")
  100. renderLine(24, "# ########## # ### ## ############### ###### ##")
  101. renderLine(25, "#        #   #   # ##               # #      ##")
  102. renderLine(26, "######## # ### ### ################## # #######")
  103. renderLine(27, "#        #     ##  #k                 #      ##")
  104. renderLine(28, "######## ########j########################## ##")
  105. renderLine(29, "# #    #   # p  # ##        #         #      ##")
  106. renderLine(30, "# # ## ### # ## # ## ###### # ####### # #######")
  107. renderLine(31, "# #  #     # ## # ## #      # #     # #      ##")
  108. renderLine(32, "# ## ####### ## # ## # ###### # ### # ###### ##")
  109. renderLine(33, "# #  #     # ## # ## #      # # #   # #      ##")
  110. renderLine(34, "# # ## ##### ## # ## # #### # # # ### # #######")
  111. renderLine(35, "# # #  #N  # ## # ## #   K# # # # #   #      ##")
  112. renderLine(36, "#     #### # ## # ## # #### # # # # ###### # ##")
  113. renderLine(37, "# ### #    # ##   ## #      # # # #        # ##")
  114. renderLine(38, "# # ### #### ####### # ###### # ############ ##")
  115. renderLine(39, "#                    #        #              ##")
  116. renderLine(40, "###############################################")
  117.  
  118. oxyd_shuffle()
  119.  
  120. door2=enigma.GetNamedObject("door2")
  121. door3=enigma.GetNamedObject("door3")
  122. door5=enigma.GetNamedObject("door5")
  123.  
  124. mytimer = 0
  125. gravity=0
  126. totgravity=0
  127. function timer_handler()
  128.     if mytimer==0 then
  129.         enigma.SendMessage(door2, "open", nil)
  130.        enigma.SendMessage(door3, "open", nil)
  131.     enigma.SendMessage(door5, "open", nil)
  132.     end
  133. mytimer = mytimer + 1
  134.     if gravity<7 then
  135.     if mytimer==40 then
  136.         gravity=gravity+1
  137.     end
  138.     elseif gravity>7 then
  139.     if mytimer==75 then
  140.         gravity=gravity+1
  141.     end
  142.      end
  143.  
  144. totgravity = totgravity+gravity
  145. enigma.AddConstantForce(0,totgravity)
  146. end
  147.  
  148. set_stone( "st-timer", 0, 0, {action="callback", target="timer_handler"})
  149.  
  150.