mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-21 17:54:48 +01:00
Core/Movement: implement optional velocity argument to MoveLand motion master helper
This commit is contained in:
@@ -338,7 +338,7 @@ void MotionMaster::MoveCloserAndStop(uint32 id, Unit* target, float distance)
|
||||
}
|
||||
}
|
||||
|
||||
void MotionMaster::MoveLand(uint32 id, Position const& pos)
|
||||
void MotionMaster::MoveLand(uint32 id, Position const& pos, Optional<float> velocity /*= nullptr*/)
|
||||
{
|
||||
TC_LOG_DEBUG("movement.motionmaster", "MotionMaster::MoveLand: '%s', landing point Id: %u (X: %f, Y: %f, Z: %f)", _owner->GetGUID().ToString().c_str(), id, pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ());
|
||||
|
||||
@@ -347,6 +347,8 @@ void MotionMaster::MoveLand(uint32 id, Position const& pos)
|
||||
init.SetSmooth();
|
||||
init.SetFly();
|
||||
init.SetAnimation(Movement::ToGround);
|
||||
if (velocity)
|
||||
init.SetVelocity(velocity.get());
|
||||
Mutate(new GenericMovementGenerator(std::move(init), EFFECT_MOTION_TYPE, id), MOTION_SLOT_ACTIVE);
|
||||
}
|
||||
|
||||
|
||||
@@ -168,7 +168,7 @@ class TC_GAME_API MotionMaster
|
||||
void MoveCloserAndStop(uint32 id, Unit* target, float distance);
|
||||
|
||||
// These two movement types should only be used with creatures having landing/takeoff animations
|
||||
void MoveLand(uint32 id, Position const& pos);
|
||||
void MoveLand(uint32 id, Position const& pos, Optional<float> velocity = nullptr);
|
||||
void MoveTakeoff(uint32 id, Position const& pos);
|
||||
|
||||
void MoveCharge(float x, float y, float z, float speed = SPEED_CHARGE, uint32 id = EVENT_CHARGE, bool generatePath = false);
|
||||
|
||||
Reference in New Issue
Block a user