BSL:Tutorial/airport1 level logic.bsl: Difference between revisions

trying to make this a little bit less pointless ^_^
m (adding new "hands-off" template)
(trying to make this a little bit less pointless ^_^)
Line 1: Line 1:
{{Nochange}}
{|align=right
<pre>### AIRPORT 1 LEVEL LOGIC ###
|__TOC__
|}
=### AIRPORT 1 LEVEL LOGIC ###=
==### START, SAVE & OBJECTIVES ###==
===func func_start===
func void func_start(string ai_name)
{
[[dprint]] start_active
[[trigvolume_enable]] hidden1 1
trigvolume_enable hidden1 1
if ([[save_point]] eq 0)
{
my_save_point=0;
[[particle]] auto1 start
particle auto1fire start
particle auto1spark start
particle door1spark start
particle tctf1 start
}
if (save_point eq 1)
{
my_save_point=1;
[[env_show]] 10 1
env_show 11 1
env_show 12 1
dprint restore1_active
particle auto1 start
particle auto1fire start
particle auto1spark start
particle door1spark start
particle tctf1 start
[[sound_music_start]] mus_asian 0.5
music_script_start();
[[ai2_spawn]] IntroStriker01
ai2_spawn IntroStriker02
[[restore_game]]
[[sleep]] 30
set_target_1
set_objective_1
}
if (save_point eq 2)
{
my_save_point=2;
dprint restore_2
particle fx3 do start
particle exhaust create
[[BSL:Tutorial/airport1_level_logic.bsl#func Tarmac1|Tarmac1]]
trigvolume_enable tarmac 0
trigvolume_enable trigger_volume_03 0
trigvolume_enable bomberboom 0
trigvolume_enable madbomberbait 0
[[door_lock]] 3
[[obj_kill]] 991 992
restore_game
sleep 30
set_target_3
set_objective_2
}
if (save_point eq 3)
{
my_save_point=3;
dprint restore3_active
door_lock 3
[[door_unlock]] 6
particle lock1_locklight01 do stop
particle lock2_locklight01 do start
[[console_deactivate]] 5
particle door7_locklight01 do start
particle door2_locklight01 do start
console_deactivate 6
trigvolume_enable trigger_volume_02 0
trigvolume_enable trigger_volume_03 0
trigvolume_enable trigger_volume_04 0
trigvolume_enable trigger_volume_08 0
trigvolume_enable trigger_volume_10 0
trigvolume_enable trigger_volume_11 0
trigvolume_enable save_game 0
trigvolume_enable secondcoming 0
TerminalTwo1
particle auto1 stop
particle auto1fire stop
particle auto1spark stop
particle door1spark stop
particle tctf1 stop
ai2_spawn TerminalTwo_Striker_1
ai2_spawn TerminalTwo_Striker_2
particle fx4 do start
particle fx5 do start
particle fx6 do start
particle fx1 do stop
particle fx2 do stop
particle fx3 do stop
music_script_start();
restore_game
sleep 30
set_objective_3
set_target_5
}
}
===func you_lose===
func void you_lose(string ai_name)
{
[[BSL:Tutorial/airport1_level_logic.bsl#func all_music_counters|all_music_counters]]
[[sleep]] 240
[[fade_out]] 0 0 0 180
[[sleep]] 240
[[lose]]
}


### START, SAVE & OBJECTIVES ###
===func you_win===
func void you_win(int char_index)
{
[[BSL:Tutorial/airport1_level_logic.bsl#func all_music_counters|all_music_counters]]
[[win]]
}
func void save_point_1(string player_name)
{
dprint save_point_1_active
save_game 1 autosave
}
func void save_point_2(string player_name)
{
dprint save_point_2_active
save_game 2 autosave
}
func void save_point_3(string player_name)
{
dprint save_point_3_active
save_game 3 autosave
ai2_spawn TerminalTwo_Striker_1
ai2_spawn TerminalTwo_Striker_2
particle fx5 do start
particle fx6 do start
particle fx3 do stop
door_unlock 6
particle door7_locklight01 do start
particle lock2_locklight01 do start
particle door2_locklight01 do start
}


func void func_start(string ai_name)
===func set_objective_1===
{
func void set_objective_1(string chr_index)
dprint start_active
{
[[dprint]] objective_1
[[objective_set]](1)
[[sound_dialog_play]] c00_01_22shinatama
}
===func set_objective_2===
func void set_objective_2(string chr_index)
{
[[dprint]] objective_2
[[objective_set]](2)
[[sound_dialog_play]] c00_01_19shinatama
}
===func set_objective_3===
func void set_objective_3(string chr_index)
{
[[dprint]] objective_3
[[objective_set]](3)
[[console_deactivate]] 2
[[sound_dialog_play]] c00_01_18shinatama
}
===func set_objective_4===
func void set_objective_4(string chr_index)
{
dprint objective_4
objective_set(4)
sound_dialog_play c00_01_20shinatama
}
===func set_target_1===
func void set_target_1(string chr_index)
{
dprint set_target1
target_set(1095, 30.0)
sound_dialog_play c00_01_28shinatama
}
===func set_target_2===
func void set_target_2(string chr_index)
{
dprint set_target2
target_set(1132, 30.0)
sound_dialog_play c00_01_27shinatama
}
===func set_target_3===
func void set_target_3(string chr_index)
{
dprint set_target3
target_set(1109, 30.0)
sound_dialog_play c00_01_26shinatama
}
===func set_target_4===
func void set_target_4(string chr_index)
{
dprint set_target4
target_set(1112, 30.0)
sound_dialog_play c00_01_25shinatama
}
===func set_target_5===
func void set_target_5(string chr_index)
{
dprint set_target5
target_set(1115, 30.0)
sound_dialog_play c00_01_24shinatama
}
===func set_target_6===
func void set_target_6(string chr_index)
{
[[dprint]] set_target6
[[target_set]](1139, 30.0)
[[sound_dialog_play]] c00_01_28shinatama
}
===func set_target_blank===
func void set_target_blank(string chr_index)
{
[[dprint]] set_targetblank
[[target_set]](0, 0.0)
}


trigvolume_enable hidden1 1
==### MUSIC ###==
trigvolume_enable hidden1 1
===var music_counter===
var int music_counter;
===func music_force_stop===
func void music_force_stop(void)
{
[[sleep]] 4500
[[if]] (0 ne [[BSL:Tutorial/airport1_level_logic.bsl#var music_counter|music_counter]])
{
[[dprint]] music_force_stop
music_counter = 0
[[BSL:Tutorial/airport1_level_logic.bsl#func all_music_counters|all_music_counters]]
}
}
===func music_script_start===
func void music_script_start(void)
{
[[BSL:Tutorial/airport1_level_logic.bsl#var music_counter|music_counter]] = 2
}
===func striker_lullaby_1===
func void striker_lullaby_1(string ai_name)
{
[[dprint]] striker_lullaby1
[[BSL:Tutorial/airport1_level_logic.bsl#var music_counter|music_counter]] = music_counter - 1
[[if]] (music_counter eq 0)
{
[[BSL:Tutorial/airport1_level_logic.bsl#func all_music_counters|all_music_counters]]();
[[sleep]] f120
}
}
===func striker_lullaby_2===
func void striker_lullaby_2(string ai_name)
{
[[dprint]] striker_lullaby2
[[BSL:Tutorial/airport1_level_logic.bsl#var music_counter|music_counter]] = music_counter - 1
[[if]] (music_counter eq 0)
{
[[BSL:Tutorial/airport1_level_logic.bsl#func all_music_counters|all_music_counters]]();
[[sleep]] f120
}
}
===func all_music_counters===
func void all_music_counters(void)
{
[[dprint]] STOP_THE_MUSIC
[[sound_music_stop]] mus_fitec_hd
sound_music_stop mus_fitec
sound_music_stop mus_fiteb
sound_music_stop mus_asian
sound_music_stop atm_gr06
}


if (save_point eq 0)
==### TEXT CONSOLES ###==
{
===func level_4a===
my_save_point=0;
func void level_4a(void)
particle auto1 start
{
particle auto1fire start
[[dprint]] set_text_4a
particle auto1spark start
[[text_console]] level_4a
particle door1spark start
[[console_reset]] 7
particle tctf1 start
}
}


if (save_point eq 1)
===func level_4b===
{
func void level_4b(void)
my_save_point=1;
{
env_show 10 1
[[dprint]] set_text_4b
env_show 11 1
[[text_console]] level_4b
env_show 12 1
[[console_reset]] 7
dprint restore1_active
}
particle auto1 start
particle auto1fire start
particle auto1spark start
particle door1spark start
particle tctf1 start
sound_music_start mus_asian 0.5
music_script_start();
ai2_spawn IntroStriker01
ai2_spawn IntroStriker02
restore_game
sleep 30
set_target_1
set_objective_1
}


if (save_point eq 2)
===func level_4c===
{
func void level_4c(void)
my_save_point=2;
{
dprint restore_2
[[dprint]] set_text_4c
particle fx3 do start
[[text_console]] level_4c
particle exhaust create
[[console_reset]] 8
Tarmac1
}
trigvolume_enable tarmac 0
trigvolume_enable trigger_volume_03 0
trigvolume_enable bomberboom 0
trigvolume_enable madbomberbait 0
door_lock 3
obj_kill 991 992
restore_game
sleep 30
set_target_3
set_objective_2
}
if (save_point eq 3)
{
my_save_point=3;
dprint restore3_active
door_lock 3
door_unlock 6
particle lock1_locklight01 do stop
particle lock2_locklight01 do start
console_deactivate 5
particle door7_locklight01 do start
particle door2_locklight01 do start
console_deactivate 6
trigvolume_enable trigger_volume_02 0
trigvolume_enable trigger_volume_03 0
trigvolume_enable trigger_volume_04 0
trigvolume_enable trigger_volume_08 0
trigvolume_enable trigger_volume_10 0
trigvolume_enable trigger_volume_11 0
trigvolume_enable save_game 0
trigvolume_enable secondcoming 0
TerminalTwo1
particle auto1 stop
particle auto1fire stop
particle auto1spark stop
particle door1spark stop
particle tctf1 stop
ai2_spawn TerminalTwo_Striker_1
ai2_spawn TerminalTwo_Striker_2
particle fx4 do start
particle fx5 do start
particle fx6 do start
particle fx1 do stop
particle fx2 do stop
particle fx3 do stop
music_script_start();
restore_game
sleep 30
set_objective_3
set_target_5
}
}


func void you_lose(string ai_name)
==### GAMEPLAY PROGRESSION ###==
{
===func FixDoors===
all_music_counters
func void FixDoors(string char_index)
sleep 240
{
fade_out 0 0 0 180
[[dprint]] Fix_Doors
sleep 240
[[particle]] door2_locklight01 do stop
lose
[[door_lock]] 10
}
}
===func hidden_civilian1===
func void hidden_civilian1(string ai_name)
{
dprint hidden_civilian
ai2_spawn hidden_civ_1
}
===func panic1a===
func void panic1a(string char_index)
{
dprint panic_1a
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
}
===func panic1b===
func void panic1b(string char_index)
{
dprint panic_1b
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
particle fx1 do start
particle fx2 do start
chr_delete civ_victim_4
chr_delete civ_victim_6
}
===func hide_1===
func void hide_1(string char_index)
{
dprint hide1
ai2_spawn civ_victim_5
playback_block civ_victim_5 civ_victim5_flee interp 30
ai2_dopath civ_victim_5 civ_victim_5
}
===func horror_1===
func void horror_1(string char_index)
{
[[dprint]] horror1
[[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
[[particle]] fx1 do start
particle fx2 do start
}
===func ambush_striker_1===
func void ambush_striker_1(string char_index)
{
[[dprint]] ambush_1
[[ai2_spawn]] Terminal_Striker_1
ai2_spawn Terminal_Striker_2
ai2_spawn mad_bomber_1
[[obj_create]] 991 992
}
===func civ_victim_20s_flee===
func void civ_victim_20s_flee(string char_index)
{
[[dprint]] civ_victim_20s
[[ai2_dopath]] civ_victim_20 civ20s_flee1
ai2_dopath civ_victim_21 civ20s_flee2
}


func void you_win(int char_index)
===func LoadingBay1===
{
func void LoadingBay1(string char_index)
all_music_counters
{
win
[[dprint]] spawn_guards
}
[[ai2_spawn]] LoadingBay_Thug_1
ai2_spawn LoadingBay_Thug_2
ai2_spawn LoadingBay_Striker_2
ai2_spawn LoadingBay_Comguy_1
[[particle]] fx3 do start
}


func void save_point_1(string player_name)
===func bomber_boom===
{
func void bomber_boom(string char_index)
dprint save_point_1_active
{
save_game 1 autosave
[[dprint]] bomberboom
}
[[particle]] bomb1 do explode
[[obj_kill]] 991 992
[[sleep]] 300
particle bomb1 stop
}


func void save_point_2(string player_name)
===func mad_bomber_bait===
{
func void mad_bomber_bait(string char_index)
dprint save_point_2_active
{
save_game 2 autosave
dprint bomber_bait
}
ai2_dopath mad_bomber_1 bomber_flee 1
}
===func patrolscript0200===
func void patrolscript0200(string char_index)
{
dprint bomber1_death
chr_delete mad_bomber_1
}
===func Tarmac1===
func void Tarmac1(string char_index)
{
dprint spawn_guards
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 0.75
particle tarmacfire do start
particle exhaust create
}
===func back9a===
func void back9a(string ai_name)
{
dprint hidden_striker1
ai2_spawn hidden_striker1
}
===func back9b===
func void back9b(string ai_name)
{
dprint hidden_striker1
ai2_spawn hidden_striker2
}
===func bay1_particles===
func void bay1_particles(void)
{
dprint bay1_fires_on
particle fx3 do start
particle fx4 do stop
}
===func fire_damage===
func void fire_damage(string ai_name)
{
[[dprint]] fire_hurt_konoko
[[chr_poison]] (ai_name, 5, 30, 30);
}
===func bay2_particles===
func void bay2_particles(void)
{
[[dprint]] bay2_fires_on
[[particle]] fx3 do stop
particle fx4 do start
}


func void save_point_3(string player_name)
===# COME TO ME===
{
====func come_to_me====
dprint save_point_3_active
func void come_to_me(string ai_name)
save_game 3 autosave
{
ai2_spawn TerminalTwo_Striker_1
dprint go_to_konoko
ai2_spawn TerminalTwo_Striker_2
ai2_dopath Tarmac_Striker_2 come_to_me 1
particle fx5 do start
ai2_dopath Tarmac_Striker_3 come_to_me 1
particle fx6 do start
ai2_dopath mad_bomber_2 come_to_me 1
particle fx3 do stop
}
door_unlock 6
particle door7_locklight01 do start
particle lock2_locklight01 do start
particle door2_locklight01 do start
}


 
===# COME TO ME REDUX===
func void set_objective_1(string chr_index)
====func second_coming====
{
func void second_coming(string ai_name)
dprint objective_1
{
objective_set(1)
dprint go_to_konoko_again
sound_dialog_play c00_01_22shinatama
ai2_dopath Tarmac_Striker_2 come_to_me 1
}
ai2_dopath Tarmac_Striker_3 come_to_me 1
func void set_objective_2(string chr_index)
ai2_dopath mad_bomber_2 come_to_me 1
{
}
dprint objective_2
objective_set(2)
===# PROGRESS CHECK===
sound_dialog_play c00_01_19shinatama
====var progress_counter====
}
var int progress_counter=2;
 
====func progress_check_1====
func void set_objective_3(string chr_index)
func void progress_check_1(string ai_name)
{
{
dprint objective_3
dprint progress_check1
objective_set(3)
progress_counter = progress_counter - 1
console_deactivate 2
if (progress_counter eq 0)
sound_dialog_play c00_01_18shinatama
{
}
pass_go_collect_whupass();
 
}
func void set_objective_4(string chr_index)
}
{
====func progress_check_2====
dprint objective_4
func void progress_check_2(string ai_name)
objective_set(4)
{
sound_dialog_play c00_01_20shinatama
dprint progress_check2
}
progress_counter = progress_counter - 1
 
if (progress_counter eq 0)
func void set_target_1(string chr_index)
{
{
pass_go_collect_whupass();
dprint set_target1
}
target_set(1095, 30.0)
}
sound_dialog_play c00_01_28shinatama
====func progress_check_3====
}
func void progress_check_3(string ai_name)
 
{
func void set_target_2(string chr_index)
dprint progress_check3
{
progress_counter = progress_counter - 1
dprint set_target2
if (progress_counter eq 0)
target_set(1132, 30.0)
{
sound_dialog_play c00_01_27shinatama
pass_go_collect_whupass();
}
}
 
}
func void set_target_3(string chr_index)
====func progress_check_4====
{
func void progress_check_4(string ai_name)
dprint set_target3
{
target_set(1109, 30.0)
dprint progress_check4
sound_dialog_play c00_01_26shinatama
progress_counter = progress_counter - 1
}
if (progress_counter eq 0)
 
{
func void set_target_4(string chr_index)
pass_go_collect_whupass();
{
}
dprint set_target4
}
target_set(1112, 30.0)
===func exhaust_on===
sound_dialog_play c00_01_25shinatama
func void exhaust_on(string ai_name)
}
{
 
dprint start_exhaust
func void set_target_5(string chr_index)
particle exhaust create
{
}
dprint set_target5
===func exhaust_off=== 
target_set(1115, 30.0)
func void exhaust_off(string ai_name)
sound_dialog_play c00_01_24shinatama
{
}
dprint stop_exhaust
 
particle exhaust kill
func void set_target_6(string chr_index)
}
{
===func pass_go_collect_whupass===
dprint set_target6
func void pass_go_collect_whupass(string ai_name)
target_set(1139, 30.0)
{
sound_dialog_play c00_01_28shinatama
dprint let_the_whupping_continue
}
trigvolume_enable save_game_2 1
 
trigvolume_enable secondcoming 0
func void set_target_blank(string chr_index)
}
{
===func patrolscript000=== 
dprint set_targetblank
func void patrolscript000(string ai_name)
target_set(0, 0.0)
{
}
dprint do_my_bidding
 
particle lock2_locklight01 do start
### MUSIC ###
door_unlock 6
 
}
var int music_counter;
===func BayTwo1=== 
 
func void BayTwo1(string char_index)
func void music_force_stop(void)
{
{
dprint spawn_guards
sleep 4500
ai2_spawn BayTwo_Striker_1
if (0 ne music_counter)
ai2_spawn hidden_friend2
{
ai2_spawn mad_bomber_2
dprint music_force_stop
sound_music_stop atm_gr06
music_counter = 0
}
all_music_counters
===func Repair1===
}
func void Repair1(string char_index)
}
{
 
dprint spawn_guards
func void music_script_start(void)
ai2_spawn Repair_Striker_1
{
ai2_spawn Repair_Comguy_1
music_counter = 2
ai2_spawn alamo_thug_1
}
}
 
===func Repair2===
func void striker_lullaby_1(string ai_name)
func void Repair2(string char_index)
{
{
dprint striker_lullaby1
dprint spawn_guards
music_counter = music_counter - 1
ai2_spawn Repair_Striker_2
if (music_counter eq 0)
ai2_spawn Repair_Comguy_2
{
}
all_music_counters();
===func console_2_activate===
sleep f120
func void console_2_activate(string char_index)
}
{
}
dprint console2_activate
 
console_activate 2
func void striker_lullaby_2(string ai_name)
}
{
===func final_ambush===
dprint striker_lullaby2
func void final_ambush(string char_index)
music_counter = music_counter - 1
{
if (music_counter eq 0)
dprint finalambush
{
input 0
all_music_counters();
begin_cutscene
sleep f120
sleep 60
}
cm_interpolate ambush1 0
}
sleep 150
 
console_activate 4
func void all_music_counters(void)
sleep 150
{
sound_music_start mus_fitec_hd 0.91
dprint STOP_THE_MUSIC
music_script_start
sound_music_stop mus_fitec_hd
cm_interpolate ambush2 0
sound_music_stop mus_fitec
cm_interpolate_block ambush3 300
sound_music_stop mus_fiteb
sleep 350
sound_music_stop mus_asian
cm_interpolate ambush4 300
sound_music_stop atm_gr06
door_unlock 14
}
particle door3_locklight01 do start
 
ai2_spawn finalam_striker_1
### TEXT CONSOLES ###
ai2_spawn finalam_striker_2
 
ai2_setmovementmode finalam_striker_1 walk
func void level_4a(void)
ai2_setmovementmode finalam_striker_2 walk
{
playback finalam_striker_1 finalam_striker1 interp 30
dprint set_text_4a
playback finalam_striker_2 finalam_striker2 interp 30
text_console level_4a
sleep 300
console_reset 7
particle door3_locklight01 do stop
}
sleep 300
 
door_lock 14
func void level_4b(void)
ai2_dopath finalam_striker1 finalam_1 1
{
ai2_dopath finalam_striker2 finalam_2 1
dprint set_text_4b
trigvolume_enable i_uh_heheheh1 1
text_console level_4b
cm_reset
console_reset 7
end_cutscene
}
input 1
 
}
func void level_4c(void)
===func i_uh_heheheh===
{
func void i_uh_heheheh(string char_index)
dprint set_text_4c
{
text_console level_4c
dprint iuh_heheheh
console_reset 8
ai2_dopath finalam_striker_1 strategic_retreat1
}
ai2_dopath finalam_striker_2 strategic_retreat2
 
}
### GAMEPLAY PROGRESSION ###
==### DOOR LOCK LIGHTS ###==
 
===func change_terminaldoor_light===
func void FixDoors(string char_index)
func void change_terminaldoor_light(void)
{
{
dprint Fix_Doors
[[dprint]] door1
particle door2_locklight01 do stop
[[input]] 0
door_lock 10
[[cm_interpolate]] door1 0
}
[[sleep]] 60
 
[[particle]] door1_locklight01 do start
func void hidden_civilian1(string ai_name)
sleep 150
{
[[cm_reset]]
dprint hidden_civilian
input 1
ai2_spawn hidden_civ_1
}
}
===func change_door2_light===
 
func void change_door2_light(void)
func void panic1a(string char_index)
{
{
dprint door2
dprint panic_1a
input 0  
 
cm_interpolate door2 0
ai2_spawn civ_victim_6
sleep 60
playback civ_victim_6 civ_victim6_flee interp 30
particle door2_locklight01 do start
ai2_spawn civ_victim_4
sleep 150
playback civ_victim_4 civ_victim4_flee interp 30
set_objective_3
sleep 30
set_target_6
ai2_spawn Intro_Striker_4
cm_reset
playback Intro_Striker_4 striker4_advance interp 30
input 1
ai2_spawn Intro_Comguy_1
}
}
===func change_enddoor_light===
 
func void change_enddoor_light(void)
func void panic1b(string char_index)
{
{
[[dprint]] end_door
dprint panic_1b
[[input]] 0
ai2_passive Intro_Striker_4 1
[[cm_interpolate]] ambush4 0
ai2_spawn civ_victim_2
[[sleep]] 60
ai2_spawn civ_victim_3
[[particle]] door3_locklight01 do start
playback civ_victim_3 civ_victim3_flee interp 30
sleep 150
sleep 120
[[door_unlock]] 14
ai2_spawn Intro_Striker_3
[[cm_reset]]
ai2_attack Intro_Striker_3 civ_victim_2
input 1
ai2_spawn Friend_Thug_1
}
ai2_spawn Neutral_Thug_1
=### Level scripted by Joseph ###=
ai2_spawn Neutral_Thug_3
particle fx1 do start
particle fx2 do start
chr_delete civ_victim_4
chr_delete civ_victim_6
}
 
func void hide_1(string char_index)
{
dprint hide1
ai2_spawn civ_victim_5
playback_block civ_victim_5 civ_victim5_flee interp 30
ai2_dopath civ_victim_5 civ_victim_5
}
 
func void horror_1(string char_index)
{
dprint horror1
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
particle fx1 do start
particle fx2 do start
}
func void ambush_striker_1(string char_index)
{
dprint ambush_1
ai2_spawn Terminal_Striker_1
ai2_spawn Terminal_Striker_2
ai2_spawn mad_bomber_1
obj_create 991 992
}
 
func void civ_victim_20s_flee(string char_index)
{
dprint civ_victim_20s
ai2_dopath civ_victim_20 civ20s_flee1
ai2_dopath civ_victim_21 civ20s_flee2
}
 
func void LoadingBay1(string char_index)
{
dprint spawn_guards
ai2_spawn LoadingBay_Thug_1
ai2_spawn LoadingBay_Thug_2
ai2_spawn LoadingBay_Striker_2
ai2_spawn LoadingBay_Comguy_1
particle fx3 do start
}
 
func void bomber_boom(string char_index)
{
dprint bomberboom
particle bomb1 do explode
obj_kill 991 992
sleep 300
particle bomb1 stop
}
func void mad_bomber_bait(string char_index)
{
dprint bomber_bait
ai2_dopath mad_bomber_1 bomber_flee 1
}
 
func void patrolscript0200(string char_index)
{
dprint bomber1_death
chr_delete mad_bomber_1
}
 
func void Tarmac1(string char_index)
{
dprint spawn_guards
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 0.75
particle tarmacfire do start
particle exhaust create
}
 
func void back9a(string ai_name)
{
dprint hidden_striker1
ai2_spawn hidden_striker1
}
 
func void back9b(string ai_name)
{
dprint hidden_striker1
ai2_spawn hidden_striker2
}
 
func void bay1_particles(void)
{
dprint bay1_fires_on
particle fx3 do start
particle fx4 do stop
}
 
func void fire_damage(string ai_name)
{
dprint fire_hurt_konoko
chr_poison (ai_name, 5, 30, 30);
}
 
func void bay2_particles(void)
{
dprint bay2_fires_on
particle fx3 do stop
particle fx4 do start
}
 
# COME TO ME
func void come_to_me(string ai_name)
{
dprint go_to_konoko
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
}
 
# COME TO ME REDUX
func void second_coming(string ai_name)
{
dprint go_to_konoko_again
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
}
 
# PROGRESS CHECK
 
var int progress_counter=2;
 
func void progress_check_1(string ai_name)
{
dprint progress_check1
progress_counter = progress_counter - 1
if (progress_counter eq 0)
{
pass_go_collect_whupass();
}
}
 
func void progress_check_2(string ai_name)
{
dprint progress_check2
progress_counter = progress_counter - 1
if (progress_counter eq 0)
{
pass_go_collect_whupass();
}
}
 
func void progress_check_3(string ai_name)
{
dprint progress_check3
progress_counter = progress_counter - 1
if (progress_counter eq 0)
{
pass_go_collect_whupass();
}
}
 
func void progress_check_4(string ai_name)
{
dprint progress_check4
progress_counter = progress_counter - 1
if (progress_counter eq 0)
{
pass_go_collect_whupass();
}
}
 
func void exhaust_on(string ai_name)
{
dprint start_exhaust
particle exhaust create
}
 
func void exhaust_off(string ai_name)
{
dprint stop_exhaust
particle exhaust kill
}
 
func void pass_go_collect_whupass(string ai_name)
{
dprint let_the_whupping_continue
trigvolume_enable save_game_2 1
trigvolume_enable secondcoming 0
}
 
func void patrolscript000(string ai_name)
{
dprint do_my_bidding
particle lock2_locklight01 do start
door_unlock 6
}
func void BayTwo1(string char_index)
{
dprint spawn_guards
ai2_spawn BayTwo_Striker_1
ai2_spawn hidden_friend2
ai2_spawn mad_bomber_2
sound_music_stop atm_gr06
}
 
func void Repair1(string char_index)
{
dprint spawn_guards
ai2_spawn Repair_Striker_1
ai2_spawn Repair_Comguy_1
ai2_spawn alamo_thug_1
}
 
func void Repair2(string char_index)
{
dprint spawn_guards
ai2_spawn Repair_Striker_2
ai2_spawn Repair_Comguy_2
}
 
func void console_2_activate(string char_index)
{
dprint console2_activate
console_activate 2
}
 
func void final_ambush(string char_index)
{
dprint finalambush
input 0
begin_cutscene
sleep 60
cm_interpolate ambush1 0
sleep 150
console_activate 4
sleep 150
sound_music_start mus_fitec_hd 0.91
music_script_start
cm_interpolate ambush2 0
cm_interpolate_block ambush3 300
sleep 350
cm_interpolate ambush4 300
door_unlock 14
particle door3_locklight01 do start
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 interp 30
playback finalam_striker_2 finalam_striker2 interp 30
sleep 300
particle door3_locklight01 do stop
sleep 300
door_lock 14
ai2_dopath finalam_striker1 finalam_1 1
ai2_dopath finalam_striker2 finalam_2 1
trigvolume_enable i_uh_heheheh1 1
cm_reset
end_cutscene
input 1
}
 
func void i_uh_heheheh(string char_index)
{
dprint iuh_heheheh
ai2_dopath finalam_striker_1 strategic_retreat1
ai2_dopath finalam_striker_2 strategic_retreat2
}  
### DOOR LOCK LIGHTS ###
 
func void change_terminaldoor_light(void)
{
dprint door1
input 0
cm_interpolate door1 0
sleep 60
particle door1_locklight01 do start
sleep 150
cm_reset
input 1
}
 
func void change_door2_light(void)
{
dprint door2
input 0  
cm_interpolate door2 0
sleep 60
particle door2_locklight01 do start
sleep 150
set_objective_3
set_target_6
cm_reset
input 1
}
 
func void change_enddoor_light(void)
{
dprint end_door
input 0
cm_interpolate ambush4 0
sleep 60
particle door3_locklight01 do start
sleep 150
door_unlock 14
cm_reset
input 1
}
 
### Level scripted by Joseph ###</pre>