IW4-Dump-Files/maps/_underwater.gsc

136 lines
3.2 KiB
Plaintext

#include common_scripts\utility;
friendly_bubbles()
{
self endon( "death" );
self notify( "stop_friendly_bubbles" );
self endon( "stop_friendly_bubbles" );
self thread friendly_bubbles_cleanup();
tag = "TAG_EYE";
while ( true )
{
wait( 3.5 + randomfloat( 3 ) );
playfxOnTag( getfx( "scuba_bubbles_friendly" ), self, tag );
}
}
friendly_bubbles_stop()
{
self notify( "stop_friendly_bubbles" );
}
friendly_bubbles_cleanup()
{
self waittillmatch( "single anim", "surfacing" );
self notify ( "stop_friendly_bubbles" );
}
player_scuba()
{
//if coop splitscreen, only play scuba sound for player1 to avoid sound overlap
if ( !isSplitscreen() )
self thread player_scuba_breathe_sound();
else
{
if ( self == level.player )
self thread player_scuba_breathe_sound();
}
self thread player_scuba_bubbles();
}
player_scuba_breathe_sound()
{
self notify( "start_scuba_breathe" );
self endon( "start_scuba_breathe" );
self endon( "stop_scuba_breathe" );
while ( true )
{
wait( 0.05 );
self notify( "scuba_breathe_sound_starting" );
self playLocalSound( "scuba_breathe_player", "scuba_breathe_sound_done" );
self waittill( "scuba_breathe_sound_done" );
}
}
stop_player_scuba()
{
self notify( "stop_scuba_breathe" );
self stopLocalSound( "scuba_breathe_player" );
}
debug_org()
{
while( true )
{
print3d( self.origin + ( 0, 0, 0 ), "ORG", ( 1, 1, 1 ), 1, 0.5 );
wait( 0.5 );
}
}
player_scuba_bubbles()
{
self endon( "stop_scuba_breathe" );
playerFxOrg = spawn( "script_model", self.origin + ( 0, 0, 0 ) );
playerFxOrg setmodel( "tag_origin" );
playerFxOrg.angles = self.angles;
playerFxOrg.origin = level.player.origin + ( 0, 0, 0 );
playerFxOrg linkto( self, "", ( 15, 0, 54 ), ( 0, 0, 0 ) );
playerFxOrg hide();
self thread scuba_fx_cleanup( playerFxOrg );
//playerFxOrg thread debug_org();
while ( true )
{
wait( 1.8 );
self thread player_bubbles_fx( playerFxOrg );
wait( 6.2 );
self thread player_bubbles_fx( playerFxOrg );
wait( 6.5 );
self thread player_bubbles_fx( playerFxOrg );
wait( 7.5 );
self thread player_bubbles_fx( playerFxOrg );
wait( 6.8 );
self thread player_bubbles_fx( playerFxOrg );
wait( 6.5 );
self thread player_bubbles_fx( playerFxOrg );
self waittill( "scuba_breathe_sound_starting" );
}
}
scuba_fx_cleanup( playerFxOrg )
{
self waittill( "stop_scuba_breathe" );
playerFxOrg delete();
}
player_bubbles_fx( playerFxOrg )
{
self endon( "stop_scuba_breathe" );
playfxontag( getfx( "scuba_bubbles" ), playerFxOrg, "TAG_ORIGIN" );
}
underwater_hud_enable( bool )
{
wait 0.05;
if ( bool == true )
{
//setsaveddvar( "ui_hidemap", 1 );
SetSavedDvar( "hud_showStance", "0" );
SetSavedDvar( "compass", "0" );
//SetDvar( "old_compass", "0" );
SetSavedDvar( "ammoCounterHide", "1" );
setsaveddvar( "g_friendlyNameDist", 0 );
//SetSavedDvar( "hud_showTextNoAmmo", "0" );
}
else
{
//setsaveddvar( "ui_hidemap", 0 );
setSavedDvar( "hud_drawhud", "1" );
SetSavedDvar( "hud_showStance", "1" );
SetSavedDvar( "compass", "1" );
//SetDvar( "old_compass", "1" );
SetSavedDvar( "ammoCounterHide", "0" );
setsaveddvar( "g_friendlyNameDist", 15000 );
//SetSavedDvar( "hud_showTextNoAmmo", "1" );
}
}