IL-GSC/AW/PC/soundscripts/_snd_common.gsc
InfinityLoader b2389dbcb9 Full AW Dump
2024-04-22 02:38:24 -04:00

2434 lines
61 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: _snd_common.gsc
* Game: Call of Duty: Advanced Warfare
* Platform: PC
* Function Count: 138
* Decompile Time: 1805 ms
* Timestamp: 4/22/2024 2:04:02 AM
*******************************************************************/
//Function Number: 1
snd_common_init()
{
register_common_snd_messages();
create_common_envelop_arrays();
register_radio_squelches();
level.mute_device_active = 0;
level._snd.context_overrides = [["mute",0],["slomo",0],["deathsdoor",0],["underwater",0],["diveboat",0],["bullet_metal_vehicle",0],["bullet_whizby_glass",0],["finale_handgun",0]];
}
//Function Number: 2
register_radio_squelches()
{
level.scr_radio["squelches"]["plt"]["on"] = "squelch_on_plt";
level.scr_radio["squelches"]["plt"]["off"] = "squelch_off_plt";
level.scr_radio["squelches"]["hqr"]["on"] = "squelch_on_hqr";
level.scr_radio["squelches"]["hqr"]["off"] = "squelch_off_hqr";
level.scr_radio["squelches"]["prophet"]["on"] = "squelch_on_prophet";
level.scr_radio["squelches"]["prophet"]["off"] = "squelch_off_hqr";
level.scr_radio["squelches"]["battle_commander"]["on"] = "squelch_on_plt";
level.scr_radio["squelches"]["battle_commander"]["off"] = "squelch_off_hqr";
level.scr_radio["squelches"]["cormack_sfa"]["on"] = "squelch_on_plt";
level.scr_radio["squelches"]["cormack_sfa"]["off"] = "squelch_off_hqr";
}
//Function Number: 3
create_common_envelop_arrays()
{
level._snd.envs["explo_shake_over_distance"] = [[0,1],[0.25,0.65],[0.35,0.5],[0.75,0.2],[1,0.1]];
level._snd.envs["veh_crash_intensity_to_pitch"] = [[0,0.7],[0.1,0.7],[0.5,0.8],[0.9,1],[1,1.1]];
level._snd.envs["veh_crash_vel_to_lfe_vol"] = [[0,0],[200,0.05],[500,0.25],[850,0.35],[1000,0.6]];
level._snd.envs["aud_mute_device_falloff"] = [[0,1],[0.1,0.9],[0.2,0.88],[0.3,0.85],[0.4,0.82],[0.5,0.8],[0.6,0.65],[0.7,0.5],[0.8,0.35],[0.9,0.15],[1,0]];
}
//Function Number: 4
init_ambient_explosion_arrays()
{
if(level.currentgen)
{
level._snd.ambientexp["exp_generic_explo_shot"] = [["exp_generic_explo_shot_04",0.17],["exp_generic_explo_shot_07",0.11],["exp_generic_explo_shot_10",0.22],["exp_generic_explo_shot_12",0.15],["exp_generic_explo_shot_13",0.08],["exp_generic_explo_shot_20",0.15],["exp_generic_explo_shot_22",0.25]];
return;
}
level._snd.ambientexp["exp_generic_explo_shot"] = [["exp_generic_explo_shot_01",0.13],["exp_generic_explo_shot_02",0.25],["exp_generic_explo_shot_03",0.12],["exp_generic_explo_shot_04",0.17],["exp_generic_explo_shot_05",0.16],["exp_generic_explo_shot_06",0.14],["exp_generic_explo_shot_07",0.11],["exp_generic_explo_shot_08",0.21],["exp_generic_explo_shot_09",0.16],["exp_generic_explo_shot_10",0.22],["exp_generic_explo_shot_11",0.13],["exp_generic_explo_shot_12",0.15],["exp_generic_explo_shot_13",0.08],["exp_generic_explo_shot_14",0.16],["exp_generic_explo_shot_16",0.2],["exp_generic_explo_shot_17",0.1],["exp_generic_explo_shot_18",0.08],["exp_generic_explo_shot_19",0.12],["exp_generic_explo_shot_20",0.15],["exp_generic_explo_shot_21",0.15],["exp_generic_explo_shot_22",0.25]];
}
//Function Number: 5
init_impact_system_arrays()
{
level._snd.veh_collision.surfaces = ["vehicle","wood","metal"];
}
//Function Number: 6
init_boost_land_arrays()
{
level._snd.boost_jump.surfaces = ["ice","asphalt","concrete","metal","metal_solid"];
}
//Function Number: 7
register_common_snd_messages()
{
soundscripts\_snd::snd_register_message("player_death",::player_death);
soundscripts\_snd::snd_register_message("wpn_deam160_init",::wpn_deam160_init);
soundscripts\_snd::snd_register_message("wpn_deam160_charge",::wpn_deam160_charge);
soundscripts\_snd::snd_register_message("wpn_deam160_charge_dots_increase",::wpn_deam160_charge_dots_increase);
soundscripts\_snd::snd_register_message("wpn_deam160_full_charge",::wpn_deam160_full_charge);
soundscripts\_snd::snd_register_message("wpn_deam160_shot",::wpn_deam160_shot);
soundscripts\_snd::snd_register_message("variable_grenade_type_switch",::variable_grenade_type_switch);
soundscripts\_snd::snd_register_message("paint_grenade_detonate",::paint_grenade_detonate);
soundscripts\_snd::snd_register_message("emp_grenade_detonate",::emp_grenade_detonate);
soundscripts\_snd::snd_register_message("smart_grenade_detonate",::smart_grenade_detonate);
soundscripts\_snd::snd_register_message("foam_grenade",::foam_grenade);
soundscripts\_snd::snd_register_message("aud_sonar_vision_on",::aud_sonar_vision_on);
soundscripts\_snd::snd_register_message("aud_sonar_vision_off",::aud_sonar_vision_off);
soundscripts\_snd::snd_register_message("explo_ambientExp_dirt",::explo_ambientexp_dirt);
soundscripts\_snd::snd_register_message("explo_ambientExp_fireball",::explo_ambientexp_fireball);
soundscripts\_snd::snd_register_message("play_vehicle_collision",::snd_play_vehicle_collision);
soundscripts\_snd::snd_register_message("boost_jump_enable",::boost_jump_enable);
soundscripts\_snd::snd_register_message("boost_jump_disable",::boost_jump_disable);
soundscripts\_snd::snd_register_message("boost_jump_disable_npc",::boost_jump_disable_npc);
soundscripts\_snd::snd_register_message("boost_jump_player",::boost_jump_player);
soundscripts\_snd::snd_register_message("boost_land_player",::boost_land_player);
soundscripts\_snd::snd_register_message("boost_jump_npc",::boost_jump_npc);
soundscripts\_snd::snd_register_message("boost_land_npc",::boost_land_npc);
soundscripts\_snd::snd_register_message("pdrone_death_explode",::pdrone_death_explode);
soundscripts\_snd::snd_register_message("pdrone_emp_death",::pdrone_emp_death);
soundscripts\_snd::snd_register_message("pdrone_crash_land",::pdrone_crash_land);
soundscripts\_snd::snd_register_message("doorshield_ripoff",::doorshield_ripoff);
soundscripts\_snd::snd_register_message("doorshield_throw",::doorshield_throw);
soundscripts\_snd::snd_register_message("exo_raise_shield",::exo_raise_shield);
soundscripts\_snd::snd_register_message("exo_lower_shield",::exo_lower_shield);
soundscripts\_snd::snd_register_message("snd_cloak_init",::snd_cloak_init);
soundscripts\_snd::snd_register_message("exo_cloak_button_press",::exo_cloak_button_press);
soundscripts\_snd::snd_register_message("exo_cloak_enable",::exo_cloak_enable);
soundscripts\_snd::snd_register_message("exo_cloak_disable",::exo_cloak_disable);
soundscripts\_snd::snd_register_message("exo_cloak_battery_low",::exo_cloak_battery_low);
soundscripts\_snd::snd_register_message("exo_cloak_battery_dead",::exo_cloak_battery_dead);
soundscripts\_snd::snd_register_message("exo_cloak_battery_recharge",::exo_cloak_battery_recharge);
soundscripts\_snd::snd_register_message("npc_cloak_buttons",::npc_cloak_buttons);
soundscripts\_snd::snd_register_message("npc_cloak_enable",::npc_cloak_enable);
soundscripts\_snd::snd_register_message("npc_cloak_disable",::npc_cloak_enable);
soundscripts\_snd::snd_register_message("overdrive_on",::overdrive_on);
soundscripts\_snd::snd_register_message("overdrive_off",::overdrive_off);
soundscripts\_snd::snd_register_message("sonic_blast",::sonic_blast);
soundscripts\_snd::snd_register_message("sonic_blast_aftershock",::sonic_blast_aftershock);
soundscripts\_snd::snd_register_message("sonic_blast_done",::sonic_blast_done);
soundscripts\_snd::snd_register_message("exo_stim_on",::exo_stim_on);
soundscripts\_snd::snd_register_message("boost_dodge_activate_plr",::boost_dodge_activate_plr);
soundscripts\_snd::snd_register_message("boost_land_hud_enable",::boost_land_hud_enable);
soundscripts\_snd::snd_register_message("boost_land_hud_disable",::boost_land_hud_disable);
soundscripts\_snd::snd_register_message("boost_land_out_of_fuel",::boost_land_out_of_fuel);
soundscripts\_snd::snd_register_message("boost_land_use_fuel",::boost_land_use_fuel);
soundscripts\_snd::snd_register_message("boost_land_assist_npc",::boost_land_assist_npc);
soundscripts\_snd::snd_register_message("boost_land_assist_npc_ground",::boost_land_assist_npc_ground);
soundscripts\_snd::snd_register_message("tracking_grenade_hover",::tracking_grenade_hover);
soundscripts\_snd::snd_register_message("tracking_grenade_jump",::tracking_grenade_jump);
soundscripts\_snd::snd_register_message("tracking_grenade_strike",::tracking_grenade_strike);
soundscripts\_snd::snd_register_message("tracking_grenade_dud",::tracking_grenade_dud);
soundscripts\_snd::snd_register_message("tracking_grenade_beep",::tracking_grenade_beep);
soundscripts\_snd::snd_register_message("anml_doberman",::anml_doberman);
soundscripts\_snd::snd_register_message("finish_mission_fade",::finish_mission_fade);
}
//Function Number: 8
player_death()
{
level.player notify("kill_deaths_door_audio");
soundscripts\_audio_mix_manager::mm_clear_submix("deaths_door");
soundscripts\_audio_mix_manager::mm_add_submix("player_dead");
soundscripts\_snd_playsound::snd_play_2d("bullet_large_fatal");
}
//Function Number: 9
wpn_deam160_init()
{
level.wpn_deam160_aud_charges = 0;
}
//Function Number: 10
wpn_deam160_shot(param_00)
{
var_01 = param_00;
level.wpn_deam160_aud_charges = 0;
switch(var_01)
{
case "large":
soundscripts\_audio::deprecated_aud_play_2d_sound("wpn_deam160_shot_max");
level notify("aud_deam160_charge_break");
break;
case "medium":
soundscripts\_audio::deprecated_aud_play_2d_sound("wpn_deam160_shot_med");
level notify("aud_deam160_charge_break");
break;
case "small":
soundscripts\_audio::deprecated_aud_play_2d_sound("wpn_deam160_shot_sml");
level notify("aud_deam160_charge_break");
break;
}
}
//Function Number: 11
wpn_deam160_charge(param_00)
{
var_01 = soundscripts\_audio::deprecated_aud_play_linked_sound("wpn_deam160_charge_hi",level.player,"oneshot");
thread wpn_deam160_play_charge_loop_sfx();
level.player thread wpn_deam160_watch_weapon_change();
level.player thread wpn_deam160_is_chargeable();
level waittill("aud_deam160_charge_break");
if(isdefined(var_01))
{
var_01 scalevolume(0,0.05);
}
}
//Function Number: 12
wpn_deam160_watch_weapon_change()
{
level endon("aud_deam160_charge_break");
for(;;)
{
if(self isthrowinggrenade() || self isreloading() || self ismeleeing() || self ismantling())
{
level notify("aud_deam160_charge_break");
break;
}
wait(0.05);
}
}
//Function Number: 13
wpn_deam160_is_chargeable()
{
level endon("aud_deam160_charge_break");
for(;;)
{
var_00 = weaponischargeable(self getcurrentweapon());
if(!var_00)
{
level notify("aud_deam160_charge_break");
break;
}
wait(0.05);
}
}
//Function Number: 14
wpn_deam160_play_charge_loop_sfx()
{
level endon("aud_deam160_charge_break");
var_00 = soundscripts\_audio::deprecated_aud_play_linked_sound("wpn_deam160_charge_hi_lp",level.player,"loop","aud_deam160_charge_break");
var_00 scalevolume(0,0.05);
wait(2);
if(isdefined(var_00))
{
var_00 scalevolume(1,0.4);
}
}
//Function Number: 15
wpn_deam160_charge_dots_increase(param_00)
{
level.wpn_deam160_aud_charges++;
}
//Function Number: 16
wpn_deam160_full_charge()
{
var_00 = soundscripts\_audio::deprecated_aud_play_linked_sound("wpn_deam160_full_charge_beep_lp",level.player,"loop","aud_deam160_charge_break");
level waittill("aud_deam160_charge_break");
}
//Function Number: 17
variable_grenade_type_switch(param_00)
{
level.aud_var_nade_type = param_00;
soundscripts\_snd_playsound::snd_play_2d("var_grenade_change_type");
}
//Function Number: 18
paint_grenade_detonate()
{
var_00 = self;
soundscripts\_snd_playsound::snd_play_at("wpn_paint_grenade_exp",var_00.origin);
}
//Function Number: 19
emp_grenade_detonate()
{
var_00 = self;
soundscripts\_snd_playsound::snd_play_at("wpn_emp_grenade_exp",var_00.origin);
}
//Function Number: 20
smart_grenade_detonate()
{
level notify("kill_tracking_loop");
var_00 = self;
soundscripts\_snd_playsound::snd_play_at("wpn_smart_grenade_exp",var_00.origin);
}
//Function Number: 21
foam_grenade(param_00)
{
soundscripts\_audio_mix_manager::mm_add_submix("foam_grenade_mix",0.5);
var_01 = self.origin;
wait(2.1);
soundscripts\_audio::deprecated_aud_play_linked_sound("foam_bomb_equip",param_00);
wait(1.1);
soundscripts\_audio::deprecated_aud_play_linked_sound("foam_bomb_pin_pull",param_00);
wait(1.3);
soundscripts\_audio::deprecated_aud_play_sound_at("foam_bomb_wall_stick",var_01);
level waittill("vfx_foam_corridor_explode_start");
soundscripts\_audio::deprecated_aud_play_sound_at("foam_bomb_corridor_exp",var_01);
wait(2);
soundscripts\_audio_mix_manager::mm_clear_submix("foam_grenade_mix",0.5);
}
//Function Number: 22
aud_microwave_grenade()
{
var_00 = self.origin;
thread soundscripts\_snd_playsound::snd_play_at("wpn_mw_grenade_exp",var_00);
var_01 = thread soundscripts\_snd_playsound::snd_play_loop_at("wpn_mw_grenade_pulse_sweeps_lp",var_00,"mw_nade_death",0.2,0.45);
var_02 = thread soundscripts\_snd_playsound::snd_play_loop_at("wpn_mw_grenade_pulse_big_lp",var_00,"mw_nade_death",0.2,0.45);
self waittill("death");
thread soundscripts\_snd_playsound::snd_play_at("wpn_mw_grenade_die",var_00);
if(isdefined(var_02))
{
var_02 scalevolume(0,0.3);
}
if(isdefined(var_01))
{
var_01 scalevolume(0,0.3);
}
wait(0.3);
if(isdefined(var_02))
{
var_02 stopsounds();
}
if(isdefined(var_01))
{
var_01 stopsounds();
}
}
//Function Number: 23
aud_microwave_grenade_sparks_env(param_00)
{
if(isdefined(param_00))
{
thread soundscripts\_snd_playsound::snd_play_at("wpn_mw_grenade_elect",param_00);
}
}
//Function Number: 24
aud_microwave_grenade_sparks_dude(param_00)
{
if(isdefined(param_00))
{
param_00 thread soundscripts\_snd_playsound::snd_play_linked("wpn_mw_grenade_elect");
}
}
//Function Number: 25
snd_mute_device(param_00,param_01,param_02,param_03,param_04,param_05)
{
self endon("death");
thread sndx_mute_device_bubble_fx();
thread sndx_mute_device_bubble_off_fx();
if(!isdefined(self.aud))
{
self.aud = spawnstruct();
}
self.aud.mute_device_mix_enable = 1;
self.aud.mute_device_in_bubble = 1;
if(isdefined(param_02))
{
var_06 = param_02;
}
else
{
var_06 = param_02 + 250;
}
level.mute_device_active = 1;
if(isdefined(param_04))
{
self.aud.mute_device_filter = 1;
thread soundscripts\_snd_filters::snd_fade_in_filter(param_04,0.5);
}
var_07 = 0;
thread sndx_mute_device_stopper(param_00,param_03,var_07);
while(isdefined(self.aud.mute_device_mix_enable))
{
var_08 = distance(self.origin,level.player.origin);
if(var_08 < param_01)
{
if(!isdefined(self.aud.mute_device_start))
{
self notify("mute_device_bubble_enter");
soundscripts\_audio_mix_manager::mm_add_submix(param_00,0.05);
self.aud.loop_ent = soundscripts\_snd_playsound::snd_play_loop_2d("mute_device_active_lp","stop_mute_device_lp",5,3,1);
self.aud.mute_device_start = 1;
}
soundscripts\_audio_mix_manager::mm_blend_submix(param_00,1);
if(!isdefined(self.aud.mute_device_filter) && isdefined(param_04))
{
self.aud.mute_device_filter = 1;
thread soundscripts\_snd_filters::snd_fade_in_filter(param_04,0.5);
if(!isdefined(self.aud.mute_device_enter))
{
self notify("mute_device_bubble_enter");
soundscripts\_snd_playsound::snd_play_delayed_2d("mute_device_active_enter",0.05);
self.aud.mute_device_in_bubble = 1;
thread sndx_mute_device_wait_to_play(self.aud.mute_device_enter);
self.aud.loop_ent scalevolume(1,2);
}
}
continue;
}
if(var_08 < var_06 && self.aud.mute_device_start == 1)
{
var_09 = var_08 - param_01 / var_06 - param_01;
clamp(var_09,0,1);
var_0A = soundscripts\_snd::snd_map(var_09,level._snd.envs["aud_mute_device_falloff"]);
soundscripts\_audio_mix_manager::mm_blend_submix(param_00,var_0A);
if(isdefined(self.aud.mute_device_filter))
{
self.aud.mute_device_filter = undefined;
thread soundscripts\_snd_filters::snd_fade_out_filter(1);
if(!isdefined(self.aud.mute_device_exit))
{
thread sndx_mute_device_delay_notify("mute_device_bubble_exit",0.5);
soundscripts\_snd_playsound::snd_play_delayed_2d("mute_device_active_exit",0.05);
self.aud.mute_device_in_bubble = 0;
thread sndx_mute_device_wait_to_play(self.aud.mute_device_exit);
self.aud.loop_ent scalevolume(0,2);
}
}
continue;
}
if(self.aud.mute_device_start == 1)
{
soundscripts\_audio_mix_manager::mm_blend_submix(param_00,0);
if(isdefined(self.aud.mute_device_filter))
{
wait(0.05);
self.aud.mute_device_filter = undefined;
thread soundscripts\_snd_filters::snd_fade_out_filter(1);
self.aud.loop_ent scalevolume(0,2);
}
}
wait(0.05);
}
level.mute_device_active = 0;
}
//Function Number: 26
sndx_mute_device_delay_notify(param_00,param_01)
{
var_02 = 0;
if(isdefined(param_01))
{
var_02 = param_01;
}
wait(var_02);
self notify(param_00);
}
//Function Number: 27
sndx_mute_device_stopper(param_00,param_01,param_02)
{
self endon("death");
self endon("turn_off");
thread sndx_mute_device_kill(param_00,"death");
thread sndx_mute_device_kill(param_00,"turn_off");
var_03 = 30;
if(isdefined(param_01))
{
var_03 = param_01;
}
wait(var_03);
self notify("complete");
thread sndx_mute_device_stop(param_00);
}
//Function Number: 28
sndx_mute_device_stop(param_00)
{
if(isdefined(self.aud.loop_ent))
{
level notify("stop_mute_device_lp");
}
if(self.aud.mute_device_in_bubble)
{
thread sndx_mute_device_delay_notify("mute_device_bubble_exit",0.5);
thread sndx_mute_device_delay_notify("mute_device_bubble_off",1);
if(!isdefined(self.aud.mute_device_exit))
{
soundscripts\_snd_playsound::snd_play_delayed_2d("mute_device_active_exit",0.05);
}
}
self.aud.mute_device_mix_enable = undefined;
soundscripts\_audio_mix_manager::mm_clear_submix(param_00,3);
self.aud.mute_device_filter = undefined;
soundscripts\_snd_filters::snd_fade_out_filter(3);
}
//Function Number: 29
sndx_mute_device_kill(param_00,param_01)
{
self endon("complete");
var_02 = "death";
if(isdefined(param_01))
{
var_02 = param_01;
}
self waittill(var_02);
thread sndx_mute_device_stop(param_00);
self notify("complete");
}
//Function Number: 30
sndx_mute_device_wait_to_play(param_00)
{
param_00 = 1;
wait(2);
param_00 = undefined;
}
//Function Number: 31
sndx_mute_device_debug_timer(param_00)
{
self endon("death");
var_01 = param_00;
}
//Function Number: 32
sndx_mute_device_bubble_fx()
{
self endon("mute_device_bubble_off");
while(isdefined(self))
{
self waittill("mute_device_bubble_enter");
playfxontag_safe("mute_breach_distort_vm_enter");
self waittill("mute_device_bubble_exit");
killfxontag_safe("mute_breach_distort_vm_enter");
playfxontag_safe("mute_breach_distort_vm_exit");
wait(0.05);
}
}
//Function Number: 33
sndx_mute_device_bubble_off_fx()
{
while(isdefined(self))
{
self waittill("mute_device_bubble_off");
wait(0.05);
}
}
//Function Number: 34
playfxontag_safe(param_00)
{
if(isdefined(self) && isdefined(level._effect[param_00]))
{
playfxontag(common_scripts\utility::getfx(param_00),self,"tag_origin");
}
}
//Function Number: 35
killfxontag_safe(param_00)
{
if(isdefined(self) && isdefined(level._effect[param_00]))
{
killfxontag(common_scripts\utility::getfx(param_00),self,"tag_origin");
}
}
//Function Number: 36
aud_sonar_vision_on()
{
soundscripts\_audio_mix_manager::mm_add_submix("sonar_vision",0.05);
soundscripts\_audio::deprecated_aud_play_2d_sound("sonar_vision_on");
}
//Function Number: 37
aud_sonar_vision_off()
{
soundscripts\_audio::deprecated_aud_play_2d_sound("sonar_vision_off");
soundscripts\_audio_mix_manager::mm_clear_submix("sonar_vision",1);
}
//Function Number: 38
pdrone_death_explode()
{
var_00 = self;
var_01 = var_00.origin;
while(isdefined(var_00))
{
var_01 = var_00.origin;
wait(0.05);
}
soundscripts\_snd_playsound::snd_play_at("pdrone_exp",var_01);
}
//Function Number: 39
pdrone_emp_death(param_00)
{
param_00 soundscripts\_snd_playsound::snd_play_linked("pdrone_emp_death");
param_00 soundscripts\_snd_playsound::snd_play_linked("pdrone_deathspin","kill_drone_deathspin");
}
//Function Number: 40
pdrone_crash_land(param_00)
{
soundscripts\_snd_playsound::snd_play_at("pdrone_exp",param_00);
level notify("kill_drone_deathspin");
}
//Function Number: 41
doorshield_ripoff()
{
snd_enable_soundcontextoverride("bullet_metal_vehicle");
soundscripts\_audio_mix_manager::mm_add_submix("doorshield_rip_player");
soundscripts\_snd_playsound::snd_play_delayed_2d("doorshield_foley_plr",0.15);
soundscripts\_snd_playsound::snd_play_delayed_2d("doorshield_grabs_plr",0.2);
soundscripts\_snd_playsound::snd_play_delayed_2d("doorshield_tension_plr",0.85);
soundscripts\_snd_playsound::snd_play_delayed_2d("doorshield_rip_plr",1.1);
soundscripts\_snd_playsound::snd_play_delayed_2d("doorshield_debris_plr",1.15);
wait(3);
soundscripts\_audio_mix_manager::mm_clear_submix("doorshield_rip_player");
}
//Function Number: 42
doorshield_throw()
{
soundscripts\_snd_playsound::snd_play_2d("exo_throw_start");
snd_disable_soundcontextoverride("bullet_metal_vehicle");
}
//Function Number: 43
exo_raise_shield()
{
soundscripts\_snd_playsound::snd_play_delayed_2d("exo_shield_open",0.5);
snd_enable_soundcontextoverride("bullet_metal_vehicle");
}
//Function Number: 44
exo_lower_shield()
{
soundscripts\_snd_playsound::snd_play_delayed_2d("exo_shield_close",0.05);
snd_disable_soundcontextoverride("bullet_metal_vehicle");
}
//Function Number: 45
boost_jump_enable()
{
}
//Function Number: 46
boost_jump_disable()
{
}
//Function Number: 47
boost_jump_disable_npc(param_00)
{
var_01 = param_00;
soundscripts\_audio::deprecated_aud_play_linked_sound("tac_npc_boost_power_dwn",var_01);
}
//Function Number: 48
boost_jump_player()
{
if(!isdefined(level._snd.boost_jump))
{
level._snd.boost_jump = spawnstruct();
level._snd.boost_jump.is_jumping = 0;
thread init_boost_land_arrays();
}
var_00 = self;
if(var_00 == level.player)
{
level._snd.boost_jump.is_jumping = 1;
}
}
//Function Number: 49
boost_land_player(param_00)
{
var_01 = 40;
var_02 = 10;
if(!isdefined(level._snd.boost_jump))
{
level._snd.boost_jump = spawnstruct();
level._snd.boost_jump.is_jumping = 0;
thread init_boost_land_arrays();
}
var_03 = self;
if(var_03 == level.player)
{
if(level._snd.boost_jump.is_jumping == 1)
{
var_04 = sndx_boost_land_get_impact_vol(param_00,var_01,var_02);
var_05 = sndx_boost_land_get_impact_size(param_00,var_01,var_02);
var_06 = "pc_boost_land_" + var_05;
level._snd.boost_jump.is_jumping = 0;
if(isdefined(level._snd.boost_jump.jump_sound))
{
soundscripts\_audio::aud_fade_out_and_delete(level._snd.boost_jump.jump_sound,0.5);
}
if(param_00 < var_02)
{
return;
}
var_07 = playerphysicstraceinfo(var_03.origin + (0,0,16),var_03.origin + (0,0,-16),var_03)["surfacetype"];
var_08 = snd_is_valid_surface(var_07,level._snd.boost_jump.surfaces);
if(var_08)
{
var_09 = "boost_land_surface_" + var_05 + "_" + var_07;
return;
}
}
}
}
//Function Number: 50
sndx_boost_land_get_impact_vol(param_00,param_01,param_02)
{
param_00 = clamp(param_00,param_02,param_01);
var_03 = param_00 / param_01;
return var_03;
}
//Function Number: 51
sndx_boost_land_get_impact_size(param_00,param_01,param_02)
{
if(param_00 <= param_02)
{
var_03 = "lt";
}
else if(param_01 <= param_02)
{
var_03 = "med";
}
else
{
var_03 = "hvy";
}
return var_03;
}
//Function Number: 52
boost_jump_npc()
{
var_00 = self;
if(level.script == "recovery")
{
soundscripts\_audio::deprecated_aud_play_linked_sound("npc_boost_jump_rec",var_00);
return;
}
soundscripts\_audio::deprecated_aud_play_linked_sound("npc_boost_jump",var_00);
}
//Function Number: 53
boost_land_npc()
{
var_00 = self;
if(level.script == "recovery")
{
soundscripts\_audio::deprecated_aud_play_linked_sound("npc_boost_land_med_rec",var_00);
return;
}
soundscripts\_audio::deprecated_aud_play_linked_sound("npc_boost_land_med",var_00);
}
//Function Number: 54
boost_dodge_activate_plr()
{
level._snd.boost_jump.is_jumping = 0;
if(isdefined(level._snd.boost_jump.jump_sound))
{
soundscripts\_audio::aud_fade_out_and_delete(level._snd.boost_jump.jump_sound,0.5);
}
}
//Function Number: 55
boost_land_hud_enable()
{
soundscripts\_snd_playsound::snd_play_2d("tac_pc_boost_land_assist_pwrup");
}
//Function Number: 56
boost_land_hud_disable()
{
soundscripts\_snd_playsound::snd_play_2d("tac_pc_boost_land_assist_pwrdown");
}
//Function Number: 57
boost_land_use_fuel(param_00)
{
var_01 = 0.5;
if(!isdefined(level.aud.boost_land_on))
{
level.aud.boost_land_on = 1;
thread boost_land_play_oneshot();
level.player soundscripts\_snd_playsound::snd_play_loop_linked("tac_pc_boost_land_assist_jet_lp",param_00,0.1,0.2);
level waittill(param_00);
var_02 = getlevelticks();
if(!isdefined(level.aud.boost_land_release_start_time))
{
level.aud.boost_land_release_start_time = var_02;
soundscripts\_snd_playsound::snd_play_2d("tac_pc_boost_land_assist_release");
}
else if(var_02 - level.aud.boost_land_release_start_time >= var_01 / 0.05)
{
level.aud.boost_land_release_start_time = var_02;
soundscripts\_snd_playsound::snd_play_2d("tac_pc_boost_land_assist_release");
}
level.aud.boost_land_on = undefined;
}
}
//Function Number: 58
boost_land_velocity_finder()
{
for(;;)
{
var_00 = length(level.player getvelocity());
iprintlnbold(var_00);
wait(0.05);
}
}
//Function Number: 59
boost_land_play_oneshot()
{
var_00 = 1000;
var_01 = 7500;
var_02 = 500;
if(!isdefined(level.aud.boost_land_first_shot))
{
level.aud.boost_land_first_shot = 1;
}
if(!isdefined(level.aud.boost_land_max_locked_out))
{
level.aud.boost_land_max_locked_out = 0;
}
var_03 = length(level.player getvelocity());
if(var_03 >= var_00 || level.aud.boost_land_first_shot == 1)
{
if(level.aud.boost_land_max_locked_out == 0)
{
thread boost_land_max_shot_timer();
soundscripts\_snd_playsound::snd_play_2d("tac_pc_boost_land_assist_shot_max");
level.aud.boost_land_first_shot = 0;
return;
}
if(level.aud.boost_land_max_locked_out == 1)
{
soundscripts\_snd_playsound::snd_play_2d("tac_pc_boost_land_assist_shot_sml");
return;
}
return;
}
if(var_03 < var_00 && var_03 >= var_02)
{
soundscripts\_snd_playsound::snd_play_2d("tac_pc_boost_land_assist_shot_med");
return;
}
if(var_03 < var_01)
{
soundscripts\_snd_playsound::snd_play_2d("tac_pc_boost_land_assist_shot_sml");
return;
}
}
//Function Number: 60
boost_land_max_shot_timer()
{
var_00 = 4;
if(!isdefined(level.aud.boost_land_max_shot_timer))
{
level.aud.boost_land_max_shot_timer = 0;
}
for(;;)
{
level.aud.boost_land_max_shot_timer = level.aud.boost_land_max_shot_timer + 0.1;
level.aud.boost_land_max_locked_out = 1;
wait(0.1);
if(level.aud.boost_land_max_shot_timer > var_00)
{
level.aud.boost_land_max_shot_timer = 0;
level.aud.boost_land_max_locked_out = 0;
break;
}
}
}
//Function Number: 61
boost_land_release_shot_timer()
{
var_00 = 0.1;
if(!isdefined(level.aud.boost_land_release_shot_timer))
{
level.aud.boost_land_release_shot_timer = 0;
}
for(;;)
{
level.aud.boost_land_release_shot_timer = level.aud.boost_land_release_shot_timer + 0.1;
level.aud.boost_land_release_locked_out = 1;
wait(0.1);
if(level.aud.boost_land_release_shot_timer > var_00)
{
level.aud.boost_land_release_shot_timer = 0;
level.aud.boost_land_release_locked_out = 0;
break;
}
}
}
//Function Number: 62
boost_land_assist_npc()
{
soundscripts\_snd_playsound::snd_play_linked("boost_land_assist_npc");
}
//Function Number: 63
boost_land_assist_npc_ground()
{
soundscripts\_snd_playsound::snd_play_linked("boost_land_assist_npc_ground");
}
//Function Number: 64
boost_land_out_of_fuel()
{
}
//Function Number: 65
tracking_grenade_hover(param_00)
{
param_00 soundscripts\_snd_playsound::snd_play_linked("track_grenade_hover","kill_tracking_loop");
param_00 soundscripts\_snd_playsound::snd_play_loop_linked("track_grenade_loop","kill_tracking_loop",undefined,1.2);
param_00 waittill("death");
level notify("kill_tracking_loop");
}
//Function Number: 66
tracking_grenade_jump(param_00)
{
param_00 soundscripts\_snd_playsound::snd_play_linked("track_grenade_jump");
}
//Function Number: 67
tracking_grenade_strike(param_00)
{
param_00 soundscripts\_snd_playsound::snd_play_linked("track_grenade_strike");
param_00 notify("kill_tracking_loop");
}
//Function Number: 68
tracking_grenade_dud(param_00)
{
param_00 soundscripts\_snd_playsound::snd_play_linked("track_grenade_dud");
level notify("kill_tracking_loop");
}
//Function Number: 69
tracking_grenade_beep(param_00)
{
param_00 soundscripts\_snd_playsound::snd_play_linked("track_grenade_beep");
}
//Function Number: 70
anml_doberman(param_00)
{
var_01 = "anml_doberman_" + param_00;
if(isdefined(self.snd_guid))
{
level notify(self.snd_guid);
}
self.snd_guid = "anml_doberman_" + soundscripts\_snd::snd_new_guid();
if(param_00 == "death")
{
soundscripts\_snd_playsound::snd_play_at(var_01,self.origin,self.snd_guid,0,0.1);
return;
}
soundscripts\_snd_playsound::snd_play_linked(var_01,self.snd_guid,0,0.15);
}
//Function Number: 71
finish_mission_fade(param_00)
{
soundscripts\_audio_mix_manager::mm_add_submix("mute_all",param_00);
}
//Function Number: 72
snd_cloak_init()
{
common_scripts\utility::flag_init("snd_cloak_is_enabled");
}
//Function Number: 73
exo_cloak_button_press()
{
soundscripts\_audio::deprecated_aud_play_2d_sound("exo_cloak_buttons");
}
//Function Number: 74
exo_cloak_enable()
{
if(!common_scripts\utility::flag("snd_cloak_is_enabled"))
{
common_scripts\utility::flag_set("snd_cloak_is_enabled");
soundscripts\_audio::deprecated_aud_play_linked_sound("exo_cloak_enable_click",level.player);
soundscripts\_audio::deprecated_aud_play_linked_sound("exo_cloak_enable",level.player);
soundscripts\_audio::deprecated_aud_delay_play_2d_sound("exo_cloak_enable_wide",0.4);
}
thread exo_cloak_battery_low();
}
//Function Number: 75
exo_cloak_disable()
{
common_scripts\utility::flag_clear("snd_cloak_is_enabled");
soundscripts\_audio::deprecated_aud_play_linked_sound("exo_cloak_enable_click",level.player);
soundscripts\_audio::deprecated_aud_play_linked_sound("exo_cloak_disable",level.player);
soundscripts\_audio::deprecated_aud_delay_play_2d_sound("exo_cloak_disable_wide",0.2);
wait(1);
thread exo_cloak_battery_recharge();
}
//Function Number: 76
exo_cloak_battery_low()
{
level notify("kill_exo_cloak_battery_low");
level endon("kill_exo_cloak_battery_low");
var_00 = level._cloaked_stealth_settings.cloak_battery_level;
var_01 = undefined;
while(common_scripts\utility::flag("snd_cloak_is_enabled"))
{
var_02 = level._cloaked_stealth_settings.cloak_battery_level;
if(var_02 <= 0.26 && var_00 > 0.26)
{
var_01 = soundscripts\_audio::deprecated_aud_play_linked_sound("exo_cloak_battery_low",level.player,"loop","notify_stop_exo_cloak_battery_low");
}
else if(var_02 >= 0.26 && var_00 < 0.26)
{
level notify("notify_stop_exo_cloak_battery_low");
}
var_00 = var_02;
wait(0.05);
}
if(isdefined(var_01))
{
var_01 scalevolume(0,0.25);
wait(0.25);
level notify("notify_stop_exo_cloak_battery_low");
}
}
//Function Number: 77
exo_cloak_battery_dead()
{
common_scripts\utility::flag_clear("snd_cloak_is_enabled");
soundscripts\_audio::deprecated_aud_play_linked_sound("exo_cloak_disable",level.player);
soundscripts\_audio::deprecated_aud_delay_play_2d_sound("exo_cloak_battery_dead",0.25);
wait(3);
thread exo_cloak_battery_recharge();
}
//Function Number: 78
exo_cloak_battery_recharge()
{
var_00 = soundscripts\_audio::deprecated_aud_play_2d_sound("exo_cloak_battery_recharge");
while(level._cloaked_stealth_settings.cloak_battery_level < 1 && !common_scripts\utility::flag("snd_cloak_is_enabled"))
{
wait(0.1);
}
if(isdefined(var_00))
{
var_00 scalevolume(0,0.25);
}
}
//Function Number: 79
npc_cloak_buttons(param_00)
{
var_01 = self;
if(param_00 == "cornercrouch_right_cloak_toggle")
{
soundscripts\_audio::deprecated_aud_delay_play_linked_sound("exo_cloak_npc_buttons",var_01,1);
soundscripts\_audio::deprecated_aud_delay_play_linked_sound("exo_cloak_npc_buttons",var_01,6.5);
return;
}
if(param_00 == "cornercrouch_left_cloak_toggle")
{
soundscripts\_audio::deprecated_aud_delay_play_linked_sound("exo_cloak_npc_buttons",var_01,1);
soundscripts\_audio::deprecated_aud_delay_play_linked_sound("exo_cloak_npc_buttons",var_01,6.75);
return;
}
soundscripts\_audio::deprecated_aud_delay_play_linked_sound("exo_cloak_npc_buttons",var_01,1.2);
soundscripts\_audio::deprecated_aud_delay_play_linked_sound("exo_cloak_npc_buttons",var_01,6.4);
}
//Function Number: 80
npc_cloak_enable()
{
var_00 = self;
var_01 = gettime();
if(var_01 > 1000)
{
}
}
//Function Number: 81
overdrive_on()
{
level.player enablecustomweaponcontext();
snd_enable_soundcontextoverride("slomo");
soundscripts\_audio_zone_manager::azm_set_reverb_bypass(1);
level.player setreverb("snd_enveffectsprio_level","sewer",1,0.7,1);
soundscripts\_audio_zone_manager::azm_set_filter_bypass(1);
soundscripts\_snd_filters::snd_fade_in_filter("overdrive",1);
soundscripts\_audio_mix_manager::mm_add_submix("overdrive",1);
soundscripts\_snd_timescale::snd_set_timescale("overdrive_timescale");
soundscripts\_snd_playsound::snd_play_2d("overdrive_start",undefined,undefined,0.25);
soundscripts\_snd_playsound::snd_play_loop_2d("overdrive_loop","kill_overdrive_loop",1,2);
level.player waittill("death");
soundscripts\_audio_mix_manager::mm_clear_submix("overdrive",2.5);
level notify("kill_overdrive_loop");
}
//Function Number: 82
overdrive_off()
{
soundscripts\_snd_playsound::snd_play_2d("overdrive_stop");
level notify("kill_overdrive_loop");
soundscripts\_audio_mix_manager::mm_clear_submix("overdrive",2);
soundscripts\_snd_timescale::snd_set_timescale("default");
level.player deactivatereverb("snd_enveffectsprio_level",1);
soundscripts\_audio_zone_manager::azm_set_reverb_bypass(0);
soundscripts\_snd_filters::snd_fade_out_filter(2);
soundscripts\_audio_zone_manager::azm_set_filter_bypass(0);
snd_disable_soundcontextoverride("slomo");
level.player disablecustomweaponcontext();
}
//Function Number: 83
sonic_blast()
{
level.aud.sonic_blast_started = 1;
soundscripts\_audio_mix_manager::mm_add_submix("sonic_attack");
soundscripts\_snd_playsound::snd_play_2d("sonic_attack_shoot");
soundscripts\_snd_filters::snd_fade_in_filter("sonic_attack",0.25);
wait(1.5);
soundscripts\_snd_filters::snd_fade_out_filter(3);
}
//Function Number: 84
sonic_blast_aftershock()
{
if(isdefined(level.aud.sonic_blast_started) && level.aud.sonic_blast_started == 1)
{
level.aud.sonic_blast_started = 0;
return;
}
soundscripts\_snd_playsound::snd_play_2d("sonic_attack_aftershock");
}
//Function Number: 85
sonic_blast_done()
{
soundscripts\_audio_mix_manager::mm_clear_submix("sonic_attack");
}
//Function Number: 86
exo_stim_on()
{
soundscripts\_snd_playsound::snd_play_2d("stim_activate");
}
//Function Number: 87
explo_ambientexp_dirt(param_00,param_01)
{
var_02 = spawnstruct();
var_02.pos = param_00;
var_02.exploder_num_ = param_01;
var_02.incoming_alias_ = "exp_generic_incoming";
var_02.speed_of_sound_ = 1;
var_02.duck_alias_ = "exp_generic_explo_sub_kick";
var_02.duck_dist_threshold_ = 1000;
var_02.explo_delay_chance_ = 60;
var_02.shake_dist_threshold_ = 2000;
var_02.explo_debris_alias_ = "exp_debris_dirt_chunks";
var_02.ground_zero_alias_ = "exp_grnd_zero_stone";
var_02.ground_zero_dist_threshold_ = 500;
snd_ambient_explosion(var_02);
}
//Function Number: 88
explo_ambientexp_fireball(param_00)
{
var_01 = spawnstruct();
var_01.pos = param_00;
var_01.speed_of_sound_ = 1;
var_01.duck_alias_ = "exp_generic_explo_sub_kick";
var_01.duck_dist_threshold_ = 1000;
var_01.explo_delay_chance_ = 60;
var_01.shake_dist_threshold_ = 2000;
var_01.explo_debris_alias_ = "exp_debris_dirt_chunks";
var_01.ground_zero_alias_ = "exp_grnd_zero_stone";
var_01.ground_zero_dist_threshold_ = 500;
snd_ambient_explosion(var_01);
}
//Function Number: 89
snd_air_vehicle_smart_flyby(param_00,param_01,param_02,param_03,param_04)
{
var_05 = 0;
if(isdefined(param_02))
{
var_05 = param_02;
}
var_06 = 0;
if(isdefined(param_03))
{
var_06 = param_03;
}
while(isdefined(self))
{
if(var_06)
{
var_07 = distance(self.origin,level.player.origin);
}
else
{
var_07 = distance2d(self.origin,level.player.origin);
}
if(var_07 < param_01)
{
var_08 = spawn("script_origin",self.origin);
var_08 linkto(self);
var_08 playsound(param_00,"sounddone");
var_08 thread sndx_air_vehicle_smart_flyby_deathspin(self,param_04);
var_08 thread sndx_air_vehicle_smart_flyby_sounddone();
var_08 waittill("flyby_ent",var_09);
if(var_09 == "deathspin")
{
var_08 scalevolume(0,0.3);
wait(0.4);
var_08 stopsounds();
var_08 delete();
return;
}
else if(var_09 == "sounddone")
{
wait(0.1);
var_08 delete();
return;
}
continue;
}
wait(0.05);
}
}
//Function Number: 90
sndx_air_vehicle_smart_flyby_deathspin(param_00,param_01)
{
self endon("flyby_ent");
param_00 waittill("deathspin");
self notify("flyby_ent","deathspin");
if(isdefined(param_01))
{
var_02 = spawn("script_origin",self.origin);
var_02 linkto(self);
var_02 playsound(param_01,"sounddone");
var_02 waittill("sounddone");
var_02 delete();
}
}
//Function Number: 91
sndx_air_vehicle_smart_flyby_sounddone()
{
self endon("flyby_ent");
self waittill("sounddone");
self notify("flyby_ent","sounddone");
}
//Function Number: 92
snd_advanced_flyby_system(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B)
{
self endon("death");
self endon("deathspin");
self vehicle_turnengineoff();
if(!isdefined(self.audio))
{
self.audio = spawnstruct();
}
self.audio.prev_dist = sndx_advanced_flyby_dist_check(param_04);
self.audio.flying_over = 0;
self.audio.flying_by = 0;
self.audio.death_spining = 0;
self.audio.approaching = 1;
self.audio.debug_id = param_0A;
if(isdefined(param_05))
{
thread sndx_advanced_flyby_deathspin(param_05,param_0A);
}
if(isdefined(param_06))
{
var_0C = spawn("script_origin",self.origin);
var_0C linkto(self);
thread sndx_advanced_flyby_destruct(var_0C,param_06,param_0A);
}
self.audio.min_flyingover_wait = 5;
if(isdefined(param_07))
{
self.audio.min_flyingover_wait = param_07;
}
self.audio.min_flyingby_wait = 3;
if(isdefined(param_08))
{
self.audio.min_flyingby_wait = param_08;
}
var_0D = 0.05;
if(isdefined(param_09))
{
var_0D = param_09;
}
if(isarray(param_01))
{
foreach(var_10, var_0F in param_01)
{
thread sndx_advanced_flyby_spawn_sound(var_10,var_0F,param_0A);
}
}
if(isarray(param_02))
{
while(isdefined(self))
{
var_11 = sndx_advanced_flyby_dist_check(param_04);
for(var_12 = 0;var_12 < param_02.size;var_12++)
{
if(var_11 < param_02[var_12])
{
if(var_12 == 0)
{
if(self.audio.approaching && self.audio.flying_over == 0 && self.audio.death_spining == 0)
{
var_13 = sndx_advanced_flyby_construct_alias(param_00,var_12,param_03,param_0A);
if(isdefined(var_13))
{
thread sndx_advanced_flyby_playsound(var_13,var_12);
}
}
else if(var_11 < self.audio.prev_dist)
{
self.audio.approaching = 1;
}
else
{
self.audio.approaching = 0;
}
}
else if(var_11 > self.audio.prev_dist)
{
if(self.audio.approaching && self.audio.flying_over == 0 && self.audio.flying_by == 0 && self.audio.death_spining == 0)
{
self.audio.approaching = 0;
var_13 = sndx_advanced_flyby_construct_alias(param_00,var_12,param_03,param_0A);
if(isdefined(var_13))
{
thread sndx_advanced_flyby_playsound(var_13,var_12);
}
}
}
else
{
self.audio.approaching = 1;
}
break;
}
}
self.audio.prev_dist = var_11;
wait(var_0D);
}
}
}
//Function Number: 93
sndx_advanced_flyby_spawn_sound(param_00,param_01,param_02)
{
self endon("death");
self endon("deathspin");
wait(param_01);
thread sndx_advanced_flyby_playsound(param_00);
}
//Function Number: 94
sndx_advanced_flyby_dist_check(param_00)
{
var_01 = 0;
if(isdefined(param_00))
{
var_01 = param_00;
}
if(var_01)
{
var_02 = distance(self.origin,level.player.origin);
}
else
{
var_02 = distance2d(self.origin,level.player.origin);
}
return var_02;
}
//Function Number: 95
sndx_advanced_flyby_construct_alias(param_00,param_01,param_02,param_03)
{
var_04 = 0;
var_05 = self vehicle_getvelocity();
var_06 = length(var_05) * 0.05681818;
if(var_06 > 5)
{
if(isarray(param_02))
{
var_07 = level.player getvelocity();
var_08 = var_05 - var_07;
var_09 = length(var_08) * 0.05681818;
for(var_0A = 0;var_0A < param_02.size;var_0A++)
{
var_04 = var_0A + 1;
if(var_09 > param_02[var_0A])
{
var_04 = var_0A;
break;
}
}
}
if(var_04 == 0)
{
var_0B = "fast";
}
else if(var_05 == 1)
{
var_0B = "med";
}
else
{
var_0B = "slow";
}
if(param_01 == 0)
{
var_0C = "close";
}
else if(param_02 == 1)
{
var_0C = "mid";
}
else if(param_02 == 2)
{
var_0C = "far";
}
else
{
return undefined;
}
var_0D = param_00 + "_" + var_0B + "_" + var_0C;
if(param_01 == 0)
{
self.audio.flying_over = 1;
}
else
{
self.audio.flying_by = 1;
}
return var_0D;
}
return undefined;
}
//Function Number: 96
sndx_advanced_flyby_playsound(param_00,param_01)
{
thread sndx_advanced_flyby_retrigger_wait(param_01);
var_02 = soundscripts\_audio::deprecated_aud_play_linked_sound(param_00,self);
thread sndx_advanced_flyby_cleanup(var_02,"deathspin");
}
//Function Number: 97
sndx_advanced_flyby_deathspin(param_00,param_01)
{
self endon("crash_done");
self waittill("deathspin");
var_02 = soundscripts\_audio::deprecated_aud_play_linked_sound(param_00,self);
thread sndx_advanced_flyby_cleanup(var_02,"crash_done");
}
//Function Number: 98
sndx_advanced_flyby_destruct(param_00,param_01,param_02)
{
self waittill("crash_done");
var_03 = spawn("script_origin",param_00.origin);
var_03 soundscripts\_snd_playsound::snd_play(param_01,"sounddone");
var_03 waittill("sounddone");
var_03 delete();
}
//Function Number: 99
sndx_advanced_flyby_retrigger_wait(param_00)
{
if(isdefined(param_00))
{
if(param_00 == 0)
{
wait(self.audio.min_flyingover_wait);
if(isdefined(self))
{
self.audio.flying_over = 0;
return;
}
return;
}
wait(self.audio.min_flyingby_wait);
if(isdefined(self))
{
self.audio.flying_by = 0;
return;
}
}
}
//Function Number: 100
sndx_advanced_flyby_cleanup(param_00,param_01,param_02)
{
self waittill(param_01);
if(isdefined(param_00))
{
var_03 = 0.3;
if(isdefined(param_02))
{
var_03 = param_02;
}
param_00 scalevolume(0,var_03);
wait(var_03);
if(isdefined(param_00))
{
param_00 stopsounds();
wait(0.1);
if(isdefined(param_00))
{
param_00 delete();
return;
}
}
}
}
//Function Number: 101
snd_ambient_explosion(param_00)
{
var_01 = sndx_ambient_explosion_args_validation(param_00);
thread sndx_ambient_explosion_internal(var_01);
}
//Function Number: 102
sndx_ambient_explosion_args_validation(param_00)
{
if(!isdefined(level._snd.ambientexp))
{
init_ambient_explosion_arrays();
}
if(!isdefined(param_00.explo_shot_array_))
{
param_00.explo_shot_array_ = level._snd.ambientexp["exp_generic_explo_shot"];
if(!isdefined(param_00.explo_tail_alias_))
{
param_00.explo_tail_alias_ = "exp_generic_explo_tail";
}
}
if(isdefined(param_00.duck_alias_))
{
if(isdefined(param_00.duck_dist_threshold_))
{
param_00.duck_dist_threshold_ = max(param_00.duck_dist_threshold_,0);
}
else
{
param_00.duck_dist_threshold_ = 1000;
}
}
if(isdefined(param_00.explo_delay_chance_))
{
param_00.explo_delay_chance_ = max(param_00.explo_delay_chance_,0);
}
else
{
param_00.explo_delay_chance_ = 50;
}
if(isdefined(param_00.shake_dist_threshold_))
{
param_00.shake_dist_threshold_ = max(param_00.shake_dist_threshold_,0);
}
if(!isdefined(param_00.shake_envelope_))
{
param_00.shake_envelope_ = level._snd.envs["explo_shake_over_distance"];
}
if(isdefined(param_00.shake_durration_))
{
param_00.shake_durration_ = max(param_00.shake_durration_,0);
}
else
{
param_00.shake_durration_ = 0.5;
}
if(isdefined(param_00.ground_zero_alias_))
{
if(isdefined(param_00.ground_zero_dist_threshold_))
{
param_00.ground_zero_dist_threshold_ = max(param_00.ground_zero_dist_threshold_,0);
}
else
{
param_00.ground_zero_dist_threshold_ = 500;
}
}
return param_00;
}
//Function Number: 103
sndx_ambient_explosion_internal(param_00)
{
var_01 = param_00.pos;
var_02 = param_00.exploder_num_;
var_03 = param_00.incoming_alias_;
var_04 = param_00.speed_of_sound_;
var_05 = param_00.explo_shot_array_;
var_06 = param_00.duck_alias_;
var_07 = param_00.duck_dist_threshold_;
var_08 = param_00.explo_delay_chance_;
var_09 = param_00.explo_tail_alias_;
var_0A = param_00.shake_dist_threshold_;
var_0B = param_00.shake_envelope_;
var_0C = param_00.shake_durration_;
var_0D = param_00.explo_debris_alias_;
var_0E = param_00.ground_zero_alias_;
var_0F = param_00.ground_zero_dist_threshold_;
var_10 = distance(level.player.origin,var_01);
if(isdefined(var_04) && var_04 == 1)
{
var_11 = var_10 * 8.333333E-05;
wait(var_11);
}
if(isdefined(var_02))
{
if(isdefined(var_03))
{
common_scripts\utility::play_sound_in_space(var_03,var_01);
}
common_scripts\_exploder::exploder(var_02);
}
var_12 = randomint(var_05.size);
var_13 = var_05[var_12];
var_14 = var_13[0];
thread common_scripts\utility::play_sound_in_space(var_14,var_01);
if(isdefined(var_06))
{
if(var_10 < var_07)
{
thread common_scripts\utility::play_sound_in_space(var_06,var_01);
}
}
var_15 = var_13[1];
if(isdefined(var_15))
{
if(soundscripts\_audio::aud_percent_chance(var_08))
{
wait(var_15);
}
}
if(isdefined(var_09))
{
thread common_scripts\utility::play_sound_in_space(var_09,var_01);
}
if(isdefined(var_0A))
{
if(var_10 < var_0A)
{
var_16 = var_10 / var_0A;
var_17 = soundscripts\_audio::deprecated_aud_map2(var_16,var_0B);
earthquake(var_17,var_0C,level.player.origin,var_0A);
}
}
if(isdefined(var_0D))
{
thread common_scripts\utility::play_sound_in_space(var_0D,var_01);
}
if(isdefined(var_0E) && var_10 < var_0F)
{
thread common_scripts\utility::play_sound_in_space(var_0E,var_01);
}
}
//Function Number: 104
snd_impact(param_00,param_01,param_02,param_03,param_04)
{
var_05 = param_00 + "_" + param_01 + "_" + param_02;
if(isdefined(param_04))
{
var_06 = soundscripts\_audio::deprecated_aud_play_linked_sound(var_05,param_04,undefined,undefined,undefined,undefined,param_03);
}
else
{
var_06 = soundscripts\_audio::deprecated_aud_play_sound_at(var_06,param_04);
}
return var_06;
}
//Function Number: 105
snd_play_vehicle_collision(param_00,param_01,param_02)
{
var_03 = param_00["vehicle"];
var_04 = var_03 sndx_vehicle_collision_args_setup(param_00,param_01,param_02);
var_03 thread sndx_play_vehicle_collision_internal(var_04);
}
//Function Number: 106
sndx_vehicle_collision_args_setup(param_00,param_01,param_02)
{
if(!isdefined(self.audio))
{
self.audio = spawnstruct();
}
if(!isarray(param_01))
{
param_01 = [];
}
self.audio.debug = soundscripts\_audio::aud_get_optional_param(0,param_01["Debug"]);
self.audio.vehicleid = soundscripts\_audio::aud_get_optional_param("veh_impact",param_01["VehicleID"]);
self.audio.pv_minvelocitythreshold = soundscripts\_audio::aud_get_optional_param(25,param_01["PV_MinVelocityThreshold"]);
self.audio.pv_maxvelocity = soundscripts\_audio::aud_get_optional_param(1000,param_01["PV_MaxVelocity"]);
self.audio.pv_numvelocityranges = soundscripts\_audio::aud_get_optional_param(3,param_01["PV_NumVelocityRanges"]);
self.audio.pv_maxsmlvelocity = soundscripts\_audio::aud_get_optional_param(100,param_01["PV_MaxSmlVelocity"]);
self.audio.pv_maxmedvelocity = soundscripts\_audio::aud_get_optional_param(600,param_01["PV_MaxMedVelocity"]);
self.audio.pv_maxlrgvelocity = soundscripts\_audio::aud_get_optional_param(1000,param_01["PV_MaxLrgVelocity"]);
self.audio.npc_minvelocitythreshold = soundscripts\_audio::aud_get_optional_param(25,param_01["NPC_MinVelocityThreshold"]);
self.audio.npc_maxvelocity = soundscripts\_audio::aud_get_optional_param(800,param_01["NPC_MaxVelocity"]);
self.audio.npc_numvelocityranges = soundscripts\_audio::aud_get_optional_param(3,param_01["NPC_NumVelocityRanges"]);
self.audio.npc_maxsmlvelocity = soundscripts\_audio::aud_get_optional_param(100,param_01["NPC_MaxSmlVelocity"]);
self.audio.npc_maxmedvelocity = soundscripts\_audio::aud_get_optional_param(400,param_01["NPC_MaxMedVelocity"]);
self.audio.npc_maxlrgvelocity = soundscripts\_audio::aud_get_optional_param(800,param_01["NPC_MaxLrgVelocity"]);
self.audio.minlfevolumethreshold = soundscripts\_audio::aud_get_optional_param(0,param_01["MinLFEVolumeThreshold"]);
self.audio.fallvelmultiplier = soundscripts\_audio::aud_get_optional_param(2,param_01["FallVelMultiplier"]);
self.audio.mintimethreshold = soundscripts\_audio::aud_get_optional_param(250,param_01["MinTimeThreshold"]);
self.audio.tireskidprobability = soundscripts\_audio::aud_get_optional_param(35,param_01["TireSkidProbability"]);
self.audio.maxdistancethreshold = soundscripts\_audio::aud_get_optional_param(6000,param_01["MaxDistanceThreshold"]);
self.audio.medvolmin = soundscripts\_audio::aud_get_optional_param(0.1,param_01["MedVolMin"]);
self.audio.lrgvolmin = soundscripts\_audio::aud_get_optional_param(0.3,param_01["LrgVolMin"]);
self.audio.nonplayerimpvolreduction = soundscripts\_audio::aud_get_optional_param(0,param_01["NonPlayerImpVolReduction"]);
if(!isdefined(self.audio.prev_impacttime))
{
self.audio.prev_impacttime = 0;
}
if(!isdefined(level._snd.veh_collision))
{
level._snd.veh_collision = spawnstruct();
init_impact_system_arrays();
level._snd.veh_collision.is_scraping = 0;
level._snd.veh_collision.scrapeenabled = soundscripts\_audio::aud_get_optional_param(1,param_01["ScrapeEnabled"]);
level._snd.veh_collision.scrapeseperationtime = soundscripts\_audio::aud_get_optional_param(0.5,param_01["ScrapeSeperationTime"]);
level._snd.veh_collision.scrapefadeouttime = soundscripts\_audio::aud_get_optional_param(0.5,param_01["ScrapeFadeOutTime"]);
level._snd.veh_collision.scrapeupdaterate = soundscripts\_audio::aud_get_optional_param(0.05,param_01["ScrapeUpdateRate"]);
}
if(param_00["surface"] == "none")
{
param_00["surface"] = "vehicle";
}
var_03 = level._snd.veh_collision.surfaces;
if(isdefined(param_02))
{
var_03 = param_02;
}
if(!snd_is_valid_surface(param_00["surface"],var_03))
{
param_00["surface"] = "default";
}
return param_00;
}
//Function Number: 107
sndx_play_vehicle_collision_internal(param_00)
{
var_01 = self;
var_02 = param_00["hit_entity"];
var_03 = param_00["pos"];
var_04 = param_00["impulse"];
var_05 = param_00["relativeVel"];
var_06 = param_00["surface"];
var_07 = (var_05[0],var_05[1],0);
var_08 = length(var_07);
var_09 = abs(var_05[2]) * self.audio.fallvelmultiplier;
var_0A = distance(var_03,level.player.origin);
var_0B = gettime();
var_0C = var_0B - self.audio.prev_impacttime;
var_0D = undefined;
var_0E = undefined;
var_0F = 0;
if(isdefined(level.player.drivingvehicle))
{
var_0D = level.player.drivingvehicle;
if((isdefined(var_02) && var_02 == var_0D) || var_01 == var_0D)
{
var_0E = var_0D;
var_0F = 1;
if(level._snd.veh_collision.is_scraping)
{
thread sndx_vehicle_collision_scrape_timer();
}
}
}
if(var_0A < self.audio.maxdistancethreshold && var_08 > self.audio.pv_minvelocitythreshold)
{
var_08 = clamp(var_08,0,self.audio.pv_maxvelocity);
var_09 = clamp(var_09,0,self.audio.pv_maxvelocity);
var_10 = var_08;
if(var_09 > var_08)
{
var_10 = var_09;
}
if(var_0F)
{
var_11 = sndx_vehicle_collision_get_impact_size(var_10,self.audio.pv_maxsmlvelocity,self.audio.pv_maxmedvelocity);
var_12 = sndx_vehicle_collision_get_impact_vol(var_10,self.audio.pv_maxsmlvelocity,self.audio.pv_maxmedvelocity,self.audio.pv_maxlrgvelocity);
var_13 = "PV-IMPACT";
}
else
{
var_11 = sndx_vehicle_collision_get_impact_size(var_13,self.audio.npc_maxsmlvelocity,self.audio.npc_maxmedvelocity);
var_12 = sndx_vehicle_collision_get_impact_vol(var_12,self.audio.npc_maxsmlvelocity,self.audio.npc_maxmedvelocity,self.audio.npc_maxlrgvelocity);
var_13 = "NPC-IMPACT";
if(var_11 == "sml")
{
return;
}
clamp(var_12,self.audio.nonplayerimpvolreduction,1);
var_12 = var_12 - self.audio.nonplayerimpvolreduction;
}
if(var_0C < self.audio.mintimethreshold)
{
if(var_11 == "sml")
{
return;
}
if(!var_0F)
{
return;
}
}
self.audio.prev_impacttime = var_0B;
if(var_0F)
{
if(level._snd.veh_collision.scrapeenabled)
{
if(var_0C <= self.audio.mintimethreshold)
{
level._snd.veh_collision.scrape_pos = var_03;
if(!level._snd.veh_collision.is_scraping)
{
thread sndx_vehicle_collision_scrape(var_0D);
}
else
{
return;
}
}
else if(level._snd.veh_collision.is_scraping)
{
sndx_vehicle_collision_stop_scrapes();
}
}
}
if(isdefined(var_0D) && var_01 != var_0D)
{
if(randomint(100) < self.audio.tireskidprobability)
{
soundscripts\_audio::deprecated_aud_play_sound_at("vehicle_tire_skid",var_03);
}
}
var_14 = soundscripts\_audio::deprecated_aud_map2(var_12,level._snd.envs["veh_crash_intensity_to_pitch"]);
var_15 = snd_impact(self.audio.vehicleid,var_06,var_11,var_03,var_0E);
var_15 scalevolume(var_12,0.1);
var_15 scalepitch(var_14,0.1);
if(var_0F && var_11 != "sml")
{
var_16 = soundscripts\_audio::deprecated_aud_map2(var_10,level._snd.envs["veh_crash_vel_to_lfe_vol"]);
if(var_16 > self.audio.minlfevolumethreshold)
{
var_17 = snd_impact(self.audio.vehicleid,var_06,"lfe",var_03);
var_17 scalevolume(var_16,0.1);
return;
}
}
}
}
//Function Number: 108
sndx_vehicle_collision_get_impact_size(param_00,param_01,param_02)
{
if(param_00 <= param_01)
{
var_03 = "sml";
}
else if(param_01 <= var_03)
{
var_03 = "med";
}
else
{
var_03 = "lrg";
}
return var_03;
}
//Function Number: 109
sndx_vehicle_collision_get_impact_vol(param_00,param_01,param_02,param_03)
{
if(param_00 <= param_01)
{
var_04 = param_00 / param_01;
}
else if(param_01 <= self.audio.pv_maxmedvelocity)
{
var_04 = param_01 / param_03;
if(var_04 < self.audio.medvolmin)
{
var_04 = self.audio.medvolmin;
}
}
else
{
var_04 = param_01 / var_04;
if(var_04 < self.audio.lrgvolmin)
{
var_04 = self.audio.lrgvolmin;
}
}
return var_04;
}
//Function Number: 110
sndx_vehicle_collision_scrape(param_00)
{
level._snd.veh_collision.is_scraping = 1;
level endon("aud_stop_vehicle_scraping");
while(level._snd.veh_collision.is_scraping)
{
if(isdefined(param_00))
{
var_01 = param_00.origin;
if(isdefined(level._snd.veh_collision.scrape_pos))
{
var_01 = level._snd.veh_collision.scrape_pos;
}
var_02 = param_00.audio.vehicleid + "_scrape";
var_03 = soundscripts\_audio::deprecated_aud_play_linked_sound(var_02,param_00,undefined,undefined,undefined,undefined,var_01);
if(!isdefined(level._snd.veh_collision.scrape_sounds))
{
level._snd.veh_collision.scrape_sounds = [];
}
level._snd.veh_collision.scrape_sounds[level._snd.veh_collision.scrape_sounds.size] = var_03;
}
wait(0.05);
wait(level._snd.veh_collision.scrapeseperationtime);
}
}
//Function Number: 111
sndx_vehicle_collision_scrape_timer()
{
level notify("aud_vehicle_collision_scrape_timer_reset");
level endon("aud_vehicle_collision_scrape_timer_reset");
wait(level._snd.veh_collision.scrapeupdaterate);
waittillframeend;
sndx_vehicle_collision_stop_scrapes();
}
//Function Number: 112
sndx_vehicle_collision_stop_scrapes(param_00)
{
var_01 = level._snd.veh_collision.scrapefadeouttime;
if(isdefined(param_00))
{
var_01 = param_00;
}
level notify("aud_stop_vehicle_scraping");
level._snd.veh_collision.is_scraping = 0;
if(isdefined(level._snd.veh_collision.scrape_sounds))
{
for(var_02 = 0;var_02 < level._snd.veh_collision.scrape_sounds.size;var_02++)
{
if(isdefined(level._snd.veh_collision.scrape_sounds[var_02]))
{
var_03 = level._snd.veh_collision.scrape_sounds[var_02];
thread soundscripts\_audio::aud_fade_out_and_delete(var_03,var_01);
}
}
level._snd.veh_collision.scrape_sounds = undefined;
}
}
//Function Number: 113
sndx_vehicle_collision_print_stats(param_00,param_01,param_02,param_03)
{
if(self.audio.debug)
{
if(!isdefined(param_01))
{
param_01 = "-";
}
if(!isdefined(param_02))
{
param_02 = "-";
}
if(!isdefined(param_03))
{
param_03 = "-";
}
if(self.audio.output_type)
{
if(isdefined(param_00))
{
return;
}
return;
}
}
}
//Function Number: 114
sndx_vehicle_collision_print_impact(param_00,param_01,param_02,param_03)
{
if(self.audio.debug)
{
if(!isdefined(param_00))
{
param_00 = "-";
}
if(!isdefined(param_01))
{
param_01 = "-";
}
if(!isdefined(param_02))
{
param_02 = "-";
}
if(!isdefined(param_03))
{
param_03 = "-";
}
}
}
//Function Number: 115
sndx_vehicle_collision_dpad_up()
{
soundscripts\_audio_mix_manager::mm_add_submix("impact_system_solo");
}
//Function Number: 116
sndx_vehicle_collision_dpad_down()
{
soundscripts\_audio_mix_manager::mm_clear_submix("impact_system_solo");
}
//Function Number: 117
sndx_vehicle_collision_dpad_left()
{
if(isdefined(self.audio.input_type))
{
self.audio.output_type = 1;
}
}
//Function Number: 118
sndx_vehicle_collision_dpad_right()
{
if(isdefined(self.audio.input_type))
{
self.audio.output_type = 0;
}
}
//Function Number: 119
snd_is_valid_surface(param_00,param_01)
{
var_02 = 0;
for(var_03 = 0;var_03 < param_01.size;var_03++)
{
if(param_00 == param_01[var_03])
{
var_02 = 1;
break;
}
}
return var_02;
}
//Function Number: 120
snd_dpad_functions(param_00,param_01,param_02,param_03)
{
level.player notifyonplayercommand("dpad_action_01","+actionslot 1");
level.player notifyonplayercommand("dpad_action_02","+actionslot 2");
level.player notifyonplayercommand("dpad_action_03","+actionslot 3");
level.player notifyonplayercommand("dpad_action_04","+actionslot 4");
thread sndx_dpad_function_watch("dpad_action_01",param_00);
thread sndx_dpad_function_watch("dpad_action_02",param_01);
thread sndx_dpad_function_watch("dpad_action_03",param_02);
thread sndx_dpad_function_watch("dpad_action_04",param_03);
}
//Function Number: 121
sndx_dpad_function_watch(param_00,param_01)
{
if(isdefined(param_00))
{
for(;;)
{
level.player waittill(param_00);
if(isdefined(param_01))
{
thread [[ param_01 ]]();
}
wait(0.05);
}
}
}
//Function Number: 122
snd_waittill_within_radius(param_00,param_01,param_02)
{
var_03 = 0;
param_01 = soundscripts\_audio::aud_get_optional_param(1,param_01);
param_02 = soundscripts\_audio::aud_get_optional_param(0.1,param_02);
while(isdefined(self) && !var_03)
{
if(param_01)
{
if(distance(self.origin,level.player.origin) < param_00)
{
var_03 = 1;
}
continue;
}
if(distance2d(self.origin,level.player.origin) < param_00)
{
var_03 = 1;
}
wait(param_02);
}
return var_03;
}
//Function Number: 123
snd_notify_within_radius(param_00,param_01,param_02,param_03)
{
thread sndx_notify_within_radius(param_00,param_01,param_02);
}
//Function Number: 124
sndx_notify_within_radius(param_00,param_01,param_02,param_03)
{
var_04 = snd_waittill_within_radius(param_01,param_02,param_03);
level notify(param_00,var_04);
}
//Function Number: 125
snd_debug_value_add(param_00,param_01,param_02)
{
}
//Function Number: 126
snd_debug_value_update(param_00,param_01)
{
}
//Function Number: 127
snd_debug_value_delete(param_00)
{
}
//Function Number: 128
sndx_debug_value_add(param_00,param_01,param_02,param_03)
{
}
//Function Number: 129
sndx_debug_value_reorder(param_00,param_01)
{
}
//Function Number: 130
sndx_debug_value_destroy(param_00)
{
}
//Function Number: 131
snd_debug_timer(param_00,param_01)
{
}
//Function Number: 132
snd_wait_for_enemies_aware(param_00)
{
for(;;)
{
var_01 = getaiarray("axis");
foreach(var_03 in var_01)
{
if(var_03 isenemyaware())
{
if(isstring(param_00))
{
level notify(param_00);
}
return;
}
}
wait(0.2);
}
}
//Function Number: 133
snd_wait_for_enemies_see_player(param_00)
{
for(;;)
{
var_01 = getaiarray("axis");
foreach(var_03 in var_01)
{
if(var_03 cansee(level.player))
{
if(isstring(param_00))
{
level notify(param_00);
}
return;
}
}
wait(0.2);
}
}
//Function Number: 134
snd_enemies_can_see_player()
{
var_00 = 0;
var_01 = getaiarray("axis");
foreach(var_03 in var_01)
{
if(var_03 cansee(level.player))
{
var_00 = 1;
break;
}
}
return var_00;
}
//Function Number: 135
snd_get_num_enemies_aware()
{
var_00 = 0;
var_01 = getaiarray("axis");
foreach(var_03 in var_01)
{
if(var_03 isenemyaware())
{
var_00 = var_00 + 1;
}
}
return var_00;
}
//Function Number: 136
_snd_update_soundcontextoverride()
{
foreach(var_01 in level._snd.context_overrides)
{
if(var_01[1])
{
enablesoundcontextoverride(var_01[0]);
return;
}
}
disablesoundcontextoverride();
}
//Function Number: 137
snd_enable_soundcontextoverride(param_00)
{
foreach(var_03, var_02 in level._snd.context_overrides)
{
if(var_02[0] == param_00)
{
level._snd.context_overrides[var_03][1] = 1;
_snd_update_soundcontextoverride();
return;
}
}
soundscripts\_audio::aud_print_error("Trying to enable override sound context that was not configured: " + param_00);
}
//Function Number: 138
snd_disable_soundcontextoverride(param_00)
{
foreach(var_03, var_02 in level._snd.context_overrides)
{
if(var_02[0] == param_00)
{
level._snd.context_overrides[var_03][1] = 0;
_snd_update_soundcontextoverride();
return;
}
}
soundscripts\_audio::aud_print_error("Trying to disable override sound context that was not configured: " + param_00);
}