Core/Wintergrasp: fix leaving Wintergrasp via the minimap button.

This commit is contained in:
SnapperRy
2016-10-04 19:13:11 +02:00
parent 63215dd15a
commit b60db6c44e
3 changed files with 11 additions and 2 deletions

View File

@@ -375,6 +375,14 @@ void Battlefield::AskToLeaveQueue(Player* player)
m_PlayersInQueue[player->GetTeamId()].erase(player->GetGUID());
}
// Called in WorldSession::HandleHearthAndResurrect
void Battlefield::PlayerAskToLeave(Player* player)
{
// Player leaving Wintergrasp, teleport to Dalaran.
// ToDo: confirm teleport destination.
player->TeleportTo(571, 5804.1499f, 624.7710f, 647.7670f, 1.6400f);
}
// Called in WorldSession::HandleBfEntryInviteResponse
void Battlefield::PlayerAcceptInviteToWar(Player* player)
{

View File

@@ -309,6 +309,7 @@ class TC_GAME_API Battlefield : public ZoneScript
void PlayerAcceptInviteToWar(Player* player);
uint32 GetBattleId() const { return m_BattleId; }
void AskToLeaveQueue(Player* player);
void PlayerAskToLeave(Player* player);
virtual void DoCompleteOrIncrementAchievement(uint32 /*achievement*/, Player* /*player*/, uint8 /*incrementNumber = 1*/) { }

View File

@@ -1741,9 +1741,9 @@ void WorldSession::HandleHearthAndResurrect(WorldPacket& /*recvData*/)
if (_player->IsInFlight())
return;
if (/*Battlefield* bf = */sBattlefieldMgr->GetBattlefieldToZoneId(_player->GetZoneId()))
if (Battlefield* bf = sBattlefieldMgr->GetBattlefieldToZoneId(_player->GetZoneId()))
{
// bf->PlayerAskToLeave(_player); FIXME
bf->PlayerAskToLeave(_player);
return;
}