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