--
-- A level for Enigma
--
-- Copyright (c) 2003 Siegfried Fennig
-- Licensed under the GPL version 2.

levelw = 58
levelh = 37

create_world(levelw, levelh)
fill_floor("fl-abyss", 0,0, levelw,levelh)

oxyd_default_flavor = "d"

oxyd ( 1,16)
oxyd ( 1,20)
oxyd ( 3,34)
oxyd (36, 7)
oxyd (40, 3)
oxyd (56,16)
oxyd (56,20)
oxyd (55,34)

oxyd_shuffle()

draw_checkerboard_floor( "fl-abyss", "fl-rough", 2, 2,23,11)
fill_floor("fl-rough",  2, 2,23, 1)
fill_floor("fl-rough",  2, 4,23, 1)
fill_floor("fl-rough",  2, 6,23, 1)
fill_floor("fl-rough",  2, 8,23, 1)
fill_floor("fl-rough",  2,10,23, 1)
fill_floor("fl-rough",  2,12,23, 1)

draw_stones( "st-grate1", { 2, 2}, {2,0},12)
draw_stones( "st-grate1", { 2, 4}, {2,0},12)
draw_stones( "st-grate1", { 2, 6}, {2,0},12)
draw_stones( "st-grate1", { 2, 8}, {2,0},12)
draw_stones( "st-grate1", { 2,10}, {2,0},12)
draw_stones( "st-grate1", { 2,12}, {2,0},12)
draw_stones( "st-grate1", {23,28}, {0,1}, 6)
draw_stones( "st-grate1", {35,35}, {1,0}, 6)

