This commit is contained in:
luis
2026-08-05 09:01:42 -03:00
parent 54e07c4538
commit fda7464ecc
5 changed files with 31 additions and 4 deletions
+11
View File
@@ -1690,6 +1690,17 @@ void WorldSession::HandleShowTradeSkill(WorldPackets::Misc::ShowTradeSkill& pack
//_player->SendDirectMessage(response.Write());
}
void WorldSession::HandleSetStopConversation(WorldPackets::Misc::SetStopConversation& setStopConversation)
{
Conversation* conversation = ObjectAccessor::GetConversation(*_player, setStopConversation.ConversationGUID);
if (!conversation)
return;
// Conversations are private objects owned by the player they play for; only that owner may stop one.
if (conversation->GetPrivateObjectOwner() == _player->GetGUID())
conversation->Remove();
}
void WorldSession::HandleRafClaimNextReward(WorldPackets::RaF::RafClaimNextReward& /*packet*/)
{
//LoginDatabasePreparedStatement* stmt = LoginDatabase.GetPreparedStatement(LOGIN_SEL_ACCOUNT_RAF_CLAIMED_ALL);
@@ -1069,4 +1069,10 @@ WorldPacket const* WarfrontComplete::Write()
return &_worldPacket;
}
void SetStopConversation::Read()
{
_worldPacket >> ConversationGUID;
}
}
@@ -1436,6 +1436,15 @@ namespace WorldPackets
uint8 Winner = 0;
};
class SetStopConversation final : public ClientPacket
{
public:
explicit SetStopConversation(WorldPacket&& packet) : ClientPacket(CMSG_SET_STOP_CONVERSATION, std::move(packet)) {}
void Read() override;
ObjectGuid ConversationGUID;
};
}
}
+2 -2
View File
@@ -1044,7 +1044,7 @@ void OpcodeTable::InitializeClientOpcodes()
DEFINE_HANDLER(CMSG_SET_SELECTION, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetSelectionOpcode);
DEFINE_HANDLER(CMSG_SET_SHEATHED, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleSetSheathedOpcode);
DEFINE_HANDLER(CMSG_SET_SORT_BAGS_RIGHT_TO_LEFT, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleSetSortBagsRightToLeft);
DEFINE_HANDLER(CMSG_SET_STOP_CONVERSATION, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_SET_STOP_CONVERSATION, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetStopConversation);
DEFINE_HANDLER(CMSG_SET_TAXI_BENCHMARK_MODE, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleSetTaxiBenchmark);
DEFINE_HANDLER(CMSG_SET_TITLE, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleSetTitleOpcode);
DEFINE_HANDLER(CMSG_SET_TRADE_CURRENCY, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleSetTradeCurrencyOpcode);
@@ -1123,7 +1123,7 @@ void OpcodeTable::InitializeClientOpcodes()
DEFINE_HANDLER(CMSG_UNACCEPT_TRADE, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleUnacceptTradeOpcode);
DEFINE_HANDLER(CMSG_UNDELETE_CHARACTER, STATUS_AUTHED, PROCESS_THREADUNSAFE, &WorldSession::HandleCharUndeleteOpcode);
DEFINE_HANDLER(CMSG_UNLEARN_SKILL, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleUnlearnSkillOpcode);
DEFINE_HANDLER(CMSG_UNLEARN_SPECIALIZATION, STATUS_UNHANDLED, PROCESS_INPLACE, &WorldSession::Handle_NULL);
DEFINE_HANDLER(CMSG_UNLEARN_SPECIALIZATION, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleUnlearnSpecializationOpcode);
DEFINE_HANDLER(CMSG_UPDATE_AADC_STATUS, STATUS_LOGGEDIN, PROCESS_INPLACE, &WorldSession::HandleChatUpdateAADCStatus);
DEFINE_HANDLER(CMSG_UPDATE_ACCOUNT_BANK_TAB_SETTINGS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, &WorldSession::HandleUpdateBankTabSettings);
DEFINE_HANDLER(CMSG_UPDATE_ACCOUNT_DATA, STATUS_AUTHED, PROCESS_THREADUNSAFE, &WorldSession::HandleUpdateAccountData);
+3 -2
View File
@@ -895,6 +895,7 @@ namespace WorldPackets
class ConversationCinematicReady;
class IslandQueue;
class ShowTradeSkill;
class SetStopConversation;
}
namespace MajorFactions
@@ -1229,7 +1230,6 @@ namespace WorldPackets
namespace Transmogrification
{
class TransmogrifyItems;
class UnlearnSpecialization;
class TransmogOutfitNew;
class TransmogOutfitUpdateInfo;
class TransmogOutfitUpdateSituations;
@@ -1716,7 +1716,8 @@ public:
void HandleConversationCinematicReady(WorldPackets::Misc::ConversationCinematicReady& packet);
void HandleIslandQueue(WorldPackets::Misc::IslandQueue& packet);
void HandleShowTradeSkill(WorldPackets::Misc::ShowTradeSkill& packet);
void HandleSetStopConversation(WorldPackets::Misc::SetStopConversation& setStopConversation);
// Inspect
void HandleInspectOpcode(WorldPackets::Inspect::Inspect& inspect);
void HandleQueryInspectAchievements(WorldPackets::Inspect::QueryInspectAchievements& inspect);