/******************************************************************* * Decompiled By: Bog * Decompiled File: scripts\mp\killstreaks\_harrier.gsc * Game: Call of Duty: Infinite Warfare * Platform: PC * Function Count: 47 * Decompile Time: 2219 ms * Timestamp: 10/27/2023 12:28:36 AM *******************************************************************/ //Function Number: 1 func_2A6A(param_00,param_01,param_02) { var_03 = getent("airstrikeheight","targetname"); if(isdefined(var_03)) { var_04 = var_03.origin[2]; } else if(isdefined(level.var_1AF8)) { var_04 = 850 * level.var_1AF8; } else { var_04 = 850; } param_02 = param_02 * (1,1,0); var_05 = param_02 + (0,0,var_04); var_06 = func_10845(param_00,self,param_01,var_05); var_06.var_C96C = var_05; return var_06; } //Function Number: 2 func_7E3E(param_00,param_01,param_02) { var_03 = 1200; var_04 = func_11A87(param_00,param_01); var_05 = var_04 + var_03; if(isdefined(level.var_1AF8) && var_05 < 850 * level.var_1AF8) { var_05 = 950 * level.var_1AF8; } var_05 = var_05 + randomint(param_02); return var_05; } //Function Number: 3 func_10845(param_00,param_01,param_02,param_03) { var_04 = vectortoangles(param_03 - param_02); var_05 = spawnhelicopter(param_01,param_02,var_04,"harrier_mp","vehicle_av8b_harrier_jet_mp"); if(!isdefined(var_05)) { return; } var_05 func_184E(); var_05 thread func_E10A(); var_05 thread func_8992(); var_05.var_2B3 = 250; var_05.var_1545 = 175; var_05.health = 2500; var_05.maxhealth = var_05.health; var_05.team = param_01.team; var_05.var_222 = param_01; var_05 setcandamage(1); var_05.var_222 = param_01; var_05 thread func_8B5B(); var_05 method_830A(0,90); var_05 method_83E5(var_05.var_2B3,var_05.var_1545); var_05 thread func_D494(); var_05 method_82CE(3); var_05.var_B898 = 6; var_05.pers["team"] = var_05.team; var_05 method_82F6(50,100,50); var_05 method_8354(0.05); var_05 method_8378(45,25,25,0.5); var_05.var_5087 = param_03; var_05.var_AC68 = param_00; var_05.var_1C9F = 1; var_05.var_9E20 = 1; var_05.var_4D2E = ::func_3758; level.var_8B5F = scripts\common\utility::func_22BC(level.var_8B5F); level.var_8B5F[level.var_8B5F.size] = var_05; level.var_8B58 = undefined; return var_05; } //Function Number: 4 func_5088(param_00) { param_00 endon("death"); param_00 thread func_8B61(); param_00 method_8362(param_00.var_C96C,1); param_00 thread func_42AB(param_00.var_C96C); param_00 waittill("goal"); param_00 func_11075(); param_00 func_658C(); param_00 thread func_B9FF(); } //Function Number: 5 func_42AB(param_00) { self endon("goal"); self endon("death"); for(;;) { if(distance2d(self.origin,param_00) < 768) { self method_830A(45,25); break; } wait(0.05); } } //Function Number: 6 func_658C() { self notify("engageGround"); self endon("engageGround"); self endon("death"); thread func_8B5D(); thread func_DCB0(); var_00 = self.var_5087; self method_83E5(15,5); self method_8362(var_00,1); self waittill("goal"); } //Function Number: 7 func_8B5E() { self endon("death"); self method_830A(0,0); self notify("leaving"); func_2FC0(1); self notify("stopRand"); for(;;) { self method_83E5(35,25); var_00 = self.origin + anglestoforward((0,randomint(360),0)) * 500; var_00 = var_00 + (0,0,900); var_01 = bullettrace(self.origin,self.origin + (0,0,900),0,self); if(var_01["surfacetype"] == "none") { break; } wait(0.1); } self method_8362(var_00,1); thread func_10DA1(); self waittill("goal"); self playsoundonmovingent("harrier_fly_away"); var_02 = func_8051(); self method_83E5(250,75); self method_8362(var_02,1); self waittill("goal"); level.var_8B5F[level.var_8B5F.size - 1] = undefined; self notify("harrier_gone"); thread func_8B5A(); } //Function Number: 8 func_8B5A() { self delete(); } //Function Number: 9 func_8B61() { self endon("death"); scripts\mp\_hostmigration::func_13708(90); func_8B5E(); } //Function Number: 10 func_DCB0() { self notify("randomHarrierMovement"); self endon("randomHarrierMovement"); self endon("stopRand"); self endon("death"); self endon("acquiringTarget"); self endon("leaving"); var_00 = self.var_5087; for(;;) { var_01 = func_7FE2(self.origin); self method_8362(var_01,1); self waittill("goal"); wait(randomintrange(1,2)); self notify("randMove"); } } //Function Number: 11 func_7FE2(param_00,param_01) { self endon("stopRand"); self endon("death"); self endon("acquiringTarget"); self endon("leaving"); if(!isdefined(param_01)) { var_02 = []; foreach(var_04 in level.players) { if(var_04 == self) { continue; } if(!level.teambased || var_04.team != self.team) { var_02[var_02.size] = var_04.origin; } } if(var_02.size > 0) { var_06 = averagepoint(var_02); var_07 = var_06[0]; var_08 = var_06[1]; } else { var_09 = level.var_B32E; var_0A = level.var_B339 / 4; var_07 = randomfloatrange(var_09[0] - var_0A,var_09[0] + var_0A); var_08 = randomfloatrange(var_09[1] - var_0A,var_09[1] + var_0A); } var_0B = func_7E3E(var_07,var_08,20); } else if(scripts\common\utility::func_4347()) { var_0C = self.origin - self.var_2A9A.origin; var_07 = var_0C[0]; var_08 = var_0C[1] * -1; var_0B = func_7E3E(var_07,var_08,20); var_0D = (var_08,var_07,var_0B); if(distance2d(self.origin,var_0D) > 1200) { var_08 = var_08 * 0.5; var_07 = var_07 * 0.5; var_0D = (var_08,var_07,var_0B); } } else { if(distance2d(self.origin,self.var_2A9A.origin) < 200) { return; } var_0E = self.angles[1]; var_0F = (0,var_0E,0); var_10 = self.origin + anglestoforward(var_0F) * randomintrange(200,400); var_0B = func_7E3E(var_10[0],var_10[1],20); var_07 = var_10[0]; var_08 = var_10[1]; } for(;;) { var_11 = func_11A8A(var_07,var_08,var_0B); if(var_11 != 0) { return var_11; } var_07 = randomfloatrange(param_00[0] - 1200,param_00[0] + 1200); var_08 = randomfloatrange(param_00[1] - 1200,param_00[1] + 1200); var_0B = func_7E3E(var_07,var_08,20); } } //Function Number: 12 func_11A8A(param_00,param_01,param_02) { self endon("stopRand"); self endon("death"); self endon("acquiringTarget"); self endon("leaving"); self endon("randMove"); for(var_03 = 1;var_03 <= 10;var_03++) { switch(var_03) { case 1: var_04 = bullettrace(self.origin,(param_00,param_01,param_02),0,self); break; case 2: var_04 = bullettrace(self gettagorigin("tag_left_wingtip"),(param_00,param_01,param_02),0,self); break; case 3: var_04 = bullettrace(self gettagorigin("tag_right_wingtip"),(param_00,param_01,param_02),0,self); break; case 4: var_04 = bullettrace(self gettagorigin("tag_engine_left2"),(param_00,param_01,param_02),0,self); break; case 5: var_04 = bullettrace(self gettagorigin("tag_engine_right2"),(param_00,param_01,param_02),0,self); break; case 6: var_04 = bullettrace(self gettagorigin("tag_right_alamo_missile"),(param_00,param_01,param_02),0,self); break; case 7: var_04 = bullettrace(self gettagorigin("tag_left_alamo_missile"),(param_00,param_01,param_02),0,self); break; case 8: var_04 = bullettrace(self gettagorigin("tag_right_archer_missile"),(param_00,param_01,param_02),0,self); break; case 9: var_04 = bullettrace(self gettagorigin("tag_left_archer_missile"),(param_00,param_01,param_02),0,self); break; case 10: var_04 = bullettrace(self gettagorigin("tag_light_tail"),(param_00,param_01,param_02),0,self); break; default: var_04 = bullettrace(self.origin,(param_00,param_01,param_02),0,self); break; } if(var_04["surfacetype"] != "none") { return 0; } wait(0.05); } var_05 = (param_00,param_01,param_02); return var_05; } //Function Number: 13 func_11A87(param_00,param_01) { self endon("death"); self endon("acquiringTarget"); self endon("leaving"); var_02 = -9999999; var_03 = 9999999; var_04 = -9999999; var_05 = self.origin[2]; var_06 = undefined; var_07 = undefined; for(var_08 = 1;var_08 <= 5;var_08++) { switch(var_08) { case 1: var_09 = bullettrace((param_00,param_01,var_05),(param_00,param_01,var_04),0,self); break; case 2: var_09 = bullettrace((param_00 + 20,param_01 + 20,var_05),(param_00 + 20,param_01 + 20,var_04),0,self); break; case 3: var_09 = bullettrace((param_00 - 20,param_01 - 20,var_05),(param_00 - 20,param_01 - 20,var_04),0,self); break; case 4: var_09 = bullettrace((param_00 + 20,param_01 - 20,var_05),(param_00 + 20,param_01 - 20,var_04),0,self); break; case 5: var_09 = bullettrace((param_00 - 20,param_01 + 20,var_05),(param_00 - 20,param_01 + 20,var_04),0,self); break; default: var_09 = bullettrace(self.origin,(param_00,param_01,var_04),0,self); break; } if(var_09["position"][2] > var_02) { var_02 = var_09["position"][2]; var_06 = var_09; } else if(var_09["position"][2] < var_03) { var_03 = var_09["position"][2]; var_07 = var_09; } wait(0.05); } return var_02; } //Function Number: 14 func_D494() { self endon("death"); wait(0.2); playfxontag(level.var_7546,self,"tag_right_wingtip"); playfxontag(level.var_7546,self,"tag_left_wingtip"); wait(0.2); playfxontag(level.var_8B56,self,"tag_engine_right"); playfxontag(level.var_8B56,self,"tag_engine_left"); wait(0.2); playfxontag(level.var_8B56,self,"tag_engine_right2"); playfxontag(level.var_8B56,self,"tag_engine_left2"); wait(0.2); playfxontag(level.var_3F19["light"]["left"],self,"tag_light_L_wing"); wait(0.2); playfxontag(level.var_3F19["light"]["right"],self,"tag_light_R_wing"); wait(0.2); playfxontag(level.var_3F19["light"]["belly"],self,"tag_light_belly"); wait(0.2); playfxontag(level.var_3F19["light"]["tail"],self,"tag_light_tail"); } //Function Number: 15 func_11075() { stopfxontag(level.var_7546,self,"tag_right_wingtip"); stopfxontag(level.var_7546,self,"tag_left_wingtip"); } //Function Number: 16 func_10DA1() { wait(3); if(!isdefined(self)) { return; } playfxontag(level.var_7546,self,"tag_right_wingtip"); playfxontag(level.var_7546,self,"tag_left_wingtip"); } //Function Number: 17 func_8054(param_00) { var_01 = 100; var_02 = 15000; var_03 = 850; var_04 = randomfloat(360); var_05 = (0,var_04,0); var_06 = param_00 + anglestoforward(var_05) * -1 * var_02; var_06 = var_06 + (randomfloat(2) - 1 * var_01,randomfloat(2) - 1 * var_01,0); return var_06; } //Function Number: 18 func_8051() { var_00 = 150; var_01 = 15000; var_02 = 850; var_03 = self.angles[1]; var_04 = (0,var_03,0); var_05 = self.origin + anglestoforward(var_04) * var_01; return var_05; } //Function Number: 19 func_6D7A(param_00,param_01) { self endon("leaving"); self endon("stopfiring"); self endon("explode"); self endon("death"); self.var_2A9A endon("death"); self.var_2A9A endon("disconnect"); var_02 = gettime(); var_03 = gettime(); var_04 = 0; self method_8365("harrier_20mm_mp"); if(!isdefined(param_01)) { param_01 = 50; } for(;;) { if(func_9F16(param_00)) { break; } else { wait(0.25); } } self method_835C(self.var_2A9A,(0,0,50)); var_05 = 25; for(;;) { if(var_05 == 25) { self playloopsound("weap_hind_20mm_fire_npc"); } var_05--; self method_80EB("tag_flash",self.var_2A9A,(0,0,0),0.05); wait(0.1); if(var_05 <= 0) { self stoploopsound(); wait(1); var_05 = 25; } } } //Function Number: 20 func_9F16(param_00) { self endon("death"); self endon("leaving"); if(!isdefined(param_00)) { param_00 = 10; } var_01 = anglestoforward(self.angles); var_02 = self.var_2A9A.origin - self.origin; var_01 = var_01 * (1,1,0); var_02 = var_02 * (1,1,0); var_02 = vectornormalize(var_02); var_01 = vectornormalize(var_01); var_03 = vectordot(var_02,var_01); var_04 = cos(param_00); if(var_03 >= var_04) { return 1; } return 0; } //Function Number: 21 func_1570(param_00) { self endon("death"); self endon("leaving"); if(param_00.size == 1) { self.var_2A9A = param_00[0]; } else { self.var_2A9A = func_7E05(param_00); } func_2737(0); self notify("acquiringTarget"); self method_835C(self.var_2A9A); self method_8305(self.var_2A9A); var_01 = func_7FE2(self.origin,1); if(!isdefined(var_01)) { var_01 = self.origin; } self method_8362(var_01,1); thread func_13B74(); thread func_13B77(); self method_8365("harrier_20mm_mp"); thread func_6D7A(); } //Function Number: 22 func_2737(param_00) { self method_8362(self.var_5087,1); if(isdefined(param_00) && param_00) { self waittill("goal"); } } //Function Number: 23 func_13DCF(param_00) { var_01 = bullettrace(self.origin,param_00,1,self); if(var_01["position"] == param_00) { return 0; } return 1; } //Function Number: 24 func_13B74() { self notify("watchTargetDeath"); self endon("watchTargetDeath"); self endon("newTarget"); self endon("death"); self endon("leaving"); self.var_2A9A waittill("death"); thread func_2FC0(); } //Function Number: 25 func_13B77(param_00) { self endon("death"); self.var_2A9A endon("death"); self.var_2A9A endon("disconnect"); self endon("leaving"); self endon("newTarget"); var_01 = undefined; if(!isdefined(param_00)) { param_00 = 1000; } for(;;) { if(!func_9F97(self.var_2A9A)) { thread func_2FC0(); return; } if(!isdefined(self.var_2A9A)) { thread func_2FC0(); return; } if(self.var_2A9A method_838A(self.origin,self) < 1) { if(!isdefined(var_01)) { var_01 = gettime(); } if(gettime() - var_01 > param_00) { thread func_2FC0(); return; } } else { var_01 = undefined; } wait(0.25); } } //Function Number: 26 func_2FC0(param_00) { self endon("death"); self method_8076(); self stoploopsound(); self notify("stopfiring"); if(isdefined(param_00) && param_00) { return; } thread func_DCB0(); self notify("newTarget"); thread func_8B5D(); } //Function Number: 27 func_8B5D() { self notify("harrierGetTargets"); self endon("harrierGetTargets"); self endon("death"); self endon("leaving"); var_00 = []; for(;;) { var_00 = []; var_01 = level.players; if(isdefined(level.var_3F14) && level.var_3F14.team != self.team && isalive(level.var_3F14)) { if(!isdefined(level.var_3F14.var_C084) || isdefined(level.var_3F14.var_C084) && !level.var_3F14.var_C084) { thread func_6591(level.var_3F14); return; } else { func_2737(1); } } if(isdefined(level.var_AD8B)) { foreach(var_03 in level.var_AD8B) { if(isdefined(var_03) && var_03.team != self.team && isdefined(var_03.var_8DCF) && var_03.var_8DCF == "heli_pilot") { thread func_6591(var_03); return; } } } for(var_05 = 0;var_05 < var_01.size;var_05++) { var_06 = var_01[var_05]; if(func_9F97(var_06)) { if(isdefined(var_01[var_05])) { var_00[var_00.size] = var_01[var_05]; } } else { continue; } wait(0.05); } if(var_00.size > 0) { func_1570(var_00); return; } wait(1); } } //Function Number: 28 func_9F97(param_00) { self endon("death"); if(!isalive(param_00) || param_00.sessionstate != "playing") { return 0; } if(isdefined(self.var_222) && param_00 == self.var_222) { return 0; } if(distance(param_00.origin,self.origin) > 8192) { return 0; } if(distance2d(param_00.origin,self.origin) < 150) { return 0; } if(!isdefined(param_00.pers["team"])) { return 0; } if(level.teambased && param_00.pers["team"] == self.team) { return 0; } if(param_00.pers["team"] == "spectator") { return 0; } if(isdefined(param_00.var_10916) && gettime() - param_00.var_10916 / 1000 <= 5) { return 0; } if(param_00 scripts\mp\_utility::_hasperk("specialty_blindeye")) { return 0; } var_01 = self.origin + (0,0,-160); var_02 = anglestoforward(self.angles); var_03 = var_01 + 144 * var_02; var_04 = param_00 method_838A(self.origin,self); if(var_04 < 1) { return 0; } return 1; } //Function Number: 29 func_7E05(param_00) { self endon("death"); var_01 = self gettagorigin("tag_flash"); var_02 = self.origin; var_03 = anglestoforward(self.angles); var_04 = undefined; var_05 = undefined; var_06 = 0; foreach(var_08 in param_00) { var_09 = abs(vectortoangles(var_08.origin - self.origin)[1]); var_0A = abs(self gettagangles("tag_flash")[1]); var_09 = abs(var_09 - var_0A); var_0B = var_08 getweaponslistitems(); foreach(var_0D in var_0B) { if(issubstr(var_0D,"at4") || issubstr(var_0D,"stinger") || issubstr(var_0D,"jav")) { var_09 = var_09 - 40; } } if(distance(self.origin,var_08.origin) > 2000) { var_09 = var_09 + 40; } if(!isdefined(var_04)) { var_04 = var_09; var_05 = var_08; continue; } if(var_04 > var_09) { var_04 = var_09; var_05 = var_08; } } return var_05; } //Function Number: 30 func_6D75(param_00) { self endon("death"); self endon("leaving"); if(self.var_B898 <= 0) { return; } var_01 = func_3E13(param_00,256); if(!isdefined(param_00)) { return; } if(distance2d(self.origin,param_00.origin) < 512) { return; } if(isdefined(var_01) && var_01) { return; } self.var_B898--; self method_8365("aamissile_projectile_mp"); if(isdefined(param_00.var_1155F)) { var_02 = self method_80EB("tag_flash",param_00.var_1155F,(0,0,-250)); } else { var_02 = self method_80EB("tag_flash",var_01,(0,0,-250)); } var_02 missile_setflightmodedirect(); var_02 missile_settargetent(param_00); } //Function Number: 31 func_3E13(param_00,param_01) { self endon("death"); self endon("leaving"); var_02 = []; var_03 = level.players; var_04 = param_00.origin; for(var_05 = 0;var_05 < var_03.size;var_05++) { var_06 = var_03[var_05]; if(var_06.team != self.team) { continue; } var_07 = var_06.origin; if(distance2d(var_07,var_04) < 512) { return 1; } } return 0; } //Function Number: 32 func_8992() { self waittill("damage",var_00,var_01,var_02,var_03,var_04,var_05,var_06,var_07,var_08,var_09); if(var_09 == "aamissile_projectile_mp" && var_04 == "MOD_EXPLOSIVE" && var_00 >= self.health) { func_3758(var_01,var_01,9001,0,var_04,var_09,var_03,var_02,var_03,0,0,var_07); } } //Function Number: 33 func_3758(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B) { if((param_01 == self || isdefined(param_01.pers) && param_01.pers["team"] == self.team && !level.var_740A && level.teambased) && param_01 != self.var_222) { return; } if(self.health <= 0) { return; } param_02 = scripts\mp\_damage::func_8975(param_05,param_04,param_02); switch(param_05) { case "iw6_rocketmutli_mp": case "iw6_rocketplyr_mp": case "remotemissile_projectile_mp": case "odin_projectile_large_rod_mp": case "javelin_mp": case "stinger_mp": case "ac130_40mm_mp": case "ac130_105mm_mp": self.var_A859 = 1; param_02 = self.maxhealth + 1; break; case "at4_mp": case "rpg_mp": self.var_A859 = 1; param_02 = self.maxhealth - 900; break; case "odin_projectile_small_rod_mp": case "remote_tank_projectile_mp": param_02 = int(self.maxhealth * 0.34); self.var_A859 = 1; break; case "iw6_panzerfaust3_mp": case "switch_blade_child_mp": case "drone_hive_projectile_mp": param_02 = int(self.maxhealth * 0.25); self.var_A859 = 1; break; default: if(param_05 != "none") { param_02 = int(param_02 / 2); } self.var_A859 = 0; break; } scripts\mp\killstreaks\_killstreaks::func_A6A0(param_01,param_05,self); param_01 scripts\mp\_damagefeedback::func_12E84(""); if(isplayer(param_01) && param_01 scripts\mp\_utility::_hasperk("specialty_armorpiercing")) { var_0C = int(param_02 * level.var_218B); param_02 = param_02 + var_0C; } if(self.health <= param_02) { if(isplayer(param_01) && !isdefined(self.var_222) || param_01 != self.var_222) { thread scripts\mp\_utility::func_115DE("callout_destroyed_harrier",param_01); param_01 thread scripts\mp\_utility::func_83B4("kill",param_05); param_01 notify("destroyed_killstreak"); } if(param_05 == "heli_pilot_turret_mp") { param_01 scripts\mp\_missions::func_D992("ch_enemy_down"); } scripts\mp\_missions::func_3DE3(param_01,self,param_05); self notify("death"); } if(self.health - param_02 <= 900 && !isdefined(self.var_1037E) || !self.var_1037E) { thread func_CF0B(); self.var_1037E = 1; } self method_83DB(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08,param_09,param_0A,param_0B); } //Function Number: 34 func_CF0B() { self endon("death"); stopfxontag(level.var_8B56,self,"tag_engine_left"); playfxontag(level.var_8B59,self,"tag_engine_left"); stopfxontag(level.var_8B56,self,"tag_engine_right"); playfxontag(level.var_8B59,self,"tag_engine_right"); wait(0.15); stopfxontag(level.var_8B56,self,"tag_engine_left2"); playfxontag(level.var_8B59,self,"tag_engine_left2"); stopfxontag(level.var_8B56,self,"tag_engine_right2"); playfxontag(level.var_8B59,self,"tag_engine_right2"); playfxontag(level.var_3F19["damage"]["heavy_smoke"],self,"tag_engine_left"); } //Function Number: 35 func_8B5B() { self endon("harrier_gone"); self waittill("death"); if(!isdefined(self)) { return; } if(!isdefined(self.var_A859)) { self method_83E5(25,5); thread func_8B60(randomintrange(180,220)); wait(randomfloatrange(0.5,1.5)); } func_8B5C(); } //Function Number: 36 func_8B5C() { self playsound("harrier_jet_crash"); level.var_8B5F[level.var_8B5F.size - 1] = undefined; var_00 = self gettagangles("tag_deathfx"); playfx(level.var_8B57,self gettagorigin("tag_deathfx"),anglestoforward(var_00),anglestoup(var_00)); self notify("explode"); wait(0.05); thread func_8B5A(); } //Function Number: 37 func_8B60(param_00) { self endon("explode"); playfxontag(level.var_3F19["explode"]["medium"],self,"tag_origin"); self method_8378(param_00,param_00,param_00); while(isdefined(self)) { self method_8348(self.angles[1] + param_00 * 0.9); wait(1); } } //Function Number: 38 func_6591(param_00) { param_00 endon("death"); param_00 endon("leaving"); param_00 endon("crashing"); self endon("death"); func_1574(param_00); thread func_6D7C(); } //Function Number: 39 func_6D7C() { self endon("leaving"); self endon("stopfiring"); self endon("explode"); self.var_2A9A endon("crashing"); self.var_2A9A endon("leaving"); self.var_2A9A endon("death"); var_00 = gettime(); if(isdefined(self.var_2A9A) && self.var_2A9A.classname == "script_vehicle") { self method_835C(self.var_2A9A); for(;;) { var_01 = distance2d(self.origin,self.var_2A9A.origin); if(gettime() - var_00 > 2500 && var_01 > 1000) { func_6D75(self.var_2A9A); var_00 = gettime(); } wait(0.1); } } } //Function Number: 40 func_1574(param_00) { self endon("death"); self endon("leaving"); self notify("newTarget"); self.var_2A9A = param_00; self notify("acquiringVehTarget"); self method_8305(self.var_2A9A); thread func_13B9E(); thread func_13B9D(); self method_835C(self.var_2A9A); } //Function Number: 41 func_13B9D() { self endon("death"); self endon("leaving"); self.var_2A9A endon("death"); self.var_2A9A endon("drop_crate"); self.var_2A9A waittill("crashing"); func_2FC1(); } //Function Number: 42 func_13B9E() { self endon("death"); self endon("leaving"); self.var_2A9A endon("crashing"); self.var_2A9A endon("drop_crate"); self.var_2A9A waittill("death"); func_2FC1(); } //Function Number: 43 func_2FC1() { self method_8076(); if(isdefined(self.var_2A9A) && !isdefined(self.var_2A9A.var_C084)) { self.var_2A9A.var_C084 = 1; } self notify("stopfiring"); self notify("newTarget"); thread func_11075(); thread func_658C(); } //Function Number: 44 func_67E4() { self method_830A(15,80); self method_83E5(50,100); self method_8378(90,30,30,0.5); var_00 = self.origin; var_01 = self.angles[1]; if(scripts\common\utility::func_4347()) { var_02 = (0,var_01 + 90,0); } else { var_02 = (0,var_02 - 90,0); } var_03 = self.origin + anglestoforward(var_02) * 500; self method_8362(var_03,1); self waittill("goal"); } //Function Number: 45 func_184E() { level.var_8DD3[self getentitynumber()] = self; } //Function Number: 46 func_E10A() { var_00 = self getentitynumber(); self waittill("death"); level.var_8DD3[var_00] = undefined; } //Function Number: 47 func_B9FF() { self endon("death"); self endon("leaving"); if(!isdefined(self.var_222) || self.var_222.team != self.team) { thread func_8B5E(); return; } self.var_222 scripts\common\utility::waittill_any_3("joined_team","disconnect"); thread func_8B5E(); }