mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-10 10:27:55 -05:00
912 lines
20 KiB
Plaintext
912 lines
20 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: scripts\mp\broshot_utilities.gsc
|
|
* Game: Call of Duty: Infinite Warfare
|
|
* Platform: PC
|
|
* Function Count: 22
|
|
* Decompile Time: 808 ms
|
|
* Timestamp: 10/27/2023 12:22:33 AM
|
|
*******************************************************************/
|
|
|
|
//Function Number: 1
|
|
processepictaunt(param_00,param_01,param_02)
|
|
{
|
|
if(param_01 >= 0 && isdefined(level.var_37A8.var_3CAA))
|
|
{
|
|
var_03 = level.var_37A8.var_3CAA[param_01].origin;
|
|
var_04 = level.var_37A8.var_3CAA[param_01].angles;
|
|
if(isdefined(level.overridebroslot))
|
|
{
|
|
param_01 = level.overridebroslot - 1;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
var_03 = level.var_3CB3.origin;
|
|
var_04 = level.var_3CB3.angles;
|
|
param_01 = 0;
|
|
}
|
|
|
|
if(tauntinprogress(param_01))
|
|
{
|
|
return;
|
|
}
|
|
|
|
var_05 = param_00;
|
|
if(var_05 == "IW7_mp_taunt_drone_crush_01")
|
|
{
|
|
if(param_02 && !isdefined(level.losersinteractable) || level.losersinteractable == 1)
|
|
{
|
|
var_05 = "IW7_mp_taunt_drone_crush_01_nohit";
|
|
if(isdefined(level.topplayers[3]))
|
|
{
|
|
var_05 = "IW7_mp_taunt_drone_crush_01_hit";
|
|
}
|
|
}
|
|
}
|
|
|
|
processtauntsound(var_05);
|
|
deleteepictauntprops(param_01);
|
|
var_06 = [];
|
|
var_07 = [];
|
|
var_08 = [];
|
|
var_09 = [];
|
|
var_0A = [];
|
|
var_0B = [];
|
|
var_0C = [];
|
|
var_0D = [];
|
|
var_0E = 0;
|
|
var_0F = 0;
|
|
var_10 = [];
|
|
var_11 = [];
|
|
var_12 = [];
|
|
var_13 = [];
|
|
var_14 = [];
|
|
var_15 = 0;
|
|
var_16 = 0;
|
|
var_17 = [];
|
|
var_18 = [];
|
|
var_19 = [];
|
|
var_1A = [];
|
|
var_1B = 0;
|
|
var_1C = [];
|
|
var_1D = 0;
|
|
var_1E = 0;
|
|
var_1F = 0;
|
|
var_20 = [];
|
|
var_21 = 0;
|
|
var_22 = "allies";
|
|
if(param_02 && level.teambased)
|
|
{
|
|
var_23 = getteamscore("allies");
|
|
var_24 = getteamscore("axis");
|
|
if(var_23 < var_24)
|
|
{
|
|
var_22 = "axis";
|
|
}
|
|
}
|
|
|
|
switch(param_00)
|
|
{
|
|
case "iw7_mp_taunt_flag_plant":
|
|
if(var_22 == "allies")
|
|
{
|
|
var_06[0] = "ctf_game_flag_noStand_blue_mp";
|
|
}
|
|
else
|
|
{
|
|
var_06[0] = "ctf_game_flag_noStand_red_mp";
|
|
}
|
|
|
|
var_07[0] = "iw7_mp_taunt_flag_plant_flag";
|
|
var_08[0] = 21.9;
|
|
break;
|
|
|
|
case "IW7_mp_taunt_dance_lean_01":
|
|
if(param_02 && !isdefined(level.losersinteractable) || level.losersinteractable == 1)
|
|
{
|
|
level.losersinteractable = 0;
|
|
var_1D = 3;
|
|
var_1E = 0.31;
|
|
var_08[0] = 8;
|
|
}
|
|
break;
|
|
|
|
case "IW7_mp_taunt_drone_crush_01":
|
|
if(param_02 && !isdefined(level.losersinteractable) || level.losersinteractable == 1)
|
|
{
|
|
if(isdefined(level.topplayers[3]))
|
|
{
|
|
level.losersinteractable = 0;
|
|
var_1F = 15;
|
|
var_1D = 1;
|
|
var_06[0] = "care_package_iw7_ca_wm";
|
|
var_07[0] = "IW7_mp_taunt_drone_crush_04_carepackage";
|
|
var_08[0] = 6.6;
|
|
var_20[0] = level.var_37A8.var_3CAA[3].origin;
|
|
var_1E = 4;
|
|
var_17[0] = 4.4;
|
|
if(isdefined(level.topplayers[4]))
|
|
{
|
|
var_06[1] = "care_package_iw7_ca_wm";
|
|
var_07[1] = "IW7_mp_taunt_drone_crush_05_carepackage";
|
|
var_08[1] = 6.6;
|
|
var_20[1] = level.var_37A8.var_3CAA[4].origin;
|
|
if(isdefined(level.topplayers[5]))
|
|
{
|
|
var_06[2] = "care_package_iw7_ca_wm";
|
|
var_07[2] = "IW7_mp_taunt_drone_crush_06_carepackage";
|
|
var_08[2] = 6.6;
|
|
var_20[2] = level.var_37A8.var_3CAA[5].origin;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else if(!param_02)
|
|
{
|
|
var_06[0] = "care_package_iw7_ca_wm";
|
|
var_07[0] = "IW7_mp_taunt_drone_crush_07_carepackage";
|
|
var_08[0] = 6.6;
|
|
var_25 = anglestoforward(level.var_37A8.var_289A.angles);
|
|
var_26 = vectornormalize((var_25[0],var_25[1],0));
|
|
var_27 = vectorcross(var_26,(0,0,1));
|
|
var_20[0] = level.var_3CB3.origin + var_26 * 80;
|
|
var_1E = 4;
|
|
var_1F = 8;
|
|
var_19[0] = "vfx_tnt_crate_smk";
|
|
var_1A[0] = (0,80,0);
|
|
var_1C[0] = 4.4;
|
|
var_17[0] = 4.4;
|
|
}
|
|
break;
|
|
|
|
case "IW7_mp_taunt_crush_the_enemies_01":
|
|
if(param_02 && !isdefined(level.losersinteractable) || level.losersinteractable == 1)
|
|
{
|
|
var_1D = 2;
|
|
var_08[0] = 6.6;
|
|
var_1E = 5.266;
|
|
var_08[1] = 6.6;
|
|
var_08[2] = 6.6;
|
|
level.losersinteractable = 0;
|
|
}
|
|
break;
|
|
|
|
case "IW7_mp_taunt_ftl_1st_kills_456":
|
|
if(param_02 && !isdefined(level.losersinteractable) || level.losersinteractable == 1)
|
|
{
|
|
var_08[0] = 10;
|
|
var_18[0] = 0.85;
|
|
var_18[1] = 2.05;
|
|
var_18[2] = 1.15;
|
|
level.losersinteractable = 0;
|
|
}
|
|
break;
|
|
|
|
case "IW7_mp_taunt_ftl_2nd_kills_456":
|
|
if(param_02 && !isdefined(level.losersinteractable) || level.losersinteractable == 1)
|
|
{
|
|
var_08[0] = 10;
|
|
var_18[0] = 1.1;
|
|
var_18[1] = 2.7;
|
|
var_18[2] = 1.467;
|
|
level.losersinteractable = 0;
|
|
}
|
|
break;
|
|
|
|
case "IW7_mp_taunt_ftl_3rd_kills_456":
|
|
if(param_02 && !isdefined(level.losersinteractable) || level.losersinteractable == 1)
|
|
{
|
|
var_08[0] = 10;
|
|
var_18[0] = 1.03;
|
|
var_18[1] = 2.76;
|
|
var_18[2] = 1.43;
|
|
level.losersinteractable = 0;
|
|
}
|
|
break;
|
|
|
|
case "IW7_mp_taunt_cod_champs":
|
|
var_08[0] = 7.834;
|
|
break;
|
|
|
|
case "iw7_mp_taunt_super_blackhole":
|
|
var_08[0] = 7;
|
|
for(var_28 = 0;var_28 < 20;var_28++)
|
|
{
|
|
var_17[var_28] = 2.6 + var_28 * 0.1;
|
|
}
|
|
break;
|
|
|
|
case "iw7_mp_taunt_epic_grenade_toss_back01":
|
|
var_08[0] = 8;
|
|
var_17[0] = 5.7;
|
|
var_17[1] = 6.15;
|
|
var_17[2] = 6.6;
|
|
break;
|
|
|
|
case "iw7_mp_taunt_super_warfighter_at_screen":
|
|
var_08[0] = 6.6;
|
|
var_17[0] = 1;
|
|
var_17[1] = 1.2;
|
|
var_17[2] = 1.4;
|
|
var_17[3] = 1.6;
|
|
var_17[4] = 1.8;
|
|
var_17[5] = 2;
|
|
var_17[6] = 2.2;
|
|
var_17[7] = 2.4;
|
|
break;
|
|
|
|
case "iw7_mp_taunt_bio_spike":
|
|
var_08[0] = 6.6;
|
|
var_17[0] = 1.65;
|
|
var_17[1] = 2.05;
|
|
break;
|
|
|
|
case "iw7_mp_taunt_synaptic_reaper_3rd":
|
|
case "iw7_mp_taunt_synaptic_reaper_2nd":
|
|
case "iw7_mp_taunt_synaptic_reaper":
|
|
var_08[0] = 6.6;
|
|
var_16 = 2;
|
|
break;
|
|
|
|
case "iw7_mp_taunt_killstreak_scorcher":
|
|
var_06[0] = "veh_mil_air_ca_jackal_drone_atmos_periph_mp";
|
|
var_07[0] = "iw7_mp_taunt_killstreak_scorcher_scorcher01";
|
|
var_08[0] = 6.6;
|
|
var_06[1] = "veh_mil_air_ca_jackal_drone_atmos_periph_mp";
|
|
var_07[1] = "iw7_mp_taunt_killstreak_scorcher_scorcher02";
|
|
var_08[1] = 6.6;
|
|
var_06[2] = "veh_mil_air_ca_jackal_drone_atmos_periph_mp";
|
|
var_07[2] = "iw7_mp_taunt_killstreak_scorcher_scorcher03";
|
|
var_08[2] = 6.6;
|
|
var_16 = 3;
|
|
var_21 = 1;
|
|
break;
|
|
|
|
case "iw7_mp_taunt_killstreak_c8":
|
|
var_06[0] = "mp_robot_c8";
|
|
var_07[0] = "iw7_mp_taunt_killstreak_c8_robot";
|
|
var_08[0] = 5.5;
|
|
var_09[0] = [];
|
|
var_09[0][0] = "weapon_c8_shield_top_mp";
|
|
var_09[0][1] = "weapon_c8_shield_bottom_mp";
|
|
var_0A[0] = [];
|
|
var_0A[0][0] = "j_wristshield";
|
|
var_0A[0][1] = "j_wristbtmshield";
|
|
var_16 = 1.67;
|
|
var_17[0] = 5.15;
|
|
break;
|
|
|
|
case "IW7_mp_taunt_killstreak_apex01":
|
|
var_06[0] = "veh_mil_air_ca_oblivion_drone_mp";
|
|
var_07[0] = "IW7_mp_taunt_killstreak_apex01_apex";
|
|
var_08[0] = 5;
|
|
var_17[0] = 2;
|
|
var_17[1] = 2.4;
|
|
var_17[2] = 2.6;
|
|
var_17[3] = 3.2;
|
|
var_17[4] = 3.6;
|
|
var_17[5] = 3.8;
|
|
break;
|
|
|
|
case "iw7_mp_taunt_killstreak_thor":
|
|
var_06[0] = "veh_mil_air_thor_wm";
|
|
var_06[1] = "sdf_mp_cruise_missile_01";
|
|
var_06[2] = "un_mp_jackal_exterior_missile";
|
|
var_06[3] = "un_mp_jackal_exterior_missile";
|
|
var_06[4] = "un_mp_jackal_exterior_missile";
|
|
var_06[5] = "un_mp_jackal_exterior_missile";
|
|
var_06[6] = "un_mp_jackal_exterior_missile";
|
|
var_07[0] = "iw7_mp_taunt_killstreak_thor_prop";
|
|
var_07[1] = "iw7_mp_taunt_killstreak_thor_missile01";
|
|
var_07[2] = "iw7_mp_taunt_killstreak_thor_missile02";
|
|
var_07[3] = "iw7_mp_taunt_killstreak_thor_missile03";
|
|
var_07[4] = "iw7_mp_taunt_killstreak_thor_missile04";
|
|
var_07[5] = "iw7_mp_taunt_killstreak_thor_missile05";
|
|
var_07[6] = "iw7_mp_taunt_killstreak_thor_missile05";
|
|
var_08[0] = 7.47;
|
|
var_08[1] = 3.76;
|
|
var_08[2] = 4.7;
|
|
var_08[3] = 4.7;
|
|
var_08[4] = 4.7;
|
|
var_08[5] = 4.7;
|
|
var_08[6] = 4.7;
|
|
var_0E = 1;
|
|
var_0F = 1.5;
|
|
var_16 = 4.5;
|
|
var_21 = 1;
|
|
break;
|
|
|
|
case "IW7_mp_taunt_adrenaline":
|
|
var_08[0] = 10;
|
|
break;
|
|
|
|
case "iw7_mp_taunt_super_shootdown":
|
|
var_06[0] = "veh_mil_air_un_uav";
|
|
var_07[0] = "iw7_mp_taunt_super_shootdown_uav";
|
|
var_08[0] = 6;
|
|
var_17[0] = 3.75;
|
|
break;
|
|
|
|
case "IW7_mp_taunt_phantom_cloak_3rd":
|
|
case "IW7_mp_taunt_phantom_cloak_2nd":
|
|
case "IW7_mp_taunt_phantom_cloak":
|
|
var_0B[0] = "cloak";
|
|
var_0C[0] = "on";
|
|
var_0D[0] = 0.01;
|
|
var_0B[1] = "cloak";
|
|
var_0C[1] = "off";
|
|
var_0D[1] = 1.5;
|
|
var_0B[2] = "cloak";
|
|
var_0C[2] = "on";
|
|
var_0D[2] = 3.2;
|
|
var_0B[3] = "cloak";
|
|
var_0C[3] = "off";
|
|
var_0D[3] = 4.7;
|
|
var_08[0] = 5.1;
|
|
var_0E = 1;
|
|
var_0F = 2;
|
|
break;
|
|
|
|
case "iw7_mp_taunt_super_merc_steeldragon":
|
|
var_10[0] = 0.466;
|
|
var_11[0] = 2.85;
|
|
var_12[0] = "tag_accessory_right";
|
|
var_13[0] = "tag_accessory_left";
|
|
var_14[0] = "vfx_taunt_steel_dragon";
|
|
var_08[0] = 4;
|
|
var_17[0] = 0.5;
|
|
var_17[1] = 0.7;
|
|
var_17[2] = 0.9;
|
|
var_17[3] = 1;
|
|
var_17[4] = 1.2;
|
|
var_17[5] = 1.4;
|
|
var_17[6] = 1.6;
|
|
var_17[7] = 1.8;
|
|
var_17[8] = 2;
|
|
var_17[9] = 2.2;
|
|
var_17[10] = 2.4;
|
|
var_17[11] = 2.7;
|
|
var_17[12] = 2.9;
|
|
var_17[13] = 3.1;
|
|
break;
|
|
|
|
case "iw7_mp_taunt_killstreak_laser_strike":
|
|
var_08[0] = 12;
|
|
var_19[0] = "vfx_bombard_antigrav_pre_expl";
|
|
var_19[1] = "vfx_bombard_projectile_trail";
|
|
var_19[2] = "vfx_bombardment_strike_explosion";
|
|
var_1B = 0.2;
|
|
var_1A[0] = (0,80,0);
|
|
var_1A[1] = (75,140,0);
|
|
var_1A[2] = (-165,250,0);
|
|
var_1A[3] = (50,200,0);
|
|
var_1A[4] = (155,250,0);
|
|
var_1A[5] = (-75,140,0);
|
|
var_1A[6] = (-50,200,0);
|
|
var_1C[0] = 1;
|
|
var_1C[1] = 1;
|
|
var_1C[2] = 3.5;
|
|
var_17[0] = 3.5;
|
|
var_17[1] = 3.7;
|
|
var_17[2] = 3.9;
|
|
var_17[3] = 4.1;
|
|
var_17[4] = 4.3;
|
|
var_17[5] = 4.5;
|
|
var_17[6] = 4.7;
|
|
var_17[7] = 4.9;
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
|
|
level.broshotepictauntprops[param_01] = [];
|
|
level.broshotepictauntsubprops[param_01] = [];
|
|
if(param_02 && var_0E)
|
|
{
|
|
if(!isdefined(level.queuedtaunts))
|
|
{
|
|
level.queuedtaunts = [];
|
|
}
|
|
|
|
if(isdefined(level.queuedtaunts[param_00]))
|
|
{
|
|
var_29 = gettime() - level.queuedtaunts[param_00];
|
|
if(var_29 < var_0F * 1000)
|
|
{
|
|
wait(var_0F - var_29 / 1000);
|
|
}
|
|
}
|
|
|
|
level.queuedtaunts[param_00] = gettime();
|
|
}
|
|
|
|
var_2A = (0,0,0);
|
|
if(var_21 && isdefined(level.upsidedowntaunts) && level.upsidedowntaunts == 1)
|
|
{
|
|
var_2A = (180,180,0);
|
|
}
|
|
|
|
if(var_1E > 0)
|
|
{
|
|
thread spawndelayedprop(var_1E,param_01,var_03,var_06,var_04,var_2A,var_07,var_20);
|
|
}
|
|
else
|
|
{
|
|
for(var_28 = 0;var_28 < var_06.size;var_28++)
|
|
{
|
|
if(isdefined(var_20) && isdefined(var_20[var_28]))
|
|
{
|
|
var_03 = var_20[var_28];
|
|
}
|
|
|
|
var_2B = spawn("script_model",var_03);
|
|
var_2B setmodel(var_06[var_28]);
|
|
var_2B.angles = var_04 + var_2A;
|
|
var_2B notsolid();
|
|
var_2B dontinterpolate();
|
|
var_2B scriptmodelplayanimdeltamotion(var_07[var_28]);
|
|
if(!isdefined(level.broshotepictauntprops))
|
|
{
|
|
level.broshotepictauntprops = [];
|
|
}
|
|
|
|
level.broshotepictauntprops[param_01][var_28] = var_2B;
|
|
if(!isdefined(var_09[var_28]) && isarray(var_09[var_28]))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
level.broshotepictauntsubprops[param_01] = [];
|
|
for(var_2C = 0;var_2C < var_09[var_28].size;var_2C++)
|
|
{
|
|
var_2D = spawn("script_model",var_03);
|
|
var_2D setmodel(var_09[var_28][var_2C]);
|
|
var_2D.angles = var_04 + var_2A;
|
|
var_2D notsolid();
|
|
var_2D dontinterpolate();
|
|
var_2D linkto(var_2B,var_0A[var_28][var_2C],(0,0,0),(0,0,0));
|
|
level.broshotepictauntsubprops[param_01][var_2C] = var_2D;
|
|
}
|
|
}
|
|
}
|
|
|
|
var_2E = 0;
|
|
for(var_28 = 0;var_28 < var_08.size;var_28++)
|
|
{
|
|
var_2E = max(var_2E,var_08[var_28]);
|
|
}
|
|
|
|
for(var_28 = 0;var_28 < var_0B.size;var_28++)
|
|
{
|
|
thread doepictauntscriptablestep(param_02,param_01,var_0B[var_28],var_0C[var_28],var_0D[var_28]);
|
|
}
|
|
|
|
if(param_02 == 0)
|
|
{
|
|
var_2F = getplayercharacter(-1);
|
|
}
|
|
else
|
|
{
|
|
var_2F = getplayercharacter(param_02);
|
|
}
|
|
|
|
if(param_02 != 0)
|
|
{
|
|
for(var_28 = 0;var_28 < var_10.size;var_28++)
|
|
{
|
|
thread playbeamfx(var_10[var_28],var_11[var_28],var_14[var_28],var_12[var_28],var_13[var_28],var_2F);
|
|
}
|
|
}
|
|
|
|
if(param_02 != 0)
|
|
{
|
|
if(var_1D > 0)
|
|
{
|
|
thread playloseranimation(var_1E,var_1D,var_08[0]);
|
|
}
|
|
}
|
|
|
|
if(param_02 != 0 && var_15 > 0)
|
|
{
|
|
thread doshellshock(var_15);
|
|
}
|
|
|
|
if(param_02 != 0 && var_16 > 0)
|
|
{
|
|
thread doearthquake(var_16,1);
|
|
}
|
|
|
|
for(var_28 = 0;var_28 < var_17.size;var_28++)
|
|
{
|
|
thread doearthquake(var_17[var_28],0);
|
|
}
|
|
|
|
for(var_28 = 0;var_28 < var_18.size;var_28++)
|
|
{
|
|
thread dodisintegrate(var_18[var_28],var_28);
|
|
}
|
|
|
|
for(var_28 = 0;var_28 < var_1A.size;var_28++)
|
|
{
|
|
var_25 = anglestoforward(level.var_37A8.var_289A.angles);
|
|
var_26 = vectornormalize((var_25[0],var_25[1],0));
|
|
var_27 = vectorcross(var_26,(0,0,1));
|
|
var_30 = var_26 * var_1A[var_28][1];
|
|
var_31 = var_27 * var_1A[var_28][0];
|
|
var_32 = var_30 + var_31;
|
|
if(param_02 != 0)
|
|
{
|
|
var_33 = level.var_37A8.var_3CAA[0].origin;
|
|
}
|
|
else
|
|
{
|
|
var_33 = var_03;
|
|
}
|
|
|
|
for(var_2C = 0;var_2C < var_19.size;var_2C++)
|
|
{
|
|
thread dospawnvfx(var_19[var_2C],var_1C[var_2C] + var_1B * var_28,var_32,var_33);
|
|
}
|
|
}
|
|
|
|
thread cleanupepictauntprops(param_01,var_2E + var_1F,param_00);
|
|
}
|
|
|
|
//Function Number: 2
|
|
spawndelayedprop(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07)
|
|
{
|
|
self endon("cancel_taunt_cleanup");
|
|
wait(param_00);
|
|
for(var_08 = 0;var_08 < param_03.size;var_08++)
|
|
{
|
|
if(isdefined(param_07) && isdefined(param_07[var_08]))
|
|
{
|
|
param_02 = param_07[var_08];
|
|
}
|
|
|
|
var_09 = spawn("script_model",param_02);
|
|
var_09 setmodel(param_03[var_08]);
|
|
var_09.angles = param_04 + param_05;
|
|
var_09 notsolid();
|
|
var_09 dontinterpolate();
|
|
var_09 scriptmodelplayanimdeltamotion(param_06[var_08]);
|
|
if(!isdefined(level.broshotepictauntprops))
|
|
{
|
|
level.broshotepictauntprops = [];
|
|
}
|
|
|
|
level.broshotepictauntprops[param_01][var_08] = var_09;
|
|
}
|
|
}
|
|
|
|
//Function Number: 3
|
|
dospawnvfx(param_00,param_01,param_02,param_03)
|
|
{
|
|
self endon("cancel_taunt_cleanup");
|
|
wait(param_01);
|
|
var_04 = param_03 + param_02;
|
|
var_05 = spawnfx(level._effect[param_00],var_04);
|
|
if(isdefined(var_05))
|
|
{
|
|
triggerfx(var_05);
|
|
var_05 thread delayfxdelete(12);
|
|
}
|
|
}
|
|
|
|
//Function Number: 4
|
|
delayfxdelete(param_00)
|
|
{
|
|
self endon("cancel_taunt_cleanup");
|
|
wait(param_00);
|
|
if(isdefined(self))
|
|
{
|
|
self delete();
|
|
}
|
|
}
|
|
|
|
//Function Number: 5
|
|
playloseranimation(param_00,param_01,param_02)
|
|
{
|
|
self endon("cancel_taunt_cleanup");
|
|
wait(param_00);
|
|
if(isdefined(level.topplayers[3]) || isdefined(level.topplayers[4]) || isdefined(level.topplayers[5]))
|
|
{
|
|
sendloseranim(param_01,param_02);
|
|
}
|
|
}
|
|
|
|
//Function Number: 6
|
|
sendloseranim(param_00,param_01)
|
|
{
|
|
setomnvar("ui_broshot_anim_0",20000 + param_00);
|
|
wait(param_01);
|
|
}
|
|
|
|
//Function Number: 7
|
|
dodisintegrate(param_00,param_01)
|
|
{
|
|
self endon("cancel_taunt_cleanup");
|
|
wait(param_00);
|
|
if(isdefined(level.topplayers[param_01 + 3]))
|
|
{
|
|
level.topplayers[param_01 + 3] scripts\mp\archetypes\archassassin_utility::func_CEF1(undefined,level.var_37A8.var_3CAA[param_01 + 3].origin - level.topplayers[param_01 + 3].origin);
|
|
level.topplayers[param_01 + 3].bro hide(1);
|
|
}
|
|
}
|
|
|
|
//Function Number: 8
|
|
playbeamfx(param_00,param_01,param_02,param_03,param_04,param_05)
|
|
{
|
|
self endon("cancel_taunt_cleanup");
|
|
wait(param_00);
|
|
var_06 = function_02DF(level._effect[param_02],param_05,param_03,param_05,param_04);
|
|
thread cleanupbeamfx(var_06,param_01);
|
|
}
|
|
|
|
//Function Number: 9
|
|
cleanupbeamfx(param_00,param_01)
|
|
{
|
|
waittill_notify_or_timeout("cancel_taunt_cleanup",param_01);
|
|
param_00 delete();
|
|
}
|
|
|
|
//Function Number: 10
|
|
waittill_notify_or_timeout(param_00,param_01)
|
|
{
|
|
self endon(param_00);
|
|
wait(param_01);
|
|
}
|
|
|
|
//Function Number: 11
|
|
doearthquake(param_00,param_01)
|
|
{
|
|
self endon("cancel_taunt_cleanup");
|
|
if(!isdefined(level.players))
|
|
{
|
|
return;
|
|
}
|
|
|
|
wait(param_00);
|
|
foreach(var_03 in level.players)
|
|
{
|
|
if(isbot(var_03))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if(param_01)
|
|
{
|
|
var_03 earthquakeforplayer(0.5,0.65,var_03.origin,1000);
|
|
continue;
|
|
}
|
|
|
|
var_03 earthquakeforplayer(0.15,0.25,var_03.origin,1000);
|
|
}
|
|
}
|
|
|
|
//Function Number: 12
|
|
doshellshock(param_00)
|
|
{
|
|
self endon("cancel_taunt_cleanup");
|
|
wait(param_00);
|
|
foreach(var_02 in level.players)
|
|
{
|
|
if(isbot(var_02))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
var_02 shellshock("default",param_00);
|
|
}
|
|
}
|
|
|
|
//Function Number: 13
|
|
getplayercharacter(param_00)
|
|
{
|
|
if(param_00 == -1)
|
|
{
|
|
var_01 = level.var_3CB3;
|
|
}
|
|
else
|
|
{
|
|
var_01 = level.topplayers[var_01].bro;
|
|
}
|
|
|
|
return var_01;
|
|
}
|
|
|
|
//Function Number: 14
|
|
doepictauntscriptablestep(param_00,param_01,param_02,param_03,param_04)
|
|
{
|
|
if(param_00 == 0)
|
|
{
|
|
param_01 = -1;
|
|
}
|
|
|
|
self endon("cancel_taunt_cleanup");
|
|
thread listenepictauntscriptablecancel(param_01,param_02);
|
|
wait(param_04);
|
|
var_05 = getplayercharacter(param_01);
|
|
if(!isdefined(var_05))
|
|
{
|
|
return;
|
|
}
|
|
|
|
var_05 setscriptablepartstate(param_02,param_03,0);
|
|
}
|
|
|
|
//Function Number: 15
|
|
listenepictauntscriptablecancel(param_00,param_01)
|
|
{
|
|
self waittill("cancel_taunt_cleanup");
|
|
var_02 = getplayercharacter(param_00);
|
|
var_02 setscriptablepartstate(param_01,"offImmediate",0);
|
|
}
|
|
|
|
//Function Number: 16
|
|
respawnclientcharacter()
|
|
{
|
|
var_00 = level.var_3CB3.angles;
|
|
var_01 = level.var_3CB3.origin;
|
|
level.var_3CB3 delete();
|
|
level.var_3CB3 = spawn("script_character",var_01,0,0,1);
|
|
level.var_3CB3.angles = var_00;
|
|
deleteepictauntprops(0);
|
|
if(isdefined(level.last_taunt_sfx))
|
|
{
|
|
self stoplocalsound(level.last_taunt_sfx);
|
|
if(soundexists(level.last_taunt_sfx + "_lsrs"))
|
|
{
|
|
self stoplocalsound(level.last_taunt_sfx + "_lsrs");
|
|
}
|
|
|
|
if(soundexists(level.last_taunt_sfx + "_lfe"))
|
|
{
|
|
self stoplocalsound(level.last_taunt_sfx + "_lfe");
|
|
}
|
|
|
|
level.last_taunt_sfx = undefined;
|
|
}
|
|
}
|
|
|
|
//Function Number: 17
|
|
tauntinprogress(param_00)
|
|
{
|
|
return isdefined(level.broshotepictauntprops) && isarray(level.broshotepictauntprops) && isdefined(level.broshotepictauntprops[param_00]) && level.broshotepictauntprops[param_00].size > 0;
|
|
}
|
|
|
|
//Function Number: 18
|
|
cleanupepictauntprops(param_00,param_01,param_02)
|
|
{
|
|
self endon("cancel_taunt_cleanup");
|
|
wait(param_01);
|
|
level.taunts_done = 1;
|
|
deleteepictauntprops(param_00);
|
|
}
|
|
|
|
//Function Number: 19
|
|
deleteepictauntprops(param_00)
|
|
{
|
|
if(tauntinprogress(param_00))
|
|
{
|
|
for(var_01 = 0;var_01 < level.broshotepictauntprops[param_00].size;var_01++)
|
|
{
|
|
if(isdefined(level.broshotepictauntprops[param_00][var_01]))
|
|
{
|
|
level.broshotepictauntprops[param_00][var_01] method_8292();
|
|
level.broshotepictauntprops[param_00][var_01] delete();
|
|
}
|
|
}
|
|
|
|
level.broshotepictauntprops[param_00] = [];
|
|
if(isdefined(level.broshotepictauntsubprops[param_00]) && isarray(level.broshotepictauntsubprops[param_00]))
|
|
{
|
|
for(var_01 = 0;var_01 < level.broshotepictauntsubprops[param_00].size;var_01++)
|
|
{
|
|
if(isdefined(level.broshotepictauntsubprops[param_00][var_01]))
|
|
{
|
|
level.broshotepictauntsubprops[param_00][var_01] method_8292();
|
|
level.broshotepictauntsubprops[param_00][var_01] delete();
|
|
}
|
|
}
|
|
|
|
level.broshotepictauntsubprops[param_00] = [];
|
|
}
|
|
}
|
|
|
|
self notify("cancel_taunt_cleanup");
|
|
}
|
|
|
|
//Function Number: 20
|
|
processtauntsound(param_00)
|
|
{
|
|
if(!soundexists(param_00))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(!isdefined(level.taunts_done))
|
|
{
|
|
level.taunts_done = 0;
|
|
}
|
|
|
|
if(!isdefined(level.taunts_used))
|
|
{
|
|
level.taunts_used = [];
|
|
}
|
|
|
|
if(soundexists(param_00))
|
|
{
|
|
if(isdefined(level.last_taunt_sfx))
|
|
{
|
|
self stoplocalsound(level.last_taunt_sfx);
|
|
if(soundexists(level.last_taunt_sfx + "_lsrs"))
|
|
{
|
|
self stoplocalsound(level.last_taunt_sfx + "_lsrs");
|
|
}
|
|
|
|
if(soundexists(level.last_taunt_sfx + "_lfe"))
|
|
{
|
|
self stoplocalsound(level.last_taunt_sfx + "_lfe");
|
|
}
|
|
|
|
level.last_taunt_sfx = undefined;
|
|
}
|
|
|
|
playepicbroshotsound(param_00);
|
|
level.taunts_used[level.taunts_used.size] = param_00;
|
|
level.last_taunt_sfx = param_00;
|
|
return;
|
|
}
|
|
|
|
if(soundexists(param_00 + "_quiet"))
|
|
{
|
|
if(!func_2286(level.taunts_used,param_00))
|
|
{
|
|
playepicbroshotsound(param_00 + "_quiet");
|
|
level.taunts_used[level.taunts_used.size] = param_00;
|
|
level.last_taunt_sfx = param_00 + "_quiet";
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 21
|
|
playepicbroshotsound(param_00)
|
|
{
|
|
if(isdefined(level.players))
|
|
{
|
|
foreach(var_02 in level.players)
|
|
{
|
|
if(!isbot(var_02))
|
|
{
|
|
var_02 playlocalsound(param_00);
|
|
}
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
self playlocalsound(param_00);
|
|
}
|
|
|
|
//Function Number: 22
|
|
func_2286(param_00,param_01)
|
|
{
|
|
if(param_00.size <= 0)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
foreach(var_03 in param_00)
|
|
{
|
|
if(var_03 == param_01)
|
|
{
|
|
return 1;
|
|
}
|
|
}
|
|
|
|
return 0;
|
|
} |