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

2718 lines
96 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: _exo_climb.gsc
* Game: Call of Duty: Advanced Warfare
* Platform: PC
* Function Count: 119
* Decompile Time: 1928 ms
* Timestamp: 4/22/2024 2:20:56 AM
*******************************************************************/
//Function Number: 1
load_precache()
{
precachemodel("viewbody_generic_s1");
precachemodel("viewbody_sentinel");
precachemodel("viewbody_atlas_pmc_smp_custom");
precachemodel("viewbody_atlas_military_smp");
precachemodel("viewbody_atlas_military_smp_grapple");
precacheitem("frag_grenade_var_exoclimb");
precacheitem("tracking_grenade_var_exoclimb");
precacheitem("contact_grenade_var_exoclimb");
precacheitem("flash_grenade_var_exoclimb");
precacheitem("emp_grenade_var_exoclimb");
precacheitem("paint_grenade_var_exoclimb");
precachestring(&"EXOCLIMB_CLIMB_HINT");
precachestring(&"EXOCLIMB_CLIMB_HINT_PC");
precacherumble("falling_land");
precacherumble("damage_light");
level._effect["exo_r_gloves_engage"] = loadfx("vfx/ui/exo_r_gloves_engage");
level._effect["exo_l_gloves_engage"] = loadfx("vfx/ui/exo_l_gloves_engage");
level._effect["exo_r_gloves_engage_slow"] = loadfx("vfx/ui/exo_r_gloves_engage_slow");
level._effect["exo_l_gloves_engage_slow"] = loadfx("vfx/ui/exo_l_gloves_engage_slow");
level._effect["exo_r_gloves_disengage"] = loadfx("vfx/ui/exo_r_gloves_disengage");
level._effect["exo_l_gloves_disengage"] = loadfx("vfx/ui/exo_l_gloves_disengage");
level._effect["dust_mag_r_glove_impact"] = loadfx("vfx/dust/dust_mag_r_glove_impact");
level._effect["dust_mag_l_glove_impact"] = loadfx("vfx/dust/dust_mag_l_glove_impact");
if(isdefined(1) && 1)
{
temp_exoclimb_hud_precache();
}
}
//Function Number: 2
main(param_00)
{
common_scripts\utility::flag_init("flag_exo_climbing_enabled");
setup_climb_special_arrays();
setup_climb_model(param_00);
setup_climb_anims();
setup_exo_climb_audio();
verify_jump_mount_points();
verify_mag_mount_points();
get_climb_triggers();
init_exoclimb_hud();
}
//Function Number: 3
is_exo_climbing()
{
if(isdefined(level.exo_climb_rig))
{
return 1;
}
return 0;
}
//Function Number: 4
is_exoclimb_combat()
{
if(!isdefined(level.exo_climb_rig.combatbuttonbuffer))
{
return 0;
}
if(climbing_helper_player_combat_requested())
{
return 1;
}
return 0;
}
//Function Number: 5
is_exoclimb_cover()
{
if(!isdefined(level.exo_climb_rig.crouch_button_reset))
{
return 0;
}
if(climbing_helper_player_exit_combat_mode_requested())
{
return 1;
}
return 0;
}
//Function Number: 6
is_exoclimb_jumped()
{
if(!isdefined(level.exo_climb_rig.jumpbuttonbuffer))
{
return 0;
}
if(climbing_helper_player_jump_requested())
{
return 1;
}
return 0;
}
//Function Number: 7
is_exoclimb_mag_moved()
{
if(!isdefined(level.exo_climb_rig.surface_state))
{
return 0;
}
if(climbing_helper_player_mag_moving())
{
return 1;
}
return 0;
}
//Function Number: 8
override_mount_anim(param_00,param_01,param_02,param_03,param_04)
{
var_05 = getentarray(param_00,"script_noteworthy");
foreach(var_07 in var_05)
{
var_07.override_anim = param_01;
var_07.override_anim_org = param_02;
var_07.override_rig = param_03;
var_07.override_view_angle_unclamp_time = param_04;
}
}
//Function Number: 9
disable_mount_point(param_00)
{
var_01 = getentarray(param_00,"script_noteworthy");
foreach(var_03 in var_01)
{
var_03 notify("disable_mount_point");
}
}
//Function Number: 10
enable_exoclimb_combat(param_00)
{
if(isdefined(param_00) && !param_00)
{
level.exoclimb_combat_enabled = 0;
return;
}
level.exoclimb_combat_enabled = 1;
}
//Function Number: 11
setup_climb_special_arrays()
{
level.exo_climb_move_options = [];
level.exo_climb_move_options["short"] = [];
level.exo_climb_move_options["long"] = [];
level.exo_climb_move_options["magnetic"] = [];
level.exo_climb_move_options["jump2mag"] = [];
level.exo_climb_move_options["mag2jump"] = [];
level.exo_climb_anim_offsets = [];
level.exo_climb_weapon = [];
}
//Function Number: 12
add_shake_and_rumble_notetracks_for_jump(param_00)
{
maps\_anim::addnotetrack_customfunction("player_climb_rig","jump_rumble",::exo_climb_jump_rumble,param_00);
maps\_anim::addnotetrack_customfunction("player_climb_rig","jump_shake",::exo_climb_jump_shake,param_00);
}
//Function Number: 13
add_shake_and_rumble_notetracks_for_grab(param_00)
{
maps\_anim::addnotetrack_customfunction("player_climb_rig","grab_rumble",::exo_climb_grab_rumble,param_00);
maps\_anim::addnotetrack_customfunction("player_climb_rig","grab_shake",::exo_climb_grab_shake,param_00);
}
//Function Number: 14
add_shake_and_rumble_notetracks(param_00)
{
add_shake_and_rumble_notetracks_for_jump(param_00);
add_shake_and_rumble_notetracks_for_grab(param_00);
}
//Function Number: 15
add_mag_move_notetracks(param_00)
{
maps\_anim::addnotetrack_customfunction("player_climb_rig","player_input",::exo_climb_allow_player_input_1,param_00);
maps\_anim::addnotetrack_customfunction("player_climb_rig","player_input_2",::exo_climb_allow_player_input_2,param_00);
}
//Function Number: 16
setup_climb_model(param_00,param_01)
{
if(!isdefined(param_00))
{
level.scr_model["player_climb_rig"] = "viewbody_generic_s1";
return;
}
if(param_00 == "atlas_pmc")
{
level.scr_model["player_climb_rig"] = "viewbody_atlas_pmc_smp_custom";
return;
}
if(param_00 == "atlas_army")
{
if(isdefined(param_01))
{
level.scr_model["player_climb_rig"] = "viewbody_atlas_military_smp_grapple";
return;
}
level.scr_model["player_climb_rig"] = "viewbody_atlas_military_smp";
return;
}
if(param_00 == "sentinel")
{
level.scr_model["player_climb_rig"] = "viewbody_sentinel";
return;
}
}
//Function Number: 17
setup_climb_anims()
{
level.scr_animtree["player_climb_rig"] = #animtree;
level.scr_anim["player_climb_rig"]["mount2jump"] = %vm_exoclimb_mount;
level.scr_anim["player_climb_rig"]["mount2mag"] = %vm_exoclimb_mag_mount_up;
level.scr_anim["player_climb_rig"]["mount_override"] = undefined;
level.scr_anim["player_climb_rig"]["dismount"] = %vm_exoclimb_dismount_down;
level.scr_anim["player_climb_rig"]["idle"][0] = %vm_exoclimb_idle;
level.scr_anim["player_climb_rig"]["idleleft"][0] = %vm_exoclimb_idle_left;
level.scr_anim["player_climb_rig"]["idleright"][0] = %vm_exoclimb_idle_right;
level.scr_anim["player_climb_rig"]["idleleft_back"][0] = %vm_exoclimb_idle_left_back;
level.scr_anim["player_climb_rig"]["idleright_back"][0] = %vm_exoclimb_idle_right_back;
level.scr_anim["player_climb_rig"]["idle_magnetic_gloves"][0] = %vm_exoclimb_mag_idle;
level.scr_anim["player_climb_rig"]["combat_idle"][0] = %vm_exoclimb_combat_idle;
level.scr_anim["player_climb_rig"]["combat_idle_left"][0] = %vm_exoclimb_combat_idle_left;
level.scr_anim["player_climb_rig"]["combat_idle_right"][0] = %vm_exoclimb_combat_idle_right;
level.scr_anim["player_climb_rig"]["climb_to_combat_idle"] = %vm_exoclimb_climb_idle_to_combat_idle;
level.scr_anim["player_climb_rig"]["combat_to_climb_idle"] = %vm_exoclimb_combat_idle_to_climb_idle;
level.scr_anim["player_climb_rig"]["combat_center_to_left"] = %vm_exoclimb_combat_idle_to_combat_idle_left;
level.scr_anim["player_climb_rig"]["combat_left_to_center"] = %vm_exoclimb_combat_idle_left_to_combat_idle;
level.scr_anim["player_climb_rig"]["combat_center_to_right"] = %vm_exoclimb_combat_idle_to_combat_idle_right;
level.scr_anim["player_climb_rig"]["combat_right_to_center"] = %vm_exoclimb_combat_idle_right_to_combat_idle;
level.scr_anim["player_climb_rig"]["normal_long_d"] = %vm_exoclimb_jump_2;
level.scr_anim["player_climb_rig"]["normal_long_l"] = %vm_exoclimb_jump_4;
level.scr_anim["player_climb_rig"]["normal_long_r"] = %vm_exoclimb_jump_6;
level.scr_anim["player_climb_rig"]["normal_long_u"] = %vm_exoclimb_jump_8;
level.scr_anim["player_climb_rig"]["magnetic_u_0"] = %vm_exoclimb_mag_up_00;
level.scr_anim["player_climb_rig"]["magnetic_u_1"] = %vm_exoclimb_mag_up_01;
level.scr_anim["player_climb_rig"]["magnetic_u_2"] = %vm_exoclimb_mag_up_02;
level.scr_anim["player_climb_rig"]["magnetic_d_0"] = %vm_exoclimb_mag_down_00;
level.scr_anim["player_climb_rig"]["magnetic_d_1"] = %vm_exoclimb_mag_down_01;
level.scr_anim["player_climb_rig"]["magnetic_d_2"] = %vm_exoclimb_mag_down_02;
level.scr_anim["player_climb_rig"]["magnetic_l_0"] = %vm_exoclimb_mag_left_00;
level.scr_anim["player_climb_rig"]["magnetic_l_1"] = %vm_exoclimb_mag_left_01;
level.scr_anim["player_climb_rig"]["magnetic_l_2"] = %vm_exoclimb_mag_left_02;
level.scr_anim["player_climb_rig"]["magnetic_r_0"] = %vm_exoclimb_mag_right_00;
level.scr_anim["player_climb_rig"]["magnetic_r_1"] = %vm_exoclimb_mag_right_01;
level.scr_anim["player_climb_rig"]["magnetic_r_2"] = %vm_exoclimb_mag_right_02;
level.scr_anim["player_climb_rig"]["jump2mag_u"] = %vm_exoclimb_jump2mag_up;
level.scr_anim["player_climb_rig"]["jump2mag_d"] = %vm_exoclimb_jump2mag_down;
level.scr_anim["player_climb_rig"]["jump2mag_l"] = %vm_exoclimb_jump2mag_left;
level.scr_anim["player_climb_rig"]["jump2mag_r"] = %vm_exoclimb_jump2mag_right;
level.scr_anim["player_climb_rig"]["mag2jump_u"] = %vm_exoclimb_mag2jump_up;
level.scr_anim["player_climb_rig"]["mag2jump_d"] = %vm_exoclimb_mag2jump_down;
level.scr_anim["player_climb_rig"]["mag2jump_l"] = %vm_exoclimb_mag2jump_left;
level.scr_anim["player_climb_rig"]["mag2jump_r"] = %vm_exoclimb_mag2jump_right;
level.scr_anim["player_climb_rig"]["idle_to_idleleft"] = %vm_exoclimb_idle_to_idle_left;
level.scr_anim["player_climb_rig"]["idleleft_to_idle"] = %vm_exoclimb_idle_left_to_idle;
level.scr_anim["player_climb_rig"]["idle_to_idleright"] = %vm_exoclimb_idle_to_idle_right;
level.scr_anim["player_climb_rig"]["idleright_to_idle"] = %vm_exoclimb_idle_right_to_idle;
level.scr_anim["player_climb_rig"]["idleleft_to_idleleftback"] = %vm_exoclimb_idle_left_to_idle_left_back;
level.scr_anim["player_climb_rig"]["idleleftback_to_idleleft"] = %vm_exoclimb_idle_left_back_to_idle_left;
level.scr_anim["player_climb_rig"]["idleright_to_idlerightback"] = %vm_exoclimb_idle_right_to_idle_right_back;
level.scr_anim["player_climb_rig"]["idlerightback_to_idleright"] = %vm_exoclimb_idle_right_back_to_idle_right;
level.scr_anim["player_climb_rig"]["special_short_l_90convex"] = %vm_exoclimb_move_in_90_4;
level.scr_anim["player_climb_rig"]["special_short_r_90convex"] = %vm_exoclimb_move_in_90_6;
level.scr_anim["player_climb_rig"]["special_long_l_90concave2"] = %vm_exoclimb_jump_90_4_2;
level.scr_anim["player_climb_rig"]["special_long_r_90concave2"] = %vm_exoclimb_jump_90_6_2;
setup_climb_anims_parse_anim_offsets(level.scr_anim["player_climb_rig"]);
add_shake_and_rumble_notetracks("normal_long_u");
add_shake_and_rumble_notetracks("normal_long_d");
add_shake_and_rumble_notetracks("normal_long_r");
add_shake_and_rumble_notetracks("normal_long_l");
add_shake_and_rumble_notetracks("special_long_l_90concave2");
add_shake_and_rumble_notetracks("special_long_r_90concave2");
add_shake_and_rumble_notetracks("mount2jump");
add_shake_and_rumble_notetracks("mount2mag");
add_shake_and_rumble_notetracks("jump2mag_u");
add_shake_and_rumble_notetracks("jump2mag_d");
add_shake_and_rumble_notetracks("jump2mag_l");
add_shake_and_rumble_notetracks("jump2mag_r");
add_shake_and_rumble_notetracks_for_grab("mag2jump_u");
add_shake_and_rumble_notetracks_for_grab("mag2jump_d");
add_shake_and_rumble_notetracks_for_grab("mag2jump_l");
add_shake_and_rumble_notetracks_for_grab("mag2jump_r");
maps\_anim::addnotetrack_customfunction("player_climb_rig","jump_rumble",::exo_climb_jump_rumble,"dismount");
maps\_anim::addnotetrack_customfunction("player_climb_rig","jump_shake",::exo_climb_jump_shake,"dismount");
maps\_anim::addnotetrack_customfunction("player_climb_rig","mag_rumble",::exo_climb_mag_rumble,"magnetic_d_0");
maps\_anim::addnotetrack_customfunction("player_climb_rig","mag_rumble",::exo_climb_mag_rumble,"magnetic_d_1");
maps\_anim::addnotetrack_customfunction("player_climb_rig","mag_rumble",::exo_climb_mag_rumble,"magnetic_d_2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","vm_swap",::exo_climb_draw_weapon,"climb_to_combat_idle");
maps\_anim::addnotetrack_customfunction("player_climb_rig","player_input",::exo_climb_allow_player_input_1,"normal_long_u");
maps\_anim::addnotetrack_customfunction("player_climb_rig","player_input",::exo_climb_allow_player_input_1,"normal_long_d");
maps\_anim::addnotetrack_customfunction("player_climb_rig","player_input",::exo_climb_allow_player_input_1,"normal_long_r");
maps\_anim::addnotetrack_customfunction("player_climb_rig","player_input",::exo_climb_allow_player_input_1,"normal_long_l");
maps\_anim::addnotetrack_customfunction("player_climb_rig","player_input",::exo_climb_allow_player_input_1,"special_long_l_90concave2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","player_input",::exo_climb_allow_player_input_1,"special_long_r_90concave2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","player_input",::exo_climb_allow_player_input_1,"special_short_l_90convex");
maps\_anim::addnotetrack_customfunction("player_climb_rig","player_input",::exo_climb_allow_player_input_1,"special_short_r_90convex");
maps\_anim::addnotetrack_customfunction("player_climb_rig","player_input",::exo_climb_allow_player_input_1,"jump2mag_u");
maps\_anim::addnotetrack_customfunction("player_climb_rig","player_input",::exo_climb_allow_player_input_1,"jump2mag_d");
maps\_anim::addnotetrack_customfunction("player_climb_rig","player_input",::exo_climb_allow_player_input_1,"jump2mag_l");
maps\_anim::addnotetrack_customfunction("player_climb_rig","player_input",::exo_climb_allow_player_input_1,"jump2mag_r");
maps\_anim::addnotetrack_customfunction("player_climb_rig","player_input",::exo_climb_allow_player_input_1,"mag2jump_u");
maps\_anim::addnotetrack_customfunction("player_climb_rig","player_input",::exo_climb_allow_player_input_1,"mag2jump_d");
maps\_anim::addnotetrack_customfunction("player_climb_rig","player_input",::exo_climb_allow_player_input_1,"mag2jump_l");
maps\_anim::addnotetrack_customfunction("player_climb_rig","player_input",::exo_climb_allow_player_input_1,"mag2jump_r");
add_mag_move_notetracks("magnetic_u_0");
add_mag_move_notetracks("magnetic_u_1");
add_mag_move_notetracks("magnetic_u_2");
add_mag_move_notetracks("magnetic_d_0");
add_mag_move_notetracks("magnetic_d_1");
add_mag_move_notetracks("magnetic_d_2");
add_mag_move_notetracks("magnetic_l_0");
add_mag_move_notetracks("magnetic_l_1");
add_mag_move_notetracks("magnetic_l_2");
add_mag_move_notetracks("magnetic_r_0");
add_mag_move_notetracks("magnetic_r_1");
add_mag_move_notetracks("magnetic_r_2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"magnetic_u_0");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"magnetic_u_0");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"magnetic_u_0");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"magnetic_u_0");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"magnetic_u_1");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"magnetic_u_1");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"magnetic_u_1");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"magnetic_u_1");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"magnetic_u_2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"magnetic_u_2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"magnetic_u_2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"magnetic_u_2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"magnetic_d_0");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"magnetic_d_0");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"magnetic_d_0");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"magnetic_d_0");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"magnetic_d_1");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"magnetic_d_1");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"magnetic_d_1");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"magnetic_d_1");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"magnetic_d_2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"magnetic_d_2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"magnetic_d_2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"magnetic_d_2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"magnetic_l_0");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"magnetic_l_0");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"magnetic_l_0");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"magnetic_l_0");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"magnetic_l_1");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"magnetic_l_1");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"magnetic_l_1");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"magnetic_l_1");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"magnetic_l_2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"magnetic_l_2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"magnetic_l_2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"magnetic_l_2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"magnetic_r_0");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"magnetic_r_0");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"magnetic_r_0");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"magnetic_r_0");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"magnetic_r_1");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"magnetic_r_1");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"magnetic_r_1");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"magnetic_r_1");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"magnetic_r_2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"magnetic_r_2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"magnetic_r_2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"magnetic_r_2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"jump2mag_u");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"jump2mag_u");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"jump2mag_u");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"jump2mag_u");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"jump2mag_d");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"jump2mag_d");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"jump2mag_d");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"jump2mag_d");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"jump2mag_l");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"jump2mag_l");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"jump2mag_l");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"jump2mag_l");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"jump2mag_r");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"jump2mag_r");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"jump2mag_r");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"jump2mag_r");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"mag2jump_u");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"mag2jump_u");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"mag2jump_u");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"mag2jump_u");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"mag2jump_d");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"mag2jump_d");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"mag2jump_d");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"mag2jump_d");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"mag2jump_l");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"mag2jump_l");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"mag2jump_l");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"mag2jump_l");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"mag2jump_r");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"mag2jump_r");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"mag2jump_r");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"mag2jump_r");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"mount2mag");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"mount2mag");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"mount2mag");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"mount2mag");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"normal_long_d");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"normal_long_d");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"normal_long_d");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"normal_long_d");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"normal_long_l");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"normal_long_l");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"normal_long_l");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"normal_long_l");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"normal_long_r");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"normal_long_r");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"normal_long_r");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"normal_long_r");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_engage",::fx_exo_climb_rglove_engage,"normal_long_u");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_engage",::fx_exo_climb_lglove_engage,"normal_long_u");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"normal_long_u");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"normal_long_u");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_r_glove_disengage",::fx_exo_climb_rglove_disengage,"dismount");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_l_glove_disengage",::fx_exo_climb_lglove_disengage,"dismount");
maps\_anim::addnotetrack_customfunction("player_climb_rig","fx_gloves_off",::fx_exo_climb_gloves_off,"dismount");
}
//Function Number: 18
play_new_and_kill_old_fx_l(param_00,param_01,param_02)
{
if(isdefined(param_00.previously_played_fx_name_l) && isdefined(param_00.previously_played_fx_joint_l) && param_01 == param_00.previously_played_fx_name_l && param_02 == param_00.previously_played_fx_joint_l)
{
var_03 = 0;
}
else
{
if(isdefined(param_00.previously_played_fx_name_l))
{
killfxontag(common_scripts\utility::getfx(param_00.previously_played_fx_name_l),param_00,param_00.previously_played_fx_joint_l);
}
playfxontag(common_scripts\utility::getfx(param_01),param_00,param_02);
}
param_00.previously_played_fx_name_l = param_01;
param_00.previously_played_fx_joint_l = param_02;
}
//Function Number: 19
play_new_and_kill_old_fx_r(param_00,param_01,param_02)
{
if(isdefined(param_00.previously_played_fx_name_r) && isdefined(param_00.previously_played_fx_joint_r) && param_01 == param_00.previously_played_fx_name_r && param_02 == param_00.previously_played_fx_joint_r)
{
}
else
{
if(isdefined(param_00.previously_played_fx_name_r))
{
killfxontag(common_scripts\utility::getfx(param_00.previously_played_fx_name_r),param_00,param_00.previously_played_fx_joint_r);
}
playfxontag(common_scripts\utility::getfx(param_01),param_00,param_02);
}
param_00.previously_played_fx_name_r = param_01;
param_00.previously_played_fx_joint_r = param_02;
}
//Function Number: 20
fx_exo_climb_rglove_engage(param_00)
{
play_new_and_kill_old_fx_r(param_00,"exo_r_gloves_engage","J_Wrist_RI");
playfxontag(common_scripts\utility::getfx("dust_mag_r_glove_impact"),param_00,"J_Mid_RI_0");
}
//Function Number: 21
fx_exo_climb_rglove_disengage(param_00)
{
play_new_and_kill_old_fx_r(param_00,"exo_r_gloves_disengage","J_Wrist_RI");
killfxontag(common_scripts\utility::getfx("exo_r_gloves_engage_slow"),param_00,"J_Wrist_RI");
}
//Function Number: 22
fx_exo_climb_lglove_engage(param_00)
{
play_new_and_kill_old_fx_l(param_00,"exo_l_gloves_engage","J_Wrist_LE");
killfxontag(common_scripts\utility::getfx("exo_l_gloves_engage_slow"),param_00,"J_Wrist_LE");
playfxontag(common_scripts\utility::getfx("dust_mag_l_glove_impact"),param_00,"J_Mid_LE_0");
}
//Function Number: 23
fx_exo_climb_lglove_disengage(param_00)
{
play_new_and_kill_old_fx_l(param_00,"exo_l_gloves_disengage","J_Wrist_LE");
killfxontag(common_scripts\utility::getfx("exo_l_gloves_engage_slow"),param_00,"J_Wrist_LE");
}
//Function Number: 24
fx_exo_climb_gloves_off(param_00)
{
param_00.previously_played_fx_name_l = undefined;
param_00.previously_played_fx_joint_l = undefined;
killfxontag(common_scripts\utility::getfx("exo_l_gloves_engage_slow"),param_00,"J_Wrist_LE");
killfxontag(common_scripts\utility::getfx("exo_r_gloves_engage_slow"),param_00,"J_Wrist_RI");
wait 0.05;
killfxontag(common_scripts\utility::getfx(param_00.previously_played_fx_name_l),param_00,param_00.previously_played_fx_joint_l);
param_00.previously_played_fx_name_l = undefined;
param_00.previously_played_fx_joint_l = undefined;
}
//Function Number: 25
setup_climb_anims_parse_anim_offsets(param_00)
{
var_01 = getarraykeys(param_00);
foreach(var_03 in var_01)
{
var_04 = strtok(var_03,"_");
if(var_04[0] == "normal" || var_04[0] == "special" || var_04[0] == "magnetic" || var_04[0] == "jump2mag" || var_04[0] == "mag2jump")
{
if(!isdefined(level.exo_climb_anim_offsets[var_04[0]]))
{
level.exo_climb_anim_offsets[var_04[0]] = [];
}
if(var_04[0] == "normal")
{
if(!isdefined(level.exo_climb_anim_offsets[var_04[0]][var_04[1]]))
{
level.exo_climb_anim_offsets[var_04[0]][var_04[1]] = [];
}
level.exo_climb_anim_offsets[var_04[0]][var_04[1]][var_04[2]] = [];
level.exo_climb_anim_offsets[var_04[0]][var_04[1]][var_04[2]]["offset"] = getmovedelta(param_00[var_03],0,1);
level.exo_climb_anim_offsets[var_04[0]][var_04[1]][var_04[2]]["angle"] = getangledelta(param_00[var_03],0,1);
continue;
}
if(var_04[0] == "special")
{
if(!isdefined(level.exo_climb_anim_offsets[var_04[0]][var_04[1]]))
{
level.exo_climb_anim_offsets[var_04[0]][var_04[1]] = [];
}
if(!isdefined(level.exo_climb_anim_offsets[var_04[0]][var_04[1]][var_04[2]]))
{
level.exo_climb_anim_offsets[var_04[0]][var_04[1]][var_04[2]] = [];
}
level.exo_climb_anim_offsets[var_04[0]][var_04[1]][var_04[2]][var_04[3]] = [];
level.exo_climb_anim_offsets[var_04[0]][var_04[1]][var_04[2]][var_04[3]]["offset"] = getmovedelta(param_00[var_03],0,1);
level.exo_climb_anim_offsets[var_04[0]][var_04[1]][var_04[2]][var_04[3]]["angle"] = getangledelta(param_00[var_03],0,1);
continue;
}
if(var_04[0] == "magnetic")
{
if(!isdefined(level.exo_climb_anim_offsets[var_04[0]][var_04[1]]))
{
level.exo_climb_anim_offsets[var_04[0]][var_04[1]] = [];
}
level.exo_climb_anim_offsets[var_04[0]][var_04[1]][var_04[2]] = [];
level.exo_climb_anim_offsets[var_04[0]][var_04[1]][var_04[2]]["offset"] = getmovedelta(param_00[var_03],0,1);
level.exo_climb_anim_offsets[var_04[0]][var_04[1]][var_04[2]]["angle"] = getangledelta(param_00[var_03],0,1);
continue;
}
if(var_04[0] == "jump2mag")
{
var_05 = var_04[1];
level.exo_climb_anim_offsets["jump2mag"][var_05] = [];
level.exo_climb_anim_offsets["jump2mag"][var_05]["offset"] = getmovedelta(param_00[var_03],0,1);
level.exo_climb_anim_offsets["jump2mag"][var_05]["angle"] = getangledelta(param_00[var_03],0,1);
continue;
}
if(var_04[0] == "mag2jump")
{
var_05 = var_04[1];
level.exo_climb_anim_offsets["mag2jump"][var_05] = [];
level.exo_climb_anim_offsets["mag2jump"][var_05]["offset"] = getmovedelta(param_00[var_03],0,1);
level.exo_climb_anim_offsets["mag2jump"][var_05]["angle"] = getangledelta(param_00[var_03],0,1);
}
}
}
}
//Function Number: 26
verify_jump_mount_points()
{
var_00 = getentarray("exo_climbing_mount_point","targetname");
foreach(var_02 in var_00)
{
var_03 = getent(var_02.target,"targetname");
var_04 = getent(var_03.target,"targetname");
var_03.mount_org = var_04;
var_03 thread trigger_handle_jump_mount();
}
}
//Function Number: 27
verify_mag_mount_points()
{
var_00 = getentarray("exoclimb_magnetic_mount_point","targetname");
foreach(var_02 in var_00)
{
var_03 = getent(var_02.target,"targetname");
var_04 = getent(var_03.target,"targetname");
var_03.mount_org = var_04;
var_03 thread trigger_handle_mag_mount();
}
}
//Function Number: 28
get_climb_triggers()
{
level.exo_climb_jump_trigs = getentarray("exo_climbing_bounds_trigger","targetname");
level.exo_climb_magnetic_trigs = getentarray("exo_climbing_magnetic_trigger","targetname");
}
//Function Number: 29
trigger_handle_jump_mount()
{
maps\_utility::addhinttrigger(&"EXOCLIMB_CLIMB_HINT",&"EXOCLIMB_CLIMB_HINT_PC");
self.script_flag_false = "flag_exo_climbing_enabled";
level thread maps\_trigger::trigger_script_flag_false(self);
for(;;)
{
common_scripts\utility::flag_waitopen("flag_exo_climbing_enabled");
var_00 = maps\_shg_utility::hint_button_position("use",self.origin + (0,0,-15),undefined,200,undefined,self);
var_01 = common_scripts\utility::waittill_any_return("trigger","disable_mount_point");
if(var_01 == "trigger")
{
level thread climbing_player_mount(self.mount_org,"jump");
var_00 maps\_shg_utility::hint_button_clear();
continue;
}
var_00 maps\_shg_utility::hint_button_clear();
self delete();
}
}
//Function Number: 30
trigger_handle_mag_mount()
{
self usetriggerrequirelookat();
maps\_utility::addhinttrigger(&"EXOCLIMB_CLIMB_HINT",&"EXOCLIMB_CLIMB_HINT_PC");
self.script_flag_false = "flag_exo_climbing_enabled";
level thread maps\_trigger::trigger_script_flag_false(self);
for(;;)
{
level endon("flag_cancel_exo_climb");
common_scripts\utility::flag_waitopen("flag_exo_climbing_enabled");
var_00 = maps\_shg_utility::hint_button_position("use",self.origin,undefined,200,undefined,self);
var_01 = common_scripts\utility::waittill_any_return("trigger","disable_mount_point");
if(var_01 == "trigger")
{
level thread climbing_player_mount(self.mount_org,"magnetic");
var_00 maps\_shg_utility::hint_button_clear();
continue;
}
var_00 maps\_shg_utility::hint_button_clear();
self delete();
}
}
//Function Number: 31
climbing_player_mount(param_00,param_01)
{
level.player endon("death");
if(common_scripts\utility::flag("flag_exo_climbing_enabled"))
{
return;
}
common_scripts\utility::flag_set("flag_exo_climbing_enabled");
if(isdefined(1) && 1)
{
level thread temp_exoclimb_hud_thread();
}
if(isdefined(param_00.override_rig))
{
level.exo_climb_rig = param_00.override_rig;
level.exo_climb_rig.animname = "player_climb_rig";
}
else
{
level.exo_climb_rig = maps\_utility::spawn_anim_model("player_climb_rig",level.player.origin,level.player.angles);
level.exo_climb_rig hide();
}
if(!isdefined(level.exoclimb_combat_enabled))
{
level.exoclimb_combat_enabled = 1;
}
level.exo_climb_rig.facing = "center";
if(!isdefined(level.exo_climb_player_center))
{
level.exo_climb_player_center = spawn("script_origin",level.exo_climb_rig.origin);
level.exo_climb_player_center.angles = level.exo_climb_rig.angles;
var_02 = anglestoforward(level.exo_climb_player_center.angles);
var_03 = 0 * var_02 + (0,0,60);
level.exo_climb_player_center linkto(level.exo_climb_rig,"tag_origin",var_03,(0,0,0));
}
if(!isdefined(param_00.override_rig))
{
level.player maps\_shg_utility::setup_player_for_scene();
level.player allowads(0);
level.player disableweaponswitch();
level.player enableoffhandweapons();
level.player waittill("weapon_change");
}
swap_to_climbing_weapon();
var_04 = "";
if(param_01 == "jump")
{
var_04 = "mount2jump";
}
else if(param_01 == "magnetic")
{
var_04 = "mount2mag";
}
else
{
return;
}
var_05 = 0.5;
if(!isdefined(param_00.override_rig))
{
level.player playerlinktoblend(level.exo_climb_rig,"tag_player",var_05);
level.player common_scripts\utility::delaycall(var_05,::playerlinktodelta,level.exo_climb_rig,"tag_player",1,0,0,0,0,1);
}
var_06 = 120;
var_07 = 60;
var_08 = 57;
if(param_01 == "magnetic")
{
var_06 = 80;
var_07 = 60;
var_08 = 57;
if(isdefined(level.player.exo_climb_overrides))
{
if(isdefined(level.player.exo_climb_overrides.idle_look_sideways_limit_mag))
{
var_06 = level.player.exo_climb_overrides.idle_look_sideways_limit_mag;
}
if(isdefined(level.player.exo_climb_overrides.idle_look_up_limit_mag))
{
var_07 = level.player.exo_climb_overrides.idle_look_up_limit_mag;
}
if(isdefined(level.player.exo_climb_overrides.idle_look_down_limit_mag))
{
var_08 = level.player.exo_climb_overrides.idle_look_down_limit_mag;
}
}
}
if(!isdefined(param_00.override_rig))
{
level.exo_climb_rig common_scripts\utility::delaycall(var_05,::show);
}
var_09 = var_05 + 0.1;
if(isdefined(param_00.override_view_angle_unclamp_time))
{
var_09 = param_00.override_view_angle_unclamp_time;
}
level.player common_scripts\utility::delaycall(var_09,::lerpviewangleclamp,0.5,0,0,var_06,var_06,var_07,var_08);
level.player lerpfov(70,var_09 + 0.1);
level notify("exoclimb_start_mount_anim");
if(isdefined(param_00.override_anim_org) && isdefined(param_00.override_anim))
{
level.scr_anim["player_climb_rig"]["mount_override"] = param_00.override_anim;
param_00.override_anim_org maps\_anim::anim_single_solo(level.exo_climb_rig,"mount_override");
}
else
{
param_00 maps\_anim::anim_single_solo(level.exo_climb_rig,var_04);
}
level.exo_climb_ground_ref_ent = spawn("script_model",(0,0,0));
level.exo_climb_ground_ref_ent setmodel("tag_origin");
level.exo_climb_ground_ref_ent linkto(level.exo_climb_rig,"tag_origin",(0,0,0),(0,0,0));
if(!isdefined(level.player.hack_fix_lagos_flank_alley_camera_pop) || !level.player.hack_fix_lagos_flank_alley_camera_pop)
{
level.player playersetgroundreferenceent(level.exo_climb_ground_ref_ent);
}
level.player enableslowaim(1,0.6);
level thread climbing_player_controller(param_01);
}
//Function Number: 32
using_variable_grenade(param_00)
{
if(!isdefined(self.variable_grenade))
{
return 0;
}
if(!isdefined(param_00))
{
return 0;
}
if(param_00.size != 2)
{
return 0;
}
var_01 = level.player maps\_variable_grenade::get_mode_for_weapon_name(param_00[0]);
if(!isdefined(var_01))
{
return 0;
}
var_01 = level.player maps\_variable_grenade::get_mode_for_weapon_name(param_00[1]);
if(!isdefined(var_01))
{
return 0;
}
return 1;
}
//Function Number: 33
swap_to_climbing_weapon()
{
maps\_player_exo::player_exo_deactivate();
var_00 = level.player getweaponslistoffhands();
if(level.player using_variable_grenade(var_00))
{
var_01 = 0;
if(isdefined(var_00[0]))
{
var_01 = level.player maps\_variable_grenade::get_index_for_weapon_name(var_00[0]);
}
var_02 = 0;
if(isdefined(var_00[1]))
{
var_02 = level.player maps\_variable_grenade::get_index_for_weapon_name(var_00[1]);
}
var_03["normal"][0] = "tracking_grenade_var_exoclimb";
var_03["normal"][1] = "contact_grenade_var_exoclimb";
var_03["normal"][2] = "frag_grenade_var_exoclimb";
var_03["special"][0] = "paint_grenade_var_exoclimb";
var_03["special"][1] = "flash_grenade_var_exoclimb";
var_03["special"][2] = "emp_grenade_var_exoclimb";
level.exo_climb_rig.stored_variable_grenade = level.player.variable_grenade;
level.player.variable_grenade = var_03;
var_04 = [];
var_04["frag_grenade_var_exoclimb"] = 1;
var_04["contact_grenade_var_exoclimb"] = 2;
var_04["tracking_grenade_var_exoclimb"] = 3;
var_04["paint_grenade_var_exoclimb"] = 4;
var_04["flash_grenade_var_exoclimb"] = 5;
var_04["emp_grenade_var_exoclimb"] = 6;
level.exo_climb_rig.stored_variable_grenade_ui_type = level.player.variable_grenade_ui_type;
level.player.variable_grenade_ui_type = var_04;
foreach(var_06 in var_00)
{
level.player takeweapon(var_06);
}
level.player setlethalweapon(level.player.variable_grenade["normal"][var_01]);
level.player giveweapon(level.player.variable_grenade["normal"][var_01]);
level.player settacticalweapon(level.player.variable_grenade["special"][var_02]);
level.player giveweapon(level.player.variable_grenade["special"][var_02]);
}
level.exo_climb_rig.stored_weapon = level.player maps\_utility::get_storable_current_weapon();
level.exo_climb_rig.stored_clipsize = level.player getweaponammoclip(level.exo_climb_rig.stored_weapon);
level.exo_climb_rig.stored_stock = level.player setweaponammostock(level.exo_climb_rig.stored_weapon);
level.player takeweapon(level.exo_climb_rig.stored_weapon);
}
//Function Number: 34
swap_to_real_weapon()
{
maps\_player_exo::player_exo_activate();
level.player giveweapon(level.exo_climb_rig.stored_weapon);
level.player setweaponammoclip(level.exo_climb_rig.stored_weapon,level.exo_climb_rig.stored_clipsize);
level.player setweaponammostock(level.exo_climb_rig.stored_weapon,level.exo_climb_rig.stored_stock);
level.player switchtoweapon(level.exo_climb_rig.stored_weapon);
if(isdefined(level.exo_climb_rig.stored_variable_grenade))
{
var_00 = level.player getweaponslistoffhands();
var_01 = 0;
if(isdefined(var_00[0]))
{
var_01 = level.player maps\_variable_grenade::get_index_for_weapon_name(var_00[0]);
}
var_02 = 0;
if(isdefined(var_00[1]))
{
var_02 = level.player maps\_variable_grenade::get_index_for_weapon_name(var_00[1]);
}
level.player.variable_grenade = level.exo_climb_rig.stored_variable_grenade;
level.exo_climb_rig.stored_variable_grenade = undefined;
foreach(var_04 in var_00)
{
level.player takeweapon(var_04);
}
level.player setlethalweapon(level.player.variable_grenade["normal"][var_01]);
level.player giveweapon(level.player.variable_grenade["normal"][var_01]);
level.player settacticalweapon(level.player.variable_grenade["special"][var_02]);
level.player giveweapon(level.player.variable_grenade["special"][var_02]);
}
if(isdefined(level.exo_climb_rig.stored_variable_grenade_ui_type))
{
level.player.variable_grenade_ui_type = level.exo_climb_rig.stored_variable_grenade_ui_type;
}
}
//Function Number: 35
stop_player_climbing(param_00)
{
if(!param_00)
{
swap_to_real_weapon();
level.player maps\_shg_utility::setup_player_for_gameplay();
level.player allowads(1);
level.player enableweaponswitch();
level.player unlink();
level.exo_climb_rig delete();
}
level.exo_climb_rig = undefined;
level.player disableslowaim();
level.exo_climb_player_center unlink();
level.exo_climb_player_center delete();
level.exo_climb_player_center = undefined;
level.player playersetgroundreferenceent(undefined);
level.exo_climb_ground_ref_ent unlink();
level.exo_climb_ground_ref_ent delete();
level.exo_climb_ground_ref_ent = undefined;
common_scripts\utility::flag_clear("flag_exo_climbing_enabled");
level.player notify("stop_player_climbing");
}
//Function Number: 36
enter_state_on_jump_surface()
{
level.exo_climb_rig.surface_state = "on_jump_surface";
climbing_update_available_moving_options();
}
//Function Number: 37
enter_state_on_mag_surface()
{
level.exo_climb_rig.surface_state = "on_mag_surface";
level.exo_climb_rig.mag_move_dir = "";
level.exo_climb_rig.next_chain_move = undefined;
climbing_update_available_moving_options();
}
//Function Number: 38
enter_state_mag_to_jump_surface()
{
level.exo_climb_rig.surface_state = "mag_to_jump_surface";
reset_button_buffers();
}
//Function Number: 39
reset_button_buffers()
{
level.exo_climb_rig.jumpbuttonbuffer = 0;
level.exo_climb_rig.combatbuttonbuffer = 0;
}
//Function Number: 40
update_button_buffers()
{
if(level.player jumpbuttonpressed())
{
level.exo_climb_rig.jumpbuttonbuffer = 0.6;
}
else if(level.exo_climb_rig.jumpbuttonbuffer > 0)
{
level.exo_climb_rig.jumpbuttonbuffer = level.exo_climb_rig.jumpbuttonbuffer - 0.05;
}
if(level.player buttonpressed("Button_B") || level.player attackbuttonpressed() || level.player adsbuttonpressed() || level.player fragbuttonpressed() || level.player secondaryoffhandbuttonpressed())
{
level.exo_climb_rig.combatbuttonbuffer = 0.6;
return;
}
if(level.exo_climb_rig.combatbuttonbuffer > 0)
{
level.exo_climb_rig.combatbuttonbuffer = level.exo_climb_rig.combatbuttonbuffer - 0.05;
}
}
//Function Number: 41
climbing_player_controller(param_00)
{
level.player endon("stop_player_climbing");
wait(0.05);
reset_button_buffers();
if(param_00 == "jump")
{
enter_state_on_jump_surface();
}
else if(param_00 == "magnetic")
{
enter_state_on_mag_surface();
}
else
{
return;
}
restore_idle();
for(;;)
{
if(isdefined(level.exo_climb_retest_jumps_triggers))
{
climbing_update_available_moving_options();
}
if(level.exo_climb_rig.surface_state == "on_jump_surface")
{
update_button_buffers();
if(climbing_helper_player_in_combat_mode() && level.player isthrowinggrenade())
{
climbing_motion_player_combat_mode();
}
else if(climbing_helper_player_dismount_requested())
{
climbing_motion_dismount();
}
else if(climbing_helper_player_jump_requested() && climbing_helper_player_input_1_allowed())
{
var_01 = get_requested_jump_direction();
if(jump_to_mag_direction_is_valid(var_01))
{
if(climbing_helper_player_in_combat_mode())
{
climbing_motion_stop_player_combat_mode_quick();
}
climbing_motion_start_player_jump_to_mag(var_01);
}
else if(jump_direction_is_valid(var_01))
{
if(climbing_helper_player_in_combat_mode())
{
climbing_motion_stop_player_combat_mode_quick();
}
climbing_motion_start_player_jump(var_01);
}
else
{
level.exo_climb_rig.jumpbuttonbuffer = 0;
}
}
else if(climbing_helper_player_combat_requested() && climbing_helper_player_input_1_allowed() && !climbing_helper_player_in_combat_mode() && level.exoclimb_combat_enabled)
{
climbing_motion_start_player_shooting();
}
else if(climbing_helper_player_jumping())
{
climbing_motion_player_jumping();
}
else if(climbing_helper_player_in_combat_mode() && climbing_helper_player_exit_combat_mode_requested())
{
climbing_motion_stop_player_combat_mode();
level.exo_climb_rig.combatbuttonbuffer = 0;
}
else if(climbing_helper_player_in_combat_mode())
{
climbing_motion_player_combat_mode();
}
else
{
climbing_motion_player_looking();
}
}
else if(level.exo_climb_rig.surface_state == "on_mag_surface")
{
if(climbing_helper_player_mag_moving())
{
var_01 = get_requested_move_direction();
if(climbing_helper_player_input_1_allowed() && var_01 == level.exo_climb_rig.mag_move_dir && magnetic_hands_direction_is_valid(var_01))
{
climbing_motion_start_player_mag_move(var_01);
}
else if(climbing_helper_player_input_2_allowed() && var_01 != level.exo_climb_rig.mag_move_dir && magnetic_hands_direction_is_valid(var_01))
{
climbing_motion_start_player_mag_move(var_01);
}
else if(climbing_helper_player_input_1_allowed() && mag_to_jump_direction_is_valid(var_01))
{
climbing_motion_start_player_mag_to_jump(var_01);
}
else
{
climbing_motion_player_moving_on_magnetic_surface();
}
}
else
{
var_01 = get_requested_move_direction();
if(magnetic_hands_direction_is_valid(var_01))
{
climbing_motion_start_player_mag_move(var_01);
}
else if(mag_to_jump_direction_is_valid(var_01))
{
climbing_motion_start_player_mag_to_jump(var_01);
}
}
}
else if(level.exo_climb_rig.surface_state == "jump_to_mag_surface")
{
climbing_motion_player_jump_to_mag();
}
else if(level.exo_climb_rig.surface_state == "mag_to_jump_surface")
{
update_button_buffers();
if(climbing_helper_player_input_1_allowed())
{
enter_state_on_jump_surface();
}
else
{
climbing_motion_player_mag_to_jump();
}
}
wait(0.05);
}
}
//Function Number: 42
restore_idle()
{
if(level.exo_climb_rig.surface_state == "on_mag_surface")
{
level thread climbing_animation_idle_loop("magnetic");
return;
}
if(level.exo_climb_rig.facing == "right")
{
level thread climbing_animation_idle_loop("right");
return;
}
if(level.exo_climb_rig.facing == "right_back")
{
level thread climbing_animation_idle_loop("right_back");
return;
}
if(level.exo_climb_rig.facing == "left")
{
level thread climbing_animation_idle_loop("left");
return;
}
if(level.exo_climb_rig.facing == "left_back")
{
level thread climbing_animation_idle_loop("left_back");
return;
}
level thread climbing_animation_idle_loop();
}
//Function Number: 43
exo_climb_grab_rumble(param_00)
{
var_01 = randomfloat(360);
var_02 = anglestoright(level.exo_climb_rig.angles);
var_03 = anglestoup(level.exo_climb_rig.angles);
var_04 = sin(var_01) * var_03 + cos(var_01) * var_02;
var_05 = 0.9;
glassradiusdamage(level.exo_climb_rig.origin,84,10,10,var_05,var_04);
level.player playrumbleonentity("falling_land");
}
//Function Number: 44
exo_climb_jump_rumble(param_00)
{
level.player playrumbleonentity("damage_light");
}
//Function Number: 45
exo_climb_mag_rumble(param_00)
{
level.player playrumbleonentity("damage_light");
}
//Function Number: 46
exo_climb_grab_shake(param_00)
{
level.player screenshakeonentity(12,6,2,0.5,0,0.25,128,10,5,5,2);
}
//Function Number: 47
exo_climb_jump_shake(param_00)
{
level.player screenshakeonentity(4,2,0.5,0.5,0,0.25,128,10,5,5,2);
}
//Function Number: 48
exo_climb_allow_player_input_1(param_00)
{
level.exo_climb_rig.allow_player_input_1 = 1;
climbing_update_available_moving_options();
}
//Function Number: 49
exo_climb_allow_player_input_2(param_00)
{
level.exo_climb_rig.allow_player_input_2 = 1;
}
//Function Number: 50
climbing_motion_start_player_jump(param_00)
{
if(level.exo_climb_move_options["long"][param_00] != "blocked")
{
var_01 = level.exo_climb_move_options["long"][param_00];
thread climbing_animation_traverse_move(var_01,2);
if(param_00 == "u")
{
var_02 = level.player getplayerangles()[0];
if(var_02 < 20)
{
level.player common_scripts\utility::delaycall(0.2,::lerpfov,100,0.4);
}
else
{
level.player common_scripts\utility::delaycall(0.2,::lerpfov,85,0.4);
}
level.player common_scripts\utility::delaycall(0.9,::lerpfov,70,0.15);
}
else if(param_00 == "d")
{
var_02 = level.player getplayerangles()[0];
if(var_02 > -20)
{
level.player lerpfov(100,0.5);
}
else
{
level.player lerpfov(85,0.5);
}
level.player common_scripts\utility::delaycall(0.7,::lerpfov,70,0.4);
}
else if(param_00 == "l")
{
var_03 = get_player_local_yaw();
if(var_03 > -20)
{
level.player common_scripts\utility::delaycall(0.2,::lerpfov,100,0.4);
}
else
{
level.player common_scripts\utility::delaycall(0.2,::lerpfov,85,0.4);
}
level.player common_scripts\utility::delaycall(0.7,::lerpfov,70,0.4);
}
else if(param_00 == "r")
{
var_03 = get_player_local_yaw();
if(var_03 < 20)
{
level.player common_scripts\utility::delaycall(0.2,::lerpfov,100,0.4);
}
else
{
level.player common_scripts\utility::delaycall(0.2,::lerpfov,85,0.4);
}
level.player common_scripts\utility::delaycall(0.7,::lerpfov,70,0.4);
}
}
else if(level.exo_climb_move_options["short"][var_01] != "blocked")
{
var_01 = level.exo_climb_move_options["short"][var_01];
thread climbing_animation_traverse_move(var_01,0);
}
else
{
return;
}
level.exo_climb_rig.is_jumping = 1;
level.exo_climb_rig.allow_player_input_1 = undefined;
level.exo_climb_rig.allow_player_input_2 = undefined;
}
//Function Number: 51
climbing_motion_start_player_jump_to_mag(param_00)
{
var_01 = "jump2mag_" + param_00;
thread climbing_animation_traverse_move(var_01,2);
level.exo_climb_rig.surface_state = "jump_to_mag_surface";
level.exo_climb_rig.is_jumping = undefined;
var_02 = 80;
var_03 = 60;
var_04 = 57;
if(isdefined(level.player.exo_climb_overrides))
{
if(isdefined(level.player.exo_climb_overrides.idle_look_sideways_limit_mag))
{
var_02 = level.player.exo_climb_overrides.idle_look_sideways_limit_mag;
}
if(isdefined(level.player.exo_climb_overrides.idle_look_up_limit_mag))
{
var_03 = level.player.exo_climb_overrides.idle_look_up_limit_mag;
}
if(isdefined(level.player.exo_climb_overrides.idle_look_down_limit_mag))
{
var_04 = level.player.exo_climb_overrides.idle_look_down_limit_mag;
}
}
level.player lerpviewangleclamp(0.5,0,0,var_02,var_02,var_03,var_04);
level.exo_climb_rig.allow_player_input_1 = undefined;
level.exo_climb_rig.allow_player_input_2 = undefined;
}
//Function Number: 52
climbing_motion_player_jumping()
{
if(isdefined(level.exo_climb_rig.current_traverse_anime))
{
var_00 = level.scr_anim["player_climb_rig"][level.exo_climb_rig.current_traverse_anime];
var_01 = level.exo_climb_rig getanimtime(var_00);
if(var_01 >= 1)
{
level.exo_climb_rig.is_jumping = undefined;
if(level.nextgen)
{
setsaveddvar("r_mbEnable","0");
}
climbing_update_available_moving_options();
restore_idle();
}
}
}
//Function Number: 53
climbing_motion_player_moving_on_magnetic_surface()
{
if(isdefined(level.exo_climb_rig.current_traverse_anime))
{
var_00 = level.scr_anim["player_climb_rig"][level.exo_climb_rig.current_traverse_anime];
var_01 = level.exo_climb_rig getanimtime(var_00);
if(var_01 >= 1)
{
level.exo_climb_rig.mag_move_dir = "";
level.exo_climb_rig.next_chain_move = undefined;
climbing_update_available_moving_options();
if(isdefined(level.exo_climb_force_animated_dismount))
{
climbing_motion_dismount();
}
else
{
restore_idle();
}
if(level.nextgen)
{
setsaveddvar("r_mbEnable","0");
return;
}
}
}
}
//Function Number: 54
climbing_motion_player_jump_to_mag()
{
if(isdefined(level.exo_climb_rig.current_traverse_anime))
{
var_00 = level.scr_anim["player_climb_rig"][level.exo_climb_rig.current_traverse_anime];
var_01 = level.exo_climb_rig getanimtime(var_00);
if(var_01 >= 1)
{
enter_state_on_mag_surface();
restore_idle();
if(level.nextgen)
{
setsaveddvar("r_mbEnable","0");
return;
}
}
}
}
//Function Number: 55
climbing_motion_player_mag_to_jump()
{
if(climbing_helper_player_input_1_allowed())
{
enter_state_on_jump_surface();
return;
}
if(isdefined(level.exo_climb_rig.current_traverse_anime))
{
var_00 = level.scr_anim["player_climb_rig"][level.exo_climb_rig.current_traverse_anime];
var_01 = level.exo_climb_rig getanimtime(var_00);
if(var_01 >= 1)
{
level.exo_climb_rig.is_jumping = undefined;
enter_state_on_jump_surface();
if(level.nextgen)
{
setsaveddvar("r_mbEnable","0");
}
restore_idle();
return;
}
}
}
//Function Number: 56
get_direction_from_normalized_movement(param_00)
{
var_01 = angleclamp360(param_00[0],param_00[1]);
var_02 = "";
if(var_01 < -135 || var_01 > 135)
{
var_02 = "l";
}
else if(var_01 < -45)
{
var_02 = "d";
}
else if(var_01 < 45)
{
var_02 = "r";
}
else
{
var_02 = "u";
}
return var_02;
}
//Function Number: 57
get_requested_jump_direction()
{
var_00 = "u";
var_01 = level.player getnormalizedmovement();
var_02 = length2d(var_01);
if(var_02 > 0.15)
{
var_00 = get_direction_from_normalized_movement(var_01);
}
return var_00;
}
//Function Number: 58
jump_to_mag_direction_is_valid(param_00)
{
return level.exo_climb_move_options["jump2mag"][param_00] != "blocked";
}
//Function Number: 59
jump_direction_is_valid(param_00)
{
return level.exo_climb_move_options["long"][param_00] != "blocked" || level.exo_climb_move_options["short"][param_00] != "blocked";
}
//Function Number: 60
get_requested_move_direction()
{
var_00 = level.player getnormalizedmovement();
if(length2d(var_00) <= 0.15)
{
return "";
}
return get_direction_from_normalized_movement(var_00);
}
//Function Number: 61
magnetic_hands_direction_is_valid(param_00)
{
return param_00 != "" && level.exo_climb_move_options["magnetic"][param_00] != "blocked";
}
//Function Number: 62
mag_to_jump_direction_is_valid(param_00)
{
return param_00 != "" && level.exo_climb_move_options["mag2jump"][param_00] != "blocked";
}
//Function Number: 63
climbing_motion_start_player_mag_move(param_00)
{
if(isdefined(level.exo_climb_rig.next_chain_move))
{
if(level.exo_climb_rig.next_chain_move == "1")
{
var_01 = "magnetic_" + param_00 + "_1";
level.exo_climb_rig.next_chain_move = "2";
}
else
{
var_01 = "magnetic_" + var_01 + "_2";
level.exo_climb_rig.next_chain_move = "1";
}
}
else
{
var_01 = "magnetic_" + var_01 + "_0";
level.exo_climb_rig.next_chain_move = "2";
}
level.exo_climb_rig.allow_player_input_1 = undefined;
level.exo_climb_rig.allow_player_input_2 = undefined;
level.exo_climb_rig.mag_move_dir = param_00;
thread climbing_animation_traverse_move(var_01,1);
}
//Function Number: 64
climbing_motion_start_player_mag_to_jump(param_00)
{
var_01 = "mag2jump_" + param_00;
thread climbing_animation_traverse_move(var_01,2);
enter_state_mag_to_jump_surface();
level.exo_climb_rig.is_jumping = 1;
level.player lerpviewangleclamp(0.5,0,0,120,120,60,57);
level.exo_climb_rig.allow_player_input_1 = undefined;
level.exo_climb_rig.allow_player_input_2 = undefined;
}
//Function Number: 65
climbing_update_available_moving_options()
{
level.exo_climb_retest_jumps_triggers = undefined;
var_00 = spawn("script_origin",level.exo_climb_player_center.origin);
level.exo_climb_move_options["long"]["u"] = "blocked";
level.exo_climb_move_options["long"]["d"] = "blocked";
level.exo_climb_move_options["long"]["l"] = "blocked";
level.exo_climb_move_options["long"]["r"] = "blocked";
level.exo_climb_move_options["short"]["u"] = "blocked";
level.exo_climb_move_options["short"]["d"] = "blocked";
level.exo_climb_move_options["short"]["l"] = "blocked";
level.exo_climb_move_options["short"]["r"] = "blocked";
level.exo_climb_move_options["magnetic"]["u"] = "blocked";
level.exo_climb_move_options["magnetic"]["d"] = "blocked";
level.exo_climb_move_options["magnetic"]["l"] = "blocked";
level.exo_climb_move_options["magnetic"]["r"] = "blocked";
level.exo_climb_move_options["jump2mag"]["u"] = "blocked";
level.exo_climb_move_options["jump2mag"]["d"] = "blocked";
level.exo_climb_move_options["jump2mag"]["l"] = "blocked";
level.exo_climb_move_options["jump2mag"]["r"] = "blocked";
level.exo_climb_move_options["mag2jump"]["u"] = "blocked";
level.exo_climb_move_options["mag2jump"]["d"] = "blocked";
level.exo_climb_move_options["mag2jump"]["l"] = "blocked";
level.exo_climb_move_options["mag2jump"]["r"] = "blocked";
if((level.exo_climb_rig.surface_state == "on_mag_surface" || level.exo_climb_rig.surface_state == "jump_to_mag_surface") && isdefined(level.exo_climb_anim_offsets["magnetic"]))
{
var_01 = getarraykeys(level.exo_climb_anim_offsets["magnetic"]);
foreach(var_03 in var_01)
{
var_00.origin = level.exo_climb_player_center localtoworldcoords(level.exo_climb_anim_offsets["magnetic"][var_03]["0"]["offset"]);
foreach(var_05 in level.exo_climb_magnetic_trigs)
{
if(var_00 istouching(var_05))
{
if(isdefined(var_05.script_noteworthy) && issubstr(var_05.script_noteworthy,"exo_climb_toggle_trigger"))
{
if(isdefined(var_05.allow_exo_climb))
{
level.exo_climb_move_options["magnetic"][var_03] = "ok";
}
}
else
{
level.exo_climb_move_options["magnetic"][var_03] = "ok";
}
break;
}
}
}
}
if(level.exo_climb_rig.surface_state == "on_jump_surface" && isdefined(level.exo_climb_anim_offsets["jump2mag"]))
{
var_08 = getarraykeys(level.exo_climb_anim_offsets["jump2mag"]);
foreach(var_03 in var_08)
{
var_00.origin = level.exo_climb_player_center localtoworldcoords(level.exo_climb_anim_offsets["jump2mag"][var_03]["offset"]);
foreach(var_05 in level.exo_climb_magnetic_trigs)
{
if(var_00 istouching(var_05))
{
if(isdefined(var_05.script_noteworthy) && issubstr(var_05.script_noteworthy,"exo_climb_toggle_trigger"))
{
if(isdefined(var_05.allow_exo_climb))
{
level.exo_climb_move_options["jump2mag"][var_03] = "ok";
}
}
else
{
level.exo_climb_move_options["jump2mag"][var_03] = "ok";
}
break;
}
}
}
}
if(level.exo_climb_rig.surface_state == "on_mag_surface" && isdefined(level.exo_climb_anim_offsets["mag2jump"]))
{
var_0D = getarraykeys(level.exo_climb_anim_offsets["mag2jump"]);
foreach(var_03 in var_0D)
{
var_00.origin = level.exo_climb_player_center localtoworldcoords(level.exo_climb_anim_offsets["mag2jump"][var_03]["offset"]);
foreach(var_05 in level.exo_climb_jump_trigs)
{
if(var_00 istouching(var_05))
{
if(isdefined(var_05.script_noteworthy) && issubstr(var_05.script_noteworthy,"exo_climb_toggle_trigger"))
{
if(isdefined(var_05.allow_exo_climb))
{
level.exo_climb_move_options["mag2jump"][var_03] = "ok";
}
}
else
{
level.exo_climb_move_options["mag2jump"][var_03] = "ok";
}
break;
}
}
}
}
if((level.exo_climb_rig.surface_state == "on_jump_surface" || level.exo_climb_rig.surface_state == "mag_to_jump_surface") && isdefined(level.exo_climb_anim_offsets["normal"]))
{
var_12 = getarraykeys(level.exo_climb_anim_offsets["normal"]);
foreach(var_14 in var_12)
{
var_15 = getarraykeys(level.exo_climb_anim_offsets["normal"][var_14]);
foreach(var_03 in var_15)
{
var_00.origin = level.exo_climb_player_center localtoworldcoords(level.exo_climb_anim_offsets["normal"][var_14][var_03]["offset"]);
foreach(var_05 in level.exo_climb_jump_trigs)
{
if(var_00 istouching(var_05))
{
if(isdefined(var_05.script_noteworthy) && issubstr(var_05.script_noteworthy,"exo_climb_toggle_trigger"))
{
if(isdefined(var_05.allow_exo_climb))
{
level.exo_climb_move_options[var_14][var_03] = "normal_" + var_14 + "_" + var_03;
}
}
else
{
level.exo_climb_move_options[var_14][var_03] = "normal_" + var_14 + "_" + var_03;
}
break;
}
}
}
}
var_12 = getarraykeys(level.exo_climb_anim_offsets["special"]);
foreach(var_14 in var_12)
{
var_15 = getarraykeys(level.exo_climb_anim_offsets["special"][var_14]);
foreach(var_03 in var_15)
{
if(level.exo_climb_move_options[var_14][var_03] != "blocked")
{
continue;
}
var_1D = getarraykeys(level.exo_climb_anim_offsets["special"][var_14][var_03]);
foreach(var_1F in var_1D)
{
if(level.exo_climb_move_options[var_14][var_03] != "blocked")
{
continue;
}
var_00.origin = level.exo_climb_player_center localtoworldcoords(level.exo_climb_anim_offsets["special"][var_14][var_03][var_1F]["offset"]);
foreach(var_05 in level.exo_climb_jump_trigs)
{
if(var_00 istouching(var_05))
{
if(isdefined(var_05.script_noteworthy) && issubstr(var_05.script_noteworthy,"exo_climb_toggle_trigger"))
{
if(isdefined(var_05.allow_exo_climb))
{
level.exo_climb_move_options[var_14][var_03] = "special_" + var_14 + "_" + var_03 + "_" + var_1F;
}
}
else
{
level.exo_climb_move_options[var_14][var_03] = "special_" + var_14 + "_" + var_03 + "_" + var_1F;
}
break;
}
}
}
}
}
}
var_00 delete();
if(isdefined(level.exo_climb_rig.is_linked))
{
level.exo_climb_retest_jumps_triggers = 1;
}
}
//Function Number: 66
get_player_local_yaw()
{
var_00 = level.player getplayerangles()[1];
if(var_00 > 180)
{
var_00 = var_00 - 360;
}
return var_00;
}
//Function Number: 67
climbing_motion_player_looking()
{
var_00 = get_player_local_yaw();
if(level.exo_climb_rig.facing == "center")
{
if(var_00 > 30)
{
climbing_animation_idle_to_side_idle("left");
return;
}
if(var_00 < -30)
{
climbing_animation_idle_to_side_idle("right");
return;
}
return;
}
if(level.exo_climb_rig.facing == "left")
{
if(var_00 < 25)
{
climbing_animation_side_idle_to_idle("left");
return;
}
if(var_00 > 90)
{
climbing_animation_side_idle_to_back("left");
return;
}
return;
}
if(level.exo_climb_rig.facing == "left_back")
{
if(var_00 < 80)
{
climbing_animation_back_to_side_idle("left");
return;
}
return;
}
if(level.exo_climb_rig.facing == "right")
{
if(var_00 > -25)
{
climbing_animation_side_idle_to_idle("right");
return;
}
if(var_00 < -90)
{
climbing_animation_side_idle_to_back("right");
return;
}
return;
}
if(var_00 > -80)
{
climbing_animation_back_to_side_idle("right");
return;
}
}
//Function Number: 68
climbing_motion_player_combat_mode()
{
if(!level.player buttonpressed("BUTTON_B"))
{
level.exo_climb_rig.crouch_button_reset = 1;
}
var_00 = get_player_local_yaw();
if(level.exo_climb_rig.facing == "center")
{
if(var_00 > 30)
{
climbing_animation_stop_idle();
level.exo_climb_rig.facing = "left";
level.exo_climb_rig maps\_anim::anim_single_solo(level.exo_climb_rig,"combat_center_to_left");
level.exo_climb_rig thread maps\_anim::anim_loop_solo(level.exo_climb_rig,"combat_idle_left","stop_climb_idle");
return;
}
if(var_00 < -30)
{
climbing_animation_stop_idle();
level.exo_climb_rig.facing = "right";
level.exo_climb_rig maps\_anim::anim_single_solo(level.exo_climb_rig,"combat_center_to_right");
level.exo_climb_rig thread maps\_anim::anim_loop_solo(level.exo_climb_rig,"combat_idle_right","stop_climb_idle");
return;
}
return;
}
if(level.exo_climb_rig.facing == "left")
{
if(var_00 < 25)
{
climbing_animation_stop_idle();
level.exo_climb_rig.facing = "center";
level.exo_climb_rig maps\_anim::anim_single_solo(level.exo_climb_rig,"combat_left_to_center");
level.exo_climb_rig thread maps\_anim::anim_loop_solo(level.exo_climb_rig,"combat_idle","stop_climb_idle");
return;
}
return;
}
if(var_00 > -25)
{
climbing_animation_stop_idle();
level.exo_climb_rig.facing = "center";
level.exo_climb_rig maps\_anim::anim_single_solo(level.exo_climb_rig,"combat_right_to_center");
level.exo_climb_rig thread maps\_anim::anim_loop_solo(level.exo_climb_rig,"combat_idle","stop_climb_idle");
return;
}
}
//Function Number: 69
exo_climb_draw_weapon(param_00)
{
climbing_give_player_weapon("right");
}
//Function Number: 70
climbing_motion_start_player_shooting()
{
climbing_animation_stop_idle();
level.exo_climb_rig.facing = "center";
level.exo_climb_rig maps\_anim::anim_single_solo(level.exo_climb_rig,"climb_to_combat_idle");
level.exo_climb_rig thread maps\_anim::anim_loop_solo(level.exo_climb_rig,"combat_idle","stop_climb_idle");
level.exo_climb_rig.crouch_button_reset = undefined;
level.exo_climb_rig.is_jumping = undefined;
}
//Function Number: 71
climbing_motion_stop_player_combat_mode_quick()
{
level.player allowads(0);
level.player disableweapons();
var_00 = level.player getcurrentweapon();
level.exo_climb_rig.stored_clipsize = level.player getweaponammoclip(var_00);
level.exo_climb_rig.stored_stock = level.player setweaponammostock(var_00);
level.player takeweapon(var_00);
level.exo_climb_rig.in_combat_mode = undefined;
climbing_animation_stop_idle();
}
//Function Number: 72
climbing_motion_stop_player_combat_mode()
{
level.player allowads(0);
level.player disableweapons();
level.player waittill("weapon_change");
var_00 = level.player getcurrentweapon();
level.exo_climb_rig.stored_clipsize = level.player getweaponammoclip(var_00);
level.exo_climb_rig.stored_stock = level.player setweaponammostock(var_00);
level.player takeweapon(var_00);
level.exo_climb_rig.in_combat_mode = undefined;
climbing_animation_stop_idle();
level.exo_climb_rig maps\_anim::anim_single_solo(level.exo_climb_rig,"combat_to_climb_idle");
level.exo_climb_rig.facing = "center";
level thread climbing_animation_idle_loop();
}
//Function Number: 73
climbing_motion_dismount()
{
level.player lerpfov(65,1);
if(level.nextgen)
{
setsaveddvar("r_mbEnable","0");
}
if(climbing_helper_player_in_combat_mode())
{
climbing_motion_stop_player_combat_mode();
}
climbing_animation_dismount();
}
//Function Number: 74
climbing_give_player_weapon(param_00)
{
level.exo_climb_rig.in_combat_mode = 1;
var_01 = "iw5_sn6_sp";
var_02 = getarraykeys(level.exo_climb_weapon);
var_03 = common_scripts\utility::array_contains(var_02,level.exo_climb_rig.stored_weapon);
if(var_03)
{
var_04 = level.exo_climb_weapon[level.exo_climb_rig.stored_weapon][param_00];
}
else
{
var_04 = level.exo_climb_weapon[var_02][var_01];
}
level.player giveweapon(var_04);
level.player switchtoweapon(var_04);
level.player setweaponammoclip(var_04,level.exo_climb_rig.stored_clipsize);
level.player setweaponammostock(var_04,level.exo_climb_rig.stored_stock);
level.player enableweapons();
level.player waittill("weapon_change");
level.player allowads(1);
}
//Function Number: 75
climbing_animation_stop_idle()
{
level.exo_climb_rig notify("stop_climb_idle");
level.exo_climb_rig maps\_utility::anim_stopanimscripted();
}
//Function Number: 76
climbing_animation_idle_to_side_idle(param_00)
{
climbing_animation_stop_idle();
level.exo_climb_rig.facing = param_00;
level.exo_climb_rig maps\_anim::anim_single_solo(level.exo_climb_rig,"idle_to_idle" + param_00);
level thread climbing_animation_idle_loop(param_00);
}
//Function Number: 77
climbing_animation_side_idle_to_back(param_00)
{
climbing_animation_stop_idle();
if(param_00 == "left")
{
level.exo_climb_rig.facing = "left_back";
level.exo_climb_rig maps\_anim::anim_single_solo(level.exo_climb_rig,"idleleft_to_idleleftback");
level thread climbing_animation_idle_loop("left_back");
return;
}
level.exo_climb_rig.facing = "right_back";
level.exo_climb_rig maps\_anim::anim_single_solo(level.exo_climb_rig,"idleright_to_idlerightback");
level thread climbing_animation_idle_loop("right_back");
}
//Function Number: 78
climbing_animation_back_to_side_idle(param_00)
{
climbing_animation_stop_idle();
level.exo_climb_rig.facing = param_00;
if(param_00 == "left")
{
level.exo_climb_rig maps\_anim::anim_single_solo(level.exo_climb_rig,"idleleftback_to_idleleft");
}
else
{
level.exo_climb_rig maps\_anim::anim_single_solo(level.exo_climb_rig,"idlerightback_to_idleright");
}
level thread climbing_animation_idle_loop(param_00);
}
//Function Number: 79
climbing_animation_side_idle_to_idle(param_00)
{
climbing_animation_stop_idle();
level.exo_climb_rig.facing = "center";
level.exo_climb_rig maps\_anim::anim_single_solo(level.exo_climb_rig,"idle" + param_00 + "_to_idle");
level thread climbing_animation_idle_loop();
}
//Function Number: 80
climbing_animation_idle_loop(param_00)
{
if(!isdefined(param_00))
{
param_00 = "";
}
if(param_00 == "magnetic")
{
level.exo_climb_rig thread maps\_anim::anim_loop_solo(level.exo_climb_rig,"idle_magnetic_gloves","stop_climb_idle");
return;
}
level.exo_climb_rig thread maps\_anim::anim_loop_solo(level.exo_climb_rig,"idle" + param_00,"stop_climb_idle");
}
//Function Number: 81
climbing_animation_traverse_move(param_00,param_01)
{
climbing_animation_stop_idle();
level.exo_climb_rig.current_traverse_anime = param_00;
level.exo_climb_rig maps\_anim::anim_single_solo(level.exo_climb_rig,param_00);
if(level.nextgen)
{
if(param_01 == 0)
{
setsaveddvar("r_mbEnable","0");
return;
}
if(param_01 == 1)
{
setsaveddvar("r_mbEnable","2");
setsaveddvar("r_mbVelocityScalar","2");
return;
}
setsaveddvar("r_mbEnable","2");
setsaveddvar("r_mbVelocityScalar","6");
return;
}
}
//Function Number: 82
climbing_animation_dismount()
{
climbing_animation_stop_idle();
level.player playersetgroundreferenceent(undefined);
level.player lerpviewangleclamp(0.5,0,0,0,0,0,0);
level.exo_climb_rig dontcastshadows();
var_00 = 0;
if(isdefined(level.exo_climb_force_animated_dismount))
{
var_01 = level.exo_climb_animated_dismount["org"];
var_02 = level.exo_climb_animated_dismount["animname"];
var_03 = level.exo_climb_animated_dismount["anime"];
var_01 maps\_anim::anim_single_solo(level.exo_climb_rig,var_03,undefined,undefined,var_02);
level.exo_climb_force_animated_dismount = undefined;
if(isdefined(level.exo_climb_animated_dismount["keep_rig"]))
{
var_00 = 1;
}
}
else
{
level.exo_climb_rig maps\_anim::anim_single_solo(level.exo_climb_rig,"dismount");
}
stop_player_climbing(var_00);
}
//Function Number: 83
climbing_head_sway()
{
level.player endon("death");
level.player endon("stop_player_climbing");
for(;;)
{
screenshake(level.player.origin,3,5,1,2,0.2,0.2,0,0.3,0.375,0.225);
wait(1);
}
}
//Function Number: 84
climbing_helper_player_jumping()
{
return isdefined(level.exo_climb_rig.is_jumping);
}
//Function Number: 85
climbing_helper_player_moving()
{
return climbing_helper_player_jumping() || climbing_helper_player_mag_moving() || isdefined(level.exo_climb_rig.surface_state) && level.exo_climb_rig.surface_state == "jump_to_mag_surface" || isdefined(level.exo_climb_rig.surface_state) && level.exo_climb_rig.surface_state == "mag_to_jump_surface";
}
//Function Number: 86
climbing_helper_player_mag_moving()
{
return isdefined(level.exo_climb_rig.surface_state) && level.exo_climb_rig.surface_state == "on_mag_surface" && isdefined(level.exo_climb_rig.mag_move_dir) && level.exo_climb_rig.mag_move_dir != "";
}
//Function Number: 87
climbing_helper_player_input_1_allowed()
{
if(isdefined(level.exo_climb_force_animated_dismount))
{
return 0;
}
if(isdefined(level.exo_climb_rig.allow_player_input_1))
{
return 1;
}
if(!climbing_helper_player_moving())
{
return 1;
}
return 0;
}
//Function Number: 88
climbing_helper_player_input_2_allowed()
{
if(isdefined(level.exo_climb_force_animated_dismount))
{
return 0;
}
if(isdefined(level.exo_climb_rig.allow_player_input_2))
{
return 1;
}
if(!climbing_helper_player_moving())
{
return 1;
}
return 0;
}
//Function Number: 89
climbing_helper_player_jump_requested()
{
return level.exo_climb_rig.jumpbuttonbuffer > 0;
}
//Function Number: 90
climbing_helper_player_in_combat_mode()
{
return isdefined(level.exo_climb_rig.in_combat_mode);
}
//Function Number: 91
climbing_helper_dir_is_blocked(param_00)
{
return param_00 == "blocked";
}
//Function Number: 92
climbing_helper_player_combat_requested()
{
return level.exo_climb_rig.combatbuttonbuffer > 0;
}
//Function Number: 93
climbing_helper_player_exit_combat_mode_requested()
{
return isdefined(level.exo_climb_rig.crouch_button_reset) && level.player buttonpressed("Button_B");
}
//Function Number: 94
climbing_helper_player_dismount_requested()
{
if(!isdefined(level.exo_climb_rig.dismount_timer))
{
level.exo_climb_rig.dismount_timer = 500;
}
if(climbing_helper_player_moving())
{
level.exo_climb_rig.dismount_timer = 500;
return 0;
}
if(isdefined(level.exo_climb_force_animated_dismount))
{
return 1;
}
if(level.player buttonpressed("BUTTON_X"))
{
if(isdefined(level.exo_climb_rig.dismount_timer) && level.exo_climb_rig.dismount_timer < 0)
{
return 1;
}
else
{
level.exo_climb_rig.dismount_timer = level.exo_climb_rig.dismount_timer - 50;
}
return 0;
}
level.exo_climb_rig.dismount_timer = 500;
return 0;
}
//Function Number: 95
force_animated_dismount(param_00,param_01,param_02,param_03)
{
level.exo_climb_force_animated_dismount = 1;
level.exo_climb_animated_dismount = [];
level.exo_climb_animated_dismount["org"] = param_00;
level.exo_climb_animated_dismount["animname"] = param_01;
level.exo_climb_animated_dismount["anime"] = param_02;
level.exo_climb_animated_dismount["keep_rig"] = param_03;
}
//Function Number: 96
toggle_mount_mag_trigger_off(param_00,param_01)
{
self.allow_exo_climb = undefined;
level.exo_climb_retest_jumps_triggers = 1;
if(!isdefined(level.exo_climb_rig))
{
return;
}
if(isdefined(param_00))
{
if(!isdefined(param_01))
{
param_01 = 0;
}
var_02 = gettime() + param_01 * 1000;
var_03 = spawn("script_origin",level.exo_climb_player_center.origin);
while(gettime() < var_02)
{
var_03.origin = level.exo_climb_player_center.origin;
mag_mount_unlink_player(param_00,var_03);
mag_mount_link_player(param_00,var_03);
wait(0.05);
}
var_03 delete();
}
}
//Function Number: 97
toggle_mount_mag_trigger_on(param_00)
{
self.allow_exo_climb = 1;
level.exo_climb_retest_jumps_triggers = 1;
if(!isdefined(level.exo_climb_rig))
{
return;
}
var_01 = spawn("script_origin",level.exo_climb_player_center.origin);
for(var_02 = 0;var_02 < 5;var_02++)
{
var_01.origin = level.exo_climb_player_center.origin;
mag_mount_unlink_player(param_00,var_01);
wait(0.05);
}
var_01 delete();
}
//Function Number: 98
mag_mount_link_player(param_00,param_01)
{
if(!isdefined(param_00.player_linked) && param_01 istouching(self))
{
level.exo_climb_rig linkto(param_00);
level.exo_climb_rig.is_linked = 1;
param_00.player_linked = 1;
}
}
//Function Number: 99
mag_mount_unlink_player(param_00,param_01)
{
if(isdefined(param_00.player_linked))
{
level.exo_climb_rig unlink();
level.exo_climb_rig.is_linked = undefined;
param_00.player_linked = undefined;
}
}
//Function Number: 100
init_exoclimb_hud()
{
if(isdefined(1) && 1)
{
temp_exoclimb_hud_init();
}
}
//Function Number: 101
temp_exoclimb_hud_precache()
{
precacheshader("hud_arrow_up");
precacheshader("hud_arrow_down");
precacheshader("hud_arrow_left");
precacheshader("hud_arrow_right");
}
//Function Number: 102
temp_exoclimb_hud_init()
{
if(isdefined(level.temp_exoclimb_hud))
{
return;
}
level.temp_exoclimb_hud = spawnstruct();
level.temp_exoclimb_hud.up_arrow = newhudelem();
level.temp_exoclimb_hud.up_arrow.x = 320;
level.temp_exoclimb_hud.up_arrow.y = 324;
level.temp_exoclimb_hud.up_arrow.alignx = "center";
level.temp_exoclimb_hud.up_arrow.aligny = "middle";
level.temp_exoclimb_hud.up_arrow.horzalign = "fullscreen";
level.temp_exoclimb_hud.up_arrow.vertalign = "fullscreen";
level.temp_exoclimb_hud.up_arrow.color = (1,1,1);
level.temp_exoclimb_hud.up_arrow setshader("hud_arrow_up",64,64);
level.temp_exoclimb_hud.down_arrow = newhudelem();
level.temp_exoclimb_hud.down_arrow.x = 320;
level.temp_exoclimb_hud.down_arrow.y = 356;
level.temp_exoclimb_hud.down_arrow.alignx = "center";
level.temp_exoclimb_hud.down_arrow.aligny = "middle";
level.temp_exoclimb_hud.down_arrow.horzalign = "fullscreen";
level.temp_exoclimb_hud.down_arrow.vertalign = "fullscreen";
level.temp_exoclimb_hud.down_arrow.color = (1,1,1);
level.temp_exoclimb_hud.down_arrow setshader("hud_arrow_down",64,64);
level.temp_exoclimb_hud.left_arrow = newhudelem();
level.temp_exoclimb_hud.left_arrow.x = 304;
level.temp_exoclimb_hud.left_arrow.y = 340;
level.temp_exoclimb_hud.left_arrow.alignx = "center";
level.temp_exoclimb_hud.left_arrow.aligny = "middle";
level.temp_exoclimb_hud.left_arrow.horzalign = "fullscreen";
level.temp_exoclimb_hud.left_arrow.vertalign = "fullscreen";
level.temp_exoclimb_hud.left_arrow.color = (1,1,1);
level.temp_exoclimb_hud.left_arrow setshader("hud_arrow_left",64,64);
level.temp_exoclimb_hud.right_arrow = newhudelem();
level.temp_exoclimb_hud.right_arrow.x = 336;
level.temp_exoclimb_hud.right_arrow.y = 340;
level.temp_exoclimb_hud.right_arrow.alignx = "center";
level.temp_exoclimb_hud.right_arrow.aligny = "middle";
level.temp_exoclimb_hud.right_arrow.horzalign = "fullscreen";
level.temp_exoclimb_hud.right_arrow.vertalign = "fullscreen";
level.temp_exoclimb_hud.right_arrow.color = (1,1,1);
level.temp_exoclimb_hud.right_arrow setshader("hud_arrow_right",64,64);
temp_exoclimb_hud_hide();
}
//Function Number: 103
temp_exoclimb_hud_hide()
{
level.temp_exoclimb_hud.up_arrow.alpha = 0;
level.temp_exoclimb_hud.down_arrow.alpha = 0;
level.temp_exoclimb_hud.left_arrow.alpha = 0;
level.temp_exoclimb_hud.right_arrow.alpha = 0;
}
//Function Number: 104
temp_exoclimb_hud_check_array(param_00)
{
if(isdefined(param_00["u"]) && param_00["u"] != "blocked")
{
level.temp_exoclimb_hud.show_up_arrow = 1;
}
if(isdefined(param_00["d"]) && param_00["d"] != "blocked")
{
level.temp_exoclimb_hud.show_down_arrow = 1;
}
if(isdefined(param_00["l"]) && param_00["l"] != "blocked")
{
level.temp_exoclimb_hud.show_left_arrow = 1;
}
if(isdefined(param_00["r"]) && param_00["r"] != "blocked")
{
level.temp_exoclimb_hud.show_right_arrow = 1;
}
}
//Function Number: 105
temp_exoclimb_hud_thread()
{
var_00 = 0.05;
for(;;)
{
if(is_exo_climbing() && climbing_helper_player_input_1_allowed())
{
level.temp_exoclimb_hud.show_up_arrow = 0;
level.temp_exoclimb_hud.show_down_arrow = 0;
level.temp_exoclimb_hud.show_left_arrow = 0;
level.temp_exoclimb_hud.show_right_arrow = 0;
temp_exoclimb_hud_check_array(level.exo_climb_move_options["long"]);
temp_exoclimb_hud_check_array(level.exo_climb_move_options["short"]);
temp_exoclimb_hud_check_array(level.exo_climb_move_options["jump2mag"]);
temp_exoclimb_hud_check_array(level.exo_climb_move_options["mag2jump"]);
if(level.temp_exoclimb_hud.show_up_arrow)
{
level.temp_exoclimb_hud.up_arrow.alpha = 0.7;
}
else
{
level.temp_exoclimb_hud.up_arrow.alpha = 0;
}
if(level.temp_exoclimb_hud.show_down_arrow)
{
level.temp_exoclimb_hud.down_arrow.alpha = 0.7;
}
else
{
level.temp_exoclimb_hud.down_arrow.alpha = 0;
}
if(level.temp_exoclimb_hud.show_left_arrow)
{
level.temp_exoclimb_hud.left_arrow.alpha = 0.7;
}
else
{
level.temp_exoclimb_hud.left_arrow.alpha = 0;
}
if(level.temp_exoclimb_hud.show_right_arrow)
{
level.temp_exoclimb_hud.right_arrow.alpha = 0.7;
}
else
{
level.temp_exoclimb_hud.right_arrow.alpha = 0;
}
}
else
{
temp_exoclimb_hud_hide();
}
wait(var_00);
}
}
//Function Number: 106
setup_exo_climb_audio()
{
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_mount_jump",::aud_exo_climb_mount_jump,"mount2mag");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_mount_land",::aud_exo_climb_mount_land,"mount2mag");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_windup_lt",::aud_exo_climb_windup_lt,"mount2mag");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_windup_rt",::aud_exo_climb_windup_rt,"mount2mag");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_hit_lt",::aud_exo_climb_hit_lt,"mount2mag");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_hit_rt",::aud_exo_climb_hit_rt,"mount2mag");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_gear_lt",::aud_exo_climb_gear_lt,"magnetic_u_0");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_gear_rt",::aud_exo_climb_gear_rt,"magnetic_u_0");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_windup_lt",::aud_exo_climb_windup_lt,"magnetic_u_0");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_windup_rt",::aud_exo_climb_windup_rt,"magnetic_u_0");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_hit_lt",::aud_exo_climb_hit_lt,"magnetic_u_0");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_hit_rt",::aud_exo_climb_hit_rt,"magnetic_u_0");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_rest_lt",::aud_exo_climb_rest_lt,"magnetic_u_0");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_rest_rt",::aud_exo_climb_rest_rt,"magnetic_u_0");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_gear_lt",::aud_exo_climb_gear_lt,"magnetic_u_1");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_gear_rt",::aud_exo_climb_gear_rt,"magnetic_u_1");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_windup_lt",::aud_exo_climb_windup_lt,"magnetic_u_1");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_windup_rt",::aud_exo_climb_windup_rt,"magnetic_u_1");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_hit_lt",::aud_exo_climb_hit_lt,"magnetic_u_1");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_hit_rt",::aud_exo_climb_hit_rt,"magnetic_u_1");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_rest_lt",::aud_exo_climb_rest_lt,"magnetic_u_1");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_rest_rt",::aud_exo_climb_rest_rt,"magnetic_u_1");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_gear_lt",::aud_exo_climb_gear_lt,"magnetic_u_2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_gear_rt",::aud_exo_climb_gear_rt,"magnetic_u_2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_windup_lt",::aud_exo_climb_windup_lt,"magnetic_u_2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_windup_rt",::aud_exo_climb_windup_rt,"magnetic_u_2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_hit_lt",::aud_exo_climb_hit_lt,"magnetic_u_2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_hit_rt",::aud_exo_climb_hit_rt,"magnetic_u_2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_rest_lt",::aud_exo_climb_rest_lt,"magnetic_u_2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_rest_rt",::aud_exo_climb_rest_rt,"magnetic_u_2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_gear_lt",::aud_exo_climb_gear_lt,"magnetic_l_0");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_gear_rt",::aud_exo_climb_gear_rt,"magnetic_l_0");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_windup_lt",::aud_exo_climb_windup_lt,"magnetic_l_0");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_windup_rt",::aud_exo_climb_windup_rt,"magnetic_l_0");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_hit_lt",::aud_exo_climb_hit_lt,"magnetic_l_0");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_hit_rt",::aud_exo_climb_hit_rt,"magnetic_l_0");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_rest_lt",::aud_exo_climb_rest_lt,"magnetic_l_0");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_rest_rt",::aud_exo_climb_rest_rt,"magnetic_l_0");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_gear_lt",::aud_exo_climb_gear_lt,"magnetic_l_1");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_gear_rt",::aud_exo_climb_gear_rt,"magnetic_l_1");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_windup_lt",::aud_exo_climb_windup_lt,"magnetic_l_1");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_windup_rt",::aud_exo_climb_windup_rt,"magnetic_l_1");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_hit_lt",::aud_exo_climb_hit_lt,"magnetic_l_1");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_hit_rt",::aud_exo_climb_hit_rt,"magnetic_l_1");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_rest_lt",::aud_exo_climb_rest_lt,"magnetic_l_1");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_rest_rt",::aud_exo_climb_rest_rt,"magnetic_l_1");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_gear_lt",::aud_exo_climb_gear_lt,"magnetic_l_2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_gear_rt",::aud_exo_climb_gear_rt,"magnetic_l_2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_windup_lt",::aud_exo_climb_windup_lt,"magnetic_l_2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_windup_rt",::aud_exo_climb_windup_rt,"magnetic_l_2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_hit_lt",::aud_exo_climb_hit_lt,"magnetic_l_2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_hit_rt",::aud_exo_climb_hit_rt,"magnetic_l_2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_rest_lt",::aud_exo_climb_rest_lt,"magnetic_l_2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_rest_rt",::aud_exo_climb_rest_rt,"magnetic_l_2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_gear_lt",::aud_exo_climb_gear_lt,"magnetic_r_0");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_gear_rt",::aud_exo_climb_gear_rt,"magnetic_r_0");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_windup_lt",::aud_exo_climb_windup_lt,"magnetic_r_0");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_windup_rt",::aud_exo_climb_windup_rt,"magnetic_r_0");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_hit_lt",::aud_exo_climb_hit_lt,"magnetic_r_0");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_hit_rt",::aud_exo_climb_hit_rt,"magnetic_r_0");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_rest_lt",::aud_exo_climb_rest_lt,"magnetic_r_0");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_rest_rt",::aud_exo_climb_rest_rt,"magnetic_r_0");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_gear_lt",::aud_exo_climb_gear_lt,"magnetic_r_1");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_gear_rt",::aud_exo_climb_gear_rt,"magnetic_r_1");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_windup_lt",::aud_exo_climb_windup_lt,"magnetic_r_1");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_windup_rt",::aud_exo_climb_windup_rt,"magnetic_r_1");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_hit_lt",::aud_exo_climb_hit_lt,"magnetic_r_1");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_hit_rt",::aud_exo_climb_hit_rt,"magnetic_r_1");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_rest_lt",::aud_exo_climb_rest_lt,"magnetic_r_1");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_rest_rt",::aud_exo_climb_rest_rt,"magnetic_r_1");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_gear_lt",::aud_exo_climb_gear_lt,"magnetic_r_2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_gear_rt",::aud_exo_climb_gear_rt,"magnetic_r_2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_windup_lt",::aud_exo_climb_windup_lt,"magnetic_r_2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_windup_rt",::aud_exo_climb_windup_rt,"magnetic_r_2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_hit_lt",::aud_exo_climb_hit_lt,"magnetic_r_2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_hit_rt",::aud_exo_climb_hit_rt,"magnetic_r_2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_rest_lt",::aud_exo_climb_rest_lt,"magnetic_r_2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_rest_rt",::aud_exo_climb_rest_rt,"magnetic_r_2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_slide_push",::aud_exo_climb_slide_push,"magnetic_d_0");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_slide_start",::aud_exo_climb_slide_start,"magnetic_d_0");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_slide_stop",::aud_exo_climb_slide_stop,"magnetic_d_0");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_gear_rt",::aud_exo_climb_gear_rt,"magnetic_d_0");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_windup_rt",::aud_exo_climb_windup_rt,"magnetic_d_0");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_hit_rt",::aud_exo_climb_hit_rt,"magnetic_d_0");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_rest_rt",::aud_exo_climb_rest_lt,"magnetic_d_0");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_slide_start",::aud_exo_climb_slide_start,"magnetic_d_1");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_slide_stop",::aud_exo_climb_slide_stop,"magnetic_d_1");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_gear_rt",::aud_exo_climb_gear_rt,"magnetic_d_1");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_windup_rt",::aud_exo_climb_windup_rt,"magnetic_d_1");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_hit_rt",::aud_exo_climb_hit_rt,"magnetic_d_1");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_rest_rt",::aud_exo_climb_rest_lt,"magnetic_d_1");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_slide_start",::aud_exo_climb_slide_start,"magnetic_d_2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_slide_stop",::aud_exo_climb_slide_stop,"magnetic_d_2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_gear_rt",::aud_exo_climb_gear_rt,"magnetic_d_2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_windup_rt",::aud_exo_climb_windup_rt,"magnetic_d_2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_hit_rt",::aud_exo_climb_hit_rt,"magnetic_d_2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_rest_rt",::aud_exo_climb_rest_lt,"magnetic_d_2");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_gear_lt",::aud_exo_climb_gear_lt,"dismount");
maps\_anim::addnotetrack_customfunction("player_climb_rig","aud_exo_climb_gear_rt",::aud_exo_climb_gear_rt,"dismount");
}
//Function Number: 107
aud_exo_climb_mount_jump(param_00)
{
soundscripts\_snd_playsound::snd_play_2d("exo_climb_mount_jump");
}
//Function Number: 108
aud_exo_climb_mount_land(param_00)
{
soundscripts\_snd_playsound::snd_play_2d("exo_climb_mount_land");
}
//Function Number: 109
aud_exo_climb_gear_lt(param_00)
{
soundscripts\_snd_playsound::snd_play_2d("exo_climb_gear_lt");
}
//Function Number: 110
aud_exo_climb_gear_rt(param_00)
{
soundscripts\_snd_playsound::snd_play_2d("exo_climb_gear_rt");
}
//Function Number: 111
aud_exo_climb_windup_lt(param_00)
{
soundscripts\_snd_playsound::snd_play_2d("exo_climb_windup_lt");
}
//Function Number: 112
aud_exo_climb_windup_rt(param_00)
{
soundscripts\_snd_playsound::snd_play_2d("exo_climb_windup_rt");
}
//Function Number: 113
aud_exo_climb_hit_lt(param_00)
{
exo_climb_mag_rumble(param_00);
soundscripts\_snd_playsound::snd_play_2d("exo_climb_hit_magnet");
}
//Function Number: 114
aud_exo_climb_hit_rt(param_00)
{
exo_climb_mag_rumble(param_00);
soundscripts\_snd_playsound::snd_play_2d("exo_climb_hit_magnet");
}
//Function Number: 115
aud_exo_climb_rest_lt(param_00)
{
soundscripts\_snd_playsound::snd_play_2d("exo_climb_rest_magnet");
}
//Function Number: 116
aud_exo_climb_rest_rt(param_00)
{
soundscripts\_snd_playsound::snd_play_2d("exo_climb_rest_magnet");
}
//Function Number: 117
aud_exo_climb_slide_push(param_00)
{
}
//Function Number: 118
aud_exo_climb_slide_start(param_00)
{
if(!isdefined(level.aud.exo_climb_sliding))
{
level.aud.exo_climb_sliding = 1;
soundscripts\_snd_playsound::snd_play_loop_2d("exo_climb_slide_lp","kill_exo_slide",undefined,0.5);
}
}
//Function Number: 119
aud_exo_climb_slide_stop(param_00)
{
level notify("kill_exo_slide");
level.aud.exo_climb_sliding = undefined;
exo_climb_mag_rumble(param_00);
}