iw6-scripts/maps/homecoming_recruits_util.gsc
2024-02-13 13:20:49 +01:00

239 lines
7.0 KiB
Plaintext

// IW6 GSC SOURCE
// Generated by https://github.com/xensik/gsc-tool
setup_player_for_animated_sequence( var_0, var_1, var_2, var_3, var_4, var_5, var_6 )
{
if ( !isdefined( var_0 ) )
var_0 = 1;
if ( var_0 )
{
if ( !isdefined( var_1 ) )
var_1 = 60;
}
if ( !isdefined( var_2 ) )
var_2 = level.player.origin;
if ( !isdefined( var_3 ) )
var_3 = level.player.angles;
if ( !isdefined( var_4 ) )
var_4 = 1;
var_7 = maps\_utility::spawn_anim_model( "player_rig", var_2 );
level.player_rig = var_7;
var_7.angles = var_3;
var_7.animname = "player_rig";
if ( isdefined( var_6 ) )
var_8 = maps\_utility::spawn_anim_model( var_6 );
else
var_8 = common_scripts\utility::spawn_tag_origin();
level.player_mover = var_8;
var_8.origin = var_2;
var_8.angles = var_3;
var_7 linkto( var_8 );
if ( var_0 )
level.player playerlinktodelta( var_7, "tag_player", 1, var_1, var_1, var_1, var_1, 1 );
if ( var_4 )
thread player_animated_sequence_restrictions( var_5 );
}
player_animated_sequence_restrictions( var_0 )
{
if ( isdefined( var_0 ) && var_0 )
level.player waittill( "notify_player_animated_sequence_restrictions" );
level.player.disablereload = 1;
level.player disableweapons();
level.player disableoffhandweapons();
level.player disableweaponswitch();
level.player allowcrouch( 0 );
level.player allowjump( 0 );
level.player allowmelee( 0 );
level.player allowprone( 0 );
level.player allowsprint( 0 );
}
player_animated_sequence_cleanup( var_0 )
{
if ( !isdefined( var_0 ) )
var_0 = 1;
if ( var_0 && ( !isdefined( level.player.early_weapon_enabled ) || !level.player.early_weapon_enabled ) )
{
level.player.early_weapon_enabled = undefined;
level.player.disablereload = 0;
level.player enableweapons();
level.player enableoffhandweapons();
level.player enableweaponswitch();
}
level.player allowcrouch( 1 );
level.player allowjump( 1 );
level.player allowmelee( 1 );
level.player allowprone( 1 );
level.player allowsprint( 1 );
level.player unlink();
if ( isdefined( level.player_mover ) )
level.player_mover delete();
if ( isdefined( level.player_rig ) )
level.player_rig delete();
}
hc_hide_hud()
{
level.hc_hud = 1;
level.hc_hud_ammocounterhide = getdvarint( "ammoCounterHide" );
level.hc_hud_actionslotshide = getdvarint( "actionSlotsHide" );
level.hc_hud_showstance = getdvarint( "hud_showStance" );
level.hc_hud_compass = getdvarint( "compass" );
level.hc_hud_g_friendlynamedist = getdvarint( "g_friendlyNameDist" );
setsaveddvar( "ammoCounterHide", 1 );
setsaveddvar( "actionSlotsHide", 1 );
setsaveddvar( "hud_showStance", 0 );
setsaveddvar( "compass", 0 );
setsaveddvar( "g_friendlyNameDist", 0 );
}
hc_show_previous_hud()
{
if ( !isdefined( level.hc_hud ) )
return;
setsaveddvar( "ammoCounterHide", level.hc_hud_ammocounterhide );
setsaveddvar( "actionSlotsHide", level.hc_hud_actionslotshide );
setsaveddvar( "hud_showStance", level.hc_hud_showstance );
setsaveddvar( "compass", level.hc_hud_compass );
setsaveddvar( "g_friendlyNameDist", level.hc_hud_g_friendlynamedist );
level.hc_hud = undefined;
level.hc_hud_ammocounterhide = undefined;
level.hc_hud_actionslotshide = undefined;
level.hc_hud_showstance = undefined;
level.hc_hud_compass = undefined;
level.hc_hud_g_friendlynamedist = undefined;
}
player_sway()
{
self endon( "death" );
level.player_sway_weight = 0.55;
level.player_wind_weight = 0.11;
level.player_ground_ref_mover = maps\_utility::spawn_anim_model( "player_rig" );
level.player_ground_ref_mover.origin = level.player.origin;
level.player_ground_ref_mover hide();
var_0 = common_scripts\utility::spawn_tag_origin();
var_0.origin = level.player_ground_ref_mover gettagorigin( "tag_player" );
var_0.angles = level.player_ground_ref_mover gettagangles( "tag_player" );
var_0 linkto( level.player_ground_ref_mover, "tag_player" );
level.player playersetgroundreferenceent( var_0 );
wait 0.5;
thread player_sway_loop( level.player_ground_ref_mover );
thread player_sway_loop( self );
}
player_sway_loop( var_0 )
{
var_0 endon( "death" );
for (;;)
{
var_0 setanim( level.scr_anim["player_rig"]["player_sway_static"], level.player_sway_weight );
var_0 setanim( level.scr_anim["player_rig"]["player_wind_static"], level.player_wind_weight );
var_1 = level.player_sway_weight + level.player_wind_weight;
if ( var_1 > 1 )
var_1 = 1;
var_0 setanim( level.scr_anim["player_rig"]["player_nosway_static"], 1 - var_1 );
wait( level.timestep );
}
}
player_sway_blendto( var_0, var_1 )
{
level endon( "notify_change_player_sway" );
if ( !isdefined( var_0 ) || var_0 == 0 )
var_0 = level.timestep;
var_2 = level.player_sway_weight;
var_3 = var_1 - level.player_sway_weight;
for ( var_4 = var_3 * ( level.timestep / var_0 ); var_0 > 0; var_0 = var_0 - level.timestep )
{
var_2 = var_2 + var_4;
if ( var_2 > 1 )
var_2 = 1;
if ( var_2 < 0 )
var_2 = 0;
level.player_sway_weight = var_2;
wait( level.timestep );
}
level.player_sway_weight = var_1;
level notify( "notify_sway_blend_complete" );
}
player_wind_blendto( var_0, var_1 )
{
level endon( "notify_change_player_wind" );
if ( !isdefined( var_0 ) || var_0 == 0 )
var_0 = level.timestep;
var_2 = level.player_wind_weight;
var_3 = var_1 - level.player_wind_weight;
for ( var_4 = var_3 * ( level.timestep / var_0 ); var_0 > 0; var_0 = var_0 - level.timestep )
{
var_2 = var_2 + var_4;
if ( var_2 > 1 )
var_2 = 1;
if ( var_2 < 0 )
var_2 = 0;
level.player_wind_weight = var_2;
wait( level.timestep );
}
level.player_wind_weight = var_1;
level notify( "notify_wind_blend_complete" );
}
heli_shake( var_0 )
{
earthquake( 0.25, 4, level.player.origin, 1600 );
level.player playrumbleonentity( "damage_heavy" );
level.player screenshakeonentity( randomfloatrange( 0.125, 0.175 ), randomfloatrange( 0.125, 0.175 ), randomfloatrange( 0.125, 0.175 ), 60, 0, 2, 500, 8, 12, 12, 1.8 );
var_1 = maps\_utility::get_rumble_ent();
var_1.intensity = 0;
player_rumble_bump( var_1, 0.7, 0.15, 0.1, 0.0, 1.3, "notify_rumble_bump" );
player_rumble_bump( var_1, 0.15, 0, 0.1, 0.0, 1.5, "notify_rumble_bump" );
}
player_rumble_bump( var_0, var_1, var_2, var_3, var_4, var_5, var_6 )
{
if ( isdefined( var_6 ) )
{
level notify( var_6 );
level endon( var_6 );
}
var_0 thread maps\_utility::rumble_ramp_to( var_1, var_3 );
wait( var_3 + var_4 );
var_0 thread maps\_utility::rumble_ramp_to( var_2, var_5 );
wait( var_5 );
}