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

1162 lines
26 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\mp\_broshot.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 34
* Decompile Time: 2473 ms
* Timestamp: 10/27/2023 12:14:39 AM
*******************************************************************/
//Function Number: 1
initbroshotfx()
{
level._effect["FX_BRO_LIGHT"] = loadfx("vfx/iw7/_requests/mp/broshot/vfx_bs_light_fill.vfx");
level._effect["vfx_taunt_steel_dragon"] = loadfx("vfx/iw7/_requests/mp/frontend/vfx_taunt_steel_dragon.vfx");
level._effect["vfx_bombard_antigrav_pre_expl"] = loadfx("vfx/iw7/_requests/mp/vfx_bombard_antigrav_pre_expl.vfx");
level._effect["vfx_bombard_projectile_trail"] = loadfx("vfx/iw7/_requests/mp/vfx_bombard_projectile_trail.vfx");
level._effect["vfx_bombardment_strike_explosion"] = loadfx("vfx/iw7/_requests/mp/vfx_bombardment_strike_explosion.vfx");
level._effect["vfx_tnt_crate_smk"] = loadfx("vfx/iw7/levels/mp_frontend/vfx_tnt_crate_smk.vfx");
}
//Function Number: 2
forceinitbroshot()
{
level.forcebroshot = 1;
setomnvar("ui_broshot_debug",1);
return func_97E0();
}
//Function Number: 3
func_97E0(param_00)
{
level.var_37A8 = spawnstruct();
level.var_37A8.var_289A = getent("camera_mp_broshot","targetname");
level.var_37A8.var_3CAA[0] = getent("character_loc_broshot","targetname");
level.var_37A8.var_3CAA[2] = getent("character_loc_broshot_a","targetname");
level.var_37A8.var_3CAA[1] = getent("character_loc_broshot_b","targetname");
level.var_37A8.var_3CAA[3] = getent("character_loc_broshot_c","targetname");
level.var_37A8.var_3CAA[4] = getent("character_loc_broshot_d","targetname");
level.var_37A8.var_3CAA[5] = getent("character_loc_broshot_e","targetname");
if((!isdefined(self) || !isdefined(level.var_37A8.var_289A) || !isdefined(level.var_115D8) || !isdefined(level.var_115D8["allies"]) || !isdefined(level.var_115D8["axis"]) || level.var_115D8["allies"].size == 0 && level.var_115D8["axis"].size == 0) && !scripts\mp\_utility::func_9FB3(level.forcebroshot))
{
return 0;
}
if(level.teambased && !scripts\mp\_utility::func_9FB3(level.forcebroshot))
{
if(!isdefined(param_00))
{
var_01 = getteamscore("allies");
var_02 = getteamscore("axis");
if(var_01 == var_02)
{
return 0;
}
}
else if(param_00 == "tie" || param_00 == "none" || param_00 == "draw")
{
return 0;
}
}
else
{
var_03 = scripts\common\utility::func_22C3(level.players,::func_445C);
if(!scripts\mp\_utility::func_9FB3(level.forcebroshot) && var_03[0].var_278 <= 0)
{
return 0;
}
}
level.var_37A8.var_BE17 = 40;
level.var_37A8.var_3CAA[0].origin = level.var_37A8.var_3CAA[0].origin + function_02D3(level.var_37A8.var_3CAA[0].angles) * 6;
level.var_37A8.var_3CAA[2].origin = level.var_37A8.var_3CAA[2].origin + function_02D3(level.var_37A8.var_3CAA[2].angles) * 20;
level.var_37A8.var_3CAA[1].origin = level.var_37A8.var_3CAA[1].origin + function_02D3(level.var_37A8.var_3CAA[1].angles) * 12;
level.var_37A8.var_3CAA[4].origin = level.var_37A8.var_3CAA[4].origin + function_02D3(level.var_37A8.var_3CAA[4].angles) * 6;
level.var_37A8.var_3CAA[3].origin = level.var_37A8.var_3CAA[3].origin + anglestoright(level.var_37A8.var_3CAA[3].angles) * 0;
level.var_37A8.var_3CAA[5].origin = level.var_37A8.var_3CAA[5].origin + function_02D3(level.var_37A8.var_3CAA[5].angles) * 18;
level.var_37A8.var_3CAA[4].origin = level.var_37A8.var_3CAA[4].origin + anglestoforward(level.var_37A8.var_3CAA[4].angles) * -46;
level.var_37A8.var_3CAA[3].origin = level.var_37A8.var_3CAA[3].origin + anglestoforward(level.var_37A8.var_3CAA[3].angles) * -46;
level.var_37A8.var_3CAA[5].origin = level.var_37A8.var_3CAA[5].origin + anglestoforward(level.var_37A8.var_3CAA[5].angles) * -46;
setomnvar("ui_broshot_upside_down",scripts\mp\_utility::func_9FB3(level.upsidedowntaunts));
for(var_04 = 3;var_04 < 6;var_04++)
{
if(scripts\mp\_utility::func_9FB3(level.upsidedowntaunts))
{
var_05 = level.var_37A8.var_3CAA[var_04].origin + (0,0,25);
var_06 = (var_05[0],var_05[1],var_05[2] - 100);
}
else
{
var_05 = level.var_37A8.var_3CAA[var_04].origin;
var_06 = (var_05[0],var_05[1],var_05[2] + 100);
}
var_07 = scripts\common\trace::func_48BC(0,1,1,1,1,0,0);
var_08 = function_0287(var_06,var_05,var_07,undefined,1,"physicsquery_closest");
var_09 = isdefined(var_08) && var_08.size > 0;
if(var_09)
{
var_0A = var_08[0]["position"];
level.var_37A8.var_3CAA[var_04].origin = var_0A;
}
}
self.var_BE05 = [];
return 1;
}
//Function Number: 4
func_10D73(param_00)
{
if(!isdefined(param_00))
{
param_00 = self;
}
level.broshotrunning = 1;
func_40F4();
cleanupgamemodes();
var_01 = spawnstruct();
if(scripts\mp\_utility::func_9FB3(level.upsidedowntaunts))
{
var_01.origin = level.var_37A8.var_3CAA[0].origin + (30,-15,-95);
var_01.angles = level.var_37A8.var_289A.angles + (162,180,0);
}
else
{
var_01.origin = level.var_37A8.var_3CAA[0].origin;
var_01.angles = level.var_37A8.var_289A.angles;
}
foreach(var_03 in level.players)
{
var_03 scripts\mp\_playerlogic::func_E285(var_01.origin,var_01.angles);
var_03 scripts\mp\_gamelogic::func_7386();
var_03 method_8232();
}
function_031E();
level.var_1623 = var_01;
level.var_37A6 = spawn("script_model",var_01.origin);
level.var_37A6 setmodel("tag_origin");
level.var_37A6.angles = var_01.angles;
thread spawnfilllight();
if(scripts\mp\_utility::func_9FB3(level.forcebroshot))
{
if(level.var_115D8["allies"].size > 1)
{
level.topplayers = scripts\common\utility::func_22C3(level.var_115D8["allies"],::func_445C);
}
else
{
level.topplayers = [];
level.topplayers[0] = self;
}
}
else if(level.teambased)
{
if(!isdefined(param_00))
{
var_05 = getteamscore("allies");
var_06 = getteamscore("axis");
var_07 = scripts\common\utility::func_116D7(var_05 >= var_06,"allies","axis");
}
else
{
var_07 = var_01;
}
level.topplayers = scripts\common\utility::func_22C3(level.var_115D8[var_07],::func_445C);
}
else
{
level.topplayers = level.var_CC1D["all"];
}
level.supergunout = [];
level.interruptabletaunts = [];
level.firsttaunttracker = [];
foreach(var_03 in level.players)
{
var_03 hideeffectsforbroshot();
}
for(var_0A = 0;var_0A < 6;var_0A++)
{
if(!isdefined(level.topplayers[var_0A]))
{
break;
}
if(!isdefined(level.topplayers[var_0A].var_AE62))
{
continue;
}
self.var_BE05[var_0A] = spawnstruct();
if(level.gametype == "infect")
{
if(isbot(level.topplayers[var_0A]))
{
var_0B = level.topplayers[var_0A].var_AE62;
}
else
{
var_0B = level.topplayers[var_0A] scripts\mp\_class::func_3676();
}
}
else
{
var_0B = level.topplayers[var_0A].var_AE62;
}
var_0C = tablelookuprownum("mp/battleRigTable.csv",1,var_0B);
if(isbot(level.topplayers[var_0A]) || isdefined(level.topplayers[var_0A].var_A93D))
{
var_0D = level.topplayers[var_0A] method_8119();
var_0E = level.topplayers[var_0A] method_811A();
var_0F = tablelookuprownum("mp/cac/heads.csv",1,var_0E);
var_10 = tablelookuprownum("mp/cac/bodies.csv",1,var_0D);
if(isdefined(level.topplayers[var_0A].var_A93D))
{
var_0C = tablelookuprownum("mp/battleRigTable.csv",1,level.topplayers[var_0A].var_A93D.var_2123);
}
}
else
{
var_10 = level.topplayers[var_0A] scripts\mp\_teams::func_8078();
var_0F = level.topplayers[var_0A] scripts\mp\_teams::func_8073();
}
self.var_BE05[var_0A].var_26A = var_0C;
self.var_BE05[var_0A].var_6A = var_10;
self.var_BE05[var_0A].var_171 = var_0F;
self.var_BE05[var_0A].var_39C = getdisplayweapon(level.topplayers[var_0A]);
self.var_BE05[var_0A].var_9C = level.topplayers[var_0A] method_8567();
self.var_BE05[var_0A].name = level.topplayers[var_0A].name;
self.var_BE05[var_0A].var_3A3 = level.topplayers[var_0A] getxuid();
self.var_BE05[var_0A].var_D62C = var_0A;
self.var_BE05[var_0A].var_41F5 = level.topplayers[var_0A] getentitynumber();
level.topplayers[var_0A] setguntypeforui(var_0A);
level.topplayers[var_0A].bro = func_B29D(var_0A,level.var_37A8.var_3CAA[var_0A]);
}
foreach(var_03 in level.players)
{
var_03 setsoundsubmix("mp_broshot");
var_03 setsolid(0);
var_03 dontinterpolate();
if(isbot(var_03))
{
continue;
}
var_03 cameralinkto(level.var_37A6,"tag_origin",1);
var_03 thread scripts\mp\_utility::func_F8A0(0);
scripts\mp\_utility::func_144F("",0);
if(!scripts\mp\_utility::func_9FB3(level.forcebroshot))
{
var_03 thread fadetoblack(1.5);
}
}
level.var_37A6 scriptmodelplayanimdeltamotion("iw7_mp_brodium_cam");
thread tauntinputlisten(level.topplayers);
level thread func_C56E();
function_030D(-1,self.var_BE05);
return 13.5;
}
//Function Number: 5
hideeffectsforbroshot()
{
if(self.sessionteam == "spectator")
{
return;
}
if(!isdefined(self.var_AE62))
{
return;
}
self setscriptablepartstate("cloak","offImmediate",1);
self setscriptablepartstate("jet_pack","off",1);
self setscriptablepartstate("teamColorPins","off",1);
self setscriptablepartstate("armorUpMaterial","offImmediate",1);
self setscriptablepartstate("armorUp","neutral",1);
self setscriptablepartstate("light_armor","neutral",1);
self setscriptablepartstate("adrenaline","neutral",1);
self setscriptablepartstate("adrenalineHeal","neutral",1);
self setscriptablepartstate("pts_drone","off",1);
}
//Function Number: 6
spawnfilllight()
{
scripts\common\utility::func_136F7();
playfxontag(scripts\common\utility::getfx("FX_BRO_LIGHT"),level.var_37A6,"tag_origin");
}
//Function Number: 7
fadetoblack(param_00)
{
wait(12);
scripts\mp\_utility::func_144F("",0);
foreach(var_02 in level.players)
{
if(isbot(var_02))
{
continue;
}
var_02 visionsetfadetoblackforplayer("bw",param_00);
}
}
//Function Number: 8
func_40F4()
{
self notify("bro_shot_start");
scripts\mp\_weapons::func_51A7();
var_00 = getweaponarray();
if(isdefined(var_00))
{
foreach(var_02 in var_00)
{
var_02 delete();
}
}
}
//Function Number: 9
cleanupgamemodes()
{
if(isdefined(level.var_115CC))
{
if(isdefined(level.var_115CC[game["attackers"]]) && isdefined(level.var_115CC[game["attackers"]].visuals))
{
for(var_00 = 0;var_00 < level.var_115CC[game["attackers"]].visuals.size;var_00++)
{
level.var_115CC[game["attackers"]].visuals[var_00] hide();
}
}
if(isdefined(level.var_115CC[game["defenders"]]) && isdefined(level.var_115CC[game["defenders"]].visuals))
{
for(var_00 = 0;var_00 < level.var_115CC[game["defenders"]].visuals.size;var_00++)
{
level.var_115CC[game["defenders"]].visuals[var_00] hide();
}
}
}
if((level.gametype == "dom" || level.gametype == "siege") && isdefined(level.var_5913))
{
foreach(var_02 in level.var_5913)
{
if(isdefined(var_02))
{
var_02.var_289 setscriptablepartstate("flag","off");
var_02.var_289 setscriptablepartstate("pulse","off");
}
}
}
if(level.gametype == "grind" && isdefined(level.var_13FC1))
{
foreach(var_05 in level.var_13FC1)
{
if(isdefined(var_05) && isdefined(var_05.var_289))
{
var_05.var_289 setscriptablepartstate("flag","off");
var_05.var_289 setscriptablepartstate("pulse","off");
}
}
}
if((level.gametype == "sr" || level.gametype == "dd" | level.gametype == "sd") && isdefined(level.var_2C7A))
{
foreach(var_08 in level.var_2C7A)
{
if(isdefined(var_08) && isdefined(var_08.visuals))
{
for(var_09 = 0;var_09 < var_08.visuals.size;var_09++)
{
if(isdefined(var_08.visuals[var_09]))
{
var_08.visuals[var_09] hide();
}
}
}
}
}
if(level.gametype == "front" && isdefined(level.var_13FC4))
{
foreach(var_05 in level.var_13FC4)
{
if(isdefined(var_05) && isdefined(var_05.visuals))
{
for(var_09 = 0;var_09 < var_05.visuals.size;var_09++)
{
var_05.visuals[var_09] hide();
}
}
}
}
if(scripts\mp\_utility::func_9FB3(level.var_58C2))
{
if(isdefined(level.var_58C0))
{
foreach(var_0E in level.var_58C0)
{
if(isdefined(var_0E) && isdefined(var_0E.visuals))
{
for(var_09 = 0;var_09 < var_0E.visuals.size;var_09++)
{
var_0E.visuals[var_09] hide();
}
}
}
}
}
if(isdefined(level.var_2800))
{
foreach(var_11 in level.var_2800)
{
var_11.visuals[0] setscriptablepartstate("uplink_drone_hide","hide",0);
}
}
if((level.gametype == "koth" || level.gametype == "grnd") && isdefined(level.var_13FC4))
{
foreach(var_05 in level.var_13FC4)
{
if(isdefined(var_05) && isdefined(var_05.var_130AC) && isdefined(var_05.var_130AC.chevrons))
{
foreach(var_15 in var_05.var_130AC.chevrons)
{
for(var_09 = 0;var_09 < var_15.numchevrons;var_09++)
{
var_15 setscriptablepartstate("chevron_" + var_09,"off");
}
}
}
}
}
}
//Function Number: 10
tauntinputlisten(param_00)
{
wait(3);
for(var_01 = 0;var_01 < 3;var_01++)
{
if(!isdefined(param_00[var_01]) || isbot(param_00[var_01]))
{
continue;
}
param_00[var_01] thread func_AD7A(var_01);
}
}
//Function Number: 11
getdisplayweapon(param_00)
{
var_01 = param_00.var_A978;
if(!issubstr(var_01,param_00.pers["primaryWeapon"]) && !issubstr(var_01,param_00.pers["secondaryWeapon"]))
{
var_01 = param_00.var_10922;
}
if(issubstr(var_01,"iw7_fists_mp") || issubstr(var_01,"iw7_knife") || issubstr(var_01,"iw7_axe"))
{
var_01 = param_00.pers["secondaryWeapon"];
}
if(issubstr(var_01,"nunchucks") || issubstr(var_01,"katana"))
{
var_01 = "iw7_fists_mp";
}
return var_01;
}
//Function Number: 12
func_37B1(param_00,param_01,param_02,param_03)
{
self predictstreampos(param_00.origin);
wait(param_02);
level.var_37A6 method_8292();
var_04 = distance(level.var_37A6.origin,param_00.origin);
var_05 = var_04 / param_01;
if(var_05 < 0.05)
{
var_05 = 0.05;
}
level.var_37A6.var_BC77 = param_00;
level.var_37A6 moveto(param_00.origin,var_05);
level.var_37A6 rotateto(param_00.angles,var_05);
if(isdefined(param_03))
{
wait(var_05 - param_03);
thread scripts\mp\_utility::func_F8A0(param_03);
}
}
//Function Number: 13
func_6311()
{
level.broshotrunning = undefined;
self notify("broshot_done");
foreach(var_01 in level.players)
{
var_01 method_84D6();
}
}
//Function Number: 14
func_B29D(param_00,param_01)
{
var_02 = spawn("script_character",param_01.origin,0,0,param_00);
var_02.angles = param_01.angles;
if(scripts\mp\_utility::func_9FB3(level.var_C1C3) && param_00 == 0)
{
playfx(scripts\common\utility::getfx("mons_screen_ash"),param_01.origin);
}
return var_02;
}
//Function Number: 15
func_AD7A(param_00)
{
if(!isai(self) && scripts\common\utility::func_9C70())
{
self notifyonplayercommand("bro_action_1","+actionslot 1");
self notifyonplayercommand("bro_action_2","+actionslot 2");
self notifyonplayercommand("bro_action_3","+actionslot 3");
self notifyonplayercommand("bro_action_4","+actionslot 4");
}
else
{
self notifyonplayercommand("bro_action_1","+actionslot 3");
self notifyonplayercommand("bro_action_2","+actionslot 4");
self notifyonplayercommand("bro_action_3","+actionslot 5");
self notifyonplayercommand("bro_action_4","+actionslot 6");
}
for(;;)
{
thread func_AD79(param_00,1);
thread func_AD79(param_00,2);
thread func_AD79(param_00,3);
thread func_AD79(param_00,4);
self waittill("taunt_end");
}
}
//Function Number: 16
func_AD79(param_00,param_01)
{
self endon("taunt_start");
self endon("broshot_done");
for(;;)
{
self waittill("bro_action_" + param_01);
thread func_5ABE(param_00,param_01);
wait(0.05);
}
}
//Function Number: 17
func_5ABE(param_00,param_01)
{
self notify("taunt_start");
self endon("broshot_done");
if(isdefined(self.var_3C56))
{
var_02 = level.var_2127[self.var_3C56.var_2123];
if(level.rankedmatch)
{
var_03 = self getplayerdata("rankedloadouts","squadMembers","archetypePreferences",var_02,"taunts",param_01 - 1);
}
else
{
var_03 = self getplayerdata("privateloadouts","squadMembers","archetypePreferences",var_02,"taunts",param_01 - 1);
}
}
else if(level.rankedmatch)
{
var_03 = self getplayerdata("rankedloadouts","squadMembers","taunts",var_03 - 1);
}
else
{
var_03 = self getplayerdata("privateloadouts","squadMembers","taunts",var_03 - 1);
}
if(isdefined(level.overridebroslot))
{
param_00 = level.overridebroslot - 1;
}
if(isdefined(level.overridetaunt))
{
var_03 = tablelookup("mp/cac/taunts.csv",0,level.overridetaunt,1);
}
var_04 = tablelookuprownum("mp/cac/taunts.csv",1,var_03);
var_05 = tablelookup("mp/cac/taunts.csv",0,var_04,5);
if(var_05 == "")
{
return;
}
var_06 = tablelookup("mp/cac/taunts.csv",0,var_04,19);
var_07 = tablelookup("mp/cac/taunts.csv",0,var_04,20);
var_08 = tablelookup("mp/cac/taunts.csv",0,var_04,21);
var_09 = tablelookup("mp/cac/taunts.csv",0,var_04,12) == "Y";
var_0A = tablelookup("mp/cac/taunts.csv",0,var_04,9);
var_0B = "ui_broshot_anim_" + param_00;
if(isdefined(level.interruptabletaunts[param_00]) && level.interruptabletaunts[param_00] == var_0A)
{
self notify("taunt_end");
return;
}
var_0C = getdisplayweapon(self) == "none" || getdisplayweapon(self) == "iw7_fists_mp";
if(!isdefined(level.firsttaunttracker[var_0B]) && !var_0C)
{
if(!var_09 && isdefined(level.supergunout[var_0B]))
{
level.firsttaunttracker[var_0B] = 1;
func_DB36(var_0B);
}
if(!var_09)
{
level.supergunout[var_0B] = undefined;
}
}
if(var_09 && !isdefined(level.supergunout[var_0B]))
{
level.firsttaunttracker[var_0B] = undefined;
takesupergunout(var_0B,var_05);
level.supergunout[var_0B] = 1;
}
var_0D = tablelookup("mp/cac/taunts.csv",0,var_04,17);
var_0E = tablelookup("mp/cac/taunts.csv",0,var_04,18);
if(param_00 > 0 && var_0D != "" && var_0E != "")
{
if(param_00 == 1)
{
var_0A = var_0D;
}
else if(param_00 == 2)
{
var_0A = var_0E;
}
}
scripts\mp\broshot_utilities::processepictaunt(var_0A,param_00,1);
var_0F = "ui_broshot_anim_" + param_00;
setomnvar(var_0F,var_04);
var_10 = float(var_08) / 30;
var_11 = var_10;
if(var_06 != "")
{
var_11 = var_11 * float(var_06);
}
level.interruptabletaunts[param_00] = var_0A;
thread interruptblocker(param_00,var_10);
wait(var_11);
level.taunts_done = 1;
self notify("taunt_end");
}
//Function Number: 18
interruptblocker(param_00,param_01)
{
self notify("combo_started_" + param_00);
self endon("combo_started_" + param_00);
wait(param_01);
level.interruptabletaunts[param_00] = undefined;
}
//Function Number: 19
getaltgunanimstring()
{
var_00 = getdisplayweapon(self);
if(issubstr(var_00,"iw7_nrg") || issubstr(var_00,"iw7_udm45") || issubstr(var_00,"iw7_ump45_mpr_akimbo"))
{
return "_alt";
}
return "";
}
//Function Number: 20
getgunanimstring()
{
var_00 = getdisplayweapon(self);
if(issubstr(var_00,"minilmg_mpl") && !issubstr(var_00,"spooled"))
{
return "augfury";
}
if(issubstr(var_00,"akimbo"))
{
return "akimbo";
}
if(issubstr(var_00,"mp28"))
{
return "mp28";
}
if(issubstr(var_00,"chargeshot") || issubstr(var_00,"glprox") || issubstr(var_00,"venom"))
{
return "assault_rifle";
}
if(issubstr(var_00,"knife"))
{
return "knife";
}
if(issubstr(var_00,"axe"))
{
return "axe";
}
var_01 = scripts\mp\_utility::func_8225(var_00);
switch(var_01)
{
case "weapon_melee":
return "melee";
case "weapon_pistol":
return "pistol";
case "weapon_beam":
case "weapon_smg":
return "smg";
case "weapon_assault":
return "assault_rifle";
case "weapon_lmg":
return "lmg";
case "weapon_rail":
case "weapon_sniper":
case "weapon_dmr":
return "sniper";
case "weapon_shotgun":
return "shotgun";
case "weapon_projectile":
return "launcher";
default:
return "akimbo";
}
}
//Function Number: 21
getgunanimindex()
{
var_00 = getdisplayweapon(self);
var_01 = scripts\mp\_utility::func_8225(var_00);
if(issubstr(var_00,"minilmg_mpl") && !issubstr(var_00,"spooled"))
{
return 11;
}
if(issubstr(var_00,"mp28"))
{
return 12;
}
if(issubstr(var_00,"akimbo") && !issubstr(var_00,"akimbofmg") && !issubstr(var_00,"mod_akimboshotgun"))
{
if(issubstr(var_00,"iw7_nrg") || issubstr(var_00,"iw7_udm45") || issubstr(var_00,"iw7_ump45_mpr_akimbo"))
{
return 13;
}
return 8;
}
if(issubstr(var_00,"chargeshot") || issubstr(var_00,"glprox") || issubstr(var_00,"venom"))
{
return 2;
}
if(issubstr(var_00,"knife"))
{
return 9;
}
if(issubstr(var_00,"axe"))
{
return 10;
}
if(issubstr(var_00,"nunchuk") || issubstr(var_00,"katana"))
{
return 7;
}
switch(var_01)
{
case "weapon_pistol":
return 0;
case "weapon_beam":
case "weapon_smg":
return 1;
case "weapon_assault":
return 2;
case "weapon_lmg":
return 3;
case "weapon_rail":
case "weapon_sniper":
case "weapon_dmr":
return 4;
case "weapon_shotgun":
return 5;
case "weapon_projectile":
return 6;
case "weapon_melee":
default:
return 7;
}
}
//Function Number: 22
setguntypeforui(param_00)
{
var_01 = "ui_broshot_weapon_type_" + param_00;
setomnvar(var_01,getgunanimindex());
}
//Function Number: 23
func_DB36(param_00)
{
var_01 = getgunanimstring();
var_02 = var_01 + "_put_away" + getaltgunanimstring();
var_03 = tablelookuprownum("mp/cac/taunts.csv",1,var_02);
setomnvar(param_00,-1);
var_04 = getgunputawayduration(var_01);
wait(var_04);
}
//Function Number: 24
takesupergunout(param_00,param_01)
{
var_02 = getrigtransstringfromref(param_01) + "transout_0";
var_03 = tablelookuprownum("mp/cac/taunts.csv",1,var_02);
setomnvar(param_00,var_03 + 30000);
var_04 = getrigsupertakeoutdurationfromref(param_01);
wait(var_04);
}
//Function Number: 25
getrigtransstringfromref(param_00)
{
var_01 = "";
switch(param_00)
{
case "archetype_assault":
default:
var_01 = "war_";
break;
case "archetype_heavy":
var_01 = "heavy_";
break;
case "archetype_scout":
var_01 = "c6_";
break;
case "archetype_assassin":
var_01 = "ftl_";
break;
case "archetype_engineer":
var_01 = "stryker_";
break;
case "archetype_sniper":
var_01 = "ghost_";
break;
}
return var_01;
}
//Function Number: 26
getgunputawayduration(param_00)
{
var_01 = 0;
switch(param_00)
{
case "akimbo":
default:
var_01 = 1.067;
break;
case "launcher":
var_01 = 1.567;
break;
case "lmg":
var_01 = 1.333;
break;
case "pistol":
var_01 = 2.233;
break;
case "shotgun":
var_01 = 1.233;
break;
case "smg":
case "mp28":
var_01 = 1.2;
break;
case "sniper":
var_01 = 1.367;
break;
case "assault_rifle":
var_01 = 1.233;
break;
case "melee":
var_01 = 1.233;
break;
}
return var_01 - 0.2;
}
//Function Number: 27
getrigsupertakeoutdurationfromref(param_00)
{
var_01 = 0;
switch(param_00)
{
case "archetype_assault":
default:
var_01 = 1.733;
break;
case "archetype_heavy":
var_01 = 1.4;
break;
case "archetype_scout":
var_01 = 0.67;
break;
case "archetype_assassin":
var_01 = 1.133;
break;
case "archetype_engineer":
var_01 = 1.733;
break;
case "archetype_sniper":
var_01 = 1.3;
break;
}
return var_01 - 0.2;
}
//Function Number: 28
getrigsuperputawaydurationfromref(param_00)
{
var_01 = 0;
switch(param_00)
{
case "archetype_assault":
default:
var_01 = 1.267;
break;
case "archetype_heavy":
var_01 = 1.5;
break;
case "archetype_scout":
var_01 = 0.67;
break;
case "archetype_assassin":
var_01 = 1;
break;
case "archetype_engineer":
var_01 = 1.3;
break;
case "archetype_sniper":
var_01 = 1.167;
break;
}
return var_01 - 0.2;
}
//Function Number: 29
func_445C(param_00,param_01)
{
return param_00.var_278 >= param_01.var_278;
}
//Function Number: 30
func_C56E()
{
self endon("broshot_done");
for(;;)
{
level waittill("connected",var_00);
if(!isai(var_00))
{
thread startlatejoinpodium(var_00);
}
}
}
//Function Number: 31
startlatejoinpodium(param_00)
{
param_00 endon("disconnect");
wait(0.25);
param_00 cameralinkto(level.var_37A6,"tag_origin",1);
var_01 = param_00 getentitynumber();
function_030D(var_01,self.var_BE05);
}
//Function Number: 32
changetestrig(param_00,param_01)
{
level.overriderig = param_00;
var_02 = param_01 - 1;
var_03 = 0;
var_04 = 0;
var_05 = 0;
switch(param_00)
{
case 1:
default:
var_03 = 4;
var_04 = 18;
var_05 = 6;
break;
case 2:
var_03 = 12;
var_04 = 5;
var_05 = 1;
break;
case 3:
var_03 = 28;
var_04 = 1;
var_05 = 2;
break;
case 4:
var_03 = 57;
var_04 = 28;
var_05 = 3;
break;
case 5:
var_03 = 45;
var_04 = 39;
var_05 = 4;
break;
case 6:
var_03 = 27;
var_04 = 31;
var_05 = 5;
break;
}
self.var_BE05 = [];
var_06 = max(param_01,level.topplayers.size);
for(var_07 = 0;var_07 < var_06;var_07++)
{
self.var_BE05[var_07] = spawnstruct();
self.var_BE05[var_07].var_26A = var_05;
self.var_BE05[var_07].var_6A = var_04;
self.var_BE05[var_07].var_171 = var_03;
self.var_BE05[var_07].var_39C = getdisplayweapon(level.players[0]);
self.var_BE05[var_07].var_9C = level.players[0] method_8567();
self.var_BE05[var_07].name = level.players[0].name;
self.var_BE05[var_07].var_3A3 = level.players[0] getxuid();
self.var_BE05[var_07].var_D62C = param_01;
self.var_BE05[var_07].var_41F5 = level.players[0] getentitynumber();
if(!isdefined(level.topplayers[var_07]))
{
self.topplayers[var_07] = spawnstruct();
level.topplayers[var_07].bro = func_B29D(var_07,level.var_37A8.var_3CAA[var_07]);
}
}
for(var_07 = 0;var_07 < var_06;var_07++)
{
level.topplayers[var_07] setguntypeforui(var_07);
}
wait(0.05);
function_030D(-1,self.var_BE05);
}
//Function Number: 33
changetesttaunt(param_00)
{
level.overridetaunt = param_00;
}
//Function Number: 34
changetestslot(param_00)
{
level.overridebroslot = param_00;
if(!isdefined(level.topplayers[param_00 - 1]))
{
var_01 = 0;
if(isdefined(level.overriderig))
{
var_01 = level.overriderig;
}
changetestrig(var_01,param_00);
}
}