mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-11 02:37:56 -05:00
905 lines
19 KiB
Plaintext
905 lines
19 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: scripts\mp\_killcam.gsc
|
|
* Game: Call of Duty: Infinite Warfare
|
|
* Platform: PC
|
|
* Function Count: 26
|
|
* Decompile Time: 1061 ms
|
|
* Timestamp: 10/27/2023 12:20:43 AM
|
|
*******************************************************************/
|
|
|
|
//Function Number: 1
|
|
init()
|
|
{
|
|
level.var_A636 = scripts\mp\_tweakables::func_81E7("game","allowkillcam");
|
|
level.var_A63F = [];
|
|
var_00 = 0;
|
|
for(;;)
|
|
{
|
|
var_01 = tablelookupbyrow("mp/miscKillcamItems.csv",var_00,0);
|
|
if(!isdefined(var_01) || var_01 == "")
|
|
{
|
|
break;
|
|
}
|
|
|
|
var_01 = int(var_01);
|
|
var_02 = tablelookupbyrow("mp/miscKillcamItems.csv",var_00,1);
|
|
if(!isdefined(var_02) || var_02 == "")
|
|
{
|
|
break;
|
|
}
|
|
|
|
level.var_A63F[var_02] = var_01;
|
|
var_00++;
|
|
}
|
|
}
|
|
|
|
//Function Number: 2
|
|
func_F68F(param_00,param_01,param_02)
|
|
{
|
|
self setclientomnvar("cam_scene_name",param_00);
|
|
self setclientomnvar("cam_scene_lead",param_01);
|
|
self setclientomnvar("cam_scene_support",param_02);
|
|
}
|
|
|
|
//Function Number: 3
|
|
func_7F32(param_00,param_01,param_02)
|
|
{
|
|
if(!isdefined(param_00) || !isdefined(param_01) || param_00 == param_01 && !isagent(param_00))
|
|
{
|
|
return undefined;
|
|
}
|
|
|
|
if(scripts\mp\_utility::func_9FB3(param_01.israllytrap))
|
|
{
|
|
return param_01.var_A63A;
|
|
}
|
|
|
|
switch(param_02)
|
|
{
|
|
case "hashima_missiles_mp":
|
|
case "sentry_shock_grenade_mp":
|
|
case "jackal_fast_cannon_mp":
|
|
case "sentry_shock_missile_mp":
|
|
case "bombproj_mp":
|
|
case "sentry_shock_mp":
|
|
case "heli_pilot_turret_mp":
|
|
case "iw7_c8landing_mp":
|
|
case "super_trophy_mp":
|
|
case "micro_turret_gun_mp":
|
|
case "bouncingbetty_mp":
|
|
case "player_trophy_system_mp":
|
|
case "trophy_mp":
|
|
case "power_exploding_drone_mp":
|
|
case "trip_mine_mp":
|
|
case "bomb_site_mp":
|
|
return scripts\common\utility::func_116D7(isdefined(param_01.var_A63A),param_01.var_A63A,param_01);
|
|
|
|
case "remote_tank_projectile_mp":
|
|
case "jackal_turret_mp":
|
|
case "hind_missile_mp":
|
|
case "hind_bomb_mp":
|
|
case "aamissile_projectile_mp":
|
|
case "jackal_cannon_mp":
|
|
if(isdefined(param_01.var_131D8) && isdefined(param_01.var_131D8.var_A63A))
|
|
{
|
|
return param_01.var_131D8.var_A63A;
|
|
}
|
|
else if(isdefined(param_01.var_131D8))
|
|
{
|
|
return param_01.var_131D8;
|
|
}
|
|
break;
|
|
|
|
case "iw7_minigun_c8_mp":
|
|
case "iw7_chargeshot_c8_mp":
|
|
case "iw7_c8offhandshield_mp":
|
|
if(isdefined(param_00) && isdefined(param_00.var_4BE1) && param_00.var_4BE1 == "MANUAL")
|
|
{
|
|
return undefined;
|
|
}
|
|
break;
|
|
|
|
case "ball_drone_projectile_mp":
|
|
case "ball_drone_gun_mp":
|
|
if(isplayer(param_00) && isdefined(param_00.var_27D3) && isdefined(param_00.var_27D3.var_129B9) && isdefined(param_00.var_27D3.var_129B9.var_A63A))
|
|
{
|
|
return param_00.var_27D3.var_129B9.var_A63A;
|
|
}
|
|
break;
|
|
|
|
case "shockproj_mp":
|
|
if(isdefined(param_00.var_B7AA.var_A63A))
|
|
{
|
|
return param_00.var_B7AA.var_A63A;
|
|
}
|
|
break;
|
|
|
|
case "artillery_mp":
|
|
case "none":
|
|
if((isdefined(param_01.var_336) && param_01.var_336 == "care_package") || isdefined(param_01.var_A63A) && param_01.classname == "script_brushmodel" || param_01.classname == "trigger_multiple" || param_01.classname == "script_model")
|
|
{
|
|
return param_01.var_A63A;
|
|
}
|
|
break;
|
|
|
|
case "switch_blade_child_mp":
|
|
case "drone_hive_projectile_mp":
|
|
if(isdefined(param_00.extraeffectkillcam))
|
|
{
|
|
return param_00.extraeffectkillcam;
|
|
}
|
|
else
|
|
{
|
|
return undefined;
|
|
}
|
|
|
|
break;
|
|
|
|
case "alt_iw7_venomx_mp+venomxalt_burst":
|
|
case "remote_turret_mp":
|
|
case "ugv_turret_mp":
|
|
case "remotemissile_projectile_mp":
|
|
case "osprey_player_minigun_mp":
|
|
case "minijackal_assault_mp":
|
|
case "minijackal_strike_mp":
|
|
case "venomproj_mp":
|
|
case "iw7_venomx_mp+venomxalt_burst":
|
|
return undefined;
|
|
}
|
|
|
|
if(scripts\common\utility::func_9DC1(param_02) || scripts\mp\_utility::func_9D6E(param_02))
|
|
{
|
|
if(isdefined(param_01.var_A63A) && !param_00 scripts\mp\_utility::func_24ED())
|
|
{
|
|
return param_01.var_A63A;
|
|
}
|
|
else
|
|
{
|
|
return undefined;
|
|
}
|
|
}
|
|
|
|
return param_01;
|
|
}
|
|
|
|
//Function Number: 4
|
|
func_F76C(param_00,param_01,param_02,param_03,param_04,param_05,param_06)
|
|
{
|
|
param_05.var_37CC = "unknown";
|
|
if(isdefined(param_01) && isdefined(param_01.agent_type))
|
|
{
|
|
if(param_01.agent_type == "dog" || param_01.agent_type == "wolf")
|
|
{
|
|
func_F68F("killcam_dog",param_00 getentitynumber(),param_03 getentitynumber());
|
|
param_05.var_37CC = "killcam_dog";
|
|
}
|
|
else if(param_01.agent_type == "remote_c8")
|
|
{
|
|
func_F68F("killcam_rc8",param_00 getentitynumber(),param_03 getentitynumber());
|
|
param_05.var_37CC = "killcam_rc8";
|
|
}
|
|
else
|
|
{
|
|
func_F68F("killcam_agent",param_00 getentitynumber(),param_03 getentitynumber());
|
|
param_05.var_37CC = "killcam_agent";
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
else if(isdefined(param_06) && param_06 == "nuke_mp")
|
|
{
|
|
func_F68F("killcam_nuke",param_03 getentitynumber(),param_03 getentitynumber());
|
|
param_05.var_37CC = "killcam_nuke";
|
|
return 1;
|
|
}
|
|
else if(param_04 > 0)
|
|
{
|
|
func_F68F("unknown",-1,-1);
|
|
return 0;
|
|
}
|
|
else
|
|
{
|
|
func_F68F("unknown",-1,-1);
|
|
return 0;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 5
|
|
func_127CF(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08)
|
|
{
|
|
var_09 = param_05 + param_06;
|
|
if(isdefined(param_08) && var_09 > param_08)
|
|
{
|
|
if(param_08 < 2)
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(param_08 - param_05 >= 1)
|
|
{
|
|
param_06 = param_08 - param_05;
|
|
}
|
|
else
|
|
{
|
|
param_06 = 1;
|
|
param_05 = param_08 - 1;
|
|
}
|
|
|
|
var_09 = param_05 + param_06;
|
|
}
|
|
|
|
var_0A = param_05 + param_07;
|
|
if(isdefined(param_01) && isdefined(param_01.var_A9F6))
|
|
{
|
|
var_0B = param_01.var_A9F6;
|
|
}
|
|
else
|
|
{
|
|
var_0B = param_03.var_A9F6;
|
|
if(isdefined(param_02.var_4E72))
|
|
{
|
|
if(gettime() - param_02.var_4E72 < param_06 * 1000)
|
|
{
|
|
param_06 = 1;
|
|
param_06 = param_06 - 0.05;
|
|
var_09 = param_05 + param_06;
|
|
}
|
|
}
|
|
}
|
|
|
|
var_0C = gettime() - var_0B / 1000;
|
|
if(var_0A > var_0C && var_0C > param_07)
|
|
{
|
|
var_0D = var_0C - param_07;
|
|
if(param_05 > var_0D)
|
|
{
|
|
param_05 = var_0D;
|
|
var_09 = param_05 + param_06;
|
|
var_0A = param_05 + param_07;
|
|
}
|
|
}
|
|
|
|
var_0E = spawnstruct();
|
|
var_0E.var_37F1 = param_05;
|
|
var_0E.var_D6F8 = param_06;
|
|
var_0E.var_A63E = var_09;
|
|
var_0E.var_A640 = var_0A;
|
|
return var_0E;
|
|
}
|
|
|
|
//Function Number: 6
|
|
func_D83E(param_00,param_01)
|
|
{
|
|
if(isdefined(param_01) && !isagent(param_01))
|
|
{
|
|
if(isdefined(self.var_4004))
|
|
{
|
|
var_02 = spawnstruct();
|
|
scripts\mp\_playerlogic::func_806C(var_02,self.var_4004);
|
|
scripts\mp\_playerlogic::func_AEAD(var_02,1);
|
|
}
|
|
|
|
self method_81E6(param_01);
|
|
}
|
|
}
|
|
|
|
//Function Number: 7
|
|
func_A636(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B,param_0C,param_0D,param_0E,param_0F,param_10)
|
|
{
|
|
self endon("disconnect");
|
|
self endon("spawned");
|
|
level endon("game_ended");
|
|
if(level.var_10130)
|
|
{
|
|
function_02A9("atmosphere","killcam",0.1);
|
|
foreach(var_12 in level.players)
|
|
{
|
|
self playlocalsound("final_killcam_in");
|
|
self method_82C2("killcam","mix");
|
|
}
|
|
}
|
|
|
|
if(param_02 < 0 || !isdefined(param_0C))
|
|
{
|
|
return;
|
|
}
|
|
|
|
level.var_C23C++;
|
|
var_14 = 0.05 * level.var_C23C - 1;
|
|
level.var_B4A7 = var_14;
|
|
if(level.var_C23C > 1)
|
|
{
|
|
wait(var_14);
|
|
}
|
|
|
|
wait(0.05);
|
|
level.var_C23C--;
|
|
if(getdvar("scr_killcam_time") == "")
|
|
{
|
|
if(param_07 == "artillery_mp" || param_07 == "stealth_bomb_mp" || param_07 == "warhawk_mortar_mp")
|
|
{
|
|
var_15 = gettime() - param_04 / 1000 - param_08 - 0.1;
|
|
}
|
|
else if(param_08 == "remote_mortar_missile_mp")
|
|
{
|
|
var_15 = 6.5;
|
|
}
|
|
else if(level.var_10130)
|
|
{
|
|
var_15 = 4 + level.var_B4A7 - var_15;
|
|
}
|
|
else if(param_08 == "apache_minigun_mp")
|
|
{
|
|
var_15 = 3;
|
|
}
|
|
else if(param_08 == "javelin_mp")
|
|
{
|
|
var_15 = 8;
|
|
}
|
|
else if(param_08 == "iw7_niagara_mp")
|
|
{
|
|
var_15 = 5;
|
|
}
|
|
else if(issubstr(param_08,"remotemissile_"))
|
|
{
|
|
var_15 = 5;
|
|
}
|
|
else if(isdefined(param_01.var_F26E) && param_01.var_F26E == "multiturret")
|
|
{
|
|
var_15 = 2;
|
|
}
|
|
else if(!param_0B || param_0B > 5)
|
|
{
|
|
var_15 = 5;
|
|
}
|
|
else if(param_08 == "frag_grenade_mp" || param_08 == "frag_grenade_short_mp" || param_08 == "semtex_mp" || param_08 == "semtexproj_mp" || param_08 == "mortar_shell__mp" || param_08 == "cluster_grenade_mp")
|
|
{
|
|
var_15 = 4.25;
|
|
}
|
|
else
|
|
{
|
|
var_15 = 2.5;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
var_15 = getdvarfloat("scr_killcam_time");
|
|
}
|
|
|
|
if(isdefined(param_0B))
|
|
{
|
|
if(var_15 > param_0B)
|
|
{
|
|
var_15 = param_0B;
|
|
}
|
|
|
|
if(var_15 < 0.05)
|
|
{
|
|
var_15 = 0.05;
|
|
}
|
|
}
|
|
|
|
if(getdvar("scr_killcam_posttime") == "")
|
|
{
|
|
if(isdefined(param_00) && param_00 == param_0C)
|
|
{
|
|
var_16 = 3.5;
|
|
}
|
|
else
|
|
{
|
|
var_16 = 2;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
var_16 = getdvarfloat("scr_killcam_posttime");
|
|
if(var_16 < 0.05)
|
|
{
|
|
var_16 = 0.05;
|
|
}
|
|
}
|
|
|
|
if(param_02 < 0 || !isdefined(param_0C))
|
|
{
|
|
return;
|
|
}
|
|
|
|
var_17 = func_127CF(param_00,param_01,param_0C,param_0D,param_03,var_15,var_16,param_08,param_0B);
|
|
if(!isdefined(var_17))
|
|
{
|
|
return;
|
|
}
|
|
|
|
self setclientomnvar("ui_killcam_end_milliseconds",0);
|
|
if(level.var_10130)
|
|
{
|
|
self setclientomnvar("post_game_state",3);
|
|
}
|
|
|
|
if(isplayer(param_0C))
|
|
{
|
|
self setclientomnvar("ui_killcam_killedby_id",param_0C getentitynumber());
|
|
self setclientomnvar("ui_killcam_victim_id",param_0D getentitynumber());
|
|
self method_81E6(param_0C);
|
|
}
|
|
|
|
if(scripts\mp\_utility::func_9E6C(param_07))
|
|
{
|
|
func_F76E(param_07,param_10);
|
|
}
|
|
else
|
|
{
|
|
scripts\mp\perks\_perks::func_F7C5("ui_killcam_killedby_perk",param_0F);
|
|
}
|
|
|
|
var_18 = getdvarint("scr_player_forcerespawn");
|
|
if((param_0A && !level.var_7669) || isdefined(self) && isdefined(self.var_28CC) && !level.var_7669 || var_18 == 0 && !level.var_7669)
|
|
{
|
|
self setclientomnvar("ui_killcam_text","skip");
|
|
}
|
|
else if(!level.var_7669)
|
|
{
|
|
self setclientomnvar("ui_killcam_text","respawn");
|
|
}
|
|
else
|
|
{
|
|
self setclientomnvar("ui_killcam_text","none");
|
|
}
|
|
|
|
var_19 = gettime();
|
|
self notify("begin_killcam",var_19);
|
|
scripts\mp\_utility::func_12F19("spectator");
|
|
self.var_2B0 = 1;
|
|
if(isagent(param_0C) || isagent(param_00))
|
|
{
|
|
param_02 = param_0D getentitynumber();
|
|
param_09 = param_09 - 25;
|
|
}
|
|
|
|
self.var_140 = param_02;
|
|
self.var_1A9 = -1;
|
|
var_1A = func_F76C(param_00,param_01,param_02,param_0D,param_03,var_17,param_07);
|
|
if(!var_1A)
|
|
{
|
|
thread func_F76B(param_03,var_17.var_A640,param_04,param_05,param_06);
|
|
}
|
|
|
|
self.var_4A = var_17.var_A640;
|
|
self.var_A63E = var_17.var_A63E;
|
|
self.var_252 = param_09;
|
|
self allowspectateteam("allies",1);
|
|
self allowspectateteam("axis",1);
|
|
self allowspectateteam("freelook",1);
|
|
self allowspectateteam("none",1);
|
|
if(level.multiteambased)
|
|
{
|
|
foreach(var_1C in level.teamnamelist)
|
|
{
|
|
self allowspectateteam(var_1C,1);
|
|
}
|
|
}
|
|
|
|
thread func_6315();
|
|
wait(0.05);
|
|
if(!isdefined(self))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(self.var_4A < var_17.var_A640)
|
|
{
|
|
var_1E = var_17.var_A640 - self.var_4A;
|
|
if(game["truncated_killcams"] < 32)
|
|
{
|
|
game["truncated_killcams"]++;
|
|
}
|
|
}
|
|
|
|
var_17.var_37F1 = self.var_4A - 0.05 - param_08;
|
|
var_17.var_A63E = var_17.var_37F1 + var_17.var_D6F8;
|
|
self.var_A63E = var_17.var_A63E;
|
|
if(var_17.var_37F1 <= 0)
|
|
{
|
|
scripts\mp\_utility::func_12F19("dead");
|
|
scripts\mp\_utility::func_41BF();
|
|
self notify("killcam_ended");
|
|
return;
|
|
}
|
|
|
|
var_1F = level.var_10130;
|
|
self setclientomnvar("ui_killcam_end_milliseconds",int(var_17.var_A63E * 1000) + gettime());
|
|
if(var_1F)
|
|
{
|
|
self setclientomnvar("ui_killcam_victim_or_attacker",1);
|
|
}
|
|
|
|
if(var_1F)
|
|
{
|
|
thread scripts\mp\_final_killcam::func_5854(var_17,self.var_1A9,param_0C,param_0D,param_0E);
|
|
}
|
|
|
|
self.var_A636 = 1;
|
|
if(isdefined(self.var_28CC) && !level.var_7669)
|
|
{
|
|
self.var_28CD = gettime();
|
|
}
|
|
|
|
thread func_10855();
|
|
if(!level.var_10130)
|
|
{
|
|
thread func_13715(param_0A);
|
|
}
|
|
else
|
|
{
|
|
self notify("showing_final_killcam");
|
|
}
|
|
|
|
thread func_635D();
|
|
func_13836();
|
|
if(level.var_10130)
|
|
{
|
|
thread scripts\mp\_playerlogic::func_10857();
|
|
return;
|
|
}
|
|
|
|
thread func_A639(1);
|
|
}
|
|
|
|
//Function Number: 8
|
|
func_F770(param_00,param_01,param_02)
|
|
{
|
|
var_03 = getweaponbasename(param_00);
|
|
if(!isdefined(var_03) || var_03 == "none")
|
|
{
|
|
func_41BD();
|
|
return;
|
|
}
|
|
|
|
var_04 = scripts\mp\_utility::func_7E9D(var_03);
|
|
if(isdefined(scripts\mp\_supers::func_7F0D(var_03)))
|
|
{
|
|
func_F772(var_03);
|
|
return;
|
|
}
|
|
|
|
if(isdefined(var_04) && var_04 == "lethal" || var_04 == "tactical")
|
|
{
|
|
func_F771(var_03);
|
|
return;
|
|
}
|
|
|
|
if(isdefined(level.var_A63F[var_03]))
|
|
{
|
|
func_F76F(level.var_A63F[var_03]);
|
|
return;
|
|
}
|
|
|
|
func_F773(param_00,param_02);
|
|
}
|
|
|
|
//Function Number: 9
|
|
func_13836()
|
|
{
|
|
self endon("abort_killcam");
|
|
if(level.var_10130)
|
|
{
|
|
thread scripts\mp\_utility::func_F8A0(1,self.var_A63E - 0.5);
|
|
}
|
|
|
|
wait(self.var_A63E - 0.05);
|
|
if(level.var_10130)
|
|
{
|
|
function_02A9("atmosphere","",0.5);
|
|
self playlocalsound("final_killcam_out");
|
|
self method_8070(4);
|
|
}
|
|
}
|
|
|
|
//Function Number: 10
|
|
func_F76B(param_00,param_01,param_02,param_03,param_04)
|
|
{
|
|
self endon("disconnect");
|
|
self endon("killcam_ended");
|
|
var_05 = gettime() - param_01 * 1000;
|
|
if(param_02 > var_05)
|
|
{
|
|
wait(0.05);
|
|
param_01 = self.var_4A;
|
|
var_05 = gettime() - param_01 * 1000;
|
|
if(param_02 > var_05)
|
|
{
|
|
wait(param_02 - var_05 / 1000);
|
|
}
|
|
}
|
|
|
|
self.var_1A9 = param_00;
|
|
if(isdefined(param_03))
|
|
{
|
|
self.var_1AA = param_03;
|
|
}
|
|
|
|
if(isdefined(param_04))
|
|
{
|
|
self method_85C4(param_04);
|
|
}
|
|
}
|
|
|
|
//Function Number: 11
|
|
func_13715(param_00)
|
|
{
|
|
self endon("disconnect");
|
|
self endon("killcam_ended");
|
|
if(!isai(self))
|
|
{
|
|
self notifyonplayercommand("kc_respawn","+usereload");
|
|
self notifyonplayercommand("kc_respawn","+activate");
|
|
if(scripts\mp\killstreaks\_orbital_deployment::func_D39C("orbital_deployment"))
|
|
{
|
|
thread func_1CA0(param_00);
|
|
}
|
|
|
|
self waittill("kc_respawn");
|
|
self.var_3881 = 1;
|
|
if(param_00 <= 0)
|
|
{
|
|
scripts\mp\_utility::clearlowermessage("kc_info");
|
|
}
|
|
|
|
self notify("abort_killcam");
|
|
}
|
|
}
|
|
|
|
//Function Number: 12
|
|
func_1CA0(param_00)
|
|
{
|
|
self notifyonplayercommand("orbital_deployment_action","+attack");
|
|
self notifyonplayercommand("orbital_deployment_action","+attack_akimbo_accessible");
|
|
self setclientomnvar("ui_orbital_deployment_killcam_text",1);
|
|
var_01 = scripts\common\utility::func_13734("orbital_deployment_action","spawned_player");
|
|
if(var_01 == "spawned_player")
|
|
{
|
|
self setclientomnvar("ui_orbital_deployment_killcam_text",0);
|
|
return;
|
|
}
|
|
|
|
self.var_3881 = 1;
|
|
if(param_00 <= 0)
|
|
{
|
|
scripts\mp\_utility::clearlowermessage("kc_info");
|
|
}
|
|
|
|
self notify("abort_killcam");
|
|
self waittill("spawned_player");
|
|
self setclientomnvar("ui_orbital_deployment_killcam_text",0);
|
|
var_02 = scripts\mp\killstreaks\_killstreaks::func_8207("orbital_deployment");
|
|
if(isdefined(var_02))
|
|
{
|
|
var_03 = scripts\mp\killstreaks\_killstreaks::func_7F45(var_02);
|
|
var_03.var_98F2 = 1;
|
|
scripts\mp\killstreaks\_killstreaks::func_A69A(var_03);
|
|
}
|
|
}
|
|
|
|
//Function Number: 13
|
|
func_635D()
|
|
{
|
|
self endon("disconnect");
|
|
self endon("killcam_ended");
|
|
for(;;)
|
|
{
|
|
if(self.var_4A <= 0)
|
|
{
|
|
break;
|
|
}
|
|
|
|
wait(0.05);
|
|
}
|
|
|
|
self notify("abort_killcam");
|
|
}
|
|
|
|
//Function Number: 14
|
|
func_10855()
|
|
{
|
|
self endon("disconnect");
|
|
self endon("killcam_ended");
|
|
self waittill("spawned");
|
|
thread func_A639(0);
|
|
}
|
|
|
|
//Function Number: 15
|
|
func_6315()
|
|
{
|
|
self endon("disconnect");
|
|
self endon("killcam_ended");
|
|
level waittill("game_ended");
|
|
thread func_A639(1);
|
|
}
|
|
|
|
//Function Number: 16
|
|
clearkillcamomnvars()
|
|
{
|
|
func_41BE();
|
|
self setclientomnvar("ui_killcam_end_milliseconds",0);
|
|
self setclientomnvar("ui_killcam_killedby_id",-1);
|
|
self setclientomnvar("ui_killcam_victim_id",-1);
|
|
self setclientomnvar("ui_killcam_killedby_loot_variant_id",-1);
|
|
self setclientomnvar("ui_killcam_killedby_weapon_rarity",-1);
|
|
func_41BD();
|
|
for(var_00 = 0;var_00 < 6;var_00++)
|
|
{
|
|
self setclientomnvar("ui_killcam_killedby_perk" + var_00,-1);
|
|
}
|
|
}
|
|
|
|
//Function Number: 17
|
|
func_A639(param_00)
|
|
{
|
|
clearkillcamomnvars();
|
|
if(level.var_10130)
|
|
{
|
|
setomnvarforallclients("post_game_state",1);
|
|
}
|
|
|
|
self.var_A636 = undefined;
|
|
var_01 = level.var_10130;
|
|
if(!var_01)
|
|
{
|
|
func_F68F("unknown",-1,-1);
|
|
}
|
|
|
|
if(!level.var_7669)
|
|
{
|
|
scripts\mp\_utility::clearlowermessage("kc_info");
|
|
}
|
|
|
|
thread scripts\mp\_spectating::func_F857();
|
|
self notify("killcam_ended");
|
|
if(!param_00)
|
|
{
|
|
return;
|
|
}
|
|
|
|
scripts\mp\_utility::func_12F19("dead");
|
|
scripts\mp\_utility::func_41BF();
|
|
}
|
|
|
|
//Function Number: 18
|
|
clearlootweaponomnvars()
|
|
{
|
|
self setclientomnvar("ui_killcam_killedby_loot_variant_id",-1);
|
|
self setclientomnvar("ui_killcam_killedby_weapon_rarity",-1);
|
|
}
|
|
|
|
//Function Number: 19
|
|
func_41BE()
|
|
{
|
|
self setclientomnvar("ui_killcam_killedby_item_type",-1);
|
|
self setclientomnvar("ui_killcam_killedby_item_id",-1);
|
|
}
|
|
|
|
//Function Number: 20
|
|
func_F76D(param_00,param_01)
|
|
{
|
|
self setclientomnvar("ui_killcam_killedby_item_type",param_00);
|
|
self setclientomnvar("ui_killcam_killedby_item_id",param_01);
|
|
}
|
|
|
|
//Function Number: 21
|
|
func_F773(param_00,param_01)
|
|
{
|
|
param_00 = scripts\mp\_utility::func_13CA1(param_00,param_01);
|
|
var_02 = scripts\mp\_utility::func_8234(param_00);
|
|
var_03 = tablelookuprownum("mp/statsTable.csv",4,var_02);
|
|
if(!isdefined(var_03) || var_03 < 0)
|
|
{
|
|
func_F76D(-1,-1);
|
|
return;
|
|
}
|
|
|
|
var_04 = scripts\mp\_loot::func_7F82(param_00);
|
|
if(isdefined(var_04))
|
|
{
|
|
self setclientomnvar("ui_killcam_killedby_loot_variant_id",var_04.var_1318B);
|
|
self setclientomnvar("ui_killcam_killedby_weapon_rarity",var_04.var_DB52 - 1);
|
|
}
|
|
else
|
|
{
|
|
self setclientomnvar("ui_killcam_killedby_loot_variant_id",-1);
|
|
self setclientomnvar("ui_killcam_killedby_weapon_rarity",-1);
|
|
}
|
|
|
|
self setclientomnvar("ui_killcam_killedby_weapon_rarity_notify",gettime());
|
|
func_F76D(0,var_03);
|
|
if(var_02 != "iw7_knife")
|
|
{
|
|
var_05 = function_00E3(param_00);
|
|
if(!isdefined(var_05))
|
|
{
|
|
var_05 = [];
|
|
}
|
|
|
|
var_06 = 0;
|
|
for(var_07 = 0;var_07 < var_05.size;var_07++)
|
|
{
|
|
var_08 = var_05[var_07];
|
|
var_09 = scripts\mp\_utility::func_2494(var_08);
|
|
if(scripts\mp\_weapons::func_9F3C(var_02,var_09))
|
|
{
|
|
if(var_06 >= 6)
|
|
{
|
|
break;
|
|
}
|
|
|
|
var_0A = tablelookuprownum("mp/attachmentTable.csv",4,var_08);
|
|
self setclientomnvar("ui_killcam_killedby_attachment" + var_06 + 1,var_0A);
|
|
var_06++;
|
|
}
|
|
}
|
|
|
|
for(var_07 = var_06;var_07 < 6;var_07++)
|
|
{
|
|
self setclientomnvar("ui_killcam_killedby_attachment" + var_07 + 1,-1);
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 22
|
|
func_F772(param_00)
|
|
{
|
|
var_01 = scripts\mp\_supers::func_7F0D(param_00);
|
|
func_F76D(2,var_01);
|
|
clearlootweaponomnvars();
|
|
func_41BD();
|
|
}
|
|
|
|
//Function Number: 23
|
|
func_F76E(param_00,param_01)
|
|
{
|
|
var_02 = scripts\mp\_utility::func_7F44(level.var_A6C5[param_00]);
|
|
if(isdefined(param_01))
|
|
{
|
|
var_02 = param_01.var_92B8;
|
|
var_03 = param_01.rarity;
|
|
self setclientomnvar("ui_killcam_killedby_item_type",1);
|
|
self setclientomnvar("ui_killcam_killedby_loot_variant_id",var_02);
|
|
self setclientomnvar("ui_killcam_killedby_weapon_rarity",var_03 - 1);
|
|
}
|
|
else
|
|
{
|
|
func_F76D(1,var_02);
|
|
clearlootweaponomnvars();
|
|
}
|
|
|
|
func_41BD();
|
|
}
|
|
|
|
//Function Number: 24
|
|
func_F771(param_00)
|
|
{
|
|
var_01 = level.var_D7A4[param_00];
|
|
var_02 = level.var_D782[var_01].var_92B8;
|
|
func_F76D(3,var_02);
|
|
clearlootweaponomnvars();
|
|
func_41BD();
|
|
}
|
|
|
|
//Function Number: 25
|
|
func_F76F(param_00)
|
|
{
|
|
func_F76D(4,param_00);
|
|
clearlootweaponomnvars();
|
|
func_41BD();
|
|
}
|
|
|
|
//Function Number: 26
|
|
func_41BD()
|
|
{
|
|
for(var_00 = 0;var_00 < 6;var_00++)
|
|
{
|
|
self setclientomnvar("ui_killcam_killedby_attachment" + var_00 + 1,-1);
|
|
}
|
|
} |