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

  1. -- Come To Me -- the Enigma Level
  2. -- (c) 2003 Petr Machata/ant_39
  3. -- Licensed under GPL v2.0 or above
  4. -- 2003-01-24
  5. -- 2003-02-09 -- fixes in object groups
  6. -- 2003-02-10 -- change in interfacing parent functions in ant.lua, rubber band changed
  7. -- 2003-02-20 -- rewrite
  8. -- 2003-03-25 -- using slope generator
  9.  
  10. dofile(enigma.FindDataFile("levels/ant.lua"))
  11.  
  12. -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
  13.  
  14. num = 0
  15. function switchcell(x, y, boundwith, tgt)
  16.    num = num +1
  17.    local fname = "switchfunc"..num
  18.  
  19.    local func0 = function()
  20.             kill_stone(%x, %y)
  21.             local obj = {set_stone("st-death", %x, %y, {})}
  22.             add_rubber_bands(%boundwith, obj, 16, 0)
  23.             send_group_message(%tgt, "open")
  24.          end
  25.  
  26.    setglobal(fname, func0)
  27.  
  28.    switch(x, y, fname, "callback")
  29. end
  30. -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
  31. cells={}
  32.  
  33. cells["_"]=cell{floor="fl-normal"}
  34. cells[" "]=cell{floor="fl-sand"}
  35. cells["#"]=cell{stone="st-rock2"}
  36.  
  37. slopes={}
  38. pivots={}
  39. cells["*"]=cell{{{add_multicell, slopes, -1}}}
  40. cells["%"]=cell{{{add_multicell, slopes, 1}}}
  41. cells["&"]=cell{{{add_multicell, pivots, slopes}}}
  42.  
  43. actors = {}
  44. cells["O"]=cell{{{add_multiactor, "ac-blackball", actors, {player=0}}}}
  45.  
  46. doors = {}
  47. cells["b"]=cell{{cells["_"],{add_multistone, "st-door_b", doors, {type="v"}}}}
  48. cells["B"]=cell{{cells["_"],{switchcell, actors, doors}}}
  49.  
  50. cells["0"]=oxyd
  51.  
  52. level = {
  53.    "#0################0#",
  54.    "0b****************b0",
  55.    "#**              **#",
  56.    "#*  O             *#",
  57.    "#*     _____      *#",
  58.    "#*     _%%%_      *#",
  59.    "#*     _%B%_      *#",
  60.    "#*     _%%%_  &   *#",
  61.    "#*     _____      *#",
  62.    "#*                *#",
  63.    "#**              **#",
  64.    "0b****************b0",
  65.    "#0################0#"
  66. }
  67.  
  68. -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
  69. set_default_parent(cells[" "])
  70. create_world_by_map(level)
  71.  
  72. spread_tag(pivots)
  73. render_slopes(slopes)
  74.  
  75. oxyd_shuffle()
  76.