/******************************************************************* * Decompiled By: Bog * Decompiled File: 2883.gsc * Game: Call of Duty: Infinite Warfare * Platform: PC * Function Count: 90 * Decompile Time: 83 ms * Timestamp: 10/27/2023 12:24:35 AM *******************************************************************/ //Function Number: 1 func_DEBB(param_00,param_01) { level.interactions[param_00] = param_01; } //Function Number: 2 func_DED9(param_00,param_01) { level.var_10E1C[param_00] = param_01; } //Function Number: 3 func_7A45(param_00) { if(!isdefined(level.interactions) || !isdefined(level.interactions[param_00])) { return undefined; } return level.interactions[param_00]; } //Function Number: 4 func_7CA7(param_00) { if(!issubstr(param_00,"casual") && !issubstr(param_00,"alert")) { if(isdefined(self.var_2303)) { var_01 = lib_0A1A::func_233C(); if(var_01 == "casual") { param_00 = param_00 + "_" + var_01; } else { param_00 = param_00 + "_alert"; } } else { param_00 = param_00 + "_casual"; } } if(!isdefined(level.var_10E1C) || !isdefined(level.var_10E1C[param_00])) { return undefined; } return level.var_10E1C[param_00]; } //Function Number: 5 func_9C27(param_00) { return isdefined(level.interactions) && isdefined(level.interactions[param_00]); } //Function Number: 6 func_9CD8(param_00) { return isdefined(level.var_10E1C) && isdefined(level.var_10E1C[param_00 + "_casual"]); } //Function Number: 7 func_9CD7(param_00) { if(isdefined(param_00.var_EE92) && func_9CD8(param_00.var_EE92)) { return 1; } return 0; } //Function Number: 8 func_9C26(param_00) { if(isdefined(param_00.var_EE92) && func_9C27(param_00.var_EE92)) { return 1; } if(isdefined(param_00.script_noteworthy) && func_9C27(param_00.script_noteworthy)) { return 1; } return 0; } //Function Number: 9 func_9C25(param_00) { if(isdefined(param_00.var_EE92)) { if(func_9C27(param_00.var_EE92) || param_00.var_EE92 == "combat_reaction") { return 1; } } return 0; } //Function Number: 10 func_7837(param_00) { var_01 = lib_0A1A::func_233C(); if(isdefined(param_00.var_22F2)) { return param_00.var_22F2[var_01]; } return undefined; } //Function Number: 11 func_79A5(param_00) { var_01 = lib_0A1A::func_233C(); if(isdefined(param_00.var_6980)) { return param_00.var_6980[var_01]; } return undefined; } //Function Number: 12 func_7A30(param_00) { var_01 = lib_0A1A::func_233C(); return param_00.var_92FA; } //Function Number: 13 func_F96C(param_00) { if(!isai(self)) { return; } self.var_2303.var_4C86.var_9A09 = param_00; var_01 = func_7A45(param_00); if(!isdefined(var_01)) { var_01 = func_7CA7(param_00); } self.var_2303.var_4C86.var_697F = func_79A5(var_01); } //Function Number: 14 func_CD4C(param_00,param_01,param_02,param_03,param_04) { param_00 = func_7A45(param_00); if(!isdefined(param_02)) { param_02 = 1; } if(!isdefined(param_03)) { param_03 = 0.05; } if(!isdefined(param_04)) { param_04 = 1; } func_10C47(param_00.var_EBEA[param_01]); self method_82E1(param_01,param_00.var_EBEA[param_01],param_02,param_03,param_04); } //Function Number: 15 func_509D(param_00) { self endon("death"); self endon("reaction_done"); self endon("entitydeleted"); var_01 = undefined; for(;;) { if(function_02A4(param_00) || function_02A6(param_00)) { var_01 = param_00.origin; } else if(function_02A5(param_00)) { var_01 = param_00; } if(isdefined(self.var_B004)) { self.var_B004["interaction_position"] = var_01; } scripts\common\utility::func_136F7(); } } //Function Number: 16 func_DE14(param_00) { var_01 = undefined; if(isdefined(self.var_B004)) { var_01 = self.var_B004["trigger_radius"]; self.var_B004["trigger_radius"] = param_00; thread func_13B1(var_01); } } //Function Number: 17 func_13B1(param_00) { self endon("interaction_end"); self endon("reaction_end"); self waittill("interaction_done"); self.var_B004["trigger_radius"] = param_00; } //Function Number: 18 func_CD4B(param_00,param_01,param_02) { self endon("death"); self notify("reaction_end"); var_03 = func_7A45(param_00); func_F96C(param_00); if(!isdefined(var_03)) { return; } self.var_B004 = var_03.var_EBEA; if(!isdefined(self.var_1FBB)) { self.var_1FBB = "generic"; } self.var_1F25 = 0; self.var_EBF8 = 0; self.var_F274 = 0; self.var_10254 = 0; self.var_9C84 = 0; self.var_BE79 = 0; self.var_9A30 = param_00; self.var_DD4C = 1; if(!isdefined(self.var_1C4D)) { self.var_1C4D = 1; } if(isdefined(level.var_9A2E)) { lib_0B44::func_168F(); level.var_9A2E.var_4D94["registered_interactions"][param_00] = []; if(isdefined(var_03.var_EBEA["vo_lines_male"])) { level.var_9A2E.var_4D94["registered_interactions"][param_00]["vo_lines_male"] = var_03.var_EBEA["vo_lines_male"]; } if(isdefined(var_03.var_EBEA["vo_lines_female"])) { level.var_9A2E.var_4D94["registered_interactions"][param_00]["vo_lines_female"] = var_03.var_EBEA["vo_lines_female"]; } } if(isdefined(param_01)) { var_04 = undefined; if(isarray(self.var_B004["idle"])) { var_05 = self.var_B004["idle"][0]; } else { var_05 = self.var_B004["idle"]; } if(isstring(param_01)) { var_04 = scripts\common\utility::getstruct(param_01,"targetname"); } else if(function_02A4(param_01)) { var_04 = param_01; } else if(function_02A6(param_01)) { var_04 = param_01; } else { return; } var_06 = var_05; var_07 = function_00CE(var_04.origin,var_04.angles,var_06); var_08 = function_00CD(var_04.origin,var_04.angles,var_06); if(!isdefined(self.var_9B89)) { self method_80F1(var_07,var_08); } else { self.origin = var_07; self.angles = var_08; } if(!isdefined(self.var_9B89)) { self method_8016("noclip"); } self.var_C6B9 = var_04; } if(!isdefined(self.var_1EDB)) { self.var_1EDB = spawnstruct(); } if(isdefined(self.var_B004["no_gun"])) { if(!isdefined(self.var_9B89)) { scripts\sp\_utility::func_86E4(); } } if(isdefined(self.var_9B89)) { if(!isdefined(param_02)) { thread func_9A35(); thread func_9A10(); } else { thread func_9A11(); thread func_9A10(); } } else if(!isdefined(param_02)) { lib_0A1E::func_2307(::func_9A35,::func_9A0F); } else { lib_0A1E::func_2307(::func_9A11,::func_9A0F); } self waittill("reaction_end"); } //Function Number: 19 func_CE18(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07) { self endon("death"); self endon("stop_smart_reaction"); func_F9AB(); var_08 = func_7A45(param_00).var_EBEA["trigger_radius"] * 2; thread lib_0B44::func_DD45(var_08); func_CD51(param_00,param_05,param_01,param_07); self waittill("interaction_done"); thread scripts\sp\_utility::func_77B9(0.7); self notify("stop_reaction_look"); func_137F5(param_06); func_CD82(param_02,param_06); } //Function Number: 20 func_F9AB() { self.var_8C7E = %head; self.var_EF82 = %scripted_talking; self.var_504D = %generic_talker_allies; } //Function Number: 21 func_CD51(param_00,param_01,param_02,param_03) { if(issubstr(param_00,"blended")) { thread func_CD4D(param_00,param_01); } else { thread func_CD4B(param_00,param_01); } func_DB73(param_02,param_03); } //Function Number: 22 func_DB73(param_00,param_01) { if(!isdefined(param_01)) { thread func_CDB1(param_00); return; } self waittill("playing_interaction_scene"); scripts\common\utility::func_5127(param_01,::lib_0B44::func_CE17,param_00); } //Function Number: 23 func_CE1A(param_00,param_01,param_02,param_03,param_04,param_05,param_06) { self endon("death"); self endon("stop_smart_reaction"); self.var_8C7E = %head; self.var_EF82 = %scripted_talking; self.var_504D = %generic_talker_allies; thread func_CD50(param_00,param_05); lib_0B44::func_CD24(85,50,param_01,param_03,param_04); self notify("first_acknowledgement_done"); func_137F5(param_06); var_07 = func_4906(param_02); for(;;) { var_08 = var_07 func_7A4D(); lib_0B44::func_CD24(85,50,var_08,param_03,param_04); func_137F5(param_06); } } //Function Number: 24 func_CE16(param_00,param_01,param_02,param_03,param_04) { self endon("death"); self endon("stop_smart_reaction"); self.var_8C7E = %head; self.var_EF82 = %scripted_talking; self.var_504D = %generic_talker_allies; func_CE0D(param_00); self notify("first_acknowledgement_done"); func_137F5(param_04); func_CD82(param_01,param_04); } //Function Number: 25 func_CE19(param_00) { self endon("death"); self endon("stop_smart_reaction"); self.var_8C7E = %head; self.var_EF82 = %scripted_talking; self.var_504D = %generic_talker_allies; func_CE0D(undefined); func_137F5(param_00); func_CD82(undefined,param_00); } //Function Number: 26 func_CE1B(param_00,param_01,param_02) { self endon("death"); self endon("stop_smart_reaction"); self.var_8C7E = %head; self.var_EF82 = %scripted_talking; self.var_504D = %generic_talker_allies; thread func_CD50(param_00,param_01); lib_0B44::func_CD24(85,50); self notify("first_acknowledgement_done"); func_137F5(param_02); func_CD82(undefined,param_02); } //Function Number: 27 func_CE0D(param_00) { self endon("stop_smart_reaction"); var_01 = 110; var_02 = 85; lib_0B44::func_CD24(var_01,var_02,param_00); } //Function Number: 28 func_CD82(param_00,param_01) { self endon("death"); self endon("stop_smart_reaction"); if(!isdefined(param_01)) { param_01 = 300; } if(isdefined(param_00)) { var_02 = func_4906(param_00); for(;;) { var_03 = var_02 func_7A4D(); func_CE0D(var_03); func_137F5(param_01); } return; } for(;;) { func_CE0D(); func_137F5(param_01); } } //Function Number: 29 func_CE0C() { var_00 = 110; var_01 = 85; lib_0B44::func_CD24(var_00,var_01); } //Function Number: 30 func_137F5(param_00) { if(!isdefined(param_00)) { param_00 = 256; } for(;;) { if(distance2d(self.origin,level.player.origin) >= param_00) { break; } scripts\common\utility::func_136F7(); } } //Function Number: 31 func_4906(param_00) { if(!isarray(param_00) && !function_02A4(param_00) && !isstring(param_00) && !function_02A5(param_00) && !param_00) { return undefined; } var_01 = spawnstruct(); var_01.var_2857 = param_00; var_01.var_269A = param_00; var_01.var_1305B = []; return var_01; } //Function Number: 32 func_E1F7() { self.var_1305B = []; self.var_269A = self.var_2857; } //Function Number: 33 func_7A4D() { var_00 = undefined; if(isdefined(self.var_269A)) { if(self.var_269A.size <= 0) { func_E1F7(); } var_00 = self.var_269A[randomint(self.var_269A.size)]; self.var_1305B = scripts\common\utility::array_add(self.var_1305B,var_00); self.var_269A = scripts\common\utility::func_22A9(self.var_269A,var_00); return var_00; } } //Function Number: 34 func_CE15(param_00,param_01,param_02,param_03) { foreach(var_05 in param_00) { var_05 endon("death"); var_05 endon("stop_smart_reaction"); var_05.var_8C7E = %head; var_05.var_EF82 = %scripted_talking; var_05.var_504D = %generic_talker_allies; } if(param_00.size != param_01.size || param_00.size != param_02.size) { return; } func_CD35(param_00,param_01); var_07 = lib_0B44::func_491D(param_00); var_07 func_137F5(param_03); func_CD38(param_00,param_02,param_03); } //Function Number: 35 func_CD35(param_00,param_01) { var_02 = 110; var_03 = 85; lib_0B44::func_CD37(param_00,var_02,var_03,param_01); } //Function Number: 36 func_CD38(param_00,param_01,param_02) { foreach(var_04 in param_00) { var_04 endon("death"); var_04 endon("stop_smart_reaction"); } var_06 = func_48F8(param_01); var_07 = lib_0B44::func_491D(param_00); for(;;) { var_08 = func_7A4E(var_06); func_CD35(param_00,var_08); var_07 func_137F5(param_02); } } //Function Number: 37 func_48F8(param_00) { var_01 = []; for(var_02 = 0;var_02 < param_00.size;var_02++) { var_01[var_02] = func_4906(param_00[var_02]); } return var_01; } //Function Number: 38 func_7A4E(param_00) { var_01 = []; for(var_02 = 0;var_02 < param_00.size;var_02++) { var_01[var_02] = param_00[var_02] func_7A4D(); } return var_01; } //Function Number: 39 func_CD53(param_00,param_01,param_02) { self endon("death"); self notify("reaction_end"); var_03 = func_7CA7(param_00); func_F96C(param_00); if(!isdefined(var_03)) { return; } if(!isdefined(self.var_1FBB)) { self.var_1FBB = "generic"; } self.var_9C84 = 0; self.var_BE79 = 0; self.var_9A30 = param_00; self.var_DD4C = 1; if(!isdefined(self.var_1C4D)) { self.var_1C4D = 1; } if(isdefined(level.var_9A2E)) { lib_0B44::func_168F(); } if(isdefined(param_01)) { var_04 = undefined; if(isarray(var_03.var_EBEA["idle"])) { var_05 = var_03.var_EBEA["idle"][0]; } else { var_05 = var_04.var_EBEA["idle"]; } if(isstring(param_01)) { var_04 = scripts\common\utility::getstruct(param_01,"targetname"); } else if(function_02A4(param_01)) { var_04 = param_01; } else if(function_02A6(param_01)) { var_04 = param_01; } else { return; } var_06 = var_05; var_07 = function_00CE(var_04.origin,var_04.angles,var_06); var_08 = function_00CD(var_04.origin,var_04.angles,var_06); if(!isdefined(self.var_9B89)) { self method_80F1(var_07,var_08); } else { self.origin = var_07; self.angles = var_08; } if(!isdefined(self.var_9B89)) { self method_8016("noclip"); } self.var_C6B9 = var_04; } if(!isdefined(self.var_1EDB)) { self.var_1EDB = spawnstruct(); } if(isdefined(var_03.var_EBEA["no_gun"])) { if(!isdefined(self.var_9B89) && self.var_394 != "none") { scripts\sp\_utility::func_86E4(); } } if(isdefined(self.var_9B89)) { thread func_9A37(); thread func_9A10(); } else { lib_0A1E::func_2307(::func_9A37,::lib_0B44::func_11048); } self waittill("reaction_end"); } //Function Number: 40 func_CD50(param_00,param_01,param_02) { self endon("death"); self endon("reaction_end"); var_03 = func_7A45(param_00); if(!isdefined(var_03)) { return; } self.var_B004 = var_03.var_EBEA; if(!isdefined(self.var_1FBB)) { self.var_1FBB = "generic"; } self.var_1F25 = 0; self.var_EBF8 = 0; self.var_F274 = 0; self.var_10254 = 0; self.var_9C84 = 0; self.var_BE79 = 0; self.var_9A30 = param_00; self.var_DD4C = 1; self.var_C6B9 = undefined; self.var_C6B7 = undefined; if(!isdefined(self.var_1C4D)) { self.var_1C4D = 1; } if(isdefined(level.var_9A2E)) { level.var_9A2E.var_4D94["actors"] = scripts\common\utility::array_add(level.var_9A2E.var_4D94["actors"],self); } if(isdefined(param_02)) { self.var_C6B7 = param_02; } if(isdefined(param_01)) { var_04 = undefined; if(isarray(self.var_B004["idle"])) { var_05 = self.var_B004["idle"][0]; } else { var_05 = self.var_B004["idle"]; } if(isstring(param_01)) { var_04 = scripts\common\utility::getstruct(param_01,"targetname"); } else if(function_02A4(param_01)) { var_04 = param_01; } else if(function_02A6(param_01)) { var_04 = param_01; } else { return; } var_06 = var_05; var_07 = function_00CE(var_04.origin,var_04.angles,var_06); var_08 = function_00CD(var_04.origin,var_04.angles,var_06); self.var_C6B9 = param_01; } if(!isdefined(self.var_9B89)) { self method_8016("noclip"); } if(!isdefined(self.var_1EDB)) { self.var_1EDB = spawnstruct(); } if(isdefined(self.var_B004["no_gun"])) { if(!isdefined(self.var_9B89) && self.var_394 != "none") { scripts\sp\_utility::func_86E4(); } } if(isdefined(self.var_9B89)) { thread func_101F9(); thread func_9A10(); } else { lib_0A1E::func_2307(::func_101F9,::func_9A0F); } self waittill("reaction_end"); } //Function Number: 41 func_CD4D(param_00,param_01) { self endon("death"); self notify("reaction_end"); var_02 = func_7A45(param_00); if(!isdefined(var_02)) { return; } func_E1CE(var_02,param_00); func_1690(); func_BBFA(param_01); func_E7DE(); } //Function Number: 42 func_E1CE(param_00,param_01) { if(!isdefined(self.var_1FBB)) { self.var_1FBB = "generic"; } self.var_B004 = param_00.var_EBEA; self.var_1F25 = 0; self.var_EBF8 = 0; self.var_F274 = 0; self.var_10254 = 0; self.var_9C84 = 0; self.var_BE79 = 0; self.var_9A30 = param_01; self.var_DD4C = 1; if(!isdefined(self.var_1C4D) || isdefined(self.var_1C4D) && !self.var_1C4D) { self.var_1C4D = 1; } if(!isdefined(self.var_1EDB)) { self.var_1EDB = spawnstruct(); } if(isdefined(self.var_B004["no_gun"])) { if(!isdefined(self.var_9B89)) { scripts\sp\_utility::func_86E4(); } } } //Function Number: 43 func_1690() { if(isdefined(level.var_9A2E)) { level.var_9A2E.var_4D94["actors"] = scripts\common\utility::array_add(level.var_9A2E.var_4D94["actors"],self); } } //Function Number: 44 func_7A46() { if(isarray(self.var_B004["idle"])) { return self.var_B004["idle"][0]; } return self.var_B004["idle"]; } //Function Number: 45 func_7A47(param_00) { var_01 = undefined; if(isstring(param_00)) { var_01 = scripts\common\utility::getstruct(param_00,"targetname"); } else if(function_02A4(param_00)) { var_01 = param_00; } else if(function_02A6(param_00)) { var_01 = param_00; } else { } return var_01; } //Function Number: 46 func_BBFA(param_00) { if(isdefined(param_00)) { var_01 = func_7A46(); var_02 = func_7A47(param_00); if(!isdefined(var_02)) { return; } self.var_C6B8 = param_00; var_03 = function_00CE(var_02.origin,var_02.angles,var_01); var_04 = function_00CD(var_02.origin,var_02.angles,var_01); func_1162B(var_03,var_04); if(!isdefined(self.var_9B89)) { self method_8016("noclip"); } } } //Function Number: 47 func_1162B(param_00,param_01) { if(isdefined(self.var_9B89)) { self.origin = param_00; self.angles = param_01; return; } self method_80F1(param_00,param_01); } //Function Number: 48 func_E7DE() { if(isdefined(self.var_9B89)) { thread func_9A36(); thread func_9A10(); } else { lib_0A1E::func_2307(::func_9A36,::func_9A0F); } self waittill("reaction_end"); } //Function Number: 49 func_CD4F(param_00,param_01) { self endon("death"); var_02 = func_7A45(param_00); if(!isdefined(var_02)) { return; } self.var_B004 = var_02.var_EBEA; if(!isdefined(self.var_1FBB)) { self.var_1FBB = "generic"; } self.var_9A30 = param_00; self.var_1F25 = 0; self.var_EBF8 = 0; self.var_F274 = 0; self.var_10254 = 0; self.var_9C84 = 0; self.var_BE79 = 0; if(!isdefined(self.var_1C4D)) { self.var_1C4D = 1; } if(isdefined(level.var_9A2E)) { level.var_9A2E.var_4D94["actors"] = scripts\common\utility::array_add(level.var_9A2E.var_4D94["actors"],self); } if(isdefined(param_01)) { var_03 = undefined; var_04 = self.var_B004["lastanim"]; if(isstring(param_01)) { var_03 = scripts\common\utility::getstruct(param_01,"targetname"); } else if(function_02A4(param_01)) { var_03 = param_01; } else { return; } self.var_B004["optional_struct"] = var_03; } if(!isdefined(self.var_1EDB)) { self.var_1EDB = spawnstruct(); } if(isdefined(self.var_B004["no_gun"])) { if(!isdefined(self.var_9B89)) { scripts\sp\_utility::func_86E4(); } } thread lib_0A1E::func_2307(::func_9A13); self waittill("interaction_done"); } //Function Number: 50 func_4179() { self method_806F(%body,0.2); } //Function Number: 51 func_9C3D(param_00,param_01) { var_02 = anglestoforward(level.player.angles); var_03 = vectornormalize(param_00.origin - level.player.origin); var_04 = vectordot(var_02,var_03); if(var_04 >= param_01) { return 1; } return 0; } //Function Number: 52 func_9A13() { self endon("death"); self endon("stop_reaction"); self endon("reaction_end"); self.var_7245 = 0; func_4179(); if(!isdefined(self.var_9B89)) { self method_8221("face angle",self.angles[1]); self method_8016("noclip"); } var_00 = self.var_B004["optional_struct"]; var_01 = "single anim"; if(!scripts\sp\_utility::func_65DF("interaction_end")) { scripts\sp\_utility::func_65E0("interaction_end"); } scripts\sp\_utility::func_65DD("interaction_end"); var_02 = 0.25; var_03 = 0.25; if(isdefined(self.var_B004["common_name"])) { thread lib_0B44::func_12754(); } if(!self.var_BE79) { self.var_9C84 = 1; self notify("playing_interaction"); var_04 = undefined; if(isdefined(self.var_B004["interaction_position"])) { var_04 = vectortoangles(self.var_B004["interaction_position"] - self.origin); } else { var_04 = vectortoangles(level.player.origin - self.origin); } var_05 = abs(angleclamp(var_04 - self.angles[1]) - 360); var_06 = lib_0B4D::func_C097(0,360,var_05); var_07 = self.var_B004["lastanim"]; if(isdefined(self.var_B004["angles"])) { foreach(var_09 in self.var_B004["angles"]) { if(var_05 <= var_09) { var_07 = self.var_B004[var_09]; break; } } } if(isdefined(var_00)) { var_0B = function_00CE(var_00.origin,var_00.angles,var_07); var_0C = function_00CD(var_00.origin,var_00.angles,var_07); self method_80F1(var_0B,var_0C); } func_10C47(var_07); self method_82E1(var_01,var_07,1,var_02); var_0D = getanimlength(var_07); wait(var_0D); self method_806F(var_07,var_03); level notify("interaction_done"); self notify("interaction_done"); } } //Function Number: 53 func_9A11() { self endon("death"); self endon("stop_reaction"); self endon("reaction_end"); self.var_7245 = 0; func_4179(); if(!isdefined(self.var_9B89)) { self method_8221("face angle",self.angles[1]); self method_8016("noclip"); } var_00 = undefined; self.var_DC80 = 0; if(isarray(self.var_B004["idle"])) { var_00 = self.var_B004["idle"][0]; thread func_DC7D(); } else { var_00 = self.var_B004["idle"]; } func_10C47(var_00); self method_82E1("idle",var_00,1,0.5,1); thread func_9A3B("stop"); var_01 = "single anim"; if(!scripts\sp\_utility::func_65DF("scene_end")) { scripts\sp\_utility::func_65E0("scene_end"); } scripts\sp\_utility::func_65DD("scene_end"); if(!scripts\sp\_utility::func_65DF("playing_interaction")) { scripts\sp\_utility::func_65E0("playing_interaction"); } scripts\sp\_utility::func_65DD("playing_interaction"); var_02 = 0.11; var_03 = 0.25; var_04 = 0.25; var_05 = 350; var_06 = 0.45; var_07 = undefined; var_08 = undefined; var_09 = undefined; if(isdefined(self.var_B004["reacquire_left"]) || isdefined(self.var_B004["reacquire_right"])) { var_07 = 1; } self.var_DD54 = spawn("trigger_radius",self.origin,0,self.var_B004["trigger_radius"],self.var_B004["trigger_radius"]); for(;;) { if((level.player istouching(self.var_DD54) || func_9C3D(self,0.925)) && !self.var_DC80) { if(self.var_F274) { self.var_10254 = 1; } else { self.var_10254 = 0; } } else { self.var_10254 = 0; } var_0A = lengthsquared(level.player.origin - self.origin); var_0B = undefined; var_0C = scripts\common\trace::func_48BC(1,1,0,1,1,1); var_0D = undefined; for(;;) { if(isdefined(self.var_B004["interaction_trigger_override"])) { break; } if(lib_0B44::func_3839(self.var_B004["trigger_radius"] * 2)) { if(isdefined(self.var_B004["interaction_position"])) { var_0A = lengthsquared(self.var_B004["interaction_position"] - self.origin); } else { var_0A = lengthsquared(level.player.origin - self.origin); } if(isdefined(self.var_B004["interaction_trigger_override"])) { break; } else if(self.var_B004["trigger_radius"] > 0 && var_0A < squared(self.var_B004["trigger_radius"]) && func_9C3D(self,0.925) && !self.var_DC80) { var_0E = self.origin + anglestoup(self.angles) * 66; var_0B = vectornormalize(level.player geteye() - var_0E) * self.var_B004["trigger_radius"] + var_0E; var_0D = scripts\common\trace::func_DCED(var_0E,var_0B,self,var_0C); if(isplayer(var_0D["entity"]) || isdefined(self.var_B004["interaction_trigger_override"])) { break; } } } scripts\common\utility::func_136F7(); } if(isdefined(self.var_B004["common_name"])) { thread lib_0B44::func_12754(); } self.var_9C84 = 1; self notify("playing_interaction_scene"); level notify("playing_interaction"); var_0F = undefined; if(isdefined(self.var_B004["interaction_position"])) { var_0F = vectortoangles(self.var_B004["interaction_position"] - self.origin); } else { var_0F = vectortoangles(level.player.origin - self.origin); } var_10 = abs(angleclamp(var_0F - self.angles[1]) - 360); var_11 = lib_0B4D::func_C097(0,360,var_10); if(isdefined(self.var_B004["backseam"])) { if(var_11 >= 0 && var_11 <= 0.5) { var_11 = var_11 + 0.5; } else { var_11 = var_11 - 0.5; } } var_12 = self.var_B004["lastanim"]; if(isdefined(self.var_B004["angles"]) && !self.var_F274) { foreach(var_14 in self.var_B004["angles"]) { if(var_10 <= var_14) { var_12 = self.var_B004[var_14]; break; } } } if(isarray(var_12)) { if(isarray(var_12[0])) { var_16 = self.var_1F25; var_17 = var_12[0][var_16][0]; } else { var_17 = var_12[0]; } } else { var_17 = var_12; } if(!self.var_10254) { func_10C47(var_17); self method_82E2(var_01,var_17,1,var_03,1); self.var_9C84 = 1; } if(!self.var_10254) { if(isarray(var_12)) { if(isarray(var_12[0]) && !isarray(self.var_B004["diff"])) { var_16 = self.var_1F25; var_18 = var_12[0][var_16]; thread func_F59A(var_18); thread func_CC8C(var_18); } else if(var_12.size > 1) { thread func_CC8C(var_12); } } } if(isdefined(self.var_B004["reaction_func"])) { self thread [[ self.var_B004["reaction_func"] ]](); } var_19 = getanimlength(var_17); var_19 = var_19 - var_04; if(var_19 < 0) { var_19 = 0; } if(!self.var_10254) { wait(var_19); } if(!self.var_10254) { func_10C47(self.var_B004["follow"]); self method_82E8(var_01,self.var_B004["follow"],1,0.25,1); self method_82B0(self.var_B004["follow"],var_11); self method_82A4(self.var_B004["ring"],1,var_04,1); } var_1A = undefined; if(isarray(self.var_B004["diff"])) { var_16 = self.var_1F25; var_1A = self.var_B004["diff"][var_16]; } else { var_1A = self.var_B004["diff"]; } func_10C47(var_1A); self method_82E8(var_01,var_1A,1,0.25,1); self.var_9C84 = 1; if(!self.var_10254) { self method_82AC(self.var_B004["additive"],1,var_04,1); } scripts\common\utility::func_5127(getanimlength(var_1A),::scripts\sp\_utility::func_65E1,"scene_end"); scripts\sp\_utility::func_65E1("playing_interaction"); thread scripts\sp\_utility::func_65DE("playing_interaction",getanimlength(var_1A)); var_1B = var_11; for(;;) { var_1C = distance2d(level.player.origin,self.origin); if((var_1C >= var_05 || scripts\sp\_utility::func_65DB("scene_end")) && !isdefined(var_07)) { var_0A = lengthsquared(level.player.origin - self.origin); if(var_0A < squared(self.var_B004["trigger_radius"])) { var_0E = self.origin + anglestoup(self.angles) * 66; var_0B = vectornormalize(level.player geteye() - var_0E) * self.var_B004["trigger_radius"] + var_0E; var_0D = scripts\common\trace::func_DCED(var_0E,var_0B,self,var_0C); if(isplayer(var_0D["entity"]) || isdefined(self.var_B004["interaction_trigger_override"])) { if(isarray(self.var_B004["diff"]) && self.var_1F25 < self.var_B004["diff"].size - 1) { self.var_F274 = 1; scripts\sp\_utility::func_65DD("scene_end"); self.var_1F25 = self.var_1F25 + 1; self method_806F(var_1A,0.15); self.var_9C84 = 0; break; } } } if(isdefined(self.var_B004["exitangles"])) { var_1D = self.var_B004["exitangles_anims"]["lastexitanim"]; if(isdefined(self.var_B004["interaction_position"])) { var_0F = vectortoangles(self.var_B004["interaction_position"] - self.origin); } else { var_0F = vectortoangles(level.player.origin - self.origin); } var_10 = abs(angleclamp(var_0F - self.angles[1]) - 360); foreach(var_1F in self.var_B004["exitangles"]) { if(var_10 <= var_1F) { var_1D = self.var_B004["exitangles_anims"][var_1F]; break; } } func_10C47(var_1D); self method_82E2(var_01,var_1D,1,var_06,1); wait(getanimlength(var_1D)); if(isdefined(self.var_B004["end_idle"])) { if(isarray(var_12[0])) { if(self.var_1F25 >= var_12[0].size) { func_10C47(self.var_B004["end_idle"]); self method_82E2(var_01,self.var_B004["end_idle"],1,var_06,1); } else { func_10C47(var_00); self method_82E2(var_01,var_00,1,var_06,1); } } else { func_10C47(self.var_B004["end_idle"]); self method_82E2(var_01,self.var_B004["end_idle"],1,var_06,1); } } else { func_10C47(var_00); self method_82E2(var_01,var_00,1,var_06,1); } self.var_9C84 = 0; if(isarray(self.var_B004["diff"])) { if(self.var_1F25 < self.var_B004["diff"].size) { scripts\sp\_utility::func_65DD("scene_end"); self method_806F(self.var_B004["follow"],0.1); self method_806F(self.var_B004["ring"],0.1); self.var_1F25 = self.var_1F25 + 1; self.var_9C84 = 0; } if(self.var_1F25 >= self.var_B004["diff"].size) { self.var_9C84 = 0; var_09 = 1; if(!isdefined(self.var_B004["allow_multi_use"])) { self waittill("forever"); } } } else { var_09 = 1; if(!isdefined(self.var_B004["allow_multi_use"])) { self waittill("forever"); } } self.var_9C84 = 0; break; } else { if(isdefined(self.var_B004["end_idle"])) { if(isarray(var_12[0])) { if(self.var_1F25 >= var_12[0].size) { func_10C47(self.var_B004["end_idle"]); self method_82E2(var_01,self.var_B004["end_idle"],1,var_06,1); } else { func_10C47(var_00); self method_82E2(var_01,var_00,1,var_06,1); } } else { func_10C47(self.var_B004["end_idle"]); self method_82E2(var_01,self.var_B004["end_idle"],1,var_06,1); } } else { func_10C47(var_00); self method_82E2(var_01,var_00,1,var_06,1); } self.var_9C84 = 0; if(isarray(self.var_B004["diff"])) { if(self.var_1F25 < self.var_B004["diff"].size) { scripts\sp\_utility::func_65DD("scene_end"); self method_806F(self.var_B004["follow"],0.1); self method_806F(self.var_B004["ring"],0.1); self.var_1F25 = self.var_1F25 + 1; self.var_9C84 = 0; } if(self.var_1F25 >= self.var_B004["diff"].size) { self.var_9C84 = 0; var_09 = 1; if(!isdefined(self.var_B004["allow_multi_use"])) { self waittill("forever"); } } } else { var_09 = 1; if(!isdefined(self.var_B004["allow_multi_use"])) { self waittill("forever"); } } self.var_9C84 = 0; break; } } if(isdefined(self.var_B004["interaction_position"])) { var_0F = vectortoangles(self.var_B004["interaction_position"] - self.origin); } else { var_0F = vectortoangles(level.player.origin - self.origin); } var_10 = abs(angleclamp(var_0F - self.angles[1]) - 360); var_11 = lib_0B4D::func_C097(0,360,var_10); if(self.var_7245) { var_11 = 0; } if(isdefined(self.var_B004["backseam"])) { if(var_11 >= 0 && var_11 <= 0.5) { var_11 = var_11 + 0.5; } else { var_11 = var_11 - 0.5; } var_1B = var_1B + var_11 - var_1B * var_02; } else { var_1B = var_1B + var_11 - var_1B * var_02; } if(isdefined(var_07)) { var_21 = vectornormalize(level.player.origin - self.origin); var_21 = scripts\common\utility::func_6EE6(var_21,anglestoup(self.angles)); var_22 = anglestoforward(self.angles); var_23 = vectordot(var_21,var_22); var_10 = acos(var_23); var_24 = vectorcross(var_21,var_22); if(vectordot(var_24,anglestoup(self.angles)) < 0) { var_10 = var_10 * -1; } var_25 = 0; if(var_10 >= 90 && !var_25 && !scripts\sp\_utility::func_65DB("playing_interaction")) { var_25 = 1; func_10C47(self.var_B004["reacquire_right"]); self method_806F(%body,0.25); self method_82EA(var_01,self.var_B004["reacquire_right"],1,0.25); wait(clamp(getanimlength(self.var_B004["reacquire_right"]) - 0.25,0,100)); self method_806F(self.var_B004["reacquire_right"],0.25); } else if(var_10 < -90 && !var_25 && !scripts\sp\_utility::func_65DB("playing_interaction")) { var_25 = 1; func_10C47(self.var_B004["reacquire_left"]); self method_806F(%body,0.25); self method_82EA(var_01,self.var_B004["reacquire_left"],1,0.25); wait(clamp(getanimlength(self.var_B004["reacquire_left"]) - 0.25,0,100)); self method_806F(self.var_B004["reacquire_left"],0.25); } else { func_F5CD(self.var_B004["follow"],var_1B); } if(var_25) { if(isdefined(self.var_B004["interaction_position"])) { var_0F = vectortoangles(self.var_B004["interaction_position"] - self.origin); } else { var_0F = vectortoangles(level.player.origin - self.origin); } var_10 = abs(angleclamp(var_0F - self.angles[1]) - 360); var_11 = lib_0B4D::func_C097(0,360,var_10); func_10C47(self.var_B004["follow"]); self method_82E8(var_01,self.var_B004["follow"],1,0.25,1); self method_82B0(self.var_B004["follow"],0.5); self method_82A4(self.var_B004["ring"],1,var_04,1); if(!scripts\sp\_utility::func_65DB("playing_interaction") && !scripts\sp\_utility::func_65DB("scene_end")) { func_10C47(self.var_B004["diff"]); self method_82E8(var_01,self.var_B004["diff"],1,0.05,1); } self method_82AC(self.var_B004["additive"],1,var_04,1); var_1B = 0.5; } } else { func_F5CD(self.var_B004["follow"],var_1B); } scripts\common\utility::func_136F7(); } scripts\common\utility::func_136F7(); } } //Function Number: 54 func_9A35() { self endon("death"); self endon("stop_reaction"); self endon("reaction_end"); self.var_7245 = 0; func_4179(); if(!isdefined(self.var_9B89)) { self method_8221("face angle",self.angles[1]); self method_8016("noclip"); } var_00 = undefined; self.var_DC80 = 0; if(isarray(self.var_B004["idle"])) { var_00 = self.var_B004["idle"][0]; thread func_DC7D(); } else { var_00 = self.var_B004["idle"]; } func_10C47(var_00); self method_82E1("idle",var_00,1,0.05,1); thread func_9A3B("stop"); var_01 = "single anim"; if(!scripts\sp\_utility::func_65DF("scene_end")) { scripts\sp\_utility::func_65E0("scene_end"); } scripts\sp\_utility::func_65DD("scene_end"); var_02 = 0.11; if(isdefined(self.var_B004["lookat_lerp"])) { var_02 = self.var_B004["lookat_lerp"]; } var_03 = 0.25; if(isdefined(self.var_B004["initial_reaction_blendtime"])) { var_03 = self.var_B004["initial_reaction_blendtime"]; } var_04 = 0.25; if(isdefined(self.var_B004["lookat_follow_blendtime"])) { var_04 = self.var_B004["lookat_follow_blendtime"]; } var_05 = 350; if(isdefined(self.var_B004["lookat_end_distance"])) { var_05 = self.var_B004["lookat_end_distance"]; } var_06 = 0.45; if(isdefined(self.var_B004["lookat_end_blendtime"])) { var_06 = self.var_B004["lookat_end_blendtime"]; } self.var_DD54 = spawn("trigger_radius",self.origin,0,self.var_B004["trigger_radius"],self.var_B004["trigger_radius"]); for(;;) { if((level.player istouching(self.var_DD54) || func_9C3D(self,0.925)) && !self.var_DC80) { if(self.var_F274) { self.var_10254 = 1; } else { self.var_10254 = 0; } } else { self.var_10254 = 0; } var_07 = lengthsquared(level.player.origin - self.origin); var_08 = undefined; var_09 = scripts\common\trace::func_48BC(1,1,0,1,1,1); var_0A = undefined; for(;;) { if(isdefined(self.var_B004["interaction_trigger_override"])) { break; } if(lib_0B44::func_3839(self.var_B004["trigger_radius"] * 2)) { if(isdefined(self.var_B004["interaction_position"])) { var_07 = lengthsquared(self.var_B004["interaction_position"] - self.origin); } else { var_07 = lengthsquared(level.player.origin - self.origin); } if(isdefined(self.var_B004["interaction_trigger_override"])) { break; } else if(self.var_B004["trigger_radius"] > 0 && var_07 < squared(self.var_B004["trigger_radius"]) && func_9C3D(self,0.925) && !self.var_DC80) { var_0B = self.origin + anglestoup(self.angles) * 66; var_08 = vectornormalize(level.player geteye() - var_0B) * self.var_B004["trigger_radius"] + var_0B; var_0A = scripts\common\trace::func_DCED(var_0B,var_08,self,var_09); if(isplayer(var_0A["entity"]) || isdefined(self.var_B004["interaction_trigger_override"])) { break; } } } scripts\common\utility::func_136F7(); } if(isdefined(self.var_B004["common_name"])) { thread lib_0B44::func_12754(); } self.var_9C84 = 1; self notify("playing_interaction_scene"); level notify("playing_interaction"); var_0C = undefined; if(isdefined(self.var_B004["interaction_position"])) { var_0C = vectortoangles(self.var_B004["interaction_position"] - self.origin); } else { var_0C = vectortoangles(level.player.origin - self.origin); } var_0D = abs(angleclamp(var_0C - self.angles[1]) - 360); var_0E = self.var_B004["lastanim"]; if(isdefined(self.var_B004["angles"])) { foreach(var_10 in self.var_B004["angles"]) { if(var_0D <= var_10) { var_0E = self.var_B004[var_10]; break; } } } if(isarray(var_0E)) { if(isarray(var_0E[0]) && self.var_1F25 < var_0E[0].size) { var_12 = self.var_1F25; var_13 = var_0E[0][var_12][0]; } else { var_13 = var_0E[0]; } } else { var_13 = var_0E; } if(!self.var_10254) { func_10C47(var_13); self method_82E2(var_01,var_13,1,var_03,1); self.var_9C84 = 1; } level thread lib_0B44::func_9A0E(self); if(isdefined(self.var_B004["scene"])) { if(isdefined(self.var_B004["interaction_position"])) { var_0C = vectortoangles(self.var_B004["interaction_position"] - self.origin); } else { var_0C = vectortoangles(level.player.origin - self.origin); } var_0D = abs(angleclamp(var_0C - self.angles[1]) - 360); if(self.var_10254) { wait(0); } else { wait(getanimlength(var_13)); } if(isarray(self.var_B004["scene"])) { var_14 = self.var_EBF8; func_10C47(self.var_B004["scene"][var_14]); self method_82E2(var_01,self.var_B004["scene"][var_14],1,var_04,1); wait(getanimlength(self.var_B004["scene"][var_14])); self.var_EBF8 = self.var_EBF8 + 1; self.var_F274 = 1; } else { func_10C47(self.var_B004["scene"]); self method_82E2(var_01,self.var_B004["scene"],1,var_04,1); wait(getanimlength(self.var_B004["scene"])); } } if(isdefined(self.var_B004["exitangles"])) { if(isdefined(self.var_B004["interaction_position"])) { var_0C = vectortoangles(self.var_B004["interaction_position"] - self.origin); } else { var_0C = vectortoangles(level.player.origin - self.origin); } var_0D = abs(angleclamp(var_0C - self.angles[1]) - 360); var_15 = self.var_B004["exitangles_anims"]["lastexitanim"]; foreach(var_17 in self.var_B004["exitangles"]) { if(var_0D <= var_17) { var_15 = self.var_B004["exitangles_anims"][var_17]; break; } } func_10C47(var_15); self method_82E2(var_01,var_15,1,var_06,1); wait(getanimlength(var_15)); if(isdefined(self.var_B004["end_idle"])) { if(isarray(var_0E[0])) { if(self.var_1F25 >= var_0E[0].size) { func_10C47(self.var_B004["end_idle"]); self method_82E2(var_01,self.var_B004["end_idle"],1,var_06,1); } else { func_10C47(var_00); self method_82E2(var_01,var_00,1,var_06,1); } } else { func_10C47(self.var_B004["end_idle"]); self method_82E2(var_01,self.var_B004["end_idle"],1,var_06,1); } } else { func_10C47(var_00); self method_82E2(var_01,var_00,1,var_06,1); } self.var_9C84 = 0; if(!isdefined(self.var_B004["allow_multi_use"])) { self waittill("forever"); } } if(!self.var_10254) { if(isarray(var_0E)) { if(isarray(var_0E[0]) && self.var_1F25 < var_0E[0].size) { var_12 = self.var_1F25; var_19 = var_0E[0][var_12]; thread func_F59A(var_19); thread func_CC8C(var_19); } else if(var_0E.size > 1) { thread func_CC8C(var_0E); } } } if(isdefined(self.var_B004["reaction_func"])) { self [[ self.var_B004["reaction_func"] ]](); } var_1A = getanimlength(var_13); wait(var_1A); if(isdefined(self.var_B004["end_idle"])) { if(isarray(var_0E)) { if(isarray(var_0E[0])) { func_10C47(); if(self.var_1F25 >= var_0E[0].size - 1) { self method_82E3(var_01,self.var_B004["end_idle"],%body,1,var_06,1); } else { self method_82E3(var_01,var_00,%body,1,var_06,1); } } else { self method_82E3(var_01,self.var_B004["end_idle"],%body,1,var_06,1); } } else { func_10C47(); self method_82E3(var_01,self.var_B004["end_idle"],%body,1,var_06,1); } } else { func_10C47(); self method_82E3(var_01,var_00,%body,1,var_06,1); } self.var_1F25 = self.var_1F25 + 1; level notify("interaction_done"); self notify("interaction_done"); if(isarray(var_0E)) { if(isarray(var_0E[0]) && self.var_1F25 < var_0E[0].size) { var_1B = self.var_F273 + self.var_F275 - getanimlength(var_13); var_1C = self.var_F273 + self.var_F275 + getanimlength(var_13); var_1D = clamp(var_1B,0,var_1C); wait(var_1D); self method_806F(var_13,0.1); self.var_9C84 = 0; } else { self.var_9C84 = 0; if(!isdefined(self.var_B004["allow_multi_use"])) { self waittill("forever"); } } } else { self.var_9C84 = 0; if(!isdefined(self.var_B004["allow_multi_use"])) { self waittill("forever"); } } scripts\common\utility::func_136F7(); } } //Function Number: 55 func_9A37() { self endon("death"); self endon("stop_reaction"); self endon("reaction_end"); func_4179(); if(!isdefined(self.var_9B89)) { self method_8221("face angle",self.angles[1]); self method_8016("noclip"); } var_00 = undefined; self.var_DC80 = 0; var_01 = func_7CA7(self.var_9A30); if(!isdefined(var_01)) { return; } var_01 = var_01.var_EBEA; var_02 = undefined; if(isarray(var_01["idle"])) { if(isdefined(self.var_7727) && issubstr(self.var_7727,"female")) { var_02 = "idle_female"; } else { var_02 = "idle"; } var_00 = var_01[var_02][0]; thread func_DC7E(); } else { if(isdefined(self.var_7727) && issubstr(self.var_7727,"female")) { var_02 = "idle_female"; } else { var_02 = "idle"; } var_00 = var_01[var_02]; } var_03 = "single anim"; func_10C47(var_00); self method_82E1(var_03,var_00,1,0.5,1); self method_82B0(var_00,randomfloat(1)); thread func_9A3B("stop"); thread func_CC88(); if(!scripts\sp\_utility::func_65DF("scene_end")) { scripts\sp\_utility::func_65E0("scene_end"); } scripts\sp\_utility::func_65DD("scene_end"); var_04 = 0.11; var_05 = 0.25; var_06 = 0.25; var_07 = 350; var_08 = 0.45; self.var_DD54 = spawn("trigger_radius",self.origin,0,var_01["trigger_radius"],var_01["trigger_radius"]); for(;;) { var_09 = lengthsquared(level.player.origin - self.origin); var_0A = undefined; var_0B = scripts\common\trace::func_48BC(1,1,0,1,1,1); var_0C = undefined; for(;;) { if(!isdefined(self.var_DD49) || isdefined(self.var_DD49) && self.var_DD49 != "busy" && self.var_DD49 != "nag") { if(lib_0B44::func_3839(var_01["trigger_radius"] * 2)) { if(isdefined(var_01["interaction_position"])) { var_09 = lengthsquared(var_01["interaction_position"] - self.origin); } else { var_09 = lengthsquared(level.player.origin - self.origin); } if(isdefined(var_01["interaction_trigger_override"])) { break; } else if(var_01["trigger_radius"] > 0 && var_09 < squared(var_01["trigger_radius"]) && func_9C3D(self,0.925) && !self.var_DC80) { var_0D = self.origin + anglestoup(self.angles) * 66; var_0A = vectornormalize(level.player geteye() - var_0D) * var_01["trigger_radius"] + var_0D; var_0C = scripts\common\trace::func_DCED(var_0D,var_0A,self,var_0B); if(isplayer(var_0C["entity"]) || isdefined(var_01["interaction_trigger_override"])) { break; } } } } scripts\common\utility::func_136F7(); } self.var_9C84 = 1; self notify("playing_interaction_scene"); level notify("playing_interaction"); var_0E = undefined; if(isdefined(var_01["interaction_position"])) { var_0E = vectortoangles(var_01["interaction_position"] - self.origin); } else { var_0E = vectortoangles(level.player.origin - self.origin); } var_0F = abs(angleclamp(var_0E - self.angles[1]) - 360); var_10 = "lastanim"; if(isdefined(var_01["angles"])) { foreach(var_12 in var_01["angles"]) { if(var_0F <= var_12) { var_10 = var_12; break; } } } if(level.var_10E1C[self.var_9A30].var_EBEA[var_10].size < 1) { level.var_10E1C[self.var_9A30].var_EBEA[var_10] = level.var_10E1C[self.var_9A30].var_EBEA["angle_" + scripts\sp\_utility::func_11145(var_10) + "_spent"]; level.var_10E1C[self.var_9A30].var_EBEA["angle_" + var_10 + "_spent"] = []; } var_14 = randomint(level.var_10E1C[self.var_9A30].var_EBEA[var_10].size); var_15 = level.var_10E1C[self.var_9A30].var_EBEA[var_10][var_14]; func_10C47(var_15); self method_82E2(var_03,var_15,1,var_05,1); self.var_9C84 = 1; thread lib_0B44::func_9A39(); wait(getanimlength(var_15)); level.var_10E1C[self.var_9A30].var_EBEA["angle_" + var_10 + "_spent"] = scripts\common\utility::array_add(level.var_10E1C[self.var_9A30].var_EBEA["angle_" + var_10 + "_spent"],var_15); level.var_10E1C[self.var_9A30].var_EBEA[var_10] = scripts\common\utility::func_22A9(level.var_10E1C[self.var_9A30].var_EBEA[var_10],var_15); if(isdefined(var_01["exitangles"])) { if(isdefined(var_01["interaction_position"])) { var_0E = vectortoangles(var_01["interaction_position"] - self.origin); } else { var_0E = vectortoangles(level.player.origin - self.origin); } var_0F = abs(angleclamp(var_0E - self.angles[1]) - 360); var_16 = "lastexitanim"; foreach(var_18 in var_01["exitangles"]) { if(var_0F <= var_18) { var_16 = var_18; break; } } if(level.var_10E1C[self.var_9A30].var_EBEA[var_16].size < 1) { level.var_10E1C[self.var_9A30].var_EBEA[var_16][var_16] = level.var_10E1C[self.var_9A30].var_EBEA[var_16]["exit_angle_" + scripts\sp\_utility::func_11145(var_16) + "_spent"]; level.var_10E1C[self.var_9A30].var_EBEA[var_16]["exit_angle_" + scripts\sp\_utility::func_11145(var_16) + "_spent"] = []; } var_14 = randomint(level.var_10E1C[self.var_9A30].var_EBEA[var_16].size); var_1A = level.var_10E1C[self.var_9A30].var_EBEA[var_16][var_14]; func_10C47(var_1A); self method_82E2(var_03,var_1A,1,var_08,1); wait(getanimlength(var_1A)); level.var_10E1C[self.var_9A30].var_EBEA[var_16] = scripts\common\utility::func_22A9(level.var_10E1C[self.var_9A30].var_EBEA[var_16],var_1A); } func_10C47(var_00); self method_82E2(var_03,var_00,1,var_08,1); self.var_9C84 = 0; if(isdefined(var_01["reaction_func"])) { self [[ var_01["reaction_func"] ]](); } level notify("interaction_done"); thread lib_0B44::func_F566("busy"); scripts\common\utility::func_136F7(); level waittill("forever"); } } //Function Number: 56 func_9A36() { self endon("death"); self endon("reaction_end"); func_9843(); var_00 = 0.11; var_01 = 0.25; var_02 = 0.25; var_03 = 350; var_04 = func_F8D1(); var_05 = "single anim"; for(;;) { self.var_10254 = func_9C61(); func_2B88(); self.var_9C84 = 1; self notify("playing_interaction_scene"); level notify("playing_interaction"); if(isdefined(self.var_B004["common_name"])) { thread lib_0B44::func_12754(); } func_CCA9(); scripts\common\utility::func_136F7(); } } //Function Number: 57 func_9843() { self method_83A1(); self.var_7245 = 0; func_4179(); if(!isdefined(self.var_9B89)) { self method_8221("face angle",self.angles[1]); self method_8016("noclip"); } if(!scripts\sp\_utility::func_65DF("scene_end")) { scripts\sp\_utility::func_65E0("scene_end"); } scripts\sp\_utility::func_65DD("scene_end"); self.var_DD54 = spawn("trigger_radius",self.origin,0,self.var_B004["trigger_radius"],self.var_B004["trigger_radius"]); } //Function Number: 58 func_F8D1() { var_00 = func_7A4C(); self.var_DC80 = 0; func_10C47(var_00); self method_82E1("single anim",var_00,1,0.05,1); thread func_9A3B("stop"); } //Function Number: 59 func_7A4C() { var_00 = undefined; if(isarray(self.var_B004["idle"])) { var_00 = self.var_B004["idle"][0]; } else { var_00 = self.var_B004["idle"]; } return var_00; } //Function Number: 60 func_9C61() { var_00 = undefined; if((level.player istouching(self.var_DD54) || func_9C3D(self,0.925)) && !self.var_DC80) { if(self.var_F274) { var_00 = 1; } else { var_00 = 0; } } else { var_00 = 0; } return var_00; } //Function Number: 61 func_2B88() { var_00 = lengthsquared(level.player.origin - self.origin); var_01 = undefined; var_02 = scripts\common\trace::func_48BC(1,1,0,1,1,1); var_03 = undefined; for(;;) { var_04 = lib_0B44::func_3839(self.var_B004["trigger_radius"] * 2); if(var_04) { if(isdefined(self.var_B004["interaction_position"])) { var_00 = lengthsquared(self.var_B004["interaction_position"] - self.origin); } else { var_00 = lengthsquared(level.player.origin - self.origin); } if(isdefined(self.var_B004["interaction_trigger_override"])) { break; } else if(self.var_B004["trigger_radius"] > 0 && var_00 < squared(self.var_B004["trigger_radius"]) && func_9C3D(self,0.925) && !self.var_DC80) { var_05 = self.origin + anglestoup(self.angles) * 66; var_01 = vectornormalize(level.player geteye() - var_05) * self.var_B004["trigger_radius"] + var_05; var_03 = scripts\common\trace::func_DCED(var_05,var_01,self,var_02); if(isplayer(var_03["entity"]) || isdefined(self.var_B004["interaction_trigger_override"])) { break; } } } scripts\common\utility::func_136F7(); } } //Function Number: 62 func_CCA9() { func_9842(); var_00 = 0; var_01 = 0; var_02 = gettime() / 1000; var_03 = getanimlength(self.var_B004["fwd_anim"]); while(gettime() / 1000 - var_02 < var_03) { var_04 = vectornormalize(level.player.origin - self.origin); var_05 = anglestoforward(self.angles); var_06 = anglestoforward(self.angles) * -1; var_07 = anglestoright(self.angles); var_08 = anglestoright(self.angles) * -1; var_09 = anglestoup(self.angles); var_0A = clamp(vectordot(var_04,var_05),0.005,1); var_0B = clamp(vectordot(var_04,var_07),0.005,1); var_0C = clamp(vectordot(var_04,var_08),0.005,1); var_0D = clamp(vectordot(var_04,var_06),0.005,1); self method_82AC(self.var_B004["right_anim"],var_0B,0.2); self method_82AC(self.var_B004["left_anim"],var_0C,0.2); self method_82E8("single anim",self.var_B004["fwd_anim"],var_0A + 0.005,0.2); var_0E = 1; if(scripts\common\utility::func_1E7D(var_05,var_04,var_09) > 0) { var_0E = 0; } if(var_0E) { var_01 = lib_0B4D::func_AB6F(var_01,var_0D,0.1); var_00 = lib_0B4D::func_AB6F(var_00,0.005,0.1); } else { var_01 = lib_0B4D::func_AB6F(var_01,0.005,0.1); var_00 = lib_0B4D::func_AB6F(var_00,var_0D,0.1); } self method_82AC(self.var_B004["back_right_anim"],var_01,0.2); self method_82AC(self.var_B004["back_left_anim"],var_00,0.2); scripts\common\utility::func_136F7(); } var_0F = 0.45; func_62AB(var_0F); func_CD4E(var_0F); } //Function Number: 63 func_9842() { var_00 = undefined; var_00 = vectortoangles(level.player.origin - self.origin); self.var_9C84 = 1; level thread lib_0B44::func_9A0E(self); self method_82AC(self.var_B004["interaction_blend_parent"],1,0.2); var_01 = func_7A4C(); self method_806F(var_01,0.2); self method_806F(%head,0.2); func_10C47(self.var_B004["fwd_anim"]); self method_82E8("single anim",self.var_B004["fwd_anim"],0.005,0.05); self method_82AC(self.var_B004["right_anim"],0.005,0.05); self method_82AC(self.var_B004["left_anim"],0.005,0.05); self method_82AC(self.var_B004["back_right_anim"],0.005,0.05); self method_82AC(self.var_B004["back_left_anim"],0.005,0.05); } //Function Number: 64 func_62AB(param_00) { self.var_DD3C = undefined; self method_806F(self.var_B004["fwd_anim"],param_00); self method_806F(self.var_B004["right_anim"],param_00); self method_806F(self.var_B004["left_anim"],param_00); self method_806F(self.var_B004["back_right_anim"],param_00); self method_806F(self.var_B004["back_left_anim"],param_00); level notify("interaction_done"); self notify("interaction_done"); self.var_9C84 = 0; } //Function Number: 65 func_CD4E(param_00) { for(;;) { var_01 = undefined; if(isdefined(self.var_B004["end_idle"])) { var_01 = self.var_B004["end_idle"]; func_10C47(var_01); self method_82B0(var_01,0); self method_82E3("single anim",var_01,%body,1,param_00,1); } else { var_01 = func_7A4C(); func_10C47(var_01); self method_82B0(var_01,0); self method_82E3("single anim",var_01,%body,1,param_00,1); } wait(getanimlength(var_01)); } } //Function Number: 66 func_101F9() { self endon("death"); self endon("stop_reaction"); self endon("reaction_end"); var_00 = func_7A45(self.var_9A30); if(!scripts\sp\_utility::func_65DF("hold_simple_idles")) { scripts\sp\_utility::func_65E0("hold_simple_idles"); } else { scripts\sp\_utility::func_65DD("hold_simple_idles"); } if(!isarray(var_00.var_EBEA["idle"])) { return; } if(isarray(var_00.var_EBEA["idle"]) && var_00.var_EBEA["idle"].size <= 1) { return; } var_01 = []; var_02 = var_00.var_EBEA["idle"]; var_03 = var_02[0]; var_02 = scripts\sp\_utility::func_22B0(var_02,0); var_04 = undefined; var_05 = undefined; var_06 = undefined; var_07 = undefined; if(isdefined(var_00.var_EBEA["idle_prop"]) && isdefined(self.var_C6B7)) { var_04 = []; var_00.var_EBEA["spent_array_prop"] = var_04; var_06 = var_00.var_EBEA["idle_prop"]; var_05 = var_06[0]; var_06 = scripts\sp\_utility::func_22B0(var_06,0); var_07 = var_06; var_06 = undefined; } var_08 = var_02; var_02 = undefined; thread func_4179(); func_9A3B("stop"); for(;;) { if(isdefined(self.var_C6B9)) { func_13CA(self.var_C6B9,var_03); } func_10C47(var_03); self method_82E2("single anim",var_03,1,0.2,1); thread lib_0C4C::func_19BE(); if(isdefined(self.var_C6B7)) { thread func_1404(var_05); } wait(getanimlength(var_03) * randomintrange(1,2)); while(scripts\sp\_utility::func_65DB("hold_simple_idles")) { wait(getanimlength(var_03)); } if(var_08.size <= 0) { var_08 = var_01; var_01 = []; } var_09 = randomint(var_08.size); var_0A = var_08[var_09]; var_01 = scripts\common\utility::array_add(var_01,var_0A); var_08 = scripts\sp\_utility::func_22B0(var_08,var_09); if(isdefined(self.var_C6B7)) { if(var_07.size <= 0) { var_07 = var_04; var_04 = []; } var_0B = var_07[var_09]; var_04 = scripts\common\utility::array_add(var_04,var_0B); var_07 = scripts\sp\_utility::func_22B0(var_07,var_09); thread func_1403(var_0B); } self method_806F(var_03,0.2); if(isdefined(self.var_C6B9)) { func_13CA(self.var_C6B9,var_0A); } func_10C47(var_0A); self method_82E2("single anim",var_0A,1,0.2,1); thread lib_0C4C::func_19BD(); wait(getanimlength(var_0A)); self method_806F(var_0A,0.2); if(isdefined(self.var_C6B7)) { thread func_1402(); } scripts\common\utility::func_136F7(); } } //Function Number: 67 func_13CA(param_00,param_01) { var_02 = function_00CE(param_00.origin,param_00.angles,param_01); var_03 = function_00CD(param_00.origin,param_00.angles,param_01); if(!isdefined(self.var_9B89)) { self method_80F1(var_02,var_03,100000); wait(0.05); return; } self.origin = var_02; self.angles = var_03; self dontinterpolate(); wait(0.05); } //Function Number: 68 func_1403(param_00) { self endon("death"); self endon("stop_reaction"); self endon("reaction_end"); self.var_C6B7 method_83D0(#animtree); self.var_C6B7 method_806F(self.var_C6B7.var_4B31,0.2); self.var_C6B7 method_82A4(param_00,1,0.2,1); self.var_C6B7.var_4B31 = param_00; } //Function Number: 69 func_1404(param_00) { self endon("death"); self endon("stop_reaction"); self endon("reaction_end"); self.var_C6B7 method_83D0(#animtree); self.var_C6B7 method_82A4(param_00,1,0.2,1); self.var_C6B7.var_4B31 = param_00; } //Function Number: 70 func_1402() { self endon("death"); self endon("stop_reaction"); self endon("reaction_end"); self.var_C6B7 method_83D0(#animtree); self.var_C6B7 method_806F(self.var_C6B7.var_4B31,0.2); } //Function Number: 71 func_CC8B(param_00,param_01) { wait(param_00); var_02 = strtok(param_01,"_"); if(scripts\common\utility::func_2286(var_02,"plr")) { level.player scripts\sp\_utility::func_CE2F(param_01); return; } scripts\sp\_utility::func_10346(param_01); } //Function Number: 72 func_1368() { self notify("start_interaction_vo_note"); self endon("death"); self endon("stop_reaction"); self endon("reaction_end"); self endon("start_interaction_vo_note"); for(;;) { self waittill("single anim",var_00); if(isarray(var_00)) { foreach(var_02 in var_00) { if(issubstr(var_02,"vo_") && !issubstr(var_02,"_plr")) { var_03 = getsubstr(var_02,3); thread scripts\sp\_utility::func_10346(var_03); wait(lookupsoundlength(var_03) / 1000); self notify("single dialogue"); if(isdefined(self.var_EF82)) { self method_806F(self.var_EF82,0.2); } } } continue; } if(issubstr(var_00,"vo_") && !issubstr(var_00,"_plr")) { var_03 = getsubstr(var_00,3); thread scripts\sp\_utility::func_10346(var_03); wait(lookupsoundlength(var_03) / 1000); self notify("single dialogue"); if(isdefined(self.var_EF82)) { self method_806F(self.var_EF82,0.2); } } } } //Function Number: 73 func_CDB1(param_00) { self endon("death"); self endon("stop_smart_reaction"); var_01 = 0; while(!var_01) { self waittill("single anim",var_02); if(isarray(var_02)) { foreach(var_04 in var_02) { if(var_04 == "reaction_vo") { var_01 = 1; break; } } continue; } if(var_02 == "reaction_vo") { var_01 = 1; break; } scripts\common\utility::func_136F7(); } self notify("reaction_vo_fired"); lib_0B44::func_CE17(param_00); } //Function Number: 74 func_CC88() { self endon("death"); self endon("stop_reaction"); self endon("reaction_end"); var_00 = undefined; var_01 = undefined; if(!isdefined(level.var_9A2E.var_4D94["registered_state_interactions"][self.var_9A30]["vo_lines_male"])) { return; } if(!isdefined(level.var_9A2E.var_4D94["registered_state_interactions"][self.var_9A30]["vo_lines_female"])) { return; } if(!isdefined(level.var_9A2E.var_4D94["registered_state_interactions"][self.var_9A30]["used_male_vo"])) { level.var_9A2E.var_4D94["registered_state_interactions"][self.var_9A30]["used_male_vo"] = []; } if(isdefined(self.var_7727) && issubstr(self.var_7727,"male")) { if(level.var_9A2E.var_4D94["registered_state_interactions"][self.var_9A30]["vo_lines_male"].size < 1) { level.var_9A2E.var_4D94["registered_state_interactions"][self.var_9A30]["vo_lines_male"] = level.var_9A2E.var_4D94["registered_state_interactions"][self.var_9A30]["used_male_vo"]; } var_02 = level.var_9A2E.var_4D94["registered_state_interactions"][self.var_9A30]["vo_lines_male"]; var_03 = randomint(var_02.size); var_01 = var_02[var_03]; level.var_9A2E.var_4D94["registered_state_interactions"][self.var_9A30]["vo_lines_male"] = scripts\sp\_utility::func_22B0(level.var_9A2E.var_4D94["registered_state_interactions"][self.var_9A30]["vo_lines_male"],var_03); level.var_9A2E.var_4D94["registered_state_interactions"][self.var_9A30]["used_male_vo"] = scripts\common\utility::array_add(level.var_9A2E.var_4D94["registered_state_interactions"][self.var_9A30]["used_male_vo"],var_01); } if(!isdefined(level.var_9A2E.var_4D94["registered_state_interactions"][self.var_9A30]["used_female_vo"])) { level.var_9A2E.var_4D94["registered_state_interactions"][self.var_9A30]["used_female_vo"] = []; } if(isdefined(self.var_7727) && issubstr(self.var_7727,"female")) { if(level.var_9A2E.var_4D94["registered_state_interactions"][self.var_9A30]["vo_lines_female"].size < 1) { level.var_9A2E.var_4D94["registered_state_interactions"][self.var_9A30]["vo_lines_female"] = level.var_9A2E.var_4D94["registered_state_interactions"][self.var_9A30]["used_female_vo"]; } var_02 = level.var_9A2E.var_4D94["registered_state_interactions"][self.var_9A30]["vo_lines_female"]; var_03 = randomint(var_02.size); var_01 = var_02[var_03]; level.var_9A2E.var_4D94["registered_state_interactions"][self.var_9A30]["vo_lines_female"] = scripts\sp\_utility::func_22B0(level.var_9A2E.var_4D94["registered_state_interactions"][self.var_9A30]["vo_lines_female"],var_03); level.var_9A2E.var_4D94["registered_state_interactions"][self.var_9A30]["used_female_vo"] = scripts\common\utility::array_add(level.var_9A2E.var_4D94["registered_state_interactions"][self.var_9A30]["used_female_vo"],var_01); } var_04 = undefined; for(;;) { self waittill("single anim",var_05); if(isarray(var_05)) { foreach(var_07 in var_05) { if(var_07 == "reaction_vo") { var_04 = 1; break; } } } else if(var_05 == "reaction_vo") { var_04 = 1; } if(isdefined(var_04)) { break; } scripts\common\utility::func_136F7(); } scripts\sp\_utility::func_10346(var_01); } //Function Number: 75 func_CC8C(param_00) { var_01 = undefined; var_02 = undefined; var_03 = level.var_9A2E.var_4D94["registered_interactions"][self.var_9A30]; if(isdefined(level.var_9A2E.var_4D94["registered_interactions"][self.var_9A30]["vo_lines_male"])) { var_01 = 1; if(!isdefined(level.var_9A2E.var_4D94["registered_interactions"][self.var_9A30]["used_male_vo"])) { level.var_9A2E.var_4D94["registered_interactions"][self.var_9A30]["used_male_vo"] = []; } if(isdefined(self.var_7727) && issubstr(self.var_7727,"male")) { if(level.var_9A2E.var_4D94["registered_interactions"][self.var_9A30]["vo_lines_male"].size < 1) { level.var_9A2E.var_4D94["registered_interactions"][self.var_9A30]["vo_lines_male"] = level.var_9A2E.var_4D94["registered_interactions"][self.var_9A30]["used_male_vo"]; } var_04 = level.var_9A2E.var_4D94["registered_interactions"][self.var_9A30]["vo_lines_male"]; var_05 = randomint(var_04.size); var_02 = var_04[var_05]; level.var_9A2E.var_4D94["registered_interactions"][self.var_9A30]["vo_lines_male"] = scripts\sp\_utility::func_22B0(level.var_9A2E.var_4D94["registered_interactions"][self.var_9A30]["vo_lines_male"],var_05); level.var_9A2E.var_4D94["registered_interactions"][self.var_9A30]["used_male_vo"] = scripts\common\utility::array_add(level.var_9A2E.var_4D94["registered_interactions"][self.var_9A30]["used_male_vo"],var_02); } } if(isdefined(level.var_9A2E.var_4D94["registered_interactions"][self.var_9A30]["vo_lines_female"])) { var_01 = 1; if(!isdefined(level.var_9A2E.var_4D94["registered_interactions"][self.var_9A30]["used_female_vo"])) { level.var_9A2E.var_4D94["registered_interactions"][self.var_9A30]["used_female_vo"] = []; } if(isdefined(self.var_7727) && issubstr(self.var_7727,"female")) { if(level.var_9A2E.var_4D94["registered_interactions"][self.var_9A30]["vo_lines_female"].size < 1) { level.var_9A2E.var_4D94["registered_interactions"][self.var_9A30]["vo_lines_female"] = level.var_9A2E.var_4D94["registered_interactions"][self.var_9A30]["used_female_vo"]; } var_04 = level.var_9A2E.var_4D94["registered_interactions"][self.var_9A30]["vo_lines_female"]; var_05 = randomint(var_04.size); var_02 = var_04[var_05]; level.var_9A2E.var_4D94["registered_interactions"][self.var_9A30]["vo_lines_female"] = scripts\sp\_utility::func_22B0(level.var_9A2E.var_4D94["registered_interactions"][self.var_9A30]["vo_lines_female"],var_05); level.var_9A2E.var_4D94["registered_interactions"][self.var_9A30]["used_female_vo"] = scripts\common\utility::array_add(level.var_9A2E.var_4D94["registered_interactions"][self.var_9A30]["used_female_vo"],var_02); } } var_06 = param_00.size - 1; if(!isdefined(var_01)) { if(isstring(param_00[var_06])) { for(var_07 = 1;var_07 < param_00.size;var_07 = var_07 + 2) { func_CC8B(param_00[var_07],param_00[var_07 + 1]); } return; } for(var_07 = 1;var_07 < param_00.size - 1;var_07 = var_07 + 2) { func_CC8B(param_00[var_07],param_00[var_07 + 1]); } return; } func_CC8B(param_00[1],var_02); } //Function Number: 76 func_F59A(param_00) { self.var_F275 = 0; self.var_F273 = 0; var_01 = param_00.size - 1; if(isstring(param_00[var_01])) { self.var_F273 = 0; for(var_02 = 1;var_02 < param_00.size;var_02 = var_02 + 2) { self.var_F275 = self.var_F275 + param_00[var_02]; } return; } self.var_F273 = var_01[var_02]; for(var_02 = 1;var_02 < param_00.size - 1;var_02 = var_02 + 2) { self.var_F275 = self.var_F275 + param_00[var_02]; } } //Function Number: 77 func_DC7D() { self endon("reaction_end"); self endon("stop_idle_controller"); self endon("death"); var_00 = undefined; var_01 = func_7A45(self.var_9A30); if(!isdefined(var_01)) { var_01 = func_7CA7(self.var_9A30); } self.var_383A = 1; self.var_9C83 = undefined; if(!isarray(var_01.var_EBEA["idle"])) { var_01.var_EBEA["idle"] = [var_01.var_EBEA["idle"],var_01.var_EBEA["idle"]]; } var_02 = []; var_03 = var_01.var_EBEA["idle"]; var_04 = var_03[0]; var_03 = scripts\sp\_utility::func_22B0(var_03,0); var_05 = var_03; var_03 = undefined; self.var_10DB2 = var_04; for(;;) { self.var_9C83 = 1; var_06 = getanimlength(var_04); var_07 = randomint(2) + 1; var_08 = var_06 * float(var_07); wait(var_08); for(;;) { if(distance2dsquared(self.origin,level.player.origin) >= squared(150)) { break; } scripts\common\utility::func_136F7(); } if(var_05.size <= 0) { var_05 = var_02; var_02 = []; } var_09 = var_05[randomint(var_05.size)]; var_02 = scripts\common\utility::array_add(var_02,var_09); var_05 = scripts\common\utility::func_22A9(var_05,var_09); var_0A = undefined; var_0B = undefined; if(isdefined(self.var_C6B9)) { var_0A = function_00CE(self.var_C6B9.origin,self.var_C6B9.angles,var_09); var_0B = function_00CD(self.var_C6B9.origin,self.var_C6B9.angles,var_09); if(!isdefined(self.var_9B89)) { self method_80F1(var_0A,var_0B); } else { self.origin = var_0A; self.angles = var_0B; } } while(self.var_9C84) { scripts\common\utility::func_136F7(); } func_10C47(var_09); self method_82E2("single anim",var_09,1,0.2,1); self.var_DC80 = 1; var_0C = getanimlength(var_09); wait(var_0C); while(self.var_9C84) { scripts\common\utility::func_136F7(); } if(isdefined(self.var_C6B9)) { var_0A = function_00CE(self.var_C6B9.origin,self.var_C6B9.angles,var_04); var_0B = function_00CD(self.var_C6B9.origin,self.var_C6B9.angles,var_04); if(!isdefined(self.var_9B89)) { self method_80F1(var_0A,var_0B); } else { self.origin = var_0A; self.angles = var_0B; } } self.var_DC80 = 0; self method_806F(var_09,0.3); self.var_9C83 = undefined; func_10C47(var_04); self method_82E2("single anim",var_04,1,0.2,1); self method_82B0(var_04,randomfloat(1)); for(;;) { if(isdefined(self.var_383A)) { break; } scripts\common\utility::func_136F7(); } scripts\common\utility::func_136F7(); } } //Function Number: 78 func_DC7E() { self endon("reaction_end"); self endon("stop_idle_controller"); self endon("death"); var_00 = undefined; var_01 = func_7CA7(self.var_9A30); self.var_383A = 1; self.var_9C83 = undefined; var_02 = undefined; if(isdefined(self.var_7727) && issubstr(self.var_7727,"female")) { var_02 = "idle_female"; } else { var_02 = "idle"; } var_03 = var_01.var_EBEA[var_02][0]; self.var_10DB2 = var_03; for(;;) { self.var_9C83 = 1; var_04 = getanimlength(var_03); var_05 = randomint(2) + 1; var_06 = var_04 * float(var_05); wait(var_06); for(;;) { if(distance2dsquared(self.origin,level.player.origin) >= squared(150)) { break; } scripts\common\utility::func_136F7(); } var_07 = undefined; var_08 = undefined; if(isdefined(self.var_7727) && issubstr(self.var_7727,"female")) { var_07 = "random_idles_female"; var_08 = "spent_random_idles_female"; } else { var_07 = "random_idles"; var_08 = "spent_random_idles"; } if(level.var_10E1C[self.var_9A30].var_EBEA[var_07].size <= 0) { level.var_10E1C[self.var_9A30].var_EBEA[var_07] = level.var_10E1C[self.var_9A30].var_EBEA[var_08]; level.var_10E1C[self.var_9A30].var_EBEA[var_08] = []; } var_09 = level.var_10E1C[self.var_9A30].var_EBEA[var_07][randomint(level.var_10E1C[self.var_9A30].var_EBEA[var_07].size)]; level.var_10E1C[self.var_9A30].var_EBEA[var_08] = scripts\common\utility::array_add(level.var_10E1C[self.var_9A30].var_EBEA[var_08],var_09); level.var_10E1C[self.var_9A30].var_EBEA[var_07] = scripts\common\utility::func_22A9(level.var_10E1C[self.var_9A30].var_EBEA[var_07],var_09); var_0A = undefined; var_0B = undefined; if(isdefined(self.var_C6B9)) { var_0A = function_00CE(self.var_C6B9.origin,self.var_C6B9.angles,var_09); var_0B = function_00CD(self.var_C6B9.origin,self.var_C6B9.angles,var_09); if(!isdefined(self.var_9B89)) { self method_80F1(var_0A,var_0B); } else { self.origin = var_0A; self.angles = var_0B; } } while(self.var_9C84) { scripts\common\utility::func_136F7(); } func_10C47(var_09); self method_82E2("single anim",var_09,1,0.2,1); self.var_DC80 = 1; var_0C = getanimlength(var_09); wait(var_0C); while(self.var_9C84) { scripts\common\utility::func_136F7(); } if(isdefined(self.var_C6B9)) { var_0A = function_00CE(self.var_C6B9.origin,self.var_C6B9.angles,var_03); var_0B = function_00CD(self.var_C6B9.origin,self.var_C6B9.angles,var_03); if(!isdefined(self.var_9B89)) { self method_80F1(var_0A,var_0B); } else { self.origin = var_0A; self.angles = var_0B; } } self.var_DC80 = 0; self method_806F(var_09,0.3); self.var_9C83 = undefined; func_10C47(var_03); self method_82E2("single anim",var_03,1,0.2,1); self method_82B0(var_03,randomfloat(1)); for(;;) { if(isdefined(self.var_383A)) { break; } scripts\common\utility::func_136F7(); } scripts\common\utility::func_136F7(); } } //Function Number: 79 func_DC7F(param_00,param_01,param_02) { self endon("reaction_end"); self endon("stop_idle_controller"); level endon("stop_idle_controller"); self endon("stop_group_idle_controller"); level endon("stop_group_idle_controller"); self endon("death"); if(!scripts\common\utility::func_6E34("hold_group_vignettes")) { scripts\common\utility::flag_init("hold_group_vignettes"); } var_03 = []; var_04 = param_02; for(;;) { wait(randomfloatrange(param_01 * 0.5,param_01)); foreach(var_06 in param_00) { if(!isdefined(var_06)) { self notify("stop_group_idle_controller"); return; } var_06 endon("death"); var_06 endon("entitydeleted"); var_06.var_383A = undefined; } var_08 = 0; for(;;) { if(!scripts\common\utility::flag("hold_group_vignettes")) { foreach(var_0A in param_00) { if(!isdefined(var_0A.var_9C83)) { var_08++; } } if(var_08 >= param_00.size) { break; } else { var_08 = 0; } } scripts\common\utility::func_136F7(); } var_0C = undefined; if(isarray(param_02)) { if(var_04.size <= 0) { var_04 = param_02; var_03 = []; } var_0C = var_04[randomint(var_04.size)]; } else { var_0C = param_02; } var_0D = 0; if(!scripts\common\utility::flag("hold_group_vignettes")) { foreach(var_06 in param_00) { if(!isdefined(var_06)) { self notify("stop_group_idle_controller"); return; } var_0F = var_06 scripts\sp\_utility::func_7DC1(var_0C); var_10 = function_00CE(var_06.origin,var_06.angles,var_0F); var_11 = function_00CD(var_06.origin,var_06.angles,var_0F); if(isai(var_06)) { var_06 method_80F1(var_10,var_11); } else { var_06.origin = var_10; var_06.angles = var_11; } var_06 thread func_10C47(var_0F); var_06 method_82E2("single anim",var_0F,1,0.2); var_06.var_1C4D = 0; var_06.var_906F = 1; var_0D = getanimlength(var_0F); } wait(var_0D); if(isarray(param_02)) { var_03 = scripts\common\utility::array_add(var_03,var_0C); var_04 = scripts\common\utility::func_22A9(var_04,var_0C); } foreach(var_14 in param_00) { if(!isdefined(var_14)) { self notify("stop_group_idle_controller"); return; } var_0F = var_14 scripts\sp\_utility::func_7DC1(var_0C); var_14 thread func_10C47(var_14.var_10DB2); var_14 method_82A4(var_0F,0,0.2); var_14 method_82E2("single anim",var_14.var_10DB2,1,0.2,1); var_14 method_82B0(var_14.var_10DB2,randomfloat(1)); var_14.var_383A = 1; var_14.var_1C4D = 1; var_14.var_906F = undefined; } } scripts\common\utility::func_136F7(); } } //Function Number: 80 func_9A0F() { if(!isdefined(self.var_DD4C)) { lib_0A1E::func_2386(); func_9A3B("stop"); } lib_0B44::func_DFB5(); self notify("reaction_end"); thread lib_0B44::func_10FF9(); self notify("stop_smart_reaction"); self.var_9CE2 = undefined; } //Function Number: 81 func_9A10() { self waittill("reaction_end"); lib_0B44::func_DFB5(); self notify("interaction_done"); self notify("stop_reaction"); self.var_9CE2 = undefined; } //Function Number: 82 func_F5CD(param_00,param_01,param_02) { if(!isdefined(param_02)) { param_02 = 1; } var_03 = self method_8102(param_00); var_04 = getanimlength(param_00); var_05 = param_01 - var_03 * var_04 / 0.05; self method_82AC(param_00,param_02,0.25,var_05); } //Function Number: 83 func_CCCA(param_00,param_01) { self endon("death"); self endon("interaction_done"); self endon("stop_reaction"); self endon("reaction_end"); self.var_1F25 = 0; self.var_EBF8 = 0; self.var_F274 = 0; self.var_10254 = 0; self.var_9C84 = 0; self.var_BE79 = 0; self.var_43E5 = param_01; if(isdefined(level.var_9A2E)) { level.var_9A2E.var_4D94["actors"] = scripts\common\utility::array_add(level.var_9A2E.var_4D94["actors"],self); } while(self.script == "init") { scripts\common\utility::func_136F7(); } for(;;) { for(;;) { var_02 = lengthsquared(level.player.origin - self.origin); if(var_02 < squared(150) && func_9C3D(self,0.925)) { break; } scripts\common\utility::func_136F7(); } var_03 = self.var_238F; var_04 = self.var_164D[var_03].var_4BC0; var_05 = level.var_2303[var_03].var_10E2F[var_04]; var_06 = var_05.var_C87F; self.var_43E4 = lib_0A1E::func_2336(var_03,param_01); level.var_2303[var_03].var_10E2F[var_04].var_C87F = var_06; if(var_04 == self.var_43E5 && !self.var_BE79) { if(param_00.var_EE92 == "combat_reaction") { var_07 = []; if(isdefined(param_00.type)) { switch(param_00.type) { case "Cover Crouch": var_07 = ["combat_crouch_1","combat_crouch_2"]; break; case "Cover Left": switch(self.var_1491.var_D6A5) { case "stand": var_07 = ["hm_grnd_org_cover_left_stand_react_01","hm_grnd_org_cover_left_stand_react_02"]; break; case "crouch": var_07 = ["hm_grnd_org_cover_left_crouch_react_01","hm_grnd_org_cover_left_crouch_react_02"]; break; case "prone": break; } break; case "Cover Right": switch(self.var_1491.var_D6A5) { case "stand": var_07 = ["hm_grnd_org_cover_right_stand_react_01","hm_grnd_org_cover_right_stand_react_02"]; break; case "crouch": var_07 = ["hm_grnd_org_cover_right_crouch_react_01","hm_grnd_org_cover_right_crouch_react_02"]; break; case "prone": break; } break; case "Cover Prone": break; case "Cover Stand": break; case "Cover Crouch Window": var_07 = ["combat_cover_crouch_1"]; break; } if(var_07.size > 0) { var_08 = randomint(var_07.size); var_09 = var_07[var_08]; func_43DA(var_09,param_00); } else { return; } } } else { func_43DA(param_00.var_EE92,param_00); } } wait(1.5); } } //Function Number: 84 func_43DA(param_00,param_01) { self endon("death"); self endon("interaction_done"); var_02 = func_7A45(param_00); thread lib_0B06::func_10CBF(self,"vo"); thread func_1368(); if(!isdefined(var_02)) { return; } self.var_B004 = var_02.var_EBEA; if(!isdefined(self.var_1FBB)) { self.var_1FBB = "generic"; } var_03 = lengthsquared(level.player.origin - self.origin); var_04 = undefined; var_05 = scripts\common\trace::func_48BC(1,1,0,1,1,1); var_06 = undefined; if(isdefined(self.var_B004["interaction_position"])) { var_03 = lengthsquared(self.var_B004["interaction_position"] - self.origin); } else { var_03 = lengthsquared(level.player.origin - self.origin); } if(var_03 < squared(self.var_B004["trigger_radius"]) && func_9C3D(self,0.925)) { var_04 = vectornormalize(level.player geteye() - self geteye()) * self.var_B004["trigger_radius"] + self geteye(); var_06 = scripts\common\trace::func_DCED(self geteye(),var_04,self,var_05); if(isplayer(var_06["entity"])) { func_43DB(); } } } //Function Number: 85 func_43DB() { self endon("death"); self endon("interaction_done"); self.var_9C84 = 1; self notify("playing_interaction_scene"); level notify("playing_interaction"); var_00 = self.var_43E4; var_01 = undefined; if(isdefined(self.var_B004["interaction_position"])) { var_01 = vectortoangles(self.var_B004["interaction_position"] - self.origin); } else { var_01 = vectortoangles(level.player.origin - self.origin); } var_02 = abs(angleclamp(var_01 - self.angles[1]) - 360); var_03 = self.var_B004["lastanim"]; if(isdefined(self.var_B004["angles"])) { foreach(var_05 in self.var_B004["angles"]) { if(var_02 <= var_05) { var_03 = self.var_B004[var_05]; break; } } } if(isarray(var_03)) { if(isarray(var_03[0])) { var_07 = self.var_1F25; var_08 = var_03[0][var_07][0]; } else { var_08 = var_08[0]; } } else { var_08 = var_08; } func_10C47(var_08); self method_82AC(%cover,0,0.25,1); self method_82E3("vo",var_08,%body,1,0.25,1); wait(getanimlength(var_08)); self method_806F(%scripted,0.25); self method_82AC(%cover,1,0.25,1); self.var_9C84 = 0; wait(0.25); self notify("interaction_done"); level notify("interaction_done"); thread func_9A0F(); } //Function Number: 86 func_43E7(param_00) { param_00.var_43E6 = 1; wait(2); param_00.var_43E6 = undefined; } //Function Number: 87 func_BF07() { self endon("death"); self endon("reaction_done"); self endon("entitydeleted"); var_00 = undefined; if(isdefined(self.var_A906)) { var_00 = self.var_A906.origin; while(isdefined(self.var_A906) && self.var_A906.origin == var_00) { scripts\common\utility::func_136F7(); } } else if(isdefined(self.var_A905)) { var_00 = self.var_A905.origin; while(isdefined(self.var_A905) && self.var_A905.origin == var_00) { scripts\common\utility::func_136F7(); } } else if(isdefined(self.var_A907)) { var_00 = self.var_A907; while(isdefined(self.var_A907) && self.var_A907 == var_00) { scripts\common\utility::func_136F7(); } } self notify("interaction_done"); thread func_9A0F(); } //Function Number: 88 func_9A32() { self endon("death"); self endon("interaction_done"); self.var_9A31 = undefined; for(;;) { self.var_9A31 = undefined; self waittill("pain"); self.var_9A31 = 1; wait(5); } } //Function Number: 89 func_9A3B(param_00) { if(!isdefined(param_00)) { param_00 = "stop"; } if(isai(self)) { self.var_1491.var_BCC8 = param_00; return; } } //Function Number: 90 func_10C47(param_00) { var_01 = undefined; if(isdefined(self.var_9A30)) { var_01 = self.var_9A30; } thread lib_0B06::func_10CBF(self,"single anim",var_01,undefined,param_00); thread lib_0B06::func_1FCA(self,"single anim",var_01); }