set_stone("st-oneway-n", 4, 3)
set_stone("st-oneway-n",12, 3)
set_stone("st-oneway-n",20, 3)
set_stone("st-oneway-n",24, 3)
set_stone("st-oneway-n", 4, 5)
set_stone("st-oneway-n", 6, 5)
set_stone("st-oneway-n",14, 5)
set_stone("st-oneway-n",18, 5)
set_stone("st-oneway-n",20, 5)
set_stone("st-oneway-n",22, 5)
set_stone("st-oneway-n", 4, 7)
set_stone("st-oneway-n", 8, 7)
set_stone("st-oneway-n",14, 7)
set_stone("st-oneway-n",16, 7)
set_stone("st-oneway-n",18, 7)
set_stone("st-oneway-n",22, 7)
set_stone("st-oneway-n",24, 7)
set_stone("st-oneway-n", 4, 9)
set_stone("st-oneway-n", 6, 9)
set_stone("st-oneway-n",14, 9)
set_stone("st-oneway-n",18, 9)
set_stone("st-oneway-n",20, 9)
set_stone("st-oneway-n",22, 9)
set_stone("st-oneway-n", 4,11)
set_stone("st-oneway-n", 8,11)
set_stone("st-oneway-n",10,11)
set_stone("st-oneway-n",12,11)
set_stone("st-oneway-n",14,11)
set_stone("st-oneway-n",20,11)
set_stone("st-oneway-n",22,11)
set_stone("st-oneway-n",24,11)
set_stone("st-oneway-n",27,11)
set_stone("st-oneway-n",30,11)
set_stone("st-oneway-s", 2, 3)
set_stone("st-oneway-s", 6, 3)
set_stone("st-oneway-s", 8, 3)
set_stone("st-oneway-s",10, 3)
set_stone("st-oneway-s",14, 3)
set_stone("st-oneway-s",16, 3)
set_stone("st-oneway-s",18, 3)
set_stone("st-oneway-s",22, 3)
set_stone("st-oneway-s", 2, 5)
set_stone("st-oneway-s", 8, 5)
set_stone("st-oneway-s",10, 5)
set_stone("st-oneway-s",12, 5)
set_stone("st-oneway-s",16, 5)
set_stone("st-oneway-s",24, 5)
set_stone("st-oneway-s", 2, 7)
set_stone("st-oneway-s", 6, 7)
set_stone("st-oneway-s",10, 7)
set_stone("st-oneway-s",12, 7)
set_stone("st-oneway-s",20, 7)
set_stone("st-oneway-s", 2, 9)
set_stone("st-oneway-s", 8, 9)
set_stone("st-oneway-s",10, 9)
set_stone("st-oneway-s",12, 9)
set_stone("st-oneway-s",16, 9)
set_stone("st-oneway-s",24, 9)
set_stone("st-oneway-s", 2,11)
set_stone("st-oneway-s", 6,11)
set_stone("st-oneway-s",16,11)
set_stone("st-oneway-s",18,11)
set_stone("st-oneway-e",11, 2)
set_stone("st-oneway-e",13, 2)
set_stone("st-oneway-e",15, 2)
set_stone("st-oneway-e",19, 2)
set_stone("st-oneway-e",21, 2)
set_stone("st-oneway-e", 5, 4)
set_stone("st-oneway-e", 7, 4)
set_stone("st-oneway-e",15, 4)
set_stone("st-oneway-e",19, 4)
set_stone("st-oneway-e", 5, 6)
set_stone("st-oneway-e", 9, 6)
set_stone("st-oneway-e",11, 6)
set_stone("st-oneway-e",13, 6)
set_stone("st-oneway-e",17, 6)
set_stone("st-oneway-e",19, 6)
set_stone("st-oneway-e", 5, 8)
set_stone("st-oneway-e", 9, 8)
set_stone("st-oneway-e",11, 8)
set_stone("st-oneway-e",13, 8)
set_stone("st-oneway-e",19, 8)
set_stone("st-oneway-e",21, 8)
set_stone("st-oneway-e", 5,10)
set_stone("st-oneway-e", 9,10)
set_stone("st-oneway-e",11,10)
set_stone("st-oneway-e",13,10)
set_stone("st-oneway-e",17,10)
set_stone("st-oneway-e",19,10)
set_stone("st-oneway-e", 3,12)
set_stone("st-oneway-e", 5,12)
set_stone("st-oneway-e", 7,12)
set_stone("st-oneway-e",13,12)
set_stone("st-oneway-e",17,12)
set_stone("st-oneway-e",19,12)
set_stone("st-oneway-e",23,12)
set_stone("st-oneway-w", 3, 2)
set_stone("st-oneway-w", 5, 2)
set_stone("st-oneway-w", 7, 2)
set_stone("st-oneway-w", 9, 2)
set_stone("st-oneway-w",17, 2)
set_stone("st-oneway-w",23, 2)
set_stone("st-oneway-w", 3, 4)
set_stone("st-oneway-w", 9, 4)
set_stone("st-oneway-w",11, 4)
set_stone("st-oneway-w",13, 4)
set_stone("st-oneway-w",17, 4)
set_stone("st-oneway-w",21, 4)
set_stone("st-oneway-w",23, 4)
set_stone("st-oneway-w", 3, 6)
set_stone("st-oneway-w", 7, 6)
set_stone("st-oneway-w",15, 6)
set_stone("st-oneway-w",21, 6)
set_stone("st-oneway-w",23, 6)
set_stone("st-oneway-w", 3, 8)
set_stone("st-oneway-w", 7, 8)
set_stone("st-oneway-w",15, 8)
set_stone("st-oneway-w",17, 8)
set_stone("st-oneway-w",23, 8)
set_stone("st-oneway-w", 3,10)
set_stone("st-oneway-w", 7,10)
set_stone("st-oneway-w",15,10)
set_stone("st-oneway-w",21,10)
set_stone("st-oneway-w",23,10)
set_stone("st-oneway-w", 9,12)
set_stone("st-oneway-w",11,12)
set_stone("st-oneway-w",15,12)
set_stone("st-oneway-w",21,12)

