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