984 std::shared_ptr<WorldSocket>&& sock,
AccountTypes sec,
uint8 expansion, time_t mute_time, std::string&& os,
Minutes timezoneOffset,
992 bool PlayerDisconnected()
const;
994 bool IsAddonRegistered(std::string_view prefix)
const;
996 void SendPacket(
WorldPacket const* packet,
bool forced =
false);
998 void SendNotification(
char const* format, ...)
ATTR_PRINTF(2, 3);
999 void SendNotification(
uint32 stringId, ...);
1002 void SendQueryTimeResponse();
1004 void SendAuthResponse(
uint32 code,
bool queued,
uint32 queuePos = 0);
1005 void SendClientCacheVersion(
uint32 version);
1006 void SendAvailableHotfixes();
1008 void InitializeSession();
1011 rbac::RBACData* GetRBACData() const;
1012 bool HasPermission(
uint32 permissionId);
1013 void LoadPermissions();
1015 void InvalidateRBACData();
1021 uint32 GetBattlenetAccountId()
const;
1025 std::string
const& GetPlayerName()
const;
1026 std::string GetPlayerInfo()
const;
1030 void SetPlayer(
Player* player);
1033 std::string
const&
GetOS()
const {
return _os; }
1037 bool CanAccessAlliedRaces()
const;
1048 _logoutTime = requestTime;
1054 return (_logoutTime > 0 && currTime >= _logoutTime + 20);
1057 void LogoutPlayer(
bool save);
1058 void KickPlayer(std::string_view reason);
1061 bool ValidateHyperlinksAndMaybeKick(std::string
const& str);
1064 bool DisallowHyperlinksAndMaybeKick(std::string
const& str);
1070 void SendAuthWaitQueue(
uint32 position);
1072 void SendSetTimeZoneInformation();
1073 void SendFeatureSystemStatus();
1074 void SendFeatureSystemStatusGlueScreen();
1084 void SendSpiritResurrect();
1086 void SendOpenTransmogrifier(
ObjectGuid const& guid);
1089 void SendUpdateTrade(
bool trader_data =
true);
1092 void SendPetitionQueryOpcode(
ObjectGuid petitionguid);
1095 void SendQueryPetNameResponse(
ObjectGuid guid);
1101 void SetAccountData(
AccountDataType type, time_t time, std::string
const& data);
1106 void SendTutorialsData();
1111 if (_tutorials[index] != value)
1113 _tutorials[index] = value;
1119 bool UpdateAndCheckInstanceCount(
uint32 instanceId);
1121 void UpdateInstanceEnterTimes();
1149 void SetPlayerDataElementAccount(
uint32 dataElementId,
float value);
1150 void SetPlayerDataElementAccount(
uint32 dataElementId,
int64 value);
1151 void SetPlayerDataFlagAccount(
uint32 dataFlagId,
bool on);
1169 void SendAuctionClosedNotification(
AuctionPosting const* auction,
float mailDelay,
bool sold);
1170 void SendAuctionOwnerBidNotification(
AuctionPosting const* auction);
1185 bool SendLearnNewTaxiNode(
Creature* unit);
1186 void SendDiscoverNewTaxiNode(
uint32 nodeid);
1191 void DoLootRelease(
Loot* loot);
1192 void DoLootReleaseAll();
1195 bool CanSpeak()
const;
1204 char const* GetTrinityString(
uint32 entry)
const;
1211 void ResetTimeOutTime(
bool onlyActive);
1213 bool IsConnectionIdle()
const;
1220 void ResetTimeSync();
1221 void SendTimeSync();
1222 void RegisterTimeSync(
uint32 counter);
1225 static constexpr uint32 SPECIAL_INIT_ACTIVE_MOVER_TIME_SYNC_COUNTER = 0xFFFFFFFF;
1226 static constexpr uint32 SPECIAL_RESUME_COMMS_TIME_SYNC_COUNTER = 0xFFFFFFFE;
1241 void LogUnprocessedTail(
WorldPacket const* packet);
1251 void HandleContinuePlayerLogin();
1257 void HandleCharRenameCallBack(std::shared_ptr<WorldPackets::Character::CharacterRenameInfo> renameInfo,
PreparedQueryResult result);
1261 void HandleCharCustomizeCallback(std::shared_ptr<WorldPackets::Character::CharCustomizeInfo> customizeInfo,
PreparedQueryResult result);
1263 void HandleCharRaceOrFactionChangeCallback(std::shared_ptr<WorldPackets::Character::CharRaceOrFactionChangeInfo> factionChangeInfo,
PreparedQueryResult result);
1282 void SendUndeleteCooldownStatusResponse(
uint32 currentCooldown,
uint32 maxCooldown);
1382 void HandleMoveWorldportAck();
1435 void SendPetitionSigns(
Petition const* petition,
Player* sendTo);
1500 void HandleDuelAccepted(
ObjectGuid arbiterGuid);
1501 void HandleDuelCancelled();
1528 void SendAuctionFavoriteList();
1638 void HandleChatAddonMessage(
ChatMsg type, std::string prefix, std::string text,
bool isLogged, std::string target =
"",
Optional<ObjectGuid> targetGuid = {});
1642 void SendChatPlayerNotfoundNotice(std::string
const& name);
1643 void SendPlayerAmbiguousNotice(std::string
const& name);
1722 void SendLfgPlayerLockInfo();
1723 void SendLfgPartyLockInfo();
1741 void SendLfgDisabled();
1742 void SendLfgOfferContinue(
uint32 dungeonEntry);
1805 void SendCalendarRaidLockoutAdded(
InstanceLock const* lock);
1806 void SendCalendarRaidLockoutRemoved(
InstanceLock const* lock);
1864 void SendLoadCUFProfiles();
1890 void SendBattlenetResponse(
uint32 serviceHash,
uint32 methodId,
uint32 token, pb::Message
const* response);
1892 void SendBattlenetRequest(
uint32 serviceHash,
uint32 methodId, pb::Message
const* request, std::function<
void(
MessageBuffer)> callback);
1893 void SendBattlenetRequest(
uint32 serviceHash,
uint32 methodId, pb::Message
const* request);
1934 static void AddInstanceConnection(
WorldSession* session, std::weak_ptr<WorldSocket> sockRef, ConnectToKey key);
1942 void ProcessQueryCallbacks();
1955 bool EvaluateOpcode(
WorldPacket& p, time_t time)
const;
1964 uint32 GetMaxPacketCounterAllowed(
uint32 opcode)
const;
1980 void moveItems(
Item* myItems[],
Item* hisItems[]);
1985 void LogUnexpectedOpcode(
WorldPacket* packet,
char const* status,
const char *reason);
1990 return _legitCharacters.find(lowGUID) != _legitCharacters.end();
2049 void ComputeNewClockDelta();