################# ### VARIABLES ### ################# var int var_counter = 0; ############ ### MAIN ### ############ func void main(void) { gl_fog_red = 0 gl_fog_blue = 0 gl_fog_green = 0 gl_fog_start = .995 gs_farclipplane_set 5000 ui_suppress_prompt = 1 chr_auto_aim_dist = 0 start } ############# ### START ### ############# func void start(string ai_name) { 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 sleep 5 fork sp_all } func void deactivate_stuff(void) { #not used console_deactivate 4 if(save_point > 1) chr_delete civ_victim_1 trigvolume_enable bayparticles1 0 trigvolume_enable bayparticles1_copy 0 trigvolume_enable exhaust 0 trigvolume_enable exhaust_copy 0 trigvolume_enable save_game_2 0 #used console_deactivate 2 door_lock 3 particle fx1 do start particle fx2 do start particle fx3 do start particle fx4 do start particle fx5 do start particle fx6 do start particle exhaust create particle tarmacfire do start trigvolume_enable stop_booth_music_tv 1 } 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 sleep 180 co_message_display = 1 } func void music_stop(void) { sound_music_stop mus_asian sound_music_stop atm_gr06 sound_music_stop mus_fitec_hd } #tv25 to tv41 func void fire_damage(string ai_name) { chr_poison (ai_name, 5, 30, 30); } ########## ### SP1 ### ########## func void intro(void) { particle tctf1 do start particle auto1 do start particle auto1fire do start particle auto1spark do start particle door1spark do start trigvolume_enable hidden1 1 trigvolume_enable hidden2 1 playback 0 IntroKonoko01 chr_inv_reset 0 ai2_spawn IntroStriker01 ai2_spawn IntroStriker02 objective_set 1 silent target_set 1095 30 sleep 1 sound_music_start mus_asian 0.8 2.0 sound_dialog_play_block c00_01_22shinatama sound_dialog_play c00_01_28shinatama } #tv 17 and 18 - across the street near the burning car func void hidden_civilian1(string ai_name) { ai2_spawn hidden_civ_1 } #hit func of IntroStriker01 func void hide_1(string char_index) { ai2_spawn civ_victim_5 playback_block civ_victim_5 civ_victim5_flee interp 30 ai2_dopath civ_victim_5 civ_victim_5 } #lose func of IntroStriker01 func void striker_lullaby_1(string ai_name) { striker_lullaby_2 } #lose func of IntroStriker02 func void striker_lullaby_2(string ai_name) { var_counter = var_counter + 1 if(var_counter eq 2) { if(save_point eq 3) { particle door3_locklight01 do start door_unlock 14 } music_stop } } #tv 22 - in some distance after the 1st passage func void panic1a(string char_index) { ai2_spawn civ_victim_6 playback civ_victim_6 civ_victim6_flee interp 30 ai2_spawn civ_victim_4 playback civ_victim_4 civ_victim4_flee interp 30 sleep 30 ai2_spawn Intro_Striker_4 playback Intro_Striker_4 striker4_advance interp 30 ai2_spawn Intro_Comguy_1 } #tv10 - after the 2nd passage func void panic1b(string char_index) { ai2_passive Intro_Striker_4 1 ai2_spawn civ_victim_2 ai2_spawn civ_victim_3 playback civ_victim_3 civ_victim3_flee interp 30 sleep 120 ai2_spawn Intro_Striker_3 ai2_attack Intro_Striker_3 civ_victim_2 ai2_spawn Friend_Thug_1 ai2_spawn Neutral_Thug_1 ai2_spawn Neutral_Thug_3 chr_delete civ_victim_4 chr_delete civ_victim_6 } #tv11 - after the 3rd passage func void horror_1(string char_index) { ai2_passive Intro_Striker_4 0 ai2_spawn civ_victim_10 ai2_spawn civ_victim_11 ai2_spawn civ_victim_20 ai2_spawn civ_victim_21 } #console1 func void change_terminaldoor_light(void) { particle door1_locklight01 do start door_unlock 3 music_stop } #tv13 - after door 2 func void ambush_striker_1(string char_index) { ai2_spawn Terminal_Striker_1 ai2_spawn Terminal_Striker_2 ai2_spawn mad_bomber_1 obj_create 991 992 } #hit func of Terminal_Striker_1 func void civ_victim_20s_flee(string char_index) { ai2_dopath civ_victim_20 civ20s_flee1 ai2_dopath civ_victim_21 civ20s_flee2 } #tv14 - in some distance after door 3 func void mad_bomber_bait(string char_index) { ai2_dopath mad_bomber_1 bomber_flee 1 } func void patrolscript0200(string char_index) { chr_delete mad_bomber_1 } #tv4 - in some distance after tv14 func void LoadingBay1(string char_index) { ai2_spawn LoadingBay_Thug_1 ai2_spawn LoadingBay_Thug_2 ai2_spawn LoadingBay_Striker_2 ai2_spawn LoadingBay_Comguy_1 objective_set 2 silent sound_dialog_play c00_01_19shinatama } #tv15 - after tv14 in front of the ramp func void bomber_boom(string char_index) { particle bomb1 do explode obj_kill 991 992 sleep 300 particle bomb1 stop } #tv8 - the complete floor of the hall func void set_target_3(string chr_index) { particle door1_locklight01 do stop door_lock 3 particle tctf1 do stop particle auto1 do stop particle auto1fire do stop particle auto1spark do stop particle door1spark do stop chr_delete civ_victim_1 chr_delete civ_victim_2 chr_delete civ_victim_3 chr_delete civ_victim_5 chr_delete civ_victim_10 chr_delete civ_victim_11 chr_delete civ_victim_20 chr_delete civ_victim_21 target_set 1109 30 sound_dialog_play c00_01_26shinatama } ########## ### SP2 ### ########## #tv3 - after the passage from the hall to the runway func void save_point_2(string player_name) { if(save_point eq 2) { trigvolume_enable bomberboom 0 trigvolume_enable madbomberbait 0 trigvolume_enable trigger_volume_03 0 target_set 1109 30 objective_set 2 silent sleep 1 sound_dialog_play_block c00_01_19shinatama sound_dialog_play c00_01_26shinatama } else save_game 2 autosave ai2_spawn Tarmac_Striker_1 ai2_spawn Tarmac_Striker_2 ai2_spawn Tarmac_Striker_3 ai2_spawn Tarmac_Striker_4 ai2_spawn Tarmac_Friend_1 ai2_spawn LoadingBay_Striker_1 sound_music_start atm_gr06 1 var_counter = -4 } #lose func of Tarmac_Striker_3 func void progress_check_1(string ai_name) { progress_check_4 } #lose func of Tarmac_Striker_2 func void progress_check_2(string ai_name) { progress_check_4 } #tv19 - on the left side; over the complete runway from left to right; in front of the nose of the airplane func void back9a(string ai_name) { ai2_spawn hidden_striker1 } #tv23 - on the right side; over the complete runway from left to right; under the engines of the airplane # (entry func: bay1_particles; exit func: bay2_particles); I've disabled it #tv22 - after tv23 (entry func: bay2_particles; exit func: bay1_particles); I've disabled it #tv20 - in front of the first shack; over the complete runway from left to right func void back9b(string ai_name) { ai2_spawn hidden_striker2 } #tv9 - big block; where the to ways down to the hall starts to the windows func void set_target_4(string chr_index) { target_set 1112 30 sound_dialog_play c00_01_25shinatama } #tv6 - in front of the passage to the hall func void BayTwo1(string char_index) { ai2_dopath Tarmac_Striker_2 come_to_me 1 ai2_dopath Tarmac_Striker_3 come_to_me 1 ai2_dopath mad_bomber_2 come_to_me 1 ai2_spawn BayTwo_Striker_1 ai2_spawn hidden_friend2 ai2_spawn mad_bomber_2 music_stop } #lose func of mad_bomber_2 func void progress_check_3(string ai_name) { progress_check_4 } #lose func of BayTwo_Striker_1 func void progress_check_4(string ai_name) { var_counter = var_counter + 1 } #tv42 - after tv6 (entry func: exhaust_off; exit func: exhaust_on); I've disabled it #tv43 - after tv42 (entry func: exhaust_on; exit func: exhaust_off); I've disabled it #tv16 - at the end of the ramp; in front of door 6 (entry func: set_target_5; inside func: save_point_3); I've disabled it ########## ### SP3 ### ########## #tv44 - at the same place as tv16 func void second_coming(string ai_name) { if(var_counter eq 0) { if(save_point eq 3) { trigvolume_enable back9 0 trigvolume_enable back9_copy 0 trigvolume_enable bomberboom 0 trigvolume_enable madbomberbait 0 trigvolume_enable tarmac 0 trigvolume_enable trigger_volume_03 0 trigvolume_enable trigger_volume_08 0 trigvolume_enable trigger_volume_10 0 trigvolume_enable trigger_volume_11 0 objective_set 2 silent } else save_game 3 autosave trigvolume_enable secondcoming 0 ai2_spawn TerminalTwo_Striker_1 ai2_spawn TerminalTwo_Striker_2 door_unlock 6 particle door7_locklight01 do start particle lock2_locklight01 do start target_set 1115 30 sleep 1 sound_dialog_play c00_01_24shinatama } else { ai2_dopath Tarmac_Striker_2 come_to_me 1 ai2_dopath Tarmac_Striker_3 come_to_me 1 ai2_dopath mad_bomber_2 come_to_me 1 } } func void patrolscript000(string ai_name) { particle lock2_locklight01 do start door_unlock 6 } #tv1 - after door 7 func void Booth(string wazzzup) { ai2_spawn BoothStriker01 ai2_spawn BoothStriker02 playback BoothStriker01 BoothStriker01 playback BoothStriker02 BoothStriker02 sound_music_start mus_asian 0.8 target_set 0 0 door_lock 10 } #lose func of BoothStriker01 func void console_2_activate(string char_index) { console_activate 2 } #console 2 func void change_door2_light(void) { door_lock 7 particle door7_locklight01 do stop particle door2_locklight01 do start console_deactivate 2 objective_set 3 silent target_set 1139 30 sound_dialog_play_block c00_01_18shinatama sound_dialog_play c00_01_28shinatama } #tv5 - after door 10 func void Repair1(string char_index) { ai2_spawn Repair_Striker_1 ai2_spawn Repair_Comguy_1 ai2_spawn alamo_thug_1 } #tv24 - after door 11 func void stop_booth_music(string who) { music_stop } #tv21 - at the beginning of the stairs to door 13 func void Repair2(string char_index) { ai2_spawn Repair_Striker_2 ai2_spawn Repair_Comguy_2 } #console 3 func void final_ambush(string char_index) { sound_music_start mus_fitec_hd 0.91 particle door3_locklight01 do start door_unlock 14 ai2_spawn finalam_striker_1 ai2_spawn finalam_striker_2 ai2_setmovementmode finalam_striker_1 walk ai2_setmovementmode finalam_striker_2 walk playback finalam_striker_1 finalam_striker1 playback finalam_striker_2 finalam_striker2 sleep 240 particle door3_locklight01 do stop door_lock 14 ai2_dopath finalam_striker1 finalam_1 1 ai2_dopath finalam_striker2 finalam_2 1 } #for the open door func see func: striker_lullaby_2 #tv12 - on the stairs to door 12 (entry func: i_uh_heheheh); it's disabled and I didn't enabled it #tv7 - after door 14 func outro(string wazzup) { fade_out 0 0 0 30 sleep 30 win } ##################### ### TEXT CONSOLES ### ##################### func void level_4a(void) { text_console level_4a console_reset 7 } func void level_4b(void) { text_console level_4b console_reset 7 } func void level_4c(void) { text_console level_4c console_reset 8 }