diff --git a/src/game/AchievementMgr.cpp b/src/game/AchievementMgr.cpp index 6517f81..82ef8cb 100644 --- a/src/game/AchievementMgr.cpp +++ b/src/game/AchievementMgr.cpp @@ -1836,9 +1836,9 @@ void AchievementMgr::CompletedAchievement(AchievementEntry const* achievement) void AchievementMgr::SendAllAchievementData() { // since we don't know the exact size of the packed GUIDs this is just an approximation - WorldPacket data(SMSG_ALL_ACHIEVEMENT_DATA, 4*2+m_completedAchievements.size()*4*2+m_completedAchievements.size()*7*4); + /* WorldPacket data(SMSG_ALL_ACHIEVEMENT_DATA, 4*2+m_completedAchievements.size()*4*2+m_completedAchievements.size()*7*4); BuildAllDataPacket(&data); - GetPlayer()->GetSession()->SendPacket(&data); + GetPlayer()->GetSession()->SendPacket(&data);*/ } void AchievementMgr::SendRespondInspectAchievements(Player* player) diff --git a/src/game/DBCfmt.h b/src/game/DBCfmt.h index fa6c800..221bdf8 100644 --- a/src/game/DBCfmt.h +++ b/src/game/DBCfmt.h @@ -28,7 +28,7 @@ const char AuctionHouseEntryfmt[]="niiix"; const char BankBagSlotPricesEntryfmt[]="ni"; const char BarberShopStyleEntryfmt[]="nixxxiii"; const char BattlemasterListEntryfmt[]="niiiiiiiiixsiiii"; -const char CharStartOutfitEntryfmt[]="diiiiiiiiiiiiiiiiiiiiiiiiixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; +const char CharStartOutfitEntryfmt[]="diiiiiiiiiiiiiiiiiiiiiiiiixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; const char CharTitlesEntryfmt[]="nxsxix"; const char ChatChannelsEntryfmt[]="iixsx"; // ChatChannelsEntryfmt, index not used (more compact store) @@ -39,7 +39,7 @@ const char CreatureDisplayInfofmt[]="nxxxfxxxxxxxxxxxx"; const char CreatureFamilyfmt[]="nfifiiiiixsx"; const char CreatureSpellDatafmt[]="niiiixxxx"; const char CreatureTypefmt[]="nxx"; -const char CurrencyTypesfmt[]="xxixxxxxxx"; +const char CurrencyTypesfmt[]="xxixxxxxxxx"; const char DurabilityCostsfmt[]="niiiiiiiiiiiiiiiiiiiiiiiiiiiii"; const char DurabilityQualityfmt[]="nf"; const char EmotesEntryfmt[]="nxxiiix"; @@ -88,7 +88,7 @@ const char SoundEntriesfmt[]="nxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; const char SpellCastTimefmt[]="nixx"; const char SpellDurationfmt[]="niii"; const char SpellDifficultyfmt[]="niiii"; -const char SpellEntryfmt[]="niiiiiiiiiixxixixiiiiiiiiiiiiiiiiixixiiiiiiiiiiiifxiiiiiiiiiiiiiiiiiiiiiiiiiiiifffiiiiiiiiiiiiiiixxxiiiiiifffiiiiiiiiiiiiiiifffiiiiiiiiiiiiissxxiiiiiiiiiiixfffxxxiiiiixxxxxxixxxx"; +const char SpellEntryfmt[]="niiiiiiiiiixxixixiiiiiiiiiiiiiiiiixixiiiiiiiiiiiifxiiiiiiiiiiiiiiiiiiiiiiiiiiiifffiiiiiiiiiiiiiiixxxiiiiiifffiiiiiiiiiiiiiiifffiiiiiiiiiiiiissxxiiiiiiiiiiixfffxxxiiiiixxxxxxixxxxx"; const char SpellFocusObjectfmt[]="nx"; const char SpellItemEnchantmentfmt[]="nxiiiiiixxxiiisiiiixxxx"; const char SpellItemEnchantmentConditionfmt[]="nbbbbbxxxxxbbbbbbbbbbiiiiiXXXXX"; diff --git a/src/game/Opcodes.cpp b/src/game/Opcodes.cpp index 47d77ff..4150947 100644 --- a/src/game/Opcodes.cpp +++ b/src/game/Opcodes.cpp @@ -24,7 +24,1320 @@ #include "WorldSession.h" /// Correspondence between opcodes and their names -OpcodeHandler opcodeTable[NUM_MSG_TYPES] = +OpcodeHandler opcodeTable[NUM_MSG_TYPES]; + +static void DefineOpcode( int opcode, const char* name, SessionStatus status, void (WorldSession::*handler)(WorldPacket& recvPacket) ) +{ + opcodeTable[opcode].name = name; + opcodeTable[opcode].status = status; + opcodeTable[opcode].handler = handler; +} + +#define DEF_OPCODE( name, status, handler ) DefineOpcode( name, #name, status, handler ) + +void InitOpcodeTable() +{ + for( int i = 0; i < NUM_MSG_TYPES; ++i ) + { + DefineOpcode( i, "UNKNOWN", STATUS_NEVER, &WorldSession::Handle_NULL ); + } + + DEF_OPCODE( MSG_NULL_ACTION, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_BOOTME, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_DBLOOKUP, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_DBLOOKUP, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_QUERY_OBJECT_POSITION, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_QUERY_OBJECT_POSITION, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_QUERY_OBJECT_ROTATION, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_QUERY_OBJECT_ROTATION, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_WORLD_TELEPORT, STATUS_LOGGEDIN, &WorldSession::HandleWorldTeleportOpcode ); + DEF_OPCODE( CMSG_TELEPORT_TO_UNIT, STATUS_LOGGEDIN, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_ZONE_MAP, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_ZONE_MAP, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_DEBUG_CHANGECELLZONE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_MOVE_CHARACTER_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_MOVE_CHARACTER_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_RECHARGE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_LEARN_SPELL, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_CREATEMONSTER, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_DESTROYMONSTER, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_CREATEITEM, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_CREATEGAMEOBJECT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_CHECK_FOR_BOTS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_MAKEMONSTERATTACKGUID, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_BOT_DETECTED2, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_FORCEACTION, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_FORCEACTIONONOTHER, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_FORCEACTIONSHOW, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_FORCEACTIONSHOW, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_PETGODMODE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_PETGODMODE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_REFER_A_FRIEND_EXPIRED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_WEATHER_SPEED_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_UNDRESSPLAYER, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_BEASTMASTER, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_GODMODE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_GODMODE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_CHEAT_SETMONEY, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_LEVEL_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_PET_LEVEL_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_SET_WORLDSTATE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_COOLDOWN_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_USE_SKILL_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_FLAG_QUEST, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_FLAG_QUEST_FINISH, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_CLEAR_QUEST, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_SEND_EVENT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_DEBUG_AISTATE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_DEBUG_AISTATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_DISABLE_PVP_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_ADVANCE_SPAWN_TIME, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_DESTRUCTIBLE_BUILDING_DAMAGE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_AUTH_SRP6_BEGIN, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_AUTH_SRP6_PROOF, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_AUTH_SRP6_RECODE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_CHAR_CREATE, STATUS_AUTHED, &WorldSession::HandleCharCreateOpcode ); + DEF_OPCODE( CMSG_CHAR_ENUM, STATUS_AUTHED, &WorldSession::HandleCharEnumOpcode ); + DEF_OPCODE( CMSG_CHAR_DELETE, STATUS_AUTHED, &WorldSession::HandleCharDeleteOpcode ); + DEF_OPCODE( SMSG_AUTH_SRP6_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_CHAR_CREATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_CHAR_ENUM, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_CHAR_DELETE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_PLAYER_LOGIN, STATUS_AUTHED, &WorldSession::HandlePlayerLoginOpcode ); + DEF_OPCODE( SMSG_NEW_WORLD, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_TRANSFER_PENDING, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_TRANSFER_ABORTED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_CHARACTER_LOGIN_FAILED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_LOGIN_SETTIMESPEED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_GAMETIME_UPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_GAMETIME_SET, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_GAMETIME_SET, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_GAMESPEED_SET, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_GAMESPEED_SET, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_SERVERTIME, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_SERVERTIME, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_PLAYER_LOGOUT, STATUS_LOGGEDIN, &WorldSession::HandlePlayerLogoutOpcode ); + DEF_OPCODE( CMSG_LOGOUT_REQUEST, STATUS_LOGGEDIN, &WorldSession::HandleLogoutRequestOpcode ); + DEF_OPCODE( SMSG_LOGOUT_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_LOGOUT_COMPLETE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_LOGOUT_CANCEL, STATUS_LOGGEDIN, &WorldSession::HandleLogoutCancelOpcode ); + DEF_OPCODE( SMSG_LOGOUT_CANCEL_ACK, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_NAME_QUERY, STATUS_LOGGEDIN, &WorldSession::HandleNameQueryOpcode ); + DEF_OPCODE( SMSG_NAME_QUERY_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_PET_NAME_QUERY, STATUS_LOGGEDIN, &WorldSession::HandlePetNameQuery ); + DEF_OPCODE( SMSG_PET_NAME_QUERY_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_GUILD_QUERY, STATUS_AUTHED, &WorldSession::HandleGuildQueryOpcode ); + DEF_OPCODE( SMSG_GUILD_QUERY_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_ITEM_QUERY_SINGLE, STATUS_LOGGEDIN, &WorldSession::HandleItemQuerySingleOpcode ); + DEF_OPCODE( CMSG_ITEM_QUERY_MULTIPLE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_ITEM_QUERY_SINGLE_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_ITEM_QUERY_MULTIPLE_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_PAGE_TEXT_QUERY, STATUS_LOGGEDIN, &WorldSession::HandlePageTextQueryOpcode ); + DEF_OPCODE( SMSG_PAGE_TEXT_QUERY_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_QUEST_QUERY, STATUS_LOGGEDIN, &WorldSession::HandleQuestQueryOpcode ); + DEF_OPCODE( SMSG_QUEST_QUERY_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_GAMEOBJECT_QUERY, STATUS_LOGGEDIN, &WorldSession::HandleGameObjectQueryOpcode ); + DEF_OPCODE( SMSG_GAMEOBJECT_QUERY_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_CREATURE_QUERY, STATUS_LOGGEDIN, &WorldSession::HandleCreatureQueryOpcode ); + DEF_OPCODE( SMSG_CREATURE_QUERY_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_WHO, STATUS_LOGGEDIN, &WorldSession::HandleWhoOpcode ); + DEF_OPCODE( SMSG_WHO, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_WHOIS, STATUS_LOGGEDIN, &WorldSession::HandleWhoisOpcode ); + DEF_OPCODE( SMSG_WHOIS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_CONTACT_LIST, STATUS_LOGGEDIN, &WorldSession::HandleContactListOpcode ); + DEF_OPCODE( SMSG_CONTACT_LIST, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_FRIEND_STATUS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_ADD_FRIEND, STATUS_LOGGEDIN, &WorldSession::HandleAddFriendOpcode ); + DEF_OPCODE( CMSG_DEL_FRIEND, STATUS_LOGGEDIN, &WorldSession::HandleDelFriendOpcode ); + DEF_OPCODE( CMSG_SET_CONTACT_NOTES, STATUS_LOGGEDIN, &WorldSession::HandleSetContactNotesOpcode ); + DEF_OPCODE( CMSG_ADD_IGNORE, STATUS_LOGGEDIN, &WorldSession::HandleAddIgnoreOpcode ); + DEF_OPCODE( CMSG_DEL_IGNORE, STATUS_LOGGEDIN, &WorldSession::HandleDelIgnoreOpcode ); + DEF_OPCODE( CMSG_GROUP_INVITE, STATUS_LOGGEDIN, &WorldSession::HandleGroupInviteOpcode ); + DEF_OPCODE( SMSG_GROUP_INVITE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_GROUP_CANCEL, STATUS_LOGGEDIN, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_GROUP_CANCEL, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_GROUP_ACCEPT, STATUS_LOGGEDIN, &WorldSession::HandleGroupAcceptOpcode ); + DEF_OPCODE( CMSG_GROUP_DECLINE, STATUS_LOGGEDIN, &WorldSession::HandleGroupDeclineOpcode ); + DEF_OPCODE( SMSG_GROUP_DECLINE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_GROUP_UNINVITE, STATUS_LOGGEDIN, &WorldSession::HandleGroupUninviteOpcode ); + DEF_OPCODE( CMSG_GROUP_UNINVITE_GUID, STATUS_LOGGEDIN, &WorldSession::HandleGroupUninviteGuidOpcode ); + DEF_OPCODE( SMSG_GROUP_UNINVITE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_GROUP_SET_LEADER, STATUS_LOGGEDIN, &WorldSession::HandleGroupSetLeaderOpcode ); + DEF_OPCODE( SMSG_GROUP_SET_LEADER, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_LOOT_METHOD, STATUS_LOGGEDIN, &WorldSession::HandleLootMethodOpcode ); + DEF_OPCODE( CMSG_GROUP_DISBAND, STATUS_LOGGEDIN, &WorldSession::HandleGroupDisbandOpcode ); + DEF_OPCODE( SMSG_GROUP_DESTROYED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_GROUP_LIST, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_PARTY_MEMBER_STATS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_PARTY_COMMAND_RESULT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( UMSG_UPDATE_GROUP_MEMBERS, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_GUILD_CREATE, STATUS_LOGGEDIN, &WorldSession::HandleGuildCreateOpcode ); + DEF_OPCODE( CMSG_GUILD_INVITE, STATUS_LOGGEDIN, &WorldSession::HandleGuildInviteOpcode ); + DEF_OPCODE( SMSG_GUILD_INVITE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_GUILD_ACCEPT, STATUS_LOGGEDIN, &WorldSession::HandleGuildAcceptOpcode ); + DEF_OPCODE( CMSG_GUILD_DECLINE, STATUS_LOGGEDIN, &WorldSession::HandleGuildDeclineOpcode ); + DEF_OPCODE( SMSG_GUILD_DECLINE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_GUILD_INFO, STATUS_LOGGEDIN, &WorldSession::HandleGuildInfoOpcode ); + DEF_OPCODE( SMSG_GUILD_INFO, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_GUILD_ROSTER, STATUS_LOGGEDIN, &WorldSession::HandleGuildRosterOpcode ); + DEF_OPCODE( SMSG_GUILD_ROSTER, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_GUILD_PROMOTE, STATUS_LOGGEDIN, &WorldSession::HandleGuildPromoteOpcode ); + DEF_OPCODE( CMSG_GUILD_DEMOTE, STATUS_LOGGEDIN, &WorldSession::HandleGuildDemoteOpcode ); + DEF_OPCODE( CMSG_GUILD_LEAVE, STATUS_LOGGEDIN, &WorldSession::HandleGuildLeaveOpcode ); + DEF_OPCODE( CMSG_GUILD_REMOVE, STATUS_LOGGEDIN, &WorldSession::HandleGuildRemoveOpcode ); + DEF_OPCODE( CMSG_GUILD_DISBAND, STATUS_LOGGEDIN, &WorldSession::HandleGuildDisbandOpcode ); + DEF_OPCODE( CMSG_GUILD_LEADER, STATUS_LOGGEDIN, &WorldSession::HandleGuildLeaderOpcode ); + DEF_OPCODE( CMSG_GUILD_MOTD, STATUS_LOGGEDIN, &WorldSession::HandleGuildMOTDOpcode ); + DEF_OPCODE( SMSG_GUILD_EVENT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_GUILD_COMMAND_RESULT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( UMSG_UPDATE_GUILD, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_MESSAGECHAT, STATUS_LOGGEDIN, &WorldSession::HandleMessagechatOpcode ); + DEF_OPCODE( SMSG_MESSAGECHAT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_JOIN_CHANNEL, STATUS_LOGGEDIN, &WorldSession::HandleJoinChannel ); + DEF_OPCODE( CMSG_LEAVE_CHANNEL, STATUS_LOGGEDIN, &WorldSession::HandleLeaveChannel ); + DEF_OPCODE( SMSG_CHANNEL_NOTIFY, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_CHANNEL_LIST, STATUS_LOGGEDIN, &WorldSession::HandleChannelList ); + DEF_OPCODE( SMSG_CHANNEL_LIST, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_CHANNEL_PASSWORD, STATUS_LOGGEDIN, &WorldSession::HandleChannelPassword ); + DEF_OPCODE( CMSG_CHANNEL_SET_OWNER, STATUS_LOGGEDIN, &WorldSession::HandleChannelSetOwner ); + DEF_OPCODE( CMSG_CHANNEL_OWNER, STATUS_LOGGEDIN, &WorldSession::HandleChannelOwner ); + DEF_OPCODE( CMSG_CHANNEL_MODERATOR, STATUS_LOGGEDIN, &WorldSession::HandleChannelModerator ); + DEF_OPCODE( CMSG_CHANNEL_UNMODERATOR, STATUS_LOGGEDIN, &WorldSession::HandleChannelUnmoderator ); + DEF_OPCODE( CMSG_CHANNEL_MUTE, STATUS_LOGGEDIN, &WorldSession::HandleChannelMute ); + DEF_OPCODE( CMSG_CHANNEL_UNMUTE, STATUS_LOGGEDIN, &WorldSession::HandleChannelUnmute ); + DEF_OPCODE( CMSG_CHANNEL_INVITE, STATUS_LOGGEDIN, &WorldSession::HandleChannelInvite ); + DEF_OPCODE( CMSG_CHANNEL_KICK, STATUS_LOGGEDIN, &WorldSession::HandleChannelKick ); + DEF_OPCODE( CMSG_CHANNEL_BAN, STATUS_LOGGEDIN, &WorldSession::HandleChannelBan ); + DEF_OPCODE( CMSG_CHANNEL_UNBAN, STATUS_LOGGEDIN, &WorldSession::HandleChannelUnban ); + DEF_OPCODE( CMSG_CHANNEL_ANNOUNCEMENTS, STATUS_LOGGEDIN, &WorldSession::HandleChannelAnnouncements ); + DEF_OPCODE( CMSG_CHANNEL_MODERATE, STATUS_LOGGEDIN, &WorldSession::HandleChannelModerate ); + DEF_OPCODE( SMSG_UPDATE_OBJECT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_DESTROY_OBJECT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_USE_ITEM, STATUS_LOGGEDIN, &WorldSession::HandleUseItemOpcode ); + DEF_OPCODE( CMSG_OPEN_ITEM, STATUS_LOGGEDIN, &WorldSession::HandleOpenItemOpcode ); + DEF_OPCODE( CMSG_READ_ITEM, STATUS_LOGGEDIN, &WorldSession::HandleReadItem ); + DEF_OPCODE( SMSG_READ_ITEM_OK, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_READ_ITEM_FAILED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_ITEM_COOLDOWN, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_GAMEOBJ_USE, STATUS_LOGGEDIN, &WorldSession::HandleGameObjectUseOpcode ); + DEF_OPCODE( CMSG_DESTROY_ITEMS, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_GAMEOBJECT_CUSTOM_ANIM, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_AREATRIGGER, STATUS_LOGGEDIN, &WorldSession::HandleAreaTriggerOpcode ); + DEF_OPCODE( MSG_MOVE_START_FORWARD, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + DEF_OPCODE( MSG_MOVE_START_BACKWARD, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + DEF_OPCODE( MSG_MOVE_STOP, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + DEF_OPCODE( MSG_MOVE_START_STRAFE_LEFT, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + DEF_OPCODE( MSG_MOVE_START_STRAFE_RIGHT, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + DEF_OPCODE( MSG_MOVE_STOP_STRAFE, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + DEF_OPCODE( MSG_MOVE_JUMP, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + DEF_OPCODE( MSG_MOVE_START_TURN_LEFT, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + DEF_OPCODE( MSG_MOVE_START_TURN_RIGHT, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + DEF_OPCODE( MSG_MOVE_STOP_TURN, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + DEF_OPCODE( MSG_MOVE_START_PITCH_UP, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + DEF_OPCODE( MSG_MOVE_START_PITCH_DOWN, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + DEF_OPCODE( MSG_MOVE_STOP_PITCH, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + DEF_OPCODE( MSG_MOVE_SET_RUN_MODE, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + DEF_OPCODE( MSG_MOVE_SET_WALK_MODE, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + DEF_OPCODE( MSG_MOVE_TOGGLE_LOGGING, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( MSG_MOVE_TELEPORT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( MSG_MOVE_TELEPORT_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( MSG_MOVE_TELEPORT_ACK, STATUS_LOGGEDIN, &WorldSession::HandleMoveTeleportAck ); + DEF_OPCODE( MSG_MOVE_TOGGLE_FALL_LOGGING, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( MSG_MOVE_FALL_LAND, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + DEF_OPCODE( MSG_MOVE_START_SWIM, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + DEF_OPCODE( MSG_MOVE_STOP_SWIM, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + DEF_OPCODE( MSG_MOVE_SET_RUN_SPEED_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( MSG_MOVE_SET_RUN_SPEED, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( MSG_MOVE_SET_RUN_BACK_SPEED_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( MSG_MOVE_SET_RUN_BACK_SPEED, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( MSG_MOVE_SET_WALK_SPEED_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( MSG_MOVE_SET_WALK_SPEED, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( MSG_MOVE_SET_SWIM_SPEED_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( MSG_MOVE_SET_SWIM_SPEED, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( MSG_MOVE_SET_SWIM_BACK_SPEED_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( MSG_MOVE_SET_SWIM_BACK_SPEED, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( MSG_MOVE_SET_ALL_SPEED_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( MSG_MOVE_SET_TURN_RATE_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( MSG_MOVE_SET_TURN_RATE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( MSG_MOVE_TOGGLE_COLLISION_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( MSG_MOVE_SET_FACING, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + DEF_OPCODE( MSG_MOVE_SET_PITCH, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + DEF_OPCODE( MSG_MOVE_WORLDPORT_ACK, STATUS_TRANSFER, &WorldSession::HandleMoveWorldportAckOpcode ); + DEF_OPCODE( SMSG_MONSTER_MOVE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_MOVE_WATER_WALK, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_MOVE_LAND_WALK, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( MSG_MOVE_SET_RAW_POSITION_ACK, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_MOVE_SET_RAW_POSITION, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_FORCE_RUN_SPEED_CHANGE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_FORCE_RUN_SPEED_CHANGE_ACK, STATUS_LOGGEDIN, &WorldSession::HandleForceSpeedChangeAck ); + DEF_OPCODE( SMSG_FORCE_RUN_BACK_SPEED_CHANGE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_FORCE_RUN_BACK_SPEED_CHANGE_ACK, STATUS_LOGGEDIN, &WorldSession::HandleForceSpeedChangeAck ); + DEF_OPCODE( SMSG_FORCE_SWIM_SPEED_CHANGE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_FORCE_SWIM_SPEED_CHANGE_ACK, STATUS_LOGGEDIN, &WorldSession::HandleForceSpeedChangeAck ); + DEF_OPCODE( SMSG_FORCE_MOVE_ROOT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_FORCE_MOVE_ROOT_ACK, STATUS_LOGGEDIN, &WorldSession::HandleMoveRootAck ); + DEF_OPCODE( SMSG_FORCE_MOVE_UNROOT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_FORCE_MOVE_UNROOT_ACK, STATUS_LOGGEDIN, &WorldSession::HandleMoveUnRootAck ); + DEF_OPCODE( MSG_MOVE_ROOT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( MSG_MOVE_UNROOT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( MSG_MOVE_HEARTBEAT, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + DEF_OPCODE( SMSG_MOVE_KNOCK_BACK, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_MOVE_KNOCK_BACK_ACK, STATUS_LOGGEDIN, &WorldSession::HandleMoveKnockBackAck ); + DEF_OPCODE( MSG_MOVE_KNOCK_BACK, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_MOVE_FEATHER_FALL, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_MOVE_NORMAL_FALL, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_MOVE_SET_HOVER, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_MOVE_UNSET_HOVER, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_MOVE_HOVER_ACK, STATUS_LOGGEDIN, &WorldSession::HandleMoveHoverAck ); + DEF_OPCODE( MSG_MOVE_HOVER, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_TRIGGER_CINEMATIC_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_OPENING_CINEMATIC, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_TRIGGER_CINEMATIC, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_NEXT_CINEMATIC_CAMERA, STATUS_LOGGEDIN, &WorldSession::HandleNextCinematicCamera ); + DEF_OPCODE( CMSG_COMPLETE_CINEMATIC, STATUS_LOGGEDIN, &WorldSession::HandleCompleteCinematic ); + DEF_OPCODE( SMSG_TUTORIAL_FLAGS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_TUTORIAL_FLAG, STATUS_LOGGEDIN, &WorldSession::HandleTutorialFlag ); + DEF_OPCODE( CMSG_TUTORIAL_CLEAR, STATUS_LOGGEDIN, &WorldSession::HandleTutorialClear ); + DEF_OPCODE( CMSG_TUTORIAL_RESET, STATUS_LOGGEDIN, &WorldSession::HandleTutorialReset ); + DEF_OPCODE( CMSG_STANDSTATECHANGE, STATUS_LOGGEDIN, &WorldSession::HandleStandStateChangeOpcode ); + DEF_OPCODE( CMSG_EMOTE, STATUS_LOGGEDIN, &WorldSession::HandleEmoteOpcode ); + DEF_OPCODE( SMSG_EMOTE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_TEXT_EMOTE, STATUS_LOGGEDIN, &WorldSession::HandleTextEmoteOpcode ); + DEF_OPCODE( SMSG_TEXT_EMOTE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_AUTOEQUIP_GROUND_ITEM, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_AUTOSTORE_GROUND_ITEM, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_AUTOSTORE_LOOT_ITEM, STATUS_LOGGEDIN, &WorldSession::HandleAutostoreLootItemOpcode ); + DEF_OPCODE( CMSG_STORE_LOOT_IN_SLOT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_AUTOEQUIP_ITEM, STATUS_LOGGEDIN, &WorldSession::HandleAutoEquipItemOpcode ); + DEF_OPCODE( CMSG_AUTOSTORE_BAG_ITEM, STATUS_LOGGEDIN, &WorldSession::HandleAutoStoreBagItemOpcode ); + DEF_OPCODE( CMSG_SWAP_ITEM, STATUS_LOGGEDIN, &WorldSession::HandleSwapItem ); + DEF_OPCODE( CMSG_SWAP_INV_ITEM, STATUS_LOGGEDIN, &WorldSession::HandleSwapInvItemOpcode ); + DEF_OPCODE( CMSG_SPLIT_ITEM, STATUS_LOGGEDIN, &WorldSession::HandleSplitItemOpcode ); + DEF_OPCODE( CMSG_AUTOEQUIP_ITEM_SLOT, STATUS_LOGGEDIN, &WorldSession::HandleAutoEquipItemSlotOpcode ); + DEF_OPCODE( OBSOLETE_DROP_ITEM, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_DESTROYITEM, STATUS_LOGGEDIN, &WorldSession::HandleDestroyItemOpcode ); + DEF_OPCODE( SMSG_INVENTORY_CHANGE_FAILURE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_OPEN_CONTAINER, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_INSPECT, STATUS_LOGGEDIN, &WorldSession::HandleInspectOpcode ); + DEF_OPCODE( SMSG_INSPECT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_INITIATE_TRADE, STATUS_LOGGEDIN, &WorldSession::HandleInitiateTradeOpcode ); + DEF_OPCODE( CMSG_BEGIN_TRADE, STATUS_LOGGEDIN, &WorldSession::HandleBeginTradeOpcode ); + DEF_OPCODE( CMSG_BUSY_TRADE, STATUS_LOGGEDIN, &WorldSession::HandleBusyTradeOpcode ); + DEF_OPCODE( CMSG_IGNORE_TRADE, STATUS_LOGGEDIN, &WorldSession::HandleIgnoreTradeOpcode ); + DEF_OPCODE( CMSG_ACCEPT_TRADE, STATUS_LOGGEDIN, &WorldSession::HandleAcceptTradeOpcode ); + DEF_OPCODE( CMSG_UNACCEPT_TRADE, STATUS_LOGGEDIN, &WorldSession::HandleUnacceptTradeOpcode ); + DEF_OPCODE( CMSG_CANCEL_TRADE, STATUS_LOGGEDIN_OR_RECENTLY_LOGGEDOUT, &WorldSession::HandleCancelTradeOpcode); + DEF_OPCODE( CMSG_SET_TRADE_ITEM, STATUS_LOGGEDIN, &WorldSession::HandleSetTradeItemOpcode ); + DEF_OPCODE( CMSG_CLEAR_TRADE_ITEM, STATUS_LOGGEDIN, &WorldSession::HandleClearTradeItemOpcode ); + DEF_OPCODE( CMSG_SET_TRADE_GOLD, STATUS_LOGGEDIN, &WorldSession::HandleSetTradeGoldOpcode ); + DEF_OPCODE( SMSG_TRADE_STATUS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_TRADE_STATUS_EXTENDED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_INITIALIZE_FACTIONS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_SET_FACTION_VISIBLE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_SET_FACTION_STANDING, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_SET_FACTION_ATWAR, STATUS_LOGGEDIN, &WorldSession::HandleSetFactionAtWar ); + DEF_OPCODE( CMSG_SET_FACTION_CHEAT, STATUS_LOGGEDIN, &WorldSession::HandleSetFactionCheat ); + DEF_OPCODE( SMSG_SET_PROFICIENCY, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_SET_ACTION_BUTTON, STATUS_LOGGEDIN, &WorldSession::HandleSetActionButtonOpcode ); + DEF_OPCODE( SMSG_ACTION_BUTTONS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_INITIAL_SPELLS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_LEARNED_SPELL, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_SUPERCEDED_SPELL, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_NEW_SPELL_SLOT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_CAST_SPELL, STATUS_LOGGEDIN, &WorldSession::HandleCastSpellOpcode ); + DEF_OPCODE( CMSG_CANCEL_CAST, STATUS_LOGGEDIN, &WorldSession::HandleCancelCastOpcode ); + DEF_OPCODE( SMSG_CAST_FAILED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_SPELL_START, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_SPELL_GO, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_SPELL_FAILURE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_SPELL_COOLDOWN, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_COOLDOWN_EVENT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_CANCEL_AURA, STATUS_LOGGEDIN, &WorldSession::HandleCancelAuraOpcode ); + DEF_OPCODE( SMSG_EQUIPMENT_SET_SAVED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_PET_CAST_FAILED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( MSG_CHANNEL_START, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( MSG_CHANNEL_UPDATE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_CANCEL_CHANNELLING, STATUS_LOGGEDIN, &WorldSession::HandleCancelChanneling ); + DEF_OPCODE( SMSG_AI_REACTION, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_SET_SELECTION, STATUS_LOGGEDIN, &WorldSession::HandleSetSelectionOpcode ); + DEF_OPCODE( CMSG_EQUIPMENT_SET_DELETE, STATUS_LOGGEDIN, &WorldSession::HandleEquipmentSetDelete ); + DEF_OPCODE( CMSG_INSTANCE_LOCK_WARNING_RESPONSE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_UNUSED2, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_ATTACKSWING, STATUS_LOGGEDIN, &WorldSession::HandleAttackSwingOpcode ); + DEF_OPCODE( CMSG_ATTACKSTOP, STATUS_LOGGEDIN, &WorldSession::HandleAttackStopOpcode ); + DEF_OPCODE( SMSG_ATTACKSTART, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_ATTACKSTOP, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_ATTACKSWING_NOTINRANGE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_ATTACKSWING_BADFACING, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_INSTANCE_LOCK_WARNING_QUERY, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_ATTACKSWING_DEADTARGET, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_ATTACKSWING_CANT_ATTACK, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_ATTACKERSTATEUPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_BATTLEFIELD_PORT_DENIED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_DAMAGE_DONE_OBSOLETE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_CANCEL_COMBAT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_SPELLBREAKLOG, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_SPELLHEALLOG, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_SPELLENERGIZELOG, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_BREAK_TARGET, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_SAVE_PLAYER, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_SETDEATHBINDPOINT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_BINDPOINTUPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_GETDEATHBINDZONE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_BINDZONEREPLY, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_PLAYERBOUND, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_CLIENT_CONTROL_UPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_REPOP_REQUEST, STATUS_LOGGEDIN, &WorldSession::HandleRepopRequestOpcode ); + DEF_OPCODE( SMSG_RESURRECT_REQUEST, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_RESURRECT_RESPONSE, STATUS_LOGGEDIN, &WorldSession::HandleResurrectResponseOpcode ); + DEF_OPCODE( CMSG_LOOT, STATUS_LOGGEDIN, &WorldSession::HandleLootOpcode ); + DEF_OPCODE( CMSG_LOOT_MONEY, STATUS_LOGGEDIN, &WorldSession::HandleLootMoneyOpcode ); + DEF_OPCODE( CMSG_LOOT_RELEASE, STATUS_LOGGEDIN, &WorldSession::HandleLootReleaseOpcode ); + DEF_OPCODE( SMSG_LOOT_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_LOOT_RELEASE_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_LOOT_REMOVED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_LOOT_MONEY_NOTIFY, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_LOOT_ITEM_NOTIFY, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_LOOT_CLEAR_MONEY, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_ITEM_PUSH_RESULT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_DUEL_REQUESTED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_DUEL_OUTOFBOUNDS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_DUEL_INBOUNDS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_DUEL_COMPLETE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_DUEL_WINNER, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_DUEL_ACCEPTED, STATUS_LOGGEDIN, &WorldSession::HandleDuelAcceptedOpcode ); + DEF_OPCODE( CMSG_DUEL_CANCELLED, STATUS_LOGGEDIN, &WorldSession::HandleDuelCancelledOpcode ); + DEF_OPCODE( SMSG_MOUNTRESULT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_DISMOUNTRESULT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_PUREMOUNT_CANCELLED_OBSOLETE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_MOUNTSPECIAL_ANIM, STATUS_LOGGEDIN, &WorldSession::HandleMountSpecialAnimOpcode ); + DEF_OPCODE( SMSG_MOUNTSPECIAL_ANIM, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_PET_TAME_FAILURE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_PET_SET_ACTION, STATUS_LOGGEDIN, &WorldSession::HandlePetSetAction ); + DEF_OPCODE( CMSG_PET_ACTION, STATUS_LOGGEDIN, &WorldSession::HandlePetAction ); + DEF_OPCODE( CMSG_PET_ABANDON, STATUS_LOGGEDIN, &WorldSession::HandlePetAbandon ); + DEF_OPCODE( CMSG_PET_RENAME, STATUS_LOGGEDIN, &WorldSession::HandlePetRename ); + DEF_OPCODE( SMSG_PET_NAME_INVALID, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_PET_SPELLS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_PET_MODE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_GOSSIP_HELLO, STATUS_LOGGEDIN, &WorldSession::HandleGossipHelloOpcode ); + DEF_OPCODE( CMSG_GOSSIP_SELECT_OPTION, STATUS_LOGGEDIN, &WorldSession::HandleGossipSelectOptionOpcode ); + DEF_OPCODE( SMSG_GOSSIP_MESSAGE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_GOSSIP_COMPLETE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_NPC_TEXT_QUERY, STATUS_LOGGEDIN, &WorldSession::HandleNpcTextQueryOpcode ); + DEF_OPCODE( SMSG_NPC_TEXT_UPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_NPC_WONT_TALK, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_QUESTGIVER_STATUS_QUERY, STATUS_LOGGEDIN, &WorldSession::HandleQuestgiverStatusQueryOpcode); + DEF_OPCODE( SMSG_QUESTGIVER_STATUS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_QUESTGIVER_HELLO, STATUS_LOGGEDIN, &WorldSession::HandleQuestgiverHelloOpcode ); + DEF_OPCODE( SMSG_QUESTGIVER_QUEST_LIST, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_QUESTGIVER_QUERY_QUEST, STATUS_LOGGEDIN, &WorldSession::HandleQuestgiverQueryQuestOpcode); + DEF_OPCODE( CMSG_QUESTGIVER_QUEST_AUTOLAUNCH, STATUS_LOGGEDIN, &WorldSession::HandleQuestgiverQuestAutoLaunch ); + DEF_OPCODE( SMSG_QUESTGIVER_QUEST_DETAILS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_QUESTGIVER_ACCEPT_QUEST, STATUS_LOGGEDIN, &WorldSession::HandleQuestgiverAcceptQuestOpcode); + DEF_OPCODE( CMSG_QUESTGIVER_COMPLETE_QUEST, STATUS_LOGGEDIN, &WorldSession::HandleQuestgiverCompleteQuest ); + DEF_OPCODE( SMSG_QUESTGIVER_REQUEST_ITEMS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_QUESTGIVER_REQUEST_REWARD, STATUS_LOGGEDIN, &WorldSession::HandleQuestgiverRequestRewardOpcode); + DEF_OPCODE( SMSG_QUESTGIVER_OFFER_REWARD, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_QUESTGIVER_CHOOSE_REWARD, STATUS_LOGGEDIN, &WorldSession::HandleQuestgiverChooseRewardOpcode); + DEF_OPCODE( SMSG_QUESTGIVER_QUEST_INVALID, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_QUESTGIVER_CANCEL, STATUS_LOGGEDIN, &WorldSession::HandleQuestgiverCancel ); + DEF_OPCODE( SMSG_QUESTGIVER_QUEST_COMPLETE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_QUESTGIVER_QUEST_FAILED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_QUESTLOG_SWAP_QUEST, STATUS_LOGGEDIN, &WorldSession::HandleQuestLogSwapQuest ); + DEF_OPCODE( CMSG_QUESTLOG_REMOVE_QUEST, STATUS_LOGGEDIN, &WorldSession::HandleQuestLogRemoveQuest ); + DEF_OPCODE( SMSG_QUESTLOG_FULL, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_QUESTUPDATE_FAILED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_QUESTUPDATE_FAILEDTIMER, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_QUESTUPDATE_COMPLETE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_QUESTUPDATE_ADD_KILL, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_QUESTUPDATE_ADD_ITEM, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_QUEST_CONFIRM_ACCEPT, STATUS_LOGGEDIN, &WorldSession::HandleQuestConfirmAccept ); + DEF_OPCODE( SMSG_QUEST_CONFIRM_ACCEPT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_PUSHQUESTTOPARTY, STATUS_LOGGEDIN, &WorldSession::HandlePushQuestToParty ); + DEF_OPCODE( CMSG_LIST_INVENTORY, STATUS_LOGGEDIN, &WorldSession::HandleListInventoryOpcode ); + DEF_OPCODE( SMSG_LIST_INVENTORY, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_SELL_ITEM, STATUS_LOGGEDIN, &WorldSession::HandleSellItemOpcode ); + DEF_OPCODE( SMSG_SELL_ITEM, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_BUY_ITEM, STATUS_LOGGEDIN, &WorldSession::HandleBuyItemOpcode ); + DEF_OPCODE( CMSG_BUY_ITEM_IN_SLOT, STATUS_LOGGEDIN, &WorldSession::HandleBuyItemInSlotOpcode ); + DEF_OPCODE( SMSG_BUY_ITEM, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_BUY_FAILED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_TAXICLEARALLNODES, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_TAXIENABLEALLNODES, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_TAXISHOWNODES, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_SHOWTAXINODES, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_TAXINODE_STATUS_QUERY, STATUS_LOGGEDIN, &WorldSession::HandleTaxiNodeStatusQueryOpcode ); + DEF_OPCODE( SMSG_TAXINODE_STATUS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_TAXIQUERYAVAILABLENODES, STATUS_LOGGEDIN, &WorldSession::HandleTaxiQueryAvailableNodes ); + DEF_OPCODE( CMSG_ACTIVATETAXI, STATUS_LOGGEDIN, &WorldSession::HandleActivateTaxiOpcode ); + DEF_OPCODE( SMSG_ACTIVATETAXIREPLY, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_NEW_TAXI_PATH, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_TRAINER_LIST, STATUS_LOGGEDIN, &WorldSession::HandleTrainerListOpcode ); + DEF_OPCODE( SMSG_TRAINER_LIST, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_TRAINER_BUY_SPELL, STATUS_LOGGEDIN, &WorldSession::HandleTrainerBuySpellOpcode ); + DEF_OPCODE( SMSG_TRAINER_BUY_SUCCEEDED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_TRAINER_BUY_FAILED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_BINDER_ACTIVATE, STATUS_LOGGEDIN, &WorldSession::HandleBinderActivateOpcode ); + DEF_OPCODE( SMSG_PLAYERBINDERROR, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_BANKER_ACTIVATE, STATUS_LOGGEDIN, &WorldSession::HandleBankerActivateOpcode ); + DEF_OPCODE( SMSG_SHOW_BANK, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_BUY_BANK_SLOT, STATUS_LOGGEDIN, &WorldSession::HandleBuyBankSlotOpcode ); + DEF_OPCODE( SMSG_BUY_BANK_SLOT_RESULT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_PETITION_SHOWLIST, STATUS_LOGGEDIN, &WorldSession::HandlePetitionShowListOpcode ); + DEF_OPCODE( SMSG_PETITION_SHOWLIST, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_PETITION_BUY, STATUS_LOGGEDIN, &WorldSession::HandlePetitionBuyOpcode ); + DEF_OPCODE( CMSG_PETITION_SHOW_SIGNATURES, STATUS_LOGGEDIN, &WorldSession::HandlePetitionShowSignOpcode ); + DEF_OPCODE( SMSG_PETITION_SHOW_SIGNATURES, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_PETITION_SIGN, STATUS_LOGGEDIN, &WorldSession::HandlePetitionSignOpcode ); + DEF_OPCODE( SMSG_PETITION_SIGN_RESULTS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( MSG_PETITION_DECLINE, STATUS_LOGGEDIN, &WorldSession::HandlePetitionDeclineOpcode ); + DEF_OPCODE( CMSG_OFFER_PETITION, STATUS_LOGGEDIN, &WorldSession::HandleOfferPetitionOpcode ); + DEF_OPCODE( CMSG_TURN_IN_PETITION, STATUS_LOGGEDIN, &WorldSession::HandleTurnInPetitionOpcode ); + DEF_OPCODE( SMSG_TURN_IN_PETITION_RESULTS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_PETITION_QUERY, STATUS_LOGGEDIN, &WorldSession::HandlePetitionQueryOpcode ); + DEF_OPCODE( SMSG_PETITION_QUERY_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_FISH_NOT_HOOKED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_FISH_ESCAPED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_BUG, STATUS_LOGGEDIN, &WorldSession::HandleBugOpcode ); + DEF_OPCODE( SMSG_NOTIFICATION, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_PLAYED_TIME, STATUS_LOGGEDIN, &WorldSession::HandlePlayedTime ); + DEF_OPCODE( SMSG_PLAYED_TIME, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_QUERY_TIME, STATUS_LOGGEDIN, &WorldSession::HandleQueryTimeOpcode ); + DEF_OPCODE( SMSG_QUERY_TIME_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_LOG_XPGAIN, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_AURACASTLOG, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_RECLAIM_CORPSE, STATUS_LOGGEDIN, &WorldSession::HandleReclaimCorpseOpcode ); + DEF_OPCODE( CMSG_WRAP_ITEM, STATUS_LOGGEDIN, &WorldSession::HandleWrapItemOpcode ); + DEF_OPCODE( SMSG_LEVELUP_INFO, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( MSG_MINIMAP_PING, STATUS_LOGGEDIN, &WorldSession::HandleMinimapPingOpcode ); + DEF_OPCODE( SMSG_RESISTLOG, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_ENCHANTMENTLOG, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_SET_SKILL_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_START_MIRROR_TIMER, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_PAUSE_MIRROR_TIMER, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_STOP_MIRROR_TIMER, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_PING, STATUS_NEVER, &WorldSession::Handle_EarlyProccess ); + DEF_OPCODE( SMSG_PONG, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_CLEAR_COOLDOWN, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_GAMEOBJECT_PAGETEXT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_SETSHEATHED, STATUS_LOGGEDIN, &WorldSession::HandleSetSheathedOpcode ); + DEF_OPCODE( SMSG_COOLDOWN_CHEAT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_SPELL_DELAYED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_QUEST_POI_QUERY, STATUS_LOGGEDIN, &WorldSession::HandleQuestPOIQuery ); + DEF_OPCODE( SMSG_QUEST_POI_QUERY_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_GHOST, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_GM_INVIS, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_INVALID_PROMOTION_CODE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( MSG_GM_BIND_OTHER, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( MSG_GM_SUMMON, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_ITEM_TIME_UPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_ITEM_ENCHANT_TIME_UPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_AUTH_CHALLENGE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_AUTH_SESSION, STATUS_NEVER, &WorldSession::Handle_EarlyProccess ); + DEF_OPCODE( SMSG_AUTH_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( MSG_GM_SHOWLABEL, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_PET_CAST_SPELL, STATUS_LOGGEDIN, &WorldSession::HandlePetCastSpellOpcode ); + DEF_OPCODE( MSG_SAVE_GUILD_EMBLEM, STATUS_LOGGEDIN, &WorldSession::HandleSaveGuildEmblemOpcode ); + DEF_OPCODE( MSG_TABARDVENDOR_ACTIVATE, STATUS_LOGGEDIN, &WorldSession::HandleTabardVendorActivateOpcode); + DEF_OPCODE( SMSG_PLAY_SPELL_VISUAL, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_ZONEUPDATE, STATUS_LOGGEDIN, &WorldSession::HandleZoneUpdateOpcode ); + DEF_OPCODE( SMSG_PARTYKILLLOG, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_COMPRESSED_UPDATE_OBJECT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_PLAY_SPELL_IMPACT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_EXPLORATION_EXPERIENCE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_GM_SET_SECURITY_GROUP, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_GM_NUKE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( MSG_RANDOM_ROLL, STATUS_LOGGEDIN, &WorldSession::HandleRandomRollOpcode ); + DEF_OPCODE( SMSG_ENVIRONMENTALDAMAGELOG, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_PLAYER_DIFFICULTY_CHANGE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_RWHOIS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_LFG_PLAYER_REWARD, STATUS_LOGGEDIN, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_LFG_TELEPORT_DENIED, STATUS_LOGGEDIN, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_UNLEARN_SPELL, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_UNLEARN_SKILL, STATUS_LOGGEDIN, &WorldSession::HandleUnlearnSkillOpcode ); + DEF_OPCODE( SMSG_REMOVED_SPELL, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_DECHARGE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_GMTICKET_CREATE, STATUS_LOGGEDIN, &WorldSession::HandleGMTicketCreateOpcode ); + DEF_OPCODE( SMSG_GMTICKET_CREATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_GMTICKET_UPDATETEXT, STATUS_LOGGEDIN, &WorldSession::HandleGMTicketUpdateTextOpcode ); + DEF_OPCODE( SMSG_GMTICKET_UPDATETEXT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_ACCOUNT_DATA_TIMES, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_REQUEST_ACCOUNT_DATA, STATUS_AUTHED, &WorldSession::HandleRequestAccountData ); + DEF_OPCODE( CMSG_UPDATE_ACCOUNT_DATA, STATUS_AUTHED, &WorldSession::HandleUpdateAccountData); + DEF_OPCODE( SMSG_UPDATE_ACCOUNT_DATA, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_CLEAR_FAR_SIGHT_IMMEDIATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_PLAYER_DIFFICULTY_CHANGE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_GM_TEACH, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_GM_CREATE_ITEM_TARGET, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_GMTICKET_GETTICKET, STATUS_LOGGEDIN, &WorldSession::HandleGMTicketGetTicketOpcode ); + DEF_OPCODE( SMSG_GMTICKET_GETTICKET, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_UNLEARN_TALENTS, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_GAMEOBJECT_SPAWN_ANIM_OBSOLETE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_GAMEOBJECT_DESPAWN_ANIM, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( MSG_CORPSE_QUERY, STATUS_LOGGEDIN, &WorldSession::HandleCorpseQueryOpcode ); + DEF_OPCODE( CMSG_GMTICKET_DELETETICKET, STATUS_LOGGEDIN, &WorldSession::HandleGMTicketDeleteTicketOpcode); + DEF_OPCODE( SMSG_GMTICKET_DELETETICKET, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_CHAT_WRONG_FACTION, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_GMTICKET_SYSTEMSTATUS, STATUS_LOGGEDIN, &WorldSession::HandleGMTicketSystemStatusOpcode); + DEF_OPCODE( SMSG_GMTICKET_SYSTEMSTATUS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_SPIRIT_HEALER_ACTIVATE, STATUS_LOGGEDIN, &WorldSession::HandleSpiritHealerActivateOpcode); + DEF_OPCODE( CMSG_SET_STAT_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_SKILL_BUY_STEP, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_SKILL_BUY_RANK, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_XP_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_SPIRIT_HEALER_CONFIRM, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_CHARACTER_POINT_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_GOSSIP_POI, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_CHAT_IGNORED, STATUS_LOGGEDIN, &WorldSession::HandleChatIgnoredOpcode ); + DEF_OPCODE( CMSG_GM_VISION, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_SERVER_COMMAND, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_GM_SILENCE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_GM_REVEALTO, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_GM_RESURRECT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_GM_SUMMONMOB, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_GM_MOVECORPSE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_GM_FREEZE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_GM_UBERINVIS, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_GM_REQUEST_PLAYER_INFO, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_GM_PLAYER_INFO, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_GUILD_RANK, STATUS_LOGGEDIN, &WorldSession::HandleGuildRankOpcode ); + DEF_OPCODE( CMSG_GUILD_ADD_RANK, STATUS_LOGGEDIN, &WorldSession::HandleGuildAddRankOpcode ); + DEF_OPCODE( CMSG_GUILD_DEL_RANK, STATUS_LOGGEDIN, &WorldSession::HandleGuildDelRankOpcode ); + DEF_OPCODE( CMSG_GUILD_SET_PUBLIC_NOTE, STATUS_LOGGEDIN, &WorldSession::HandleGuildSetPublicNoteOpcode ); + DEF_OPCODE( CMSG_GUILD_SET_OFFICER_NOTE, STATUS_LOGGEDIN, &WorldSession::HandleGuildSetOfficerNoteOpcode ); + DEF_OPCODE( SMSG_LOGIN_VERIFY_WORLD, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_CLEAR_EXPLORATION, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_SEND_MAIL, STATUS_LOGGEDIN, &WorldSession::HandleSendMail ); + DEF_OPCODE( SMSG_SEND_MAIL_RESULT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_GET_MAIL_LIST, STATUS_LOGGEDIN, &WorldSession::HandleGetMailList ); + DEF_OPCODE( SMSG_MAIL_LIST_RESULT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_BATTLEFIELD_LIST, STATUS_LOGGEDIN, &WorldSession::HandleBattlefieldListOpcode ); + DEF_OPCODE( SMSG_BATTLEFIELD_LIST, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_BATTLEFIELD_JOIN, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_BATTLEFIELD_WIN_OBSOLETE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_BATTLEFIELD_LOSE_OBSOLETE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_TAXICLEARNODE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_TAXIENABLENODE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_ITEM_TEXT_QUERY, STATUS_LOGGEDIN, &WorldSession::HandleItemTextQuery ); + DEF_OPCODE( SMSG_ITEM_TEXT_QUERY_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_MAIL_TAKE_MONEY, STATUS_LOGGEDIN, &WorldSession::HandleMailTakeMoney ); + DEF_OPCODE( CMSG_MAIL_TAKE_ITEM, STATUS_LOGGEDIN, &WorldSession::HandleMailTakeItem ); + DEF_OPCODE( CMSG_MAIL_MARK_AS_READ, STATUS_LOGGEDIN, &WorldSession::HandleMailMarkAsRead ); + DEF_OPCODE( CMSG_MAIL_RETURN_TO_SENDER, STATUS_LOGGEDIN, &WorldSession::HandleMailReturnToSender ); + DEF_OPCODE( CMSG_MAIL_DELETE, STATUS_LOGGEDIN, &WorldSession::HandleMailDelete ); + DEF_OPCODE( CMSG_MAIL_CREATE_TEXT_ITEM, STATUS_LOGGEDIN, &WorldSession::HandleMailCreateTextItem ); + DEF_OPCODE( SMSG_SPELLLOGMISS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_SPELLLOGEXECUTE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_DEBUGAURAPROC, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_PERIODICAURALOG, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_SPELLDAMAGESHIELD, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_SPELLNONMELEEDAMAGELOG, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_LEARN_TALENT, STATUS_LOGGEDIN, &WorldSession::HandleLearnTalentOpcode ); + DEF_OPCODE( SMSG_RESURRECT_FAILED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_TOGGLE_PVP, STATUS_LOGGEDIN, &WorldSession::HandleTogglePvP ); + DEF_OPCODE( SMSG_ZONE_UNDER_ATTACK, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( MSG_AUCTION_HELLO, STATUS_LOGGEDIN, &WorldSession::HandleAuctionHelloOpcode ); + DEF_OPCODE( CMSG_AUCTION_SELL_ITEM, STATUS_LOGGEDIN, &WorldSession::HandleAuctionSellItem ); + DEF_OPCODE( CMSG_AUCTION_REMOVE_ITEM, STATUS_LOGGEDIN, &WorldSession::HandleAuctionRemoveItem ); + DEF_OPCODE( CMSG_AUCTION_LIST_ITEMS, STATUS_LOGGEDIN, &WorldSession::HandleAuctionListItems ); + DEF_OPCODE( CMSG_AUCTION_LIST_OWNER_ITEMS, STATUS_LOGGEDIN, &WorldSession::HandleAuctionListOwnerItems ); + DEF_OPCODE( CMSG_AUCTION_PLACE_BID, STATUS_LOGGEDIN, &WorldSession::HandleAuctionPlaceBid ); + DEF_OPCODE( SMSG_AUCTION_COMMAND_RESULT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_AUCTION_LIST_RESULT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_AUCTION_OWNER_LIST_RESULT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_AUCTION_BIDDER_NOTIFICATION, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_AUCTION_OWNER_NOTIFICATION, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_PROCRESIST, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_STANDSTATE_CHANGE_FAILURE_OBSOLETE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_DISPEL_FAILED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_SPELLORDAMAGE_IMMUNE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_AUCTION_LIST_BIDDER_ITEMS, STATUS_LOGGEDIN, &WorldSession::HandleAuctionListBidderItems ); + DEF_OPCODE( SMSG_AUCTION_BIDDER_LIST_RESULT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_SET_FLAT_SPELL_MODIFIER, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_SET_PCT_SPELL_MODIFIER, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_SET_AMMO, STATUS_LOGGEDIN, &WorldSession::HandleSetAmmoOpcode ); + DEF_OPCODE( SMSG_CORPSE_RECLAIM_DELAY, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_SET_ACTIVE_MOVER, STATUS_LOGGEDIN, &WorldSession::HandleSetActiveMoverOpcode ); + DEF_OPCODE( CMSG_PET_CANCEL_AURA, STATUS_LOGGEDIN, &WorldSession::HandlePetCancelAuraOpcode ); + DEF_OPCODE( CMSG_PLAYER_AI_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_CANCEL_AUTO_REPEAT_SPELL, STATUS_LOGGEDIN, &WorldSession::HandleCancelAutoRepeatSpellOpcode); + DEF_OPCODE( MSG_GM_ACCOUNT_ONLINE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( MSG_LIST_STABLED_PETS, STATUS_LOGGEDIN, &WorldSession::HandleListStabledPetsOpcode ); + DEF_OPCODE( CMSG_STABLE_PET, STATUS_LOGGEDIN, &WorldSession::HandleStablePet ); + DEF_OPCODE( CMSG_UNSTABLE_PET, STATUS_LOGGEDIN, &WorldSession::HandleUnstablePet ); + DEF_OPCODE( CMSG_BUY_STABLE_SLOT, STATUS_LOGGEDIN, &WorldSession::HandleBuyStableSlot ); + DEF_OPCODE( SMSG_STABLE_RESULT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_STABLE_REVIVE_PET, STATUS_LOGGEDIN, &WorldSession::HandleStableRevivePet ); + DEF_OPCODE( CMSG_STABLE_SWAP_PET, STATUS_LOGGEDIN, &WorldSession::HandleStableSwapPet ); + DEF_OPCODE( MSG_QUEST_PUSH_RESULT, STATUS_LOGGEDIN, &WorldSession::HandleQuestPushResult ); + DEF_OPCODE( SMSG_PLAY_MUSIC, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_PLAY_OBJECT_SOUND, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_REQUEST_PET_INFO, STATUS_LOGGEDIN, &WorldSession::HandleRequestPetInfoOpcode ); + DEF_OPCODE( CMSG_FAR_SIGHT, STATUS_LOGGEDIN, &WorldSession::HandleFarSightOpcode ); + DEF_OPCODE( SMSG_SPELLDISPELLOG, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_DAMAGE_CALC_LOG, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_ENABLE_DAMAGE_LOG, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_GROUP_CHANGE_SUB_GROUP, STATUS_LOGGEDIN, &WorldSession::HandleGroupChangeSubGroupOpcode ); + DEF_OPCODE( CMSG_REQUEST_PARTY_MEMBER_STATS, STATUS_LOGGEDIN, &WorldSession::HandleRequestPartyMemberStatsOpcode); + DEF_OPCODE( CMSG_GROUP_SWAP_SUB_GROUP, STATUS_UNHANDLED,&WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_RESET_FACTION_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_AUTOSTORE_BANK_ITEM, STATUS_LOGGEDIN, &WorldSession::HandleAutoStoreBankItemOpcode ); + DEF_OPCODE( CMSG_AUTOBANK_ITEM, STATUS_LOGGEDIN, &WorldSession::HandleAutoBankItemOpcode ); + DEF_OPCODE( MSG_QUERY_NEXT_MAIL_TIME, STATUS_LOGGEDIN, &WorldSession::HandleQueryNextMailTime ); + DEF_OPCODE( SMSG_RECEIVED_MAIL, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_RAID_GROUP_ONLY, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_SET_DURABILITY_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_SET_PVP_RANK_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_ADD_PVP_MEDAL_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_DEL_PVP_MEDAL_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_SET_PVP_TITLE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_PVP_CREDIT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_AUCTION_REMOVED_NOTIFICATION, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_GROUP_RAID_CONVERT, STATUS_LOGGEDIN, &WorldSession::HandleGroupRaidConvertOpcode ); + DEF_OPCODE( CMSG_GROUP_ASSISTANT_LEADER, STATUS_LOGGEDIN, &WorldSession::HandleGroupAssistantLeaderOpcode); + DEF_OPCODE( CMSG_BUYBACK_ITEM, STATUS_LOGGEDIN, &WorldSession::HandleBuybackItem ); + DEF_OPCODE( SMSG_SERVER_MESSAGE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_SET_SAVED_INSTANCE_EXTEND, STATUS_UNHANDLED,&WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_LFG_OFFER_CONTINUE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_MEETINGSTONE_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_MEETINGSTONE_SETQUEUE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_MEETINGSTONE_INFO, STATUS_LOGGEDIN, &WorldSession::HandleMeetingStoneInfo ); + DEF_OPCODE( SMSG_MEETINGSTONE_COMPLETE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_MEETINGSTONE_IN_PROGRESS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_MEETINGSTONE_MEMBER_ADDED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_GMTICKETSYSTEM_TOGGLE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_CANCEL_GROWTH_AURA, STATUS_LOGGEDIN, &WorldSession::HandleCancelGrowthAuraOpcode ); + DEF_OPCODE( SMSG_CANCEL_AUTO_REPEAT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_STANDSTATE_UPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_LOOT_ALL_PASSED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_LOOT_ROLL_WON, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_LOOT_ROLL, STATUS_LOGGEDIN, &WorldSession::HandleLootRoll ); + DEF_OPCODE( SMSG_LOOT_START_ROLL, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_LOOT_ROLL, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_LOOT_MASTER_GIVE, STATUS_LOGGEDIN, &WorldSession::HandleLootMasterGiveOpcode ); + DEF_OPCODE( SMSG_LOOT_MASTER_LIST, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_SET_FORCED_REACTIONS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_SPELL_FAILED_OTHER, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_GAMEOBJECT_RESET_STATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_REPAIR_ITEM, STATUS_LOGGEDIN, &WorldSession::HandleRepairItemOpcode ); + DEF_OPCODE( SMSG_CHAT_PLAYER_NOT_FOUND, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( MSG_TALENT_WIPE_CONFIRM, STATUS_LOGGEDIN, &WorldSession::HandleTalentWipeConfirmOpcode ); + DEF_OPCODE( SMSG_SUMMON_REQUEST, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_SUMMON_RESPONSE, STATUS_LOGGEDIN, &WorldSession::HandleSummonResponseOpcode ); + DEF_OPCODE( MSG_MOVE_TOGGLE_GRAVITY_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_MONSTER_MOVE_TRANSPORT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_PET_BROKEN, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( MSG_MOVE_FEATHER_FALL, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( MSG_MOVE_WATER_WALK, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_SERVER_BROADCAST, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_SELF_RES, STATUS_LOGGEDIN, &WorldSession::HandleSelfResOpcode ); + DEF_OPCODE( SMSG_FEIGN_DEATH_RESISTED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_RUN_SCRIPT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_SCRIPT_MESSAGE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_DUEL_COUNTDOWN, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_AREA_TRIGGER_MESSAGE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_SHOWING_HELM, STATUS_LOGGEDIN, &WorldSession::HandleShowingHelmOpcode ); + DEF_OPCODE( CMSG_SHOWING_CLOAK, STATUS_LOGGEDIN, &WorldSession::HandleShowingCloakOpcode ); + DEF_OPCODE( SMSG_LFG_ROLE_CHOSEN, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_PLAYER_SKINNED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_DURABILITY_DAMAGE_DEATH, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_SET_EXPLORATION, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_SET_ACTIONBAR_TOGGLES, STATUS_AUTHED, &WorldSession::HandleSetActionBarToggles ); + DEF_OPCODE( UMSG_DELETE_GUILD_CHARTER, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( MSG_PETITION_RENAME, STATUS_LOGGEDIN, &WorldSession::HandlePetitionRenameOpcode ); + DEF_OPCODE( SMSG_INIT_WORLD_STATES, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_UPDATE_WORLD_STATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_ITEM_NAME_QUERY, STATUS_LOGGEDIN, &WorldSession::HandleItemNameQueryOpcode ); + DEF_OPCODE( SMSG_ITEM_NAME_QUERY_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_PET_ACTION_FEEDBACK, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_CHAR_RENAME, STATUS_AUTHED, &WorldSession::HandleCharRenameOpcode ); + DEF_OPCODE( SMSG_CHAR_RENAME, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_MOVE_SPLINE_DONE, STATUS_LOGGEDIN, &WorldSession::HandleMoveSplineDoneOpcode ); + DEF_OPCODE( CMSG_MOVE_FALL_RESET, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + DEF_OPCODE( SMSG_INSTANCE_SAVE_CREATED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_RAID_INSTANCE_INFO, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_REQUEST_RAID_INFO, STATUS_LOGGEDIN, &WorldSession::HandleRequestRaidInfoOpcode ); + DEF_OPCODE( CMSG_MOVE_TIME_SKIPPED, STATUS_LOGGEDIN, &WorldSession::HandleMoveTimeSkippedOpcode ); + DEF_OPCODE( CMSG_MOVE_FEATHER_FALL_ACK, STATUS_LOGGEDIN, &WorldSession::HandleFeatherFallAck ); + DEF_OPCODE( CMSG_MOVE_WATER_WALK_ACK, STATUS_LOGGEDIN, &WorldSession::HandleMoveWaterWalkAck ); + DEF_OPCODE( CMSG_MOVE_NOT_ACTIVE_MOVER, STATUS_LOGGEDIN, &WorldSession::HandleMoveNotActiveMover ); + DEF_OPCODE( SMSG_PLAY_SOUND, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_BATTLEFIELD_STATUS, STATUS_LOGGEDIN, &WorldSession::HandleBattlefieldStatusOpcode ); + DEF_OPCODE( SMSG_BATTLEFIELD_STATUS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_BATTLEFIELD_PORT, STATUS_LOGGEDIN, &WorldSession::HandleBattleFieldPortOpcode ); + DEF_OPCODE( MSG_INSPECT_HONOR_STATS, STATUS_LOGGEDIN, &WorldSession::HandleInspectHonorStatsOpcode ); + DEF_OPCODE( CMSG_BATTLEMASTER_HELLO, STATUS_LOGGEDIN, &WorldSession::HandleBattlemasterHelloOpcode ); + DEF_OPCODE( CMSG_MOVE_START_SWIM_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_MOVE_STOP_SWIM_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_FORCE_WALK_SPEED_CHANGE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_FORCE_WALK_SPEED_CHANGE_ACK, STATUS_LOGGEDIN, &WorldSession::HandleForceSpeedChangeAck ); + DEF_OPCODE( SMSG_FORCE_SWIM_BACK_SPEED_CHANGE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_FORCE_SWIM_BACK_SPEED_CHANGE_ACK, STATUS_LOGGEDIN, &WorldSession::HandleForceSpeedChangeAck ); + DEF_OPCODE( SMSG_FORCE_TURN_RATE_CHANGE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_FORCE_TURN_RATE_CHANGE_ACK, STATUS_LOGGEDIN, &WorldSession::HandleForceSpeedChangeAck ); + DEF_OPCODE( MSG_PVP_LOG_DATA, STATUS_LOGGEDIN, &WorldSession::HandlePVPLogDataOpcode ); + DEF_OPCODE( CMSG_LEAVE_BATTLEFIELD, STATUS_LOGGEDIN, &WorldSession::HandleLeaveBattlefieldOpcode ); + DEF_OPCODE( CMSG_AREA_SPIRIT_HEALER_QUERY, STATUS_LOGGEDIN, &WorldSession::HandleAreaSpiritHealerQueryOpcode); + DEF_OPCODE( CMSG_AREA_SPIRIT_HEALER_QUEUE, STATUS_LOGGEDIN, &WorldSession::HandleAreaSpiritHealerQueueOpcode); + DEF_OPCODE( SMSG_AREA_SPIRIT_HEALER_TIME, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_GM_UNTEACH, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_WARDEN_DATA, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_WARDEN_DATA, STATUS_LOGGEDIN, &WorldSession::HandleWardenDataOpcode ); + DEF_OPCODE( SMSG_GROUP_JOINED_BATTLEGROUND, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( MSG_BATTLEGROUND_PLAYER_POSITIONS, STATUS_LOGGEDIN, &WorldSession::HandleBattleGroundPlayerPositionsOpcode); + DEF_OPCODE( CMSG_PET_STOP_ATTACK, STATUS_UNHANDLED,&WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_BINDER_CONFIRM, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_BATTLEGROUND_PLAYER_JOINED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_BATTLEGROUND_PLAYER_LEFT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_BATTLEMASTER_JOIN, STATUS_LOGGEDIN, &WorldSession::HandleBattlemasterJoinOpcode ); + DEF_OPCODE( SMSG_ADDON_INFO, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_PET_UNLEARN, STATUS_LOGGEDIN, &WorldSession::HandlePetUnlearnOpcode ); + DEF_OPCODE( SMSG_PET_UNLEARN_CONFIRM, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_PARTY_MEMBER_STATS_FULL, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_PET_SPELL_AUTOCAST, STATUS_LOGGEDIN, &WorldSession::HandlePetSpellAutocastOpcode ); + DEF_OPCODE( SMSG_WEATHER, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_PLAY_TIME_WARNING, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_MINIGAME_SETUP, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_MINIGAME_STATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_MINIGAME_MOVE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_MINIGAME_MOVE_FAILED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_RAID_INSTANCE_MESSAGE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_COMPRESSED_MOVES, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_GUILD_INFO_TEXT, STATUS_LOGGEDIN, &WorldSession::HandleGuildChangeInfoTextOpcode ); + DEF_OPCODE( SMSG_CHAT_RESTRICTED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_SPLINE_SET_RUN_SPEED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_SPLINE_SET_RUN_BACK_SPEED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_SPLINE_SET_SWIM_SPEED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_SPLINE_SET_WALK_SPEED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_SPLINE_SET_SWIM_BACK_SPEED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_SPLINE_SET_TURN_RATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_SPLINE_MOVE_UNROOT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_SPLINE_MOVE_FEATHER_FALL, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_SPLINE_MOVE_NORMAL_FALL, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_SPLINE_MOVE_SET_HOVER, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_SPLINE_MOVE_UNSET_HOVER, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_SPLINE_MOVE_WATER_WALK, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_SPLINE_MOVE_LAND_WALK, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_SPLINE_MOVE_START_SWIM, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_SPLINE_MOVE_STOP_SWIM, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_SPLINE_MOVE_SET_RUN_MODE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_SPLINE_MOVE_SET_WALK_MODE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_GM_NUKE_ACCOUNT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( MSG_GM_DESTROY_CORPSE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_GM_DESTROY_ONLINE_CORPSE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_ACTIVATETAXIEXPRESS, STATUS_LOGGEDIN, &WorldSession::HandleActivateTaxiExpressOpcode ); + DEF_OPCODE( SMSG_SET_FACTION_ATWAR, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_GAMETIMEBIAS_SET, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_DEBUG_ACTIONS_START, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_DEBUG_ACTIONS_STOP, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_SET_FACTION_INACTIVE, STATUS_LOGGEDIN, &WorldSession::HandleSetFactionInactiveOpcode ); + DEF_OPCODE( CMSG_SET_WATCHED_FACTION, STATUS_LOGGEDIN, &WorldSession::HandleSetWatchedFactionOpcode ); + DEF_OPCODE( MSG_MOVE_TIME_SKIPPED, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_SPLINE_MOVE_ROOT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_SET_EXPLORATION_ALL, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_INVALIDATE_PLAYER, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_RESET_INSTANCES, STATUS_LOGGEDIN, &WorldSession::HandleResetInstancesOpcode ); + DEF_OPCODE( SMSG_INSTANCE_RESET, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_INSTANCE_RESET_FAILED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_UPDATE_LAST_INSTANCE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( MSG_RAID_TARGET_UPDATE, STATUS_LOGGEDIN, &WorldSession::HandleRaidTargetUpdateOpcode ); + DEF_OPCODE( MSG_RAID_READY_CHECK, STATUS_LOGGEDIN, &WorldSession::HandleRaidReadyCheckOpcode ); + DEF_OPCODE( CMSG_LUA_USAGE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_PET_ACTION_SOUND, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_PET_DISMISS_SOUND, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_GHOSTEE_GONE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_GM_UPDATE_TICKET_STATUS, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_GM_TICKET_STATUS_UPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( MSG_SET_DUNGEON_DIFFICULTY, STATUS_LOGGEDIN, &WorldSession::HandleSetDungeonDifficultyOpcode); + DEF_OPCODE( CMSG_GMSURVEY_SUBMIT, STATUS_LOGGEDIN, &WorldSession::HandleGMSurveySubmit ); + DEF_OPCODE( SMSG_UPDATE_INSTANCE_OWNERSHIP, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_IGNORE_KNOCKBACK_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_CHAT_PLAYER_AMBIGUOUS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( MSG_DELAY_GHOST_TELEPORT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_SPELLINSTAKILLLOG, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_SPELL_UPDATE_CHAIN_TARGETS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_CHAT_FILTERED, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_EXPECTED_SPAM_RECORDS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_SPELLSTEALLOG, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_LOTTERY_QUERY_OBSOLETE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_LOTTERY_QUERY_RESULT_OBSOLETE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_BUY_LOTTERY_TICKET_OBSOLETE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_LOTTERY_RESULT_OBSOLETE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_CHARACTER_PROFILE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_CHARACTER_PROFILE_REALM_CONNECTED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_DEFENSE_MESSAGE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_INSTANCE_DIFFICULTY, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( MSG_GM_RESETINSTANCELIMIT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_MOTD, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_MOVE_SET_FLIGHT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_MOVE_UNSET_FLIGHT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_MOVE_FLIGHT_ACK, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( MSG_MOVE_START_SWIM_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( MSG_MOVE_STOP_SWIM_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_MOVE_SET_CAN_FLY, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_MOVE_UNSET_CAN_FLY, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_MOVE_SET_CAN_FLY_ACK, STATUS_LOGGEDIN, &WorldSession::HandleMoveSetCanFlyAckOpcode ); + DEF_OPCODE( CMSG_MOVE_SET_FLY, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + DEF_OPCODE( CMSG_SOCKET_GEMS, STATUS_LOGGEDIN, &WorldSession::HandleSocketOpcode ); + DEF_OPCODE( CMSG_ARENA_TEAM_CREATE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_ARENA_TEAM_COMMAND_RESULT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( UMSG_UPDATE_ARENA_TEAM_OBSOLETE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_ARENA_TEAM_QUERY, STATUS_LOGGEDIN, &WorldSession::HandleArenaTeamQueryOpcode ); + DEF_OPCODE( SMSG_ARENA_TEAM_QUERY_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_ARENA_TEAM_ROSTER, STATUS_LOGGEDIN, &WorldSession::HandleArenaTeamRosterOpcode ); + DEF_OPCODE( SMSG_ARENA_TEAM_ROSTER, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_ARENA_TEAM_INVITE, STATUS_LOGGEDIN, &WorldSession::HandleArenaTeamInviteOpcode ); + DEF_OPCODE( SMSG_ARENA_TEAM_INVITE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_ARENA_TEAM_ACCEPT, STATUS_LOGGEDIN, &WorldSession::HandleArenaTeamAcceptOpcode ); + DEF_OPCODE( CMSG_ARENA_TEAM_DECLINE, STATUS_LOGGEDIN, &WorldSession::HandleArenaTeamDeclineOpcode ); + DEF_OPCODE( CMSG_ARENA_TEAM_LEAVE, STATUS_LOGGEDIN, &WorldSession::HandleArenaTeamLeaveOpcode ); + DEF_OPCODE( CMSG_ARENA_TEAM_REMOVE, STATUS_LOGGEDIN, &WorldSession::HandleArenaTeamRemoveOpcode ); + DEF_OPCODE( CMSG_ARENA_TEAM_DISBAND, STATUS_LOGGEDIN, &WorldSession::HandleArenaTeamDisbandOpcode ); + DEF_OPCODE( CMSG_ARENA_TEAM_LEADER, STATUS_LOGGEDIN, &WorldSession::HandleArenaTeamLeaderOpcode ); + DEF_OPCODE( SMSG_ARENA_TEAM_EVENT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_BATTLEMASTER_JOIN_ARENA, STATUS_LOGGEDIN, &WorldSession::HandleBattlemasterJoinArena ); + DEF_OPCODE( MSG_MOVE_START_ASCEND, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + DEF_OPCODE( MSG_MOVE_STOP_ASCEND, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + DEF_OPCODE( SMSG_ARENA_TEAM_STATS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_LFG_JOIN, STATUS_LOGGEDIN, &WorldSession::HandleLfgJoinOpcode ); + DEF_OPCODE( CMSG_LFG_LEAVE, STATUS_LOGGEDIN, &WorldSession::HandleLfgLeaveOpcode ); + DEF_OPCODE( CMSG_SEARCH_LFG_JOIN, STATUS_LOGGEDIN, &WorldSession::HandleSearchLfgJoinOpcode ); + DEF_OPCODE( CMSG_SEARCH_LFG_LEAVE, STATUS_LOGGEDIN, &WorldSession::HandleSearchLfgLeaveOpcode ); + DEF_OPCODE( SMSG_UPDATE_LFG_LIST, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_LFG_PROPOSAL_UPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_LFG_PROPOSAL_RESULT, STATUS_LOGGEDIN, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_LFG_ROLE_CHECK_UPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_LFG_JOIN_RESULT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_LFG_QUEUE_STATUS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_SET_LFG_COMMENT, STATUS_LOGGEDIN, &WorldSession::HandleSetLfgCommentOpcode ); + DEF_OPCODE( SMSG_LFG_UPDATE_PLAYER, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_LFG_UPDATE_PARTY, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_LFG_UPDATE_SEARCH, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_LFG_SET_ROLES, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_LFG_SET_NEEDS, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_LFG_SET_BOOT_VOTE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_LFG_BOOT_PLAYER, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_LFD_PLAYER_LOCK_INFO_REQUEST, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_LFG_PLAYER_INFO, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_LFG_TELEPORT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_LFD_PARTY_LOCK_INFO_REQUEST, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_LFG_PARTY_INFO, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_TITLE_EARNED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_SET_TITLE, STATUS_LOGGEDIN, &WorldSession::HandleSetTitleOpcode ); + DEF_OPCODE( CMSG_CANCEL_MOUNT_AURA, STATUS_LOGGEDIN, &WorldSession::HandleCancelMountAuraOpcode ); + DEF_OPCODE( SMSG_ARENA_ERROR, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( MSG_INSPECT_ARENA_TEAMS, STATUS_LOGGEDIN, &WorldSession::HandleInspectArenaTeamsOpcode ); + DEF_OPCODE( SMSG_DEATH_RELEASE_LOC, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_CANCEL_TEMP_ENCHANTMENT, STATUS_LOGGEDIN, &WorldSession::HandleCancelTempEnchantmentOpcode); + DEF_OPCODE( SMSG_FORCED_DEATH_UPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_CHEAT_SET_HONOR_CURRENCY, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_CHEAT_SET_ARENA_CURRENCY, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( MSG_MOVE_SET_FLIGHT_SPEED_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( MSG_MOVE_SET_FLIGHT_SPEED, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( MSG_MOVE_SET_FLIGHT_BACK_SPEED_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( MSG_MOVE_SET_FLIGHT_BACK_SPEED, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_FORCE_FLIGHT_SPEED_CHANGE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_FORCE_FLIGHT_SPEED_CHANGE_ACK, STATUS_LOGGEDIN, &WorldSession::HandleForceSpeedChangeAck ); + DEF_OPCODE( SMSG_FORCE_FLIGHT_BACK_SPEED_CHANGE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_FORCE_FLIGHT_BACK_SPEED_CHANGE_ACK, STATUS_LOGGEDIN, &WorldSession::HandleForceSpeedChangeAck ); + DEF_OPCODE( SMSG_SPLINE_SET_FLIGHT_SPEED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_SPLINE_SET_FLIGHT_BACK_SPEED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_MAELSTROM_INVALIDATE_CACHE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_FLIGHT_SPLINE_SYNC, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_SET_TAXI_BENCHMARK_MODE, STATUS_AUTHED, &WorldSession::HandleSetTaxiBenchmarkOpcode ); + DEF_OPCODE( SMSG_JOINED_BATTLEGROUND_QUEUE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_REALM_SPLIT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_REALM_SPLIT, STATUS_AUTHED, &WorldSession::HandleRealmSplitOpcode ); + DEF_OPCODE( CMSG_MOVE_CHNG_TRANSPORT, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + DEF_OPCODE( MSG_PARTY_ASSIGNMENT, STATUS_LOGGEDIN, &WorldSession::HandlePartyAssignmentOpcode ); + DEF_OPCODE( SMSG_OFFER_PETITION_ERROR, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_TIME_SYNC_REQ, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_TIME_SYNC_RESP, STATUS_LOGGEDIN, &WorldSession::HandleTimeSyncResp ); + DEF_OPCODE( CMSG_SEND_LOCAL_EVENT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_SEND_GENERAL_TRIGGER, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_SEND_COMBAT_TRIGGER, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_MAELSTROM_GM_SENT_MAIL, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_RESET_FAILED_NOTIFY, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_REAL_GROUP_UPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_LFG_DISABLED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_ACTIVE_PVP_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_CHEAT_DUMP_ITEMS_DEBUG_ONLY, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_CHEAT_DUMP_ITEMS_DEBUG_ONLY_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_CHEAT_DUMP_ITEMS_DEBUG_ONLY_RESPONSE_WRITE_FILE,STATUS_NEVER,&WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_UPDATE_COMBO_POINTS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_VOICE_SESSION_ROSTER_UPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_VOICE_SESSION_LEAVE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_VOICE_SESSION_ADJUST_PRIORITY, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_VOICE_SET_TALKER_MUTED_REQUEST, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_VOICE_SET_TALKER_MUTED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_INIT_EXTRA_AURA_INFO_OBSOLETE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_SET_EXTRA_AURA_INFO_OBSOLETE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_SET_EXTRA_AURA_INFO_NEED_UPDATE_OBSOLETE,STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_CLEAR_EXTRA_AURA_INFO_OBSOLETE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( MSG_MOVE_START_DESCEND, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + DEF_OPCODE( CMSG_IGNORE_REQUIREMENTS_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_IGNORE_REQUIREMENTS_CHEAT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_SPELL_CHANCE_PROC_LOG, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_MOVE_SET_RUN_SPEED, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_DISMOUNT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( MSG_MOVE_UPDATE_CAN_FLY, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( MSG_RAID_READY_CHECK_CONFIRM, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_VOICE_SESSION_ENABLE, STATUS_AUTHED, &WorldSession::HandleVoiceSessionEnableOpcode ); + DEF_OPCODE( SMSG_VOICE_SESSION_ENABLE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_VOICE_PARENTAL_CONTROLS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_GM_WHISPER, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_GM_MESSAGECHAT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( MSG_GM_GEARRATING, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_COMMENTATOR_ENABLE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_COMMENTATOR_STATE_CHANGED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_COMMENTATOR_GET_MAP_INFO, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_COMMENTATOR_MAP_INFO, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_COMMENTATOR_GET_PLAYER_INFO, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_COMMENTATOR_GET_PLAYER_INFO, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_COMMENTATOR_PLAYER_INFO, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_COMMENTATOR_ENTER_INSTANCE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_COMMENTATOR_EXIT_INSTANCE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_COMMENTATOR_INSTANCE_COMMAND, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_CLEAR_TARGET, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_BOT_DETECTED, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_CROSSED_INEBRIATION_THRESHOLD, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_CHEAT_PLAYER_LOGIN, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_CHEAT_PLAYER_LOOKUP, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_CHEAT_PLAYER_LOOKUP, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_KICK_REASON, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( MSG_RAID_READY_CHECK_FINISHED, STATUS_LOGGEDIN, &WorldSession::HandleRaidReadyCheckFinishedOpcode); + DEF_OPCODE( CMSG_COMPLAIN, STATUS_LOGGEDIN, &WorldSession::HandleComplainOpcode ); + DEF_OPCODE( SMSG_COMPLAIN_RESULT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_FEATURE_SYSTEM_STATUS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_GM_SHOW_COMPLAINTS, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_GM_UNSQUELCH, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_CHANNEL_SILENCE_VOICE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_CHANNEL_SILENCE_ALL, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_CHANNEL_UNSILENCE_VOICE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_CHANNEL_UNSILENCE_ALL, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_TARGET_CAST, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_TARGET_SCRIPT_CAST, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_CHANNEL_DISPLAY_LIST, STATUS_LOGGEDIN, &WorldSession::HandleChannelDisplayListQuery ); + DEF_OPCODE( CMSG_SET_ACTIVE_VOICE_CHANNEL, STATUS_AUTHED, &WorldSession::HandleSetActiveVoiceChannel ); + DEF_OPCODE( CMSG_GET_CHANNEL_MEMBER_COUNT, STATUS_LOGGEDIN, &WorldSession::HandleGetChannelMemberCount ); + DEF_OPCODE( SMSG_CHANNEL_MEMBER_COUNT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_CHANNEL_VOICE_ON, STATUS_LOGGEDIN, &WorldSession::HandleChannelVoiceOnOpcode ); + DEF_OPCODE( CMSG_CHANNEL_VOICE_OFF, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_DEBUG_LIST_TARGETS, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_DEBUG_LIST_TARGETS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_AVAILABLE_VOICE_CHANNEL, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_ADD_VOICE_IGNORE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_DEL_VOICE_IGNORE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_PARTY_SILENCE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_PARTY_UNSILENCE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( MSG_NOTIFY_PARTY_SQUELCH, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_COMSAT_RECONNECT_TRY, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_COMSAT_DISCONNECT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_COMSAT_CONNECT_FAIL, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_VOICE_CHAT_STATUS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_REPORT_PVP_AFK, STATUS_LOGGEDIN, &WorldSession::HandleReportPvPAFK ); + DEF_OPCODE( SMSG_REPORT_PVP_AFK_RESULT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_GUILD_BANKER_ACTIVATE, STATUS_LOGGEDIN, &WorldSession::HandleGuildBankerActivate ); + DEF_OPCODE( CMSG_GUILD_BANK_QUERY_TAB, STATUS_LOGGEDIN, &WorldSession::HandleGuildBankQueryTab ); + DEF_OPCODE( SMSG_GUILD_BANK_LIST, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_GUILD_BANK_SWAP_ITEMS, STATUS_LOGGEDIN, &WorldSession::HandleGuildBankSwapItems ); + DEF_OPCODE( CMSG_GUILD_BANK_BUY_TAB, STATUS_LOGGEDIN, &WorldSession::HandleGuildBankBuyTab ); + DEF_OPCODE( CMSG_GUILD_BANK_UPDATE_TAB, STATUS_LOGGEDIN, &WorldSession::HandleGuildBankUpdateTab ); + DEF_OPCODE( CMSG_GUILD_BANK_DEPOSIT_MONEY, STATUS_LOGGEDIN, &WorldSession::HandleGuildBankDepositMoney ); + DEF_OPCODE( CMSG_GUILD_BANK_WITHDRAW_MONEY, STATUS_LOGGEDIN, &WorldSession::HandleGuildBankWithdrawMoney ); + DEF_OPCODE( MSG_GUILD_BANK_LOG_QUERY, STATUS_LOGGEDIN, &WorldSession::HandleGuildBankLogQuery ); + DEF_OPCODE( CMSG_SET_CHANNEL_WATCH, STATUS_LOGGEDIN, &WorldSession::HandleSetChannelWatch ); + DEF_OPCODE( SMSG_USERLIST_ADD, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_USERLIST_REMOVE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_USERLIST_UPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_CLEAR_CHANNEL_WATCH, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_INSPECT_TALENT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_GOGOGO_OBSOLETE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_ECHO_PARTY_SQUELCH, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_SET_TITLE_SUFFIX, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_SPELLCLICK, STATUS_LOGGEDIN, &WorldSession::HandleSpellClick ); + DEF_OPCODE( SMSG_LOOT_LIST, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_GM_CHARACTER_RESTORE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_GM_CHARACTER_SAVE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_VOICESESSION_FULL, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( MSG_GUILD_PERMISSIONS, STATUS_LOGGEDIN, &WorldSession::HandleGuildPermissions ); + DEF_OPCODE( MSG_GUILD_BANK_MONEY_WITHDRAWN, STATUS_LOGGEDIN, &WorldSession::HandleGuildBankMoneyWithdrawn ); + DEF_OPCODE( MSG_GUILD_EVENT_LOG_QUERY, STATUS_LOGGEDIN, &WorldSession::HandleGuildEventLogQueryOpcode ); + DEF_OPCODE( CMSG_MAELSTROM_RENAME_GUILD, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_GET_MIRRORIMAGE_DATA, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_MIRRORIMAGE_DATA, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_FORCE_DISPLAY_UPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_SPELL_CHANCE_RESIST_PUSHBACK, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_IGNORE_DIMINISHING_RETURNS_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_IGNORE_DIMINISHING_RETURNS_CHEAT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_KEEP_ALIVE, STATUS_NEVER, &WorldSession::Handle_EarlyProccess ); + DEF_OPCODE( SMSG_RAID_READY_CHECK_ERROR, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_OPT_OUT_OF_LOOT, STATUS_AUTHED, &WorldSession::HandleOptOutOfLootOpcode ); + DEF_OPCODE( MSG_QUERY_GUILD_BANK_TEXT, STATUS_LOGGEDIN, &WorldSession::HandleQueryGuildBankTabText ); + DEF_OPCODE( CMSG_SET_GUILD_BANK_TEXT, STATUS_LOGGEDIN, &WorldSession::HandleSetGuildBankTabText ); + DEF_OPCODE( CMSG_SET_GRANTABLE_LEVELS, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_GRANT_LEVEL, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_REFER_A_FRIEND, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( MSG_GM_CHANGE_ARENA_RATING, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_DECLINE_CHANNEL_INVITE, STATUS_UNHANDLED,&WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_GROUPACTION_THROTTLED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_OVERRIDE_LIGHT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_TOTEM_CREATED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_TOTEM_DESTROYED, STATUS_LOGGEDIN, &WorldSession::HandleTotemDestroyed ); + DEF_OPCODE( CMSG_EXPIRE_RAID_INSTANCE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_NO_SPELL_VARIANCE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_QUESTGIVER_STATUS_MULTIPLE_QUERY, STATUS_LOGGEDIN, &WorldSession::HandleQuestgiverStatusMultipleQuery); + DEF_OPCODE( SMSG_QUESTGIVER_STATUS_MULTIPLE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_SET_PLAYER_DECLINED_NAMES, STATUS_AUTHED, &WorldSession::HandleSetPlayerDeclinedNames ); + DEF_OPCODE( SMSG_SET_PLAYER_DECLINED_NAMES_RESULT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_QUERY_SERVER_BUCK_DATA, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_CLEAR_SERVER_BUCK_DATA, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_SERVER_BUCK_DATA, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_SEND_UNLEARN_SPELLS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_PROPOSE_LEVEL_GRANT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_ACCEPT_LEVEL_GRANT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_REFER_A_FRIEND_FAILURE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_SPLINE_MOVE_SET_FLYING, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_SPLINE_MOVE_UNSET_FLYING, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_SUMMON_CANCEL, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_CHANGE_PERSONAL_ARENA_RATING, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_ALTER_APPEARANCE, STATUS_LOGGEDIN, &WorldSession::HandleAlterAppearance ); + DEF_OPCODE( SMSG_ENABLE_BARBER_SHOP, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_BARBER_SHOP_RESULT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_CALENDAR_GET_CALENDAR, STATUS_LOGGEDIN, &WorldSession::HandleCalendarGetCalendar ); + DEF_OPCODE( CMSG_CALENDAR_GET_EVENT, STATUS_LOGGEDIN, &WorldSession::HandleCalendarGetEvent ); + DEF_OPCODE( CMSG_CALENDAR_GUILD_FILTER, STATUS_LOGGEDIN, &WorldSession::HandleCalendarGuildFilter ); + DEF_OPCODE( CMSG_CALENDAR_ARENA_TEAM, STATUS_LOGGEDIN, &WorldSession::HandleCalendarArenaTeam ); + DEF_OPCODE( CMSG_CALENDAR_ADD_EVENT, STATUS_LOGGEDIN, &WorldSession::HandleCalendarAddEvent ); + DEF_OPCODE( CMSG_CALENDAR_UPDATE_EVENT, STATUS_LOGGEDIN, &WorldSession::HandleCalendarUpdateEvent ); + DEF_OPCODE( CMSG_CALENDAR_REMOVE_EVENT, STATUS_LOGGEDIN, &WorldSession::HandleCalendarRemoveEvent ); + DEF_OPCODE( CMSG_CALENDAR_COPY_EVENT, STATUS_LOGGEDIN, &WorldSession::HandleCalendarCopyEvent ); + DEF_OPCODE( CMSG_CALENDAR_EVENT_INVITE, STATUS_LOGGEDIN, &WorldSession::HandleCalendarEventInvite ); + DEF_OPCODE( CMSG_CALENDAR_EVENT_RSVP, STATUS_LOGGEDIN, &WorldSession::HandleCalendarEventRsvp ); + DEF_OPCODE( CMSG_CALENDAR_EVENT_REMOVE_INVITE, STATUS_LOGGEDIN, &WorldSession::HandleCalendarEventRemoveInvite ); + DEF_OPCODE( CMSG_CALENDAR_EVENT_STATUS, STATUS_LOGGEDIN, &WorldSession::HandleCalendarEventStatus ); + DEF_OPCODE( CMSG_CALENDAR_EVENT_MODERATOR_STATUS, STATUS_LOGGEDIN, &WorldSession::HandleCalendarEventModeratorStatus); + DEF_OPCODE( SMSG_CALENDAR_SEND_CALENDAR, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_CALENDAR_SEND_EVENT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_CALENDAR_FILTER_GUILD, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_CALENDAR_ARENA_TEAM, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_CALENDAR_EVENT_INVITE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_CALENDAR_EVENT_INVITE_REMOVED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_CALENDAR_EVENT_STATUS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_CALENDAR_COMMAND_RESULT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_CALENDAR_RAID_LOCKOUT_ADDED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_CALENDAR_RAID_LOCKOUT_REMOVED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_CALENDAR_EVENT_INVITE_ALERT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_CALENDAR_EVENT_INVITE_REMOVED_ALERT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_CALENDAR_EVENT_INVITE_STATUS_ALERT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_CALENDAR_EVENT_REMOVED_ALERT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_CALENDAR_EVENT_UPDATED_ALERT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_CALENDAR_EVENT_MODERATOR_STATUS_ALERT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_CALENDAR_COMPLAIN, STATUS_LOGGEDIN, &WorldSession::HandleCalendarComplain ); + DEF_OPCODE( CMSG_CALENDAR_GET_NUM_PENDING, STATUS_LOGGEDIN, &WorldSession::HandleCalendarGetNumPending ); + DEF_OPCODE( SMSG_CALENDAR_SEND_NUM_PENDING, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_SAVE_DANCE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_NOTIFY_DANCE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_PLAY_DANCE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_PLAY_DANCE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_LOAD_DANCES, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_STOP_DANCE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_STOP_DANCE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_SYNC_DANCE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_DANCE_QUERY, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_DANCE_QUERY_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_INVALIDATE_DANCE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_DELETE_DANCE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_LEARNED_DANCE_MOVES, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_LEARN_DANCE_MOVE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_UNLEARN_DANCE_MOVE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_SET_RUNE_COUNT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_SET_RUNE_COOLDOWN, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( MSG_MOVE_SET_PITCH_RATE_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( MSG_MOVE_SET_PITCH_RATE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_FORCE_PITCH_RATE_CHANGE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_FORCE_PITCH_RATE_CHANGE_ACK, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_SPLINE_SET_PITCH_RATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_MOVE_ABANDON_TRANSPORT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_UPDATE_MISSILE_TRAJECTORY, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_UPDATE_ACCOUNT_DATA_COMPLETE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_TRIGGER_MOVIE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_COMPLETE_MOVIE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_SET_GLYPH_SLOT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_SET_GLYPH, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_ACHIEVEMENT_EARNED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_DYNAMIC_DROP_ROLL_RESULT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_CRITERIA_UPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_QUERY_INSPECT_ACHIEVEMENTS, STATUS_LOGGEDIN, &WorldSession::HandleQueryInspectAchievements ); + DEF_OPCODE( SMSG_RESPOND_INSPECT_ACHIEVEMENTS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_DISMISS_CONTROLLED_VEHICLE, STATUS_LOGGEDIN, &WorldSession::HandleDismissControlledVehicle ); + DEF_OPCODE( CMSG_COMPLETE_ACHIEVEMENT_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_QUESTUPDATE_ADD_PVP_KILL, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_SET_CRITERIA_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_UNITANIMTIER_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_CHAR_CUSTOMIZE, STATUS_AUTHED, &WorldSession::HandleCharCustomize ); + DEF_OPCODE( SMSG_CHAR_CUSTOMIZE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_PET_RENAMEABLE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_REQUEST_VEHICLE_EXIT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_REQUEST_VEHICLE_PREV_SEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_REQUEST_VEHICLE_NEXT_SEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_REQUEST_VEHICLE_SWITCH_SEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_PET_LEARN_TALENT, STATUS_LOGGEDIN, &WorldSession::HandlePetLearnTalent ); + DEF_OPCODE( CMSG_PET_UNLEARN_TALENTS, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_SET_PHASE_SHIFT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); +// DEF_OPCODE( SMSG_ALL_ACHIEVEMENT_DATA, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_FORCE_SAY_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_HEALTH_UPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_POWER_UPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_GAMEOBJ_REPORT_USE, STATUS_LOGGEDIN, &WorldSession::HandleGameobjectReportUse ); + DEF_OPCODE( SMSG_HIGHEST_THREAT_UPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_THREAT_UPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_THREAT_REMOVE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_THREAT_CLEAR, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_CONVERT_RUNE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_RESYNC_RUNES, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_ADD_RUNE_POWER, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_START_QUEST, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_REMOVE_GLYPH, STATUS_LOGGEDIN, &WorldSession::HandleRemoveGlyph ); + DEF_OPCODE( CMSG_DUMP_OBJECTS, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_DUMP_OBJECTS_DATA, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_DISMISS_CRITTER, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_NOTIFY_DEST_LOC_SPELL_CAST, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_AUCTION_LIST_PENDING_SALES, STATUS_LOGGEDIN, &WorldSession::HandleAuctionListPendingSales ); + DEF_OPCODE( SMSG_AUCTION_LIST_PENDING_SALES, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_MODIFY_COOLDOWN, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_PET_UPDATE_COMBO_POINTS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_ENABLETAXI, STATUS_LOGGEDIN, &WorldSession::HandleTaxiQueryAvailableNodes ); + DEF_OPCODE( SMSG_PRE_RESURRECT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_AURA_UPDATE_ALL, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_AURA_UPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_FLOOD_GRACE_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_SERVER_FIRST_ACHIEVEMENT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_PET_LEARNED_SPELL, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_PET_REMOVED_SPELL, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_CHANGE_SEATS_ON_CONTROLLED_VEHICLE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_HEARTH_AND_RESURRECT, STATUS_LOGGEDIN, &WorldSession::HandleHearthandResurrect ); + DEF_OPCODE( SMSG_ON_CANCEL_EXPECTED_RIDE_VEHICLE_AURA, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_CRITERIA_DELETED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_ACHIEVEMENT_DELETED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_SERVER_INFO_QUERY, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_SERVER_INFO_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_CHECK_LOGIN_CRITERIA, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_SERVER_BUCK_DATA_START, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_QUERY_VEHICLE_STATUS, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( UMSG_UNKNOWN_1189, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_BATTLEGROUND_INFO_THROTTLED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_PLAYER_VEHICLE_DATA, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_UNKNOWN_1192, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_EJECT_PASSENGER, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_PET_GUIDS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_CLIENTCACHE_VERSION, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( UMSG_UNKNOWN_1196, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( UMSG_UNKNOWN_1197, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( UMSG_UNKNOWN_1198, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( UMSG_UNKNOWN_1199, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( UMSG_UNKNOWN_1200, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( UMSG_UNKNOWN_1201, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_ITEM_REFUND_INFO_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_ITEM_REFUND_INFO, STATUS_LOGGEDIN, &WorldSession::HandleItemRefundInfoRequest ); + DEF_OPCODE( CMSG_ITEM_REFUND, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_ITEM_REFUND_RESULT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_CORPSE_MAP_POSITION_QUERY, STATUS_LOGGEDIN, &WorldSession::HandleCorpseMapPositionQuery ); + DEF_OPCODE( SMSG_CORPSE_MAP_POSITION_QUERY_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( UMSG_UNKNOWN_1209, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_CALENDAR_CONTEXT_EVENT_SIGNUP, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_CALENDAR_ACTION_PENDING, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_EQUIPMENT_SET_LIST, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_EQUIPMENT_SET_SAVE, STATUS_LOGGEDIN, &WorldSession::HandleEquipmentSetSave ); + DEF_OPCODE( CMSG_UPDATE_PROJECTILE_POSITION, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_SET_PROJECTILE_POSITION, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_TALENTS_INFO, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_LEARN_PREVIEW_TALENTS, STATUS_LOGGEDIN, &WorldSession::HandleLearnPreviewTalents ); + DEF_OPCODE( CMSG_LEARN_PREVIEW_TALENTS_PET, STATUS_LOGGEDIN, &WorldSession::HandleLearnPreviewTalentsPet ); + DEF_OPCODE( UMSG_UNKNOWN_1219, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( UMSG_UNKNOWN_1220, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( UMSG_UNKNOWN_1221, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( UMSG_UNKNOWN_1222, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_ARENA_OPPONENT_UPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_ARENA_TEAM_CHANGE_FAILED_QUEUED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( UMSG_UNKNOWN_1225, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( UMSG_UNKNOWN_1226, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( UMSG_UNKNOWN_1227, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( UMSG_UNKNOWN_1228, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_MULTIPLE_PACKETS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_EQUIPMENT_SET_USE, STATUS_LOGGEDIN, &WorldSession::HandleEquipmentSetUse ); + DEF_OPCODE( SMSG_EQUIPMENT_SET_USE_RESULT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( UMSG_UNKNOWN_1239, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_UNKNOWN_1240, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_CHAR_FACTION_CHANGE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_CHAR_FACTION_CHANGE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( UMSG_UNKNOWN_1243, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( UMSG_UNKNOWN_1244, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( UMSG_UNKNOWN_1245, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_BATTLEFIELD_MGR_ENTRY_INVITE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_BATTLEFIELD_MGR_ENTERED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_BATTLEFIELD_MGR_QUEUE_INVITE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_BATTLEFIELD_MGR_QUEUE_INVITE_RESPONSE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_BATTLEFIELD_MGR_QUEUE_REQUEST, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_BATTLEFIELD_MGR_QUEUE_REQUEST_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_BATTLEFIELD_MGR_EJECT_PENDING, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_BATTLEFIELD_MGR_EJECTED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_BATTLEFIELD_MGR_EXIT_REQUEST, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_BATTLEFIELD_MGR_STATE_CHANGE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( UMSG_UNKNOWN_1257, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( UMSG_UNKNOWN_1258, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( MSG_SET_RAID_DIFFICULTY, STATUS_LOGGEDIN, &WorldSession::HandleSetRaidDifficultyOpcode ); + DEF_OPCODE( UMSG_UNKNOWN_1260, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_TOGGLE_XP_GAIN, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_GMRESPONSE_DB_ERROR, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_GMRESPONSE_RECEIVED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_GMRESPONSE_RESOLVE, STATUS_LOGGEDIN, &WorldSession::HandleGMResponseResolve ); + DEF_OPCODE( SMSG_GMRESPONSE_STATUS_UPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( UMSG_UNKNOWN_1266, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( UMSG_UNKNOWN_1267, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( UMSG_UNKNOWN_1268, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( UMSG_UNKNOWN_1269, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_WORLD_STATE_UI_TIMER_UPDATE, STATUS_LOGGEDIN, &WorldSession::HandleWorldStateUITimerUpdate ); + DEF_OPCODE( SMSG_WORLD_STATE_UI_TIMER_UPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_CHAR_RACE_CHANGE, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( UMSG_UNKNOWN_1273, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_TALENTS_INVOLUNTARILY_RESET, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( UMSG_UNKNOWN_1275, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_UNKNOWN_1276, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_LOOT_SLOT_CHANGED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( UMSG_UNKNOWN_1278, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_READY_FOR_ACCOUNT_DATA_TIMES, STATUS_AUTHED, &WorldSession::HandleReadyForAccountDataTimes ); + DEF_OPCODE( CMSG_QUERY_QUESTS_COMPLETED, STATUS_LOGGEDIN, &WorldSession::HandleQueryQuestsCompleted ); + DEF_OPCODE( SMSG_QUERY_QUESTS_COMPLETED_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_GM_REPORT_LAG, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( UMSG_UNKNOWN_1283, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( UMSG_UNKNOWN_1284, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( UMSG_UNKNOWN_1285, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( UMSG_UNKNOWN_1287, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_SET_ALLOW_LOW_LEVEL_RAID1, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( CMSG_SET_ALLOW_LOW_LEVEL_RAID2, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_CAMERA_SHAKE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_UPDATE_ITEM_ENCHANTMENTS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( UMSG_UNKNOWN_1292, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_REDIRECT_CLIENT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_REDIRECTION_FAILED, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_UNKNOWN_1295, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_UNKNOWN_1296, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_FORCE_SEND_QUEUED_PACKETS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_REDIRECTION_AUTH_PROOF, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( UMSG_UNKNOWN_1299, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_COMBAT_LOG_MULTIPLE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_LFG_OPEN_FROM_GOSSIP, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( SMSG_UNKNOWN_1302, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( CMSG_UNKNOWN_1303, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( SMSG_UNKNOWN_1304, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + DEF_OPCODE( UMSG_UNKNOWN_1305, STATUS_NEVER, &WorldSession::Handle_NULL ); + DEF_OPCODE( UMSG_UNKNOWN_1306, STATUS_NEVER, &WorldSession::Handle_NULL ); +} + +#if 0 += { /*0x000*/ { "MSG_NULL_ACTION", STATUS_NEVER, &WorldSession::Handle_NULL }, /*0x001*/ { "CMSG_BOOTME", STATUS_NEVER, &WorldSession::Handle_NULL }, @@ -1334,3 +2647,4 @@ OpcodeHandler opcodeTable[NUM_MSG_TYPES] = /*0x519*/ { "UMSG_UNKNOWN_1305", STATUS_NEVER, &WorldSession::Handle_NULL }, /*0x51A*/ { "UMSG_UNKNOWN_1306", STATUS_NEVER, &WorldSession::Handle_NULL }, }; +#endif diff --git a/src/game/Opcodes.h b/src/game/Opcodes.h index d482387..abdbb61 100644 --- a/src/game/Opcodes.h +++ b/src/game/Opcodes.h @@ -55,7 +55,7 @@ enum Opcodes CMSG_DESTROYMONSTER = 0x012, CMSG_CREATEITEM = 0x013, CMSG_CREATEGAMEOBJECT = 0x014, - SMSG_CHECK_FOR_BOTS = 0x015, + SMSG_CHECK_FOR_BOTS = 0xefe0, CMSG_MAKEMONSTERATTACKGUID = 0x016, CMSG_BOT_DETECTED2 = 0x017, CMSG_FORCEACTION = 0x018, @@ -64,7 +64,7 @@ enum Opcodes SMSG_FORCEACTIONSHOW = 0x01B, CMSG_PETGODMODE = 0x01C, SMSG_PETGODMODE = 0x01D, - SMSG_REFER_A_FRIEND_EXPIRED = 0x01E, + SMSG_REFER_A_FRIEND_EXPIRED = 0x5bec, CMSG_WEATHER_SPEED_CHEAT = 0x01F, CMSG_UNDRESSPLAYER = 0x020, CMSG_BEASTMASTER = 0x021, @@ -88,58 +88,58 @@ enum Opcodes CMSG_AUTH_SRP6_BEGIN = 0x033, CMSG_AUTH_SRP6_PROOF = 0x034, CMSG_AUTH_SRP6_RECODE = 0x035, - CMSG_CHAR_CREATE = 0x036, - CMSG_CHAR_ENUM = 0x037, - CMSG_CHAR_DELETE = 0x038, + CMSG_CHAR_CREATE = 0x7f61, + CMSG_CHAR_ENUM = 0x0d65, + CMSG_CHAR_DELETE = 0x4be6, SMSG_AUTH_SRP6_RESPONSE = 0x039, - SMSG_CHAR_CREATE = 0x03A, - SMSG_CHAR_ENUM = 0x03B, - SMSG_CHAR_DELETE = 0x03C, - CMSG_PLAYER_LOGIN = 0x03D, - SMSG_NEW_WORLD = 0x03E, - SMSG_TRANSFER_PENDING = 0x03F, - SMSG_TRANSFER_ABORTED = 0x040, - SMSG_CHARACTER_LOGIN_FAILED = 0x041, - SMSG_LOGIN_SETTIMESPEED = 0x042, - SMSG_GAMETIME_UPDATE = 0x043, + SMSG_CHAR_CREATE = 0x9def, + SMSG_CHAR_ENUM = 0xfd67, + SMSG_CHAR_DELETE = 0x7ded, + CMSG_PLAYER_LOGIN = 0x8bec, //0x03D, + SMSG_NEW_WORLD = 0x2d62, + SMSG_TRANSFER_PENDING = 0x29ec, + SMSG_TRANSFER_ABORTED = 0x79ea, + SMSG_CHARACTER_LOGIN_FAILED = 0xdd6b, + SMSG_LOGIN_SETTIMESPEED = 0xbf66, + SMSG_GAMETIME_UPDATE = 0xbd67, CMSG_GAMETIME_SET = 0x044, - SMSG_GAMETIME_SET = 0x045, + SMSG_GAMETIME_SET = 0x8fe6, CMSG_GAMESPEED_SET = 0x046, - SMSG_GAMESPEED_SET = 0x047, + SMSG_GAMESPEED_SET = 0xbd65, CMSG_SERVERTIME = 0x048, - SMSG_SERVERTIME = 0x049, - CMSG_PLAYER_LOGOUT = 0x04A, - CMSG_LOGOUT_REQUEST = 0x04B, - SMSG_LOGOUT_RESPONSE = 0x04C, - SMSG_LOGOUT_COMPLETE = 0x04D, + SMSG_SERVERTIME = 0x4b6d, + CMSG_PLAYER_LOGOUT = 0xa96e, //0x04A, + CMSG_LOGOUT_REQUEST = 0xdb67, + SMSG_LOGOUT_RESPONSE = 0x5b65, + SMSG_LOGOUT_COMPLETE = 0x8f61, CMSG_LOGOUT_CANCEL = 0x04E, - SMSG_LOGOUT_CANCEL_ACK = 0x04F, - CMSG_NAME_QUERY = 0x050, - SMSG_NAME_QUERY_RESPONSE = 0x051, - CMSG_PET_NAME_QUERY = 0x052, - SMSG_PET_NAME_QUERY_RESPONSE = 0x053, - CMSG_GUILD_QUERY = 0x054, - SMSG_GUILD_QUERY_RESPONSE = 0x055, - CMSG_ITEM_QUERY_SINGLE = 0x056, - CMSG_ITEM_QUERY_MULTIPLE = 0x057, - SMSG_ITEM_QUERY_SINGLE_RESPONSE = 0x058, - SMSG_ITEM_QUERY_MULTIPLE_RESPONSE = 0x059, - CMSG_PAGE_TEXT_QUERY = 0x05A, - SMSG_PAGE_TEXT_QUERY_RESPONSE = 0x05B, - CMSG_QUEST_QUERY = 0x05C, - SMSG_QUEST_QUERY_RESPONSE = 0x05D, - CMSG_GAMEOBJECT_QUERY = 0x05E, - SMSG_GAMEOBJECT_QUERY_RESPONSE = 0x05F, - CMSG_CREATURE_QUERY = 0x060, - SMSG_CREATURE_QUERY_RESPONSE = 0x061, - CMSG_WHO = 0x062, + SMSG_LOGOUT_CANCEL_ACK = 0x79ef, + CMSG_NAME_QUERY = 0x0be5, + SMSG_NAME_QUERY_RESPONSE = 0x1964, + CMSG_PET_NAME_QUERY = 0x3fe2, + SMSG_PET_NAME_QUERY_RESPONSE = 0x7d6e, + CMSG_GUILD_QUERY = 0xf9ef, + SMSG_GUILD_QUERY_RESPONSE = 0xcd6e, + CMSG_ITEM_QUERY_SINGLE = 0xdd6e, + CMSG_ITEM_QUERY_MULTIPLE = 0x2f6b, + SMSG_ITEM_QUERY_SINGLE_RESPONSE = 0x6f6b, + SMSG_ITEM_QUERY_MULTIPLE_RESPONSE = 0xed6d, + CMSG_PAGE_TEXT_QUERY = 0x0de0, + SMSG_PAGE_TEXT_QUERY_RESPONSE = 0xe9e0, + CMSG_QUEST_QUERY = 0x6b62, + SMSG_QUEST_QUERY_RESPONSE = 0xeb66, + CMSG_GAMEOBJECT_QUERY = 0xad62, + SMSG_GAMEOBJECT_QUERY_RESPONSE = 0xebe8, + CMSG_CREATURE_QUERY = 0xafeb, + SMSG_CREATURE_QUERY_RESPONSE = 0xcfe8, + CMSG_WHO = 0xfde9, SMSG_WHO = 0x063, CMSG_WHOIS = 0x064, SMSG_WHOIS = 0x065, CMSG_CONTACT_LIST = 0x066, SMSG_CONTACT_LIST = 0x067, SMSG_FRIEND_STATUS = 0x068, - CMSG_ADD_FRIEND = 0x069, + CMSG_ADD_FRIEND = 0xaf6f, CMSG_DEL_FRIEND = 0x06A, CMSG_SET_CONTACT_NOTES = 0x06B, CMSG_ADD_IGNORE = 0x06C, @@ -183,13 +183,13 @@ enum Opcodes SMSG_GUILD_EVENT = 0x092, SMSG_GUILD_COMMAND_RESULT = 0x093, UMSG_UPDATE_GUILD = 0x094, - CMSG_MESSAGECHAT = 0x095, - SMSG_MESSAGECHAT = 0x096, - CMSG_JOIN_CHANNEL = 0x097, + CMSG_MESSAGECHAT = 0x69ed, + SMSG_MESSAGECHAT = 0x9b63, + CMSG_JOIN_CHANNEL = 0x1bee, CMSG_LEAVE_CHANNEL = 0x098, - SMSG_CHANNEL_NOTIFY = 0x099, + SMSG_CHANNEL_NOTIFY = 0xa9e3, CMSG_CHANNEL_LIST = 0x09A, - SMSG_CHANNEL_LIST = 0x09B, + SMSG_CHANNEL_LIST = 0x4d6a, CMSG_CHANNEL_PASSWORD = 0x09C, CMSG_CHANNEL_SET_OWNER = 0x09D, CMSG_CHANNEL_OWNER = 0x09E, @@ -203,99 +203,99 @@ enum Opcodes CMSG_CHANNEL_UNBAN = 0x0A6, CMSG_CHANNEL_ANNOUNCEMENTS = 0x0A7, CMSG_CHANNEL_MODERATE = 0x0A8, - SMSG_UPDATE_OBJECT = 0x0A9, - SMSG_DESTROY_OBJECT = 0x0AA, + SMSG_UPDATE_OBJECT = 0x3de2, + SMSG_DESTROY_OBJECT = 0x2f60, CMSG_USE_ITEM = 0x0AB, CMSG_OPEN_ITEM = 0x0AC, CMSG_READ_ITEM = 0x0AD, SMSG_READ_ITEM_OK = 0x0AE, SMSG_READ_ITEM_FAILED = 0x0AF, - SMSG_ITEM_COOLDOWN = 0x0B0, - CMSG_GAMEOBJ_USE = 0x0B1, + SMSG_ITEM_COOLDOWN = 0x0f61, + CMSG_GAMEOBJ_USE = 0x5fee, CMSG_DESTROY_ITEMS = 0x0B2, SMSG_GAMEOBJECT_CUSTOM_ANIM = 0x0B3, CMSG_AREATRIGGER = 0x0B4, - MSG_MOVE_START_FORWARD = 0x0B5, - MSG_MOVE_START_BACKWARD = 0x0B6, - MSG_MOVE_STOP = 0x0B7, - MSG_MOVE_START_STRAFE_LEFT = 0x0B8, - MSG_MOVE_START_STRAFE_RIGHT = 0x0B9, - MSG_MOVE_STOP_STRAFE = 0x0BA, - MSG_MOVE_JUMP = 0x0BB, - MSG_MOVE_START_TURN_LEFT = 0x0BC, - MSG_MOVE_START_TURN_RIGHT = 0x0BD, - MSG_MOVE_STOP_TURN = 0x0BE, - MSG_MOVE_START_PITCH_UP = 0x0BF, - MSG_MOVE_START_PITCH_DOWN = 0x0C0, - MSG_MOVE_STOP_PITCH = 0x0C1, - MSG_MOVE_SET_RUN_MODE = 0x0C2, - MSG_MOVE_SET_WALK_MODE = 0x0C3, + MSG_MOVE_START_FORWARD = 0x1fe8, + MSG_MOVE_START_BACKWARD = 0x2fe1, + MSG_MOVE_STOP = 0xfd6f, + MSG_MOVE_START_STRAFE_LEFT = 0x39e7, + MSG_MOVE_START_STRAFE_RIGHT = 0x9fe5, + MSG_MOVE_STOP_STRAFE = 0x1dee, + MSG_MOVE_JUMP = 0x9f6a, + MSG_MOVE_START_TURN_LEFT = 0x4d69, + MSG_MOVE_START_TURN_RIGHT = 0x5dea, + MSG_MOVE_STOP_TURN = 0xefe6, + MSG_MOVE_START_PITCH_UP = 0xa9e2, + MSG_MOVE_START_PITCH_DOWN = 0xfd63, + MSG_MOVE_STOP_PITCH = 0x796a, + MSG_MOVE_SET_RUN_MODE = 0x7de1, + MSG_MOVE_SET_WALK_MODE = 0x2fe7, MSG_MOVE_TOGGLE_LOGGING = 0x0C4, - MSG_MOVE_TELEPORT = 0x0C5, + MSG_MOVE_TELEPORT = 0x8de4, MSG_MOVE_TELEPORT_CHEAT = 0x0C6, - MSG_MOVE_TELEPORT_ACK = 0x0C7, + MSG_MOVE_TELEPORT_ACK = 0xb9e7, MSG_MOVE_TOGGLE_FALL_LOGGING = 0x0C8, - MSG_MOVE_FALL_LAND = 0x0C9, - MSG_MOVE_START_SWIM = 0x0CA, - MSG_MOVE_STOP_SWIM = 0x0CB, + MSG_MOVE_FALL_LAND = 0x6be7, + MSG_MOVE_START_SWIM = 0x7fef, + MSG_MOVE_STOP_SWIM = 0xede3, MSG_MOVE_SET_RUN_SPEED_CHEAT = 0x0CC, - MSG_MOVE_SET_RUN_SPEED = 0x0CD, + MSG_MOVE_SET_RUN_SPEED = 0xcb68, MSG_MOVE_SET_RUN_BACK_SPEED_CHEAT = 0x0CE, - MSG_MOVE_SET_RUN_BACK_SPEED = 0x0CF, + MSG_MOVE_SET_RUN_BACK_SPEED = 0xffe1, MSG_MOVE_SET_WALK_SPEED_CHEAT = 0x0D0, - MSG_MOVE_SET_WALK_SPEED = 0x0D1, + MSG_MOVE_SET_WALK_SPEED = 0xab61, MSG_MOVE_SET_SWIM_SPEED_CHEAT = 0x0D2, - MSG_MOVE_SET_SWIM_SPEED = 0x0D3, + MSG_MOVE_SET_SWIM_SPEED = 0x6fe0, MSG_MOVE_SET_SWIM_BACK_SPEED_CHEAT = 0x0D4, - MSG_MOVE_SET_SWIM_BACK_SPEED = 0x0D5, + MSG_MOVE_SET_SWIM_BACK_SPEED = 0x5be5, MSG_MOVE_SET_ALL_SPEED_CHEAT = 0x0D6, MSG_MOVE_SET_TURN_RATE_CHEAT = 0x0D7, - MSG_MOVE_SET_TURN_RATE = 0x0D8, - MSG_MOVE_TOGGLE_COLLISION_CHEAT = 0x0D9, - MSG_MOVE_SET_FACING = 0x0DA, - MSG_MOVE_SET_PITCH = 0x0DB, - MSG_MOVE_WORLDPORT_ACK = 0x0DC, - SMSG_MONSTER_MOVE = 0x0DD, - SMSG_MOVE_WATER_WALK = 0x0DE, - SMSG_MOVE_LAND_WALK = 0x0DF, + MSG_MOVE_SET_TURN_RATE = 0x8d6c, + MSG_MOVE_TOGGLE_COLLISION_CHEAT = 0x89ee, + MSG_MOVE_SET_FACING = 0xef6c, + MSG_MOVE_SET_PITCH = 0x2d6a, + MSG_MOVE_WORLDPORT_ACK = 0xcf64, + SMSG_MONSTER_MOVE = 0x1be2, + SMSG_MOVE_WATER_WALK = 0x79e7, + SMSG_MOVE_LAND_WALK = 0x1f62, MSG_MOVE_SET_RAW_POSITION_ACK = 0x0E0, CMSG_MOVE_SET_RAW_POSITION = 0x0E1, - SMSG_FORCE_RUN_SPEED_CHANGE = 0x0E2, - CMSG_FORCE_RUN_SPEED_CHANGE_ACK = 0x0E3, - SMSG_FORCE_RUN_BACK_SPEED_CHANGE = 0x0E4, + SMSG_FORCE_RUN_SPEED_CHANGE = 0x9968, + CMSG_FORCE_RUN_SPEED_CHANGE_ACK = 0x09e2, + SMSG_FORCE_RUN_BACK_SPEED_CHANGE = 0x4961, CMSG_FORCE_RUN_BACK_SPEED_CHANGE_ACK = 0x0E5, - SMSG_FORCE_SWIM_SPEED_CHANGE = 0x0E6, + SMSG_FORCE_SWIM_SPEED_CHANGE = 0x0b60, CMSG_FORCE_SWIM_SPEED_CHANGE_ACK = 0x0E7, - SMSG_FORCE_MOVE_ROOT = 0x0E8, + SMSG_FORCE_MOVE_ROOT = 0xb964, CMSG_FORCE_MOVE_ROOT_ACK = 0x0E9, - SMSG_FORCE_MOVE_UNROOT = 0x0EA, + SMSG_FORCE_MOVE_UNROOT = 0xdfe0, CMSG_FORCE_MOVE_UNROOT_ACK = 0x0EB, - MSG_MOVE_ROOT = 0x0EC, - MSG_MOVE_UNROOT = 0x0ED, - MSG_MOVE_HEARTBEAT = 0x0EE, - SMSG_MOVE_KNOCK_BACK = 0x0EF, + MSG_MOVE_ROOT = 0xdf67, + MSG_MOVE_UNROOT = 0x2fec, + MSG_MOVE_HEARTBEAT = 0xad6e, + SMSG_MOVE_KNOCK_BACK = 0x6b61, CMSG_MOVE_KNOCK_BACK_ACK = 0x0F0, - MSG_MOVE_KNOCK_BACK = 0x0F1, - SMSG_MOVE_FEATHER_FALL = 0x0F2, - SMSG_MOVE_NORMAL_FALL = 0x0F3, - SMSG_MOVE_SET_HOVER = 0x0F4, - SMSG_MOVE_UNSET_HOVER = 0x0F5, + MSG_MOVE_KNOCK_BACK = 0x1fe9, + SMSG_MOVE_FEATHER_FALL = 0x296e, + SMSG_MOVE_NORMAL_FALL = 0xdbec, + SMSG_MOVE_SET_HOVER = 0xcbe1, + SMSG_MOVE_UNSET_HOVER = 0xbf69, CMSG_MOVE_HOVER_ACK = 0x0F6, - MSG_MOVE_HOVER = 0x0F7, + MSG_MOVE_HOVER = 0xad6b, CMSG_TRIGGER_CINEMATIC_CHEAT = 0x0F8, CMSG_OPENING_CINEMATIC = 0x0F9, - SMSG_TRIGGER_CINEMATIC = 0x0FA, + SMSG_TRIGGER_CINEMATIC = 0x9de1, CMSG_NEXT_CINEMATIC_CAMERA = 0x0FB, CMSG_COMPLETE_CINEMATIC = 0x0FC, - SMSG_TUTORIAL_FLAGS = 0x0FD, + SMSG_TUTORIAL_FLAGS = 0x5d62, CMSG_TUTORIAL_FLAG = 0x0FE, CMSG_TUTORIAL_CLEAR = 0x0FF, CMSG_TUTORIAL_RESET = 0x100, CMSG_STANDSTATECHANGE = 0x101, - CMSG_EMOTE = 0x102, + CMSG_EMOTE = 0xf9ee, SMSG_EMOTE = 0x103, CMSG_TEXT_EMOTE = 0x104, - SMSG_TEXT_EMOTE = 0x105, + SMSG_TEXT_EMOTE = 11105, CMSG_AUTOEQUIP_GROUND_ITEM = 0x106, CMSG_AUTOSTORE_GROUND_ITEM = 0x107, CMSG_AUTOSTORE_LOOT_ITEM = 0x108, @@ -324,35 +324,35 @@ enum Opcodes CMSG_SET_TRADE_GOLD = 0x11F, SMSG_TRADE_STATUS = 0x120, SMSG_TRADE_STATUS_EXTENDED = 0x121, - SMSG_INITIALIZE_FACTIONS = 0x122, - SMSG_SET_FACTION_VISIBLE = 0x123, - SMSG_SET_FACTION_STANDING = 0x124, + SMSG_INITIALIZE_FACTIONS = 0x1fe1, + SMSG_SET_FACTION_VISIBLE = 0x6f66, + SMSG_SET_FACTION_STANDING = 0xad68, CMSG_SET_FACTION_ATWAR = 0x125, CMSG_SET_FACTION_CHEAT = 0x126, - SMSG_SET_PROFICIENCY = 0x127, - CMSG_SET_ACTION_BUTTON = 0x128, - SMSG_ACTION_BUTTONS = 0x129, - SMSG_INITIAL_SPELLS = 0x12A, - SMSG_LEARNED_SPELL = 0x12B, + SMSG_SET_PROFICIENCY = 0xc960, + CMSG_SET_ACTION_BUTTON = 0xbbed, + SMSG_ACTION_BUTTONS = 0xe9e6, + SMSG_INITIAL_SPELLS = 0xeb63, + SMSG_LEARNED_SPELL = 0xbdea, SMSG_SUPERCEDED_SPELL = 0x12C, CMSG_NEW_SPELL_SLOT = 0x12D, - CMSG_CAST_SPELL = 0x12E, - CMSG_CANCEL_CAST = 0x12F, - SMSG_CAST_FAILED = 0x130, - SMSG_SPELL_START = 0x131, - SMSG_SPELL_GO = 0x132, - SMSG_SPELL_FAILURE = 0x133, - SMSG_SPELL_COOLDOWN = 0x134, - SMSG_COOLDOWN_EVENT = 0x135, - CMSG_CANCEL_AURA = 0x136, - SMSG_EQUIPMENT_SET_SAVED = 0x137, - SMSG_PET_CAST_FAILED = 0x138, - MSG_CHANNEL_START = 0x139, - MSG_CHANNEL_UPDATE = 0x13A, + CMSG_CAST_SPELL = 0xa962, + CMSG_CANCEL_CAST = 0xfd69, + SMSG_CAST_FAILED = 0x4d62, + SMSG_SPELL_START = 0xef64, + SMSG_SPELL_GO = 0xcb64, + SMSG_SPELL_FAILURE = 0xbbe0, + SMSG_SPELL_COOLDOWN = 0xab68, + SMSG_COOLDOWN_EVENT = 0x2fe2, + CMSG_CANCEL_AURA = 0xdf6c, + SMSG_EQUIPMENT_SET_SAVED = 0xbd61, + SMSG_PET_CAST_FAILED = 0x9fef, + MSG_CHANNEL_START = 0xc968, + MSG_CHANNEL_UPDATE = 0x2f6a, CMSG_CANCEL_CHANNELLING = 0x13B, - SMSG_AI_REACTION = 0x13C, + SMSG_AI_REACTION = 0x7fe7, CMSG_SET_SELECTION = 0x13D, - CMSG_EQUIPMENT_SET_DELETE = 0x13E, + CMSG_EQUIPMENT_SET_DELETE = 0xaf69, CMSG_INSTANCE_LOCK_WARNING_RESPONSE = 0x13F, CMSG_UNUSED2 = 0x140, CMSG_ATTACKSWING = 0x141, @@ -367,19 +367,19 @@ enum Opcodes SMSG_ATTACKERSTATEUPDATE = 0x14A, SMSG_BATTLEFIELD_PORT_DENIED = 0x14B, SMSG_DAMAGE_DONE_OBSOLETE = 0x14C, - SMSG_UNIT_SPELLCAST_START = 0x14D, - SMSG_CANCEL_COMBAT = 0x14E, + SMSG_UNIT_SPELLCAST_START = 0x8be3, + SMSG_CANCEL_COMBAT = 0xcde6, SMSG_SPELLBREAKLOG = 0x14F, SMSG_SPELLHEALLOG = 0x150, SMSG_SPELLENERGIZELOG = 0x151, - SMSG_BREAK_TARGET = 0x152, + SMSG_BREAK_TARGET = 0xa967, CMSG_SAVE_PLAYER = 0x153, CMSG_SETDEATHBINDPOINT = 0x154, - SMSG_BINDPOINTUPDATE = 0x155, + SMSG_BINDPOINTUPDATE = 0x3bed, CMSG_GETDEATHBINDZONE = 0x156, SMSG_BINDZONEREPLY = 0x157, SMSG_PLAYERBOUND = 0x158, - SMSG_CLIENT_CONTROL_UPDATE = 0x159, + SMSG_CLIENT_CONTROL_UPDATE = 0x3dea, CMSG_REPOP_REQUEST = 0x15A, SMSG_RESURRECT_REQUEST = 0x15B, CMSG_RESURRECT_RESPONSE = 0x15C, @@ -402,10 +402,10 @@ enum Opcodes CMSG_DUEL_CANCELLED = 0x16D, SMSG_MOUNTRESULT = 0x16E, SMSG_DISMOUNTRESULT = 0x16F, - SMSG_PUREMOUNT_CANCELLED_OBSOLETE = 0x170, // ERR_REMOVE_FROM_PVP_QUEUE_* events + SMSG_PUREMOUNT_CANCELLED_OBSOLETE = 0x1f66, // ERR_REMOVE_FROM_PVP_QUEUE_* events CMSG_MOUNTSPECIAL_ANIM = 0x171, - SMSG_MOUNTSPECIAL_ANIM = 0x172, - SMSG_PET_TAME_FAILURE = 0x173, + SMSG_MOUNTSPECIAL_ANIM = 0xf9e1, + SMSG_PET_TAME_FAILURE = 0x9b66, CMSG_PET_SET_ACTION = 0x174, CMSG_PET_ACTION = 0x175, CMSG_PET_ABANDON = 0x176, @@ -413,12 +413,12 @@ enum Opcodes SMSG_PET_NAME_INVALID = 0x178, SMSG_PET_SPELLS = 0x179, SMSG_PET_MODE = 0x17A, - CMSG_GOSSIP_HELLO = 0x17B, + CMSG_GOSSIP_HELLO = 0x8f62, CMSG_GOSSIP_SELECT_OPTION = 0x17C, SMSG_GOSSIP_MESSAGE = 0x17D, SMSG_GOSSIP_COMPLETE = 0x17E, - CMSG_NPC_TEXT_QUERY = 0x17F, - SMSG_NPC_TEXT_UPDATE = 0x180, + CMSG_NPC_TEXT_QUERY = 0xcbe8, + SMSG_NPC_TEXT_UPDATE = 0x6ded, SMSG_NPC_WONT_TALK = 0x181, CMSG_QUESTGIVER_STATUS_QUERY = 0x182, SMSG_QUESTGIVER_STATUS = 0x183, @@ -488,17 +488,17 @@ enum Opcodes CMSG_OFFER_PETITION = 0x1C3, CMSG_TURN_IN_PETITION = 0x1C4, SMSG_TURN_IN_PETITION_RESULTS = 0x1C5, - CMSG_PETITION_QUERY = 0x1C6, - SMSG_PETITION_QUERY_RESPONSE = 0x1C7, + CMSG_PETITION_QUERY = 0xcdee, + SMSG_PETITION_QUERY_RESPONSE = 0x59ef, SMSG_FISH_NOT_HOOKED = 0x1C8, SMSG_FISH_ESCAPED = 0x1C9, CMSG_BUG = 0x1CA, - SMSG_NOTIFICATION = 0x1CB, - CMSG_PLAYED_TIME = 0x1CC, - SMSG_PLAYED_TIME = 0x1CD, - CMSG_QUERY_TIME = 0x1CE, - SMSG_QUERY_TIME_RESPONSE = 0x1CF, - SMSG_LOG_XPGAIN = 0x1D0, + SMSG_NOTIFICATION = 0x99ee, + CMSG_PLAYED_TIME = 0xff62, + SMSG_PLAYED_TIME = 0x1f69, + CMSG_QUERY_TIME = 0xf967, + SMSG_QUERY_TIME_RESPONSE = 0x3d6b, + SMSG_LOG_XPGAIN = 36841, SMSG_AURACASTLOG = 0x1D1, CMSG_RECLAIM_CORPSE = 0x1D2, CMSG_WRAP_ITEM = 0x1D3, @@ -507,38 +507,38 @@ enum Opcodes SMSG_RESISTLOG = 0x1D6, SMSG_ENCHANTMENTLOG = 0x1D7, CMSG_SET_SKILL_CHEAT = 0x1D8, - SMSG_START_MIRROR_TIMER = 0x1D9, - SMSG_PAUSE_MIRROR_TIMER = 0x1DA, - SMSG_STOP_MIRROR_TIMER = 0x1DB, - CMSG_PING = 0x1DC, - SMSG_PONG = 0x1DD, - SMSG_CLEAR_COOLDOWN = 0x1DE, + SMSG_START_MIRROR_TIMER = 0x9b6b, + SMSG_PAUSE_MIRROR_TIMER = 0x9de5, + SMSG_STOP_MIRROR_TIMER = 0x7b65, + CMSG_PING = 0x7fe5, ///0x1DC, + SMSG_PONG = 0xdd61, //0x1DD, + SMSG_CLEAR_COOLDOWN = 0xa9e6, SMSG_GAMEOBJECT_PAGETEXT = 0x1DF, CMSG_SETSHEATHED = 0x1E0, - SMSG_COOLDOWN_CHEAT = 0x1E1, - SMSG_SPELL_DELAYED = 0x1E2, + SMSG_COOLDOWN_CHEAT = 0xd96b, + SMSG_SPELL_DELAYED = 0xb966, CMSG_QUEST_POI_QUERY = 0x1E3, SMSG_QUEST_POI_QUERY_RESPONSE = 0x1E4, CMSG_GHOST = 0x1E5, CMSG_GM_INVIS = 0x1E6, - SMSG_INVALID_PROMOTION_CODE = 0x1E7, + SMSG_INVALID_PROMOTION_CODE = 0xf9e4, MSG_GM_BIND_OTHER = 0x1E8, MSG_GM_SUMMON = 0x1E9, SMSG_ITEM_TIME_UPDATE = 0x1EA, SMSG_ITEM_ENCHANT_TIME_UPDATE = 0x1EB, - SMSG_AUTH_CHALLENGE = 0x1EC, - CMSG_AUTH_SESSION = 0x1ED, - SMSG_AUTH_RESPONSE = 0x1EE, + SMSG_AUTH_CHALLENGE = 0x1DE3, + CMSG_AUTH_SESSION = 0x99EC, + SMSG_AUTH_RESPONSE = 0x0FEF, MSG_GM_SHOWLABEL = 0x1EF, CMSG_PET_CAST_SPELL = 0x1F0, MSG_SAVE_GUILD_EMBLEM = 0x1F1, MSG_TABARDVENDOR_ACTIVATE = 0x1F2, - SMSG_PLAY_SPELL_VISUAL = 0x1F3, - CMSG_ZONEUPDATE = 0x1F4, + SMSG_PLAY_SPELL_VISUAL = 0xad60, + CMSG_ZONEUPDATE = 0x9fe7, SMSG_PARTYKILLLOG = 0x1F5, - SMSG_COMPRESSED_UPDATE_OBJECT = 0x1F6, - SMSG_PLAY_SPELL_IMPACT = 0x1F7, - SMSG_EXPLORATION_EXPERIENCE = 0x1F8, + SMSG_COMPRESSED_UPDATE_OBJECT = 0xafe3, + SMSG_PLAY_SPELL_IMPACT = 0xbd6e, + SMSG_EXPLORATION_EXPERIENCE = 0x9be6, CMSG_GM_SET_SECURITY_GROUP = 0x1F9, CMSG_GM_NUKE = 0x1FA, MSG_RANDOM_ROLL = 0x1FB, @@ -551,26 +551,26 @@ enum Opcodes CMSG_UNLEARN_SKILL = 0x202, SMSG_REMOVED_SPELL = 0x203, CMSG_DECHARGE = 0x204, - CMSG_GMTICKET_CREATE = 0x205, - SMSG_GMTICKET_CREATE = 0x206, + CMSG_GMTICKET_CREATE = 0x2bec, + SMSG_GMTICKET_CREATE = 0xfde2, CMSG_GMTICKET_UPDATETEXT = 0x207, - SMSG_GMTICKET_UPDATETEXT = 0x208, - SMSG_ACCOUNT_DATA_TIMES = 0x209, + SMSG_GMTICKET_UPDATETEXT = 0x9fe0, + SMSG_ACCOUNT_DATA_TIMES = 0x2b6d, CMSG_REQUEST_ACCOUNT_DATA = 0x20A, - CMSG_UPDATE_ACCOUNT_DATA = 0x20B, - SMSG_UPDATE_ACCOUNT_DATA = 0x20C, + CMSG_UPDATE_ACCOUNT_DATA = 0x3d6c, + SMSG_UPDATE_ACCOUNT_DATA = 0x5b67, SMSG_CLEAR_FAR_SIGHT_IMMEDIATE = 0x20D, SMSG_PLAYER_DIFFICULTY_CHANGE = 0x20E, CMSG_GM_TEACH = 0x20F, CMSG_GM_CREATE_ITEM_TARGET = 0x210, - CMSG_GMTICKET_GETTICKET = 0x211, - SMSG_GMTICKET_GETTICKET = 0x212, + CMSG_GMTICKET_GETTICKET = 0x6b6e, + SMSG_GMTICKET_GETTICKET = 0x8d69, CMSG_UNLEARN_TALENTS = 0x213, SMSG_GAMEOBJECT_SPAWN_ANIM_OBSOLETE = 0x214, SMSG_GAMEOBJECT_DESPAWN_ANIM = 0x215, - MSG_CORPSE_QUERY = 0x216, + MSG_CORPSE_QUERY = 0x39e3, CMSG_GMTICKET_DELETETICKET = 0x217, - SMSG_GMTICKET_DELETETICKET = 0x218, + SMSG_GMTICKET_DELETETICKET = 0x9b60, SMSG_CHAT_WRONG_FACTION = 0x219, CMSG_GMTICKET_SYSTEMSTATUS = 0x21A, SMSG_GMTICKET_SYSTEMSTATUS = 0x21B, @@ -593,28 +593,28 @@ enum Opcodes CMSG_GM_MOVECORPSE = 0x22C, CMSG_GM_FREEZE = 0x22D, CMSG_GM_UBERINVIS = 0x22E, - CMSG_GM_REQUEST_PLAYER_INFO = 0x22F, - SMSG_GM_PLAYER_INFO = 0x230, + CMSG_GM_REQUEST_PLAYER_INFO = 0xcbe7, + SMSG_GM_PLAYER_INFO = 0x5de0, CMSG_GUILD_RANK = 0x231, CMSG_GUILD_ADD_RANK = 0x232, CMSG_GUILD_DEL_RANK = 0x233, CMSG_GUILD_SET_PUBLIC_NOTE = 0x234, CMSG_GUILD_SET_OFFICER_NOTE = 0x235, - SMSG_LOGIN_VERIFY_WORLD = 0x236, + SMSG_LOGIN_VERIFY_WORLD = 0xf96e, CMSG_CLEAR_EXPLORATION = 0x237, CMSG_SEND_MAIL = 0x238, SMSG_SEND_MAIL_RESULT = 0x239, CMSG_GET_MAIL_LIST = 0x23A, SMSG_MAIL_LIST_RESULT = 0x23B, - CMSG_BATTLEFIELD_LIST = 0x23C, + CMSG_BATTLEFIELD_LIST = 0xa9e7, SMSG_BATTLEFIELD_LIST = 0x23D, CMSG_BATTLEFIELD_JOIN = 0x23E, - SMSG_BATTLEFIELD_WIN_OBSOLETE = 0x23F, + SMSG_BATTLEFIELD_WIN_OBSOLETE = 0xfb6d, SMSG_BATTLEFIELD_LOSE_OBSOLETE = 0x240, CMSG_TAXICLEARNODE = 0x241, CMSG_TAXIENABLENODE = 0x242, - CMSG_ITEM_TEXT_QUERY = 0x243, - SMSG_ITEM_TEXT_QUERY_RESPONSE = 0x244, + CMSG_ITEM_TEXT_QUERY = 0xab64, + SMSG_ITEM_TEXT_QUERY_RESPONSE = 0xf9e2, CMSG_MAIL_TAKE_MONEY = 0x245, CMSG_MAIL_TAKE_ITEM = 0x246, CMSG_MAIL_MARK_AS_READ = 0x247, @@ -627,10 +627,10 @@ enum Opcodes SMSG_PERIODICAURALOG = 0x24E, SMSG_SPELLDAMAGESHIELD = 0x24F, SMSG_SPELLNONMELEEDAMAGELOG = 0x250, - CMSG_LEARN_TALENT = 0x251, + CMSG_LEARN_TALENT = 0xdbe2, SMSG_RESURRECT_FAILED = 0x252, - CMSG_TOGGLE_PVP = 0x253, - SMSG_ZONE_UNDER_ATTACK = 0x254, + CMSG_TOGGLE_PVP = 0x8b6d, + SMSG_ZONE_UNDER_ATTACK = 27503, MSG_AUCTION_HELLO = 0x255, CMSG_AUCTION_SELL_ITEM = 0x256, CMSG_AUCTION_REMOVE_ITEM = 0x257, @@ -648,11 +648,11 @@ enum Opcodes SMSG_SPELLORDAMAGE_IMMUNE = 0x263, CMSG_AUCTION_LIST_BIDDER_ITEMS = 0x264, SMSG_AUCTION_BIDDER_LIST_RESULT = 0x265, - SMSG_SET_FLAT_SPELL_MODIFIER = 0x266, - SMSG_SET_PCT_SPELL_MODIFIER = 0x267, + SMSG_SET_FLAT_SPELL_MODIFIER = 0xcfe9, + SMSG_SET_PCT_SPELL_MODIFIER = 0xdde8, CMSG_SET_AMMO = 0x268, - SMSG_CORPSE_RECLAIM_DELAY = 0x269, - CMSG_SET_ACTIVE_MOVER = 0x26A, + SMSG_CORPSE_RECLAIM_DELAY = 0xa9ec, + CMSG_SET_ACTIVE_MOVER = 0xbfe3, CMSG_PET_CANCEL_AURA = 0x26B, CMSG_PLAYER_AI_CHEAT = 0x26C, CMSG_CANCEL_AUTO_REPEAT_SPELL = 0x26D, @@ -665,8 +665,8 @@ enum Opcodes CMSG_STABLE_REVIVE_PET = 0x274, CMSG_STABLE_SWAP_PET = 0x275, MSG_QUEST_PUSH_RESULT = 0x276, - SMSG_PLAY_MUSIC = 0x277, - SMSG_PLAY_OBJECT_SOUND = 0x278, + SMSG_PLAY_MUSIC = 0xbde1, + SMSG_PLAY_OBJECT_SOUND = 0x396b, CMSG_REQUEST_PET_INFO = 0x279, CMSG_FAR_SIGHT = 0x27A, SMSG_SPELLDISPELLOG = 0x27B, @@ -678,7 +678,7 @@ enum Opcodes CMSG_RESET_FACTION_CHEAT = 0x281, CMSG_AUTOSTORE_BANK_ITEM = 0x282, CMSG_AUTOBANK_ITEM = 0x283, - MSG_QUERY_NEXT_MAIL_TIME = 0x284, + MSG_QUERY_NEXT_MAIL_TIME = 0x6fe1, SMSG_RECEIVED_MAIL = 0x285, SMSG_RAID_GROUP_ONLY = 0x286, CMSG_SET_DURABILITY_CHEAT = 0x287, @@ -686,24 +686,24 @@ enum Opcodes CMSG_ADD_PVP_MEDAL_CHEAT = 0x289, CMSG_DEL_PVP_MEDAL_CHEAT = 0x28A, CMSG_SET_PVP_TITLE = 0x28B, - SMSG_PVP_CREDIT = 0x28C, + SMSG_PVP_CREDIT = 0xdf61, SMSG_AUCTION_REMOVED_NOTIFICATION = 0x28D, CMSG_GROUP_RAID_CONVERT = 0x28E, CMSG_GROUP_ASSISTANT_LEADER = 0x28F, CMSG_BUYBACK_ITEM = 0x290, - SMSG_SERVER_MESSAGE = 0x291, + SMSG_SERVER_MESSAGE = 19939, CMSG_SET_SAVED_INSTANCE_EXTEND = 0x292, // lua: SetSavedInstanceExtend SMSG_LFG_OFFER_CONTINUE = 0x293, CMSG_MEETINGSTONE_CHEAT = 0x294, // not found 3.3 SMSG_MEETINGSTONE_SETQUEUE = 0x295, // string, showed in console - CMSG_MEETINGSTONE_INFO = 0x296, // EVENT_LFG_UPDATE + CMSG_MEETINGSTONE_INFO = 0x3b60, // EVENT_LFG_UPDATE SMSG_MEETINGSTONE_COMPLETE = 0x297, // mail open from gossip?, EVENT_MAIL_SHOW - SMSG_MEETINGSTONE_IN_PROGRESS = 0x298, // uint32, some UPDATE_COOLDOWN events + SMSG_MEETINGSTONE_IN_PROGRESS = 0x36bd, // uint32, some UPDATE_COOLDOWN events SMSG_MEETINGSTONE_MEMBER_ADDED = 0x299, // uint32, errors: ERR_NOT_IN_GROUP (2,51) and ERR_NOT_IN_RAID (3,39,40) CMSG_GMTICKETSYSTEM_TOGGLE = 0x29A, CMSG_CANCEL_GROWTH_AURA = 0x29B, - SMSG_CANCEL_AUTO_REPEAT = 0x29C, - SMSG_STANDSTATE_UPDATE = 0x29D, + SMSG_CANCEL_AUTO_REPEAT = 0x2d64, + SMSG_STANDSTATE_UPDATE = 0x1960, SMSG_LOOT_ALL_PASSED = 0x29E, SMSG_LOOT_ROLL_WON = 0x29F, CMSG_LOOT_ROLL = 0x2A0, @@ -711,70 +711,70 @@ enum Opcodes SMSG_LOOT_ROLL = 0x2A2, CMSG_LOOT_MASTER_GIVE = 0x2A3, SMSG_LOOT_MASTER_LIST = 0x2A4, - SMSG_SET_FORCED_REACTIONS = 0x2A5, - SMSG_SPELL_FAILED_OTHER = 0x2A6, - SMSG_GAMEOBJECT_RESET_STATE = 0x2A7, + SMSG_SET_FORCED_REACTIONS = 0x19e5, + SMSG_SPELL_FAILED_OTHER = 0x1bec, + SMSG_GAMEOBJECT_RESET_STATE = 0xebe0, CMSG_REPAIR_ITEM = 0x2A8, SMSG_CHAT_PLAYER_NOT_FOUND = 0x2A9, MSG_TALENT_WIPE_CONFIRM = 0x2AA, SMSG_SUMMON_REQUEST = 0x2AB, CMSG_SUMMON_RESPONSE = 0x2AC, MSG_MOVE_TOGGLE_GRAVITY_CHEAT = 0x2AD, - SMSG_MONSTER_MOVE_TRANSPORT = 0x2AE, + SMSG_MONSTER_MOVE_TRANSPORT = 0x3969, SMSG_PET_BROKEN = 0x2AF, - MSG_MOVE_FEATHER_FALL = 0x2B0, - MSG_MOVE_WATER_WALK = 0x2B1, + MSG_MOVE_FEATHER_FALL = 0x49e2, + MSG_MOVE_WATER_WALK = 0xfbe3, CMSG_SERVER_BROADCAST = 0x2B2, CMSG_SELF_RES = 0x2B3, - SMSG_FEIGN_DEATH_RESISTED = 0x2B4, + SMSG_FEIGN_DEATH_RESISTED = 0x8f6f, CMSG_RUN_SCRIPT = 0x2B5, SMSG_SCRIPT_MESSAGE = 0x2B6, SMSG_DUEL_COUNTDOWN = 0x2B7, - SMSG_AREA_TRIGGER_MESSAGE = 0x2B8, + SMSG_AREA_TRIGGER_MESSAGE = 0x6de3, CMSG_SHOWING_HELM = 0x2B9, CMSG_SHOWING_CLOAK = 0x2BA, SMSG_LFG_ROLE_CHOSEN = 0x2BB, SMSG_PLAYER_SKINNED = 0x2BC, - SMSG_DURABILITY_DAMAGE_DEATH = 0x2BD, + SMSG_DURABILITY_DAMAGE_DEATH = 11104, CMSG_SET_EXPLORATION = 0x2BE, - CMSG_SET_ACTIONBAR_TOGGLES = 0x2BF, + CMSG_SET_ACTIONBAR_TOGGLES = 0xade3, UMSG_DELETE_GUILD_CHARTER = 0x2C0, MSG_PETITION_RENAME = 0x2C1, - SMSG_INIT_WORLD_STATES = 0x2C2, - SMSG_UPDATE_WORLD_STATE = 0x2C3, - CMSG_ITEM_NAME_QUERY = 0x2C4, - SMSG_ITEM_NAME_QUERY_RESPONSE = 0x2C5, + SMSG_INIT_WORLD_STATES = 0xc967, + SMSG_UPDATE_WORLD_STATE = 0x2d6f, + CMSG_ITEM_NAME_QUERY = 0xbb6c, + SMSG_ITEM_NAME_QUERY_RESPONSE = 0x9b69, SMSG_PET_ACTION_FEEDBACK = 0x2C6, CMSG_CHAR_RENAME = 0x2C7, - SMSG_CHAR_RENAME = 0x2C8, + SMSG_CHAR_RENAME = 0x6fe3, CMSG_MOVE_SPLINE_DONE = 0x2C9, CMSG_MOVE_FALL_RESET = 0x2CA, SMSG_INSTANCE_SAVE_CREATED = 0x2CB, - SMSG_RAID_INSTANCE_INFO = 0x2CC, - CMSG_REQUEST_RAID_INFO = 0x2CD, - CMSG_MOVE_TIME_SKIPPED = 0x2CE, + SMSG_RAID_INSTANCE_INFO = 39264, + CMSG_REQUEST_RAID_INFO = 0x9b6a, + CMSG_MOVE_TIME_SKIPPED = 0x9fea, CMSG_MOVE_FEATHER_FALL_ACK = 0x2CF, CMSG_MOVE_WATER_WALK_ACK = 0x2D0, CMSG_MOVE_NOT_ACTIVE_MOVER = 0x2D1, - SMSG_PLAY_SOUND = 0x2D2, - CMSG_BATTLEFIELD_STATUS = 0x2D3, + SMSG_PLAY_SOUND = 0xbb67, + CMSG_BATTLEFIELD_STATUS = 0x2be4, SMSG_BATTLEFIELD_STATUS = 0x2D4, CMSG_BATTLEFIELD_PORT = 0x2D5, MSG_INSPECT_HONOR_STATS = 0x2D6, CMSG_BATTLEMASTER_HELLO = 0x2D7, CMSG_MOVE_START_SWIM_CHEAT = 0x2D8, CMSG_MOVE_STOP_SWIM_CHEAT = 0x2D9, - SMSG_FORCE_WALK_SPEED_CHANGE = 0x2DA, + SMSG_FORCE_WALK_SPEED_CHANGE = 0x1deb, CMSG_FORCE_WALK_SPEED_CHANGE_ACK = 0x2DB, - SMSG_FORCE_SWIM_BACK_SPEED_CHANGE = 0x2DC, + SMSG_FORCE_SWIM_BACK_SPEED_CHANGE = 0x9bee, CMSG_FORCE_SWIM_BACK_SPEED_CHANGE_ACK = 0x2DD, - SMSG_FORCE_TURN_RATE_CHANGE = 0x2DE, + SMSG_FORCE_TURN_RATE_CHANGE = 0xbbee, CMSG_FORCE_TURN_RATE_CHANGE_ACK = 0x2DF, MSG_PVP_LOG_DATA = 0x2E0, CMSG_LEAVE_BATTLEFIELD = 0x2E1, CMSG_AREA_SPIRIT_HEALER_QUERY = 0x2E2, CMSG_AREA_SPIRIT_HEALER_QUEUE = 0x2E3, - SMSG_AREA_SPIRIT_HEALER_TIME = 0x2E4, + SMSG_AREA_SPIRIT_HEALER_TIME = 0x2dee, CMSG_GM_UNTEACH = 0x2E5, SMSG_WARDEN_DATA = 0x2E6, CMSG_WARDEN_DATA = 0x2E7, @@ -785,74 +785,74 @@ enum Opcodes SMSG_BATTLEGROUND_PLAYER_JOINED = 0x2EC, SMSG_BATTLEGROUND_PLAYER_LEFT = 0x2ED, CMSG_BATTLEMASTER_JOIN = 0x2EE, - SMSG_ADDON_INFO = 0x2EF, + SMSG_ADDON_INFO = 0x3B63, CMSG_PET_UNLEARN = 0x2F0, SMSG_PET_UNLEARN_CONFIRM = 0x2F1, SMSG_PARTY_MEMBER_STATS_FULL = 0x2F2, CMSG_PET_SPELL_AUTOCAST = 0x2F3, - SMSG_WEATHER = 0x2F4, + SMSG_WEATHER = 0xef6d, SMSG_PLAY_TIME_WARNING = 0x2F5, SMSG_MINIGAME_SETUP = 0x2F6, SMSG_MINIGAME_STATE = 0x2F7, CMSG_MINIGAME_MOVE = 0x2F8, SMSG_MINIGAME_MOVE_FAILED = 0x2F9, - SMSG_RAID_INSTANCE_MESSAGE = 0x2FA, - SMSG_COMPRESSED_MOVES = 0x2FB, + SMSG_RAID_INSTANCE_MESSAGE = 55657, + SMSG_COMPRESSED_MOVES = 0x49e0, CMSG_GUILD_INFO_TEXT = 0x2FC, SMSG_CHAT_RESTRICTED = 0x2FD, - SMSG_SPLINE_SET_RUN_SPEED = 0x2FE, - SMSG_SPLINE_SET_RUN_BACK_SPEED = 0x2FF, - SMSG_SPLINE_SET_SWIM_SPEED = 0x300, - SMSG_SPLINE_SET_WALK_SPEED = 0x301, - SMSG_SPLINE_SET_SWIM_BACK_SPEED = 0x302, - SMSG_SPLINE_SET_TURN_RATE = 0x303, - SMSG_SPLINE_MOVE_UNROOT = 0x304, - SMSG_SPLINE_MOVE_FEATHER_FALL = 0x305, - SMSG_SPLINE_MOVE_NORMAL_FALL = 0x306, - SMSG_SPLINE_MOVE_SET_HOVER = 0x307, - SMSG_SPLINE_MOVE_UNSET_HOVER = 0x308, - SMSG_SPLINE_MOVE_WATER_WALK = 0x309, - SMSG_SPLINE_MOVE_LAND_WALK = 0x30A, - SMSG_SPLINE_MOVE_START_SWIM = 0x30B, - SMSG_SPLINE_MOVE_STOP_SWIM = 0x30C, - SMSG_SPLINE_MOVE_SET_RUN_MODE = 0x30D, - SMSG_SPLINE_MOVE_SET_WALK_MODE = 0x30E, + SMSG_SPLINE_SET_RUN_SPEED = 0x7bec, + SMSG_SPLINE_SET_RUN_BACK_SPEED = 0xade1, + SMSG_SPLINE_SET_SWIM_SPEED = 0xcdef, + SMSG_SPLINE_SET_WALK_SPEED = 0xeb69, + SMSG_SPLINE_SET_SWIM_BACK_SPEED = 0x8bed, + SMSG_SPLINE_SET_TURN_RATE = 0x1f67, + SMSG_SPLINE_MOVE_UNROOT = 0x4f6e, + SMSG_SPLINE_MOVE_FEATHER_FALL = 0x7be8, + SMSG_SPLINE_MOVE_NORMAL_FALL = 0x9dea, + SMSG_SPLINE_MOVE_SET_HOVER = 0xfb6b, + SMSG_SPLINE_MOVE_UNSET_HOVER = 0xf9e0, + SMSG_SPLINE_MOVE_WATER_WALK = 0x39ec, + SMSG_SPLINE_MOVE_LAND_WALK = 0x2d65, + SMSG_SPLINE_MOVE_START_SWIM = 0xafe2, + SMSG_SPLINE_MOVE_STOP_SWIM = 0x1b65, + SMSG_SPLINE_MOVE_SET_RUN_MODE = 0x9de9, + SMSG_SPLINE_MOVE_SET_WALK_MODE = 0x296f, CMSG_GM_NUKE_ACCOUNT = 0x30F, MSG_GM_DESTROY_CORPSE = 0x310, CMSG_GM_DESTROY_ONLINE_CORPSE = 0x311, CMSG_ACTIVATETAXIEXPRESS = 0x312, - SMSG_SET_FACTION_ATWAR = 0x313, + SMSG_SET_FACTION_ATWAR = 0x8d60, SMSG_GAMETIMEBIAS_SET = 0x314, CMSG_DEBUG_ACTIONS_START = 0x315, CMSG_DEBUG_ACTIONS_STOP = 0x316, - CMSG_SET_FACTION_INACTIVE = 0x317, - CMSG_SET_WATCHED_FACTION = 0x318, - MSG_MOVE_TIME_SKIPPED = 0x319, - SMSG_SPLINE_MOVE_ROOT = 0x31A, + CMSG_SET_FACTION_INACTIVE = 0xc96d, + CMSG_SET_WATCHED_FACTION = 0xd96a, + MSG_MOVE_TIME_SKIPPED = 0xc9e1, + SMSG_SPLINE_MOVE_ROOT = 0x59ed, CMSG_SET_EXPLORATION_ALL = 0x31B, - SMSG_INVALIDATE_PLAYER = 0x31C, - CMSG_RESET_INSTANCES = 0x31D, - SMSG_INSTANCE_RESET = 0x31E, - SMSG_INSTANCE_RESET_FAILED = 0x31F, - SMSG_UPDATE_LAST_INSTANCE = 0x320, + SMSG_INVALIDATE_PLAYER = 0x496a, + CMSG_RESET_INSTANCES = 0xbf6b, + SMSG_INSTANCE_RESET = 52202, + SMSG_INSTANCE_RESET_FAILED = 44009, + SMSG_UPDATE_LAST_INSTANCE = 12129, MSG_RAID_TARGET_UPDATE = 0x321, MSG_RAID_READY_CHECK = 0x322, CMSG_LUA_USAGE = 0x323, - SMSG_PET_ACTION_SOUND = 0x324, - SMSG_PET_DISMISS_SOUND = 0x325, + SMSG_PET_ACTION_SOUND = 0x8de0, + SMSG_PET_DISMISS_SOUND = 0x49e8, SMSG_GHOSTEE_GONE = 0x326, CMSG_GM_UPDATE_TICKET_STATUS = 0x327, - SMSG_GM_TICKET_STATUS_UPDATE = 0x328, - MSG_SET_DUNGEON_DIFFICULTY = 0x329, + SMSG_GM_TICKET_STATUS_UPDATE = 0xaf67, + MSG_SET_DUNGEON_DIFFICULTY = 0x2d6c, CMSG_GMSURVEY_SUBMIT = 0x32A, - SMSG_UPDATE_INSTANCE_OWNERSHIP = 0x32B, + SMSG_UPDATE_INSTANCE_OWNERSHIP = 20331, CMSG_IGNORE_KNOCKBACK_CHEAT = 0x32C, SMSG_CHAT_PLAYER_AMBIGUOUS = 0x32D, MSG_DELAY_GHOST_TELEPORT = 0x32E, SMSG_SPELLINSTAKILLLOG = 0x32F, - SMSG_SPELL_UPDATE_CHAIN_TARGETS = 0x330, + SMSG_SPELL_UPDATE_CHAIN_TARGETS = 0x89e7, CMSG_CHAT_FILTERED = 0x331, - SMSG_EXPECTED_SPAM_RECORDS = 0x332, + SMSG_EXPECTED_SPAM_RECORDS = 0x3fe3, SMSG_SPELLSTEALLOG = 0x333, CMSG_LOTTERY_QUERY_OBSOLETE = 0x334, SMSG_LOTTERY_QUERY_RESULT_OBSOLETE = 0x335, @@ -860,25 +860,25 @@ enum Opcodes SMSG_LOTTERY_RESULT_OBSOLETE = 0x337, SMSG_CHARACTER_PROFILE = 0x338, SMSG_CHARACTER_PROFILE_REALM_CONNECTED = 0x339, - SMSG_DEFENSE_MESSAGE = 0x33A, - SMSG_INSTANCE_DIFFICULTY = 0x33B, + SMSG_DEFENSE_MESSAGE = 36331, + SMSG_INSTANCE_DIFFICULTY = 0x7f60, MSG_GM_RESETINSTANCELIMIT = 0x33C, - SMSG_MOTD = 0x33D, - SMSG_MOVE_SET_FLIGHT = 0x33E, - SMSG_MOVE_UNSET_FLIGHT = 0x33F, + SMSG_MOTD = 0x8be6, + SMSG_MOVE_SET_FLIGHT = 0xebef, + SMSG_MOVE_UNSET_FLIGHT = 0x4fe8, CMSG_MOVE_FLIGHT_ACK = 0x340, - MSG_MOVE_START_SWIM_CHEAT = 0x341, - MSG_MOVE_STOP_SWIM_CHEAT = 0x342, - SMSG_MOVE_SET_CAN_FLY = 0x343, - SMSG_MOVE_UNSET_CAN_FLY = 0x344, - CMSG_MOVE_SET_CAN_FLY_ACK = 0x345, + MSG_MOVE_START_SWIM_CHEAT = 0x6960, + MSG_MOVE_STOP_SWIM_CHEAT = 0x5f62, + SMSG_MOVE_SET_CAN_FLY = 0xe965, + SMSG_MOVE_UNSET_CAN_FLY = 0xcde8, + CMSG_MOVE_SET_CAN_FLY_ACK = 0xc9e9, CMSG_MOVE_SET_FLY = 0x346, CMSG_SOCKET_GEMS = 0x347, CMSG_ARENA_TEAM_CREATE = 0x348, SMSG_ARENA_TEAM_COMMAND_RESULT = 0x349, - UMSG_UPDATE_ARENA_TEAM_OBSOLETE = 0x34A, - CMSG_ARENA_TEAM_QUERY = 0x34B, - SMSG_ARENA_TEAM_QUERY_RESPONSE = 0x34C, + UMSG_UPDATE_ARENA_TEAM_OBSOLETE = 0xb96e, + CMSG_ARENA_TEAM_QUERY = 0x7960, + SMSG_ARENA_TEAM_QUERY_RESPONSE = 0x1d69, CMSG_ARENA_TEAM_ROSTER = 0x34D, SMSG_ARENA_TEAM_ROSTER = 0x34E, CMSG_ARENA_TEAM_INVITE = 0x34F, @@ -891,8 +891,8 @@ enum Opcodes CMSG_ARENA_TEAM_LEADER = 0x356, SMSG_ARENA_TEAM_EVENT = 0x357, CMSG_BATTLEMASTER_JOIN_ARENA = 0x358, - MSG_MOVE_START_ASCEND = 0x359, - MSG_MOVE_STOP_ASCEND = 0x35A, + MSG_MOVE_START_ASCEND = 0x8b61, + MSG_MOVE_STOP_ASCEND = 0xdbe3, SMSG_ARENA_TEAM_STATS = 0x35B, CMSG_LFG_JOIN = 0x35C, // CMSG JoinLFG CMSG_LFG_LEAVE = 0x35D, // CMSG LeaveLFG @@ -912,12 +912,12 @@ enum Opcodes CMSG_LFG_SET_NEEDS = 0x36B, // CMSG SetLFGNeeds CMSG_LFG_SET_BOOT_VOTE = 0x36C, // CMSG SetLFGBootVote SMSG_LFG_BOOT_PLAYER = 0x36D, // SMSG uint8, uint8, uint8, uint64, uint32, uint32, uint32, uint32 - CMSG_LFD_PLAYER_LOCK_INFO_REQUEST = 0x36E, // CMSG RequestLFDPlayerLockInfo + CMSG_LFD_PLAYER_LOCK_INFO_REQUEST = 0x1b6c, // CMSG RequestLFDPlayerLockInfo SMSG_LFG_PLAYER_INFO = 0x36F, // SMSG uint8, for(uint8) { uint32, uint8, uint32, uint32, uint32, uint32, uint8, for(uint8) {uint32,uint32, uint32}}, uint32, for(uint32) {uint32,uint32} CMSG_LFG_TELEPORT = 0x370, // CMSG LFGTeleport CMSG_LFD_PARTY_LOCK_INFO_REQUEST = 0x371, // CMSG RequestLFDPartyLockInfo SMSG_LFG_PARTY_INFO = 0x372, // SMSG uint8, for(uint8) uint64 - SMSG_TITLE_EARNED = 0x373, + SMSG_TITLE_EARNED = 15721, CMSG_SET_TITLE = 0x374, CMSG_CANCEL_MOUNT_AURA = 0x375, SMSG_ARENA_ERROR = 0x376, @@ -928,38 +928,38 @@ enum Opcodes CMSG_CHEAT_SET_HONOR_CURRENCY = 0x37B, CMSG_CHEAT_SET_ARENA_CURRENCY = 0x37C, MSG_MOVE_SET_FLIGHT_SPEED_CHEAT = 0x37D, - MSG_MOVE_SET_FLIGHT_SPEED = 0x37E, + MSG_MOVE_SET_FLIGHT_SPEED = 0xef66, MSG_MOVE_SET_FLIGHT_BACK_SPEED_CHEAT = 0x37F, - MSG_MOVE_SET_FLIGHT_BACK_SPEED = 0x380, - SMSG_FORCE_FLIGHT_SPEED_CHANGE = 0x381, - CMSG_FORCE_FLIGHT_SPEED_CHANGE_ACK = 0x382, - SMSG_FORCE_FLIGHT_BACK_SPEED_CHANGE = 0x383, + MSG_MOVE_SET_FLIGHT_BACK_SPEED = 0x4965, + SMSG_FORCE_FLIGHT_SPEED_CHANGE = 0x09e6, + CMSG_FORCE_FLIGHT_SPEED_CHANGE_ACK = 0x09e1, + SMSG_FORCE_FLIGHT_BACK_SPEED_CHANGE = 0xade6, CMSG_FORCE_FLIGHT_BACK_SPEED_CHANGE_ACK = 0x384, - SMSG_SPLINE_SET_FLIGHT_SPEED = 0x385, - SMSG_SPLINE_SET_FLIGHT_BACK_SPEED = 0x386, + SMSG_SPLINE_SET_FLIGHT_SPEED = 0xef60, + SMSG_SPLINE_SET_FLIGHT_BACK_SPEED = 0x59ee, CMSG_MAELSTROM_INVALIDATE_CACHE = 0x387, - SMSG_FLIGHT_SPLINE_SYNC = 0x388, + SMSG_FLIGHT_SPLINE_SYNC = 0x7fe9, CMSG_SET_TAXI_BENCHMARK_MODE = 0x389, SMSG_JOINED_BATTLEGROUND_QUEUE = 0x38A, - SMSG_REALM_SPLIT = 0x38B, - CMSG_REALM_SPLIT = 0x38C, + SMSG_REALM_SPLIT = 0x6fef, + CMSG_REALM_SPLIT = 0x9d6e, CMSG_MOVE_CHNG_TRANSPORT = 0x38D, MSG_PARTY_ASSIGNMENT = 0x38E, SMSG_OFFER_PETITION_ERROR = 0x38F, - SMSG_TIME_SYNC_REQ = 0x390, - CMSG_TIME_SYNC_RESP = 0x391, + SMSG_TIME_SYNC_REQ = 0x9d6a, + CMSG_TIME_SYNC_RESP = 0x1be4, CMSG_SEND_LOCAL_EVENT = 0x392, CMSG_SEND_GENERAL_TRIGGER = 0x393, CMSG_SEND_COMBAT_TRIGGER = 0x394, CMSG_MAELSTROM_GM_SENT_MAIL = 0x395, - SMSG_RESET_FAILED_NOTIFY = 0x396, + SMSG_RESET_FAILED_NOTIFY = 35695, SMSG_REAL_GROUP_UPDATE = 0x397, SMSG_LFG_DISABLED = 0x398, CMSG_ACTIVE_PVP_CHEAT = 0x399, CMSG_CHEAT_DUMP_ITEMS_DEBUG_ONLY = 0x39A, - SMSG_CHEAT_DUMP_ITEMS_DEBUG_ONLY_RESPONSE = 0x39B, + SMSG_CHEAT_DUMP_ITEMS_DEBUG_ONLY_RESPONSE = 0x7fe3, SMSG_CHEAT_DUMP_ITEMS_DEBUG_ONLY_RESPONSE_WRITE_FILE = 0x39C, - SMSG_UPDATE_COMBO_POINTS = 0x39D, + SMSG_UPDATE_COMBO_POINTS = 0x0b6b, SMSG_VOICE_SESSION_ROSTER_UPDATE = 0x39E, SMSG_VOICE_SESSION_LEAVE = 0x39F, SMSG_VOICE_SESSION_ADJUST_PRIORITY = 0x3A0, @@ -969,19 +969,19 @@ enum Opcodes SMSG_SET_EXTRA_AURA_INFO_OBSOLETE = 0x3A4, SMSG_SET_EXTRA_AURA_INFO_NEED_UPDATE_OBSOLETE = 0x3A5, SMSG_CLEAR_EXTRA_AURA_INFO_OBSOLETE = 0x3A6, - MSG_MOVE_START_DESCEND = 0x3A7, + MSG_MOVE_START_DESCEND = 0x3dee, CMSG_IGNORE_REQUIREMENTS_CHEAT = 0x3A8, SMSG_IGNORE_REQUIREMENTS_CHEAT = 0x3A9, SMSG_SPELL_CHANCE_PROC_LOG = 0x3AA, CMSG_MOVE_SET_RUN_SPEED = 0x3AB, - SMSG_DISMOUNT = 0x3AC, - MSG_MOVE_UPDATE_CAN_FLY = 0x3AD, + SMSG_DISMOUNT = 0xdf68, + MSG_MOVE_UPDATE_CAN_FLY = 0xb96d, MSG_RAID_READY_CHECK_CONFIRM = 0x3AE, - CMSG_VOICE_SESSION_ENABLE = 0x3AF, + CMSG_VOICE_SESSION_ENABLE = 0x3965, SMSG_VOICE_SESSION_ENABLE = 0x3B0, SMSG_VOICE_PARENTAL_CONTROLS = 0x3B1, CMSG_GM_WHISPER = 0x3B2, - SMSG_GM_MESSAGECHAT = 0x3B3, + SMSG_GM_MESSAGECHAT = 18924, MSG_GM_GEARRATING = 0x3B4, CMSG_COMMENTATOR_ENABLE = 0x3B5, SMSG_COMMENTATOR_STATE_CHANGED = 0x3B6, @@ -999,11 +999,11 @@ enum Opcodes CMSG_CHEAT_PLAYER_LOGIN = 0x3C2, CMSG_CHEAT_PLAYER_LOOKUP = 0x3C3, SMSG_CHEAT_PLAYER_LOOKUP = 0x3C4, - SMSG_KICK_REASON = 0x3C5, + SMSG_KICK_REASON = 0x1f6d, MSG_RAID_READY_CHECK_FINISHED = 0x3C6, CMSG_COMPLAIN = 0x3C7, SMSG_COMPLAIN_RESULT = 0x3C8, - SMSG_FEATURE_SYSTEM_STATUS = 0x3C9, + SMSG_FEATURE_SYSTEM_STATUS = 0xeb62, CMSG_GM_SHOW_COMPLAINTS = 0x3CA, CMSG_GM_UNSQUELCH = 0x3CB, CMSG_CHANNEL_SILENCE_VOICE = 0x3CC, @@ -1015,7 +1015,7 @@ enum Opcodes CMSG_CHANNEL_DISPLAY_LIST = 0x3D2, CMSG_SET_ACTIVE_VOICE_CHANNEL = 0x3D3, CMSG_GET_CHANNEL_MEMBER_COUNT = 0x3D4, - SMSG_CHANNEL_MEMBER_COUNT = 0x3D5, + SMSG_CHANNEL_MEMBER_COUNT = 0x19e1, CMSG_CHANNEL_VOICE_ON = 0x3D6, CMSG_CHANNEL_VOICE_OFF = 0x3D7, CMSG_DEBUG_LIST_TARGETS = 0x3D8, @@ -1026,10 +1026,10 @@ enum Opcodes CMSG_PARTY_SILENCE = 0x3DD, CMSG_PARTY_UNSILENCE = 0x3DE, MSG_NOTIFY_PARTY_SQUELCH = 0x3DF, - SMSG_COMSAT_RECONNECT_TRY = 0x3E0, - SMSG_COMSAT_DISCONNECT = 0x3E1, - SMSG_COMSAT_CONNECT_FAIL = 0x3E2, - SMSG_VOICE_CHAT_STATUS = 0x3E3, + SMSG_COMSAT_RECONNECT_TRY = 14830, + SMSG_COMSAT_DISCONNECT = 23533, + SMSG_COMSAT_CONNECT_FAIL = 8042, + SMSG_VOICE_CHAT_STATUS = 14698, CMSG_REPORT_PVP_AFK = 0x3E4, SMSG_REPORT_PVP_AFK_RESULT = 0x3E5, // SMSG? CMSG_GUILD_BANKER_ACTIVATE = 0x3E6, @@ -1042,30 +1042,30 @@ enum Opcodes CMSG_GUILD_BANK_WITHDRAW_MONEY = 0x3ED, MSG_GUILD_BANK_LOG_QUERY = 0x3EE, CMSG_SET_CHANNEL_WATCH = 0x3EF, - SMSG_USERLIST_ADD = 0x3F0, - SMSG_USERLIST_REMOVE = 0x3F1, - SMSG_USERLIST_UPDATE = 0x3F2, + SMSG_USERLIST_ADD = 11752, + SMSG_USERLIST_REMOVE = 59887, + SMSG_USERLIST_UPDATE = 16367, CMSG_CLEAR_CHANNEL_WATCH = 0x3F3, SMSG_INSPECT_TALENT = 0x3F4, SMSG_GOGOGO_OBSOLETE = 0x3F5, SMSG_ECHO_PARTY_SQUELCH = 0x3F6, CMSG_SET_TITLE_SUFFIX = 0x3F7, CMSG_SPELLCLICK = 0x3F8, - SMSG_LOOT_LIST = 0x3F9, + SMSG_LOOT_LIST = 0x4957, CMSG_GM_CHARACTER_RESTORE = 0x3FA, CMSG_GM_CHARACTER_SAVE = 0x3FB, - SMSG_VOICESESSION_FULL = 0x3FC, + SMSG_VOICESESSION_FULL = 12143, MSG_GUILD_PERMISSIONS = 0x3FD, - MSG_GUILD_BANK_MONEY_WITHDRAWN = 0x3FE, + MSG_GUILD_BANK_MONEY_WITHDRAWN = 0x1fe4, MSG_GUILD_EVENT_LOG_QUERY = 0x3FF, CMSG_MAELSTROM_RENAME_GUILD = 0x400, CMSG_GET_MIRRORIMAGE_DATA = 0x401, - SMSG_MIRRORIMAGE_DATA = 0x402, - SMSG_FORCE_DISPLAY_UPDATE = 0x403, + SMSG_MIRRORIMAGE_DATA = 0x3f67, + SMSG_FORCE_DISPLAY_UPDATE = 0xa9e4, SMSG_SPELL_CHANCE_RESIST_PUSHBACK = 0x404, CMSG_IGNORE_DIMINISHING_RETURNS_CHEAT = 0x405, SMSG_IGNORE_DIMINISHING_RETURNS_CHEAT = 0x406, - CMSG_KEEP_ALIVE = 0x407, + CMSG_KEEP_ALIVE = 0x1de5, //0x407, SMSG_RAID_READY_CHECK_ERROR = 0x408, CMSG_OPT_OUT_OF_LOOT = 0x409, MSG_QUERY_GUILD_BANK_TEXT = 0x40A, @@ -1076,24 +1076,24 @@ enum Opcodes MSG_GM_CHANGE_ARENA_RATING = 0x40F, CMSG_DECLINE_CHANNEL_INVITE = 0x410, SMSG_GROUPACTION_THROTTLED = 0x411, // SMSG? - SMSG_OVERRIDE_LIGHT = 0x412, - SMSG_TOTEM_CREATED = 0x413, + SMSG_OVERRIDE_LIGHT = 0xef6f, + SMSG_TOTEM_CREATED = 0x9d6f, CMSG_TOTEM_DESTROYED = 0x414, CMSG_EXPIRE_RAID_INSTANCE = 0x415, CMSG_NO_SPELL_VARIANCE = 0x416, - CMSG_QUESTGIVER_STATUS_MULTIPLE_QUERY = 0x417, + CMSG_QUESTGIVER_STATUS_MULTIPLE_QUERY = 0x8b6a, SMSG_QUESTGIVER_STATUS_MULTIPLE = 0x418, CMSG_SET_PLAYER_DECLINED_NAMES = 0x419, - SMSG_SET_PLAYER_DECLINED_NAMES_RESULT = 0x41A, + SMSG_SET_PLAYER_DECLINED_NAMES_RESULT = 0xf9ed, CMSG_QUERY_SERVER_BUCK_DATA = 0x41B, CMSG_CLEAR_SERVER_BUCK_DATA = 0x41C, SMSG_SERVER_BUCK_DATA = 0x41D, - SMSG_SEND_UNLEARN_SPELLS = 0x41E, - SMSG_PROPOSE_LEVEL_GRANT = 0x41F, + SMSG_SEND_UNLEARN_SPELLS = 0x6be5, + SMSG_PROPOSE_LEVEL_GRANT = 0x69e2, CMSG_ACCEPT_LEVEL_GRANT = 0x420, - SMSG_REFER_A_FRIEND_FAILURE = 0x421, - SMSG_SPLINE_MOVE_SET_FLYING = 0x422, - SMSG_SPLINE_MOVE_UNSET_FLYING = 0x423, + SMSG_REFER_A_FRIEND_FAILURE = 0x1962, + SMSG_SPLINE_MOVE_SET_FLYING = 0x0be2, + SMSG_SPLINE_MOVE_UNSET_FLYING = 0xebed, SMSG_SUMMON_CANCEL = 0x424, CMSG_CHANGE_PERSONAL_ARENA_RATING = 0x425, CMSG_ALTER_APPEARANCE = 0x426, @@ -1103,7 +1103,7 @@ enum Opcodes CMSG_CALENDAR_GET_EVENT = 0x42A, CMSG_CALENDAR_GUILD_FILTER = 0x42B, CMSG_CALENDAR_ARENA_TEAM = 0x42C, - CMSG_CALENDAR_ADD_EVENT = 0x42D, + CMSG_CALENDAR_ADD_EVENT = 0x8fe4, CMSG_CALENDAR_UPDATE_EVENT = 0x42E, CMSG_CALENDAR_REMOVE_EVENT = 0x42F, CMSG_CALENDAR_COPY_EVENT = 0x430, @@ -1129,42 +1129,42 @@ enum Opcodes SMSG_CALENDAR_EVENT_UPDATED_ALERT = 0x444, SMSG_CALENDAR_EVENT_MODERATOR_STATUS_ALERT = 0x445, CMSG_CALENDAR_COMPLAIN = 0x446, - CMSG_CALENDAR_GET_NUM_PENDING = 0x447, + CMSG_CALENDAR_GET_NUM_PENDING = 0xc964, SMSG_CALENDAR_SEND_NUM_PENDING = 0x448, CMSG_SAVE_DANCE = 0x449, - SMSG_NOTIFY_DANCE = 0x44A, + SMSG_NOTIFY_DANCE = 0xcf67, CMSG_PLAY_DANCE = 0x44B, - SMSG_PLAY_DANCE = 0x44C, + SMSG_PLAY_DANCE = 0x5b66, CMSG_LOAD_DANCES = 0x44D, CMSG_STOP_DANCE = 0x44E, - SMSG_STOP_DANCE = 0x44F, + SMSG_STOP_DANCE = 0x7fe2, CMSG_SYNC_DANCE = 0x450, - CMSG_DANCE_QUERY = 0x451, - SMSG_DANCE_QUERY_RESPONSE = 0x452, - SMSG_INVALIDATE_DANCE = 0x453, + CMSG_DANCE_QUERY = 0x7b6e, + SMSG_DANCE_QUERY_RESPONSE = 0xfd61, + SMSG_INVALIDATE_DANCE = 0xbde8, CMSG_DELETE_DANCE = 0x454, - SMSG_LEARNED_DANCE_MOVES = 0x455, + SMSG_LEARNED_DANCE_MOVES = 0x0968, CMSG_LEARN_DANCE_MOVE = 0x456, CMSG_UNLEARN_DANCE_MOVE = 0x457, CMSG_SET_RUNE_COUNT = 0x458, CMSG_SET_RUNE_COOLDOWN = 0x459, MSG_MOVE_SET_PITCH_RATE_CHEAT = 0x45A, - MSG_MOVE_SET_PITCH_RATE = 0x45B, - SMSG_FORCE_PITCH_RATE_CHANGE = 0x45C, + MSG_MOVE_SET_PITCH_RATE = 0xd9ea, + SMSG_FORCE_PITCH_RATE_CHANGE = 0xede9, CMSG_FORCE_PITCH_RATE_CHANGE_ACK = 0x45D, - SMSG_SPLINE_SET_PITCH_RATE = 0x45E, + SMSG_SPLINE_SET_PITCH_RATE = 0xcf6d, SMSG_MOVE_ABANDON_TRANSPORT = 0x45F, SMSG_CALENDAR_UPDATE_INVITE_LIST = 0x460, SMSG_CALENDAR_UPDATE_INVITE_LIST2 = 0x461, CMSG_UPDATE_MISSILE_TRAJECTORY = 0x462, - SMSG_UPDATE_ACCOUNT_DATA_COMPLETE = 0x463, - SMSG_TRIGGER_MOVIE = 0x464, + SMSG_UPDATE_ACCOUNT_DATA_COMPLETE = 0xb960, + SMSG_TRIGGER_MOVIE = 0x3fe8, CMSG_COMPLETE_MOVIE = 0x465, CMSG_SET_GLYPH_SLOT = 0x466, CMSG_SET_GLYPH = 0x467, - SMSG_ACHIEVEMENT_EARNED = 0x468, + SMSG_ACHIEVEMENT_EARNED = 0xbfe0, SMSG_DYNAMIC_DROP_ROLL_RESULT = 0x469, - SMSG_CRITERIA_UPDATE = 0x46A, + SMSG_CRITERIA_UPDATE = 0x7f66, CMSG_QUERY_INSPECT_ACHIEVEMENTS = 0x46B, SMSG_RESPOND_INSPECT_ACHIEVEMENTS = 0x46C, CMSG_DISMISS_CONTROLLED_VEHICLE = 0x46D, @@ -1174,7 +1174,7 @@ enum Opcodes SMSG_CALENDAR_UPDATE_INVITE_LIST3 = 0x471, CMSG_UNITANIMTIER_CHEAT = 0x472, CMSG_CHAR_CUSTOMIZE = 0x473, - SMSG_CHAR_CUSTOMIZE = 0x474, + SMSG_CHAR_CUSTOMIZE = 0x3f6b, SMSG_PET_RENAMEABLE = 0x475, CMSG_REQUEST_VEHICLE_EXIT = 0x476, CMSG_REQUEST_VEHICLE_PREV_SEAT = 0x477, @@ -1185,13 +1185,13 @@ enum Opcodes SMSG_SET_PHASE_SHIFT = 0x47C, SMSG_ALL_ACHIEVEMENT_DATA = 0x47D, CMSG_FORCE_SAY_CHEAT = 0x47E, - SMSG_HEALTH_UPDATE = 0x47F, - SMSG_POWER_UPDATE = 0x480, + SMSG_HEALTH_UPDATE = 0xafe9, + SMSG_POWER_UPDATE = 0x89e6, CMSG_GAMEOBJ_REPORT_USE = 0x481, - SMSG_HIGHEST_THREAT_UPDATE = 0x482, - SMSG_THREAT_UPDATE = 0x483, - SMSG_THREAT_REMOVE = 0x484, - SMSG_THREAT_CLEAR = 0x485, + SMSG_HIGHEST_THREAT_UPDATE = 0xddec, + SMSG_THREAT_UPDATE = 0x69e4, + SMSG_THREAT_REMOVE = 0x6fe7, + SMSG_THREAT_CLEAR = 0x4964, SMSG_CONVERT_RUNE = 0x486, SMSG_RESYNC_RUNES = 0x487, SMSG_ADD_RUNE_POWER = 0x488, @@ -1200,24 +1200,24 @@ enum Opcodes CMSG_DUMP_OBJECTS = 0x48B, SMSG_DUMP_OBJECTS_DATA = 0x48C, CMSG_DISMISS_CRITTER = 0x48D, - SMSG_NOTIFY_DEST_LOC_SPELL_CAST = 0x48E, + SMSG_NOTIFY_DEST_LOC_SPELL_CAST = 0x5be3, CMSG_AUCTION_LIST_PENDING_SALES = 0x48F, SMSG_AUCTION_LIST_PENDING_SALES = 0x490, - SMSG_MODIFY_COOLDOWN = 0x491, + SMSG_MODIFY_COOLDOWN = 0xa9e5, SMSG_PET_UPDATE_COMBO_POINTS = 0x492, CMSG_ENABLETAXI = 0x493, - SMSG_PRE_RESURRECT = 0x494, - SMSG_AURA_UPDATE_ALL = 0x495, - SMSG_AURA_UPDATE = 0x496, + SMSG_PRE_RESURRECT = 0x5fe4, + SMSG_AURA_UPDATE_ALL = 0xff6a, + SMSG_AURA_UPDATE = 0x99e6, CMSG_FLOOD_GRACE_CHEAT = 0x497, - SMSG_SERVER_FIRST_ACHIEVEMENT = 0x498, + SMSG_SERVER_FIRST_ACHIEVEMENT = 61289, SMSG_PET_LEARNED_SPELL = 0x499, SMSG_PET_REMOVED_SPELL = 0x49A, CMSG_CHANGE_SEATS_ON_CONTROLLED_VEHICLE = 0x49B, CMSG_HEARTH_AND_RESURRECT = 0x49C, // not changed in 3.1 - SMSG_ON_CANCEL_EXPECTED_RIDE_VEHICLE_AURA = 0x49D, // not changed 9626 - SMSG_CRITERIA_DELETED = 0x49E, // not changed 9626 - SMSG_ACHIEVEMENT_DELETED = 0x49F, // not changed 9626 + SMSG_ON_CANCEL_EXPECTED_RIDE_VEHICLE_AURA = 0x3bec, // not changed 9626 + SMSG_CRITERIA_DELETED = 0x8de1, // not changed 9626 + SMSG_ACHIEVEMENT_DELETED = 0xdde9, // not changed 9626 CMSG_SERVER_INFO_QUERY = 0x4A0, // not found SMSG_SERVER_INFO_RESPONSE = 0x4A1, // not found CMSG_CHECK_LOGIN_CRITERIA = 0x4A2, // not found @@ -1225,11 +1225,11 @@ enum Opcodes CMSG_QUERY_VEHICLE_STATUS = 0x4A4, // not found UMSG_UNKNOWN_1189 = 0x4A5, // not found, old SMSG_PET_GUIDS SMSG_BATTLEGROUND_INFO_THROTTLED = 0x4A6, // empty, "You can't do that yet" - SMSG_PLAYER_VEHICLE_DATA = 0x4A7, // smsg guid+uint32 (vehicle) EVENT_PLAYER_GAINS_VEHICLE_DATA/EVENT_PLAYER_LOSES_VEHICLE_DATA + SMSG_PLAYER_VEHICLE_DATA = 0x5b61, // smsg guid+uint32 (vehicle) EVENT_PLAYER_GAINS_VEHICLE_DATA/EVENT_PLAYER_LOSES_VEHICLE_DATA CMSG_UNKNOWN_1192 = 0x4A8, // cmsg uint64 CMSG_EJECT_PASSENGER = 0x4A9, // cmsg uint64 SMSG_PET_GUIDS = 0x4AA, // shifted+5 - SMSG_CLIENTCACHE_VERSION = 0x4AB, // shifted+5 + SMSG_CLIENTCACHE_VERSION = 0x1966, // shifted+5 UMSG_UNKNOWN_1196 = 0x4AC, // not found UMSG_UNKNOWN_1197 = 0x4AD, // not found UMSG_UNKNOWN_1198 = 0x4AE, // not found @@ -1241,16 +1241,16 @@ enum Opcodes CMSG_ITEM_REFUND = 0x4B4, // lua: ContainerRefundItemPurchase SMSG_ITEM_REFUND_RESULT = 0x4B5, // refund item result CMSG_CORPSE_MAP_POSITION_QUERY = 0x4B6, // CMSG, uint32 - SMSG_CORPSE_MAP_POSITION_QUERY_RESPONSE = 0x4B7, // SMSG, 3*float+float + SMSG_CORPSE_MAP_POSITION_QUERY_RESPONSE = 0x2de5, // SMSG, 3*float+float UMSG_UNKNOWN_1208 = 0x4B8, // not found UMSG_UNKNOWN_1209 = 0x4B9, // not found CMSG_CALENDAR_CONTEXT_EVENT_SIGNUP = 0x4BA, // CMSG, uint64, lua: CalendarContextEventSignUp SMSG_CALENDAR_ACTION_PENDING = 0x4BB, // SMSG, calendar related EVENT_CALENDAR_ACTION_PENDING - SMSG_EQUIPMENT_SET_LIST = 0x4BC, // SMSG, equipment manager list? - CMSG_EQUIPMENT_SET_SAVE = 0x4BD, // CMSG, lua: SaveEquipmentSet + SMSG_EQUIPMENT_SET_LIST = 0x69eb, // SMSG, equipment manager list? + CMSG_EQUIPMENT_SET_SAVE = 0x096b, // CMSG, lua: SaveEquipmentSet CMSG_UPDATE_PROJECTILE_POSITION = 0x4BE, // CMSG, uint64 caster, uint32 spellId, uint8 castId, vector3 position - SMSG_SET_PROJECTILE_POSITION = 0x4BF, // SMSG, uint64 caster, uint8 castId, vector3 position - SMSG_TALENTS_INFO = 0x4C0, // SMSG, talents related + SMSG_SET_PROJECTILE_POSITION = 0xdf6f, // SMSG, uint64 caster, uint8 castId, vector3 position + SMSG_TALENTS_INFO = 0x0f66, // SMSG, talents related CMSG_LEARN_PREVIEW_TALENTS = 0x4C1, // CMSG, lua: LearnPreviewTalents (for player?) CMSG_LEARN_PREVIEW_TALENTS_PET = 0x4C2, // CMSG, lua: LearnPreviewTalents (for pet?) UMSG_UNKNOWN_1219 = 0x4C3, // not found 3.2 @@ -1263,20 +1263,20 @@ enum Opcodes UMSG_UNKNOWN_1226 = 0x4CA, // not found 3.2 UMSG_UNKNOWN_1227 = 0x4CB, // not found 3.2 UMSG_UNKNOWN_1228 = 0x4CC, // not found 3.2 - SMSG_MULTIPLE_PACKETS = 0x4CD, // SMSG, handles any opcode - SMSG_FORCE_UNK1_SPEED_CHANGE = 0x4CE, // SMSG, movement related + SMSG_MULTIPLE_PACKETS = 0xcdea, // SMSG, handles any opcode + SMSG_FORCE_UNK1_SPEED_CHANGE = 0xfb66, // SMSG, movement related CMSG_FORCE_UNK1_SPEED_CHANGE_ACK = 0x4CF, // movement related - SMSG_FORCE_UNK2_SPEED_CHANGE = 0x4D0, // SMSG, movement related + SMSG_FORCE_UNK2_SPEED_CHANGE = 0x5f6c, // SMSG, movement related CMSG_FORCE_UNK2_SPEED_CHANGE_ACK = 0x4D1, // movement related - MSG_MOVE_UNKNOWN_1234 = 0x4D2, // SMSG, movement related - SMSG_SPLINE_MOVE_UNKNOWN_1235 = 0x4D3, // SMSG, movement related - SMSG_SPLINE_MOVE_UNKNOWN_1236 = 0x4D4, // SMSG, movement related - CMSG_EQUIPMENT_SET_USE = 0x4D5, // CMSG, lua: UseEquipmentSet - SMSG_EQUIPMENT_SET_USE_RESULT = 0x4D6, // SMSG, UseEquipmentSetResult? + MSG_MOVE_UNKNOWN_1234 = 0x2d66, // SMSG, movement related + SMSG_SPLINE_MOVE_UNKNOWN_1235 = 0x9fee, // SMSG, movement related + SMSG_SPLINE_MOVE_UNKNOWN_1236 = 0x3de0, // SMSG, movement related + CMSG_EQUIPMENT_SET_USE = 0x19ec, // CMSG, lua: UseEquipmentSet + SMSG_EQUIPMENT_SET_USE_RESULT = 0xefea, // SMSG, UseEquipmentSetResult? UMSG_UNKNOWN_1239 = 0x4D7, // not found 3.2 SMSG_UNKNOWN_1240 = 0x4D8, // SMSG, uint64, string, doing nothing CMSG_CHAR_FACTION_CHANGE = 0x4D9, // lua: CreateCharacter (PFC client response) - SMSG_CHAR_FACTION_CHANGE = 0x4DA, // response to 1241 (PFC server response) + SMSG_CHAR_FACTION_CHANGE = 0x8fe5, // response to 1241 (PFC server response) UMSG_UNKNOWN_1243 = 0x4DB, // not found 3.2 UMSG_UNKNOWN_1244 = 0x4DC, // not found 3.2 UMSG_UNKNOWN_1245 = 0x4DD, // not found 3.2 @@ -1293,34 +1293,34 @@ enum Opcodes SMSG_BATTLEFIELD_MGR_STATE_CHANGE = 0x4E8, // uint32, uint32 EVENT_BATTLEFIELD_MGR_STATE_CHANGE UMSG_UNKNOWN_1257 = 0x4E9, // not found 3.2 UMSG_UNKNOWN_1258 = 0x4EA, // not found 3.2 - MSG_SET_RAID_DIFFICULTY = 0x4EB, // lua: SetRaidDifficulty + MSG_SET_RAID_DIFFICULTY = 0x5d68, // lua: SetRaidDifficulty UMSG_UNKNOWN_1260 = 0x4EC, // not found 3.2 SMSG_TOGGLE_XP_GAIN = 0x4ED, // enable/disable XP gain console message - SMSG_GMRESPONSE_DB_ERROR = 0x4EE, // empty - SMSG_GMRESPONSE_RECEIVED = 0x4EF, // uint32, uint32, string[2000], string[4000][4] + SMSG_GMRESPONSE_DB_ERROR = 0x0961, // empty + SMSG_GMRESPONSE_RECEIVED = 0x5961, // uint32, uint32, string[2000], string[4000][4] CMSG_GMRESPONSE_RESOLVE = 0x4F0, // lua: GMResponseResolve - SMSG_GMRESPONSE_STATUS_UPDATE = 0x4F1, // uint8 (1 - EVENT_GMSURVEY_DISPLAY, 0 - EVENT_UPDATE_TICKET) + SMSG_GMRESPONSE_STATUS_UPDATE = 0xc96b, // uint8 (1 - EVENT_GMSURVEY_DISPLAY, 0 - EVENT_UPDATE_TICKET) UMSG_UNKNOWN_1266 = 0x4F2, // not found 3.2 UMSG_UNKNOWN_1267 = 0x4F3, // not found 3.2 UMSG_UNKNOWN_1268 = 0x4F4, // not found 3.2 UMSG_UNKNOWN_1269 = 0x4F5, // not found 3.2 - CMSG_WORLD_STATE_UI_TIMER_UPDATE = 0x4F6, - SMSG_WORLD_STATE_UI_TIMER_UPDATE = 0x4F7, + CMSG_WORLD_STATE_UI_TIMER_UPDATE = 0x0b61, + SMSG_WORLD_STATE_UI_TIMER_UPDATE = 0x99ea, CMSG_CHAR_RACE_CHANGE = 0x4F8, // called from lua: CreateCharacter, paid race change UMSG_UNKNOWN_1273 = 0x4F9, // not found 10554 - SMSG_TALENTS_INVOLUNTARILY_RESET = 0x4FA, // uint8 EVENT_TALENTS_INVOLUNTARILY_RESET + SMSG_TALENTS_INVOLUNTARILY_RESET = 0xfbec, // uint8 EVENT_TALENTS_INVOLUNTARILY_RESET UMSG_UNKNOWN_1275 = 0x4FB, // not found 10554 SMSG_UNKNOWN_1276 = 0x4FC, // does nothing in 10554 SMSG_LOOT_SLOT_CHANGED = 0x4FD, // EVENT_LOOT_SLOT_CHANGED UMSG_UNKNOWN_1278 = 0x4FE, // not found 10596 - CMSG_READY_FOR_ACCOUNT_DATA_TIMES = 0x4FF, // lua: ReadyForAccountDataTimes + CMSG_READY_FOR_ACCOUNT_DATA_TIMES = 0x79eb, // lua: ReadyForAccountDataTimes CMSG_QUERY_QUESTS_COMPLETED = 0x500, // lua: QueryQuestsCompleted - SMSG_QUERY_QUESTS_COMPLETED_RESPONSE = 0x501, // response to CMSG_QUERY_QUESTS_COMPLETED + SMSG_QUERY_QUESTS_COMPLETED_RESPONSE = 0x696c, // response to CMSG_QUERY_QUESTS_COMPLETED CMSG_GM_REPORT_LAG = 0x502, // lua: GMReportLag UMSG_UNKNOWN_1283 = 0x503, // not found UMSG_UNKNOWN_1284 = 0x504, // not found UMSG_UNKNOWN_1285 = 0x505, // not found - SMSG_CORPSE_IS_NOT_IN_INSTANCE = 0x506, // ERR_CORPSE_IS_NOT_IN_INSTANCE = 0x1A8, + SMSG_CORPSE_IS_NOT_IN_INSTANCE = 0xef62, // ERR_CORPSE_IS_NOT_IN_INSTANCE = 0x1A8, UMSG_UNKNOWN_1287 = 0x507, // not found CMSG_SET_ALLOW_LOW_LEVEL_RAID1 = 0x508, // lua: SetAllowLowLevelRaid CMSG_SET_ALLOW_LOW_LEVEL_RAID2 = 0x509, // lua: SetAllowLowLevelRaid @@ -1331,27 +1331,27 @@ enum Opcodes CMSG_REDIRECTION_FAILED = 0x50E, // something with networking SMSG_UNKNOWN_1295 = 0x50F, // CMSG_UNKNOWN_1296 = 0x510, // something with networking - SMSG_FORCE_SEND_QUEUED_PACKETS = 0x511, // + SMSG_FORCE_SEND_QUEUED_PACKETS = 0xd960, // CMSG_REDIRECTION_AUTH_PROOF = 0x512, // something with networking UMSG_UNKNOWN_1299 = 0x513, // not found SMSG_COMBAT_LOG_MULTIPLE = 0x514, // SMSG, multi combatlog SMSG_LFG_OPEN_FROM_GOSSIP = 0x515, // event EVENT_LFG_OPEN_FROM_GOSSIP (opens dungeon finder, probably for outdoor bosses) - SMSG_UNKNOWN_1302 = 0x516, // something with player movement (move event 58?) + SMSG_UNKNOWN_1302 = 0x596e, // something with player movement (move event 58?) CMSG_UNKNOWN_1303 = 0x517, // something with player movement (move event 58?) - SMSG_UNKNOWN_1304 = 0x518, // something with player movement (move event 58?), speed packet + SMSG_UNKNOWN_1304 = 0x4fe0, // something with player movement (move event 58?), speed packet UMSG_UNKNOWN_1305 = 0x519, // not found UMSG_UNKNOWN_1306 = 0x51A, // not found CMSG_UNKNOWN_1307 = 0x51B, // Lua_CommentatorSetSkirmishMatchmakingMode and Lua_CommentatorRequestSkirmishQueueData SMSG_UNKNOWN_1308 = 0x51C, // EVENT_COMMENTATOR_SKIRMISH_QUEUE_REQUEST CMSG_UNKNOWN_1309 = 0x51D, // Lua_Transform - SMSG_UNKNOWN_1310 = 0x51E, // ERR_ALTERED_FORM_CANT_TRANSFORM_RIGHT_NOW or ERR_ALTERED_FORM_CAN_NEVER_TRANSFORM - SMSG_UNKNOWN_1311 = 0x51F, // related to transform - SMSG_UNKNOWN_1312 = 0x520, // related to transform + SMSG_UNKNOWN_1310 = 0x8beb, // ERR_ALTERED_FORM_CANT_TRANSFORM_RIGHT_NOW or ERR_ALTERED_FORM_CAN_NEVER_TRANSFORM + SMSG_UNKNOWN_1311 = 0x6be4, // related to transform + SMSG_UNKNOWN_1312 = 0x1d6d, // related to transform UMSG_UNKNOWN_1313 = 0x521, // not found - SMSG_UNKNOWN_1314 = 0x522, // sets unit+4336 to value from packet - SMSG_UNKNOWN_1315 = 0x523, // related to opcode 0x522 - SMSG_UNKNOWN_1316 = 0x524, // sets unit+4338 to value from packet - SMSG_UNKNOWN_1317 = 0x525, // sets unit+4340 to value from packet + SMSG_UNKNOWN_1314 = 0xfde7, // sets unit+4336 to value from packet + SMSG_UNKNOWN_1315 = 0x0de4, // related to opcode 0x522 + SMSG_UNKNOWN_1316 = 0x0960, // sets unit+4338 to value from packet + SMSG_UNKNOWN_1317 = 0x5b6b, // sets unit+4340 to value from packet UMSG_UNKNOWN_1318 = 0x526, // not found UMSG_UNKNOWN_1319 = 0x527, // not found CMSG_UNKNOWN_1320 = 0x528, // setcurrency console command? @@ -1363,15 +1363,18 @@ enum Opcodes UMSG_UNKNOWN_1326 = 0x52E, // not found UMSG_UNKNOWN_1327 = 0x52F, // not found UMSG_UNKNOWN_1328 = 0x530, // not found - SMSG_UNKNOWN_1329 = 0x531, // faction related + SMSG_UNKNOWN_1329 = 0x4d6f, // faction related UMSG_UNKNOWN_1330 = 0x532, // not found UMSG_UNKNOWN_1331 = 0x533, // not found UMSG_UNKNOWN_1332 = 0x534, // not found UMSG_UNKNOWN_1333 = 0x535, // not found UMSG_UNKNOWN_1334 = 0x536, // not found - NUM_MSG_TYPES = 0x537 + SMSG_UNKNOWN_XXX = 0xd6d, + NUM_MSG_TYPES = 0xffff }; +extern void InitOpcodeTable(); + /// Player state enum SessionStatus { diff --git a/src/game/SharedDefines.h b/src/game/SharedDefines.h index a7f774e..9d9534e 100644 --- a/src/game/SharedDefines.h +++ b/src/game/SharedDefines.h @@ -2719,7 +2719,7 @@ enum TotemSlot // others will not and opposite // will only support WoW, WoW:TBC, WoW:WotLK and WoW:Cataclysm 4.0.0 client build 11927... -#define EXPECTED_MANGOSD_CLIENT_BUILD {11927, 0} +#define EXPECTED_MANGOSD_CLIENT_BUILD {12065, 12025, 11927, 0} // max supported expansion level in mangosd // NOTE: not set it more that supported by targeted client version with all expansions installed diff --git a/src/game/WorldSession.cpp b/src/game/WorldSession.cpp index 273cf08..cf0762a 100644 --- a/src/game/WorldSession.cpp +++ b/src/game/WorldSession.cpp @@ -165,11 +165,11 @@ bool WorldSession::Update(uint32 /*diff*/) WorldPacket* packet; while (m_Socket && !m_Socket->IsClosed() && _recvQueue.next(packet)) { - /*#if 1 + #if 1 sLog.outError( "MOEP: %s (0x%.4X)", LookupOpcodeName(packet->GetOpcode()), packet->GetOpcode()); - #endif*/ + #endif OpcodeHandler& opHandle = opcodeTable[packet->GetOpcode()]; try diff --git a/src/game/WorldSocket.cpp b/src/game/WorldSocket.cpp index 2b409be..1f36aad 100644 --- a/src/game/WorldSocket.cpp +++ b/src/game/WorldSocket.cpp @@ -215,6 +215,7 @@ long WorldSocket::RemoveReference (void) int WorldSocket::open (void *a) { + DEBUG_LOG( "worldsocket::open" ); ACE_UNUSED_ARG (a); // Prevent double call to this func. @@ -477,7 +478,7 @@ int WorldSocket::handle_input_header (void) EndianConvertReverse(header.size); EndianConvert(header.cmd); - if ((header.size < 4) || (header.size > 10240) || (header.cmd > 10240)) + if ((header.size < 4) || (header.size > 10240) ) //|| (header.cmd > 10240)) { sLog.outError ("WorldSocket::handle_input_header: client sent malformed packet size = %d , cmd = %d", header.size, header.cmd); diff --git a/src/game/WorldSocketMgr.cpp b/src/game/WorldSocketMgr.cpp index 9f1927e..4334bec 100644 --- a/src/game/WorldSocketMgr.cpp +++ b/src/game/WorldSocketMgr.cpp @@ -214,6 +214,7 @@ WorldSocketMgr::WorldSocketMgr () : m_UseNoDelay (true), m_Acceptor (0) { + InitOpcodeTable(); } WorldSocketMgr::~WorldSocketMgr ()