mirror of
https://github.com/mangosfour/server.git
synced 2025-12-12 19:37:03 +00:00
[9197] More propertly update walk mode for player pets.
* Use AddMonsterMoveFlag instead SetMonsterMoveFlags for set walk-mode * Apply walk/run mode to all copntrolled units (except totems). * Synchronize walk/run mode at pet creating/loading.
This commit is contained in:
parent
b0809f63b2
commit
2e9bf5ad6a
6 changed files with 43 additions and 25 deletions
|
|
@ -300,27 +300,7 @@ void WorldSession::HandleMovementOpcodes( WorldPacket & recv_data )
|
|||
plMover->HandleFall(movementInfo);
|
||||
|
||||
if ((opcode == MSG_MOVE_SET_WALK_MODE || opcode == MSG_MOVE_SET_RUN_MODE) && plMover)
|
||||
{
|
||||
Pet* pPet = plMover->GetPet();
|
||||
Pet* pMiniPet = plMover->GetMiniPet();
|
||||
|
||||
if (movementInfo.HasMovementFlag(MOVEMENTFLAG_WALK_MODE))
|
||||
{
|
||||
if (pPet && !pPet->isInCombat())
|
||||
pPet->SetMonsterMoveFlags(MONSTER_MOVE_WALK);
|
||||
|
||||
if (pMiniPet)
|
||||
pMiniPet->SetMonsterMoveFlags(MONSTER_MOVE_WALK);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (pPet)
|
||||
pPet->RemoveMonsterMoveFlag(MONSTER_MOVE_WALK);
|
||||
|
||||
if (pMiniPet)
|
||||
pMiniPet->RemoveMonsterMoveFlag(MONSTER_MOVE_WALK);
|
||||
}
|
||||
}
|
||||
plMover->UpdateWalkModeForPets(movementInfo.HasMovementFlag(MOVEMENTFLAG_WALK_MODE));
|
||||
|
||||
if (plMover && (movementInfo.HasMovementFlag(MOVEMENTFLAG_SWIMMING) != plMover->IsInWater()))
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue