17class MeleeAttackGoal :
public ::MeleeAttackBaseGoal {
20 using AttackReachEvaluator =
21 bool (*)(
::Mob const&,
::Vec3 const&,
float const,
float const,
float const,
float const,
int const);
23 using LineOfSightEvaluator = bool (*)(
::Mob const&,
::Actor const&);
31 bool (*)(
::Mob const&,
::Vec3 const&,
float const,
float const,
float const,
float const,
int const)>
33 ::ll::TypedStorage<8, 8, bool (*)(
::Mob const&,
::Actor const&)> mLineOfSightEvaluator;
34 ::ll::TypedStorage<4, 4, float> mReachMultiplier;
44 virtual ~MeleeAttackGoal() =
default;
48 virtual void appendDebugInfo(::std::string& str)
const ;
54 MCAPI MeleeAttackGoal(
::Mob& mob, ::std::string name,
::GoalId const& goalId);
60 MCAPI
static bool _canReachTarget(
62 ::Vec3 const& targetPosition,
66 float targetXZDistanceSqr,
70 MCAPI
static bool _canReachTargetLegacy(
76 float targetXZDistanceSqr,
80 MCAPI
static bool _isTargetInLineOfSight(
::Mob const& mob,
::Actor const& target);
82 MCAPI
static bool _isTargetInLineOfSightLegacy(
::Mob const& mob,
::Actor const& target);
88 MCAPI static ::BaseGameVersion
const& MIN_3D_ATTACK_VERSION();
90 MCAPI static ::BaseGameVersion
const& MIN_HIT_THROUGH_WALL_FIX_VERSION();
96 MCAPI
void* $ctor(
::Mob& mob, ::std::string name,
::GoalId const& goalId);
104 MCAPI
void $appendDebugInfo(::std::string& str)
const;