/******************************************************************* * Decompiled By: Bog * Decompiled File: 1321.gsc * Game: Call of Duty: WWII * Platform: PC * Function Count: 60 * Decompile Time: 84 ms * Timestamp: 10/27/2023 3:25:12 AM *******************************************************************/ //Function Number: 1 func_52F4(param_00) { if(getdvarint("4017",0) || function_0367()) { return; } level.var_611["care_package_axis_destroy"] = loadfx("vfx/props/care_package_explode_axis"); level.var_611["care_package_allies_destroy"] = loadfx("vfx/props/care_package_explode_allies"); level.var_611["care_package_allies_beacon"] = loadfx("vfx/lights/usa_carepackage_beacon"); level.var_611["care_package_axis_beacon"] = loadfx("vfx/lights/ger_carepackage_beacon"); level.var_611["care_package_landed"] = loadfx("vfx/smoke/care_package_landed"); level.var_5A7D["killstreak_carepackage_grenade_mp"] = "carepackage"; level.var_5A7D["killstreak_carepackage_grenade_axis_mp"] = "carepackage"; level.var_5A7D["killstreak_emergency_carepackage_grenade_mp"] = "emergency_carepackage"; level.var_5A7D["killstreak_emergency_carepackage_grenade_axis_mp"] = "emergency_carepackage"; level.var_5A7D["carepackage_crate_mp"] = "carepackage"; level.var_80B7["carepackage"] = 0; level.var_80B8["carepackage"] = 0; level.var_80B6["carepackage"] = 0; level.var_80B9["carepackage"] = 1; level.var_80B5["carepackage"] = 0; level.var_80B7["raid_carepackage"] = 0; level.var_80B8["raid_carepackage"] = 0; level.var_80B6["raid_carepackage"] = 0; level.var_80B9["raid_carepackage"] = 1; level.var_80B5["raid_carepackage"] = 0; level.var_80B7["emergency_carepackage"] = 0; level.var_80B8["emergency_carepackage"] = 0; level.var_80B6["emergency_carepackage"] = 0; level.var_80B9["emergency_carepackage"] = 1; level.var_80B5["emergency_carepackage"] = 0; level.var_80B7["zm_carepackage"] = 0; level.var_80B8["zm_carepackage"] = 0; level.var_80B6["zm_carepackage"] = 0; level.var_80B9["zm_carepackage"] = 1; level.var_80B5["zm_carepackage"] = 0; func_8A0E(); if(isdefined(param_00)) { func_27D5(param_00); } else { func_27D4(); } addstreakhintstringentries(); } //Function Number: 2 func_27D4() { level.var_275F = []; func_09A9("uav",120,"lowEndStreak",&"MP_UAV_PICKUP"); func_09A9("counter_uav",105,"lowEndStreak",&"MP_COUNTER_UAV_PICKUP"); func_09A9("fighter_strike",100,"lowEndStreak",&"MP_FIGHTER_STRIKE_PICKUP"); func_09A9("fritzx",90,"lowEndStreak",&"MP_FRITZX_PICKUP"); func_09A9("flamethrower",80,"lowEndStreak",&"MP_FLAMETHROWER_PICKUP"); func_09A9("mortar_strike",75,"lowEndStreak",&"MP_MORTAR_STRIKE_PICKUP"); func_09A9("missile_strike",70,"highEndStreak",&"MP_MISSILE_STRIKE_PICKUP"); func_09A9("paratroopers",30,"highEndStreak",&"MP_PARATROOPERS_PICKUP"); func_09A9("airstrike",25,"highEndStreak",&"MP_AIRSTRIKE_PICKUP"); func_09A9("plane_gunner",10,"highEndStreak",&"MP_PLANE_GUNNER_PICKUP"); if(getdvarint("1258",0) == 0 && getdvarint("2803",0) == 0) { func_09A9("flak_gun",50,"lowEndStreak",&"MP_FLAK_GUN_PICKUP"); func_09A9("firebomb",45,"highEndStreak",&"MP_FIREBOMB_PICKUP"); } func_4019(); } //Function Number: 3 addstreakhintstringentries() { game["strings"]["v2_rocket_hint"] = &"MP_V2_ROCKET_PICKUP"; game["strings"]["tripwire_hint"] = &"MP_TRIPWIRE_PICKUP"; } //Function Number: 4 func_27D5(param_00) { var_01 = 0; var_02 = 1; var_03 = 2; var_04 = 3; foreach(var_06 in param_00) { func_09A9(var_06[var_01],var_06[var_02],var_06[var_03],var_06[var_04]); } func_4019(); } //Function Number: 5 func_4019() { level.var_274B["all"] = 0; foreach(var_01 in level.var_275F) { var_02 = var_01.var_944E; var_03 = var_01.var_9451; if(!isdefined(level.var_274B[var_01.var_9451])) { level.var_274B[var_01.var_9451] = 0; } level.var_274B[var_03] = level.var_274B[var_03] + var_01.var_7A8F; level.var_275F[var_02].var_9452 = level.var_274B[var_03]; level.var_274B["all"] = level.var_274B["all"] + var_01.var_7A8F; level.var_275F[var_02].var_C36 = level.var_274B["all"]; } } //Function Number: 6 func_09A9(param_00,param_01,param_02,param_03) { if(getdvarint("scorestreak_enabled_" + param_00) == 0) { return; } level.var_275F[param_00] = spawnstruct(); level.var_275F[param_00].var_944E = param_00; level.var_275F[param_00].var_9451 = param_02; level.var_275F[param_00].var_7A8F = param_01; level.var_275F[param_00].var_C36 = param_01; level.var_275F[param_00].var_9452 = param_01; if(isdefined(param_03)) { game["strings"][param_00 + "_hint"] = param_03; } } //Function Number: 7 func_8A0E() { var_00 = getentarray("care_package","targetname"); if(!isdefined(var_00) || var_00.size == 0) { return; } level.var_1FFC = getent(var_00[0].var_1A2,"targetname"); foreach(var_02 in var_00) { var_02 func_2D30(0,0,0); } } //Function Number: 8 func_464D(param_00,param_01) { if(function_0367()) { return "ammo"; } var_03 = undefined; if(isdefined(param_00) && param_00 != "all") { while(!isdefined(var_03) || common_scripts\utility::func_F79(param_01,var_03)) { var_04 = randomint(level.var_274B[param_00]); foreach(var_06 in level.var_275F) { if(var_06.var_9451 != param_00) { continue; } var_03 = var_06.var_944E; if(var_06.var_9452 > var_04) { break; } } } } else { var_04 = randomint(level.var_274B["all"]); foreach(var_06 in level.var_275F) { var_03 = var_06.var_944E; if(var_06.var_C36 > var_04) { break; } } } return var_03; } //Function Number: 9 func_7032(param_00,param_01,param_02,param_03,param_04) { param_00 endon("death"); param_00 endon("crashing"); if(isdefined(param_01)) { param_01 endon("disconnect"); param_01 endon("joined_team"); } lib_0527::func_A6E4(param_00,func_445E(param_02),param_01); level notify("airdropInbound"); param_00.var_6F2A = 1; var_05 = func_464E(); var_06 = []; for(var_07 = 0;var_07 < func_45BE(param_02);var_07++) { var_08 = func_3493(param_00,param_01,func_448E(param_02,var_05[var_07]),param_02,var_06,param_03,param_04); var_06[var_06.size] = var_08; if(var_08 == "uav") { var_06[var_06.size] = "counter_uav"; } else if(var_08 == "counter_uav") { var_06[var_06.size] = "uav"; } wait(randomfloatrange(0.075,0.15)); } } //Function Number: 10 func_3493(param_00,param_01,param_02,param_03,param_04,param_05,param_06) { lib_0527::func_34B0(param_00.var_116,param_00); var_07 = param_00.var_116 + (randomintrange(-3,3),randomfloatrange(-3,3),-5); return func_4AAE(param_01,var_07,param_03,param_02,param_04,param_05,param_06); } //Function Number: 11 func_45BE(param_00) { switch(param_00) { case "zm_carepackage": case "raid_carepackage": case "carepackage": return 1; case "emergency_carepackage": return 3; } } //Function Number: 12 func_448E(param_00,param_01) { switch(param_00) { case "zm_carepackage": case "raid_carepackage": case "carepackage": return "all"; case "emergency_carepackage": return param_01; } } //Function Number: 13 func_464E() { return common_scripts\utility::func_F92(["lowEndStreak","lowEndStreak","highEndStreak"]); } //Function Number: 14 func_445E(param_00) { switch(param_00) { case "zm_carepackage": case "raid_carepackage": case "carepackage": return 50; case "emergency_carepackage": return 200; } } //Function Number: 15 func_9E38(param_00,param_01) { if(maps\mp\_utility::func_5668() && !function_0367()) { return 0; } if(isdefined(self.var_1A7) && self.var_1A7 == "allies") { var_02 = "killstreak_carepackage_grenade_mp"; } else { var_02 = "killstreak_carepackage_grenade_axis_mp"; } if(param_01 == "emergency_carepackage") { if(isdefined(self.var_1A7) && self.var_1A7 == "allies") { var_02 = "killstreak_emergency_carepackage_grenade_mp"; } else { var_02 = "killstreak_emergency_carepackage_grenade_axis_mp"; } } var_03 = func_7470(var_02,param_00,param_01); if(!isdefined(var_03) || !var_03) { return 0; } maps\mp\_matchdata::func_5E9A(param_01,self.var_116); return 1; } //Function Number: 16 func_7470(param_00,param_01,param_02) { self endon("death"); self endon("disconnect"); self endon("carepackage_grenade_switch"); thread func_742D(param_00); for(;;) { self waittill("grenade_fire",var_03,var_04); if(isdefined(var_04) && var_04 == param_00) { self notify("grenade_info_processing"); thread func_1E84(var_03,param_01,param_02); return 1; } } } //Function Number: 17 func_1E84(param_00,param_01,param_02) { param_00 waittill("explode",var_03); var_04 = lib_0527::func_4570(); lib_0527::func_9302(param_01,[var_03],[var_04],param_02); } //Function Number: 18 func_742D(param_00) { self endon("death"); self endon("disconnect"); self endon("grenade_info_processing"); var_01 = self getcurrentweapon(); while(var_01 == param_00 || maps\mp\_utility::func_568F(var_01) || maps\mp\_utility::isuseweapon(var_01)) { self waittill("weapon_change",var_01); } if(maps\mp\_utility::func_5740(var_01)) { self.var_5992 = var_01; } self notify("carepackage_grenade_switch"); } //Function Number: 19 func_4AAE(param_00,param_01,param_02,param_03,param_04,param_05,param_06) { if(isdefined(param_06)) { var_07 = param_06; } else { var_07 = func_464D(param_04,param_05); } thread func_8A0F(param_00,param_01,var_07,param_02,param_05); return var_07; } //Function Number: 20 func_8A0F(param_00,param_01,param_02,param_03,param_04) { var_05 = param_00 func_27D3(param_00,param_02,param_01,undefined,0,param_03,param_04); if(!isdefined(param_00.var_3448)) { param_00.var_3448 = []; } param_00.var_3448[param_00.var_3448.size] = var_05; if(!isdefined(level.all_drop_crates)) { level.all_drop_crates = []; } level.all_drop_crates[level.all_drop_crates.size] = var_05; if(level.all_drop_crates.size > 18) { level.all_drop_crates[0] func_2D30(1,1,1); } var_05 thread func_2358(param_00); var_06 = spawn("script_model",var_05 gettagorigin("tag_origin") + (0,0,-10)); var_06.var_1D = (0,180,0); var_06.visualteam = param_00.var_1A7; if(isdefined(param_04)) { var_06.visualteam = param_04; } if(var_06.visualteam == "allies" || var_06.visualteam == "zm") { var_06 setmodel("usa_carepackage_parachute_anim"); } else { var_06 setmodel("ger_carepackage_parachute_anim"); } var_06.var_1A7 = param_00.var_1A7; var_07 = spawn("script_model",var_06.var_116); var_07.var_1D = var_06.var_1D; var_07 setmodel("ger_carepackage_parachute"); var_07 setcandamage(1); var_07 method_805C(); var_07 method_8449(var_06); var_05.var_1D = var_06 gettagangles("TAG_CRATE"); var_05.var_116 = var_06 gettagorigin("TAG_CRATE"); var_05 method_8449(var_06,"TAG_CRATE"); var_05.var_6E4A = var_06; var_05.flag_wait = var_07; if(isdefined(var_05.var_5A2C)) { var_05.var_5A2C linkto(var_06,"tag_origin",(0,0,250),(90,0,0)); var_05.var_5A2C.var_5A32 = gettime(); } var_06 thread func_64B8(); var_06 scriptmodelplayanim("carepackage_parachute_deploy"); wait(1.75); if(!isdefined(var_06) || !isdefined(var_05)) { return; } var_06.var_2D6A = 1; if(isdefined(var_05.var_6E4A)) { var_06 scriptmodelplayanim("carepackage_parachute_loop"); } if(maps\mp\_utility::func_585F() && isdefined(level.zombiekillstreaksenabled) && level.zombiekillstreaksenabled) { level notify("zombies_crate_spawned",var_05); } var_06 thread func_63BB(var_05,var_06); var_07 thread func_63BA(var_06,var_05); var_05 thread func_6376(param_00); var_05 thread func_2745(); var_05 thread func_2752(param_02,param_00); var_05 thread func_74BA(); } //Function Number: 21 func_2358(param_00) { level endon("death"); self waittill("death"); if(isdefined(param_00) && isdefined(param_00.var_3448)) { param_00.var_3448 = common_scripts\utility::func_FA0(param_00.var_3448); } if(isdefined(level.all_drop_crates)) { level.all_drop_crates = common_scripts\utility::func_FA0(level.all_drop_crates); } } //Function Number: 22 func_64B8() { self endon("death"); self endon("detach"); lib_0378::func_8D74("ks_carepackage_parachute"); for(;;) { if(!isdefined(self.var_2D6A) || !self.var_2D6A) { self moveto(self.var_116 + (0,0,-45),0.05); } else { self moveto(self.var_116 + (0,0,-20),0.05); } wait 0.05; } } //Function Number: 23 func_63BA(param_00,param_01) { level endon("game_ended"); param_00 endon("detach"); if(function_0367()) { for(;;) { self waittill("damage",var_02,var_03); if(var_02 == 1) { break; } } } else { common_scripts\utility::func_A732("damage","death"); } param_00 thread func_2E45(param_01,1); } //Function Number: 24 func_63BB(param_00,param_01) { self endon("detach"); param_00 endon("death"); param_01 endon("death"); var_02 = undefined; for(;;) { var_03 = param_01 gettagorigin("tag_origin"); var_04 = (var_03[0],var_03[1],var_03[2] - 1000); var_05 = var_03; var_06 = bullettrace(var_03,var_04,1,param_00); if(var_06["fraction"] <= 0.5) { thread func_2E45(param_00,0); break; } if(isdefined(var_05) && isdefined(var_02) && var_05 == var_02) { break; } var_02 = var_05; wait 0.05; } } //Function Number: 25 func_2E45(param_00,param_01) { var_02 = 2.666667; if(!isdefined(param_00) || !isdefined(self)) { return; } if(isdefined(param_00.var_34A3) && param_00.var_34A3) { return; } self notify("detach"); if(isdefined(param_00.flag_wait)) { param_00.flag_wait delete(); } param_00.var_34A3 = 1; self method_8278("carepackage_parachute_detach"); wait(0.2); if(param_00.visualteam == "allies") { playfxontag(common_scripts\utility::func_44F5("care_package_allies_beacon"),param_00,"TAG_FX"); } else { playfxontag(common_scripts\utility::func_44F5("care_package_axis_beacon"),param_00,"TAG_FX"); } param_00 unlink(); if(isdefined(param_00.var_5A2C)) { param_00.var_5A2C unlink(); param_00.var_5A2C thread func_5A2E(param_00); } if(!function_0367()) { param_00 clonebrushmodeltoscriptmodel(level.var_1FFC); } if(function_0367() && param_01) { param_00 func_2D30(1,1,1); } else { var_03 = 500; if(maps\mp\_utility::func_579B()) { var_03 = 100; } param_00 physicslaunchserver((0,0,0),(0,0,1000),3000,var_03); } var_04 = 1; wait(var_02 - 0.2 - var_04); self setmaterialscriptparam(1,1,0); if(self.visualteam == "allies") { self setmodel("usa_carepackage_parachute_anim_fade"); } else { self setmodel("ger_carepackage_parachute_anim_fade"); } self setmaterialscriptparam(1,0,var_04); wait(var_04); self delete(); } //Function Number: 26 func_74BA() { self endon("death"); self waittill("physics_impact",var_00,var_01,var_02,var_03); lib_0378::func_8D74("ks_carepackage_firstImpact"); playfx(common_scripts\utility::func_44F5("care_package_landed"),var_00,var_01); if(function_0367()) { self.var_5AFA = 1; } thread func_720C(); } //Function Number: 27 func_720C() { self endon("physics_finished"); self waittill("physics_impact",var_00,var_01,var_02,var_03); lib_0380::func_6844("ks_carepackage_physics",undefined,self); playfx(common_scripts\utility::func_44F5("care_package_landed"),var_00,var_01); } //Function Number: 28 func_2745() { if(!isdefined(self)) { return; } self endon("physics_finished"); self endon("death"); var_00 = 0; var_01 = self.var_116; for(;;) { wait 0.05; if(!isdefined(self)) { return; } var_02 = distancesquared(var_01,self.var_116); if(var_02 < 56.25) { var_00++; } else { var_00 = 0; } var_01 = self.var_116; } } //Function Number: 29 func_0F30(param_00,param_01) { var_02 = 300; var_03 = 100; var_04 = 1250; var_05 = vectornormalize(param_01 - param_00.var_116); var_06 = var_05[0] * var_02; var_07 = var_05[1] * var_02; var_08 = -1 * var_05[1] * var_04; var_09 = var_05[0] * var_04; self physicssetvelocityserver((var_06,var_07,var_03),(var_08,var_09,0)); } //Function Number: 30 func_6376(param_00) { level endon("game_ended"); self endon("death"); self endon("physics_finished"); if(maps\mp\_utility::func_579B() || !isdefined(param_00)) { return; } var_01 = self.var_116; for(;;) { var_02 = self gettagorigin("tag_weapon"); if(distancesquared(var_01,var_02) > 100) { foreach(var_04 in level.var_744A) { if((var_04.var_1A7 != "spectator" && var_04.var_1A7 != self.var_1A7) || isdefined(param_00) && var_04 == param_00) { if(var_04 istouching(self)) { thread func_0F30(var_04,var_02); if(isdefined(param_00)) { var_04 dodamage(150,var_02,param_00,self,"MOD_PROJECTILE","carepackage_crate_mp"); } self notify("hit_player"); } } } } var_01 = var_02; wait 0.05; } } //Function Number: 31 func_2752(param_00,param_01) { self endon("death"); self waittill("physics_finished"); self.var_34A3 = 0; thread func_5A5F(param_00); if(!function_0367()) { if(maps\mp\_utility::func_585F() && isdefined(level.zombie_crate_timeout_callback)) { level thread [[ level.zombie_crate_timeout_callback ]](self); } else { level thread func_34B2(self); } } var_02 = getentarray("trigger_hurt","classname"); foreach(var_04 in var_02) { if(self istouching(var_04)) { func_2D30(); return; } } if(isdefined(self.var_117) && abs(self.var_116[2] - self.var_117.var_116[2]) > 4000) { func_2D30(); return; } var_06 = spawnstruct(); var_06.var_2AA8 = ::func_64EB; var_06.var_9AC2 = ::func_64EC; thread maps\mp\_movers::func_4A27(var_06); thread func_275D(); } //Function Number: 32 func_64EB(param_00) { func_2D30(1,1); } //Function Number: 33 func_64EC(param_00) { return func_1FFA(param_00) && func_1FFB(param_00); } //Function Number: 34 func_1FFA(param_00) { return !isdefined(self.var_1A5) || !isdefined(param_00.var_1A5) || self.var_1A5 != "care_package" || param_00.var_1A5 != "care_package"; } //Function Number: 35 func_1FFB(param_00) { return !isdefined(self.var_1A5) || !isdefined(param_00.var_1FFE) || self.var_1A5 != "care_package" || !param_00.var_1FFE; } //Function Number: 36 func_275D() { var_00 = getnodesinradiussorted(self.var_116,300,0,300); foreach(var_02 in function_02D1()) { if(!isalive(var_02)) { continue; } if(var_02 istouching(self)) { foreach(var_04 in var_00) { if(distancesquared(var_04.var_116,self.var_116) > 10000) { var_02 setorigin(var_04.var_116,1); var_00 = common_scripts\utility::func_F93(var_00,var_04); break; } } } } } //Function Number: 37 func_27D3(param_00,param_01,param_02,param_03,param_04,param_05,param_06) { if(!isdefined(param_03)) { param_03 = (0,0,0); } if(!isdefined(param_04)) { param_04 = 1; } var_07 = spawn("script_model",param_02); var_07.var_1D = param_03; var_07.var_28D5 = 0; var_07.var_A22B = 0; if(function_0367()) { var_07.var_1A7 = "any"; } else { var_07.var_1A7 = param_00.var_1A7; } if(isdefined(param_00)) { var_07.var_117 = param_00; } else { var_07.var_117 = undefined; } var_07.visualteam = "any"; if(isdefined(param_06)) { var_07.visualteam = param_06; } else if(isdefined(param_00)) { var_07.visualteam = param_00.var_1A7; } var_07.var_944E = param_01; var_07.var_8F52 = param_05; var_07.var_1A5 = "care_package"; var_07.var_3009 = spawn("script_model",var_07.var_116); var_07.var_65E1 = ::func_2D30; if(var_07.visualteam == "any") { var_07 setmodel("ger_carepackage_crate"); var_07.var_3009 setmodel("ger_carepackage_crate"); playfxontag(common_scripts\utility::func_44F5("care_package_axis_beacon"),var_07,"TAG_FX"); var_07.visualteam = "axis"; } else if(var_07.visualteam == "zm") { var_07 setmodel("zbw_carepackage_crate"); var_07.var_3009 setmodel("zbw_carepackage_crate"); playfxontag(common_scripts\utility::func_44F5("care_package_axis_beacon"),var_07,"TAG_FX"); var_07.visualteam = "zm"; } else { var_08 = maps\mp\gametypes\_teams::func_46C6(var_07.visualteam); var_07 setmodel(var_08); var_07.var_3009 setmodel(var_08); if(var_07.visualteam == "axis") { playfxontag(common_scripts\utility::func_44F5("care_package_axis_beacon"),var_07,"TAG_FX"); } else { playfxontag(common_scripts\utility::func_44F5("care_package_allies_beacon"),var_07,"TAG_FX"); } } var_07.var_3009 linkto(var_07,"tag_origin",(0,0,0),(0,0,0)); var_07.var_3009 notsolid(); var_07.var_54F5 = 0; if(param_04) { var_07 clonebrushmodeltoscriptmodel(level.var_1FFC); } var_07.var_5A2C = spawn("script_model",var_07.var_116 + (0,0,250)); var_07.var_5A2C setscriptmoverkillcam("script_entity"); var_07.var_5A2C method_80B1(); return var_07; } //Function Number: 38 func_5A2E(param_00) { param_00 endon("death"); param_00 endon("hit_player"); param_00 endon("physics_finished"); self endon("death"); var_01 = (0,0,250); self.var_116 = param_00.var_116 + var_01; var_02 = param_00.var_116; var_03 = 0; for(;;) { var_04 = param_00.var_116 - var_02; if(length(var_04) > 0.01) { var_05 = vectornormalize(var_04); var_06 = var_05 * -250; if(var_03 < 1) { var_07 = vectorlerp(var_01,var_06,var_03); var_03 = var_03 + 0.05; } else { var_07 = var_07; } self.var_116 = param_00.var_116 + var_07; } var_02 = param_00.var_116; wait 0.05; } } //Function Number: 39 func_275A(param_00) { if(function_0367()) { if(self.var_116[2] >= 90) { playfxontag(level.var_611["care_package_hit"],self,"tag_origin"); common_scripts\utility::func_F93(level.var_1FFD,self); setomnvar("ui_fge_carepackages_remaining",level.var_1FFD.size); func_2D30(1,1,1); } else { var_01 = spawn("trigger_radius",self.var_116 + (0,0,-1),0,160,128); var_02 = maps\mp\gametypes\_gameobjects::func_2837("neutral",var_01,[self],(0,0,100)); var_02 maps\mp\gametypes\_gameobjects::func_C30("enemy"); var_02 maps\mp\gametypes\_gameobjects::func_8A5A(10); var_02 maps\mp\gametypes\_gameobjects::func_8A59(&"MP_SECURING_CRATE"); var_02.var_6ABC = ::func_6AC0; var_02.var_6AFA = ::func_6AFD; level.var_76FD = 200; level.var_76FA = 5; self.var_321B = var_02; self hudoutlineenableforclients(level.var_744A,2,0); if(isdefined(level.var_320F)) { self.var_320E = spawnfx(level.var_320F,self.var_116); } self notify("crate_start_countdown"); return; } } self makeusable(); if(self.var_1A7 == "any") { var_03 = maps\mp\gametypes\_gameobjects::func_45A9(); objective_add(var_03,"invisible",(0,0,0)); objective_position(var_03,self.var_116); objective_state(var_03,"active"); function_01D1(var_03,"waypoint_empty_icon"); function_036F(var_03,"scorestreak_minimap_care_package_crate"); function_0370(var_03,maps\mp\gametypes\_gameobjects::func_446B("friendly")); objective_team(var_03,"none"); self.var_698E = var_03; } else { if(level.var_984D || isdefined(self.var_117)) { var_03 = maps\mp\gametypes\_gameobjects::func_45A9(); objective_add(var_03,"invisible",(0,0,0)); objective_position(var_03,self.var_116); objective_state(var_03,"active"); function_01D1(var_03,"waypoint_empty_icon"); function_036F(var_03,"scorestreak_minimap_care_package_crate"); function_0370(var_03,maps\mp\gametypes\_gameobjects::func_446B("friendly")); if(!level.var_984D && isdefined(self.var_117)) { objective_playerteam(var_03,self.var_117 getentitynumber()); } else if(level.var_3FDC == "infect") { objective_team(var_03,"allies"); } else { objective_team(var_03,self.var_1A7); } self.var_698E = var_03; } if(isdefined(self.var_117)) { var_03 = maps\mp\gametypes\_gameobjects::func_45A9(); objective_add(var_03,"invisible",(0,0,0)); objective_position(var_03,self.var_116); objective_state(var_03,"active"); function_01D1(var_03,"waypoint_empty_icon"); function_036F(var_03,"scorestreak_minimap_care_package_crate"); function_0370(var_03,maps\mp\gametypes\_gameobjects::func_446B("enemy")); if(!level.var_984D && isdefined(self.var_117)) { objective_playerenemyteam(var_03,self.var_117 getentitynumber()); } else { objective_team(var_03,level.var_6C63[self.var_1A7]); } self.var_698D = var_03; } } self.var_5022 = var_02; func_8A21(var_02); } //Function Number: 40 func_8A21(param_00,param_01) { if(self.var_1A7 == "any") { foreach(var_03 in level.var_985B) { if(isdefined(param_00) && isarray(param_00)) { func_869F(var_03,param_00); continue; } maps\mp\_entityheadicons::func_869E(var_03,param_00,(0,0,25),14,14,undefined,undefined,undefined,undefined,undefined,0,"tag_weapon",param_01); } return; } var_05 = self.var_944E; if(level.var_984D) { if(isdefined(param_00) && isarray(param_00)) { func_869F(self.var_1A7,param_00); return; } maps\mp\_entityheadicons::func_869E(self.var_1A7,param_00,(0,0,25),14,14,undefined,undefined,undefined,undefined,undefined,0,"tag_weapon",param_01); return; } if(isdefined(self.var_117)) { if(isdefined(param_00) && isarray(param_00)) { func_869F(self.var_117,param_00); return; } maps\mp\_entityheadicons::func_869E(self.var_117,param_00,(0,0,25),14,14,undefined,undefined,undefined,undefined,undefined,0,"tag_weapon",param_01); return; } } //Function Number: 41 func_869F(param_00,param_01) { var_02 = 10; var_03 = 0; self.var_5010 = []; foreach(var_05 in param_01) { self.var_5010[var_05] = common_scripts\utility::func_8FFC(); self.var_5010[var_05] maps\mp\_entityheadicons::func_869E(param_00,var_05,(0,0,20 + var_03 * var_02),14,14,undefined,undefined,undefined,undefined,"tag_weapon",0); var_03++; } } //Function Number: 42 func_6AC0(param_00,param_01) { if(!isdefined(self.var_7450)) { self.var_7450 = 1; return; } self.var_7450++; } //Function Number: 43 func_6AFD(param_00,param_01,param_02) { if(!param_02) { self.var_28D5 = 0; self.var_7450--; return; } var_03 = self.var_9AC3["allies"]; foreach(var_05 in var_03) { var_05.var_721C thread maps\mp\gametypes\_missions::func_7750("ch_hq_aagun"); } self.var_A582[0] notify("captured",param_01); } //Function Number: 44 func_2744() { self endon("captured"); while(isdefined(self)) { self waittill("trigger",var_00); thread func_11C3(var_00); } } //Function Number: 45 preventactionslotspam() { self method_8309(0); common_scripts\utility::func_A716("death","game_ended","disconnect","attemptCaptureEnd"); self method_8309(1); } //Function Number: 46 func_11C3(param_00) { if(param_00 method_83B8()) { return; } if(!param_00 isonground() && !func_A7A0(param_00)) { return; } if(!func_A276(param_00)) { return; } if(level.var_3FDC == "infect" && isdefined(param_00.var_179) && param_00.var_179 == "axis") { return; } if(maps\mp\_utility::func_579B() || maps\mp\_utility::func_585F()) { var_01 = 500; } else { var_01 = 3000; if(isdefined(self.var_117)) { if(param_00 == self.var_117) { var_01 = 500; } } else if(param_00.var_1A7 == self.var_1A7) { var_01 = 500; } } param_00.var_56A1 = 1; param_00 thread preventactionslotspam(); var_02 = func_2836(); var_03 = var_02 func_A213(param_00,var_01,self); if(isdefined(var_02)) { var_02 delete(); } if(isdefined(param_00)) { param_00.var_56A1 = 0; } if(!var_03) { param_00 notify("attemptCaptureEnd"); return; } self notify("captured",param_00); wait(0.2); param_00 notify("attemptCaptureEnd"); } //Function Number: 47 func_A7A0(param_00) { if(param_00 isonground()) { return 0; } var_01 = param_00.var_116; var_02 = gettime(); while(isdefined(param_00) && maps\mp\_utility::func_57A0(param_00) && !param_00 isonground() && var_01 == param_00.var_116 && param_00 usebuttonpressed()) { var_03 = gettime() - var_02; if(var_03 >= 200) { return 1; } wait 0.05; } return 0; } //Function Number: 48 func_A276(param_00) { var_01 = param_00 getcurrentprimaryweapon(); if(maps\mp\_utility::func_579B() && issubstr(var_01,"flamethrower") || common_scripts\utility::func_73F5(param_00) && !maps\mp\_utility::playerhaskillstreak(param_00,"basic_training_serum")) { param_00 iclientprintlnbold(&"RAIDS_HAVE_AIRDROP_ITEM"); return 0; } if(issubstr(var_01,"turrethead") || issubstr(var_01,"flamethrower") || issubstr(var_01,"carepackage")) { return 1; } if(!param_00 maps\mp\killstreaks\_killstreaks::func_1F6E()) { return 0; } if(isdefined(param_00.var_20CC) && !param_00 maps\mp\killstreaks\_killstreaks::func_1F6E()) { return 0; } return 1; } //Function Number: 49 func_5A5F(param_00) { self endon("death"); var_01 = isdefined(self.var_117) && (self.var_117 maps\mp\_utility::func_649("specialty_unwrapper") || self.var_117 maps\mp\_utility::func_649("specialty_improvedstreaks")) && !maps\mp\_utility::func_579B(); if(maps\mp\_utility::func_585F() || level.var_3FDC == "infect") { var_01 = 0; } var_02 = undefined; if(isdefined(game["strings"][param_00 + "_hint"])) { var_02 = game["strings"][param_00 + "_hint"]; } else { var_02 = &"PLATFORM_GET_KILLSTREAK"; } if(!maps\mp\_utility::func_585F()) { func_275A(maps\mp\killstreaks\_killstreaks::func_4533(param_00)); } if(isdefined(self.var_56C5) && self.var_56C5) { self waittill("physics_finished"); } if(maps\mp\_utility::func_585F() && isdefined(level.zombiekillstreaksenabled) && level.zombiekillstreaksenabled) { if(isdefined(level.zombiecratecapturethink)) { self thread [[ level.zombiecratecapturethink ]](); } } else { thread func_2744(); var_03 = undefined; if(var_01) { var_04 = &"MP_PACKAGE_REROLL"; self settertiaryhintstring(var_04); self sethintstringvisibleonlytoowner(1); thread func_2750(); } self setcursorhint("HINT_NOICON"); self sethintstring(var_02); self setsecondaryhintstring(&"MP_CARE_PACKAGE_PICKUP"); self sethintstring2toenemyteam(1); if(level.var_3FDC == "infect") { self setsecondaryhintstring(&"INFECT_NO_CAPTURE_CRATE"); self sethintstring2toenemyteam(1); } } for(;;) { self waittill("captured",var_05); if(function_0367()) { level.var_2758++; common_scripts\utility::func_F93(level.var_1FFD,self); setomnvar("ui_fge_carepackages_secured",level.var_2758); setomnvar("ui_fge_carepackages_remaining",level.var_1FFD.size); foreach(var_05 in level.var_744A) { if(var_05.var_572A) { continue; } var_05 luinotifyeventextraplayer(&"delete_supply_drop_countdown",1,self); } } else if(maps\mp\_utility::func_585F()) { if(isdefined(level.zombiecarepackageusefunc)) { var_05 [[ level.zombiecarepackageusefunc ]](self); } continue; } else { if(isdefined(self.var_117)) { if(var_05 == self.var_117) { if(isdefined(self.var_8F52)) { if(self.var_8F52 == "carepackage" || self.var_8F52 == "raid_carepackage") { var_05 maps\mp\gametypes\_missions::func_7750("ch_streak_carepackage"); } else if(self.var_8F52 == "emergency_carepackage") { var_05 maps\mp\gametypes\_missions::func_7750("ch_streak_emergencycare"); } } } else if(!level.var_984D || var_05.var_1A7 != self.var_1A7) { var_05 thread maps\mp\_events::func_4D4F(self.var_117); if(isdefined(level.hijackeventfunc)) { self [[ level.hijackeventfunc ]](); } } else { lib_0468::func_A1A("sharepackage",self.var_117,undefined,undefined,undefined); self.var_117 thread maps\mp\_events::func_8AD6(); } } if(isdefined(self.visualteam)) { var_05.raidcarepackageteam = self.visualteam; } lib_0380::func_6840("scavenger_pack_pickup",var_05); var_08 = undefined; if(maps\mp\_utility::func_579B()) { if(var_05.var_1A7 == game["attackers"]) { var_08 = "attacker_" + self.var_944E; } else { var_08 = "defender_" + self.var_944E; } } var_09 = var_05 maps\mp\killstreaks\_killstreaks::func_45A5(self.var_944E,0); var_05 thread maps\mp\gametypes\_hud_message::func_5A78(self.var_944E,undefined,undefined,var_09,var_08); var_05 thread maps\mp\killstreaks\_killstreaks::func_478D(self.var_944E,0,0,self.var_117); var_05 lib_0468::func_A28("packageCapped"); } func_2D30(1); } } //Function Number: 50 func_2750() { self.var_6DDE = 0; self.var_6DDF = 0; while(!level.var_3F9D && isdefined(self)) { if(maps\mp\_utility::func_57A0(self.var_117)) { var_00 = self.var_117 getusableentity(); if(isdefined(var_00) && var_00 == self && self.var_117 usebuttonpressed()) { self.var_6DDE++; } else if(self.var_6DDE > 0) { if(self.var_6DDE < 5) { if(self.var_6DDF == 1) { self notify("package_double_tap"); var_01 = self.var_944E; var_02 = 0; while(self.var_944E == var_01 && var_02 < 100) { var_02++; self.var_944E = func_464D(); } var_03 = game["strings"][self.var_944E + "_hint"]; if(!isdefined(var_03)) { var_03 = &"PLATFORM_GET_KILLSTREAK"; } self sethintstring(var_03); self settertiaryhintstring(""); self.var_5022 = maps\mp\killstreaks\_killstreaks::func_4533(self.var_944E); func_8A21(self.var_5022); lib_0380::func_6840("scavenger_pack_pickup",self.var_117); return 1; } else { self.var_6DDF = 1; thread func_97F9(); } } self.var_6DDE = 0; } } wait 0.05; } } //Function Number: 51 func_97F9() { level endon("game_ended"); self endon("death"); self endon("package_double_tap"); wait(0.2); self.var_6DDF = 0; } //Function Number: 52 func_A213(param_00,param_01,param_02) { if(isplayer(param_00)) { param_00 playerlinkto(self); } else { param_00 linkto(self); } param_00 common_scripts\utility::func_602(); thread func_A215(param_00); self.var_28D5 = 0; self.var_54F5 = 1; self.var_A22B = 0; if(isplayer(param_00)) { param_00 thread func_6F82(self,param_01,param_02); } var_03 = func_A214(param_00,param_01); if(!isdefined(self)) { return 0; } self notify("useHoldThinkLoopDone"); self.var_54F5 = 0; self.var_28D5 = 0; return var_03; } //Function Number: 53 func_A215(param_00) { param_00 endon("death"); common_scripts\utility::knock_off_battery("death","captured","useHoldThinkLoopDone"); if(isalive(param_00)) { param_00 common_scripts\utility::func_616(); if(param_00 islinked()) { param_00 unlink(); } } } //Function Number: 54 func_6F82(param_00,param_01,param_02) { self endon("disconnect"); self setclientomnvar("ui_use_bar_text",1); self setclientomnvar("ui_use_bar_start_time",int(gettime())); var_03 = -1; while(maps\mp\_utility::func_57A0(self) && isdefined(param_00) && param_00.var_54F5 && !level.var_3F9D) { if(var_03 != param_00.var_A22B) { if(param_00.var_28D5 > param_01) { param_00.var_28D5 = param_01; } if(param_00.var_A22B > 0) { var_04 = int(param_02.var_116[0]); var_05 = int(param_02.var_116[1]); var_06 = int(param_02.var_116[2] + 25); self luinotifyevent(&"carepackage_icon_world_position",3,var_04,var_05,var_06); var_07 = gettime(); var_08 = param_00.var_28D5 / param_01; var_09 = var_07 + 1 - var_08 * param_01 / param_00.var_A22B; self setclientomnvar("ui_use_bar_end_time",int(var_09)); self setclientomnvar("ui_mp_carepackage_scorestreak",maps\mp\_utility::func_453F(param_02.var_944E)); self setclientomnvar("ui_mp_carepackage_team",maps\mp\_utility::func_46D4(param_02.var_1A7)); if(isdefined(param_02.var_117)) { self setclientomnvar("ui_mp_carepackage_owner",param_02.var_117 getentitynumber()); } param_02 func_8A21(param_02.var_5022,self); } var_03 = param_00.var_A22B; } wait 0.05; } if(isdefined(param_02)) { param_02 func_8A21(param_02.var_5022); } self setclientomnvar("ui_use_bar_end_time",0); } //Function Number: 55 func_A214(param_00,param_01) { while(!level.var_3F9D && isdefined(self) && maps\mp\_utility::func_57A0(param_00) && param_00 usebuttonpressed() && self.var_28D5 < param_01) { self.var_28D5 = self.var_28D5 + self.var_A22B * 50; if(!self.var_A22B) { self.var_A22B = 1; } if(self.var_28D5 >= param_01) { return maps\mp\_utility::func_57A0(param_00); } wait 0.05; } return 0; } //Function Number: 56 func_2836() { var_00 = spawn("script_origin",self.var_116); var_00.var_28D5 = 0; var_00.var_A22B = 0; var_00.var_54F5 = 0; var_00 thread func_2D57(self); return var_00; } //Function Number: 57 func_2D57(param_00) { self endon("death"); param_00 waittill("death"); self delete(); } //Function Number: 58 func_2D30(param_00,param_01,param_02) { if(!isdefined(param_00)) { param_00 = 1; } if(!isdefined(param_01)) { param_01 = 1; } if(!isdefined(param_02)) { param_02 = 1; } if(isdefined(self.var_698E)) { maps\mp\_utility::func_68B(self.var_698E); } if(isdefined(self.var_698D)) { maps\mp\_utility::func_68B(self.var_698D); } if(isdefined(self.var_5A2C)) { self.var_5A2C delete(); } if(isdefined(self.var_6DB1)) { self.var_6DB1 delete(); } if(isdefined(self.var_6C62)) { self.var_6C62 delete(); } if(isdefined(self.var_3009)) { self.var_3009 delete(); } if(param_00 && self.visualteam == "axis" || self.visualteam == "zm") { playfx(common_scripts\utility::func_44F5("care_package_axis_destroy"),self.var_116,anglestoforward(self.var_1D)); } if(param_00 && self.visualteam == "allies") { playfx(common_scripts\utility::func_44F5("care_package_allies_destroy"),self.var_116,anglestoforward(self.var_1D)); } if(param_01 && self.visualteam == "allies") { lib_0380::func_6842("ks_carepackage_open_allies",undefined,self.var_116); } if(param_01 && self.visualteam == "axis" || self.visualteam == "zm") { lib_0380::func_6842("ks_carepackage_open_axis",undefined,self.var_116); } if(isdefined(self.var_5010)) { foreach(var_04 in self.var_5010) { var_04 delete(); } } if(param_02 && self.visualteam == "axis" || self.visualteam == "zm") { thread func_27DF(self.var_116,self.var_1D); } if(function_0367() && isdefined(self.var_321B)) { if(isdefined(self.var_320E)) { self.var_320E delete(); } if(isdefined(self.var_321B.var_9D65)) { self.var_321B.var_9D65 delete(); } self.var_321B maps\mp\gametypes\_gameobjects::func_2D58(); } self delete(); } //Function Number: 59 func_34B2(param_00) { level endon("game_ended"); param_00 endon("death"); maps\mp\gametypes\_hostmigration::func_A6F5(90); while(param_00.var_28D5 != 0) { wait(1); } param_00 func_2D30(1,1); } //Function Number: 60 func_27DF(param_00,param_01) { var_02 = spawn("script_model",param_00); var_03 = "ger_carepackage_crate_chunks"; if(maps\mp\_utility::func_585F() && self.visualteam == "zm") { var_03 = "zbw_carepackage_crate_chunks"; } var_02 setmodel(var_03); var_02.var_1D = param_01; var_02 method_805B(); wait 0.05; physicsexplosionsphere(param_00,100,80,0.6); wait(2); var_02 delete(); }