Skip to content

Commit

Permalink
Refactor: Removed unneeded include
Browse files Browse the repository at this point in the history
  • Loading branch information
mostlikely4r committed Dec 4, 2024
1 parent 2ffe492 commit 1606ae9
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 4 deletions.
11 changes: 10 additions & 1 deletion playerbot/WorldPosition.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -758,14 +758,23 @@ std::vector<WorldPosition> WorldPosition::getPathStepFrom(const WorldPosition& s
return getPathStepFrom(startPos, pathfinder, bot, forceNormalPath);
}

bool WorldPosition::isPathTo(const std::vector<WorldPosition>& path, float const maxDistance) const
{
float realMaxDistance = maxDistance ? maxDistance : sPlayerbotAIConfig.targetPosRecalcDistance;
return !path.empty() && distance(path.back()) < realMaxDistance;
};


bool WorldPosition::cropPathTo(std::vector<WorldPosition>& path, const float maxDistance) const
{
float realMaxDistance = maxDistance ? maxDistance : sPlayerbotAIConfig.targetPosRecalcDistance;

if (path.empty())
return false;

auto bestPos = std::min_element(path.begin(), path.end(), [this](WorldPosition i, WorldPosition j) {return this->sqDistance(i) < this->sqDistance(j); });

bool insRange = this->sqDistance(*bestPos) <= maxDistance * maxDistance;
bool insRange = this->sqDistance(*bestPos) <= realMaxDistance * realMaxDistance;

if (bestPos == path.end())
return insRange;
Expand Down
5 changes: 2 additions & 3 deletions playerbot/WorldPosition.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@

#include "Globals/ObjectMgr.h"
#include "Spells/SpellMgr.h"
#include "playerbot/PlayerbotAIConfig.h"
#include "World/World.h"
#include "MotionGenerators/PathFinder.h"

Expand Down Expand Up @@ -242,8 +241,8 @@ namespace ai
std::vector<WorldPosition> getPathFromPath(const std::vector<WorldPosition>& startPath, const Unit* bot, const uint8 maxAttempt = 40) const;
std::vector<WorldPosition> getPathFrom(const WorldPosition& startPos, const Unit* bot) { return getPathFromPath({ startPos }, bot); };
std::vector<WorldPosition> getPathTo(WorldPosition endPos, const Unit* bot) const { return endPos.getPathFrom(*this, bot); }
bool isPathTo(const std::vector<WorldPosition>& path, float const maxDistance = sPlayerbotAIConfig.targetPosRecalcDistance) const { return !path.empty() && distance(path.back()) < maxDistance; };
bool cropPathTo(std::vector<WorldPosition>& path, const float maxDistance = sPlayerbotAIConfig.targetPosRecalcDistance) const;
bool isPathTo(const std::vector<WorldPosition>& path, float const maxDistance = 0) const;
bool cropPathTo(std::vector<WorldPosition>& path, const float maxDistance = 0) const;
bool canPathTo(const WorldPosition& endPos, const Unit* bot) const { return endPos.isPathTo(getPathTo(endPos, bot)); }

float getPathLength(const std::vector<WorldPosition>& points) const { float dist = 0.0f; for (auto& p : points) if (&p == &points.front()) dist = 0; else dist += std::prev(&p, 1)->distance(p); return dist; }
Expand Down

0 comments on commit 1606ae9

Please sign in to comment.