IL-GSC/IW/PC/ALL/2913.gsc
2023-10-27 03:49:01 -04:00

374 lines
7.3 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: 2913.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 17
* Decompile Time: 7 ms
* Timestamp: 10/27/2023 12:24:54 AM
*******************************************************************/
//Function Number: 1
func_95A4()
{
level.var_D1D4 = [];
level.var_D1D4["pitch"]["min"] = 2;
level.var_D1D4["pitch"]["max"] = 5;
level.var_D1D4["yaw"]["min"] = -8;
level.var_D1D4["yaw"]["max"] = 5;
level.var_D1D4["roll"]["min"] = 3;
level.var_D1D4["roll"]["max"] = 5;
level.player.var_ACDE = 0;
}
//Function Number: 2
func_F324(param_00,param_01,param_02)
{
if(isdefined(param_00))
{
level.var_D1D4["pitch"]["min"] = param_00["min"];
level.var_D1D4["pitch"]["max"] = param_00["max"];
}
if(isdefined(param_01))
{
level.var_D1D4["yaw"]["min"] = param_01["min"];
level.var_D1D4["yaw"]["max"] = param_01["max"];
}
if(isdefined(param_02))
{
level.var_D1D4["roll"]["min"] = param_02["min"];
level.var_D1D4["roll"]["max"] = param_02["max"];
}
}
//Function Number: 3
func_554E()
{
level.player notify("stop_limp");
if(isdefined(level.player.var_8632))
{
var_00 = level.player func_186F((0,0,0));
level.player.var_8632 rotateto(var_00,0.05,0,0.05);
level.player.var_8632 waittill("rotatedone");
level.player method_823F(undefined);
level.player.var_8632 delete();
}
level.player.var_ACDE = 0;
}
//Function Number: 4
func_ACDE(param_00,param_01,param_02,param_03)
{
self endon("stop_limp");
self.var_ACDE = 1;
func_48F7();
thread func_3DB3(param_00,param_01);
for(;;)
{
if(level.player getstance() == "prone")
{
wait(0.05);
continue;
}
func_36DC(param_00,param_02,param_01,param_03);
if(param_01)
{
if(param_00 == "leg_left")
{
param_00 = "leg_right";
}
else
{
param_00 = "leg_left";
}
}
param_03 = 0;
param_02 = 0;
wait(0.05);
}
}
//Function Number: 5
func_3DB3(param_00,param_01)
{
self endon("stop_limp");
var_02 = 1;
var_03 = level.player getvelocity();
var_04 = func_7B8E();
for(;;)
{
if(var_02)
{
var_02 = 0;
wait(0.05);
continue;
}
if(level.player getstance() == "prone")
{
wait(0.05);
continue;
}
if(func_9BBB(var_04))
{
thread func_E2AC(param_00,param_01,1.5,0);
break;
}
if(func_9D0D(var_03))
{
thread func_E2AC(param_00,param_01,1,0);
break;
}
var_03 = level.player getvelocity();
var_04 = func_7B8E();
wait(0.05);
}
}
//Function Number: 6
func_9BBB(param_00)
{
if(func_7B8E() != param_00)
{
return 1;
}
return 0;
}
//Function Number: 7
func_7B8E()
{
var_00 = vectortoangles(level.player getnormalizedmovement())[1];
if(var_00 >= 315 || var_00 <= 45)
{
var_01 = "forward";
}
else if(var_01 > 45 && var_01 < 135)
{
var_01 = "right";
}
else if(var_01 > 225 && var_01 < 315)
{
var_01 = "left";
}
else
{
var_01 = "backward";
}
return var_01;
}
//Function Number: 8
func_9D0D(param_00)
{
var_01 = length(param_00);
param_00 = length(level.player getvelocity());
return param_00 - var_01 >= 20;
}
//Function Number: 9
func_E2AC(param_00,param_01,param_02,param_03)
{
self notify("stop_limp");
var_04 = [];
self.var_ACDE = 0;
var_05 = func_7B8E();
if(var_05 == "forward")
{
var_04["pitch"]["min"] = 1;
var_04["pitch"]["max"] = 1.5;
var_04["yaw"]["min"] = -1.5;
var_04["yaw"]["max"] = -1;
var_04["roll"]["min"] = 2.25;
var_04["roll"]["max"] = 3;
}
else if(var_05 == "right")
{
var_04["pitch"]["min"] = 1.7;
var_04["pitch"]["max"] = 2;
var_04["yaw"]["min"] = 2;
var_04["yaw"]["max"] = 4;
var_04["roll"]["min"] = -4;
var_04["roll"]["max"] = -3;
}
else if(var_05 == "left")
{
var_04["pitch"]["min"] = 1.7;
var_04["pitch"]["max"] = 2;
var_04["yaw"]["min"] = 2;
var_04["yaw"]["max"] = 4;
var_04["roll"]["min"] = -4;
var_04["roll"]["max"] = -3;
}
else if(var_05 == "backward")
{
var_04["pitch"]["min"] = 2;
var_04["pitch"]["max"] = 4;
var_04["yaw"]["min"] = 4;
var_04["yaw"]["max"] = 5;
var_04["roll"]["min"] = -5;
var_04["roll"]["max"] = -3;
}
scripts\common\utility::func_136F7();
func_F324(var_04["pitch"],var_04["yaw"],var_04["roll"]);
func_ACDE(param_00,param_01,param_02,param_03);
}
//Function Number: 10
func_36DC(param_00,param_01,param_02,param_03)
{
self endon("stop_limp");
var_04 = level.player getstance();
var_05 = func_D2CC();
if(length(level.player getnormalizedmovement()) <= 0.1 && !param_03)
{
return;
}
var_06 = randomfloatrange(level.var_D1D4["pitch"]["min"],level.var_D1D4["pitch"]["max"]);
var_07 = randomfloatrange(level.var_D1D4["roll"]["min"],level.var_D1D4["roll"]["max"]);
var_08 = randomfloatrange(level.var_D1D4["yaw"]["min"],level.var_D1D4["yaw"]["max"]);
if(randomint(100) < 20 && !param_01)
{
var_06 = var_06 * 1.25;
var_07 = var_07 * 1.25;
var_08 = var_08 * 1.25;
}
var_09 = (var_06,var_08,var_07);
if(param_00 == "leg_left")
{
var_09 = (var_09[0] * -1.5,var_09[1] * -1.5,var_09[2]);
}
if((param_01 && !level.player method_822E()) || param_03)
{
var_05 = param_01;
var_0A = 0.75;
var_0B = var_0A / 2.5;
}
else
{
var_0B = var_07 * 0.5;
var_0B = 1 - clamp(var_0B,0,0.7);
var_0A = var_0B * 1.5;
if(func_7B8E() == "backwards")
{
var_0B = var_0B * 6;
var_0A = var_0A * 3;
}
}
var_09 = var_09 * var_05;
if(level.player method_822E())
{
var_09 = var_09 * 0.65;
var_0A = var_0A * 1.35;
}
if(param_02)
{
var_0A = var_0A * 0.5;
}
func_11182(var_09,var_0B,var_0A,var_05);
}
//Function Number: 11
func_11182(param_00,param_01,param_02,param_03)
{
self endon("stop_stumble");
self endon("stop_limp");
param_00 = func_186F(param_00);
self.var_8632 rotateto(param_00,param_01,param_01 / 4 * 3,param_01 / 4);
self.var_8632 waittill("rotatedone");
if(isdefined(self.var_883D) && self.var_883D != "none")
{
thread func_D0E5(param_03);
}
else
{
thread func_D0E6(param_03);
}
var_04 = (randomfloat(4) - 4,randomfloat(5),0);
var_04 = func_186F(var_04);
self.var_8632 rotateto(var_04,param_02,0,param_02 / 2);
self.var_8632 waittill("rotatedone");
}
//Function Number: 12
func_D2CC()
{
var_00 = length(level.player getvelocity());
return var_00 / 100;
}
//Function Number: 13
func_D0E5(param_00)
{
if(isdefined(self.var_883B) && soundexists(self.var_883B))
{
self playsound(self.var_883B);
}
}
//Function Number: 14
func_D0E6(param_00)
{
if(param_00 > randomfloatrange(0.7,1))
{
level.player playrumbleonentity("damage_light");
thread scripts\common\utility::play_sound_in_space("breathing_limp");
scripts\common\utility::play_sound_in_space("breathing_heartbeat");
return;
}
scripts\common\utility::play_sound_in_space("breathing_limp_better");
}
//Function Number: 15
func_D221()
{
level.player playsound("player_death_generic");
thread scripts\sp\_utility::func_D020();
wait(0.75);
level.player method_83AD();
}
//Function Number: 16
func_186F(param_00)
{
var_01 = param_00[0];
var_02 = param_00[2];
var_03 = anglestoright(self.angles);
var_04 = anglestoforward(self.angles);
var_05 = (var_03[0],0,var_03[1] * -1);
var_06 = (var_04[0],0,var_04[1] * -1);
var_07 = var_05 * var_01;
var_07 = var_07 + var_06 * var_02;
return var_07 + (0,param_00[1],0);
}
//Function Number: 17
func_48F7()
{
if(isdefined(self.var_8632))
{
return;
}
self.var_8632 = spawn("script_model",(0,0,0));
self method_823F(self.var_8632);
}