################# ### VARIABLES ### ################# var int var_counter = 0; var int var_counter2 = 0; ############ ### MAIN ### ############ func void main(void) { gl_fog_red = .15 gl_fog_blue = .15 gl_fog_green = .15 gl_fog_start = .995 gs_farclipplane_set 5000 ui_suppress_prompt = 1 chr_auto_aim_dist = 0 menu2 start } ############# ### START ### ############# func void start(void) { fork deactivate_stuff if(save_point eq 0) save_point = 1 if(save_point eq 1) fork intro if (save_point eq 2) restore_game if (save_point eq 3) restore_game if (save_point eq 4) restore_game sleep 5 fork sp_all } func void deactivate_stuff(void) { #not used trigvolume_enable ending 0 trigvolume_enable ending2 0 trigvolume_enable sensor 0 trigvolume_enable final_sensor 0 trigvolume_enable spawn_kerr_trig 0 trigvolume_enable trap_music 0 trigvolume_enable tv_check_outro 0 trigvolume_enable tv_vat_monologue_1 0 trigvolume_enable tv_vat_monologue_2 0 trigvolume_enable lab1 0 trigvolume_enable lab1_copy 0 trigvolume_enable lab1_copy_copy 0 trigvolume_enable lab1_copy_copy2 0 trigvolume_enable lab1_copy_copy3 0 trigvolume_enable lab1_copy_copy4 0 trigvolume_enable lab1_copy_copy5 0 trigvolume_enable lab1_copy_copy6 0 trigvolume_enable lab1_copy_copy7 0 trigvolume_enable lab1_copy_copy8 0 trigvolume_enable lab1_copy_copy9 0 trigvolume_enable lab1_copy_copy10 0 trigvolume_enable lab1_copy_copy3_copy 0 trigvolume_enable lab1_copy_copy3_copy2 0 trigvolume_enable lab1_copy_copy3_copy3 0 trigvolume_enable lab1_copy_copy3_copy4 0 trigvolume_enable trigger_volume_02 0 trigvolume_enable trigger_volume_08_copy 0 trigvolume_enable trigger_volume_19 0 trigvolume_enable trigger_volume_19_copy2 0 trigvolume_enable trigger_volume_19_copy3 0 trigvolume_enable trigger_volume_19_copy4 0 trigvolume_enable trigger_volume_19_copy5 0 trigvolume_enable trigger_volume_19_copy6 0 trigvolume_enable trigger_volume_19_copy3_copy 0 trigvolume_enable trigger_volume_19_copy6_copy 0 trigvolume_enable trigger_volume_19_copy6_copy2 0 trigvolume_enable trigger_volume_19_copy7 0 trigvolume_enable trigger_volume_19_copy8 0 trigvolume_enable trigger_volume_37 0 trigvolume_enable trigger_volume_37_copy 0 trigvolume_enable trigger_volume_37_copy_copy 0 trigvolume_enable trigger_volume_37_copy_copy_copy 0 trigvolume_enable trigger_volume_37_copy_copy_copy2 0 trigvolume_enable trigger_volume_37_copy2 0 trigvolume_enable trigger_volume_37_copy3 0 trigvolume_enable trigger_volume_37_copy4 0 trigvolume_enable trigger_volume_45 0 trigvolume_enable trigger_volume_45_copy 0 trigvolume_enable trigger_volume_45_copy_copy 0 trigvolume_enable trigger_volume_45_copy_copy2 0 trigvolume_enable trigger_volume_45_copy_copy3 0 trigvolume_enable trigger_volume_45_copy_copy4 0 trigvolume_enable trigger_volume_45_copy_copy5 0 trigvolume_enable trigger_volume_45_copy_copy6 0 trigvolume_enable trigger_volume_53_copy 0 trigvolume_enable trigger_volume_53_copy_copy 0 trigvolume_enable trigger_volume_68 0 trigvolume_enable trigger_volume_69 0 trigvolume_enable trigger_volume_69_copy 0 trigvolume_enable trigger_volume_69_copy2 0 #used trigvolume_enable chase_trigger 0 trigvolume_enable end 0 trigvolume_enable Setup_Security_Trig 0 trigvolume_enable trigger_volume_02 0 trig_deactivate 2 trig_deactivate 3 trig_deactivate 4 obj_create 71 74 obj_create 401 409 env_anim 401 409 env_show 823 0 console_deactivate 9 } func void you_lose(string ai_name) { fade_out 0 0 0 30 sleep 30 lose } #################################### ### SEVERAL TIMES USED FUNCTIONS ### #################################### func void sp_all(void) { co_message_display = 0 if(save_point eq 1) save_game 1 autosave if(save_point eq 2) save_game 2 autosave if(save_point eq 3) save_game 3 autosave if(save_point eq 4) save_game 4 autosave sleep 180 co_message_display = 1 } func void remove_ai(void) { ai2_kill sleep 60 powerup_reset weapon_reset sleep 240 corpse_reset } func void music_stop(void) { sound_music_stop mus_space01 sound_music_stop mus_xtr1 } ########## ### SP1 ### ########## #tv55 - in some distance after the door 9 (fake door) (func: start_trap_music); I've disabled it func void intro(void) { playback 0 IntroKonstart particle lock100_locklight01 do stop door_lock 11 ai2_spawn OutroTCTF2 chr_changeteam OutroTCTF2 TCTF ai2_spawn Start_Lite_1 ai2_spawn IntroTCTF02 chr_teleport OutroTCTF2 1010 chr_teleport Start_Lite_1 1010 chr_teleport IntroTCTF02 1010 ai2_lookatme OutroTCTF2 ai2_lookatme Start_Lite_1 ai2_lookatme IntroTCTF02 env_show 271 1 env_show 272 1 env_shade 271 272 .4 .4 .2 objective_set 1 silent target_set 1261 30 sleep 1 sound_music_start mus_space01 0.8 ai2_attack OutroTCTF2 Konoko ai2_attack Start_Lite_1 Konoko ai2_attack IntroTCTF02 Konoko fork wait1 fork wait2 fork wait3 } func void wait1(void) { chr_wait_health OutroTCTF2 0 check_counter } func void wait2(void) { chr_wait_health Start_Lite_1 0 check_counter } func void wait3(void) { chr_wait_health IntroTCTF02 0 check_counter } func void check_counter(void) { var_counter = var_counter + 1 if(var_counter eq 3) { trigvolume_enable trigger_volume_02 1 particle lock99_locklight02 do start door_unlock 11 var_counter = 0 music_stop } } #tv1 - in front of door 11 (func: Setup_Pod1); I've disabled it ########## ### SP2 ### ########## #tv54 - after door 11 func void autosave_1(string player_name) { if(save_point eq 2) { objective_set 1 silent target_set 1261 30 } else save_game 2 autosave ai2_spawn Pod1_Scientist_1 ai2_spawn Pod1_Scientist_2 ai2_spawn Pod1_TCL_1 ai2_spawn Pod1_TCL_2 ai2_spawn Pod1_TCL_3 particle lab1 do start particle lab2 do start particle lab3 do start } func void patrolscript0001(string ai_name) { playback_block Pod1_TCL_1 alarm1 interp 20 } func void patrolscript0002(string ai_name) { playback_block Pod1_TCL_2 alarm2 interp 20 } #tv20 - in front of door 15 (func: lab1_stop); I've disabled it #tv19 - after door 15 (func: lab1_start); I've disabled it #tv28 - in front of door 14 (func: lab1_stop); I've disabled it #tv27 - after door 14 (func: lab1_start); I've disabled it #tv31 - in front of door 19 (func: lab1_start); I've disabled it #tv32 - after door 19 (func: lab1_stop); I've disabled it #tv24 - in front of door 18 (func: lab1_start); I've disabled it #tv33 - after door 18 (func: lab1_stop); I've disabled it #tv34 - in front of door 16 (enter func: lab1_stop, leave func: lab2_start); I've disabled it #tv25 - after door 16 (func: lab1_start); I've disabled it #tv23 - in front of door 17 (enter func: lab1_stop, leave func: lab2_start); I've disabled it #tv22 - after door 17 (func: lab1_start); I've disabled it #tv26 - in front of door 13 (func: lab1_start); I've disabled it #tv29 - after door 13 (func: lab1_stop); I've disabled it #tv21 - in front of door 12 (func: lab1_start); I've disabled it #tv30 - after door 12 (func: lab1_stop); I've disabled it #console1 func void Pod1_UnlockDoors(string ai_name) { particle lock1_locklight01 do start door_unlock 20 door_unlock 21 door_unlock 22 door_unlock 23 particle lock99_locklight02 do stop door_lock 11 particle alarm1_emlight01 do stop console_reset 10 } #hit func of Pod1_TCL_1 func void Pod1_RTAlarm_A(string ai_name) { ai2_doalarm Pod1_TCL_1 10 } #hit func of Pod1_TCL_2 func void Pod1_RTAlarm_B(string ai_name) { ai2_doalarm Pod1_TCL_2 10 } #console10 func void Pod1_Alarm(string ai_name) { door_unlock 11 particle lock99_locklight02 do start sleep 180 ai2_spawn Pod1_BOL_Alarm_1 ai2_spawn Pod1_BOL_Alarm_2 ai2_spawn pod1_a_1 ai2_spawn pod1_a_2 ai2_setalert Pod1_TCL_1 combat ai2_setalert Pod1_TCL_2 combat ai2_setalert Pod1_TCL_3 combat ai2_setalert Pod1_BOL_Alarm_1 combat ai2_setalert Pod1_BOL_Alarm_2 combat ai2_dopath Pod1_TCL_1 Pod1_Final_Guard_A ai2_dopath Pod1_TCL_2 Pod1_Final_Guard_B ai2_dopath Pod1_TCL_3 Pod1_Final_Guard_C ai2_dopath Pod1_Scientist_1 Pod1_Final_Sci_A ai2_dopath Pod1_Scientist_2 Pod1_Final_Sci_B ai2_setjobstate Pod1_TCL_1 ai2_setjobstate Pod1_TCL_2 ai2_setjobstate Pod1_TCL_3 ai2_setjobstate Pod1_Scientist_1 ai2_setjobstate Pod1_Scientist_2 ai2_tripalarm 11 Konoko particle lock1_locklight01 do stop door_lock 20 door_lock 21 door_lock 22 door_lock 23 particle alarm1_emlight01 do start console_reset 1 Pod_Alarm_Sound } #for the Pod_Alarm_Sound func see pod2 section #tv2 - huge box in front of door 20, door 21, door 22 and door 23 func void Pod2_Setup(string ai_name) { trig_activate 2 ai2_spawn Pod2_TCL_1 ai2_spawn Pod2_TCL_2 ai2_spawn Pod2_Sci_1 particle lock2_locklight01 do stop } func void patrolscript0003(string ai_name) { playback_block Pod2_TCL_1 pod2alarm1 interp 20 } func void patrolscript0004(string ai_name) { playback_block Pod2_TCL_2 pod2alarm2 interp 20 } #tv36 - in front of door 27 (enter func: lab2_start, leave func: lab3_stop); I've disabled it #tv40 - after of door 27 (enter func: lab2_stop, leave func: lab3_start); I've disabled it #tv39 - in front of door 26 (enter func: lab2_start, leave func: lab3_stop); I've disabled it #tv35 - after of door 26 (enter func: lab2_stop, leave func: lab3_start); I've disabled it #tv38 - in front of door 25 (enter func: lab2_start, leave func: lab3_stop); I've disabled it #tv41 - after of door 25 (enter func: lab2_stop, leave func: lab3_start); I've disabled it #tv37 - in front of door 24 (enter func: lab2_start, leave func: lab3_stop); I've disabled it #tv42 - after of door 24 (enter func: lab2_stop, leave func: lab3_start); I've disabled it #console2 func void Pod2_UnlockDoors(string ai_name) { door_unlock 28 door_unlock 29 door_unlock 30 door_unlock 31 door_lock 11 particle lock99_locklight02 do stop particle alarm2_emlight01 do stop particle lock2_locklight01 do start console_reset 11 } #hit func of Pod2_TCL_1 func void Pod2_RTAlarm_A(string ai_name) { ai2_doalarm Pod2_TCL_1 11 } #hit func of Pod2_TCL_2 func void Pod2_RTAlarm_B(string ai_name) { ai2_doalarm Pod2_TCL_2 11 } #console11 func void Pod2_Alarm(string ai_name) { door_unlock 11 particle lock99_locklight02 do start sleep 180 ai2_spawn Pod2_BOL_Alarm_1 ai2_spawn pod2_a_1 ai2_spawn pod2_a_2 ai2_setalert Pod2_TCL_1 high ai2_setalert Pod2_TCL_2 high ai2_setalert Pod2_BOS_1 high ai2_dopath Pod2_TCL_1 Pod2_End_TCL_1 ai2_dopath Pod2_TCL_2 Pod2_End_TCL_2 ai2_dopath Pod2_BOS_1 Pod2_End_BOS_1 ai2_dopath Pod2_Sci_1 Pod2_End_Sci_1 ai2_setjobstate Pod2_TCL_1 ai2_setjobstate Pod2_TCL_2 ai2_setjobstate Pod2_BOS_1 ai2_setjobstate Pod2_Sci_1 ai2_tripalarm 12 Konoko particle lock2_locklight01 do stop particle alarm2_emlight01 do start door_lock 28 door_lock 29 door_lock 30 door_lock 31 console_reset 2 Pod_Alarm_Sound } func void Pod_Alarm_Sound(void) { sound_ambient_start alarm_loop sleep 900 sound_ambient_stop alarm_loop } #tv3 - huge box in front of door 28, door 29, door 30 and door 31 func void Pod3_Setup(string ai_name) { ai2_spawn Pod3_BOS_1 ai2_spawn Pod3_BOS_2 ai2_spawn Pod3_BOL_1 trigvolume_enable Kerr_trig 1 } #tv44 - in front of door 35 (func: lab3_start); I've disabled it #tv46 - after of door 35 (enter func: lab3_stop); I've disabled it #tv48 - in front of door 34 (func: lab3_start); I've disabled it #tv47 - after of door 34 (enter func: lab3_stop); I've disabled it #tv50 - in front of door 33 (func: lab3_start); I've disabled it #tv45 - after of door 33 (enter func: lab3_stop); I've disabled it #tv49 - in front of door 32 (func: lab3_start); I've disabled it #tv43 - after of door 32 (enter func: lab3_stop); I've disabled it #tv9 - huge box from after door 33 and door 34 to the end of the room, where you find Kerr (no funcs); not used #tv75 - in front of door 59 (func KerrSpawn); I've disabled it #tv67 - complete room after door 59 func void Kerr(void) { trigvolume_enable Kerr_trig 0 if(save_point eq 3) { particle lab3 do start load_s3 } else console_activate 13 } func void patrolscript0009(string ai_name) { patrolscript0010 } func void patrolscript0010 (string ai_name) { particle lock99_locklight02 do start door_unlock 11 sleep 540 particle lock99_locklight02 do stop door_lock 11 } ########## ### SP3 ### ########## #console13 func void Kerr_Console(string ai_name) { give_powerup hypo 2 if(save_point ne 3) save_game 3 autosave trig_deactivate 2 load_s3 particle lock1_locklight01 do stop particle lock2_locklight01 do stop door_lock 28 door_lock 29 door_lock 30 door_lock 31 particle lab1 do stop particle lab2 do stop } func void load_s3(void) { particle lock4_locklight02 do start door_unlock 58 objective_set 2 silent target_set 366 30 } #tv4 - on the gangway in front of door 58 func void Setup_Lab(string ai_name) { ai2_spawn CS_ScanOps01 ai2_spawn LabHall_BOL_1 ai2_spawn LabHall_BOL_2 ai2_spawn LabHall_BOL_3 ai2_spawn LabHall_BOL_4 ai2_spawn LabHall_BOL_5 ai2_spawn Hall_TCS_33 ai2_spawn Lab1_Sci_1 ai2_spawn Lab1_Sci_2 ai2_spawn Lab2_Sci_1 ai2_spawn Lab2_Sci_2 ai2_spawn Lab3_Sci_1 ai2_spawn Lab3_Sci_2 particle part1 do start particle part2 do start } #tv52 - huge box after door 58 from the wall to the stairs; 1st and 2nd floor (enter func: part1_begin, leave func: part1_stop); I'vedisabled it #tv51 - after tv52 (enter func: part2_start, leave func: part2_stop); I'vedisabled it #tv14 - in front of door 6 and door 7 (func: spawn_kerr); I've disabled it #tv71 - in front of door 7 (no func); I've disabled it #tv73 - in front of door 7 (func: play_vat_monologue); I've disabled it #tv69 - in front of door 6 (no func); I've disabled it #tv74 - in front of door 6 (func: play_vat_monologue); I've disabled it #tv68 - complete scan lab (no func); I've disabled it #console5 func void Lab_Console_3(string ai_name) { ai2_spawn lab_BOS_3 ai2_tripalarm 1 Konoko particle lock5c_locklight01 do start particle labalarm3 do start door_check } #console4 func void Lab_Console_2(string ai_name) { ai2_spawn lab_BOS_2 ai2_tripalarm 1 Konoko particle lock5b_locklight01 do start particle labalarm2 do start door_check } #console3 func void Lab_Console_1(string ai_name) { ai2_spawn lab_BOS_1 ai2_tripalarm 1 Konoko particle lock5a_locklight01 do start particle labalarm1 do start door_check } func void door_check(void) { var_counter = var_counter + 1 if(var_counter eq 1) { particle lock4_locklight02 do stop door_lock 58 target_set 1009 30 particle lab3 do stop } if(var_counter eq 3) { door_unlock 6 door_unlock 7 var_counter = 0 } } ########## ### SP4 ### ########## #tv11 - complete scan lab func void scanner_start(void) { trigvolume_enable trigger_volume_13 0 if(save_point eq 4) { ai2_spawn CS_ScanOps01 particle lock5a_locklight01 do start particle lock5b_locklight01 do start particle lock5c_locklight01 do start door_unlock 6 door_unlock 7 console_deactivate 3 console_deactivate 4 console_deactivate 5 particle part1 do start particle part2 do start } else save_game 4 autosave objective_set 3 silent target_set 346 30 sleep 1 sound_music_start mus_xtr1 0.7 } #lose func of CS_ScanOps01 func void play_vat_monologue(string ai_name) { var_counter = var_counter + 1 if(var_counter eq 1) sound_dialog_play c13_66_01konoko } #console14 func void Lab_Unlock_Door_5(string ai_name) { particle lock6_locklight02 do start door_unlock 1 trigvolume_enable chase_trigger 1 trigvolume_enable Setup_Security_Trig 1 ai2_spawn Scan_BOS_1 ai2_spawn Scan_BOS_2 ai2_spawn Scan_BOS_3 ai2_spawn Scan_BOS_4 chr_teleport LabHall_BOL_5 272 chr_teleport Hall_TCS_33 7018 ai2_forget LabHall_BOL_5 ai2_forget Hall_TCS_33 ai2_dopath LabHall_BOL_1 Scan_BOL_1 ai2_dopath LabHall_BOL_2 Scan_BOL_2 ai2_dopath LabHall_BOL_3 Scan_BOL_3 ai2_dopath LabHall_BOL_4 Scan_BOL_4 ai2_dopath LabHall_BOL_5 Scan_BOL_5 ai2_dopath Hall_TCS_33 Scan_Hall_TCS_33 ai2_setjobstate LabHall_BOL_1 ai2_setjobstate LabHall_BOL_2 ai2_setjobstate LabHall_BOL_3 ai2_setjobstate LabHall_BOL_4 ai2_setjobstate Hall_TCS_33 fork get_her } func void get_her(string ai_name) { sleep 1800 ai2_tripalarm 5 Konoko ai2_dopath LabHall_BOL_1 get_her_1 ai2_dopath LabHall_BOL_2 get_her_2 ai2_setjobstate LabHall_BOL_1 ai2_setjobstate LabHall_BOL_2 sleep 1800 ai2_tripalarm 7 Konoko ai2_dopath LabHall_BOL_3 Scan_BOL_3 ai2_dopath LabHall_BOL_4 Scan_BOL_4 ai2_setjobstate LabHall_BOL_3 ai2_setjobstate LabHall_BOL_4 sleep 1800 ai2_tripalarm 9 Konoko ai2_dopath Scan_BOS_1 get_her_1 ai2_dopath Scan_BOS_2 get_her_2 ai2_setjobstate Scan_BOS_1 ai2_setjobstate Scan_BOS_2 sleep 1800 ai2_tripalarm 11 Konoko ai2_dopath Scan_BOS_3 get_her_3 ai2_dopath Scan_BOS_4 get_her_4 ai2_setjobstate Scan_BOS_3 ai2_setjobstate Scan_BOS_4 } #tv80 - in some distance after door 3 func void chase_after_scan(string ai_name) { play_vat_monologue ai2_dopath Scan_BOS_3 chase_after_3 ai2_dopath Scan_BOS_4 chase_after_4 ai2_setjobstate Scan_BOS_3 ai2_setjobstate Scan_BOS_4 ai2_tripalarm 11 Konoko sleep 1200 ai2_dopath Scan_BOS_1 chase_after_1 ai2_dopath Scan_BOS_2 chase_after_2 ai2_setjobstate Scan_BOS_1 ai2_setjobstate Scan_BOS_2 ai2_tripalarm 9 Konoko } #tv12 - in front of door 1 func void Setup_Security(string ai_name) { trigvolume_enable Ambush_Trigger_1 1 ai2_spawn Sec_BOL_1 ai2_spawn Sec_BOS_1 ai2_spawn Sec_BOS_2 trig_activate 3 trig_activate 4 music_stop } #console86 func void Unlock_Door_7(string ai_name) { particle lock7_locklight02 do start door_unlock 54 target_set 360 30 var_counter = 0 } #tv5 - in the middle between door 54 and door 36 func void Sec_Ambush_1(string ai_name) { fork remove_ai trig_deactivate 3 trig_deactivate 4 turret_deactivate 2 turret_deactivate 3 particle lock8_locklight02 do start door_unlock 36 door_unlock 37 particle lock7_locklight02 do stop door_lock 54 ai2_spawn Sec_Ambush_BOS_1 ai2_spawn Sec_Ambush_BOL_1 ai2_attack Sec_Ambush_BOS_1 Konoko ai2_attack Sec_Ambush_BOL_1 Konoko sleep 120 particle lock8_locklight02 do stop door_lock 36 particle part1 do stop particle part2 do stop } #tv72 - in front of door 36 (func: closethedoor); I've disabled it #tv6 - in front of tv72 func void Setup_Final(string ai_name) { ai2_spawn Final_BOS_1 ai2_spawn Final_BOL_1 ai2_spawn Final_Thug_1 ai2_spawn Final_Thug_2 } #lose func of Sec_Ambush_BOS_1 func void nextwave_1(string ai_name) { nextwave_2 } #lose func of Sec_Ambush_BOS_2 func void nextwave_2(string ai_name) { var_counter = var_counter + 1 if(var_counter eq 2) { particle vat1 do start particle vat2 do start particle vat3 do start particle vat4 do start particle lock8_locklight02 do start door_unlock 36 door_unlock 37 ai2_spawn Sec_Ambush_BOS_2 ai2_spawn Sec_Ambush_BOL_2 ai2_attack Sec_Ambush_BOS_2 Konoko ai2_attack Sec_Ambush_BOL_2 Konoko var_counter = 0 } } #tv13 - in the middle of the next room, from left to right func void set_objective_4(string chr_index) { objective_set 4 silent target_set 222 30 } #tv57 - in some distance in front of door 37 (func: vat1_start); I've disabled it #tv56 - after door 37 func void BeginVat(void) { sound_dialog_play c13_66_02konoko ai2_attack Final_BOL_1 Konoko } #tv79 - in front of tv58 func void mid_guards(string ai_name) { ai2_spawn Final_BOL_2 ai2_spawn Final_Thug_9 ai2_attack Final_BOL_2 Konoko } #tv58 - in front of tv62 (func: vat2_stop); I've disabled it #tv62 - in front of door 38 and door 39 (func: vat2_start); I've disabled it #tv18 - complete room, where you find console7 func void CraneTalk(void) { sound_dialog_play c13_66_03konoko } #console7 and console8 func void FTS(string ai_name) { var_counter = var_counter + 1 if(var_counter eq 2) console_activate 9 } #tv60 - in front of door 42 and door 43 (func: vat1_start); I've disabled it #tv59 - after door 42 and door 43 (func: vat1_stop); I've disabled it #tv61 - in front of tv64 (func: vat3_stop); I've disabled it #tv64 - in front of door 44 and door 45 (func: vat3_start); I've disabled it #tv76 - in front of tv63 func void end_guards(string ai_name) { ai2_spawn end_guard_1 ai2_spawn end_guard_2 ai2_spawn Final_Thug_10 } #tv63 - in front of door 48 and door 49 (func: vat2_start); I've disabled it #tv65 - after door 48 and door 49 (func: vat2_stop); I've disabled it #tv77 - complete last platform (no func); I've disabled it #tv78 - complete last platform (func: check_outro); I've disabled it #tv7 - complete last platform (no func); I've disabled it #tv8 - after door 51 (no func); I've disabled it #tv18 - at the end of the last platform, in front of the crusher (func: vat3_start); I've disabled it #tv66 - after tv18 (func: vat3_stop); I've disabled it #console9 func void final_check_for_crane(string ai_name) { fade_out 0 0 0 30 sleep 30 win } ### ACID FUNCTIONS ### #tv10 - 1st acid basin func void Acid01(string character) { var_counter2 = 1 acid(character) } #tv15 - 2nd acid basin func void Acid02(string character) { var_counter2 = 2 acid(character) } #tv16 - 3rd acid basin func void Acid03(string character) { var_counter2 = 3 acid(character) } #tv53 - 4th acid basin func void acid04(string character) { var_counter2 = 4 acid(character) } func void acid(string character) { if(chr_is_player(character) eq 1) { chr_animate(character, KONOKOacid); input 0 if(var_counter2 eq 1) cm_interpolate AcidCam01 500 if(var_counter2 eq 2) cm_interpolate AcidCam01 400 if(var_counter2 eq 3) cm_interpolate AcidCam01 200 if(var_counter2 eq 4) cm_interpolate AcidCam01 0 sleep 5 chr_invincible(character, 1); if(var_counter2 eq 1) sleep 525 if(var_counter2 eq 2) sleep 430 if(var_counter2 eq 3) sleep 230 if(var_counter2 eq 4) sleep 40 trigvolume_enable LastVat 0 chr_animate(character, KONOKOlev14_grinder); chr_envanim(character, GrinderKonBox01, norotation); sleep 60 sound_ambient_start c13_47_11_bonecrunch sleep 10 sound_impulse_play konoko_gruesome_death sleep 75 } else { chr_animate(character, KONOKOacid); sleep 10 } chr_set_health(character, 0); } ##################### ### TEXT CONSOLES ### ##################### func void level_14a(void) { text_console level_14a console_reset 12 } func void level_14b(void) { text_console level_14b console_reset 6 }