mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-21 23:47:52 -05:00
151 lines
3.6 KiB
Plaintext
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));
|
|
} |