Core/Movement: Prevent IdleMovementGenerator being put into MOTION_SLOT_IDLE and MOTION_SLOT_ACTIVE simultaneously
This commit is contained in:
@@ -175,12 +175,11 @@ void MotionMaster::DelayedExpire()
|
||||
--i_top;
|
||||
}
|
||||
|
||||
void MotionMaster::MoveIdle(MovementSlot slot)
|
||||
void MotionMaster::MoveIdle()
|
||||
{
|
||||
//if (empty() || !isStatic(top()))
|
||||
// push(&si_idleMovement);
|
||||
if (!isStatic(Impl[slot]))
|
||||
Mutate(&si_idleMovement, slot);
|
||||
//! Should be preceded by MovementExpired or Clear if there's an overlying movementgenerator active
|
||||
if (empty() || !isStatic(top()))
|
||||
Mutate(&si_idleMovement, MOTION_SLOT_IDLE);
|
||||
}
|
||||
|
||||
void MotionMaster::MoveRandom(float spawndist)
|
||||
|
||||
@@ -142,7 +142,7 @@ class MotionMaster //: private std::stack<MovementGenerator *>
|
||||
DirectExpire(reset);
|
||||
}
|
||||
|
||||
void MoveIdle(MovementSlot slot = MOTION_SLOT_ACTIVE);
|
||||
void MoveIdle();
|
||||
void MoveTargetedHome();
|
||||
void MoveRandom(float spawndist = 0.0f);
|
||||
void MoveFollow(Unit* target, float dist, float angle, MovementSlot slot = MOTION_SLOT_ACTIVE);
|
||||
|
||||
Reference in New Issue
Block a user