/******************************************************************* * Decompiled By: Bog * Decompiled File: 3622.gsc * Game: Call of Duty: Infinite Warfare * Platform: PC * Function Count: 50 * Decompile Time: 28 ms * Timestamp: 10/27/2023 12:30:57 AM *******************************************************************/ //Function Number: 1 func_972B() { setdvarifuninitialized("debug_seeker",0); level.var_F10A = spawnstruct(); level.var_F10A.var_1157E = []; level.var_F10A.var_1633 = []; level.var_F10A.var_162D = []; level.var_F10A.var_A8C6 = undefined; level.player.var_F179 = spawnstruct(); level.player.var_F179.var_45BF = 0; level.player.var_F179.var_9076 = 0; level.var_F10A.var_4D19 = 128; level.var_F10A.var_4D0C = 200; level.var_F10A.var_4D02 = 550; level.var_F10A.var_B41A = 4; scripts\common\utility::flag_init("seeker_force_delete"); scripts\sp\_utility::func_9189("default_seeker",3,"default"); } //Function Number: 2 func_F135(param_00) { if(level.var_F10A.var_1633.size >= level.var_F10A.var_B41A) { func_A5FB(); } var_01 = undefined; if(self == level.player && isdefined(level.player.var_AF29)) { var_01 = level.player.var_AF29; level.player.var_AF29 = undefined; } var_02 = scripts\common\utility::spawn_tag_origin(); var_02.origin = param_00.origin; var_02 linkto(param_00); var_02.var_15F = param_00; level.var_F10A.var_162D[level.var_F10A.var_162D.size] = var_02; param_00 thread func_F136(); var_03 = var_02.var_15F scripts\common\utility::func_13734("missile_stuck","death","entitydeleted"); if(!isdefined(var_02.var_15F)) { var_02 thread func_E085(); return; } if(var_03 == "missile_stuck") { func_107D1(var_02,undefined,undefined,var_01); } if(level.player.var_F179.var_45BF) { level thread func_B9CD(); } var_02 thread func_E085(); } //Function Number: 3 func_F136() { self endon("death"); wait(5); self delete(); } //Function Number: 4 func_E085() { if(!isdefined(self)) { return; } if(isdefined(self.var_15F)) { level.var_F10A.var_A8C6 = self.var_15F.origin; self.var_15F unlink(); self.var_15F delete(); } if(scripts\common\utility::flag("seeker_force_delete")) { scripts\common\utility::func_136F7(); } if(isdefined(self)) { level.var_F10A.var_162D = scripts\common\utility::func_22A9(level.var_F10A.var_162D,self); self delete(); } } //Function Number: 5 func_A5FB() { var_00 = undefined; var_01 = 0; foreach(var_03 in level.var_F10A.var_1633) { if(var_01 == 0 || var_03.var_10DFF < var_01) { var_01 = var_03.var_10DFF; var_00 = var_03; } } if(isdefined(var_00)) { var_00.var_EA0E = 1; if(isdefined(var_00.var_F166)) { stopfxontag(level.var_7649[var_00.var_F166],var_00,"tag_fx"); } if(isdefined(var_00.var_B14F)) { var_00 scripts\sp\_utility::func_1101B(); } playfxontag(level.var_7649["seeker_sparks"],var_00,"tag_fx"); function_0178("seeker_expire",var_00.origin); var_00 method_818B(); var_00 method_81D0(); } } //Function Number: 6 func_DFC1() { level notify("removing_all_seekers_instantly"); level endon("removing_all_seekers_instantly"); scripts\common\utility::flag_set("seeker_force_delete"); foreach(var_01 in level.var_F10A.var_162D) { var_01 thread func_E085(); } foreach(var_04 in level.var_F10A.var_1633) { var_04 thread func_E084(); } for(;;) { if(level.var_F10A.var_162D.size > 0 || level.var_F10A.var_1633.size > 0) { scripts\common\utility::func_136F7(); continue; } break; } scripts\common\utility::func_6E2A("seeker_force_delete"); } //Function Number: 7 func_107D1(param_00,param_01,param_02,param_03) { if(!isdefined(param_00)) { param_00 = self; } var_04 = getclosestpointonnavmesh(param_00.origin,undefined,1); var_05 = distancesquared(var_04,param_00.origin); if(var_05 > squared(250)) { return; } var_06 = getspawner("actor_ally_equipment_seeker","classname"); var_06.origin = param_00.origin; if(isdefined(param_02)) { var_06.origin = var_06.origin + param_02; } var_06.angles = self.angles; var_06.var_C1 = var_06.var_C1 + 1; var_07 = var_06 func_F15A(); if(!isdefined(var_07)) { return; } var_07.var_222 = self; if(isdefined(param_01) && param_01 == 1) { var_07.var_C93D = 1; } if(isdefined(self.script_noteworthy) && self.script_noteworthy == "no_expire") { self.var_595E = 1; } if(!isdefined(var_07.var_C93D)) { var_07.team = var_07.var_222.team; } self.var_F10A = var_07; if(isdefined(param_03)) { var_07.var_12E = param_03; } var_07 thread func_F159(); if(isdefined(level.var_F10A.var_4C74)) { var_07 thread [[ level.var_F10A.var_4C74 ]](); } level.var_F10A.var_1633[level.var_F10A.var_1633.size] = var_07; return var_07; } //Function Number: 8 func_107D2(param_00,param_01,param_02,param_03,param_04) { var_05 = getspawner("actor_ally_equipment_seeker","classname"); var_05.origin = param_00; var_05.angles = param_01; var_05.var_C1 = var_05.var_C1 + 1; var_06 = var_05 func_F15A(); if(!isdefined(var_06)) { return; } var_06.var_222 = var_06; var_06.team = param_02; if(isdefined(param_03)) { var_06.var_728A = param_03; } if(isdefined(param_04)) { var_06.var_5967 = param_04; } var_06 thread func_F159(); level.var_F10A.var_1633[level.var_F10A.var_1633.size] = var_06; return var_06; } //Function Number: 9 func_F12A() { self endon("death"); var_00 = 0; var_01 = 5; for(;;) { if(!self islinked()) { var_02 = self method_812B(); if(var_02 == "none") { var_00++; if(var_00 > 4 * var_01) { self delete(); } } else { var_00 = 0; } } else { var_00 = 0; } wait(0.25); } } //Function Number: 10 func_F15A() { level endon("seeker_force_delete"); if(scripts\common\utility::flag("seeker_force_delete")) { return undefined; } var_00 = 0; while(isdefined(self.var_9C20)) { wait(0.05); var_00++; if(var_00 > 5) { return undefined; } } var_01 = undefined; self.var_9C20 = 1; self.var_C1 = self.var_C1 + 1; for(var_02 = 0;var_02 < 5;var_02++) { var_01 = self method_8393(); if(!isdefined(var_01)) { wait(0.05); continue; } break; } self.var_9C20 = undefined; return var_01; } //Function Number: 11 func_10679(param_00,param_01,param_02) { if(!isdefined(param_01)) { param_01 = self.origin; } if(!isdefined(param_02)) { param_02 = self.angles; } if(!isdefined(param_00)) { param_00 = 1; } wait(param_00); if(self.team == "allies" || self.team == "neutral") { var_03 = "axis"; } else { var_03 = "allies"; } return func_107D2(param_01,param_02,var_03,self); } //Function Number: 12 func_F162() { self endon("death"); self endon("seeker_unequipped"); if(!level.player.var_F179.var_9076) { return; } thread func_F165(); for(;;) { self waittill("grenade_pullback",var_00); if(var_00 != "seeker") { continue; } self.var_AF29 = undefined; childthread func_F161(); self waittill("offhand_end"); scripts\common\utility::func_136F7(); } } //Function Number: 13 func_F165() { self endon("death"); self endon("stop_seeker_unequipped_think"); self notify("seeker_unequipped_think"); self endon("seeker_unequipped_think"); self waittill("primary_equipment_change"); if(!scripts\sp\_utility::func_93A6()) { self method_8438(); } self notify("seeker_unequipped"); } //Function Number: 14 func_F160() { scripts\common\utility::waittill_either("offhand_end","offhand_ammo"); wait(0.05); if(isdefined(self.var_AF29)) { self.var_AF29 scripts\sp\_utility::func_9193("default_seeker"); self.var_AF29 = undefined; } } //Function Number: 15 func_F161() { self endon("offhand_end"); self endon("offhand_ammo"); thread func_F160(); wait(1.5); for(;;) { var_00 = func_F07D(); if(isdefined(var_00)) { if(isdefined(self.var_AF29) && var_00 != self.var_AF29) { self.var_AF29 scripts\sp\_utility::func_9193("default_seeker"); } var_00 scripts\sp\_utility::func_9196(1,0,0,"default_seeker"); self.var_AF29 = var_00; wait(0.5); } else if(isdefined(self.var_AF29)) { self.var_AF29 scripts\sp\_utility::func_9193("default_seeker"); } scripts\common\utility::func_136F7(); } } //Function Number: 16 func_10793() { var_00 = func_F15A(); var_00.var_C93D = 1; var_00 thread func_F159(); } //Function Number: 17 func_F159() { if(isdefined(self.var_C93D)) { self.team = "team3"; if(isdefined(self.target)) { thread lib_0B77::func_8409(); } } self.var_F166 = "seeker_" + self.team; playfxontag(level.var_7649[self.var_F166],self,"tag_fx"); self.var_BC = "no_cover"; self.name = ""; self.var_163 = 0; self.var_1491.var_5605 = 1; self.allowpain = 0; self.var_10264 = 1; self.var_28CF = 0; self.var_B5DD = 1; self.var_186 = 1; self.var_5963 = 1; self.var_231 = 8; self.var_232 = 8; self.maxsightdistsqrd = 0; self.var_1FD = 0; self.var_132 = 0; self.var_55B5 = 1; self.var_55EF = 1; self.var_F7 = 0; self.var_C012 = 1; self.var_2745 = []; self.var_2A4B = 1; self.var_733D = 0; self method_84E5(0); if(isdefined(self.var_C93D)) { self.ignoreme = 1; } if(self.var_222 == level.player) { self.health = 3000; thread scripts\sp\_utility::func_B14F(1); } else { self.health = 50; } if(level.var_7683 == 0 && self.var_222 != level.player) { thread func_F169(); } func_F13A(); thread scripts\sp\_utility::func_CE2F("seeker_init"); thread scripts\common\utility::func_CD7F("seeker_seek_lp"); thread func_BC0A(); thread func_F137(); thread func_F114(); thread func_F12A(); thread func_F115(); thread func_6C95(); if(self.var_222 == level.player) { thread func_F14C(); } } //Function Number: 18 func_F115() { scripts\common\utility::waittill_either("death","entitydeleted"); if(isdefined(self.var_A481)) { self.var_A481 delete(); } } //Function Number: 19 func_F13A() { if(self.var_222 == level.player) { self.var_BCD6 = 1; return; } if(level.var_7683 <= 1) { self.var_BCD6 = 0.65; return; } self.var_BCD6 = 0.75; } //Function Number: 20 func_F114() { self endon("death"); for(;;) { function_00F3(self.origin,25,1000,1000); scripts\common\utility::func_136F7(); } } //Function Number: 21 func_8BA7() { if(level.player hasweapon("seeker")) { return "current"; } var_00 = scripts\sp\_utility::func_7CAF(); if(!isdefined(var_00)) { return "no"; } if(var_00 == "seeker") { return "stored"; } return "no"; } //Function Number: 22 func_F16B() { self endon("death"); for(;;) { scripts\common\utility::func_136F7(); var_00 = func_8BA7(); if(var_00 == "no") { self notify("no_inventory"); continue; } var_01 = 0; if(var_00 == "current") { var_01 = scripts\sp\_utility::func_7BD7(); } else if(var_00 == "stored") { var_01 = scripts\sp\_utility::func_7CB0(); } if(var_01 == 4) { self notify("max_ammo"); continue; } } } //Function Number: 23 func_F14C() { self endon("death"); if(isdefined(self.var_C93D)) { return; } var_00 = 0; childthread func_F16B(); for(;;) { scripts\common\utility::func_136F7(); if(isdefined(self.var_3135.var_F15D) && self.var_3135.var_F15D != self.var_222) { continue; } var_01 = func_8BA7(); if(var_01 == "no") { continue; } var_02 = 0; if(var_01 == "current") { var_02 = scripts\sp\_utility::func_7BD7(); } else if(var_01 == "stored") { var_02 = scripts\sp\_utility::func_7CB0(); } if(var_02 == 4) { continue; } thread lib_0E46::func_48C4("tag_origin",(0,0,25),&"EQUIPMENT_SEEKER_RETRIEVE",undefined,60,50,undefined,undefined,undefined,&"hud_interaction_prompt_center_equipment",undefined,undefined,undefined,undefined,90); var_00 = 1; var_03 = scripts\common\utility::func_13734("trigger","max_ammo","no_inventory","set_bt_target"); if(var_03 == "trigger") { break; } else { if(var_00) { lib_0E46::func_DFE3(); } continue; } } function_0178("player_refill_all_ammo",level.player.origin); var_01 = func_8BA7(); var_02 = 0; if(var_01 == "current") { var_02 = scripts\sp\_utility::func_7BD7(); level.player setweaponammoclip("seeker",var_02 + 1); } else if(var_01 == "stored") { var_02 = scripts\sp\_utility::func_7CB0(); level.player.var_110BE++; } func_E084(); } //Function Number: 24 func_E084() { self.var_EA0E = 1; if(isdefined(self.var_F166)) { stopfxontag(level.var_7649[self.var_F166],self,"tag_fx"); self.var_F166 = undefined; } if(isdefined(self.var_B55B)) { self method_8484(); if(isdefined(self.var_B55B)) { if(isdefined(self.var_B55B.target)) { self.var_B55B.target.var_B55B = undefined; } self.var_B55B = undefined; } } self notify("stop soundseeker_target_acquire_lp"); self notify("stop soundseeker_move_lp"); self notify("stop soundseeker_move_servo_lp"); level.var_F10A.var_1633 = scripts\common\utility::func_22A9(level.var_F10A.var_1633,self); if(isplayer(self.var_222)) { var_00 = level.player func_7B02(); if(!var_00.size) { level.var_F10A.var_5AE6 = undefined; level.player notify("stop_monitoring_doubletap"); } } self delete(); } //Function Number: 25 func_F169() { level.player endon("death"); for(;;) { if(!isalive(self)) { return; } if(isdefined(self.var_3135) && isdefined(self.var_3135.var_F15D)) { if(self.var_3135.var_F15D == level.player) { if(distance2dsquared(self.origin,level.player getorigin()) < squared(800)) { self.var_138F2 = newhudelem(); var_00 = scripts\common\utility::spawn_tag_origin(self.origin + (0,0,30)); var_00 linkto(self); self.var_138F2 setshader("hud_icon_grenade_incoming_seeker",32,32); self.var_138F2.color = (1,1,1); self.var_138F2.alpha = 1; self.var_138F2 setwaypoint(1,1,0); self.var_138F2 settargetent(var_00); scripts\common\utility::waittill_either("jumped_on_player","death"); self.var_138F2 destroy(); var_00 delete(); return; } } } wait(0.05); } } //Function Number: 26 func_F137() { if(isdefined(self.var_C93D) || isdefined(self.var_5967) && self.var_5967) { return; } if(self.team == "allies") { scripts\sp\_utility::func_9196(3,0,0,"default_seeker"); return; } if(self.team == "axis") { scripts\sp\_utility::func_9196(1,1,1,"default_seeker"); } } //Function Number: 27 func_BC0A() { self endon("death"); for(;;) { func_BC73(); while(self.var_164D["seeker"].var_4BC0 != "run_loop") { wait(0.05); } func_BC72(); while(self.var_164D["seeker"].var_4BC0 == "run_loop") { wait(0.05); } } } //Function Number: 28 func_BC72() { self playsound("seeker_move_start","sound_done"); self waittill("sound_done"); thread scripts\common\utility::func_CD7F("seeker_move_lp"); thread scripts\common\utility::func_CD7F("seeker_move_servo_lp"); } //Function Number: 29 func_BC73() { self notify("stop soundseeker_move_lp"); self notify("stop soundseeker_move_servo_lp"); self playsound("seeker_move_end","sound_done"); self waittill("sound_done"); } //Function Number: 30 func_B9CD() { if(isdefined(self.var_C93D)) { return; } if(isdefined(level.var_F10A.var_5AE6)) { return; } level.var_F10A.var_5AE6 = 1; level.player endon("stop_monitoring_doubletap"); var_00 = 0; var_01 = 0.3; for(;;) { if(level.player usebuttonpressed()) { var_00 = 0; while(level.player usebuttonpressed()) { var_00 = var_00 + 0.05; wait(0.05); } if(var_00 >= var_01) { continue; } var_00 = 0; while(!level.player usebuttonpressed() && var_00 < var_01) { var_00 = var_00 + 0.05; wait(0.05); } if(var_00 >= var_01) { continue; } func_2BCF(level.player); level.var_F10A.var_5AE6 = undefined; level.player notify("stop_monitoring_doubletap"); return; } wait(0.05); } } //Function Number: 31 func_2BCF(param_00) { foreach(var_02 in level.var_F10A.var_1633) { if(var_02.var_222 == param_00) { if(isdefined(var_02.var_9BB9)) { continue; } var_02.var_9BB9 = 1; var_02 thread func_F11E(1); } } } //Function Number: 32 func_7B02() { var_00 = []; foreach(var_02 in level.var_F10A.var_1633) { if(var_02.var_222 == self) { if(isdefined(var_02.var_9BB9)) { continue; } var_00[var_00.size] = var_02; } } return var_00; } //Function Number: 33 func_F11C() { self endon("seeker_detonate_finish"); self.var_50EB = 1; wait(0.4); if(!isdefined(self) || isdefined(self.var_9BB9)) { return; } function_0178("seeker_expl_beep",self.origin); wait(0.6); if(!isdefined(self) || isdefined(self.var_9BB9)) { return; } self.var_9BB9 = 1; thread func_F11E(); } //Function Number: 34 func_F11E(param_00,param_01,param_02) { if(isdefined(self)) { function_0278("ent_" + self getentitynumber() + "_seeker_repulsor"); if(isdefined(self.var_F166)) { stopfxontag(level.var_7649[self.var_F166],self,"tag_fx"); self.var_F166 = undefined; } if(isdefined(self.var_EA0E)) { return; } if(!isdefined(param_00)) { thread func_F11D(); } var_03 = self gettagorigin("j_body") + (0,0,2); if(isdefined(param_01)) { var_03 = param_01; } if(isdefined(self.var_222) && level.player == self.var_222) { var_04 = self.var_222 scripts\sp\_detonategrenades::func_734E(); self.var_222 scripts\common\utility::func_5127(0.1,::scripts\sp\_detonategrenades::func_734D,var_03,var_04,level.var_F10A.var_4D19); } self notify("seeker_detonate_finish",var_03); self notify("stop soundseeker_target_acquire_lp"); if(self.health > 0 || isdefined(param_02)) { if(isalive(self) && isdefined(self)) { self.var_166 = "seeker_expl"; self method_81EE(var_03,(0,0,0),0); } else { function_0136("seeker_expl",var_03,(0,0,0),0); } if(isalive(self)) { self hide(); } wait(0.1); physicsexplosionsphere(var_03,1000,100,2); thread scripts\sp\_detonategrenades::func_DBDB(var_03 + (0,0,5),0.2); earthquake(0.5,0.8,var_03,250); thread scripts\sp\_utility::func_54EF(var_03); thread func_F110(250,var_03); wait(0.5); if(!isdefined(self)) { return; } if(isdefined(self.var_B14F)) { scripts\sp\_utility::func_1101B(); } if(isalive(self)) { self method_81D0(); } self delete(); } wait(0.75); } } //Function Number: 35 func_F129(param_00) { var_01 = function_0072("axis","allies"); var_01[var_01.size] = level.player; var_02 = []; foreach(var_04 in var_01) { if(distance(param_00,var_04.origin) <= level.var_F10A.var_4D19) { var_02[var_02.size] = var_04; } } foreach(var_04 in var_02) { if(isplayer(var_04) && scripts\sp\_detonategrenades::func_385D(param_00)) { func_57BB(param_00,var_04); } if(scripts\sp\_detonategrenades::func_385C(param_00,var_04)) { func_57BB(param_00,var_04); } } } //Function Number: 36 func_57BB(param_00,param_01) { var_02 = distance2d(param_01.origin,param_00); var_03 = lib_0B4D::func_C097(0,level.var_F10A.var_4D19,var_02); var_04 = lib_0B4D::func_6A8E(level.var_F10A.var_4D0C,level.var_F10A.var_4D02,var_03); if(isdefined(param_01.var_12BA4)) { var_05 = tolower(param_01.var_12BA4); if(var_05 == "c6") { var_04 = var_04 * 3; } else if(var_05 == "c8") { var_04 = var_04 * 3; } else if(var_05 == "c12") { var_04 = var_04 * 3; } } param_01 dodamage(var_04,self.origin,self,self,"MOD_EXPLOSIVE","seeker"); } //Function Number: 37 func_F11D() { scripts\common\utility::play_sound_in_space("seeker_expl_beep",self.origin); } //Function Number: 38 func_F110(param_00,param_01) { if(level.player scripts\sp\_utility::func_65DB("no_grenade_block_gesture") || level.player method_81C6() || level.player method_8448()) { return; } var_02 = distance2dsquared(level.player.origin,param_01); if(var_02 > squared(param_00)) { return; } if(var_02 > squared(param_00 * 0.25)) { var_03 = vectordot(scripts\common\utility::func_6EE6(vectornormalize(param_01 - level.player.origin)),anglestoforward(level.player.angles)); if(var_03 < 0) { return; } } if(!scripts\common\trace::func_DCF1(param_01 + (0,0,12),level.player geteye(),undefined,scripts\common\trace::func_497D())) { return; } level.player thread func_F155(param_01); } //Function Number: 39 func_F155(param_00) { self endon("death"); var_01 = scripts\common\utility::spawn_tag_origin(param_00,(0,0,0)); thread scripts\common\utility::func_5179(var_01); var_02 = "ges_frag_block"; var_03 = self playgestureviewmodel(var_02,var_01,1,0.1); if(var_03) { childthread lib_0E49::func_D092(var_02,0,0,0,0,1,0,1,0,0,1,0,1.4); for(;;) { self waittill("gesture_stopped",var_02); if(var_02 == "ges_frag_block") { break; } } } var_01 delete(); } //Function Number: 40 func_F14D(param_00) { if(param_00) { if(isdefined(self.var_222) && !isplayer(self.var_222)) { return; } if(isdefined(self.var_C93D)) { return; } if(isdefined(self.var_9BB9)) { return; } if(isdefined(level.var_F14D)) { return; } level.var_F14D = 1; self.var_CBA0 = scripts\common\utility::spawn_tag_origin(); thread scripts\common\utility::func_5179(self.var_CBA0); thread func_CBA1(); thread func_F14E(); var_01 = (0,0,0); var_02 = (0,0,0); scripts\sp\_pip::func_CBB5(self.var_CBA0,"tag_origin",40,var_01,var_02); return; } scripts\sp\_pip::func_CBA3(); level.var_F14D = undefined; } //Function Number: 41 func_F14E() { self endon("death"); for(;;) { if(isdefined(self.var_9BB9)) { setomnvar("ui_pip_message_text_top","equipment_seeker_top"); setomnvar("ui_pip_message_text_bottom","equipment_seeker_blownup"); setomnvar("ui_pip_message_type",3); } else if(self.var_3135.var_1152B) { setomnvar("ui_pip_message_text_top","equipment_seeker_top"); setomnvar("ui_pip_message_text_bottom","equipment_seeker_locked"); setomnvar("ui_pip_message_type",3); } else if(isdefined(self.var_3135.var_F15D) && self.var_3135.var_F15D == self.var_222) { setomnvar("ui_pip_message_text_top","equipment_seeker_top"); setomnvar("ui_pip_message_text_bottom","equipment_seeker_idle"); setomnvar("ui_pip_message_type",1); } else { setomnvar("ui_pip_message_text_top","equipment_seeker_top"); setomnvar("ui_pip_message_text_bottom","equipment_seeker_searching"); setomnvar("ui_pip_message_type",2); } scripts\common\utility::func_136F7(); } } //Function Number: 42 func_CBA1() { scripts\common\utility::func_136F7(); var_00 = spawnturret("misc_turret",self.origin,"seeker_camera"); var_00 setmodel("tag_turret"); var_00 method_82D1(0); var_00 method_830F("manual"); var_00 makeunusable(); var_00.var_9FF0 = 1; var_00 method_82C9(0,"yaw"); var_00 method_82C9(0,"pitch"); var_01 = (2,0,7); if(isdefined(self.var_37B3)) { var_01 = var_01 + self.var_37B3; } var_00 linkto(self,"j_spine4",var_01,(0,0,0)); var_02 = scripts\common\utility::spawn_tag_origin(); var_03 = scripts\common\utility::spawn_tag_origin(); var_00 method_8347(var_03); self.var_CBA0 linkto(var_00,"tag_flash",(0,0,0),(0,0,0)); while(isalive(self)) { if(isdefined(self.var_7260)) { var_03 linkto(self.var_7260,"tag_origin",(0,0,0),(0,0,0)); continue; } if(isdefined(self.var_B55B) && isdefined(self.var_B55B.var_312F) && self.var_B55B.var_312F && isalive(self.var_B55B.target)) { if(isdefined(self.var_2479)) { var_03 linkto(self.var_B55B.target,"tag_eye",(0,0,0),(0,0,0)); } else { var_03 linkto(self.var_B55B.target,"j_neck",(0,0,0),(0,0,0)); } continue; } if(isalive(self.var_3135.var_F15D) && self method_805F(self.var_3135.var_F15D) || self.var_3135.var_1152B) { var_03 linkto(self.var_3135.var_F15D,"tag_eye",(0,0,0),(0,0,0)); continue; } var_03 linkto(self,"tag_eye",(50,0,2),(0,0,0)); wait(0.05); } var_02 delete(); var_03 delete(); var_00 delete(); } //Function Number: 43 func_CBA2(param_00,param_01) { var_02 = lib_0B4D::func_10AAE(10,param_00.origin,(0,0,0)); while(isalive(self) && isdefined(param_01)) { var_03 = lib_0B4D::func_10AB4(var_02,param_01.origin,param_00.origin); param_00.origin = var_03; scripts\common\utility::func_136F7(); } lib_0B4D::func_10AAA(var_02); } //Function Number: 44 func_F11B(param_00) { } //Function Number: 45 func_6C95() { self endon("death"); self.var_733D = 0; for(;;) { var_00 = getclosestpointonnavmesh(self.origin,self); var_01 = distancesquared(var_00,self.origin); if(var_01 <= squared(15)) { self.var_733D = 1; return; } wait(0.05); } } //Function Number: 46 func_7C41(param_00) { if(!isdefined(self.var_728A) && !self.var_733D) { return undefined; } var_01 = gettime(); if(self.var_3135.var_1152B || self.var_3135.var_1154B > 0 && self.var_3135.var_1154B + 700 > var_01) { return self.var_3135.var_F15D; } if(isdefined(self.var_EA0E) || isdefined(self.var_C93D) || isdefined(self.var_50EB) || isdefined(self.var_9BB9) || !isdefined(self.var_3135.var_652A)) { return undefined; } if(!isdefined(self.var_3135.var_9882)) { return undefined; } if(scripts\common\utility::func_6E34("stealth_enabled") && scripts\common\utility::flag("stealth_enabled")) { if(isalive(self.var_222) && self.var_222 scripts\sp\_utility::func_65DF("stealth_attack") && !self.var_222 scripts\sp\_utility::func_65DB("stealth_attack")) { return undefined; } } if(isdefined(self.var_12E)) { return self.var_12E; } if(isdefined(self.var_728A)) { return self.var_728A; } var_02 = function_0075(self.var_3135.var_652A,"all"); if(self.var_3135.var_652A == "allies") { if(lib_0F3D::func_B575(self.var_12BA4)) { var_02 = scripts\common\utility::array_add(var_02,level.player); } } var_03 = 1200; var_04 = 100; var_05 = []; foreach(var_07 in var_02) { if(var_07.ignoreme || !isalive(var_07) || isdefined(var_07.var_C012)) { continue; } if(isdefined(var_07.var_2023)) { continue; } if(scripts\common\utility::func_2286(self.var_2745,var_07)) { continue; } if(isalive(self.var_222)) { var_08 = distancesquared(self.var_222.origin,var_07.origin); if(var_08 < squared(var_04) || var_08 > squared(var_03)) { continue; } } var_05 = scripts\common\utility::array_add(var_05,var_07); } if(!var_05.size) { if(isalive(self.var_222)) { return self.var_222; } else { return undefined; } } if(var_05.size == 1) { if(isdefined(var_05[0]) && isalive(var_05[0])) { return var_05[0]; } } var_0A = undefined; if(self.var_222 == level.player) { var_0A = level.player func_797E(); } var_0B = cos(45); var_0C = 400; var_0D = 0; var_0E = undefined; var_0F = 1; foreach(var_11 in var_05) { var_12 = var_0F; if(isdefined(var_11.var_12BA4)) { if(var_11.var_12BA4 == "c6" || var_11.var_12BA4 == "c6i") { var_12 = var_12 * 0.99; } else if(var_11.var_12BA4 == "c8") { var_12 = var_12 * 0.98; } else if(var_11.var_12BA4 == "c12") { var_12 = var_12 * 0.2; } } if(isplayer(var_11)) { var_12 = var_12 * 0.99; } if(isdefined(var_11.var_F126) && var_11.var_F126 != self) { var_12 = var_12 * 0.5; } if(param_00) { var_08 = distancesquared(self.origin,var_11.origin); if(isdefined(self.var_3135.var_F15D) && self.var_3135.var_F15D == var_11) { var_12 = var_12 * 2; var_13 = 1 - lib_0B4D::func_C097(0,squared(var_0C),var_08); var_12 = var_12 * var_13 + 0.5; } else if(var_08 > squared(var_0C)) { var_12 = 0; } else { var_13 = 1 - lib_0B4D::func_C097(0,squared(var_0C),var_08); var_12 = var_12 * var_13 + 0.5; } } else { if(self.var_222 == level.player) { if(isdefined(var_0A) && var_0A == var_11) { var_12 = var_12 * 3; } var_14 = scripts\sp\_utility::func_7951(level.player geteye(),level.player getplayerangles(),var_11.origin); var_15 = lib_0B4D::func_DF68(var_14,var_0B,1,0,1); var_12 = var_12 * var_15; } else if(self.var_3135.var_652A == "axis") { if(isdefined(level.player.var_4D2C) && issentient(level.player.var_4D2C) && isalive(level.player.var_4D2C)) { var_12 = var_12 * 2; } } else if(isdefined(self.var_222.var_1B1) && issentient(self.var_222.var_1B1) && isalive(self.var_222.var_1B1)) { var_12 = var_12 * 2; } var_08 = distancesquared(self.origin,var_11.origin); var_13 = 1 - lib_0B4D::func_C097(squared(var_04),squared(var_03),var_08); var_12 = var_12 * var_13 + 0.5; } if(!isdefined(var_0E) || var_12 > var_0D) { var_0E = var_11; var_0D = var_12; } } return var_0E; } //Function Number: 47 func_F07D() { var_00 = function_0075("axis","all"); var_01 = 100; var_02 = []; foreach(var_04 in var_00) { if(var_04.ignoreme || !isalive(var_04)) { continue; } var_05 = distancesquared(self.origin,var_04.origin); if(var_05 < squared(var_01)) { continue; } var_02 = scripts\common\utility::array_add(var_02,var_04); } if(!var_02.size) { return undefined; } if(var_02.size == 1) { if(isdefined(var_02[0]) && isalive(var_02[0])) { return var_02[0]; } } var_07 = func_797E(); if(isdefined(var_07)) { return var_07; } var_08 = cos(45); var_09 = 800; var_0A = 400; var_0B = 0; var_0C = undefined; var_0D = 1; foreach(var_0F in var_02) { var_10 = var_0D; if(isdefined(var_0F.var_F126) && var_0F.var_F126 != self) { var_10 = var_10 * 0.5; } var_11 = scripts\sp\_utility::func_7951(level.player geteye(),level.player getplayerangles(),var_0F.origin); var_12 = lib_0B4D::func_DF68(var_11,var_08,1,0,1); var_10 = var_10 * var_12; var_05 = distancesquared(self.origin,var_0F.origin); var_13 = 1 - lib_0B4D::func_C097(squared(var_01),squared(var_09),var_05); var_10 = var_10 * var_13 + 0.5; if(!isdefined(var_0C) || var_10 > var_0B) { var_0C = var_0F; var_0B = var_10; } } return var_0C; } //Function Number: 48 func_797E() { var_00 = vectornormalize(anglestoforward(self.angles)); var_01 = self.origin + var_00 * 10000; var_02 = scripts\common\trace::func_DCED(self geteye(),var_01,self); if(isdefined(var_02["entity"])) { if(issentient(var_02["entity"])) { if(function_0106(self.team,var_02["entity"].team)) { var_03 = var_02["entity"]; return var_03; } return; } return undefined; } } //Function Number: 49 func_7981(param_00,param_01) { if(isalive(self.var_222)) { return undefined; } param_01 = scripts\common\utility::func_116D7(isdefined(param_01),param_01,2000); param_00 = sortbydistance(param_00,self.origin); foreach(var_03 in param_00) { var_04 = distancesquared(self.var_222.origin,var_03.origin); if(func_56EF(var_04,param_01)) { if(isalive(var_03)) { return var_03; } } } return undefined; } //Function Number: 50 func_56EF(param_00,param_01) { param_01 = scripts\common\utility::func_116D7(isdefined(param_01),param_01,800); if(param_00 <= param_01 * param_01 && param_00 >= level.var_F10A.var_4D19 * level.var_F10A.var_4D19) { return 1; } return 0; }