diff options
-rw-r--r-- | src/server/game/Handlers/QueryHandler.cpp | 5 | ||||
-rw-r--r-- | src/server/game/Server/Packets/QueryPackets.cpp | 6 | ||||
-rw-r--r-- | src/server/game/Server/Packets/QueryPackets.h | 6 | ||||
-rw-r--r-- | src/server/game/Server/Protocol/Opcodes.cpp | 2 |
4 files changed, 9 insertions, 10 deletions
diff --git a/src/server/game/Handlers/QueryHandler.cpp b/src/server/game/Handlers/QueryHandler.cpp index b173bcca98f..5d40165df04 100644 --- a/src/server/game/Handlers/QueryHandler.cpp +++ b/src/server/game/Handlers/QueryHandler.cpp @@ -397,18 +397,17 @@ void WorldSession::HandleDBQueryBulk(WorldPackets::Query::DBQueryBulk& packet) { WorldPackets::Query::DBReply response; response.TableHash = packet.TableHash; - response.Allow = store->HasRecord(rec.RecordID); + response.RecordID = rec.RecordID; if (store->HasRecord(rec.RecordID)) { - response.RecordID = rec.RecordID; + response.Allow = true; response.Timestamp = sDB2Manager.GetHotfixDate(rec.RecordID, packet.TableHash); store->WriteRecord(rec.RecordID, GetSessionDbcLocale(), response.Data); } else { TC_LOG_TRACE("network", "CMSG_DB_QUERY_BULK: %s requested non-existing entry %u in datastore: %u", GetPlayerInfo().c_str(), rec.RecordID, packet.TableHash); - response.RecordID = -int32(rec.RecordID); response.Timestamp = time(NULL); } diff --git a/src/server/game/Server/Packets/QueryPackets.cpp b/src/server/game/Server/Packets/QueryPackets.cpp index 02da5d591a1..094e29d5faa 100644 --- a/src/server/game/Server/Packets/QueryPackets.cpp +++ b/src/server/game/Server/Packets/QueryPackets.cpp @@ -258,9 +258,9 @@ void WorldPackets::Query::DBQueryBulk::Read() WorldPacket const* WorldPackets::Query::DBReply::Write() { - _worldPacket << TableHash; - _worldPacket << RecordID; - _worldPacket << Timestamp; + _worldPacket << uint32(TableHash); + _worldPacket << uint32(RecordID); + _worldPacket << uint32(Timestamp); _worldPacket.WriteBit(Allow); _worldPacket << uint32(Data.size()); _worldPacket.append(Data); diff --git a/src/server/game/Server/Packets/QueryPackets.h b/src/server/game/Server/Packets/QueryPackets.h index 09856184386..9c2ef75ff11 100644 --- a/src/server/game/Server/Packets/QueryPackets.h +++ b/src/server/game/Server/Packets/QueryPackets.h @@ -178,7 +178,7 @@ namespace WorldPackets struct DBQueryRecord { ObjectGuid GUID; - int32 RecordID = 0; + uint32 RecordID = 0; }; DBQueryBulk(WorldPacket&& packet) : ClientPacket(CMSG_DB_QUERY_BULK, std::move(packet)) { } @@ -196,10 +196,10 @@ namespace WorldPackets WorldPacket const* Write() override; - bool Allow = false; uint32 TableHash = 0; uint32 Timestamp = 0; - int32 RecordID = 0; + uint32 RecordID = 0; + bool Allow = false; ByteBuffer Data; }; diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp index b3e07342b21..e52dc914da0 100644 --- a/src/server/game/Server/Protocol/Opcodes.cpp +++ b/src/server/game/Server/Protocol/Opcodes.cpp @@ -1053,7 +1053,7 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_DAILY_QUESTS_RESET, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_DAMAGE_CALC_LOG, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_DANCE_STUDIO_CREATE_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_DB_REPLY, STATUS_NEVER, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_DB_REPLY, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); // do not enable until all DB2 stores have updated structures DEFINE_SERVER_OPCODE_HANDLER(SMSG_DEATH_RELEASE_LOC, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_DEFENSE_MESSAGE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_DELETE_CHAR, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); |