1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- //INITIALIZATION OF STATE VARIABLES
- key_names <- [ "darkness" "unlicensed"]
- if(!("keys" in state)){
- state.keys <- {};
- foreach(name in key_names){
- state.keys[name] <- false;
- }
- print("[DEBUG] key state initialized\n");
- }
- status <- state.keys;
- function set_darkness(night){
- dark.fade(night ? 0.6 : 0, 1);
- status.darkness <- night;
- save_keys();
- }
- function set_unlicensed(under){
- if(true||!(under && status.unlicensed)){
- speed <- 0.5;
- pathing.fade(under ? 0 : 1, speed);
- land_detail_far.fade(under ? 0 : 1, speed);
- land_detail_near.fade(under ? 0 : 1, speed);
- foreground_far.fade(under ? 0 : 1, speed);
- foreground_near.fade(under ? 0 : 1, speed);
- map.fade(under ? 0 : 1, speed);
- exit.fade(under ? 0 : (outpath ? 1 : 1), speed);
- noexit.fade(under ? 0 : (outpath ? 0 : 0), speed);
- u_pathing.fade(under ? 1 : 0, speed);
- u_map.fade(under ? 1 : 0, speed);
- u_background.fade(under ? 1 : 0, speed);
- u_foreground.fade(under ? 1 : 0, speed);
- status.unlicensed <- under;
- save_keys();
- //print("[DEBUG] un "+under+"\n");
- play_music(under ? "music/voc-night.music" : "music/voc-daytime2.music");
- }
- }
- function query(item){return status[item];}
- function fire_bonus(){
- Tux.deactivate();
- Tux.add_bonus("fireflower");
- play_sound("sounds/fire-flower.wav");
- print("fire bonus added\n");
- wait(1);
- Effect.fade_out(2);
- wait(2);
- Level.finish(true);
- }
- function ice_bonus(){
- Tux.deactivate();
- Tux.add_bonus("iceflower");
- play_sound("sounds/fire-flower.wav");
- print("ice bonus added\n");
- wait(1);
- Effect.fade_out(2);
- wait(2);
- Level.finish(true);
- }
- function save_keys(){state.keys <- status;}
- function reset_keys(){
- foreach(name in key_names){
- status[name] <- false;
- }
- save_keys();
- }
- if("map" in this){
- outpath <- state.worlds["/levels/bonus3/worldmap.stwm"].levels["sever_escape.stl"].solved;
- set_darkness(status.darkness);
- set_unlicensed(status.unlicensed);
- wait(0.1);
- if(!status.unlicensed){
- exit.fade(outpath ? 1 : 0, 0);
- noexit.fade(outpath ? 0 : 1, 0);
- }
- //print("[DEBUG] map set\n");
- }
|