Skip to content
LeviMC
English
AutoLightDark
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;
13struct GoalId;
14// clang-format on
15
16class RangedAttackGoal : public ::BaseGoal {
17public:
18 // RangedAttackGoal inner types define
19 enum class InRangeMovementMode : int {
20 HoldPosition = 0,
21 FollowTarget = 1,
22 };
23
24public:
25 // member variables
26 // NOLINTBEGIN
27 ::ll::TypedStorage<8, 8, ::Mob&> mMob;
28 ::ll::TypedStorage<8, 40, ::TempEPtr<::Actor>> mTarget;
29 ::ll::TypedStorage<1, 1, bool> mIsChargedAttack;
30 ::ll::TypedStorage<1, 1, bool> mUsingChargedItem;
31 ::ll::TypedStorage<1, 1, bool> mSetPersistent;
32 ::ll::TypedStorage<1, 1, bool> mSwing;
33 ::ll::TypedStorage<4, 4, int> mReloadBurstTicks;
34 ::ll::TypedStorage<4, 4, int> mCanSeeTargetTicks;
35 ::ll::TypedStorage<4, 4, int> mBurstShotsLeft;
36 ::ll::TypedStorage<4, 4, int> mBurstTicks;
37 ::ll::TypedStorage<4, 4, int> mBurstCooldownTicks;
38 ::ll::TypedStorage<4, 4, int> mChargeTicks;
39 ::ll::TypedStorage<4, 4, int> mReloadTicksMin;
40 ::ll::TypedStorage<4, 4, int> mReloadTicksMax;
41 ::ll::TypedStorage<4, 4, int> mChargeReadyTicks;
42 ::ll::TypedStorage<4, 4, int> mChargeReloadTicks;
43 ::ll::TypedStorage<4, 4, int> mBurstShots;
44 ::ll::TypedStorage<4, 4, int> mTargetInSightTicks;
45 ::ll::TypedStorage<4, 4, float> mAttackRadius;
46 ::ll::TypedStorage<4, 4, float> mAttackRadiusMin;
47 ::ll::TypedStorage<4, 4, float> mAttackRadiusMinSq;
48 ::ll::TypedStorage<4, 4, float> mMaxRotationX;
49 ::ll::TypedStorage<4, 4, float> mMaxHeadRotationY;
50 ::ll::TypedStorage<4, 4, float> mRangedFov;
51 ::ll::TypedStorage<4, 4, float> mSpeedMultiplier;
52 ::ll::TypedStorage<4, 4, ::RangedAttackGoal::InRangeMovementMode> mInRangeMovementMode;
53 // NOLINTEND
54
55public:
56 // prevent constructor by default
57 RangedAttackGoal& operator=(RangedAttackGoal const&);
58 RangedAttackGoal(RangedAttackGoal const&);
59 RangedAttackGoal();
60
61public:
62 // virtual functions
63 // NOLINTBEGIN
64 virtual bool canUse() /*override*/;
65
66 virtual bool canContinueToUse() /*override*/;
67
68 virtual void start() /*override*/;
69
70 virtual void stop() /*override*/;
71
72 virtual void tick() /*override*/;
73
74 virtual void appendDebugInfo(::std::string& str) const /*override*/;
75 // NOLINTEND
76
77public:
78 // member functions
79 // NOLINTBEGIN
80 MCNAPI RangedAttackGoal(::Mob& mob, ::std::string name, ::GoalId const& goalId);
81
82 MCNAPI void _dischargeCarriedItem();
83 // NOLINTEND
84
85public:
86 // constructor thunks
87 // NOLINTBEGIN
88 MCNAPI void* $ctor(::Mob& mob, ::std::string name, ::GoalId const& goalId);
89 // NOLINTEND
90
91public:
92 // virtual function thunks
93 // NOLINTBEGIN
94 MCNAPI bool $canUse();
95
96 MCNAPI bool $canContinueToUse();
97
98 MCNAPI void $start();
99
100 MCNAPI void $stop();
101
102 MCNAPI void $tick();
103
104 MCNAPI void $appendDebugInfo(::std::string& str) const;
105
106
107 // NOLINTEND
108};
Definition Actor.h:116
Definition BaseGoal.h:12
Definition Mob.h:58
MCAPI bool $canContinueToUse()
MCAPI void $tick()
MCAPI void $appendDebugInfo(::std::string &str) const
MCAPI RangedAttackGoal(::Mob &mob, ::std::string name, ::GoalId const &goalId)
MCAPI void _dischargeCarriedItem()
MCAPI bool $canUse()
MCAPI void $stop()
MCAPI void * $ctor(::Mob &mob, ::std::string name, ::GoalId const &goalId)
MCAPI void $start()
Definition GoalId.h:5