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

226 lines
6.0 KiB
Plaintext

// IW6 GSC SOURCE
// Generated by https://github.com/xensik/gsc-tool
zerog()
{
var_0 = 12;
var_1 = 16;
var_2 = 6;
level endon( "kill_free_fall" );
level waittill( "start_freefall" );
level.zerog_origin = common_scripts\utility::getstruct( "all_plane_origin", "targetname" );
var_3 = randomfloatrange( 0.25, 0.75 );
wait( var_3 );
wait 0.25;
setsaveddvar( "phys_gravityChangeWakeupRadius", 3200 );
setsaveddvar( "ragdoll_max_life", 3600000 );
}
in_air_sequence()
{
}
player_on_back()
{
var_0 = getent( "player_on_back_pre_one", "targetname" );
var_1 = getent( "player_on_back_one", "targetname" );
var_2 = getent( "r_plane_player_climb_one", "targetname" );
var_3 = getentarray( "player_on_back", "targetname" );
var_4 = common_scripts\utility::getclosest( level.player.origin, var_3 );
var_5 = spawn( "script_model", var_4.origin );
var_5 setmodel( "tag_origin" );
var_5 linkto( level.plane_core );
level.chair_vargas_2.reference maps\_utility::anim_stopanimscripted();
level.vargas allowedstances( "crouch" );
common_scripts\utility::flag_set( "ground_rotate_ref" );
var_6 = getent( "c17_left_wing", "targetname" );
playfx( common_scripts\utility::getfx( "aerial_explosion_large" ), var_6.origin + ( 0, -200, -40 ) );
level.player shellshock( "hijack_minor", 4.0 );
level.plane_core maps\iplane::batman_rotate_plane();
}
anim_first_roll_everyone()
{
level.mccoy_anim_org maps\_utility::anim_stopanimscripted();
level.kersey_anim_org maps\_utility::anim_stopanimscripted();
level.elias hide();
level.hesh hide();
level.merrick hide();
level.elias = spawn( "script_origin", level.elias.origin );
level.elias.origin = level.elias.origin + ( 0, 0, 90 );
level.mccoy_anim_org.origin = level.mccoy_anim_org.origin + ( 120, 0, 150 );
level.kersey_anim_org.origin = level.kersey_anim_org.origin + ( 20, 0, 70 );
}
give_player_p99_back()
{
wait 0.6;
level.player giveweapon( "p99" );
level.player setweaponammoclip( "p99", 5 );
level.player setweaponammostock( "p99", 5 );
level.player enableweapons();
level.player switchtoweapon( "p99" );
}
move_primary_light( var_0 )
{
thread move_with_plane( var_0 );
var_0 setlightintensity( 1.5 );
}
move_with_plane( var_0 )
{
var_1 = spawn( "script_origin", var_0.origin );
var_1 linkto( level.plane_core );
var_0 endon( "kill_light" );
for (;;)
{
var_0 moveto( var_1.origin, 0.05 );
wait 0.05;
}
}
kill_angles_when_anim_done( var_0 )
{
wait( var_0 );
level.player playersetgroundreferenceent( undefined );
}
pause_smoke_fx()
{
var_0 = [];
var_0 = common_scripts\utility::array_combine( var_0, maps\_utility::getfxarraybyid( "interior_ceiling_smoke" ) );
var_0 = common_scripts\utility::array_combine( var_0, maps\_utility::getfxarraybyid( "interior_ceiling_smoke2" ) );
var_0 = common_scripts\utility::array_combine( var_0, maps\_utility::getfxarraybyid( "interior_ceiling_smoke3" ) );
level waittill( "volumetrics_setup" );
for (;;)
{
common_scripts\utility::flag_wait( "pause_plane_fx" );
foreach ( var_2 in var_0 )
var_2 common_scripts\utility::pauseeffect();
common_scripts\utility::flag_waitopen( "pause_plane_fx" );
foreach ( var_2 in var_0 )
var_2 maps\_utility::restarteffect();
}
}
fake_rotate_of_ai()
{
}
physics_of_objects_in_plane()
{
level endon( "iplane_done" );
level.orig_phys_gravity = getdvar( "phys_gravity" );
var_0 = getentarray( "zerog_physics", "targetname" );
foreach ( var_2 in var_0 )
physicsexplosionsphere( var_2.origin, 64, 32, 0.01 );
setphysicsgravitydir( ( 0, 0, -0.02 ) );
wait 0.3;
setphysicsgravitydir( ( 0.02, 0.05, -1 ) );
wait 2;
setphysicsgravitydir( ( 0.05, -0.05, 1 ) );
var_4 = 0;
setsaveddvar( "phys_gravity", 0 );
for (;;)
{
setsaveddvar( "phys_gravity", -5 );
var_5 = randomfloatrange( 1.3, 3.3 );
var_4++;
if ( var_4 == 1 )
setphysicsgravitydir( ( -0.02, 0.03, 0.01 ) );
if ( var_4 == 2 )
setphysicsgravitydir( ( 0, 0, -1 ) );
if ( var_4 == 3 )
setphysicsgravitydir( ( 0, -0.01, 0.01 ) );
if ( var_4 == 4 )
setsaveddvar( "phys_gravity", level.orig_phys_gravity );
if ( var_4 == 5 )
{
var_4 = 0;
setphysicsgravitydir( ( 0.03, 0, 0.05 ) );
}
foreach ( var_2 in var_0 )
physicsexplosionsphere( var_2.origin, 150, 75, 0.01 );
wait( var_5 );
}
}
crawl_hurt_pulse()
{
thread crawl_breath_start();
level waittill( "clear_hurt_pulses" );
}
pitch_and_roll()
{
self endon( "stop_bob" );
self endon( "death" );
var_0 = self;
var_1 = ( 0, 0, 0 );
var_2 = 20;
if ( isdefined( var_0.script_max_left_angle ) )
var_2 = var_0.script_max_left_angle;
var_3 = var_2 * 0.5;
var_4 = 4;
if ( isdefined( var_0.script_duration ) )
var_4 = var_0.script_duration;
var_5 = var_4 * 0.5;
var_0 = undefined;
for (;;)
{
var_6 = ( 0, randomfloatrange( var_3, var_2 ), randomfloatrange( var_3, var_2 ) );
var_7 = randomfloatrange( var_5, var_4 );
self rotateto( var_1 + var_6, var_7, var_7 * 0.2, var_7 * 0.2 );
self waittill( "rotatedone" );
self rotateto( var_1 - var_6, var_7, var_7 * 0.2, var_7 * 0.2 );
self waittill( "rotatedone" );
}
}
crawl_breath_start()
{
level endon( "crawl_breath_recover" );
level.player maps\_utility::play_sound_on_entity( "breathing_hurt_start" );
for (;;)
{
wait( randomfloatrange( 1.7, 3 ) );
level.player maps\_utility::play_sound_on_entity( "breathing_hurt" );
}
}
light_follow_plane( var_0 )
{
self endon( "kill_light" );
var_1 = self.origin - var_0.origin;
for (;;)
{
self moveto( var_0.origin + var_1, 0.05 );
wait 0.05;
}
}