fill_floor("fl-normal", 27, 1, 4,35)
fill_floor("fl-normal",  2,16,25, 1)
fill_floor("fl-normal",  2,20,25, 1)
fill_floor("fl-normal", 31,16,25, 1)
fill_floor("fl-normal", 31,20,25, 1)
fill_floor("fl-normal", 31,24, 8, 1)
fill_floor("fl-normal", 38,25, 1, 8)
fill_floor("fl-normal", 33,31, 6, 1)
fill_floor("fl-normal", 33,32, 1, 3)
fill_floor("fl-normal", 33,35,10, 1)
fill_floor("fl-normal", 42,24, 1,11)
fill_floor("fl-normal", 43,24, 6, 1)
fill_floor("fl-normal", 49,24, 1, 8)
fill_floor("fl-normal", 49,32, 4, 1)
fill_floor("fl-normal", 53,32, 4, 4)
fill_floor("fl-normal",  1,32, 4, 4)
fill_floor("fl-normal",  1,24,14, 1)
fill_floor("fl-normal",  1,25, 1, 7)
fill_floor("fl-normal", 15,24, 1,11)
fill_floor("fl-normal", 15,35, 5, 1)
fill_floor("fl-normal", 19,26, 1, 9)
fill_floor("fl-normal", 20,26, 3, 1)
fill_floor("fl-normal", 23,26, 1,10)
fill_floor("fl-normal", 24,35, 3, 1)
fill_floor("fl-normal", 35, 5, 4, 4)
fill_floor("fl-normal", 38, 2, 4, 3)
fill_floor("fl-normal", 42, 4, 4, 4)
fill_floor("fl-normal", 54, 1, 3, 5)

draw_floor("fl-gradient", {23,28}, {0,1}, 6, {type=22})
draw_floor("fl-gradient", {35,35}, {1,0}, 6, {type=23})
draw_floor("fl-gradient", {28,16}, {1,0}, 2, {type=1})
draw_floor("fl-gradient", {27,17}, {0,1}, 3, {type=3})
draw_floor("fl-gradient", {28,20}, {1,0}, 2, {type=2})
draw_floor("fl-gradient", {30,17}, {0,1}, 3, {type=4})
draw_floor("fl-gradient", {27,16}, {1,0}, 1, {type=5})
draw_floor("fl-gradient", {30,16}, {1,0}, 1, {type=6})
draw_floor("fl-gradient", {27,20}, {1,0}, 1, {type=7})
draw_floor("fl-gradient", {30,20}, {1,0}, 1, {type=8})
draw_floor("fl-gradient", {38, 2}, {1,0}, 3, {type=1})
draw_floor("fl-gradient", {36, 5}, {1,0}, 1, {type=1})
draw_floor("fl-gradient", {42, 4}, {1,0}, 3, {type=1})
draw_floor("fl-gradient", {35, 6}, {0,1}, 2, {type=3})
draw_floor("fl-gradient", {37, 3}, {0,1}, 2, {type=3})
draw_floor("fl-gradient", {42, 6}, {0,1}, 2, {type=3})
draw_floor("fl-gradient", {36, 8}, {1,0}, 2, {type=2})
draw_floor("fl-gradient", {39, 5}, {1,0}, 3, {type=2})
draw_floor("fl-gradient", {43, 7}, {1,0}, 2, {type=2})
draw_floor("fl-gradient", {38, 6}, {0,1}, 2, {type=4})
draw_floor("fl-gradient", {41, 3}, {0,1}, 1, {type=4})
draw_floor("fl-gradient", {45, 5}, {0,1}, 2, {type=4})
draw_floor("fl-gradient", {35, 5}, {1,0}, 1, {type=5})
draw_floor("fl-gradient", {37, 2}, {1,0}, 1, {type=5})
draw_floor("fl-gradient", {41, 2}, {1,0}, 1, {type=6})
draw_floor("fl-gradient", {45, 4}, {1,0}, 1, {type=6})
draw_floor("fl-gradient", {35, 8}, {1,0}, 1, {type=7})
draw_floor("fl-gradient", {42, 7}, {1,0}, 1, {type=7})
draw_floor("fl-gradient", {38, 8}, {1,0}, 1, {type=8})
draw_floor("fl-gradient", {45, 7}, {1,0}, 1, {type=8})
draw_floor("fl-gradient", {37, 5}, {1,0}, 1, {type=9})
draw_floor("fl-gradient", {42, 5}, {1,0}, 1, {type=10})
draw_floor("fl-gradient", {41, 4}, {1,0}, 1, {type=11})
draw_floor("fl-gradient", {38, 5}, {1,0}, 1, {type=12})
draw_floor("fl-gradient", { 2,32}, {1,0}, 2, {type=1})
draw_floor("fl-gradient", { 1,33}, {0,1}, 2, {type=3})
draw_floor("fl-gradient", { 2,35}, {1,0}, 2, {type=2})
draw_floor("fl-gradient", { 4,33}, {0,1}, 2, {type=4})
draw_floor("fl-gradient", { 1,32}, {1,0}, 1, {type=5})
draw_floor("fl-gradient", { 4,32}, {1,0}, 1, {type=6})
draw_floor("fl-gradient", { 1,35}, {1,0}, 1, {type=7})
draw_floor("fl-gradient", { 4,35}, {1,0}, 1, {type=8})
draw_floor("fl-gradient", {54,32}, {1,0}, 2, {type=1})
draw_floor("fl-gradient", {53,33}, {0,1}, 2, {type=3})
draw_floor("fl-gradient", {54,35}, {1,0}, 2, {type=2})
draw_floor("fl-gradient", {56,33}, {0,1}, 2, {type=4})
draw_floor("fl-gradient", {53,32}, {1,0}, 1, {type=5})
draw_floor("fl-gradient", {56,32}, {1,0}, 1, {type=6})
draw_floor("fl-gradient", {53,35}, {1,0}, 1, {type=7})
draw_floor("fl-gradient", {56,35}, {1,0}, 1, {type=8})

