LeviLamina
Loading...
Searching...
No Matches
NearestAttackableTargetGoal.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/legacy/ActorUniqueID.h"
7#include "mc/util/IntRange.h"
8#include "mc/world/actor/ai/goal/target/TargetGoal.h"
9
10// auto generated forward declare list
11// clang-format off
12class Mob;
13struct MobDescriptor;
14struct Tick;
15// clang-format on
16
17class NearestAttackableTargetGoal : public ::TargetGoal {
18public:
19 // member variables
20 // NOLINTBEGIN
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;
32 // NOLINTEND
33
34public:
35 // prevent constructor by default
36 NearestAttackableTargetGoal();
37
38public:
39 // virtual functions
40 // NOLINTBEGIN
41 virtual bool canUse() /*override*/;
42
43 virtual bool canContinueToUse() /*override*/;
44
45 virtual void start() /*override*/;
46
47 virtual void appendDebugInfo(::std::string& str) const /*override*/;
48
49 virtual ::ActorUniqueID _findTarget(::MobDescriptor const** outMobDescriptor);
50
51 virtual ~NearestAttackableTargetGoal() /*override*/;
52 // NOLINTEND
53
54public:
55 // member functions
56 // NOLINTBEGIN
57 MCAPI explicit NearestAttackableTargetGoal(::Mob& mob);
58
59 MCAPI bool _canStartSearching();
60
61 MCAPI bool _isTargetInCooldown(::MobDescriptor const& descriptor) const;
62
63 MCAPI bool _selectTarget();
64
65 MCAPI bool isTargetVisible(::Mob const& mob, float maxDistance, float maxHeight) const;
66 // NOLINTEND
67
68public:
69 // constructor thunks
70 // NOLINTBEGIN
71 MCAPI void* $ctor(::Mob& mob);
72 // NOLINTEND
73
74public:
75 // destructor thunk
76 // NOLINTBEGIN
77 MCAPI void $dtor();
78 // NOLINTEND
79
80public:
81 // virtual function thunks
82 // NOLINTBEGIN
83 MCAPI bool $canUse();
84
85 MCAPI bool $canContinueToUse();
86
87 MCAPI void $start();
88
89 MCAPI void $appendDebugInfo(::std::string& str) const;
90
91 MCAPI ::ActorUniqueID $_findTarget(::MobDescriptor const** outMobDescriptor);
92
93
94 // NOLINTEND
95
96public:
97 // vftables
98 // NOLINTBEGIN
99 MCAPI static void** $vftable();
100 // NOLINTEND
101};
Definition Mob.h:50
Definition MobDescriptor.h:8
Definition Tick.h:5