aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Handlers/CharacterHandler.cpp10
-rw-r--r--src/server/game/Server/Packets/AllPackets.h1
-rw-r--r--src/server/game/Server/Packets/ArenaPackets.cpp36
-rw-r--r--src/server/game/Server/Packets/ArenaPackets.h48
-rw-r--r--src/server/game/Server/Packets/BattlegroundPackets.cpp14
-rw-r--r--src/server/game/Server/Packets/BattlegroundPackets.h16
-rw-r--r--src/server/game/Server/Protocol/Opcodes.cpp3
-rw-r--r--src/server/game/Server/Protocol/Opcodes.h1
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,