Files
IL-GSC/AW/PC/animscripts/dog/dog_kill_traversal.gsc
InfinityLoader b2389dbcb9 Full AW Dump
2024-04-22 02:38:24 -04:00

151 lines
3.6 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: dog\dog_kill_traversal.gsc
* Game: Call of Duty: Advanced Warfare
* Platform: PC
* Function Count: 6
* Decompile Time: 94 ms
* Timestamp: 4/22/2024 1:58:46 AM
*******************************************************************/
//Function Number: 1
check_kill_traversal(param_00)
{
if(self.team != "allies")
{
return 0;
}
self endon("killanimscript");
var_01 = self getnegotiationstartnode();
var_02 = self getnegotiationendnode();
var_03 = getaiarray("axis");
var_04 = undefined;
var_05 = dog_get_within_range(var_02.origin,var_03,90);
if(var_05.size > 0)
{
var_06 = var_05[0];
var_07 = lengthsquared(var_01.origin - var_02.origin);
var_08 = lengthsquared(var_01.origin - var_06.origin);
if(var_08 < var_07)
{
self.syncedmeleetarget2 = var_06;
var_06.syncedmeleetarget2 = self;
var_06.traversedata = param_00;
var_09 = [];
var_09[0][0] = 400;
var_09[0][1] = "blood_small";
var_09[0][2] = "J_Neck";
var_09[1][0] = 2300;
var_09[1][1] = "blood_medium";
var_09[1][2] = "J_Neck";
var_09[2][0] = 2600;
var_09[2][1] = "blood_medium";
var_09[2][2] = "J_Neck";
var_09[3][0] = 3300;
var_09[3][1] = "blood_heavy";
var_09[3][2] = "J_Neck";
var_06 thread monitorfx(var_09);
var_06 animcustom(::human_traverse_kill);
self orientmode("face angle",var_01.angles[1]);
dog_traverse_kill(param_00);
return 1;
}
}
return 0;
}
//Function Number: 2
dog_get_within_range(param_00,param_01,param_02)
{
var_03 = [];
for(var_04 = 0;var_04 < param_01.size;var_04++)
{
if(distance(param_01[var_04].origin,param_00) <= param_02)
{
var_03[var_03.size] = param_01[var_04];
}
}
return var_03;
}
//Function Number: 3
dog_traverse_kill(param_00)
{
self.safetochangescript = 0;
self.orig_flashbangimmunity = self.flashbangimmunity;
self.flashbangimmunity = 1;
self.pushable = 0;
self traversemode("nogravity");
self traversemode("noclip");
self clearpitchorient();
self setcandamage(0);
self clearanim(%body,0.1);
self setflaggedanimrestart("dog_traverse",level.scr_anim["generic"][param_00["traverseAnim"]][0],1,0.2,1);
animscripts\shared::donotetracks("dog_traverse");
self unlink();
self setcandamage(1);
self traversemode("gravity");
self.pushable = 1;
self.safetochangescript = 1;
self.flashbangimmunity = self.orig_flashbangimmunity;
}
//Function Number: 4
human_traverse_kill()
{
self endon("killanimscript");
self endon("death");
self orientmode("face point",self.syncedmeleetarget2.origin,1);
self animmode("nogravity");
self.a.pose = "stand";
self.a.special = "none";
if(animscripts\utility::usingsidearm())
{
animscripts\shared::placeweaponon(self.primaryweapon,"right");
}
self clearanim(%body,0.1);
self setflaggedanimrestart("aianim",level.scr_anim["generic"][self.traversedata["traverseAnim"]][1],1,0.1,1);
if(isdefined(self.traversedata["linkMe"]))
{
thread dog_link();
}
animscripts\shared::donotetracks("aianim");
self waittillmatch("end","aianim");
if(isalive(self) && !isdefined(self.magic_bullet_shield))
{
self.a.nodeath = 1;
animscripts\shared::dropallaiweapons();
self kill();
}
}
//Function Number: 5
monitorfx(param_00)
{
self endon("death");
var_01 = 0;
var_02 = gettime();
while(var_01 < param_00.size)
{
var_03 = gettime() - var_02;
if(var_03 >= param_00[var_01][0])
{
playfxontag(level._effect[param_00[var_01][1]],self,param_00[var_01][2]);
var_01++;
}
wait(0.05);
}
}
//Function Number: 6
dog_link()
{
wait(0.15);
self.syncedmeleetarget2 linkto(self,"tag_sync",(0,0,0),(0,0,0));
}