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

  1. -- Doors Galore
  2.  
  3. -- Created by Ray Wick
  4.  
  5. --
  6.  
  7.  
  8.  
  9.  
  10. LAND_FLOOR = "fl-brick"
  11.  
  12. SOFT_FLOOR = "fl-hay"
  13.  
  14. WATER_FLOOR = "fl-water"
  15.  
  16. WALL = "st-brick"
  17.  
  18.  
  19. level = {
  20.  
  21.     "#@###S#L##########@#",
  22.  
  23.     "#6#~~~~~@~~~~ > #B1#",
  24.  
  25.     "C ~~~ ~~~~~~#5# D  $",
  26.  
  27.     "#     ~~~~~~~ E H G#",
  28.  
  29.     "#b+++ ~~~~~~@ #4# 7@",
  30.  
  31.     "#e    ~~~!~~+ ! #8##",
  32.  
  33.     "#  a ~~~~~~~~ !   ##",
  34.  
  35.     "# ~~~~~~~~~~~ #c???#",
  36.  
  37.     "# ~~~@~~d~~ * #??+ #",
  38.  
  39.     "# ~~~~~~  + + ###  #",
  40.  
  41.     "# ~~~~~~  +++ 3 #9I#",
  42.  
  43.     "# >  + x     +# < 2@",
  44.  
  45.     "#@##########!!###A##"
  46.  
  47. }
  48.  
  49.  
  50. cells = {}
  51.  
  52. cells["!"] = function( x, y )
  53.  
  54. --    set_floor( LAND_FLOOR, x, y )
  55.  
  56.     set_stone( "st-stoneimpulse", x, y )
  57.  
  58. end
  59.  
  60. cells["#"] = function( x, y )
  61.  
  62.     set_stone( WALL, x, y )
  63.  
  64. end
  65.  
  66. cells["*"] = function( x, y )
  67.  
  68.     set_floor( LAND_FLOOR, x, y )
  69.  
  70.     set_actor( "ac-blackball", x+0.5, y+0.5, {player=0} )
  71.  
  72. end
  73.  
  74. cells["@"] = function( x, y )
  75.  
  76.     set_floor( LAND_FLOOR, x, y )
  77.  
  78.     oxyd(x,y)
  79.  
  80. end
  81.  
  82. cells["+"] = function( x, y )
  83.  
  84.     set_floor( LAND_FLOOR, x, y )
  85.  
  86.     set_stone( "st-wood", x, y )
  87.  
  88. end
  89.  
  90. cells["~"] = function( x, y )
  91.  
  92.     set_floor( WATER_FLOOR, x, y )
  93.  
  94. end
  95.  
  96. cells["$"] = function( x, y )
  97.  
  98.     set_floor( LAND_FLOOR, x, y )
  99.  
  100.     set_stone( "st-coinslot", x, y, {action="callback", target="funcc"})
  101.  
  102. end
  103.  
  104. cells["<"] = function( x, y )
  105.  
  106.     set_floor( LAND_FLOOR, x, y )
  107.  
  108.     set_stone( "st-oneway", x, y, {orientation=WEST})
  109.  
  110. end
  111.  
  112. cells["v"] = function( x, y )
  113.  
  114.     set_floor( LAND_FLOOR, x, y )
  115.  
  116.     set_stone( "st-oneway", x, y, {orientationSOUTH})
  117.  
  118. end
  119.  
  120. cells[">"] = function( x, y )
  121.  
  122.     set_floor( LAND_FLOOR, x, y )
  123.  
  124.     set_stone( "st-oneway", x, y, {orientation=EAST})
  125.  
  126. end
  127.  
  128. cells["^"] = function( x, y )
  129.  
  130.     set_floor( LAND_FLOOR, x, y )
  131.  
  132.     set_stone( "st-oneway", x, y, {orientation=NORTH})
  133.  
  134. end
  135.  
  136. cells["?"] = function( x, y )
  137.  
  138.     set_floor( LAND_FLOOR, x, y )
  139.  
  140.     set_item( "it-coin", x, y, {value=1} )
  141.  
  142. end
  143.  
  144. cells["x"] = function( x, y )
  145.  
  146.     set_floor( LAND_FLOOR, x, y )
  147.  
  148.     set_item( "it-blackbomb", x, y )
  149.  
  150. end
  151.  
  152. cells[" "] = function( x, y )
  153.  
  154.     set_floor( LAND_FLOOR, x,y )
  155.  
  156. end
  157.  
  158. cells["1"] = function( x, y )
  159.  
  160.     set_floor( LAND_FLOOR, x, y )
  161.  
  162.     doorh(x, y, {name="door1"} )
  163.  
  164. end
  165.  
  166. cells["2"] = function( x, y )
  167.  
  168.     set_floor( LAND_FLOOR, x, y )
  169.  
  170.     doorv(x, y, {name="door2"} )
  171.  
  172. end
  173.  
  174. cells["3"] = function( x, y )
  175.  
  176.     set_floor( LAND_FLOOR, x, y )
  177.  
  178.     doorv(x, y, {name="door3"} )
  179.  
  180. end
  181.  
  182. cells["4"] = function( x, y )
  183.  
  184.     set_floor( LAND_FLOOR, x, y )
  185.  
  186.     doorh(x, y, {name="door4"} )
  187.  
  188. end
  189.  
  190. cells["5"] = function( x, y )
  191.  
  192.     set_floor( LAND_FLOOR, x, y )
  193.  
  194.     doorh(x, y, {name="door5"} )
  195.  
  196. end
  197.  
  198. cells["6"] = function( x, y )
  199.  
  200.     set_floor( LAND_FLOOR, x, y )
  201.  
  202.     doorh(x, y, {name="door6"} )
  203.  
  204. end
  205.  
  206. cells["7"] = function( x, y )
  207.  
  208.     set_floor( LAND_FLOOR, x, y )
  209.  
  210.     doorv(x, y, {name="door7"} )
  211.  
  212. end
  213.  
  214. cells["8"] = function( x, y )
  215.  
  216.     set_floor( LAND_FLOOR, x, y )
  217.  
  218.     doorh(x, y, {name="door8"} )
  219.  
  220. end
  221.  
  222. cells["9"] = function( x, y )
  223.  
  224.     set_floor( LAND_FLOOR, x, y )
  225.  
  226.     doorh(x, y, {name="door9"} )
  227.  
  228. end
  229.  
  230. cells["A"] = function( x, y )
  231.  
  232.     set_floor( LAND_FLOOR, x, y )
  233.  
  234.     set_stone( "st-key_a", x, y, {action="openclose", target="door1"})
  235.  
  236. end
  237.  
  238. cells["B"] = function( x, y )
  239.  
  240.     set_floor( LAND_FLOOR, x, y )
  241.  
  242.     set_stone( "st-key_b", x, y, {action="openclose", target="door2"})
  243.  
  244. end
  245.  
  246. cells["C"] = function( x, y )
  247.  
  248.     set_floor( LAND_FLOOR, x, y )
  249.  
  250.     set_stone( "st-key_c", x, y, {action="openclose", target="door3"})
  251.  
  252. end
  253.  
  254. cells["D"] = function( x, y )
  255.  
  256.     set_floor( LAND_FLOOR, x, y )
  257.  
  258.     set_stone( "st-floppy", x, y, {action="openclose", target="door4"})
  259.  
  260. end
  261.  
  262. cells["E"] = function( x, y )
  263.  
  264.     set_floor( LAND_FLOOR, x, y )
  265.  
  266.     set_stone( "st-floppy", x, y, {action="openclose", target="door5"})
  267.  
  268. end
  269.  
  270. cells["F"] = function( x, y )
  271.  
  272.     set_floor( LAND_FLOOR, x, y )
  273.  
  274.     set_stone( "st-floppy", x, y, {action="openclose", target="door6"})
  275.  
  276. end
  277.  
  278. cells["G"] = function( x, y )
  279.  
  280.     set_floor( LAND_FLOOR, x, y )
  281.  
  282.     set_stone( "st-floppy", x, y, {action="openclose", target="door7"})
  283.  
  284. end
  285.  
  286. cells["H"] = function( x, y )
  287.  
  288.     set_floor( LAND_FLOOR, x, y )
  289.  
  290.     set_stone( "st-floppy", x, y, {action="openclose", target="door8"})
  291.  
  292. end
  293.  
  294. cells["I"] = function( x, y )
  295.  
  296.     set_floor( LAND_FLOOR, x, y )
  297.  
  298.     set_stone( "st-floppy", x, y, {action="openclose", target="door9"})
  299.  
  300. end
  301.  
  302. cells["L"] = function( x, y )
  303.  
  304.     set_floor( SOFT_FLOOR, x, y )
  305.  
  306.     set_attrib(laser(x, y, FALSE, SOUTH), "name", "laser")
  307.  
  308. end
  309.  
  310. cells["S"] = function( x, y )
  311.  
  312.     set_floor( SOFT_FLOOR, x, y )
  313.  
  314.     set_stone( "st-switch", x, y, {target="laser", action="onoff", on=1 })
  315.  
  316. end
  317.  
  318. cells["a"] = function( x, y )
  319.  
  320.     set_floor( LAND_FLOOR, x, y )
  321.  
  322. --    set_stone( "st-wood", x, y )
  323.  
  324.     set_item( "it-key_a", x, y )
  325.  
  326. end
  327.  
  328. cells["b"] = function( x, y )
  329.  
  330.     set_floor( LAND_FLOOR, x, y )
  331.  
  332. --    set_stone( "st-wood", x, y )
  333.  
  334.     set_item( "it-key_b", x, y )
  335.  
  336. end
  337.  
  338. cells["c"] = function( x, y )
  339.  
  340.     set_floor( LAND_FLOOR, x, y )
  341.  
  342.     set_stone( "st-wood", x, y )
  343.  
  344.     set_item( "it-key_c", x, y )
  345.  
  346. end
  347.  
  348. cells["d"] = function( x, y )
  349.  
  350.     set_floor( LAND_FLOOR, x, y )
  351.  
  352. --    set_stone( "st-wood", x, y )
  353.  
  354.     set_item( "it-floppy", x, y )
  355.  
  356. end
  357.  
  358. cells["e"] = function( x, y )
  359.  
  360.     set_floor( LAND_FLOOR, x, y )
  361.  
  362.     set_stone( "st-wood", x, y )
  363.  
  364.     set_item( "it-floppy", x, y )
  365.  
  366. end
  367.  
  368. cells["f"] = function( x, y )
  369.  
  370.     set_floor( LAND_FLOOR, x, y )
  371.  
  372. --    set_stone( "st-wood", x, y )
  373.  
  374.     set_item( "it-floppy", x, y )
  375.  
  376. end
  377.  
  378.  
  379.  
  380. create_world( strlen(level[1]), getn(level) )
  381.  
  382. for y,line in level do
  383.  
  384.     for x = 1,strlen(line) do
  385.  
  386.         cell = strchar(strbyte(line,x))
  387.  
  388.         cells[cell]( x-1, y-1 )
  389.  
  390.     end
  391.  
  392. end
  393.  
  394. oxyd_shuffle()
  395.  
  396. door3=enigma.GetNamedObject("door3")
  397.  
  398. door6=enigma.GetNamedObject("door6")
  399.  
  400. through=0
  401.  
  402. function funcc()
  403.  
  404.     if through==1 then
  405.  
  406.         through=0
  407.  
  408.     end
  409.  
  410.     if through==0 then
  411.  
  412.         enigma.SendMessage(door3, "openclose", nil)
  413.  
  414.         enigma.SendMessage(door6, "openclose", nil)
  415.  
  416.     end
  417.  
  418.     through=through+1
  419.  
  420. end
  421.