1 #using scripts\shared\ai\systems\blackboard;
2 #using scripts\shared\ai\systems\shared;
3 #using scripts\shared\ai\archetype_utility;
5 #insert scripts\shared\ai\systems\blackboard.gsh;
6 #insert scripts\shared\ai\utility.gsh;
7 #insert scripts\shared\shared.gsh;
26 Assert(IsVehicle(
self),
"RegisterVehicleBlackBoardAttributes: Should only be called on vehicles");
34 velocity =
self GetVelocity();
35 return Length( velocity );
38 #define DEFAULT_ENEMY_YAW 0
43 if( !IsDefined( enemy ) )
54 if( IsDefined(entity.predictedYawToEnemy) && IsDefined(entity.predictedYawToEnemyTime) && entity.predictedYawToEnemyTime == GetTime() )
55 return entity.predictedYawToEnemy;
57 selfPredictedPos = entity.origin;
58 moveAngle = entity.angles[1] + entity getMotionAngle();
59 selfPredictedPos += (cos( moveAngle ), sin( moveAngle ), 0) * 200.0 * lookAheadTime;
61 yaw = VectorToAngles(entity.enemy.origin - selfPredictedPos)[1] - entity.angles[1];
62 yaw = AbsAngleClamp360( yaw );
65 entity.predictedYawToEnemy = yaw;
66 entity.predictedYawToEnemyTime = GetTime();