Small script fixes
[supertux.git] / data / levels / world2 / default.nut
1 function add_key(key)
2 {
3   local keys = state.world2_keys;
4   if (key == "brass")
5     keys.brass = true;
6   else if (key == "iron")
7     keys.iron = true;
8   else if (key == "bronze")
9     keys.bronze = true;
10   else if (key == "silver")
11     keys.silver = true;
12   else if (key == "gold")
13     keys.gold = true;
14   update_keys();
15 }
16
17 function get_gold_key()
18 {
19   add_key("gold");
20   end_level();
21 }
22
23 function level2_init()
24 {
25   add_key("brass");
26   add_key("iron");
27   Tux.deactivate();
28   Effect.sixteen_to_nine(2);
29   Text.set_text(translate("---Insert Cutscene Here---"));
30   Tux.walk(100);
31   Text.fade_in(2);
32   wait(4);
33   Text.fade_out(1);
34   wait(1);
35   Effect.four_to_three();
36   Tux.activate();
37 }
38
39 /***************************************
40  * Handling of the "keys" in the world *
41  ***************************************/
42 if(! ("world2_keys" in state))
43         state.world2_keys <- {}
44         
45 local keys = state.world2_keys;
46 if(! ("brass" in keys))
47         keys.brass <- false;
48 if(! ("iron" in keys))
49         keys.iron <- false;
50 if(! ("bronze" in keys))
51         keys.bronze <- false;
52 if(! ("silver" in keys))
53         keys.silver <- false;
54 if(! ("gold" in keys))
55         keys.gold <- false;
56
57 /// this function updates the key images (call this if tux has collected a key)
58 function update_keys()
59 {
60         local keys = state.world2_keys;
61         key_brass.set_action(keys.brass ? "display" : "outline");
62         key_iron.set_action(keys.iron ? "display" : "outline");
63         key_bronze.set_action(keys.bronze ? "display" : "outline");
64         key_silver.set_action(keys.silver ? "display" : "outline");
65         key_gold.set_action(keys.gold ? "display" : "outline");
66 }
67
68 local x = 10;
69 local y = 10;
70
71 key_brass <- FloatingImage("images/objects/keys/key_brass.sprite");
72 key_brass.set_anchor_point(ANCHOR_TOP_LEFT);
73 key_brass.set_pos(x, y);
74 key_brass.set_visible(true);
75 x += 30;
76
77 key_iron <- FloatingImage("images/objects/keys/key_iron.sprite");
78 key_iron.set_anchor_point(ANCHOR_TOP_LEFT);
79 key_iron.set_pos(x, y);
80 key_iron.set_visible(true);
81 x += 30;
82
83 key_bronze <- FloatingImage("images/objects/keys/key_bronze.sprite");
84 key_bronze.set_anchor_point(ANCHOR_TOP_LEFT);
85 key_bronze.set_pos(x, y);
86 key_bronze.set_visible(true);
87 x += 30;
88
89 key_silver <- FloatingImage("images/objects/keys/key_silver.sprite");
90 key_silver.set_anchor_point(ANCHOR_TOP_LEFT);
91 key_silver.set_pos(x, y);
92 key_silver.set_visible(true);
93 x += 30;
94
95 key_gold <- FloatingImage("images/objects/keys/key_gold.sprite");
96 key_gold.set_anchor_point(ANCHOR_TOP_LEFT);
97 key_gold.set_pos(x, y);
98 key_gold.set_visible(true);
99 x += 30;
100
101 update_keys();