mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-16 02:20:27 +00:00
Merge branch 'azerothcore:master' into Playerbot
This commit is contained in:
@@ -310,12 +310,29 @@ void MotionMaster::MoveConfused()
|
||||
/**
|
||||
* @brief Force the unit to chase this target. Doesn't work with UNIT_FLAG_DISABLE_MOVE
|
||||
*/
|
||||
void MotionMaster::MoveChase(Unit* target, std::optional<ChaseRange> dist, std::optional<ChaseAngle> angle)
|
||||
void MotionMaster::MoveChase(Unit* target, std::optional<ChaseRange> dist, std::optional<ChaseAngle> angle)
|
||||
{
|
||||
// ignore movement request if target not exist
|
||||
if (!target || target == _owner || _owner->HasUnitFlag(UNIT_FLAG_DISABLE_MOVE))
|
||||
return;
|
||||
|
||||
if (GetCurrentMovementGeneratorType() == CHASE_MOTION_TYPE)
|
||||
{
|
||||
if (_owner->IsPlayer())
|
||||
{
|
||||
ChaseMovementGenerator<Player>* gen = (ChaseMovementGenerator<Player>*)top();
|
||||
gen->SetOffsetAndAngle(dist, angle);
|
||||
gen->SetNewTarget(target);
|
||||
}
|
||||
else
|
||||
{
|
||||
ChaseMovementGenerator<Creature>* gen = (ChaseMovementGenerator<Creature>*)top();
|
||||
gen->SetOffsetAndAngle(dist, angle);
|
||||
gen->SetNewTarget(target);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
//_owner->ClearUnitState(UNIT_STATE_FOLLOW);
|
||||
if (_owner->IsPlayer())
|
||||
{
|
||||
@@ -331,6 +348,24 @@ void MotionMaster::MoveChase(Unit* target, std::optional<ChaseRange> dist, std:
|
||||
}
|
||||
}
|
||||
|
||||
void MotionMaster::DistanceYourself(float dist)
|
||||
{
|
||||
if (GetCurrentMovementGeneratorType() == CHASE_MOTION_TYPE)
|
||||
{
|
||||
if (_owner->IsPlayer())
|
||||
{
|
||||
ChaseMovementGenerator<Player>* gen = (ChaseMovementGenerator<Player>*)top();
|
||||
gen->DistanceYourself((Player*)_owner, dist);
|
||||
}
|
||||
else
|
||||
{
|
||||
ChaseMovementGenerator<Creature>* gen = (ChaseMovementGenerator<Creature>*)top();
|
||||
gen->DistanceYourself((Creature*)_owner, dist);
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
void MotionMaster::MoveBackwards(Unit* target, float dist)
|
||||
{
|
||||
if (!target)
|
||||
|
||||
Reference in New Issue
Block a user