aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2016-06-10 00:18:50 +0200
committerShauren <shauren.trinity@gmail.com>2016-06-10 00:18:50 +0200
commit4c29b8ba83f7186274ef6c0bd1aa6aaed990ed07 (patch)
treeb7fdf2e1a7b70e83fee6c0ba7ab79f78834cbdd1
parent9a1246978f79e866f484f67da8c05122d4a47bbf (diff)
Core/PacketIO: Updated MiscPackets
-rw-r--r--src/server/game/Entities/Player/Player.cpp2
-rw-r--r--src/server/game/Server/Packets/MiscPackets.cpp30
-rw-r--r--src/server/game/Server/Packets/MiscPackets.h17
-rw-r--r--src/server/game/Server/Protocol/Opcodes.cpp10
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);