TrinityCore
Loading...
Searching...
No Matches
SystemPackets.h
Go to the documentation of this file.
1/*
2 * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
3 *
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License as published by the
6 * Free Software Foundation; either version 2 of the License, or (at your
7 * option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12 * more details.
13 *
14 * You should have received a copy of the GNU General Public License along
15 * with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#ifndef TRINITYCORE_SYSTEM_PACKETS_H
19#define TRINITYCORE_SYSTEM_PACKETS_H
20
21#include "Packet.h"
22#include "ObjectGuid.h"
23#include "Optional.h"
24#include "PacketUtilities.h"
25
26namespace WorldPackets
27{
28 namespace System
29 {
56
63
71
82
89
96
98 {
101 float ValueF = 0.0f;
102 };
103
105 {
106 public:
117
124
126
127 WorldPacket const* Write() override;
128
129 bool VoiceEnabled = false;
130 bool BpayStoreAvailable = false;
146 bool CharUndeleteEnabled = false;
150 bool RestrictedAccount = false;
151 bool TutorialEnabled = false;
153 bool KioskModeEnabled = false;
156 bool WarModeEnabled = true;
157 bool CommunitiesEnabled = false;
158 bool BnetGroupsEnabled = false;
164 bool IsChatMuted = false;
165 bool ClubFinderEnabled = false;
168 bool SpeakForMeAllowed = false;
173 bool TimerunningEnabled = false;
174 bool PlayerIdentityOptionsEnabled = false; // classic only
176 bool LfdEnabled = false;
177 bool LfrEnabled = true; // classic only
178 bool PetHappinessEnabled = true; // classic only
190
194 std::vector<GameModeData> DisabledGameModes;
195 std::vector<GameRuleValuePair> GameRules;
198 std::string Unknown1027; // related to movement lua functions used by keybinds
206 };
207
209 {
211 std::string_view Text;
212 };
213
215 {
216 public:
218
219 WorldPacket const* Write() override;
220
221 bool BpayStoreAvailable = false; // NYI
224 bool CommerceServerEnabled = false; // NYI
226 bool VeteranTokenRedeemWillKick = false; // NYI
227 bool WorldTokenRedeemWillKick = false; // NYI
228 bool ExpansionPreorderInStore = false; // NYI
229 bool KioskModeEnabled = false; // NYI
230 bool CompetitiveModeEnabled = false; // NYI
231 bool BoostEnabled = false; // classic only
232 bool TrialBoostEnabled = false; // NYI
233 bool RedeemForBalanceAvailable = false; // NYI
236 bool LiveRegionAccountCopyEnabled = false; // NYI
238 bool BrowserCrashReporterEnabled = false; // NYI
239 bool IsEmployeeAccount = false; // NYI
240 bool NameReservationOnly = false; // classic only
241 bool TimerunningEnabled = false; // NYI
249 bool WowTokenLimitedMode = false; // classic only
250 bool NavBarEnabled = false;
263 int32 ContentSetID = 0; // Currently active Classic season
264 std::vector<GameModeData> DisabledGameModes;
265 std::vector<GameRuleValuePair> GameRules;
266 std::vector<int32> AvailableGameModeIDs;
275 std::vector<DebugTimeEventInfo> DebugTimeEvents;
278 std::string RealmHiddenAlert;
279 };
280
282 {
283 std::string_view Name;
284 std::string Value;
286
287 MirrorVarSingle(std::string_view name, std::string_view value, int32 updateType = 0)
288 : Name(name), Value(value), UpdateType(updateType) { }
289 };
290
291 class MirrorVars final : public ServerPacket
292 {
293 public:
295
296 WorldPacket const* Write() override;
297
298 std::span<MirrorVarSingle> Variables;
299 };
300
301 class MOTD final : public ServerPacket
302 {
303 public:
305
306 WorldPacket const* Write() override;
307
308 std::vector<std::string> const* Text = nullptr;
309 };
310
312 {
313 public:
315
316 WorldPacket const* Write() override;
317
318 std::string_view ServerTimeTZ;
319 std::string_view GameTimeTZ;
320 std::string_view ServerRegionalTimeTZ;
321 };
322 }
323}
324
325#endif // TRINITYCORE_SYSTEM_PACKETS_H
uint8_t uint8
Definition Define.h:156
int64_t int64
Definition Define.h:149
int16_t int16
Definition Define.h:151
int32_t int32
Definition Define.h:150
uint32_t uint32
Definition Define.h:154
@ SMSG_MIRROR_VARS
Definition Opcodes.h:1849
@ SMSG_MOTD
Definition Opcodes.h:1852
@ SMSG_FEATURE_SYSTEM_STATUS_GLUE_SCREEN
Definition Opcodes.h:1454
@ SMSG_SET_TIME_ZONE_INFORMATION
Definition Opcodes.h:2300
@ SMSG_FEATURE_SYSTEM_STATUS
Definition Opcodes.h:1453
std::optional< T > Optional
Optional helper class to wrap optional values within.
Definition Optional.h:25
ComplaintStatus
Optional< EuropaTicketConfig > EuropaTicketSystemStatus
std::vector< DebugTimeEventInfo > DebugTimeEvents
bool BNSendGameDataUseV2Services
BNSendGameData will send to v2.NotificationService instead of v1.NotificationService.
bool BNSendWhisperUseV2Services
BNSendWhisper will send to v2.WhisperService instead of v1.NotificationService.
Duration< Seconds, int32 > TimerunningConversionMinCharacterAge
uint32 ClubPresenceUnsubscribeDelay
Timer for updating club presence when communities ui frame is hidden.
Optional< EuropaTicketConfig > EuropaTicketSystemStatus
uint32 RealmPvpTypeOverride
Use Cfg_Configs value = 0, ForceEnabled = 1, ForceDisabled = 2.
Duration< Seconds, uint32 > NotFoundCacheTimeSeconds
int32 ContentSetID
Currently active Classic season.
std::vector< GameRuleValuePair > GameRules
Optional< SessionAlertConfig > SessionAlert
WorldPacket const * Write() override
std::vector< GameModeData > DisabledGameModes
bool BNSendWhisperUseV2Services
BNSendWhisper will send to v2.WhisperService instead of v1.NotificationService.
bool BNSendGameDataUseV2Services
BNSendGameData will send to v2.NotificationService instead of v1.NotificationService.
WorldPacket const * Write() override
WorldPacket const * Write() override
std::span< MirrorVarSingle > Variables
SavedThrottleObjectState ThrottleState
SavedThrottleObjectState ExpensiveThrottleState
MirrorVarSingle(std::string_view name, std::string_view value, int32 updateType=0)