mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-11 10:47:57 -05:00
1645 lines
35 KiB
Plaintext
1645 lines
35 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: scripts\mp\killstreaks\_spaceship.gsc
|
|
* Game: Call of Duty: Infinite Warfare
|
|
* Platform: PC
|
|
* Function Count: 82
|
|
* Decompile Time: 4571 ms
|
|
* Timestamp: 10/27/2023 12:29:40 AM
|
|
*******************************************************************/
|
|
|
|
//Function Number: 1
|
|
func_105BC()
|
|
{
|
|
func_105E0();
|
|
func_105BD();
|
|
func_105BE();
|
|
}
|
|
|
|
//Function Number: 2
|
|
func_105BD()
|
|
{
|
|
level._effect["spaceship_death"] = loadfx("vfx/iw7/core/vehicle/jackal/vfx_jackal_death_01_cheap.vfx");
|
|
level._effect["spaceship_dmg"] = loadfx("vfx/iw7/core/vehicle/jackal/vfx_jackal_hit_damage");
|
|
level._effect["spaceship_dmg_trail"] = loadfx("vfx/iw7/core/vehicle/jackal/vfx_jackal_hit_damage_linger");
|
|
level._effect["spaceship_engine_idle"] = loadfx("vfx/iw7/core/vehicle/jackal/vfx_jackal_thrust_idle");
|
|
level._effect["spaceship_engine_max"] = loadfx("vfx/iw7/core/vehicle/jackal/vfx_jackal_thrust_max");
|
|
level._effect["spaceship_hover"] = loadfx("vfx/iw7/core/vehicle/jackal/vfx_jackal_hover");
|
|
level._effect["spaceship_remove"] = loadfx("vfx/iw7/_requests/equipment/retractable_shield/vfx_iw7_equip_retractable_shield_melee_energy_burst.vfx");
|
|
level._effect["cockpit_sparks"] = loadfx("vfx/core/mp/killstreaks/vfx_ims_sparks");
|
|
level._effect["cockpit_smoke"] = loadfx("vfx/core/mp/killstreaks/vfx_helo_damage.vfx");
|
|
level._effect["cockpit_fire"] = loadfx("vfx/iw7/_requests/mp/vfx_debug_warning.vfx");
|
|
level._effect["cockpit_expl"] = loadfx("vfx/iw7/_requests/mp/vfx_generic_equipment_exp_lg.vfx");
|
|
level._effect["space_particles"] = loadfx("vfx/old/space_fighter/space_particulate_player_oneshot.vfx");
|
|
level._effect["spaceship_trail_f"] = loadfx("vfx/core/vehicles/vfx_jackal_wingtip_trail_b");
|
|
level._effect["spaceship_trail_e"] = loadfx("vfx/core/vehicles/vfx_jackal_wingtip_trail_o");
|
|
}
|
|
|
|
//Function Number: 3
|
|
func_105BE()
|
|
{
|
|
level.var_105C8["explode"] = "exp_helicopter_fuel";
|
|
}
|
|
|
|
//Function Number: 4
|
|
func_10588(param_00)
|
|
{
|
|
func_105BC();
|
|
level.var_A407 = param_00;
|
|
param_00.var_1051B = isdefined(param_00.var_1051B) && param_00.var_1051B;
|
|
thread func_1058C();
|
|
param_00.var_1C94 = !isdefined(param_00.var_1C94) || param_00.var_1C94;
|
|
if(param_00.var_1C94)
|
|
{
|
|
func_1058A("landingExclusionZone");
|
|
}
|
|
else
|
|
{
|
|
func_1058B("landingzone");
|
|
}
|
|
|
|
param_00.var_1C95 = !isdefined(param_00.var_1C95) || param_00.var_1C95;
|
|
if(param_00.var_1C95)
|
|
{
|
|
func_1058F("summonExclusionZone");
|
|
}
|
|
else
|
|
{
|
|
func_10590("spaceship_summon_trigger");
|
|
}
|
|
|
|
if(!isdefined(param_00.var_1C2D))
|
|
{
|
|
param_00.var_1C2D = "spaceship_spawner_allies";
|
|
}
|
|
|
|
if(!isdefined(param_00.var_26FB))
|
|
{
|
|
param_00.var_26FB = "spaceship_spawner_axis";
|
|
}
|
|
|
|
level.var_FE33["axis"] = getentarray(param_00.var_26FB,"targetname");
|
|
level.var_FE33["allies"] = getentarray(param_00.var_1C2D,"targetname");
|
|
param_00.var_10DBB = isdefined(param_00.var_10DBB) && param_00.var_10DBB;
|
|
if(!param_00.var_10DBB)
|
|
{
|
|
foreach(var_02 in level.var_FE33["axis"])
|
|
{
|
|
func_105CB(var_02,"axis");
|
|
}
|
|
|
|
foreach(var_02 in level.var_FE33["allies"])
|
|
{
|
|
func_105CB(var_02,"allies");
|
|
}
|
|
}
|
|
|
|
param_00.var_1C91 = isdefined(param_00.var_1C91) && param_00.var_1C91;
|
|
func_1058E("speedZone");
|
|
thread func_105E2();
|
|
}
|
|
|
|
//Function Number: 5
|
|
func_1058C()
|
|
{
|
|
while(!isdefined(level.var_768E) || level.var_768E == 0)
|
|
{
|
|
scripts\common\utility::func_136F7();
|
|
}
|
|
|
|
level.var_8CC1 = 1;
|
|
}
|
|
|
|
//Function Number: 6
|
|
func_105E0()
|
|
{
|
|
level.var_105EA = [];
|
|
level.var_1676 = [];
|
|
level.var_105E9 = [];
|
|
}
|
|
|
|
//Function Number: 7
|
|
func_105B5(param_00,param_01,param_02)
|
|
{
|
|
func_1057D(param_01);
|
|
param_01.var_10574 = param_00;
|
|
param_01 scripts\mp\_powers::func_D729();
|
|
func_10580(param_00);
|
|
if(!isdefined(param_02))
|
|
{
|
|
param_02 = 0;
|
|
}
|
|
|
|
param_01 lib_0BD3::func_D31A(param_00,undefined,param_02);
|
|
param_00.var_222 = param_01;
|
|
func_10585(param_00,param_01);
|
|
func_105DE(param_00,1500,1500 - param_00.var_E1);
|
|
thread func_105A5(param_00,param_01);
|
|
thread func_1059F(param_00,param_01);
|
|
param_00 notify("playerEnter");
|
|
}
|
|
|
|
//Function Number: 8
|
|
func_105B6(param_00,param_01)
|
|
{
|
|
param_01 scripts\mp\_powers::func_D72F();
|
|
param_01 lib_0BD3::func_D05B();
|
|
param_01 method_80F3();
|
|
func_105CD(param_00);
|
|
param_00.var_222 = undefined;
|
|
param_01.var_10574 = undefined;
|
|
param_01.var_105E8 = gettime();
|
|
param_01.var_A9F2 = param_00;
|
|
thread func_105A6(param_00);
|
|
}
|
|
|
|
//Function Number: 9
|
|
func_10585(param_00,param_01)
|
|
{
|
|
level.var_1676 = scripts\common\utility::array_add(level.var_1676,param_00);
|
|
thread func_1059E(param_00,param_01);
|
|
thread func_105A3(param_00,param_01);
|
|
thread func_105A2(param_00,param_01);
|
|
thread func_105BA(param_00,param_01);
|
|
}
|
|
|
|
//Function Number: 10
|
|
func_1057E(param_00)
|
|
{
|
|
level.var_1676 = scripts\common\utility::func_22A9(level.var_1676,param_00);
|
|
func_105CE(param_00);
|
|
}
|
|
|
|
//Function Number: 11
|
|
func_1057C(param_00)
|
|
{
|
|
if(isdefined(param_00.var_130F2))
|
|
{
|
|
param_00.var_130F2 delete();
|
|
param_00.var_130AD scripts\mp\_gameobjects::func_51DA();
|
|
}
|
|
|
|
func_105C0(param_00);
|
|
}
|
|
|
|
//Function Number: 12
|
|
func_1057F(param_00,param_01,param_02)
|
|
{
|
|
param_00 scripts\common\utility::func_13731(param_02);
|
|
param_01 delete();
|
|
}
|
|
|
|
//Function Number: 13
|
|
func_105C3()
|
|
{
|
|
if(!isdefined(level.var_105BB))
|
|
{
|
|
level.var_105BB = scripts\common\utility::getstruct("player_safe_zone","targetname");
|
|
level.var_105BB.origin = (0,0,0);
|
|
}
|
|
|
|
return level.var_105BB;
|
|
}
|
|
|
|
//Function Number: 14
|
|
func_105A6(param_00)
|
|
{
|
|
param_00 endon("death");
|
|
param_00 endon("playerReserved");
|
|
level endon("game_ended");
|
|
param_00 scripts\common\utility::waittill_any_timeout_1(20,"spaceshipTimeout");
|
|
while(gettime() - param_00.var_A96A < 5000)
|
|
{
|
|
wait(0.25);
|
|
}
|
|
|
|
playfx(scripts\common\utility::getfx("spaceship_remove"),param_00.origin);
|
|
func_1057C(param_00);
|
|
func_1057B();
|
|
}
|
|
|
|
//Function Number: 15
|
|
func_1059E(param_00,param_01)
|
|
{
|
|
param_01 endon("exit_jackal");
|
|
param_00 endon("death");
|
|
param_01 endon("disconnect");
|
|
if(!isai(param_01))
|
|
{
|
|
param_01 notifyonplayercommand("ads_on","+speed_throw");
|
|
param_01 notifyonplayercommand("ads_off","-speed_throw");
|
|
}
|
|
|
|
var_02 = 0;
|
|
for(;;)
|
|
{
|
|
param_01 waittill("ads_on");
|
|
param_01 playlocalsound("jackal_hud_ads_on");
|
|
param_01 waittill("ads_off");
|
|
param_01 playlocalsound("jackal_hud_ads_off");
|
|
}
|
|
}
|
|
|
|
//Function Number: 16
|
|
func_105CE(param_00)
|
|
{
|
|
if(isdefined(param_00) && isdefined(param_00.var_C79F))
|
|
{
|
|
foreach(var_02 in param_00.var_C79F)
|
|
{
|
|
scripts\mp\_utility::func_C78F(var_02,param_00);
|
|
}
|
|
|
|
param_00.var_C79F = undefined;
|
|
}
|
|
|
|
func_105DF(param_00,undefined,param_00.var_90E1);
|
|
func_105DF(param_00,undefined,param_00.var_2CCB);
|
|
}
|
|
|
|
//Function Number: 17
|
|
func_105A3(param_00,param_01)
|
|
{
|
|
param_01 endon("exit_jackal");
|
|
param_00 endon("death");
|
|
param_01 endon("disconnect");
|
|
scripts\common\utility::func_136F7();
|
|
func_10575(param_00,param_01);
|
|
param_00.var_C79F = [];
|
|
if(level.teambased)
|
|
{
|
|
param_00.var_C79F[0] = scripts\mp\_utility::func_C795(param_00,"cyan",param_01.team,1,0,"equipment");
|
|
param_00.var_C79F[1] = scripts\mp\_utility::func_C795(param_00,"orange",scripts\mp\_utility::getotherteam(param_01.team),1,0,"equipment");
|
|
}
|
|
else
|
|
{
|
|
param_00.var_C79F[0] = scripts\mp\_utility::func_C793(param_00,"orange",1,0,"equipment");
|
|
}
|
|
|
|
param_00 hudoutlinedisableforclient(param_01);
|
|
func_10575(param_00,param_01);
|
|
var_02 = [];
|
|
var_02["tag_engine_left"] = "spaceship_engine_idle";
|
|
var_02["tag_engine_right"] = "spaceship_engine_idle";
|
|
var_02["tag_vtol_frontrightbottom"] = "spaceship_hover";
|
|
var_02["tag_vtol_frontleftbottom"] = "spaceship_hover";
|
|
var_02["tag_vtol_frontcenterbottom"] = "spaceship_hover";
|
|
var_03 = [];
|
|
var_03["tag_engine_left"] = "spaceship_engine_max";
|
|
var_03["tag_engine_right"] = "spaceship_engine_max";
|
|
param_00.var_90E1 = var_02;
|
|
param_00.var_2CCB = var_03;
|
|
for(;;)
|
|
{
|
|
func_105DF(param_00,var_02,var_03);
|
|
param_01 waittill("engage boost");
|
|
func_105DF(param_00,var_03,var_02);
|
|
param_01 waittill("disengage boost");
|
|
}
|
|
}
|
|
|
|
//Function Number: 18
|
|
func_105DF(param_00,param_01,param_02,param_03)
|
|
{
|
|
param_00 endon("death");
|
|
while(isdefined(param_00.var_12F6B) && param_00.var_12F6B)
|
|
{
|
|
scripts\common\utility::func_136F7();
|
|
}
|
|
|
|
if(!isdefined(param_00))
|
|
{
|
|
return;
|
|
}
|
|
|
|
param_00.var_12F6B = 1;
|
|
if(isdefined(param_02) && param_02.size > 0)
|
|
{
|
|
foreach(var_06, var_05 in param_02)
|
|
{
|
|
stopfxontag(scripts\common\utility::getfx(var_05),param_00,var_06);
|
|
scripts\common\utility::func_136F7();
|
|
}
|
|
}
|
|
|
|
if(isdefined(param_01) && param_01.size > 0)
|
|
{
|
|
foreach(var_06, var_05 in param_01)
|
|
{
|
|
if(isdefined(param_03))
|
|
{
|
|
playfxontagforclients(scripts\common\utility::getfx(var_05),param_00,var_06,param_03);
|
|
}
|
|
else
|
|
{
|
|
playfxontag(scripts\common\utility::getfx(var_05),param_00,var_06);
|
|
}
|
|
|
|
scripts\common\utility::func_136F7();
|
|
}
|
|
}
|
|
|
|
param_00.var_12F6B = undefined;
|
|
}
|
|
|
|
//Function Number: 19
|
|
func_10575(param_00,param_01)
|
|
{
|
|
var_02 = [];
|
|
var_02["tag_enginebottom_right"] = "spaceship_trail_f";
|
|
var_02["tag_enginebottom_left"] = "spaceship_trail_f";
|
|
var_03 = [];
|
|
var_03["tag_enginebottom_right"] = "spaceship_trail_e";
|
|
var_03["tag_enginebottom_left"] = "spaceship_trail_e";
|
|
foreach(var_05 in level.var_1676)
|
|
{
|
|
if(!isdefined(var_05))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(var_05 == param_00)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!isdefined(var_05.var_222))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!level.teambased || param_01.team != var_05.var_222.team)
|
|
{
|
|
thread func_105DF(var_05,var_03,undefined,param_01);
|
|
thread func_105DF(param_00,var_03,undefined,var_05.var_222);
|
|
continue;
|
|
}
|
|
|
|
thread func_105DF(var_05,var_02,undefined,param_01);
|
|
thread func_105DF(param_00,var_02,undefined,var_05.var_222);
|
|
}
|
|
}
|
|
|
|
//Function Number: 20
|
|
func_105A2(param_00,param_01)
|
|
{
|
|
param_00 endon("death");
|
|
param_01 endon("exit_jackal");
|
|
level endon("game_ended");
|
|
param_01 waittill("disconnect");
|
|
func_1057E(param_00);
|
|
func_1057C(param_00);
|
|
func_1057B();
|
|
}
|
|
|
|
//Function Number: 21
|
|
func_1057B()
|
|
{
|
|
level.var_1676 = scripts\common\utility::func_22BC(level.var_1676);
|
|
level.var_105EA = scripts\common\utility::func_22BC(level.var_105EA);
|
|
var_00 = [];
|
|
foreach(var_03, var_02 in level.var_105E9)
|
|
{
|
|
if(isdefined(var_02))
|
|
{
|
|
var_00[var_03] = var_02;
|
|
}
|
|
}
|
|
|
|
level.var_105E9 = var_00;
|
|
}
|
|
|
|
//Function Number: 22
|
|
func_105A1(param_00)
|
|
{
|
|
level endon("game_ended");
|
|
var_01 = param_00.var_10483;
|
|
var_02 = param_00.team;
|
|
var_03 = param_00.var_222;
|
|
param_00 scripts\common\utility::waittill_any_3("death","spaceship_crashing");
|
|
func_1057E(param_00);
|
|
func_1057C(param_00);
|
|
func_1057B();
|
|
if(isdefined(var_01) && !level.var_A407.var_10DBB)
|
|
{
|
|
wait(2);
|
|
func_105CB(var_01,var_02);
|
|
}
|
|
}
|
|
|
|
//Function Number: 23
|
|
func_105A0(param_00)
|
|
{
|
|
param_00 endon("spaceship_crashing");
|
|
level endon("game_ended");
|
|
param_00.var_10586 = 1500;
|
|
param_00.var_A96A = 0;
|
|
param_00 scripts\mp\_damage::func_B9C6(1500,"",::func_105AA,::func_105A9,0,1);
|
|
}
|
|
|
|
//Function Number: 24
|
|
func_105A9(param_00,param_01,param_02,param_03,param_04)
|
|
{
|
|
var_05 = self;
|
|
if(scripts\mp\_utility::isstrstart(param_01,"spaceship"))
|
|
{
|
|
playfxontag(scripts\common\utility::getfx("spaceship_dmg"),var_05,"tag_origin");
|
|
}
|
|
|
|
var_05.var_A96A = gettime();
|
|
if(isdefined(var_05.var_222))
|
|
{
|
|
var_06 = var_05.maxhealth - var_05.var_E1;
|
|
var_07 = var_06 - param_03;
|
|
func_105DE(var_05,var_06,var_07);
|
|
thread func_10587(var_05);
|
|
if(isdefined(param_00.var_222))
|
|
{
|
|
param_00 = param_00.var_222;
|
|
}
|
|
}
|
|
|
|
return param_03;
|
|
}
|
|
|
|
//Function Number: 25
|
|
func_105A5(param_00,param_01)
|
|
{
|
|
self endon("disconnect");
|
|
param_01 endon("exit_jackal");
|
|
level endon("game_ended");
|
|
param_01 waittill("death");
|
|
if(isdefined(param_01.var_10574) && param_01.var_10574 == param_00)
|
|
{
|
|
level.var_105EA = scripts\common\utility::func_22A9(level.var_105EA,param_00);
|
|
level.var_105E9[param_00 getentitynumber()] = undefined;
|
|
level.var_1676 = scripts\common\utility::func_22A9(level.var_1676,param_00);
|
|
param_00 dodamage(param_00.health + 1,param_00.origin,param_01,undefined,"MOD_EXPLOSIVE");
|
|
thread func_105B6(param_00,param_01);
|
|
}
|
|
}
|
|
|
|
//Function Number: 26
|
|
func_1059F(param_00,param_01)
|
|
{
|
|
self endon("disconnect");
|
|
param_01 endon("exit_jackal");
|
|
param_00 endon("spaceship_crashing");
|
|
level endon("game_ended");
|
|
var_02 = 100;
|
|
var_03 = 700;
|
|
var_04 = 50;
|
|
var_05 = 200;
|
|
var_06 = 440;
|
|
for(;;)
|
|
{
|
|
param_00 waittill("spaceship_collision",var_07,var_08,var_09,var_0A);
|
|
var_0B = param_01 getnormalizedmovement();
|
|
var_0C = var_0B[0] + 1 / 2;
|
|
var_0D = var_05 + var_06 - var_05 * var_0C;
|
|
var_0E = var_08 - var_04 / var_0D - var_04;
|
|
if(var_0E > 1)
|
|
{
|
|
var_0E = 1;
|
|
}
|
|
else if(var_0E < 0)
|
|
{
|
|
var_0E = 0;
|
|
}
|
|
|
|
var_0F = var_0E * var_07;
|
|
if(var_0F > 0)
|
|
{
|
|
var_10 = var_02 + var_03 - var_02 * var_0F;
|
|
param_00 dodamage(var_10,var_0A,param_01,param_01,"MOD_IMPACT");
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 27
|
|
func_10587(param_00)
|
|
{
|
|
level endon("game_ended");
|
|
param_00 endon("death");
|
|
param_00 notify("healthRegen");
|
|
param_00 endon("healthRegen");
|
|
wait(5);
|
|
var_01 = 18.75;
|
|
while(param_00.var_E1 > 0)
|
|
{
|
|
var_02 = 1500 - param_00.var_E1;
|
|
param_00.var_E1 = param_00.var_E1 - var_01;
|
|
if(param_00.var_E1 < 0)
|
|
{
|
|
param_00.var_E1 = 0;
|
|
}
|
|
|
|
var_03 = 1500 - param_00.var_E1;
|
|
func_105DE(param_00,var_02,var_03);
|
|
scripts\common\utility::func_136F7();
|
|
}
|
|
|
|
func_105CD(param_00);
|
|
}
|
|
|
|
//Function Number: 28
|
|
func_105DE(param_00,param_01,param_02)
|
|
{
|
|
if(!isdefined(param_00.var_222))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(param_02 < param_01)
|
|
{
|
|
if(param_02 < 495 && param_01 >= 495)
|
|
{
|
|
func_105CD(param_00);
|
|
param_00.var_FE12 = scripts\common\utility::getfx("cockpit_fire");
|
|
playfxontagforclients(param_00.var_FE12,param_00,"j_stickleft",param_00.var_222);
|
|
var_03 = [];
|
|
var_03["tag_thrust_rear1"] = "spaceship_dmg_trail";
|
|
func_105DF(param_00,var_03);
|
|
return;
|
|
}
|
|
|
|
if(param_02 < 990.0001 && param_01 >= 990.0001)
|
|
{
|
|
param_00.var_FE12 = scripts\common\utility::getfx("cockpit_smoke");
|
|
playfxontagforclients(param_00.var_FE12,param_00,"j_stickleft",param_00.var_222);
|
|
return;
|
|
}
|
|
|
|
playfxontagforclients(scripts\common\utility::getfx("cockpit_sparks"),param_00,"j_stickleft",param_00.var_222);
|
|
return;
|
|
}
|
|
|
|
if(param_02 >= 990.0001 && param_01 < 990.0001)
|
|
{
|
|
func_105CD(param_00);
|
|
return;
|
|
}
|
|
|
|
if(param_02 >= 495 && param_01 < 495)
|
|
{
|
|
func_105CD(param_00);
|
|
param_00.var_FE12 = scripts\common\utility::getfx("cockpit_smoke");
|
|
playfxontagforclients(param_00.var_FE12,param_00,"j_stickleft",param_00.var_222);
|
|
var_03 = [];
|
|
var_03["tag_thrust_rear1"] = "spaceship_dmg_trail";
|
|
func_105DF(param_00,[],var_03);
|
|
return;
|
|
}
|
|
}
|
|
|
|
//Function Number: 29
|
|
func_105CD(param_00)
|
|
{
|
|
if(isdefined(param_00.var_FE12))
|
|
{
|
|
stopfxontag(param_00.var_FE12,param_00,"j_stickleft");
|
|
param_00.var_FE12 = undefined;
|
|
}
|
|
}
|
|
|
|
//Function Number: 30
|
|
func_105AA(param_00,param_01,param_02,param_03)
|
|
{
|
|
var_04 = self;
|
|
if(isdefined(param_00.var_222))
|
|
{
|
|
param_00 = param_00.var_222;
|
|
}
|
|
|
|
if(isdefined(var_04.var_FE12))
|
|
{
|
|
func_105CD(var_04);
|
|
}
|
|
|
|
var_04 playsound(level.var_105C8["explode"]);
|
|
playfx(scripts\common\utility::getfx("spaceship_death"),var_04.origin,anglestoforward(var_04.angles),anglestoup(var_04.angles));
|
|
if(isdefined(var_04.var_222))
|
|
{
|
|
var_04.var_222 dodamage(var_04.health + 1,var_04.var_222.origin,param_00,undefined,param_02);
|
|
}
|
|
|
|
var_04 notify("spaceship_crashing");
|
|
}
|
|
|
|
//Function Number: 31
|
|
func_105BF(param_00)
|
|
{
|
|
level.var_105EA = scripts\common\utility::array_add(level.var_105EA,param_00);
|
|
level.var_105E9[param_00 getentitynumber()] = param_00;
|
|
}
|
|
|
|
//Function Number: 32
|
|
func_105C0(param_00)
|
|
{
|
|
if(isdefined(param_00))
|
|
{
|
|
level.var_105EA = scripts\common\utility::func_22A9(level.var_105EA,param_00);
|
|
level.var_105E9[param_00 getentitynumber()] = undefined;
|
|
param_00 delete();
|
|
}
|
|
}
|
|
|
|
//Function Number: 33
|
|
func_105A4(param_00)
|
|
{
|
|
param_00 notify("monitorMissileFire");
|
|
param_00 endon("monitorMissileFire");
|
|
param_00 endon("spaceship_crashing");
|
|
param_00 endon("death");
|
|
for(;;)
|
|
{
|
|
param_00 waittill("missile_fire",var_01,var_02);
|
|
if(var_02 != "spaceship_assault_mp" && var_02 != "spaceship_strike_mp")
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_01.var_105E6 = var_01.origin;
|
|
}
|
|
}
|
|
|
|
//Function Number: 34
|
|
func_3758(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B)
|
|
{
|
|
if(param_04 != "MOD_IMPACT")
|
|
{
|
|
if(!isdefined(param_00) || !isdefined(param_00.var_105E6))
|
|
{
|
|
return param_02;
|
|
}
|
|
|
|
if(param_05 != "spaceship_assault_mp" && param_05 != "spaceship_strike_mp")
|
|
{
|
|
return param_02;
|
|
}
|
|
}
|
|
|
|
if(param_05 == "spaceship_strike_mp")
|
|
{
|
|
var_0C = param_00;
|
|
var_0D = distance(var_0C.origin,var_0C.var_105E6);
|
|
if(var_0D < 10000)
|
|
{
|
|
param_02 = param_02 * 1;
|
|
}
|
|
else if(var_0D < 30000)
|
|
{
|
|
param_02 = param_02 * 0.5;
|
|
}
|
|
else
|
|
{
|
|
param_02 = param_02 * 0.25;
|
|
}
|
|
}
|
|
|
|
param_02 = int(max(param_02,1));
|
|
self method_83DB(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B);
|
|
}
|
|
|
|
//Function Number: 35
|
|
func_105E2()
|
|
{
|
|
level endon("game_ended");
|
|
for(;;)
|
|
{
|
|
level waittill("player_spawned",var_00);
|
|
if(level.var_A407.var_1C91)
|
|
{
|
|
thread func_105B8(var_00);
|
|
}
|
|
|
|
if(level.var_A407.var_10DBB)
|
|
{
|
|
level thread func_105B1(var_00);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 36
|
|
func_105B1(param_00)
|
|
{
|
|
param_00 endon("death");
|
|
param_00 endon("disconnect");
|
|
for(;;)
|
|
{
|
|
var_01 = func_105C4(param_00.team);
|
|
var_02 = func_105CB(var_01,param_00.team);
|
|
if(isdefined(var_02))
|
|
{
|
|
break;
|
|
}
|
|
|
|
scripts\common\utility::func_136F7();
|
|
}
|
|
|
|
param_00 setplayerangles(var_01.angles);
|
|
var_02 method_83E7(var_02.origin,var_01.angles);
|
|
scripts\common\utility::func_136F7();
|
|
func_105B5(var_02,param_00,1);
|
|
}
|
|
|
|
//Function Number: 37
|
|
func_105CB(param_00,param_01)
|
|
{
|
|
var_02 = param_00 method_83DA();
|
|
if(!isdefined(var_02))
|
|
{
|
|
return undefined;
|
|
}
|
|
|
|
var_02.var_10483 = param_00;
|
|
return func_1058D(var_02,param_01);
|
|
}
|
|
|
|
//Function Number: 38
|
|
func_105C4(param_00)
|
|
{
|
|
var_01 = level.var_FE33[param_00];
|
|
var_01 = scripts\common\utility::array_combine(var_01,level.var_FE33[scripts\mp\_utility::getotherteam(param_00)]);
|
|
var_02 = undefined;
|
|
var_03 = 0;
|
|
foreach(var_05 in var_01)
|
|
{
|
|
if(!func_10595(var_05))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_06 = 0;
|
|
foreach(var_08 in level.var_1676)
|
|
{
|
|
if(isdefined(var_08) && isdefined(var_08.var_222) && isdefined(var_08.var_222.team) && var_08.var_222.team != param_00)
|
|
{
|
|
var_09 = distancesquared(var_08.origin,var_05.origin);
|
|
if(!isdefined(var_06) || var_09 > var_06)
|
|
{
|
|
var_06 = var_09;
|
|
}
|
|
}
|
|
}
|
|
|
|
if(!isdefined(var_02) || var_06 > var_03)
|
|
{
|
|
var_03 = var_06;
|
|
var_02 = var_05;
|
|
}
|
|
}
|
|
|
|
if(!isdefined(var_02))
|
|
{
|
|
var_02 = var_01[randomint(var_01.size)];
|
|
}
|
|
|
|
return var_02;
|
|
}
|
|
|
|
//Function Number: 39
|
|
func_10595(param_00)
|
|
{
|
|
if(isdefined(param_00.var_11931) && param_00.var_11931 - gettime() < 3000)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
foreach(var_02 in level.var_1676)
|
|
{
|
|
if(!isdefined(var_02))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(distancesquared(var_02.origin,param_00.origin) <= 1600)
|
|
{
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
var_04 = physics_createcontents(["physicscontents_aiavoid","physicscontents_solid","physicscontents_structural"]);
|
|
var_05 = function_028C(param_00.origin,300,0,var_04,undefined,"physicsquery_any");
|
|
return var_05 == 0;
|
|
}
|
|
|
|
//Function Number: 40
|
|
func_105CA(param_00,param_01,param_02)
|
|
{
|
|
var_03 = function_026D(param_00,param_01,param_02,"veh_spaceship_mp","veh_mil_air_ca_jackal_drone_atmos_periph_mp");
|
|
return func_1058D(var_03,param_00.team);
|
|
}
|
|
|
|
//Function Number: 41
|
|
func_1058D(param_00,param_01)
|
|
{
|
|
param_00.team = param_01;
|
|
param_00.var_13CC3 = [];
|
|
param_00.var_13CC3["hover"] = "spaceship_assault_mp";
|
|
param_00.var_13CC3["fly"] = "spaceship_strike_mp";
|
|
param_00.var_13CC3["land"] = param_00.var_13CC3["hover"];
|
|
func_105BF(param_00);
|
|
param_00 method_84BC(level.var_A407.var_1051B);
|
|
param_00 method_84BE("spaceship");
|
|
thread func_105A1(param_00);
|
|
thread func_105A0(param_00);
|
|
thread func_105A4(param_00);
|
|
param_00.var_4D2E = ::func_3758;
|
|
return param_00;
|
|
}
|
|
|
|
//Function Number: 42
|
|
func_105C5(param_00,param_01)
|
|
{
|
|
var_02 = undefined;
|
|
var_02 = spawn("trigger_radius",func_10578(param_00),0,150,200);
|
|
param_00.var_130F2 = var_02;
|
|
var_03 = scripts\mp\_gameobjects::func_4A2E(param_01,var_02,[]);
|
|
var_03 scripts\mp\_gameobjects::func_FB08(2);
|
|
var_03 scripts\mp\_gameobjects::func_FB07(&"MP_JACKAL_BOARDING");
|
|
if(var_02.classname == "trigger_use")
|
|
{
|
|
var_03 scripts\mp\_gameobjects::func_FB06(&"MP_JACKAL_BOARD");
|
|
}
|
|
|
|
var_03 scripts\mp\_gameobjects::func_1CAF("friendly");
|
|
var_03 scripts\mp\_gameobjects::setvisibleteam("friendly");
|
|
var_03.var_C5BB = ::func_105B3;
|
|
var_03.var_10574 = param_00;
|
|
param_00.var_130AD = var_03;
|
|
}
|
|
|
|
//Function Number: 43
|
|
func_105B3(param_00)
|
|
{
|
|
var_01 = self.var_10574;
|
|
if(!isdefined(var_01))
|
|
{
|
|
return;
|
|
}
|
|
|
|
func_105B5(var_01,param_00);
|
|
}
|
|
|
|
//Function Number: 44
|
|
func_10580(param_00)
|
|
{
|
|
if(isdefined(param_00.var_130AD))
|
|
{
|
|
param_00.var_130AD scripts\mp\_gameobjects::setvisibleteam("none");
|
|
param_00.var_130AD scripts\mp\_gameobjects::func_1CAF("none");
|
|
}
|
|
}
|
|
|
|
//Function Number: 45
|
|
func_10583(param_00)
|
|
{
|
|
if(isdefined(param_00.var_130AD))
|
|
{
|
|
param_00.var_130AD scripts\mp\_gameobjects::setvisibleteam("friendly");
|
|
param_00.var_130AD scripts\mp\_gameobjects::func_1CAF("friendly");
|
|
param_00.var_130AD.trigger.origin = func_10578(param_00);
|
|
}
|
|
}
|
|
|
|
//Function Number: 46
|
|
func_105E1(param_00,param_01)
|
|
{
|
|
param_01 endon("death");
|
|
param_01 endon("disconnect");
|
|
level endon("game_ended");
|
|
if(!isai(param_01))
|
|
{
|
|
param_01 notifyonplayercommand("exitJackal","+actionslot 2");
|
|
}
|
|
|
|
while(isdefined(param_00.var_222))
|
|
{
|
|
param_01 waittill("exitJackal");
|
|
if(func_10579(param_00,param_01))
|
|
{
|
|
thread func_10581(param_00,param_01);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 47
|
|
func_10579(param_00,param_01)
|
|
{
|
|
if(level.var_A407.var_1C94)
|
|
{
|
|
if(isdefined(param_00.var_A83C))
|
|
{
|
|
if(!isdefined(param_00.var_A83C.team) || param_00.var_A83C.team == param_01.team)
|
|
{
|
|
param_01 iprintlnbold(&"MP_JACKAL_CANT_LAND");
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
else if(!func_10591(param_00))
|
|
{
|
|
param_01 iprintlnbold(&"MP_JACKAL_CANT_LAND");
|
|
return 0;
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 48
|
|
func_10581(param_00,param_01,param_02)
|
|
{
|
|
level endon("game_ended");
|
|
param_00 endon("death");
|
|
var_03 = func_10584(param_00,param_01);
|
|
if(!isdefined(var_03))
|
|
{
|
|
param_01 iprintlnbold(&"MP_JACKAL_CANT_LAND");
|
|
return;
|
|
}
|
|
|
|
param_01 setorigin(var_03);
|
|
param_01 setplayerangles(param_00.angles);
|
|
func_105B6(param_00,param_01);
|
|
thread func_1057E(param_00);
|
|
if(isdefined(param_02))
|
|
{
|
|
func_105B7(param_01,param_02.origin,param_02.angles);
|
|
}
|
|
}
|
|
|
|
//Function Number: 49
|
|
func_10578(param_00)
|
|
{
|
|
return param_00 gettagorigin("j_cockpit") - (0,0,100);
|
|
}
|
|
|
|
//Function Number: 50
|
|
func_10584(param_00,param_01)
|
|
{
|
|
var_02 = anglestoright(param_00.angles);
|
|
var_03 = scripts\common\trace::func_48CC(1);
|
|
var_04 = param_00 gettagorigin("j_cockpit");
|
|
var_05 = var_04 - 64 * var_02;
|
|
var_06 = function_0299(var_05,param_01,0,param_00.angles,0,var_03,param_00,"physicsquery_any");
|
|
if(var_06 == 0)
|
|
{
|
|
return var_05;
|
|
}
|
|
|
|
var_05 = var_04 + 64 * var_02;
|
|
var_06 = function_0299(var_05,param_01,0,param_00.angles,0,var_03,param_00,"physicsquery_any");
|
|
if(var_06 == 0)
|
|
{
|
|
return var_05;
|
|
}
|
|
|
|
var_07 = anglestoforward(param_00.angles);
|
|
var_05 = var_04 + 100 * var_07;
|
|
var_06 = function_0299(var_05,param_01,0,param_00.angles,0,var_03,param_00,"physicsquery_any");
|
|
if(var_06 == 0)
|
|
{
|
|
return var_05;
|
|
}
|
|
|
|
return undefined;
|
|
}
|
|
|
|
//Function Number: 51
|
|
func_105B8(param_00)
|
|
{
|
|
level endon("game_ended");
|
|
param_00 endon("death");
|
|
param_00 endon("disconnect");
|
|
if(!scripts\mp\_utility::func_766C("prematch_done"))
|
|
{
|
|
level waittill("prematch_done");
|
|
}
|
|
|
|
thread func_105A7(param_00);
|
|
for(;;)
|
|
{
|
|
param_00 waittill("useSpaceship");
|
|
if(isdefined(param_00.var_A40D))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(isdefined(param_00.var_10574))
|
|
{
|
|
if(func_10579(param_00.var_10574,param_00))
|
|
{
|
|
func_10581(param_00.var_10574,param_00);
|
|
}
|
|
else
|
|
{
|
|
param_00 iprintlnbold(&"MP_JACKAL_CANT_LAND");
|
|
}
|
|
|
|
continue;
|
|
}
|
|
|
|
if(!isdefined(param_00.var_A40D))
|
|
{
|
|
var_01 = func_10593(param_00);
|
|
if(isdefined(var_01))
|
|
{
|
|
func_10576(var_01,param_00);
|
|
}
|
|
else if(func_1057A(param_00))
|
|
{
|
|
func_105CF(param_00);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 52
|
|
func_105A7(param_00)
|
|
{
|
|
level endon("game_ended");
|
|
param_00 endon("death");
|
|
param_00 endon("disconnect");
|
|
if(!isai(param_00))
|
|
{
|
|
param_00 notifyonplayercommand("useButton","+usereload");
|
|
}
|
|
|
|
for(;;)
|
|
{
|
|
param_00 waittill("useButton");
|
|
var_01 = 0.0001;
|
|
param_00 setclientomnvar("ui_securing",8);
|
|
param_00 setclientomnvar("ui_securing_progress",var_01);
|
|
while(param_00 usebuttonpressed())
|
|
{
|
|
scripts\common\utility::func_136F7();
|
|
var_01 = var_01 + 0.06666667;
|
|
if(var_01 > 1)
|
|
{
|
|
var_01 = 1;
|
|
}
|
|
|
|
param_00 setclientomnvar("ui_securing_progress",var_01);
|
|
if(var_01 == 1)
|
|
{
|
|
param_00 setclientomnvar("ui_securing",0);
|
|
param_00 notify("useSpaceship");
|
|
wait(0.25);
|
|
var_01 = 0;
|
|
}
|
|
}
|
|
|
|
param_00 setclientomnvar("ui_securing",0);
|
|
}
|
|
}
|
|
|
|
//Function Number: 53
|
|
func_10593(param_00)
|
|
{
|
|
var_01 = param_00 geteye();
|
|
var_02 = param_00 getplayerangles();
|
|
var_03 = var_01 + 750 * anglestoforward(var_02);
|
|
var_04 = function_0288(var_01,var_03,15,scripts\common\trace::func_4972(),undefined,"physicsquery_closest");
|
|
if(var_04.size == 0)
|
|
{
|
|
return undefined;
|
|
}
|
|
|
|
var_05 = var_04[0]["entity"];
|
|
if(!func_10592(var_05))
|
|
{
|
|
return undefined;
|
|
}
|
|
|
|
if(isdefined(var_05.var_222))
|
|
{
|
|
return undefined;
|
|
}
|
|
|
|
return var_05;
|
|
}
|
|
|
|
//Function Number: 54
|
|
func_1058B(param_00)
|
|
{
|
|
var_01 = getentarray(param_00,"targetname");
|
|
if(var_01.size > 0)
|
|
{
|
|
level.var_A841 = var_01;
|
|
foreach(var_03 in var_01)
|
|
{
|
|
func_105E3(var_03);
|
|
if(var_03.var_2699)
|
|
{
|
|
thread func_105E5(var_03,::func_105AC,::func_105B2,::func_105AF);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 55
|
|
func_1058A(param_00)
|
|
{
|
|
var_01 = getentarray(param_00,"targetname");
|
|
level.var_A83D = var_01;
|
|
if(var_01.size > 0)
|
|
{
|
|
foreach(var_03 in var_01)
|
|
{
|
|
func_105E3(var_03);
|
|
thread func_105E5(var_03,::func_105AB,undefined,::func_105AE);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 56
|
|
func_10591(param_00)
|
|
{
|
|
if(isdefined(level.var_A841))
|
|
{
|
|
foreach(var_02 in level.var_A841)
|
|
{
|
|
if((!isdefined(var_02.team) || var_02.team == param_00.var_222.team) && param_00 istouching(var_02))
|
|
{
|
|
return 1;
|
|
}
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 57
|
|
func_105AC(param_00,param_01)
|
|
{
|
|
param_00.var_222 method_80F4(&"MP_JACKAL_EXIT");
|
|
}
|
|
|
|
//Function Number: 58
|
|
func_105B2(param_00,param_01,param_02)
|
|
{
|
|
if(gettime() - param_02 >= 2000)
|
|
{
|
|
var_03 = param_00 getentitynumber();
|
|
param_01.var_A41D[var_03] = undefined;
|
|
param_01.var_A41E[var_03] = undefined;
|
|
var_04 = param_00.var_222;
|
|
if(func_10579(param_00,var_04))
|
|
{
|
|
var_05 = func_10596(param_01,var_04);
|
|
thread func_10581(param_00,var_04,var_05);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 59
|
|
func_105AF(param_00,param_01)
|
|
{
|
|
if(isdefined(param_00.var_222))
|
|
{
|
|
param_00.var_222 method_80F3();
|
|
}
|
|
}
|
|
|
|
//Function Number: 60
|
|
func_105AB(param_00,param_01)
|
|
{
|
|
param_00.var_A83C = param_01;
|
|
}
|
|
|
|
//Function Number: 61
|
|
func_105AE(param_00,param_01)
|
|
{
|
|
param_00.var_A83C = undefined;
|
|
}
|
|
|
|
//Function Number: 62
|
|
func_10596(param_00,param_01)
|
|
{
|
|
if(isdefined(param_00.var_D42C))
|
|
{
|
|
var_02 = param_01 method_8435();
|
|
var_03 = var_02["radius"];
|
|
var_04 = var_02["half_height"];
|
|
foreach(var_06 in param_00.var_D42C)
|
|
{
|
|
if(isdefined(var_06.var_AA3B) && gettime() - var_06.var_AA3B < 10000)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(capsuletracepassed(var_06.origin + (0,0,var_04),var_03,var_04,param_01,0,1))
|
|
{
|
|
var_06.var_AA3B = gettime();
|
|
return var_06;
|
|
}
|
|
}
|
|
}
|
|
|
|
return undefined;
|
|
}
|
|
|
|
//Function Number: 63
|
|
func_10590(param_00)
|
|
{
|
|
var_01 = getentarray(param_00,"targetname");
|
|
if(var_01.size > 0)
|
|
{
|
|
level.var_105ED = var_01;
|
|
foreach(var_03 in var_01)
|
|
{
|
|
func_105E3(var_03);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 64
|
|
func_1058F(param_00)
|
|
{
|
|
var_01 = getentarray(param_00,"targetname");
|
|
level.var_105EC = var_01;
|
|
if(var_01.size > 0)
|
|
{
|
|
foreach(var_03 in var_01)
|
|
{
|
|
func_105E3(var_03);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 65
|
|
func_1057A(param_00)
|
|
{
|
|
if(param_00 ismantling() || param_00 method_81B5())
|
|
{
|
|
param_00 iprintlnbold(&"MP_JACKAL_CANT_SUMMON");
|
|
return 0;
|
|
}
|
|
|
|
if(isdefined(param_00.var_105E8) && gettime() - param_00.var_105E8 < 1000)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(level.var_A407.var_1C95)
|
|
{
|
|
foreach(var_02 in level.var_105EC)
|
|
{
|
|
if(param_00 istouching(var_02))
|
|
{
|
|
param_00 iprintlnbold(&"MP_JACKAL_CANT_SUMMON");
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
else if(isdefined(level.var_105ED))
|
|
{
|
|
foreach(var_04 in level.var_105ED)
|
|
{
|
|
if(func_105DD(var_04,var_02))
|
|
{
|
|
return 1;
|
|
}
|
|
}
|
|
}
|
|
|
|
var_02 iprintlnbold(&"MP_JACKAL_CANT_SUMMON");
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 66
|
|
func_105DD(param_00,param_01)
|
|
{
|
|
if(isdefined(param_00.team) && param_00.team != param_01.team)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
return param_01 istouching(param_00);
|
|
}
|
|
|
|
//Function Number: 67
|
|
func_105CF(param_00)
|
|
{
|
|
var_01 = param_00 geteye();
|
|
var_02 = anglestoforward(param_00 getplayerangles());
|
|
var_03 = var_01 + 500 * var_02;
|
|
var_04 = physics_createcontents(["physicscontents_aiavoid","physicscontents_solid","physicscontents_structural"]);
|
|
var_05 = function_0298(var_01,var_03,param_00,0,param_00.angles,var_04,param_00,"physicsquery_any");
|
|
if(var_05)
|
|
{
|
|
param_00 iprintlnbold(&"MP_JACKAL_CANT_SUMMON");
|
|
return;
|
|
}
|
|
|
|
var_06 = 332 * anglestoright(param_00.angles);
|
|
var_07 = var_03 + var_06;
|
|
var_08 = 350;
|
|
var_05 = function_028C(var_07,var_08,0,var_04,undefined,"physicsquery_any");
|
|
if(var_05)
|
|
{
|
|
var_07 = var_07 + (0,0,var_08 + 1);
|
|
var_05 = function_028C(var_07,var_08,0,var_04,undefined,"physicsquery_any");
|
|
if(var_05)
|
|
{
|
|
param_00 iprintlnbold(&"MP_JACKAL_CANT_SUMMON");
|
|
return;
|
|
}
|
|
}
|
|
|
|
var_09 = func_105CA(param_00,var_07,param_00.angles);
|
|
func_105B7(param_00,var_03,param_00.angles,0.25);
|
|
func_105B5(var_09,param_00);
|
|
}
|
|
|
|
//Function Number: 68
|
|
func_10576(param_00,param_01)
|
|
{
|
|
level endon("game_ended");
|
|
param_01 endon("death");
|
|
param_01 endon("disconnect");
|
|
var_02 = vectornormalize(param_01.origin - param_00.origin);
|
|
var_03 = anglestoright(param_00.angles);
|
|
var_04 = vectordot(var_02,var_03) > 0;
|
|
if(!var_04)
|
|
{
|
|
var_03 = -1 * var_03;
|
|
}
|
|
|
|
var_05 = param_00 gettagorigin("j_cockpit");
|
|
var_06 = var_05 + 64 * var_03;
|
|
param_00 notify("playerReserved");
|
|
func_105B7(param_01,var_06,param_01.angles);
|
|
if(isdefined(param_00))
|
|
{
|
|
func_105B5(param_00,param_01);
|
|
}
|
|
}
|
|
|
|
//Function Number: 69
|
|
func_105B7(param_00,param_01,param_02,param_03)
|
|
{
|
|
level endon("game_ended");
|
|
if(!isdefined(param_03))
|
|
{
|
|
param_03 = 0.375;
|
|
}
|
|
|
|
var_04 = spawn("script_model",param_00.origin);
|
|
var_04.angles = param_00.angles;
|
|
var_04 setmodel("tag_origin");
|
|
param_00.var_A40D = 1;
|
|
param_00 playerlinkto(var_04,"tag_origin");
|
|
var_05 = param_00 method_82C7(0);
|
|
var_04 moveto(param_01,param_03,0,0);
|
|
var_04 rotateto(param_02,0.25 * param_03,0.05 * param_03,0);
|
|
wait(param_03);
|
|
if(isdefined(param_00))
|
|
{
|
|
param_00 method_82C7(var_05);
|
|
param_00 unlink();
|
|
param_00.var_A40D = undefined;
|
|
}
|
|
|
|
var_04 delete();
|
|
}
|
|
|
|
//Function Number: 70
|
|
func_1057D(param_00)
|
|
{
|
|
var_01 = param_00.var_A9F2;
|
|
param_00.var_A9F2 = undefined;
|
|
if(isdefined(var_01) && !isdefined(var_01.var_222))
|
|
{
|
|
var_01 notify("spaceshipTimeout");
|
|
}
|
|
}
|
|
|
|
//Function Number: 71
|
|
func_1058E(param_00)
|
|
{
|
|
var_01 = getentarray(param_00,"targetname");
|
|
if(var_01.size > 0)
|
|
{
|
|
level.var_105EB = var_01;
|
|
foreach(var_03 in var_01)
|
|
{
|
|
func_105E3(var_03);
|
|
if(!isdefined(var_03.var_B4C9))
|
|
{
|
|
var_03.var_B4C9 = 0.5;
|
|
}
|
|
|
|
thread func_105E5(var_03,::func_105AD,undefined,::func_105B0);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 72
|
|
func_105AD(param_00,param_01)
|
|
{
|
|
if(isdefined(param_00.var_222))
|
|
{
|
|
param_00 method_8476(param_01.var_B4C9);
|
|
}
|
|
}
|
|
|
|
//Function Number: 73
|
|
func_105B0(param_00,param_01)
|
|
{
|
|
if(isdefined(param_00.var_222))
|
|
{
|
|
param_00 method_8476(1);
|
|
}
|
|
}
|
|
|
|
//Function Number: 74
|
|
func_105E5(param_00,param_01,param_02,param_03)
|
|
{
|
|
level endon("game_ended");
|
|
param_00 endon("disable");
|
|
param_00.var_A41D = [];
|
|
param_00.var_A41E = [];
|
|
thread func_105E4(param_00,param_02,param_03);
|
|
for(;;)
|
|
{
|
|
param_00 waittill("trigger",var_04);
|
|
if(!func_10594(var_04,param_00))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_05 = var_04 getentitynumber();
|
|
param_00.var_A41E[var_05] = var_04;
|
|
if(!isdefined(param_00.var_A41D[var_05]))
|
|
{
|
|
param_00.var_A41D[var_05] = gettime();
|
|
if(isdefined(param_01))
|
|
{
|
|
[[ param_01 ]](var_04,param_00);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 75
|
|
func_105E4(param_00,param_01,param_02)
|
|
{
|
|
level endon("game_ended");
|
|
param_00 endon("disable");
|
|
for(;;)
|
|
{
|
|
wait(0.05);
|
|
waittillframeend;
|
|
foreach(var_06, var_04 in param_00.var_A41D)
|
|
{
|
|
var_05 = level.var_105E9[var_06];
|
|
if(!isdefined(param_00.var_A41E[var_06]))
|
|
{
|
|
param_00.var_A41D[var_06] = undefined;
|
|
if(isdefined(var_05) && isdefined(param_02))
|
|
{
|
|
[[ param_02 ]](var_05,param_00);
|
|
}
|
|
|
|
continue;
|
|
}
|
|
|
|
if(isdefined(param_01))
|
|
{
|
|
[[ param_01 ]](var_05,param_00,var_04);
|
|
}
|
|
}
|
|
|
|
param_00.var_A41E = [];
|
|
}
|
|
}
|
|
|
|
//Function Number: 76
|
|
func_105E3(param_00)
|
|
{
|
|
param_00.var_2699 = 0;
|
|
if(!isdefined(param_00.script_noteworthy))
|
|
{
|
|
return;
|
|
}
|
|
|
|
var_01 = strtok(param_00.script_noteworthy,",");
|
|
foreach(var_03 in var_01)
|
|
{
|
|
var_04 = strtok(var_03,"=");
|
|
switch(var_04[0])
|
|
{
|
|
case "team":
|
|
param_00.team = var_04[1];
|
|
break;
|
|
|
|
case "playerStarts":
|
|
case "spawnpoints":
|
|
param_00.var_D42C = scripts\common\utility::getstructarray(var_04[1],"targetname");
|
|
break;
|
|
|
|
case "jackalStarts":
|
|
param_00.var_A422 = scripts\common\utility::getstructarray(var_04[1],"targetname");
|
|
break;
|
|
|
|
case "autouse":
|
|
param_00.var_2699 = var_04[1] == "true";
|
|
break;
|
|
|
|
case "spawners":
|
|
param_00.var_10879 = var_04[1];
|
|
break;
|
|
|
|
case "maxSpeed":
|
|
param_00.var_B4C9 = float(var_04[1]);
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 77
|
|
func_10594(param_00,param_01)
|
|
{
|
|
if(!func_10592(param_00))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(!isdefined(param_00.var_222))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(isdefined(param_01.team) && param_01.team != param_00.team)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 78
|
|
func_105B9(param_00,param_01,param_02,param_03,param_04)
|
|
{
|
|
var_05 = function_01E1(scripts\common\utility::getfx(param_02),param_01 geteye() + param_03,param_01);
|
|
triggerfx(var_05);
|
|
param_01 scripts\common\utility::waittill_any_timeout_1(param_04,"death","disconnect");
|
|
var_05 delete();
|
|
}
|
|
|
|
//Function Number: 79
|
|
func_105BA(param_00,param_01)
|
|
{
|
|
param_00 endon("death");
|
|
param_01 endon("exit_jackal");
|
|
param_01 endon("disconnect");
|
|
level endon("game_ended");
|
|
for(;;)
|
|
{
|
|
var_02 = param_00 vehicle_getvelocity();
|
|
var_03 = lengthsquared(var_02);
|
|
if(var_03 < 100)
|
|
{
|
|
var_04 = anglestoforward(param_00.angles);
|
|
thread func_105B9(param_00,param_01,"space_particles",var_04 * 300,3);
|
|
wait(0.75);
|
|
continue;
|
|
}
|
|
|
|
var_04 = vectornormalize(var_02);
|
|
thread func_105B9(param_00,param_01,"space_particles",var_04 * 256,1);
|
|
wait(0.1);
|
|
}
|
|
}
|
|
|
|
//Function Number: 80
|
|
func_10592(param_00)
|
|
{
|
|
return param_00.classname == "script_vehicle_jackal_mp" || param_00.classname == "script_vehicle" && param_00.model == "veh_mil_air_ca_jackal_drone_atmos_periph_mp";
|
|
}
|
|
|
|
//Function Number: 81
|
|
func_105C1(param_00)
|
|
{
|
|
param_00 scripts\mp\_powers::func_E15E(param_00.var_AE7B);
|
|
param_00 scripts\mp\_powers::func_E15E(param_00.var_AE7D);
|
|
}
|
|
|
|
//Function Number: 82
|
|
func_105C2(param_00)
|
|
{
|
|
param_00 scripts\mp\_powers::func_8397(param_00.var_AE7B,"primary");
|
|
param_00 scripts\mp\_powers::func_8397(param_00.var_AE7D,"secondary");
|
|
} |