271 lines
8.6 KiB
Plaintext
271 lines
8.6 KiB
Plaintext
// IW6 GSC SOURCE
|
|
// Generated by https://github.com/xensik/gsc-tool
|
|
|
|
#using_animtree("animated_props");
|
|
|
|
main()
|
|
{
|
|
var_0 = spawnstruct();
|
|
var_0.targetname = "interactive_oilrig_jumpsuit";
|
|
var_0.name = "oilrig_jumpsuit";
|
|
var_0.animtree = #animtree;
|
|
|
|
if ( common_scripts\utility::issp() )
|
|
{
|
|
var_0.anims["idle1"] = %oilrig_jumpsuit_idle1;
|
|
var_0.anims["idle2"] = %oilrig_jumpsuit_idle2;
|
|
var_0.anims["move_b_large"] = %oilrig_jumpsuit_move_b_large;
|
|
var_0.anims["move_b_small"] = %oilrig_jumpsuit_move_b_small;
|
|
var_0.anims["move_bl_large"] = %oilrig_jumpsuit_move_bl_large;
|
|
var_0.anims["move_bl_small"] = %oilrig_jumpsuit_move_bl_small;
|
|
var_0.anims["move_br_large"] = %oilrig_jumpsuit_move_br_large;
|
|
var_0.anims["move_br_small"] = %oilrig_jumpsuit_move_br_small;
|
|
var_0.anims["move_f_large"] = %oilrig_jumpsuit_move_f_large;
|
|
var_0.anims["move_f_small"] = %oilrig_jumpsuit_move_f_small;
|
|
var_0.anims["move_fl_large"] = %oilrig_jumpsuit_move_fl_large;
|
|
var_0.anims["move_fl_small"] = %oilrig_jumpsuit_move_fl_small;
|
|
var_0.anims["move_fr_large"] = %oilrig_jumpsuit_move_fr_large;
|
|
var_0.anims["move_fr_small"] = %oilrig_jumpsuit_move_fr_small;
|
|
}
|
|
else
|
|
{
|
|
var_0.anims["idle1"] = "oilrig_jumpsuit_idle1";
|
|
var_0.anims["idle2"] = "oilrig_jumpsuit_idle2";
|
|
var_0.anims["move_b_large"] = "oilrig_jumpsuit_move_b_large";
|
|
var_0.anims["move_b_small"] = "oilrig_jumpsuit_move_b_small";
|
|
var_0.anims["move_bl_large"] = "oilrig_jumpsuit_move_bl_large";
|
|
var_0.anims["move_bl_small"] = "oilrig_jumpsuit_move_bl_small";
|
|
var_0.anims["move_br_large"] = "oilrig_jumpsuit_move_br_large";
|
|
var_0.anims["move_br_small"] = "oilrig_jumpsuit_move_br_small";
|
|
var_0.anims["move_f_large"] = "oilrig_jumpsuit_move_f_large";
|
|
var_0.anims["move_f_small"] = "oilrig_jumpsuit_move_f_small";
|
|
var_0.anims["move_fl_large"] = "oilrig_jumpsuit_move_fl_large";
|
|
var_0.anims["move_fl_small"] = "oilrig_jumpsuit_move_fl_small";
|
|
var_0.anims["move_fr_large"] = "oilrig_jumpsuit_move_fr_large";
|
|
var_0.anims["move_fr_small"] = "oilrig_jumpsuit_move_fr_small";
|
|
}
|
|
|
|
var_1 = getarraykeys( var_0.anims );
|
|
|
|
foreach ( var_3 in var_1 )
|
|
var_0.animlengths[var_3] = getanimlength( var_0.anims[var_3] );
|
|
|
|
if ( !isdefined( level._interactive ) )
|
|
level._interactive = [];
|
|
|
|
level._interactive[var_0.name] = var_0;
|
|
thread oilrig_jumpsuits( var_0 );
|
|
}
|
|
|
|
oilrig_jumpsuits( var_0 )
|
|
{
|
|
level waittill( "load_finished" );
|
|
|
|
if ( !isdefined( level._interactive[var_0.name + "_setup"] ) )
|
|
{
|
|
level._interactive[var_0.name + "_setup"] = 1;
|
|
var_1 = getentarray( var_0.targetname, "targetname" );
|
|
|
|
foreach ( var_3 in var_1 )
|
|
var_3 thread oilrig_jumpsuit( var_0 );
|
|
}
|
|
}
|
|
|
|
oilrig_jumpsuit( var_0 )
|
|
{
|
|
level endon( "game_ended" );
|
|
oilrig_jumpsuit_precache();
|
|
|
|
if ( isdefined( self.target ) )
|
|
{
|
|
var_1 = getentarray( self.target, "targetname" );
|
|
var_2 = common_scripts\utility::getclosest( self.origin, var_1 );
|
|
var_2 hide();
|
|
var_2 thread oilrig_jumpsuit_hitbox_ondamage( self );
|
|
}
|
|
|
|
thread oilrig_jumpsuit_ondamage( var_0.anims, var_0.animlengths );
|
|
}
|
|
|
|
oilrig_jumpsuit_precache( var_0 )
|
|
{
|
|
if ( !common_scripts\utility::issp() )
|
|
{
|
|
foreach ( var_2 in var_0 )
|
|
call [[ level.func["precacheMpAnim"] ]]( var_2 );
|
|
}
|
|
}
|
|
|
|
oilrig_jumpsuit_ondamage( var_0, var_1 )
|
|
{
|
|
level endon( "game_ended" );
|
|
self endon( "stop_scripts" );
|
|
|
|
if ( isdefined( level.func["useanimtree"] ) )
|
|
self call [[ level.func["useanimtree"] ]]( #animtree );
|
|
|
|
var_2 = common_scripts\utility::ter_op( common_scripts\utility::issp(), level.func["clearanim"], level.func["scriptModelClearAnim"] );
|
|
var_3 = common_scripts\utility::ter_op( common_scripts\utility::issp(), level.func["setanim"], level.func["scriptModelPlayAnim"] );
|
|
|
|
for (;;)
|
|
{
|
|
var_4 = undefined;
|
|
var_5 = undefined;
|
|
var_6 = undefined;
|
|
var_7 = undefined;
|
|
self waittill( "damage", var_8, var_9, var_10, var_11, var_12 );
|
|
var_5 = "move_";
|
|
var_13 = self.angles[1];
|
|
var_14 = angleclamp( vectortoyaw( var_10 ) );
|
|
var_15 = 15;
|
|
var_16 = common_scripts\utility::ter_op( var_14 - var_13 > 0, 1, -1 );
|
|
var_17 = var_14 - var_13;
|
|
var_17 = common_scripts\utility::ter_op( abs( var_17 ) > 180, -1 * var_16 * ( 360 - abs( var_17 ) ), var_16 * abs( var_17 ) );
|
|
|
|
if ( abs( var_17 ) > 90 )
|
|
{
|
|
if ( var_17 > 0 && 180 - abs( var_17 ) > var_15 )
|
|
var_5 = var_5 + "br";
|
|
else if ( var_17 < 0 && 180 - abs( var_17 ) > var_15 )
|
|
var_5 = var_5 + "bl";
|
|
else
|
|
var_5 = var_5 + "b";
|
|
}
|
|
else if ( abs( var_17 ) < 90 )
|
|
{
|
|
if ( var_17 < 0 && abs( var_17 ) > var_15 )
|
|
var_5 = var_5 + "fl";
|
|
else if ( var_17 > 0 && abs( var_17 ) > var_15 )
|
|
var_5 = var_5 + "fr";
|
|
else
|
|
var_5 = var_5 + "f";
|
|
}
|
|
|
|
var_4 = "small";
|
|
var_6 = 0;
|
|
|
|
if ( isdefined( var_12 ) )
|
|
{
|
|
switch ( var_12 )
|
|
{
|
|
case "MOD_EXPLOSIVE_SPLASH":
|
|
case "MOD_GRENADE_SPLASH":
|
|
case "MOD_GRENADE":
|
|
case "MOD_EXPLOSIVE":
|
|
var_7 = length( var_10 - ( 0, 0, 100 ) );
|
|
var_6 = ( var_7 - 50 ) / 400;
|
|
var_6 = max( var_6, 0 );
|
|
|
|
if ( var_6 > 1 )
|
|
var_6 = 0;
|
|
|
|
if ( var_8 > 85 )
|
|
var_4 = "large";
|
|
|
|
break;
|
|
}
|
|
}
|
|
|
|
var_5 = var_5 + ( "_" + var_4 );
|
|
|
|
if ( isdefined( self.script_parameters ) )
|
|
{
|
|
if ( isdefined( var_0[var_5 + "_" + self.script_parameters] ) )
|
|
var_5 = var_5 + ( "_" + self.script_parameters );
|
|
}
|
|
|
|
wait( var_6 );
|
|
|
|
if ( common_scripts\utility::issp() )
|
|
{
|
|
self call [[ var_2 ]]( var_0["idle1"], 0 );
|
|
self call [[ var_2 ]]( var_0["idle2"], 0 );
|
|
}
|
|
else
|
|
self call [[ var_2 ]]();
|
|
|
|
if ( common_scripts\utility::issp() )
|
|
self call [[ var_3 ]]( var_0[var_5], 1, 0, 1 );
|
|
else
|
|
self call [[ var_3 ]]( var_0[var_5] );
|
|
|
|
var_13 = undefined;
|
|
var_14 = undefined;
|
|
var_15 = undefined;
|
|
var_16 = undefined;
|
|
var_17 = undefined;
|
|
var_8 = undefined;
|
|
var_9 = undefined;
|
|
var_10 = undefined;
|
|
var_11 = undefined;
|
|
var_12 = undefined;
|
|
wait( var_1[var_5] );
|
|
|
|
if ( common_scripts\utility::issp() )
|
|
self call [[ var_2 ]]( var_0[var_5], 0 );
|
|
else
|
|
self call [[ var_2 ]]();
|
|
|
|
thread oilrig_jumpsuit_playidleanim( var_0, var_1 );
|
|
}
|
|
}
|
|
|
|
oilrig_jumpsuit_playidleanim( var_0, var_1 )
|
|
{
|
|
level endon( "game_ended" );
|
|
self endon( "damage" );
|
|
self endon( "stop_scripts" );
|
|
var_2 = common_scripts\utility::ter_op( common_scripts\utility::issp(), level.func["clearanim"], level.func["scriptModelClearAnim"] );
|
|
var_3 = common_scripts\utility::ter_op( common_scripts\utility::issp(), level.func["setanim"], level.func["scriptModelPlayAnim"] );
|
|
var_4 = randomintrange( 1, 3 );
|
|
|
|
for ( var_5 = 0; var_5 < var_4; var_5++ )
|
|
{
|
|
if ( common_scripts\utility::issp() )
|
|
self call [[ var_3 ]]( var_0["idle1"], 1, 0, 1 );
|
|
else
|
|
self call [[ var_3 ]]( var_0["idle1"] );
|
|
|
|
wait( var_1["idle1"] );
|
|
|
|
if ( common_scripts\utility::issp() )
|
|
{
|
|
self call [[ var_2 ]]( var_0["idle1"], 0 );
|
|
continue;
|
|
}
|
|
|
|
self call [[ var_2 ]]();
|
|
}
|
|
|
|
if ( common_scripts\utility::issp() )
|
|
self call [[ var_3 ]]( var_0["idle2"], 1, 0, 1 );
|
|
else
|
|
self call [[ var_3 ]]( var_0["idle2"] );
|
|
|
|
wait( var_1["idle2"] );
|
|
wait( randomfloat( 3 ) );
|
|
|
|
if ( common_scripts\utility::issp() )
|
|
self call [[ var_2 ]]( var_0["idle2"], 0 );
|
|
else
|
|
self call [[ var_2 ]]();
|
|
}
|
|
|
|
oilrig_jumpsuit_hitbox_ondamage( var_0 )
|
|
{
|
|
level endon( "game_ended" );
|
|
self endon( "stop_scripts" );
|
|
self setcandamage( 1 );
|
|
|
|
for (;;)
|
|
{
|
|
var_1 = undefined;
|
|
var_2 = undefined;
|
|
var_3 = undefined;
|
|
var_4 = undefined;
|
|
var_5 = undefined;
|
|
self waittill( "damage", var_1, var_2, var_3, var_4, var_5 );
|
|
var_0 notify( "damage", var_1, var_2, var_3, var_4, var_5 );
|
|
}
|
|
}
|