20class MeleeAttackBaseGoal :
public ::Goal {
36 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::Path>> mPath;
37 ::ll::TypedStorage<4, 4, int> mMinPathTicks;
38 ::ll::TypedStorage<4, 4, int> mMaxPathTicks;
39 ::ll::TypedStorage<4, 4, int> mPathFailTickIncrease;
40 ::ll::TypedStorage<4, 4, int> mInnerBoundaryTickIncrease;
41 ::ll::TypedStorage<4, 4, int> mOuterBoundaryTickIncrease;
42 ::ll::TypedStorage<4, 4, int> mTicksToRecalculatePath;
43 ::ll::TypedStorage<4, 4, float> mPathInnerBoundarySq;
44 ::ll::TypedStorage<4, 4, float> mPathOuterBoundarySq;
45 ::ll::TypedStorage<4, 4, float> mSpeedMultiplier;
46 ::ll::TypedStorage<1, 1, bool> mRequireCompletePath;
47 ::ll::TypedStorage<1, 1, bool> mTrackTarget;
48 ::ll::TypedStorage<1, 1, bool> mHijackMountNavigation;
67 ::ll::TypedStorage<8, 48, ::MeleeAttackBaseGoal::NavigationSettings> mNavigation;
68 ::ll::TypedStorage<8, 8, ::Mob&> mMob;
69 ::ll::TypedStorage<8, 40, ::TempEPtr<::Actor>> mTarget;
70 ::ll::TypedStorage<4, 12, ::Vec3> mLastCachedTargetPosition;
71 ::ll::TypedStorage<4, 4, ::ActorCategory> mAttackTypes;
72 ::ll::TypedStorage<8, 104, ::ActorDefinitionTrigger> mOnAttack;
73 ::ll::TypedStorage<8, 104, ::ActorDefinitionTrigger> mOnKill;
74 ::ll::TypedStorage<4, 4, float> mMeleeFov;
75 ::ll::TypedStorage<4, 4, float> mMaxRotationX;
76 ::ll::TypedStorage<4, 4, float> mMaxHeadRotationY;
77 ::ll::TypedStorage<4, 4, int> mRandomStopInterval;
78 ::ll::TypedStorage<4, 4, int> mAttackTicks;
79 ::ll::TypedStorage<4, 4, int> mCooldownTicks;
80 ::ll::TypedStorage<1, 1, bool> mAttackOnce;
81 ::ll::TypedStorage<1, 1, bool> mHasAttacked;
82 ::ll::TypedStorage<1, 1, bool> mSetPersistent;
83 ::ll::TypedStorage<1, 1, bool> mCanSpreadOnFire;
88 MeleeAttackBaseGoal& operator=(MeleeAttackBaseGoal
const&);
89 MeleeAttackBaseGoal(MeleeAttackBaseGoal
const&);
90 MeleeAttackBaseGoal();
95 virtual ~MeleeAttackBaseGoal() ;
97 virtual bool canUse() ;
99 virtual bool canContinueToUse() ;
101 virtual void start() ;
103 virtual void stop() ;
105 virtual void tick() = 0;
107 virtual int getAttackTicksResetValue()
const;
113 MCAPI
explicit MeleeAttackBaseGoal(
::Mob& mob);
115 MCAPI
void _attemptAttackTarget(
::Actor& target,
bool canReachTarget,
bool hasLineOfSight);
117 MCAPI
void _attemptMoveToTargetPosition(
::Actor const& target,
bool canReachTarget,
float targetDistanceSq);
119 MCAPI ::Mob& _getNavigatingMob()
const;
125 MCAPI
void* $ctor(
::Mob& mob);
137 MCAPI
bool $canUse();
139 MCAPI
bool $canContinueToUse();
145 MCFOLD
int $getAttackTicksResetValue()
const;