LeviLamina
Loading...
Searching...
No Matches
RangedAttackGoal.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/world/actor/TempEPtr.h"
7#include "mc/world/actor/ai/goal/Goal.h"
8
9// auto generated forward declare list
10// clang-format off
11class Actor;
12class Mob;
13class Vec3;
14// clang-format on
15
16class RangedAttackGoal : public ::Goal {
17public:
18 // member variables
19 // NOLINTBEGIN
20 ::ll::TypedStorage<8, 8, ::Mob&> mMob;
21 ::ll::TypedStorage<8, 40, ::TempEPtr<::Actor>> mTarget;
22 ::ll::TypedStorage<1, 1, bool> mIsChargedAttack;
23 ::ll::TypedStorage<1, 1, bool> mUsingChargedItem;
24 ::ll::TypedStorage<1, 1, bool> mSetPersistent;
25 ::ll::TypedStorage<1, 1, bool> mSwing;
26 ::ll::TypedStorage<4, 4, int> mReloadBurstTicks;
27 ::ll::TypedStorage<4, 4, int> mCanSeeTargetTicks;
28 ::ll::TypedStorage<4, 4, int> mBurstShotsLeft;
29 ::ll::TypedStorage<4, 4, int> mBurstTicks;
30 ::ll::TypedStorage<4, 4, int> mBurstCooldownTicks;
31 ::ll::TypedStorage<4, 4, int> mChargeTicks;
32 ::ll::TypedStorage<4, 4, int> mReloadTicksMin;
33 ::ll::TypedStorage<4, 4, int> mReloadTicksMax;
34 ::ll::TypedStorage<4, 4, int> mChargeReadyTicks;
35 ::ll::TypedStorage<4, 4, int> mChargeReloadTicks;
36 ::ll::TypedStorage<4, 4, int> mBurstShots;
37 ::ll::TypedStorage<4, 4, int> mTargetInSightTicks;
38 ::ll::TypedStorage<4, 4, float> mAttackRadius;
39 ::ll::TypedStorage<4, 4, float> mAttackRadiusMin;
40 ::ll::TypedStorage<4, 4, float> mAttackRadiusMinSq;
41 ::ll::TypedStorage<4, 4, float> mMaxRotationX;
42 ::ll::TypedStorage<4, 4, float> mMaxHeadRotationY;
43 ::ll::TypedStorage<4, 4, float> mRangedFov;
44 ::ll::TypedStorage<4, 4, float> mSpeedMultiplier;
45 // NOLINTEND
46
47public:
48 // prevent constructor by default
49 RangedAttackGoal& operator=(RangedAttackGoal const&);
50 RangedAttackGoal(RangedAttackGoal const&);
51 RangedAttackGoal();
52
53public:
54 // virtual functions
55 // NOLINTBEGIN
56 virtual bool canUse() /*override*/;
57
58 virtual bool canContinueToUse() /*override*/;
59
60 virtual void start() /*override*/;
61
62 virtual void stop() /*override*/;
63
64 virtual void tick() /*override*/;
65
66 virtual void appendDebugInfo(::std::string& str) const /*override*/;
67
68 virtual ~RangedAttackGoal() /*override*/ = default;
69 // NOLINTEND
70
71public:
72 // member functions
73 // NOLINTBEGIN
74 MCAPI void _dischargeCarriedItem();
75
76 MCAPI void
77 handleAttackBehavior(::Actor* lockedTarget, ::Vec3 const& lockedTargetPos, float targetDistanceSq, bool canSee);
78
79 MCAPI void handleChargeData();
80 // NOLINTEND
81
82public:
83 // virtual function thunks
84 // NOLINTBEGIN
85 MCAPI bool $canUse();
86
87 MCAPI bool $canContinueToUse();
88
89 MCAPI void $start();
90
91 MCAPI void $stop();
92
93 MCAPI void $tick();
94
95 MCAPI void $appendDebugInfo(::std::string& str) const;
96
97
98 // NOLINTEND
99
100public:
101 // vftables
102 // NOLINTBEGIN
103 MCNAPI static void** $vftable();
104 // NOLINTEND
105};
Definition Actor.h:105
Definition Goal.h:14
Definition Mob.h:50
static MCAPI void ** $vftable()
Definition Vec3.h:10