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

280 lines
6.8 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: 2911.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 14
* Decompile Time: 6 ms
* Timestamp: 10/27/2023 12:24:53 AM
*******************************************************************/
//Function Number: 1
func_96D7()
{
func_965A();
precacheshellshock("default_nosound");
precachesuit("normal_sp");
precachemodel("vm_hero_protagonist_helmet");
precachemodel("hero_jackal_helmet_a");
func_F5FF();
lib_0B8E::func_977D();
scripts\sp\_gameskill::func_95F9();
scripts\sp\_gameskill::func_D3A6();
lib_0B31::func_4FF0();
lib_0B60::func_96DC();
lib_0B70::func_1032A();
function_01C5("cg_useplayerbreathsys",1);
foreach(var_01 in level.players)
{
var_01.maxhealth = level.player.health;
var_01.var_9B34 = 0;
var_01 func_16BC(::func_FE41);
var_01 thread scripts\sp\_gameskill::func_D3A5();
var_01 thread func_D37B();
level.player thread lib_0B2A::func_B9D3();
lib_0E42::init();
}
if(!level.console)
{
level.player scripts\sp\_utility::func_65E0("script_allow_showviewmodel");
if(!is_jackal_only_mission())
{
thread handle_fov_viewmodel();
}
}
}
//Function Number: 2
func_F5FF()
{
level.player method_845A("normal_sp");
switch(level.script)
{
case "shipcrib_moon":
case "phstreets":
case "phparade":
case "shipcrib_epilogue":
case "shipcrib_prisoner":
case "shipcrib_rogue":
case "shipcrib_titan":
case "shipcrib_europa":
function_01C5("spaceshipPilotModel","viewmodel_base_animated");
level.player method_8573("nopack_nohelmet_shadow");
level.player method_84C7("currentViewModel","viewmodel_base_viewhands_iw7_naval");
level.player method_8369("viewmodel_base_viewhands_iw7_naval");
level.player method_8574("body_hero_protagonist_vm_legs_naval");
break;
case "phspace":
function_01C5("spaceshipPilotModel","viewmodel_base_animated_naval");
level.player method_8573("default_character_shadow");
level.player method_84C7("currentViewModel","viewmodel_base_viewhands_iw7_naval");
level.player method_8369("viewmodel_base_viewhands_iw7_naval");
level.player method_8574("body_hero_protagonist_vm_legs_naval");
break;
case "titanjackal":
case "titan":
function_01C5("spaceshipPilotModel","viewmodel_base_animated_desert");
level.player method_8573("default_character_shadow");
level.player method_84C7("currentViewModel","viewmodel_base_viewhands_iw7_desert");
level.player method_8369("viewmodel_base_viewhands_iw7_desert");
level.player method_8574("body_hero_protagonist_vm_legs_desert");
break;
case "sa_assassination":
function_01C5("spaceshipPilotModel","viewmodel_body_mp_stryker_2");
level.player method_8573("default_character_shadow");
level.player method_84C7("currentViewModel","viewmodel_base_viewhands_iw7");
level.player method_8369("viewmodel_base_viewhands_iw7");
level.player method_8574("body_hero_protagonist_vm_legs");
break;
default:
function_01C5("spaceshipPilotModel","viewmodel_base_animated");
level.player method_8573("default_character_shadow");
level.player method_84C7("currentViewModel","viewmodel_base_viewhands_iw7");
level.player method_8369("viewmodel_base_viewhands_iw7");
level.player method_8574("body_hero_protagonist_vm_legs");
break;
}
}
//Function Number: 3
func_FE41()
{
self waittill("death");
if(isdefined(self.var_10956))
{
return;
}
if(getdvar("r_texturebits") == "16")
{
return;
}
self shellshock("default_nosound",3);
}
//Function Number: 4
func_D37B()
{
for(;;)
{
self waittill("damage",var_00,var_01,var_02,var_03,var_04,var_03,var_03,var_03,var_03,var_05);
if(isdefined(self.var_10954))
{
continue;
}
if(scripts\common\utility::func_7E5E(var_04) != "bullet")
{
var_06 = -32 * var_02 + self.origin;
}
if(isdefined(var_05) && getweaponbasename(var_05) == "iw7_sonic")
{
func_20B3();
}
}
}
//Function Number: 5
func_20B3()
{
self shellshock("deafened",2.5);
}
//Function Number: 6
func_965A()
{
if(!scripts\common\utility::func_16F3("level_players",::func_965A))
{
return;
}
level.var_B8D0 = 0;
scripts\common\utility::flag_init("missionfailed");
level.players = getentarray("player","classname");
for(var_00 = 0;var_00 < level.players.size;var_00++)
{
level.players[var_00].var_12BA3 = "player" + var_00;
}
level.player = level.players[0];
level.var_5012 = 190;
function_01C5("g_speed",level.var_5012);
thread func_CFF8();
}
//Function Number: 7
func_D023()
{
for(;;)
{
var_00 = getdvarint("player_died_recently",0);
if(var_00 > 0)
{
var_00 = var_00 - 5;
setdvar("player_died_recently",var_00);
}
wait(5);
}
}
//Function Number: 8
func_CFF8()
{
setdvar("player_died_recently","0");
thread func_D023();
level scripts\sp\_utility::func_178D(::scripts\common\utility::flag_wait,"missionfailed");
level.player scripts\sp\_utility::func_178D(::scripts\sp\_utility::func_137AA,"death");
scripts\sp\_utility::func_57D6();
var_00 = [];
var_00[0] = 70;
var_00[1] = 30;
var_00[2] = 0;
var_00[3] = 0;
setdvar("player_died_recently",var_00[level.var_7683]);
}
//Function Number: 9
func_16BC(param_00)
{
if(!isdefined(self.var_4E0E))
{
self.var_4E0E = [];
thread func_4E0E();
}
self.var_4E0E = param_00;
}
//Function Number: 10
func_4E0E()
{
foreach(var_01 in self.var_4E0E)
{
thread [[ var_01 ]]();
}
}
//Function Number: 11
func_51E7()
{
}
//Function Number: 12
handle_fov_viewmodel()
{
level.player endon("death");
level.player scripts\sp\_utility::func_65E0("fov_vm_hide");
if(!levelrequiresfovhandling())
{
return;
}
var_00 = 1.4;
level.player scripts\sp\_utility::func_65E1("script_allow_showviewmodel");
for(;;)
{
if(!level.player scripts\sp\_utility::func_65DB("script_allow_showviewmodel"))
{
level.player method_818A();
level.player scripts\sp\_utility::func_65E1("fov_vm_hide");
level.player scripts\sp\_utility::func_65E3("script_allow_showviewmodel");
}
var_01 = getdvarfloat("com_fovUserScale");
if(var_01 >= var_00 && level.player getcurrentweapon() == "iw7_gunless")
{
if(!level.player scripts\sp\_utility::func_65DB("fov_vm_hide"))
{
level.player method_818A();
level.player scripts\sp\_utility::func_65E1("fov_vm_hide");
}
}
else if(level.player scripts\sp\_utility::func_65DB("fov_vm_hide"))
{
level.player method_8389();
level.player scripts\sp\_utility::func_65DD("fov_vm_hide");
}
wait(0.05);
}
}
//Function Number: 13
is_jackal_only_mission()
{
return level.script == "phspace" || level.script == "moonjackal" || issubstr(level.script,"ja_");
}
//Function Number: 14
levelrequiresfovhandling()
{
return level.script == "yard" || level.script == "prisoner" || level.script == "marsbase" || level.script == "marscrash" || level.script == "heist" || level.script == "phparade" || level.script == "moon_port" || issubstr(level.script,"shipcrib");
}