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

  1. --Siegfried Fennig 23.02.2003 Rev.0
  2.  
  3. levelw = 20
  4. levelh = 25
  5.  
  6. create_world(levelw, levelh)
  7. draw_border("st-rock6")
  8. enigma.ConserveLevel = FALSE
  9. oxyd_default_flavor = "d"
  10. fill_floor("fl-sahara", 0,0, level_width,level_height)
  11.  
  12. function renderLine( line, pattern)
  13.     for i=1, strlen(pattern) do
  14.       local c = strsub( pattern, i, i)
  15.       if c == "t" then
  16.          set_stone("st-thief",i-1,line)
  17.       elseif c == "o" then
  18.          oxyd( i-1, line)
  19.       elseif c == "g" then
  20.          set_stone("st-grate2",i-1,line)
  21.       elseif c == "r" then
  22.          set_stone("st-rock6",i-1,line)
  23.       elseif c == "w" then
  24.          set_stone("st-window",i-1,line)
  25.       elseif c == "b" then
  26.          set_stone("st-break_acblack",i-1,line)
  27.       elseif c == "#" then
  28.          mirrorp(i-1,line,TRUE,FALSE, 1)
  29.       elseif c == "y" then
  30.          mirrorp(i-1,line,FALSE,FALSE, 1)
  31.       elseif c == "x" then
  32.          mirrorp(i-1,line,FALSE,FALSE, 2)
  33.       elseif c == "z" then
  34.          mirrorp(i-1,line,FALSE,TRUE, 2)
  35.       elseif c == "s" then
  36.          set_stone("st-timer",i-1,line)
  37.       elseif c == "a" then
  38.          set_actor("ac-blackball", i-.5,line+.5, {player=0})
  39.       elseif c == "d" then
  40.          document(i-1,line,"Forget the laser, try using force!")
  41.         end
  42.     end
  43. end
  44. --              01234567890123456789
  45. renderLine(00, "                    ")
  46. renderLine(01, "                    ")
  47. renderLine(02, "  o         t       ")
  48. renderLine(03, "        t           ")
  49. renderLine(04, "     t              ")
  50. renderLine(05, "                    ")
  51. renderLine(06, "                    ")
  52. renderLine(07, "         t          ")
  53. renderLine(08, "                rrr ")
  54. renderLine(09, "rrrrrrrrrrrrrr rrrr ")
  55. renderLine(10, "               rrrr ")
  56. renderLine(11, "               rrrr ")
  57. renderLine(12, "rrrrrrwrrrrrr rrrrr ")
  58. renderLine(13, "          ordbrrrgg ")
  59. renderLine(14, "   #      y rbrsrgg ")
  60. renderLine(15, "            rbr rgg ")
  61. renderLine(16, "          a   ggggg ")
  62. renderLine(17, "o                   ")
  63. renderLine(18, "                    ")
  64. renderLine(19, "          y  z    x ")
  65. renderLine(20, "                    ")
  66. renderLine(21, "                    ")
  67. renderLine(22, "      y   o    y  x ")
  68. renderLine(23, "                    ")
  69. renderLine(24, "                    ")
  70. --              01234567890123456789
  71.  
  72. oxyd_shuffle()
  73.  
  74. set_attrib(laser( 0,22, FALSE, EAST), "name", "laser1")
  75. set_stone("st-switch", 0,21, {action="onoff", target="laser1"})
  76.  
  77. set_attrib(laser(15, 0, TRUE, SOUTH), "name", "laser2")
  78. set_stone("st-laserswitch",15,09, {action="callback", target="sw1"})
  79. set_stone("st-door",14,09, {name="door1", type="h"})
  80.  
  81. function sw1()
  82.     doora=enigma.GetNamedObject("door1")
  83.     enigma.SendMessage(doora, "openclose", nil)
  84. end
  85.  
  86. set_stone("st-laserswitch",15,15, {action="callback", target="sw2"})
  87. set_stone("st-door",13,12, {name="door2", type="h"})
  88.  
  89. function sw2()
  90.     doora=enigma.GetNamedObject("door2")
  91.     enigma.SendMessage(doora, "open", nil)
  92.     lasera=enigma.GetNamedObject("laser2")
  93.     enigma.SendMessage(lasera, "off", nil)
  94. end