aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorccrs <ccrs@users.noreply.github.com>2025-10-14 20:32:09 +0200
committerccrs <ccrs@users.noreply.github.com>2025-10-14 20:32:09 +0200
commit30131e820cf4c5a0e1c174abef741d9d26b4c9ce (patch)
tree150ece2d198806c41e9761b1870893bbdd5a8ca0 /src
parent48cd3c91423a03581203411ff6cea600d4518730 (diff)
Revert "Scripts/ICC: adjust random movement initialization on Vile Spirit's summon initialization"
This reverts commit a1940abbc9fbe1e1d9441a7386bf9ae461ef7b54. Revert "Core/Movement: implement a parameter override to force 2D wandering" This reverts commit 8562ef1dfd5183f52f6f1a61d6443be5ea49d159.
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Movement/MotionMaster.cpp4
-rw-r--r--src/server/game/Movement/MotionMaster.h2
-rw-r--r--src/server/game/Movement/MovementGenerators/RandomMovementGenerator.cpp9
-rw-r--r--src/server/game/Movement/MovementGenerators/RandomMovementGenerator.h3
-rw-r--r--src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp2
5 files changed, 8 insertions, 12 deletions
diff --git a/src/server/game/Movement/MotionMaster.cpp b/src/server/game/Movement/MotionMaster.cpp
index 74feedb2740..4fdae221e41 100644
--- a/src/server/game/Movement/MotionMaster.cpp
+++ b/src/server/game/Movement/MotionMaster.cpp
@@ -594,12 +594,12 @@ void MotionMaster::MoveTargetedHome()
}
}
-void MotionMaster::MoveRandom(float wanderDistance/* = 0.0f*/, bool force2DPositionRelocation/* = false*/)
+void MotionMaster::MoveRandom(float wanderDistance)
{
if (_owner->GetTypeId() == TYPEID_UNIT)
{
TC_LOG_DEBUG("movement.motionmaster", "MotionMaster::MoveRandom: '{}', started random movement (spawnDist: {})", _owner->GetGUID().ToString(), wanderDistance);
- Add(new RandomMovementGenerator<Creature>(wanderDistance, force2DPositionRelocation), MOTION_SLOT_DEFAULT);
+ Add(new RandomMovementGenerator<Creature>(wanderDistance), MOTION_SLOT_DEFAULT);
}
}
diff --git a/src/server/game/Movement/MotionMaster.h b/src/server/game/Movement/MotionMaster.h
index 81f7c92fc72..6f4957c37a3 100644
--- a/src/server/game/Movement/MotionMaster.h
+++ b/src/server/game/Movement/MotionMaster.h
@@ -153,7 +153,7 @@ class TC_GAME_API MotionMaster
void MoveIdle();
void MoveTargetedHome();
- void MoveRandom(float wanderDistance = 0.0f, bool force2DPositionRelocation = false);
+ void MoveRandom(float wanderDistance = 0.0f);
void MoveFollow(Unit* target, float dist, ChaseAngle angle, MovementSlot slot = MOTION_SLOT_ACTIVE);
void MoveChase(Unit* target, Optional<ChaseRange> dist = {}, Optional<ChaseAngle> angle = {});
void MoveChase(Unit* target, float dist, float angle) { MoveChase(target, ChaseRange(dist), ChaseAngle(angle)); }
diff --git a/src/server/game/Movement/MovementGenerators/RandomMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/RandomMovementGenerator.cpp
index 4e37347275a..a41db1336df 100644
--- a/src/server/game/Movement/MovementGenerators/RandomMovementGenerator.cpp
+++ b/src/server/game/Movement/MovementGenerators/RandomMovementGenerator.cpp
@@ -25,7 +25,7 @@
#include "Random.h"
template<class T>
-RandomMovementGenerator<T>::RandomMovementGenerator(float distance/* = 0.0f*/, bool force2DPositionRelocation/* = false*/) : _timer(0), _reference(), _wanderDistance(distance), _wanderSteps(0), _force2DPositionRelocation(force2DPositionRelocation)
+RandomMovementGenerator<T>::RandomMovementGenerator(float distance) : _timer(0), _reference(), _wanderDistance(distance), _wanderSteps(0)
{
this->Mode = MOTION_MODE_DEFAULT;
this->Priority = MOTION_PRIORITY_NORMAL;
@@ -33,7 +33,7 @@ RandomMovementGenerator<T>::RandomMovementGenerator(float distance/* = 0.0f*/, b
this->BaseUnitState = UNIT_STATE_ROAMING;
}
-template RandomMovementGenerator<Creature>::RandomMovementGenerator(float/* distance*/, bool/* force2DPositionRelocation*/);
+template RandomMovementGenerator<Creature>::RandomMovementGenerator(float/* distance*/);
template<class T>
MovementGeneratorType RandomMovementGenerator<T>::GetMovementGeneratorType() const
@@ -124,10 +124,7 @@ void RandomMovementGenerator<Creature>::SetRandomLocation(Creature* owner)
Position position(_reference);
float distance = frand(0.f, _wanderDistance);
float angle = frand(0.f, float(M_PI * 2));
- if (_force2DPositionRelocation)
- owner->GetNearPoint2D(nullptr, position.m_positionX, position.m_positionY, distance, frand(0.f, 2.f * float(M_PI)));
- else
- owner->MovePositionToFirstCollision(position, distance, angle);
+ owner->MovePositionToFirstCollision(position, distance, angle);
// Check if the destination is in LOS
if (!owner->IsWithinLOS(position.GetPositionX(), position.GetPositionY(), position.GetPositionZ()))
diff --git a/src/server/game/Movement/MovementGenerators/RandomMovementGenerator.h b/src/server/game/Movement/MovementGenerators/RandomMovementGenerator.h
index 2ebd8b64acc..812297fa212 100644
--- a/src/server/game/Movement/MovementGenerators/RandomMovementGenerator.h
+++ b/src/server/game/Movement/MovementGenerators/RandomMovementGenerator.h
@@ -28,7 +28,7 @@ template<class T>
class RandomMovementGenerator : public MovementGeneratorMedium<T, RandomMovementGenerator<T>>
{
public:
- explicit RandomMovementGenerator(float distance = 0.0f, bool force2DPositionRelocation = false);
+ explicit RandomMovementGenerator(float distance = 0.0f);
MovementGeneratorType GetMovementGeneratorType() const override;
@@ -51,7 +51,6 @@ class RandomMovementGenerator : public MovementGeneratorMedium<T, RandomMovement
Position _reference;
float _wanderDistance;
uint8 _wanderSteps;
- bool _force2DPositionRelocation;
};
#endif
diff --git a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
index a8b8db34056..59317024b16 100644
--- a/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
+++ b/src/server/scripts/Northrend/IcecrownCitadel/boss_the_lich_king.cpp
@@ -736,7 +736,7 @@ struct boss_the_lich_king : public BossAI
summons.Summon(summon);
summon->SetReactState(REACT_PASSIVE);
summon->SetSpeedRate(MOVE_FLIGHT, 0.5f);
- summon->GetMotionMaster()->MoveRandom(5.0f, true);
+ summon->GetMotionMaster()->MoveRandom(10.0f);
if (!events.IsInPhase(PHASE_FROSTMOURNE))
summon->m_Events.AddEvent(new VileSpiritActivateEvent(summon), summon->m_Events.CalculateTime(15s));
return;