nx1-gsc-dump/maps/_rappel_util.gsc

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" );
}
//*******************************************************************
// *
// *
//*******************************************************************