18class AquaticChargeAttackGoal :
public ::Goal {
22 ::ll::TypedStorage<8, 8, ::Mob&> mMob;
23 ::ll::TypedStorage<4, 28, ::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;
36 AquaticChargeAttackGoal& operator=(AquaticChargeAttackGoal
const&);
37 AquaticChargeAttackGoal(AquaticChargeAttackGoal
const&);
38 AquaticChargeAttackGoal();
43 virtual bool canUse() ;
45 virtual bool canContinueToUse() ;
47 virtual void start() ;
53 virtual void appendDebugInfo(::std::string& str)
const ;
55 virtual ~AquaticChargeAttackGoal() =
default;
61 MCAPI ::Vec3 _calculateOvershootPosition(
::Actor const& target)
const;
63 MCAPI
void _randomSwimUpdate();
65 MCAPI
void _resetForNextCharge();
67 MCAPI
void _transitionToCooldown(
bool hasAttacked);
75 MCAPI
bool $canContinueToUse();
83 MCAPI
void $appendDebugInfo(::std::string& str)
const;