mirror of
https://github.com/reaaLx/nx1-gsc-dump.git
synced 2025-04-22 00:55:46 +00:00
158 lines
4.4 KiB
Plaintext
158 lines
4.4 KiB
Plaintext
//****************************************************************************
|
|
// **
|
|
// Confidential - (C) Activision Publishing, Inc. 2010 **
|
|
// **
|
|
//****************************************************************************
|
|
// **
|
|
// Module: Rappel Util **
|
|
// **
|
|
// Created: 4/13/2011 - Ben Kutcher **
|
|
// **
|
|
//****************************************************************************
|
|
|
|
#include maps\_utility;
|
|
#include maps\_nx_utility;
|
|
#include common_scripts\utility;
|
|
#include maps\_vehicle;
|
|
#include maps\_anim;
|
|
#include maps\_hud_util;
|
|
|
|
//*******************************************************************
|
|
// *
|
|
// *
|
|
//*******************************************************************
|
|
rappel_setup()
|
|
{
|
|
objective_ent = GetEnt( "rappel_objective", "targetname" );
|
|
objective_ent Hide();
|
|
}
|
|
|
|
//*******************************************************************
|
|
// *
|
|
// *
|
|
//*******************************************************************
|
|
rappel_start()
|
|
{
|
|
level._player player_rappel();
|
|
}
|
|
|
|
//*******************************************************************
|
|
// *
|
|
// *
|
|
//*******************************************************************
|
|
player_rappel()
|
|
{
|
|
// Hide normal pipe
|
|
pipe = GetEnt( "rappel_pipe", "targetname" );
|
|
pipe Hide();
|
|
|
|
rappel_trigger = getent( "player_rappel_use_trigger", "targetname" );
|
|
rappel_trigger SetHintString( &"NX_HITHARD_RAPPEL_HINT" );
|
|
|
|
objective_ent = GetEnt( "rappel_objective", "targetname" );
|
|
objective_ent Show();
|
|
|
|
for ( ;; )
|
|
{
|
|
rappel_trigger waittill( "trigger" );
|
|
|
|
if ( self isthrowinggrenade())
|
|
{
|
|
continue;
|
|
}
|
|
|
|
if ( self isswitchingweapon())
|
|
{
|
|
continue;
|
|
}
|
|
|
|
break;
|
|
}
|
|
|
|
level._player notify( "notify_rappel_start" );
|
|
|
|
// Hide objective marker.
|
|
objective_ent Hide();
|
|
pipe Show();
|
|
rappel_trigger delete();
|
|
|
|
// Dvars.
|
|
SetSavedDvar( "compass", 0 );
|
|
SetSavedDvar( "ammoCounterHide", 1 );
|
|
SetSavedDvar( "actionSlotsHide", 1 );
|
|
SetSavedDvar( "hud_showStance", 0 );
|
|
SetSavedDvar( "hud_drawhud", 0 );
|
|
|
|
// Player state.
|
|
self DisableWeapons();
|
|
self DisableOffhandWeapons();
|
|
self DisableWeaponSwitch();
|
|
self AllowCrouch( false );
|
|
self AllowProne( false );
|
|
stance = self GetStance();
|
|
self SetStance( "stand" );
|
|
if ( stance != "stand" )
|
|
{
|
|
wait( 0.5 );
|
|
}
|
|
|
|
// Backup weapon.
|
|
old_weapon = self GetCurrentWeapon();
|
|
|
|
// Hook up.
|
|
player_rig = spawn_anim_model( "player_rig_rappel" );
|
|
player_rig Hide();
|
|
player_rope = spawn_anim_model( "rope" );
|
|
player_rope Hide();
|
|
player_rope.origin = self.origin;
|
|
rig_and_rope[ 0 ] = player_rig;
|
|
rig_and_rope[ 1 ] = player_rope;
|
|
ent = GetEnt( "player_rappel_animent", "targetname" );
|
|
ent anim_first_frame( rig_and_rope, "rappel_hookup" );
|
|
|
|
// Link player.
|
|
level.player_rig = player_rig;
|
|
tag_origin = spawn_tag_origin();
|
|
tag_origin LinkTo( player_rig, "tag_player", ( 0, 0, 0 ), ( 0, 0, 0 ));
|
|
tag_origin_start = spawn_tag_origin();
|
|
tag_origin_start.angles = self GetPlayerAngles();
|
|
tag_origin_start.origin = self.origin;
|
|
self PlayerLinkTo( tag_origin_start );
|
|
self PlayerLinkToBlend( tag_origin, "tag_origin", 0.5, 0.2, 0.2 );
|
|
tag_origin_start Delete();
|
|
|
|
// Wait for the blend to complete and show the new rig.
|
|
wait( 0.5 );
|
|
player_rig Show();
|
|
player_rig DontCastShadows();
|
|
player_rope Show();
|
|
|
|
// Play the anim.
|
|
ent anim_single( rig_and_rope, "rappel_hookup" );
|
|
|
|
// Cleanup.
|
|
self Unlink();
|
|
|
|
player_rig Delete();
|
|
player_rope Delete();
|
|
|
|
self EnableWeapons();
|
|
self EnableOffhandWeapons();
|
|
self EnableWeaponSwitch();
|
|
self AllowCrouch( true );
|
|
self AllowProne( true );
|
|
|
|
SetSavedDvar( "compass", 1 );
|
|
SetSavedDvar( "ammoCounterHide", 0 );
|
|
SetSavedDvar( "actionSlotsHide", 0 );
|
|
SetSavedDvar( "hud_showStance", 1 );
|
|
SetSavedDvar( "hud_drawhud", 1 );
|
|
|
|
level notify( "notify_rappel_complete" );
|
|
}
|
|
|
|
//*******************************************************************
|
|
// *
|
|
// *
|
|
//*******************************************************************
|