16class MeleeAttackGoal :
public ::MeleeAttackBaseGoal {
19 using AttackReachEvaluator =
20 bool (*)(
::Mob const&,
::Vec3 const&,
float const,
float const,
float const,
float const,
int const);
22 using LineOfSightEvaluator = bool (*)(
::Mob const&,
::Actor const&);
30 bool (*)(
::Mob const&,
::Vec3 const&,
float const,
float const,
float const,
float const,
int const)>
32 ::ll::TypedStorage<8, 8, bool (*)(
::Mob const&,
::Actor const&)> mLineOfSightEvaluator;
33 ::ll::TypedStorage<4, 4, float> mReachMultiplier;
43 virtual ~MeleeAttackGoal() ;
47 virtual void appendDebugInfo(::std::string& str)
const ;
53 MCAPI
explicit MeleeAttackGoal(
::Mob& mob);
55 MCAPI
float _getAttackReachSqr(
::Actor const& target)
const;
61 MCAPI
static bool _canReachTarget(
63 ::Vec3 const& targetPosition,
67 float targetXZDistanceSqr,
71 MCAPI
static bool _canReachTargetLegacy(
77 float targetXZDistanceSqr,
81 MCFOLD
static bool _isTargetInLineOfSight(
::Mob const& mob,
::Actor const& target);
83 MCAPI
static bool _isTargetInLineOfSightLegacy(
::Mob const& mob,
::Actor const& target);
89 MCAPI static ::BaseGameVersion
const& MIN_3D_ATTACK_VERSION();
91 MCAPI static ::BaseGameVersion
const& MIN_HIT_THROUGH_WALL_FIX_VERSION();
97 MCAPI
void* $ctor(
::Mob& mob);
111 MCAPI
void $appendDebugInfo(::std::string& str)
const;