mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-26 09:27:54 -05:00
1340 lines
34 KiB
Plaintext
1340 lines
34 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: scripts\mp\killstreaks\_odin.gsc
|
|
* Game: Call of Duty: Infinite Warfare
|
|
* Platform: PC
|
|
* Function Count: 48
|
|
* Decompile Time: 2562 ms
|
|
* Timestamp: 10/27/2023 12:29:12 AM
|
|
*******************************************************************/
|
|
|
|
//Function Number: 1
|
|
init()
|
|
{
|
|
scripts\mp\killstreaks\_killstreaks::func_DEFB("odin_support",::func_128F1);
|
|
scripts\mp\killstreaks\_killstreaks::func_DEFB("odin_assault",::func_128F1);
|
|
level._effect["odin_clouds"] = loadfx("vfx/core/mp/killstreaks/odin/odin_parallax_clouds");
|
|
level._effect["odin_fisheye"] = loadfx("vfx/code/screen/vfx_scrnfx_odin_fisheye.vfx");
|
|
level._effect["odin_targeting"] = loadfx("vfx/core/mp/killstreaks/odin/vfx_marker_odin_cyan");
|
|
level.var_C321 = [];
|
|
level.var_C321["odin_support"] = spawnstruct();
|
|
level.var_C321["odin_support"].var_11901 = 60;
|
|
level.var_C321["odin_support"].var_110EA = "odin_support";
|
|
level.var_C321["odin_support"].var_13260 = "odin_mp";
|
|
level.var_C321["odin_support"].var_B91A = "vehicle_odin_mp";
|
|
level.var_C321["odin_support"].var_115EB = "used_odin_support";
|
|
level.var_C321["odin_support"].var_13553 = "odin_gone";
|
|
level.var_C321["odin_support"].var_1352D = "odin_target_killed";
|
|
level.var_C321["odin_support"].var_1352C = "odin_targets_killed";
|
|
level.var_C321["odin_support"].var_12B20 = 1;
|
|
level.var_C321["odin_support"].var_12B80 = &"KILLSTREAKS_ODIN_UNAVAILABLE";
|
|
level.var_C321["odin_support"].var_394["airdrop"] = spawnstruct();
|
|
level.var_C321["odin_support"].var_394["airdrop"].var_DA5A = "odin_projectile_airdrop_mp";
|
|
level.var_C321["odin_support"].var_394["airdrop"].var_E7BA = "smg_fire";
|
|
level.var_C321["odin_support"].var_394["airdrop"].var_1E44 = "ui_odin_airdrop_ammo";
|
|
level.var_C321["odin_support"].var_394["airdrop"].var_1AA0 = "airdrop_support";
|
|
level.var_C321["odin_support"].var_394["airdrop"].var_DF5D = 20;
|
|
level.var_C321["odin_support"].var_394["airdrop"].var_12B22 = -1;
|
|
level.var_C321["odin_support"].var_394["airdrop"].var_13521 = "odin_carepackage";
|
|
level.var_C321["odin_support"].var_394["airdrop"].var_D5E4 = "odin_carepack_ready";
|
|
level.var_C321["odin_support"].var_394["airdrop"].var_D5DD = "odin_carepack_launch";
|
|
level.var_C321["odin_support"].var_394["marking"] = spawnstruct();
|
|
level.var_C321["odin_support"].var_394["marking"].var_DA5A = "odin_projectile_marking_mp";
|
|
level.var_C321["odin_support"].var_394["marking"].var_E7BA = "heavygun_fire";
|
|
level.var_C321["odin_support"].var_394["marking"].var_1E44 = "ui_odin_marking_ammo";
|
|
level.var_C321["odin_support"].var_394["marking"].var_DF5D = 4;
|
|
level.var_C321["odin_support"].var_394["marking"].var_12B22 = -1;
|
|
level.var_C321["odin_support"].var_394["marking"].var_1354C = "odin_marking";
|
|
level.var_C321["odin_support"].var_394["marking"].var_1354B = "odin_marked";
|
|
level.var_C321["odin_support"].var_394["marking"].var_1354A = "odin_m_marked";
|
|
level.var_C321["odin_support"].var_394["marking"].var_D5E4 = "odin_flash_ready";
|
|
level.var_C321["odin_support"].var_394["marking"].var_D5DD = "odin_flash_launch";
|
|
level.var_C321["odin_support"].var_394["smoke"] = spawnstruct();
|
|
level.var_C321["odin_support"].var_394["smoke"].var_DA5A = "odin_projectile_smoke_mp";
|
|
level.var_C321["odin_support"].var_394["smoke"].var_E7BA = "smg_fire";
|
|
level.var_C321["odin_support"].var_394["smoke"].var_1E44 = "ui_odin_smoke_ammo";
|
|
level.var_C321["odin_support"].var_394["smoke"].var_DF5D = 7;
|
|
level.var_C321["odin_support"].var_394["smoke"].var_12B22 = -1;
|
|
level.var_C321["odin_support"].var_394["smoke"].var_13551 = "odin_smoke";
|
|
level.var_C321["odin_support"].var_394["smoke"].var_D5E4 = "odin_smoke_ready";
|
|
level.var_C321["odin_support"].var_394["smoke"].var_D5DD = "odin_smoke_launch";
|
|
level.var_C321["odin_support"].var_394["juggernaut"] = spawnstruct();
|
|
level.var_C321["odin_support"].var_394["juggernaut"].var_DA5A = "odin_projectile_smoke_mp";
|
|
level.var_C321["odin_support"].var_394["juggernaut"].var_E7BA = "heavygun_fire";
|
|
level.var_C321["odin_support"].var_394["juggernaut"].var_1E44 = "ui_odin_juggernaut_ammo";
|
|
level.var_C321["odin_support"].var_394["juggernaut"].var_A4AF = "juggernaut_recon";
|
|
level.var_C321["odin_support"].var_394["juggernaut"].var_DF5D = level.var_C321["odin_support"].var_11901;
|
|
level.var_C321["odin_support"].var_394["juggernaut"].var_12B22 = -1;
|
|
level.var_C321["odin_support"].var_394["juggernaut"].var_12B23 = -2;
|
|
level.var_C321["odin_support"].var_394["juggernaut"].var_12B21 = -3;
|
|
level.var_C321["odin_support"].var_394["juggernaut"].var_1352B = "odin_moving";
|
|
level.var_C321["odin_support"].var_394["juggernaut"].var_D5E4 = "null";
|
|
level.var_C321["odin_support"].var_394["juggernaut"].var_D5DD = "odin_jugg_launch";
|
|
level.var_C321["odin_assault"] = spawnstruct();
|
|
level.var_C321["odin_assault"].var_11901 = 60;
|
|
level.var_C321["odin_assault"].var_110EA = "odin_assault";
|
|
level.var_C321["odin_assault"].var_13260 = "odin_mp";
|
|
level.var_C321["odin_assault"].var_B91A = "vehicle_odin_mp";
|
|
level.var_C321["odin_assault"].var_115EB = "used_odin_assault";
|
|
level.var_C321["odin_assault"].var_13553 = "loki_gone";
|
|
level.var_C321["odin_assault"].var_1352D = "odin_target_killed";
|
|
level.var_C321["odin_assault"].var_1352C = "odin_targets_killed";
|
|
level.var_C321["odin_assault"].var_12B20 = 2;
|
|
level.var_C321["odin_assault"].var_12B80 = &"KILLSTREAKS_LOKI_UNAVAILABLE";
|
|
level.var_C321["odin_assault"].var_394["airdrop"] = spawnstruct();
|
|
level.var_C321["odin_assault"].var_394["airdrop"].var_DA5A = "odin_projectile_airdrop_mp";
|
|
level.var_C321["odin_assault"].var_394["airdrop"].var_E7BA = "smg_fire";
|
|
level.var_C321["odin_assault"].var_394["airdrop"].var_1E44 = "ui_odin_airdrop_ammo";
|
|
level.var_C321["odin_assault"].var_394["airdrop"].var_1AA0 = "airdrop_assault";
|
|
level.var_C321["odin_assault"].var_394["airdrop"].var_DF5D = 20;
|
|
level.var_C321["odin_assault"].var_394["airdrop"].var_12B22 = -1;
|
|
level.var_C321["odin_assault"].var_394["airdrop"].var_13521 = "odin_carepackage";
|
|
level.var_C321["odin_assault"].var_394["airdrop"].var_D5E4 = "odin_carepack_ready";
|
|
level.var_C321["odin_assault"].var_394["airdrop"].var_D5DD = "odin_carepack_launch";
|
|
level.var_C321["odin_assault"].var_394["large_rod"] = spawnstruct();
|
|
level.var_C321["odin_assault"].var_394["large_rod"].var_DA5A = "odin_projectile_large_rod_mp";
|
|
level.var_C321["odin_assault"].var_394["large_rod"].var_E7BA = "heavygun_fire";
|
|
level.var_C321["odin_assault"].var_394["large_rod"].var_1E44 = "ui_odin_marking_ammo";
|
|
level.var_C321["odin_assault"].var_394["large_rod"].var_DF5D = 4;
|
|
level.var_C321["odin_assault"].var_394["large_rod"].var_12B22 = -2;
|
|
level.var_C321["odin_assault"].var_394["large_rod"].var_D5E4 = "null";
|
|
level.var_C321["odin_assault"].var_394["large_rod"].var_D5DD = "ac130_105mm_fire";
|
|
level.var_C321["odin_assault"].var_394["large_rod"].var_C195 = "ac130_105mm_fire_npc";
|
|
level.var_C321["odin_assault"].var_394["small_rod"] = spawnstruct();
|
|
level.var_C321["odin_assault"].var_394["small_rod"].var_DA5A = "odin_projectile_small_rod_mp";
|
|
level.var_C321["odin_assault"].var_394["small_rod"].var_E7BA = "smg_fire";
|
|
level.var_C321["odin_assault"].var_394["small_rod"].var_1E44 = "ui_odin_smoke_ammo";
|
|
level.var_C321["odin_assault"].var_394["small_rod"].var_DF5D = 2;
|
|
level.var_C321["odin_assault"].var_394["small_rod"].var_12B22 = -2;
|
|
level.var_C321["odin_assault"].var_394["small_rod"].var_D5E4 = "null";
|
|
level.var_C321["odin_assault"].var_394["small_rod"].var_D5DD = "ac130_40mm_fire";
|
|
level.var_C321["odin_assault"].var_394["small_rod"].var_C195 = "ac130_40mm_fire_npc";
|
|
level.var_C321["odin_assault"].var_394["juggernaut"] = spawnstruct();
|
|
level.var_C321["odin_assault"].var_394["juggernaut"].var_DA5A = "odin_projectile_smoke_mp";
|
|
level.var_C321["odin_assault"].var_394["juggernaut"].var_E7BA = "heavygun_fire";
|
|
level.var_C321["odin_assault"].var_394["juggernaut"].var_1E44 = "ui_odin_juggernaut_ammo";
|
|
level.var_C321["odin_assault"].var_394["juggernaut"].var_A4AF = "juggernaut";
|
|
level.var_C321["odin_assault"].var_394["juggernaut"].var_DF5D = level.var_C321["odin_assault"].var_11901;
|
|
level.var_C321["odin_assault"].var_394["juggernaut"].var_12B22 = -1;
|
|
level.var_C321["odin_assault"].var_394["juggernaut"].var_12B23 = -2;
|
|
level.var_C321["odin_assault"].var_394["juggernaut"].var_12B21 = -3;
|
|
level.var_C321["odin_assault"].var_394["juggernaut"].var_1352B = "odin_moving";
|
|
level.var_C321["odin_assault"].var_394["juggernaut"].var_D5E4 = "null";
|
|
level.var_C321["odin_assault"].var_394["juggernaut"].var_D5DD = "odin_jugg_launch";
|
|
if(!isdefined(level.var_8D7C))
|
|
{
|
|
level.var_8D7C = getent("heli_pilot_mesh","targetname");
|
|
if(!isdefined(level.var_8D7C))
|
|
{
|
|
}
|
|
else
|
|
{
|
|
level.var_8D7C.origin = level.var_8D7C.origin + scripts\mp\_utility::func_7EF9();
|
|
}
|
|
}
|
|
|
|
scripts\mp\agents\_agents::func_13672();
|
|
level.agent_funcs["odin_juggernaut"] = level.agent_funcs["player"];
|
|
level.agent_funcs["odin_juggernaut"]["think"] = ::scripts\common\utility::func_61B9;
|
|
level.var_C2FF = 800;
|
|
level.var_C300 = 200;
|
|
level.var_1639 = [];
|
|
}
|
|
|
|
//Function Number: 2
|
|
func_128F1(param_00,param_01)
|
|
{
|
|
if(isdefined(self.var_12B90) && self.var_12B90)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
var_02 = param_01;
|
|
var_03 = 1;
|
|
if(scripts\mp\_utility::func_4BD7() >= scripts\mp\_utility::func_B4D2() || level.var_6BAA + var_03 >= scripts\mp\_utility::func_B4D2())
|
|
{
|
|
self iprintlnbold(&"KILLSTREAKS_TOO_MANY_VEHICLES");
|
|
return 0;
|
|
}
|
|
|
|
if(isdefined(level.var_1639[var_02]))
|
|
{
|
|
self iprintlnbold(level.var_C321[var_02].var_12B80);
|
|
return 0;
|
|
}
|
|
|
|
scripts\mp\_utility::func_93FA();
|
|
var_04 = func_49F9(var_02);
|
|
if(!isdefined(var_04))
|
|
{
|
|
scripts\mp\_utility::func_4FC1();
|
|
return 0;
|
|
}
|
|
|
|
var_05 = func_10DD2(var_04);
|
|
if(!isdefined(var_05))
|
|
{
|
|
var_05 = 0;
|
|
}
|
|
|
|
return var_05;
|
|
}
|
|
|
|
//Function Number: 3
|
|
func_13AA2(param_00)
|
|
{
|
|
param_00 endon("disconnect");
|
|
param_00 endon("joined_team");
|
|
param_00 endon("joined_spectators");
|
|
param_00 endon("killstreak_disowned");
|
|
level endon("game_ended");
|
|
self endon("death");
|
|
for(;;)
|
|
{
|
|
level waittill("host_migration_end");
|
|
param_00 setclientomnvar("ui_odin",level.var_C321[self.var_C322].var_12B20);
|
|
param_00 thermalvisionfofoverlayon();
|
|
playfxontag(level._effect["odin_targeting"],self.var_1156A,"tag_origin");
|
|
self.var_1156A showtoplayer(param_00);
|
|
}
|
|
}
|
|
|
|
//Function Number: 4
|
|
func_49F9(param_00)
|
|
{
|
|
var_01 = self.origin * (1,1,0) + level.var_8D7C.origin - scripts\mp\_utility::func_7EF9() * (0,0,1);
|
|
var_02 = (0,0,0);
|
|
var_03 = spawnhelicopter(self,var_01,var_02,level.var_C321[param_00].var_13260,level.var_C321[param_00].var_B91A);
|
|
if(!isdefined(var_03))
|
|
{
|
|
return;
|
|
}
|
|
|
|
var_03.var_2B3 = 40;
|
|
var_03.var_222 = self;
|
|
var_03.team = self.team;
|
|
var_03.var_C322 = param_00;
|
|
level.var_1639[param_00] = 1;
|
|
self.var_C2D3 = var_03;
|
|
var_03 thread func_C318();
|
|
var_03 thread func_C31F();
|
|
var_03 thread func_C31B();
|
|
var_03 thread func_C31D();
|
|
var_03 thread func_C31E();
|
|
var_03 thread func_C319();
|
|
var_03 thread func_C31A();
|
|
var_03 thread func_C31C();
|
|
var_03 thread func_C2DD();
|
|
var_03 thread func_C303();
|
|
var_03.var_222 scripts\mp\_matchdata::func_AFC9(level.var_C321[param_00].var_110EA,var_01);
|
|
return var_03;
|
|
}
|
|
|
|
//Function Number: 5
|
|
func_10DD2(param_00)
|
|
{
|
|
level endon("game_ended");
|
|
param_00 endon("death");
|
|
self.var_E2D7 = vectortoangles(anglestoforward(self.angles));
|
|
func_C30E(param_00);
|
|
if(getdvarint("camera_thirdPerson"))
|
|
{
|
|
scripts\mp\_utility::setthirdpersondof(0);
|
|
}
|
|
|
|
thread func_13AA8(param_00);
|
|
scripts\mp\_utility::func_7385(1);
|
|
func_C320(param_00);
|
|
thread scripts\mp\killstreaks\_juggernaut::func_55F4();
|
|
var_01 = scripts\mp\killstreaks\_killstreaks::func_98C2(param_00.var_C322);
|
|
if(var_01 != "success")
|
|
{
|
|
if(isdefined(self.var_55E6) && self.var_55E6)
|
|
{
|
|
scripts\common\utility::allow_weapon(1);
|
|
}
|
|
|
|
param_00 notify("death");
|
|
return 0;
|
|
}
|
|
|
|
scripts\mp\_utility::func_7385(0);
|
|
self method_825C(param_00);
|
|
param_00 thread func_13AA2(self);
|
|
param_00.var_C305 = function_01E1(level._effect["odin_fisheye"],self geteye(),self);
|
|
triggerfx(param_00.var_C305);
|
|
param_00.var_C305 method_82EC();
|
|
level thread scripts\mp\_utility::func_115DE(level.var_C321[param_00.var_C322].var_115EB,self);
|
|
self thermalvisionfofoverlayon();
|
|
thread func_1369B(param_00);
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 6
|
|
func_1369B(param_00)
|
|
{
|
|
self endon("disconnect");
|
|
param_00 endon("death");
|
|
wait(1);
|
|
var_01 = scripts\mp\_utility::func_C794(self,"cyan",self,0,0,"killstreak");
|
|
param_00 thread func_E146(var_01,self);
|
|
}
|
|
|
|
//Function Number: 7
|
|
func_C320(param_00)
|
|
{
|
|
var_01 = spawn("script_model",param_00.origin + (0,0,3000));
|
|
var_01.angles = vectortoangles((0,0,1));
|
|
var_01 setmodel("tag_origin");
|
|
var_01 thread func_13699(5);
|
|
var_02 = "odin_zoom_up";
|
|
var_03 = var_01 getentitynumber();
|
|
var_04 = self getentitynumber();
|
|
var_05 = bullettrace(self.origin,param_00.origin,0,self);
|
|
if(var_05["surfacetype"] != "none")
|
|
{
|
|
var_02 = "odin_zoom_down";
|
|
var_03 = param_00 getentitynumber();
|
|
var_04 = var_01 getentitynumber();
|
|
}
|
|
|
|
var_06 = scripts\common\utility::array_add(scripts\mp\_utility::func_7BC3(),self);
|
|
foreach(var_08 in var_06)
|
|
{
|
|
var_08 setclientomnvar("cam_scene_name",var_02);
|
|
var_08 setclientomnvar("cam_scene_lead",var_03);
|
|
var_08 setclientomnvar("cam_scene_support",var_04);
|
|
var_08 thread func_42CF();
|
|
}
|
|
}
|
|
|
|
//Function Number: 8
|
|
func_13699(param_00)
|
|
{
|
|
self endon("death");
|
|
level endon("game_ended");
|
|
wait(param_00);
|
|
self delete();
|
|
}
|
|
|
|
//Function Number: 9
|
|
func_42CF()
|
|
{
|
|
level endon("game_ended");
|
|
var_00 = spawn("script_model",self.origin + (0,0,250));
|
|
var_00.angles = vectortoangles((0,0,1));
|
|
var_00 setmodel("tag_origin");
|
|
var_00 thread func_13699(2);
|
|
wait(0.1);
|
|
playfxontagforclients(level._effect["odin_clouds"],var_00,"tag_origin",self);
|
|
}
|
|
|
|
//Function Number: 10
|
|
func_C30E(param_00)
|
|
{
|
|
scripts\mp\_utility::func_FB09(param_00.var_C322);
|
|
self.var_C2D3 = param_00;
|
|
}
|
|
|
|
//Function Number: 11
|
|
func_C2DA(param_00)
|
|
{
|
|
param_00.var_C2F8 = undefined;
|
|
param_00.var_C301 = undefined;
|
|
param_00.var_C311 = undefined;
|
|
param_00.var_C2D4 = undefined;
|
|
param_00.var_C2FA = undefined;
|
|
param_00.var_C310 = undefined;
|
|
if(isdefined(self))
|
|
{
|
|
scripts\mp\_utility::func_41E9();
|
|
self.var_C2D3 = undefined;
|
|
}
|
|
}
|
|
|
|
//Function Number: 12
|
|
func_13AA8(param_00)
|
|
{
|
|
self endon("disconnect");
|
|
self endon("joined_team");
|
|
self endon("joined_spectators");
|
|
level endon("game_ended");
|
|
param_00 endon("death");
|
|
self waittill("intro_cleared");
|
|
self setclientomnvar("ui_odin",level.var_C321[param_00.var_C322].var_12B20);
|
|
func_13A0D(param_00);
|
|
}
|
|
|
|
//Function Number: 13
|
|
func_C317(param_00)
|
|
{
|
|
while(isdefined(self.var_9BE2) && param_00 > 0)
|
|
{
|
|
wait(0.05);
|
|
param_00 = param_00 - 0.05;
|
|
}
|
|
}
|
|
|
|
//Function Number: 14
|
|
func_C318()
|
|
{
|
|
level endon("game_ended");
|
|
self endon("gone");
|
|
self waittill("death");
|
|
if(isdefined(self.var_222))
|
|
{
|
|
self.var_222 func_C2E3(self);
|
|
}
|
|
|
|
func_4074();
|
|
func_C317(3);
|
|
scripts\mp\_utility::func_4FC1();
|
|
level.var_1639[self.var_C322] = undefined;
|
|
self delete();
|
|
}
|
|
|
|
//Function Number: 15
|
|
func_C31F()
|
|
{
|
|
level endon("game_ended");
|
|
self endon("death");
|
|
self.var_222 endon("disconnect");
|
|
self.var_222 endon("joined_team");
|
|
self.var_222 endon("joined_spectators");
|
|
var_00 = level.var_C321[self.var_C322];
|
|
var_01 = var_00.var_11901;
|
|
scripts\mp\_hostmigration::func_13708(var_01);
|
|
thread func_C2FC();
|
|
}
|
|
|
|
//Function Number: 16
|
|
func_C31B()
|
|
{
|
|
level endon("game_ended");
|
|
self endon("death");
|
|
self endon("leaving");
|
|
self.var_222 scripts\common\utility::waittill_any_3("disconnect","joined_team","joined_spectators");
|
|
thread func_C2FC();
|
|
}
|
|
|
|
//Function Number: 17
|
|
func_C319()
|
|
{
|
|
level endon("game_ended");
|
|
self endon("death");
|
|
self endon("leaving");
|
|
self.var_222 endon("disconnect");
|
|
self.var_222 endon("joined_team");
|
|
self.var_222 endon("joined_spectators");
|
|
level waittill("objective_cam");
|
|
thread func_C2FC();
|
|
}
|
|
|
|
//Function Number: 18
|
|
func_C31D()
|
|
{
|
|
self endon("death");
|
|
self endon("leaving");
|
|
self.var_222 endon("disconnect");
|
|
self.var_222 endon("joined_team");
|
|
self.var_222 endon("joined_spectators");
|
|
level scripts\common\utility::waittill_any_3("round_end_finished","game_ended");
|
|
thread func_C2FC();
|
|
}
|
|
|
|
//Function Number: 19
|
|
func_C2FC()
|
|
{
|
|
self endon("death");
|
|
self notify("leaving");
|
|
var_00 = level.var_C321[self.var_C322];
|
|
scripts\mp\_utility::func_AAE7(var_00.var_13553);
|
|
if(isdefined(self.var_222))
|
|
{
|
|
self.var_222 func_C2E3(self);
|
|
}
|
|
|
|
self notify("gone");
|
|
func_4074();
|
|
func_C317(3);
|
|
scripts\mp\_utility::func_4FC1();
|
|
level.var_1639[self.var_C322] = undefined;
|
|
self delete();
|
|
}
|
|
|
|
//Function Number: 20
|
|
func_C2E3(param_00)
|
|
{
|
|
if(isdefined(param_00))
|
|
{
|
|
self setclientomnvar("ui_odin",-1);
|
|
param_00 notify("end_remote");
|
|
self notify("odin_ride_ended");
|
|
func_C2DA(param_00);
|
|
if(getdvarint("camera_thirdPerson"))
|
|
{
|
|
scripts\mp\_utility::setthirdpersondof(1);
|
|
}
|
|
|
|
self thermalvisionfofoverlayoff();
|
|
self method_825D(param_00);
|
|
self setplayerangles(self.var_E2D7);
|
|
thread func_C2EB();
|
|
self stoplocalsound("odin_negative_action");
|
|
self stoplocalsound("odin_positive_action");
|
|
foreach(var_02 in level.var_C321[param_00.var_C322].var_394)
|
|
{
|
|
if(isdefined(var_02.var_D5E4))
|
|
{
|
|
self stoplocalsound(var_02.var_D5E4);
|
|
}
|
|
|
|
if(isdefined(var_02.var_D5DD))
|
|
{
|
|
self stoplocalsound(var_02.var_D5DD);
|
|
}
|
|
}
|
|
|
|
if(isdefined(param_00.var_A4A3))
|
|
{
|
|
param_00.var_A4A3 scripts\mp\bots\_bots_strategy::func_2DC1(self,350);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 21
|
|
func_C2EB()
|
|
{
|
|
self endon("disconnect");
|
|
self endon("death");
|
|
level endon("game_ended");
|
|
scripts\mp\_utility::func_7385(1);
|
|
wait(0.5);
|
|
scripts\mp\_utility::func_7385(0);
|
|
}
|
|
|
|
//Function Number: 22
|
|
func_C31E()
|
|
{
|
|
self endon("death");
|
|
level endon("game_ended");
|
|
var_00 = self.var_222;
|
|
var_00 endon("disconnect");
|
|
var_01 = var_00 method_816E();
|
|
var_02 = var_01 + anglestoforward(self gettagangles("tag_player")) * 10000;
|
|
var_03 = bullettrace(var_01,var_02,0,self);
|
|
var_04 = spawn("script_model",var_03["position"]);
|
|
var_04.angles = vectortoangles((0,0,1));
|
|
var_04 setmodel("tag_origin");
|
|
self.var_1156A = var_04;
|
|
var_04 endon("death");
|
|
var_05 = bullettrace(var_04.origin + (0,0,50),var_04.origin + (0,0,-100),0,var_04);
|
|
var_04.origin = var_05["position"] + (0,0,50);
|
|
var_04 hide();
|
|
var_04 showtoplayer(var_00);
|
|
var_04 childthread func_B9F2(var_00);
|
|
thread func_10129();
|
|
thread func_1399C();
|
|
thread func_13AAF();
|
|
switch(self.var_C322)
|
|
{
|
|
case "odin_support":
|
|
thread func_13B49();
|
|
thread func_13ACA();
|
|
break;
|
|
|
|
case "odin_assault":
|
|
thread func_13AB1();
|
|
thread func_13B47();
|
|
break;
|
|
}
|
|
|
|
self method_831F(var_04);
|
|
}
|
|
|
|
//Function Number: 23
|
|
func_B9F2(param_00)
|
|
{
|
|
wait(1.5);
|
|
var_01 = [];
|
|
for(;;)
|
|
{
|
|
var_02 = param_00 scripts\mp\_utility::func_7BC3();
|
|
foreach(var_04 in var_01)
|
|
{
|
|
if(!scripts\common\utility::func_2286(var_02,var_04))
|
|
{
|
|
var_01 = scripts\common\utility::func_22A9(var_01,var_04);
|
|
self hide();
|
|
self showtoplayer(param_00);
|
|
}
|
|
}
|
|
|
|
foreach(var_04 in var_02)
|
|
{
|
|
self showtoplayer(var_04);
|
|
if(!scripts\common\utility::func_2286(var_01,var_04))
|
|
{
|
|
var_01 = scripts\common\utility::array_add(var_01,var_04);
|
|
stopfxontag(level._effect["odin_targeting"],self,"tag_origin");
|
|
wait(0.05);
|
|
playfxontag(level._effect["odin_targeting"],self,"tag_origin");
|
|
}
|
|
}
|
|
|
|
wait(0.25);
|
|
}
|
|
}
|
|
|
|
//Function Number: 24
|
|
func_1399C()
|
|
{
|
|
self endon("death");
|
|
level endon("game_ended");
|
|
var_00 = self.var_222;
|
|
var_00 endon("disconnect");
|
|
var_01 = level.var_C321[self.var_C322].var_394["airdrop"];
|
|
self.var_C2D4 = 0;
|
|
var_00 setclientomnvar(var_01.var_1E44,level.var_C321[self.var_C322].var_12B20);
|
|
if(!isai(var_00))
|
|
{
|
|
var_00 notifyonplayercommand("airdrop_action","+smoke");
|
|
}
|
|
|
|
for(;;)
|
|
{
|
|
var_00 waittill("airdrop_action");
|
|
if(isdefined(level.var_90A9))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!isdefined(var_00.var_C2D3))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(gettime() >= self.var_C2D4)
|
|
{
|
|
if(level.teambased)
|
|
{
|
|
scripts\mp\_utility::func_AAE7(var_01.var_13521,self.team);
|
|
}
|
|
else
|
|
{
|
|
var_00 scripts\mp\_utility::func_AAEC(var_01.var_13521);
|
|
}
|
|
|
|
self.var_C2D4 = func_C2E6("airdrop");
|
|
var_01 = level.var_C321[self.var_C322].var_394["airdrop"];
|
|
level thread scripts\mp\killstreaks\_airdrop::func_5857(var_00,self.var_1156A.origin,randomfloat(360),var_01.var_1AA0);
|
|
}
|
|
else
|
|
{
|
|
var_00 scripts\mp\_utility::_playlocalsound("odin_negative_action");
|
|
}
|
|
|
|
wait(1);
|
|
}
|
|
}
|
|
|
|
//Function Number: 25
|
|
func_13B49()
|
|
{
|
|
self endon("death");
|
|
level endon("game_ended");
|
|
var_00 = self.var_222;
|
|
var_00 endon("disconnect");
|
|
var_01 = level.var_C321[self.var_C322].var_394["smoke"];
|
|
self.var_C311 = 0;
|
|
var_00 setclientomnvar(var_01.var_1E44,level.var_C321[self.var_C322].var_12B20);
|
|
if(!isai(var_00))
|
|
{
|
|
var_00 notifyonplayercommand("smoke_action","+speed_throw");
|
|
var_00 notifyonplayercommand("smoke_action","+ads_akimbo_accessible");
|
|
if(!level.console)
|
|
{
|
|
var_00 notifyonplayercommand("smoke_action","+toggleads_throw");
|
|
}
|
|
}
|
|
|
|
for(;;)
|
|
{
|
|
var_00 waittill("smoke_action");
|
|
if(isdefined(level.var_90A9))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!isdefined(var_00.var_C2D3))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(gettime() >= self.var_C311)
|
|
{
|
|
if(level.teambased)
|
|
{
|
|
scripts\mp\_utility::func_AAE7(var_01.var_13551,self.team);
|
|
}
|
|
else
|
|
{
|
|
var_00 scripts\mp\_utility::func_AAEC(var_01.var_13551);
|
|
}
|
|
|
|
self.var_C311 = func_C2E6("smoke");
|
|
}
|
|
else
|
|
{
|
|
var_00 scripts\mp\_utility::_playlocalsound("odin_negative_action");
|
|
}
|
|
|
|
wait(1);
|
|
}
|
|
}
|
|
|
|
//Function Number: 26
|
|
func_13ACA()
|
|
{
|
|
self endon("death");
|
|
level endon("game_ended");
|
|
var_00 = self.var_222;
|
|
var_00 endon("disconnect");
|
|
var_01 = level.var_C321[self.var_C322].var_394["marking"];
|
|
self.var_C301 = 0;
|
|
var_00 setclientomnvar(var_01.var_1E44,level.var_C321[self.var_C322].var_12B20);
|
|
if(!isai(var_00))
|
|
{
|
|
var_00 notifyonplayercommand("marking_action","+attack");
|
|
var_00 notifyonplayercommand("marking_action","+attack_akimbo_accessible");
|
|
}
|
|
|
|
for(;;)
|
|
{
|
|
var_00 waittill("marking_action");
|
|
if(isdefined(level.var_90A9))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!isdefined(var_00.var_C2D3))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(gettime() >= self.var_C301)
|
|
{
|
|
self.var_C301 = func_C2E6("marking");
|
|
thread func_58EE(self.var_1156A.origin + (0,0,10));
|
|
}
|
|
else
|
|
{
|
|
var_00 scripts\mp\_utility::_playlocalsound("odin_negative_action");
|
|
}
|
|
|
|
wait(1);
|
|
}
|
|
}
|
|
|
|
//Function Number: 27
|
|
func_13AAF()
|
|
{
|
|
self endon("death");
|
|
level endon("game_ended");
|
|
var_00 = self.var_222;
|
|
var_00 endon("disconnect");
|
|
var_00 endon("juggernaut_dead");
|
|
var_01 = level.var_C321[self.var_C322].var_394["juggernaut"];
|
|
self.var_C2F8 = 0;
|
|
var_00 setclientomnvar(var_01.var_1E44,level.var_C321[self.var_C322].var_12B20);
|
|
if(!isai(var_00))
|
|
{
|
|
var_00 notifyonplayercommand("juggernaut_action","+frag");
|
|
}
|
|
|
|
for(;;)
|
|
{
|
|
var_00 waittill("juggernaut_action");
|
|
if(isdefined(level.var_90A9))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!isdefined(var_00.var_C2D3))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(gettime() >= self.var_C2F8)
|
|
{
|
|
var_02 = func_7F26(self.var_1156A.origin);
|
|
if(isdefined(var_02))
|
|
{
|
|
self.var_C2F8 = func_C2E6("juggernaut");
|
|
thread func_1369E(var_02);
|
|
}
|
|
else
|
|
{
|
|
var_00 scripts\mp\_utility::_playlocalsound("odin_negative_action");
|
|
}
|
|
}
|
|
else if(isdefined(self.var_A4A3))
|
|
{
|
|
var_02 = func_7F25(self.var_1156A.origin);
|
|
if(isdefined(var_02))
|
|
{
|
|
var_00 scripts\mp\_utility::func_AAEC(var_01.var_1352B);
|
|
var_00 scripts\mp\_utility::_playlocalsound("odin_positive_action");
|
|
var_00 playrumbleonentity("pistol_fire");
|
|
self.var_A4A3 scripts\mp\bots\_bots_strategy::func_2E57(var_02.origin,128);
|
|
var_00 setclientomnvar(var_01.var_1E44,level.var_C321[self.var_C322].var_12B20);
|
|
}
|
|
else
|
|
{
|
|
var_00 scripts\mp\_utility::_playlocalsound("odin_negative_action");
|
|
}
|
|
}
|
|
|
|
wait(1.1);
|
|
if(isdefined(self.var_A4A3))
|
|
{
|
|
var_00 setclientomnvar(var_01.var_1E44,var_01.var_12B23);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 28
|
|
func_13AB1()
|
|
{
|
|
self endon("death");
|
|
level endon("game_ended");
|
|
var_00 = self.var_222;
|
|
var_00 endon("disconnect");
|
|
var_01 = level.var_C321[self.var_C322].var_394["large_rod"];
|
|
self.var_C2FA = 0;
|
|
var_00 setclientomnvar(var_01.var_1E44,level.var_C321[self.var_C322].var_12B20);
|
|
if(!isai(var_00))
|
|
{
|
|
var_00 notifyonplayercommand("large_rod_action","+attack");
|
|
var_00 notifyonplayercommand("large_rod_action","+attack_akimbo_accessible");
|
|
}
|
|
|
|
for(;;)
|
|
{
|
|
var_00 waittill("large_rod_action");
|
|
if(isdefined(level.var_90A9))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!isdefined(var_00.var_C2D3))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(gettime() >= self.var_C2FA)
|
|
{
|
|
self.var_C2FA = func_C2E6("large_rod");
|
|
}
|
|
else
|
|
{
|
|
var_00 scripts\mp\_utility::_playlocalsound("odin_negative_action");
|
|
}
|
|
|
|
wait(1);
|
|
}
|
|
}
|
|
|
|
//Function Number: 29
|
|
func_13B47()
|
|
{
|
|
self endon("death");
|
|
level endon("game_ended");
|
|
var_00 = self.var_222;
|
|
var_00 endon("disconnect");
|
|
var_01 = level.var_C321[self.var_C322].var_394["small_rod"];
|
|
self.var_C310 = 0;
|
|
var_00 setclientomnvar(var_01.var_1E44,level.var_C321[self.var_C322].var_12B20);
|
|
if(!isai(var_00))
|
|
{
|
|
var_00 notifyonplayercommand("small_rod_action","+speed_throw");
|
|
var_00 notifyonplayercommand("small_rod_action","+ads_akimbo_accessible");
|
|
if(!level.console)
|
|
{
|
|
var_00 notifyonplayercommand("small_rod_action","+toggleads_throw");
|
|
}
|
|
}
|
|
|
|
for(;;)
|
|
{
|
|
var_00 waittill("small_rod_action");
|
|
if(isdefined(level.var_90A9))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(!isdefined(var_00.var_C2D3))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(gettime() >= self.var_C310)
|
|
{
|
|
self.var_C310 = func_C2E6("small_rod");
|
|
}
|
|
else
|
|
{
|
|
var_00 scripts\mp\_utility::_playlocalsound("odin_negative_action");
|
|
}
|
|
|
|
wait(1);
|
|
}
|
|
}
|
|
|
|
//Function Number: 30
|
|
func_C2E6(param_00)
|
|
{
|
|
self.var_9BE2 = 1;
|
|
var_01 = self.var_222;
|
|
var_02 = level.var_C321[self.var_C322].var_394[param_00];
|
|
var_03 = anglestoforward(var_01 getplayerangles());
|
|
var_04 = self.origin + var_03 * 100;
|
|
var_01 setclientomnvar(var_02.var_1E44,var_02.var_12B22);
|
|
thread func_13B21(var_02);
|
|
var_05 = self.var_1156A.origin;
|
|
var_06 = gettime() + var_02.var_DF5D * 1000;
|
|
if(param_00 == "large_rod")
|
|
{
|
|
wait(0.5);
|
|
var_01 playrumbleonentity(var_02.var_E7BA);
|
|
earthquake(0.3,1.5,self.origin,1000);
|
|
var_01 playsoundtoplayer(var_02.var_D5DD,var_01);
|
|
playsoundatpos(self.origin,var_02.var_C195);
|
|
wait(1.5);
|
|
}
|
|
else if(param_00 == "small_rod")
|
|
{
|
|
wait(0.5);
|
|
var_01 playrumbleonentity(var_02.var_E7BA);
|
|
earthquake(0.2,1,self.origin,1000);
|
|
var_01 playsoundtoplayer(var_02.var_D5DD,var_01);
|
|
playsoundatpos(self.origin,var_02.var_C195);
|
|
wait(0.3);
|
|
}
|
|
else
|
|
{
|
|
if(isdefined(var_02.var_D5DD))
|
|
{
|
|
var_01 playsoundtoplayer(var_02.var_D5DD,var_01);
|
|
}
|
|
|
|
if(isdefined(var_02.var_C195))
|
|
{
|
|
playsoundatpos(self.origin,var_02.var_C195);
|
|
}
|
|
|
|
var_01 playrumbleonentity(var_02.var_E7BA);
|
|
}
|
|
|
|
var_07 = scripts\mp\_utility::func_1309(var_02.var_DA5A,var_04,var_05,var_01);
|
|
var_07.type = "odin";
|
|
var_07 thread func_13A22(param_00);
|
|
if(param_00 == "smoke" || param_00 == "juggernaut" || param_00 == "large_rod")
|
|
{
|
|
level notify("smoke",var_07,var_02.var_DA5A);
|
|
}
|
|
|
|
self.var_9BE2 = undefined;
|
|
return var_06;
|
|
}
|
|
|
|
//Function Number: 31
|
|
func_13A22(param_00)
|
|
{
|
|
self waittill("explode",var_01);
|
|
if(param_00 == "small_rod")
|
|
{
|
|
playrumbleonposition("grenade_rumble",var_01);
|
|
earthquake(0.7,1,var_01,1000);
|
|
return;
|
|
}
|
|
|
|
if(param_00 == "large_rod")
|
|
{
|
|
playrumbleonposition("artillery_rumble",var_01);
|
|
earthquake(1,1,var_01,2000);
|
|
}
|
|
}
|
|
|
|
//Function Number: 32
|
|
func_7F26(param_00)
|
|
{
|
|
if(!isdefined(param_00))
|
|
{
|
|
return;
|
|
}
|
|
|
|
var_01 = getnodesinradiussorted(param_00,256,0,128,"Path");
|
|
if(!isdefined(var_01[0]))
|
|
{
|
|
return;
|
|
}
|
|
|
|
return var_01[0];
|
|
}
|
|
|
|
//Function Number: 33
|
|
func_7F25(param_00)
|
|
{
|
|
if(!isdefined(param_00))
|
|
{
|
|
return;
|
|
}
|
|
|
|
var_01 = getnodesinradiussorted(param_00,128,0,64,"Path");
|
|
if(!isdefined(var_01[0]))
|
|
{
|
|
return;
|
|
}
|
|
|
|
return var_01[0];
|
|
}
|
|
|
|
//Function Number: 34
|
|
func_1369E(param_00)
|
|
{
|
|
self endon("death");
|
|
level endon("game_ended");
|
|
var_01 = self.var_222;
|
|
var_01 endon("disconnect");
|
|
var_02 = self.var_1156A.origin;
|
|
wait(3);
|
|
var_03 = scripts\mp\agents\_agents::func_16F2("odin_juggernaut",var_01.team,"class1",param_00.origin,vectortoangles(var_02 - param_00.origin),var_01,0,0,"veteran");
|
|
if(isdefined(var_03))
|
|
{
|
|
var_04 = level.var_C321[self.var_C322].var_394["juggernaut"];
|
|
var_03 thread scripts\mp\killstreaks\_juggernaut::func_8371(var_04.var_A4AF);
|
|
var_03 thread scripts\mp\killstreaks\_agent_killstreak::func_F22B();
|
|
var_03 scripts\mp\bots\_bots_strategy::func_2E57(param_00.origin,128);
|
|
self.var_A4A3 = var_03;
|
|
thread func_13AAE();
|
|
var_01 setclientomnvar(var_04.var_1E44,var_04.var_12B23);
|
|
var_05 = scripts\mp\_utility::func_C794(var_03,"cyan",self.var_222,0,0,"killstreak");
|
|
thread func_E146(var_05,var_03);
|
|
var_03 scripts\mp\_utility::func_13CE("player_name_bg_green_agent","player_name_bg_red_agent");
|
|
return;
|
|
}
|
|
|
|
var_01 iprintlnbold(&"KILLSTREAKS_AGENT_MAX");
|
|
}
|
|
|
|
//Function Number: 35
|
|
func_13AAE()
|
|
{
|
|
self endon("death");
|
|
level endon("game_ended");
|
|
self.var_A4A3 waittill("death");
|
|
self.var_222 notify("juggernaut_dead");
|
|
var_00 = level.var_C321[self.var_C322].var_394["juggernaut"];
|
|
self.var_222 setclientomnvar(var_00.var_1E44,var_00.var_12B21);
|
|
self.var_A4A3 = undefined;
|
|
}
|
|
|
|
//Function Number: 36
|
|
func_10129()
|
|
{
|
|
self endon("death");
|
|
wait(1);
|
|
playfxontag(level._effect["odin_targeting"],self.var_1156A,"tag_origin");
|
|
}
|
|
|
|
//Function Number: 37
|
|
func_13B21(param_00)
|
|
{
|
|
self endon("death");
|
|
level endon("game_ended");
|
|
var_01 = self.var_222;
|
|
var_01 endon("disconnect");
|
|
var_01 endon("odin_ride_ended");
|
|
var_02 = param_00.var_1E44;
|
|
var_03 = param_00.var_DF5D;
|
|
var_04 = param_00.var_D5E4;
|
|
var_05 = level.var_C321[self.var_C322].var_12B20;
|
|
wait(var_03);
|
|
if(!isdefined(var_01.var_C2D3))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(isdefined(var_04))
|
|
{
|
|
var_01 scripts\mp\_utility::_playlocalsound(var_04);
|
|
}
|
|
|
|
var_01 setclientomnvar(var_02,var_05);
|
|
}
|
|
|
|
//Function Number: 38
|
|
func_58EE(param_00)
|
|
{
|
|
level endon("game_ended");
|
|
var_01 = self.var_222;
|
|
var_02 = level.var_C2FF * level.var_C2FF;
|
|
var_03 = level.var_C300 * level.var_C300;
|
|
var_04 = 60;
|
|
var_05 = 40;
|
|
var_06 = 11;
|
|
var_07 = 0;
|
|
foreach(var_09 in level.var_C928)
|
|
{
|
|
if(!scripts\mp\_utility::func_9F19(var_09) || var_09.sessionstate != "playing")
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(level.teambased && var_09.team == self.team)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_0A = distancesquared(param_00,var_09.origin);
|
|
if(var_0A > var_02)
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_0B = var_09 getstance();
|
|
var_0C = var_09.origin;
|
|
switch(var_0B)
|
|
{
|
|
case "stand":
|
|
var_0C = (var_0C[0],var_0C[1],var_0C[2] + var_04);
|
|
break;
|
|
|
|
case "crouch":
|
|
var_0C = (var_0C[0],var_0C[1],var_0C[2] + var_05);
|
|
break;
|
|
|
|
case "prone":
|
|
var_0C = (var_0C[0],var_0C[1],var_0C[2] + var_06);
|
|
break;
|
|
}
|
|
|
|
if(!bullettracepassed(param_00,var_0C,0,var_09))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(var_0A <= var_03)
|
|
{
|
|
var_0D = 1;
|
|
}
|
|
else
|
|
{
|
|
var_0D = 1 - var_0A - var_03 / var_02 - var_03;
|
|
}
|
|
|
|
var_0E = anglestoforward(var_09 getplayerangles());
|
|
var_0F = param_00 - var_0C;
|
|
var_0F = vectornormalize(var_0F);
|
|
var_10 = 0.5 * 1 + vectordot(var_0E,var_0F);
|
|
var_11 = 1;
|
|
var_09 notify("flashbang",param_00,var_0D,var_10,var_01,var_11);
|
|
var_07++;
|
|
if(!func_6565(var_09))
|
|
{
|
|
if(level.teambased)
|
|
{
|
|
var_12 = scripts\mp\_utility::func_C795(var_09,"orange",self.team,0,0,"killstreak");
|
|
}
|
|
else
|
|
{
|
|
var_12 = scripts\mp\_utility::func_C794(var_0A,"orange",self.var_222,0,0,"killstreak");
|
|
}
|
|
|
|
thread func_E146(var_12,var_09,3);
|
|
}
|
|
}
|
|
|
|
var_14 = level.var_C321[self.var_C322].var_394["marking"];
|
|
if(var_07 == 1)
|
|
{
|
|
if(level.teambased)
|
|
{
|
|
scripts\mp\_utility::func_AAE7(var_14.var_1354B,self.team);
|
|
}
|
|
else
|
|
{
|
|
var_01 scripts\mp\_utility::func_AAEC(var_14.var_1354B);
|
|
}
|
|
}
|
|
else if(var_07 > 1)
|
|
{
|
|
if(level.teambased)
|
|
{
|
|
scripts\mp\_utility::func_AAE7(var_14.var_1354A,self.team);
|
|
}
|
|
else
|
|
{
|
|
var_01 scripts\mp\_utility::func_AAEC(var_14.var_1354A);
|
|
}
|
|
}
|
|
|
|
var_15 = scripts\mp\_weapons::func_7E8C(param_00,512,0);
|
|
foreach(var_17 in var_15)
|
|
{
|
|
if(isdefined(var_17.var_222) && !scripts\mp\_weapons::func_7415(self.var_222,var_17.var_222))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_17 notify("emp_damage",self.var_222,8);
|
|
}
|
|
}
|
|
|
|
//Function Number: 39
|
|
func_20D2(param_00)
|
|
{
|
|
if(level.teambased && param_00.team == self.team)
|
|
{
|
|
return;
|
|
}
|
|
else if(!level.teambased && param_00 == self.var_222)
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(func_6565(param_00))
|
|
{
|
|
return;
|
|
}
|
|
|
|
var_01 = scripts\mp\_utility::func_C794(param_00,"orange",self.var_222,1,0,"killstreak");
|
|
thread func_E146(var_01,param_00);
|
|
}
|
|
|
|
//Function Number: 40
|
|
func_6565(param_00)
|
|
{
|
|
return param_00 scripts\mp\_utility::_hasperk("specialty_noplayertarget");
|
|
}
|
|
|
|
//Function Number: 41
|
|
func_E146(param_00,param_01,param_02)
|
|
{
|
|
if(isdefined(param_01))
|
|
{
|
|
param_01 endon("disconnect");
|
|
}
|
|
|
|
level endon("game_ended");
|
|
var_03 = ["leave","death"];
|
|
if(isdefined(param_02))
|
|
{
|
|
scripts\common\utility::func_1372F(var_03,param_02);
|
|
}
|
|
else
|
|
{
|
|
scripts\common\utility::func_13731(var_03);
|
|
}
|
|
|
|
if(isdefined(param_01))
|
|
{
|
|
scripts\mp\_utility::func_C78F(param_00,param_01);
|
|
}
|
|
}
|
|
|
|
//Function Number: 42
|
|
func_C31A()
|
|
{
|
|
self endon("death");
|
|
level endon("game_ended");
|
|
foreach(var_01 in level.var_C928)
|
|
{
|
|
func_20D2(var_01);
|
|
}
|
|
}
|
|
|
|
//Function Number: 43
|
|
func_C31C()
|
|
{
|
|
self endon("death");
|
|
level endon("game_ended");
|
|
self.var_63AB = 0;
|
|
for(;;)
|
|
{
|
|
level waittill("odin_killed_player",var_00);
|
|
self.var_63AB++;
|
|
self notify("odin_enemy_killed");
|
|
}
|
|
}
|
|
|
|
//Function Number: 44
|
|
func_C2DD(param_00)
|
|
{
|
|
self endon("death");
|
|
level endon("game_ended");
|
|
var_01 = level.var_C321[self.var_C322];
|
|
var_02 = 1;
|
|
for(;;)
|
|
{
|
|
self waittill("odin_enemy_killed");
|
|
wait(var_02);
|
|
if(self.var_63AB > 1)
|
|
{
|
|
self.var_222 scripts\mp\_utility::func_AAEC(var_01.var_1352C);
|
|
}
|
|
else
|
|
{
|
|
self.var_222 scripts\mp\_utility::func_AAEC(var_01.var_1352D);
|
|
}
|
|
|
|
self.var_63AB = 0;
|
|
}
|
|
}
|
|
|
|
//Function Number: 45
|
|
func_C303()
|
|
{
|
|
self endon("death");
|
|
level endon("game_ended");
|
|
for(;;)
|
|
{
|
|
level waittill("connected",var_00);
|
|
var_00 thread func_C304(self);
|
|
}
|
|
}
|
|
|
|
//Function Number: 46
|
|
func_C304(param_00)
|
|
{
|
|
self endon("disconnect");
|
|
self waittill("spawned_player");
|
|
param_00 func_20D2(self);
|
|
}
|
|
|
|
//Function Number: 47
|
|
func_4074()
|
|
{
|
|
if(isdefined(self.var_1156A))
|
|
{
|
|
self.var_1156A delete();
|
|
}
|
|
|
|
if(isdefined(self.var_C305))
|
|
{
|
|
self.var_C305 delete();
|
|
}
|
|
}
|
|
|
|
//Function Number: 48
|
|
func_13A0D(param_00)
|
|
{
|
|
level endon("game_ended");
|
|
param_00 endon("death");
|
|
param_00 thread scripts\mp\killstreaks\_killstreaks::func_1CA5();
|
|
param_00 waittill("killstreakExit");
|
|
var_01 = level.var_C321[param_00.var_C322];
|
|
scripts\mp\_utility::func_AAE7(var_01.var_13553);
|
|
param_00 notify("death");
|
|
} |