mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-07 17:17:50 -05:00
2434 lines
61 KiB
Plaintext
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);
|
|
} |