draw_stones( "st-invisible", { 1, 0}, {1,0},25)
draw_stones( "st-invisible", { 0, 0}, {0,1},15)
draw_stones( "st-rock6", { 1,15}, {1,0},25)
draw_stones( "st-rock6", { 1,17}, {1,0},25)
draw_stones( "st-rock6", { 1,19}, {1,0},25)
draw_stones( "st-rock6", { 1,21}, {1,0},26)
draw_stones( "st-rock6", { 0,15}, {0,1}, 3)
draw_stones( "st-rock6", { 0,19}, {0,1}, 3)
draw_stones( "st-rock6", { 0,23}, {0,1},14)
draw_stones( "st-rock6", { 1,23}, {1,0},15)
draw_stones( "st-rock6", { 3,25}, {1,0},11)
draw_stones( "st-rock6", { 0,23}, {0,1},10)
draw_stones( "st-rock6", { 2,25}, {0,1}, 7)
draw_stones( "st-rock6", { 1,36}, {1,0}, 4)
draw_stones( "st-rock6", { 5,31}, {0,1}, 6)
draw_stones( "st-rock6", { 3,31}, {1,0}, 2)
draw_stones( "st-rock6", {14,25}, {0,1},11)
draw_stones( "st-rock6", {14,36}, {1,0}, 7)
draw_stones( "st-rock6", {16,23}, {0,1},11)
draw_stones( "st-rock6", {16,34}, {1,0}, 3)
draw_stones( "st-rock6", {18,25}, {0,1}, 9)
draw_stones( "st-rock6", {19,25}, {1,0}, 5)
draw_stones( "st-rock6", {20,27}, {1,0}, 3)
draw_stones( "st-rock6", {20,28}, {0,1}, 8)
draw_stones( "st-rock6", {22,28}, {0,1}, 8)
draw_stones( "st-rock6", {24,25}, {0,1}, 9)
draw_stones( "st-rock6", {24,34}, {1,0}, 4)
draw_stones( "st-rock6", {22,36}, {1,0}, 9)
draw_stones( "st-rock6", {27,21}, {0,1},13)
draw_stones( "st-rock6", {26, 0}, {1,0}, 6)
draw_stones( "st-rock6", {26, 1}, {0,1},15)
draw_stones( "st-rock6", {31, 1}, {0,1},15)
draw_stones( "st-rock6", {32,15}, {1,0},25)
draw_stones( "st-rock6", {32,17}, {1,0},25)
draw_stones( "st-rock6", {32,19}, {1,0},25)
draw_stones( "st-rock6", {31,21}, {1,0},26)
draw_stones( "st-rock6", {32,15}, {1,0},25)
draw_stones( "st-rock6", {26,17}, {0,1}, 3)
draw_stones( "st-rock6", {31,17}, {0,1}, 3)
draw_stones( "st-rock6", {57,15}, {0,1}, 3)
draw_stones( "st-rock6", {57,19}, {0,1}, 3)
draw_stones( "st-rock6", {30,21}, {0,1}, 3)
draw_stones( "st-rock6", {30,25}, {0,1},11)
draw_stones( "st-rock6", {31,23}, {1,0}, 8)
draw_stones( "st-rock6", {31,25}, {1,0}, 6)
draw_stones( "st-rock6", {35,32}, {1,0}, 4)
draw_stones( "st-rock6", {32,30}, {0,1}, 9)
draw_stones( "st-rock6", {33,36}, {1,0},10)
draw_stones( "st-rock6", {35,34}, {1,0}, 6)
draw_stones( "st-rock6", {35,32}, {1,0}, 4)
draw_stones( "st-rock6", {37,25}, {0,1}, 6)
draw_stones( "st-rock6", {39,23}, {0,1},10)
draw_stones( "st-rock6", {33,30}, {1,0}, 4)
draw_stones( "st-rock6", {34,32}, {0,1}, 3)
draw_stones( "st-rock6", {41,23}, {0,1},12)
draw_stones( "st-rock6", {43,25}, {0,1},12)
draw_stones( "st-rock6", {42,23}, {1,0}, 8)
draw_stones( "st-rock6", {44,25}, {1,0}, 4)
draw_stones( "st-rock6", {48,25}, {0,1}, 9)
draw_stones( "st-rock6", {50,23}, {0,1}, 9)
draw_stones( "st-rock6", {51,31}, {1,0}, 6)
draw_stones( "st-rock6", {49,33}, {1,0}, 3)
draw_stones( "st-rock6", {52,33}, {0,1}, 4)
draw_stones( "st-rock6", {53,36}, {1,0}, 4)
draw_stones( "st-rock6", {57,31}, {0,1}, 6)
draw_stones( "st-rock6", {34, 5}, {0,1}, 5)
draw_stones( "st-rock6", {34, 4}, {1,0}, 2)
draw_stones( "st-rock6", {35, 9}, {1,0}, 4)
draw_stones( "st-rock6", {36, 1}, {0,1}, 4)
draw_stones( "st-rock6", {37, 1}, {1,0}, 5)
draw_stones( "st-rock6", {42, 1}, {0,1}, 3)
draw_stones( "st-rock6", {39, 7}, {0,1}, 3)
draw_stones( "st-rock6", {39, 6}, {1,0}, 2)
draw_stones( "st-rock6", {41, 6}, {0,1}, 3)
draw_stones( "st-rock6", {42, 8}, {1,0}, 4)
draw_stones( "st-rock6", {43, 3}, {1,0}, 3)
draw_stones( "st-rock6", {46, 3}, {0,1}, 6)
draw_stones( "st-rock6", {53, 0}, {1,0}, 5)
draw_stones( "st-rock6", {53, 6}, {1,0}, 5)
draw_stones( "st-rock6", {53, 1}, {0,1}, 5)
draw_stones( "st-rock6", {57, 1}, {0,1}, 5)
draw_stones( "st-rock6", {54, 4}, {1,0}, 1)
draw_stones( "st-rock6", {56, 4}, {1,0}, 1)
draw_stones( "st-rock6", {28, 2}, {0,1}, 14)
draw_stones( "st-rock6", {29, 2}, {0,1}, 14)

