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