1 |
-- Cannonball -- the Enigma Level |
-- Cannonball -- the Enigma Level |
2 |
-- (c) 2002 Petr Machata/ant_39 |
-- (c) 2003 Petr Machata/ant_39 |
3 |
-- Licensed under GPL v2.0 or above |
-- Licensed under GPL v2.0 or above |
4 |
-- 2003-01-08 |
-- 2003-01-08 |
5 |
|
-- 2003-01-10 -- modified base floor beneath doorE, doorF, removed document |
6 |
|
-- 2003-01-11 -- modified so that it uses object groups from ant.lua |
7 |
|
|
8 |
dofile(enigma.FindDataFile("levels/ant.lua")) |
dofile(enigma.FindDataFile("levels/ant.lua")) |
9 |
|
|
45 |
|
|
46 |
function tick() |
function tick() |
47 |
if (act_state == 0) then |
if (act_state == 0) then |
48 |
enigma.SendMessage(enigma.GetNamedObject("doorA1"), "open", nil) |
send_group_message(doors_A, "open", nil) |
|
enigma.SendMessage(enigma.GetNamedObject("doorA2"), "open", nil) |
|
49 |
elseif (act_state == 1) then |
elseif (act_state == 1) then |
50 |
enigma.SendMessage(enigma.GetNamedObject("doorA1"), "close", nil) |
send_group_message(doors_A, "close", nil) |
|
enigma.SendMessage(enigma.GetNamedObject("doorA2"), "close", nil) |
|
51 |
act_state = act_state + 1 |
act_state = act_state + 1 |
52 |
elseif (act_state == 2) then |
elseif (act_state == 2) then |
53 |
for i=1,DOORCOUNT do |
send_group_message(doors_B, "open", nil) |
|
enigma.SendMessage(enigma.GetNamedObject("doorB"..i), "open", nil) |
|
|
end |
|
54 |
act_state = act_state + 1 |
act_state = act_state + 1 |
55 |
elseif (act_state == 3) then |
elseif (act_state == 3) then |
56 |
forceup() |
forceup() |
57 |
act_state = act_state + 1 |
act_state = act_state + 1 |
58 |
elseif (act_state == 4) then |
elseif (act_state == 4) then |
59 |
for i=1,DOORCOUNT do |
send_group_message(doors_B, "close", nil) |
|
enigma.SendMessage(enigma.GetNamedObject("doorB"..i), "close", nil) |
|
|
end |
|
60 |
act_state = 0 |
act_state = 0 |
61 |
else |
else |
62 |
act_state = 0 |
act_state = 0 |
63 |
end |
end |
64 |
end |
end |
65 |
|
|
|
function inc_doorcount(x,y) |
|
|
DOORCOUNT = DOORCOUNT +1 |
|
|
local key = "doorB"..DOORCOUNT |
|
|
enigma.NameObject(enigma.GetNamedObject("doorB1"), key) |
|
|
end |
|
|
|
|
66 |
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- |
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- |
67 |
|
|
68 |
cells={} |
cells={} |
90 |
cells["%"]=cell{parent=cells[" "],stone={face="st-oneway", attr={orientation=WEST}}} |
cells["%"]=cell{parent=cells[" "],stone={face="st-oneway", attr={orientation=WEST}}} |
91 |
|
|
92 |
cells["x"]=cell{parent=cells[" "],stone={face="st-grate1"}} |
cells["x"]=cell{parent=cells[" "],stone={face="st-grate1"}} |
93 |
cells["a"]=cell{parent=cells[" "],stone={face="st-door", attr={name="doorA1", type="h"}}} |
cells["e"]=cell{parent=cells["w"],stone={face="st-door", attr={name="doorE", type="v"}}} |
94 |
cells["b"]=cell{parent=cells[" "],stone={face="st-door", attr={name="doorA2", type="h"}}} |
cells["f"]=cell{parent=cells["w"],stone={face="st-door", attr={name="doorF", type="v"}}} |
95 |
cells["e"]=cell{parent=cells[" "],stone={face="st-door", attr={name="doorE", type="v"}}} |
|
96 |
cells["f"]=cell{parent=cells[" "],stone={face="st-door", attr={name="doorF", type="v"}}} |
doors_A = {}; |
97 |
cells["!"]=cell{parent={cells[" "], inc_doorcount},stone={face="st-door_b", attr={name="doorB1", type="v"}}} |
doors_B = {}; |
98 |
|
cells["?"]=cell{parent={cells[" "], {add_multiitem, {"st-door", doors_A, {type="h"}}}}} |
99 |
|
cells["!"]=cell{parent={cells[" "], {add_multiitem, {"st-door_b", doors_B, {type="v"}}}}} |
100 |
|
|
101 |
cells["D"]=cell{parent=cells["w"],stone={face="st-death"}} |
cells["D"]=cell{parent=cells["w"],stone={face="st-death"}} |
102 |
cells["W"]=cell{parent=cells["w"],stone={face="st-brick"}} |
cells["W"]=cell{parent=cells["w"],stone={face="st-brick"}} |
103 |
cells["E"]=cell{parent=cells["w"],stone={face="st-floppy", attr={action="openclose", target="doorE"}}} |
cells["E"]=cell{parent=cells["w"],stone={face="st-floppy", attr={action="openclose", target="doorE"}}} |
114 |
|
|
115 |
cells["h"]=cell{parent=cells["w"],item={face="it-floppy"}} |
cells["h"]=cell{parent=cells["w"],item={face="it-floppy"}} |
116 |
cells["s"]=cell{parent=cells["x"],item={face="it-spring1"}} |
cells["s"]=cell{parent=cells["x"],item={face="it-spring1"}} |
|
cells["?"]=cell{parent={cells[" "]},item={face="it-document", attr={text="Look carefully. A hidden treasure awaits you..."}}} |
|
117 |
|
|
118 |
cells["$"]=cell{parent={cells["."], {path_empty, {1}} }} |
cells["$"]=cell{parent={cells["."], {path_empty, {1}} }} |
119 |
cells["@"]=cell{parent={cells["$"], {path_train, {1}}, cells["_"]}} |
cells["@"]=cell{parent={cells["$"], {path_train, {1}}, cells["_"]}} |
132 |
"=xxxxxxxxxxxxxxxxxx==wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwWW......$$c@Y@@d$...W", |
"=xxxxxxxxxxxxxxxxxx==wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwWW......$$c@Y@@d$...W", |
133 |
"=xx O %ww=..............www..............Www%wwwwwwXwwwWwwwXwwwW", |
"=xx O %ww=..............www..............Www%wwwwwwXwwwWwwwXwwwW", |
134 |
"=x 9 ====...............w...............WWWW...wwwXXXXXXXXXwwwW", |
"=x 9 ====...............w...............WWWW...wwwXXXXXXXXXwwwW", |
135 |
"=x#a###############=..................w............WWWWWWW...wwwwwwwWwwwwwWWW", |
"=x#?###############=..................w............WWWWWWW...wwwwwwwWwwwwwWWW", |
136 |
"=x# !TvvvvvvvvvvvR&__................www...........wwwwww&wwwwwwwwwwWEwwwwe0W", |
"=x# !TvvvvvvvvvvvR&__................www...........wwwwww&wwwwwwwwwwWEwwwwe0W", |
137 |
"=x#o!|>>*>>>*>>>*>&____________-.....whw.........wwwwwwwDWWWWWWWWWWWWWWWWWWWW", |
"=x#o!|>>*>>>*>>>*>&____________-.....whw.........wwwwwwwDWWWWWWWWWWWWWWWWWWWW", |
138 |
"=x# !L^^^^^^^^^^^/&__................www...........wwwwww&wwwwwwwwwwWFwwwwf0W", |
"=x# !L^^^^^^^^^^^/&__................www...........wwwwww&wwwwwwwwwwWFwwwwf0W", |
139 |
"=x#b###############=..................w............WWWWWWW...wwwwwwwWwwwwwWWW", |
"=x#?###############=..................w............WWWWWWW...wwwwwwwWwwwwwWWW", |
140 |
"=x 9 ====...............w...............WWWW...wwwXXXXXXXXXwwwW", |
"=x 9 ====...............w...............WWWW...wwwXXXXXXXXXwwwW", |
141 |
"=xx %ww=..............www..............Www%wwwwwwXwwwWwwwXwwwW", |
"=xx %ww=..............www..............Www%wwwwwwXwwwWwwwXwwwW", |
142 |
"=sxxxxxxxxxxxxxxxxx==wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwWW......$$c@Y@@d$...W", |
"=sxxxxxxxxxxxxxxxxx==wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwWW......$$c@Y@@d$...W", |