31 enum class Direction :
int {
38 enum class State :
int {
41 VerifyTargetStillInPosition = 2,
52 ::ll::TypedStorage<4, 12, ::Vec3> mPosition;
53 ::ll::TypedStorage<4, 4, float> mDistance;
54 ::ll::TypedStorage<1, 1, bool> mCheckX;
55 ::ll::TypedStorage<4, 4, ::RamAttackGoal::Direction> mDirection;
56 ::ll::TypedStorage<1, 1, bool> mHasChargePos;
63 ::ll::TypedStorage<8, 8, ::Mob&> mMob;
64 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Path>> mPath;
65 ::ll::TypedStorage<4, 12, ::Vec3> mPrepareChargePos;
66 ::ll::TypedStorage<4, 12, ::Vec3> mTargetPos;
67 ::ll::TypedStorage<4, 8, ::Vec2> mRamDirection;
68 ::ll::TypedStorage<8, 8, ::Tick> mWaitBeforeChargeTimer;
69 ::ll::TypedStorage<8, 8, ::Tick> mChargeTimeoutTimer;
70 ::ll::TypedStorage<8, 8, ::Tick> mKnockAfterChargeTimeoutTimer;
71 ::ll::TypedStorage<8, 8, ::Tick> mRamRetryTimeout;
72 ::ll::TypedStorage<4, 4, ::RamAttackGoal::State> mState;
73 ::ll::TypedStorage<8, 24, ::std::vector<::RamAttackGoal::AttackPos>> mAttackPosVector;
74 ::ll::TypedStorage<4, 4, int> mRamDistance;
75 ::ll::TypedStorage<4, 4, int> mMinRamDistance;
76 ::ll::TypedStorage<4, 4, float> mKnockbackForce;
77 ::ll::TypedStorage<4, 4, float> mKnockbackHeight;
78 ::ll::TypedStorage<4, 4, float> mBabyKnockbackModifier;
79 ::ll::TypedStorage<4, 4, float> mRunSpeed;
80 ::ll::TypedStorage<4, 4, float> mRamSpeed;
81 ::ll::TypedStorage<8, 24, ::std::vector<::ActorDefinitionTrigger>> mOnStartTriggers;
82 ::ll::TypedStorage<4, 4, ::SharedTypes::Legacy::LevelSoundEvent> mPreRamSound;
83 ::ll::TypedStorage<4, 4, ::SharedTypes::Legacy::LevelSoundEvent> mRamImpactSound;
84 ::ll::TypedStorage<4, 8, ::SharedTypes::FloatRange> mCooldownTime;
85 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mTargetId;
86 ::ll::TypedStorage<1, 1, bool> mHasKnockbacked;
87 ::ll::TypedStorage<8, 8, ::Tick> mCooldownTimeout;
88 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::RamAttackGoalUtils::RamGoalItemDropperInterface>> mRamGoalItemDropper;
93 RamAttackGoal& operator=(RamAttackGoal
const&);
94 RamAttackGoal(RamAttackGoal
const&);
100 virtual void start() ;
102 virtual void stop() ;
104 virtual bool canUse() ;
106 virtual bool canContinueToUse() ;
108 virtual void tick() ;
110 virtual void appendDebugInfo(::std::string& str)
const ;
116 MCAPI RamAttackGoal(
::Mob& mob, ::std::string name,
::GoalId const& goalId);
118 MCAPI
void _findTreeBehindTarget();
120 MCAPI
bool _initiateRamAttack();
122 MCAPI
void _tryKnockbackTarget();
128 MCAPI
void* $ctor(
::Mob& mob, ::std::string name,
::GoalId const& goalId);
138 MCAPI
bool $canUse();
140 MCAPI
bool $canContinueToUse();
144 MCAPI
void $appendDebugInfo(::std::string& str)
const;