diff options
author | joschiwald <joschiwald.trinity@gmail.com> | 2017-09-06 18:36:29 +0200 |
---|---|---|
committer | joschiwald <joschiwald.trinity@gmail.com> | 2017-09-06 18:36:29 +0200 |
commit | 26f65ec1d2aaa8685392e9ba6ad77b41d3a73703 (patch) | |
tree | 73ecf8ec1129eeed000260af7210b08f23be37d0 | |
parent | 2c4246f3419fe030ed0030c3c17754d19b372e65 (diff) |
Core/Packets: Enabled CMSG_CLOSE_INTERACTION, thanks @Rochet2
Closes #20235
-rw-r--r-- | src/server/game/Handlers/MiscHandler.cpp | 5 | ||||
-rw-r--r-- | src/server/game/Server/Protocol/Opcodes.cpp | 2 | ||||
-rw-r--r-- | src/server/game/Server/WorldSession.h | 2 |
3 files changed, 5 insertions, 4 deletions
diff --git a/src/server/game/Handlers/MiscHandler.cpp b/src/server/game/Handlers/MiscHandler.cpp index 950acf967d9..dffe9b33589 100644 --- a/src/server/game/Handlers/MiscHandler.cpp +++ b/src/server/game/Handlers/MiscHandler.cpp @@ -1169,7 +1169,8 @@ void WorldSession::HandlePvpPrestigeRankUp(WorldPackets::Misc::PvpPrestigeRankUp _player->Prestige(); } -void WorldSession::HandleCloseInteraction(WorldPackets::Misc::CloseInteraction& /*packet*/) +void WorldSession::HandleCloseInteraction(WorldPackets::Misc::CloseInteraction& closeInteraction) { - _player->PlayerTalkClass->GetInteractionData().Reset(); + if (_player->PlayerTalkClass->GetInteractionData().SourceGuid == closeInteraction.SourceGuid) + _player->PlayerTalkClass->GetInteractionData().Reset(); } diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp index 22241fc3f25..dd809d0ecec 100644 --- a/src/server/game/Server/Protocol/Opcodes.cpp +++ b/src/server/game/Server/Protocol/Opcodes.cpp @@ -323,7 +323,7 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_CLEAR_RAID_MARKER, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleClearRaidMarker); DEFINE_HANDLER(CMSG_CLEAR_TRADE_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleClearTradeItemOpcode); DEFINE_HANDLER(CMSG_CLIENT_PORT_GRAVEYARD, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandlePortGraveyard); - DEFINE_HANDLER(CMSG_CLOSE_INTERACTION, STATUS_UNHANDLED, PROCESS_THREADSAFE, &WorldSession::HandleCloseInteraction); + DEFINE_HANDLER(CMSG_CLOSE_INTERACTION, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleCloseInteraction); DEFINE_HANDLER(CMSG_COLLECTION_ITEM_SET_FAVORITE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleCollectionItemSetFavorite); DEFINE_HANDLER(CMSG_COMMENTATOR_ENABLE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_COMMENTATOR_ENTER_INSTANCE, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL); diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h index d2e39197b10..a70e527e937 100644 --- a/src/server/game/Server/WorldSession.h +++ b/src/server/game/Server/WorldSession.h @@ -1645,7 +1645,7 @@ class TC_GAME_API WorldSession void HandleObjectUpdateFailedOpcode(WorldPackets::Misc::ObjectUpdateFailed& objectUpdateFailed); void HandleObjectUpdateRescuedOpcode(WorldPackets::Misc::ObjectUpdateRescued& objectUpdateRescued); void HandleRequestCategoryCooldowns(WorldPackets::Spells::RequestCategoryCooldowns& requestCategoryCooldowns); - void HandleCloseInteraction(WorldPackets::Misc::CloseInteraction& packet); + void HandleCloseInteraction(WorldPackets::Misc::CloseInteraction& closeInteraction); // Toys void HandleAddToy(WorldPackets::Toy::AddToy& packet); |