mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-07 17:17:50 -05:00
1052 lines
25 KiB
Plaintext
1052 lines
25 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: 3120.gsc
|
|
* Game: Call of Duty: Infinite Warfare
|
|
* Platform: PC
|
|
* Function Count: 47
|
|
* Decompile Time: 25 ms
|
|
* Timestamp: 10/27/2023 12:26:10 AM
|
|
*******************************************************************/
|
|
|
|
//Function Number: 1
|
|
func_80A1()
|
|
{
|
|
var_00 = [];
|
|
var_00["chokePlayer_counter_c"] = %c6_grnd_red_melee_choke_counter_cable;
|
|
return var_00;
|
|
}
|
|
|
|
//Function Number: 2
|
|
func_807A()
|
|
{
|
|
var_00 = [];
|
|
var_00["chokePlayer_save"] = %vm_grnd_red_melee_choke_rescued;
|
|
var_00["chokePlayer_kill"] = %vm_grnd_red_melee_choke_death;
|
|
var_00["chokePlayer_counter"] = %vm_grnd_red_melee_choke_counter;
|
|
var_00["chokePlayer_counter_b"] = %vm_grnd_red_melee_choke_counter_fast_knife_out_b;
|
|
var_00["chokePlayer_counter_c"] = %vm_grnd_red_melee_choke_counter_cable_cut;
|
|
var_00["chokePlayer"] = %vm_grnd_red_melee_choke_enter;
|
|
var_00["crawlMeleeGrab"] = %vm_grnd_red_melee_pounding_enter;
|
|
var_00["crawlMeleeGrab_loop"] = %vm_grnd_red_melee_pounding_loop;
|
|
var_00["crawlMeleeGrab_win"] = %vm_grnd_red_melee_pounding_win;
|
|
var_00["crawlMeleeGrab_lose"] = %vm_grnd_red_melee_pounding_lose;
|
|
return var_00;
|
|
}
|
|
|
|
//Function Number: 3
|
|
func_8100()
|
|
{
|
|
var_00 = [];
|
|
var_00["slt_save"] = %hm_grnd_red_melee_choke_rescued_salter;
|
|
var_00["omr_save"] = %hm_grnd_red_melee_choke_rescued_salter;
|
|
var_00["eth_save"] = %hm_grnd_red_melee_choke_rescued_salter;
|
|
return var_00;
|
|
}
|
|
|
|
//Function Number: 4
|
|
func_B64E(param_00,param_01,param_02,param_03)
|
|
{
|
|
return isplayer(self.var_B55B.target);
|
|
}
|
|
|
|
//Function Number: 5
|
|
func_B608(param_00,param_01,param_02,param_03)
|
|
{
|
|
if(isplayer(self.var_B55B.target))
|
|
{
|
|
var_04 = self.origin;
|
|
var_05 = self.var_B55B.target.origin;
|
|
if(int(var_05[2]) > int(var_04[2]) + 1)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
var_06 = vectornormalize(var_05 - var_04);
|
|
var_07 = var_04 - var_06 * 36;
|
|
var_08 = scripts\common\trace::func_19F4(var_04,var_07,undefined,[self,self.var_B55B.target],undefined,4);
|
|
return var_08;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 6
|
|
func_B61B(param_00,param_01,param_02,param_03)
|
|
{
|
|
lib_0F3D::func_D394();
|
|
self.var_E0 = 1;
|
|
self.ignoreme = 1;
|
|
lib_0F3D::func_B60F();
|
|
lib_0A1A::func_232F("melee_attack","begin");
|
|
if(isdefined(self.var_394))
|
|
{
|
|
self.meleegrabweapon = self.var_394;
|
|
}
|
|
|
|
scripts\anim\shared::func_CC2C(self.var_394,"none");
|
|
lib_0A0E::func_B5B4(self.var_12BA4);
|
|
thread func_D3F9();
|
|
self playsound("c6_grapple_grab_enter");
|
|
lib_0A1E::func_2364(param_00,param_01,param_02);
|
|
}
|
|
|
|
//Function Number: 7
|
|
func_D3F9()
|
|
{
|
|
if(isdefined(self.var_72CE))
|
|
{
|
|
var_00 = (0,self.var_72CE,0);
|
|
}
|
|
else
|
|
{
|
|
var_00 = vectortoangles(self.origin - level.player.origin);
|
|
var_00 = (0,var_00[1],0);
|
|
}
|
|
|
|
var_01 = lib_0F3D::func_108F6();
|
|
var_01.angles = var_00;
|
|
level.player.var_B55B.var_C92C = self;
|
|
level.player.var_B55B.var_E505 = var_01;
|
|
var_02 = func_807A();
|
|
level.player playrumbleonentity("heavy_2s");
|
|
var_03 = "meleeAnim";
|
|
var_01 method_82E4(var_03,var_02["chokePlayer"],var_01.var_E6E5,1,0.2,1);
|
|
level.player notify("choke_scene_music");
|
|
thread func_D3F8(var_01);
|
|
var_04 = getanimlength(var_02["chokePlayer"]);
|
|
level.player thread lib_0F3D::func_B611(var_04);
|
|
if(getdvarint("exec_review") > 0)
|
|
{
|
|
thread func_68D0(var_04);
|
|
}
|
|
|
|
var_01 thread lib_0B06::func_10CBF(var_01,var_03);
|
|
var_01 scripts\anim\shared::func_592B(var_03);
|
|
}
|
|
|
|
//Function Number: 8
|
|
func_68D0(param_00)
|
|
{
|
|
wait(param_00 - 0.1);
|
|
level.player.var_B55B.var_46B6 = 1;
|
|
if(isdefined(level.player.var_B55B.var_B5FE))
|
|
{
|
|
level.player thread lib_0F3D::func_46B5(0.1);
|
|
}
|
|
|
|
level.player notify("bt_meleegrab_slowmo");
|
|
}
|
|
|
|
//Function Number: 9
|
|
func_D3F8(param_00)
|
|
{
|
|
level.player endon("meleegrab_interupt");
|
|
var_01 = 0.2;
|
|
param_00 thread func_B615(self);
|
|
level.player playerlinktoblend(param_00,"tag_player",var_01,0,var_01);
|
|
level.player method_83F6(10,self.origin);
|
|
self linktoblendtotag(param_00,"tag_sync",1,0);
|
|
wait(var_01);
|
|
if(!isalive(self))
|
|
{
|
|
return;
|
|
}
|
|
|
|
level.player method_84FE();
|
|
thread lib_0F3D::func_5103(0.5,2,20,10,5,60,10,0.1);
|
|
thread lib_0F3D::func_5103(1,2,20,4,50,90,10,0.1);
|
|
thread lib_0F3D::func_510F(1,50,0.4);
|
|
param_00 show();
|
|
level.player thread lib_0F3D::func_D3A3();
|
|
level.player playerlinktodelta(param_00,"tag_player",1,0,0,0,0,1);
|
|
level.player method_81DF(0.2,0,0,15,5,30,5);
|
|
thread func_D395();
|
|
}
|
|
|
|
//Function Number: 10
|
|
func_B615(param_00)
|
|
{
|
|
self endon("death");
|
|
level.player endon("bt_stop_meleegrab");
|
|
while(!func_B60E(param_00))
|
|
{
|
|
wait(0.05);
|
|
}
|
|
|
|
level.player notify("meleegrab_interupt");
|
|
if(isdefined(level.player.var_B55B) && isdefined(level.player.var_B55B.var_B5FE))
|
|
{
|
|
level.player lib_0F3D::func_46B5();
|
|
}
|
|
|
|
if(!isalive(param_00))
|
|
{
|
|
param_00 func_B5FA();
|
|
}
|
|
else
|
|
{
|
|
param_00.var_E0 = 0;
|
|
param_00.ignoreme = 0;
|
|
param_00 scripts\anim\shared::func_CC2C(param_00.var_394,"right");
|
|
param_00 func_B5FA();
|
|
}
|
|
|
|
thread lib_0F3D::func_50E8(0.2);
|
|
thread lib_0F3D::func_510F(0.25,65,0.4);
|
|
setslowmotion(1,1,0);
|
|
lib_0F3D::func_D3D2();
|
|
level.player unlink();
|
|
self delete();
|
|
}
|
|
|
|
//Function Number: 11
|
|
func_B60E(param_00)
|
|
{
|
|
if(!isalive(param_00))
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
if(isdefined(param_00.var_2029))
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
if(isdefined(level.player.var_93B5) && level.player.var_93B5 == 1)
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 12
|
|
func_D395()
|
|
{
|
|
wait(0.1);
|
|
var_00 = level.player.origin + anglestoforward(level.player.angles) * -100;
|
|
function_01A2(var_00,10,2,1,0.4,0.2,0.2,700,0.2,1,1);
|
|
wait(0.5);
|
|
var_00 = level.player.origin + anglestoforward(level.player.angles) * 100;
|
|
function_01A2(var_00,10,2,1,0.6,0.3,0.3,700,0.2,1,1);
|
|
}
|
|
|
|
//Function Number: 13
|
|
func_B61E(param_00,param_01,param_02,param_03)
|
|
{
|
|
if(isdefined(level.player.var_86A9.var_B639.var_72DC))
|
|
{
|
|
level.player.var_86A9.var_B639.var_EB7B = level.player.var_86A9.var_B639.var_72DC;
|
|
return 1;
|
|
}
|
|
|
|
if(scripts\sp\_utility::func_7E72() == "fu")
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
var_04 = gettime();
|
|
if(isdefined(level.player.var_86A9.var_B639.var_B63B) && var_04 < level.player.var_86A9.var_B639.var_B63B)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(level.player.var_86A9.var_B63C <= 0)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
var_05 = func_7BCF();
|
|
if(var_05.size == 0)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
var_05 = scripts\sp\_utility::func_22BB(var_05);
|
|
var_06 = (40,-55,0);
|
|
var_07 = self.origin + rotatevector(var_06,self.angles);
|
|
if(!navisstraightlinereachable(self method_84AC(),var_07,self))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
var_08 = squared(2000);
|
|
var_09 = [];
|
|
foreach(var_0B in var_05)
|
|
{
|
|
var_0C = distancesquared(level.player.origin,var_0B.origin);
|
|
if(var_0C > var_08)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(var_0B method_81A6() || var_0B scripts\sp\_utility::isactorwallrunning())
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(isdefined(var_0B.var_B55B))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(var_0B islinked())
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(scripts\common\utility::func_13D90(level.player.origin,level.player.angles,var_0B.origin,0.173648))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(var_05.size > 1 && isdefined(level.player.var_86A9.var_B639.var_A9E8) && level.player.var_86A9.var_B639.var_A9E8 == var_0B)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_09[var_09.size] = var_0B;
|
|
}
|
|
|
|
if(var_09.size > 0)
|
|
{
|
|
level.player.var_86A9.var_B639.var_EB7B = scripts\common\utility::random(var_09);
|
|
level.player.var_86A9.var_B639.var_A9E8 = level.player.var_86A9.var_B639.var_EB7B;
|
|
level.player.var_86A9.var_B63C--;
|
|
level.player.var_86A9.var_B639.var_B63B = var_04 + level.player.var_86A9.var_B63A;
|
|
if(isdefined(level.player.var_B55B.var_B5FE))
|
|
{
|
|
level.player thread lib_0F3D::func_46B5();
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 14
|
|
func_7BCF()
|
|
{
|
|
var_00 = [];
|
|
var_01 = function_0072("allies");
|
|
var_02 = ["eth","slt","omr"];
|
|
foreach(var_04 in var_01)
|
|
{
|
|
foreach(var_06 in var_02)
|
|
{
|
|
if(var_04.var_C19D == var_06)
|
|
{
|
|
var_00[var_00.size] = var_04;
|
|
}
|
|
}
|
|
}
|
|
|
|
return var_00;
|
|
}
|
|
|
|
//Function Number: 15
|
|
func_B61D(param_00,param_01,param_02,param_03)
|
|
{
|
|
scripts\anim\shared::func_CC2C(self.var_394,"right");
|
|
}
|
|
|
|
//Function Number: 16
|
|
func_B60D(param_00,param_01,param_02,param_03)
|
|
{
|
|
if(isdefined(anim))
|
|
{
|
|
if(isplayer(self.var_B55B.target))
|
|
{
|
|
level.var_B5F7[self.var_12BA4] = gettime();
|
|
}
|
|
else
|
|
{
|
|
level.var_B5F8[self.var_12BA4] = gettime();
|
|
}
|
|
}
|
|
|
|
func_B5FA();
|
|
}
|
|
|
|
//Function Number: 17
|
|
func_B5FA()
|
|
{
|
|
if(isalive(self))
|
|
{
|
|
self.var_87F6 = 1;
|
|
self.ignoreme = 0;
|
|
lib_0A1B::func_2914();
|
|
lib_0A0E::func_B580();
|
|
}
|
|
}
|
|
|
|
//Function Number: 18
|
|
func_B61F(param_00,param_01,param_02,param_03)
|
|
{
|
|
var_04 = func_8100();
|
|
var_05 = func_807A();
|
|
var_06 = "meleeSave";
|
|
var_07 = "chokePlayer_save";
|
|
var_08 = var_05[var_07];
|
|
var_09 = level.player.var_B55B.var_E505;
|
|
var_0A = level.player.var_86A9.var_B639.var_EB7B;
|
|
var_0A.var_2303.var_EB67 = var_04[var_0A.var_C19D + "_save"];
|
|
var_0A.allowpain = 0;
|
|
var_0A.ignoreme = 1;
|
|
var_0A setcandamage(0);
|
|
thread lib_0F3D::func_50E8(0.5);
|
|
thread lib_0F3D::func_510F(0.5,65,0.4);
|
|
var_09 method_82E4(var_06,var_08,var_09.var_E6E5,1,0.2,1);
|
|
var_09 thread lib_0B06::func_10CBF(var_09,var_06);
|
|
var_09 thread scripts\anim\shared::func_592B(var_06,::func_B617);
|
|
var_0B = self gettagorigin("tag_sync");
|
|
var_0C = self gettagangles("tag_sync");
|
|
var_0A dontinterpolate();
|
|
var_0A method_80F1(var_0B,var_0C);
|
|
var_0A.var_B650 = spawn("script_model",var_0B);
|
|
var_0A.var_B650 setmodel("tag_origin");
|
|
var_0A.var_B650.angles = var_0C;
|
|
var_0A.var_B650 linkto(self,"tag_sync",(0,0,0),(0,0,0));
|
|
level.player thread func_B062();
|
|
var_0A linktoblendtotag(var_0A.var_B650,"tag_origin",1,0);
|
|
var_0A lib_0A1E::func_2307(::func_EB7C,::saviorcleanup);
|
|
var_0D = lib_0A1E::func_2336(param_00,param_01);
|
|
self method_806F(lib_0A1E::func_2339(),param_02);
|
|
self method_82E7(param_01,var_0D,1,param_02,1);
|
|
thread lib_0B06::func_10CBF(self,param_01);
|
|
var_0E = lib_0A1E::func_231F(param_00,param_01,lib_0A1A::func_2341(param_00,param_01));
|
|
if(var_0E == "end")
|
|
{
|
|
thread lib_0A1A::func_2310(param_00,param_01,0);
|
|
}
|
|
}
|
|
|
|
//Function Number: 19
|
|
func_B062()
|
|
{
|
|
level.player endon("bt_stop_loopscreenshake");
|
|
for(;;)
|
|
{
|
|
var_00 = level.player.origin + anglestoforward(level.player.angles) * 100;
|
|
function_01A2(var_00,10,15,10,1,0.5,0.5,1000,3,1,1);
|
|
wait(1);
|
|
}
|
|
}
|
|
|
|
//Function Number: 20
|
|
func_B61C(param_00,param_01,param_02,param_03)
|
|
{
|
|
level.player endon("meleegrab_interupt");
|
|
var_04 = func_807A();
|
|
var_05 = undefined;
|
|
var_06 = randomfloatrange(0,1);
|
|
if(var_06 <= 0.33)
|
|
{
|
|
var_07 = "chokePlayer_counter";
|
|
var_08 = lib_0A1E::func_2356("melee_playerCounter",var_07);
|
|
}
|
|
else if(var_08 >= 0.67)
|
|
{
|
|
var_07 = "chokePlayer_counter_b";
|
|
var_08 = lib_0A1E::func_2356("melee_playerCounter",var_08);
|
|
}
|
|
else
|
|
{
|
|
var_07 = "chokePlayer_counter_c";
|
|
var_08 = lib_0A1E::func_2356("melee_playerCounter",var_08);
|
|
var_09 = func_80A1();
|
|
var_05 = var_09[var_07];
|
|
}
|
|
|
|
var_0A = "meleeCounter";
|
|
var_0B = var_04[var_07];
|
|
var_0C = level.player.var_B55B.var_E505;
|
|
thread lib_0F3D::func_50E8(0.5);
|
|
thread lib_0F3D::func_510F(0.5,65,0.4);
|
|
var_0C method_82E4(var_0A,var_0B,var_0C.var_E6E5,1,0.2,1);
|
|
var_0C thread lib_0B06::func_10CBF(var_0C,var_0A);
|
|
var_0C thread scripts\anim\shared::func_592B(var_0A,::func_B617);
|
|
self method_806F(lib_0A1E::func_2339(),param_02);
|
|
if(isdefined(var_05))
|
|
{
|
|
thread func_3675(param_01,var_05,param_02);
|
|
}
|
|
|
|
self method_82E7(param_01,var_08,1,param_02,1);
|
|
thread lib_0B06::func_10CBF(self,param_01);
|
|
var_0D = lib_0A1E::func_231F(param_00,param_01,lib_0A1A::func_2341(param_00,param_01));
|
|
}
|
|
|
|
//Function Number: 21
|
|
func_3675(param_00,param_01,param_02)
|
|
{
|
|
var_03 = spawn("script_model",self.origin);
|
|
var_03 setmodel("robot_c6_cable");
|
|
var_03.var_1FBB = "script_model";
|
|
var_03 method_83D0(#animtree);
|
|
var_03.origin = self gettagorigin("j_head_pv_z");
|
|
var_03.angles = self gettagangles("j_head_pv_z");
|
|
var_03 linkto(self,"j_head_pv_z");
|
|
var_03 method_82E7(param_00,param_01,1,param_02,1);
|
|
scripts\common\utility::waittill_notify_or_timeout("death",7);
|
|
if(isdefined(var_03))
|
|
{
|
|
var_03 delete();
|
|
}
|
|
}
|
|
|
|
//Function Number: 22
|
|
func_EB7C()
|
|
{
|
|
self endon("killanimscript");
|
|
var_00 = "meleeSave";
|
|
self method_82E4(var_00,self.var_2303.var_EB67,lib_0A1E::func_2342(),1,0.2,1);
|
|
thread lib_0B06::func_10CBF(self,var_00);
|
|
var_01 = getanimlength(self.var_2303.var_EB67) + 1;
|
|
scripts\anim\notetracks::func_593A(var_00,var_01,::func_B617);
|
|
}
|
|
|
|
//Function Number: 23
|
|
saviorcleanup()
|
|
{
|
|
self setcandamage(1);
|
|
self.allowpain = 1;
|
|
self.ignoreme = 0;
|
|
self.var_2303.var_EB67 = undefined;
|
|
self unlink();
|
|
self notify("melee_save_complete");
|
|
if(isdefined(self.var_B650))
|
|
{
|
|
self.var_B650 delete();
|
|
}
|
|
}
|
|
|
|
//Function Number: 24
|
|
func_B61A(param_00,param_01,param_02,param_03)
|
|
{
|
|
level.player thread lib_0F3D::func_46B5();
|
|
var_04 = func_807A();
|
|
var_05 = "meleeKillPlayer";
|
|
var_06 = "chokePlayer_kill";
|
|
var_07 = var_04[var_06];
|
|
var_08 = level.player.var_B55B.var_E505;
|
|
thread lib_0F3D::func_50E8(0.5);
|
|
thread lib_0F3D::func_510F(0.5,65,0.4);
|
|
var_08 method_82E4(var_05,var_07,var_08.var_E6E5,1,0.2,1);
|
|
var_08 thread lib_0B06::func_10CBF(var_08,var_05);
|
|
var_08 thread scripts\anim\shared::func_592B(var_05,::func_B617);
|
|
self playsound("c6_grapple_punch");
|
|
lib_0A1E::func_2364(param_00,param_01,param_02);
|
|
}
|
|
|
|
//Function Number: 25
|
|
func_B617(param_00)
|
|
{
|
|
switch(param_00)
|
|
{
|
|
case "unlink":
|
|
self unlink();
|
|
break;
|
|
|
|
case "player_unlink":
|
|
func_D456();
|
|
break;
|
|
|
|
case "attach_knife":
|
|
self attach(level.var_EC8C["asm_viewmodel_knife"],"tag_accessory_right",1);
|
|
break;
|
|
|
|
case "knife_stab":
|
|
playfxontag(level.var_7649["bt_c6_knife_counter_stab"],self,"tag_knife_fx");
|
|
thread func_A707();
|
|
break;
|
|
|
|
case "detach_knife":
|
|
self detach(level.var_EC8C["asm_viewmodel_knife"],"tag_accessory_right");
|
|
break;
|
|
|
|
case "headgib":
|
|
var_01 = spawnstruct();
|
|
var_01.var_22A = "head";
|
|
lib_0BFE::func_EF2B(var_01);
|
|
self.var_E0 = 0;
|
|
self.ignoreme = 0;
|
|
self.var_10265 = 1;
|
|
self.var_2303.var_4E40 = ::func_B614;
|
|
self method_81D0();
|
|
if(isdefined(self.var_B63D))
|
|
{
|
|
self.var_B63D unlink();
|
|
}
|
|
break;
|
|
|
|
case "player_kick_off":
|
|
self.var_3135.var_55CE = 1;
|
|
self.var_3135.var_55CF = 1;
|
|
self.var_E0 = 0;
|
|
thread lib_0BFE::func_4D64();
|
|
self setcandamage(1);
|
|
self playsound("c6_grapple_kick_pain");
|
|
break;
|
|
|
|
case "kill_c6":
|
|
self.var_E0 = 0;
|
|
self.ignoreme = 0;
|
|
self.var_10265 = 1;
|
|
self.var_2303.var_4E40 = ::func_B613;
|
|
self playsound("c6_grapple_knife_death");
|
|
self method_81D0();
|
|
break;
|
|
|
|
case "player_kill":
|
|
level.player notify("bt_stop_meleegrab");
|
|
func_E128();
|
|
function_01A7(10,0.1);
|
|
level.player method_80A1();
|
|
level.player method_81D0();
|
|
break;
|
|
|
|
case "disable_weapons":
|
|
level.player method_80AA();
|
|
level.player method_83F6(10,self.origin);
|
|
break;
|
|
|
|
case "rm_damage_heavy":
|
|
if(scripts\common\utility::func_4347())
|
|
{
|
|
level.player playrumbleonentity("heavy_1s");
|
|
return;
|
|
}
|
|
level.player playrumbleonentity("light_1s");
|
|
break;
|
|
}
|
|
}
|
|
|
|
//Function Number: 26
|
|
func_A707()
|
|
{
|
|
var_00 = ["c6_grapple_knife_pain_01","c6_grapple_knife_pain_02","c6_grapple_knife_pain_03"];
|
|
if(isalive(level.player))
|
|
{
|
|
if(isdefined(level.player.var_B55B) && isdefined(level.player.var_B55B.var_C92C))
|
|
{
|
|
level.player.var_B55B.var_C92C playsound(var_00[randomintrange(0,3)]);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 27
|
|
func_D456()
|
|
{
|
|
level.player endon("death");
|
|
level.player unlink();
|
|
level.player method_84FD();
|
|
if(isdefined(level.player.var_B55B) && isdefined(level.player.var_B55B.var_E505))
|
|
{
|
|
level.player.var_B55B.var_E505 delete();
|
|
}
|
|
|
|
level.player notify("bt_stop_loopscreenshake");
|
|
level.player notify("bt_stop_meleegrab");
|
|
if(isdefined(level.player))
|
|
{
|
|
if(isdefined(level.player.var_B55B) && isdefined(level.player.var_B55B.var_C92C))
|
|
{
|
|
var_00 = vectornormalize(level.player.origin - level.player.var_B55B.var_C92C.origin);
|
|
var_00 = var_00 * 100;
|
|
level.player setvelocity(var_00);
|
|
}
|
|
}
|
|
|
|
lib_0F3D::func_D3D2();
|
|
}
|
|
|
|
//Function Number: 28
|
|
func_B614()
|
|
{
|
|
func_B5FA();
|
|
self waittillmatch("start_ragdoll","melee_savePlayer");
|
|
if(isdefined(self.var_71C8))
|
|
{
|
|
self [[ self.var_71C8 ]]();
|
|
}
|
|
|
|
wait(0.2);
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 29
|
|
func_B613()
|
|
{
|
|
if(isdefined(self.meleegrabweapon))
|
|
{
|
|
self method_80BA(self.meleegrabweapon,"right",0);
|
|
}
|
|
|
|
func_B5FA();
|
|
if(isdefined(self.var_71C8))
|
|
{
|
|
self [[ self.var_71C8 ]]();
|
|
}
|
|
|
|
self method_839A();
|
|
wait(0.05);
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 30
|
|
func_3386(param_00,param_01,param_02,param_03)
|
|
{
|
|
lib_0C64::func_B57F();
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 31
|
|
func_335A(param_00,param_01)
|
|
{
|
|
var_02 = self.var_B55B.target;
|
|
var_03 = var_02.origin;
|
|
var_04 = vectortoangles(var_03 - self.origin);
|
|
self.var_B55B.var_10D6D = var_04;
|
|
var_02.var_B55B.var_10E0E = var_02.angles[1];
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 32
|
|
func_3366(param_00,param_01,param_02,param_03)
|
|
{
|
|
var_04 = self.var_B55B.target;
|
|
if(!isdefined(var_04))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(!isalive(var_04))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
var_05 = param_03;
|
|
if(self.var_B55B.var_13D8A != var_05)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
var_06 = self [[ self.var_7191 ]](param_00,param_02);
|
|
if(!func_335A(param_01 + "_victim",var_06))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
self.var_B55B.target.var_B55B.var_331C = 1;
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 33
|
|
func_4885(param_00,param_01,param_02,param_03)
|
|
{
|
|
self.var_E0 = 1;
|
|
self.ignoreme = 1;
|
|
self.var_3135.var_4882 = 1;
|
|
self method_8078();
|
|
lib_0F3D::func_D394("crawlmelee");
|
|
lib_0F3D::func_B60F();
|
|
lib_0A1A::func_232F("melee_attack","begin");
|
|
thread func_D3EC();
|
|
self.var_3135.var_F1F9 = undefined;
|
|
self.var_3135.var_55CE = 1;
|
|
self.var_3135.var_55CF = 1;
|
|
self stoploopsound();
|
|
level.player playsound("c6_grapple_crawl_takedown");
|
|
self playsound("c6_grapple_grab_grunt");
|
|
lib_0A1E::func_2364(param_00,param_01,param_02);
|
|
}
|
|
|
|
//Function Number: 34
|
|
func_D3EC()
|
|
{
|
|
level.player endon("crawlmeleegrab_interrupt");
|
|
var_00 = vectortoangles(self.origin - level.player.origin);
|
|
var_00 = (0,var_00[1],0);
|
|
var_01 = lib_0F3D::func_108F6();
|
|
var_01.angles = var_00;
|
|
level.player.var_B55B.var_C92C = self;
|
|
level.player.var_B55B.var_E505 = var_01;
|
|
var_02 = func_807A();
|
|
var_03 = "meleeAnim";
|
|
var_01 method_82E4(var_03,var_02["crawlMeleeGrab"],var_01.var_E6E5,1,0.2,1);
|
|
var_01 thread func_4884(self);
|
|
thread func_487D(var_01);
|
|
level.player method_846F("ges_crawlmelee_enter",undefined,undefined,undefined,1);
|
|
var_01 thread lib_0B06::func_10CBF(var_01,var_03);
|
|
var_01 scripts\anim\shared::func_592B(var_03);
|
|
}
|
|
|
|
//Function Number: 35
|
|
func_D3EB(param_00)
|
|
{
|
|
level.player endon("stop_crawlmelee_loop");
|
|
level.player endon("crawlmeleegrab_interrupt");
|
|
param_00 thread scripts\common\utility::func_CD7F("c6_grapple_crawl_struggle_lp");
|
|
var_01 = func_807A();
|
|
var_02 = var_01["crawlMeleeGrab_loop"];
|
|
level.player method_846F("ges_crawlmelee_grabbed");
|
|
var_03 = "crawMeleeGrabLoop";
|
|
while(isdefined(level.player.var_B55B))
|
|
{
|
|
level.player.var_B55B.var_E505 method_82E7(var_03,var_02,1,0.2,1);
|
|
level.player.var_B55B.var_E505 scripts\anim\shared::func_592B(var_03);
|
|
}
|
|
}
|
|
|
|
//Function Number: 36
|
|
func_487D(param_00)
|
|
{
|
|
level.player endon("crawlmeleegrab_interrupt");
|
|
var_01 = 0.2;
|
|
level.player playerlinktoblend(param_00,"tag_player",var_01,0,var_01);
|
|
wait(var_01);
|
|
self linktoblendtotag(param_00,"tag_sync",1,0);
|
|
func_17CD(param_00);
|
|
var_02 = level.player getcurrentprimaryweapon();
|
|
if(isdefined(var_02))
|
|
{
|
|
var_03 = weaponclass(var_02);
|
|
var_04 = ["rifle","smg","pistol","spread","mg"];
|
|
if(scripts\common\utility::func_2286(var_04,var_03))
|
|
{
|
|
var_05 = weaponclipsize(var_02);
|
|
var_06 = level.player getweaponammoclip(var_02);
|
|
var_07 = int(var_05 * 0.35);
|
|
if(var_06 <= int(var_05 * 0.4))
|
|
{
|
|
level.player setweaponammoclip(var_02,var_06 + var_07);
|
|
}
|
|
}
|
|
}
|
|
|
|
level.player method_84FE();
|
|
thread lib_0F3D::func_5103(1.5,1,50,100,15,100,5,1.5);
|
|
param_00 show();
|
|
level.player thread lib_0F3D::func_D3A3();
|
|
level.player playerlinktodelta(param_00,"tag_player",1,0,0,0,0,1);
|
|
level.player method_81DF(0.4,0,0,15,30,30,10);
|
|
thread func_D395();
|
|
}
|
|
|
|
//Function Number: 37
|
|
func_4884(param_00)
|
|
{
|
|
self endon("death");
|
|
thread func_933D();
|
|
while(!func_4883(param_00))
|
|
{
|
|
wait(0.05);
|
|
}
|
|
|
|
level.player notify("crawlmeleegrab_interrupt");
|
|
if(isdefined(level.player.var_B55B) && isdefined(level.player.var_B55B.var_B5FE))
|
|
{
|
|
level.player lib_0F3D::func_46B5();
|
|
}
|
|
|
|
if(!isalive(param_00))
|
|
{
|
|
param_00 func_B5FA();
|
|
}
|
|
else
|
|
{
|
|
if(isdefined(param_00.var_3135.var_6B4B))
|
|
{
|
|
param_00.health = param_00.var_3135.var_6B4B;
|
|
}
|
|
|
|
param_00.var_E0 = 0;
|
|
param_00 scripts\anim\shared::func_CC2C(param_00.var_394,"right");
|
|
param_00 func_B5FA();
|
|
}
|
|
|
|
func_E128();
|
|
thread lib_0F3D::func_50E8(0.2);
|
|
thread lib_0F3D::func_510F(0.25,65,0.4);
|
|
setslowmotion(1,1,0);
|
|
level.player unlink();
|
|
level.player notify("crawlgrabmelee_cleanup");
|
|
self delete();
|
|
}
|
|
|
|
//Function Number: 38
|
|
func_933D()
|
|
{
|
|
level.player endon("death");
|
|
level.player endon("crawlgrabmelee_cleanup");
|
|
level.player waittill("crawlmeleegrab_antigrav");
|
|
level.player allowstand(1);
|
|
level.player allowcrouch(1);
|
|
level.player allowprone(1);
|
|
level.player enableweapons();
|
|
level.player method_84DD(1);
|
|
level.player method_80A6();
|
|
level.player method_80DA();
|
|
level.player scripts\sp\_utility::func_1C34(1);
|
|
}
|
|
|
|
//Function Number: 39
|
|
func_4883(param_00)
|
|
{
|
|
if(isdefined(param_00.var_2029))
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
if(isdefined(level.player.var_93B5) && level.player.var_93B5 == 1)
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 40
|
|
func_17CD(param_00)
|
|
{
|
|
level.player.var_8675 = spawn("script_origin",level.player.origin);
|
|
level.player.var_8675 linkto(param_00,"tag_player",(0,0,0),(0,0,0));
|
|
level.player method_823F(level.player.var_8675);
|
|
}
|
|
|
|
//Function Number: 41
|
|
func_E128()
|
|
{
|
|
if(!isdefined(level.player.var_8675))
|
|
{
|
|
return;
|
|
}
|
|
|
|
level.player method_823F(undefined);
|
|
level.player.var_8675 delete();
|
|
}
|
|
|
|
//Function Number: 42
|
|
func_4886(param_00,param_01,param_02,param_03)
|
|
{
|
|
level.player endon("crawlmeleegrab_interrupt");
|
|
level.player thread func_4887(self);
|
|
self.var_3135.var_6B4B = self.health;
|
|
self.health = -15536;
|
|
level.player thread func_D3EB(self);
|
|
lib_0A1E::func_235F(param_00,param_01,param_02,1);
|
|
}
|
|
|
|
//Function Number: 43
|
|
func_4887(param_00)
|
|
{
|
|
level.player endon("crawlmeleegrab_interrupt");
|
|
var_01 = gettime() + 5000;
|
|
param_00.var_E0 = 0;
|
|
var_02 = -15536;
|
|
var_03 = 0;
|
|
while(gettime() < var_01)
|
|
{
|
|
wait(0.05);
|
|
var_04 = var_02 - param_00.health;
|
|
if(var_04 != var_03)
|
|
{
|
|
if(param_00.var_DE == "MOD_MELEE")
|
|
{
|
|
param_00 playsound("c6_grapple_hit_pain");
|
|
var_02 = var_02 + 85;
|
|
var_04 = var_02 - param_00.health;
|
|
var_03 = var_04;
|
|
}
|
|
else if(scripts\common\utility::func_4347())
|
|
{
|
|
param_00 playsound("c6_grapple_shot_pain_01");
|
|
}
|
|
else
|
|
{
|
|
param_00 playsound("c6_grapple_shot_pain_02");
|
|
}
|
|
}
|
|
|
|
if(var_04 >= param_00.var_3135.var_6B4B)
|
|
{
|
|
level.player.var_B55B.var_46B6 = 1;
|
|
return;
|
|
}
|
|
}
|
|
|
|
if(getdvarint("exec_review") > 0)
|
|
{
|
|
level.player.var_B55B.var_46B6 = 1;
|
|
return;
|
|
}
|
|
|
|
level.player.var_B55B.var_46B6 = 0;
|
|
}
|
|
|
|
//Function Number: 44
|
|
func_488A(param_00,param_01,param_02,param_03)
|
|
{
|
|
level.player notify("stop_crawlmelee_loop");
|
|
scripts\common\utility::func_11018("c6_grapple_crawl_struggle_lp");
|
|
self playsound("c6_grapple_crawl_win_collapse");
|
|
level.player thread func_488B();
|
|
self method_806F(lib_0A1E::func_2339(),param_02);
|
|
lib_0A1E::func_2364(param_00,param_01,param_02);
|
|
level.player scripts\common\utility::delaycall(1.5,::playsound,"c6_grapple_crawl_win_foley");
|
|
}
|
|
|
|
//Function Number: 45
|
|
func_488B()
|
|
{
|
|
var_00 = level.player.var_B55B.var_E505;
|
|
var_01 = func_807A();
|
|
var_02 = "crawlMeleeCounter";
|
|
thread lib_0F3D::func_50E8(1);
|
|
level.player method_80A6();
|
|
level.player stopgestureviewmodel("ges_crawlmelee_grabbed");
|
|
var_00 method_82E4(var_02,var_01["crawlMeleeGrab_win"],var_00.var_E6E5,1,0.2,1);
|
|
var_00 thread lib_0B06::func_10CBF(var_00,var_02);
|
|
var_00 scripts\anim\shared::func_592B(var_02,::func_B617);
|
|
level.player allowcrouch(1);
|
|
level.player allowprone(1);
|
|
level.player allowstand(0);
|
|
level.player unlink();
|
|
func_E128();
|
|
var_00 delete();
|
|
level.player method_84FD();
|
|
level.player method_80D6();
|
|
level.player method_84DD(1);
|
|
level.player method_80DA();
|
|
wait(0.2);
|
|
level.player allowcrouch(1);
|
|
level.player allowprone(1);
|
|
level.player allowstand(1);
|
|
level.player scripts\sp\_utility::func_1C34(1);
|
|
level.player notify("crawlgrabmelee_cleanup");
|
|
}
|
|
|
|
//Function Number: 46
|
|
func_4888(param_00,param_01,param_02,param_03)
|
|
{
|
|
self.var_E0 = 1;
|
|
level.player notify("stop_crawlmelee_loop");
|
|
scripts\common\utility::func_11018("c6_grapple_crawl_struggle_lp");
|
|
var_04 = func_807A();
|
|
var_05 = "crawlMeleeKill";
|
|
level.player.var_B55B.var_E505 method_82E4(var_05,var_04["crawlMeleeGrab_lose"],level.player.var_B55B.var_E505.var_E6E5,1,0.2,1);
|
|
level.player.var_B55B.var_E505 thread lib_0B06::func_10CBF(level.player.var_B55B.var_E505,var_05);
|
|
level.player.var_B55B.var_E505 thread scripts\anim\shared::func_592B(var_05,::func_B617);
|
|
level.player scripts\common\utility::delaycall(0.1,::playsound,"c6_grapple_crawl_lose_pound_01");
|
|
level.player scripts\common\utility::delaycall(0.7,::playsound,"c6_grapple_crawl_lose_pound_02");
|
|
level.player scripts\common\utility::delaycall(1.5,::playsound,"c6_grapple_crawl_lose_pound_03");
|
|
self method_806F(lib_0A1E::func_2339(),param_02);
|
|
lib_0A1E::func_2364(param_00,param_01,param_02);
|
|
}
|
|
|
|
//Function Number: 47
|
|
func_D906()
|
|
{
|
|
} |