mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-17 21:48:00 -05:00
258 lines
5.9 KiB
Plaintext
258 lines
5.9 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: animscripts\stop.gsc
|
|
* Game: Call of Duty: Modern Warfare 3
|
|
* Platform: Console
|
|
* Function Count: 9
|
|
* Decompile Time: 170 ms
|
|
* Timestamp: 10/27/2023 2:30:54 AM
|
|
*******************************************************************/
|
|
|
|
//Function Number: 1
|
|
main()
|
|
{
|
|
if(isdefined(self.no_ai))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(isdefined(self.var_89E))
|
|
{
|
|
animscripts/snowmobile::main();
|
|
return;
|
|
}
|
|
|
|
if(isdefined(self.custom_animscript_table))
|
|
{
|
|
if(isdefined(self.custom_animscript_table["stop"]))
|
|
{
|
|
[[ self.custom_animscript_table["stop"] ]]();
|
|
return;
|
|
}
|
|
}
|
|
|
|
self notify("stopScript");
|
|
self endon("killanimscript");
|
|
[[ self.exception["stop_immediate"] ]]();
|
|
thread delayedexception();
|
|
animscripts/utility::initialize("stop");
|
|
specialidleloop();
|
|
animscripts/utility::randomizeidleset();
|
|
thread setlaststoppedtime();
|
|
thread animscripts/reactions::reactionscheckloop();
|
|
var_00 = isdefined(self.customidleanimset);
|
|
if(!var_00)
|
|
{
|
|
if(self.a.weaponpos["right"] == "none" && self.a.weaponpos["left"] == "none")
|
|
{
|
|
var_00 = 1;
|
|
}
|
|
else if(angleclamp180(self getmuzzleangle()[0]) > 20)
|
|
{
|
|
var_00 = 1;
|
|
}
|
|
}
|
|
|
|
for(;;)
|
|
{
|
|
var_01 = func_0CE3();
|
|
if(var_01 == "prone")
|
|
{
|
|
var_00 = 1;
|
|
pronestill();
|
|
continue;
|
|
}
|
|
|
|
if(self.a.var_911 != var_01)
|
|
{
|
|
self clearanim(%root,0.3);
|
|
var_00 = 0;
|
|
}
|
|
|
|
animscripts/setposemovement::setposemovement(var_01,"stop");
|
|
if(!var_00)
|
|
{
|
|
transitiontoidle(var_01,self.a.idleset);
|
|
var_00 = 1;
|
|
continue;
|
|
}
|
|
|
|
playidle(var_01,self.a.idleset);
|
|
}
|
|
}
|
|
|
|
//Function Number: 2
|
|
setlaststoppedtime()
|
|
{
|
|
self endon("death");
|
|
self waittill("killanimscript");
|
|
self.laststoppedtime = gettime();
|
|
}
|
|
|
|
//Function Number: 3
|
|
specialidleloop()
|
|
{
|
|
self endon("stop_specialidle");
|
|
if(isdefined(self.specialidleanim))
|
|
{
|
|
var_00 = self.specialidleanim;
|
|
self.specialidleanim = undefined;
|
|
self notify("clearing_specialIdleAnim");
|
|
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: 4
|
|
func_0CE3()
|
|
{
|
|
var_00 = animscripts/utility::getclaimednode();
|
|
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::setidleface(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: 5
|
|
transitiontoidle(param_00,param_01)
|
|
{
|
|
if(animscripts/utility::iscqbwalking() && self.a.var_911 == "stand")
|
|
{
|
|
param_00 = "stand_cqb";
|
|
}
|
|
|
|
if(isdefined(level.idleanimtransition[param_00]))
|
|
{
|
|
var_02 = level.idleanimtransition[param_00]["in"];
|
|
self setflaggedanimknoballrestart("idle_transition",var_02,%body,1,0.2,self.animplaybackrate);
|
|
animscripts/shared::donotetracks("idle_transition");
|
|
}
|
|
}
|
|
|
|
//Function Number: 6
|
|
playidle(param_00,param_01)
|
|
{
|
|
if(animscripts/utility::iscqbwalking() && self.a.var_911 == "stand")
|
|
{
|
|
param_00 = "stand_cqb";
|
|
}
|
|
|
|
var_02 = undefined;
|
|
if(isdefined(self.customidleanimset) && isdefined(self.customidleanimset[param_00]))
|
|
{
|
|
var_03 = self.customidleanimset[param_00];
|
|
var_04 = param_00 + "_add";
|
|
if(isdefined(self.customidleanimset[var_04]))
|
|
{
|
|
var_02 = self.customidleanimset[var_04];
|
|
}
|
|
}
|
|
else if(isdefined(level.readyanimarray) && param_01 == "stand" || param_01 == "stand_cqb" && isdefined(self.busereadyidle) && self.busereadyidle == 1)
|
|
{
|
|
var_03 = animscripts/utility::anim_array(level.readyanimarray["stand"][0],level.readyanimweights["stand"][0]);
|
|
}
|
|
else
|
|
{
|
|
var_02 = var_02 % level.idleanimarray[param_01].size;
|
|
var_03 = animscripts/utility::anim_array(level.idleanimarray[param_01][var_02],level.idleanimweights[param_01][var_02]);
|
|
}
|
|
|
|
var_05 = 0.2;
|
|
if(gettime() == self.a.scriptstarttime)
|
|
{
|
|
var_05 = 0.5;
|
|
}
|
|
|
|
if(isdefined(var_02))
|
|
{
|
|
self setanimknoball(var_03,%body,1,var_05,1);
|
|
self setanim(%add_idle);
|
|
self setflaggedanimknoballrestart("idle",var_02,%add_idle,1,var_05,self.animplaybackrate);
|
|
}
|
|
else
|
|
{
|
|
self setflaggedanimknoballrestart("idle",var_03,%body,1,var_05,self.animplaybackrate);
|
|
}
|
|
|
|
animscripts/shared::donotetracks("idle");
|
|
}
|
|
|
|
//Function Number: 7
|
|
pronestill()
|
|
{
|
|
if(self.a.var_911 != "prone")
|
|
{
|
|
var_00["stand_2_prone"] = %stand_2_prone;
|
|
var_01 = var_41[self.a.var_911 + "_2_prone"];
|
|
self setflaggedanimknoballrestart("trans",var_01,%body,1,0.2,1);
|
|
animscripts/shared::donotetracks("trans");
|
|
self.a.movement = "stop";
|
|
self setproneanimnodes(-45,45,%prone_legs_down,%exposed_modern,%prone_legs_up);
|
|
return;
|
|
}
|
|
|
|
thread updatepronethread();
|
|
if(randomint(10) < 3)
|
|
{
|
|
var_02 = [];
|
|
var_03 = var_02[randomint(var_02.size)];
|
|
self setflaggedanimknoball("prone_idle",var_03,%exposed_modern,1,0.2);
|
|
}
|
|
else
|
|
{
|
|
self setanimknoball(%prone_aim_5,%exposed_modern,1,0.2);
|
|
self setflaggedanimknob("prone_idle",%prone_idle,1,0.2);
|
|
}
|
|
|
|
self waittillmatch(%crouch_2_prone,var_41["crouch_2_prone"],%prone_twitch_ammocheck,var_41[0],%prone_twitch_look,var_41[1],%prone_twitch_scan,var_41[2],%prone_twitch_lookfast,var_41[3],%prone_twitch_lookup,var_41[4],"end","prone_idle");
|
|
self notify("kill UpdateProneThread");
|
|
}
|
|
|
|
//Function Number: 8
|
|
updatepronethread()
|
|
{
|
|
self endon("killanimscript");
|
|
self endon("kill UpdateProneThread");
|
|
for(;;)
|
|
{
|
|
animscripts/cover_prone::updatepronewrapper(0.1);
|
|
wait 0.1;
|
|
}
|
|
}
|
|
|
|
//Function Number: 9
|
|
delayedexception()
|
|
{
|
|
self endon("killanimscript");
|
|
wait 0.05;
|
|
[[ self.exception["stop"] ]]();
|
|
} |