mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-10 02:17:56 -05:00
342 lines
7.8 KiB
Plaintext
342 lines
7.8 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: animscripts\stop.gsc
|
|
* Game: Call of Duty: Ghosts
|
|
* Platform: PC
|
|
* Function Count: 12
|
|
* Decompile Time: 215 ms
|
|
* Timestamp: 10/27/2023 1:24:32 AM
|
|
*******************************************************************/
|
|
|
|
//Function Number: 1
|
|
init_animset_idle()
|
|
{
|
|
var_00 = [];
|
|
var_00["stand"][0] = [%casual_stand_idle,%casual_stand_idle_twitch,%casual_stand_idle_twitchb];
|
|
var_00["stand"][1] = [%casual_stand_v2_idle,%casual_stand_v2_twitch_radio,%casual_stand_v2_twitch_shift,%casual_stand_v2_twitch_talk];
|
|
var_00["stand_cqb"][0] = [%cqb_stand_idle,%cqb_stand_twitch];
|
|
var_00["crouch"][0] = [%casual_crouch_idle];
|
|
level.archetypes["soldier"]["idle"] = var_00;
|
|
var_00 = [];
|
|
var_00["stand"][0] = [2,1,1];
|
|
var_00["stand"][1] = [10,4,7,4];
|
|
var_00["stand_cqb"][0] = [2,1];
|
|
var_00["crouch"][0] = [6];
|
|
level.archetypes["soldier"]["idle_weights"] = var_00;
|
|
var_00 = [];
|
|
var_00["stand"] = %casual_stand_idle_trans_in;
|
|
var_00["crouch"] = %casual_crouch_idle_in;
|
|
level.archetypes["soldier"]["idle_transitions"] = var_00;
|
|
}
|
|
|
|
//Function Number: 2
|
|
func_4FDD()
|
|
{
|
|
if(isdefined(self.var_5613))
|
|
{
|
|
}
|
|
|
|
if(isdefined(self.var_2214))
|
|
{
|
|
if(isdefined(self.var_2214["stop"]))
|
|
{
|
|
[[ self.var_2214["stop"] ]]();
|
|
}
|
|
}
|
|
|
|
self notify("stopScript");
|
|
self endon("killanimscript");
|
|
[[ self.exception["stop_immediate"] ]]();
|
|
thread delayedexception();
|
|
animscripts/utility::func_4622("stop");
|
|
if(isdefined(self.var_78ED))
|
|
{
|
|
func_78EE();
|
|
}
|
|
|
|
animscripts/utility::func_633A();
|
|
thread func_7061();
|
|
thread animscripts/reactions::func_63BF();
|
|
var_00 = isdefined(self.customidleanimset);
|
|
if(!var_00)
|
|
{
|
|
if(self.a.var_8DB5["right"] == "none" && self.a.var_8DB5["left"] == "none")
|
|
{
|
|
var_00 = 1;
|
|
}
|
|
else if(angleclamp180(self getmuzzleangle()[0]) > 20)
|
|
{
|
|
var_00 = 1;
|
|
}
|
|
}
|
|
|
|
if(self.swimmer && !isdefined(self.enemy))
|
|
{
|
|
var_01 = animscripts/exit_node::getexitnode();
|
|
if(isdefined(var_01))
|
|
{
|
|
self setflaggedanimknoballrestart("idle",self.customidleanimset["stand"],%body,1,0.5,self.animplaybackrate);
|
|
func_84BE(var_01.angles[1]);
|
|
}
|
|
else
|
|
{
|
|
self orientmode("face angle",self.angles[1]);
|
|
}
|
|
}
|
|
|
|
for(;;)
|
|
{
|
|
var_02 = getdesiredidlepose();
|
|
if(var_02 == "prone")
|
|
{
|
|
var_00 = 1;
|
|
func_6202();
|
|
continue;
|
|
}
|
|
|
|
if(self.a.var_60B1 != var_02)
|
|
{
|
|
self clearanim(%root,0.3);
|
|
var_00 = 0;
|
|
}
|
|
|
|
animscripts/setposemovement::func_70A7(var_02,"stop");
|
|
if(!var_00)
|
|
{
|
|
func_8271(var_02,self.a.var_43E4);
|
|
var_00 = 1;
|
|
continue;
|
|
}
|
|
|
|
func_6015(var_02,self.a.var_43E4);
|
|
}
|
|
}
|
|
|
|
//Function Number: 3
|
|
func_84BE(param_00)
|
|
{
|
|
var_01 = self.angles[1];
|
|
var_02 = angleclamp180(param_00 - var_01);
|
|
if(-20 < var_02 && var_02 < 20)
|
|
{
|
|
func_687C(param_00,2);
|
|
}
|
|
|
|
var_03 = animscripts/swim::func_3C1D("idle_turn");
|
|
if(var_02 < -80)
|
|
{
|
|
var_04 = var_03[2];
|
|
}
|
|
else if(var_03 < -20)
|
|
{
|
|
var_04 = var_04[3];
|
|
}
|
|
else if(var_03 < 80)
|
|
{
|
|
var_04 = var_04[5];
|
|
}
|
|
else
|
|
{
|
|
var_04 = var_04[6];
|
|
}
|
|
|
|
var_05 = getanimlength(var_04);
|
|
var_06 = abs(var_02) / self.turnrate;
|
|
var_06 = var_06 / 1000;
|
|
var_07 = var_05 / var_06;
|
|
self orientmode("face angle",param_00);
|
|
self setflaggedanimrestart("swim_turn",var_04,1,0.2,var_07 * self.moveplaybackrate);
|
|
animscripts/shared::func_2986("swim_turn");
|
|
self clearanim(var_04,0.2);
|
|
}
|
|
|
|
//Function Number: 4
|
|
func_687C(param_00,param_01)
|
|
{
|
|
self orientmode("face angle",param_00);
|
|
while(angleclamp(param_00 - self.angles[1]) > param_01)
|
|
{
|
|
wait(0.1);
|
|
}
|
|
}
|
|
|
|
//Function Number: 5
|
|
func_7061()
|
|
{
|
|
self endon("death");
|
|
self waittill("killanimscript");
|
|
self.laststoppedtime = gettime();
|
|
}
|
|
|
|
//Function Number: 6
|
|
func_78EE()
|
|
{
|
|
self endon("stop_specialidle");
|
|
var_00 = self.var_78ED;
|
|
self animmode("gravity");
|
|
self orientmode("face current");
|
|
self clearanim(%root,0.2);
|
|
for(;;)
|
|
{
|
|
self setflaggedanimrestart("special_idle",var_00[randomint(var_00.size)],1,0.2,self.animplaybackrate);
|
|
self waittillmatch("end","special_idle");
|
|
}
|
|
}
|
|
|
|
//Function Number: 7
|
|
getdesiredidlepose()
|
|
{
|
|
var_00 = animscripts/utility::func_3A52();
|
|
if(isdefined(var_00))
|
|
{
|
|
var_01 = var_00.angles[1];
|
|
var_02 = var_00.type;
|
|
}
|
|
else
|
|
{
|
|
var_01 = self.desiredangle;
|
|
var_02 = "node was undefined";
|
|
}
|
|
|
|
animscripts/face::func_7052(level.alertface);
|
|
var_03 = animscripts/utility::choosepose();
|
|
if(var_02 == "Cover Stand" || var_02 == "Conceal Stand")
|
|
{
|
|
var_03 = animscripts/utility::choosepose("stand");
|
|
}
|
|
else if(var_02 == "Cover Crouch" || var_02 == "Conceal Crouch")
|
|
{
|
|
var_03 = animscripts/utility::choosepose("crouch");
|
|
}
|
|
else if(var_02 == "Cover Prone" || var_02 == "Conceal Prone")
|
|
{
|
|
var_03 = animscripts/utility::choosepose("prone");
|
|
}
|
|
|
|
return var_03;
|
|
}
|
|
|
|
//Function Number: 8
|
|
func_8271(param_00,param_01)
|
|
{
|
|
if(animscripts/utility::func_48A0() && self.a.var_60B1 == "stand")
|
|
{
|
|
param_00 = "stand_cqb";
|
|
}
|
|
|
|
var_02 = animscripts/utility::func_4F5D("idle_transitions");
|
|
if(isdefined(var_02[param_00]))
|
|
{
|
|
var_03 = var_02[param_00];
|
|
self setflaggedanimknoballrestart("idle_transition",var_03,%body,1,0.2,self.animplaybackrate);
|
|
animscripts/shared::func_2986("idle_transition");
|
|
}
|
|
}
|
|
|
|
//Function Number: 9
|
|
func_6015(param_00,param_01)
|
|
{
|
|
if(animscripts/utility::func_48A0() && self.a.var_60B1 == "stand")
|
|
{
|
|
param_00 = "stand_cqb";
|
|
}
|
|
|
|
var_02 = undefined;
|
|
if(isdefined(self.customidleanimset) && isdefined(self.customidleanimset[param_00]))
|
|
{
|
|
if(isarray(self.customidleanimset[param_00]))
|
|
{
|
|
var_03 = animscripts/utility::anim_array(self.customidleanimset[param_00],self.customidleanimweights[param_00]);
|
|
}
|
|
else
|
|
{
|
|
var_03 = self.customidleanimset[param_01];
|
|
var_04 = param_00 + "_add";
|
|
if(isdefined(self.customidleanimset[var_04]))
|
|
{
|
|
var_02 = self.customidleanimset[var_04];
|
|
}
|
|
}
|
|
}
|
|
else if(isdefined(level.var_63D3) && param_01 == "stand" || param_01 == "stand_cqb" && isdefined(self.busereadyidle) && self.busereadyidle == 1)
|
|
{
|
|
var_03 = animscripts/utility::anim_array(level.var_63D3["stand"][0],level.var_63D4["stand"][0]);
|
|
}
|
|
else
|
|
{
|
|
var_05 = animscripts/utility::func_4F5D("idle");
|
|
var_06 = animscripts/utility::func_4F5D("idle_weights");
|
|
param_01 = param_01 % var_05[param_00].size;
|
|
var_03 = animscripts/utility::anim_array(var_05[param_00][param_01],var_06[param_00][param_01]);
|
|
}
|
|
|
|
var_07 = 0.2;
|
|
if(gettime() == self.a.var_6D18)
|
|
{
|
|
var_07 = 0.5;
|
|
}
|
|
|
|
if(isdefined(var_02))
|
|
{
|
|
self setanimknoball(var_03,%body,1,var_07,1);
|
|
self setanim(%add_idle);
|
|
self setflaggedanimknoballrestart("idle",var_02,%add_idle,1,var_07,self.animplaybackrate);
|
|
}
|
|
else
|
|
{
|
|
self setflaggedanimknoballrestart("idle",var_03,%body,1,var_07,self.animplaybackrate);
|
|
}
|
|
|
|
animscripts/shared::func_2986("idle");
|
|
}
|
|
|
|
//Function Number: 10
|
|
func_6202()
|
|
{
|
|
if(self.a.var_60B1 != "prone")
|
|
{
|
|
var_00["stand_2_prone"] = %stand_2_prone;
|
|
var_00["crouch_2_prone"] = %crouch_2_prone;
|
|
var_01 = var_00[self.a.var_60B1 + "_2_prone"];
|
|
self setflaggedanimknoballrestart("trans",var_01,%body,1,0.2,1);
|
|
animscripts/shared::func_2986("trans");
|
|
self.a.var_5486 = "stop";
|
|
self setproneanimnodes(-45,45,%prone_legs_down,%exposed_modern,%prone_legs_up);
|
|
}
|
|
|
|
thread func_8715();
|
|
if(randomint(10) < 3)
|
|
{
|
|
var_02 = animscripts/utility::lookupanim("cover_prone","twitch");
|
|
var_03 = var_02[randomint(var_02.size)];
|
|
self setflaggedanimknoball("prone_idle",var_03,%exposed_modern,1,0.2);
|
|
}
|
|
else
|
|
{
|
|
self setanimknoball(animscripts/utility::lookupanim("cover_prone","straight_level"),%exposed_modern,1,0.2);
|
|
self setflaggedanimknob("prone_idle",animscripts/utility::lookupanim("cover_prone","exposed_idle")[0],1,0.2);
|
|
}
|
|
|
|
self waittillmatch("end","prone_idle");
|
|
self notify("kill UpdateProneThread");
|
|
}
|
|
|
|
//Function Number: 11
|
|
func_8715()
|
|
{
|
|
self endon("killanimscript");
|
|
self endon("kill UpdateProneThread");
|
|
for(;;)
|
|
{
|
|
animscripts/cover_prone::func_8716(0.1);
|
|
wait(0.1);
|
|
}
|
|
}
|
|
|
|
//Function Number: 12
|
|
delayedexception()
|
|
{
|
|
self endon("killanimscript");
|
|
wait(0.05);
|
|
[[ self.exception["stop"] ]]();
|
|
} |