SetDefaultAttribs("it-wormhole", {range=1.0, strength=10})

set_item("it-wormhole",28,17, {targetx="2.5",targety="2.5"})
set_item("it-wormhole",29,19, {targetx="2.5",targety="2.5"})
set_item("it-wormhole",22, 2, {targetx="56.5",targety="3.5"})
set_item("it-wormhole",54, 5, {targetx="29",targety="18.5"})
set_item("it-wormhole",56, 5, {targetx="44.5",targety="7.5"})
set_item("it-wormhole",44, 5, {targetx="2.5",targety="2.5"})
set_item("it-wormhole",27, 6, {targetx="2.5",targety="2.5"})
set_item("it-wormhole", 6, 8, {targetx="2.5",targety="2.5"})
set_item("it-wormhole", 6, 4, {targetx="29",targety="18.5"})

set_item("it-coin1",27, 4)
set_stone("st-coinslot",56, 1, {action="open", target="door1"})
set_stone("st-door",55, 4, {name="door1", type="h"})

set_item("it-key_a",10, 4)
set_stone("st-key_a",29, 7, {action="openclose", target="door2"})
set_stone("st-door",30, 6, {name="door2", type="h"})

display.SetFollowMode(display.FOLLOW_SCROLLING)

set_actor("ac-blackball",29,18.5)
