LeviLamina
Loading...
Searching...
No Matches
AquaticChargeAttackGoal.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/legacy/ActorUniqueID.h"
8#include "mc/world/actor/ai/goal/AquaticChargeAttackSettings.h"
9#include "mc/world/actor/ai/goal/BaseGoal.h"
10#include "mc/world/level/Tick.h"
11
12// auto generated forward declare list
13// clang-format off
14class Actor;
15class Mob;
16// clang-format on
17
18class AquaticChargeAttackGoal : public ::BaseGoal {
19public:
20 // member variables
21 // NOLINTBEGIN
22 ::ll::TypedStorage<8, 8, ::Mob&> mMob;
23 ::ll::TypedStorage<4, 36, ::AquaticChargeAttackSettings> mSettings;
24 ::ll::TypedStorage<8, 16, ::std::optional<::ActorUniqueID>> mTargetId;
25 ::ll::TypedStorage<1, 1, bool> mHasAttacked;
26 ::ll::TypedStorage<1, 1, bool> mHasMissed;
27 ::ll::TypedStorage<4, 12, ::Vec3> mLockedTargetPosition;
28 ::ll::TypedStorage<8, 8, ::Tick> mNextChargeTick;
29 ::ll::TypedStorage<4, 12, ::Vec3> mRandomSwimTarget;
30 ::ll::TypedStorage<4, 12, ::Vec3> mRandomSwimLastPosition;
31 ::ll::TypedStorage<8, 8, ::Tick> mRandomSwimNoProgressTicks;
32 // NOLINTEND
33
34public:
35 // prevent constructor by default
36 AquaticChargeAttackGoal& operator=(AquaticChargeAttackGoal const&);
37 AquaticChargeAttackGoal(AquaticChargeAttackGoal const&);
38 AquaticChargeAttackGoal();
39
40public:
41 // virtual functions
42 // NOLINTBEGIN
43 virtual bool canUse() /*override*/;
44
45 virtual bool canContinueToUse() /*override*/;
46
47 virtual void start() /*override*/;
48
49 virtual void stop() /*override*/;
50
51 virtual void tick() /*override*/;
52
53 virtual void appendDebugInfo(::std::string& str) const /*override*/;
54 // NOLINTEND
55
56public:
57 // member functions
58 // NOLINTBEGIN
59 MCAPI explicit AquaticChargeAttackGoal(::Mob& mob);
60
61 MCAPI bool _isCloseEnoughToAttack() const;
62
63 MCAPI void _performKnockbackAttack(::Actor& target);
64
65 MCAPI void _resetForNextCharge();
66
67 MCAPI void _transitionToCooldown(bool hasAttacked);
68 // NOLINTEND
69
70public:
71 // constructor thunks
72 // NOLINTBEGIN
73 MCAPI void* $ctor(::Mob& mob);
74 // NOLINTEND
75
76public:
77 // virtual function thunks
78 // NOLINTBEGIN
79 MCAPI bool $canUse();
80
81 MCAPI bool $canContinueToUse();
82
83 MCAPI void $start();
84
85 MCAPI void $stop();
86
87 MCAPI void $tick();
88
89 MCAPI void $appendDebugInfo(::std::string& str) const;
90
91
92 // NOLINTEND
93
94public:
95 // vftables
96 // NOLINTBEGIN
97 MCNAPI static void** $vftable();
98 // NOLINTEND
99};
Definition Actor.h:125
static MCAPI void ** $vftable()
Definition Mob.h:57