mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-07 17:17:50 -05:00
200 lines
6.9 KiB
Plaintext
200 lines
6.9 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: free_run.gsc
|
|
* Game: Call of Duty: Advanced Warfare
|
|
* Platform: PC
|
|
* Function Count: 7
|
|
* Decompile Time: 121 ms
|
|
* Timestamp: 4/22/2024 2:00:31 AM
|
|
*******************************************************************/
|
|
|
|
//Function Number: 1
|
|
init()
|
|
{
|
|
waittillframeend;
|
|
waittillframeend;
|
|
setup_free_run_move_anims();
|
|
setup_free_run_cover_crouch_anims();
|
|
setup_free_run_transition_anims();
|
|
}
|
|
|
|
//Function Number: 2
|
|
setup_free_run_move_anims()
|
|
{
|
|
var_00 = [];
|
|
var_00["sprint"] = %freerunnerb_loop;
|
|
var_00["move_f"] = %freerunnerb_loop;
|
|
var_00["move_l"] = %freerunnerb_loop;
|
|
var_00["move_r"] = %freerunnerb_loop;
|
|
var_00["move_b"] = %freerunnerb_loop;
|
|
level.archetypes["soldier"]["free_run_move"] = var_00;
|
|
}
|
|
|
|
//Function Number: 3
|
|
setup_free_run_cover_crouch_anims()
|
|
{
|
|
var_00 = [];
|
|
var_00["hide_idle"] = %unarmed_covercrouch_hide_idle;
|
|
var_00["hide_idle_twitch"] = animscripts\utility::array(%unarmed_covercrouch_twitch_1,%unarmed_covercrouch_twitch_2,%unarmed_covercrouch_twitch_3,%unarmed_covercrouch_twitch_4);
|
|
var_00["look"] = animscripts\utility::array(%unarmed_covercrouch_hide_look);
|
|
var_00["add_aim_up"] = %covercrouch_aim8_add;
|
|
var_00["add_aim_down"] = %covercrouch_aim2_add;
|
|
var_00["add_aim_left"] = %covercrouch_aim4_add;
|
|
var_00["add_aim_right"] = %covercrouch_aim6_add;
|
|
var_00["straight_level"] = %covercrouch_aim5;
|
|
var_00["hide_idle_flinch"] = animscripts\utility::array();
|
|
var_00["hide_2_crouch"] = %covercrouch_hide_2_aim;
|
|
var_00["hide_2_stand"] = %covercrouch_hide_2_stand;
|
|
var_00["hide_2_lean"] = %covercrouch_hide_2_lean;
|
|
var_00["hide_2_right"] = %covercrouch_hide_2_right;
|
|
var_00["hide_2_left"] = %covercrouch_hide_2_left;
|
|
var_00["crouch_2_hide"] = %covercrouch_aim_2_hide;
|
|
var_00["stand_2_hide"] = %covercrouch_stand_2_hide;
|
|
var_00["lean_2_hide"] = %covercrouch_lean_2_hide;
|
|
var_00["right_2_hide"] = %covercrouch_right_2_hide;
|
|
var_00["left_2_hide"] = %covercrouch_left_2_hide;
|
|
var_00["smg_hide_2_stand"] = %smg_covercrouch_hide_2_stand;
|
|
var_00["smg_stand_2_hide"] = %smg_covercrouch_stand_2_hide;
|
|
var_00["crouch_aim"] = %covercrouch_aim5;
|
|
var_00["stand_aim"] = %exposed_aim_5;
|
|
var_00["lean_aim"] = %covercrouch_lean_aim5;
|
|
var_00["fire"] = %exposed_shoot_auto_v2;
|
|
var_00["semi2"] = %exposed_shoot_semi2;
|
|
var_00["semi3"] = %exposed_shoot_semi3;
|
|
var_00["semi4"] = %exposed_shoot_semi4;
|
|
var_00["semi5"] = %exposed_shoot_semi5;
|
|
var_00["single"] = [%exposed_shoot_semi1];
|
|
var_00["burst2"] = %exposed_shoot_burst3;
|
|
var_00["burst3"] = %exposed_shoot_burst3;
|
|
var_00["burst4"] = %exposed_shoot_burst4;
|
|
var_00["burst5"] = %exposed_shoot_burst5;
|
|
var_00["burst6"] = %exposed_shoot_burst6;
|
|
var_00["blind_fire"] = animscripts\utility::array(%covercrouch_blindfire_1,%covercrouch_blindfire_2,%covercrouch_blindfire_3,%covercrouch_blindfire_4);
|
|
var_00["reload"] = %covercrouch_reload_hide;
|
|
var_00["grenade_safe"] = animscripts\utility::array(%covercrouch_grenadea,%covercrouch_grenadeb);
|
|
var_00["grenade_exposed"] = animscripts\utility::array(%covercrouch_grenadea,%covercrouch_grenadeb);
|
|
var_00["exposed_idle"] = animscripts\utility::array(%exposed_idle_alert_v1,%exposed_idle_alert_v2,%exposed_idle_alert_v3);
|
|
level.archetypes["soldier"]["free_run_cover_crouch"] = var_00;
|
|
}
|
|
|
|
//Function Number: 4
|
|
setup_free_run_transition_anims()
|
|
{
|
|
var_00 = "free_run_into_cover_crouch";
|
|
var_01 = [];
|
|
var_01[1] = %unarmed_covercrouch_arrive_7;
|
|
var_01[2] = %unarmed_covercrouch_arrive_8;
|
|
var_01[3] = %unarmed_covercrouch_arrive_9;
|
|
var_01[4] = %unarmed_covercrouch_arrive_4;
|
|
var_01[6] = %unarmed_covercrouch_arrive_6;
|
|
level.archetypes["soldier"]["cover_trans"][var_00] = var_01;
|
|
var_02 = "free_run_out_of_cover_crouch";
|
|
var_01 = [];
|
|
var_01[1] = %unarmed_covercrouch_exit_1;
|
|
var_01[2] = %unarmed_covercrouch_exit_2;
|
|
var_01[3] = %unarmed_covercrouch_exit_3;
|
|
var_01[4] = %unarmed_covercrouch_exit_4;
|
|
var_01[6] = %unarmed_covercrouch_exit_6;
|
|
level.archetypes["soldier"]["cover_exit"][var_02] = var_01;
|
|
for(var_03 = 1;var_03 <= 6;var_03++)
|
|
{
|
|
if(var_03 == 5)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
level.archetypes["soldier"]["cover_trans_dist"][var_00][var_03] = getmovedelta(level.archetypes["soldier"]["cover_trans"][var_00][var_03],0,1);
|
|
level.archetypes["soldier"]["cover_trans_angles"][var_00][var_03] = getangledelta(level.archetypes["soldier"]["cover_trans"][var_00][var_03],0,1);
|
|
if(animhasnotetrack(level.archetypes["soldier"]["cover_exit"][var_02][var_03],"code_move"))
|
|
{
|
|
var_04 = getnotetracktimes(level.archetypes["soldier"]["cover_exit"][var_02][var_03],"code_move")[0];
|
|
}
|
|
else
|
|
{
|
|
var_04 = 1;
|
|
}
|
|
|
|
level.archetypes["soldier"]["cover_exit_dist"][var_02][var_03] = getmovedelta(level.archetypes["soldier"]["cover_exit"][var_02][var_03],0,var_04);
|
|
level.archetypes["soldier"]["cover_exit_angles"][var_02][var_03] = getangledelta(level.archetypes["soldier"]["cover_exit"][var_02][var_03],0,1);
|
|
}
|
|
|
|
level.archetypes["soldier"]["CoverTransLongestDist"][var_00] = 0;
|
|
for(var_03 = 1;var_03 <= 6;var_03++)
|
|
{
|
|
if(var_03 == 5)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_05 = lengthsquared(level.archetypes["soldier"]["cover_trans_dist"][var_00][var_03]);
|
|
if(level.archetypes["soldier"]["CoverTransLongestDist"][var_00] < var_05)
|
|
{
|
|
level.archetypes["soldier"]["CoverTransLongestDist"][var_00] = var_05;
|
|
}
|
|
}
|
|
|
|
level.arrivalendstance[var_00] = "crouch";
|
|
}
|
|
|
|
//Function Number: 5
|
|
move_free_run()
|
|
{
|
|
if(self.a.pose != "stand")
|
|
{
|
|
self clearanim(%animscript_root,0.2);
|
|
if(self.a.pose == "prone")
|
|
{
|
|
animscripts\utility::exitpronewrapper(1);
|
|
}
|
|
|
|
self.a.pose = "stand";
|
|
}
|
|
|
|
self.a.movement = self.movemode;
|
|
var_00 = animscripts\utility::lookupanim("free_run_move","sprint");
|
|
var_01 = self.moveplaybackrate;
|
|
var_02 = 0.3;
|
|
if(self.movemode == "walk")
|
|
{
|
|
var_01 = var_01 * 0.6;
|
|
}
|
|
|
|
self setflaggedanimknoball("runanim",var_00,%walk_and_run_loops,1,var_02,var_01,1);
|
|
animscripts\run::setmovenonforwardanims(animscripts\utility::lookupanim("free_run_move","move_b"),animscripts\utility::lookupanim("free_run_move","move_l"),animscripts\utility::lookupanim("free_run_move","move_r"));
|
|
thread animscripts\run::setcombatstandmoveanimweights("free_run_move");
|
|
animscripts\notetracks::donotetracksfortime(0.2,"runanim");
|
|
}
|
|
|
|
//Function Number: 6
|
|
enable_free_running(param_00)
|
|
{
|
|
if(!isdefined(param_00) || param_00 == 0)
|
|
{
|
|
self.free_running_hidden_weapon = self.weapon;
|
|
maps\_utility::gun_remove();
|
|
self.weapon = "none";
|
|
}
|
|
else if(isdefined(self.free_running_hidden_weapon))
|
|
{
|
|
self.free_running_hidden_weapon = undefined;
|
|
}
|
|
|
|
self.free_running = 1;
|
|
animscripts\move::register_pluggable_move_loop_override(::move_free_run);
|
|
}
|
|
|
|
//Function Number: 7
|
|
disable_free_running()
|
|
{
|
|
if(isdefined(self.free_running))
|
|
{
|
|
if(isdefined(self.free_running_hidden_weapon))
|
|
{
|
|
animscripts\shared::placeweaponon(self.free_running_hidden_weapon,"right");
|
|
self.free_running_hidden_weapon = undefined;
|
|
}
|
|
|
|
self.free_running = undefined;
|
|
animscripts\move::clear_pluggable_move_loop_override();
|
|
}
|
|
} |