1 #using scripts\codescripts\struct;
3 #using scripts\shared\math_shared;
4 #using scripts\shared\statemachine_shared;
5 #using scripts\shared\system_shared;
6 #using scripts\shared\array_shared;
7 #using scripts\shared\util_shared;
9 #using scripts\shared\vehicle_shared;
10 #using scripts\shared\vehicle_ai_shared;
11 #using scripts\shared\vehicle_death_shared;
12 #using scripts\shared\clientfield_shared;
14 #insert scripts\shared\shared.gsh;
15 #insert scripts\shared\archetype_shared\archetype_shared.gsh;
17 #insert scripts\shared\ai\utility.gsh;
18 #insert scripts\shared\version.gsh;
20 #using_animtree( "generic" );
22 #namespace counteruav;
33 self UseAnimTree( #animtree );
35 Target_Set(
self, ( 0, 0, 0 ) );
37 self.health =
self.healthdefault;
44 self SetVehicleAvoidance(
true );
46 self SetHoverParams( 50.0, 100.0, 100.0 );
48 self.vehAirCraftCollisionEnabled =
true;
50 assert( isdefined(
self.scriptbundlesettings ) );
53 self.goalRadius = 999999;
54 self.goalHeight = 999999;
55 self SetGoal(
self.origin,
false,
self.goalRadius,
self.goalHeight );
62 if( IsDefined( level.vehicle_initializer_cb ) )
64 [[level.vehicle_initializer_cb]]( self );
68 function drone_callback_damage( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, weapon, vPoint, vDir, sHitLoc, vDamageOrigin, psOffsetTime, damageFromUnderneath, modelIndex, partName, vSurfaceNormal )
70 iDamage =
vehicle_ai::shared_callback_damage( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, weapon, vPoint, vDir, sHitLoc, vDamageOrigin, psOffsetTime, damageFromUnderneath, modelIndex, partName, vSurfaceNormal );