mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-07 17:17:50 -05:00
3738 lines
80 KiB
Plaintext
3738 lines
80 KiB
Plaintext
/*******************************************************************
|
|
* 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);
|
|
} |