Files
IL-GSC/IW/PC/ALL/scripts/mp/killstreaks/_plane.gsc
2023-10-27 03:49:01 -04:00

397 lines
8.9 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\mp\killstreaks\_plane.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 21
* Decompile Time: 967 ms
* Timestamp: 10/27/2023 12:29:19 AM
*******************************************************************/
//Function Number: 1
init()
{
if(!isdefined(level.var_CC46))
{
level.var_CC46 = [];
}
if(!isdefined(level.var_CC43))
{
level.var_CC43 = [];
}
level.var_6BE0 = loadfx("vfx/iw7/_requests/mp/vfx_debug_warning.vfx");
level.var_7545 = loadfx("vfx/iw7/_requests/mp/vfx_debug_warning.vfx");
level.var_7546 = loadfx("vfx/iw7/_requests/mp/vfx_debug_warning.vfx");
level.var_7547 = loadfx("vfx/iw7/_requests/mp/vfx_debug_warning.vfx");
level.var_7548 = loadfx("vfx/iw7/_requests/mp/vfx_debug_warning.vfx");
}
//Function Number: 2
func_7EBE(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07)
{
var_08 = param_00 + param_01 * -1 * param_02;
var_09 = param_00 + param_01 * param_02;
if(param_03)
{
var_08 = var_08 * (1,1,0);
var_09 = var_09 * (1,1,0);
}
var_08 = var_08 + (0,0,param_04);
var_09 = var_09 + (0,0,param_04);
var_0A = length(var_08 - var_09);
var_0B = var_0A / param_05;
var_0A = abs(0.5 * var_0A + param_06);
var_0C = var_0A / param_05;
var_0D["startPoint"] = var_08;
var_0D["endPoint"] = var_09;
var_0D["attackTime"] = var_0C;
var_0D["flyTime"] = var_0B;
return var_0D;
}
//Function Number: 3
func_5857(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08)
{
var_09 = func_CC47(param_00,param_01,param_03,param_07,param_08);
var_09 endon("death");
var_0A = 150;
var_0B = param_04 + (randomfloat(2) - 1 * var_0A,randomfloat(2) - 1 * var_0A,0);
var_09 func_CC45(var_0B,param_06,param_05,param_08);
var_09 func_CC42();
}
//Function Number: 4
func_CC47(param_00,param_01,param_02,param_03,param_04)
{
if(!isdefined(param_01))
{
return;
}
var_05 = 100;
var_06 = param_02 + (randomfloat(2) - 1 * var_05,randomfloat(2) - 1 * var_05,0);
var_07 = level.var_CC43[param_04];
var_08 = undefined;
var_08 = spawn("script_model",var_06);
var_08.team = param_01.team;
var_08.origin = var_06;
var_08.angles = vectortoangles(param_03);
var_08.var_AC68 = param_00;
var_08.var_110EA = param_04;
var_08.var_222 = param_01;
var_08 setmodel(var_07.var_B923[param_01.team]);
if(isdefined(var_07.var_4464))
{
var_08 func_F7BF(var_07.var_4464,var_07.var_4463);
}
var_08 thread func_898C();
var_08 thread func_898E();
func_10E02(var_08);
if(!isdefined(var_07.var_C06E))
{
var_08 thread func_D4FA();
}
var_08 playloopsound(var_07.var_93B9);
var_08 func_49DF(param_04);
return var_08;
}
//Function Number: 5
func_CC45(param_00,param_01,param_02,param_03)
{
var_04 = level.var_CC43[param_03];
self moveto(param_00,param_01,0,0);
if(isdefined(var_04.var_C4C6))
{
self thread [[ var_04.var_C4C6 ]](param_00,param_01,param_02,self.var_222,param_03);
}
if(isdefined(var_04.var_10407))
{
thread func_D520(var_04.var_10407,0.5 * param_01);
}
wait(0.65 * param_01);
if(isdefined(var_04.var_C750))
{
self stoploopsound();
self playloopsound(var_04.var_C750);
}
if(isdefined(var_04.var_C74F))
{
self scriptmodelplayanimdeltamotion(var_04.var_C74F);
}
wait(0.35 * param_01);
}
//Function Number: 6
func_CC42()
{
var_00 = level.var_CC43[self.var_110EA];
if(isdefined(var_00.var_C52E))
{
thread [[ var_00.var_C52E ]](self.var_222,self,self.var_110EA);
}
if(isdefined(self.var_7424))
{
scripts\mp\objidpoolmanager::returnminimapid(self.var_7424);
scripts\mp\objidpoolmanager::returnminimapid(self.var_6576);
}
if(isdefined(self.var_A63A))
{
self.var_A63A delete();
}
func_11098(self);
self notify("delete");
self delete();
}
//Function Number: 7
func_8998(param_00)
{
self endon("death");
for(;;)
{
if(param_00 scripts\mp\killstreaks\_emp_common::isemped())
{
self notify("death");
return;
}
level waittill("emp_update");
}
}
//Function Number: 8
func_898E()
{
level endon("game_ended");
self endon("delete");
self waittill("death");
var_00 = anglestoforward(self.angles) * 200;
playfx(level.var_6BE0,self.origin,var_00);
thread func_CC42();
}
//Function Number: 9
func_898C()
{
self endon("end_remote");
scripts\mp\_damage::func_B9C6(800,"helicopter",::func_898F,::func_B938,1);
}
//Function Number: 10
func_B938(param_00,param_01,param_02,param_03,param_04)
{
var_05 = param_03;
var_05 = scripts\mp\_damage::func_89C6(param_01,param_02,var_05);
var_05 = scripts\mp\_damage::func_8975(param_01,param_02,var_05);
return var_05;
}
//Function Number: 11
func_898F(param_00,param_01,param_02,param_03)
{
var_04 = level.var_CC43[self.var_110EA];
scripts\mp\_damage::func_C548(self.var_110EA,param_00,param_01,param_02,param_03,var_04.var_EC44,var_04.var_52DA,var_04.var_3774);
scripts\mp\_missions::func_3DE3(param_00,self,param_01);
}
//Function Number: 12
func_D4FA()
{
self endon("death");
wait(0.5);
playfxontag(level.var_7545,self,"tag_engine_right");
wait(0.5);
playfxontag(level.var_7545,self,"tag_engine_left");
wait(0.5);
playfxontag(level.var_7546,self,"tag_right_wingtip");
wait(0.5);
playfxontag(level.var_7546,self,"tag_left_wingtip");
wait(0.5);
playfxontag(level.var_7548,self,"tag_right_wingtip");
wait(0.5);
playfxontag(level.var_7547,self,"tag_left_wingtip");
}
//Function Number: 13
func_806A()
{
var_00 = getent("airstrikeheight","targetname");
if(isdefined(var_00))
{
return var_00.origin[2];
}
var_01 = 950;
if(isdefined(level.var_1AF8))
{
var_01 = var_01 * level.var_1AF8;
}
return var_01;
}
//Function Number: 14
func_8069(param_00)
{
var_01 = spawnstruct();
var_01.height = func_806A();
var_02 = getent("airstrikeheight","targetname");
if(isdefined(var_02) && isdefined(var_02.script_noteworthy) && var_02.script_noteworthy == "fixedposition")
{
var_01.var_1157A = var_02.origin;
var_01.var_6F25 = anglestoforward(var_02.angles);
if(randomint(2) == 0)
{
var_01.var_6F25 = var_01.var_6F25 * -1;
}
}
else
{
var_03 = anglestoforward(self.angles);
var_04 = anglestoright(self.angles);
var_01.var_1157A = self.origin + param_00 * var_03;
var_01.var_6F25 = -1 * var_04;
}
return var_01;
}
//Function Number: 15
func_7EA5(param_00)
{
var_01 = 850;
var_02 = 1500;
var_03 = var_01 / param_00;
var_04 = var_03 * var_02;
return var_04;
}
//Function Number: 16
func_10E02(param_00)
{
var_01 = param_00 getentitynumber();
level.var_CC46[var_01] = param_00;
}
//Function Number: 17
func_11098(param_00)
{
var_01 = param_00 getentitynumber();
level.var_CC46[var_01] = undefined;
}
//Function Number: 18
func_F1AA(param_00,param_01,param_02)
{
var_03 = level.var_B339 / 6.46875;
if(level.splitscreen)
{
var_03 = var_03 * 1.5;
}
var_04 = level.var_CC43[param_01];
if(isdefined(var_04.var_F1CA))
{
self playlocalsound(game["voice"][self.team] + var_04.var_F1CA);
}
scripts\mp\_utility::func_1197(param_01,"map_artillery_selector",var_04.var_3ED0,var_03);
self endon("stop_location_selection");
self waittill("confirm_location",var_05,var_06);
if(!var_04.var_3ED0)
{
var_06 = randomint(360);
}
self setblurforplayer(0,0.3);
if(isdefined(var_04.var_93BA))
{
self playlocalsound(game["voice"][self.team] + var_04.var_93BA);
}
self thread [[ param_02 ]](param_00,var_05,var_06,param_01);
return 1;
}
//Function Number: 19
func_F7BF(param_00,param_01)
{
var_02 = scripts\mp\objidpoolmanager::requestminimapid(1);
if(var_02 != -1)
{
scripts\mp\objidpoolmanager::minimap_objective_add(var_02,"active",(0,0,0),param_00);
scripts\mp\objidpoolmanager::minimap_objective_onentitywithrotation(var_02,self);
}
self.var_7424 = var_02;
var_03 = scripts\mp\objidpoolmanager::requestminimapid(1);
if(var_03 != -1)
{
scripts\mp\objidpoolmanager::minimap_objective_add(var_03,"active",(0,0,0),param_01);
scripts\mp\objidpoolmanager::minimap_objective_onentitywithrotation(var_03,self);
}
self.var_6576 = var_03;
if(level.teambased)
{
if(var_02 != -1)
{
scripts\mp\objidpoolmanager::minimap_objective_team(var_02,self.team);
}
if(var_03 != -1)
{
scripts\mp\objidpoolmanager::minimap_objective_team(var_03,scripts\mp\_utility::getotherteam(self.team));
return;
}
return;
}
var_04 = self.var_222 getentitynumber();
if(var_02 != -1)
{
scripts\mp\objidpoolmanager::minimap_objective_playerteam(var_02,var_04);
}
if(var_03 != -1)
{
scripts\mp\objidpoolmanager::minimap_objective_playerenemyteam(var_03,var_04);
}
}
//Function Number: 20
func_D520(param_00,param_01)
{
self endon("death");
wait(param_01);
self playsoundonmovingent(param_00);
}
//Function Number: 21
func_49DF(param_00)
{
var_01 = level.var_CC43[param_00];
if(isdefined(var_01.var_A640))
{
var_02 = anglestoforward(self.angles);
var_03 = spawn("script_model",self.origin + (0,0,100) - var_02 * 200);
var_03.var_10DFF = gettime();
var_03 setscriptmoverkillcam("airstrike");
var_03 linkto(self,"tag_origin",var_01.var_A640,(0,0,0));
self.var_A63A = var_03;
}
}