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

  1. -- The Exchange
  2.  
  3. -- Created by Ray Wick
  4.  
  5. --
  6.  
  7.  
  8.  
  9.  
  10. LAND_FLOOR = "fl-marble"
  11.  
  12. MARBLE_FLOOR = "fl-marble"
  13.  
  14. WATER_FLOOR = "fl-water"
  15.  
  16. MARBLE = "st-marble"
  17.  
  18. GLASS = "st-glass"
  19.  
  20.  
  21. function color_block( color, x, y)
  22.  
  23.        stone = format( "st-%s4", color)
  24.  
  25.        set_stone( stone, x, y)
  26.  
  27. end
  28.  
  29. level = {
  30.  
  31.     "                                                          ",
  32.  
  33.     "                                              GGGGGGGGGV  ",
  34.  
  35.     "                                              GMGGMMGGMV  ",
  36.  
  37.     "                                              GGMMGGMMGV  ",
  38.  
  39.     " GGggggggggggggggggggggggggggggggggggggggggggggggggggggg  ",
  40.  
  41.     " GMg   GGGG                                   GGGGGGMGbg  ",
  42.  
  43.     " GMg   GMGG                                   GGGGGMGGGg  ",
  44.  
  45.     " GMg   GGMG                                   GGGGMGGGGg  ",
  46.  
  47.     " GMg   GGGG                                   GGGMGGGGGg  ",
  48.  
  49.     " GG>                                          GGGGGGGGGg  ",
  50.  
  51.     "   g                                                   W  ",
  52.  
  53.     "   g                ggggggggggggggggggg^gggggggggggggggg  ",
  54.  
  55.     "   g+++++++++++++++++++++++++A++++++++g^++++++gggggggggg  ",
  56.  
  57.     "   gGGGGGGGGGGGGGGc+G                SgGGGGGG;g@@@@@@@@g  ",
  58.  
  59.     "   gGGGGGGGGGGGGGGG+ %                gGGGGGGGgggggggggg  ",
  60.  
  61.     "   gGGGGGGGGGGGGGGG+                  g                g  ",
  62.  
  63.     "   gGGGGGGGGGGGGGGG+                  g                g  ",
  64.  
  65.     "   gGGGGGGGGGGGGGGG+                GGg              GGg  ",
  66.  
  67.     "C  ~2GGGMGGGGGGGGG3+         L *    GYV              GY1 D",
  68.  
  69.     "   gGGGGGMGGGGGGGGG+                GGg              GGg  ",
  70.  
  71.     "   gGGGGGGGGGGGGGGG+                  g                g  ",
  72.  
  73.     "   gGGGGGGGGGGGGGGG+                  g                g  ",
  74.  
  75.     "   gGGGGGGGGGGGGGGG+ %                gGGGGGGGgggggggggg  ",
  76.  
  77.     "   gGGGGGGGGGGGGGGG+G                agGGGGGGdg@@@@@@@@g  ",
  78.  
  79.     "   g+++++++++++++++++++++++++B++++++++gv++++++gggggggggg  ",
  80.  
  81.     "   g                gggggggggggggggggggvgggggggggggggggg  ",
  82.  
  83.     "   g                                                   W  ",
  84.  
  85.     " GG>                                          GGGGGGGGGg  ",
  86.  
  87.     " GMg   GGGG                                   GGGMGGGGGg  ",
  88.  
  89.     " GMg   GGMG                 .                 GGGGMGGGGg  ",
  90.  
  91.     " GMg   GMGG                                   GGGGGMGGGg  ",
  92.  
  93.     " GMg   GGGG                                   GGGGGGMGGg  ",
  94.  
  95.     " GGggggggggggggggggggggggggggggggggggggggggggggggggggggg  ",
  96.  
  97.     "                                              GsMMGGMMGV  ",
  98.  
  99.     "                                              GMGGMMGGMV  ",
  100.  
  101.     "                                              GGGGGGGGGV  ",
  102.  
  103.     "                                                          "
  104.  
  105. }
  106.  
  107.  
  108. cells = {}
  109.  
  110. cells["*"] = function( x, y )
  111.  
  112.     set_floor( LAND_FLOOR, x, y )
  113.  
  114.     set_actor( "ac-blackball", x+0.5, y+0.5, {player=0} )
  115.  
  116. --    set_item( "it-yinyang", x, y+0.5 )
  117.  
  118. end
  119.  
  120. cells[";"] = function( x, y )
  121.  
  122.     set_floor( LAND_FLOOR, x, y )
  123.  
  124. --    set_actor( "ac-blackball", x+0.5, y+0.5, {player=0} )
  125.  
  126.     set_stone( "st-grate1", x, y )
  127.  
  128.     set_item( "it-yinyang", x+0.3, y+0.7 )
  129.  
  130. end
  131.  
  132. cells["."] = function( x, y )
  133.  
  134.     set_floor( LAND_FLOOR, x, y )
  135.  
  136.     set_actor( "ac-whiteball", x+0.5, y+0.5, {player=1} )
  137.  
  138.     set_item( "it-yinyang", x, y+0.5 )
  139.  
  140. end
  141.  
  142. cells["@"] = function( x, y )
  143.  
  144.     set_floor( LAND_FLOOR, x, y )
  145.  
  146.     oxyd(x,y)
  147.  
  148. end
  149.  
  150. cells["+"] = function( x, y )
  151.  
  152.     set_floor( LAND_FLOOR, x, y )
  153.  
  154.     set_stone( "st-wood", x, y )
  155.  
  156. end
  157.  
  158. cells["~"] = function( x, y )
  159.  
  160.     set_floor( WATER_FLOOR, x, y )
  161.  
  162. end
  163.  
  164. cells["<"] = function( x, y )
  165.  
  166.     set_floor( LAND_FLOOR, x, y )
  167.  
  168.     set_stone( "st-oneway", x, y, {orientation=WEST})
  169.  
  170. end
  171.  
  172. cells[">"] = function( x, y )
  173.  
  174.     set_floor( LAND_FLOOR, x, y )
  175.  
  176.     set_stone( "st-oneway", x, y, {orientation=EAST})
  177.  
  178. end
  179.  
  180. cells["^"] = function( x, y )
  181.  
  182.     set_floor( LAND_FLOOR, x, y )
  183.  
  184.     set_stone( "st-oneway", x, y, {orientation=NORTH})
  185.  
  186. end
  187.  
  188. cells["v"] = function( x, y )
  189.  
  190.     set_floor( LAND_FLOOR, x, y )
  191.  
  192.     set_stone( "st-oneway", x, y, {orientation=SOUTH})
  193.  
  194. end
  195.  
  196. cells["%"] = function( x, y )
  197.  
  198.     set_floor( LAND_FLOOR, x, y )
  199.  
  200.     set_stone( "st-swap", x, y )
  201.  
  202. end
  203.  
  204. cells["1"] = function( x, y )
  205.  
  206.     set_floor( LAND_FLOOR, x, y )
  207.  
  208.     doorv(x, y, {name="door1"} )
  209.  
  210. end
  211.  
  212. cells["2"] = function( x, y )
  213.  
  214.     set_floor( LAND_FLOOR, x, y )
  215.  
  216.     doorv(x, y, {name="door2"} )
  217.  
  218. end
  219.  
  220. cells["3"] = function( x, y )
  221.  
  222.     set_floor( LAND_FLOOR, x, y )
  223.  
  224.     doorv(x, y, {name="door3"} )
  225.  
  226. end
  227.  
  228. cells["A"] = function( x, y )
  229.  
  230.     set_floor( LAND_FLOOR, x, y )
  231.  
  232.     set_stone( "st-key_a", x, y, {action="openclose", target="door1"})
  233.  
  234. end
  235.  
  236. cells["B"] = function( x, y )
  237.  
  238.     set_floor( LAND_FLOOR, x, y )
  239.  
  240.     set_stone( "st-key_b", x, y, {action="openclose", target="door2"})
  241.  
  242. end
  243.  
  244. cells["C"] = function( x, y )
  245.  
  246.     set_floor( LAND_FLOOR, x, y )
  247.  
  248.     set_stone( "st-key_c", x, y, {action="openclose", target="door3"})
  249.  
  250. end
  251.  
  252. cells["D"] = function( x, y )
  253.  
  254.     set_floor( LAND_FLOOR, x, y )
  255.  
  256.     set_stone( "st-floppy", x, y, {target="laser1", action="onoff" })
  257.  
  258. end
  259.  
  260. cells["G"] = function( x, y )
  261.  
  262.     set_floor( LAND_FLOOR, x, y )
  263.  
  264.     set_stone( "st-grate1", x, y )
  265.  
  266. end
  267.  
  268. cells["L"] = function( x, y )
  269.  
  270.     set_floor( LAND_FLOOR, x, y )
  271.  
  272.     set_attrib(laser(x, y, FALSE, WEST), "name", "laser1")
  273.  
  274. end
  275.  
  276. cells["M"] = function( x, y )
  277.  
  278.     set_floor( LAND_FLOOR, x, y )
  279.  
  280.     set_stone( "st-pmirror", x, y, {movable=0, transparent=0, orientation=1 })
  281.  
  282. end
  283.  
  284. cells["S"] = function( x, y )
  285.  
  286.     set_floor( LAND_FLOOR, x, y )
  287.  
  288.     set_stone( "st-grate1", x, y )
  289.  
  290.     set_item( "it-seed", x+0.5, y+0.5 )
  291.  
  292. end
  293.  
  294. cells["V"] = function( x, y )
  295.  
  296.     set_floor( LAND_FLOOR, x, y )
  297.  
  298.     color_block( "black", x, y)
  299.  
  300. end
  301.  
  302. cells["W"] = function( x, y )
  303.  
  304.     set_floor( LAND_FLOOR, x, y )
  305.  
  306.     color_block( "white", x, y)
  307.  
  308. end
  309.  
  310. cells["Y"] = function( x, y )
  311.  
  312.     set_floor( LAND_FLOOR, x, y )
  313.  
  314.     set_stone( "st-yinyang1", x, y )
  315.  
  316. end
  317.  
  318. cells["a"] = function( x, y )
  319.  
  320.     set_floor( LAND_FLOOR, x, y )
  321.  
  322.     set_stone( "st-grate1", 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-grate1", 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-grate1", 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-grate1", x, y )
  353.  
  354.     set_item( "it-floppy", x, y )
  355.  
  356. end
  357.  
  358. cells["g"] = function( x, y )
  359.  
  360.     set_floor( LAND_FLOOR, x, y )
  361.  
  362.     set_stone( GLASS, x, y )
  363.  
  364. end
  365.  
  366. cells["s"] = function( x, y )
  367.  
  368.     set_floor( LAND_FLOOR, x, y )
  369.  
  370.     set_stone( "st-grate1", x, y )
  371.  
  372.     set_item( "it-spring1", x, y )
  373.  
  374. end
  375.  
  376. cells[" "] = function( x, y )
  377.  
  378. --     set_floor( LAND_FLOOR, x,y )
  379.  
  380. end
  381.  
  382.  
  383.  
  384. create_world( 58, 37 )
  385.  
  386. fill_floor(MARBLE_FLOOR, 0, 0, 58, 37 )
  387.  
  388. draw_border( MARBLE )
  389.  
  390. for y,line in level do
  391.  
  392.     for x = 1,strlen(line) do
  393.  
  394.         cell = strchar(strbyte(line,x))
  395.  
  396.         cells[cell]( x-1, y-1 )
  397.  
  398.     end
  399.  
  400. end
  401.  
  402. oxyd_shuffle()
  403.  
  404. oxyd_shuffle()
  405.  
  406.