adding nolok keys and sample levels for forest key testing
[supertux.git] / data / levels / world2 / default.nut
1 function add_key(key)
2 {
3   local keys = state.world2_keys;
4   if (key == "air")
5     keys.air = true;
6   else if (key == "earth")
7     keys.earth = true;
8   else if (key == "wood")
9     keys.wood = true;
10   else if (key == "fire")
11     keys.fire = true;
12   else if (key == "water")
13     keys.water = true;
14   update_keys();
15 }
16
17 function get_water_key()
18 {
19   add_key("air");
20   end_level();
21 }
22 function get_earth_key()
23 {
24   add_key("earth");
25   end_level();
26 }
27 function get_wood_key()
28 {
29   add_key("wood");
30   end_level();
31 }
32 function get_fire_key()
33 {
34   add_key("fire");
35   end_level();
36 }
37 function get_air_key()
38 {
39   add_key("water");
40   end_level();
41 }
42
43 function level2_init()
44 {
45   add_key("air");
46   add_key("earth");
47   add_key("wood");
48   add_key("fire");
49   add_key("water");
50   Tux.deactivate();
51   Effect.sixteen_to_nine(2);
52   Text.set_text(translate("---Insert Cutscene Here---"));
53   Tux.walk(100);
54   Text.fade_in(2);
55   wait(4);
56   Text.fade_out(1);
57   wait(1);
58   Effect.four_to_three();
59   Tux.activate();
60 }
61
62 /***************************************
63  * Handling of the "keys" in the world *
64  ***************************************/
65 if(! ("world2_keys" in state))
66         state.world2_keys <- {}
67         
68 local keys = state.world2_keys;
69 if(! ("air" in keys))
70         keys.water <- false;
71 if(! ("earth" in keys))
72         keys.earth <- false;
73 if(! ("wood" in keys))
74         keys.wood <- false;
75 if(! ("fire" in keys))
76         keys.fire <- false;
77 if(! ("water" in keys))
78         keys.air <- false;
79
80 /// this function updates the key images (call this if tux has collected a key)
81 function update_keys()
82 {
83         local keys = state.world2_keys;
84         key_air.set_action(keys.water ? "display" : "outline");
85         key_earth.set_action(keys.earth ? "display" : "outline");
86         key_wood.set_action(keys.wood ? "display" : "outline");
87         key_fire.set_action(keys.fire ? "display" : "outline");
88         key_water.set_action(keys.air ? "display" : "outline");
89 }
90
91 local x = 10;
92 local y = 10;
93
94
95 key_air <- FloatingImage("images/objects/keys/key_air.sprite");
96 key_air.set_anchor_point(ANCHOR_TOP_LEFT);
97 key_air.set_pos(x, y);
98 key_air.set_visible(true);
99 x += 30;
100
101 key_earth <- FloatingImage("images/objects/keys/key_earth.sprite");
102 key_earth.set_anchor_point(ANCHOR_TOP_LEFT);
103 key_earth.set_pos(x, y);
104 key_earth.set_visible(true);
105 x += 30;
106
107 key_wood <- FloatingImage("images/objects/keys/key_wood.sprite");
108 key_wood.set_anchor_point(ANCHOR_TOP_LEFT);
109 key_wood.set_pos(x, y);
110 key_wood.set_visible(true);
111 x += 30;
112
113 key_fire <- FloatingImage("images/objects/keys/key_fire.sprite");
114 key_fire.set_anchor_point(ANCHOR_TOP_LEFT);
115 key_fire.set_pos(x, y);
116 key_fire.set_visible(true);
117 x += 30;
118
119 key_water <- FloatingImage("images/objects/keys/key_water.sprite");
120 key_water.set_anchor_point(ANCHOR_TOP_LEFT);
121 key_water.set_pos(x, y);
122 key_water.set_visible(true);
123 x += 30;
124
125 update_keys();