191 lines
4.0 KiB
Plaintext
191 lines
4.0 KiB
Plaintext
// IW6 GSC SOURCE
|
|
// Generated by https://github.com/xensik/gsc-tool
|
|
|
|
drone_give_soul()
|
|
{
|
|
assign_drone_tree();
|
|
self startusingheroonlylighting();
|
|
|
|
if ( isdefined( self.script_moveplaybackrate ) )
|
|
self.moveplaybackrate = self.script_moveplaybackrate;
|
|
else
|
|
self.moveplaybackrate = 1;
|
|
|
|
if ( self.team == "allies" )
|
|
{
|
|
maps\_names::get_name();
|
|
self setlookattext( self.name, &"" );
|
|
}
|
|
|
|
if ( isdefined( level.dronecallbackthread ) )
|
|
self thread [[ level.dronecallbackthread ]]();
|
|
|
|
if ( !isdefined( self.script_friendly_fire_disable ) )
|
|
level thread maps\_friendlyfire::friendly_fire_think( self );
|
|
|
|
if ( !isdefined( level.ai_dont_glow_in_thermal ) )
|
|
thermaldrawenabledrone();
|
|
}
|
|
|
|
thermaldrawenabledrone()
|
|
{
|
|
if ( !isdefined( level.dronesthermalteamselect ) )
|
|
level.dronesthermalteamselect = "all";
|
|
|
|
var_0 = 0;
|
|
|
|
switch ( level.dronesthermalteamselect )
|
|
{
|
|
case "all":
|
|
var_0 = 1;
|
|
break;
|
|
case "axis":
|
|
var_0 = self.team == "axis";
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
|
|
if ( var_0 )
|
|
self thermaldrawenable();
|
|
}
|
|
|
|
drone_init_path()
|
|
{
|
|
if ( !isdefined( self.target ) )
|
|
return;
|
|
|
|
if ( isdefined( level.drone_paths[self.target] ) )
|
|
return;
|
|
|
|
level.drone_paths[self.target] = 1;
|
|
var_0 = self.target;
|
|
var_1 = common_scripts\utility::getstruct( var_0, "targetname" );
|
|
|
|
if ( !isdefined( var_1 ) )
|
|
return;
|
|
|
|
var_2 = [];
|
|
var_3 = [];
|
|
var_4 = var_1;
|
|
|
|
for (;;)
|
|
{
|
|
var_1 = var_4;
|
|
var_5 = 0;
|
|
|
|
for (;;)
|
|
{
|
|
if ( !isdefined( var_1.target ) )
|
|
break;
|
|
|
|
var_6 = common_scripts\utility::getstructarray( var_1.target, "targetname" );
|
|
|
|
if ( var_6.size )
|
|
break;
|
|
|
|
var_7 = undefined;
|
|
|
|
foreach ( var_9 in var_6 )
|
|
{
|
|
if ( isdefined( var_3[var_9.origin + ""] ) )
|
|
continue;
|
|
|
|
var_7 = var_9;
|
|
break;
|
|
}
|
|
|
|
if ( !isdefined( var_7 ) )
|
|
break;
|
|
|
|
var_3[var_7.origin + ""] = 1;
|
|
var_2[var_1.targetname] = var_7.origin - var_1.origin;
|
|
var_1.angles = vectortoangles( var_2[var_1.targetname] );
|
|
var_1 = var_7;
|
|
var_5 = 1;
|
|
}
|
|
|
|
if ( !var_5 )
|
|
break;
|
|
}
|
|
|
|
var_0 = self.target;
|
|
var_1 = common_scripts\utility::getstruct( var_0, "targetname" );
|
|
var_11 = var_1;
|
|
var_3 = [];
|
|
|
|
for (;;)
|
|
{
|
|
var_1 = var_4;
|
|
var_5 = 0;
|
|
|
|
for (;;)
|
|
{
|
|
if ( !isdefined( var_1.target ) )
|
|
return;
|
|
|
|
if ( !isdefined( var_2[var_1.targetname] ) )
|
|
return;
|
|
|
|
var_6 = common_scripts\utility::getstructarray( var_1.target, "targetname" );
|
|
|
|
if ( var_6.size )
|
|
break;
|
|
|
|
var_7 = undefined;
|
|
|
|
foreach ( var_9 in var_6 )
|
|
{
|
|
if ( isdefined( var_3[var_9.origin + ""] ) )
|
|
continue;
|
|
|
|
var_7 = var_9;
|
|
break;
|
|
}
|
|
|
|
if ( !isdefined( var_7 ) )
|
|
break;
|
|
|
|
if ( isdefined( var_1.radius ) )
|
|
{
|
|
var_14 = var_2[var_11.targetname];
|
|
var_15 = var_2[var_1.targetname];
|
|
var_16 = ( var_14 + var_15 ) * 0.5;
|
|
var_1.angles = vectortoangles( var_16 );
|
|
}
|
|
|
|
var_5 = 1;
|
|
var_11 = var_1;
|
|
var_1 = var_7;
|
|
}
|
|
|
|
if ( !var_5 )
|
|
break;
|
|
}
|
|
}
|
|
|
|
assign_drone_tree()
|
|
{
|
|
if ( isdefined( self.type ) )
|
|
{
|
|
if ( self.type == "dog" )
|
|
assign_animals_tree();
|
|
else
|
|
assign_generic_human_tree();
|
|
}
|
|
}
|
|
|
|
#using_animtree("generic_human");
|
|
|
|
assign_generic_human_tree()
|
|
{
|
|
self useanimtree( #animtree );
|
|
}
|
|
|
|
#using_animtree("animals");
|
|
|
|
assign_animals_tree()
|
|
{
|
|
self useanimtree( #animtree );
|
|
}
|