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

411 lines
8.3 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\mp\_adrenalinemist.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 23
* Decompile Time: 1121 ms
* Timestamp: 10/27/2023 12:14:22 AM
*******************************************************************/
//Function Number: 1
func_18A0()
{
level._effect["adrenaline_mist_friendly"] = loadfx("vfx/core/mp/equipment/vfx_adrenaline_device_mist_friend");
level._effect["adrenaline_mist_enemy"] = loadfx("vfx/core/mp/equipment/vfx_adrenaline_device_mist_enemy");
level._effect["adrenaline_mist_screen"] = loadfx("vfx/iw7/_requests/mp/vfx_adreno_fp_scrn");
}
//Function Number: 2
func_18A5(param_00)
{
if(!isalive(self))
{
param_00 delete();
return;
}
if(self method_81B5() || !self isonground() || self method_8446())
{
param_00 delete();
return;
}
param_00 hide();
var_01 = self canplayerplacesentry(1,12);
if(var_01["result"])
{
param_00.origin = var_01["origin"];
param_00.angles = var_01["angles"];
}
else
{
param_00.origin = self.origin;
param_00.angles = self.angles;
}
param_00 show();
self playlocalsound("trophy_turret_plant_plr");
self playsoundtoteam("trophy_turret_plant_npc","allies",self);
self playsoundtoteam("trophy_turret_plant_npc","axis",self);
var_02 = spawn("script_model",param_00.origin);
var_02.angles = param_00.angles;
var_02.team = self.team;
var_02.var_222 = self;
var_02 setmodel("mp_trophy_system_iw6");
var_02 thread func_189C(self);
var_02 thread func_18A7();
var_02 thread func_189D(self);
var_02 thread func_18A3(self);
var_02 thread scripts\mp\_weapons::func_66B4();
if(isdefined(param_00))
{
param_00 delete();
}
var_02 thread scripts\mp\_weapons::func_4988("mp_trophy_system_iw6_bombsquad","tag_origin",self);
var_02 thread func_189B(self);
var_02 thread func_18A1(45);
if(level.teambased)
{
var_02 scripts\mp\_entityheadicons::func_F877(self.team,(0,0,65));
}
else
{
var_02 scripts\mp\_entityheadicons::func_F7F2(self,(0,0,65));
}
scripts\mp\_weapons::func_C5AC(var_02,"power_adrenalineMist");
var_02 thread func_CEA3();
}
//Function Number: 3
func_189C(param_00)
{
scripts\mp\_damage::func_B9C6(100,"trophy",::func_189F,::func_18A2,0);
}
//Function Number: 4
func_189F(param_00,param_01,param_02,param_03)
{
if(isdefined(self.var_222) && param_00 != self.var_222)
{
param_00 scripts\mp\killstreaks\_killstreaks::func_83A0();
param_00 notify("destroyed_equipment");
}
self notify("detonateExplosive");
}
//Function Number: 5
func_18A2(param_00,param_01,param_02,param_03,param_04)
{
var_05 = param_03;
var_05 = scripts\mp\_damage::func_89C3(param_01,param_02,var_05);
var_05 = scripts\mp\_damage::func_8999(param_01,param_02,var_05);
var_05 = scripts\mp\_damage::func_8975(param_01,param_02,var_05);
return var_05;
}
//Function Number: 6
func_18A7()
{
level endon("game_ended");
self waittill("detonateExplosive");
self method_8292();
self stoploopsound();
scripts\mp\_weapons::func_66A6();
self notify("death");
var_00 = self.origin;
wait(3);
if(isdefined(self))
{
if(isdefined(self.var_A63A))
{
self.var_A63A delete();
}
scripts\mp\_weapons::func_66A8();
scripts\mp\_weapons::func_51B5();
}
}
//Function Number: 7
func_189D(param_00)
{
self endon("death");
param_00 waittill("disconnect");
self notify("detonateExplosive");
}
//Function Number: 8
func_18A3(param_00)
{
self endon("disconnect");
self endon("death");
param_00 waittill("spawned_player");
self notify("detonateExplosive");
}
//Function Number: 9
func_18A6(param_00)
{
self endon("death");
level endon("game_ended");
param_00 endon("disconnect");
param_00 endon("death");
self.trigger setcursorhint("HINT_NOICON");
self.trigger sethintstring(&"MP_PICKUP_ADRENALINE_MIST");
self.trigger scripts\mp\_utility::func_F838(param_00);
self.trigger thread scripts\mp\_utility::notusableforjoiningplayers(param_00);
for(;;)
{
self.trigger waittill("trigger",param_00);
self stoploopsound();
self method_8292();
param_00 setweaponammoclip("adrenaline_mist_mp",1);
scripts\mp\_weapons::func_51B5();
self notify("death");
}
}
//Function Number: 10
func_18A1(param_00)
{
self endon("death");
wait(param_00);
self notify("detonateExplosive");
}
//Function Number: 11
func_189B(param_00)
{
var_01 = spawn("trigger_radius",self.origin,0,150,100);
var_01 thread func_13992(param_00,self);
var_01 thread func_1398E(self);
var_01 thread func_13990(self);
self.var_72FE = ::func_18A4;
self.var_72F5 = ::func_189E;
self.var_FCA3 = 40;
foreach(var_03 in level.players)
{
if(!isdefined(var_03) || !scripts\mp\_utility::func_9F19(var_03))
{
continue;
}
var_03 thread func_CEA4(self,self.origin);
}
}
//Function Number: 12
func_13992(param_00,param_01)
{
self endon("death");
var_02 = 0;
for(;;)
{
self waittill("trigger",var_03);
if(var_03.team != param_00.team)
{
continue;
}
if(!isdefined(var_03.var_189A) || var_02 != param_01.var_FCA3)
{
if(var_02 != param_01.var_FCA3)
{
var_03 func_4193();
var_03 notify("exit_adrenaline_mist");
}
var_03.var_189A = 1;
var_03 scripts\mp\_utility::func_F741(param_01.var_FCA3);
var_02 = param_01.var_FCA3;
if(isplayer(var_03))
{
var_03.var_1894 = function_01E1(scripts\common\utility::getfx("adrenaline_mist_screen"),var_03 geteye(),var_03);
triggerfx(var_03.var_1894);
scripts\mp\_gamescore::func_11AC9(param_00,var_03,"adrenaline_mist_mp");
}
var_03 notify("enter_adrenaline_mist");
var_03 setclientomnvar("ui_adrenaline_mist",1);
var_03 thread func_13B83(self,param_00);
var_03 thread func_1398F(self);
var_03 thread func_13A09(self);
}
}
}
//Function Number: 13
func_13B83(param_00,param_01)
{
self endon("death");
param_00 endon("death");
for(;;)
{
if(isdefined(self))
{
if(!self istouching(param_00))
{
func_4193();
self notify("exit_adrenaline_mist");
scripts\mp\_gamescore::func_12D6E(param_01,self,"adrenaline_mist_mp");
break;
}
}
scripts\common\utility::func_136F7();
}
}
//Function Number: 14
func_1398F(param_00)
{
self endon("exit_adrenaline_mist");
param_00 waittill("death");
if(isdefined(self))
{
func_4193();
}
}
//Function Number: 15
func_13A09(param_00)
{
self endon("exit_adrenaline_mist");
param_00 endon("death");
self waittill("death");
if(isdefined(self))
{
func_4193();
}
}
//Function Number: 16
func_4193()
{
if(isdefined(self.var_189A))
{
self.var_189A = undefined;
scripts\mp\_utility::func_41B4();
if(isdefined(self.var_1894))
{
self.var_1894 delete();
}
self setclientomnvar("ui_adrenaline_mist",0);
}
}
//Function Number: 17
func_1398E(param_00)
{
level endon("game_ended");
param_00 waittill("death");
if(isdefined(self))
{
self delete();
}
}
//Function Number: 18
func_13990(param_00)
{
self endon("death");
for(;;)
{
if(self.origin != param_00.origin)
{
self.origin = param_00.origin;
}
wait(0.5);
}
}
//Function Number: 19
func_CEA4(param_00,param_01)
{
param_00 endon("death");
var_02 = undefined;
var_03 = param_01;
var_04 = 1;
for(;;)
{
if(isdefined(param_00) && var_04)
{
if(self.team == param_00.team)
{
var_02 = function_01E1(scripts\common\utility::getfx("adrenaline_mist_friendly"),var_03,self);
}
else
{
var_02 = function_01E1(scripts\common\utility::getfx("adrenaline_mist_enemy"),var_03,self);
}
if(isdefined(var_02))
{
triggerfx(var_02);
var_02 thread func_1398E(param_00);
thread func_13991(param_00,var_03,var_02,"disconnect","spawned_player",1);
thread func_13991(param_00,var_03,var_02,undefined,"disconnect",0);
}
var_04 = 0;
}
wait(0.5);
if(var_03 != param_00.origin)
{
if(isdefined(var_02))
{
var_02 delete();
}
var_03 = param_00.origin;
self notify("adrenaline_mist_moved");
var_04 = 1;
}
}
}
//Function Number: 20
func_13991(param_00,param_01,param_02,param_03,param_04,param_05)
{
param_00 endon("death");
self endon("adrenaline_mist_moved");
if(isdefined(param_03))
{
self endon(param_03);
}
self waittill(param_04);
if(isdefined(param_02))
{
param_02 delete();
}
if(isdefined(param_05) && param_05)
{
thread func_CEA4(param_00,param_01);
}
}
//Function Number: 21
func_CEA3()
{
}
//Function Number: 22
func_18A4()
{
self.var_FCA3 = 60;
}
//Function Number: 23
func_189E()
{
self.var_FCA3 = 40;
}