18class NearestAttackableTargetGoal :
public ::TargetGoal {
22 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mTargetID;
23 ::ll::TypedStorage<8, 8, ::MobDescriptor const*> mTargetDescriptor;
24 ::ll::TypedStorage<1, 1, bool> mReselectTargets;
25 ::ll::TypedStorage<8, 64, ::std::unordered_map<::MobDescriptor const*, ::Tick>> mTargetCooldowns;
26 ::ll::TypedStorage<4, 8, ::IntRange> mAttackIntervalTicks;
27 ::ll::TypedStorage<4, 4, int> mScanInterval;
28 ::ll::TypedStorage<1, 1, bool> mSetPersistent;
29 ::ll::TypedStorage<4, 4, float> mTargetSearchHeight;
30 ::ll::TypedStorage<4, 4, float> mTargetInvisibleMultiplier;
31 ::ll::TypedStorage<4, 4, float> mTargetSneakVisibilityMultiplier;
32 ::ll::TypedStorage<4, 4, float> mTargetAcquisitionProbability;
37 NearestAttackableTargetGoal();
42 virtual bool canUse() ;
44 virtual bool canContinueToUse() ;
46 virtual void start() ;
48 virtual void appendDebugInfo(::std::string& str)
const ;
50 virtual ::ActorUniqueID _findTarget(
::MobDescriptor const** outMobDescriptor);
60 MCAPI
bool _selectTarget();