diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/AI/CreatureAI.h | 3 | ||||
-rw-r--r-- | src/server/game/Maps/AreaBoundary.cpp | 12 | ||||
-rw-r--r-- | src/server/game/Maps/AreaBoundary.h | 5 | ||||
-rw-r--r-- | src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp | 6 |
4 files changed, 6 insertions, 20 deletions
diff --git a/src/server/game/AI/CreatureAI.h b/src/server/game/AI/CreatureAI.h index 1e6f2a817ec..5fe93e7675a 100644 --- a/src/server/game/AI/CreatureAI.h +++ b/src/server/game/AI/CreatureAI.h @@ -82,7 +82,6 @@ class TC_GAME_API CreatureAI : public UnitAI Creature* DoSummonFlyer(uint32 entry, WorldObject* obj, float flightZ, float radius = 5.0f, uint32 despawnTime = 30000, TempSummonType summonType = TEMPSUMMON_CORPSE_TIMED_DESPAWN); bool CheckBoundary(Position const* who = nullptr) const; - static bool IsInBounds(CreatureBoundary const* boundary, Position const* who); void SetBoundary(CreatureBoundary const* boundary); public: @@ -216,6 +215,8 @@ class TC_GAME_API CreatureAI : public UnitAI virtual bool CheckInRoom(); CreatureBoundary const* GetBoundary() const { return _boundary; } + static bool IsInBounds(CreatureBoundary const* boundary, Position const* who); + protected: virtual void MoveInLineOfSight(Unit* /*who*/); diff --git a/src/server/game/Maps/AreaBoundary.cpp b/src/server/game/Maps/AreaBoundary.cpp index af5e6ffe734..407b5c27e53 100644 --- a/src/server/game/Maps/AreaBoundary.cpp +++ b/src/server/game/Maps/AreaBoundary.cpp @@ -38,13 +38,9 @@ bool RectangleBoundary::IsWithinBoundaryArea(Position const* pos) const // ---== CIRCLE ==--- CircleBoundary::CircleBoundary(Position const& center, double radius, bool isInverted) : - CircleBoundary(DoublePosition(center), radius, isInverted) { } -CircleBoundary::CircleBoundary(DoublePosition const& center, double radius, bool isInverted) : AreaBoundary(isInverted), _center(center), _radiusSq(radius*radius) { } CircleBoundary::CircleBoundary(Position const& center, Position const& pointOnCircle, bool isInverted) : - CircleBoundary(DoublePosition(center), DoublePosition(pointOnCircle), isInverted) { } -CircleBoundary::CircleBoundary(DoublePosition const& center, DoublePosition const& pointOnCircle, bool isInverted) : - AreaBoundary(isInverted), _center(center), _radiusSq(center.GetDoubleExactDist2dSq(pointOnCircle)) { } + AreaBoundary(isInverted), _center(center), _radiusSq(_center.GetDoubleExactDist2dSq(pointOnCircle)) { } bool CircleBoundary::IsWithinBoundaryArea(Position const* pos) const { if (!pos) @@ -58,8 +54,6 @@ bool CircleBoundary::IsWithinBoundaryArea(Position const* pos) const // ---== ELLIPSE ==--- EllipseBoundary::EllipseBoundary(Position const& center, double radiusX, double radiusY, bool isInverted) : - EllipseBoundary(DoublePosition(center), radiusX, radiusY, isInverted) { } -EllipseBoundary::EllipseBoundary(DoublePosition const& center, double radiusX, double radiusY, bool isInverted) : AreaBoundary(isInverted), _center(center), _radiusYSq(radiusY*radiusY), _scaleXSq(_radiusYSq / (radiusX*radiusX)) { } bool EllipseBoundary::IsWithinBoundaryArea(Position const* pos) const { @@ -73,8 +67,6 @@ bool EllipseBoundary::IsWithinBoundaryArea(Position const* pos) const // ---== TRIANGLE ==--- TriangleBoundary::TriangleBoundary(Position const& pointA, Position const& pointB, Position const& pointC, bool isInverted) : - TriangleBoundary(DoublePosition(pointA), DoublePosition(pointB), DoublePosition(pointC), isInverted) { } -TriangleBoundary::TriangleBoundary(DoublePosition const& pointA, DoublePosition const& pointB, DoublePosition const& pointC, bool isInverted) : AreaBoundary(isInverted), _a(pointA), _b(pointB), _c(pointC), _abx(_b.GetDoublePositionX()-_a.GetDoublePositionX()), _bcx(_c.GetDoublePositionX()-_b.GetDoublePositionX()), _cax(_a.GetDoublePositionX() - _c.GetDoublePositionX()), _aby(_b.GetDoublePositionY()-_a.GetDoublePositionY()), _bcy(_c.GetDoublePositionY()-_b.GetDoublePositionY()), _cay(_a.GetDoublePositionY() - _c.GetDoublePositionY()) { } bool TriangleBoundary::IsWithinBoundaryArea(Position const* pos) const { @@ -93,8 +85,6 @@ bool TriangleBoundary::IsWithinBoundaryArea(Position const* pos) const // ---== PARALLELOGRAM ==--- ParallelogramBoundary::ParallelogramBoundary(Position const& cornerA, Position const& cornerB, Position const& cornerD, bool isInverted) : - ParallelogramBoundary(DoublePosition(cornerA), DoublePosition(cornerB), DoublePosition(cornerD), isInverted) { } -ParallelogramBoundary::ParallelogramBoundary(DoublePosition const& cornerA, DoublePosition const& cornerB, DoublePosition const& cornerD, bool isInverted) : AreaBoundary(isInverted), _a(cornerA), _b(cornerB), _d(cornerD), _c(DoublePosition(_d.GetDoublePositionX() + (_b.GetDoublePositionX() - _a.GetDoublePositionX()), _d.GetDoublePositionY() + (_b.GetDoublePositionY() - _a.GetDoublePositionY()))), _abx(_b.GetDoublePositionX() - _a.GetDoublePositionX()), _dax(_a.GetDoublePositionX() - _d.GetDoublePositionX()), _aby(_b.GetDoublePositionY() - _a.GetDoublePositionY()), _day(_a.GetDoublePositionY() - _d.GetDoublePositionY()) { } bool ParallelogramBoundary::IsWithinBoundaryArea(Position const* pos) const { diff --git a/src/server/game/Maps/AreaBoundary.h b/src/server/game/Maps/AreaBoundary.h index b2fdc49a7a6..6aa7e4185cc 100644 --- a/src/server/game/Maps/AreaBoundary.h +++ b/src/server/game/Maps/AreaBoundary.h @@ -88,9 +88,7 @@ class TC_GAME_API CircleBoundary : public AreaBoundary { public: CircleBoundary(Position const& center, double radius, bool isInverted = false); - CircleBoundary(DoublePosition const& center, double radius, bool isInverted = false); CircleBoundary(Position const& center, Position const& pointOnCircle, bool isInverted = false); - CircleBoundary(DoublePosition const& center, DoublePosition const& pointOnCircle, bool isInverted = false); protected: bool IsWithinBoundaryArea(Position const* pos) const override; @@ -104,7 +102,6 @@ class TC_GAME_API EllipseBoundary : public AreaBoundary { public: EllipseBoundary(Position const& center, double radiusX, double radiusY, bool isInverted = false); - EllipseBoundary(DoublePosition const& center, double radiusX, double radiusY, bool isInverted = false); protected: bool IsWithinBoundaryArea(Position const* pos) const override; @@ -118,7 +115,6 @@ class TC_GAME_API TriangleBoundary : public AreaBoundary { public: TriangleBoundary(Position const& pointA, Position const& pointB, Position const& pointC, bool isInverted = false); - TriangleBoundary(DoublePosition const& pointA, DoublePosition const& pointB, DoublePosition const& pointC, bool isInverted = false); protected: bool IsWithinBoundaryArea(Position const* pos) const override; @@ -133,7 +129,6 @@ class TC_GAME_API ParallelogramBoundary : public AreaBoundary public: // Note: AB must be orthogonal to AD ParallelogramBoundary(Position const& cornerA, Position const& cornerB, Position const& cornerD, bool isInverted = false); - ParallelogramBoundary(DoublePosition const& cornerA, DoublePosition const& cornerB, DoublePosition const& cornerD, bool isInverted = false); protected: bool IsWithinBoundaryArea(Position const* pos) const override; diff --git a/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp b/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp index b61e42974ac..1569697c81c 100644 --- a/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp +++ b/src/server/scripts/Northrend/Naxxramas/instance_naxxramas.cpp @@ -43,7 +43,7 @@ BossBoundaryData const boundaries = /* Military Quarter */ { BOSS_RAZUVIOUS, new ZRangeBoundary(260.0f, 287.0f) }, // will not chase onto the upper floor { BOSS_GOTHIK, new RectangleBoundary(2627.0f, 2764.0f, -3440.0f, -3275.0f) }, - { BOSS_HORSEMEN, new ParallelogramBoundary(AreaBoundary::DoublePosition(2646.0, -2959.0), AreaBoundary::DoublePosition(2529.0, -3075.0), AreaBoundary::DoublePosition(2506.0, -2854.0)) }, + { BOSS_HORSEMEN, new ParallelogramBoundary(Position(2646.0f, -2959.0f), Position(2529.0f, -3075.0f), Position(2506.0f, -2854.0f)) }, /* Construct Quarter */ { BOSS_PATCHWERK, new CircleBoundary(Position(3204.0f, -3241.4f), 240.0f) }, @@ -51,9 +51,9 @@ BossBoundaryData const boundaries = { BOSS_GROBBULUS, new CircleBoundary(Position(3204.0f, -3241.4f), 240.0f) }, { BOSS_GROBBULUS, new RectangleBoundary(3295.0f, 3340.0f, -3254.2f, -3230.18f, true) }, // entrance door blocker { BOSS_GLUTH, new CircleBoundary(Position(3293.0f, -3142.0f), 80.0) }, - { BOSS_GLUTH, new ParallelogramBoundary(AreaBoundary::DoublePosition(3401.0, -3149.0), AreaBoundary::DoublePosition(3261.0, -3028.0), AreaBoundary::DoublePosition(3320.0, -3267.0)) }, + { BOSS_GLUTH, new ParallelogramBoundary(Position(3401.0f, -3149.0f), Position(3261.0f, -3028.0f), Position(3320.0f, -3267.0f)) }, { BOSS_GLUTH, new ZRangeBoundary(285.0f, 310.0f) }, - { BOSS_THADDIUS, new ParallelogramBoundary(AreaBoundary::DoublePosition(3478.3, -3070.0), AreaBoundary::DoublePosition(3370.0, -2961.5), AreaBoundary::DoublePosition(3580.0, -2961.5)) }, + { BOSS_THADDIUS, new ParallelogramBoundary(Position(3478.3f, -3070.0f), Position(3370.0f, -2961.5f), Position(3580.0f, -2961.5f)) }, /* Frostwyrm Lair */ { BOSS_SAPPHIRON, new CircleBoundary(Position(3517.627f, -5255.5f), 110.0) }, |