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

From OniGalore
Jump to navigation Jump to search
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>

Revision as of 19:14, 20 March 2008

### 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
		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)
{
	all_music_counters
	sleep 240
	fade_out 0 0 0 180 
	sleep 240
	lose
}

func you_win

func void you_win(int char_index)
{
	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 set_objective_1

func void set_objective_1(string chr_index)
{
	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)
}

### MUSIC ###

var music_counter

var int music_counter;

func music_force_stop

func void music_force_stop(void)
{
	sleep 4500
	if (0 ne music_counter) 
		{
		dprint music_force_stop
		music_counter = 0
		all_music_counters
		}
}

func music_script_start

func void music_script_start(void)
{
	music_counter = 2
}

func striker_lullaby_1

func void striker_lullaby_1(string ai_name)
{
	dprint striker_lullaby1
	music_counter = music_counter - 1
	if (music_counter eq 0)
		{
		all_music_counters();
		sleep f120
		}
}

func striker_lullaby_2

func void striker_lullaby_2(string ai_name)
{
	dprint striker_lullaby2
	music_counter = music_counter - 1
	if (music_counter eq 0)
		{
		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
}

### TEXT CONSOLES ###

func level_4a

func void level_4a(void)
{
	dprint set_text_4a
	text_console level_4a
	console_reset 7
}

func level_4b

func void level_4b(void)
{
	dprint set_text_4b
	text_console level_4b
	console_reset 7
}

func level_4c

func void level_4c(void)
{
	dprint set_text_4c
	text_console level_4c
	console_reset 8
}

### GAMEPLAY PROGRESSION ###

func FixDoors

func void FixDoors(string char_index)
{
	dprint Fix_Doors
	particle door2_locklight01 do stop
	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 LoadingBay1

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 bomber_boom

func void bomber_boom(string char_index)
{
	dprint bomberboom
	particle bomb1 do explode
	obj_kill 991 992
	sleep 300
	particle bomb1 stop
}

func mad_bomber_bait

func void mad_bomber_bait(string char_index)
{
	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
}

# COME TO ME

func 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 second_coming

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 progress_counter

var int progress_counter=2;

func progress_check_1

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 progress_check_2

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 progress_check_3

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 progress_check_4

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 exhaust_on

func void exhaust_on(string ai_name)
{
	dprint start_exhaust
	particle exhaust create
}

func exhaust_off

func void exhaust_off(string ai_name)
{
	dprint stop_exhaust
	particle exhaust kill
}

func pass_go_collect_whupass

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 patrolscript000

func void patrolscript000(string ai_name)
{
	dprint do_my_bidding
	particle lock2_locklight01 do start
	door_unlock 6
}

func BayTwo1

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 Repair1

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 Repair2

func void Repair2(string char_index)
{
	dprint spawn_guards
	ai2_spawn Repair_Striker_2
	ai2_spawn Repair_Comguy_2	
}

func console_2_activate

func void console_2_activate(string char_index)
{
	dprint console2_activate
	console_activate 2
}

func final_ambush

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 i_uh_heheheh

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 change_terminaldoor_light

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 change_door2_light

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 change_enddoor_light

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 ###