16class StalkAndPounceOnTargetGoal :
public ::BaseGoal {
19 enum class StalkAndPounceState : uchar {
30 ::ll::TypedStorage<4, 4, float> mStalkSpeed;
31 ::ll::TypedStorage<4, 4, float> mStalkingMaxDistanceSqr;
32 ::ll::TypedStorage<4, 4, float> mLeapHeight;
33 ::ll::TypedStorage<4, 4, float> mLeapDistance;
34 ::ll::TypedStorage<4, 4, float> mMaxPounceDistanceSqr;
35 ::ll::TypedStorage<4, 4, float> mStrikeDistanceSqr;
36 ::ll::TypedStorage<4, 4, int> mInterestedTicks;
37 ::ll::TypedStorage<4, 4, int> mStuckTicks;
38 ::ll::TypedStorage<8, 8, ::Tick> mEndTimestamp;
39 ::ll::TypedStorage<8, 64, ::ActorFilterGroup> mStuckBlockList;
40 ::ll::TypedStorage<1, 1, ::StalkAndPounceOnTargetGoal::StalkAndPounceState> mState;
41 ::ll::TypedStorage<8, 8, ::Mob&> mMob;
42 ::ll::TypedStorage<1, 1, bool> mSetPersistent;
47 StalkAndPounceOnTargetGoal& operator=(StalkAndPounceOnTargetGoal
const&);
48 StalkAndPounceOnTargetGoal(StalkAndPounceOnTargetGoal
const&);
49 StalkAndPounceOnTargetGoal();
54 virtual bool canUse() ;
56 virtual bool canContinueToUse() ;
58 virtual void start() ;
64 virtual bool canBeInterrupted() ;
66 virtual void appendDebugInfo(::std::string& str)
const ;
72 MCAPI StalkAndPounceOnTargetGoal(
76 float stalkGiveUpDist,
86 MCAPI
void _attemptToStrike(
::Vec3 const& mobPos,
::Vec3 const& targetPos);
88 MCAPI
bool _isPouncePathClear(
::Vec3 const& mobPos,
::Vec3 const& targetPos)
const;
90 MCAPI
void _pounce(
::Vec3 const& mobPos,
::Vec3 const& targetPos)
const;
92 MCAPI
void _preparePounce(
::Vec3 const& mobPos,
::Vec3 const& targetPos);
94 MCAPI
void _stalkPrey(
::Vec3 const& mobPos,
::Vec3 const& targetPos);
106 float stalkGiveUpDist,
110 float strikeDistance,
111 float interestedTime,
120 MCAPI
bool $canUse();
122 MCAPI
bool $canContinueToUse();
130 MCAPI
bool $canBeInterrupted();
132 MCAPI
void $appendDebugInfo(::std::string& str)
const;