*Fix some bugs about movement.
--HG-- branch : trunk
This commit is contained in:
@@ -5766,7 +5766,10 @@ bool ChatHandler::HandleMovegensCommand(const char* /*args*/)
|
||||
{
|
||||
MovementGenerator* mg = mm->GetMotionSlot(i);
|
||||
if(!mg)
|
||||
{
|
||||
SendSysMessage("Empty");
|
||||
continue;
|
||||
}
|
||||
switch(mg->GetMovementGeneratorType())
|
||||
{
|
||||
case IDLE_MOTION_TYPE: SendSysMessage(LANG_MOVEGENS_IDLE); break;
|
||||
|
||||
@@ -392,7 +392,10 @@ void MotionMaster::propagateSpeedChange()
|
||||
(*it)->unitSpeedChanged();
|
||||
}*/
|
||||
for(int i = 0; i <= i_top; ++i)
|
||||
{
|
||||
if(Impl[i])
|
||||
Impl[i]->unitSpeedChanged();
|
||||
}
|
||||
}
|
||||
|
||||
MovementGeneratorType MotionMaster::GetCurrentMovementGeneratorType() const
|
||||
|
||||
@@ -68,7 +68,11 @@ class TRINITY_DLL_SPEC MotionMaster //: private std::stack<MovementGenerator *>
|
||||
void push(_Ty _Val) { ++i_top; Impl[i_top] = _Val; }
|
||||
public:
|
||||
|
||||
explicit MotionMaster(Unit *unit) : i_owner(unit), i_top(-1) {}
|
||||
explicit MotionMaster(Unit *unit) : i_owner(unit), i_top(-1)
|
||||
{
|
||||
for(int i = 0; i < MAX_MOTION_SLOT; ++i)
|
||||
Impl[i] = NULL;
|
||||
}
|
||||
~MotionMaster();
|
||||
|
||||
void Initialize();
|
||||
|
||||
+1
-1
@@ -12865,7 +12865,7 @@ void Unit::SetFeared(bool apply)
|
||||
}
|
||||
else
|
||||
{
|
||||
if(isAlive() && GetMotionMaster()->GetCurrentMovementGeneratorType() == FLEEING_MOTION_TYPE))
|
||||
if(isAlive() && GetMotionMaster()->GetCurrentMovementGeneratorType() == FLEEING_MOTION_TYPE)
|
||||
GetMotionMaster()->MovementExpired();
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -367,7 +367,7 @@ enum UnitState
|
||||
UNIT_STAT_ATTACK_PLAYER = 0x00004000,
|
||||
UNIT_STAT_CASTING = 0x00008000,
|
||||
UNIT_STAT_POSSESSED = 0x00010000,
|
||||
UNIT_STAT_MOVING = (UNIT_STAT_ROAMING | UNIT_STAT_CHASE | UNIT_STAT_SEARCHING | UNIT_STAT_FLEEING),
|
||||
UNIT_STAT_MOVING = (UNIT_STAT_ROAMING | UNIT_STAT_CHASE | UNIT_STAT_SEARCHING | UNIT_STAT_FOLLOW),
|
||||
UNIT_STAT_LOST_CONTROL = (UNIT_STAT_CONFUSED | UNIT_STAT_STUNNED | UNIT_STAT_FLEEING),
|
||||
UNIT_STAT_SIGHTLESS = (UNIT_STAT_LOST_CONTROL | UNIT_STAT_CHASE | UNIT_STAT_SEARCHING),
|
||||
UNIT_STAT_CANNOT_AUTOATTACK = (UNIT_STAT_LOST_CONTROL | UNIT_STAT_CASTING),
|
||||
|
||||
Reference in New Issue
Block a user