451 void SendAddonsInfo();
457 void SendNotification(
const char *format, ...)
ATTR_PRINTF(2, 3);
458 void SendNotification(
uint32 string_id, ...);
462 void SendSetPhaseShift(
uint32 phaseShift);
463 void SendQueryTimeResponse();
465 void SendAuthResponse(
uint8 code,
bool shortForm,
uint32 queuePos = 0);
466 void SendClientCacheVersion(
uint32 version);
468 void InitializeSession();
474 bool HasPermission(
uint32 permissionId);
475 void LoadPermissions();
477 void InvalidateRBACData();
483 std::string
const& GetPlayerName()
const;
484 std::string GetPlayerInfo()
const;
488 void SetPlayer(
Player* player);
491 void InitWarden(
SessionKey const& k, std::string
const& os);
499 bool isLogingOut()
const {
return _logoutTime || m_playerLogout; }
504 _logoutTime = requestTime;
510 return (_logoutTime > 0 && currTime >= _logoutTime + 20);
513 void LogoutPlayer(
bool save);
514 void KickPlayer(std::string
const& reason);
517 bool ValidateHyperlinksAndMaybeKick(std::string
const& str);
520 bool DisallowHyperlinksAndMaybeKick(std::string
const& str);
526 void SendAuthWaitQueue(
uint32 position);
528 void SendFeatureSystemStatus();
532 void SendTrainerList(
Creature* npc);
537 void SendTabardVendorActivate(
ObjectGuid guid);
538 void SendSpiritResurrect();
541 void SendAttackStop(
Unit const* enemy);
544 void SendUpdateTrade(
bool trader_data =
true);
547 void SendPetitionQueryOpcode(
ObjectGuid petitionguid);
555 void SendPetStableResult(
uint8 guid);
560 void SetAccountData(
AccountDataType type, time_t tm, std::string
const& data);
561 void SendAccountDataTimes(
uint32 mask);
565 void SendTutorialsData();
570 if (m_Tutorials[index] != value)
572 m_Tutorials[index] = value;
578 bool UpdateAndCheckInstanceCount(
uint32 instanceId);
580 void UpdateInstanceEnterTimes();
596 void SendAuctionOwnerNotification(
AuctionEntry* auction);
597 void SendAuctionRemovedNotification(
uint32 auctionId,
uint32 itemEntry,
int32 randomPropertyId);
607 bool SendLearnNewTaxiNode(
Creature* unit);
608 void SendDiscoverNewTaxiNode(
uint32 nodeid);
611 void SendArenaTeamCommandResult(
uint32 team_action, std::string
const& team, std::string
const& player,
uint32 error_id = 0);
612 void SendNotInArenaTeamPacket(
uint8 type);
620 bool CanSpeak()
const;
629 char const* GetTrinityString(
uint32 entry)
const;
636 void ResetTimeOutTime(
bool onlyActive);
638 bool IsConnectionIdle()
const;
645 void ResetTimeSync();
656 void Handle_EarlyProccess(
WorldPacket& recvPacket);
660 void HandleCharEnumOpcode(
WorldPacket& recvPacket);
663 void HandlePlayerLoginOpcode(
WorldPacket& recvPacket);
667 void HandleCharRaceOrFactionChangeCallback(std::shared_ptr<WorldPackets::Character::CharRaceOrFactionChangeInfo> factionChangeInfo,
PreparedQueryResult result);
669 void HandleCharRenameCallBack(std::shared_ptr<WorldPackets::Character::CharacterRenameInfo> renameInfo,
PreparedQueryResult result);
670 void HandleSetPlayerDeclinedNames(
WorldPacket& recvData);
673 void HandleCharCustomizeCallback(std::shared_ptr<WorldPackets::Character::CharCustomizeInfo> customizeInfo,
PreparedQueryResult result);
691 void HandleInspectHonorStatsOpcode(
WorldPacket& recvPacket);
693 void HandleForceSpeedChangeAck(
WorldPacket& recvData);
694 void HandleMoveKnockBackAck(
WorldPacket& recvPacket);
695 void HandleMoveTeleportAck(
WorldPacket& recvPacket);
696 void HandleMoveWaterWalkAck(
WorldPacket& recvPacket);
701 void HandleMoveSetCanFlyAckOpcode(
WorldPacket& recvData);
702 void HandleMoveSetCanTransitionBetweenSwinAndFlyAck(
WorldPacket& recvData);
703 void HandleMoveGravityDisableAck(
WorldPacket& recvData);
704 void HandleMoveGravityEnableAck(
WorldPacket& recvData);
705 void HandleMoveSetCollisionHgtAck(
WorldPacket& recvData);
707 void HandleMountSpecialAnimOpcode(
WorldPacket& recvdata);
714 void HandleRepairItemOpcode(
WorldPacket& recvPacket);
717 void HandleAutostoreLootItemOpcode(
WorldPacket& recvPacket);
718 void HandleLootMoneyOpcode(
WorldPacket& recvPacket);
720 void HandleLootReleaseOpcode(
WorldPacket& recvPacket);
721 void HandleLootMasterGiveOpcode(
WorldPacket& recvPacket);
728 void HandleGMTicketCreateOpcode(
WorldPacket& recvPacket);
729 void HandleGMTicketUpdateOpcode(
WorldPacket& recvPacket);
730 void HandleGMTicketDeleteOpcode(
WorldPacket& recvPacket);
731 void HandleGMTicketGetTicketOpcode(
WorldPacket& recvPacket);
732 void HandleGMTicketSystemStatusOpcode(
WorldPacket& recvPacket);
733 void HandleGMSurveySubmit(
WorldPacket& recvPacket);
735 void HandleGMResponseResolve(
WorldPacket& recvPacket);
739 void HandleZoneUpdateOpcode(
WorldPacket& recvPacket);
740 void HandleSetSelectionOpcode(
WorldPacket& recvPacket);
741 void HandleStandStateChangeOpcode(
WorldPacket& recvPacket);
745 void HandleContactListOpcode(
WorldPacket& recvPacket);
746 void HandleAddFriendOpcode(
WorldPacket& recvPacket);
747 void HandleDelFriendOpcode(
WorldPacket& recvPacket);
748 void HandleAddIgnoreOpcode(
WorldPacket& recvPacket);
749 void HandleDelIgnoreOpcode(
WorldPacket& recvPacket);
750 void HandleSetContactNotesOpcode(
WorldPacket& recvPacket);
753 void HandleItemNameQueryOpcode(
WorldPacket& recvPacket);
755 void HandleAreaTriggerOpcode(
WorldPacket& recvPacket);
759 void HandleSetWatchedFactionOpcode(
WorldPacket& recvData);
760 void HandleSetFactionInactiveOpcode(
WorldPacket& recvData);
762 void HandleUpdateAccountData(
WorldPacket& recvPacket);
763 void HandleRequestAccountData(
WorldPacket& recvPacket);
764 void HandleSetActionButtonOpcode(
WorldPacket& recvPacket);
766 void HandleGameObjectUseOpcode(
WorldPacket& recPacket);
767 void HandleGameobjectReportUse(
WorldPacket& recvPacket);
771 void HandleQueryTimeOpcode(
WorldPacket& recvPacket);
777 void HandleMoveWorldportAckOpcode(
WorldPacket& recvPacket);
778 void HandleMoveWorldportAck();
785 void HandleSetActiveMoverOpcode(
WorldPacket& recvData);
786 void HandleMoveNotActiveMover(
WorldPacket& recvData);
787 void HandleDismissControlledVehicle(
WorldPacket& recvData);
788 void HandleRequestVehicleExit(
WorldPacket& recvData);
789 void HandleChangeSeatsOnControlledVehicle(
WorldPacket& recvData);
790 void HandleMoveTimeSkippedOpcode(
WorldPacket& recvData);
792 void HandleRequestRaidInfoOpcode(
WorldPacket& recvData);
795 void HandleGroupAcceptOpcode(
WorldPacket& recvPacket);
796 void HandleGroupDeclineOpcode(
WorldPacket& recvPacket);
797 void HandleGroupUninviteOpcode(
WorldPacket& recvPacket);
798 void HandleGroupUninviteGuidOpcode(
WorldPacket& recvPacket);
799 void HandleGroupSetLeaderOpcode(
WorldPacket& recvPacket);
800 void HandleGroupDisbandOpcode(
WorldPacket& recvPacket);
801 void HandleOptOutOfLootOpcode(
WorldPacket& recvData);
802 void HandleLootMethodOpcode(
WorldPacket& recvPacket);
804 void HandleRequestPartyMemberStatsOpcode(
WorldPacket& recvData);
805 void HandleRaidTargetUpdateOpcode(
WorldPacket& recvData);
806 void HandleRaidReadyCheckOpcode(
WorldPacket& recvData);
807 void HandleRaidReadyCheckFinishedOpcode(
WorldPacket& recvData);
808 void HandleGroupRaidConvertOpcode(
WorldPacket& recvData);
809 void HandleGroupChangeSubGroupOpcode(
WorldPacket& recvData);
810 void HandleGroupAssistantLeaderOpcode(
WorldPacket& recvData);
811 void HandlePartyAssignmentOpcode(
WorldPacket& recvData);
813 void HandlePetitionBuyOpcode(
WorldPacket& recvData);
814 void HandlePetitionShowSignatures(
WorldPacket& recvData);
817 void HandlePetitionRenameGuild(
WorldPacket& recvData);
820 void HandleOfferPetitionOpcode(
WorldPacket& recvData);
821 void HandleTurnInPetitionOpcode(
WorldPacket& recvData);
846 void HandleTaxiNodeStatusQueryOpcode(
WorldPacket& recvPacket);
847 void HandleTaxiQueryAvailableNodes(
WorldPacket& recvPacket);
848 void HandleActivateTaxiOpcode(
WorldPacket& recvPacket);
849 void HandleActivateTaxiExpressOpcode(
WorldPacket& recvPacket);
850 void HandleMoveSplineDoneOpcode(
WorldPacket& recvPacket);
853 void HandleTabardVendorActivateOpcode(
WorldPacket& recvPacket);
856 void HandlePetitionShowListOpcode(
WorldPacket& recvPacket);
857 void HandleGossipHelloOpcode(
WorldPacket& recvPacket);
858 void HandleGossipSelectOptionOpcode(
WorldPacket& recvPacket);
859 void HandleSpiritHealerActivateOpcode(
WorldPacket& recvPacket);
860 void HandleNpcTextQueryOpcode(
WorldPacket& recvPacket);
861 void HandleBinderActivateOpcode(
WorldPacket& recvPacket);
862 void HandleRequestStabledPets(
WorldPacket& recvPacket);
866 void HandleStableRevivePet(
WorldPacket& recvPacket);
869 void HandleDuelAcceptedOpcode(
WorldPacket& recvPacket);
870 void HandleDuelCancelledOpcode(
WorldPacket& recvPacket);
872 void HandleAcceptTradeOpcode(
WorldPacket& recvPacket);
873 void HandleBeginTradeOpcode(
WorldPacket& recvPacket);
874 void HandleBusyTradeOpcode(
WorldPacket& recvPacket);
876 void HandleClearTradeItemOpcode(
WorldPacket& recvPacket);
877 void HandleIgnoreTradeOpcode(
WorldPacket& recvPacket);
878 void HandleInitiateTradeOpcode(
WorldPacket& recvPacket);
879 void HandleSetTradeGoldOpcode(
WorldPacket& recvPacket);
880 void HandleSetTradeItemOpcode(
WorldPacket& recvPacket);
881 void HandleUnacceptTradeOpcode(
WorldPacket& recvPacket);
883 void HandleAuctionHelloOpcode(
WorldPacket& recvPacket);
884 void HandleAuctionListItems(
WorldPacket& recvData);
885 void HandleAuctionListBidderItems(
WorldPacket& recvData);
887 void HandleAuctionRemoveItem(
WorldPacket& recvData);
888 void HandleAuctionListOwnerItems(
WorldPacket& recvData);
890 void HandleAuctionListPendingSales(
WorldPacket& recvData);
909 void HandleSplitItemOpcode(
WorldPacket& recvPacket);
910 void HandleSwapInvItemOpcode(
WorldPacket& recvPacket);
911 void HandleDestroyItemOpcode(
WorldPacket& recvPacket);
912 void HandleAutoEquipItemOpcode(
WorldPacket& recvPacket);
914 void HandleSellItemOpcode(
WorldPacket& recvPacket);
915 void HandleBuyItemInSlotOpcode(
WorldPacket& recvPacket);
917 void HandleListInventoryOpcode(
WorldPacket& recvPacket);
918 void HandleAutoStoreBagItemOpcode(
WorldPacket& recvPacket);
920 void HandleAutoEquipItemSlotOpcode(
WorldPacket& recvPacket);
923 void HandleWrapItemOpcode(
WorldPacket& recvPacket);
930 void HandleOpenItemOpcode(
WorldPacket& recvPacket);
932 void HandleCastSpellOpcode(
WorldPacket& recvPacket);
940 void HandleLearnTalentOpcode(
WorldPacket& recvPacket);
941 void HandleLearnPreviewTalents(
WorldPacket& recvPacket);
943 void HandleUnlearnSkillOpcode(
WorldPacket& recvPacket);
945 void HandleQuestgiverStatusQueryOpcode(
WorldPacket& recvPacket);
946 void HandleQuestgiverStatusMultipleQuery(
WorldPacket& recvPacket);
947 void HandleQuestgiverHelloOpcode(
WorldPacket& recvPacket);
948 void HandleQuestgiverAcceptQuestOpcode(
WorldPacket& recvPacket);
949 void HandleQuestgiverQueryQuestOpcode(
WorldPacket& recvPacket);
950 void HandleQuestgiverChooseRewardOpcode(
WorldPacket& recvPacket);
951 void HandleQuestgiverRequestRewardOpcode(
WorldPacket& recvPacket);
953 void HandleQuestgiverCancel(
WorldPacket& recvData);
954 void HandleQuestLogSwapQuest(
WorldPacket& recvData);
955 void HandleQuestLogRemoveQuest(
WorldPacket& recvData);
956 void HandleQuestConfirmAccept(
WorldPacket& recvData);
957 void HandleQuestgiverCompleteQuest(
WorldPacket& recvData);
958 void HandleQuestgiverQuestAutoLaunch(
WorldPacket& recvPacket);
959 void HandlePushQuestToParty(
WorldPacket& recvPacket);
960 void HandleQuestPushResult(
WorldPacket& recvPacket);
962 void HandleMessagechatOpcode(
WorldPacket& recvPacket);
963 void SendPlayerNotFoundNotice(std::string
const& name);
964 void SendPlayerAmbiguousNotice(std::string
const& name);
965 void SendWrongFactionNotice();
967 void HandleTextEmoteOpcode(
WorldPacket& recvPacket);
968 void HandleChatIgnoredOpcode(
WorldPacket& recvPacket);
974 void HandleSummonResponseOpcode(
WorldPacket& recvData);
979 void HandleChannelPassword(
WorldPacket& recvPacket);
980 void HandleChannelSetOwner(
WorldPacket& recvPacket);
982 void HandleChannelModerator(
WorldPacket& recvPacket);
983 void HandleChannelUnmoderator(
WorldPacket& recvPacket);
990 void HandleChannelAnnouncements(
WorldPacket& recvPacket);
991 void HandleChannelDeclineInvite(
WorldPacket& recvPacket);
992 void HandleChannelDisplayListQuery(
WorldPacket& recvPacket);
993 void HandleGetChannelMemberCount(
WorldPacket& recvPacket);
994 void HandleSetChannelWatch(
WorldPacket& recvPacket);
1000 void HandleQueryPageText(
WorldPacket& recvPacket);
1016 void HandlePetCastSpellOpcode(
WorldPacket& recvPacket);
1017 void HandlePetLearnTalent(
WorldPacket& recvPacket);
1018 void HandleLearnPreviewTalentsPet(
WorldPacket& recvPacket);
1020 void HandleSetActionBarToggles(
WorldPacket& recvData);
1042 void SendBfInvitePlayerToQueue(
uint32 battleId);
1043 void SendBfQueueInviteResponse(
uint32 battleId,
uint32 zoneId,
bool canQueue =
true,
bool full =
false);
1044 void SendBfEntered(
uint32 battleId);
1046 void HandleBfQueueInviteResponse(
WorldPacket& recvData);
1047 void HandleBfEntryInviteResponse(
WorldPacket& recvData);
1048 void HandleBfQueueExitRequest(
WorldPacket& recvData);
1050 void HandleWardenDataOpcode(
WorldPacket& recvData);
1052 void HandleMinimapPingOpcode(
WorldPacket& recvData);
1055 void HandleSetDungeonDifficultyOpcode(
WorldPacket& recvData);
1056 void HandleSetRaidDifficultyOpcode(
WorldPacket& recvData);
1058 void HandleRealmSplitOpcode(
WorldPacket& recvData);
1059 void HandleTimeSyncResponse(
WorldPacket& recvData);
1061 void HandleResetInstancesOpcode(
WorldPacket& recvData);
1062 void HandleInstanceLockResponse(
WorldPacket& recvPacket);
1065 void HandleLfgSetCommentOpcode(
WorldPacket& recvData);
1066 void HandleLfgPlayerLockInfoRequestOpcode(
WorldPacket& recvData);
1067 void HandleLfgPartyLockInfoRequestOpcode(
WorldPacket& recvData);
1068 void SendLfgPlayerLockInfo();
1069 void SendLfgPartyLockInfo();
1072 void HandleLfgSetRolesOpcode(
WorldPacket& recvData);
1073 void HandleLfgProposalResultOpcode(
WorldPacket& recvData);
1074 void HandleLfgSetBootVoteOpcode(
WorldPacket& recvData);
1075 void HandleLfgTeleportOpcode(
WorldPacket& recvData);
1084 void SendLfgLfrList(
bool update);
1090 void SendLfgDisabled();
1091 void SendLfgOfferContinue(
uint32 dungeonEntry);
1092 void SendLfgTeleportError(
uint8 err);
1095 void HandleInspectArenaTeamsOpcode(
WorldPacket& recvData);
1096 void HandleArenaTeamQueryOpcode(
WorldPacket& recvData);
1097 void HandleArenaTeamRosterOpcode(
WorldPacket& recvData);
1098 void HandleArenaTeamInviteOpcode(
WorldPacket& recvData);
1099 void HandleArenaTeamAcceptOpcode(
WorldPacket& recvData);
1100 void HandleArenaTeamDeclineOpcode(
WorldPacket& recvData);
1101 void HandleArenaTeamLeaveOpcode(
WorldPacket& recvData);
1102 void HandleArenaTeamRemoveOpcode(
WorldPacket& recvData);
1103 void HandleArenaTeamDisbandOpcode(
WorldPacket& recvData);
1104 void HandleArenaTeamLeaderOpcode(
WorldPacket& recvData);
1113 void HandleCancelTempEnchantmentOpcode(
WorldPacket& recvData);
1115 void HandleItemRefundInfoRequest(
WorldPacket& recvData);
1118 void HandleChannelVoiceOnOpcode(
WorldPacket& recvData);
1119 void HandleVoiceSessionEnableOpcode(
WorldPacket& recvData);
1120 void HandleSetActiveVoiceChannel(
WorldPacket& recvData);
1121 void HandleSetTaxiBenchmarkOpcode(
WorldPacket& recvData);
1140 void HandleAcceptGrantLevel(
WorldPacket& recvData);
1160 void SendCalendarRaidLockoutAdded(
InstanceSave const* save);
1161 void SendCalendarRaidLockoutRemoved(
InstanceSave const* save);
1162 void SendCalendarRaidLockoutUpdated(
InstanceSave const* save);
1166 void HandleMirrorImageDataRequest(
WorldPacket& recvData);
1168 void HandleQueryInspectAchievements(
WorldPacket& recvData);
1169 void HandleEquipmentSetSave(
WorldPacket& recvData);
1170 void HandleEquipmentSetDelete(
WorldPacket& recvData);
1171 void HandleEquipmentSetUse(
WorldPacket& recvData);
1172 void HandleWorldStateUITimerUpdate(
WorldPacket& recvData);
1173 void HandleReadyForAccountDataTimes(
WorldPacket& recvData);
1174 void HandleQueryQuestsCompleted(
WorldPacket& recvData);
1178 void HandleUpdateProjectilePosition(
WorldPacket& recvPacket);
1179 void HandleUpdateMissileTrajectory(
WorldPacket& recvPacket);
1187 void ProcessQueryCallbacks();
1200 bool EvaluateOpcode(
WorldPacket& p, time_t time)
const;
1209 uint32 GetMaxPacketCounterAllowed(
uint16 opcode)
const;
1225 void moveItems(
Item* myItems[],
Item* hisItems[]);
1230 void LogUnexpectedOpcode(
WorldPacket* packet,
char const* status,
const char *reason);
1236 return _legitCharacters.find(lowGUID) != _legitCharacters.end();
1240 Unit* ValidateAndGetUnitBeingMoved(
ObjectGuid guid,
bool forStatusAck)
const;
1278 static uint32 constexpr MaxSecureAddons = 25;
1293 void ComputeNewClockDelta();