2
dofile(enigma.FindDataFile("levels/ant.lua"))
13
blockw, blockh = get_map_size(blockmap)
15
sahara= cell{floor="fl-sahara"}
16
tigris= cell{floor="fl-tigris"}
17
metal= cell{floor="fl-metal"}
18
solidfloor= cell{{{checkerfloor,{sahara,tigris; sidex=blockw, sidey=blockh, offset=1}}}}
19
borderstone=cell{{{randomfloor,{cell{stone={face="st-rock2"}},cell{stone={face="st-rock5"}},0.15}}}}
20
marble= cell{actor={"ac-blackball", {player=0}}}
26
cells["0"]=cell{{{solidfloor},{oxyd}}}
29
function place_new_oxyd_stone(count)
33
--pick place for new oxyd
34
local mox,moy,ox,oy = 0
36
local num = oxydstones.n+1
43
mox, moy=random(0,blocksx-1),random(0,blocksy-1)
44
key = getkey(mox, moy)
45
ox, oy=mox*blockw+1, moy*blockh+1
46
until (not(oxydstones[key]))and(((mod(mox,2)==0)and(mod(moy,2)==0)))
48
--well, place found. Now construct triggering function
49
local funcn = "trigger_"..num
50
func0 = "function() "..
51
" if (oxydstones[\""..key.."\"] == 0) then "..
52
" oxydstones[\""..key.."\"] = 1 "..
53
" place_new_oxyd_stone(2) "..
57
dostring(funcn.." = "..func0)
59
--add oxyd and triggers
60
cells["+"]=%cell{parent=metal,item={face="it-trigger",attr={action="callback", target=funcn, invisible=1}}}
61
draw_map(ox, oy, blockmap)
64
oxydstones.n = oxydstones.n+1
69
create_world(blocksx*blockw+2, blocksy*blockh+2)
70
fill_world_func(solidfloor)
71
draw_border_func(borderstone)
74
place_new_oxyd_stone(1)
75
display.SetFollowMode(display.FOLLOW_SCROLLING)