diff options
author | Shauren <shauren.trinity@gmail.com> | 2016-06-10 00:18:50 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2016-06-10 00:18:50 +0200 |
commit | 4c29b8ba83f7186274ef6c0bd1aa6aaed990ed07 (patch) | |
tree | b7fdf2e1a7b70e83fee6c0ba7ab79f78834cbdd1 | |
parent | 9a1246978f79e866f484f67da8c05122d4a47bbf (diff) |
Core/PacketIO: Updated MiscPackets
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 2 | ||||
-rw-r--r-- | src/server/game/Server/Packets/MiscPackets.cpp | 30 | ||||
-rw-r--r-- | src/server/game/Server/Packets/MiscPackets.h | 17 | ||||
-rw-r--r-- | src/server/game/Server/Protocol/Opcodes.cpp | 10 |
4 files changed, 29 insertions, 30 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index fd96b65b2cf..5775441d781 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -22237,8 +22237,6 @@ void Player::SendInitialPacketsBeforeAddToMap() /// SMSG_WORLD_SERVER_INFO WorldPackets::Misc::WorldServerInfo worldServerInfo; - // worldServerInfo.IneligibleForLootMask; /// @todo - worldServerInfo.WeeklyReset = sWorld->GetNextWeeklyQuestsResetTime() - WEEK; worldServerInfo.InstanceGroupSize = GetMap()->GetMapDifficulty()->MaxPlayers; worldServerInfo.IsTournamentRealm = 0; /// @todo // worldServerInfo.RestrictedAccountMaxLevel; /// @todo diff --git a/src/server/game/Server/Packets/MiscPackets.cpp b/src/server/game/Server/Packets/MiscPackets.cpp index ec440305d26..7a45e527699 100644 --- a/src/server/game/Server/Packets/MiscPackets.cpp +++ b/src/server/game/Server/Packets/MiscPackets.cpp @@ -47,20 +47,23 @@ WorldPacket const* WorldPackets::Misc::LoginSetTimeSpeed::Write() WorldPacket const* WorldPackets::Misc::SetCurrency::Write() { - _worldPacket << uint32(Type); - _worldPacket << uint32(Quantity); + _worldPacket << int32(Type); + _worldPacket << int32(Quantity); _worldPacket << uint32(Flags); _worldPacket.WriteBit(WeeklyQuantity.is_initialized()); _worldPacket.WriteBit(TrackedQuantity.is_initialized()); + _worldPacket.WriteBit(MaxQuantity.is_initialized()); _worldPacket.WriteBit(SuppressChatLog); + _worldPacket.FlushBits(); if (WeeklyQuantity) - _worldPacket << uint32(*WeeklyQuantity); + _worldPacket << int32(*WeeklyQuantity); if (TrackedQuantity) - _worldPacket << uint32(*TrackedQuantity); + _worldPacket << int32(*TrackedQuantity); - _worldPacket.FlushBits(); + if (MaxQuantity) + _worldPacket << int32(*MaxQuantity); return &_worldPacket; } @@ -76,14 +79,15 @@ WorldPacket const* WorldPackets::Misc::SetupCurrency::Write() for (Record const& data : Data) { - _worldPacket << uint32(data.Type); - _worldPacket << uint32(data.Quantity); + _worldPacket << int32(data.Type); + _worldPacket << int32(data.Quantity); _worldPacket.WriteBit(data.WeeklyQuantity.is_initialized()); _worldPacket.WriteBit(data.MaxWeeklyQuantity.is_initialized()); _worldPacket.WriteBit(data.TrackedQuantity.is_initialized()); - + _worldPacket.WriteBit(data.MaxQuantity.is_initialized()); _worldPacket.WriteBits(data.Flags, 5); + _worldPacket.FlushBits(); if (data.WeeklyQuantity) _worldPacket << uint32(*data.WeeklyQuantity); @@ -91,10 +95,10 @@ WorldPacket const* WorldPackets::Misc::SetupCurrency::Write() _worldPacket << uint32(*data.MaxWeeklyQuantity); if (data.TrackedQuantity) _worldPacket << uint32(*data.TrackedQuantity); + if (data.MaxQuantity) + _worldPacket << int32(*data.MaxQuantity); } - _worldPacket.FlushBits(); - return &_worldPacket; } @@ -155,11 +159,9 @@ WorldPacket const* WorldPackets::Misc::WorldServerInfo::Write() { _worldPacket << uint32(DifficultyID); _worldPacket << uint8(IsTournamentRealm); - _worldPacket << uint32(WeeklyReset); _worldPacket.WriteBit(XRealmPvpAlert); _worldPacket.WriteBit(RestrictedAccountMaxLevel.is_initialized()); _worldPacket.WriteBit(RestrictedAccountMaxMoney.is_initialized()); - _worldPacket.WriteBit(IneligibleForLootMask.is_initialized()); _worldPacket.WriteBit(InstanceGroupSize.is_initialized()); if (RestrictedAccountMaxLevel) @@ -168,9 +170,6 @@ WorldPacket const* WorldPackets::Misc::WorldServerInfo::Write() if (RestrictedAccountMaxMoney) _worldPacket << uint32(*RestrictedAccountMaxMoney); - if (IneligibleForLootMask) - _worldPacket << uint32(*IneligibleForLootMask); - if (InstanceGroupSize) _worldPacket << uint32(*InstanceGroupSize); @@ -576,6 +575,7 @@ void WorldPackets::Misc::WorldTeleport::Read() _worldPacket >> TransportGUID; _worldPacket >> Pos; _worldPacket >> Facing; + _worldPacket >> LfgDungeonID; } WorldPacket const* WorldPackets::Misc::AccountHeirloomUpdate::Write() diff --git a/src/server/game/Server/Packets/MiscPackets.h b/src/server/game/Server/Packets/MiscPackets.h index cef9a810213..ffb4f6367a8 100644 --- a/src/server/game/Server/Packets/MiscPackets.h +++ b/src/server/game/Server/Packets/MiscPackets.h @@ -98,12 +98,13 @@ namespace WorldPackets WorldPacket const* Write() override; - bool SuppressChatLog = false; - Optional<int32> TrackedQuantity; + int32 Type = 0; int32 Quantity = 0; uint32 Flags = 0; - int32 Type = 0; Optional<int32> WeeklyQuantity; + Optional<int32> TrackedQuantity; + Optional<int32> MaxQuantity; + bool SuppressChatLog = false; }; class SetSelection final : public ClientPacket @@ -126,6 +127,7 @@ namespace WorldPackets Optional<int32> WeeklyQuantity; // Currency count obtained this Week. Optional<int32> MaxWeeklyQuantity; // Weekly Currency cap. Optional<int32> TrackedQuantity; + Optional<int32> MaxQuantity; uint8 Flags = 0; // 0 = none, }; @@ -236,14 +238,12 @@ namespace WorldPackets WorldPacket const* Write() override; - Optional<uint32> IneligibleForLootMask; ///< Encountermask? - uint32 WeeklyReset = 0; ///< UnixTime of last Weekly Reset Time - Optional<uint32> InstanceGroupSize; + uint32 DifficultyID = 0; uint8 IsTournamentRealm = 0; + bool XRealmPvpAlert = false; Optional<uint32> RestrictedAccountMaxLevel; Optional<uint32> RestrictedAccountMaxMoney; - uint32 DifficultyID = 0; - bool XRealmPvpAlert = false; + Optional<uint32> InstanceGroupSize; }; class AreaTrigger final : public ClientPacket @@ -758,6 +758,7 @@ namespace WorldPackets ObjectGuid TransportGUID; G3D::Vector3 Pos; float Facing = 0.0f; + int32 LfgDungeonID; }; class AccountHeirloomUpdate final : public ServerPacket diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp index 8cd8dd7cd84..1f337a1f44b 100644 --- a/src/server/game/Server/Protocol/Opcodes.cpp +++ b/src/server/game/Server/Protocol/Opcodes.cpp @@ -539,7 +539,7 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_MOVE_TOGGLE_COLLISION_CHEAT, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); DEFINE_HANDLER(CMSG_MOVE_WATER_WALK_ACK, STATUS_LOGGEDIN, PROCESS_THREADSAFE, WorldPackets::Movement::MovementAckMessage, &WorldSession::HandleMovementAckMessage); DEFINE_HANDLER(CMSG_NEUTRAL_PLAYER_SELECT_FACTION, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL); - DEFINE_HANDLER(CMSG_NEXT_CINEMATIC_CAMERA, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Misc::NextCinematicCamera, &WorldSession::HandleNextCinematicCamera); + DEFINE_HANDLER(CMSG_NEXT_CINEMATIC_CAMERA, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::NextCinematicCamera, &WorldSession::HandleNextCinematicCamera); DEFINE_HANDLER(CMSG_OBJECT_UPDATE_FAILED, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::ObjectUpdateFailed, &WorldSession::HandleObjectUpdateFailedOpcode); DEFINE_HANDLER(CMSG_OBJECT_UPDATE_RESCUED, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Misc::ObjectUpdateRescued, &WorldSession::HandleObjectUpdateRescuedOpcode); DEFINE_HANDLER(CMSG_OFFER_PETITION, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Petition::OfferPetition, &WorldSession::HandleOfferPetition); @@ -783,7 +783,7 @@ void OpcodeTable::Initialize() DEFINE_HANDLER(CMSG_WHO, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Who::WhoRequestPkt, &WorldSession::HandleWhoOpcode); DEFINE_HANDLER(CMSG_WHO_IS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Who::WhoIsRequest, &WorldSession::HandleWhoIsOpcode); DEFINE_HANDLER(CMSG_WORLD_PORT_RESPONSE, STATUS_TRANSFER, PROCESS_THREADUNSAFE, WorldPackets::Movement::WorldPortResponse, &WorldSession::HandleMoveWorldportAckOpcode); - DEFINE_HANDLER(CMSG_WORLD_TELEPORT, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Misc::WorldTeleport, &WorldSession::HandleWorldTeleportOpcode); + DEFINE_HANDLER(CMSG_WORLD_TELEPORT, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::WorldTeleport, &WorldSession::HandleWorldTeleportOpcode); DEFINE_HANDLER(CMSG_WRAP_ITEM, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Item::WrapItem, &WorldSession::HandleWrapItem); #undef DEFINE_OPCODE_HANDLER_OLD @@ -1577,12 +1577,12 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_SERVER_FIRST_ACHIEVEMENT, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SERVER_FIRST_ACHIEVEMENTS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SERVER_TIME, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SETUP_CURRENCY, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_SETUP_CURRENCY, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SETUP_RESEARCH_HISTORY, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_AI_ANIM_KIT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_ALL_TASK_PROGRESS, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_ANIM_TIER, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_CURRENCY, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_CURRENCY, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_DF_FAST_LAUNCH_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_DUNGEON_DIFFICULTY, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_FACTION_AT_WAR, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); @@ -1722,7 +1722,7 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_WEEKLY_SPELL_USAGE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_WHO, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_WHO_IS, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_WORLD_SERVER_INFO, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_WORLD_SERVER_INFO, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_WORLD_TEXT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_WOW_TOKEN_AUCTION_SOLD, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_WOW_TOKEN_BUY_REQUEST_CONFIRMATION, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); |