Files
IL-GSC/IW/PC/ALL/scripts/sp/_doorpeek.gsc
2023-10-27 03:49:01 -04:00

2953 lines
78 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\sp\_doorpeek.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 83
* Decompile Time: 3773 ms
* Timestamp: 10/27/2023 12:24:10 AM
*******************************************************************/
//Function Number: 1
func_11620(param_00,param_01,param_02,param_03)
{
if(!isdefined(param_03))
{
param_03 = 0;
}
var_04 = [level.var_5A23[param_00].var_5A25,level.var_5A23[param_00].var_5A2A];
foreach(var_06 in var_04)
{
var_06 method_83BA(param_01,param_02);
}
if(param_03)
{
function_0217();
}
level.var_5A23[param_00].var_5A24 = level.var_5A23[param_00].var_5A25.angles;
}
//Function Number: 2
func_59CB()
{
func_1206();
func_11FB();
func_120C();
level.var_5A23 = [];
scripts\sp\_utility::func_D6D9(::func_59CC);
scripts\common\utility::flag_init("show_peek_hint");
scripts\common\utility::flag_init("stopping_doorpeek_gesture");
scripts\common\utility::flag_init("doorpeek_hand_on_door");
scripts\sp\_utility::func_16EB("peek_hint",&"SCRIPT_DOORPEEK_HINT",::func_C9F7);
scripts\sp\_utility::func_16EB("peek_hint_pc",&"SCRIPT_DOORPEEK_HINT_PC",::func_C9F7);
scripts\sp\_utility::func_16EB("peek_hint_shove",&"SCRIPT_DOORPEEK_HINT_SHOVE",::func_C9F7);
scripts\sp\_utility::func_16EB("peek_hint_shove_pc",&"SCRIPT_DOORPEEK_HINT_SHOVE_PC",::func_C9F7);
scripts\sp\_utility::func_16EB("peek_only_hint",&"SCRIPT_DOORPEEK_HINT_PEEK_ONLY",::func_C9F7);
scripts\sp\_utility::func_16EB("peek_only_hint_pc",&"SCRIPT_DOORPEEK_HINT_PEEK_ONLY_PC",::func_C9F7);
}
//Function Number: 3
func_C9F7()
{
return !scripts\common\utility::flag("show_peek_hint");
}
//Function Number: 4
func_59CC()
{
func_118F();
func_118E();
level.player notifyonplayercommand("kick_pressed","+stance");
level.player notifyonplayercommand("kick_pressed_pc","+activate");
}
//Function Number: 5
func_794D(param_00)
{
var_01 = getentarray(param_00,"targetname");
var_02 = func_12A6(var_01,"door_peek_door");
return var_02;
}
//Function Number: 6
func_118F()
{
var_00 = scripts\common\utility::getstructarray("door_peek_struct","script_noteworthy");
foreach(var_02 in var_00)
{
if(isdefined(var_02.var_2AF) && var_02.var_2AF & 1)
{
var_03 = getentarray(var_02.var_336,"targetname");
var_04 = scripts\common\utility::getstructarray(var_02.var_336,"targetname");
var_03 = scripts\common\utility::array_combine(var_03,var_04);
if(var_02.var_2AF & 2)
{
thread func_59BE(var_02.var_336);
}
if(var_02.var_2AF & 4)
{
thread func_59BE(var_02.var_336,1);
}
continue;
}
func_59D5(var_02.var_336,0);
var_05 = getentarray(var_02.var_336,"targetname");
var_05 = scripts\common\utility::array_combine(var_05,scripts\common\utility::getstructarray(var_02.var_336,"targetname"));
var_06 = func_12A6(var_05,"door_peek_door");
var_07 = var_06.var_EE52;
if(var_07 == "airlock" || var_07 == "airlockcombat")
{
var_06 scripts\sp\_dooruse::func_1AB5(0);
}
}
}
//Function Number: 7
func_118E()
{
var_00 = scripts\common\utility::getstructarray("door_peek_struct","script_noteworthy");
foreach(var_02 in var_00)
{
if(isdefined(var_02.var_336) && var_02.var_336 == "door_peek_armory")
{
thread func_59BE(var_02.var_336);
}
}
}
//Function Number: 8
func_11FA()
{
self method_82EF(self.origin);
scripts\sp\_utility::func_F3E0(1);
scripts\sp\_utility::func_F415(1);
}
//Function Number: 9
func_13B2(param_00,param_01)
{
level.player endon("death");
if(!param_01)
{
level endon(param_00 + "door_peek_main_side_used");
level waittill(param_00 + "door_peek_reverse_side_used");
}
else
{
level endon(param_00 + "door_peek_reverse_side_used");
level waittill(param_00 + "door_peek_main_side_used");
}
lib_0E46::func_DFE3();
self.origin = self.var_C3A2;
}
//Function Number: 10
func_1207(param_00,param_01,param_02,param_03)
{
level endon(param_00 + "door_peek_deleted");
level endon(param_00 + "door_peek_disabled");
if(!isdefined(param_03) || param_03 == 0)
{
level endon(param_00 + "door_peek_kick");
}
level endon(param_00 + "door_peek_back_off");
level endon(param_00 + "door_peek_sprint");
level endon(param_00 + "door_peek_pop_open");
level endon(param_00 + "door_kick_newdoor_think");
level.player.var_5818 = 1;
thread func_1208(param_00,param_01,param_02,param_03);
level.player waittill("death");
func_11D6(param_00,param_01);
}
//Function Number: 11
func_1208(param_00,param_01,param_02,param_03)
{
level.player endon("death");
var_04 = [param_00 + "door_peek_deleted",param_00 + "door_peek_disabled",param_00 + "door_peek_back_off",param_00 + "door_peek_sprint",param_00 + "door_peek_pop_open",param_00 + "door_kick_newdoor_think"];
if(!isdefined(param_03) || param_03 == 0)
{
var_04[var_04.size] = param_00 + "door_peek_kick";
}
level scripts\common\utility::func_13730(var_04);
level.player.var_5818 = undefined;
}
//Function Number: 12
func_1211(param_00,param_01,param_02,param_03)
{
level.player endon("death");
level endon(param_00 + "door_peek_deleted");
level endon(param_00 + "door_peek_disabled");
if(!isdefined(param_03) || param_03 == 0)
{
level endon(param_00 + "door_peek_kick");
}
level endon(param_00 + "door_peek_back_off");
level endon(param_00 + "door_peek_sprint");
level endon(param_00 + "door_peek_pop_open");
if(!param_01)
{
level endon(param_00 + "door_peek_reverse_side_used");
}
else
{
level endon(param_00 + "door_peek_main_side_used");
}
if(!isdefined(level.var_5A23[param_00]))
{
level.var_5A23[param_00] = spawnstruct();
}
var_04 = getentarray(param_00,"targetname");
var_04 = scripts\common\utility::array_combine(var_04,scripts\common\utility::getstructarray(param_00,"targetname"));
level.var_5A23[param_00].var_5978 = func_12A6(var_04,"door_peek_door");
level.var_5A23[param_00].var_5A57 = level.var_5A23[param_00].var_5978.var_EE52;
level.var_5A23[param_00].var_5978 scripts\sp\_utility::func_23B7("doorpeek_door");
var_05 = func_12A6(var_04,"door_peek_struct");
if(!param_01)
{
var_06 = 1;
var_07 = func_12A6(var_04,"door_peek_animstruct");
level.var_5A23[param_00].var_5A25 = var_05 scripts\common\utility::spawn_tag_origin();
level.var_5A23[param_00].var_59FF = var_07 scripts\common\utility::spawn_tag_origin();
level.var_5A23[param_00].var_59FF.angles = var_07.angles + (0,180,0);
level.var_5A23[param_00].var_59FF linkto(level.var_5A23[param_00].var_5978);
level.var_5A23[param_00].var_5A58 = distance2d(level.var_5A23[param_00].var_5A25.origin,level.var_5A23[param_00].var_59FF.origin);
var_08 = func_12A6(var_04,"door_kick_animstruct");
level.var_5A23[param_00].var_A5A9 = var_08 scripts\common\utility::spawn_tag_origin();
level.var_5A23[param_00].var_A5A9 linkto(level.var_5A23[param_00].var_5A25);
var_09 = -140;
if(isdefined(var_05.var_EE0E))
{
var_09 = var_05.var_EE0E * -1;
}
level.var_5A23[param_00].var_74C0 = var_09;
}
else
{
var_06 = -1;
var_07 = func_12A6(var_06,"door_peek_animstruct_b");
level.var_5A23[param_01].var_5A26 = var_06 scripts\common\utility::spawn_tag_origin();
level.var_5A23[param_01].var_5A26.angles = level.var_5A23[param_01].var_5A26.angles + (0,180,0);
level.var_5A23[param_01].var_5A00 = var_09 scripts\common\utility::spawn_tag_origin();
level.var_5A23[param_01].var_5A00 linkto(level.var_5A23[param_01].var_5978);
level.var_5A23[param_01].var_5A58 = distance2d(level.var_5A23[param_01].var_5A26.origin,level.var_5A23[param_01].var_5A00.origin);
var_0A = func_12A6(var_05,"door_kick_animstruct_b");
level.var_5A23[param_00].var_A5AA = var_0A scripts\common\utility::spawn_tag_origin();
level.var_5A23[param_00].var_A5AA linkto(level.var_5A23[param_00].var_5A26);
var_09 = 140;
if(isdefined(var_05.var_EE0D))
{
var_09 = var_05.var_EE0D;
}
level.var_5A23[param_00].var_74C1 = var_09;
}
level.var_5A23[param_00].var_5A2A = var_05 scripts\common\utility::spawn_tag_origin();
level.var_5A23[param_00].var_5978 linkto(level.var_5A23[param_00].var_5A2A);
level.var_5A23[param_00].var_5A24 = level.var_5A23[param_00].var_5A2A.angles;
level.var_5A23[param_00].var_5A03 = func_12A6(var_04,"door_peek_clip");
level.var_5A23[param_00].var_5A03 linkto(level.var_5A23[param_00].var_5978);
level.var_5A23[param_00].var_5A56 = func_12A6(var_04,"door_peek_static_clip");
if(!param_01)
{
var_0B = func_12A6(var_04,"door_kick_interact");
level.var_5A23[param_00].var_4C26 = spawn("script_origin",var_0B.origin);
level.var_5A23[param_00].var_4C26.origin = var_0B.origin;
level.var_5A23[param_00].var_4C26.angles = var_0B.angles;
level.var_5A23[param_00].var_4C26 linkto(level.var_5A23[param_00].var_5978);
}
else
{
var_0B = func_12A6(var_05,"door_kick_interact_b");
level.var_5A23[param_00].var_4C27 = spawn("script_origin",var_0B.origin);
level.var_5A23[param_00].var_4C27.origin = var_0B.origin;
level.var_5A23[param_00].var_4C27.angles = var_0B.angles;
level.var_5A23[param_00].var_4C27 linkto(level.var_5A23[param_00].var_5978);
}
level.var_5A23[param_00].var_C9D4 = 0;
level.var_5A23[param_00].var_5A21 = 0;
if(!param_01)
{
level.var_5A23[param_00].var_C9FE = func_1298(level.var_5A23[param_00].var_5A57,param_01);
}
else
{
level.var_5A23[param_00].var_C9FF = func_1298(level.var_5A23[param_00].var_5A57,param_01);
}
level.var_5A23[param_00].var_1B12 = 0;
if(isdefined(level.var_5A23[param_00].var_5978.var_EEE3))
{
level.var_5A23[param_00].var_1B12 = level.var_5A23[param_00].var_5978.var_EEE3;
if(!param_01)
{
level.var_5A23[param_00].var_5A2A.angles = level.var_5A23[param_00].var_5A2A.angles - (0,level.var_5A23[param_00].var_1B12,0);
}
else
{
level.var_5A23[param_00].var_5A2A.angles = level.var_5A23[param_00].var_5A2A.angles + (0,level.var_5A23[param_00].var_1B12,0);
}
}
wait(0.05);
if(isdefined(level.var_5A23[param_00].var_4C1C))
{
scripts\common\utility::flag_wait(level.var_5A23[param_00].var_4C1C);
}
if(!isdefined(level.var_5A23[param_00].var_5978))
{
level notify(param_00 + "door_peek_deleted");
}
func_11F8(param_00,param_01);
thread func_1207(param_00,param_01,param_02,param_03);
if(param_01)
{
level.var_5A23[param_00].var_5978 unlink();
var_0C = level.var_5A23[param_00].var_C9FF.var_11782;
level.var_5A23[param_00].var_5A2A.origin = level.var_5A23[param_00].var_5A2A.origin + var_0C * anglestoforward(level.var_5A23[param_00].var_5A26.angles);
level.var_5A23[param_00].var_5978 linkto(level.var_5A23[param_00].var_5A2A);
}
thread func_120D(param_00,level.var_5A23[param_00].var_5978,level.var_5A23[param_00].var_5A03);
childthread func_120E(param_00);
if(!isdefined(param_02))
{
if(level.var_5A23[param_00].var_5A57 != "airlock")
{
thread func_1209(param_00,level.var_5A23[param_00].var_5978,param_01,level.var_5A23[param_00].var_5A03);
if(!param_01)
{
thread func_11EA(param_00,level.var_5A23[param_00].var_5978,param_01,level.var_5A23[param_00].var_5A03,level.var_5A23[param_00].var_5A25);
}
else
{
thread func_11EA(param_00,level.var_5A23[param_00].var_5978,param_01,level.var_5A23[param_00].var_5A03,level.var_5A23[param_00].var_5A26);
}
}
}
level.player.var_5966 = 1;
level notify(param_00 + "door_peek_start");
level notify("door_peek_start");
thread scripts\common\utility::func_6E3F(param_00 + "door_peek_can_kick",level.var_5A23[param_00].var_C9FE.var_119D5);
if(param_01)
{
level notify(param_00 + "door_peek_reverse_side_used");
level notify("door_peek_reverse_side_used");
}
else
{
level notify(param_00 + "door_peek_main_side_used");
level notify("door_peek_main_side_used");
}
func_1201();
func_1205();
thread func_59CF(param_00,param_03);
func_1202(param_00,param_01);
thread func_1466(param_00);
func_1204();
thread func_11FE(param_00,param_01);
thread func_120A(param_00,param_01);
func_11F5(param_00,param_01,param_02);
func_1210(param_00,param_01);
level notify(param_00 + "door_kick_newdoor_think");
}
//Function Number: 13
func_11F8(param_00,param_01)
{
level.player endon("death");
level endon(param_00 + "door_peek_disabled");
if(!param_01)
{
var_02 = level.var_5A23[param_00].var_4C26;
}
else
{
var_02 = level.var_5A23[param_01].var_4C27;
}
var_02.var_C3A2 = var_02.origin;
var_02 lib_0E46::func_48C4(undefined,(0,0,0),&"SCRIPT_DOORPEEK_OPEN",undefined,512);
var_02 thread func_13B2(param_00,param_01);
var_02 thread func_11F6(param_00);
var_03 = 0;
if(level.var_5A23[param_00].var_5A57 == "armory" || level.var_5A23[param_00].var_5A57 == "armoryajar")
{
var_03 = 1;
}
var_02 thread func_11F7(level.var_5A23[param_00].var_5978,param_01,level.var_5A23[param_00].var_1B12,var_03);
var_02 waittill("trigger",var_04);
var_02.origin = var_02.var_C3A2;
level.var_5A23[param_00].var_5A56 hide();
}
//Function Number: 14
func_11F6(param_00)
{
level.player endon("death");
self endon("trigger");
level waittill(param_00 + "door_peek_disabled");
lib_0E46::func_DFE3();
self.origin = self.var_C3A2;
}
//Function Number: 15
func_1202(param_00,param_01)
{
if(!param_01)
{
var_02 = level.var_5A23[param_00].var_C9FE;
var_03 = "ges_doorpeek_" + func_1297(level.var_5A23[param_00].var_5A57);
var_04 = level.var_5A23[param_00].var_59FF;
var_05 = "doorpeek_" + func_1297(level.var_5A23[param_00].var_5A57) + "_in";
}
else
{
var_02 = level.var_5A23[var_04].var_C9FF;
var_03 = "ges_doorpeek_" + func_1297(level.var_5A23[var_03].var_5A57) + "_r";
var_04 = level.var_5A23[var_02].var_5A00;
var_05 = "doorpeek_" + func_1297(level.var_5A23[param_01].var_5A57) + "_r_in";
}
var_06 = func_12AC(param_00,param_01);
if(isdefined(var_06))
{
var_03 = var_06;
}
if(!scripts\common\utility::flag(param_00 + "door_peek_handle_down"))
{
var_07 = 0.4;
level.var_5A23[param_00].var_C9FD = scripts\sp\_utility::func_10639("player_rig");
var_08 = level.player method_84C6("currentViewModel");
if(isdefined(var_08))
{
level.var_5A23[param_00].var_C9FD setmodel(var_08);
}
level.var_5A23[param_00].var_C9FD hide();
childthread func_11CE(0.2,level.var_5A23[param_00].var_C9FD);
var_04 thread lib_0B06::func_1EC3(level.var_5A23[param_00].var_C9FD,var_05);
var_09 = level.var_5A23[param_00].var_C9FD gettagorigin("tag_player");
var_0A = level.player getplayerangles(1);
var_0B = var_04.origin - var_09;
var_0C = level.player.origin - var_09;
var_0D = var_0A - var_04.angles + (0,180,0);
var_0E = var_04.origin;
var_0F = var_04.angles;
var_04 unlink();
var_04.origin = var_04.origin + var_0C;
var_10 = vectornormalize(var_04.origin - level.player.origin);
var_11 = distance(var_04.origin,level.player.origin);
var_10 = rotatevector(var_10,var_0D);
var_04.origin = level.player.origin + var_10 * var_11;
var_04.angles = var_04.angles + var_0D;
var_12 = 0.6 - var_07;
var_13 = distance(level.player.origin,var_09);
var_14 = 20;
var_15 = 40;
var_16 = 0;
if(var_13 > var_14)
{
var_16 = min(var_13 - var_14 / var_15 - var_14,1) * var_12;
}
var_17 = abs(var_0D[1]);
var_18 = 30;
var_19 = 75;
var_1A = 0;
if(var_17 > var_18)
{
var_1A = min(var_17 - var_18 / var_19 - var_18,1) * var_12;
}
var_1B = max(var_16,var_1A);
var_1C = var_07 + var_1B;
scripts\common\utility::flag_set("doorpeek_hand_on_door");
if(var_1B > 0)
{
level.player scripts\common\utility::delaycall(var_1B,::method_846F,var_03);
var_04 thread lib_0B06::func_1EC3(level.var_5A23[param_00].var_C9FD,var_05);
var_04 scripts\common\utility::func_5127(var_1B,::lib_0B06::func_1F35,level.var_5A23[param_00].var_C9FD,var_05);
if(level.var_5A23[param_00].var_5A57 != "civlever" && level.var_5A23[param_00].var_5A57 != "armoryajar")
{
level.var_5A23[param_00].var_5978 scripts\common\utility::func_5127(var_1B,::lib_0B06::func_1F35,level.var_5A23[param_00].var_5978,"doorpeek_" + func_1297(level.var_5A23[param_00].var_5A57) + "_in");
}
}
else
{
level.player method_846F(var_03);
var_04 thread lib_0B06::func_1F35(level.var_5A23[param_00].var_C9FD,var_05);
if(level.var_5A23[param_00].var_5A57 != "civlever" && level.var_5A23[param_00].var_5A57 != "armoryajar")
{
level.var_5A23[param_00].var_5978 thread lib_0B06::func_1F35(level.var_5A23[param_00].var_5978,"doorpeek_" + func_1297(level.var_5A23[param_00].var_5A57) + "_in");
}
}
level.player playerlinktoblend(level.var_5A23[param_00].var_C9FD,"tag_player",0.2,0,0);
wait(0.05);
level.var_5A23[param_00].var_C9FD linkto(var_04);
var_04 moveto(var_0E,var_1C);
var_04 rotateto(var_0F,var_1C);
level thread scripts\sp\_utility::func_C12D(param_00 + "door_peek_blend_complete",var_1C + 0.1);
level thread scripts\sp\_utility::func_C12D("door_peek_blend_complete",var_1C + 0.1);
var_04 scripts\common\utility::delaycall(var_1C + 0.05,::linkto,level.var_5A23[param_00].var_5978);
if(var_1B > 0)
{
wait(var_1B);
}
wait(var_02.var_119AB);
scripts\common\utility::flag_set(param_00 + "door_peek_handle_down");
level notify(param_00 + "door_handle_down");
level notify("door_handle_down");
}
if(!param_01)
{
level.player playerlinktodelta(level.var_5A23[param_00].var_C9FD,"tag_player",1,var_02.var_269,var_02.var_B7C1,80,20,0);
}
else
{
level.player playerlinktodelta(level.var_5A23[param_00].var_C9FD,"tag_player",1,var_02.var_B7C9,var_02.var_1B8,80,20,0);
}
if((!isdefined(level.var_5A23[param_00].var_A5AB) || level.var_5A23[param_00].var_A5AB == 0) && level.var_5A23[param_00].var_1B12 == 0)
{
thread func_1203(param_00,param_01);
}
wait(var_02.var_47A4);
level notify(param_00 + "door_intro_done");
level notify("door_intro_done");
}
//Function Number: 16
func_11CE(param_00,param_01)
{
level.player endon("death");
wait(param_00);
param_01 show();
}
//Function Number: 17
func_1203(param_00,param_01)
{
if(!param_01)
{
var_02 = level.var_5A23[param_00].var_C9FE;
}
else
{
var_02 = level.var_5A23[param_01].var_C9FF;
}
level.var_5A23[param_00].var_5A2A method_8269((0,0 - var_02.var_47A3,0),var_02.var_47A4,0,var_02.var_47A4 / 2);
level.var_5A23[param_00].var_5978 playsound("doorpeek_" + func_1299(level.var_5A23[param_00].var_5A57) + "_crack_open");
}
//Function Number: 18
func_11F5(param_00,param_01,param_02)
{
level endon(param_00 + "door_script_disabled");
if(!param_01)
{
var_03 = 1;
var_04 = level.var_5A23[param_00].var_C9FE;
var_05 = level.var_5A23[param_00].var_5A25;
}
else
{
var_03 = -1;
var_04 = level.var_5A23[param_02].var_C9FF;
var_05 = level.var_5A23[param_01].var_5A26;
}
level notify(param_00 + "door_peek_start_peek_control");
level notify("door_peek_start_peek_control");
var_06 = func_12AE(param_00);
var_07 = 0;
var_08 = 0;
var_09 = 1;
var_0A = level.var_5A23[param_00].var_5A2A.angles;
var_0B = 0;
var_0C = 0;
var_0D = 0;
var_0E = 80;
if(level.var_5A23[param_00].var_5A57 == "airlock")
{
var_0E = 90;
}
for(;;)
{
if(!param_01 && level.var_5A23[param_00].var_5A21 >= var_0E && !level.var_5A23[param_00].var_C9D4)
{
break;
}
else if(param_01 && level.var_5A23[param_00].var_5A21 <= 0 - var_0E && !level.var_5A23[param_00].var_C9D4)
{
break;
}
var_0C = 0;
var_0F = func_1296(param_00,param_01);
if(isdefined(level.var_5A23[param_00].var_72C6) && level.var_5A23[param_00].var_72C6 == 1)
{
var_0F = 1;
}
var_10 = var_0F * 1.2 * var_03;
if(var_08 == 1 && var_0F == 1)
{
var_10 = var_10 * 1.01 * scripts\sp\_utility::func_E753(var_09,0,1);
var_09 = var_09 + 0.5;
}
else
{
var_09 = 1;
}
var_10 = clamp(var_10,0 - var_04.var_B4B9,var_04.var_B4B9);
if(!level.var_5A23[param_00].var_C9D4)
{
var_11 = 0;
if(isdefined(level.var_5A23[param_00].var_B7C6))
{
var_11 = level.var_5A23[param_00].var_B7C6 - var_06;
}
if(!param_01)
{
level.var_5A23[param_00].var_5A21 = max(level.var_5A23[param_00].var_5A21 + var_10,var_11);
}
else
{
level.var_5A23[param_00].var_5A21 = min(level.var_5A23[param_00].var_5A21 + var_10,0 - var_11);
}
level.var_5A23[param_00].var_5A21 = scripts\sp\_utility::func_E753(level.var_5A23[param_00].var_5A21,1);
if(isdefined(param_02))
{
level.var_5A23[param_00].var_5A21 = min(level.var_5A23[param_00].var_5A21 + var_10,param_02);
}
}
if(level.var_5A23[param_00].var_5A21 != var_07)
{
var_0C = 1;
if(var_0B == 0)
{
level.var_5A23[param_00].var_5978 playsound("doorpeek_" + func_1299(level.var_5A23[param_00].var_5A57) + "_move_start");
level.var_5A23[param_00].var_5978 playloopsound("doorpeek_" + func_1299(level.var_5A23[param_00].var_5A57) + "_move_loop");
}
level.var_5A23[param_00].var_5A2A rotateto(var_0A + (0,0 - level.var_5A23[param_00].var_5A21,0),0.1,0,0);
if(!param_01)
{
var_12 = clamp(level.var_5A23[param_00].var_5A21 / var_04.var_B481,0,1) * var_04.var_B4AA - var_04.var_B7C1 + var_04.var_B7C1;
level.player playerlinktodelta(level.var_5A23[param_00].var_C9FD,"tag_player",1,var_04.var_269,var_12,80,20,0);
}
else
{
var_13 = clamp(-1 * level.var_5A23[param_00].var_5A21 / var_04.var_B481,0,1) * var_04.var_B4C1 - var_04.var_B7C9 + var_04.var_B7C9;
level.player playerlinktodelta(level.var_5A23[param_00].var_C9FD,"tag_player",1,var_13,var_04.var_1B8,80,20,0);
}
if(isdefined(param_02) && level.var_5A23[param_00].var_5A21 == param_02)
{
wait(0.1);
level.var_5A23[param_00].var_5978 playsound("doorpeek_" + func_1299(level.var_5A23[param_00].var_5A57) + "_blocked");
level notify(param_00 + "door_peek_blocked");
level notify("door_peek_blocked");
}
if(level.var_5A23[param_00].var_5A57 == "airlock" && var_0D == 0 && level.var_5A23[param_00].var_5A21 >= 64)
{
var_0D = 1;
level notify(param_00 + "door_peek_airlock_ally_move");
level notify("door_peek_airlock_ally_move");
}
}
else if(var_0B)
{
level.var_5A23[param_00].var_5978 stoploopsound("doorpeek_" + func_1299(level.var_5A23[param_00].var_5A57) + "_move_loop");
level.var_5A23[param_00].var_5978 playsound("doorpeek_" + func_1299(level.var_5A23[param_00].var_5A57) + "_move_stop");
}
var_07 = level.var_5A23[param_00].var_5A21;
var_08 = var_0F;
var_0B = var_0C;
wait(0.05);
}
}
//Function Number: 19
func_1210(param_00,param_01)
{
func_13C9("open");
if(!param_01)
{
var_02 = level.var_5A23[param_00].var_74C0;
}
else
{
var_02 = level.var_5A23[param_01].var_74C1;
}
var_03 = 0.15;
level.var_5A23[param_00].var_5A2A rotateto(level.var_5A23[param_00].var_5A24 + (0,var_02,0),var_03,0,0);
level.var_5A23[param_00].var_5A2A scripts\common\utility::delaycall(var_03 + 0.05,::delete);
level.var_5A23[param_00].var_5A03 connectpaths();
level.var_5A23[param_00].var_5A03 scripts\common\utility::delaycall(var_03 + 0.05,::disconnectpaths);
level.var_5A23[param_00].var_5978 playsound("doorpeek_" + func_1299(level.var_5A23[param_00].var_5A57) + "_swing_open");
level.var_5A23[param_00].var_5978 scripts\common\utility::delaycall(var_03,::playsound,"doorpeek_" + func_1299(level.var_5A23[param_00].var_5A57) + "_hit_wall");
level thread scripts\sp\_utility::func_C12D(param_00 + "door_peek_finished",var_03 + 0.05);
level thread scripts\sp\_utility::func_C12D("door_peek_finished",var_03 + 0.05);
level notify(param_00 + "door_peek_opened_fully");
if(isdefined(level.var_5A1C))
{
level.var_5A23[param_00].var_C9FD delete();
level.var_5A23[param_00].var_59FF delete();
level.var_5A23[param_00].var_5A2A delete();
return;
}
thread func_11F9(param_00,level.var_5A23[param_00].var_5978,param_01,0,1);
}
//Function Number: 20
func_11F7(param_00,param_01,param_02,param_03)
{
level.player endon("death");
level endon(param_00.var_336 + "door_peek_start");
if(!isdefined(param_03))
{
param_03 = 0;
}
if(!param_01)
{
var_04 = level.var_5A23[param_00.var_336].var_5A25;
}
else
{
var_04 = level.var_5A23[param_01.var_336].var_5A26;
}
var_05 = var_04.angles;
if(!param_01)
{
var_05 = var_05 - (0,param_02,0);
}
else
{
var_05 = var_05 + (0,param_02,0);
}
var_06 = anglestoforward(var_05);
var_07 = anglestoright(var_05);
var_08 = anglestoup(var_05);
var_09 = self.var_C3A2 + var_07 * level.var_5A23[param_00.var_336].var_5A58 * 0.5;
self unlink();
for(;;)
{
wait(0.05);
var_0A = distance2d(level.player.origin,var_09);
var_0B = abs(clamp(var_0A / 100,0,1) - 1);
if(var_0B > 0)
{
var_0C = level.player geteye();
var_0D = level.player getplayerangles();
var_0E = anglestoforward(var_0D);
if(vectordot(var_0E,var_06) < 0)
{
continue;
}
var_0F = lib_0B4D::func_ACE9(var_0C,var_0C + var_0E * 64,self.var_C3A2,var_06);
var_10 = vectornormalize(var_0F - self.var_C3A2);
var_0F = self.var_C3A2 + var_10 * distance(var_0F,self.var_C3A2) * 0.75 * var_0B;
if(distance(var_0F,self.var_C3A2) > 32)
{
var_0F = self.var_C3A2 + var_10 * 32;
}
var_11 = vectorcross(var_06,var_10);
var_12 = 0;
if(!param_01 && vectordot(var_11,var_08) > 0 && !param_03)
{
var_12 = 1;
}
else if(param_01 && vectordot(var_11,var_08) < 0 && !param_03)
{
var_12 = 1;
}
if(var_12)
{
var_13 = vectordot(var_10,var_08);
var_14 = distance(var_0F,self.var_C3A2) * var_13;
var_0F = self.var_C3A2 + var_08 * var_14;
}
self.origin = var_0F;
continue;
}
if(self.origin != self.var_C3A2)
{
self.origin = self.var_C3A2;
}
}
}
//Function Number: 21
func_11FE(param_00,param_01)
{
level.player endon("death");
level endon(param_00 + "door_peek_kick");
level endon(param_00 + "door_peek_detach");
for(;;)
{
level.player waittill("grenade_pullback");
func_13C9("grenade");
func_116C(param_00,param_01,0);
level.player waittill("grenade_fire");
wait(0.3);
func_116C(param_00,param_01,1);
wait(0.05);
}
}
//Function Number: 22
func_120A(param_00,param_01)
{
level.player endon("death");
level endon(param_00 + "door_peek_kick");
level endon(param_00 + "door_peek_detach");
var_02 = 0;
for(;;)
{
if(level.player method_81B8() && !var_02 && !level.player method_819C())
{
func_116C(param_00,param_01,0);
var_02 = 1;
}
else if(!level.player method_81B8() && var_02)
{
func_116C(param_00,param_01,1);
var_02 = 0;
}
wait(0.05);
}
}
//Function Number: 23
func_116C(param_00,param_01,param_02)
{
if(!isdefined(level.var_5A23[param_00].var_C9FD))
{
return;
}
if(param_02)
{
if(!isdefined(level.var_5A23[param_00].var_5A22))
{
level.var_5A23[param_00].var_5A22 = 0;
}
level.var_5A23[param_00].var_5A22--;
if(!level.var_5A23[param_00].var_5A22)
{
thread func_C9E8(param_00,param_01,param_02);
return;
}
return;
}
if(!isdefined(level.var_5A23[param_00].var_5A22))
{
level.var_5A23[param_00].var_5A22 = 0;
}
level.var_5A23[param_00].var_5A22++;
if(level.var_5A23[param_00].var_5A22 == 1)
{
thread func_C9E7(param_00,param_01,param_02);
}
}
//Function Number: 24
func_C9E8(param_00,param_01,param_02)
{
level endon(param_00 + "door_peek_kick");
level endon(param_00 + "door_peek_detach");
level notify("peek_arm_on");
level endon("peek_arm_on");
scripts\common\utility::func_6E5A("stopping_doorpeek_gesture");
level.player method_846F("ges_drophand");
if(!param_01)
{
var_03 = level.var_5A23[param_00].var_59FF;
var_04 = "doorpeek_" + func_1297(level.var_5A23[param_00].var_5A57) + "_backon";
}
else
{
var_03 = level.var_5A23[param_02].var_5A00;
var_04 = "doorpeek_" + func_1297(level.var_5A23[param_01].var_5A57) + "_r_backon";
}
childthread func_136C(var_03,param_00,var_04);
}
//Function Number: 25
func_C9E7(param_00,param_01,param_02)
{
level endon(param_00 + "door_peek_kick");
level endon(param_00 + "door_peek_detach");
level notify("peek_arm_off");
level endon("peek_arm_off");
level.player notify("door_peek_hand_off");
scripts\common\utility::func_6E2A("doorpeek_hand_on_door");
level.var_5A23[param_00].var_C9FD hide();
childthread func_1415();
}
//Function Number: 26
func_136C(param_00,param_01,param_02)
{
level.player endon("door_peek_hand_off");
wait(0.3);
scripts\common\utility::flag_set("doorpeek_hand_on_door");
level.var_5A23[param_01].var_C9FD show();
param_00 lib_0B06::func_1F35(level.var_5A23[param_01].var_C9FD,param_02);
}
//Function Number: 27
func_1415()
{
scripts\common\utility::flag_set("stopping_doorpeek_gesture");
var_00 = 0.1;
level.player stopgestureviewmodel("ges_doorpeek_bulkhead",var_00);
level.player stopgestureviewmodel("ges_doorpeek_airlock",var_00);
level.player stopgestureviewmodel("ges_doorpeek_civlever",var_00);
level.player stopgestureviewmodel("ges_doorpeek_civlever_r",var_00);
level.player stopgestureviewmodel("ges_drophand",var_00);
wait(var_00 + 0.25);
scripts\common\utility::func_6E2A("stopping_doorpeek_gesture");
}
//Function Number: 28
func_120B(param_00,param_01,param_02)
{
var_03 = param_00.var_EE52;
var_04 = undefined;
var_05 = undefined;
for(;;)
{
var_04 = var_05;
var_06 = func_11FC(param_00);
var_05 = func_11FD(param_00);
var_07 = 0;
var_08 = 0;
if(!isdefined(var_05) && isdefined(var_04))
{
if(!param_01 && var_04)
{
var_07 = 1;
}
}
if(isdefined(var_05) && isdefined(var_04) && var_05 != var_04)
{
if((!param_01 && var_05) || param_01 && !var_05)
{
var_07 = 1;
}
}
if(!var_07 && isdefined(var_06))
{
var_08 = 1;
if(!param_01 && var_06 && !isdefined(level.var_5A23[param_00.var_336].var_C9FF))
{
wait(0.05);
continue;
}
var_09 = 50;
var_0A = level.player getnormalizedmovement();
var_0B = vectornormalize((var_0A[0],0 - var_0A[1],0));
var_0C = vectortoangles(var_0B);
var_0D = level.player getplayerangles(1);
var_0E = combineangles(var_0D,var_0C);
var_0F = anglestoforward(var_0E);
if(!var_06)
{
var_10 = anglestoforward(level.var_5A23[param_00.var_336].var_5A25.angles);
if(acos(clamp(vectordot(var_10,var_0F),-1,1)) > var_09)
{
var_08 = 0;
}
}
else
{
var_10 = anglestoforward(level.var_5A23[param_01.var_336].var_5A25.angles + (0,180,0));
if(acos(clamp(vectordot(var_10,var_0F),-1,1)) > var_09)
{
var_08 = 0;
}
}
}
if(var_07 || var_08)
{
if(var_07)
{
var_06 = 0;
}
var_11 = 360;
if(!var_06)
{
var_12 = level.var_5A23[param_00.var_336].var_74C0;
}
else
{
var_12 = level.var_5A23[param_00.var_336].var_74C1;
}
var_13 = anglestoforward(level.var_5A23[param_00.var_336].var_5A2A.angles);
var_14 = anglestoforward(level.var_5A23[param_00.var_336].var_5A24 + (0,var_12,0));
param_02 connectpaths();
var_15 = "ges_doorpeek_bash";
var_16 = func_12AB(param_00.var_336,var_06);
if(isdefined(var_16))
{
var_15 = var_16;
}
level.player playgestureviewmodel(var_15);
param_00 playsound("doorpeek_" + func_1299(var_03) + "_bash");
level notify(param_00.var_336 + "door_peek_bash_open");
level notify("door_peek_bash_open");
if(param_01 != var_06)
{
var_17 = anglestoforward(level.var_5A23[param_00.var_336].var_5A24);
var_18 = acos(clamp(vectordot(var_13,var_17),-1,1));
var_19 = acos(clamp(vectordot(var_14,var_17),-1,1));
var_1A = var_18 / var_11;
var_1B = var_19 / var_11;
level.var_5A23[param_00.var_336].var_5A2A rotateto(level.var_5A23[param_00.var_336].var_5A24,var_1A,0,0);
wait(var_1A);
level.var_5A23[param_00.var_336].var_5A2A rotateto(level.var_5A23[param_00.var_336].var_5A24 + (0,var_12,0),var_1B,0,0);
wait(var_1B);
}
else
{
var_1C = acos(clamp(vectordot(var_13,var_14),-1,1));
var_1D = var_1C / var_11;
level.var_5A23[param_00.var_336].var_5A2A rotateto(level.var_5A23[param_00.var_336].var_5A24 + (0,var_12,0),var_1D,0,0);
wait(var_1D);
}
wait(0.05);
param_02 disconnectpaths();
level.var_5A23[param_00.var_336].var_5A2A delete();
level notify(param_00.var_336 + "door_peek_finished");
level notify("door_peek_finished");
break;
}
wait(0.05);
}
}
//Function Number: 29
func_11FC(param_00)
{
var_01 = level.var_5A23[param_00.var_336].var_5A25;
var_02 = anglestoforward(level.var_5A23[param_00.var_336].var_5A2A.angles);
var_03 = -1 * anglestoright(level.var_5A23[param_00.var_336].var_5A2A.angles);
var_04 = level.player.origin - var_01.origin;
var_05 = vectornormalize(var_04);
var_06 = level.var_5A23[param_00.var_336].var_5A58 + 8;
var_07 = 48;
if(distance(level.player.origin,var_01.origin) > var_06 + var_07)
{
return undefined;
}
if(vectordot(var_04,var_02) < 0)
{
var_08 = 0;
}
else
{
var_08 = 1;
}
if(!var_08)
{
var_09 = vectordot(var_05,var_03);
if(var_09 <= 0)
{
return undefined;
}
var_0A = abs(length(var_04) * var_09);
if(var_0A > var_06)
{
return undefined;
}
var_0B = -1 * var_02;
var_09 = vectordot(var_05,var_0B);
var_0A = abs(length(var_04) * var_09);
if(var_0A > var_07)
{
return undefined;
}
}
else
{
var_09 = vectordot(var_07,var_05);
if(var_0A <= 0)
{
return undefined;
}
var_0A = abs(length(var_05) * var_0A);
if(var_0A > var_06)
{
return undefined;
}
var_09 = vectordot(var_05,var_02);
var_0A = abs(length(var_04) * var_09);
if(var_0A > var_07)
{
return undefined;
}
}
return var_08;
}
//Function Number: 30
func_12F4(param_00)
{
var_01 = scripts\common\utility::getstructarray("door_peek_struct","script_noteworthy");
var_02 = [];
foreach(var_04 in var_01)
{
var_02[var_02.size] = var_04.var_336;
}
var_06 = undefined;
var_07 = undefined;
foreach(var_09 in var_02)
{
if(!isdefined(level.var_5A23[var_09]) || !isdefined(level.var_5A23[var_09].var_5A25))
{
continue;
}
var_0A = distance(level.player.origin,level.var_5A23[var_09].var_5A25.origin);
if(!isdefined(var_06) || var_0A < var_06)
{
var_06 = var_0A;
var_07 = var_09;
}
}
if(var_07 == param_00)
{
return 1;
}
return 0;
}
//Function Number: 31
func_11FD(param_00)
{
var_01 = undefined;
foreach(var_03 in scripts\common\utility::getstructarray("door_peek_struct","script_noteworthy"))
{
if(var_03.var_336 == param_00.var_336)
{
var_01 = var_03;
break;
}
}
var_05 = param_00.var_336;
var_06 = level.var_5A23[var_05].var_C9FE;
var_07 = anglestoforward(level.var_5A23[param_00.var_336].var_5A25.angles);
var_08 = -1 * anglestoright(level.var_5A23[param_00.var_336].var_5A25.angles);
var_09 = level.var_5A23[param_00.var_336].var_5A25.origin + var_07 * var_06.var_11782 * -0.5;
var_0A = level.player.origin - var_09;
var_0B = vectornormalize(var_0A);
var_0C = level.var_5A23[var_05].var_5A58 + 8;
var_0D = 48;
if(distance(level.player.origin,var_09) > var_0C + var_0D)
{
return undefined;
}
if(vectordot(var_0A,var_07) < 0)
{
var_0E = 0;
}
else
{
var_0E = 1;
}
if(!var_0E)
{
var_0F = vectordot(var_0B,var_08);
if(var_0F <= 0)
{
return undefined;
}
var_10 = abs(length(var_0A) * var_0F);
if(var_10 > var_0C)
{
return undefined;
}
var_11 = -1 * var_07;
var_0F = vectordot(var_0B,var_11);
var_10 = abs(length(var_0A) * var_0F);
if(var_10 > var_0D)
{
return undefined;
}
}
else
{
var_0F = vectordot(var_0D,var_0A);
if(var_10 <= 0)
{
return undefined;
}
var_10 = abs(length(var_0B) * var_10);
if(var_10 > var_0C)
{
return undefined;
}
var_0F = vectordot(var_0B,var_07);
var_10 = abs(length(var_0A) * var_0F);
if(var_10 > var_0D)
{
return undefined;
}
}
return var_0E;
}
//Function Number: 32
func_11F9(param_00,param_01,param_02,param_03,param_04,param_05)
{
level.player endon("death");
var_06 = param_01.var_EE52;
if(!isdefined(param_03))
{
param_03 = 0;
}
var_07 = 0.2;
if(!param_02)
{
level.player scripts\common\utility::delaycall(var_07,::stopgestureviewmodel,"ges_doorpeek_" + func_1297(var_06));
}
else
{
level.player scripts\common\utility::delaycall(var_07,::stopgestureviewmodel,"ges_doorpeek_" + func_1297(var_06) + "_r");
}
level.player scripts\common\utility::delaycall(var_07,::stopgestureviewmodel,"ges_drophand");
level.player scripts\common\utility::delaycall(var_07,::stopgestureviewmodel,"ges_doorpeek_civlever_r");
param_01 stoploopsound("doorpeek_" + func_1299(var_06) + "_move_loop");
level notify(param_00 + "door_peek_start_detach");
level notify("door_peek_start_detach");
var_08 = undefined;
if(!param_03)
{
var_08 = level.player scripts\common\utility::spawn_tag_origin();
level.player playerlinktodelta(var_08,"tag_origin",1,90,90,90,90,0);
}
func_1200();
var_09 = level.var_5A23[param_00].var_C9FD gettagangles("tag_player");
var_0A = level.player getplayerangles();
level.var_5A23[param_00].var_C9FD delete();
level notify(param_00 + "door_peek_detach");
if(!param_03)
{
if(scripts\common\utility::flag("doorpeek_hand_on_door"))
{
var_0B = level.player getplayerangles(1);
var_0C = scripts\sp\_utility::func_10639("player_rig",level.player.origin,var_0B);
var_0D = level.player method_84C6("currentViewModel");
if(isdefined(var_0D))
{
var_0C setmodel(var_0D);
}
var_0E = (0,0,0);
var_0F = (var_09[0] - var_0A[0],var_09[1] - var_0A[1],0);
var_0C method_81E2(level.player,"tag_origin",(0,0,0) + var_0E,var_0F,0);
if(!param_02)
{
var_0C thread lib_0B06::func_1F35(var_0C,"doorpeek_" + func_1297(var_06) + "_out");
}
else
{
var_0C thread lib_0B06::func_1F35(var_0C,"doorpeek_" + func_1297(var_06) + "_r_out");
}
var_0C scripts\common\utility::delaycall(0.2,::delete);
}
var_10 = func_12A1(param_00,param_02);
var_11 = 0.2;
var_08 moveto(var_10,var_11,var_11 / 2,0);
if(param_01.var_EE52 == "airlock")
{
level.player scripts\sp\_utility::func_2B76(0);
}
level.player method_80D8(0.4,0.4);
wait(var_11);
wait(0.05);
level.player unlink();
if(param_01.var_EE52 == "airlock")
{
level.player scripts\sp\_utility::func_2B76(0.25,0.5);
level.player scripts\common\utility::func_5127(0.5,::scripts\sp\_utility::func_2B76,1,0.7);
}
level.player method_80D8(0.6,0.6);
level.player scripts\common\utility::delaycall(0.5,::method_80A6);
}
if(!isdefined(param_04) || param_04 == 0)
{
level.var_5A23[param_00].var_5A2A delete();
}
if(!isdefined(param_05) || param_05 == 0)
{
level.var_5A23[param_00].var_59FF delete();
if(isdefined(level.var_5A23[param_00].var_A5A9))
{
level.var_5A23[param_00].var_A5A9 delete();
}
if(isdefined(level.var_5A23[param_00].var_A5AA))
{
level.var_5A23[param_00].var_A5AA delete();
}
}
level.player.var_5966 = undefined;
}
//Function Number: 33
func_11D6(param_00,param_01,param_02)
{
var_03 = level.player scripts\common\utility::spawn_tag_origin();
level.player playerlinktodelta(var_03,"tag_origin",1,90,90,90,90,0);
var_04 = level.player getplayerangles();
if(!isdefined(param_02) || !param_02)
{
if(isdefined(level.var_5A23[param_00].var_C9FD))
{
level.var_5A23[param_00].var_C9FD delete();
}
}
else if(isdefined(level.var_5A23[param_00].var_A5AE))
{
level.var_5A23[param_00].var_A5AE delete();
}
var_05 = func_12A1(param_00,param_01);
var_03.origin = var_05;
wait(0.05);
level.player unlink();
var_03 delete();
}
//Function Number: 34
func_12A1(param_00,param_01)
{
var_02 = level.var_5A23[param_00].var_5978;
var_03 = 12;
var_04 = 17;
if(!param_01)
{
var_05 = anglestoforward(level.var_5A23[param_00].var_5A25.angles);
var_06 = anglestoforward(level.var_5A23[param_00].var_59FF.angles) * -1;
var_07 = func_794C(param_00);
var_08 = level.var_5A23[param_00].var_59FF.origin - level.var_5A23[param_00].var_5A25.origin;
var_09 = rotatevector(var_08,(0,var_07,0));
var_0A = level.var_5A23[param_00].var_5A25.origin + var_09;
var_0B = anglestoright(level.var_5A23[param_00].var_5A25.angles);
var_0C = anglestoright(level.var_5A23[param_00].var_59FF.angles) * -1;
}
else
{
var_0D = -1;
var_05 = anglestoforward(level.var_5A23[param_00].var_5A26.angles);
var_06 = anglestoforward(level.var_5A23[param_00].var_5A00.angles) * -1;
var_07 = func_794C(param_00) * -1;
var_08 = level.var_5A23[param_00].var_5A00.origin - level.var_5A23[param_00].var_5A26.origin;
var_09 = rotatevector(var_08,(0,var_07,0));
var_0A = level.var_5A23[param_00].var_5A26.origin + var_09;
var_0B = anglestoright(level.var_5A23[param_00].var_5A26.angles) * -1;
var_0C = anglestoright(level.var_5A23[param_00].var_5A00.angles) * -1;
}
var_0E = 0.2;
var_0F = level.player.origin + var_06 * var_03 * -1;
var_10 = var_0F - var_0A;
var_10 = scripts\common\utility::func_6EE6(var_10) * length2d(var_10);
var_11 = vectordot(var_0B,var_10);
if(var_11 < var_04)
{
var_12 = var_04 - var_11;
var_13 = vectordot(var_0B,var_0C);
var_14 = var_12 / var_13;
var_0F = var_0F + var_0C * var_14;
}
var_15 = scripts\common\trace::func_DCED(var_0F + (0,0,32),var_0F + (0,0,-100),undefined,scripts\common\trace::func_4956(1));
var_16 = max(level.var_5A23[param_00].var_5A25.origin[2],var_15["position"][2]);
var_0F = (var_0F[0],var_0F[1],var_16);
return var_0F;
}
//Function Number: 35
func_120D(param_00,param_01,param_02)
{
level.player endon("death");
level endon(param_00 + "door_peek_kick");
level endon(param_00 + "door_peek_detach");
for(;;)
{
if(level.player method_819F())
{
break;
}
wait(0.05);
}
level notify(param_00 + "door_peek_alert_enemies");
level notify("door_peek_alert_enemies");
level notify(param_00 + "door_peek_shoot");
}
//Function Number: 36
func_11EA(param_00,param_01,param_02,param_03,param_04)
{
level.player endon("death");
level endon(param_00 + "door_peek_kick");
level endon(param_00 + "door_peek_opened_fully");
level endon(param_00 + "door_peek_sprint");
level endon(param_00 + "door_peek_pop_open");
if(isdefined(level.var_5A23[param_00].var_55B2) && level.var_5A23[param_00].var_55B2)
{
return;
}
level waittill(param_00 + "door_peek_start_peek_control");
var_05 = 0;
var_06 = 0;
for(;;)
{
var_07 = func_1296(param_00,param_02);
if(var_05 < -0.5 && var_07 < -0.5)
{
var_06++;
}
else
{
var_06 = 0;
}
if(var_06 >= 2)
{
break;
}
var_05 = var_07;
wait(0.05);
}
level notify(param_00 + "door_peek_back_off");
level notify("door_peek_back_off");
var_08 = 70;
var_09 = level.var_5A23[param_00].var_5A57;
if(var_09 == "airlock" || var_09 == "airlocksdf" || var_09 == "airlockcombat" || var_09 == "airlockcombatsdf")
{
var_08 = 60;
}
if(func_794C(param_00) < var_08)
{
thread func_11F9(param_00,param_01,param_02,0,1);
thread func_120B(param_01,param_02,param_03);
return;
}
thread func_1210(param_00,param_02);
}
//Function Number: 37
func_1209(param_00,param_01,param_02,param_03)
{
level.player endon("death");
level endon(param_00 + "door_peek_kick");
level endon(param_00 + "door_peek_opened_fully");
level endon(param_00 + "door_peek_back_off");
if(isdefined(level.var_5A23[param_00].var_560A) && level.var_5A23[param_00].var_560A)
{
return;
}
level waittill(param_00 + "door_peek_start_peek_control");
for(;;)
{
if(!param_02 && level.var_5A23[param_00].var_5A21 >= 28)
{
break;
}
else if(param_02 && level.var_5A23[param_00].var_5A21 <= -28)
{
break;
}
wait(0.05);
}
var_04 = 112;
var_05 = 100;
var_06 = 0;
for(;;)
{
var_07 = 0;
var_08 = level.player getnormalizedmovement();
if(var_08[0] <= 0.5 && var_08[1] <= 0.5)
{
wait(0.05);
continue;
}
var_09 = vectornormalize((var_08[0],0 - var_08[1],0));
var_0A = vectortoangles(var_09);
var_0B = level.player getplayerangles(1);
var_0C = combineangles(var_0B,var_0A);
var_0D = anglestoforward(var_0C);
var_0E = level.player getplayerangles(1);
var_0F = anglestoforward(var_0E);
if(!param_02)
{
var_10 = anglestoforward(level.var_5A23[param_00].var_59FF.angles + (0,180,0));
}
else
{
var_10 = anglestoforward(level.var_5A23[param_00].var_5A00.angles + (0,180,0));
}
var_11 = acos(clamp(vectordot(var_10,var_0F),-1,1));
if(var_11 >= var_04)
{
var_12 = acos(clamp(vectordot(var_10,var_0D),-1,1));
if(var_11 >= var_05)
{
var_06++;
}
}
else
{
var_06 = 0;
}
if(var_06 >= 1)
{
break;
}
wait(0.05);
}
if(isdefined(level.var_5A23[param_00].var_560A) && level.var_5A23[param_00].var_560A)
{
return;
}
level notify(param_00 + "door_peek_pop_open");
thread func_1210(param_00,param_02);
}
//Function Number: 38
func_120F(param_00,param_01,param_02,param_03)
{
level endon(param_00 + "door_peek_kick");
level endon(param_00 + "door_peek_opened_fully");
level endon(param_00 + "door_peek_back_off");
level waittill(param_00 + "door_peek_start_peek_control");
for(;;)
{
if(level.player method_81BD())
{
break;
}
wait(0.05);
}
level notify(param_00 + "door_peek_sprint");
thread func_1210(param_00,param_02);
}
//Function Number: 39
func_1296(param_00,param_01)
{
var_02 = level.player getnormalizedmovement();
var_03 = level.var_5A23[param_00].var_5978;
if(!param_01)
{
var_04 = anglestoforward(level.var_5A23[param_00].var_5A25.angles);
var_05 = anglestoforward(level.var_5A23[param_00].var_59FF.angles) * -1;
}
else
{
var_04 = anglestoforward(level.var_5A23[var_02].var_5A26.angles);
var_05 = anglestoforward(level.var_5A23[param_01].var_5A00.angles) * -1;
}
var_06 = 0;
var_07 = vectornormalize((var_02[0],0 - var_02[1],0));
var_08 = vectortoangles(var_07);
var_09 = level.player getplayerangles(1);
var_0A = combineangles(var_09,var_08);
var_0B = anglestoforward(var_0A);
var_0C = level.player getplayerangles(1);
var_0D = anglestoforward(var_0C);
var_0E = level.player geteye() + (0,0,-6) + 16 * anglestoforward(level.player.angles);
var_0F = min(1,sqrt(squared(var_02[0]) + squared(var_02[1])));
if(var_0F <= 0.1)
{
return 0;
}
if(var_0F >= 0.95)
{
var_0F = 1;
}
var_10 = acos(clamp(vectordot(var_0B,var_04),-1,1));
var_11 = acos(clamp(vectordot(var_0B,var_0D),-1,1));
var_12 = acos(clamp(vectordot(var_0B,var_05),-1,1));
var_13 = func_54E3(var_0B,var_05,var_0D);
var_14 = 0.25;
var_15 = 20;
var_16 = 90;
if(var_10 < 90 || var_13 || var_12 < 90)
{
var_17 = 1;
if(var_13)
{
}
else
{
var_18 = min(var_10,var_11);
var_18 = min(var_18,var_12);
if(var_18 > var_15)
{
if(var_18 <= var_16)
{
var_19 = var_18 - var_15;
var_17 = 1 - 1 - var_14 * var_19 / var_16 - var_15;
}
else
{
var_17 = 0;
}
}
}
var_1A = min(var_0F,var_17);
return var_1A;
}
var_17 = 1;
var_1A = min(var_10,var_1A) * -1;
return var_1A;
}
//Function Number: 40
func_54E3(param_00,param_01,param_02)
{
var_03 = acos(clamp(vectordot(param_01,param_02),-1,1));
var_04 = acos(clamp(vectordot(param_00,param_01),-1,1));
var_05 = acos(clamp(vectordot(param_00,param_02),-1,1));
var_06 = 1;
if(abs(var_04 + var_05 - var_03) <= var_06)
{
return 1;
}
return 0;
}
//Function Number: 41
func_59BE(param_00,param_01,param_02,param_03)
{
level.player endon("death");
if(!isdefined(param_01))
{
param_01 = 0;
}
if(param_01)
{
level endon(param_00 + "door_peek_main_side_used");
}
else
{
level endon(param_00 + "door_peek_reverse_side_used");
}
level endon(param_00 + "door_peek_deleted");
level endon(param_00 + "door_peek_start_detach");
level endon(param_00 + "door_peek_restarted");
if(!scripts\common\utility::func_6E34(param_00 + "door_peek_can_kick"))
{
scripts\common\utility::flag_init(param_00 + "door_peek_can_kick");
}
if(!scripts\common\utility::func_6E34(param_00 + "door_peek_handle_down"))
{
scripts\common\utility::flag_init(param_00 + "door_peek_handle_down");
}
if(!scripts\common\utility::func_6E34(param_00 + "did_kick_interrupt_input"))
{
scripts\common\utility::flag_init(param_00 + "did_kick_interrupt_input");
}
var_04 = getentarray(param_00,"targetname");
var_04 = scripts\common\utility::array_combine(var_04,scripts\common\utility::getstructarray(param_00,"targetname"));
var_05 = func_12A6(var_04,"door_peek_door");
var_06 = var_05.var_EE52;
var_07 = 0;
if(var_06 == "airlock")
{
var_07 = 1;
}
func_59D5(param_00,1);
if(var_06 == "airlock" || var_06 == "airlockcombat")
{
var_05 scripts\sp\_dooruse::func_1AB6("unlocked");
}
thread func_1211(param_00,param_01,param_02,var_07);
var_08 = 1;
if(isdefined(param_03) && param_03 == 1)
{
var_08 = 0;
}
level waittill(param_00 + "door_peek_start");
while(level.player usebuttonpressed())
{
wait(0.05);
}
if(var_06 == "airlock")
{
func_1159(1,param_00);
}
else
{
func_1159(0,param_00);
}
thread func_1414(param_00);
if(var_08)
{
for(;;)
{
scripts\common\utility::func_6E2A(param_00 + "did_kick_interrupt_input");
thread func_11F1(param_00);
scripts\common\utility::flag_wait(param_00 + "did_kick_interrupt_input");
if(isdefined(level.var_5A23[param_00].var_55F5) && level.var_5A23[param_00].var_55F5)
{
return;
}
level notify(param_00 + "remove_hint_text");
level.var_5A23[param_00].var_A5AB = 1;
scripts\common\utility::flag_wait(param_00 + "door_peek_can_kick");
level notify(param_00 + "door_peek_kick");
level notify("door_peek_kick");
thread func_59A4();
scripts\common\utility::func_136F7();
if(var_06 != "airlock")
{
thread func_11F0(param_00,param_01);
}
else
{
thread func_11ED(param_00);
}
if(var_07)
{
level waittill(param_00 + "door_kick_multi_kick_ready");
func_1159(1,param_00);
thread func_1414(param_00);
continue;
}
break;
}
}
}
//Function Number: 42
func_59D5(param_00,param_01)
{
var_02 = func_794D(param_00);
var_03 = var_02.model;
if(param_01)
{
if(scripts\sp\_utility::func_8C32(var_03,"tag_locked"))
{
var_02 method_8187("tag_locked",var_03);
}
if(scripts\sp\_utility::func_8C32(var_03,"tag_unlocked"))
{
var_02 method_8387("tag_unlocked",var_03);
}
if(scripts\sp\_utility::func_8C32(var_03,"door_locked"))
{
var_02 method_8187("door_locked",var_03);
}
if(scripts\sp\_utility::func_8C32(var_03,"door_unlocked"))
{
var_02 method_8387("door_unlocked",var_03);
}
if(scripts\sp\_utility::func_8C32(var_03,"door_inactive"))
{
var_02 method_8187("door_inactive",var_03);
return;
}
return;
}
if(scripts\sp\_utility::func_8C32(var_03,"tag_locked"))
{
var_02 method_8387("tag_locked",var_03);
}
if(scripts\sp\_utility::func_8C32(var_03,"tag_unlocked"))
{
var_02 method_8187("tag_unlocked",var_03);
}
if(scripts\sp\_utility::func_8C32(var_03,"door_locked"))
{
var_02 method_8387("door_locked",var_03);
}
if(scripts\sp\_utility::func_8C32(var_03,"door_unlocked"))
{
var_02 method_8187("door_unlocked",var_03);
}
if(scripts\sp\_utility::func_8C32(var_03,"door_inactive"))
{
var_02 method_8187("door_inactive",var_03);
}
}
//Function Number: 43
func_59A4()
{
wait(0.75);
level.player playrumbleonentity("grenade_rumble");
earthquake(0.35,0.75,level.player.origin,200);
lib_0F18::func_10E8A("broadcast","attack",level.player geteye(),800);
}
//Function Number: 44
func_1159(param_00,param_01)
{
if(isdefined(level.var_5A23[param_01].var_C067))
{
return;
}
scripts\common\utility::flag_set("show_peek_hint");
if(isdefined(level.var_5A23[param_01].var_C9F9))
{
if(level.console || level.player usinggamepad())
{
scripts\sp\_utility::func_56BA("peek_only_hint");
return;
}
scripts\sp\_utility::func_56BA("peek_only_hint_pc");
return;
}
if(!isdefined(param_00) || param_00 == 0)
{
if(level.console || level.player usinggamepad())
{
scripts\sp\_utility::func_56BA("peek_hint");
return;
}
scripts\sp\_utility::func_56BA("peek_hint_pc");
return;
}
if(level.console || level.player usinggamepad())
{
scripts\sp\_utility::func_56BA("peek_hint_shove");
return;
}
scripts\sp\_utility::func_56BA("peek_hint_shove_pc");
}
//Function Number: 45
func_1414(param_00)
{
level scripts\common\utility::waittill_any_3(param_00 + "door_peek_start_detach",param_00 + "remove_hint_text");
scripts\common\utility::func_6E2A("show_peek_hint");
}
//Function Number: 46
func_794C(param_00)
{
if(!isdefined(level.var_5A23[param_00]))
{
return 0;
}
else if(!isdefined(level.var_5A23[param_00].var_5A2A))
{
return 180;
}
var_01 = func_12AE(param_00);
return var_01;
}
//Function Number: 47
func_59C9(param_00)
{
level.var_5A23[param_00].var_72C6 = 1;
}
//Function Number: 48
func_F366(param_00,param_01)
{
level.var_5A23[param_00].var_B7C6 = param_01;
}
//Function Number: 49
func_551D(param_00)
{
level notify(param_00 + "door_peek_disabled");
}
//Function Number: 50
func_12AE(param_00)
{
var_01 = abs(level.var_5A23[param_00].var_5A2A.angles[1] - level.var_5A23[param_00].var_5A24[1]);
if(var_01 > 180)
{
var_01 = 360 - var_01;
}
return var_01;
}
//Function Number: 51
func_11F1(param_00)
{
level endon(param_00 + "door_peek_start_detach");
level endon(param_00 + "door_peek_restarted");
if(level.console || level.player usinggamepad())
{
level.player waittill("kick_pressed");
}
else
{
level.player waittill("kick_pressed_pc");
}
scripts\common\utility::flag_set(param_00 + "did_kick_interrupt_input");
}
//Function Number: 52
func_1201()
{
level.player scripts\sp\_utility::func_1C49(0);
level.player scripts\common\utility::func_1C40(0);
level.player scripts\common\utility::func_1C60(0);
level.player scripts\common\utility::func_1C53(0);
level.player scripts\common\utility::allow_jump(0);
level.player scripts\common\utility::func_1C6E(0);
level.player disableweaponpickup();
level.player scripts\sp\_utility::func_1C72(0);
level.player scripts\common\utility::func_1C56(0);
}
//Function Number: 53
func_1200()
{
level.player scripts\sp\_utility::func_1C49(1);
level.player scripts\common\utility::func_1C40(1);
level.player scripts\common\utility::func_1C60(1);
level.player scripts\common\utility::func_1C53(1);
level.player scripts\common\utility::allow_jump(1);
level.player scripts\common\utility::func_1C6E(1);
level.player enableweaponpickup();
level.player scripts\sp\_utility::func_1C72(1);
level.player scripts\common\utility::func_1C56(1);
}
//Function Number: 54
func_1205()
{
level.player scripts\common\utility::func_1C46(0);
level.player scripts\common\utility::func_1C62(0);
level.player scripts\common\utility::func_1C35(0);
level.player scripts\common\utility::func_1C58(0);
level.player scripts\common\utility::func_1C76(0);
}
//Function Number: 55
func_1204()
{
level.player scripts\common\utility::func_1C46(1);
level.player scripts\common\utility::func_1C62(1);
level.player scripts\common\utility::func_1C35(1);
level.player scripts\common\utility::func_1C58(1);
level.player scripts\common\utility::func_1C76(1);
}
//Function Number: 56
func_11EF()
{
level.player scripts\common\utility::func_1C46(0);
level.player scripts\common\utility::func_1C62(0);
level.player scripts\common\utility::func_1C35(0);
level.player scripts\common\utility::func_1C58(0);
}
//Function Number: 57
func_11EE()
{
level.player scripts\common\utility::func_1C46(1);
level.player scripts\common\utility::func_1C62(1);
level.player scripts\common\utility::func_1C35(1);
level.player scripts\common\utility::func_1C58(1);
}
//Function Number: 58
func_11EC(param_00)
{
level endon(param_00 + "door_kick_newdoor_think");
level endon(param_00 + "door_peek_opened_fully");
var_01 = getentarray(param_00,"targetname");
var_01 = scripts\common\utility::array_combine(var_01,scripts\common\utility::getstructarray(param_00,"targetname"));
var_02 = func_12A6(var_01,"door_peek_door");
var_03 = func_12A6(var_01,"door_peek_clip");
var_04 = var_02.var_EE52;
var_03 linkto(var_02);
var_05 = func_12A6(var_01,"door_kick_animstruct");
var_06 = func_12A6(var_01,"door_kick_animstruct2");
var_07 = var_05 scripts\common\utility::spawn_tag_origin();
var_08 = var_06 scripts\common\utility::spawn_tag_origin();
var_09 = var_02 scripts\common\utility::spawn_tag_origin();
var_09.angles = var_07.angles;
var_0A = 90;
var_0B = level.var_5A23[param_00].var_C9FE;
var_0C = 120;
var_0D = level.var_5A23[param_00].var_5A24 + (0,0 - var_0B.var_47A3,0);
level notify(param_00 + "door_kick_start");
func_11EF();
level.var_5A23[param_00].var_59FF thread lib_0B06::func_1F35(level.var_5A23[param_00].var_C9FD,"doorpeek_airlock_bash");
var_0E = 0.2;
var_0F = 2.4;
var_10 = 1.1;
var_11 = 140;
var_12 = 140;
var_13 = 0.8;
wait(var_0E);
level.var_5A23[param_00].var_C9D4 = 1;
var_14 = level.var_5A23[param_00].var_5A21;
var_15 = var_14 + var_11;
var_15 = clamp(var_15,0,var_12);
var_16 = var_0D + (0,0 - var_15,0);
level.var_5A23[param_00].var_5A2A rotateto(var_16,var_0F,0,0.2);
var_02 thread scripts\common\utility::play_sound_in_space("doorpeek_" + func_1299(var_04) + "_kick",var_02.origin);
thread func_1351(param_00);
wait(var_10);
level thread scripts\sp\_utility::func_C12D(param_00 + "door_kick_multi_kick_ready",0.5);
func_11F9(param_00,var_02,0,1,1);
func_1201();
level notify(param_00 + "door_kick_open");
level notify("door_kick_open");
var_17 = var_07 func_12A0(0,30,0);
var_18 = level.player scripts\common\utility::spawn_tag_origin();
level.player playerlinktodelta(var_18,"tag_origin",1,10,10,10,10,0);
var_18 moveto(var_17,var_13,0,0.2);
var_18 rotateto((var_18.angles[0],var_05.angles[1],var_18.angles[2]),0.5,0,0.2);
wait(var_13);
func_11EE();
level notify(param_00 + "stop_fake_origin_link");
level notify(param_00 + "door_kick_finished");
var_18.origin = getgroundposition(var_18.origin,10,30,30);
wait(0.05);
var_18 delete();
level.player unlink();
func_1200();
}
//Function Number: 59
func_11ED(param_00)
{
level endon(param_00 + "door_kick_newdoor_think");
level endon(param_00 + "door_peek_opened_fully");
var_01 = getentarray(param_00,"targetname");
var_01 = scripts\common\utility::array_combine(var_01,scripts\common\utility::getstructarray(param_00,"targetname"));
var_02 = func_12A6(var_01,"door_peek_door");
var_03 = func_12A6(var_01,"door_peek_clip");
var_04 = var_02.var_EE52;
var_03 linkto(var_02);
var_05 = func_12A6(var_01,"door_kick_animstruct");
var_06 = func_12A6(var_01,"door_kick_animstruct2");
var_07 = var_05 scripts\common\utility::spawn_tag_origin();
var_08 = var_06 scripts\common\utility::spawn_tag_origin();
var_09 = var_02 scripts\common\utility::spawn_tag_origin();
var_09.angles = var_07.angles;
var_0A = 90;
var_0B = level.var_5A23[param_00].var_C9FE;
var_0C = 120;
var_0D = level.var_5A23[param_00].var_5A24 + (0,0 - var_0B.var_47A3,0);
level notify(param_00 + "door_kick_start");
func_11EF();
level.var_5A23[param_00].var_59FF thread lib_0B06::func_1F35(level.var_5A23[param_00].var_C9FD,"doorpeek_airlock_bash");
level.player playgestureviewmodel("ges_doorpeek_airlock_bash",undefined,1);
var_0E = 0.2;
var_0F = 1.75;
var_10 = 0.75;
var_11 = 90;
var_12 = 90;
var_13 = 0.5;
var_14 = 0.5;
wait(var_0E);
level.var_5A23[param_00].var_C9D4 = 1;
var_15 = level.var_5A23[param_00].var_5A21;
var_16 = var_15 + var_11;
var_16 = clamp(var_16,0,var_12);
var_17 = var_15 - var_16 * -1 / var_16;
var_18 = clamp(var_17 * var_0F,var_10,var_0F);
var_19 = clamp(var_18 - var_13,var_14,var_18);
var_1A = var_0D + (0,0 - var_16,0);
level.var_5A23[param_00].var_5A2A rotateto(var_1A,var_18,var_18 * 0.4,0);
var_02 playsound("doorpeek_" + func_1299(var_04) + "_shove");
thread func_1351(param_00);
scripts\common\utility::func_5127(var_19,::func_11EE);
level.player scripts\common\utility::delaycall(var_19,::stopgestureviewmodel,"ges_doorpeek_airlock_bash",0.2);
wait(var_18);
level.var_5A23[param_00].var_5A21 = var_16;
level.var_5A23[param_00].var_C9D4 = 0;
level notify(param_00 + "door_kick_finished");
level notify("door_kick_finished");
level thread scripts\sp\_utility::func_C12D(param_00 + "door_kick_multi_kick_ready",0.5);
}
//Function Number: 60
func_1351(param_00)
{
level.player endon("death");
level endon(param_00 + "door_kick_finished");
var_01 = level.var_5A23[param_00].var_C9FE;
var_02 = level.var_5A23[param_00].var_5A24 + (0,0 - var_01.var_47A3,0);
var_03 = 40;
for(;;)
{
var_04 = func_12AE(param_00) - var_01.var_47A3;
var_05 = clamp(var_04 / var_01.var_B481,0,1) * var_01.var_B4AA - var_01.var_B7C1 + var_01.var_B7C1;
level.player method_81DF(0,0,0,var_01.var_269,var_05,20,20);
if(var_04 >= var_03)
{
var_06 = 1;
level notify(param_00 + "door_peek_airlock_ally_move");
level notify("door_peek_airlock_ally_move");
}
wait(0.05);
}
}
//Function Number: 61
func_11F2(param_00,param_01,param_02)
{
level endon(param_00 + "door_kick_newdoor_think");
level.player.var_5818 = 1;
thread func_11F3(param_00,param_01);
level.player waittill("death");
if(!isdefined(level.player.var_5A12) || !level.player.var_5A12)
{
func_11D6(param_00,param_01,1);
return;
}
level.player unlink();
if(isdefined(level.var_5A23[param_00].var_A5AE))
{
level.var_5A23[param_00].var_A5AE delete();
}
}
//Function Number: 62
func_11F3(param_00,param_01)
{
level.player endon("death");
var_02 = [param_00 + "door_kick_newdoor_think"];
level scripts\common\utility::func_13730(var_02);
level.player.var_5818 = undefined;
}
//Function Number: 63
func_11F0(param_00,param_01,param_02)
{
level.player endon("death");
level endon(param_00 + "door_kick_newdoor_think");
thread func_11F2(param_00,param_01,param_02);
var_03 = getentarray(param_00,"targetname");
var_03 = scripts\common\utility::array_combine(var_03,scripts\common\utility::getstructarray(param_00,"targetname"));
var_04 = func_12A6(var_03,"door_peek_door");
var_05 = func_12A6(var_03,"door_peek_clip");
var_06 = var_04.var_EE52;
var_05 linkto(var_04);
if(!param_01)
{
var_07 = level.var_5A23[param_00].var_A5A9;
}
else
{
var_07 = level.var_5A23[param_01].var_A5AA;
}
var_07.origin = var_07.origin + anglestoforward(var_07.angles) * -30;
level notify(param_00 + "door_kick_start");
level notify("door_kick_start");
func_11F9(param_00,var_04,param_01,1,1,1);
func_1201();
level.player.var_5966 = 1;
if(!param_01)
{
var_08 = level.var_5A23[var_04.var_336].var_74C0;
}
else
{
var_08 = level.var_5A23[var_05.var_336].var_74C1;
}
var_09 = 0.65;
var_0A = 0.3;
var_0B = 0;
var_0C = 0.05;
var_0D = 0.2;
var_0E = 1;
if(func_1297(level.var_5A23[param_00].var_5A57) == "airlock")
{
var_09 = 0.65;
var_0A = 0.7;
var_0B = 0.05;
var_0C = var_0A - 0.05;
var_0D = 0.5;
}
var_0F = level.var_5A23[param_00].var_5A21;
var_10 = var_0F - abs(var_08) * -1 / var_08;
var_11 = clamp(var_10 * var_0A,var_0D,var_0A);
var_12 = var_11 / var_0A;
var_13 = var_0B * var_12;
var_14 = var_0C * var_12;
level.var_5A23[param_00].var_5A2A scripts\common\utility::delaycall(var_09,::rotateto,level.var_5A23[param_00].var_5A24 + (0,var_08,0),var_11,var_13,var_14);
level.var_5A23[param_00].var_5A2A scripts\common\utility::delaycall(var_09 + var_11 + 0.05,::delete);
thread func_59A5(var_09 - 0.05);
var_05 scripts\common\utility::delaycall(var_09,::connectpaths);
var_05 scripts\common\utility::delaycall(var_09 + var_0A + 0.05,::disconnectpaths);
var_04 scripts\common\utility::func_5127(var_09,::scripts\common\utility::play_sound_in_space,"doorpeek_" + func_1299(var_06) + "_kick",var_04.origin);
level thread scripts\sp\_utility::func_C12D(param_00 + "door_kick_open",var_09);
level thread scripts\sp\_utility::func_C12D("door_kick_open",var_09);
var_15 = "doorpeek_kick";
var_16 = "ges_doorpeek_kick";
var_17 = func_12AD(param_00,param_01);
if(isdefined(var_17))
{
var_16 = var_17;
}
func_11EF();
scripts\common\utility::func_5127(var_0E,::func_11EE);
var_18 = level.player getplayerangles(1);
level.var_5A23[var_04.var_336].var_A5AE = scripts\sp\_utility::func_10639("player_rig",level.player.origin,var_18);
var_19 = level.player method_84C6("currentViewModel");
if(isdefined(var_19))
{
level.var_5A23[var_04.var_336].var_A5AE setmodel(var_19);
}
var_07 thread lib_0B06::func_1EC3(level.var_5A23[var_04.var_336].var_A5AE,var_15);
var_1A = level.var_5A23[var_04.var_336].var_A5AE gettagorigin("tag_player");
var_1B = var_07.origin - var_1A;
var_1C = level.player.origin - var_1A;
var_1D = var_18 - var_07.angles;
var_1E = var_07.origin;
var_1F = var_07.angles;
var_07 unlink();
var_07.origin = var_07.origin + var_1C;
var_20 = vectornormalize(var_07.origin - level.player.origin);
var_21 = distance(var_07.origin,level.player.origin);
var_20 = rotatevector(var_20,var_1D);
var_07.origin = level.player.origin + var_20 * var_21;
var_07.angles = var_07.angles + var_1D;
level.player playgestureviewmodel(var_16,undefined,1,0.2);
var_07 thread lib_0B06::func_1F35(level.var_5A23[var_04.var_336].var_A5AE,var_15);
var_22 = getanimlength(level.var_5A23[var_04.var_336].var_A5AE scripts\sp\_utility::func_7DC1(var_15));
var_23 = 0.4;
var_24 = 1.1;
var_25 = 0.3;
var_26 = 0.35;
var_27 = 0.3;
var_28 = 0.3;
if(func_1297(level.var_5A23[param_00].var_5A57) == "airlock")
{
}
level.player playerlinktoblend(level.var_5A23[var_04.var_336].var_A5AE,"tag_player",var_25,0,0);
level.player scripts\common\utility::delaycall(var_25,::playerlinktodelta,level.var_5A23[var_04.var_336].var_A5AE,"tag_player",1,0,0,0,0,0);
level.player scripts\common\utility::delaycall(var_26,::method_81DF,var_27,0,0,40,40,60,10);
wait(0.05);
level.var_5A23[var_04.var_336].var_A5AE linkto(var_07);
var_07 moveto(var_1E,var_23);
var_07 rotateto(var_1F,var_23);
wait(var_23);
level.player scripts\sp\_utility::func_2B76(0.2,0.05);
if(isdefined(param_02))
{
var_29 = 0.7;
wait(var_24 - var_23 - var_29);
var_2A = var_07 func_12A0(-60,0,0);
var_07 moveto(var_2A,var_29,0.2,0.1);
wait(var_29);
}
else if(isdefined(level.var_5A1C))
{
if(level.var_5A1C > 0)
{
wait(var_24 * level.var_5A1C);
}
var_07 scripts\sp\_utility::func_1F53();
}
else
{
wait(var_24 - var_23);
}
level notify(param_00 + "door_kick_finished");
level notify("door_kick_finished");
level notify(param_00 + "door_peek_finished");
level notify("door_peek_finished");
func_13C9("kick");
level.player unlink();
var_07 delete();
level.var_5A23[var_04.var_336].var_A5AE delete();
level.var_5A23[var_04.var_336].var_59FF delete();
level.player scripts\sp\_utility::func_2B76(1,var_28);
func_1200();
level.player.var_5966 = undefined;
level notify(param_00 + "door_kick_newdoor_think");
level.player.var_5A12 = undefined;
}
//Function Number: 64
func_59A5(param_00)
{
level.player endon("death");
wait(param_00);
level.player.var_5A12 = 1;
}
//Function Number: 65
func_59A2(param_00,param_01,param_02)
{
}
//Function Number: 66
func_120E(param_00)
{
level endon(param_00 + "door_kick_newdoor_think");
level waittill("doorpeek_handle");
if(soundexists("doorpeek_" + func_1299(level.var_5A23[param_00].var_5A57) + "_handle"))
{
level.var_5A23[param_00].var_5978 playsound("doorpeek_" + func_1299(level.var_5A23[param_00].var_5A57) + "_handle");
return;
}
var_01 = "doorpeek_" + func_1299(level.var_5A23[param_00].var_5A57) + "_handle";
}
//Function Number: 67
func_12A6(param_00,param_01)
{
foreach(var_03 in param_00)
{
if(isdefined(var_03.script_noteworthy))
{
if(var_03.script_noteworthy == param_01)
{
return var_03;
}
}
}
}
//Function Number: 68
func_12A0(param_00,param_01,param_02)
{
var_03 = self.origin + anglestoforward(self.angles) * param_00 + anglestoright(self.angles) * param_01 + anglestoup(self.angles) * param_02;
return var_03;
}
//Function Number: 69
func_59CF(param_00,param_01)
{
level.player endon("death");
level endon(param_00 + "door_intro_done");
if(!isdefined(param_01) || param_01 == 0)
{
level scripts\common\utility::waittill_any_3(param_00 + "door_peek_kick",param_00 + "door_peek_back_off",param_00 + "door_peek_sprint");
}
else
{
level scripts\common\utility::waittill_any_3(param_00 + "door_peek_back_off",param_00 + "door_peek_sprint");
}
func_1204();
}
//Function Number: 70
func_13C9(param_00)
{
if(!isdefined(level.var_D9E5))
{
return;
}
if(!isdefined(level.var_D9E5["achievementDoorPeek"]))
{
return;
}
if(param_00 == "open")
{
level.var_D9E5["achievementDoorPeek"]["achievementDoorPeekOpen"] = 1;
}
else if(param_00 == "kick")
{
level.var_D9E5["achievementDoorPeek"]["achievementDoorPeekKick"] = 1;
}
else if(param_00 == "grenade")
{
level.var_D9E5["achievementDoorPeek"]["achievementDoorPeekGrenade"] = 1;
}
lib_0A2F::func_3D6A(1);
}
//Function Number: 71
func_12AC(param_00,param_01)
{
var_02 = level.player getcurrentweapon();
if(!isdefined(var_02))
{
return undefined;
}
var_03 = strtok(var_02,"+");
var_02 = var_03[0];
if(!isdefined(var_02))
{
return undefined;
}
if(var_02 == "alt_iw7_erad")
{
var_04 = func_1297(level.var_5A23[param_00].var_5A57);
if(var_04 == "bulkhead" || var_04 == "airlock" || var_04 == "civlever" && !param_01)
{
return "ges_doorpeek_civlever_r";
}
return;
}
if(var_02 == "iw7_mauler")
{
var_04 = func_1297(level.var_5A23[param_00].var_5A57);
if(var_04 == "bulkhead" || var_04 == "airlock")
{
return "ges_doorpeek_civlever_r";
}
return;
}
if(var_02 == "iw7_steeldragon")
{
var_04 = func_1297(level.var_5A23[param_00].var_5A57);
if(var_04 == "bulkhead" || var_04 == "airlock")
{
return "ges_doorpeek_civlever_r";
}
return;
}
}
//Function Number: 72
func_12AD(param_00,param_01)
{
var_02 = level.player getcurrentweapon();
if(!isdefined(var_02))
{
return undefined;
}
var_03 = strtok(var_02,"+");
var_02 = var_03[0];
if(!isdefined(var_02))
{
return undefined;
}
if(var_02 == "alt_iw7_erad")
{
return "ges_doorpeek_kick_eradshotty";
}
}
//Function Number: 73
func_12AB(param_00,param_01)
{
var_02 = level.player getcurrentweapon();
if(!isdefined(var_02))
{
return undefined;
}
var_03 = strtok(var_02,"+");
var_02 = var_03[0];
if(!isdefined(var_02))
{
return undefined;
}
if(var_02 == "alt_iw7_erad")
{
return "ges_doorpeek_bash_eradshotty";
}
}
//Function Number: 74
func_1466(param_00)
{
level.player endon("death");
level endon(param_00 + "door_peek_kick");
level endon(param_00 + "door_peek_detach");
thread func_1465(param_00);
level.var_5A23[param_00].var_13C81 = 0;
var_01 = ["iw7_fmg","alt_iw7_fmg"];
var_02 = level.player getcurrentweapon();
if(isdefined(var_02))
{
var_03 = strtok(var_02,"+");
var_02 = var_03[0];
foreach(var_05 in var_01)
{
if(var_02 == var_05)
{
level.var_5A23[param_00].var_13C81 = 1;
break;
}
}
}
if(level.var_5A23[param_00].var_13C81)
{
level.player scripts\common\utility::func_1C76(0);
}
for(;;)
{
level.player waittill("weapon_change");
var_07 = level.var_5A23[param_00].var_13C81;
var_02 = level.player getcurrentweapon();
if(isdefined(var_02))
{
var_03 = strtok(var_02,"+");
var_02 = var_03[0];
foreach(var_05 in var_01)
{
if(var_02 == var_05)
{
level.var_5A23[param_00].var_13C81 = 1;
break;
}
}
}
if(!var_07 && level.var_5A23[param_00].var_13C81)
{
level.player scripts\common\utility::func_1C76(0);
continue;
}
if(var_07 && !level.var_5A23[param_00].var_13C81)
{
level.player scripts\common\utility::func_1C76(1);
}
}
}
//Function Number: 75
func_1465(param_00)
{
level.player endon("death");
level scripts\common\utility::waittill_any_3(param_00 + "door_peek_kick",param_00 + "door_peek_detach");
if(level.var_5A23[param_00].var_13C81)
{
level.player scripts\common\utility::func_1C76(1);
}
}
//Function Number: 76
func_1298(param_00,param_01)
{
var_02 = spawnstruct();
if(param_00 == "bulkhead" && !param_01)
{
var_02.var_119AB = 0.9;
var_02.var_47A4 = 0.7;
var_02.var_47A3 = 12;
var_02.var_119D5 = 0.9;
var_02.var_B7C1 = 0;
var_02.var_B4AA = 70;
var_02.var_269 = 8;
var_02.var_B481 = 30;
var_02.var_B4B9 = 4;
var_02.var_11782 = 16;
}
else if((param_00 == "airlock" || param_00 == "airlocksdf") && !param_01)
{
var_02.var_119AB = 1;
var_02.var_47A4 = 0.7;
var_02.var_47A3 = 14;
var_02.var_119D5 = 1.2;
var_02.var_B7C1 = 2;
var_02.var_B4AA = 90;
var_02.var_269 = 8;
var_02.var_B481 = 60;
var_02.var_B4B9 = 1.5;
var_02.var_11782 = 18;
}
if((param_00 == "airlockcombat" || param_00 == "airlockcombatsdf") && !param_01)
{
var_02.var_119AB = 1.2;
var_02.var_47A4 = 0.7;
var_02.var_47A3 = 22;
var_02.var_119D5 = 1.2;
var_02.var_B7C1 = 2;
var_02.var_B4AA = 90;
var_02.var_269 = 8;
var_02.var_B481 = 60;
var_02.var_B4B9 = 2;
var_02.var_11782 = 18;
}
else if(param_00 == "armory" && !param_01)
{
var_02.var_119AB = 0.9;
var_02.var_47A4 = 0.7;
var_02.var_47A3 = 12;
var_02.var_119D5 = 0.9;
var_02.var_B7C1 = 0;
var_02.var_B4AA = 140;
var_02.var_269 = 13;
var_02.var_B481 = 80;
var_02.var_B4B9 = 4;
var_02.var_11782 = 10;
}
else if(param_00 == "armoryajar" && !param_01)
{
var_02.var_119AB = 0.9;
var_02.var_47A4 = 0.2;
var_02.var_47A3 = 0;
var_02.var_119D5 = 0.9;
var_02.var_B7C1 = 0;
var_02.var_B4AA = 140;
var_02.var_269 = 13;
var_02.var_B481 = 80;
var_02.var_B4B9 = 4;
var_02.var_11782 = 10;
}
else if(param_00 == "civlever" && !param_01)
{
var_02.var_119AB = 0.6;
var_02.var_47A4 = 0.5;
var_02.var_47A3 = 12;
var_02.var_119D5 = 0.9;
var_02.var_B7C1 = 9.5;
var_02.var_B4AA = 70;
var_02.var_269 = 5;
var_02.var_B481 = 29;
var_02.var_B4B9 = 4;
var_02.var_11782 = 3;
}
else if(param_00 == "civlever" && param_01)
{
var_02.var_119AB = 0.6;
var_02.var_47A4 = 0.5;
var_02.var_47A3 = -12;
var_02.var_119D5 = 0.9;
var_02.var_B7C9 = 22;
var_02.var_B4C1 = 70;
var_02.var_1B8 = 0;
var_02.var_B481 = 40;
var_02.var_B4B9 = 4;
var_02.var_11782 = 3;
}
else if(param_00 == "civchurch1" && !param_01)
{
var_02.var_119AB = 0.6;
var_02.var_47A4 = 0.5;
var_02.var_47A3 = 12;
var_02.var_119D5 = 0.9;
var_02.var_B7C1 = 9.5;
var_02.var_B4AA = 70;
var_02.var_269 = 5;
var_02.var_B481 = 29;
var_02.var_B4B9 = 4;
var_02.var_11782 = 3;
}
else if(param_00 == "civchurch1" && param_01)
{
var_02.var_119AB = 0.6;
var_02.var_47A4 = 0.5;
var_02.var_47A3 = -12;
var_02.var_119D5 = 0.9;
var_02.var_B7C9 = 22;
var_02.var_B4C1 = 70;
var_02.var_1B8 = 0;
var_02.var_B481 = 40;
var_02.var_B4B9 = 4;
var_02.var_11782 = 3;
}
return var_02;
}
//Function Number: 77
func_1299(param_00)
{
if(param_00 == "bulkhead")
{
return "bulkhead";
}
if(param_00 == "airlock" || param_00 == "airlocksdf" || param_00 == "airlockcombat" || param_00 == "airlockcombatsdf")
{
return "airlock";
}
if(param_00 == "armory" || param_00 == "armoryajar")
{
return "armory";
}
if(param_00 == "civlever")
{
return "civleverwood";
}
if(param_00 == "civchurch1")
{
return "civhandlewood";
}
}
//Function Number: 78
func_1297(param_00)
{
if(param_00 == "bulkhead")
{
return "bulkhead";
}
if(param_00 == "airlock" || param_00 == "airlocksdf" || param_00 == "airlockcombat" || param_00 == "airlockcombatsdf")
{
return "airlock";
}
if(param_00 == "armory")
{
return "armory";
}
if(param_00 == "armoryajar")
{
return "armoryajar";
}
if(param_00 == "civlever" || param_00 == "civchurch1")
{
return "civlever";
}
}
//Function Number: 79
func_1206()
{
level.var_EC87["player_rig"] = #animtree;
level.var_EC8C["player_rig"] = "viewmodel_base_viewhands_iw7";
level.var_EC85["player_rig"]["doorpeek_kick"] = %vm_doorpeek_kick;
level.var_EC85["player_rig"]["doorpeek_airlock_kick"] = %wm_doorpeek_airlock_kick;
level.var_EC85["player_rig"]["doorpeek_civlever_in"] = %wm_doorpeek_civlever_in;
lib_0B06::func_17F6("player_rig","doorpeek_handle",::func_5A1B,"doorpeek_civlever_in");
level.var_EC85["player_rig"]["doorpeek_civlever_loop"][0] = %wm_doorpeek_civlever_loop;
level.var_EC85["player_rig"]["doorpeek_civlever_out"] = %wm_doorpeek_civlever_out;
level.var_EC85["player_rig"]["doorpeek_civlever_backon"] = %wm_doorpeek_civlever_backon;
level.var_EC89["player_rig"]["doorpeek_civlever_backon"] = 0;
level.var_EC85["player_rig"]["doorpeek_civlever_r_in"] = %wm_doorpeek_civlever_r_in;
lib_0B06::func_17F6("player_rig","doorpeek_handle",::func_5A1B,"doorpeek_civlever_r_in");
level.var_EC85["player_rig"]["doorpeek_civlever_r_loop"][0] = %wm_doorpeek_civlever_r_loop;
level.var_EC85["player_rig"]["doorpeek_civlever_r_out"] = %wm_doorpeek_civlever_r_out;
level.var_EC85["player_rig"]["doorpeek_civlever_r_backon"] = %wm_doorpeek_civlever_r_backon;
level.var_EC89["player_rig"]["doorpeek_civlever_r_backon"] = 0;
level.var_EC85["player_rig"]["doorpeek_bulkhead_in"] = %wm_doorpeek_bulkhead_in;
lib_0B06::func_17F6("player_rig","doorpeek_handle",::func_5A1B,"doorpeek_bulkhead_in");
level.var_EC85["player_rig"]["doorpeek_bulkhead_loop"][0] = %wm_doorpeek_bulkhead_loop;
level.var_EC85["player_rig"]["doorpeek_bulkhead_out"] = %wm_doorpeek_bulkhead_out_b;
level.var_EC85["player_rig"]["doorpeek_bulkhead_backon"] = %wm_doorpeek_bulkhead_backon;
level.var_EC89["player_rig"]["doorpeek_bulkhead_backon"] = 0;
level.var_EC85["player_rig"]["doorpeek_airlock_in"] = %wm_doorpeek_airlock_in;
lib_0B06::func_17F6("player_rig","doorpeek_handle",::func_5A1B,"doorpeek_airlock_in");
level.var_EC85["player_rig"]["doorpeek_airlock_loop"][0] = %wm_doorpeek_airlock_loop;
level.var_EC85["player_rig"]["doorpeek_airlock_out"] = %wm_doorpeek_airlock_out;
level.var_EC85["player_rig"]["doorpeek_airlock_bash"] = %wm_doorpeek_airlock_bash;
level.var_EC85["player_rig"]["doorpeek_airlock_backon"] = %wm_doorpeek_airlock_backon;
level.var_EC89["player_rig"]["doorpeek_airlock_backon"] = 0;
level.var_EC85["player_rig"]["doorpeek_armory_in"] = %wm_doorpeek_armory_in;
lib_0B06::func_17F6("player_rig","doorpeek_handle",::func_5A1B,"doorpeek_armory_in");
level.var_EC85["player_rig"]["doorpeek_armory_loop"][0] = %wm_doorpeek_armory_loop;
level.var_EC85["player_rig"]["doorpeek_armory_out"] = %wm_doorpeek_armory_out;
level.var_EC85["player_rig"]["doorpeek_armory_backon"] = %wm_doorpeek_armory_backon;
level.var_EC89["player_rig"]["doorpeek_armory_backon"] = 0;
level.var_EC85["player_rig"]["doorpeek_armoryajar_in"] = %wm_doorpeek_armory_ajar_in;
level.var_EC85["player_rig"]["doorpeek_armoryajar_loop"][0] = %wm_doorpeek_armory_ajar_loop;
level.var_EC85["player_rig"]["doorpeek_armoryajar_out"] = %wm_doorpeek_armory_ajar_out;
level.var_EC85["player_rig"]["doorpeek_armoryajar_backon"] = %wm_doorpeek_armory_ajar_backon;
level.var_EC89["player_rig"]["doorpeek_armoryajar_backon"] = 0;
}
//Function Number: 80
func_11FB()
{
level.var_EC85["generic"]["walk_cqb_f"][0] = %walk_cqb_f;
level.var_EC85["generic"]["cqb_stand_idle"][0] = %cqb_stand_idle;
}
//Function Number: 81
func_120C()
{
level.var_EC87["doorpeek_door"] = #animtree;
level.var_EC85["doorpeek_door"]["doorpeek_civlever_in"] = %wm_doorpeek_bulkhead_in_door;
level.var_EC85["doorpeek_door"]["doorpeek_bulkhead_in"] = %wm_doorpeek_bulkhead_in_door;
level.var_EC85["doorpeek_door"]["doorpeek_airlock_in"] = %wm_doorpeek_airlock_in_door;
level.var_EC85["doorpeek_door"]["doorpeek_armory_in"] = %wm_doorpeek_armory_in_door;
level.var_EC85["doorpeek_door"]["doorpeek_armoryajar_in"] = %wm_doorpeek_armory_ajar_in_door;
}
//Function Number: 82
func_5A1B(param_00)
{
level notify("doorpeek_handle");
}
//Function Number: 83
func_59D9(param_00,param_01)
{
level.var_5A23[param_00].var_5A2A rotateto(level.var_5A23[param_00].var_5A24 + (0,-140,0),param_01,0,0);
level.var_5A23[param_00].var_5A2A scripts\common\utility::delaycall(param_01 + 0.05,::delete);
level.var_5A23[param_00].var_5A03 connectpaths();
level.var_5A23[param_00].var_5A03 scripts\common\utility::delaycall(param_01 + 0.05,::disconnectpaths);
level.var_5A23[param_00].var_5978 playsound("doorpeek_" + func_1299(level.var_5A23[param_00].var_5A57) + "_swing_open");
level.var_5A23[param_00].var_5978 scripts\common\utility::delaycall(param_01,::playsound,"doorpeek_" + func_1299(level.var_5A23[param_00].var_5A57) + "_hit_wall");
level.var_5A23[param_00].var_5A56 hide();
func_551D(param_00);
}