LeviLamina
Loading...
Searching...
No Matches
MeleeAttackBaseGoal.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/math/Vec3.h"
7#include "mc/world/actor/ActorCategory.h"
8#include "mc/world/actor/ActorDefinitionTrigger.h"
9#include "mc/world/actor/TempEPtr.h"
10#include "mc/world/actor/ai/goal/Goal.h"
11
12// auto generated forward declare list
13// clang-format off
14class Actor;
15class Mob;
16class Path;
17namespace SharedTypes::v1_21_120 { struct MeleeAttackBaseGoalDefinition; }
18// clang-format on
19
20class MeleeAttackBaseGoal : public ::Goal {
21public:
22 // MeleeAttackBaseGoal inner types declare
23 // clang-format off
24 struct NavigationSettings;
25 // clang-format on
26
27 // MeleeAttackBaseGoal inner types define
29 public:
30 // NavigationSettings inner types define
32
33 public:
34 // member variables
35 // NOLINTBEGIN
36 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Path>> mPath;
37 ::ll::TypedStorage<4, 4, int> mMinPathTicks;
38 ::ll::TypedStorage<4, 4, int> mMaxPathTicks;
39 ::ll::TypedStorage<4, 4, int> mPathFailTickIncrease;
40 ::ll::TypedStorage<4, 4, int> mInnerBoundaryTickIncrease;
41 ::ll::TypedStorage<4, 4, int> mOuterBoundaryTickIncrease;
42 ::ll::TypedStorage<4, 4, int> mTicksToRecalculatePath;
43 ::ll::TypedStorage<4, 4, float> mPathInnerBoundarySq;
44 ::ll::TypedStorage<4, 4, float> mPathOuterBoundarySq;
45 ::ll::TypedStorage<4, 4, float> mSpeedMultiplier;
46 ::ll::TypedStorage<1, 1, bool> mRequireCompletePath;
47 ::ll::TypedStorage<1, 1, bool> mTrackTarget;
48 ::ll::TypedStorage<1, 1, bool> mHijackMountNavigation;
49 // NOLINTEND
50
51 public:
52 // member functions
53 // NOLINTBEGIN
54 MCAPI ~NavigationSettings();
55 // NOLINTEND
56
57 public:
58 // destructor thunk
59 // NOLINTBEGIN
60 MCFOLD void $dtor();
61 // NOLINTEND
62 };
63
64public:
65 // member variables
66 // NOLINTBEGIN
67 ::ll::TypedStorage<8, 48, ::MeleeAttackBaseGoal::NavigationSettings> mNavigation;
68 ::ll::TypedStorage<8, 8, ::Mob&> mMob;
69 ::ll::TypedStorage<8, 40, ::TempEPtr<::Actor>> mTarget;
70 ::ll::TypedStorage<4, 12, ::Vec3> mLastCachedTargetPosition;
71 ::ll::TypedStorage<4, 4, ::ActorCategory> mAttackTypes;
72 ::ll::TypedStorage<8, 104, ::ActorDefinitionTrigger> mOnAttack;
73 ::ll::TypedStorage<8, 104, ::ActorDefinitionTrigger> mOnKill;
74 ::ll::TypedStorage<4, 4, float> mMeleeFov;
75 ::ll::TypedStorage<4, 4, float> mMaxRotationX;
76 ::ll::TypedStorage<4, 4, float> mMaxHeadRotationY;
77 ::ll::TypedStorage<4, 4, int> mRandomStopInterval;
78 ::ll::TypedStorage<4, 4, int> mAttackTicks;
79 ::ll::TypedStorage<4, 4, int> mCooldownTicks;
80 ::ll::TypedStorage<1, 1, bool> mAttackOnce;
81 ::ll::TypedStorage<1, 1, bool> mHasAttacked;
82 ::ll::TypedStorage<1, 1, bool> mSetPersistent;
83 ::ll::TypedStorage<1, 1, bool> mCanSpreadOnFire;
84 // NOLINTEND
85
86public:
87 // prevent constructor by default
88 MeleeAttackBaseGoal& operator=(MeleeAttackBaseGoal const&);
89 MeleeAttackBaseGoal(MeleeAttackBaseGoal const&);
90 MeleeAttackBaseGoal();
91
92public:
93 // virtual functions
94 // NOLINTBEGIN
95 virtual ~MeleeAttackBaseGoal() /*override*/;
96
97 virtual bool canUse() /*override*/;
98
99 virtual bool canContinueToUse() /*override*/;
100
101 virtual void start() /*override*/;
102
103 virtual void stop() /*override*/;
104
105 virtual void tick() = 0;
106
107 virtual int getAttackTicksResetValue() const;
108 // NOLINTEND
109
110public:
111 // member functions
112 // NOLINTBEGIN
113 MCAPI explicit MeleeAttackBaseGoal(::Mob& mob);
114
115 MCAPI void _attemptAttackTarget(::Actor& target, bool canReachTarget, bool hasLineOfSight);
116
117 MCAPI void _attemptMoveToTargetPosition(::Actor const& target, bool canReachTarget, float targetDistanceSq);
118
119 MCAPI ::Mob& _getNavigatingMob() const;
120 // NOLINTEND
121
122public:
123 // constructor thunks
124 // NOLINTBEGIN
125 MCAPI void* $ctor(::Mob& mob);
126 // NOLINTEND
127
128public:
129 // destructor thunk
130 // NOLINTBEGIN
131 MCAPI void $dtor();
132 // NOLINTEND
133
134public:
135 // virtual function thunks
136 // NOLINTBEGIN
137 MCAPI bool $canUse();
138
139 MCAPI bool $canContinueToUse();
140
141 MCAPI void $start();
142
143 MCAPI void $stop();
144
145 MCFOLD int $getAttackTicksResetValue() const;
146
147
148 // NOLINTEND
149
150public:
151 // vftables
152 // NOLINTBEGIN
153 MCNAPI static void** $vftable();
154 // NOLINTEND
155};
Definition Actor.h:106
Definition Goal.h:14
static MCAPI void ** $vftable()
Definition Mob.h:51
Definition Path.h:16
Definition MeleeAttackBaseGoal.h:28
Definition MeleeAttackBaseGoalDefinition.h:16