mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-25 08:57:54 -05:00
174 lines
3.9 KiB
Plaintext
174 lines
3.9 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: animscripts\dog\dog_stop.gsc
|
|
* Game: Call of Duty: Modern Warfare 3
|
|
* Platform: PC
|
|
* Function Count: 6
|
|
* Decompile Time: 109 ms
|
|
* Timestamp: 10/27/2023 2:17:17 AM
|
|
*******************************************************************/
|
|
|
|
//Function Number: 1
|
|
main()
|
|
{
|
|
self endon("killanimscript");
|
|
self clearanim(%root,0.1);
|
|
self clearanim(%german_shepherd_idle,0.2);
|
|
self clearanim(%german_shepherd_attackidle_knob,0.2);
|
|
thread func_3B01("attackIdle");
|
|
for(;;)
|
|
{
|
|
if(func_3AFF())
|
|
{
|
|
self clearanim(%german_shepherd_idle,0.2);
|
|
func_3AFE();
|
|
}
|
|
else
|
|
{
|
|
self orientmode("face current");
|
|
self clearanim(%german_shepherd_attackidle_knob,0.2);
|
|
self setflaggedanimrestart("dog_idle",%german_shepherd_idle,1,0.2,self.var_10F7);
|
|
}
|
|
|
|
animscripts/shared::donotetracks("dog_idle");
|
|
if(isdefined(self.var_3AFC))
|
|
{
|
|
self.turnrate = self.var_3AFC;
|
|
self.var_3AFC = undefined;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 2
|
|
func_3AFD(param_00)
|
|
{
|
|
var_01 = self.enemy.origin - self.origin;
|
|
var_02 = length(var_01);
|
|
if(var_02 < 1)
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
var_03 = anglestoforward(self.angles);
|
|
return var_03[0] * var_01[0] + var_03[1] * var_01[1] / var_02 > param_00;
|
|
}
|
|
|
|
//Function Number: 3
|
|
func_3AFE()
|
|
{
|
|
self clearanim(%german_shepherd_attackidle_knob,0.1);
|
|
if(func_3AFD(0.866))
|
|
{
|
|
self orientmode("face angle",self.angles[1]);
|
|
}
|
|
else
|
|
{
|
|
if(isdefined(self.enemy))
|
|
{
|
|
var_00 = vectortoyaw(self.enemy.origin - self.origin);
|
|
var_01 = angleclamp180(var_00 - self.angles[1]);
|
|
if(abs(var_01) > 10)
|
|
{
|
|
self orientmode("face enemy");
|
|
self.var_3AFC = self.turnrate;
|
|
self.turnrate = 0.3;
|
|
if(var_01 > 0)
|
|
{
|
|
var_02 = %german_shepherd_rotate_ccw;
|
|
}
|
|
else
|
|
{
|
|
var_02 = %german_shepherd_rotate_cw;
|
|
}
|
|
|
|
self setflaggedanimrestart("dog_turn",var_02,1,0.2,1);
|
|
animscripts/shared::donotetracks("dog_turn");
|
|
self.turnrate = self.var_3AFC;
|
|
self.var_3AFC = undefined;
|
|
self clearanim(%german_shepherd_rotate_cw,0.2);
|
|
self clearanim(%german_shepherd_rotate_ccw,0.2);
|
|
}
|
|
}
|
|
|
|
self orientmode("face angle",self.angles[1]);
|
|
}
|
|
|
|
if(func_3B00())
|
|
{
|
|
self setflaggedanimrestart("dog_idle",%german_shepherd_attackidle_growl,1,0.2,1);
|
|
return;
|
|
}
|
|
|
|
var_03 = 33;
|
|
var_04 = 66;
|
|
if(isdefined(self.mode))
|
|
{
|
|
if(self.mode == "growl")
|
|
{
|
|
var_03 = 15;
|
|
var_04 = 30;
|
|
}
|
|
else if(self.mode == "bark")
|
|
{
|
|
var_03 = 15;
|
|
var_04 = 85;
|
|
}
|
|
}
|
|
|
|
var_05 = randomint(100);
|
|
if(var_05 < var_03)
|
|
{
|
|
self setflaggedanimrestart("dog_idle",%german_shepherd_attackidle_b,1,0.2,self.var_10F7);
|
|
return;
|
|
}
|
|
|
|
if(var_05 < var_04)
|
|
{
|
|
self setflaggedanimrestart("dog_idle",%german_shepherd_attackidle_bark,1,0.2,self.var_10F7);
|
|
return;
|
|
}
|
|
|
|
self setflaggedanimrestart("dog_idle",%german_shepherd_attackidle_growl,1,0.2,self.var_10F7);
|
|
}
|
|
|
|
//Function Number: 4
|
|
func_3AFF()
|
|
{
|
|
return isdefined(self.enemy) && isalive(self.enemy) && distancesquared(self.origin,self.enemy.origin) < 1000000;
|
|
}
|
|
|
|
//Function Number: 5
|
|
func_3B00()
|
|
{
|
|
if(isdefined(self.var_23DB))
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
if(!isalive(self.enemy))
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
return !self cansee(self.enemy);
|
|
}
|
|
|
|
//Function Number: 6
|
|
func_3B01(param_00)
|
|
{
|
|
self endon("killanimscript");
|
|
self endon("stop tracking");
|
|
self clearanim(%german_shepherd_look_2,0);
|
|
self clearanim(%german_shepherd_look_4,0);
|
|
self clearanim(%german_shepherd_look_6,0);
|
|
self clearanim(%german_shepherd_look_8,0);
|
|
self setdefaultaimlimits();
|
|
self.var_716 = 90;
|
|
self.var_717 = -90;
|
|
self setanimlimited(level.var_3AF9[param_00][2],1,0);
|
|
self setanimlimited(level.var_3AF9[param_00][4],1,0);
|
|
self setanimlimited(level.var_3AF9[param_00][6],1,0);
|
|
self setanimlimited(level.var_3AF9[param_00][8],1,0);
|
|
animscripts/track::func_CC4(1,0.2);
|
|
animscripts/track::func_CAA(%german_shepherd_look_2,%german_shepherd_look_4,%german_shepherd_look_6,%german_shepherd_look_8);
|
|
} |