OregonCore  revision 3611e8a-git
Your Favourite TBC server
WorldSession.h
Go to the documentation of this file.
1 /*
2  * This file is part of the OregonCore 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 __WORLDSESSION_H
19 #define __WORLDSESSION_H
20 
21 #include "Common.h"
22 #include "QueryResult.h"
23 #include "World.h"
24 #include "WardenBase.h"
25 
26 struct ItemTemplate;
27 struct AuctionEntry;
28 struct DeclinedName;
29 
30 class Creature;
31 class Item;
32 class Object;
33 class Player;
34 class Unit;
35 class WorldPacket;
36 class WorldSocket;
37 class QueryResult;
38 class LoginQueryHolder;
39 class CharacterHandler;
40 
41 struct OpcodeHandler;
42 
44 {
47 };
48 
50 {
63 };
64 
65 // Player session in the World
67 {
68  friend class CharacterHandler;
69  public:
70  WorldSession(uint32 id, WorldSocket* sock, uint32 sec, uint8 expansion, time_t mute_time, LocaleConstant locale);
71  ~WorldSession();
72 
73  bool PlayerLoading() const
74  {
75  return m_playerLoading;
76  }
77  bool PlayerLogout() const
78  {
79  return m_playerLogout;
80  }
81  bool PlayerLogoutWithSave() const
82  {
83  return m_playerLogout && m_playerSave;
84  }
85 
86  void SizeError(WorldPacket const& packet, uint32 size) const;
87 
88  void SendPacket(WorldPacket const* packet);
89  void SendNotification(const char* format, ...) ATTR_PRINTF(2, 3);
90  void SendNotification(int32 string_id, ...);
91  void SendPetNameInvalid(uint32 error, const std::string& name, DeclinedName* declinedName);
92  void SendLfgResult(uint32 type, uint32 entry, uint8 lfg_type);
93  void SendPartyResult(PartyOperation operation, const std::string& member, PartyResult res);
94  void SendAreaTriggerMessage(const char* Text, ...) ATTR_PRINTF(2, 3);
95 
97  {
98  return _security;
99  }
101  {
102  return _accountId;
103  }
104  Player* GetPlayer() const
105  {
106  return _player;
107  }
108  char const* GetPlayerName() const;
109  void SetSecurity(uint32 security)
110  {
111  _security = security;
112  }
113  std::string const& GetRemoteAddress()
114  {
115  return m_Address;
116  }
117  void SetPlayer(Player* plr)
118  {
119  _player = plr;
120  }
121  uint8 Expansion() const
122  {
123  return m_expansion;
124  }
125 
126  void InitWarden(BigNumber* K, std::string os);
127 
128  // Session in auth.queue currently
129  void SetInQueue(bool state)
130  {
131  m_inQueue = state;
132  }
133 
134  // Is the user engaged in a log out process?
135  bool isLogingOut() const
136  {
137  return _logoutTime || m_playerLogout;
138  }
139 
140  // Engage the logout process for the user
141  void LogoutRequest(time_t requestTime)
142  {
143  _logoutTime = requestTime;
144  }
145 
146  // Is logout cooldown expired?
147  bool ShouldLogOut(time_t currTime) const
148  {
149  return (_logoutTime > 0 && currTime >= _logoutTime + 20);
150  }
151 
152  void LogoutPlayer(bool Save);
153  void KickPlayer();
154 
155  void QueuePacket(WorldPacket* new_packet);
156  bool Update(uint32 diff);
157 
158  // Handle the authentication waiting queue (to be completed)
159  void SendAuthWaitQue(uint32 position);
160 
161  //void SendTestCreatureQueryOpcode(uint32 entry, uint64 guid, uint32 testvalue);
162  void SendNameQueryOpcode(Player* p);
164  static void SendNameQueryOpcodeFromDBCallBack(QueryResult_AutoPtr result, uint32 accountId);
165 
166  void SendTrainerList(uint64 guid);
167  void SendTrainerList(uint64 guid, const std::string& strTitle);
168  void SendListInventory(uint64 guid);
169  void SendShowBank(uint64 guid);
170  void SendTabardVendorActivate(uint64 guid);
171  void SendSpiritResurrect();
172  void SendBindPoint(Creature* npc);
173  void SendGMTicketGetTicket(uint32 status, char const* text);
174 
175  void SendAttackStop(Unit const* enemy);
176 
177  void SendBattlegGroundList(uint64 guid, uint32 bgTypeId);
178 
179  void SendTradeStatus(uint32 status);
180  void SendCancelTrade();
181 
182  void SendStablePet(uint64 guid);
183  void SendPetitionQueryOpcode(uint64 petitionguid);
184  void SendUpdateTrade();
185 
186  //pet
187  void SendPetNameQuery(uint64 guid, uint32 petnumber);
188 
189  bool SendItemInfo(uint32 itemid, WorldPacket data);
190 
191  // External Mail
192  static void SendExternalMails();
193 
194  //auction
195  void SendAuctionHello(uint64 guid, Creature* unit);
196  void SendAuctionCommandResult(uint32 auctionId, uint32 Action, uint32 ErrorCode, uint32 bidError = 0);
197  void SendAuctionBidderNotification(uint32 location, uint32 auctionId, uint64 bidder, uint32 bidSum, uint32 diff, uint32 item_template);
199  void SendAuctionOutbiddedMail(AuctionEntry* auction, uint32 newPrice);
201 
202  //Item Enchantment
203  void SendEnchantmentLog(uint64 Target, uint64 Caster, uint32 ItemID, uint32 SpellID);
204  void SendItemEnchantTimeUpdate(uint64 Playerguid, uint64 Itemguid, uint32 slot, uint32 Duration);
205 
206  //Taxi
207  void SendTaxiStatus(uint64 guid);
208  void SendTaxiMenu(Creature* unit);
209  void SendDoFlight(uint16 MountId, uint32 path, uint32 pathNode = 0);
210  bool SendLearnNewTaxiNode(Creature* unit);
211 
212  // Guild/Arena Team
213  void SendGuildCommandResult(uint32 typecmd, const std::string& str, uint32 cmdresult);
214  void SendArenaTeamCommandResult(uint32 team_action, const std::string& team, const std::string& player, uint32 error_id);
215  void SendNotInArenaTeamPacket(uint8 type);
216  void SendPetitionShowList(uint64 guid);
217  void SendSaveGuildEmblem(uint32 msg);
219 
220  // Looking For Group
221  // TRUE values set by client sending CMSG_LFG_SET_AUTOJOIN and CMSG_LFM_CLEAR_AUTOFILL before player login
224 
226 
227  void DoLootRelease(uint64 lguid);
228 
229  // Account mute time
230  time_t m_muteTime;
231 
232  // Locales
234  {
235  return m_sessionDbcLocale;
236  }
238  {
239  return m_sessionDbLocaleIndex;
240  }
241  const char* GetOregonString(int32 entry) const;
242 
244  {
245  return m_latency;
246  }
247  void SetLatency(uint32 latency)
248  {
249  m_latency = latency;
250  }
252  {
253  m_clientTimeDelay = 0;
254  }
255  uint32 getDialogStatus(Player* pPlayer, Object* questgiver, uint32 defstatus);
256 
259  {
260  if (diff >= m_timeOutTime)
261  m_timeOutTime = 0;
262  else
263  m_timeOutTime -= diff;
264  }
266  {
267  m_timeOutTime = sWorld.getConfig(CONFIG_SOCKET_TIMEOUTTIME);
268  }
269  bool IsConnectionIdle() const
270  {
271  if (m_timeOutTime <= 0 && !m_inQueue)
272  return true;
273  return false;
274  }
275 
276 
277  public: // opcodes handlers
278 
279  void Handle_NULL(WorldPacket& recvPacket); // not used
280  void Handle_EarlyProccess(WorldPacket& recvPacket);// just mark packets processed in WorldSocket::OnRead
281  void Handle_ServerSide(WorldPacket& recvPacket); // sever side only, can't be accepted from client
282  void Handle_Deprecated(WorldPacket& recvPacket); // never used anymore by client
283 
284  void HandleCharEnumOpcode(WorldPacket& recvPacket);
285  void HandleCharDeleteOpcode(WorldPacket& recvPacket);
286  void HandleCharCreateOpcode(WorldPacket& recvPacket);
287  void HandlePlayerLoginOpcode(WorldPacket& recvPacket);
288  void HandleCharEnum(QueryResult_AutoPtr result);
289  void HandlePlayerLogin(LoginQueryHolder* holder);
290 
291  // played time
292  void HandlePlayedTime(WorldPacket& recvPacket);
293 
294  // new
295  void HandleMoveUnRootAck(WorldPacket& recvPacket);
296  void HandleMoveRootAck(WorldPacket& recvPacket);
297  void HandleLookingForGroup(WorldPacket& recvPacket);
298 
299  // new inspect
300  void HandleInspectOpcode(WorldPacket& recvPacket);
301 
302  // new party stats
303  void HandleInspectHonorStatsOpcode(WorldPacket& recvPacket);
304 
305  void HandleMoveWaterWalkAck(WorldPacket& recvPacket);
306  void HandleFeatherFallAck(WorldPacket& recv_data);
307 
308  void HandleMoveHoverAck(WorldPacket& recv_data);
309 
311 
312  // character view
313  void HandleToggleHelmOpcode(WorldPacket& recv_data);
314  void HandleToggleCloakOpcode(WorldPacket& recv_data);
315 
316  // repair
317  void HandleRepairItemOpcode(WorldPacket& recvPacket);
318 
319  // Knockback
320  void HandleMoveKnockBackAck(WorldPacket& recvPacket);
321 
322  void HandleMoveTeleportAck(WorldPacket& recvPacket);
323  void HandleForceSpeedChangeAck(WorldPacket& recv_data);
324 
325  void HandlePingOpcode(WorldPacket& recvPacket);
326  void HandleAuthSessionOpcode(WorldPacket& recvPacket);
327  void HandleRepopRequestOpcode(WorldPacket& recvPacket);
328  void HandleAutostoreLootItemOpcode(WorldPacket& recvPacket);
329  void HandleLootMoneyOpcode(WorldPacket& recvPacket);
330  void HandleLootOpcode(WorldPacket& recvPacket);
331  void HandleLootReleaseOpcode(WorldPacket& recvPacket);
332  void HandleLootMasterGiveOpcode(WorldPacket& recvPacket);
333  void HandleWhoOpcode(WorldPacket& recvPacket);
334  void HandleLogoutRequestOpcode(WorldPacket& recvPacket);
335  void HandlePlayerLogoutOpcode(WorldPacket& recvPacket);
336  void HandleLogoutCancelOpcode(WorldPacket& recvPacket);
337 
338  // GM Ticket opcodes
339  void HandleGMTicketCreateOpcode(WorldPacket& recvPacket);
340  void HandleGMTicketUpdateOpcode(WorldPacket& recvPacket);
341  void HandleGMTicketDeleteOpcode(WorldPacket& recvPacket);
342  void HandleGMTicketGetTicketOpcode(WorldPacket& recvPacket);
344 
345  void HandleGMSurveySubmit(WorldPacket& recvPacket);
346 
347  void HandleTogglePvP(WorldPacket& recvPacket);
348 
349  void HandleZoneUpdateOpcode(WorldPacket& recvPacket);
350  void HandleSetTargetOpcode(WorldPacket& recvPacket);
351  void HandleSetSelectionOpcode(WorldPacket& recvPacket);
352  void HandleStandStateChangeOpcode(WorldPacket& recvPacket);
353  void HandleEmoteOpcode(WorldPacket& recvPacket);
354  void HandleFriendListOpcode(WorldPacket& recvPacket);
355  void HandleAddFriendOpcode(WorldPacket& recvPacket);
356  static void HandleAddFriendOpcodeCallBack(QueryResult_AutoPtr result, uint32 accountId, std::string friendNote);
357  void HandleDelFriendOpcode(WorldPacket& recvPacket);
358  void HandleAddIgnoreOpcode(WorldPacket& recvPacket);
359  static void HandleAddIgnoreOpcodeCallBack(QueryResult_AutoPtr result, uint32 accountId);
360  void HandleDelIgnoreOpcode(WorldPacket& recvPacket);
361  void HandleSetFriendNoteOpcode(WorldPacket& recvPacket);
362  void HandleBugOpcode(WorldPacket& recvPacket);
363  void HandleSetAmmoOpcode(WorldPacket& recvPacket);
364  void HandleItemNameQueryOpcode(WorldPacket& recvPacket);
365 
366  void HandleAreaTriggerOpcode(WorldPacket& recvPacket);
367 
368  void HandleSetFactionAtWar(WorldPacket& recv_data);
369  void HandleSetFactionCheat(WorldPacket& recv_data);
372 
373  void HandleUpdateAccountData(WorldPacket& recvPacket);
374  void HandleRequestAccountData(WorldPacket& recvPacket);
375  void HandleSetActionButtonOpcode(WorldPacket& recvPacket);
376 
377  void HandleGameObjectUseOpcode(WorldPacket& recPacket);
378  void HandleMeetingStoneInfo(WorldPacket& recPacket);
379 
380  void HandleNameQueryOpcode(WorldPacket& recvPacket);
381 
382  void HandleQueryTimeOpcode(WorldPacket& recvPacket);
383 
384  void HandleCreatureQueryOpcode(WorldPacket& recvPacket);
385 
386  void HandleGameObjectQueryOpcode(WorldPacket& recvPacket);
387 
388  void HandleMoveWorldportAckOpcode(WorldPacket& recvPacket);
389  void HandleMoveWorldportAckOpcode(); // for server-side calls
390 
391  void HandleMovementOpcodes(WorldPacket& recvPacket);
392  void HandleSetActiveMoverOpcode(WorldPacket& recv_data);
394  void HandleMoveTimeSkippedOpcode(WorldPacket& recv_data);
395 
396  void HandleRequestRaidInfoOpcode(WorldPacket& recv_data);
397 
400 
401  void HandleGroupInviteOpcode(WorldPacket& recvPacket);
402  //void HandleGroupCancelOpcode(WorldPacket& recvPacket);
403  void HandleGroupAcceptOpcode(WorldPacket& recvPacket);
404  void HandleGroupDeclineOpcode(WorldPacket& recvPacket);
405  void HandleGroupUninviteNameOpcode(WorldPacket& recvPacket);
406  void HandleGroupUninviteGuidOpcode(WorldPacket& recvPacket);
407  void HandleGroupSetLeaderOpcode(WorldPacket& recvPacket);
408  void HandleGroupLeaveOpcode(WorldPacket& recvPacket);
409  void HandleGroupPassOnLootOpcode(WorldPacket& recv_data);
410  void HandleLootMethodOpcode(WorldPacket& recvPacket);
411  void HandleLootRoll(WorldPacket& recv_data);
413  void HandleRaidIconTargetOpcode(WorldPacket& recv_data);
414  void HandleRaidReadyCheckOpcode(WorldPacket& recv_data);
416  void HandleRaidConvertOpcode(WorldPacket& recv_data);
418  void HandleGroupAssistantOpcode(WorldPacket& recv_data);
419  void HandleGroupPromoteOpcode(WorldPacket& recv_data);
420 
421  void HandlePetitionBuyOpcode(WorldPacket& recv_data);
422  void HandlePetitionShowSignOpcode(WorldPacket& recv_data);
423  void HandlePetitionQueryOpcode(WorldPacket& recv_data);
424  void HandlePetitionRenameOpcode(WorldPacket& recv_data);
425  void HandlePetitionSignOpcode(WorldPacket& recv_data);
426  void HandlePetitionDeclineOpcode(WorldPacket& recv_data);
427  void HandleOfferPetitionOpcode(WorldPacket& recv_data);
428  void HandleTurnInPetitionOpcode(WorldPacket& recv_data);
429 
430  void HandleGuildQueryOpcode(WorldPacket& recvPacket);
431  void HandleGuildCreateOpcode(WorldPacket& recvPacket);
432  void HandleGuildInviteOpcode(WorldPacket& recvPacket);
433  void HandleGuildRemoveOpcode(WorldPacket& recvPacket);
434  void HandleGuildAcceptOpcode(WorldPacket& recvPacket);
435  void HandleGuildDeclineOpcode(WorldPacket& recvPacket);
436  void HandleGuildInfoOpcode(WorldPacket& recvPacket);
437  void HandleGuildEventLogOpcode(WorldPacket& recvPacket);
438  void HandleGuildRosterOpcode(WorldPacket& recvPacket);
439  void HandleGuildPromoteOpcode(WorldPacket& recvPacket);
440  void HandleGuildDemoteOpcode(WorldPacket& recvPacket);
441  void HandleGuildLeaveOpcode(WorldPacket& recvPacket);
442  void HandleGuildDisbandOpcode(WorldPacket& recvPacket);
443  void HandleGuildLeaderOpcode(WorldPacket& recvPacket);
444  void HandleGuildMOTDOpcode(WorldPacket& recvPacket);
447  void HandleGuildRankOpcode(WorldPacket& recvPacket);
448  void HandleGuildAddRankOpcode(WorldPacket& recvPacket);
449  void HandleGuildDelRankOpcode(WorldPacket& recvPacket);
450  void HandleGuildChangeInfoOpcode(WorldPacket& recvPacket);
451  void HandleGuildSaveEmblemOpcode(WorldPacket& recvPacket);
452 
455  void HandleActivateTaxiOpcode(WorldPacket& recvPacket);
456  void HandleActivateTaxiFarOpcode(WorldPacket& recvPacket);
458 
460  void HandleBankerActivateOpcode(WorldPacket& recvPacket);
461  void HandleBuyBankSlotOpcode(WorldPacket& recvPacket);
462  void HandleTrainerListOpcode(WorldPacket& recvPacket);
463  void HandleTrainerBuySpellOpcode(WorldPacket& recvPacket);
464  void HandlePetitionShowListOpcode(WorldPacket& recvPacket);
465  void HandleGossipHelloOpcode(WorldPacket& recvPacket);
468  void HandleNpcTextQueryOpcode(WorldPacket& recvPacket);
469  void HandleBinderActivateOpcode(WorldPacket& recvPacket);
470  void HandleListStabledPetsOpcode(WorldPacket& recvPacket);
471  void HandleStablePet(WorldPacket& recvPacket);
472  void HandleUnstablePet(WorldPacket& recvPacket);
473  void HandleBuyStableSlot(WorldPacket& recvPacket);
474  void HandleStableRevivePet(WorldPacket& recvPacket);
475  void HandleStableSwapPet(WorldPacket& recvPacket);
476 
477  void HandleDuelAcceptedOpcode(WorldPacket& recvPacket);
478  void HandleDuelCancelledOpcode(WorldPacket& recvPacket);
479 
480  void HandleAcceptTradeOpcode(WorldPacket& recvPacket);
481  void HandleBeginTradeOpcode(WorldPacket& recvPacket);
482  void HandleBusyTradeOpcode(WorldPacket& recvPacket);
483  void HandleCancelTradeOpcode(WorldPacket& recvPacket);
484  void HandleClearTradeItemOpcode(WorldPacket& recvPacket);
485  void HandleIgnoreTradeOpcode(WorldPacket& recvPacket);
486  void HandleInitiateTradeOpcode(WorldPacket& recvPacket);
487  void HandleSetTradeGoldOpcode(WorldPacket& recvPacket);
488  void HandleSetTradeItemOpcode(WorldPacket& recvPacket);
489  void HandleUnacceptTradeOpcode(WorldPacket& recvPacket);
490 
491  void HandleAuctionHelloOpcode(WorldPacket& recvPacket);
492  void HandleAuctionListItems(WorldPacket& recv_data);
493  void HandleAuctionListBidderItems(WorldPacket& recv_data);
494  void HandleAuctionSellItem(WorldPacket& recv_data);
495  void HandleAuctionRemoveItem(WorldPacket& recv_data);
496  void HandleAuctionListOwnerItems(WorldPacket& recv_data);
497  void HandleAuctionPlaceBid(WorldPacket& recv_data);
498 
499  void HandleGetMail(WorldPacket& recv_data);
500  void HandleSendMail(WorldPacket& recv_data);
501  void HandleTakeMoney(WorldPacket& recv_data);
502  void HandleTakeItem(WorldPacket& recv_data);
503  void HandleMarkAsRead(WorldPacket& recv_data);
504  void HandleReturnToSender(WorldPacket& recv_data);
505  void HandleMailDelete(WorldPacket& recv_data);
506  void HandleItemTextQuery(WorldPacket& recv_data);
507  void HandleMailCreateTextItem(WorldPacket& recv_data);
508  void HandleMsgQueryNextMailtime(WorldPacket& recv_data);
509  void HandleCancelChanneling(WorldPacket& recv_data);
510 
511  void SendItemPageInfo(ItemTemplate* itemProto);
512  void HandleSplitItemOpcode(WorldPacket& recvPacket);
513  void HandleSwapInvItemOpcode(WorldPacket& recvPacket);
514  void HandleDestroyItemOpcode(WorldPacket& recvPacket);
515  void HandleAutoEquipItemOpcode(WorldPacket& recvPacket);
516  void HandleItemQuerySingleOpcode(WorldPacket& recvPacket);
517  void HandleSellItemOpcode(WorldPacket& recvPacket);
518  void HandleBuyItemInSlotOpcode(WorldPacket& recvPacket);
519  void HandleBuyItemOpcode(WorldPacket& recvPacket);
520  void HandleListInventoryOpcode(WorldPacket& recvPacket);
521  void HandleAutoStoreBagItemOpcode(WorldPacket& recvPacket);
522  void HandleReadItem(WorldPacket& recvPacket);
523  void HandleAutoEquipItemSlotOpcode(WorldPacket& recvPacket);
524  void HandleSwapItem(WorldPacket& recvPacket);
525  void HandleBuybackItem(WorldPacket& recvPacket);
526  void HandleAutoBankItemOpcode(WorldPacket& recvPacket);
527  void HandleAutoStoreBankItemOpcode(WorldPacket& recvPacket);
528  void HandleWrapItemOpcode(WorldPacket& recvPacket);
529 
530  void HandleAttackSwingOpcode(WorldPacket& recvPacket);
531  void HandleAttackStopOpcode(WorldPacket& recvPacket);
532  void HandleSetSheathedOpcode(WorldPacket& recvPacket);
533 
534  void HandleUseItemOpcode(WorldPacket& recvPacket);
535  void HandleOpenItemOpcode(WorldPacket& recvPacket);
536  void HandleCastSpellOpcode(WorldPacket& recvPacket);
537  void HandleCancelCastOpcode(WorldPacket& recvPacket);
538  void HandleCancelAuraOpcode(WorldPacket& recvPacket);
539  void HandleCancelGrowthAuraOpcode(WorldPacket& recvPacket);
541 
542  void HandleLearnTalentOpcode(WorldPacket& recvPacket);
543  void HandleTalentWipeOpcode(WorldPacket& recvPacket);
544  void HandleUnlearnSkillOpcode(WorldPacket& recvPacket);
545 
548  void HandleQuestgiverHelloOpcode(WorldPacket& recvPacket);
553  void HandleQuestQueryOpcode(WorldPacket& recvPacket);
554  void HandleQuestgiverCancel(WorldPacket& recv_data);
555  void HandleQuestLogSwapQuest(WorldPacket& recv_data);
556  void HandleQuestLogRemoveQuest(WorldPacket& recv_data);
557  void HandleQuestConfirmAccept(WorldPacket& recv_data);
558  void HandleQuestComplete(WorldPacket& recv_data);
559  void HandleQuestAutoLaunch(WorldPacket& recvPacket);
560  void HandleQuestPushToParty(WorldPacket& recvPacket);
561  void HandleQuestPushResult(WorldPacket& recvPacket);
562 
564  void HandleMessagechatOpcode(WorldPacket& recvPacket);
565  void SendPlayerNotFoundNotice(std::string name);
566  void SendWrongFactionNotice();
567  void HandleTextEmoteOpcode(WorldPacket& recvPacket);
568  void HandleChatIgnoredOpcode(WorldPacket& recvPacket);
569 
570  void HandleCorpseReclaimOpcode(WorldPacket& recvPacket);
571  void HandleCorpseQueryOpcode(WorldPacket& recvPacket);
572  void HandleResurrectResponseOpcode(WorldPacket& recvPacket);
573  void HandleSummonResponseOpcode(WorldPacket& recv_data);
574 
575  void HandleChannelJoin(WorldPacket& recvPacket);
576  void HandleChannelLeave(WorldPacket& recvPacket);
577  void HandleChannelList(WorldPacket& recvPacket);
578  void HandleChannelPassword(WorldPacket& recvPacket);
579  void HandleChannelSetOwner(WorldPacket& recvPacket);
580  void HandleChannelOwner(WorldPacket& recvPacket);
581  void HandleChannelModerator(WorldPacket& recvPacket);
582  void HandleChannelUnmoderator(WorldPacket& recvPacket);
583  void HandleChannelMute(WorldPacket& recvPacket);
584  void HandleChannelUnmute(WorldPacket& recvPacket);
585  void HandleChannelInvite(WorldPacket& recvPacket);
586  void HandleChannelKick(WorldPacket& recvPacket);
587  void HandleChannelBan(WorldPacket& recvPacket);
588  void HandleChannelUnban(WorldPacket& recvPacket);
589  void HandleChannelAnnounce(WorldPacket& recvPacket);
590  void HandleChannelModerate(WorldPacket& recvPacket);
591  void HandleChannelRosterQuery(WorldPacket& recvPacket);
592  void HandleChannelInfoQuery(WorldPacket& recvPacket);
593  void HandleChannelJoinNotify(WorldPacket& recvPacket);
594 
595  void HandleCompleteCinema(WorldPacket& recvPacket);
596  void HandleNextCinematicCamera(WorldPacket& recvPacket);
597 
598  void HandlePageQuerySkippedOpcode(WorldPacket& recvPacket);
599  void HandlePageQueryOpcode(WorldPacket& recvPacket);
600 
601  void HandleTutorialFlag (WorldPacket& recv_data);
602  void HandleTutorialClear(WorldPacket& recv_data);
603  void HandleTutorialReset(WorldPacket& recv_data);
604 
605  //Pet
606  void HandlePetAction(WorldPacket& recv_data);
607  void HandlePetActionHelper(Unit* pet, uint64 guid1, uint16 spellid, uint16 flag, uint64 guid2);
608  void HandlePetNameQuery(WorldPacket& recv_data);
609  void HandlePetSetAction(WorldPacket& recv_data);
610  void HandlePetAbandon(WorldPacket& recv_data);
611  void HandlePetRename(WorldPacket& recv_data);
612  void HandlePetCancelAuraOpcode(WorldPacket& recvPacket);
613  void HandlePetUnlearnOpcode(WorldPacket& recvPacket);
614  void HandlePetSpellAutocastOpcode(WorldPacket& recvPacket);
615  void HandlePetCastSpellOpcode(WorldPacket& recvPacket);
616 
617  void HandleSetActionBar(WorldPacket& recv_data);
618 
619  void HandleChangePlayerNameOpcode(WorldPacket& recv_data);
620  static void HandleChangePlayerNameOpcodeCallBack(QueryResult_AutoPtr result, uint32 accountId, std::string newname);
622 
623  void HandleTotemDestroy(WorldPacket& recv_data);
624 
625  //Battleground
627  void HandleBattlegroundJoinOpcode(WorldPacket& recv_data);
631  void HandleBattlegroundListOpcode(WorldPacket& recv_data);
633  void HandleBattlegroundArenaJoin(WorldPacket& recv_data);
634  void HandleBattlegroundReportAFK(WorldPacket& recv_data);
635 
636  void HandleWardenDataOpcode(WorldPacket& recv_data);
637  void HandleWorldTeleportOpcode(WorldPacket& recv_data);
638  void HandleMinimapPingOpcode(WorldPacket& recv_data);
639  void HandleRandomRollOpcode(WorldPacket& recv_data);
640  void HandleFarSightOpcode(WorldPacket& recv_data);
641  void HandleSetLfgOpcode(WorldPacket& recv_data);
644  void HandleLfgAutoJoinOpcode(WorldPacket& recv_data);
648  void HandleLfgClearOpcode(WorldPacket& recv_data);
649  void HandleLfmSetNoneOpcode(WorldPacket& recv_data);
650  void HandleLfmSetOpcode(WorldPacket& recv_data);
651  void HandleLfgSetCommentOpcode(WorldPacket& recv_data);
652  void HandleChooseTitleOpcode(WorldPacket& recv_data);
654  void HandleTimeSyncResp(WorldPacket& recv_data);
655  void HandleWhoisOpcode(WorldPacket& recv_data);
656  void HandleResetInstancesOpcode(WorldPacket& recv_data);
657 
658  // Arena Team
660  void HandleArenaTeamQueryOpcode(WorldPacket& recv_data);
661  void HandleArenaTeamRosterOpcode(WorldPacket& recv_data);
665  void HandleArenaTeamLeaveOpcode(WorldPacket& recv_data);
667  void HandleArenaTeamDisbandOpcode(WorldPacket& recv_data);
669 
672  void HandleDismountOpcode(WorldPacket& recv_data);
673  void HandleSelfResOpcode(WorldPacket& recv_data);
674  void HandleReportSpamOpcode(WorldPacket& recv_data);
675  void HandleRequestPetInfoOpcode(WorldPacket& recv_data);
676 
677  // Socket gem
678  void HandleSocketOpcode(WorldPacket& recv_data);
679 
681 
683  void HandleVoiceSettingsOpcode(WorldPacket& recv_data);
684  void HandleChannelVoiceChatQuery(WorldPacket& recv_data);
685  void HandleSetTaxiBenchmarkOpcode(WorldPacket& recv_data);
686 
687  // Guild Bank
688  void HandleGuildBankGetRights(WorldPacket& recv_data);
690  void HandleGuildBankQuery(WorldPacket& recv_data);
691  void HandleGuildBankTabColon(WorldPacket& recv_data);
692  void HandleGuildBankLog(WorldPacket& recv_data);
693  void HandleGuildBankDeposit(WorldPacket& recv_data);
694  void HandleGuildBankWithdraw(WorldPacket& recv_data);
695  void HandleGuildBankDepositItem(WorldPacket& recv_data);
696  void HandleGuildBankModifyTab(WorldPacket& recv_data);
697  void HandleGuildBankBuyTab(WorldPacket& recv_data);
698  void HandleGuildBankTabText(WorldPacket& recv_data);
699  void HandleGuildBankSetTabText(WorldPacket& recv_data);
700 
701  // Refer-a-Friend
702  void HandleSetGrantableLevels(WorldPacket& recv_data);
703  void HandleGrantLevel(WorldPacket& recv_data);
704  void HandleAcceptGrantLevel(WorldPacket& recv_data);
705  void HandleReferAFriend(WorldPacket& recv_data);
706 
708 
709  void HandleSpellClick(WorldPacket& recvData);
710  private:
711  // private trade methods
712  void moveItems(Item* myItems[], Item* hisItems[]);
713 
714  void ExecuteOpcode(OpcodeHandler const& opHandle, WorldPacket* packet);
715 
716  // logging helper
717  void LogUnexpectedOpcode(WorldPacket* packet, const char* reason);
718  void LogUnprocessedTail(WorldPacket* packet);
719 
720  // EnumData helpers
721  bool CharCanLogin(uint32 lowGUID)
722  {
723  return _allowedCharsToLogin.find(lowGUID) != _allowedCharsToLogin.end();
724  }
725  // this stores the GUIDs of the characters who can login
726  // characters who failed on Player::BuildEnumData shouldn't login
727  std::set<uint32> _allowedCharsToLogin;
728 
731  std::string m_Address;
732 
736 
737  // Warden
739 
740  bool m_inQueue; // session wait in auth.queue
741  bool m_playerLoading; // code processed in LoginPlayer
742  bool m_playerLogout; // code processed in LogoutPlayer
747  time_t _logoutTime;
750 
752  {
755  };
756 
757  typedef UNORDERED_MAP<uint32, ProtectedOpcodeStatus> ProtectedOpcodeMap;
758  ProtectedOpcodeMap _protectedOpcodes;
759 
761 };
762 #endif
763 
void HandleSocketOpcode(WorldPacket &recv_data)
Definition: Object.h:124
void HandleOfferPetitionOpcode(WorldPacket &recv_data)
uint8 Expansion() const
Definition: WorldSession.h:121
void HandleSelfResOpcode(WorldPacket &recv_data)
void HandleGuildBankBuyTab(WorldPacket &recv_data)
void HandleLogoutCancelOpcode(WorldPacket &recvPacket)
void HandleGossipHelloOpcode(WorldPacket &recvPacket)
Definition: NPCHandler.cpp:249
void HandleActivateTaxiOpcode(WorldPacket &recvPacket)
void SendNotification(const char *format,...) ATTR_PRINTF(2
void HandleSendMail(WorldPacket &recv_data)
Definition: Mail.cpp:53
void HandleTaxiNextDestinationOpcode(WorldPacket &recvPacket)
void HandleBuyStableSlot(WorldPacket &recvPacket)
Definition: NPCHandler.cpp:627
void HandleGroupInviteOpcode(WorldPacket &recvPacket)
void HandleQuestgiverQuestQueryOpcode(WorldPacket &recvPacket)
void SendAttackStop(Unit const *enemy)
s is already in group.
Definition: WorldSession.h:56
void SendPetitionQueryOpcode(uint64 petitionguid)
void HandleGuildPromoteOpcode(WorldPacket &recvPacket)
Your party is full.
Definition: WorldSession.h:55
void HandleAreaTriggerOpcode(WorldPacket &recvPacket)
void HandleGroupPromoteOpcode(WorldPacket &recv_data)
void HandleMessagechatOpcode(WorldPacket &recvPacket)
Definition: ChatHandler.cpp:60
void HandleArenaTeamInviteDeclineOpcode(WorldPacket &recv_data)
void HandleSetTargetOpcode(WorldPacket &recvPacket)
void HandleMoveUnRootAck(WorldPacket &recvPacket)
void SendTaxiMenu(Creature *unit)
Definition: TaxiHandler.cpp:92
LocaleConstant m_sessionDbcLocale
Definition: WorldSession.h:745
void HandleMoveTeleportAck(WorldPacket &recvPacket)
void HandleAreaSpiritHealerQueueOpcode(WorldPacket &recv_data)
void HandlePetRename(WorldPacket &recv_data)
Definition: PetHandler.cpp:445
void HandleGuildAcceptOpcode(WorldPacket &recvPacket)
void HandleAuthSessionOpcode(WorldPacket &recvPacket)
time_t _logoutTime
Definition: WorldSession.h:747
bool LookingForGroup_auto_add
Definition: WorldSession.h:223
void HandlePetCancelAuraOpcode(WorldPacket &recvPacket)
void HandleMailDelete(WorldPacket &recv_data)
Definition: Mail.cpp:317
void HandleListInventoryOpcode(WorldPacket &recvPacket)
void HandleMoveNotActiveMoverOpcode(WorldPacket &recv_data)
void HandleRequestAccountData(WorldPacket &recvPacket)
void HandleAutoEquipItemSlotOpcode(WorldPacket &recvPacket)
Definition: ItemHandler.cpp:89
void HandleCharEnumOpcode(WorldPacket &recvPacket)
void HandleSetWatchedFactionInactiveOpcode(WorldPacket &recv_data)
void HandleBattlegroundPlayerPositionsOpcode(WorldPacket &recv_data)
ACE_Based::LockedQueue< WorldPacket *, ACE_Thread_Mutex > _recvQueue
Definition: WorldSession.h:760
void HandleLfgSetCommentOpcode(WorldPacket &recv_data)
Definition: LFGHandler.cpp:220
void LogoutRequest(time_t requestTime)
Definition: WorldSession.h:141
void HandleLfgAutoJoinOpcode(WorldPacket &recv_data)
Definition: LFGHandler.cpp:149
void HandleUpdateAccountData(WorldPacket &recvPacket)
void SendGuildCommandResult(uint32 typecmd, const std::string &str, uint32 cmdresult)
void HandleTutorialFlag(WorldPacket &recv_data)
void HandleDungeonDifficultyOpcode(WorldPacket &recv_data)
You already have a pending match.
Definition: WorldSession.h:61
void HandleChannelSetOwner(WorldPacket &recvPacket)
void HandleBattleMasterHelloOpcode(WorldPacket &recv_data)
void HandlePetitionSignOpcode(WorldPacket &recv_data)
void HandleGuildLeaderOpcode(WorldPacket &recvPacket)
void HandleItemQuerySingleOpcode(WorldPacket &recvPacket)
void HandleMarkAsRead(WorldPacket &recv_data)
Definition: Mail.cpp:287
void HandleCorpseReclaimOpcode(WorldPacket &recvPacket)
void HandleGuildBankDepositItem(WorldPacket &recv_data)
void HandleInspectArenaStatsOpcode(WorldPacket &recv_data)
void QueuePacket(WorldPacket *new_packet)
void HandlePetNameQuery(WorldPacket &recv_data)
Definition: PetHandler.cpp:342
static void HandleAddFriendOpcodeCallBack(QueryResult_AutoPtr result, uint32 accountId, std::string friendNote)
void HandleGameObjectQueryOpcode(WorldPacket &recvPacket)
void HandleQuestgiverStatusQueryOpcode(WorldPacket &recvPacket)
void HandleGuildBankSetTabText(WorldPacket &recv_data)
void HandleGuildBankLog(WorldPacket &recv_data)
void HandleChannelOwner(WorldPacket &recvPacket)
void HandleToggleHelmOpcode(WorldPacket &recv_data)
void HandleSpellClick(WorldPacket &recvData)
void HandleChannelModerator(WorldPacket &recvPacket)
void HandleToggleCloakOpcode(WorldPacket &recv_data)
void HandleTabardVendorActivateOpcode(WorldPacket &recvPacket)
Definition: NPCHandler.cpp:40
uint32 getDialogStatus(Player *pPlayer, Object *questgiver, uint32 defstatus)
void HandleChannelKick(WorldPacket &recvPacket)
bool processChatmessageFurtherAfterSecurityChecks(std::string &, uint32)
Definition: ChatHandler.cpp:38
void SendAuthWaitQue(uint32 position)
void SendShowBank(uint64 guid)
Definition: NPCHandler.cpp:87
void HandleLearnTalentOpcode(WorldPacket &recvPacket)
static void HandleChangePlayerNameOpcodeCallBack(QueryResult_AutoPtr result, uint32 accountId, std::string newname)
std::string const & GetRemoteAddress()
Definition: WorldSession.h:113
void HandleChannelAnnounce(WorldPacket &recvPacket)
void HandleReadItem(WorldPacket &recvPacket)
bool SendLearnNewTaxiNode(Creature *unit)
void HandleUseItemOpcode(WorldPacket &recvPacket)
void HandleChannelUnmute(WorldPacket &recvPacket)
void HandleGossipSelectOptionOpcode(WorldPacket &recvPacket)
Definition: MiscHandler.cpp:71
void HandleAuctionListItems(WorldPacket &recv_data)
static void SendNameQueryOpcodeFromDBCallBack(QueryResult_AutoPtr result, uint32 accountId)
void HandleClearTradeItemOpcode(WorldPacket &recvPacket)
uint32 _security
Definition: WorldSession.h:733
void HandleGuildBankTabText(WorldPacket &recv_data)
void HandleQuestgiverAcceptQuestOpcode(WorldPacket &recvPacket)
void HandleSetGrantableLevels(WorldPacket &recv_data)
You are not the party leader.
Definition: WorldSession.h:58
void SendBattlegroundOrArenaJoinError(uint8 err)
void HandleDeclinedPlayerNameOpcode(WorldPacket &recv_data)
void HandleMountSpecialAnimOpcode(WorldPacket &recvdata)
bool m_playerLogout
Definition: WorldSession.h:742
void HandleGMTicketCreateOpcode(WorldPacket &recvPacket)
void SendCancelTrade()
void HandleDuelCancelledOpcode(WorldPacket &recvPacket)
Definition: DuelHandler.cpp:65
void HandleTogglePvP(WorldPacket &recvPacket)
void HandlePetCastSpellOpcode(WorldPacket &recvPacket)
Definition: PetHandler.cpp:648
void HandleLootReleaseOpcode(WorldPacket &recvPacket)
void HandleSetFactionAtWar(WorldPacket &recv_data)
void HandleReferAFriend(WorldPacket &recv_data)
void HandleForceSpeedChangeAck(WorldPacket &recv_data)
WorldSession(uint32 id, WorldSocket *sock, uint32 sec, uint8 expansion, time_t mute_time, LocaleConstant locale)
is not in your instance.
Definition: WorldSession.h:54
void HandleMoveWaterWalkAck(WorldPacket &recvPacket)
void SendGMTicketGetTicket(uint32 status, char const *text)
void SizeError(WorldPacket const &packet, uint32 size) const
void HandleGuildBankWithdraw(WorldPacket &recv_data)
void HandleSummonResponseOpcode(WorldPacket &recv_data)
void HandleMoveHoverAck(WorldPacket &recv_data)
void HandleAttackSwingOpcode(WorldPacket &recvPacket)
void HandleGuildInviteOpcode(WorldPacket &recvPacket)
void HandleTutorialReset(WorldPacket &recv_data)
void HandleMirrorImageDataRequest(WorldPacket &recvData)
void HandleBattlegroundListOpcode(WorldPacket &recv_data)
void HandleAreaSpiritHealerQueryOpcode(WorldPacket &recv_data)
void HandleChannelLeave(WorldPacket &recvPacket)
ACE_INT32 int32
Definition: Define.h:67
void HandlePetitionBuyOpcode(WorldPacket &recv_data)
void HandleRaidConvertOpcode(WorldPacket &recv_data)
void SendPlayerNotFoundNotice(std::string name)
uint32 m_clientTimeDelay
Definition: WorldSession.h:749
void HandlePetUnlearnOpcode(WorldPacket &recvPacket)
Definition: PetHandler.cpp:545
void HandleAttackStopOpcode(WorldPacket &recvPacket)
void SetInQueue(bool state)
Definition: WorldSession.h:129
void HandlePlayerLogoutOpcode(WorldPacket &recvPacket)
void HandleQuestgiverRequestRewardOpcode(WorldPacket &recvPacket)
void SendDoFlight(uint16 MountId, uint32 path, uint32 pathNode=0)
void HandleTotemDestroy(WorldPacket &recv_data)
void HandlePlayerLoginOpcode(WorldPacket &recvPacket)
void HandleGuildBankTabColon(WorldPacket &recv_data)
void HandleGroupUninviteGuidOpcode(WorldPacket &recvPacket)
void HandleRandomRollOpcode(WorldPacket &recv_data)
void HandleChannelMute(WorldPacket &recvPacket)
void SetSecurity(uint32 security)
Definition: WorldSession.h:109
void HandleQuestConfirmAccept(WorldPacket &recv_data)
void HandleChannelModerate(WorldPacket &recvPacket)
void HandleCompleteCinema(WorldPacket &recvPacket)
void HandleMsgQueryNextMailtime(WorldPacket &recv_data)
Definition: Mail.cpp:742
void ResetTimeOutTime()
Definition: WorldSession.h:265
void HandleSetWatchedFactionIndexOpcode(WorldPacket &recv_data)
uint32 GetAccountId() const
Definition: WorldSession.h:100
void HandleGuildDelRankOpcode(WorldPacket &recvPacket)
void HandleGuildDisbandOpcode(WorldPacket &recvPacket)
void HandleQuestPushResult(WorldPacket &recvPacket)
void HandleRepairItemOpcode(WorldPacket &recvPacket)
Definition: NPCHandler.cpp:722
Player * GetPlayer() const
Definition: WorldSession.h:104
void HandleAutostoreLootItemOpcode(WorldPacket &recvPacket)
Definition: LootHandler.cpp:32
uint8 m_expansion
Definition: WorldSession.h:735
void HandleStableSwapPet(WorldPacket &recvPacket)
Definition: NPCHandler.cpp:670
void HandleAuctionListBidderItems(WorldPacket &recv_data)
static void SendExternalMails()
Definition: Mail.cpp:1065
void HandleItemTextQuery(WorldPacket &recv_data)
Definition: Mail.cpp:663
void HandleBankerActivateOpcode(WorldPacket &recvPacket)
Definition: NPCHandler.cpp:66
void HandleArenaTeamRemoveFromTeamOpcode(WorldPacket &recv_data)
void HandleSetLfgOpcode(WorldPacket &recv_data)
Definition: LFGHandler.cpp:312
void HandlePetActionHelper(Unit *pet, uint64 guid1, uint16 spellid, uint16 flag, uint64 guid2)
Definition: PetHandler.cpp:87
std::set< uint32 > _allowedCharsToLogin
Definition: WorldSession.h:727
bool SendItemInfo(uint32 itemid, WorldPacket data)
LocaleConstant GetSessionDbcLocale() const
Definition: WorldSession.h:233
void HandleCancelAutoRepeatSpellOpcode(WorldPacket &recvPacket)
void HandleTurnInPetitionOpcode(WorldPacket &recv_data)
void HandleGuildBankGetMoneyAmount(WorldPacket &recv_data)
void HandleTaxiQueryAvailableNodesOpcode(WorldPacket &recvPacket)
Definition: TaxiHandler.cpp:65
void SendBattlegGroundList(uint64 guid, uint32 bgTypeId)
void HandleSetActiveMoverOpcode(WorldPacket &recv_data)
void HandleArenaTeamPromoteToCaptainOpcode(WorldPacket &recv_data)
void HandleGMTicketDeleteOpcode(WorldPacket &recvPacket)
void HandleLfmSetNoneOpcode(WorldPacket &recv_data)
Definition: LFGHandler.cpp:194
void SendPacket(WorldPacket const *packet)
void HandleMoveKnockBackAck(WorldPacket &recvPacket)
void HandleQuestComplete(WorldPacket &recv_data)
void HandleChannelBan(WorldPacket &recvPacket)
void HandleLootMasterGiveOpcode(WorldPacket &recvPacket)
void HandleSetFriendNoteOpcode(WorldPacket &recvPacket)
void HandleIgnoreTradeOpcode(WorldPacket &recvPacket)
void HandleStandStateChangeOpcode(WorldPacket &recvPacket)
void HandleLootMethodOpcode(WorldPacket &recvPacket)
void HandleRequestPetInfoOpcode(WorldPacket &recv_data)
void HandleBinderActivateOpcode(WorldPacket &recvPacket)
Definition: NPCHandler.cpp:393
void HandleSwapInvItemOpcode(WorldPacket &recvPacket)
Definition: ItemHandler.cpp:59
void HandleGuildSetPublicNoteOpcode(WorldPacket &recvPacket)
void LogoutPlayer(bool Save)
void HandleChannelRosterQuery(WorldPacket &recvPacket)
bool CharCanLogin(uint32 lowGUID)
Definition: WorldSession.h:721
void HandleNextCinematicCamera(WorldPacket &recvPacket)
s is not in your party.
Definition: WorldSession.h:53
void HandleUnacceptTradeOpcode(WorldPacket &recvPacket)
void HandleAcceptTradeOpcode(WorldPacket &recvPacket)
void HandleBattlegroundLeaveOpcode(WorldPacket &recv_data)
void HandleVoiceSettingsOpcode(WorldPacket &recv_data)
void HandleLootOpcode(WorldPacket &recvPacket)
void HandleChannelUnban(WorldPacket &recvPacket)
void BuildPartyMemberStatsChangedPacket(Player *player, WorldPacket *data)
void HandleGuildBankQuery(WorldPacket &recv_data)
void HandleTakeItem(WorldPacket &recv_data)
Definition: Mail.cpp:413
void HandleTimeSyncResp(WorldPacket &recv_data)
void HandleSetAmmoOpcode(WorldPacket &recvPacket)
void HandleChatIgnoredOpcode(WorldPacket &recvPacket)
void HandleGuildDemoteOpcode(WorldPacket &recvPacket)
void HandleLfgCancelAutoJoinOpcode(WorldPacket &recv_data)
Definition: LFGHandler.cpp:160
void HandleCharDeleteOpcode(WorldPacket &recvPacket)
void SetPlayer(Player *plr)
Definition: WorldSession.h:117
void HandleAuctionListOwnerItems(WorldPacket &recv_data)
void HandleArenaTeamAddMemberOpcode(WorldPacket &recv_data)
#define ATTR_PRINTF(F, V)
Definition: Define.h:60
void HandleOpenItemOpcode(WorldPacket &recvPacket)
void SendTrainerList(uint64 guid)
Definition: NPCHandler.cpp:102
void HandleRequestPartyMemberStatsOpcode(WorldPacket &recv_data)
void HandleAddFriendOpcode(WorldPacket &recvPacket)
void HandlePetAbandon(WorldPacket &recv_data)
Definition: PetHandler.cpp:517
void SendNameQueryOpcodeFromDB(uint64 guid)
void HandleChannelJoin(WorldPacket &recvPacket)
void HandleAutoBankItemOpcode(WorldPacket &recvPacket)
void HandleGuildRemoveOpcode(WorldPacket &recvPacket)
ACE_UINT8 uint8
Definition: Define.h:73
void HandleTaxiNodeStatusQueryOpcode(WorldPacket &recvPacket)
Definition: TaxiHandler.cpp:30
void HandleGameObjectUseOpcode(WorldPacket &recPacket)
void HandleChannelPassword(WorldPacket &recvPacket)
void SendBindPoint(Creature *npc)
Definition: NPCHandler.cpp:415
void HandleAuctionPlaceBid(WorldPacket &recv_data)
void HandleChannelEnableVoiceOpcode(WorldPacket &recv_data)
void HandlePetitionDeclineOpcode(WorldPacket &recv_data)
void HandleFarSightOpcode(WorldPacket &recv_data)
void HandleGuildEventLogOpcode(WorldPacket &recvPacket)
void HandleGroupAcceptOpcode(WorldPacket &recvPacket)
void HandleChannelInvite(WorldPacket &recvPacket)
void HandleGuildRankOpcode(WorldPacket &recvPacket)
void HandleGroupDeclineOpcode(WorldPacket &recvPacket)
Target is unfriendly.
Definition: WorldSession.h:59
void HandleAcceptGrantLevel(WorldPacket &recv_data)
void HandleTrainerListOpcode(WorldPacket &recvPacket)
Definition: NPCHandler.cpp:94
void HandleBattlegroundHelloOpcode(WorldPacket &recv_data)
void HandleWorldTeleportOpcode(WorldPacket &recv_data)
time_t m_muteTime
Definition: WorldSession.h:230
void SendPartyResult(PartyOperation operation, const std::string &member, PartyResult res)
void Handle_EarlyProccess(WorldPacket &recvPacket)
void HandleMovementOpcodes(WorldPacket &recvPacket)
void HandleMoveRootAck(WorldPacket &recvPacket)
void DoLootRelease(uint64 lguid)
void HandleCancelChanneling(WorldPacket &recv_data)
void HandlePetitionQueryOpcode(WorldPacket &recv_data)
bool PlayerLogoutWithSave() const
Definition: WorldSession.h:81
void HandleBuyItemInSlotOpcode(WorldPacket &recvPacket)
void HandleQuestgiverCancel(WorldPacket &recv_data)
void HandleBuyBankSlotOpcode(WorldPacket &recvPacket)
void HandleBusyTradeOpcode(WorldPacket &recvPacket)
static void HandleAddIgnoreOpcodeCallBack(QueryResult_AutoPtr result, uint32 accountId)
void HandleBugOpcode(WorldPacket &recvPacket)
void HandleLfmAutoAddMembersOpcode(WorldPacket &recv_data)
Definition: LFGHandler.cpp:166
void HandleSetTradeGoldOpcode(WorldPacket &recvPacket)
void Handle_Deprecated(WorldPacket &recvPacket)
void HandleGuildAddRankOpcode(WorldPacket &recvPacket)
void HandleMinimapPingOpcode(WorldPacket &recv_data)
void SendItemPageInfo(ItemTemplate *itemProto)
void HandleEmoteOpcode(WorldPacket &recvPacket)
void HandleGuildInfoOpcode(WorldPacket &recvPacket)
void HandleGroupChangeSubGroupOpcode(WorldPacket &recv_data)
void HandleBattlegroundPlayerPortOpcode(WorldPacket &recv_data)
void HandleAuctionRemoveItem(WorldPacket &recv_data)
void HandleQuestgiverHelloOpcode(WorldPacket &recvPacket)
void HandleAuctionHelloOpcode(WorldPacket &recvPacket)
void HandleChooseTitleOpcode(WorldPacket &recv_data)
void HandleLookingForGroup(WorldPacket &recvPacket)
Definition: LFGHandler.cpp:232
Definition: Item.h:196
void SendPetNameInvalid(uint32 error, const std::string &name, DeclinedName *declinedName)
Definition: PetHandler.cpp:737
void HandleChannelList(WorldPacket &recvPacket)
void SendNameQueryOpcode(Player *p)
void HandleMoveFlyModeChangeAckOpcode(WorldPacket &recv_data)
void HandleLootMoneyOpcode(WorldPacket &recvPacket)
void SendWrongFactionNotice()
void LogUnexpectedOpcode(WorldPacket *packet, const char *reason)
void HandleGuildQueryOpcode(WorldPacket &recvPacket)
void HandleResurrectResponseOpcode(WorldPacket &recvPacket)
void HandleGroupPassOnLootOpcode(WorldPacket &recv_data)
void HandleArenaTeamDisbandOpcode(WorldPacket &recv_data)
void HandleChannelVoiceChatQuery(WorldPacket &recv_data)
void HandleRealmStateRequestOpcode(WorldPacket &recv_data)
WorldSocket * m_Socket
Definition: WorldSession.h:730
void HandleRepopRequestOpcode(WorldPacket &recvPacket)
Definition: MiscHandler.cpp:45
void SendAuctionOwnerNotification(AuctionEntry *auction)
void HandleUnstablePet(WorldPacket &recvPacket)
Definition: NPCHandler.cpp:570
uint32 m_timeOutTime
Definition: WorldSession.h:257
void SendSpiritResurrect()
Definition: NPCHandler.cpp:360
void HandleGuildLeaveOpcode(WorldPacket &recvPacket)
void HandlePetitionShowListOpcode(WorldPacket &recvPacket)
void HandleCastSpellOpcode(WorldPacket &recvPacket)
void SendPetitionShowList(uint64 guid)
void HandlePageQueryOpcode(WorldPacket &recvPacket)
void HandleItemNameQueryOpcode(WorldPacket &recvPacket)
void HandleMeetingStoneInfo(WorldPacket &recPacket)
void HandleBattlegroundReportAFK(WorldPacket &recv_data)
void HandlePetitionShowSignOpcode(WorldPacket &recv_data)
void SendTradeStatus(uint32 status)
void Handle_ServerSide(WorldPacket &recvPacket)
void HandleInitiateTradeOpcode(WorldPacket &recvPacket)
void HandleQuestLogSwapQuest(WorldPacket &recv_data)
void HandleZoneUpdateOpcode(WorldPacket &recvPacket)
void HandleMoveTimeSkippedOpcode(WorldPacket &recv_data)
void HandleRaidReadyCheckOpcode(WorldPacket &recv_data)
void HandleTutorialClear(WorldPacket &recv_data)
void HandleRequestRaidInfoOpcode(WorldPacket &recv_data)
void SendItemEnchantTimeUpdate(uint64 Playerguid, uint64 Itemguid, uint32 slot, uint32 Duration)
void HandleStableRevivePet(WorldPacket &recvPacket)
Definition: NPCHandler.cpp:665
const char * GetOregonString(int32 entry) const
char const * GetPlayerName() const
void HandleTextEmoteOpcode(WorldPacket &recvPacket)
void HandleCancelTradeOpcode(WorldPacket &recvPacket)
void HandleAuctionSellItem(WorldPacket &recv_data)
void SendPetNameQuery(uint64 guid, uint32 petnumber)
Definition: PetHandler.cpp:355
void HandleLfmCancelAutoAddmembersOpcode(WorldPacket &recv_data)
Definition: LFGHandler.cpp:177
void HandleGuildRosterOpcode(WorldPacket &recvPacket)
void SendSaveGuildEmblem(uint32 msg)
void HandleGrantLevel(WorldPacket &recv_data)
void HandleMoveWorldportAckOpcode()
void HandleWardenDataOpcode(WorldPacket &recv_data)
Definition: WardenBase.cpp:189
bool m_playerRecentlyLogout
Definition: WorldSession.h:743
void HandleGuildBankModifyTab(WorldPacket &recv_data)
void HandleLfmSetOpcode(WorldPacket &recv_data)
Definition: LFGHandler.cpp:201
void HandleArenaTeamInviteAcceptOpcode(WorldPacket &recv_data)
void UpdateTimeOutTime(uint32 diff)
Definition: WorldSession.h:258
void HandleChannelUnmoderator(WorldPacket &recvPacket)
bool LookingForGroup_auto_join
Definition: WorldSession.h:222
void SendArenaTeamCommandResult(uint32 team_action, const std::string &team, const std::string &player, uint32 error_id)
void SendEnchantmentLog(uint64 Target, uint64 Caster, uint32 ItemID, uint32 SpellID)
void HandlePingOpcode(WorldPacket &recvPacket)
void HandleDuelAcceptedOpcode(WorldPacket &recvPacket)
Definition: DuelHandler.cpp:26
uint32 GetLatency() const
Definition: WorldSession.h:243
void HandleGuildSaveEmblemOpcode(WorldPacket &recvPacket)
void HandleCancelGrowthAuraOpcode(WorldPacket &recvPacket)
ACE_UINT64 uint64
Definition: Define.h:70
void HandleCorpseQueryOpcode(WorldPacket &recvPacket)
void HandleSetActionButtonOpcode(WorldPacket &recvPacket)
void HandleQuestLogRemoveQuest(WorldPacket &recv_data)
void HandleReturnToSender(WorldPacket &recv_data)
Definition: Mail.cpp:354
void HandleQuestAutoLaunch(WorldPacket &recvPacket)
void HandleChannelJoinNotify(WorldPacket &recvPacket)
void HandlePetAction(WorldPacket &recv_data)
Definition: PetHandler.cpp:34
uint32 _accountId
Definition: WorldSession.h:734
void HandleBeginTradeOpcode(WorldPacket &recvPacket)
void SendStablePet(uint64 guid)
Definition: NPCHandler.cpp:458
void moveItems(Item *myItems[], Item *hisItems[])
Target
void SendUpdateTrade()
void HandleInspectOpcode(WorldPacket &recvPacket)
void HandleGMSurveySubmit(WorldPacket &recvPacket)
void HandleLfgClearOpcode(WorldPacket &recv_data)
Definition: LFGHandler.cpp:183
void HandleAutoEquipItemOpcode(WorldPacket &recvPacket)
void HandleInspectHonorStatsOpcode(WorldPacket &recvPacket)
std::string m_Address
Definition: WorldSession.h:731
void HandleDelFriendOpcode(WorldPacket &recvPacket)
void HandleDelIgnoreOpcode(WorldPacket &recvPacket)
void SendTabardVendorActivate(uint64 guid)
Definition: NPCHandler.cpp:59
void HandleQuestQueryOpcode(WorldPacket &recvPacket)
void InitWarden(BigNumber *K, std::string os)
void HandleSetSelectionOpcode(WorldPacket &recvPacket)
void HandlePlayedTime(WorldPacket &recvPacket)
Player * _player
Definition: WorldSession.h:729
void SetLatency(uint32 latency)
Definition: WorldSession.h:247
ACE_Refcounted_Auto_Ptr< QueryResult, ACE_Null_Mutex > QueryResult_AutoPtr
Definition: QueryResult.h:113
int GetSessionDbLocaleIndex() const
Definition: WorldSession.h:237
void SendAuctionCommandResult(uint32 auctionId, uint32 Action, uint32 ErrorCode, uint32 bidError=0)
Cannot find player "%s".
Definition: WorldSession.h:52
void HandleBuyItemOpcode(WorldPacket &recvPacket)
void SendLfgResult(uint32 type, uint32 entry, uint8 lfg_type)
Definition: LFGHandler.cpp:250
void HandleMailCreateTextItem(WorldPacket &recv_data)
Definition: Mail.cpp:688
void HandleQuestgiverChooseRewardOpcode(WorldPacket &recvPacket)
void ResetClientTimeDelay()
Definition: WorldSession.h:251
void HandleQueryTimeOpcode(WorldPacket &recvPacket)
void HandleTalentWipeOpcode(WorldPacket &recvPacket)
bool Update(uint32 diff)
void HandleFeatherFallAck(WorldPacket &recv_data)
void HandleGroupLeaveOpcode(WorldPacket &recvPacket)
void HandleSellItemOpcode(WorldPacket &recvPacket)
void HandleQuestgiverStatusQueryMultipleOpcode(WorldPacket &recvPacket)
ok, silent
Definition: WorldSession.h:51
void HandleResetInstancesOpcode(WorldPacket &recv_data)
void HandleGuildChangeInfoOpcode(WorldPacket &recvPacket)
bool PlayerLogout() const
Definition: WorldSession.h:77
void HandleSplitItemOpcode(WorldPacket &recvPacket)
Definition: ItemHandler.cpp:27
void HandleLogoutRequestOpcode(WorldPacket &recvPacket)
ProtectedOpcodeMap _protectedOpcodes
Definition: WorldSession.h:758
PartyResult
Definition: WorldSession.h:49
void HandleNpcTextQueryOpcode(WorldPacket &recvPacket)
void SendTaxiStatus(uint64 guid)
Definition: TaxiHandler.cpp:40
void HandleCancelCastOpcode(WorldPacket &recvPacket)
void HandleSetTradeItemOpcode(WorldPacket &recvPacket)
You aren&#39;t in a party.
Definition: WorldSession.h:57
void HandleArenaTeamQueryOpcode(WorldPacket &recv_data)
void ExecuteOpcode(OpcodeHandler const &opHandle, WorldPacket *packet)
uint32 m_latency
Definition: WorldSession.h:748
Trial accounts cannot invite characters into groups.
Definition: WorldSession.h:62
void HandleListStabledPetsOpcode(WorldPacket &recvPacket)
Definition: NPCHandler.cpp:433
void HandleBuybackItem(WorldPacket &recvPacket)
void HandleWhoisOpcode(WorldPacket &recv_data)
void HandlePageQuerySkippedOpcode(WorldPacket &recvPacket)
void HandleRaidReadyCheckFinishOpcode(WorldPacket &recv_data)
bool isLogingOut() const
Definition: WorldSession.h:135
void HandleLootRoll(WorldPacket &recv_data)
void SendAreaTriggerMessage(const char *Text,...) ATTR_PRINTF(2
void LogUnprocessedTail(WorldPacket *packet)
void HandleWrapItemOpcode(WorldPacket &recvPacket)
void HandleSpiritHealerActivateOpcode(WorldPacket &recvPacket)
Definition: NPCHandler.cpp:338
PartyOperation
Definition: WorldSession.h:43
void HandleArenaTeamRosterOpcode(WorldPacket &recv_data)
void HandleSetFactionCheat(WorldPacket &recv_data)
void HandleDestroyItemOpcode(WorldPacket &recvPacket)
void HandleCancelAuraOpcode(WorldPacket &recvPacket)
void HandleSwapItem(WorldPacket &recvPacket)
void HandleStablePet(WorldPacket &recvPacket)
Definition: NPCHandler.cpp:509
void HandleGroupSetLeaderOpcode(WorldPacket &recvPacket)
LocaleConstant
Definition: Common.h:211
#define sWorld
Definition: World.h:860
void HandleAddIgnoreOpcode(WorldPacket &recvPacket)
void HandleGroupUninviteNameOpcode(WorldPacket &recvPacket)
void HandleRaidIconTargetOpcode(WorldPacket &recv_data)
void HandleBattlegroundJoinOpcode(WorldPacket &recv_data)
void HandleSetActionBar(WorldPacket &recv_data)
void uint32 GetSecurity() const
Definition: WorldSession.h:96
ACE_UINT16 uint16
Definition: Define.h:72
void SendAuctionOutbiddedMail(AuctionEntry *auction, uint32 newPrice)
void HandleWhoOpcode(WorldPacket &recvPacket)
void HandlePetSpellAutocastOpcode(WorldPacket &recvPacket)
Definition: PetHandler.cpp:602
void HandlePetSetAction(WorldPacket &recv_data)
Definition: PetHandler.cpp:380
void HandleBattlefieldStatusOpcode(WorldPacket &recv_data)
void HandleGMTicketGetTicketOpcode(WorldPacket &recvPacket)
void HandleTakeMoney(WorldPacket &recv_data)
Definition: Mail.cpp:511
void HandleGMTicketUpdateOpcode(WorldPacket &recvPacket)
ACE_UINT32 uint32
Definition: Define.h:71
void SendAuctionCancelledToBidderMail(AuctionEntry *auction)
void HandleDismountOpcode(WorldPacket &recv_data)
void HandleReportSpamOpcode(WorldPacket &recv_data)
void HandleSetSheathedOpcode(WorldPacket &recvPacket)
void HandleGetMail(WorldPacket &recv_data)
Definition: Mail.cpp:548
Definition: Unit.h:884
void HandleGuildDeclineOpcode(WorldPacket &recvPacket)
bool m_playerLoading
Definition: WorldSession.h:741
bool PlayerLoading() const
Definition: WorldSession.h:73
void HandleActivateTaxiFarOpcode(WorldPacket &recvPacket)
void HandleGuildSetOfficerNoteOpcode(WorldPacket &recvPacket)
int m_sessionDbLocaleIndex
Definition: WorldSession.h:746
Definition: Player.h:922
void HandleAutoStoreBagItemOpcode(WorldPacket &recvPacket)
bool ShouldLogOut(time_t currTime) const
Definition: WorldSession.h:147
void HandleChangePlayerNameOpcode(WorldPacket &recv_data)
void HandleGuildBankGetRights(WorldPacket &recv_data)
void Handle_NULL(WorldPacket &recvPacket)
void HandleNameQueryOpcode(WorldPacket &recvPacket)
void HandleGuildMOTDOpcode(WorldPacket &recvPacket)
void HandlePlayerLogin(LoginQueryHolder *holder)
void SendAuctionHello(uint64 guid, Creature *unit)
bool IsConnectionIdle() const
Definition: WorldSession.h:269
void HandleGMTicketSystemStatusOpcode(WorldPacket &recvPacket)
void HandleQuestPushToParty(WorldPacket &recvPacket)
void SendListInventory(uint64 guid)
void HandleSetTaxiBenchmarkOpcode(WorldPacket &recv_data)
void HandleBattlegroundArenaJoin(WorldPacket &recv_data)
void HandlePetitionRenameOpcode(WorldPacket &recv_data)
void HandleCharEnum(QueryResult_AutoPtr result)
void SendAuctionBidderNotification(uint32 location, uint32 auctionId, uint64 bidder, uint32 bidSum, uint32 diff, uint32 item_template)
void HandleCancelTempItemEnchantmentOpcode(WorldPacket &recv_data)
void SendNotInArenaTeamPacket(uint8 type)
void HandleChannelInfoQuery(WorldPacket &recvPacket)
void HandleBattlegroundPVPlogdataOpcode(WorldPacket &recv_data)
void HandleGroupAssistantOpcode(WorldPacket &recv_data)
void HandleGuildCreateOpcode(WorldPacket &recvPacket)
void HandleUnlearnSkillOpcode(WorldPacket &recvPacket)
void HandleCreatureQueryOpcode(WorldPacket &recvPacket)
void HandleCharCreateOpcode(WorldPacket &recvPacket)
void HandleTrainerBuySpellOpcode(WorldPacket &recvPacket)
Definition: NPCHandler.cpp:188
void HandleGuildBankDeposit(WorldPacket &recv_data)
void HandleFriendListOpcode(WorldPacket &recvPacket)
UNORDERED_MAP< uint32, ProtectedOpcodeStatus > ProtectedOpcodeMap
Definition: WorldSession.h:757
void HandleArenaTeamLeaveOpcode(WorldPacket &recv_data)
void HandleAutoStoreBankItemOpcode(WorldPacket &recvPacket)
WardenBase * m_Warden
Definition: WorldSession.h:738