diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index cbcf95cd5b..8e75ca40f7 100755 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -2329,6 +2329,7 @@ bool Player::TeleportToBGEntryPoint() ScheduleDelayedOperation(DELAYED_BG_MOUNT_RESTORE); ScheduleDelayedOperation(DELAYED_BG_TAXI_RESTORE); + ScheduleDelayedOperation(DELAYED_BG_GROUP_RESTORE); return TeleportTo(m_bgData.joinPos); } @@ -2383,7 +2384,13 @@ void Player::ProcessDelayedOperations() ContinueTaxiFlight(); } } - + + if (m_DelayedOperations & DELAYED_BG_GROUP_RESTORE) + { + if (Group *g = GetGroup()) + g->SendUpdateToPlayer(GetGUID()); + } + //we have executed ALL delayed ops, so clear the flag m_DelayedOperations = 0; } diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h index e7493f5779..6574604389 100755 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -820,6 +820,7 @@ enum PlayerDelayedOperations DELAYED_SPELL_CAST_DESERTER = 0x04, DELAYED_BG_MOUNT_RESTORE = 0x08, ///< Flag to restore mount state after teleport from BG DELAYED_BG_TAXI_RESTORE = 0x10, ///< Flag to restore taxi state after teleport from BG + DELAYED_BG_GROUP_RESTORE = 0x20, ///< Flag to restore group state after teleport from BG DELAYED_END };