17class NearestAttackableTargetGoal :
public ::TargetGoal {
21 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mTargetID;
22 ::ll::TypedStorage<8, 8, ::MobDescriptor const*> mTargetDescriptor;
23 ::ll::TypedStorage<1, 1, bool> mReselectTargets;
24 ::ll::TypedStorage<8, 64, ::std::unordered_map<::MobDescriptor const*, ::Tick>> mTargetCooldowns;
25 ::ll::TypedStorage<4, 8, ::IntRange> mAttackIntervalTicks;
26 ::ll::TypedStorage<4, 4, int> mScanInterval;
27 ::ll::TypedStorage<1, 1, bool> mSetPersistent;
28 ::ll::TypedStorage<4, 4, float> mTargetSearchHeight;
29 ::ll::TypedStorage<4, 4, float> mTargetInvisibleMultiplier;
30 ::ll::TypedStorage<4, 4, float> mTargetSneakVisibilityMultiplier;
31 ::ll::TypedStorage<4, 4, float> mTargetAcquisitionProbability;
36 NearestAttackableTargetGoal();
41 virtual bool canUse() ;
43 virtual bool canContinueToUse() ;
45 virtual void start() ;
47 virtual void appendDebugInfo(::std::string& str)
const ;
49 virtual ::ActorUniqueID _findTarget(
::MobDescriptor const** outMobDescriptor);
55 MCAPI
explicit NearestAttackableTargetGoal(
::Mob& mob);
57 MCAPI
bool _isTargetInCooldown(
::MobDescriptor const& descriptor)
const;
59 MCAPI
bool _selectTarget();
61 MCAPI
bool isTargetVisible(
::Mob const& mob,
float maxDistance,
float maxHeight)
const;
67 MCAPI
void* $ctor(
::Mob& mob);
75 MCAPI
bool $canContinueToUse();
79 MCAPI
void $appendDebugInfo(::std::string& str)
const;
81 MCAPI ::ActorUniqueID $_findTarget(
::MobDescriptor const** outMobDescriptor);