22#ifndef __WORLDSESSION_H
23#define __WORLDSESSION_H
37#include <boost/circular_buffer_fwd.hpp>
41#include <unordered_map>
78 struct LfgJoinResultData;
81 struct LfgQueueStatusData;
82 struct LfgPlayerRewardData;
102 class GuildSetFocusedAchievement;
103 class GuildGetAchievementMembers;
108 class AdventureJournalOpenQuest;
109 class AdventureJournalUpdateSuggestions;
114 class CheckIsAdventureMapPoiValid;
115 class AdventureMapStartQuest;
125 class ArtifactAddPower;
126 class ArtifactSetAppearance;
127 class ConfirmArtifactRespec;
130 namespace AuctionHouse
132 class AuctionBrowseQuery;
133 class AuctionCancelCommoditiesPurchase;
134 class AuctionConfirmCommoditiesPurchase;
135 class AuctionGetCommodityQuote;
136 class AuctionHelloRequest;
137 class AuctionListBiddedItems;
138 class AuctionListBucketsByBucketKeys;
139 class AuctionListItemsByBucketKey;
140 class AuctionListItemsByItemID;
141 class AuctionListOwnedItems;
142 class AuctionPlaceBid;
143 class AuctionRemoveItem;
144 class AuctionReplicateItems;
145 class AuctionRequestFavoriteList;
146 class AuctionSellCommodity;
147 class AuctionSellItem;
148 class AuctionSetFavoriteItem;
158 class AzeriteEmpoweredItemSelectPower;
159 class AzeriteEmpoweredItemViewed;
160 class AzeriteEssenceUnlockMilestone;
161 class AzeriteEssenceActivateEssence;
167 class AutoStoreBankItem;
169 class AutoBankReagent;
170 class AutoStoreBankReagent;
176 class AreaSpiritHealerQuery;
177 class AreaSpiritHealerQueue;
178 class HearthAndResurrect;
179 class PVPLogDataRequest;
180 class BattlemasterJoin;
181 class BattlemasterJoinArena;
182 class BattlefieldLeave;
183 class BattlefieldPort;
184 class BattlefieldListRequest;
185 class GetPVPOptionsEnabled;
186 class RequestBattlefieldStatus;
187 class ReportPvPPlayerAFK;
188 class RequestPVPRewards;
189 class RequestRatedPvpInfo;
194 class ChangeRealmTicket;
200 class BattlePetRequestJournal;
201 class BattlePetRequestJournalLock;
202 class BattlePetSetBattleSlot;
203 class BattlePetModifyName;
204 class QueryBattlePetName;
205 class BattlePetDeletePet;
206 class BattlePetSetFlags;
207 class BattlePetClearFanfare;
208 class BattlePetSummon;
209 class BattlePetUpdateNotify;
213 namespace BlackMarket
215 class BlackMarketOpen;
216 class BlackMarketRequestItems;
217 class BlackMarketBidOnItem;
218 class BlackMarketOutbid;
223 class CalendarAddEvent;
224 class CalendarCopyEvent;
226 class CalendarModeratorStatusQuery;
228 class CalendarEventSignUp;
229 class CalendarStatus;
230 class CalendarGetCalendar;
231 class CalendarGetEvent;
232 class CalendarGetNumPending;
233 class CalendarCommunityInviteRequest;
234 class CalendarRemoveEvent;
235 class CalendarRemoveInvite;
236 class CalendarUpdateEvent;
237 class SetSavedInstanceExtend;
238 class CalendarComplain;
243 struct CharacterCreateInfo;
244 struct CharacterRenameInfo;
245 struct CharCustomizeInfo;
246 struct CharRaceOrFactionChangeInfo;
247 struct CharacterUndeleteInfo;
249 class AlterApperance;
250 class EnumCharacters;
251 class CreateCharacter;
253 class CharacterRenameRequest;
255 class CharRaceOrFactionChange;
256 class CheckCharacterNameAvailability;
257 class GenerateRandomCharacterName;
258 class GetUndeleteCharacterCooldownStatus;
259 class ReorderCharacters;
260 class UndeleteCharacter;
264 class LoadingScreenNotify;
265 class SetActionBarToggles;
266 class RequestPlayedTime;
268 class SetFactionAtWar;
269 class SetFactionNotAtWar;
270 class SetFactionInactive;
271 class SetWatchedFaction;
272 class SetPlayerDeclinedNames;
273 class SavePersonalEmblem;
278 namespace ClientConfig
280 class RequestAccountData;
281 class UserClientUpdateAccountData;
282 class SetAdvancedCombatLogging;
287 class ChannelCommand;
288 class ChannelPlayerCommand;
289 class ChannelPassword;
297 class ChatMessageWhisper;
298 class ChatMessageChannel;
299 class ChatAddonMessage;
300 class ChatAddonMessageTargeted;
301 class ChatMessageAFK;
302 class ChatMessageDND;
303 class ChatMessageEmote;
306 class ChatRegisterAddonPrefixes;
307 class ChatUnregisterAllAddonPrefixes;
308 class ChatReportIgnored;
309 class CanLocalWhisperTargetRequest;
310 class UpdateAADCStatus;
313 namespace Collections
315 class CollectionItemSetFavorite;
331 namespace EquipmentSet
333 class SaveEquipmentSet;
334 class DeleteEquipmentSet;
335 class UseEquipmentSet;
340 class GameObjReportUse;
346 class GetGarrisonInfo;
347 class GarrisonPurchaseBuilding;
348 class GarrisonCancelConstruction;
349 class GarrisonRequestBlueprintAndSpecializationData;
350 class GarrisonGetMapData;
355 class QueryGuildInfo;
356 class GuildInviteByName;
357 class AcceptGuildInvite;
358 class DeclineGuildInvites;
359 class GuildDeclineInvitation;
360 class GuildGetRoster;
361 class GuildPromoteMember;
362 class GuildDemoteMember;
363 class GuildOfficerRemoveMember;
364 class GuildAssignMemberRank;
367 class GuildUpdateMotdText;
370 class GuildDeleteRank;
371 class GuildShiftRank;
372 class GuildUpdateInfoText;
373 class GuildSetMemberNote;
374 class GuildEventLogQuery;
375 class GuildBankRemainingWithdrawMoneyQuery;
376 class GuildPermissionsQuery;
377 class GuildSetRankPermissions;
378 class GuildBankActivate;
379 class GuildBankQueryTab;
380 class GuildBankDepositMoney;
381 class GuildBankWithdrawMoney;
382 class AutoGuildBankItem;
383 class StoreGuildBankItem;
384 class SwapItemWithGuildBankItem;
385 class SwapGuildBankItemWithGuildBankItem;
386 class MoveGuildBankItem;
387 class MergeItemWithGuildBankItem;
388 class SplitItemToGuildBank;
389 class MergeGuildBankItemWithItem;
390 class SplitGuildBankItemToInventory;
391 class AutoStoreGuildBankItem;
392 class MergeGuildBankItemWithGuildBankItem;
393 class SplitGuildBankItem;
394 class GuildBankBuyTab;
395 class GuildBankUpdateTab;
396 class GuildBankLogQuery;
397 class GuildBankTextQuery;
398 class GuildBankSetTabText;
399 class RequestGuildPartyState;
400 class RequestGuildRewardsList;
401 class GuildQueryNews;
402 class GuildNewsUpdateSticky;
403 class GuildReplaceGuildMaster;
404 class GuildSetGuildMaster;
405 class GuildChallengeUpdateRequest;
406 class SaveGuildEmblem;
407 class GuildSetAchievementTracking;
419 class QueryInspectAchievements;
425 class InstanceLockResponse;
426 class ResetInstances;
432 class AutoEquipItemSlot;
433 class AutoStoreBagItem;
437 class GetItemPurchaseData;
438 class ItemPurchaseRefund;
446 class CancelTempEnchantment;
447 class UseCritterItem;
451 class SortReagentBankBags;
460 class DFProposalResponse;
462 class DFBootPlayerVote;
464 class DFGetSystemInfo;
465 class DFGetJoinStatus;
472 class MasterLootItem;
476 class SetLootSpecialization;
481 class MailCreateTextItem;
484 class MailMarkAsRead;
485 class MailQueryNextMailTime;
486 class MailReturnToSender;
496 class TimeSyncResponse;
497 class TutorialSetFlag;
498 class SetDungeonDifficulty;
499 class SetRaidDifficulty;
503 class RequestCemeteryList;
504 class ResurrectResponse;
505 class StandStateChange;
506 class ServerTimeOffsetRequest;
507 class RandomRollClient;
508 class ObjectUpdateFailed;
509 class ObjectUpdateRescued;
510 class CompleteCinematic;
512 class NextCinematicCamera;
514 class LoadCUFProfiles;
515 class SaveCUFProfiles;
516 class OpeningCinematic;
521 class SetTaxiBenchmarkMode;
522 class MountSetFavorite;
523 class CloseInteraction;
524 class ConversationLineStarted;
525 class RequestLatestSplashScreen;
526 class QueryCountdownTimer;
531 class ClientPlayerMovement;
532 class WorldPortResponse;
533 class MoveTeleportAck;
534 class MovementAckMessage;
535 class MovementSpeedAck;
536 class MoveKnockBackAck;
537 class SetActiveMover;
538 class MoveSetCollisionHeightAck;
539 class MoveTimeSkipped;
540 class SummonResponse;
541 class MoveSplineDone;
542 class SuspendTokenResponse;
543 class MoveApplyMovementForceAck;
544 class MoveRemoveMovementForceAck;
545 class MoveInitActiveMoverComplete;
551 class GossipSelectOption;
552 class SpiritHealerActivate;
553 class TabardVendorActivate;
554 class TrainerBuySpell;
555 class RequestStabledPets;
561 class PartyCommandResult;
562 class PartyInviteClient;
564 class PartyInviteResponse;
567 class RequestPartyMemberStats;
568 class PartyMemberFullState;
569 class SetPartyLeader;
570 class SetPartyAssignment;
572 class RoleChangedInform;
575 class MinimapPingClient;
577 class UpdateRaidTarget;
578 class SendRaidTargetUpdateSingle;
579 class SendRaidTargetUpdateAll;
581 class RequestPartyJoinUpdates;
582 class SetAssistantLeader;
584 class ReadyCheckStarted;
585 class ReadyCheckResponseClient;
586 class ReadyCheckResponse;
587 class ReadyCheckCompleted;
588 class RequestRaidInfo;
590 class InitiateRolePoll;
591 class RolePollInform;
592 class GroupNewLeader;
594 class SetEveryoneIsAssistant;
595 class ChangeSubGroup;
597 class RaidMarkersChanged;
598 class ClearRaidMarker;
599 class SetRestrictPingsToAssistants;
601 class SendPingWorldPoint;
606 class DismissCritter;
607 class RequestPetInfo;
610 class PetSpellAutocast;
619 class DeclinePetition;
622 class PetitionRenameGuild;
623 class PetitionShowList;
624 class PetitionShowSignatures;
627 class TurnInPetition;
633 struct NameCacheLookupResult;
634 class QueryPlayerNames;
637 class QueryGameObject;
638 class QueryCorpseLocationFromClient;
639 class QueryCorpseTransport;
643 class QueryQuestCompletionNPCs;
644 class QueryRealmName;
650 class QuestConfirmAccept;
651 class QuestGiverStatusQuery;
652 class QuestGiverStatusMultipleQuery;
653 class QuestGiverStatusTrackedQuery;
654 class QuestGiverHello;
655 class QueryQuestInfo;
656 class QuestGiverChooseReward;
657 class QuestGiverCloseQuest;
658 class QuestGiverCompleteQuest;
659 class QuestGiverRequestReward;
660 class QuestGiverQueryQuest;
661 class QuestGiverAcceptQuest;
662 class QuestLogRemoveQuest;
663 class QuestPushResult;
664 class PushQuestToParty;
665 class RequestWorldQuestUpdate;
666 class ChoiceResponse;
671 class AcceptLevelGrant;
677 class RequestForcedReactions;
682 class AccountToyUpdate;
685 class ToyClearFanfare;
690 class QueryScenarioPOI;
695 class SceneTriggerEvent;
696 class ScenePlaybackComplete;
697 class ScenePlaybackCanceled;
706 class SendContactList;
707 class SetContactNotes;
708 class SocialContractRequest;
714 class CancelAutoRepeatSpell;
715 class CancelChannelling;
716 class CancelGrowthAura;
717 class CancelMountAura;
718 class CancelModSpeedNoControlAuras;
719 class CancelQueuedSpell;
726 class SetActionButton;
729 class GetMirrorImageData;
731 class MissileTrajectoryCollision;
732 class UpdateMissileTrajectory;
733 class TradeSkillSetFavorite;
734 class KeyboundOverride;
740 class LearnPvpTalents;
741 class ConfirmRespecWipe;
747 class TaxiNodeStatusQuery;
748 class EnableTaxiNode;
749 class TaxiQueryAvailableNodes;
751 class TaxiRequestEarlyLanding;
756 class GMTicketGetSystemStatus;
757 class GMTicketGetCaseStatus;
758 class SubmitUserFeedback;
759 class SupportTicketSubmitComplaint;
766 class CommerceTokenGetLog;
767 class CommerceTokenGetMarketPrice;
772 class TotemDestroyed;
781 class ClearTradeItem;
784 class SetTradeCurrency;
793 class TraitsCommitConfig;
794 class ClassTalentsRequestNewConfig;
795 class ClassTalentsRenameConfig;
796 class ClassTalentsDeleteConfig;
797 class ClassTalentsSetStarterBuildActive;
798 class ClassTalentsSetUsesSharedActionBars;
801 namespace Transmogrification
803 class TransmogrifyItems;
808 class MoveDismissVehicle;
809 class RequestVehiclePrevSeat;
810 class RequestVehicleNextSeat;
811 class MoveChangeVehicleSeats;
812 class RequestVehicleSwitchSeat;
813 class RideVehicleInteract;
814 class EjectPassenger;
815 class RequestVehicleExit;
816 class MoveSetVehicleRecIdAck;
819 namespace VoidStorage
821 class UnlockVoidStorage;
822 class QueryVoidStorage;
823 class VoidStorageTransfer;
870#define NUM_ACCOUNT_DATA_TYPES 15
872#define ALL_ACCOUNT_DATA_CACHE_MASK 0x7FFF
873#define GLOBAL_CACHE_MASK 0x2515
874#define PER_CHARACTER_CACHE_MASK 0x5AEA
973 bool PlayerDisconnected()
const;
975 bool IsAddonRegistered(std::string_view prefix)
const;
977 void SendPacket(
WorldPacket const* packet,
bool forced =
false);
980 void SendNotification(
char const* format, ...)
ATTR_PRINTF(2, 3);
981 void SendNotification(
uint32 stringId, ...);
984 void SendQueryTimeResponse();
986 void SendAuthResponse(
uint32 code,
bool queued,
uint32 queuePos = 0);
987 void SendClientCacheVersion(
uint32 version);
988 void SendAvailableHotfixes();
990 void InitializeSession();
993 rbac::RBACData* GetRBACData();
994 bool HasPermission(
uint32 permissionId);
995 void LoadPermissions();
997 void InvalidateRBACData();
1006 std::string
const& GetPlayerName()
const;
1007 std::string GetPlayerInfo()
const;
1011 void SetPlayer(
Player* player);
1014 std::string
const&
GetOS()
const {
return _os; }
1016 bool CanAccessAlliedRaces()
const;
1031 _logoutTime = requestTime;
1037 return (_logoutTime > 0 && currTime >= _logoutTime + 20);
1040 void LogoutPlayer(
bool save);
1041 void KickPlayer(std::string
const& reason);
1044 bool ValidateHyperlinksAndMaybeKick(std::string
const& str);
1047 bool DisallowHyperlinksAndMaybeKick(std::string
const& str);
1053 void SendAuthWaitQueue(
uint32 position);
1055 void SendSetTimeZoneInformation();
1056 void SendFeatureSystemStatus();
1057 void SendFeatureSystemStatusGlueScreen();
1067 void SendSpiritResurrect();
1069 void SendOpenTransmogrifier(
ObjectGuid const& guid);
1071 void SendAttackStop(
Unit const* enemy);
1074 void SendUpdateTrade(
bool trader_data =
true);
1075 void SendCancelTrade();
1077 void SendPetitionQueryOpcode(
ObjectGuid petitionguid);
1080 void SendQueryPetNameResponse(
ObjectGuid guid);
1086 void SetAccountData(
AccountDataType type, time_t time, std::string
const& data);
1091 void SendTutorialsData();
1096 if (_tutorials[index] != value)
1098 _tutorials[index] = value;
1116 void SendAuctionClosedNotification(
AuctionPosting const* auction,
float mailDelay,
bool sold);
1117 void SendAuctionOwnerBidNotification(
AuctionPosting const* auction);
1133 bool SendLearnNewTaxiNode(
Creature* unit);
1134 void SendDiscoverNewTaxiNode(
uint32 nodeid);
1139 void DoLootRelease(
Loot* loot);
1140 void DoLootReleaseAll();
1143 bool CanSpeak()
const;
1159 void ResetTimeOutTime(
bool onlyActive);
1161 bool IsConnectionIdle()
const;
1168 void ResetTimeSync();
1169 void SendTimeSync();
1185 void LogUnprocessedTail(
WorldPacket const* packet);
1195 void HandleContinuePlayerLogin();
1201 void HandleCharRenameCallBack(std::shared_ptr<WorldPackets::Character::CharacterRenameInfo> renameInfo,
PreparedQueryResult result);
1205 void HandleCharCustomizeCallback(std::shared_ptr<WorldPackets::Character::CharCustomizeInfo> customizeInfo,
PreparedQueryResult result);
1207 void HandleCharRaceOrFactionChangeCallback(std::shared_ptr<WorldPackets::Character::CharRaceOrFactionChangeInfo> factionChangeInfo,
PreparedQueryResult result);
1226 void SendUndeleteCooldownStatusResponse(
uint32 currentCooldown,
uint32 maxCooldown);
1318 void HandleMoveWorldportAck();
1367 void SendPetitionSigns(
Petition const* petition,
Player* sendTo);
1430 void HandleDuelAccepted(
ObjectGuid arbiterGuid);
1431 void HandleDuelCancelled();
1559 void HandleChatAddonMessage(
ChatMsg type, std::string prefix, std::string text,
bool isLogged, std::string target =
"",
Optional<ObjectGuid> channelGuid = {});
1563 void SendChatPlayerNotfoundNotice(std::string
const& name);
1564 void SendPlayerAmbiguousNotice(std::string
const& name);
1640 void SendLfgPlayerLockInfo();
1641 void SendLfgPartyLockInfo();
1659 void SendLfgDisabled();
1660 void SendLfgOfferContinue(
uint32 dungeonEntry);
1723 void SendCalendarRaidLockoutAdded(
InstanceLock const* lock);
1724 void SendCalendarRaidLockoutRemoved(
InstanceLock const* lock);
1784 void SendLoadCUFProfiles();
1813 void SendBattlenetResponse(
uint32 serviceHash,
uint32 methodId,
uint32 token, pb::Message
const* response);
1815 void SendBattlenetRequest(
uint32 serviceHash,
uint32 methodId, pb::Message
const* request, std::function<
void(
MessageBuffer)> callback);
1816 void SendBattlenetRequest(
uint32 serviceHash,
uint32 methodId, pb::Message
const* request);
1864 void ProcessQueryCallbacks();
1877 bool EvaluateOpcode(
WorldPacket& p, time_t time)
const;
1886 uint32 GetMaxPacketCounterAllowed(
uint16 opcode)
const;
1902 void moveItems(
Item* myItems[],
Item* hisItems[]);
1907 void LogUnexpectedOpcode(
WorldPacket* packet,
char const* status,
const char *reason);
1912 return _legitCharacters.find(lowGUID) != _legitCharacters.end();
1965 void ComputeNewClockDelta();
std::array< uint8, SESSION_KEY_LENGTH > SessionKey
SQLTransaction< CharacterDatabaseConnection > CharacterDatabaseTransaction
std::shared_ptr< PreparedResultSet > PreparedQueryResult
#define ATTR_PRINTF(F, V)
COREDEBUG.
std::chrono::milliseconds Milliseconds
Milliseconds shorthand typedef.
std::chrono::minutes Minutes
Minutes shorthand typedef.
std::set< ObjectGuid > GuidSet
std::optional< T > Optional
Optional helper class to wrap optional values within.
#define MAX_ACCOUNT_TUTORIAL_VALUES
virtual bool Process(WorldPacket *packet) override
MapSessionFilter(WorldSession *pSession)
virtual bool ProcessUnsafe() const override
static ObjectGuid const Empty
virtual bool Process(WorldPacket *)
PacketFilter & operator=(PacketFilter const &right)=delete
virtual bool ProcessUnsafe() const
PacketFilter(PacketFilter const &right)=delete
PacketFilter(WorldSession *pSession)
WorldSession *const m_pSession
Utility class to enable range for loop syntax for multimap.equal_range uses.
bool Process(WorldPacket *packet) override
WorldSessionFilter(WorldSession *pSession)
bool ProcessUnsafe() const override
DosProtection(DosProtection const &right)=delete
DosProtection & operator=(DosProtection const &right)=delete
std::unordered_map< uint16, PacketCounter > PacketThrottlingMap
PacketThrottlingMap _PacketThrottlingMap
Player session in the World.
bool m_playerRecentlyLogout
ObjectGuid GetBattlenetAccountGUID() const
time_t GetCalendarEventCreationCooldown() const
std::array< uint8, 32 > _realmListSecret
bool isLogingOut() const
Is the user engaged in a log out process?
LocaleConstant m_sessionDbLocaleIndex
AsyncCallbackProcessor< SQLQueryHolderCallback > _queryHolderProcessor
QueryCallbackProcessor _queryProcessor
LocaleConstant GetSessionDbLocaleIndex() const
int64 _timeSyncClockDelta
std::map< uint32, uint32 > _pendingTimeSyncRequests
time_t _calendarEventCreationCooldown
std::array< uint8, 32 > const & GetRealmListSecret() const
bool PlayerRecentlyLoggedOut() const
std::atomic< time_t > m_timeOutTime
bool PlayerLogout() const
uint64 GetConnectToInstanceKey() const
ObjectGuid GetAccountGUID() const
void AddInstanceConnection(std::shared_ptr< WorldSocket > sock)
std::unordered_map< uint32, uint8 > _realmCharacterCounts
Minutes GetTimezoneOffset() const
LocaleConstant GetSessionDbcLocale() const
uint32 GetRecruiterId() const
Player * GetPlayer() const
rbac::RBACData * _RBACData
std::unique_ptr< CollectionMgr > _collectionMgr
bool PlayerLogoutWithSave() const
bool PlayerLoading() const
bool IsARecruiter() const
void SetLogoutStartTime(time_t requestTime)
Engage the logout process for the user.
std::string const & GetOS() const
void SetRealmListSecret(std::array< uint8, 32 > const &secret)
std::string const & GetAccountName() const
AccountData const * GetAccountData(AccountDataType type) const
QueryCallbackProcessor & GetQueryProcessor()
uint32 _timeSyncNextCounter
ObjectGuid m_playerLoading
bool IsLegitCharacterForAccount(ObjectGuid lowGUID)
std::string const & GetRemoteAddress() const
void SetCalendarEventCreationCooldown(time_t cooldown)
void SetInQueue(bool state)
Session in auth.queue currently.
ObjectGuid::LowType m_GUIDLow
WorldSession(WorldSession const &right)=delete
uint32 GetBattlenetAccountId() const
std::unordered_map< uint32, uint8 > const & GetRealmCharacterCounts() const
uint32 GetAccountId() const
uint8 GetAccountExpansion() const
ConnectToKey _instanceConnectKey
Warden const * GetWarden() const
uint32 GetTutorialInt(uint8 index) const
uint32 _battlenetRequestToken
CollectionMgr * GetCollectionMgr() const
uint32 _battlenetAccountId
uint32 GetLatency() const
uint8 GetExpansion() const
WorldSession & operator=(WorldSession const &right)=delete
std::vector< std::string > _registeredAddonPrefixes
std::unordered_map< uint32, std::function< void(MessageBuffer)> > _battlenetResponseCallbacks
LocaleConstant m_sessionDbcLocale
std::unique_ptr< boost::circular_buffer< std::pair< int64, uint32 > > > _timeSyncClockDeltaQueue
LockedQueue< WorldPacket * > _recvQueue
std::unique_ptr< Warden > _warden
std::atomic< uint32 > m_latency
void SetSecurity(AccountTypes security)
void SetLatency(uint32 latency)
void SetTutorialInt(uint8 index, uint32 value)
bool ShouldLogOut(time_t currTime) const
Is logout cooldown expired?
AsyncCallbackProcessor< TransactionCallback > _transactionCallbacks
BattlePets::BattlePetMgr * GetBattlePetMgr() const
std::unique_ptr< BattlePets::BattlePetMgr > _battlePetMgr
bool _filterAddonMessages
#define NUM_ACCOUNT_DATA_TYPES
@ CONNECTION_TYPE_INSTANCE
@ ERR_CHAT_RAID_RESTRICTED
@ TUTORIALS_FLAG_LOADED_FROM_DB
@ DECLINED_NAMES_RESULT_SUCCESS
@ DECLINED_NAMES_RESULT_ERROR
@ PER_CHARACTER_MACROS_CACHE
@ PER_CHARACTER_FLAGGED_CACHE
@ PER_CHARACTER_EDIT_MODE_CACHE
@ PER_CHARACTER_CONFIG_CACHE
@ PER_CHARACTER_TTS_CACHE
@ PER_CHARACTER_CHAT_CACHE
@ PER_CHARACTER_CLICK_BINDINGS_CACHE
@ PER_CHARACTER_LAYOUT_CACHE
@ PER_CHARACTER_BINDINGS_CACHE
TC_GAME_API char const * GetTrinityString(ChatHandler const *handler, TrinityStrings which)
boost::beast::http::request< RequestBody > Request
void Update(VignetteData &vignette, WorldObject const *owner)
UF::ChrCustomizationChoice ChrCustomizationChoice
LfgTeleportResult
Teleport errors.
Stores information of a current vote to kick someone from a group.
Stores group data related to proposal to join.
Stores all rolecheck info of a group that wants to join.