diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Handlers/CharacterHandler.cpp | 10 | ||||
-rw-r--r-- | src/server/game/Server/Packets/AllPackets.h | 1 | ||||
-rw-r--r-- | src/server/game/Server/Packets/ArenaPackets.cpp | 36 | ||||
-rw-r--r-- | src/server/game/Server/Packets/ArenaPackets.h | 48 | ||||
-rw-r--r-- | src/server/game/Server/Packets/BattlegroundPackets.cpp | 14 | ||||
-rw-r--r-- | src/server/game/Server/Packets/BattlegroundPackets.h | 16 | ||||
-rw-r--r-- | src/server/game/Server/Protocol/Opcodes.cpp | 3 | ||||
-rw-r--r-- | src/server/game/Server/Protocol/Opcodes.h | 1 |
8 files changed, 91 insertions, 38 deletions
diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp index 17dcbefcc86..bd50b2901f4 100644 --- a/src/server/game/Handlers/CharacterHandler.cpp +++ b/src/server/game/Handlers/CharacterHandler.cpp @@ -17,6 +17,7 @@ #include "WorldSession.h" #include "AccountMgr.h" +#include "ArenaPackets.h" #include "ArenaTeam.h" #include "ArenaTeamMgr.h" #include "AuctionHousePackets.h" @@ -1109,13 +1110,12 @@ void WorldSession::HandlePlayerLogin(LoginQueryHolder const& holder) // Send PVPSeason { - WorldPackets::Battleground::SeasonInfo seasonInfo; - seasonInfo.PreviousArenaSeason = sWorld->getIntConfig(CONFIG_ARENA_SEASON_ID) - sWorld->getBoolConfig(CONFIG_ARENA_SEASON_IN_PROGRESS); - + WorldPackets::Arena::PvpSeason pvpSeason; + pvpSeason.PreviousArenaSeason = sWorld->getIntConfig(CONFIG_ARENA_SEASON_ID) - sWorld->getBoolConfig(CONFIG_ARENA_SEASON_IN_PROGRESS); if (sWorld->getBoolConfig(CONFIG_ARENA_SEASON_IN_PROGRESS)) - seasonInfo.CurrentArenaSeason = sWorld->getIntConfig(CONFIG_ARENA_SEASON_ID); + pvpSeason.CurrentArenaSeason = sWorld->getIntConfig(CONFIG_ARENA_SEASON_ID); - SendPacket(seasonInfo.Write()); + SendPacket(pvpSeason.Write()); } // send server info diff --git a/src/server/game/Server/Packets/AllPackets.h b/src/server/game/Server/Packets/AllPackets.h index c51cc8f8785..d66068bb100 100644 --- a/src/server/game/Server/Packets/AllPackets.h +++ b/src/server/game/Server/Packets/AllPackets.h @@ -22,6 +22,7 @@ #include "AddonPackets.h" #include "AdventureMapPackets.h" #include "AreaTriggerPackets.h" +#include "ArenaPackets.h" #include "AuctionHousePackets.h" #include "AuthenticationPackets.h" #include "BankPackets.h" diff --git a/src/server/game/Server/Packets/ArenaPackets.cpp b/src/server/game/Server/Packets/ArenaPackets.cpp new file mode 100644 index 00000000000..09f4360c5a2 --- /dev/null +++ b/src/server/game/Server/Packets/ArenaPackets.cpp @@ -0,0 +1,36 @@ +/* + * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include "ArenaPackets.h" +#include "PacketUtilities.h" + +WorldPacket const* WorldPackets::Arena::PvpSeason::Write() +{ + _worldPacket << int32(Unk0); + _worldPacket << int32(Unk1); + _worldPacket << int32(CurrentArenaSeason); + _worldPacket << int32(PreviousArenaSeason); + _worldPacket << int32(CurrentArenaUsesTeams); + _worldPacket << int32(PreviousArenaUsesTeams); + _worldPacket << int32(Unk6); + _worldPacket << Bits<1>(Unk7); + _worldPacket << Bits<1>(Unk8); + _worldPacket << Bits<1>(Unk9); + _worldPacket.FlushBits(); + + return &_worldPacket; +} diff --git a/src/server/game/Server/Packets/ArenaPackets.h b/src/server/game/Server/Packets/ArenaPackets.h new file mode 100644 index 00000000000..a842edbd16b --- /dev/null +++ b/src/server/game/Server/Packets/ArenaPackets.h @@ -0,0 +1,48 @@ +/* + * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef ArenaPackets_h__ +#define ArenaPackets_h__ + +#include "Packet.h" + +namespace WorldPackets +{ + namespace Arena + { + class PvpSeason final : public ServerPacket + { + public: + PvpSeason() : ServerPacket(SMSG_PVP_SEASON, 4 + 4 + 4 + 4 + 4 + 4 + 4 + 1) { } + + WorldPacket const* Write() override; + + int32 Unk0 = 0; + int32 Unk1 = 0; + int32 CurrentArenaSeason = 0; + int32 PreviousArenaSeason = 0; + int32 CurrentArenaUsesTeams = 0; + int32 PreviousArenaUsesTeams = 0; + int32 Unk6 = 0; + bool Unk7 = 0; + bool Unk8 = 0; + bool Unk9 = 0; + }; + } +} + +#endif // ArenaPackets_h__ diff --git a/src/server/game/Server/Packets/BattlegroundPackets.cpp b/src/server/game/Server/Packets/BattlegroundPackets.cpp index cd4b1717bbf..b732f337d2c 100644 --- a/src/server/game/Server/Packets/BattlegroundPackets.cpp +++ b/src/server/game/Server/Packets/BattlegroundPackets.cpp @@ -17,20 +17,6 @@ #include "BattlegroundPackets.h" -WorldPacket const* WorldPackets::Battleground::SeasonInfo::Write() -{ - _worldPacket << int32(MythicPlusDisplaySeasonID); - _worldPacket << int32(MythicPlusMilestoneSeasonID); - _worldPacket << int32(CurrentArenaSeason); - _worldPacket << int32(PreviousArenaSeason); - _worldPacket << int32(ConquestWeeklyProgressCurrencyID); - _worldPacket << int32(PvpSeasonID); - _worldPacket.WriteBit(WeeklyRewardChestsEnabled); - _worldPacket.FlushBits(); - - return &_worldPacket; -} - void WorldPackets::Battleground::AreaSpiritHealerQuery::Read() { _worldPacket >> HealerGuid; diff --git a/src/server/game/Server/Packets/BattlegroundPackets.h b/src/server/game/Server/Packets/BattlegroundPackets.h index b4857330df0..e7e077ce29a 100644 --- a/src/server/game/Server/Packets/BattlegroundPackets.h +++ b/src/server/game/Server/Packets/BattlegroundPackets.h @@ -30,22 +30,6 @@ namespace WorldPackets { namespace Battleground { - class SeasonInfo final : public ServerPacket - { - public: - SeasonInfo() : ServerPacket(SMSG_SEASON_INFO, 4 + 4 + 4 + 4 + 4 + 1) { } - - WorldPacket const* Write() override; - - int32 MythicPlusDisplaySeasonID = 0; - int32 MythicPlusMilestoneSeasonID = 0; - int32 PreviousArenaSeason = 0; - int32 CurrentArenaSeason = 0; - int32 PvpSeasonID = 0; - int32 ConquestWeeklyProgressCurrencyID = 0; - bool WeeklyRewardChestsEnabled = false; - }; - class AreaSpiritHealerQuery final : public ClientPacket { public: diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp index 4d9a9a5b0bc..f0c5e1e1088 100644 --- a/src/server/game/Server/Protocol/Opcodes.cpp +++ b/src/server/game/Server/Protocol/Opcodes.cpp @@ -1790,7 +1790,7 @@ void OpcodeTable::InitializeServerOpcodes() DEFINE_SERVER_OPCODE_HANDLER(SMSG_PVP_MATCH_START, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PVP_MATCH_STATISTICS, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PVP_OPTIONS_ENABLED, STATUS_NEVER, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_PVP_SEASON, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_PVP_SEASON, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_PVP_TIER_RECORD, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUERY_ARENA_TEAM_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_QUERY_BATTLE_PET_NAME_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); @@ -1908,7 +1908,6 @@ void OpcodeTable::InitializeServerOpcodes() DEFINE_SERVER_OPCODE_HANDLER(SMSG_SCENE_OBJECT_PET_BATTLE_REPLACEMENTS_MADE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SCENE_OBJECT_PET_BATTLE_ROUND_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SCRIPT_CAST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_SEASON_INFO, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SELL_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SEND_ITEM_PASSIVES, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_SEND_KNOWN_SPELLS, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); diff --git a/src/server/game/Server/Protocol/Opcodes.h b/src/server/game/Server/Protocol/Opcodes.h index 0e4a8376f57..ffcccf9c473 100644 --- a/src/server/game/Server/Protocol/Opcodes.h +++ b/src/server/game/Server/Protocol/Opcodes.h @@ -2017,7 +2017,6 @@ enum OpcodeServer : uint16 SMSG_RETURN_APPLICANT_LIST = UNKNOWN_OPCODE, SMSG_RETURN_RECRUITING_CLUBS = UNKNOWN_OPCODE, SMSG_RUNEFORGE_LEGENDARY_CRAFTING_OPEN_NPC = UNKNOWN_OPCODE, - SMSG_SEASON_INFO = UNKNOWN_OPCODE, SMSG_SETUP_COMBAT_LOG_FILE_FLUSH = UNKNOWN_OPCODE, SMSG_SET_QUEST_REPLAY_COOLDOWN_OVERRIDE = UNKNOWN_OPCODE, SMSG_SET_SHIPMENT_READY_RESPONSE = UNKNOWN_OPCODE, |