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/BaseGoal.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 ::BaseGoal {
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 // NOLINTEND
68
69public:
70 // member functions
71 // NOLINTBEGIN
72 MCAPI explicit RangedAttackGoal(::Mob& mob);
73
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 // constructor thunks
84 // NOLINTBEGIN
85 MCAPI void* $ctor(::Mob& mob);
86 // NOLINTEND
87
88public:
89 // virtual function thunks
90 // NOLINTBEGIN
91 MCAPI bool $canUse();
92
93 MCAPI bool $canContinueToUse();
94
95 MCAPI void $start();
96
97 MCAPI void $stop();
98
99 MCAPI void $tick();
100
101 MCAPI void $appendDebugInfo(::std::string& str) const;
102
103
104 // NOLINTEND
105
106public:
107 // vftables
108 // NOLINTBEGIN
109 MCNAPI static void** $vftable();
110 // NOLINTEND
111};
Definition Actor.h:125
Definition Mob.h:57
static MCAPI void ** $vftable()
Definition Vec3.h:10