diff --git a/src/game/Opcodes.cpp b/src/game/Opcodes.cpp index 6c26ded..005c05e 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 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 ); + } + + OPCODE( MSG_NULL_ACTION, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_BOOTME, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_DBLOOKUP, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_DBLOOKUP, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_QUERY_OBJECT_POSITION, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_QUERY_OBJECT_POSITION, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_QUERY_OBJECT_ROTATION, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_QUERY_OBJECT_ROTATION, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_WORLD_TELEPORT, STATUS_LOGGEDIN, &WorldSession::HandleWorldTeleportOpcode ); + OPCODE( CMSG_TELEPORT_TO_UNIT, STATUS_LOGGEDIN, &WorldSession::Handle_NULL ); + OPCODE( CMSG_ZONE_MAP, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_ZONE_MAP, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_DEBUG_CHANGECELLZONE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_MOVE_CHARACTER_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_MOVE_CHARACTER_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_RECHARGE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_LEARN_SPELL, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_CREATEMONSTER, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_DESTROYMONSTER, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_CREATEITEM, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_CREATEGAMEOBJECT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_CHECK_FOR_BOTS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_MAKEMONSTERATTACKGUID, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_BOT_DETECTED2, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_FORCEACTION, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_FORCEACTIONONOTHER, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_FORCEACTIONSHOW, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_FORCEACTIONSHOW, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_PETGODMODE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_PETGODMODE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_REFER_A_FRIEND_EXPIRED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_WEATHER_SPEED_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_UNDRESSPLAYER, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_BEASTMASTER, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_GODMODE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_GODMODE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_CHEAT_SETMONEY, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_LEVEL_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_PET_LEVEL_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_SET_WORLDSTATE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_COOLDOWN_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_USE_SKILL_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_FLAG_QUEST, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_FLAG_QUEST_FINISH, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_CLEAR_QUEST, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_SEND_EVENT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_DEBUG_AISTATE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_DEBUG_AISTATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_DISABLE_PVP_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_ADVANCE_SPAWN_TIME, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_DESTRUCTIBLE_BUILDING_DAMAGE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_AUTH_SRP6_BEGIN, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_AUTH_SRP6_PROOF, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_AUTH_SRP6_RECODE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_CHAR_CREATE, STATUS_AUTHED, &WorldSession::HandleCharCreateOpcode ); + OPCODE( CMSG_CHAR_ENUM, STATUS_AUTHED, &WorldSession::HandleCharEnumOpcode ); + OPCODE( CMSG_CHAR_DELETE, STATUS_AUTHED, &WorldSession::HandleCharDeleteOpcode ); + OPCODE( SMSG_AUTH_SRP6_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_CHAR_CREATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_CHAR_ENUM, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_CHAR_DELETE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_PLAYER_LOGIN, STATUS_AUTHED, &WorldSession::HandlePlayerLoginOpcode ); + OPCODE( SMSG_NEW_WORLD, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_TRANSFER_PENDING, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_TRANSFER_ABORTED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_CHARACTER_LOGIN_FAILED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_LOGIN_SETTIMESPEED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_GAMETIME_UPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_GAMETIME_SET, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_GAMETIME_SET, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_GAMESPEED_SET, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_GAMESPEED_SET, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_SERVERTIME, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_SERVERTIME, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_PLAYER_LOGOUT, STATUS_LOGGEDIN, &WorldSession::HandlePlayerLogoutOpcode ); + OPCODE( CMSG_LOGOUT_REQUEST, STATUS_LOGGEDIN, &WorldSession::HandleLogoutRequestOpcode ); + OPCODE( SMSG_LOGOUT_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_LOGOUT_COMPLETE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_LOGOUT_CANCEL, STATUS_LOGGEDIN, &WorldSession::HandleLogoutCancelOpcode ); + OPCODE( SMSG_LOGOUT_CANCEL_ACK, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_NAME_QUERY, STATUS_LOGGEDIN, &WorldSession::HandleNameQueryOpcode ); + OPCODE( SMSG_NAME_QUERY_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_PET_NAME_QUERY, STATUS_LOGGEDIN, &WorldSession::HandlePetNameQuery ); + OPCODE( SMSG_PET_NAME_QUERY_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_GUILD_QUERY, STATUS_AUTHED, &WorldSession::HandleGuildQueryOpcode ); + OPCODE( SMSG_GUILD_QUERY_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_ITEM_QUERY_SINGLE, STATUS_LOGGEDIN, &WorldSession::HandleItemQuerySingleOpcode ); + OPCODE( CMSG_ITEM_QUERY_MULTIPLE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_ITEM_QUERY_SINGLE_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_ITEM_QUERY_MULTIPLE_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_PAGE_TEXT_QUERY, STATUS_LOGGEDIN, &WorldSession::HandlePageTextQueryOpcode ); + OPCODE( SMSG_PAGE_TEXT_QUERY_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_QUEST_QUERY, STATUS_LOGGEDIN, &WorldSession::HandleQuestQueryOpcode ); + OPCODE( SMSG_QUEST_QUERY_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_GAMEOBJECT_QUERY, STATUS_LOGGEDIN, &WorldSession::HandleGameObjectQueryOpcode ); + OPCODE( SMSG_GAMEOBJECT_QUERY_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_CREATURE_QUERY, STATUS_LOGGEDIN, &WorldSession::HandleCreatureQueryOpcode ); + OPCODE( SMSG_CREATURE_QUERY_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_WHO, STATUS_LOGGEDIN, &WorldSession::HandleWhoOpcode ); + OPCODE( SMSG_WHO, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_WHOIS, STATUS_LOGGEDIN, &WorldSession::HandleWhoisOpcode ); + OPCODE( SMSG_WHOIS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_CONTACT_LIST, STATUS_LOGGEDIN, &WorldSession::HandleContactListOpcode ); + OPCODE( SMSG_CONTACT_LIST, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_FRIEND_STATUS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_ADD_FRIEND, STATUS_LOGGEDIN, &WorldSession::HandleAddFriendOpcode ); + OPCODE( CMSG_DEL_FRIEND, STATUS_LOGGEDIN, &WorldSession::HandleDelFriendOpcode ); + OPCODE( CMSG_SET_CONTACT_NOTES, STATUS_LOGGEDIN, &WorldSession::HandleSetContactNotesOpcode ); + OPCODE( CMSG_ADD_IGNORE, STATUS_LOGGEDIN, &WorldSession::HandleAddIgnoreOpcode ); + OPCODE( CMSG_DEL_IGNORE, STATUS_LOGGEDIN, &WorldSession::HandleDelIgnoreOpcode ); + OPCODE( CMSG_GROUP_INVITE, STATUS_LOGGEDIN, &WorldSession::HandleGroupInviteOpcode ); + OPCODE( SMSG_GROUP_INVITE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_GROUP_CANCEL, STATUS_LOGGEDIN, &WorldSession::Handle_NULL ); + OPCODE( SMSG_GROUP_CANCEL, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_GROUP_ACCEPT, STATUS_LOGGEDIN, &WorldSession::HandleGroupAcceptOpcode ); + OPCODE( CMSG_GROUP_DECLINE, STATUS_LOGGEDIN, &WorldSession::HandleGroupDeclineOpcode ); + OPCODE( SMSG_GROUP_DECLINE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_GROUP_UNINVITE, STATUS_LOGGEDIN, &WorldSession::HandleGroupUninviteOpcode ); + OPCODE( CMSG_GROUP_UNINVITE_GUID, STATUS_LOGGEDIN, &WorldSession::HandleGroupUninviteGuidOpcode ); + OPCODE( SMSG_GROUP_UNINVITE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_GROUP_SET_LEADER, STATUS_LOGGEDIN, &WorldSession::HandleGroupSetLeaderOpcode ); + OPCODE( SMSG_GROUP_SET_LEADER, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_LOOT_METHOD, STATUS_LOGGEDIN, &WorldSession::HandleLootMethodOpcode ); + OPCODE( CMSG_GROUP_DISBAND, STATUS_LOGGEDIN, &WorldSession::HandleGroupDisbandOpcode ); + OPCODE( SMSG_GROUP_DESTROYED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_GROUP_LIST, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_PARTY_MEMBER_STATS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_PARTY_COMMAND_RESULT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( UMSG_UPDATE_GROUP_MEMBERS, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_GUILD_CREATE, STATUS_LOGGEDIN, &WorldSession::HandleGuildCreateOpcode ); + OPCODE( CMSG_GUILD_INVITE, STATUS_LOGGEDIN, &WorldSession::HandleGuildInviteOpcode ); + OPCODE( SMSG_GUILD_INVITE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_GUILD_ACCEPT, STATUS_LOGGEDIN, &WorldSession::HandleGuildAcceptOpcode ); + OPCODE( CMSG_GUILD_DECLINE, STATUS_LOGGEDIN, &WorldSession::HandleGuildDeclineOpcode ); + OPCODE( SMSG_GUILD_DECLINE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_GUILD_INFO, STATUS_LOGGEDIN, &WorldSession::HandleGuildInfoOpcode ); + OPCODE( SMSG_GUILD_INFO, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_GUILD_ROSTER, STATUS_LOGGEDIN, &WorldSession::HandleGuildRosterOpcode ); + OPCODE( SMSG_GUILD_ROSTER, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_GUILD_PROMOTE, STATUS_LOGGEDIN, &WorldSession::HandleGuildPromoteOpcode ); + OPCODE( CMSG_GUILD_DEMOTE, STATUS_LOGGEDIN, &WorldSession::HandleGuildDemoteOpcode ); + OPCODE( CMSG_GUILD_LEAVE, STATUS_LOGGEDIN, &WorldSession::HandleGuildLeaveOpcode ); + OPCODE( CMSG_GUILD_REMOVE, STATUS_LOGGEDIN, &WorldSession::HandleGuildRemoveOpcode ); + OPCODE( CMSG_GUILD_DISBAND, STATUS_LOGGEDIN, &WorldSession::HandleGuildDisbandOpcode ); + OPCODE( CMSG_GUILD_LEADER, STATUS_LOGGEDIN, &WorldSession::HandleGuildLeaderOpcode ); + OPCODE( CMSG_GUILD_MOTD, STATUS_LOGGEDIN, &WorldSession::HandleGuildMOTDOpcode ); + OPCODE( SMSG_GUILD_EVENT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_GUILD_COMMAND_RESULT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( UMSG_UPDATE_GUILD, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_MESSAGECHAT, STATUS_LOGGEDIN, &WorldSession::HandleMessagechatOpcode ); + OPCODE( SMSG_MESSAGECHAT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_JOIN_CHANNEL, STATUS_LOGGEDIN, &WorldSession::HandleJoinChannel ); + OPCODE( CMSG_LEAVE_CHANNEL, STATUS_LOGGEDIN, &WorldSession::HandleLeaveChannel ); + OPCODE( SMSG_CHANNEL_NOTIFY, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_CHANNEL_LIST, STATUS_LOGGEDIN, &WorldSession::HandleChannelList ); + OPCODE( SMSG_CHANNEL_LIST, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_CHANNEL_PASSWORD, STATUS_LOGGEDIN, &WorldSession::HandleChannelPassword ); + OPCODE( CMSG_CHANNEL_SET_OWNER, STATUS_LOGGEDIN, &WorldSession::HandleChannelSetOwner ); + OPCODE( CMSG_CHANNEL_OWNER, STATUS_LOGGEDIN, &WorldSession::HandleChannelOwner ); + OPCODE( CMSG_CHANNEL_MODERATOR, STATUS_LOGGEDIN, &WorldSession::HandleChannelModerator ); + OPCODE( CMSG_CHANNEL_UNMODERATOR, STATUS_LOGGEDIN, &WorldSession::HandleChannelUnmoderator ); + OPCODE( CMSG_CHANNEL_MUTE, STATUS_LOGGEDIN, &WorldSession::HandleChannelMute ); + OPCODE( CMSG_CHANNEL_UNMUTE, STATUS_LOGGEDIN, &WorldSession::HandleChannelUnmute ); + OPCODE( CMSG_CHANNEL_INVITE, STATUS_LOGGEDIN, &WorldSession::HandleChannelInvite ); + OPCODE( CMSG_CHANNEL_KICK, STATUS_LOGGEDIN, &WorldSession::HandleChannelKick ); + OPCODE( CMSG_CHANNEL_BAN, STATUS_LOGGEDIN, &WorldSession::HandleChannelBan ); + OPCODE( CMSG_CHANNEL_UNBAN, STATUS_LOGGEDIN, &WorldSession::HandleChannelUnban ); + OPCODE( CMSG_CHANNEL_ANNOUNCEMENTS, STATUS_LOGGEDIN, &WorldSession::HandleChannelAnnouncements ); + OPCODE( CMSG_CHANNEL_MODERATE, STATUS_LOGGEDIN, &WorldSession::HandleChannelModerate ); + OPCODE( SMSG_UPDATE_OBJECT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_DESTROY_OBJECT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_USE_ITEM, STATUS_LOGGEDIN, &WorldSession::HandleUseItemOpcode ); + OPCODE( CMSG_OPEN_ITEM, STATUS_LOGGEDIN, &WorldSession::HandleOpenItemOpcode ); + OPCODE( CMSG_READ_ITEM, STATUS_LOGGEDIN, &WorldSession::HandleReadItem ); + OPCODE( SMSG_READ_ITEM_OK, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_READ_ITEM_FAILED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_ITEM_COOLDOWN, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_GAMEOBJ_USE, STATUS_LOGGEDIN, &WorldSession::HandleGameObjectUseOpcode ); + OPCODE( CMSG_DESTROY_ITEMS, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_GAMEOBJECT_CUSTOM_ANIM, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_AREATRIGGER, STATUS_LOGGEDIN, &WorldSession::HandleAreaTriggerOpcode ); + OPCODE( MSG_MOVE_START_FORWARD, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + OPCODE( MSG_MOVE_START_BACKWARD, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + OPCODE( MSG_MOVE_STOP, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + OPCODE( MSG_MOVE_START_STRAFE_LEFT, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + OPCODE( MSG_MOVE_START_STRAFE_RIGHT, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + OPCODE( MSG_MOVE_STOP_STRAFE, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + OPCODE( MSG_MOVE_JUMP, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + OPCODE( MSG_MOVE_START_TURN_LEFT, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + OPCODE( MSG_MOVE_START_TURN_RIGHT, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + OPCODE( MSG_MOVE_STOP_TURN, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + OPCODE( MSG_MOVE_START_PITCH_UP, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + OPCODE( MSG_MOVE_START_PITCH_DOWN, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + OPCODE( MSG_MOVE_STOP_PITCH, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + OPCODE( MSG_MOVE_SET_RUN_MODE, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + OPCODE( MSG_MOVE_SET_WALK_MODE, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + OPCODE( MSG_MOVE_TOGGLE_LOGGING, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( MSG_MOVE_TELEPORT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( MSG_MOVE_TELEPORT_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( MSG_MOVE_TELEPORT_ACK, STATUS_LOGGEDIN, &WorldSession::HandleMoveTeleportAck ); + OPCODE( MSG_MOVE_TOGGLE_FALL_LOGGING, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( MSG_MOVE_FALL_LAND, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + OPCODE( MSG_MOVE_START_SWIM, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + OPCODE( MSG_MOVE_STOP_SWIM, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + OPCODE( MSG_MOVE_SET_RUN_SPEED_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( MSG_MOVE_SET_RUN_SPEED, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( MSG_MOVE_SET_RUN_BACK_SPEED_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( MSG_MOVE_SET_RUN_BACK_SPEED, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( MSG_MOVE_SET_WALK_SPEED_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( MSG_MOVE_SET_WALK_SPEED, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( MSG_MOVE_SET_SWIM_SPEED_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( MSG_MOVE_SET_SWIM_SPEED, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( MSG_MOVE_SET_SWIM_BACK_SPEED_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( MSG_MOVE_SET_SWIM_BACK_SPEED, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( MSG_MOVE_SET_ALL_SPEED_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( MSG_MOVE_SET_TURN_RATE_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( MSG_MOVE_SET_TURN_RATE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( MSG_MOVE_TOGGLE_COLLISION_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( MSG_MOVE_SET_FACING, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + OPCODE( MSG_MOVE_SET_PITCH, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + OPCODE( MSG_MOVE_WORLDPORT_ACK, STATUS_TRANSFER, &WorldSession::HandleMoveWorldportAckOpcode ); + OPCODE( SMSG_MONSTER_MOVE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_MOVE_WATER_WALK, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_MOVE_LAND_WALK, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( MSG_MOVE_SET_RAW_POSITION_ACK, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_MOVE_SET_RAW_POSITION, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_FORCE_RUN_SPEED_CHANGE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_FORCE_RUN_SPEED_CHANGE_ACK, STATUS_LOGGEDIN, &WorldSession::HandleForceSpeedChangeAck ); + OPCODE( SMSG_FORCE_RUN_BACK_SPEED_CHANGE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_FORCE_RUN_BACK_SPEED_CHANGE_ACK, STATUS_LOGGEDIN, &WorldSession::HandleForceSpeedChangeAck ); + OPCODE( SMSG_FORCE_SWIM_SPEED_CHANGE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_FORCE_SWIM_SPEED_CHANGE_ACK, STATUS_LOGGEDIN, &WorldSession::HandleForceSpeedChangeAck ); + OPCODE( SMSG_FORCE_MOVE_ROOT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_FORCE_MOVE_ROOT_ACK, STATUS_LOGGEDIN, &WorldSession::HandleMoveRootAck ); + OPCODE( SMSG_FORCE_MOVE_UNROOT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_FORCE_MOVE_UNROOT_ACK, STATUS_LOGGEDIN, &WorldSession::HandleMoveUnRootAck ); + OPCODE( MSG_MOVE_ROOT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( MSG_MOVE_UNROOT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( MSG_MOVE_HEARTBEAT, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + OPCODE( SMSG_MOVE_KNOCK_BACK, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_MOVE_KNOCK_BACK_ACK, STATUS_LOGGEDIN, &WorldSession::HandleMoveKnockBackAck ); + OPCODE( MSG_MOVE_KNOCK_BACK, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_MOVE_FEATHER_FALL, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_MOVE_NORMAL_FALL, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_MOVE_SET_HOVER, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_MOVE_UNSET_HOVER, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_MOVE_HOVER_ACK, STATUS_LOGGEDIN, &WorldSession::HandleMoveHoverAck ); + OPCODE( MSG_MOVE_HOVER, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_TRIGGER_CINEMATIC_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_OPENING_CINEMATIC, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_TRIGGER_CINEMATIC, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_NEXT_CINEMATIC_CAMERA, STATUS_LOGGEDIN, &WorldSession::HandleNextCinematicCamera ); + OPCODE( CMSG_COMPLETE_CINEMATIC, STATUS_LOGGEDIN, &WorldSession::HandleCompleteCinematic ); + OPCODE( SMSG_TUTORIAL_FLAGS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_TUTORIAL_FLAG, STATUS_LOGGEDIN, &WorldSession::HandleTutorialFlag ); + OPCODE( CMSG_TUTORIAL_CLEAR, STATUS_LOGGEDIN, &WorldSession::HandleTutorialClear ); + OPCODE( CMSG_TUTORIAL_RESET, STATUS_LOGGEDIN, &WorldSession::HandleTutorialReset ); + OPCODE( CMSG_STANDSTATECHANGE, STATUS_LOGGEDIN, &WorldSession::HandleStandStateChangeOpcode ); + OPCODE( CMSG_EMOTE, STATUS_LOGGEDIN, &WorldSession::HandleEmoteOpcode ); + OPCODE( SMSG_EMOTE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_TEXT_EMOTE, STATUS_LOGGEDIN, &WorldSession::HandleTextEmoteOpcode ); + OPCODE( SMSG_TEXT_EMOTE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_AUTOEQUIP_GROUND_ITEM, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_AUTOSTORE_GROUND_ITEM, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_AUTOSTORE_LOOT_ITEM, STATUS_LOGGEDIN, &WorldSession::HandleAutostoreLootItemOpcode ); + OPCODE( CMSG_STORE_LOOT_IN_SLOT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_AUTOEQUIP_ITEM, STATUS_LOGGEDIN, &WorldSession::HandleAutoEquipItemOpcode ); + OPCODE( CMSG_AUTOSTORE_BAG_ITEM, STATUS_LOGGEDIN, &WorldSession::HandleAutoStoreBagItemOpcode ); + OPCODE( CMSG_SWAP_ITEM, STATUS_LOGGEDIN, &WorldSession::HandleSwapItem ); + OPCODE( CMSG_SWAP_INV_ITEM, STATUS_LOGGEDIN, &WorldSession::HandleSwapInvItemOpcode ); + OPCODE( CMSG_SPLIT_ITEM, STATUS_LOGGEDIN, &WorldSession::HandleSplitItemOpcode ); + OPCODE( CMSG_AUTOEQUIP_ITEM_SLOT, STATUS_LOGGEDIN, &WorldSession::HandleAutoEquipItemSlotOpcode ); + OPCODE( OBSOLETE_DROP_ITEM, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_DESTROYITEM, STATUS_LOGGEDIN, &WorldSession::HandleDestroyItemOpcode ); + OPCODE( SMSG_INVENTORY_CHANGE_FAILURE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_OPEN_CONTAINER, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_INSPECT, STATUS_LOGGEDIN, &WorldSession::HandleInspectOpcode ); + OPCODE( SMSG_INSPECT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_INITIATE_TRADE, STATUS_LOGGEDIN, &WorldSession::HandleInitiateTradeOpcode ); + OPCODE( CMSG_BEGIN_TRADE, STATUS_LOGGEDIN, &WorldSession::HandleBeginTradeOpcode ); + OPCODE( CMSG_BUSY_TRADE, STATUS_LOGGEDIN, &WorldSession::HandleBusyTradeOpcode ); + OPCODE( CMSG_IGNORE_TRADE, STATUS_LOGGEDIN, &WorldSession::HandleIgnoreTradeOpcode ); + OPCODE( CMSG_ACCEPT_TRADE, STATUS_LOGGEDIN, &WorldSession::HandleAcceptTradeOpcode ); + OPCODE( CMSG_UNACCEPT_TRADE, STATUS_LOGGEDIN, &WorldSession::HandleUnacceptTradeOpcode ); + OPCODE( CMSG_CANCEL_TRADE, STATUS_LOGGEDIN_OR_RECENTLY_LOGGEDOUT, &WorldSession::HandleCancelTradeOpcode); + OPCODE( CMSG_SET_TRADE_ITEM, STATUS_LOGGEDIN, &WorldSession::HandleSetTradeItemOpcode ); + OPCODE( CMSG_CLEAR_TRADE_ITEM, STATUS_LOGGEDIN, &WorldSession::HandleClearTradeItemOpcode ); + OPCODE( CMSG_SET_TRADE_GOLD, STATUS_LOGGEDIN, &WorldSession::HandleSetTradeGoldOpcode ); + OPCODE( SMSG_TRADE_STATUS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_TRADE_STATUS_EXTENDED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_INITIALIZE_FACTIONS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_SET_FACTION_VISIBLE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_SET_FACTION_STANDING, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_SET_FACTION_ATWAR, STATUS_LOGGEDIN, &WorldSession::HandleSetFactionAtWar ); + OPCODE( CMSG_SET_FACTION_CHEAT, STATUS_LOGGEDIN, &WorldSession::HandleSetFactionCheat ); + OPCODE( SMSG_SET_PROFICIENCY, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_SET_ACTION_BUTTON, STATUS_LOGGEDIN, &WorldSession::HandleSetActionButtonOpcode ); + OPCODE( SMSG_ACTION_BUTTONS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_INITIAL_SPELLS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_LEARNED_SPELL, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_SUPERCEDED_SPELL, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_NEW_SPELL_SLOT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_CAST_SPELL, STATUS_LOGGEDIN, &WorldSession::HandleCastSpellOpcode ); + OPCODE( CMSG_CANCEL_CAST, STATUS_LOGGEDIN, &WorldSession::HandleCancelCastOpcode ); + OPCODE( SMSG_CAST_FAILED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_SPELL_START, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_SPELL_GO, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_SPELL_FAILURE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_SPELL_COOLDOWN, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_COOLDOWN_EVENT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_CANCEL_AURA, STATUS_LOGGEDIN, &WorldSession::HandleCancelAuraOpcode ); + OPCODE( SMSG_EQUIPMENT_SET_SAVED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_PET_CAST_FAILED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( MSG_CHANNEL_START, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( MSG_CHANNEL_UPDATE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_CANCEL_CHANNELLING, STATUS_LOGGEDIN, &WorldSession::HandleCancelChanneling ); + OPCODE( SMSG_AI_REACTION, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_SET_SELECTION, STATUS_LOGGEDIN, &WorldSession::HandleSetSelectionOpcode ); + OPCODE( CMSG_EQUIPMENT_SET_DELETE, STATUS_LOGGEDIN, &WorldSession::HandleEquipmentSetDelete ); + OPCODE( CMSG_INSTANCE_LOCK_WARNING_RESPONSE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_UNUSED2, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_ATTACKSWING, STATUS_LOGGEDIN, &WorldSession::HandleAttackSwingOpcode ); + OPCODE( CMSG_ATTACKSTOP, STATUS_LOGGEDIN, &WorldSession::HandleAttackStopOpcode ); + OPCODE( SMSG_ATTACKSTART, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_ATTACKSTOP, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_ATTACKSWING_NOTINRANGE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_ATTACKSWING_BADFACING, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_INSTANCE_LOCK_WARNING_QUERY, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_ATTACKSWING_DEADTARGET, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_ATTACKSWING_CANT_ATTACK, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_ATTACKERSTATEUPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_BATTLEFIELD_PORT_DENIED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_DAMAGE_DONE_OBSOLETE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_CANCEL_COMBAT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_SPELLBREAKLOG, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_SPELLHEALLOG, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_SPELLENERGIZELOG, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_BREAK_TARGET, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_SAVE_PLAYER, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_SETDEATHBINDPOINT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_BINDPOINTUPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_GETDEATHBINDZONE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_BINDZONEREPLY, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_PLAYERBOUND, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_CLIENT_CONTROL_UPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_REPOP_REQUEST, STATUS_LOGGEDIN, &WorldSession::HandleRepopRequestOpcode ); + OPCODE( SMSG_RESURRECT_REQUEST, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_RESURRECT_RESPONSE, STATUS_LOGGEDIN, &WorldSession::HandleResurrectResponseOpcode ); + OPCODE( CMSG_LOOT, STATUS_LOGGEDIN, &WorldSession::HandleLootOpcode ); + OPCODE( CMSG_LOOT_MONEY, STATUS_LOGGEDIN, &WorldSession::HandleLootMoneyOpcode ); + OPCODE( CMSG_LOOT_RELEASE, STATUS_LOGGEDIN, &WorldSession::HandleLootReleaseOpcode ); + OPCODE( SMSG_LOOT_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_LOOT_RELEASE_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_LOOT_REMOVED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_LOOT_MONEY_NOTIFY, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_LOOT_ITEM_NOTIFY, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_LOOT_CLEAR_MONEY, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_ITEM_PUSH_RESULT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_DUEL_REQUESTED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_DUEL_OUTOFBOUNDS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_DUEL_INBOUNDS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_DUEL_COMPLETE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_DUEL_WINNER, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_DUEL_ACCEPTED, STATUS_LOGGEDIN, &WorldSession::HandleDuelAcceptedOpcode ); + OPCODE( CMSG_DUEL_CANCELLED, STATUS_LOGGEDIN, &WorldSession::HandleDuelCancelledOpcode ); + OPCODE( SMSG_MOUNTRESULT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_DISMOUNTRESULT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_PUREMOUNT_CANCELLED_OBSOLETE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_MOUNTSPECIAL_ANIM, STATUS_LOGGEDIN, &WorldSession::HandleMountSpecialAnimOpcode ); + OPCODE( SMSG_MOUNTSPECIAL_ANIM, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_PET_TAME_FAILURE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_PET_SET_ACTION, STATUS_LOGGEDIN, &WorldSession::HandlePetSetAction ); + OPCODE( CMSG_PET_ACTION, STATUS_LOGGEDIN, &WorldSession::HandlePetAction ); + OPCODE( CMSG_PET_ABANDON, STATUS_LOGGEDIN, &WorldSession::HandlePetAbandon ); + OPCODE( CMSG_PET_RENAME, STATUS_LOGGEDIN, &WorldSession::HandlePetRename ); + OPCODE( SMSG_PET_NAME_INVALID, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_PET_SPELLS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_PET_MODE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_GOSSIP_HELLO, STATUS_LOGGEDIN, &WorldSession::HandleGossipHelloOpcode ); + OPCODE( CMSG_GOSSIP_SELECT_OPTION, STATUS_LOGGEDIN, &WorldSession::HandleGossipSelectOptionOpcode ); + OPCODE( SMSG_GOSSIP_MESSAGE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_GOSSIP_COMPLETE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_NPC_TEXT_QUERY, STATUS_LOGGEDIN, &WorldSession::HandleNpcTextQueryOpcode ); + OPCODE( SMSG_NPC_TEXT_UPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_NPC_WONT_TALK, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_QUESTGIVER_STATUS_QUERY, STATUS_LOGGEDIN, &WorldSession::HandleQuestgiverStatusQueryOpcode); + OPCODE( SMSG_QUESTGIVER_STATUS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_QUESTGIVER_HELLO, STATUS_LOGGEDIN, &WorldSession::HandleQuestgiverHelloOpcode ); + OPCODE( SMSG_QUESTGIVER_QUEST_LIST, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_QUESTGIVER_QUERY_QUEST, STATUS_LOGGEDIN, &WorldSession::HandleQuestgiverQueryQuestOpcode); + OPCODE( CMSG_QUESTGIVER_QUEST_AUTOLAUNCH, STATUS_LOGGEDIN, &WorldSession::HandleQuestgiverQuestAutoLaunch ); + OPCODE( SMSG_QUESTGIVER_QUEST_DETAILS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_QUESTGIVER_ACCEPT_QUEST, STATUS_LOGGEDIN, &WorldSession::HandleQuestgiverAcceptQuestOpcode); + OPCODE( CMSG_QUESTGIVER_COMPLETE_QUEST, STATUS_LOGGEDIN, &WorldSession::HandleQuestgiverCompleteQuest ); + OPCODE( SMSG_QUESTGIVER_REQUEST_ITEMS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_QUESTGIVER_REQUEST_REWARD, STATUS_LOGGEDIN, &WorldSession::HandleQuestgiverRequestRewardOpcode); + OPCODE( SMSG_QUESTGIVER_OFFER_REWARD, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_QUESTGIVER_CHOOSE_REWARD, STATUS_LOGGEDIN, &WorldSession::HandleQuestgiverChooseRewardOpcode); + OPCODE( SMSG_QUESTGIVER_QUEST_INVALID, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_QUESTGIVER_CANCEL, STATUS_LOGGEDIN, &WorldSession::HandleQuestgiverCancel ); + OPCODE( SMSG_QUESTGIVER_QUEST_COMPLETE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_QUESTGIVER_QUEST_FAILED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_QUESTLOG_SWAP_QUEST, STATUS_LOGGEDIN, &WorldSession::HandleQuestLogSwapQuest ); + OPCODE( CMSG_QUESTLOG_REMOVE_QUEST, STATUS_LOGGEDIN, &WorldSession::HandleQuestLogRemoveQuest ); + OPCODE( SMSG_QUESTLOG_FULL, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_QUESTUPDATE_FAILED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_QUESTUPDATE_FAILEDTIMER, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_QUESTUPDATE_COMPLETE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_QUESTUPDATE_ADD_KILL, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_QUESTUPDATE_ADD_ITEM, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_QUEST_CONFIRM_ACCEPT, STATUS_LOGGEDIN, &WorldSession::HandleQuestConfirmAccept ); + OPCODE( SMSG_QUEST_CONFIRM_ACCEPT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_PUSHQUESTTOPARTY, STATUS_LOGGEDIN, &WorldSession::HandlePushQuestToParty ); + OPCODE( CMSG_LIST_INVENTORY, STATUS_LOGGEDIN, &WorldSession::HandleListInventoryOpcode ); + OPCODE( SMSG_LIST_INVENTORY, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_SELL_ITEM, STATUS_LOGGEDIN, &WorldSession::HandleSellItemOpcode ); + OPCODE( SMSG_SELL_ITEM, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_BUY_ITEM, STATUS_LOGGEDIN, &WorldSession::HandleBuyItemOpcode ); + OPCODE( CMSG_BUY_ITEM_IN_SLOT, STATUS_LOGGEDIN, &WorldSession::HandleBuyItemInSlotOpcode ); + OPCODE( SMSG_BUY_ITEM, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_BUY_FAILED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_TAXICLEARALLNODES, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_TAXIENABLEALLNODES, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_TAXISHOWNODES, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_SHOWTAXINODES, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_TAXINODE_STATUS_QUERY, STATUS_LOGGEDIN, &WorldSession::HandleTaxiNodeStatusQueryOpcode ); + OPCODE( SMSG_TAXINODE_STATUS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_TAXIQUERYAVAILABLENODES, STATUS_LOGGEDIN, &WorldSession::HandleTaxiQueryAvailableNodes ); + OPCODE( CMSG_ACTIVATETAXI, STATUS_LOGGEDIN, &WorldSession::HandleActivateTaxiOpcode ); + OPCODE( SMSG_ACTIVATETAXIREPLY, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_NEW_TAXI_PATH, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_TRAINER_LIST, STATUS_LOGGEDIN, &WorldSession::HandleTrainerListOpcode ); + OPCODE( SMSG_TRAINER_LIST, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_TRAINER_BUY_SPELL, STATUS_LOGGEDIN, &WorldSession::HandleTrainerBuySpellOpcode ); + OPCODE( SMSG_TRAINER_BUY_SUCCEEDED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_TRAINER_BUY_FAILED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_BINDER_ACTIVATE, STATUS_LOGGEDIN, &WorldSession::HandleBinderActivateOpcode ); + OPCODE( SMSG_PLAYERBINDERROR, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_BANKER_ACTIVATE, STATUS_LOGGEDIN, &WorldSession::HandleBankerActivateOpcode ); + OPCODE( SMSG_SHOW_BANK, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_BUY_BANK_SLOT, STATUS_LOGGEDIN, &WorldSession::HandleBuyBankSlotOpcode ); + OPCODE( SMSG_BUY_BANK_SLOT_RESULT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_PETITION_SHOWLIST, STATUS_LOGGEDIN, &WorldSession::HandlePetitionShowListOpcode ); + OPCODE( SMSG_PETITION_SHOWLIST, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_PETITION_BUY, STATUS_LOGGEDIN, &WorldSession::HandlePetitionBuyOpcode ); + OPCODE( CMSG_PETITION_SHOW_SIGNATURES, STATUS_LOGGEDIN, &WorldSession::HandlePetitionShowSignOpcode ); + OPCODE( SMSG_PETITION_SHOW_SIGNATURES, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_PETITION_SIGN, STATUS_LOGGEDIN, &WorldSession::HandlePetitionSignOpcode ); + OPCODE( SMSG_PETITION_SIGN_RESULTS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( MSG_PETITION_DECLINE, STATUS_LOGGEDIN, &WorldSession::HandlePetitionDeclineOpcode ); + OPCODE( CMSG_OFFER_PETITION, STATUS_LOGGEDIN, &WorldSession::HandleOfferPetitionOpcode ); + OPCODE( CMSG_TURN_IN_PETITION, STATUS_LOGGEDIN, &WorldSession::HandleTurnInPetitionOpcode ); + OPCODE( SMSG_TURN_IN_PETITION_RESULTS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_PETITION_QUERY, STATUS_LOGGEDIN, &WorldSession::HandlePetitionQueryOpcode ); + OPCODE( SMSG_PETITION_QUERY_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_FISH_NOT_HOOKED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_FISH_ESCAPED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_BUG, STATUS_LOGGEDIN, &WorldSession::HandleBugOpcode ); + OPCODE( SMSG_NOTIFICATION, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_PLAYED_TIME, STATUS_LOGGEDIN, &WorldSession::HandlePlayedTime ); + OPCODE( SMSG_PLAYED_TIME, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_QUERY_TIME, STATUS_LOGGEDIN, &WorldSession::HandleQueryTimeOpcode ); + OPCODE( SMSG_QUERY_TIME_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_LOG_XPGAIN, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_AURACASTLOG, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_RECLAIM_CORPSE, STATUS_LOGGEDIN, &WorldSession::HandleReclaimCorpseOpcode ); + OPCODE( CMSG_WRAP_ITEM, STATUS_LOGGEDIN, &WorldSession::HandleWrapItemOpcode ); + OPCODE( SMSG_LEVELUP_INFO, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( MSG_MINIMAP_PING, STATUS_LOGGEDIN, &WorldSession::HandleMinimapPingOpcode ); + OPCODE( SMSG_RESISTLOG, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_ENCHANTMENTLOG, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_SET_SKILL_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_START_MIRROR_TIMER, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_PAUSE_MIRROR_TIMER, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_STOP_MIRROR_TIMER, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_PING, STATUS_NEVER, &WorldSession::Handle_EarlyProccess ); + OPCODE( SMSG_PONG, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_CLEAR_COOLDOWN, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_GAMEOBJECT_PAGETEXT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_SETSHEATHED, STATUS_LOGGEDIN, &WorldSession::HandleSetSheathedOpcode ); + OPCODE( SMSG_COOLDOWN_CHEAT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_SPELL_DELAYED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_QUEST_POI_QUERY, STATUS_LOGGEDIN, &WorldSession::HandleQuestPOIQuery ); + OPCODE( SMSG_QUEST_POI_QUERY_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_GHOST, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_GM_INVIS, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_INVALID_PROMOTION_CODE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( MSG_GM_BIND_OTHER, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( MSG_GM_SUMMON, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_ITEM_TIME_UPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_ITEM_ENCHANT_TIME_UPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_AUTH_CHALLENGE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_AUTH_SESSION, STATUS_NEVER, &WorldSession::Handle_EarlyProccess ); + OPCODE( SMSG_AUTH_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( MSG_GM_SHOWLABEL, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_PET_CAST_SPELL, STATUS_LOGGEDIN, &WorldSession::HandlePetCastSpellOpcode ); + OPCODE( MSG_SAVE_GUILD_EMBLEM, STATUS_LOGGEDIN, &WorldSession::HandleSaveGuildEmblemOpcode ); + OPCODE( MSG_TABARDVENDOR_ACTIVATE, STATUS_LOGGEDIN, &WorldSession::HandleTabardVendorActivateOpcode); + OPCODE( SMSG_PLAY_SPELL_VISUAL, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_ZONEUPDATE, STATUS_LOGGEDIN, &WorldSession::HandleZoneUpdateOpcode ); + OPCODE( SMSG_PARTYKILLLOG, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_COMPRESSED_UPDATE_OBJECT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_PLAY_SPELL_IMPACT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_EXPLORATION_EXPERIENCE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_GM_SET_SECURITY_GROUP, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_GM_NUKE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( MSG_RANDOM_ROLL, STATUS_LOGGEDIN, &WorldSession::HandleRandomRollOpcode ); + OPCODE( SMSG_ENVIRONMENTALDAMAGELOG, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_PLAYER_DIFFICULTY_CHANGE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_RWHOIS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_LFG_PLAYER_REWARD, STATUS_LOGGEDIN, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_LFG_TELEPORT_DENIED, STATUS_LOGGEDIN, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_UNLEARN_SPELL, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_UNLEARN_SKILL, STATUS_LOGGEDIN, &WorldSession::HandleUnlearnSkillOpcode ); + OPCODE( SMSG_REMOVED_SPELL, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_DECHARGE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_GMTICKET_CREATE, STATUS_LOGGEDIN, &WorldSession::HandleGMTicketCreateOpcode ); + OPCODE( SMSG_GMTICKET_CREATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_GMTICKET_UPDATETEXT, STATUS_LOGGEDIN, &WorldSession::HandleGMTicketUpdateOpcode ); + OPCODE( SMSG_GMTICKET_UPDATETEXT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_ACCOUNT_DATA_TIMES, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_REQUEST_ACCOUNT_DATA, STATUS_AUTHED, &WorldSession::HandleRequestAccountData ); + OPCODE( CMSG_UPDATE_ACCOUNT_DATA, STATUS_AUTHED, &WorldSession::HandleUpdateAccountData); + OPCODE( SMSG_UPDATE_ACCOUNT_DATA, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_CLEAR_FAR_SIGHT_IMMEDIATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_PLAYER_DIFFICULTY_CHANGE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_GM_TEACH, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_GM_CREATE_ITEM_TARGET, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_GMTICKET_GETTICKET, STATUS_LOGGEDIN, &WorldSession::HandleGMTicketGetTicketOpcode ); + OPCODE( SMSG_GMTICKET_GETTICKET, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_UNLEARN_TALENTS, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_GAMEOBJECT_SPAWN_ANIM_OBSOLETE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_GAMEOBJECT_DESPAWN_ANIM, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( MSG_CORPSE_QUERY, STATUS_LOGGEDIN, &WorldSession::HandleCorpseQueryOpcode ); + OPCODE( CMSG_GMTICKET_DELETETICKET, STATUS_LOGGEDIN, &WorldSession::HandleGMTicketDeleteOpcode ); + OPCODE( SMSG_GMTICKET_DELETETICKET, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_CHAT_WRONG_FACTION, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_GMTICKET_SYSTEMSTATUS, STATUS_LOGGEDIN, &WorldSession::HandleGMTicketSystemStatusOpcode); + OPCODE( SMSG_GMTICKET_SYSTEMSTATUS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_SPIRIT_HEALER_ACTIVATE, STATUS_LOGGEDIN, &WorldSession::HandleSpiritHealerActivateOpcode); + OPCODE( CMSG_SET_STAT_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_SKILL_BUY_STEP, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_SKILL_BUY_RANK, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_XP_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_SPIRIT_HEALER_CONFIRM, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_CHARACTER_POINT_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_GOSSIP_POI, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_CHAT_IGNORED, STATUS_LOGGEDIN, &WorldSession::HandleChatIgnoredOpcode ); + OPCODE( CMSG_GM_VISION, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_SERVER_COMMAND, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_GM_SILENCE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_GM_REVEALTO, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_GM_RESURRECT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_GM_SUMMONMOB, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_GM_MOVECORPSE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_GM_FREEZE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_GM_UBERINVIS, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_GM_REQUEST_PLAYER_INFO, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_GM_PLAYER_INFO, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_GUILD_RANK, STATUS_LOGGEDIN, &WorldSession::HandleGuildRankOpcode ); + OPCODE( CMSG_GUILD_ADD_RANK, STATUS_LOGGEDIN, &WorldSession::HandleGuildAddRankOpcode ); + OPCODE( CMSG_GUILD_DEL_RANK, STATUS_LOGGEDIN, &WorldSession::HandleGuildDelRankOpcode ); + OPCODE( CMSG_GUILD_SET_PUBLIC_NOTE, STATUS_LOGGEDIN, &WorldSession::HandleGuildSetPublicNoteOpcode ); + OPCODE( CMSG_GUILD_SET_OFFICER_NOTE, STATUS_LOGGEDIN, &WorldSession::HandleGuildSetOfficerNoteOpcode ); + OPCODE( SMSG_LOGIN_VERIFY_WORLD, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_CLEAR_EXPLORATION, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_SEND_MAIL, STATUS_LOGGEDIN, &WorldSession::HandleSendMail ); + OPCODE( SMSG_SEND_MAIL_RESULT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_GET_MAIL_LIST, STATUS_LOGGEDIN, &WorldSession::HandleGetMailList ); + OPCODE( SMSG_MAIL_LIST_RESULT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_BATTLEFIELD_LIST, STATUS_LOGGEDIN, &WorldSession::HandleBattlefieldListOpcode ); + OPCODE( SMSG_BATTLEFIELD_LIST, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_BATTLEFIELD_JOIN, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_BATTLEFIELD_WIN_OBSOLETE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_BATTLEFIELD_LOSE_OBSOLETE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_TAXICLEARNODE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_TAXIENABLENODE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_ITEM_TEXT_QUERY, STATUS_LOGGEDIN, &WorldSession::HandleItemTextQuery ); + OPCODE( SMSG_ITEM_TEXT_QUERY_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_MAIL_TAKE_MONEY, STATUS_LOGGEDIN, &WorldSession::HandleMailTakeMoney ); + OPCODE( CMSG_MAIL_TAKE_ITEM, STATUS_LOGGEDIN, &WorldSession::HandleMailTakeItem ); + OPCODE( CMSG_MAIL_MARK_AS_READ, STATUS_LOGGEDIN, &WorldSession::HandleMailMarkAsRead ); + OPCODE( CMSG_MAIL_RETURN_TO_SENDER, STATUS_LOGGEDIN, &WorldSession::HandleMailReturnToSender ); + OPCODE( CMSG_MAIL_DELETE, STATUS_LOGGEDIN, &WorldSession::HandleMailDelete ); + OPCODE( CMSG_MAIL_CREATE_TEXT_ITEM, STATUS_LOGGEDIN, &WorldSession::HandleMailCreateTextItem ); + OPCODE( SMSG_SPELLLOGMISS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_SPELLLOGEXECUTE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_DEBUGAURAPROC, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_PERIODICAURALOG, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_SPELLDAMAGESHIELD, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_SPELLNONMELEEDAMAGELOG, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_LEARN_TALENT, STATUS_LOGGEDIN, &WorldSession::HandleLearnTalentOpcode ); + OPCODE( SMSG_RESURRECT_FAILED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_TOGGLE_PVP, STATUS_LOGGEDIN, &WorldSession::HandleTogglePvP ); + OPCODE( SMSG_ZONE_UNDER_ATTACK, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( MSG_AUCTION_HELLO, STATUS_LOGGEDIN, &WorldSession::HandleAuctionHelloOpcode ); + OPCODE( CMSG_AUCTION_SELL_ITEM, STATUS_LOGGEDIN, &WorldSession::HandleAuctionSellItem ); + OPCODE( CMSG_AUCTION_REMOVE_ITEM, STATUS_LOGGEDIN, &WorldSession::HandleAuctionRemoveItem ); + OPCODE( CMSG_AUCTION_LIST_ITEMS, STATUS_LOGGEDIN, &WorldSession::HandleAuctionListItems ); + OPCODE( CMSG_AUCTION_LIST_OWNER_ITEMS, STATUS_LOGGEDIN, &WorldSession::HandleAuctionListOwnerItems ); + OPCODE( CMSG_AUCTION_PLACE_BID, STATUS_LOGGEDIN, &WorldSession::HandleAuctionPlaceBid ); + OPCODE( SMSG_AUCTION_COMMAND_RESULT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_AUCTION_LIST_RESULT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_AUCTION_OWNER_LIST_RESULT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_AUCTION_BIDDER_NOTIFICATION, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_AUCTION_OWNER_NOTIFICATION, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_PROCRESIST, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_STANDSTATE_CHANGE_FAILURE_OBSOLETE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_DISPEL_FAILED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_SPELLORDAMAGE_IMMUNE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_AUCTION_LIST_BIDDER_ITEMS, STATUS_LOGGEDIN, &WorldSession::HandleAuctionListBidderItems ); + OPCODE( SMSG_AUCTION_BIDDER_LIST_RESULT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_SET_FLAT_SPELL_MODIFIER, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_SET_PCT_SPELL_MODIFIER, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_SET_AMMO, STATUS_LOGGEDIN, &WorldSession::HandleSetAmmoOpcode ); + OPCODE( SMSG_CORPSE_RECLAIM_DELAY, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_SET_ACTIVE_MOVER, STATUS_LOGGEDIN, &WorldSession::HandleSetActiveMoverOpcode ); + OPCODE( CMSG_PET_CANCEL_AURA, STATUS_LOGGEDIN, &WorldSession::HandlePetCancelAuraOpcode ); + OPCODE( CMSG_PLAYER_AI_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_CANCEL_AUTO_REPEAT_SPELL, STATUS_LOGGEDIN, &WorldSession::HandleCancelAutoRepeatSpellOpcode); + OPCODE( MSG_GM_ACCOUNT_ONLINE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( MSG_LIST_STABLED_PETS, STATUS_LOGGEDIN, &WorldSession::HandleListStabledPetsOpcode ); + OPCODE( CMSG_STABLE_PET, STATUS_LOGGEDIN, &WorldSession::HandleStablePet ); + OPCODE( CMSG_UNSTABLE_PET, STATUS_LOGGEDIN, &WorldSession::HandleUnstablePet ); + OPCODE( CMSG_BUY_STABLE_SLOT, STATUS_LOGGEDIN, &WorldSession::HandleBuyStableSlot ); + OPCODE( SMSG_STABLE_RESULT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_STABLE_REVIVE_PET, STATUS_LOGGEDIN, &WorldSession::HandleStableRevivePet ); + OPCODE( CMSG_STABLE_SWAP_PET, STATUS_LOGGEDIN, &WorldSession::HandleStableSwapPet ); + OPCODE( MSG_QUEST_PUSH_RESULT, STATUS_LOGGEDIN, &WorldSession::HandleQuestPushResult ); + OPCODE( SMSG_PLAY_MUSIC, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_PLAY_OBJECT_SOUND, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_REQUEST_PET_INFO, STATUS_LOGGEDIN, &WorldSession::HandleRequestPetInfoOpcode ); + OPCODE( CMSG_FAR_SIGHT, STATUS_LOGGEDIN, &WorldSession::HandleFarSightOpcode ); + OPCODE( SMSG_SPELLDISPELLOG, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_DAMAGE_CALC_LOG, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_ENABLE_DAMAGE_LOG, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_GROUP_CHANGE_SUB_GROUP, STATUS_LOGGEDIN, &WorldSession::HandleGroupChangeSubGroupOpcode ); + OPCODE( CMSG_REQUEST_PARTY_MEMBER_STATS, STATUS_LOGGEDIN, &WorldSession::HandleRequestPartyMemberStatsOpcode); + OPCODE( CMSG_GROUP_SWAP_SUB_GROUP, STATUS_UNHANDLED,&WorldSession::Handle_NULL ); + OPCODE( CMSG_RESET_FACTION_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_AUTOSTORE_BANK_ITEM, STATUS_LOGGEDIN, &WorldSession::HandleAutoStoreBankItemOpcode ); + OPCODE( CMSG_AUTOBANK_ITEM, STATUS_LOGGEDIN, &WorldSession::HandleAutoBankItemOpcode ); + OPCODE( MSG_QUERY_NEXT_MAIL_TIME, STATUS_LOGGEDIN, &WorldSession::HandleQueryNextMailTime ); + OPCODE( SMSG_RECEIVED_MAIL, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_RAID_GROUP_ONLY, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_SET_DURABILITY_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_SET_PVP_RANK_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_ADD_PVP_MEDAL_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_DEL_PVP_MEDAL_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_SET_PVP_TITLE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_PVP_CREDIT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_AUCTION_REMOVED_NOTIFICATION, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_GROUP_RAID_CONVERT, STATUS_LOGGEDIN, &WorldSession::HandleGroupRaidConvertOpcode ); + OPCODE( CMSG_GROUP_ASSISTANT_LEADER, STATUS_LOGGEDIN, &WorldSession::HandleGroupAssistantLeaderOpcode); + OPCODE( CMSG_BUYBACK_ITEM, STATUS_LOGGEDIN, &WorldSession::HandleBuybackItem ); + OPCODE( SMSG_SERVER_MESSAGE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_SET_SAVED_INSTANCE_EXTEND, STATUS_UNHANDLED,&WorldSession::Handle_NULL ); + OPCODE( SMSG_LFG_OFFER_CONTINUE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_MEETINGSTONE_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_MEETINGSTONE_SETQUEUE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_MEETINGSTONE_INFO, STATUS_LOGGEDIN, &WorldSession::HandleMeetingStoneInfo ); + OPCODE( SMSG_MEETINGSTONE_COMPLETE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_MEETINGSTONE_IN_PROGRESS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_MEETINGSTONE_MEMBER_ADDED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_GMTICKETSYSTEM_TOGGLE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_CANCEL_GROWTH_AURA, STATUS_LOGGEDIN, &WorldSession::HandleCancelGrowthAuraOpcode ); + OPCODE( SMSG_CANCEL_AUTO_REPEAT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_STANDSTATE_UPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_LOOT_ALL_PASSED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_LOOT_ROLL_WON, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_LOOT_ROLL, STATUS_LOGGEDIN, &WorldSession::HandleLootRoll ); + OPCODE( SMSG_LOOT_START_ROLL, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_LOOT_ROLL, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_LOOT_MASTER_GIVE, STATUS_LOGGEDIN, &WorldSession::HandleLootMasterGiveOpcode ); + OPCODE( SMSG_LOOT_MASTER_LIST, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_SET_FORCED_REACTIONS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_SPELL_FAILED_OTHER, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_GAMEOBJECT_RESET_STATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_REPAIR_ITEM, STATUS_LOGGEDIN, &WorldSession::HandleRepairItemOpcode ); + OPCODE( SMSG_CHAT_PLAYER_NOT_FOUND, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( MSG_TALENT_WIPE_CONFIRM, STATUS_LOGGEDIN, &WorldSession::HandleTalentWipeConfirmOpcode ); + OPCODE( SMSG_SUMMON_REQUEST, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_SUMMON_RESPONSE, STATUS_LOGGEDIN, &WorldSession::HandleSummonResponseOpcode ); + OPCODE( MSG_MOVE_TOGGLE_GRAVITY_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_MONSTER_MOVE_TRANSPORT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_PET_BROKEN, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( MSG_MOVE_FEATHER_FALL, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( MSG_MOVE_WATER_WALK, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_SERVER_BROADCAST, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_SELF_RES, STATUS_LOGGEDIN, &WorldSession::HandleSelfResOpcode ); + OPCODE( SMSG_FEIGN_DEATH_RESISTED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_RUN_SCRIPT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_SCRIPT_MESSAGE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_DUEL_COUNTDOWN, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_AREA_TRIGGER_MESSAGE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_SHOWING_HELM, STATUS_LOGGEDIN, &WorldSession::HandleShowingHelmOpcode ); + OPCODE( CMSG_SHOWING_CLOAK, STATUS_LOGGEDIN, &WorldSession::HandleShowingCloakOpcode ); + OPCODE( SMSG_LFG_ROLE_CHOSEN, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_PLAYER_SKINNED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_DURABILITY_DAMAGE_DEATH, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_SET_EXPLORATION, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_SET_ACTIONBAR_TOGGLES, STATUS_AUTHED, &WorldSession::HandleSetActionBarToggles ); + OPCODE( UMSG_DELETE_GUILD_CHARTER, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( MSG_PETITION_RENAME, STATUS_LOGGEDIN, &WorldSession::HandlePetitionRenameOpcode ); + OPCODE( SMSG_INIT_WORLD_STATES, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_UPDATE_WORLD_STATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_ITEM_NAME_QUERY, STATUS_LOGGEDIN, &WorldSession::HandleItemNameQueryOpcode ); + OPCODE( SMSG_ITEM_NAME_QUERY_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_PET_ACTION_FEEDBACK, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_CHAR_RENAME, STATUS_AUTHED, &WorldSession::HandleCharRenameOpcode ); + OPCODE( SMSG_CHAR_RENAME, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_MOVE_SPLINE_DONE, STATUS_LOGGEDIN, &WorldSession::HandleMoveSplineDoneOpcode ); + OPCODE( CMSG_MOVE_FALL_RESET, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + OPCODE( SMSG_INSTANCE_SAVE_CREATED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_RAID_INSTANCE_INFO, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_REQUEST_RAID_INFO, STATUS_LOGGEDIN, &WorldSession::HandleRequestRaidInfoOpcode ); + OPCODE( CMSG_MOVE_TIME_SKIPPED, STATUS_LOGGEDIN, &WorldSession::HandleMoveTimeSkippedOpcode ); + OPCODE( CMSG_MOVE_FEATHER_FALL_ACK, STATUS_LOGGEDIN, &WorldSession::HandleFeatherFallAck ); + OPCODE( CMSG_MOVE_WATER_WALK_ACK, STATUS_LOGGEDIN, &WorldSession::HandleMoveWaterWalkAck ); + OPCODE( CMSG_MOVE_NOT_ACTIVE_MOVER, STATUS_LOGGEDIN, &WorldSession::HandleMoveNotActiveMover ); + OPCODE( SMSG_PLAY_SOUND, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_BATTLEFIELD_STATUS, STATUS_LOGGEDIN, &WorldSession::HandleBattlefieldStatusOpcode ); + OPCODE( SMSG_BATTLEFIELD_STATUS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_BATTLEFIELD_PORT, STATUS_LOGGEDIN, &WorldSession::HandleBattleFieldPortOpcode ); + OPCODE( MSG_INSPECT_HONOR_STATS, STATUS_LOGGEDIN, &WorldSession::HandleInspectHonorStatsOpcode ); + OPCODE( CMSG_BATTLEMASTER_HELLO, STATUS_LOGGEDIN, &WorldSession::HandleBattlemasterHelloOpcode ); + OPCODE( CMSG_MOVE_START_SWIM_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_MOVE_STOP_SWIM_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_FORCE_WALK_SPEED_CHANGE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_FORCE_WALK_SPEED_CHANGE_ACK, STATUS_LOGGEDIN, &WorldSession::HandleForceSpeedChangeAck ); + OPCODE( SMSG_FORCE_SWIM_BACK_SPEED_CHANGE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_FORCE_SWIM_BACK_SPEED_CHANGE_ACK, STATUS_LOGGEDIN, &WorldSession::HandleForceSpeedChangeAck ); + OPCODE( SMSG_FORCE_TURN_RATE_CHANGE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_FORCE_TURN_RATE_CHANGE_ACK, STATUS_LOGGEDIN, &WorldSession::HandleForceSpeedChangeAck ); + OPCODE( MSG_PVP_LOG_DATA, STATUS_LOGGEDIN, &WorldSession::HandlePVPLogDataOpcode ); + OPCODE( CMSG_LEAVE_BATTLEFIELD, STATUS_LOGGEDIN, &WorldSession::HandleLeaveBattlefieldOpcode ); + OPCODE( CMSG_AREA_SPIRIT_HEALER_QUERY, STATUS_LOGGEDIN, &WorldSession::HandleAreaSpiritHealerQueryOpcode); + OPCODE( CMSG_AREA_SPIRIT_HEALER_QUEUE, STATUS_LOGGEDIN, &WorldSession::HandleAreaSpiritHealerQueueOpcode); + OPCODE( SMSG_AREA_SPIRIT_HEALER_TIME, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_GM_UNTEACH, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_WARDEN_DATA, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_WARDEN_DATA, STATUS_LOGGEDIN, &WorldSession::HandleWardenDataOpcode ); + OPCODE( SMSG_GROUP_JOINED_BATTLEGROUND, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( MSG_BATTLEGROUND_PLAYER_POSITIONS, STATUS_LOGGEDIN, &WorldSession::HandleBattleGroundPlayerPositionsOpcode); + OPCODE( CMSG_PET_STOP_ATTACK, STATUS_UNHANDLED,&WorldSession::Handle_NULL ); + OPCODE( SMSG_BINDER_CONFIRM, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_BATTLEGROUND_PLAYER_JOINED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_BATTLEGROUND_PLAYER_LEFT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_BATTLEMASTER_JOIN, STATUS_LOGGEDIN, &WorldSession::HandleBattlemasterJoinOpcode ); + OPCODE( SMSG_ADDON_INFO, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_PET_UNLEARN, STATUS_LOGGEDIN, &WorldSession::HandlePetUnlearnOpcode ); + OPCODE( SMSG_PET_UNLEARN_CONFIRM, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_PARTY_MEMBER_STATS_FULL, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_PET_SPELL_AUTOCAST, STATUS_LOGGEDIN, &WorldSession::HandlePetSpellAutocastOpcode ); + OPCODE( SMSG_WEATHER, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_PLAY_TIME_WARNING, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_MINIGAME_SETUP, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_MINIGAME_STATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_MINIGAME_MOVE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_MINIGAME_MOVE_FAILED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_RAID_INSTANCE_MESSAGE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_COMPRESSED_MOVES, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_GUILD_INFO_TEXT, STATUS_LOGGEDIN, &WorldSession::HandleGuildChangeInfoTextOpcode ); + OPCODE( SMSG_CHAT_RESTRICTED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_SPLINE_SET_RUN_SPEED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_SPLINE_SET_RUN_BACK_SPEED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_SPLINE_SET_SWIM_SPEED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_SPLINE_SET_WALK_SPEED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_SPLINE_SET_SWIM_BACK_SPEED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_SPLINE_SET_TURN_RATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_SPLINE_MOVE_UNROOT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_SPLINE_MOVE_FEATHER_FALL, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_SPLINE_MOVE_NORMAL_FALL, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_SPLINE_MOVE_SET_HOVER, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_SPLINE_MOVE_UNSET_HOVER, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_SPLINE_MOVE_WATER_WALK, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_SPLINE_MOVE_LAND_WALK, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_SPLINE_MOVE_START_SWIM, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_SPLINE_MOVE_STOP_SWIM, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_SPLINE_MOVE_SET_RUN_MODE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_SPLINE_MOVE_SET_WALK_MODE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_GM_NUKE_ACCOUNT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( MSG_GM_DESTROY_CORPSE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_GM_DESTROY_ONLINE_CORPSE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_ACTIVATETAXIEXPRESS, STATUS_LOGGEDIN, &WorldSession::HandleActivateTaxiExpressOpcode ); + OPCODE( SMSG_SET_FACTION_ATWAR, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_GAMETIMEBIAS_SET, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_DEBUG_ACTIONS_START, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_DEBUG_ACTIONS_STOP, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_SET_FACTION_INACTIVE, STATUS_LOGGEDIN, &WorldSession::HandleSetFactionInactiveOpcode ); + OPCODE( CMSG_SET_WATCHED_FACTION, STATUS_LOGGEDIN, &WorldSession::HandleSetWatchedFactionOpcode ); + OPCODE( MSG_MOVE_TIME_SKIPPED, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_SPLINE_MOVE_ROOT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_SET_EXPLORATION_ALL, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_INVALIDATE_PLAYER, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_RESET_INSTANCES, STATUS_LOGGEDIN, &WorldSession::HandleResetInstancesOpcode ); + OPCODE( SMSG_INSTANCE_RESET, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_INSTANCE_RESET_FAILED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_UPDATE_LAST_INSTANCE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( MSG_RAID_TARGET_UPDATE, STATUS_LOGGEDIN, &WorldSession::HandleRaidTargetUpdateOpcode ); + OPCODE( MSG_RAID_READY_CHECK, STATUS_LOGGEDIN, &WorldSession::HandleRaidReadyCheckOpcode ); + OPCODE( CMSG_LUA_USAGE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_PET_ACTION_SOUND, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_PET_DISMISS_SOUND, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_GHOSTEE_GONE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_GM_UPDATE_TICKET_STATUS, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_GM_TICKET_STATUS_UPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( MSG_SET_DUNGEON_DIFFICULTY, STATUS_LOGGEDIN, &WorldSession::HandleSetDungeonDifficultyOpcode); + OPCODE( CMSG_GMSURVEY_SUBMIT, STATUS_LOGGEDIN, &WorldSession::Handle_NULL ); + OPCODE( SMSG_UPDATE_INSTANCE_OWNERSHIP, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_IGNORE_KNOCKBACK_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_CHAT_PLAYER_AMBIGUOUS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( MSG_DELAY_GHOST_TELEPORT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_SPELLINSTAKILLLOG, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_SPELL_UPDATE_CHAIN_TARGETS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_CHAT_FILTERED, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_EXPECTED_SPAM_RECORDS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_SPELLSTEALLOG, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_LOTTERY_QUERY_OBSOLETE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_LOTTERY_QUERY_RESULT_OBSOLETE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_BUY_LOTTERY_TICKET_OBSOLETE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_LOTTERY_RESULT_OBSOLETE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_CHARACTER_PROFILE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_CHARACTER_PROFILE_REALM_CONNECTED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_DEFENSE_MESSAGE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_INSTANCE_DIFFICULTY, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( MSG_GM_RESETINSTANCELIMIT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_MOTD, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_MOVE_SET_FLIGHT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_MOVE_UNSET_FLIGHT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_MOVE_FLIGHT_ACK, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( MSG_MOVE_START_SWIM_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( MSG_MOVE_STOP_SWIM_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_MOVE_SET_CAN_FLY, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_MOVE_UNSET_CAN_FLY, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_MOVE_SET_CAN_FLY_ACK, STATUS_LOGGEDIN, &WorldSession::HandleMoveSetCanFlyAckOpcode ); + OPCODE( CMSG_MOVE_SET_FLY, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + OPCODE( CMSG_SOCKET_GEMS, STATUS_LOGGEDIN, &WorldSession::HandleSocketOpcode ); + OPCODE( CMSG_ARENA_TEAM_CREATE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_ARENA_TEAM_COMMAND_RESULT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( UMSG_UPDATE_ARENA_TEAM_OBSOLETE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_ARENA_TEAM_QUERY, STATUS_LOGGEDIN, &WorldSession::HandleArenaTeamQueryOpcode ); + OPCODE( SMSG_ARENA_TEAM_QUERY_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_ARENA_TEAM_ROSTER, STATUS_LOGGEDIN, &WorldSession::HandleArenaTeamRosterOpcode ); + OPCODE( SMSG_ARENA_TEAM_ROSTER, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_ARENA_TEAM_INVITE, STATUS_LOGGEDIN, &WorldSession::HandleArenaTeamInviteOpcode ); + OPCODE( SMSG_ARENA_TEAM_INVITE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_ARENA_TEAM_ACCEPT, STATUS_LOGGEDIN, &WorldSession::HandleArenaTeamAcceptOpcode ); + OPCODE( CMSG_ARENA_TEAM_DECLINE, STATUS_LOGGEDIN, &WorldSession::HandleArenaTeamDeclineOpcode ); + OPCODE( CMSG_ARENA_TEAM_LEAVE, STATUS_LOGGEDIN, &WorldSession::HandleArenaTeamLeaveOpcode ); + OPCODE( CMSG_ARENA_TEAM_REMOVE, STATUS_LOGGEDIN, &WorldSession::HandleArenaTeamRemoveOpcode ); + OPCODE( CMSG_ARENA_TEAM_DISBAND, STATUS_LOGGEDIN, &WorldSession::HandleArenaTeamDisbandOpcode ); + OPCODE( CMSG_ARENA_TEAM_LEADER, STATUS_LOGGEDIN, &WorldSession::HandleArenaTeamLeaderOpcode ); + OPCODE( SMSG_ARENA_TEAM_EVENT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_BATTLEMASTER_JOIN_ARENA, STATUS_LOGGEDIN, &WorldSession::HandleBattlemasterJoinArena ); + OPCODE( MSG_MOVE_START_ASCEND, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + OPCODE( MSG_MOVE_STOP_ASCEND, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + OPCODE( SMSG_ARENA_TEAM_STATS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_LFG_JOIN, STATUS_LOGGEDIN, &WorldSession::HandleLfgJoinOpcode ); + OPCODE( CMSG_LFG_LEAVE, STATUS_LOGGEDIN, &WorldSession::HandleLfgLeaveOpcode ); + OPCODE( CMSG_SEARCH_LFG_JOIN, STATUS_LOGGEDIN, &WorldSession::Handle_NULL ); + OPCODE( CMSG_SEARCH_LFG_LEAVE, STATUS_LOGGEDIN, &WorldSession::Handle_NULL ); + OPCODE( SMSG_UPDATE_LFG_LIST, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_LFG_PROPOSAL_UPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_LFG_PROPOSAL_RESULT, STATUS_LOGGEDIN, &WorldSession::Handle_NULL ); + OPCODE( SMSG_LFG_ROLE_CHECK_UPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_LFG_JOIN_RESULT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_LFG_QUEUE_STATUS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_SET_LFG_COMMENT, STATUS_LOGGEDIN, &WorldSession::HandleSetLfgCommentOpcode ); + OPCODE( SMSG_LFG_UPDATE_PLAYER, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_LFG_UPDATE_PARTY, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_LFG_UPDATE_SEARCH, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_LFG_SET_ROLES, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_LFG_SET_NEEDS, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_LFG_SET_BOOT_VOTE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_LFG_BOOT_PLAYER, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_LFD_PLAYER_LOCK_INFO_REQUEST, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_LFG_PLAYER_INFO, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_LFG_TELEPORT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_LFD_PARTY_LOCK_INFO_REQUEST, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_LFG_PARTY_INFO, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_TITLE_EARNED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_SET_TITLE, STATUS_LOGGEDIN, &WorldSession::HandleSetTitleOpcode ); + OPCODE( CMSG_CANCEL_MOUNT_AURA, STATUS_LOGGEDIN, &WorldSession::HandleCancelMountAuraOpcode ); + OPCODE( SMSG_ARENA_ERROR, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( MSG_INSPECT_ARENA_TEAMS, STATUS_LOGGEDIN, &WorldSession::HandleInspectArenaTeamsOpcode ); + OPCODE( SMSG_DEATH_RELEASE_LOC, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_CANCEL_TEMP_ENCHANTMENT, STATUS_LOGGEDIN, &WorldSession::HandleCancelTempEnchantmentOpcode); + OPCODE( SMSG_FORCED_DEATH_UPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_CHEAT_SET_HONOR_CURRENCY, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_CHEAT_SET_ARENA_CURRENCY, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( MSG_MOVE_SET_FLIGHT_SPEED_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( MSG_MOVE_SET_FLIGHT_SPEED, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( MSG_MOVE_SET_FLIGHT_BACK_SPEED_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( MSG_MOVE_SET_FLIGHT_BACK_SPEED, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_FORCE_FLIGHT_SPEED_CHANGE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_FORCE_FLIGHT_SPEED_CHANGE_ACK, STATUS_LOGGEDIN, &WorldSession::HandleForceSpeedChangeAck ); + OPCODE( SMSG_FORCE_FLIGHT_BACK_SPEED_CHANGE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_FORCE_FLIGHT_BACK_SPEED_CHANGE_ACK, STATUS_LOGGEDIN, &WorldSession::HandleForceSpeedChangeAck ); + OPCODE( SMSG_SPLINE_SET_FLIGHT_SPEED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_SPLINE_SET_FLIGHT_BACK_SPEED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_MAELSTROM_INVALIDATE_CACHE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_FLIGHT_SPLINE_SYNC, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_SET_TAXI_BENCHMARK_MODE, STATUS_AUTHED, &WorldSession::HandleSetTaxiBenchmarkOpcode ); + OPCODE( SMSG_JOINED_BATTLEGROUND_QUEUE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_REALM_SPLIT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_REALM_SPLIT, STATUS_AUTHED, &WorldSession::HandleRealmSplitOpcode ); + OPCODE( CMSG_MOVE_CHNG_TRANSPORT, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + OPCODE( MSG_PARTY_ASSIGNMENT, STATUS_LOGGEDIN, &WorldSession::HandlePartyAssignmentOpcode ); + OPCODE( SMSG_OFFER_PETITION_ERROR, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_TIME_SYNC_REQ, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_TIME_SYNC_RESP, STATUS_LOGGEDIN, &WorldSession::HandleTimeSyncResp ); + OPCODE( CMSG_SEND_LOCAL_EVENT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_SEND_GENERAL_TRIGGER, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_SEND_COMBAT_TRIGGER, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_MAELSTROM_GM_SENT_MAIL, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_RESET_FAILED_NOTIFY, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_REAL_GROUP_UPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_LFG_DISABLED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_ACTIVE_PVP_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_CHEAT_DUMP_ITEMS_DEBUG_ONLY, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_CHEAT_DUMP_ITEMS_DEBUG_ONLY_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_CHEAT_DUMP_ITEMS_DEBUG_ONLY_RESPONSE_WRITE_FILE,STATUS_NEVER,&WorldSession::Handle_ServerSide ); + OPCODE( SMSG_UPDATE_COMBO_POINTS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_VOICE_SESSION_ROSTER_UPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_VOICE_SESSION_LEAVE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_VOICE_SESSION_ADJUST_PRIORITY, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_VOICE_SET_TALKER_MUTED_REQUEST, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_VOICE_SET_TALKER_MUTED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_INIT_EXTRA_AURA_INFO_OBSOLETE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_SET_EXTRA_AURA_INFO_OBSOLETE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_SET_EXTRA_AURA_INFO_NEED_UPDATE_OBSOLETE,STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_CLEAR_EXTRA_AURA_INFO_OBSOLETE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( MSG_MOVE_START_DESCEND, STATUS_LOGGEDIN, &WorldSession::HandleMovementOpcodes ); + OPCODE( CMSG_IGNORE_REQUIREMENTS_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_IGNORE_REQUIREMENTS_CHEAT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_SPELL_CHANCE_PROC_LOG, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_MOVE_SET_RUN_SPEED, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_DISMOUNT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( MSG_MOVE_UPDATE_CAN_FLY, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( MSG_RAID_READY_CHECK_CONFIRM, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_VOICE_SESSION_ENABLE, STATUS_AUTHED, &WorldSession::HandleVoiceSessionEnableOpcode ); + OPCODE( SMSG_VOICE_SESSION_ENABLE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_VOICE_PARENTAL_CONTROLS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_GM_WHISPER, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_GM_MESSAGECHAT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( MSG_GM_GEARRATING, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_COMMENTATOR_ENABLE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_COMMENTATOR_STATE_CHANGED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_COMMENTATOR_GET_MAP_INFO, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_COMMENTATOR_MAP_INFO, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_COMMENTATOR_GET_PLAYER_INFO, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_COMMENTATOR_GET_PLAYER_INFO, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_COMMENTATOR_PLAYER_INFO, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_COMMENTATOR_ENTER_INSTANCE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_COMMENTATOR_EXIT_INSTANCE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_COMMENTATOR_INSTANCE_COMMAND, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_CLEAR_TARGET, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_BOT_DETECTED, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_CROSSED_INEBRIATION_THRESHOLD, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_CHEAT_PLAYER_LOGIN, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_CHEAT_PLAYER_LOOKUP, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_CHEAT_PLAYER_LOOKUP, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_KICK_REASON, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( MSG_RAID_READY_CHECK_FINISHED, STATUS_LOGGEDIN, &WorldSession::HandleRaidReadyCheckFinishedOpcode); + OPCODE( CMSG_COMPLAIN, STATUS_LOGGEDIN, &WorldSession::HandleComplainOpcode ); + OPCODE( SMSG_COMPLAIN_RESULT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_FEATURE_SYSTEM_STATUS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_GM_SHOW_COMPLAINTS, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_GM_UNSQUELCH, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_CHANNEL_SILENCE_VOICE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_CHANNEL_SILENCE_ALL, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_CHANNEL_UNSILENCE_VOICE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_CHANNEL_UNSILENCE_ALL, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_TARGET_CAST, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_TARGET_SCRIPT_CAST, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_CHANNEL_DISPLAY_LIST, STATUS_LOGGEDIN, &WorldSession::HandleChannelDisplayListQuery ); + OPCODE( CMSG_SET_ACTIVE_VOICE_CHANNEL, STATUS_AUTHED, &WorldSession::HandleSetActiveVoiceChannel ); + OPCODE( CMSG_GET_CHANNEL_MEMBER_COUNT, STATUS_LOGGEDIN, &WorldSession::HandleGetChannelMemberCount ); + OPCODE( SMSG_CHANNEL_MEMBER_COUNT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_CHANNEL_VOICE_ON, STATUS_LOGGEDIN, &WorldSession::HandleChannelVoiceOnOpcode ); + OPCODE( CMSG_CHANNEL_VOICE_OFF, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_DEBUG_LIST_TARGETS, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_DEBUG_LIST_TARGETS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_AVAILABLE_VOICE_CHANNEL, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_ADD_VOICE_IGNORE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_DEL_VOICE_IGNORE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_PARTY_SILENCE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_PARTY_UNSILENCE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( MSG_NOTIFY_PARTY_SQUELCH, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_COMSAT_RECONNECT_TRY, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_COMSAT_DISCONNECT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_COMSAT_CONNECT_FAIL, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_VOICE_CHAT_STATUS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_REPORT_PVP_AFK, STATUS_LOGGEDIN, &WorldSession::HandleReportPvPAFK ); + OPCODE( SMSG_REPORT_PVP_AFK_RESULT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_GUILD_BANKER_ACTIVATE, STATUS_LOGGEDIN, &WorldSession::HandleGuildBankerActivate ); + OPCODE( CMSG_GUILD_BANK_QUERY_TAB, STATUS_LOGGEDIN, &WorldSession::HandleGuildBankQueryTab ); + OPCODE( SMSG_GUILD_BANK_LIST, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_GUILD_BANK_SWAP_ITEMS, STATUS_LOGGEDIN, &WorldSession::HandleGuildBankSwapItems ); + OPCODE( CMSG_GUILD_BANK_BUY_TAB, STATUS_LOGGEDIN, &WorldSession::HandleGuildBankBuyTab ); + OPCODE( CMSG_GUILD_BANK_UPDATE_TAB, STATUS_LOGGEDIN, &WorldSession::HandleGuildBankUpdateTab ); + OPCODE( CMSG_GUILD_BANK_DEPOSIT_MONEY, STATUS_LOGGEDIN, &WorldSession::HandleGuildBankDepositMoney ); + OPCODE( CMSG_GUILD_BANK_WITHDRAW_MONEY, STATUS_LOGGEDIN, &WorldSession::HandleGuildBankWithdrawMoney ); + OPCODE( MSG_GUILD_BANK_LOG_QUERY, STATUS_LOGGEDIN, &WorldSession::HandleGuildBankLogQuery ); + OPCODE( CMSG_SET_CHANNEL_WATCH, STATUS_LOGGEDIN, &WorldSession::HandleSetChannelWatch ); + OPCODE( SMSG_USERLIST_ADD, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_USERLIST_REMOVE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_USERLIST_UPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_CLEAR_CHANNEL_WATCH, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_INSPECT_TALENT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_GOGOGO_OBSOLETE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_ECHO_PARTY_SQUELCH, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_SET_TITLE_SUFFIX, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_SPELLCLICK, STATUS_LOGGEDIN, &WorldSession::HandleSpellClick ); + OPCODE( SMSG_LOOT_LIST, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_GM_CHARACTER_RESTORE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_GM_CHARACTER_SAVE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_VOICESESSION_FULL, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( MSG_GUILD_PERMISSIONS, STATUS_LOGGEDIN, &WorldSession::HandleGuildPermissions ); + OPCODE( MSG_GUILD_BANK_MONEY_WITHDRAWN, STATUS_LOGGEDIN, &WorldSession::HandleGuildBankMoneyWithdrawn ); + OPCODE( MSG_GUILD_EVENT_LOG_QUERY, STATUS_LOGGEDIN, &WorldSession::HandleGuildEventLogQueryOpcode ); + OPCODE( CMSG_MAELSTROM_RENAME_GUILD, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_GET_MIRRORIMAGE_DATA, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_MIRRORIMAGE_DATA, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_FORCE_DISPLAY_UPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_SPELL_CHANCE_RESIST_PUSHBACK, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_IGNORE_DIMINISHING_RETURNS_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_IGNORE_DIMINISHING_RETURNS_CHEAT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_KEEP_ALIVE, STATUS_NEVER, &WorldSession::Handle_EarlyProccess ); + OPCODE( SMSG_RAID_READY_CHECK_ERROR, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_OPT_OUT_OF_LOOT, STATUS_AUTHED, &WorldSession::HandleOptOutOfLootOpcode ); + OPCODE( MSG_QUERY_GUILD_BANK_TEXT, STATUS_LOGGEDIN, &WorldSession::HandleQueryGuildBankTabText ); + OPCODE( CMSG_SET_GUILD_BANK_TEXT, STATUS_LOGGEDIN, &WorldSession::HandleSetGuildBankTabText ); + OPCODE( CMSG_SET_GRANTABLE_LEVELS, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_GRANT_LEVEL, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_REFER_A_FRIEND, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( MSG_GM_CHANGE_ARENA_RATING, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_DECLINE_CHANNEL_INVITE, STATUS_UNHANDLED,&WorldSession::Handle_NULL ); + OPCODE( SMSG_GROUPACTION_THROTTLED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_OVERRIDE_LIGHT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_TOTEM_CREATED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_TOTEM_DESTROYED, STATUS_LOGGEDIN, &WorldSession::HandleTotemDestroyed ); + OPCODE( CMSG_EXPIRE_RAID_INSTANCE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_NO_SPELL_VARIANCE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_QUESTGIVER_STATUS_MULTIPLE_QUERY, STATUS_LOGGEDIN, &WorldSession::HandleQuestgiverStatusMultipleQuery); + OPCODE( SMSG_QUESTGIVER_STATUS_MULTIPLE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_SET_PLAYER_DECLINED_NAMES, STATUS_AUTHED, &WorldSession::HandleSetPlayerDeclinedNames ); + OPCODE( SMSG_SET_PLAYER_DECLINED_NAMES_RESULT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_QUERY_SERVER_BUCK_DATA, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_CLEAR_SERVER_BUCK_DATA, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_SERVER_BUCK_DATA, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_SEND_UNLEARN_SPELLS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_PROPOSE_LEVEL_GRANT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_ACCEPT_LEVEL_GRANT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_REFER_A_FRIEND_FAILURE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_SPLINE_MOVE_SET_FLYING, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_SPLINE_MOVE_UNSET_FLYING, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_SUMMON_CANCEL, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_CHANGE_PERSONAL_ARENA_RATING, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_ALTER_APPEARANCE, STATUS_LOGGEDIN, &WorldSession::HandleAlterAppearance ); + OPCODE( SMSG_ENABLE_BARBER_SHOP, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_BARBER_SHOP_RESULT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_CALENDAR_GET_CALENDAR, STATUS_LOGGEDIN, &WorldSession::HandleCalendarGetCalendar ); + OPCODE( CMSG_CALENDAR_GET_EVENT, STATUS_LOGGEDIN, &WorldSession::HandleCalendarGetEvent ); + OPCODE( CMSG_CALENDAR_GUILD_FILTER, STATUS_LOGGEDIN, &WorldSession::HandleCalendarGuildFilter ); + OPCODE( CMSG_CALENDAR_ARENA_TEAM, STATUS_LOGGEDIN, &WorldSession::HandleCalendarArenaTeam ); + OPCODE( CMSG_CALENDAR_ADD_EVENT, STATUS_LOGGEDIN, &WorldSession::HandleCalendarAddEvent ); + OPCODE( CMSG_CALENDAR_UPDATE_EVENT, STATUS_LOGGEDIN, &WorldSession::HandleCalendarUpdateEvent ); + OPCODE( CMSG_CALENDAR_REMOVE_EVENT, STATUS_LOGGEDIN, &WorldSession::HandleCalendarRemoveEvent ); + OPCODE( CMSG_CALENDAR_COPY_EVENT, STATUS_LOGGEDIN, &WorldSession::HandleCalendarCopyEvent ); + OPCODE( CMSG_CALENDAR_EVENT_INVITE, STATUS_LOGGEDIN, &WorldSession::HandleCalendarEventInvite ); + OPCODE( CMSG_CALENDAR_EVENT_RSVP, STATUS_LOGGEDIN, &WorldSession::HandleCalendarEventRsvp ); + OPCODE( CMSG_CALENDAR_EVENT_REMOVE_INVITE, STATUS_LOGGEDIN, &WorldSession::HandleCalendarEventRemoveInvite ); + OPCODE( CMSG_CALENDAR_EVENT_STATUS, STATUS_LOGGEDIN, &WorldSession::HandleCalendarEventStatus ); + OPCODE( CMSG_CALENDAR_EVENT_MODERATOR_STATUS, STATUS_LOGGEDIN, &WorldSession::HandleCalendarEventModeratorStatus); + OPCODE( SMSG_CALENDAR_SEND_CALENDAR, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_CALENDAR_SEND_EVENT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_CALENDAR_FILTER_GUILD, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_CALENDAR_ARENA_TEAM, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_CALENDAR_EVENT_INVITE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_CALENDAR_EVENT_INVITE_REMOVED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_CALENDAR_EVENT_STATUS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_CALENDAR_COMMAND_RESULT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_CALENDAR_RAID_LOCKOUT_ADDED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_CALENDAR_RAID_LOCKOUT_REMOVED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_CALENDAR_EVENT_INVITE_ALERT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_CALENDAR_EVENT_INVITE_REMOVED_ALERT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_CALENDAR_EVENT_INVITE_STATUS_ALERT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_CALENDAR_EVENT_REMOVED_ALERT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_CALENDAR_EVENT_UPDATED_ALERT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_CALENDAR_EVENT_MODERATOR_STATUS_ALERT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_CALENDAR_COMPLAIN, STATUS_LOGGEDIN, &WorldSession::HandleCalendarComplain ); + OPCODE( CMSG_CALENDAR_GET_NUM_PENDING, STATUS_LOGGEDIN, &WorldSession::HandleCalendarGetNumPending ); + OPCODE( SMSG_CALENDAR_SEND_NUM_PENDING, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_SAVE_DANCE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_NOTIFY_DANCE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_PLAY_DANCE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_PLAY_DANCE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_LOAD_DANCES, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_STOP_DANCE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_STOP_DANCE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_SYNC_DANCE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_DANCE_QUERY, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_DANCE_QUERY_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_INVALIDATE_DANCE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_DELETE_DANCE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_LEARNED_DANCE_MOVES, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_LEARN_DANCE_MOVE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_UNLEARN_DANCE_MOVE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_SET_RUNE_COUNT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_SET_RUNE_COOLDOWN, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( MSG_MOVE_SET_PITCH_RATE_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( MSG_MOVE_SET_PITCH_RATE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_FORCE_PITCH_RATE_CHANGE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_FORCE_PITCH_RATE_CHANGE_ACK, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_SPLINE_SET_PITCH_RATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_MOVE_ABANDON_TRANSPORT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_UPDATE_MISSILE_TRAJECTORY, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_UPDATE_ACCOUNT_DATA_COMPLETE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_TRIGGER_MOVIE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_COMPLETE_MOVIE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_SET_GLYPH_SLOT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_SET_GLYPH, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_ACHIEVEMENT_EARNED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_DYNAMIC_DROP_ROLL_RESULT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_CRITERIA_UPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_QUERY_INSPECT_ACHIEVEMENTS, STATUS_LOGGEDIN, &WorldSession::HandleQueryInspectAchievements ); + OPCODE( SMSG_RESPOND_INSPECT_ACHIEVEMENTS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_DISMISS_CONTROLLED_VEHICLE, STATUS_LOGGEDIN, &WorldSession::HandleDismissControlledVehicle ); + OPCODE( CMSG_COMPLETE_ACHIEVEMENT_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_QUESTUPDATE_ADD_PVP_KILL, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_SET_CRITERIA_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_UNITANIMTIER_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_CHAR_CUSTOMIZE, STATUS_AUTHED, &WorldSession::HandleCharCustomize ); + OPCODE( SMSG_CHAR_CUSTOMIZE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_PET_RENAMEABLE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_REQUEST_VEHICLE_EXIT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_REQUEST_VEHICLE_PREV_SEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_REQUEST_VEHICLE_NEXT_SEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_REQUEST_VEHICLE_SWITCH_SEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_PET_LEARN_TALENT, STATUS_LOGGEDIN, &WorldSession::HandlePetLearnTalent ); + OPCODE( CMSG_PET_UNLEARN_TALENTS, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_SET_PHASE_SHIFT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_ALL_ACHIEVEMENT_DATA, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_FORCE_SAY_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_HEALTH_UPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_POWER_UPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_GAMEOBJ_REPORT_USE, STATUS_LOGGEDIN, &WorldSession::HandleGameobjectReportUse ); + OPCODE( SMSG_HIGHEST_THREAT_UPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_THREAT_UPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_THREAT_REMOVE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_THREAT_CLEAR, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_CONVERT_RUNE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_RESYNC_RUNES, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_ADD_RUNE_POWER, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_START_QUEST, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_REMOVE_GLYPH, STATUS_LOGGEDIN, &WorldSession::HandleRemoveGlyph ); + OPCODE( CMSG_DUMP_OBJECTS, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_DUMP_OBJECTS_DATA, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_DISMISS_CRITTER, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_NOTIFY_DEST_LOC_SPELL_CAST, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_AUCTION_LIST_PENDING_SALES, STATUS_LOGGEDIN, &WorldSession::HandleAuctionListPendingSales ); + OPCODE( SMSG_AUCTION_LIST_PENDING_SALES, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_MODIFY_COOLDOWN, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_PET_UPDATE_COMBO_POINTS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_ENABLETAXI, STATUS_LOGGEDIN, &WorldSession::HandleTaxiQueryAvailableNodes ); + OPCODE( SMSG_PRE_RESURRECT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_AURA_UPDATE_ALL, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_AURA_UPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_FLOOD_GRACE_CHEAT, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_SERVER_FIRST_ACHIEVEMENT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_PET_LEARNED_SPELL, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_PET_REMOVED_SPELL, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_CHANGE_SEATS_ON_CONTROLLED_VEHICLE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_HEARTH_AND_RESURRECT, STATUS_LOGGEDIN, &WorldSession::HandleHearthandResurrect ); + OPCODE( SMSG_ON_CANCEL_EXPECTED_RIDE_VEHICLE_AURA, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_CRITERIA_DELETED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_ACHIEVEMENT_DELETED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_SERVER_INFO_QUERY, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_SERVER_INFO_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_CHECK_LOGIN_CRITERIA, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_SERVER_BUCK_DATA_START, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_QUERY_VEHICLE_STATUS, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( UMSG_UNKNOWN_1189, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_BATTLEGROUND_INFO_THROTTLED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_PLAYER_VEHICLE_DATA, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_UNKNOWN_1192, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_EJECT_PASSENGER, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_PET_GUIDS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_CLIENTCACHE_VERSION, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( UMSG_UNKNOWN_1196, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( UMSG_UNKNOWN_1197, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( UMSG_UNKNOWN_1198, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( UMSG_UNKNOWN_1199, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( UMSG_UNKNOWN_1200, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( UMSG_UNKNOWN_1201, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_ITEM_REFUND_INFO_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_ITEM_REFUND_INFO, STATUS_LOGGEDIN, &WorldSession::HandleItemRefundInfoRequest ); + OPCODE( CMSG_ITEM_REFUND, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_ITEM_REFUND_RESULT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_CORPSE_MAP_POSITION_QUERY, STATUS_LOGGEDIN, &WorldSession::HandleCorpseMapPositionQuery ); + OPCODE( SMSG_CORPSE_MAP_POSITION_QUERY_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( UMSG_UNKNOWN_1209, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_CALENDAR_CONTEXT_EVENT_SIGNUP, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_CALENDAR_ACTION_PENDING, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_EQUIPMENT_SET_LIST, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_EQUIPMENT_SET_SAVE, STATUS_LOGGEDIN, &WorldSession::HandleEquipmentSetSave ); + OPCODE( CMSG_UPDATE_PROJECTILE_POSITION, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_SET_PROJECTILE_POSITION, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_TALENTS_INFO, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_LEARN_PREVIEW_TALENTS, STATUS_LOGGEDIN, &WorldSession::HandleLearnPreviewTalents ); + OPCODE( CMSG_LEARN_PREVIEW_TALENTS_PET, STATUS_LOGGEDIN, &WorldSession::HandleLearnPreviewTalentsPet ); + OPCODE( UMSG_UNKNOWN_1219, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( UMSG_UNKNOWN_1220, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( UMSG_UNKNOWN_1221, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( UMSG_UNKNOWN_1222, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_ARENA_OPPONENT_UPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_ARENA_TEAM_CHANGE_FAILED_QUEUED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( UMSG_UNKNOWN_1225, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( UMSG_UNKNOWN_1226, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( UMSG_UNKNOWN_1227, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( UMSG_UNKNOWN_1228, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_MULTIPLE_PACKETS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_EQUIPMENT_SET_USE, STATUS_LOGGEDIN, &WorldSession::HandleEquipmentSetUse ); + OPCODE( SMSG_EQUIPMENT_SET_USE_RESULT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( UMSG_UNKNOWN_1239, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_UNKNOWN_1240, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_CHAR_FACTION_CHANGE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_CHAR_FACTION_CHANGE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( UMSG_UNKNOWN_1243, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( UMSG_UNKNOWN_1244, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( UMSG_UNKNOWN_1245, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_BATTLEFIELD_MGR_ENTRY_INVITE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_BATTLEFIELD_MGR_ENTERED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_BATTLEFIELD_MGR_QUEUE_INVITE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_BATTLEFIELD_MGR_QUEUE_INVITE_RESPONSE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_BATTLEFIELD_MGR_QUEUE_REQUEST, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_BATTLEFIELD_MGR_QUEUE_REQUEST_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_BATTLEFIELD_MGR_EJECT_PENDING, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_BATTLEFIELD_MGR_EJECTED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_BATTLEFIELD_MGR_EXIT_REQUEST, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_BATTLEFIELD_MGR_STATE_CHANGE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( UMSG_UNKNOWN_1257, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( UMSG_UNKNOWN_1258, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( MSG_SET_RAID_DIFFICULTY, STATUS_LOGGEDIN, &WorldSession::HandleSetRaidDifficultyOpcode ); + OPCODE( UMSG_UNKNOWN_1260, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_TOGGLE_XP_GAIN, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_GMRESPONSE_DB_ERROR, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_GMRESPONSE_RECEIVED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_GMRESPONSE_RESOLVE, STATUS_LOGGEDIN, &WorldSession::Handle_NULL ); + OPCODE( SMSG_GMRESPONSE_STATUS_UPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( UMSG_UNKNOWN_1266, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( UMSG_UNKNOWN_1267, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( UMSG_UNKNOWN_1268, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( UMSG_UNKNOWN_1269, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_WORLD_STATE_UI_TIMER_UPDATE, STATUS_LOGGEDIN, &WorldSession::HandleWorldStateUITimerUpdate ); + OPCODE( SMSG_WORLD_STATE_UI_TIMER_UPDATE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_CHAR_RACE_CHANGE, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( UMSG_UNKNOWN_1273, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_TALENTS_INVOLUNTARILY_RESET, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( UMSG_UNKNOWN_1275, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_UNKNOWN_1276, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_LOOT_SLOT_CHANGED, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( UMSG_UNKNOWN_1278, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_READY_FOR_ACCOUNT_DATA_TIMES, STATUS_AUTHED, &WorldSession::HandleReadyForAccountDataTimes ); + OPCODE( CMSG_QUERY_QUESTS_COMPLETED, STATUS_LOGGEDIN, &WorldSession::HandleQueryQuestsCompleted ); + OPCODE( SMSG_QUERY_QUESTS_COMPLETED_RESPONSE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_GM_REPORT_LAG, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( UMSG_UNKNOWN_1283, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( UMSG_UNKNOWN_1284, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( UMSG_UNKNOWN_1285, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( UMSG_UNKNOWN_1287, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_SET_ALLOW_LOW_LEVEL_RAID1, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( CMSG_SET_ALLOW_LOW_LEVEL_RAID2, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_CAMERA_SHAKE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_UPDATE_ITEM_ENCHANTMENTS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( UMSG_UNKNOWN_1292, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_REDIRECT_CLIENT, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_REDIRECTION_FAILED, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_UNKNOWN_1295, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_UNKNOWN_1296, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_FORCE_SEND_QUEUED_PACKETS, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_REDIRECTION_AUTH_PROOF, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( UMSG_UNKNOWN_1299, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_COMBAT_LOG_MULTIPLE, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_LFG_OPEN_FROM_GOSSIP, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( SMSG_UNKNOWN_1302, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( CMSG_UNKNOWN_1303, STATUS_NEVER, &WorldSession::Handle_NULL ); + OPCODE( SMSG_UNKNOWN_1304, STATUS_NEVER, &WorldSession::Handle_ServerSide ); + OPCODE( UMSG_UNKNOWN_1305, STATUS_NEVER, &WorldSession::Handle_NULL ); + 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 }, @@ -519,7 +1832,7 @@ OpcodeHandler opcodeTable[NUM_MSG_TYPES] = /*0x1EA*/ { "SMSG_ITEM_TIME_UPDATE", STATUS_NEVER, &WorldSession::Handle_ServerSide }, /*0x1EB*/ { "SMSG_ITEM_ENCHANT_TIME_UPDATE", STATUS_NEVER, &WorldSession::Handle_ServerSide }, /*0x1EC*/ { "SMSG_AUTH_CHALLENGE", STATUS_NEVER, &WorldSession::Handle_ServerSide }, - /*0x1ED*/ { "CMSG_AUTH_SESSION", STATUS_NEVER, &WorldSession::Handle_EarlyProccess }, + /*0x1ED*/ { "CMSG_AUTH_SESSION", STATUS_NEVER, &WorldSession::Handle_EarlyProccess }, /*0x1EE*/ { "SMSG_AUTH_RESPONSE", STATUS_NEVER, &WorldSession::Handle_ServerSide }, /*0x1EF*/ { "MSG_GM_SHOWLABEL", STATUS_NEVER, &WorldSession::Handle_NULL }, /*0x1F0*/ { "CMSG_PET_CAST_SPELL", STATUS_LOGGEDIN, &WorldSession::HandlePetCastSpellOpcode }, @@ -537,15 +1850,15 @@ OpcodeHandler opcodeTable[NUM_MSG_TYPES] = /*0x1FC*/ { "SMSG_ENVIRONMENTALDAMAGELOG", STATUS_NEVER, &WorldSession::Handle_ServerSide }, /*0x1FD*/ { "CMSG_PLAYER_DIFFICULTY_CHANGE", STATUS_NEVER, &WorldSession::Handle_NULL }, /*0x1FE*/ { "SMSG_RWHOIS", STATUS_NEVER, &WorldSession::Handle_ServerSide }, - /*0x1FF*/ { "SMSG_LFG_PLAYER_REWARD", STATUS_LOGGEDIN, &WorldSession::Handle_ServerSide }, - /*0x200*/ { "SMSG_LFG_TELEPORT_DENIED", STATUS_LOGGEDIN, &WorldSession::Handle_ServerSide }, + /*0x1FF*/ { "SMSG_LFG_PLAYER_REWARD", STATUS_NEVER, &WorldSession::Handle_ServerSide }, + /*0x200*/ { "SMSG_LFG_TELEPORT_DENIED", STATUS_NEVER, &WorldSession::Handle_ServerSide }, /*0x201*/ { "CMSG_UNLEARN_SPELL", STATUS_NEVER, &WorldSession::Handle_NULL }, /*0x202*/ { "CMSG_UNLEARN_SKILL", STATUS_LOGGEDIN, &WorldSession::HandleUnlearnSkillOpcode }, /*0x203*/ { "SMSG_REMOVED_SPELL", STATUS_NEVER, &WorldSession::Handle_ServerSide }, /*0x204*/ { "CMSG_DECHARGE", STATUS_NEVER, &WorldSession::Handle_NULL }, /*0x205*/ { "CMSG_GMTICKET_CREATE", STATUS_LOGGEDIN, &WorldSession::HandleGMTicketCreateOpcode }, /*0x206*/ { "SMSG_GMTICKET_CREATE", STATUS_NEVER, &WorldSession::Handle_ServerSide }, - /*0x207*/ { "CMSG_GMTICKET_UPDATETEXT", STATUS_LOGGEDIN, &WorldSession::HandleGMTicketUpdateTextOpcode }, + /*0x207*/ { "CMSG_GMTICKET_UPDATETEXT", STATUS_LOGGEDIN, &WorldSession::HandleGMTicketUpdateOpcode }, /*0x208*/ { "SMSG_GMTICKET_UPDATETEXT", STATUS_NEVER, &WorldSession::Handle_ServerSide }, /*0x209*/ { "SMSG_ACCOUNT_DATA_TIMES", STATUS_NEVER, &WorldSession::Handle_ServerSide }, /*0x20A*/ { "CMSG_REQUEST_ACCOUNT_DATA", STATUS_AUTHED, &WorldSession::HandleRequestAccountData }, @@ -561,7 +1874,7 @@ OpcodeHandler opcodeTable[NUM_MSG_TYPES] = /*0x214*/ { "SMSG_GAMEOBJECT_SPAWN_ANIM_OBSOLETE", STATUS_NEVER, &WorldSession::Handle_ServerSide }, /*0x215*/ { "SMSG_GAMEOBJECT_DESPAWN_ANIM", STATUS_NEVER, &WorldSession::Handle_ServerSide }, /*0x216*/ { "MSG_CORPSE_QUERY", STATUS_LOGGEDIN, &WorldSession::HandleCorpseQueryOpcode }, - /*0x217*/ { "CMSG_GMTICKET_DELETETICKET", STATUS_LOGGEDIN, &WorldSession::HandleGMTicketDeleteTicketOpcode}, + /*0x217*/ { "CMSG_GMTICKET_DELETETICKET", STATUS_LOGGEDIN, &WorldSession::HandleGMTicketDeleteOpcode }, /*0x218*/ { "SMSG_GMTICKET_DELETETICKET", STATUS_NEVER, &WorldSession::Handle_ServerSide }, /*0x219*/ { "SMSG_CHAT_WRONG_FACTION", STATUS_NEVER, &WorldSession::Handle_ServerSide }, /*0x21A*/ { "CMSG_GMTICKET_SYSTEMSTATUS", STATUS_LOGGEDIN, &WorldSession::HandleGMTicketSystemStatusOpcode}, @@ -836,7 +2149,7 @@ OpcodeHandler opcodeTable[NUM_MSG_TYPES] = /*0x327*/ { "CMSG_GM_UPDATE_TICKET_STATUS", STATUS_NEVER, &WorldSession::Handle_NULL }, /*0x328*/ { "SMSG_GM_TICKET_STATUS_UPDATE", STATUS_NEVER, &WorldSession::Handle_ServerSide }, /*0x329*/ { "MSG_SET_DUNGEON_DIFFICULTY", STATUS_LOGGEDIN, &WorldSession::HandleSetDungeonDifficultyOpcode}, - /*0x32A*/ { "CMSG_GMSURVEY_SUBMIT", STATUS_LOGGEDIN, &WorldSession::HandleGMSurveySubmit }, + /*0x32A*/ { "CMSG_GMSURVEY_SUBMIT", STATUS_LOGGEDIN, &WorldSession::Handle_NULL }, /*0x32B*/ { "SMSG_UPDATE_INSTANCE_OWNERSHIP", STATUS_NEVER, &WorldSession::Handle_ServerSide }, /*0x32C*/ { "CMSG_IGNORE_KNOCKBACK_CHEAT", STATUS_NEVER, &WorldSession::Handle_NULL }, /*0x32D*/ { "SMSG_CHAT_PLAYER_AMBIGUOUS", STATUS_NEVER, &WorldSession::Handle_ServerSide }, @@ -888,8 +2201,8 @@ OpcodeHandler opcodeTable[NUM_MSG_TYPES] = /*0x35B*/ { "SMSG_ARENA_TEAM_STATS", STATUS_NEVER, &WorldSession::Handle_ServerSide }, /*0x35C*/ { "CMSG_LFG_JOIN", STATUS_LOGGEDIN, &WorldSession::HandleLfgJoinOpcode }, /*0x35D*/ { "CMSG_LFG_LEAVE", STATUS_LOGGEDIN, &WorldSession::HandleLfgLeaveOpcode }, - /*0x35E*/ { "CMSG_SEARCH_LFG_JOIN", STATUS_LOGGEDIN, &WorldSession::HandleSearchLfgJoinOpcode }, - /*0x35F*/ { "CMSG_SEARCH_LFG_LEAVE", STATUS_LOGGEDIN, &WorldSession::HandleSearchLfgLeaveOpcode }, + /*0x35E*/ { "CMSG_SEARCH_LFG_JOIN", STATUS_LOGGEDIN, &WorldSession::Handle_NULL }, + /*0x35F*/ { "CMSG_SEARCH_LFG_LEAVE", STATUS_LOGGEDIN, &WorldSession::Handle_NULL }, /*0x360*/ { "SMSG_UPDATE_LFG_LIST", STATUS_NEVER, &WorldSession::Handle_ServerSide }, /*0x361*/ { "SMSG_LFG_PROPOSAL_UPDATE", STATUS_NEVER, &WorldSession::Handle_ServerSide }, /*0x362*/ { "CMSG_LFG_PROPOSAL_RESULT", STATUS_LOGGEDIN, &WorldSession::Handle_NULL }, @@ -900,14 +2213,14 @@ OpcodeHandler opcodeTable[NUM_MSG_TYPES] = /*0x367*/ { "SMSG_LFG_UPDATE_PLAYER", STATUS_NEVER, &WorldSession::Handle_ServerSide }, /*0x368*/ { "SMSG_LFG_UPDATE_PARTY", STATUS_NEVER, &WorldSession::Handle_ServerSide }, /*0x369*/ { "SMSG_LFG_UPDATE_SEARCH", STATUS_NEVER, &WorldSession::Handle_ServerSide }, - /*0x36A*/ { "CMSG_LFG_SET_ROLES", STATUS_NEVER, &WorldSession::Handle_NULL }, - /*0x36B*/ { "CMSG_LFG_SET_NEEDS", STATUS_NEVER, &WorldSession::Handle_NULL }, - /*0x36C*/ { "CMSG_LFG_SET_BOOT_VOTE", STATUS_NEVER, &WorldSession::Handle_NULL }, + /*0x36A*/ { "CMSG_LFG_SET_ROLES", STATUS_LOGGEDIN, &WorldSession::HandleLfgSetRolesOpcode }, + /*0x36B*/ { "CMSG_LFG_SET_NEEDS", STATUS_LOGGEDIN, &WorldSession::Handle_NULL }, + /*0x36C*/ { "CMSG_LFG_SET_BOOT_VOTE", STATUS_LOGGEDIN, &WorldSession::Handle_NULL }, /*0x36D*/ { "SMSG_LFG_BOOT_PLAYER", STATUS_NEVER, &WorldSession::Handle_ServerSide }, - /*0x36E*/ { "CMSG_LFD_PLAYER_LOCK_INFO_REQUEST", STATUS_NEVER, &WorldSession::Handle_NULL }, + /*0x36E*/ { "CMSG_LFD_PLAYER_LOCK_INFO_REQUEST", STATUS_LOGGEDIN, &WorldSession::HandleLfgPlayerLockInfoRequestOpcode }, /*0x36F*/ { "SMSG_LFG_PLAYER_INFO", STATUS_NEVER, &WorldSession::Handle_ServerSide }, - /*0x370*/ { "CMSG_LFG_TELEPORT", STATUS_NEVER, &WorldSession::Handle_NULL }, - /*0x371*/ { "CMSG_LFD_PARTY_LOCK_INFO_REQUEST", STATUS_NEVER, &WorldSession::Handle_NULL }, + /*0x370*/ { "CMSG_LFG_TELEPORT", STATUS_LOGGEDIN, &WorldSession::Handle_NULL }, + /*0x371*/ { "CMSG_LFD_PARTY_LOCK_INFO_REQUEST", STATUS_LOGGEDIN, &WorldSession::HandleLfgPartyLockInfoRequestOpcode }, /*0x372*/ { "SMSG_LFG_PARTY_INFO", STATUS_NEVER, &WorldSession::Handle_ServerSide }, /*0x373*/ { "SMSG_TITLE_EARNED", STATUS_NEVER, &WorldSession::Handle_ServerSide }, /*0x374*/ { "CMSG_SET_TITLE", STATUS_LOGGEDIN, &WorldSession::HandleSetTitleOpcode }, @@ -1168,10 +2481,10 @@ OpcodeHandler opcodeTable[NUM_MSG_TYPES] = /*0x473*/ { "CMSG_CHAR_CUSTOMIZE", STATUS_AUTHED, &WorldSession::HandleCharCustomize }, /*0x474*/ { "SMSG_CHAR_CUSTOMIZE", STATUS_NEVER, &WorldSession::Handle_ServerSide }, /*0x475*/ { "SMSG_PET_RENAMEABLE", STATUS_NEVER, &WorldSession::Handle_ServerSide }, - /*0x476*/ { "CMSG_REQUEST_VEHICLE_EXIT", STATUS_NEVER, &WorldSession::Handle_NULL }, - /*0x477*/ { "CMSG_REQUEST_VEHICLE_PREV_SEAT", STATUS_NEVER, &WorldSession::Handle_NULL }, - /*0x478*/ { "CMSG_REQUEST_VEHICLE_NEXT_SEAT", STATUS_NEVER, &WorldSession::Handle_NULL }, - /*0x479*/ { "CMSG_REQUEST_VEHICLE_SWITCH_SEAT", STATUS_NEVER, &WorldSession::Handle_NULL }, + /*0x476*/ { "CMSG_REQUEST_VEHICLE_EXIT", STATUS_LOGGEDIN, &WorldSession::HandleRequestVehicleExit }, + /*0x477*/ { "CMSG_REQUEST_VEHICLE_PREV_SEAT", STATUS_LOGGEDIN, &WorldSession::HandleRequestVehiclePrevSeat }, + /*0x478*/ { "CMSG_REQUEST_VEHICLE_NEXT_SEAT", STATUS_LOGGEDIN, &WorldSession::HandleRequestVehicleNextSeat }, + /*0x479*/ { "CMSG_REQUEST_VEHICLE_SWITCH_SEAT", STATUS_LOGGEDIN, &WorldSession::HandleRequestVehicleSwitchSeat }, /*0x47A*/ { "CMSG_PET_LEARN_TALENT", STATUS_LOGGEDIN, &WorldSession::HandlePetLearnTalent }, /*0x47B*/ { "CMSG_PET_UNLEARN_TALENTS", STATUS_NEVER, &WorldSession::Handle_NULL }, /*0x47C*/ { "SMSG_SET_PHASE_SHIFT", STATUS_NEVER, &WorldSession::Handle_ServerSide }, @@ -1205,7 +2518,7 @@ OpcodeHandler opcodeTable[NUM_MSG_TYPES] = /*0x498*/ { "SMSG_SERVER_FIRST_ACHIEVEMENT", STATUS_NEVER, &WorldSession::Handle_ServerSide }, /*0x499*/ { "SMSG_PET_LEARNED_SPELL", STATUS_NEVER, &WorldSession::Handle_ServerSide }, /*0x49A*/ { "SMSG_PET_REMOVED_SPELL", STATUS_NEVER, &WorldSession::Handle_ServerSide }, - /*0x49B*/ { "CMSG_CHANGE_SEATS_ON_CONTROLLED_VEHICLE", STATUS_NEVER, &WorldSession::Handle_NULL }, + /*0x49B*/ { "CMSG_CHANGE_SEATS_ON_CONTROLLED_VEHICLE", STATUS_LOGGEDIN, &WorldSession::HandleChangeSeatsOnControlledVehicle}, /*0x49C*/ { "CMSG_HEARTH_AND_RESURRECT", STATUS_LOGGEDIN, &WorldSession::HandleHearthandResurrect }, /*0x49D*/ { "SMSG_ON_CANCEL_EXPECTED_RIDE_VEHICLE_AURA", STATUS_NEVER, &WorldSession::Handle_ServerSide }, /*0x49E*/ { "SMSG_CRITERIA_DELETED", STATUS_NEVER, &WorldSession::Handle_ServerSide }, @@ -1218,8 +2531,8 @@ OpcodeHandler opcodeTable[NUM_MSG_TYPES] = /*0x4A5*/ { "UMSG_UNKNOWN_1189", STATUS_NEVER, &WorldSession::Handle_NULL }, /*0x4A6*/ { "SMSG_BATTLEGROUND_INFO_THROTTLED", STATUS_NEVER, &WorldSession::Handle_ServerSide }, /*0x4A7*/ { "SMSG_PLAYER_VEHICLE_DATA", STATUS_NEVER, &WorldSession::Handle_ServerSide }, - /*0x4A8*/ { "CMSG_UNKNOWN_1192", STATUS_NEVER, &WorldSession::Handle_NULL }, - /*0x4A9*/ { "CMSG_EJECT_PASSENGER", STATUS_NEVER, &WorldSession::Handle_NULL }, + /*0x4A8*/ { "CMSG_PLAYER_VEHICLE_ENTER", STATUS_LOGGEDIN, &WorldSession::HandleEnterPlayerVehicle }, + /*0x4A9*/ { "CMSG_EJECT_PASSENGER", STATUS_LOGGEDIN, &WorldSession::HandleEjectPasenger }, /*0x4AA*/ { "SMSG_PET_GUIDS", STATUS_NEVER, &WorldSession::Handle_ServerSide }, /*0x4AB*/ { "SMSG_CLIENTCACHE_VERSION", STATUS_NEVER, &WorldSession::Handle_ServerSide }, /*0x4AC*/ { "UMSG_UNKNOWN_1196", STATUS_NEVER, &WorldSession::Handle_NULL }, @@ -1234,14 +2547,14 @@ OpcodeHandler opcodeTable[NUM_MSG_TYPES] = /*0x4B5*/ { "SMSG_ITEM_REFUND_RESULT", STATUS_NEVER, &WorldSession::Handle_ServerSide }, /*0x4B6*/ { "CMSG_CORPSE_MAP_POSITION_QUERY", STATUS_LOGGEDIN, &WorldSession::HandleCorpseMapPositionQuery }, /*0x4B7*/ { "SMSG_CORPSE_MAP_POSITION_QUERY_RESPONSE", STATUS_NEVER, &WorldSession::Handle_ServerSide }, - /*0x4B8*/ { "CMSG_LFG_SET_ROLES_2", STATUS_LOGGEDIN, &WorldSession::HandleLfgSetRoles }, + /*0x4B8*/ { "CMSG_LFG_SET_ROLES_2", STATUS_LOGGEDIN, &WorldSession::Handle_NULL }, /*0x4B9*/ { "UMSG_UNKNOWN_1209", STATUS_NEVER, &WorldSession::Handle_NULL }, /*0x4BA*/ { "CMSG_CALENDAR_CONTEXT_EVENT_SIGNUP", STATUS_NEVER, &WorldSession::Handle_NULL }, /*0x4BB*/ { "SMSG_CALENDAR_ACTION_PENDING", STATUS_NEVER, &WorldSession::Handle_ServerSide }, /*0x4BC*/ { "SMSG_EQUIPMENT_SET_LIST", STATUS_NEVER, &WorldSession::Handle_ServerSide }, /*0x4BD*/ { "CMSG_EQUIPMENT_SET_SAVE", STATUS_LOGGEDIN, &WorldSession::HandleEquipmentSetSave }, /*0x4BE*/ { "CMSG_UPDATE_PROJECTILE_POSITION", STATUS_NEVER, &WorldSession::Handle_NULL }, - /*0x4BF*/ { "SMSG_SET_PROJECTILE_POSITION", STATUS_NEVER, &WorldSession::Handle_ServerSide }, + /*0x4BF*/ { "SMSG_SET_PROJECTILE_POSITION", STATUS_NEVER, &WorldSession::Handle_ServerSide }, /*0x4C0*/ { "SMSG_TALENTS_INFO", STATUS_NEVER, &WorldSession::Handle_ServerSide }, /*0x4C1*/ { "CMSG_LEARN_PREVIEW_TALENTS", STATUS_LOGGEDIN, &WorldSession::HandleLearnPreviewTalents }, /*0x4C2*/ { "CMSG_LEARN_PREVIEW_TALENTS_PET", STATUS_LOGGEDIN, &WorldSession::HandleLearnPreviewTalentsPet }, @@ -1290,7 +2603,7 @@ OpcodeHandler opcodeTable[NUM_MSG_TYPES] = /*0x4ED*/ { "SMSG_TOGGLE_XP_GAIN", STATUS_NEVER, &WorldSession::Handle_ServerSide }, /*0x4EE*/ { "SMSG_GMRESPONSE_DB_ERROR", STATUS_NEVER, &WorldSession::Handle_ServerSide }, /*0x4EF*/ { "SMSG_GMRESPONSE_RECEIVED", STATUS_NEVER, &WorldSession::Handle_ServerSide }, - /*0x4F0*/ { "CMSG_GMRESPONSE_RESOLVE", STATUS_LOGGEDIN, &WorldSession::HandleGMResponseResolve }, + /*0x4F0*/ { "CMSG_GMRESPONSE_RESOLVE", STATUS_LOGGEDIN, &WorldSession::Handle_NULL }, /*0x4F1*/ { "SMSG_GMRESPONSE_STATUS_UPDATE", STATUS_NEVER, &WorldSession::Handle_ServerSide }, /*0x4F2*/ { "UMSG_UNKNOWN_1266", STATUS_NEVER, &WorldSession::Handle_NULL }, /*0x4F3*/ { "UMSG_UNKNOWN_1267", 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 5eeaa1c..eac2c2e 100644 --- a/src/game/Opcodes.h +++ b/src/game/Opcodes.h @@ -34,7 +34,7 @@ /// List of Opcodes enum Opcodes { - MSG_NULL_ACTION = 0x000, + MSG_NULL_ACTION = 0x000, CMSG_BOOTME = 0x001, CMSG_DBLOOKUP = 0x002, SMSG_DBLOOKUP = 0x003, @@ -42,8 +42,8 @@ enum Opcodes SMSG_QUERY_OBJECT_POSITION = 0x005, CMSG_QUERY_OBJECT_ROTATION = 0x006, SMSG_QUERY_OBJECT_ROTATION = 0x007, - CMSG_WORLD_TELEPORT = 0x008, - CMSG_TELEPORT_TO_UNIT = 0x009, + CMSG_WORLD_TELEPORT = 0x560A, // 22026 - 4.0.0.12319 + CMSG_TELEPORT_TO_UNIT = 0xC63A, // 50746 - 4.0.0.12319 CMSG_ZONE_MAP = 0x00A, SMSG_ZONE_MAP = 0x00B, CMSG_DEBUG_CHANGECELLZONE = 0x00C, @@ -55,21 +55,21 @@ enum Opcodes CMSG_DESTROYMONSTER = 0x012, CMSG_CREATEITEM = 0x013, CMSG_CREATEGAMEOBJECT = 0x014, - SMSG_CHECK_FOR_BOTS = 0x015, + SMSG_CHECK_FOR_BOTS = 0x8052, // 32850 - 4.0.0.12319 CMSG_MAKEMONSTERATTACKGUID = 0x016, CMSG_BOT_DETECTED2 = 0x017, CMSG_FORCEACTION = 0x018, CMSG_FORCEACTIONONOTHER = 0x019, CMSG_FORCEACTIONSHOW = 0x01A, - SMSG_FORCEACTIONSHOW = 0x01B, + SMSG_FORCEACTIONSHOW = 0x423C, // 16956 - 4.0.0.12319 CMSG_PETGODMODE = 0x01C, - SMSG_PETGODMODE = 0x01D, - SMSG_REFER_A_FRIEND_EXPIRED = 0x01E, + SMSG_PETGODMODE = 0xE, // 14 - 4.0.0.12319 + SMSG_REFER_A_FRIEND_EXPIRED = 0x5BEC, // 23532 - 4.0.0.12065 CMSG_WEATHER_SPEED_CHEAT = 0x01F, CMSG_UNDRESSPLAYER = 0x020, CMSG_BEASTMASTER = 0x021, CMSG_GODMODE = 0x022, - SMSG_GODMODE = 0x023, + SMSG_GODMODE = 0x8032, // 32818 - 4.0.0.12319 CMSG_CHEAT_SETMONEY = 0x024, CMSG_LEVEL_CHEAT = 0x025, CMSG_PET_LEVEL_CHEAT = 0x026, @@ -84,95 +84,95 @@ enum Opcodes SMSG_DEBUG_AISTATE = 0x02F, CMSG_DISABLE_PVP_CHEAT = 0x030, CMSG_ADVANCE_SPAWN_TIME = 0x031, - SMSG_DESTRUCTIBLE_BUILDING_DAMAGE = 0x032, + SMSG_DESTRUCTIBLE_BUILDING_DAMAGE = 0x8640, // 34368 - 4.0.0.12319 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 = 0x9202, // 37378 - 4.0.0.12319 + CMSG_CHAR_ENUM = 0xC636, // 50742 - 4.0.0.12319 + CMSG_CHAR_DELETE = 0x1048, // 4168 - 4.0.0.12319 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 = 0xC634, // 50740 - 4.0.0.12319 + SMSG_CHAR_ENUM = 0xD07E, // 53374 - 4.0.0.12319 + SMSG_CHAR_DELETE = 0x8012, // 32786 - 4.0.0.12319 + CMSG_PLAYER_LOGIN = 0x5066, // 20582 - 4.0.0.12319 + SMSG_NEW_WORLD = 0x0412, // 1042 - 4.0.0.12319 + SMSG_TRANSFER_PENDING = 0xD468, // 54376 - 4.0.0.12319 + SMSG_TRANSFER_ABORTED = 0x4636, // 17974 - 4.0.0.12319 + SMSG_CHARACTER_LOGIN_FAILED = 0xC634, // 5662 - 4.0.0.12319 + SMSG_LOGIN_SETTIMESPEED = 0x025E, // 606 - 4.0.0.12319 + SMSG_GAMETIME_UPDATE = 0x121A, // 4634 - 4.0.0.12319 CMSG_GAMETIME_SET = 0x044, - SMSG_GAMETIME_SET = 0x045, + SMSG_GAMETIME_SET = 0x1642, // 5698 - 4.0.0.12319 CMSG_GAMESPEED_SET = 0x046, - SMSG_GAMESPEED_SET = 0x047, - CMSG_SERVERTIME = 0x048, + SMSG_GAMESPEED_SET = 0x1444, // 1444 - 4.0.0.12319 + CMSG_SERVERTIME = 0x845A, // 33882 - 4.0.0.12319 SMSG_SERVERTIME = 0x049, - CMSG_PLAYER_LOGOUT = 0x04A, - CMSG_LOGOUT_REQUEST = 0x04B, - SMSG_LOGOUT_RESPONSE = 0x04C, - SMSG_LOGOUT_COMPLETE = 0x04D, - 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_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_DEL_FRIEND = 0x06A, - CMSG_SET_CONTACT_NOTES = 0x06B, - CMSG_ADD_IGNORE = 0x06C, - CMSG_DEL_IGNORE = 0x06D, - CMSG_GROUP_INVITE = 0x06E, - SMSG_GROUP_INVITE = 0x06F, + CMSG_PLAYER_LOGOUT = 0x807C, // 32892 - 4.0.0.12319 + CMSG_LOGOUT_REQUEST = 0x1424, // 5156 - 4.0.0.12319 + SMSG_LOGOUT_RESPONSE = 0x8002, // 32770 - 4.0.0.12319 + SMSG_LOGOUT_COMPLETE = 0xD270, // 53872 - 4.0.0.12319 + CMSG_LOGOUT_CANCEL = 0x8050, // 32848 - 4.0.0.12319 + SMSG_LOGOUT_CANCEL_ACK = 0x1214, // 4628 - 4.0.0.12319 + CMSG_NAME_QUERY = 0x4616, // 17942 - 4.0.0.12319 + SMSG_NAME_QUERY_RESPONSE = 0xD200, // 53760 - 4.0.0.12319 + CMSG_PET_NAME_QUERY = 0x9040, // 36928 - 4.0.0.12319 + SMSG_PET_NAME_QUERY_RESPONSE = 0x440C, // 17420 - 4.0.0.12319 + CMSG_GUILD_QUERY = 0x0636, // 1590 - 4.0.0.12319 + SMSG_GUILD_QUERY_RESPONSE = 0xC042, // 49218 - 4.0.0.12319 + CMSG_ITEM_QUERY_SINGLE = 0x8236, // 33334 - 4.0.0.12319 + CMSG_ITEM_QUERY_MULTIPLE = 0x966E, // 38510 - 4.0.0.12319 + SMSG_ITEM_QUERY_SINGLE_RESPONSE = 0x8450, // 33872 - 4.0.0.12319 + SMSG_ITEM_QUERY_MULTIPLE_RESPONSE = 0x1234, // 4660 - 4.0.0.12319 + CMSG_PAGE_TEXT_QUERY = 0x163A, // 5690 - 4.0.0.12319 + SMSG_PAGE_TEXT_QUERY_RESPONSE = 0x41A , // 1050 - 4.0.0.12319 + CMSG_QUEST_QUERY = 0x060E, // 1550 - 4.0.0.12319 + SMSG_QUEST_QUERY_RESPONSE = 0x422A, // 16938 - 4.0.0.12319 + CMSG_GAMEOBJECT_QUERY = 0x904A, // 36938 - 4.0.0.12319 + SMSG_GAMEOBJECT_QUERY_RESPONSE = 0xC072, // 49266 - 4.0.0.12319 + CMSG_CREATURE_QUERY = 0x427C, // 17020 - 4.0.0.12319 + SMSG_CREATURE_QUERY_RESPONSE = 0x40E , // 1038 - 4.0.0.12319 + CMSG_WHO = 0x0476, // 1142 - 4.0.0.12319 + SMSG_WHO = 0x401E, // 16414 - 4.0.0.12319 + CMSG_WHOIS = 0x4426, // 17446 - 4.0.0.12319 + SMSG_WHOIS = 0x632, // 1586 - 4.0.0.12319 + CMSG_CONTACT_LIST = 0xC676, // 50806 - 4.0.0.12319 + SMSG_CONTACT_LIST = 0x821A, // 33306 - 4.0.0.12319 + SMSG_FRIEND_STATUS = 0x521A, // 21018 - 4.0.0.12319 + CMSG_ADD_FRIEND = 0x8464, // 33892 - 4.0.0.12319 + CMSG_DEL_FRIEND = 0x807C, // 32892 - 4.0.0.12319 + CMSG_SET_CONTACT_NOTES = 0xD46A, // 54378 - 4.0.0.12319 + CMSG_ADD_IGNORE = 0xC26E, // 49774 - 4.0.0.12319 + CMSG_DEL_IGNORE = 0x9474, // 38004 - 4.0.0.12319 + CMSG_GROUP_INVITE = 0x1402, // 5122 - 4.0.0.12319 + SMSG_GROUP_INVITE = 0x7E, // 126 - 4.0.0.12319 CMSG_GROUP_CANCEL = 0x070, - SMSG_GROUP_CANCEL = 0x071, - CMSG_GROUP_ACCEPT = 0x072, - CMSG_GROUP_DECLINE = 0x073, - SMSG_GROUP_DECLINE = 0x074, + SMSG_GROUP_CANCEL = 0x4406, // 17414 - 4.0.0.12319 + CMSG_GROUP_ACCEPT = 0xC21E, // 49694 - 4.0.0.12319 + CMSG_GROUP_DECLINE = 0x024C, // 588 - 4.0.0.12319 + SMSG_GROUP_DECLINE = 0x64, // 100 - 4.0.0.12319 CMSG_GROUP_UNINVITE = 0x075, - CMSG_GROUP_UNINVITE_GUID = 0x076, - SMSG_GROUP_UNINVITE = 0x077, + CMSG_GROUP_UNINVITE_GUID = 0x0654, // 1620 - 4.0.0.12319 + SMSG_GROUP_UNINVITE = 0xC056, // 49238 - 4.0.0.12319 CMSG_GROUP_SET_LEADER = 0x078, - SMSG_GROUP_SET_LEADER = 0x079, - CMSG_LOOT_METHOD = 0x07A, - CMSG_GROUP_DISBAND = 0x07B, - SMSG_GROUP_DESTROYED = 0x07C, - SMSG_GROUP_LIST = 0x07D, - SMSG_PARTY_MEMBER_STATS = 0x07E, - SMSG_PARTY_COMMAND_RESULT = 0x07F, + SMSG_GROUP_SET_LEADER = 0x5660, // 22112 - 4.0.0.12319 + CMSG_LOOT_METHOD = 0x4666, // 18022 - 4.0.0.12319 + CMSG_GROUP_DISBAND = 0x4612, // 17938 - 4.0.0.12319 + SMSG_GROUP_DESTROYED = 0x3C, // 60 - 4.0.0.12319 + SMSG_GROUP_LIST = 0x166E, // 5742 - 4.0.0.12319 + SMSG_PARTY_MEMBER_STATS = 0x8226, // 33318 - 4.0.0.12319 + SMSG_PARTY_COMMAND_RESULT = 0x861E, // 34334 - 4.0.0.12319 UMSG_UPDATE_GROUP_MEMBERS = 0x080, CMSG_GUILD_CREATE = 0x081, CMSG_GUILD_INVITE = 0x082, - SMSG_GUILD_INVITE = 0x083, + SMSG_GUILD_INVITE = 0x4050, // 16464 - 4.0.0.12319 CMSG_GUILD_ACCEPT = 0x084, CMSG_GUILD_DECLINE = 0x085, - SMSG_GUILD_DECLINE = 0x086, + SMSG_GUILD_DECLINE = 0x4066, // 16486 - 4.0.0.12319 CMSG_GUILD_INFO = 0x087, - SMSG_GUILD_INFO = 0x088, + SMSG_GUILD_INFO = 0x461C, // 17948 - 4.0.0.12319 CMSG_GUILD_ROSTER = 0x089, - SMSG_GUILD_ROSTER = 0x08A, + SMSG_GUILD_ROSTER = 0x824C, // 33356 - 4.0.0.12319 CMSG_GUILD_PROMOTE = 0x08B, CMSG_GUILD_DEMOTE = 0x08C, CMSG_GUILD_LEAVE = 0x08D, @@ -180,16 +180,16 @@ enum Opcodes CMSG_GUILD_DISBAND = 0x08F, CMSG_GUILD_LEADER = 0x090, CMSG_GUILD_MOTD = 0x091, - SMSG_GUILD_EVENT = 0x092, - SMSG_GUILD_COMMAND_RESULT = 0x093, + SMSG_GUILD_EVENT = 0x4664, // 18020 - 4.0.0.12319 + SMSG_GUILD_COMMAND_RESULT = 0x841E, // 33822 - 4.0.0.12319 UMSG_UPDATE_GUILD = 0x094, - CMSG_MESSAGECHAT = 0x095, - SMSG_MESSAGECHAT = 0x096, - CMSG_JOIN_CHANNEL = 0x097, + CMSG_MESSAGECHAT = 0x5644, // 22084 - 4.0.0.12319 + SMSG_MESSAGECHAT = 0x161C, // 5660 - 4.0.0.12319 + CMSG_JOIN_CHANNEL = 0x920A, // 37386 - 4.0.0.12319 CMSG_LEAVE_CHANNEL = 0x098, - SMSG_CHANNEL_NOTIFY = 0x099, + SMSG_CHANNEL_NOTIFY = 0x402C, // 16428 - 4.0.0.12319 CMSG_CHANNEL_LIST = 0x09A, - SMSG_CHANNEL_LIST = 0x09B, + SMSG_CHANNEL_LIST = 0xD24E, // 53838 - 4.0.0.12319 CMSG_CHANNEL_PASSWORD = 0x09C, CMSG_CHANNEL_SET_OWNER = 0x09D, CMSG_CHANNEL_OWNER = 0x09E, @@ -203,102 +203,102 @@ enum Opcodes CMSG_CHANNEL_UNBAN = 0x0A6, CMSG_CHANNEL_ANNOUNCEMENTS = 0x0A7, CMSG_CHANNEL_MODERATE = 0x0A8, - SMSG_UPDATE_OBJECT = 0x0A9, - SMSG_DESTROY_OBJECT = 0x0AA, - CMSG_USE_ITEM = 0x0AB, + SMSG_UPDATE_OBJECT = 0x9028, // 36904 - 4.0.0.12319 + SMSG_DESTROY_OBJECT = 0x123C, // 4668 - 4.0.0.12319 + CMSG_USE_ITEM = 0x8042, // 32834 - 4.0.0.12319 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_READ_ITEM_OK = 0x216, // 534 - 4.0.0.12319 + SMSG_READ_ITEM_FAILED = 0x5010, // 20496 - 4.0.0.12319 + SMSG_ITEM_COOLDOWN = 0x9472, // 38002 - 4.0.0.12319 + CMSG_GAMEOBJ_USE = 0x1012, // 4114 - 4.0.0.12319 CMSG_DESTROY_ITEMS = 0x0B2, - SMSG_GAMEOBJECT_CUSTOM_ANIM = 0x0B3, + SMSG_GAMEOBJECT_CUSTOM_ANIM = 0x9436, // 37942 - 4.0.0.12319 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 = 0x860E, // 34318 - 4.0.0.12319 + MSG_MOVE_START_BACKWARD = 0x8612, // 34322 - 4.0.0.12319 + MSG_MOVE_STOP = 0x927C, // 37500 - 4.0.0.12319 + MSG_MOVE_START_STRAFE_LEFT = 0x8254, // 33364 - 4.0.0.12319 + MSG_MOVE_START_STRAFE_RIGHT = 0x8272, // 33394 - 4.0.0.12319 + MSG_MOVE_STOP_STRAFE = 0x443E, // 17470 - 4.0.0.12319 + MSG_MOVE_JUMP = 0x9F6A, // 17458 - 4.0.0.12319 + MSG_MOVE_START_TURN_LEFT = 0x420C, // 16908 - 4.0.0.12319 + MSG_MOVE_START_TURN_RIGHT = 0x650, // 1616 - 4.0.0.12319 + MSG_MOVE_STOP_TURN = 0x8424, // 33828 - 4.0.0.12319 + MSG_MOVE_START_PITCH_UP = 0x4012, // 16402 - 4.0.0.12319 + MSG_MOVE_START_PITCH_DOWN = 0xC212, // 49682 - 4.0.0.12319 + MSG_MOVE_STOP_PITCH = 0xC624, // 50724 - 4.0.0.12319 + MSG_MOVE_SET_RUN_MODE = 0xD65C, // 54876 - 4.0.0.12319 + MSG_MOVE_SET_WALK_MODE = 0x4462, // 17506 - 4.0.0.12319 MSG_MOVE_TOGGLE_LOGGING = 0x0C4, - MSG_MOVE_TELEPORT = 0x0C5, + MSG_MOVE_TELEPORT = 0x462, // 1122 - 4.0.0.12319 MSG_MOVE_TELEPORT_CHEAT = 0x0C6, - MSG_MOVE_TELEPORT_ACK = 0x0C7, + MSG_MOVE_TELEPORT_ACK = 0xD65A, // 54874 - 4.0.0.12319 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 = 0x9068, // 36968 - 4.0.0.12319 + MSG_MOVE_START_SWIM = 0x9644, // 38468 - 4.0.0.12319 + MSG_MOVE_STOP_SWIM = 0x5210, // 21008 - 4.0.0.12319 MSG_MOVE_SET_RUN_SPEED_CHEAT = 0x0CC, - MSG_MOVE_SET_RUN_SPEED = 0x0CD, + MSG_MOVE_SET_RUN_SPEED = 0xD21C, // 53788 - 4.0.0.12319 MSG_MOVE_SET_RUN_BACK_SPEED_CHEAT = 0x0CE, - MSG_MOVE_SET_RUN_BACK_SPEED = 0x0CF, + MSG_MOVE_SET_RUN_BACK_SPEED = 0x465C, // 18012 - 4.0.0.12319 MSG_MOVE_SET_WALK_SPEED_CHEAT = 0x0D0, - MSG_MOVE_SET_WALK_SPEED = 0x0D1, + MSG_MOVE_SET_WALK_SPEED = 0xD27E, // 53886 - 4.0.0.12319 MSG_MOVE_SET_SWIM_SPEED_CHEAT = 0x0D2, - MSG_MOVE_SET_SWIM_SPEED = 0x0D3, + MSG_MOVE_SET_SWIM_SPEED = 0x5038, // 20536 - 4.0.0.12319 MSG_MOVE_SET_SWIM_BACK_SPEED_CHEAT = 0x0D4, - MSG_MOVE_SET_SWIM_BACK_SPEED = 0x0D5, + MSG_MOVE_SET_SWIM_BACK_SPEED = 0xD464, // 54372 - 4.0.0.12319 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 = 0x444E, // 17486 - 4.0.0.12319 + MSG_MOVE_TOGGLE_COLLISION_CHEAT = 0x214, // 532 - 4.0.0.12319 + MSG_MOVE_SET_FACING = 0x902C, // 36908 - 4.0.0.12319 + MSG_MOVE_SET_PITCH = 0x0006, // 6 - 4.0.0.12319 + MSG_MOVE_WORLDPORT_ACK = 0xD20A, // 53770 - 4.0.0.12319 + SMSG_MONSTER_MOVE = 0x602, // 1538 - 4.0.0.12319 + SMSG_MOVE_WATER_WALK = 0xC678, // 50808 - 4.0.0.12319 + SMSG_MOVE_LAND_WALK = 0x507C, // 20604 - 4.0.0.12319 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, - CMSG_FORCE_RUN_BACK_SPEED_CHANGE_ACK = 0x0E5, - SMSG_FORCE_SWIM_SPEED_CHANGE = 0x0E6, - CMSG_FORCE_SWIM_SPEED_CHANGE_ACK = 0x0E7, - SMSG_FORCE_MOVE_ROOT = 0x0E8, - CMSG_FORCE_MOVE_ROOT_ACK = 0x0E9, - SMSG_FORCE_MOVE_UNROOT = 0x0EA, - CMSG_FORCE_MOVE_UNROOT_ACK = 0x0EB, - MSG_MOVE_ROOT = 0x0EC, - MSG_MOVE_UNROOT = 0x0ED, - MSG_MOVE_HEARTBEAT = 0x0EE, - SMSG_MOVE_KNOCK_BACK = 0x0EF, - 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, - CMSG_MOVE_HOVER_ACK = 0x0F6, - MSG_MOVE_HOVER = 0x0F7, + CMSG_MOVE_SET_RAW_POSITION = 0x900C, // 36876 - 4.0.0.12319 + SMSG_FORCE_RUN_SPEED_CHANGE = 0x9642, // 38466 - 4.0.0.12319 + CMSG_FORCE_RUN_SPEED_CHANGE_ACK = 0xD020, // 53280 - 4.0.0.12319 + SMSG_FORCE_RUN_BACK_SPEED_CHANGE = 0x940E, // 37902 - 4.0.0.12319 + CMSG_FORCE_RUN_BACK_SPEED_CHANGE_ACK = 0x8624, // 34340 - 4.0.0.12319 + SMSG_FORCE_SWIM_SPEED_CHANGE = 0x106C, // 4204 - 4.0.0.12319 + CMSG_FORCE_SWIM_SPEED_CHANGE_ACK = 0x046C, // 1132 - 4.0.0.12319 + SMSG_FORCE_MOVE_ROOT = 0x1002, // 4098 - 4.0.0.12319 + CMSG_FORCE_MOVE_ROOT_ACK = 0x445E, // 17502 - 4.0.0.12319 + SMSG_FORCE_MOVE_UNROOT = 0xC052, // 49234 - 4.0.0.12319 + CMSG_FORCE_MOVE_UNROOT_ACK = 0xC40A, // 50186 - 4.0.0.12319 + MSG_MOVE_ROOT = 0x501C, // 20508 - 4.0.0.12319 + MSG_MOVE_UNROOT = 0x9644, // 38468 - 4.0.0.12319 + MSG_MOVE_HEARTBEAT = 0x8672, // 34418 - 4.0.0.12319 + SMSG_MOVE_KNOCK_BACK = 0x4422, // 17442 - 4.0.0.12319 + CMSG_MOVE_KNOCK_BACK_ACK = 0x8234, // 33332 - 4.0.0.12319 + MSG_MOVE_KNOCK_BACK = 0xD412, // 54290 - 4.0.0.12319 + SMSG_MOVE_FEATHER_FALL = 0x9016, // 36886 - 4.0.0.12319 + SMSG_MOVE_NORMAL_FALL = 0x676, // 1654 - 4.0.0.12319 + SMSG_MOVE_SET_HOVER = 0x9674, // 38516 - 4.0.0.12319 + SMSG_MOVE_UNSET_HOVER = 0xD648, // 54856 - 4.0.0.12319 + CMSG_MOVE_HOVER_ACK = 0x041C, // 1052 - 4.0.0.12319 + MSG_MOVE_HOVER = 0x8068, // 32872 - 4.0.0.12319 CMSG_TRIGGER_CINEMATIC_CHEAT = 0x0F8, CMSG_OPENING_CINEMATIC = 0x0F9, - SMSG_TRIGGER_CINEMATIC = 0x0FA, + SMSG_TRIGGER_CINEMATIC = 0x562A, // 22058 - 4.0.0.12319 CMSG_NEXT_CINEMATIC_CAMERA = 0x0FB, CMSG_COMPLETE_CINEMATIC = 0x0FC, - SMSG_TUTORIAL_FLAGS = 0x0FD, + SMSG_TUTORIAL_FLAGS = 0x5012, // 20498 - 4.0.0.12319 CMSG_TUTORIAL_FLAG = 0x0FE, CMSG_TUTORIAL_CLEAR = 0x0FF, - CMSG_TUTORIAL_RESET = 0x100, + CMSG_TUTORIAL_RESET = 0x9046, // 36934 - 4.0.0.12319 CMSG_STANDSTATECHANGE = 0x101, - CMSG_EMOTE = 0x102, - SMSG_EMOTE = 0x103, - CMSG_TEXT_EMOTE = 0x104, - SMSG_TEXT_EMOTE = 0x105, + CMSG_EMOTE = 0xD422, // 54306 - 4.0.0.12319 + SMSG_EMOTE = 0x1438, // 5176 - 4.0.0.12319 + CMSG_TEXT_EMOTE = 0x0070, // 112 - 4.0.0.12319 + SMSG_TEXT_EMOTE = 0x2B61, // 11105 - 4.0.0.12065 CMSG_AUTOEQUIP_GROUND_ITEM = 0x106, CMSG_AUTOSTORE_GROUND_ITEM = 0x107, - CMSG_AUTOSTORE_LOOT_ITEM = 0x108, + CMSG_AUTOSTORE_LOOT_ITEM = 0x903E, // 36926 - 4.0.0.12319 CMSG_STORE_LOOT_IN_SLOT = 0x109, CMSG_AUTOEQUIP_ITEM = 0x10A, CMSG_AUTOSTORE_BAG_ITEM = 0x10B, @@ -308,10 +308,10 @@ enum Opcodes CMSG_AUTOEQUIP_ITEM_SLOT = 0x10F, OBSOLETE_DROP_ITEM = 0x110, CMSG_DESTROYITEM = 0x111, - SMSG_INVENTORY_CHANGE_FAILURE = 0x112, - SMSG_OPEN_CONTAINER = 0x113, + SMSG_INVENTORY_CHANGE_FAILURE = 0x5236, // 21046 - 4.0.0.12319 + SMSG_OPEN_CONTAINER = 0xD212, // 53778 - 4.0.0.12319 CMSG_INSPECT = 0x114, - SMSG_INSPECT = 0x115, + SMSG_INSPECT = 0xD460, // 54368 - 4.0.0.12319 CMSG_INITIATE_TRADE = 0x116, CMSG_BEGIN_TRADE = 0x117, CMSG_BUSY_TRADE = 0x118, @@ -324,265 +324,265 @@ 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 = 0x502A, // 20522 - 4.0.0.12319 + SMSG_SET_FACTION_VISIBLE = 0x801A, // 32794 - 4.0.0.12319 + SMSG_SET_FACTION_STANDING = 0x946A, // 37994 - 4.0.0.12319 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_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_CANCEL_CHANNELLING = 0x13B, - SMSG_AI_REACTION = 0x13C, + SMSG_SET_PROFICIENCY = 0x041E, // 1054 - 4.0.0.12319 + CMSG_SET_ACTION_BUTTON = 0x8460, // 33888 - 4.0.0.12319 + SMSG_ACTION_BUTTONS = 0x146E, // 5230 - 4.0.0.12319 + SMSG_INITIAL_SPELLS = 0x9618, // 38424 - 4.0.0.12319 + SMSG_LEARNED_SPELL = 0x244, // 580 - 4.0.0.12319 + SMSG_SUPERCEDED_SPELL = 0x466A, // 18026 - 4.0.0.12319 + CMSG_NEW_SPELL_SLOT = 0x012E, // 302 - 4.0.0.12319 + CMSG_CAST_SPELL = 0xD03A, // 53306 - 4.0.0.12319 + CMSG_CANCEL_CAST = 0x242, // 578 - 4.0.0.12319 + SMSG_CAST_FAILED = 0xD238, // 53816 - 4.0.0.12319 + SMSG_SPELL_START = 0xC416, // 50198 - 4.0.0.12319 + SMSG_SPELL_GO = 0xD67E, // 54910 - 4.0.0.12319 + SMSG_SPELL_FAILURE = 0x461E, // 17950 - 4.0.0.12319 + SMSG_SPELL_COOLDOWN = 0xC67C, // 50812 - 4.0.0.12319 + SMSG_COOLDOWN_EVENT = 0x524A, // 21066 - 4.0.0.12319 + CMSG_CANCEL_AURA = 0x0037, // 55 - 4.0.0.12319 + SMSG_EQUIPMENT_SET_SAVED = 0x1400, // 5120 - 4.0.0.12319 + SMSG_PET_CAST_FAILED = 0x447A, // 17530 - 4.0.0.12319 + MSG_CHANNEL_START = 0x5448, // 21576 - 4.0.0.12319 + MSG_CHANNEL_UPDATE = 0x8622, // 34338 - 4.0.0.12319 + CMSG_CANCEL_CHANNELLING = 0xC47A, // 50298 - 4.0.0.12319 + SMSG_AI_REACTION = 0x4238, // 16952 - 4.0.0.12319 CMSG_SET_SELECTION = 0x13D, - CMSG_EQUIPMENT_SET_DELETE = 0x13E, - CMSG_INSTANCE_LOCK_WARNING_RESPONSE = 0x13F, + CMSG_EQUIPMENT_SET_DELETE = 0x8420, // 33824 - 4.0.0.12319 + CMSG_INSTANCE_LOCK_WARNING_RESPONSE = 0xC618, // 50712 - 4.0.0.12319 CMSG_UNUSED2 = 0x140, CMSG_ATTACKSWING = 0x141, CMSG_ATTACKSTOP = 0x142, - SMSG_ATTACKSTART = 0x143, - SMSG_ATTACKSTOP = 0x144, - SMSG_ATTACKSWING_NOTINRANGE = 0x145, - SMSG_ATTACKSWING_BADFACING = 0x146, - SMSG_INSTANCE_LOCK_WARNING_QUERY = 0x147, - SMSG_ATTACKSWING_DEADTARGET = 0x148, - SMSG_ATTACKSWING_CANT_ATTACK = 0x149, - SMSG_ATTACKERSTATEUPDATE = 0x14A, - SMSG_BATTLEFIELD_PORT_DENIED = 0x14B, + SMSG_ATTACKSTART = 0xD248, // 53832 - 4.0.0.12319 + SMSG_ATTACKSTOP = 0xC40C, // 50188 - 4.0.0.12319 + SMSG_ATTACKSWING_NOTINRANGE = 0x547A, // 21626 - 4.0.0.12319 + SMSG_ATTACKSWING_BADFACING = 0x5262, // 21090 - 4.0.0.12319 + SMSG_INSTANCE_LOCK_WARNING_QUERY = 0x424E, // 16974 - 4.0.0.12319 + SMSG_ATTACKSWING_DEADTARGET = 0xD008, // 53256 - 4.0.0.12319 + SMSG_ATTACKSWING_CANT_ATTACK = 0x823A, // 33338 - 4.0.0.12319 + SMSG_ATTACKERSTATEUPDATE = 0x123E, // 4670 - 4.0.0.12319 + SMSG_BATTLEFIELD_PORT_DENIED = 0xD654, // 54868 - 4.0.0.12319 SMSG_DAMAGE_DONE_OBSOLETE = 0x14C, - SMSG_UNIT_SPELLCAST_START = 0x14D, - SMSG_CANCEL_COMBAT = 0x14E, - SMSG_SPELLBREAKLOG = 0x14F, - SMSG_SPELLHEALLOG = 0x150, - SMSG_SPELLENERGIZELOG = 0x151, - SMSG_BREAK_TARGET = 0x152, + SMSG_UNIT_SPELLCAST_START = 0x1028, // 4136 - 4.0.0.12319 + SMSG_CANCEL_COMBAT = 0xC058, // 49240 - 4.0.0.12319 + SMSG_SPELLBREAKLOG = 0x6C, // 108 - 4.0.0.12319 + SMSG_SPELLHEALLOG = 0x60, // 96 - 4.0.0.12319 + SMSG_SPELLENERGIZELOG = 0xC226, // 49702 - 4.0.0.12319 + SMSG_BREAK_TARGET = 0x4034, // 16436 - 4.0.0.12319 CMSG_SAVE_PLAYER = 0x153, CMSG_SETDEATHBINDPOINT = 0x154, - SMSG_BINDPOINTUPDATE = 0x155, + SMSG_BINDPOINTUPDATE = 0xD276, // 53878 - 4.0.0.12319 CMSG_GETDEATHBINDZONE = 0x156, - SMSG_BINDZONEREPLY = 0x157, - SMSG_PLAYERBOUND = 0x158, - SMSG_CLIENT_CONTROL_UPDATE = 0x159, + SMSG_BINDZONEREPLY = 0x5406, // 21510 - 4.0.0.12319 + SMSG_PLAYERBOUND = 0xD02C, // 53292 - 4.0.0.12319 + SMSG_CLIENT_CONTROL_UPDATE = 0x256, // 598 - 4.0.0.12319 CMSG_REPOP_REQUEST = 0x15A, - SMSG_RESURRECT_REQUEST = 0x15B, + SMSG_RESURRECT_REQUEST = 0x9466, // 37990 - 4.0.0.12319 CMSG_RESURRECT_RESPONSE = 0x15C, CMSG_LOOT = 0x15D, - CMSG_LOOT_MONEY = 0x15E, - CMSG_LOOT_RELEASE = 0x15F, - SMSG_LOOT_RESPONSE = 0x160, - SMSG_LOOT_RELEASE_RESPONSE = 0x161, - SMSG_LOOT_REMOVED = 0x162, - SMSG_LOOT_MONEY_NOTIFY = 0x163, - SMSG_LOOT_ITEM_NOTIFY = 0x164, - SMSG_LOOT_CLEAR_MONEY = 0x165, - SMSG_ITEM_PUSH_RESULT = 0x166, - SMSG_DUEL_REQUESTED = 0x167, - SMSG_DUEL_OUTOFBOUNDS = 0x168, - SMSG_DUEL_INBOUNDS = 0x169, - SMSG_DUEL_COMPLETE = 0x16A, - SMSG_DUEL_WINNER = 0x16B, + CMSG_LOOT_MONEY = 0x005F, // 95 - 4.0.0.12319 + CMSG_LOOT_RELEASE = 0x0060, // 96 - 4.0.0.12319 + SMSG_LOOT_RESPONSE = 0x4268, // 17000 - 4.0.0.12319 + SMSG_LOOT_RELEASE_RESPONSE = 0x9632, // 38450 - 4.0.0.12319 + SMSG_LOOT_REMOVED = 0x248, // 584 - 4.0.0.12319 + SMSG_LOOT_MONEY_NOTIFY = 0x562C, // 22060 - 4.0.0.12319 + SMSG_LOOT_ITEM_NOTIFY = 0x4A, // 74 - 4.0.0.12319 + SMSG_LOOT_CLEAR_MONEY = 0x8404, // 33796 - 4.0.0.12319 + SMSG_ITEM_PUSH_RESULT = 0x924E, // 37454 - 4.0.0.12319 + SMSG_DUEL_REQUESTED = 0x825C, // 33372 - 4.0.0.12319 + SMSG_DUEL_OUTOFBOUNDS = 0x5040, // 20544 - 4.0.0.12319 + SMSG_DUEL_INBOUNDS = 0x501A, // 20506 - 4.0.0.12319 + SMSG_DUEL_COMPLETE = 0x923A, // 37434 - 4.0.0.12319 + SMSG_DUEL_WINNER = 0xD02E, // 53294 - 4.0.0.12319 CMSG_DUEL_ACCEPTED = 0x16C, CMSG_DUEL_CANCELLED = 0x16D, - SMSG_MOUNTRESULT = 0x16E, - SMSG_DISMOUNTRESULT = 0x16F, - SMSG_PUREMOUNT_CANCELLED_OBSOLETE = 0x170, // ERR_REMOVE_FROM_PVP_QUEUE_* events + SMSG_MOUNTRESULT = 0x863A, // 34362 - 4.0.0.12319 + SMSG_DISMOUNTRESULT = 0x466E, // 18030 - 4.0.0.12319 + SMSG_PUREMOUNT_CANCELLED_OBSOLETE = 0x1F66, // 8038 - 4.0.0.12065, ERR_REMOVE_FROM_PVP_QUEUE_* events CMSG_MOUNTSPECIAL_ANIM = 0x171, - SMSG_MOUNTSPECIAL_ANIM = 0x172, - SMSG_PET_TAME_FAILURE = 0x173, + SMSG_MOUNTSPECIAL_ANIM = 0x5624, // 22052 - 4.0.0.12319 + SMSG_PET_TAME_FAILURE = 0xD230, // 53808 - 4.0.0.12319 CMSG_PET_SET_ACTION = 0x174, CMSG_PET_ACTION = 0x175, CMSG_PET_ABANDON = 0x176, CMSG_PET_RENAME = 0x177, - SMSG_PET_NAME_INVALID = 0x178, - SMSG_PET_SPELLS = 0x179, - SMSG_PET_MODE = 0x17A, - CMSG_GOSSIP_HELLO = 0x17B, - CMSG_GOSSIP_SELECT_OPTION = 0x17C, - SMSG_GOSSIP_MESSAGE = 0x17D, - SMSG_GOSSIP_COMPLETE = 0x17E, - CMSG_NPC_TEXT_QUERY = 0x17F, - SMSG_NPC_TEXT_UPDATE = 0x180, + SMSG_PET_NAME_INVALID = 0x8226, // 33318 - 4.0.0.12319 + SMSG_PET_SPELLS = 0xC034, // 49204 - 4.0.0.12319 + SMSG_PET_MODE = 0x9672, // 38514 - 4.0.0.12319 + CMSG_GOSSIP_HELLO = 0x8476, // 33910 - 4.0.0.12319 + CMSG_GOSSIP_SELECT_OPTION = 0x5020, // 20512 - 4.0.0.12319 + SMSG_GOSSIP_MESSAGE = 0x4214, // 16916 - 4.0.0.12319 + SMSG_GOSSIP_COMPLETE = 0x8636, // 34358 - 4.0.0.12319 + CMSG_NPC_TEXT_QUERY = 0xC242, // 49730 - 4.0.0.12319 + SMSG_NPC_TEXT_UPDATE = 0xD01E, // 53278 - 4.0.0.12319 SMSG_NPC_WONT_TALK = 0x181, CMSG_QUESTGIVER_STATUS_QUERY = 0x182, - SMSG_QUESTGIVER_STATUS = 0x183, + SMSG_QUESTGIVER_STATUS = 0xC424, // 50212 - 4.0.0.12319 CMSG_QUESTGIVER_HELLO = 0x184, - SMSG_QUESTGIVER_QUEST_LIST = 0x185, + SMSG_QUESTGIVER_QUEST_LIST = 0xC476, // 50294 - 4.0.0.12319 CMSG_QUESTGIVER_QUERY_QUEST = 0x186, CMSG_QUESTGIVER_QUEST_AUTOLAUNCH = 0x187, - SMSG_QUESTGIVER_QUEST_DETAILS = 0x188, + SMSG_QUESTGIVER_QUEST_DETAILS = 0x564A, // 22090 - 4.0.0.12319 CMSG_QUESTGIVER_ACCEPT_QUEST = 0x189, CMSG_QUESTGIVER_COMPLETE_QUEST = 0x18A, - SMSG_QUESTGIVER_REQUEST_ITEMS = 0x18B, + SMSG_QUESTGIVER_REQUEST_ITEMS = 0x404E, // 16462 - 4.0.0.12319 CMSG_QUESTGIVER_REQUEST_REWARD = 0x18C, - SMSG_QUESTGIVER_OFFER_REWARD = 0x18D, + SMSG_QUESTGIVER_OFFER_REWARD = 0x1648, // 5704 - 4.0.0.12319 CMSG_QUESTGIVER_CHOOSE_REWARD = 0x18E, - SMSG_QUESTGIVER_QUEST_INVALID = 0x18F, + SMSG_QUESTGIVER_QUEST_INVALID = 0x925C, // 37468 - 4.0.0.12319 CMSG_QUESTGIVER_CANCEL = 0x190, - SMSG_QUESTGIVER_QUEST_COMPLETE = 0x191, - SMSG_QUESTGIVER_QUEST_FAILED = 0x192, + SMSG_QUESTGIVER_QUEST_COMPLETE = 0xD26C, // 53868 - 4.0.0.12319 + SMSG_QUESTGIVER_QUEST_FAILED = 0x65C, // 1628 - 4.0.0.12319 CMSG_QUESTLOG_SWAP_QUEST = 0x193, CMSG_QUESTLOG_REMOVE_QUEST = 0x194, - SMSG_QUESTLOG_FULL = 0x195, - SMSG_QUESTUPDATE_FAILED = 0x196, - SMSG_QUESTUPDATE_FAILEDTIMER = 0x197, - SMSG_QUESTUPDATE_COMPLETE = 0x198, - SMSG_QUESTUPDATE_ADD_KILL = 0x199, + SMSG_QUESTLOG_FULL = 0xC44C, // 50252 - 4.0.0.12319 + SMSG_QUESTUPDATE_FAILED = 0x5452, // 21586 - 4.0.0.12319 + SMSG_QUESTUPDATE_FAILEDTIMER = 0xC00E, // 49166 - 4.0.0.12319 + SMSG_QUESTUPDATE_COMPLETE = 0x1056, // 4182 - 4.0.0.12319 + SMSG_QUESTUPDATE_ADD_KILL = 0x9262, // 37474 - 4.0.0.12319 SMSG_QUESTUPDATE_ADD_ITEM = 0x19A, CMSG_QUEST_CONFIRM_ACCEPT = 0x19B, - SMSG_QUEST_CONFIRM_ACCEPT = 0x19C, + SMSG_QUEST_CONFIRM_ACCEPT = 0xC258, // 49752 - 4.0.0.12319 CMSG_PUSHQUESTTOPARTY = 0x19D, CMSG_LIST_INVENTORY = 0x19E, - SMSG_LIST_INVENTORY = 0x19F, + SMSG_LIST_INVENTORY = 0x807E, // 32894 - 4.0.0.12319 CMSG_SELL_ITEM = 0x1A0, - SMSG_SELL_ITEM = 0x1A1, + SMSG_SELL_ITEM = 0xC47E, // 50302 - 4.0.0.12319 CMSG_BUY_ITEM = 0x1A2, CMSG_BUY_ITEM_IN_SLOT = 0x1A3, - SMSG_BUY_ITEM = 0x1A4, - SMSG_BUY_FAILED = 0x1A5, + SMSG_BUY_ITEM = 0x9652, // 38482 - 4.0.0.12319 + SMSG_BUY_FAILED = 0x4264, // 16996 - 4.0.0.12319 CMSG_TAXICLEARALLNODES = 0x1A6, CMSG_TAXIENABLEALLNODES = 0x1A7, CMSG_TAXISHOWNODES = 0x1A8, - SMSG_SHOWTAXINODES = 0x1A9, + SMSG_SHOWTAXINODES = 0x407E, // 16510 - 4.0.0.12319 CMSG_TAXINODE_STATUS_QUERY = 0x1AA, - SMSG_TAXINODE_STATUS = 0x1AB, + SMSG_TAXINODE_STATUS = 0x9612, // 38418 - 4.0.0.12319 CMSG_TAXIQUERYAVAILABLENODES = 0x1AC, CMSG_ACTIVATETAXI = 0x1AD, - SMSG_ACTIVATETAXIREPLY = 0x1AE, - SMSG_NEW_TAXI_PATH = 0x1AF, + SMSG_ACTIVATETAXIREPLY = 0x68, // 104 - 4.0.0.12319 + SMSG_NEW_TAXI_PATH = 0x961A, // 38426 - 4.0.0.12319 CMSG_TRAINER_LIST = 0x1B0, - SMSG_TRAINER_LIST = 0x1B1, + SMSG_TRAINER_LIST = 0xC238, // 49720 - 4.0.0.12319 CMSG_TRAINER_BUY_SPELL = 0x1B2, SMSG_TRAINER_BUY_SUCCEEDED = 0x1B3, - SMSG_TRAINER_BUY_FAILED = 0x1B4, // uint64, uint32, uint32 (0...2) + SMSG_TRAINER_BUY_FAILED = 0xD61C, // 54812 - 4.0.0.12319, uint64, uint32, uint32 (0...2) CMSG_BINDER_ACTIVATE = 0x1B5, - SMSG_PLAYERBINDERROR = 0x1B6, + SMSG_PLAYERBINDERROR = 0x8470, // 33904 - 4.0.0.12319 CMSG_BANKER_ACTIVATE = 0x1B7, - SMSG_SHOW_BANK = 0x1B8, + SMSG_SHOW_BANK = 0x5242, // 21058 - 4.0.0.12319 CMSG_BUY_BANK_SLOT = 0x1B9, - SMSG_BUY_BANK_SLOT_RESULT = 0x1BA, + SMSG_BUY_BANK_SLOT_RESULT = 0x9626, // 38438 - 4.0.0.12319 CMSG_PETITION_SHOWLIST = 0x1BB, - SMSG_PETITION_SHOWLIST = 0x1BC, + SMSG_PETITION_SHOWLIST = 0x4648, // 17992 - 4.0.0.12319 CMSG_PETITION_BUY = 0x1BD, CMSG_PETITION_SHOW_SIGNATURES = 0x1BE, - SMSG_PETITION_SHOW_SIGNATURES = 0x1BF, + SMSG_PETITION_SHOW_SIGNATURES = 0x9200, // 37376 - 4.0.0.12319 CMSG_PETITION_SIGN = 0x1C0, - SMSG_PETITION_SIGN_RESULTS = 0x1C1, - MSG_PETITION_DECLINE = 0x1C2, + SMSG_PETITION_SIGN_RESULTS = 0xD04E, // 53326 - 4.0.0.12319 + MSG_PETITION_DECLINE = 0x4464, // 17508 - 4.0.0.12319 CMSG_OFFER_PETITION = 0x1C3, CMSG_TURN_IN_PETITION = 0x1C4, - SMSG_TURN_IN_PETITION_RESULTS = 0x1C5, - CMSG_PETITION_QUERY = 0x1C6, - SMSG_PETITION_QUERY_RESPONSE = 0x1C7, - SMSG_FISH_NOT_HOOKED = 0x1C8, - SMSG_FISH_ESCAPED = 0x1C9, + SMSG_TURN_IN_PETITION_RESULTS = 0x1474, // 5236 - 4.0.0.12319 + CMSG_PETITION_QUERY = 0x1232, // 4658 - 4.0.0.12319 + SMSG_PETITION_QUERY_RESPONSE = 0xD61A, // 54810 - 4.0.0.12319 + SMSG_FISH_NOT_HOOKED = 0xD66C, // 54892 - 4.0.0.12319 + SMSG_FISH_ESCAPED = 0xC25E, // 49758 - 4.0.0.12319 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 = 0x1458, // 5208 - 4.0.0.12319 + CMSG_PLAYED_TIME = 0x560E, // 22030 - 4.0.0.12319 + SMSG_PLAYED_TIME = 0x442C, // 17452 - 4.0.0.12319 + CMSG_QUERY_TIME = 0xF967, // 63847 - 4.0.0.12065 + SMSG_QUERY_TIME_RESPONSE = 0x125A, // 4698 - 4.0.0.12319 + SMSG_LOG_XPGAIN = 0x8FE9, // 36841 - 4.0.0.12065 SMSG_AURACASTLOG = 0x1D1, CMSG_RECLAIM_CORPSE = 0x1D2, CMSG_WRAP_ITEM = 0x1D3, - SMSG_LEVELUP_INFO = 0x1D4, - MSG_MINIMAP_PING = 0x1D5, + SMSG_LEVELUP_INFO = 0xC41E, // 50206 - 4.0.0.12319 + MSG_MINIMAP_PING = 0x9424, // 37924 - 4.0.0.12319 SMSG_RESISTLOG = 0x1D6, - SMSG_ENCHANTMENTLOG = 0x1D7, + SMSG_ENCHANTMENTLOG = 0x9434, // 37940 - 4.0.0.12319 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_GAMEOBJECT_PAGETEXT = 0x1DF, + SMSG_START_MIRROR_TIMER = 0x9B6B, // 39787 - 4.0.0.12065 + SMSG_PAUSE_MIRROR_TIMER = 0x9DE5, // 40421 - 4.0.0.12065 + SMSG_STOP_MIRROR_TIMER = 0x7B65, // 31589 - 4.0.0.12065 + CMSG_PING = 0x7FE5, // 32741 - 4.0.0.12065 + SMSG_PONG = 0xDD61, // 56673 - 4.0.0.12065 + SMSG_CLEAR_COOLDOWN = 0x5220, // 21024 - 4.0.0.12319 + SMSG_GAMEOBJECT_PAGETEXT = 0x8436, // 33846 - 4.0.0.12319 CMSG_SETSHEATHED = 0x1E0, - SMSG_COOLDOWN_CHEAT = 0x1E1, - SMSG_SPELL_DELAYED = 0x1E2, + SMSG_COOLDOWN_CHEAT = 0xD650, // 54864 - 4.0.0.12319 + SMSG_SPELL_DELAYED = 0x9208, // 37384 - 4.0.0.12319 CMSG_QUEST_POI_QUERY = 0x1E3, - SMSG_QUEST_POI_QUERY_RESPONSE = 0x1E4, + SMSG_QUEST_POI_QUERY_RESPONSE = 0xD266, // 53862 - 4.0.0.12319 CMSG_GHOST = 0x1E5, CMSG_GM_INVIS = 0x1E6, - SMSG_INVALID_PROMOTION_CODE = 0x1E7, + SMSG_INVALID_PROMOTION_CODE = 0xF9E4, // 63972 - 4.0.0.12065 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_ITEM_TIME_UPDATE = 0x9678, // 38520 - 4.0.0.12319 + SMSG_ITEM_ENCHANT_TIME_UPDATE = 0x5668, // 22120 - 4.0.0.12319 + SMSG_AUTH_CHALLENGE = 0x8924, // 35108 - 4.0.0.12319 + CMSG_AUTH_SESSION = 0xA000, // 40960 - 4.0.0.12319 + SMSG_AUTH_RESPONSE = 0x442, // 1090 - 4.0.0.12319 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_PARTYKILLLOG = 0x1F5, - SMSG_COMPRESSED_UPDATE_OBJECT = 0x1F6, - SMSG_PLAY_SPELL_IMPACT = 0x1F7, - SMSG_EXPLORATION_EXPERIENCE = 0x1F8, + CMSG_PET_CAST_SPELL = 0x965A, // 38490 - 4.0.0.12319 + MSG_SAVE_GUILD_EMBLEM = 0x863C, // 34364 - 4.0.0.12319 + MSG_TABARDVENDOR_ACTIVATE = 0x4648, // 17992 - 4.0.0.12319 + SMSG_PLAY_SPELL_VISUAL = 0xC222, // 49698 - 4.0.0.12319 + CMSG_ZONEUPDATE = 0x526E, // 21102 - 4.0.0.12319 + SMSG_PARTYKILLLOG = 0x9608, // 38408 - 4.0.0.12319 + SMSG_COMPRESSED_UPDATE_OBJECT = 0x9468, // 37992 - 4.0.0.12319 + SMSG_PLAY_SPELL_IMPACT = 0x001C, // 28 - 4.0.0.12319 + SMSG_EXPLORATION_EXPERIENCE = 0x863A, // 34362 - 4.0.0.12319 CMSG_GM_SET_SECURITY_GROUP = 0x1F9, CMSG_GM_NUKE = 0x1FA, - MSG_RANDOM_ROLL = 0x1FB, - SMSG_ENVIRONMENTALDAMAGELOG = 0x1FC, + MSG_RANDOM_ROLL = 0x5652, // 22098 - 4.0.0.12319 + SMSG_ENVIRONMENTALDAMAGELOG = 0x1054, // 4180 - 4.0.0.12319 CMSG_PLAYER_DIFFICULTY_CHANGE = 0x1FD, - SMSG_RWHOIS = 0x1FE, - SMSG_LFG_PLAYER_REWARD = 0x1FF, // uint32, uint8, uint32, uint32, uint32, uint32, uint32, uint8, for(uint8) {uint32,uint32,uint32} - SMSG_LFG_TELEPORT_DENIED = 0x200, // uint32 (1,2,4,6;0,5,7) + SMSG_RWHOIS = 0x9022, // 36898 - 4.0.0.12319 + SMSG_LFG_PLAYER_REWARD = 0xC418, // 50200 - 4.0.0.12319, uint32, uint8, uint32, uint32, uint32, uint32, uint32, uint8, for(uint8) {uint32,uint32,uint32} + SMSG_LFG_TELEPORT_DENIED = 0xC04A, // 49226 - 4.0.0.12319, uint32 (1,2,4,6;0,5,7) CMSG_UNLEARN_SPELL = 0x201, CMSG_UNLEARN_SKILL = 0x202, - SMSG_REMOVED_SPELL = 0x203, + SMSG_REMOVED_SPELL = 0x4440, // 17472 - 4.0.0.12319 CMSG_DECHARGE = 0x204, - CMSG_GMTICKET_CREATE = 0x205, - SMSG_GMTICKET_CREATE = 0x206, + CMSG_GMTICKET_CREATE = 0x122A, // 4650 - 4.0.0.12319 + SMSG_GMTICKET_CREATE = 0x5432, // 21554 - 4.0.0.12319 CMSG_GMTICKET_UPDATETEXT = 0x207, - SMSG_GMTICKET_UPDATETEXT = 0x208, - SMSG_ACCOUNT_DATA_TIMES = 0x209, + SMSG_GMTICKET_UPDATETEXT = 0x5404, // 21508 - 4.0.0.12319 + SMSG_ACCOUNT_DATA_TIMES = 0xD632, // 54834 - 4.0.0.12319 CMSG_REQUEST_ACCOUNT_DATA = 0x20A, - CMSG_UPDATE_ACCOUNT_DATA = 0x20B, - SMSG_UPDATE_ACCOUNT_DATA = 0x20C, - SMSG_CLEAR_FAR_SIGHT_IMMEDIATE = 0x20D, + CMSG_UPDATE_ACCOUNT_DATA = 0x9622, // 38434 - 4.0.0.12319 + SMSG_UPDATE_ACCOUNT_DATA = 0xD442, // 54338 - 4.0.0.12319 + SMSG_CLEAR_FAR_SIGHT_IMMEDIATE = 0xC45C, // 50268 - 4.0.0.12319 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 = 0x822C, // 33324 - 4.0.0.12319 + SMSG_GMTICKET_GETTICKET = 0x546C, // 21612 - 4.0.0.12319 CMSG_UNLEARN_TALENTS = 0x213, - SMSG_GAMEOBJECT_SPAWN_ANIM_OBSOLETE = 0x214, - SMSG_GAMEOBJECT_DESPAWN_ANIM = 0x215, - MSG_CORPSE_QUERY = 0x216, + SMSG_GAMEOBJECT_SPAWN_ANIM_OBSOLETE = 0x924C, // 37452 - 4.0.0.12319 + SMSG_GAMEOBJECT_DESPAWN_ANIM = 0x460C, // 17932 - 4.0.0.12319 + MSG_CORPSE_QUERY = 0x502E, // 20526 - 4.0.0.12319 CMSG_GMTICKET_DELETETICKET = 0x217, - SMSG_GMTICKET_DELETETICKET = 0x218, - SMSG_CHAT_WRONG_FACTION = 0x219, + SMSG_GMTICKET_DELETETICKET = 0x8056, // 32854 - 4.0.0.12319 + SMSG_CHAT_WRONG_FACTION = 0xD05A, // 53338 - 4.0.0.12319 CMSG_GMTICKET_SYSTEMSTATUS = 0x21A, - SMSG_GMTICKET_SYSTEMSTATUS = 0x21B, + SMSG_GMTICKET_SYSTEMSTATUS = 0x1076, // 4214 - 4.0.0.12319 CMSG_SPIRIT_HEALER_ACTIVATE = 0x21C, CMSG_SET_STAT_CHEAT = 0x21D, - SMSG_QUEST_FORCE_REMOVE = 0x21E, // uint32 questid + SMSG_QUEST_FORCE_REMOVED = 0xD61E, // 54814 - 4.0.0.12319, uint32 questid CMSG_SKILL_BUY_STEP = 0x21F, CMSG_SKILL_BUY_RANK = 0x220, CMSG_XP_CHEAT = 0x221, - SMSG_SPIRIT_HEALER_CONFIRM = 0x222, + SMSG_SPIRIT_HEALER_CONFIRM = 0x8410, // 33808 - 4.0.0.12319 CMSG_CHARACTER_POINT_CHEAT = 0x223, - SMSG_GOSSIP_POI = 0x224, + SMSG_GOSSIP_POI = 0x1464, // 5220 - 4.0.0.12319 CMSG_CHAT_IGNORED = 0x225, CMSG_GM_VISION = 0x226, CMSG_SERVER_COMMAND = 0x227, @@ -593,84 +593,84 @@ 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, // 52199 - 4.0.0.12065 + SMSG_GM_PLAYER_INFO = 0x5DE0, // 24032 - 4.0.0.12065 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 = 0x5612, // 22034 - 4.0.0.12319 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, - SMSG_BATTLEFIELD_LIST = 0x23D, - CMSG_BATTLEFIELD_JOIN = 0x23E, - SMSG_BATTLEFIELD_WIN_OBSOLETE = 0x23F, - SMSG_BATTLEFIELD_LOSE_OBSOLETE = 0x240, + CMSG_SEND_MAIL = 0x9224, // 37412 - 4.0.0.12319 + SMSG_SEND_MAIL_RESULT = 0x001A, // 26 - 4.0.0.12319 + CMSG_GET_MAIL_LIST = 0xD262, // 53858 - 4.0.0.12319 + SMSG_MAIL_LIST_RESULT = 0x5224, // 21028 - 4.0.0.12319 + CMSG_BATTLEFIELD_LIST = 0x9620, // 38432 - 4.0.0.12319 + SMSG_BATTLEFIELD_LIST = 0x1678, // 5752 - 4.0.0.12319 + CMSG_BATTLEFIELD_JOIN = 0x4632, // 17970 - 4.0.0.12319 + SMSG_BATTLEFIELD_WIN_OBSOLETE = 0xD01C, // 53276 - 4.0.0.12319 + SMSG_BATTLEFIELD_LOSE_OBSOLETE = 0xC27A, // 49786 - 4.0.0.12319 CMSG_TAXICLEARNODE = 0x241, CMSG_TAXIENABLENODE = 0x242, - CMSG_ITEM_TEXT_QUERY = 0x243, - SMSG_ITEM_TEXT_QUERY_RESPONSE = 0x244, - CMSG_MAIL_TAKE_MONEY = 0x245, - CMSG_MAIL_TAKE_ITEM = 0x246, + CMSG_ITEM_TEXT_QUERY = 0x0456, // 1110 - 4.0.0.12319 + SMSG_ITEM_TEXT_QUERY_RESPONSE = 0xD252, // 53842 - 4.0.0.12319 + CMSG_MAIL_TAKE_MONEY = 0x020E, // 526 - 4.0.0.12319 + CMSG_MAIL_TAKE_ITEM = 0xC216, // 49686 - 4.0.0.12319 CMSG_MAIL_MARK_AS_READ = 0x247, - CMSG_MAIL_RETURN_TO_SENDER = 0x248, - CMSG_MAIL_DELETE = 0x249, - CMSG_MAIL_CREATE_TEXT_ITEM = 0x24A, - SMSG_SPELLLOGMISS = 0x24B, - SMSG_SPELLLOGEXECUTE = 0x24C, + CMSG_MAIL_RETURN_TO_SENDER = 0xC648, // 50760 - 4.0.0.12319 + CMSG_MAIL_DELETE = 0x0240, // 576 - 4.0.0.12319 + CMSG_MAIL_CREATE_TEXT_ITEM = 0xD46E, // 54382 - 4.0.0.12319 + SMSG_SPELLLOGMISS = 0x67C, // 1660 - 4.0.0.12319 + SMSG_SPELLLOGEXECUTE = 0x004D, // 77 - 4.0.0.12319 SMSG_DEBUGAURAPROC = 0x24D, - SMSG_PERIODICAURALOG = 0x24E, - SMSG_SPELLDAMAGESHIELD = 0x24F, - SMSG_SPELLNONMELEEDAMAGELOG = 0x250, - CMSG_LEARN_TALENT = 0x251, - SMSG_RESURRECT_FAILED = 0x252, - CMSG_TOGGLE_PVP = 0x253, - SMSG_ZONE_UNDER_ATTACK = 0x254, - MSG_AUCTION_HELLO = 0x255, + SMSG_PERIODICAURALOG = 0x101C, // 4124 - 4.0.0.12319 + SMSG_SPELLDAMAGESHIELD = 0xC240, // 49728 - 4.0.0.12319 + SMSG_SPELLNONMELEEDAMAGELOG = 0x1466, // 5222 - 4.0.0.12319 + CMSG_LEARN_TALENT = 0xD028, // 53288 - 4.0.0.12319 + SMSG_RESURRECT_FAILED = 0x565C, // 22108 - 4.0.0.12319 + CMSG_TOGGLE_PVP = 0x4448, // 17480 - 4.0.0.12319 + SMSG_ZONE_UNDER_ATTACK = 0x6B6F, // 27503 - 4.0.0.12065 + MSG_AUCTION_HELLO = 0x0438, // 1080 - 4.0.0.12319 CMSG_AUCTION_SELL_ITEM = 0x256, CMSG_AUCTION_REMOVE_ITEM = 0x257, CMSG_AUCTION_LIST_ITEMS = 0x258, CMSG_AUCTION_LIST_OWNER_ITEMS = 0x259, CMSG_AUCTION_PLACE_BID = 0x25A, - SMSG_AUCTION_COMMAND_RESULT = 0x25B, - SMSG_AUCTION_LIST_RESULT = 0x25C, - SMSG_AUCTION_OWNER_LIST_RESULT = 0x25D, - SMSG_AUCTION_BIDDER_NOTIFICATION = 0x25E, - SMSG_AUCTION_OWNER_NOTIFICATION = 0x25F, - SMSG_PROCRESIST = 0x260, - SMSG_STANDSTATE_CHANGE_FAILURE_OBSOLETE = 0x261, - SMSG_DISPEL_FAILED = 0x262, - SMSG_SPELLORDAMAGE_IMMUNE = 0x263, + SMSG_AUCTION_COMMAND_RESULT = 0x9032, // 36914 - 4.0.0.12319 + SMSG_AUCTION_LIST_RESULT = 0x4040, // 16448 - 4.0.0.12319 + SMSG_AUCTION_OWNER_LIST_RESULT = 0x126A, // 4714 - 4.0.0.12319 + SMSG_AUCTION_BIDDER_NOTIFICATION = 0x900E, // 36878 - 4.0.0.12319 + SMSG_AUCTION_OWNER_NOTIFICATION = 0xC60C, // 50700 - 4.0.0.12319 + SMSG_PROCRESIST = 0x8662, // 34402 - 4.0.0.12319 + SMSG_STANDSTATE_CHANGE_FAILURE_OBSOLETE = 0x9234, // 37428 - 4.0.0.12319 + SMSG_DISPEL_FAILED = 0x9210, // 37392 - 4.0.0.12319 + SMSG_SPELLORDAMAGE_IMMUNE = 0x4032, // 16434 - 4.0.0.12319 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_AUCTION_BIDDER_LIST_RESULT = 0x9246u, // 37446 - 4.0.0.12319 + SMSG_SET_FLAT_SPELL_MODIFIER = 0x504A, // 20554 - 4.0.0.12319 + SMSG_SET_PCT_SPELL_MODIFIER = 0x4672, // 18034 - 4.0.0.12319 CMSG_SET_AMMO = 0x268, - SMSG_CORPSE_RECLAIM_DELAY = 0x269, - CMSG_SET_ACTIVE_MOVER = 0x26A, + SMSG_CORPSE_RECLAIM_DELAY = 0xFBEC, // 64492 - 4.0.0.12065 + CMSG_SET_ACTIVE_MOVER = 0xC64A, // 50762 - 4.0.0.12319 CMSG_PET_CANCEL_AURA = 0x26B, CMSG_PLAYER_AI_CHEAT = 0x26C, CMSG_CANCEL_AUTO_REPEAT_SPELL = 0x26D, MSG_GM_ACCOUNT_ONLINE = 0x26E, - MSG_LIST_STABLED_PETS = 0x26F, + MSG_LIST_STABLED_PETS = 0xD272, // 53874 - 4.0.0.12319 CMSG_STABLE_PET = 0x270, CMSG_UNSTABLE_PET = 0x271, CMSG_BUY_STABLE_SLOT = 0x272, - SMSG_STABLE_RESULT = 0x273, + SMSG_STABLE_RESULT = 0x4600, // 17920 - 4.0.0.12319 CMSG_STABLE_REVIVE_PET = 0x274, CMSG_STABLE_SWAP_PET = 0x275, - MSG_QUEST_PUSH_RESULT = 0x276, - SMSG_PLAY_MUSIC = 0x277, - SMSG_PLAY_OBJECT_SOUND = 0x278, + MSG_QUEST_PUSH_RESULT = 0x1240, // 4672 - 4.0.0.12319 + SMSG_PLAY_MUSIC = 0xCBE7, // 52199 - 4.0.0.12065 + SMSG_PLAY_OBJECT_SOUND = 0x396B, // 14699 - 4.0.0.12065 CMSG_REQUEST_PET_INFO = 0x279, CMSG_FAR_SIGHT = 0x27A, - SMSG_SPELLDISPELLOG = 0x27B, - SMSG_DAMAGE_CALC_LOG = 0x27C, + SMSG_SPELLDISPELLOG = 0x1468, // 5224 - 4.0.0.12319 + SMSG_DAMAGE_CALC_LOG = 0xC470, // 50288 - 4.0.0.12319 CMSG_ENABLE_DAMAGE_LOG = 0x27D, CMSG_GROUP_CHANGE_SUB_GROUP = 0x27E, CMSG_REQUEST_PARTY_MEMBER_STATS = 0x27F, @@ -678,310 +678,310 @@ enum Opcodes CMSG_RESET_FACTION_CHEAT = 0x281, CMSG_AUTOSTORE_BANK_ITEM = 0x282, CMSG_AUTOBANK_ITEM = 0x283, - MSG_QUERY_NEXT_MAIL_TIME = 0x284, - SMSG_RECEIVED_MAIL = 0x285, - SMSG_RAID_GROUP_ONLY = 0x286, + MSG_QUERY_NEXT_MAIL_TIME = 0x503A, // 20538 - 4.0.0.12319 + SMSG_RECEIVED_MAIL = 0x4630, // 17968 - 4.0.0.12319 + SMSG_RAID_GROUP_ONLY = 0xC026, // 49190 - 4.0.0.12319 CMSG_SET_DURABILITY_CHEAT = 0x287, CMSG_SET_PVP_RANK_CHEAT = 0x288, CMSG_ADD_PVP_MEDAL_CHEAT = 0x289, CMSG_DEL_PVP_MEDAL_CHEAT = 0x28A, CMSG_SET_PVP_TITLE = 0x28B, - SMSG_PVP_CREDIT = 0x28C, - SMSG_AUCTION_REMOVED_NOTIFICATION = 0x28D, + SMSG_PVP_CREDIT = 0xDF61, // 57185 - 4.0.0.12065 + SMSG_AUCTION_REMOVED_NOTIFICATION = 0x567C, // 22140 - 4.0.0.12319 CMSG_GROUP_RAID_CONVERT = 0x28E, CMSG_GROUP_ASSISTANT_LEADER = 0x28F, CMSG_BUYBACK_ITEM = 0x290, - SMSG_SERVER_MESSAGE = 0x291, - 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 - SMSG_MEETINGSTONE_COMPLETE = 0x297, // mail open from gossip?, EVENT_MAIL_SHOW - SMSG_MEETINGSTONE_IN_PROGRESS = 0x298, // 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) + SMSG_SERVER_MESSAGE = 0x4DE3, // 19939 - 4.0.0.12065 + CMSG_SET_SAVED_INSTANCE_EXTEND = 0x292, // lua: SetSavedInstanceExtend + SMSG_LFG_OFFER_CONTINUE = 0xD638, // 54840 - 4.0.0.12319 + CMSG_MEETINGSTONE_CHEAT = 0x294, // not found 3.3 + SMSG_MEETINGSTONE_SETQUEUE = 0x925A, // 37466 - 4.0.0.12319, string, showed in console + CMSG_MEETINGSTONE_INFO = 0x463C, // 17980 - 4.0.0.12319, EVENT_LFG_UPDATE + SMSG_MEETINGSTONE_COMPLETE = 0x144E, // 5198 - 4.0.0.12319, mail open from gossip?, EVENT_MAIL_SHOW + SMSG_MEETINGSTONE_IN_PROGRESS = 0x36BD, // 14013 - 4.0.0.12065, uint32, some UPDATE_COOLDOWN events + SMSG_MEETINGSTONE_MEMBER_ADDED = 0xC430, // 50224 - 4.0.0.12319, 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_LOOT_ALL_PASSED = 0x29E, - SMSG_LOOT_ROLL_WON = 0x29F, + SMSG_CANCEL_AUTO_REPEAT = 0x4228, // 16936 - 4.0.0.12319 + SMSG_STANDSTATE_UPDATE = 0x448, // 1096 - 4.0.0.12319 + SMSG_LOOT_ALL_PASSED = 0x5250, // 21072 - 4.0.0.12319 + SMSG_LOOT_ROLL_WON = 0x5022, // 20514 - 4.0.0.12319 CMSG_LOOT_ROLL = 0x2A0, - SMSG_LOOT_START_ROLL = 0x2A1, - SMSG_LOOT_ROLL = 0x2A2, + SMSG_LOOT_START_ROLL = 0x7C, // 124 - 4.0.0.12319 + SMSG_LOOT_ROLL = 0x542A, // 21546 - 4.0.0.12319 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_LOOT_MASTER_LIST = 0xD25E, // 53854 - 4.0.0.12319 + SMSG_SET_FORCED_REACTIONS = 0x162A, // 5674 - 4.0.0.12319 + SMSG_SPELL_FAILED_OTHER = 0x545A, // 21594 - 4.0.0.12319 + SMSG_GAMEOBJECT_RESET_STATE = 0x466C, // 18028 - 4.0.0.12319 CMSG_REPAIR_ITEM = 0x2A8, - SMSG_CHAT_PLAYER_NOT_FOUND = 0x2A9, - MSG_TALENT_WIPE_CONFIRM = 0x2AA, - SMSG_SUMMON_REQUEST = 0x2AB, + SMSG_CHAT_PLAYER_NOT_FOUND = 0x4274, // 17012 - 4.0.0.12319 + MSG_TALENT_WIPE_CONFIRM = 0x652, // 1618 - 4.0.0.12319 + SMSG_SUMMON_REQUEST = 0xD404, // 54276 - 4.0.0.12319 CMSG_SUMMON_RESPONSE = 0x2AC, MSG_MOVE_TOGGLE_GRAVITY_CHEAT = 0x2AD, - SMSG_MONSTER_MOVE_TRANSPORT = 0x2AE, - SMSG_PET_BROKEN = 0x2AF, - MSG_MOVE_FEATHER_FALL = 0x2B0, - MSG_MOVE_WATER_WALK = 0x2B1, + SMSG_MONSTER_MOVE_TRANSPORT = 0x966A, // 38506 - 4.0.0.12319 + SMSG_PET_BROKEN = 0x404C, // 16460 - 4.0.0.12319 + MSG_MOVE_FEATHER_FALL = 0x5234, // 21044 - 4.0.0.12319 + MSG_MOVE_WATER_WALK = 0x646, // 1606 - 4.0.0.12319 CMSG_SERVER_BROADCAST = 0x2B2, CMSG_SELF_RES = 0x2B3, - SMSG_FEIGN_DEATH_RESISTED = 0x2B4, + SMSG_FEIGN_DEATH_RESISTED = 0x424, // 1060 - 4.0.0.12319 CMSG_RUN_SCRIPT = 0x2B5, SMSG_SCRIPT_MESSAGE = 0x2B6, - SMSG_DUEL_COUNTDOWN = 0x2B7, - SMSG_AREA_TRIGGER_MESSAGE = 0x2B8, - CMSG_SHOWING_HELM = 0x2B9, - CMSG_SHOWING_CLOAK = 0x2BA, - SMSG_LFG_ROLE_CHOSEN = 0x2BB, - SMSG_PLAYER_SKINNED = 0x2BC, - SMSG_DURABILITY_DAMAGE_DEATH = 0x2BD, + SMSG_DUEL_COUNTDOWN = 0x0628, // 1576 - 4.0.0.12319 + SMSG_AREA_TRIGGER_MESSAGE = 0x6DE3, // 28131 - 4.0.0.12065 + CMSG_SHOWING_HELM = 0xD670, // 54896 - 4.0.0.12319 + CMSG_SHOWING_CLOAK = 0x0014, // 20 - 4.0.0.12319 + SMSG_LFG_ROLE_CHOSEN = 0x5014, // 20500 - 4.0.0.12319 + SMSG_PLAYER_SKINNED = 0xC622, // 50722 - 4.0.0.12319 + SMSG_DURABILITY_DAMAGE_DEATH = 0x2B60, // 11104 - 4.0.0.12065 CMSG_SET_EXPLORATION = 0x2BE, - CMSG_SET_ACTIONBAR_TOGGLES = 0x2BF, + CMSG_SET_ACTIONBAR_TOGGLES = 0x904E, // 36942 - 4.0.0.12319 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_PET_ACTION_FEEDBACK = 0x2C6, + MSG_PETITION_RENAME = 0x4078, // 16504 - 4.0.0.12319 + SMSG_INIT_WORLD_STATES = 0x8406, // 33798 - 4.0.0.12319 + SMSG_UPDATE_WORLD_STATE = 0x4672, // 18034 - 4.0.0.12319 + CMSG_ITEM_NAME_QUERY = 0xD40E, // 54286 - 4.0.0.12319 + SMSG_ITEM_NAME_QUERY_RESPONSE = 0x104A, // 4170 - 4.0.0.12319 + SMSG_PET_ACTION_FEEDBACK = 0x5068, // 20584 - 4.0.0.12319 CMSG_CHAR_RENAME = 0x2C7, - SMSG_CHAR_RENAME = 0x2C8, + SMSG_CHAR_RENAME = 0x8210, // 33296 - 4.0.0.12319 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, - CMSG_MOVE_FEATHER_FALL_ACK = 0x2CF, - CMSG_MOVE_WATER_WALK_ACK = 0x2D0, + SMSG_RAID_INSTANCE_INFO = 0x9960, // 39264 - 4.0.0.12065 + CMSG_REQUEST_RAID_INFO = 0xD22A, // 53802 - 4.0.0.12319 + CMSG_MOVE_TIME_SKIPPED = 0x125C, // 4700 - 4.0.0.12319 + CMSG_MOVE_FEATHER_FALL_ACK = 0x4412, // 17426 - 4.0.0.12319 + CMSG_MOVE_WATER_WALK_ACK = 0x0658, // 1624 - 4.0.0.12319 CMSG_MOVE_NOT_ACTIVE_MOVER = 0x2D1, - SMSG_PLAY_SOUND = 0x2D2, - CMSG_BATTLEFIELD_STATUS = 0x2D3, - SMSG_BATTLEFIELD_STATUS = 0x2D4, + SMSG_PLAY_SOUND = 0x0278, // 632 - 4.0.0.12319 + CMSG_BATTLEFIELD_STATUS = 0x023A, // 570 - 4.0.0.12319 + SMSG_BATTLEFIELD_STATUS = 0xD016, // 53270 - 4.0.0.12319 CMSG_BATTLEFIELD_PORT = 0x2D5, - MSG_INSPECT_HONOR_STATS = 0x2D6, + MSG_INSPECT_HONOR_STATS = 0x0062, // 98 - 4.0.0.12319 CMSG_BATTLEMASTER_HELLO = 0x2D7, CMSG_MOVE_START_SWIM_CHEAT = 0x2D8, CMSG_MOVE_STOP_SWIM_CHEAT = 0x2D9, - SMSG_FORCE_WALK_SPEED_CHANGE = 0x2DA, - CMSG_FORCE_WALK_SPEED_CHANGE_ACK = 0x2DB, - SMSG_FORCE_SWIM_BACK_SPEED_CHANGE = 0x2DC, - CMSG_FORCE_SWIM_BACK_SPEED_CHANGE_ACK = 0x2DD, - SMSG_FORCE_TURN_RATE_CHANGE = 0x2DE, - CMSG_FORCE_TURN_RATE_CHANGE_ACK = 0x2DF, - MSG_PVP_LOG_DATA = 0x2E0, + SMSG_FORCE_WALK_SPEED_CHANGE = 0x5226, // 21030 - 4.0.0.12319 + CMSG_FORCE_WALK_SPEED_CHANGE_ACK = 0x802A, // 32810 - 4.0.0.12319 + SMSG_FORCE_SWIM_BACK_SPEED_CHANGE = 0x8458, // 33880 - 4.0.0.12319 + CMSG_FORCE_SWIM_BACK_SPEED_CHANGE_ACK = 0x103C, // 4156 - 4.0.0.12319 + SMSG_FORCE_TURN_RATE_CHANGE = 0x945E, // 37982 - 4.0.0.12319 + CMSG_FORCE_TURN_RATE_CHANGE_ACK = 0x4022, // 16418 - 4.0.0.12319 + MSG_PVP_LOG_DATA = 0x1674, // 5748 - 4.0.0.12319 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, // 11758 - 4.0.0.12065 CMSG_GM_UNTEACH = 0x2E5, - SMSG_WARDEN_DATA = 0x2E6, + SMSG_WARDEN_DATA = 0x1026, // 4134 - 4.0.0.12319 CMSG_WARDEN_DATA = 0x2E7, - SMSG_GROUP_JOINED_BATTLEGROUND = 0x2E8, - MSG_BATTLEGROUND_PLAYER_POSITIONS = 0x2E9, + SMSG_GROUP_JOINED_BATTLEGROUND = 0xD204, // 53764 - 4.0.0.12319 + MSG_BATTLEGROUND_PLAYER_POSITIONS = 0xD60C, // 54796 - 4.0.0.12319 CMSG_PET_STOP_ATTACK = 0x2EA, - SMSG_BINDER_CONFIRM = 0x2EB, - SMSG_BATTLEGROUND_PLAYER_JOINED = 0x2EC, - SMSG_BATTLEGROUND_PLAYER_LEFT = 0x2ED, + SMSG_BINDER_CONFIRM = 0x162E, // 5678 - 4.0.0.12319 + SMSG_BATTLEGROUND_PLAYER_JOINED = 0x865C, // 34396 - 4.0.0.12319 + SMSG_BATTLEGROUND_PLAYER_LEFT = 0x4052, // 16466 - 4.0.0.12319 CMSG_BATTLEMASTER_JOIN = 0x2EE, - SMSG_ADDON_INFO = 0x2EF, + SMSG_ADDON_INFO = 0xD074, // 53364 - 4.0.0.12319 CMSG_PET_UNLEARN = 0x2F0, SMSG_PET_UNLEARN_CONFIRM = 0x2F1, - SMSG_PARTY_MEMBER_STATS_FULL = 0x2F2, + SMSG_PARTY_MEMBER_STATS_FULL = 0x1212, // 4626 - 4.0.0.12319 CMSG_PET_SPELL_AUTOCAST = 0x2F3, - SMSG_WEATHER = 0x2F4, - SMSG_PLAY_TIME_WARNING = 0x2F5, - SMSG_MINIGAME_SETUP = 0x2F6, - SMSG_MINIGAME_STATE = 0x2F7, - CMSG_MINIGAME_MOVE = 0x2F8, + SMSG_WEATHER = 0xDF61, // 57185 - 4.0.0.12065 + SMSG_PLAY_TIME_WARNING = 0x5418, // 21528 - 4.0.0.12319 + SMSG_MINIGAME_SETUP = 0xD660, // 54880 - 4.0.0.12319 + SMSG_MINIGAME_STATE = 0x526C, // 21100 - 4.0.0.12319 + CMSG_MINIGAME_MOVE = 0x802C, // 32812 - 4.0.0.12319 SMSG_MINIGAME_MOVE_FAILED = 0x2F9, - SMSG_RAID_INSTANCE_MESSAGE = 0x2FA, - SMSG_COMPRESSED_MOVES = 0x2FB, + SMSG_RAID_INSTANCE_MESSAGE = 0xD969, // 55657 - 4.0.0.12065 + SMSG_COMPRESSED_MOVES = 0xD240, // 53824 - 4.0.0.12319 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_CHAT_RESTRICTED = 0x8034, // 32820 - 4.0.0.12319 + SMSG_SPLINE_SET_RUN_SPEED = 0x901A, // 36890 - 4.0.0.12319 + SMSG_SPLINE_SET_RUN_BACK_SPEED = 0x670, // 1648 - 4.0.0.12319 + SMSG_SPLINE_SET_SWIM_SPEED = 0x8020, // 32800 - 4.0.0.12319 + SMSG_SPLINE_SET_WALK_SPEED = 0xD64C, // 54860 - 4.0.0.12319 + SMSG_SPLINE_SET_SWIM_BACK_SPEED = 0x160C, // 5644 - 4.0.0.12319 + SMSG_SPLINE_SET_TURN_RATE = 0xC06E, // 49262 - 4.0.0.12319 + SMSG_SPLINE_MOVE_UNROOT = 0xD07A, // 53370 - 4.0.0.12319 + SMSG_SPLINE_MOVE_FEATHER_FALL = 0xC43A, // 50234 - 4.0.0.12319 + SMSG_SPLINE_MOVE_NORMAL_FALL = 0x8248, // 33352 - 4.0.0.12319 + SMSG_SPLINE_MOVE_SET_HOVER = 0x4250, // 16976 - 4.0.0.12319 + SMSG_SPLINE_MOVE_UNSET_HOVER = 0x1406, // 5126 - 4.0.0.12319 + SMSG_SPLINE_MOVE_WATER_WALK = 0x566C, // 22124 - 4.0.0.12319 + SMSG_SPLINE_MOVE_LAND_WALK = 0x668, // 1640 - 4.0.0.12319 + SMSG_SPLINE_MOVE_START_SWIM = 0x8644, // 34372 - 4.0.0.12319 + SMSG_SPLINE_MOVE_STOP_SWIM = 0xC05A, // 49242 - 4.0.0.12319 + SMSG_SPLINE_MOVE_SET_RUN_MODE = 0xD430, // 54320 - 4.0.0.12319 + SMSG_SPLINE_MOVE_SET_WALK_MODE = 0x1638, // 5688 - 4.0.0.12319 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 = 0x5258, // 21080 - 4.0.0.12319 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 = 0x9030, // 36912 - 4.0.0.12319 + CMSG_SET_WATCHED_FACTION = 0x1634, // 5684 - 4.0.0.12319 + MSG_MOVE_TIME_SKIPPED = 0x5604, // 22020 - 4.0.0.12319 + SMSG_SPLINE_MOVE_ROOT = 0x843A, // 33850 - 4.0.0.12319 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, - MSG_RAID_TARGET_UPDATE = 0x321, - MSG_RAID_READY_CHECK = 0x322, + SMSG_INVALIDATE_PLAYER = 0x4466, // 17510 - 4.0.0.12319 + CMSG_RESET_INSTANCES = 0x446C, // 17516 - 4.0.0.12319 + SMSG_INSTANCE_RESET = 0xCBEA, // 52202 - 4.0.0.12065 + SMSG_INSTANCE_RESET_FAILED = 0xABE9, // 44009 - 4.0.0.12065 + SMSG_UPDATE_LAST_INSTANCE = 0x2F61, // 12129 - 4.0.0.12065 + MSG_RAID_TARGET_UPDATE = 0x561C, // 22044 - 4.0.0.12319 + MSG_RAID_READY_CHECK = 0x825E, // 33374 - 4.0.0.12319 CMSG_LUA_USAGE = 0x323, - SMSG_PET_ACTION_SOUND = 0x324, - SMSG_PET_DISMISS_SOUND = 0x325, + SMSG_PET_ACTION_SOUND = 0x9000, // 36864 - 4.0.0.12319 + SMSG_PET_DISMISS_SOUND = 0x9428, // 37928 - 4.0.0.12319 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 = 0x5648, // 22088 - 4.0.0.12319 + MSG_SET_DUNGEON_DIFFICULTY = 0x5672, // 22130 - 4.0.0.12319 CMSG_GMSURVEY_SUBMIT = 0x32A, - SMSG_UPDATE_INSTANCE_OWNERSHIP = 0x32B, + SMSG_UPDATE_INSTANCE_OWNERSHIP = 0x4F6B, // 20331 - 4.0.0.12065 CMSG_IGNORE_KNOCKBACK_CHEAT = 0x32C, SMSG_CHAT_PLAYER_AMBIGUOUS = 0x32D, MSG_DELAY_GHOST_TELEPORT = 0x32E, - SMSG_SPELLINSTAKILLLOG = 0x32F, - SMSG_SPELL_UPDATE_CHAIN_TARGETS = 0x330, - CMSG_CHAT_FILTERED = 0x331, - SMSG_EXPECTED_SPAM_RECORDS = 0x332, - SMSG_SPELLSTEALLOG = 0x333, + SMSG_SPELLINSTAKILLLOG = 0x6E, // 110 - 4.0.0.12319 + SMSG_SPELL_UPDATE_CHAIN_TARGETS = 0x43A, // 1082 - 4.0.0.12319 + CMSG_CHAT_FILTERED = 0x9654, // 38484 - 4.0.0.12319 + SMSG_EXPECTED_SPAM_RECORDS = 0x3FE3, // 16355 - 4.0.0.12065 + SMSG_SPELLSTEALLOG = 0xC602, // 50690 - 4.0.0.12319 CMSG_LOTTERY_QUERY_OBSOLETE = 0x334, SMSG_LOTTERY_QUERY_RESULT_OBSOLETE = 0x335, CMSG_BUY_LOTTERY_TICKET_OBSOLETE = 0x336, 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 = 0x8DEB, // 36331 - 4.0.0.12065 + SMSG_INSTANCE_DIFFICULTY = 0x7F60, // 32608 - 4.0.0.12065 MSG_GM_RESETINSTANCELIMIT = 0x33C, - SMSG_MOTD = 0x33D, - SMSG_MOVE_SET_FLIGHT = 0x33E, - SMSG_MOVE_UNSET_FLIGHT = 0x33F, - 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, - CMSG_MOVE_SET_FLY = 0x346, + SMSG_MOTD = 0x5218, // 21016 - 4.0.0.12319 + SMSG_MOVE_SET_FLIGHT = 0x8658, // 34392 - 4.0.0.12319 + SMSG_MOVE_UNSET_FLIGHT = 0x5254, // 21076 - 4.0.0.12319 + CMSG_MOVE_FLIGHT_ACK = 0x9666, // 38502 - 4.0.0.12319 + MSG_MOVE_START_SWIM_CHEAT = 0x60C, // 1548 - 4.0.0.12319 + MSG_MOVE_STOP_SWIM_CHEAT = 0x9462, // 37986 - 4.0.0.12319 + SMSG_MOVE_SET_CAN_FLY = 0xD63C, // 54844 - 4.0.0.12319 + SMSG_MOVE_UNSET_CAN_FLY = 0x5626, // 22054 - 4.0.0.12319 + CMSG_MOVE_SET_CAN_FLY_ACK = 0x1266, // 4710 - 4.0.0.12319 + CMSG_MOVE_SET_FLY = 0x5676, // 22134 - 4.0.0.12319 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, + SMSG_ARENA_TEAM_COMMAND_RESULT = 0x864C, // 34380 - 4.0.0.12319 + UMSG_UPDATE_ARENA_TEAM_OBSOLETE = 0x9258, // 37464 - 4.0.0.12319 + CMSG_ARENA_TEAM_QUERY = 0x5276, // 21110 - 4.0.0.12319 + SMSG_ARENA_TEAM_QUERY_RESPONSE = 0x4262, // 16994 - 4.0.0.12319 CMSG_ARENA_TEAM_ROSTER = 0x34D, - SMSG_ARENA_TEAM_ROSTER = 0x34E, + SMSG_ARENA_TEAM_ROSTER = 0x140C, // 5132 - 4.0.0.12319 CMSG_ARENA_TEAM_INVITE = 0x34F, - SMSG_ARENA_TEAM_INVITE = 0x350, + SMSG_ARENA_TEAM_INVITE = 0x5E, // 94 - 4.0.0.12319 CMSG_ARENA_TEAM_ACCEPT = 0x351, CMSG_ARENA_TEAM_DECLINE = 0x352, CMSG_ARENA_TEAM_LEAVE = 0x353, CMSG_ARENA_TEAM_REMOVE = 0x354, CMSG_ARENA_TEAM_DISBAND = 0x355, CMSG_ARENA_TEAM_LEADER = 0x356, - SMSG_ARENA_TEAM_EVENT = 0x357, + SMSG_ARENA_TEAM_EVENT = 0x4222, // 16930 - 4.0.0.12319 CMSG_BATTLEMASTER_JOIN_ARENA = 0x358, - MSG_MOVE_START_ASCEND = 0x359, - MSG_MOVE_STOP_ASCEND = 0x35A, - SMSG_ARENA_TEAM_STATS = 0x35B, - CMSG_LFG_JOIN = 0x35C, // CMSG JoinLFG - CMSG_LFG_LEAVE = 0x35D, // CMSG LeaveLFG - CMSG_SEARCH_LFG_JOIN = 0x35E, // CMSG SearchLFGJoin - CMSG_SEARCH_LFG_LEAVE = 0x35F, // CMSG SearchLFGLeave - SMSG_UPDATE_LFG_LIST = 0x360, // SMSG uint32, uint32, if(uint8) { uint32 count, for(count) { uint64} }, uint32 count2, uint32, for(count2) { uint64, uint32 flags, if(flags & 0x2) {string}, if(flags & 0x10) {for(3) uint8}, if(flags & 0x80) {uint64, uint32}}, uint32 count3, uint32, for(count3) {uint64, uint32 flags, if(flags & 0x1) {uint8, uint8, uint8, for(3) uint8, uint32, uint32, uint32, uint32, uint32, uint32, float, float, uint32, uint32, uint32, uint32, uint32, float, uint32, uint32, uint32, uint32, uint32, uint32}, if(flags&0x2) string, if(flags&0x4) uint8, if(flags&0x8) uint64, if(flags&0x10) uint8, if(flags&0x20) uint32, if(flags&0x40) uint8, if(flags& 0x80) {uint64, uint32}} - SMSG_LFG_PROPOSAL_UPDATE = 0x361, // SMSG uint32, uint8, uint32, uint32, uint8, for(uint8) {uint32,uint8,uint8,uint8,uint8} - CMSG_LFG_PROPOSAL_RESULT = 0x362, // CMSG AcceptProposal, RejectProposal - SMSG_LFG_ROLE_CHECK_UPDATE = 0x363, // SMSG uint32, uint8, for(uint8) uint32, uint8, for(uint8) { uint64, uint8, uint32, uint8, } - SMSG_LFG_JOIN_RESULT = 0x364, // SMSG uint32 unk, uint32, if(unk==6) { uint8 count, for(count) uint64 } - SMSG_LFG_QUEUE_STATUS = 0x365, // SMSG uint32 dungeon, uint32 lfgtype, uint32, uint32, uint32, uint32, uint8, uint8, uint8, uint8 - CMSG_SET_LFG_COMMENT = 0x366, // CMSG SetLFGComment - SMSG_LFG_UPDATE_PLAYER = 0x367, // SMSG uint8, if(uint8) { uint8, uint8, uint8, uint8, if(uint8) for(uint8) uint32, string} - SMSG_LFG_UPDATE_PARTY = 0x368, // SMSG uint8, if(uint8) { uint8, uint8, uint8, for(3) uint8, uint8, if(uint8) for(uint8) uint32, string} - SMSG_LFG_UPDATE_SEARCH = 0x369, // SMSG uint8 - CMSG_LFG_SET_ROLES = 0x36A, // CMSG SetLFGRoles - 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 - 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, + MSG_MOVE_START_ASCEND = 0x905C, // 36956 - 4.0.0.12319 + MSG_MOVE_STOP_ASCEND = 0x1254, // 4692 - 4.0.0.12319 + SMSG_ARENA_TEAM_STATS = 0x903C, // 36924 - 4.0.0.12319 + CMSG_LFG_JOIN = 0x35C, // CMSG JoinLFG + CMSG_LFG_LEAVE = 0x35D, // CMSG LeaveLFG + CMSG_SEARCH_LFG_JOIN = 0x0478, // 1144 - 4.0.0.12319, CMSG SearchLFGJoin + CMSG_SEARCH_LFG_LEAVE = 0x35F, // CMSG SearchLFGLeave + SMSG_UPDATE_LFG_LIST = 0x8634, // 34356 - 4.0.0.12319, SMSG uint32, uint32, if(uint8) { uint32 count, for(count) { uint64} }, uint32 count2, uint32, for(count2) { uint64, uint32 flags, if(flags & 0x2) {string}, if(flags & 0x10) {for(3) uint8}, if(flags & 0x80) {uint64, uint32}}, uint32 count3, uint32, for(count3) {uint64, uint32 flags, if(flags & 0x1) {uint8, uint8, uint8, for(3) uint8, uint32, uint32, uint32, uint32, uint32, uint32, float, float, uint32, uint32, uint32, uint32, uint32, float, uint32, uint32, uint32, uint32, uint32, uint32}, if(flags&0x2) string, if(flags&0x4) uint8, if(flags&0x8) uint64, if(flags&0x10) uint8, if(flags&0x20) uint32, if(flags&0x40) uint8, if(flags& 0x80) {uint64, uint32}} + SMSG_LFG_PROPOSAL_UPDATE = 0x547E, // 21630 - 4.0.0.12319, SMSG uint32, uint8, uint32, uint32, uint8, for(uint8) {uint32,uint8,uint8,uint8,uint8} + CMSG_LFG_PROPOSAL_RESULT = 0x362, // CMSG AcceptProposal, RejectProposal + SMSG_LFG_ROLE_CHECK_UPDATE = 0xC208, // 49672 - 4.0.0.12319, SMSG uint32, uint8, for(uint8) uint32, uint8, for(uint8) { uint64, uint8, uint32, uint8, } + SMSG_LFG_JOIN_RESULT = 0x800E, // 32782 - 4.0.0.12319, SMSG uint32 unk, uint32, if(unk==6) { uint8 count, for(count) uint64 } + SMSG_LFG_QUEUE_STATUS = 0x8004, // 32772 - 4.0.0.12319, SMSG uint32 dungeon, uint32 lfgtype, uint32, uint32, uint32, uint32, uint8, uint8, uint8, uint8 + CMSG_SET_LFG_COMMENT = 0x366, // CMSG SetLFGComment + SMSG_LFG_UPDATE_PLAYER = 0x4058, // 16472 - 4.0.0.12319, SMSG uint8, if(uint8) { uint8, uint8, uint8, uint8, if(uint8) for(uint8) uint32, string} + SMSG_LFG_UPDATE_PARTY = 0x9264, // 37476 - 4.0.0.12319, SMSG uint8, if(uint8) { uint8, uint8, uint8, for(3) uint8, uint8, if(uint8) for(uint8) uint32, string} + SMSG_LFG_UPDATE_SEARCH = 0xC076, // 49270 - 4.0.0.12319, SMSG uint8 + CMSG_LFG_SET_ROLES = 0x36A, // CMSG SetLFGRoles + CMSG_LFG_SET_NEEDS = 0x36B, // CMSG SetLFGNeeds + CMSG_LFG_SET_BOOT_VOTE = 0x36C, // CMSG SetLFGBootVote + SMSG_LFG_BOOT_PLAYER = 0x5036, // 20534 - 4.0.0.12319, SMSG uint8, uint8, uint8, uint64, uint32, uint32, uint32, uint32 + CMSG_LFD_PLAYER_LOCK_INFO_REQUEST = 0x8440, // 33856 - 4.0.0.12319, CMSG RequestLFDPlayerLockInfo + SMSG_LFG_PLAYER_INFO = 0x8062, // 32866 - 4.0.0.12319, 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 = 0x126C, // 4716 - 4.0.0.12319, CMSG RequestLFDPartyLockInfo + SMSG_LFG_PARTY_INFO = 0xD646, // 54854 - 4.0.0.12319, SMSG uint8, for(uint8) uint64 + SMSG_TITLE_EARNED = 0x3D69, // 15721 - 4.0.0.12065 CMSG_SET_TITLE = 0x374, CMSG_CANCEL_MOUNT_AURA = 0x375, - SMSG_ARENA_ERROR = 0x376, - MSG_INSPECT_ARENA_TEAMS = 0x377, - SMSG_DEATH_RELEASE_LOC = 0x378, + SMSG_ARENA_ERROR = 0x165A, // 5722 - 4.0.0.12319 + MSG_INSPECT_ARENA_TEAMS = 0x0674, // 1652 - 4.0.0.12319 + SMSG_DEATH_RELEASE_LOC = 0xC064, // 49252 - 4.0.0.12319 CMSG_CANCEL_TEMP_ENCHANTMENT = 0x379, - SMSG_FORCED_DEATH_UPDATE = 0x37A, + SMSG_FORCED_DEATH_UPDATE = 0x442E, // 17454 - 4.0.0.12319 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 = 0xC402, // 50178 - 4.0.0.12319 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, - CMSG_FORCE_FLIGHT_BACK_SPEED_CHANGE_ACK = 0x384, - SMSG_SPLINE_SET_FLIGHT_SPEED = 0x385, - SMSG_SPLINE_SET_FLIGHT_BACK_SPEED = 0x386, + MSG_MOVE_SET_FLIGHT_BACK_SPEED = 0x544C, // 21580 - 4.0.0.12319 + SMSG_FORCE_FLIGHT_SPEED_CHANGE = 0x9670, // 38512 - 4.0.0.12319 + CMSG_FORCE_FLIGHT_SPEED_CHANGE_ACK = 0x847E, // 33918 - 4.0.0.12319 + SMSG_FORCE_FLIGHT_BACK_SPEED_CHANGE = 0x1246, // 4678 - 4.0.0.12319 + CMSG_FORCE_FLIGHT_BACK_SPEED_CHANGE_ACK = 0x8060, // 32864 - 4.0.0.12319 + SMSG_SPLINE_SET_FLIGHT_SPEED = 0x220, // 544 - 4.0.0.12319 + SMSG_SPLINE_SET_FLIGHT_BACK_SPEED = 0x964E, // 38478 - 4.0.0.12319 CMSG_MAELSTROM_INVALIDATE_CACHE = 0x387, - SMSG_FLIGHT_SPLINE_SYNC = 0x388, + SMSG_FLIGHT_SPLINE_SYNC = 0x1238, // 4664 - 4.0.0.12319 CMSG_SET_TAXI_BENCHMARK_MODE = 0x389, SMSG_JOINED_BATTLEGROUND_QUEUE = 0x38A, - SMSG_REALM_SPLIT = 0x38B, - CMSG_REALM_SPLIT = 0x38C, + SMSG_REALM_SPLIT = 0x527C, // 21116 - 4.0.0.12319 + CMSG_REALM_SPLIT = 0x8014, // 32788 - 4.0.0.12319 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_OFFER_PETITION_ERROR = 0x806E, // 32878 - 4.0.0.12319 + SMSG_TIME_SYNC_REQ = 0xC65E, // 50782 - 4.0.0.12319 + CMSG_TIME_SYNC_RESP = 0x8610, // 34320 - 4.0.0.12319 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_REAL_GROUP_UPDATE = 0x397, - SMSG_LFG_DISABLED = 0x398, + SMSG_RESET_FAILED_NOTIFY = 0x8B6F, // 35695 - 4.0.0.12065 + SMSG_REAL_GROUP_UPDATE = 0xD67A, // 54906 - 4.0.0.12319 + SMSG_LFG_DISABLED = 0x843C, // 33852 - 4.0.0.12319 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 = 0x824A, // 33354 - 4.0.0.12319 SMSG_CHEAT_DUMP_ITEMS_DEBUG_ONLY_RESPONSE_WRITE_FILE = 0x39C, - SMSG_UPDATE_COMBO_POINTS = 0x39D, - SMSG_VOICE_SESSION_ROSTER_UPDATE = 0x39E, - SMSG_VOICE_SESSION_LEAVE = 0x39F, + SMSG_UPDATE_COMBO_POINTS = 0x0B6B, // 2923 - 4.0.0.12065 + SMSG_VOICE_SESSION_ROSTER_UPDATE = 0x944C, // 37964 - 4.0.0.12319 + SMSG_VOICE_SESSION_LEAVE = 0x4010, // 16400 - 4.0.0.12319 SMSG_VOICE_SESSION_ADJUST_PRIORITY = 0x3A0, CMSG_VOICE_SET_TALKER_MUTED_REQUEST = 0x3A1, - SMSG_VOICE_SET_TALKER_MUTED = 0x3A2, + SMSG_VOICE_SET_TALKER_MUTED = 0x1278, // 4728 - 4.0.0.12319 SMSG_INIT_EXTRA_AURA_INFO_OBSOLETE = 0x3A3, 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 = 0x9400, // 37888 - 4.0.0.12319 CMSG_IGNORE_REQUIREMENTS_CHEAT = 0x3A8, - SMSG_IGNORE_REQUIREMENTS_CHEAT = 0x3A9, + SMSG_IGNORE_REQUIREMENTS_CHEAT = 0x8416, // 33814 - 4.0.0.12319 SMSG_SPELL_CHANCE_PROC_LOG = 0x3AA, CMSG_MOVE_SET_RUN_SPEED = 0x3AB, - SMSG_DISMOUNT = 0x3AC, - MSG_MOVE_UPDATE_CAN_FLY = 0x3AD, - MSG_RAID_READY_CHECK_CONFIRM = 0x3AE, - CMSG_VOICE_SESSION_ENABLE = 0x3AF, + SMSG_DISMOUNT = 0x844A, // 33866 - 4.0.0.12319 + MSG_MOVE_UPDATE_CAN_FLY = 0x9042, // 36930 - 4.0.0.12319 + MSG_RAID_READY_CHECK_CONFIRM = 0x4450, // 17488 - 4.0.0.12319 + CMSG_VOICE_SESSION_ENABLE = 0x3965, // 14693 - 4.0.0.12065 SMSG_VOICE_SESSION_ENABLE = 0x3B0, - SMSG_VOICE_PARENTAL_CONTROLS = 0x3B1, + SMSG_VOICE_PARENTAL_CONTROLS = 0x944A, // 37962 - 4.0.0.12319 CMSG_GM_WHISPER = 0x3B2, - SMSG_GM_MESSAGECHAT = 0x3B3, + SMSG_GM_MESSAGECHAT = 0x49EC, // 18924 - 4.0.0.12065 MSG_GM_GEARRATING = 0x3B4, CMSG_COMMENTATOR_ENABLE = 0x3B5, SMSG_COMMENTATOR_STATE_CHANGED = 0x3B6, @@ -993,17 +993,17 @@ enum Opcodes CMSG_COMMENTATOR_ENTER_INSTANCE = 0x3BC, CMSG_COMMENTATOR_EXIT_INSTANCE = 0x3BD, CMSG_COMMENTATOR_INSTANCE_COMMAND = 0x3BE, - SMSG_CLEAR_TARGET = 0x3BF, - CMSG_BOT_DETECTED = 0x3C0, - SMSG_CROSSED_INEBRIATION_THRESHOLD = 0x3C1, + SMSG_CLEAR_TARGET = 0x63C, // 1596 - 4.0.0.12319 + CMSG_BOT_DETECTED = 0x1660, // 5728 - 4.0.0.12319 + SMSG_CROSSED_INEBRIATION_THRESHOLD = 0x841A, // 33818 - 4.0.0.12319 CMSG_CHEAT_PLAYER_LOGIN = 0x3C2, CMSG_CHEAT_PLAYER_LOOKUP = 0x3C3, SMSG_CHEAT_PLAYER_LOOKUP = 0x3C4, - SMSG_KICK_REASON = 0x3C5, - MSG_RAID_READY_CHECK_FINISHED = 0x3C6, - CMSG_COMPLAIN = 0x3C7, - SMSG_COMPLAIN_RESULT = 0x3C8, - SMSG_FEATURE_SYSTEM_STATUS = 0x3C9, + SMSG_KICK_REASON = 0x5666, // 22118 - 4.0.0.12319 + MSG_RAID_READY_CHECK_FINISHED = 0xD452, // 54354 - 4.0.0.12319 + CMSG_COMPLAIN = 0x0054, // 84 - 4.0.0.12319 + SMSG_COMPLAIN_RESULT = 0x5476, // 21622 - 4.0.0.12319 + SMSG_FEATURE_SYSTEM_STATUS = 0x9244, // 37444 - 4.0.0.12319 CMSG_GM_SHOW_COMPLAINTS = 0x3CA, CMSG_GM_UNSQUELCH = 0x3CB, CMSG_CHANNEL_SILENCE_VOICE = 0x3CC, @@ -1015,95 +1015,95 @@ 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, // 6625 - 4.0.0.12065 CMSG_CHANNEL_VOICE_ON = 0x3D6, CMSG_CHANNEL_VOICE_OFF = 0x3D7, CMSG_DEBUG_LIST_TARGETS = 0x3D8, SMSG_DEBUG_LIST_TARGETS = 0x3D9, - SMSG_AVAILABLE_VOICE_CHANNEL = 0x3DA, - CMSG_ADD_VOICE_IGNORE = 0x3DB, - CMSG_DEL_VOICE_IGNORE = 0x3DC, - 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_AVAILABLE_VOICE_CHANNEL = 0x145E, // 5214 - 4.0.0.12319 + CMSG_ADD_VOICE_IGNORE = 0x5474, // 21620 - 4.0.0.12319 + CMSG_DEL_VOICE_IGNORE = 0x8048, // 32840 - 4.0.0.12319 + CMSG_PARTY_SILENCE = 0xC434, // 50228 - 4.0.0.12319 + CMSG_PARTY_UNSILENCE = 0x5630, // 22064 - 4.0.0.12319 + MSG_NOTIFY_PARTY_SQUELCH = 0x5422, // 21538 - 4.0.0.12319 + SMSG_COMSAT_RECONNECT_TRY = 0x39EE, // 14830 - 4.0.0.12065 + SMSG_COMSAT_DISCONNECT = 0x5BED, // 23533 - 4.0.0.12065 + SMSG_COMSAT_CONNECT_FAIL = 0x1F6A, // 8042 - 4.0.0.12065 + SMSG_VOICE_CHAT_STATUS = 0x396A, // 14698 - 4.0.0.12065 CMSG_REPORT_PVP_AFK = 0x3E4, - SMSG_REPORT_PVP_AFK_RESULT = 0x3E5, // SMSG? + SMSG_REPORT_PVP_AFK_RESULT = 0x62E, // 1582 - 4.0.0.12319, SMSG? CMSG_GUILD_BANKER_ACTIVATE = 0x3E6, CMSG_GUILD_BANK_QUERY_TAB = 0x3E7, - SMSG_GUILD_BANK_LIST = 0x3E8, + SMSG_GUILD_BANK_LIST = 0x9638, // 38456 - 4.0.0.12319 CMSG_GUILD_BANK_SWAP_ITEMS = 0x3E9, CMSG_GUILD_BANK_BUY_TAB = 0x3EA, CMSG_GUILD_BANK_UPDATE_TAB = 0x3EB, CMSG_GUILD_BANK_DEPOSIT_MONEY = 0x3EC, CMSG_GUILD_BANK_WITHDRAW_MONEY = 0x3ED, - MSG_GUILD_BANK_LOG_QUERY = 0x3EE, + MSG_GUILD_BANK_LOG_QUERY = 0xC228, // 49704 - 4.0.0.12319 CMSG_SET_CHANNEL_WATCH = 0x3EF, - SMSG_USERLIST_ADD = 0x3F0, - SMSG_USERLIST_REMOVE = 0x3F1, - SMSG_USERLIST_UPDATE = 0x3F2, + SMSG_USERLIST_ADD = 0x2DE8, // 11752 - 4.0.0.12065 + SMSG_USERLIST_REMOVE = 0xE9EF, // 59887 - 4.0.0.12065 + SMSG_USERLIST_UPDATE = 0x3FEF, // 16367 - 4.0.0.12065 CMSG_CLEAR_CHANNEL_WATCH = 0x3F3, - SMSG_INSPECT_TALENT = 0x3F4, + SMSG_INSPECT_TALENT = 0x1426, // 5158 - 4.0.0.12319 SMSG_GOGOGO_OBSOLETE = 0x3F5, - SMSG_ECHO_PARTY_SQUELCH = 0x3F6, + SMSG_ECHO_PARTY_SQUELCH = 0x4606, // 17926 - 4.0.0.12319 CMSG_SET_TITLE_SUFFIX = 0x3F7, CMSG_SPELLCLICK = 0x3F8, - SMSG_LOOT_LIST = 0x3F9, + SMSG_LOOT_LIST = 0x4957, // 18775 - 4.0.0.12065 CMSG_GM_CHARACTER_RESTORE = 0x3FA, CMSG_GM_CHARACTER_SAVE = 0x3FB, - SMSG_VOICESESSION_FULL = 0x3FC, - MSG_GUILD_PERMISSIONS = 0x3FD, - MSG_GUILD_BANK_MONEY_WITHDRAWN = 0x3FE, + SMSG_VOICESESSION_FULL = 0x2F6F, // 12143 - 4.0.0.12065 + MSG_GUILD_PERMISSIONS = 0xD224, // 53796 - 4.0.0.12319 + MSG_GUILD_BANK_MONEY_WITHDRAWN = 0xC41C, // 50204 - 4.0.0.12319 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 = 0xD034, // 53300 - 4.0.0.12319 + SMSG_FORCE_DISPLAY_UPDATE = 0xC03C, // 49212 - 4.0.0.12319 SMSG_SPELL_CHANCE_RESIST_PUSHBACK = 0x404, CMSG_IGNORE_DIMINISHING_RETURNS_CHEAT = 0x405, - SMSG_IGNORE_DIMINISHING_RETURNS_CHEAT = 0x406, - CMSG_KEEP_ALIVE = 0x407, - SMSG_RAID_READY_CHECK_ERROR = 0x408, + SMSG_IGNORE_DIMINISHING_RETURNS_CHEAT = 0x147C, // 5244 - 4.0.0.12319 + CMSG_KEEP_ALIVE = 0xC40E, // 50190 - 4.0.0.12319 + SMSG_RAID_READY_CHECK_ERROR = 0x463E, // 17982 - 4.0.0.12319 CMSG_OPT_OUT_OF_LOOT = 0x409, - MSG_QUERY_GUILD_BANK_TEXT = 0x40A, + MSG_QUERY_GUILD_BANK_TEXT = 0x547C, // 21628 - 4.0.0.12319 CMSG_SET_GUILD_BANK_TEXT = 0x40B, CMSG_SET_GRANTABLE_LEVELS = 0x40C, CMSG_GRANT_LEVEL = 0x40D, CMSG_REFER_A_FRIEND = 0x40E, 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_GROUPACTION_THROTTLED = 0x864A, // 34378 - 4.0.0.12319, SMSG? + SMSG_OVERRIDE_LIGHT = 0xEF6F, // 61295 - 4.0.0.12065 + SMSG_TOTEM_CREATED = 0x9D6F, // 40303 - 4.0.0.12065 CMSG_TOTEM_DESTROYED = 0x414, CMSG_EXPIRE_RAID_INSTANCE = 0x415, CMSG_NO_SPELL_VARIANCE = 0x416, - CMSG_QUESTGIVER_STATUS_MULTIPLE_QUERY = 0x417, - SMSG_QUESTGIVER_STATUS_MULTIPLE = 0x418, + CMSG_QUESTGIVER_STATUS_MULTIPLE_QUERY = 0x903E, // 36926 - 4.0.0.12319 + SMSG_QUESTGIVER_STATUS_MULTIPLE = 0x5638, // 22072 - 4.0.0.12319 CMSG_SET_PLAYER_DECLINED_NAMES = 0x419, - SMSG_SET_PLAYER_DECLINED_NAMES_RESULT = 0x41A, + SMSG_SET_PLAYER_DECLINED_NAMES_RESULT = 0x8276, // 33398 - 4.0.0.12319 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 = 0xD664, // 54884 - 4.0.0.12319 + SMSG_PROPOSE_LEVEL_GRANT = 0x69E2, // 27106 - 4.0.0.12065 CMSG_ACCEPT_LEVEL_GRANT = 0x420, - SMSG_REFER_A_FRIEND_FAILURE = 0x421, - SMSG_SPLINE_MOVE_SET_FLYING = 0x422, - SMSG_SPLINE_MOVE_UNSET_FLYING = 0x423, - SMSG_SUMMON_CANCEL = 0x424, + SMSG_REFER_A_FRIEND_FAILURE = 0x1962, // 6498 - 4.0.0.12065 + SMSG_SPLINE_MOVE_SET_FLYING = 0x0BE2, // 3042 - 4.0.0.12065 + SMSG_SPLINE_MOVE_UNSET_FLYING = 0x8024, // 32804 - 4.0.0.12319 + SMSG_SUMMON_CANCEL = 0x9418, // 37912 - 4.0.0.12319 CMSG_CHANGE_PERSONAL_ARENA_RATING = 0x425, CMSG_ALTER_APPEARANCE = 0x426, - SMSG_ENABLE_BARBER_SHOP = 0x427, - SMSG_BARBER_SHOP_RESULT = 0x428, + SMSG_ENABLE_BARBER_SHOP = 0xD456, // 54358 - 4.0.0.12319 + SMSG_BARBER_SHOP_RESULT = 0x806A, // 32874 - 4.0.0.12319 CMSG_CALENDAR_GET_CALENDAR = 0x429, CMSG_CALENDAR_GET_EVENT = 0x42A, CMSG_CALENDAR_GUILD_FILTER = 0x42B, CMSG_CALENDAR_ARENA_TEAM = 0x42C, - CMSG_CALENDAR_ADD_EVENT = 0x42D, + CMSG_CALENDAR_ADD_EVENT = 0x4470, // 17520 - 4.0.0.12319 CMSG_CALENDAR_UPDATE_EVENT = 0x42E, CMSG_CALENDAR_REMOVE_EVENT = 0x42F, CMSG_CALENDAR_COPY_EVENT = 0x430, @@ -1112,70 +1112,70 @@ enum Opcodes CMSG_CALENDAR_EVENT_REMOVE_INVITE = 0x433, CMSG_CALENDAR_EVENT_STATUS = 0x434, CMSG_CALENDAR_EVENT_MODERATOR_STATUS = 0x435, - SMSG_CALENDAR_SEND_CALENDAR = 0x436, - SMSG_CALENDAR_SEND_EVENT = 0x437, - SMSG_CALENDAR_FILTER_GUILD = 0x438, - SMSG_CALENDAR_ARENA_TEAM = 0x439, - SMSG_CALENDAR_EVENT_INVITE = 0x43A, - SMSG_CALENDAR_EVENT_INVITE_REMOVED = 0x43B, - SMSG_CALENDAR_EVENT_STATUS = 0x43C, - SMSG_CALENDAR_COMMAND_RESULT = 0x43D, - SMSG_CALENDAR_RAID_LOCKOUT_ADDED = 0x43E, - SMSG_CALENDAR_RAID_LOCKOUT_REMOVED = 0x43F, - SMSG_CALENDAR_EVENT_INVITE_ALERT = 0x440, - SMSG_CALENDAR_EVENT_INVITE_REMOVED_ALERT = 0x441, - SMSG_CALENDAR_EVENT_INVITE_STATUS_ALERT = 0x442, - SMSG_CALENDAR_EVENT_REMOVED_ALERT = 0x443, - SMSG_CALENDAR_EVENT_UPDATED_ALERT = 0x444, - SMSG_CALENDAR_EVENT_MODERATOR_STATUS_ALERT = 0x445, + SMSG_CALENDAR_SEND_CALENDAR = 0x961E, // 38430 - 4.0.0.12319 + SMSG_CALENDAR_SEND_EVENT = 0x0672, // 1650 - 4.0.0.12319 + SMSG_CALENDAR_FILTER_GUILD = 0x4076, // 16502 - 4.0.0.12319 + SMSG_CALENDAR_ARENA_TEAM = 0x800C, // 32780 - 4.0.0.12319 + SMSG_CALENDAR_EVENT_INVITE = 0x527E, // 21118 - 4.0.0.12319 + SMSG_CALENDAR_EVENT_INVITE_REMOVED = 0x5270, // 21104 - 4.0.0.12319 + SMSG_CALENDAR_EVENT_STATUS = 0x1452, // 5202 - 4.0.0.12319 + SMSG_CALENDAR_COMMAND_RESULT = 0x8230, // 33328 - 4.0.0.12319 + SMSG_CALENDAR_RAID_LOCKOUT_ADDED = 0x942E, // 37934 - 4.0.0.12319 + SMSG_CALENDAR_RAID_LOCKOUT_REMOVED = 0x4428, // 17448 - 4.0.0.12319 + SMSG_CALENDAR_EVENT_INVITE_ALERT = 0x843E, // 33854 - 4.0.0.12319 + SMSG_CALENDAR_EVENT_INVITE_REMOVED_ALERT = 0x5656, // 22102 - 4.0.0.12319 + SMSG_CALENDAR_EVENT_INVITE_STATUS_ALERT = 0x4658, // 18008 - 4.0.0.12319 + SMSG_CALENDAR_EVENT_REMOVED_ALERT = 0xD060, // 53344 - 4.0.0.12319 + SMSG_CALENDAR_EVENT_UPDATED_ALERT = 0xD406, // 54278 - 4.0.0.12319 + SMSG_CALENDAR_EVENT_MODERATOR_STATUS_ALERT = 0x924A, // 37450 - 4.0.0.12319 CMSG_CALENDAR_COMPLAIN = 0x446, - CMSG_CALENDAR_GET_NUM_PENDING = 0x447, - SMSG_CALENDAR_SEND_NUM_PENDING = 0x448, + CMSG_CALENDAR_GET_NUM_PENDING = 0xC964, // 51556 - 4.0.0.12065 + SMSG_CALENDAR_SEND_NUM_PENDING = 0x5434, // 21556 - 4.0.0.12319 CMSG_SAVE_DANCE = 0x449, - SMSG_NOTIFY_DANCE = 0x44A, + SMSG_NOTIFY_DANCE = 0x027A, // 634 - 4.0.0.12319 CMSG_PLAY_DANCE = 0x44B, - SMSG_PLAY_DANCE = 0x44C, + SMSG_PLAY_DANCE = 0x546A, // 21610 - 4.0.0.12319 CMSG_LOAD_DANCES = 0x44D, CMSG_STOP_DANCE = 0x44E, - SMSG_STOP_DANCE = 0x44F, + SMSG_STOP_DANCE = 0xD600, // 54784 - 4.0.0.12319 CMSG_SYNC_DANCE = 0x450, - CMSG_DANCE_QUERY = 0x451, - SMSG_DANCE_QUERY_RESPONSE = 0x452, - SMSG_INVALIDATE_DANCE = 0x453, + CMSG_DANCE_QUERY = 0x4024, // 16420 - 4.0.0.12319 + SMSG_DANCE_QUERY_RESPONSE = 0x866C, // 34412 - 4.0.0.12319 + SMSG_INVALIDATE_DANCE = 0xD604, // 54788 - 4.0.0.12319 CMSG_DELETE_DANCE = 0x454, - SMSG_LEARNED_DANCE_MOVES = 0x455, + SMSG_LEARNED_DANCE_MOVES = 0xD21A, // 53786 - 4.0.0.12319 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, - CMSG_FORCE_PITCH_RATE_CHANGE_ACK = 0x45D, - SMSG_SPLINE_SET_PITCH_RATE = 0x45E, + MSG_MOVE_SET_PITCH_RATE = 0xD9ED, // 55789 - 4.0.0.12065 + SMSG_FORCE_PITCH_RATE_CHANGE = 0xC612, // 50706 - 4.0.0.12319 + CMSG_FORCE_PITCH_RATE_CHANGE_ACK = 0xD00A, // 53258 - 4.0.0.12319 + SMSG_SPLINE_SET_PITCH_RATE = 0x5064, // 20580 - 4.0.0.12319 SMSG_MOVE_ABANDON_TRANSPORT = 0x45F, - SMSG_CALENDAR_UPDATE_INVITE_LIST = 0x460, - SMSG_CALENDAR_UPDATE_INVITE_LIST2 = 0x461, + SMSG_CALENDAR_UPDATE_INVITE_LIST = 0x4270, // 17008 - 4.0.0.12319 + SMSG_CALENDAR_UPDATE_INVITE_LIST2 = 0x804E, // 32846 - 4.0.0.12319 CMSG_UPDATE_MISSILE_TRAJECTORY = 0x462, - SMSG_UPDATE_ACCOUNT_DATA_COMPLETE = 0x463, - SMSG_TRIGGER_MOVIE = 0x464, + SMSG_UPDATE_ACCOUNT_DATA_COMPLETE = 0xC428, // 50216 - 4.0.0.12319 + SMSG_TRIGGER_MOVIE = 0x3FE8, // 16360 - 4.0.0.12065 CMSG_COMPLETE_MOVIE = 0x465, CMSG_SET_GLYPH_SLOT = 0x466, CMSG_SET_GLYPH = 0x467, - SMSG_ACHIEVEMENT_EARNED = 0x468, + SMSG_ACHIEVEMENT_EARNED = 0xD234, // 53812 - 4.0.0.12319 SMSG_DYNAMIC_DROP_ROLL_RESULT = 0x469, - SMSG_CRITERIA_UPDATE = 0x46A, + SMSG_CRITERIA_UPDATE = 0x8474, // 33908 - 4.0.0.12319 CMSG_QUERY_INSPECT_ACHIEVEMENTS = 0x46B, SMSG_RESPOND_INSPECT_ACHIEVEMENTS = 0x46C, - CMSG_DISMISS_CONTROLLED_VEHICLE = 0x46D, + CMSG_DISMISS_CONTROLLED_VEHICLE = 0x821E, // 33310 - 4.0.0.12319 CMSG_COMPLETE_ACHIEVEMENT_CHEAT = 0x46E, - SMSG_QUESTUPDATE_ADD_PVP_KILL = 0x46F, + SMSG_QUESTUPDATE_ADD_PVP_KILL = 0xD26A, // 53866 - 4.0.0.12319 CMSG_SET_CRITERIA_CHEAT = 0x470, - SMSG_CALENDAR_UPDATE_INVITE_LIST3 = 0x471, + SMSG_CALENDAR_UPDATE_INVITE_LIST3 = 0x0038, // 56 - 4.0.0.12319 CMSG_UNITANIMTIER_CHEAT = 0x472, CMSG_CHAR_CUSTOMIZE = 0x473, - SMSG_CHAR_CUSTOMIZE = 0x474, - SMSG_PET_RENAMEABLE = 0x475, + SMSG_CHAR_CUSTOMIZE = 0xD462, // 54370 - 4.0.0.12319 + SMSG_PET_RENAMEABLE = 0x9656, // 38486 - 4.0.0.12319 CMSG_REQUEST_VEHICLE_EXIT = 0x476, CMSG_REQUEST_VEHICLE_PREV_SEAT = 0x477, CMSG_REQUEST_VEHICLE_NEXT_SEAT = 0x478, @@ -1185,193 +1185,195 @@ 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 = 0x8660, // 34400 - 4.0.0.12319 + SMSG_POWER_UPDATE = 0xD040, // 53312 - 4.0.0.12319 CMSG_GAMEOBJ_REPORT_USE = 0x481, - SMSG_HIGHEST_THREAT_UPDATE = 0x482, - SMSG_THREAT_UPDATE = 0x483, - SMSG_THREAT_REMOVE = 0x484, - SMSG_THREAT_CLEAR = 0x485, - SMSG_CONVERT_RUNE = 0x486, - SMSG_RESYNC_RUNES = 0x487, - SMSG_ADD_RUNE_POWER = 0x488, + SMSG_HIGHEST_THREAT_UPDATE = 0x902A, // 36906 - 4.0.0.12319 + SMSG_THREAT_UPDATE = 0xD068, // 53352 - 4.0.0.12319 + SMSG_THREAT_REMOVE = 0x5018, // 20504 - 4.0.0.12319 + SMSG_THREAT_CLEAR = 0xC046, // 49222 - 4.0.0.12319 + SMSG_CONVERT_RUNE = 0x4210, // 16912 - 4.0.0.12319 + SMSG_RESYNC_RUNES = 0x8246, // 33350 - 4.0.0.12319 + SMSG_ADD_RUNE_POWER = 0x402, // 1026 - 4.0.0.12319 CMSG_START_QUEST = 0x489, CMSG_REMOVE_GLYPH = 0x48A, 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 = 0x565E, // 22110 - 4.0.0.12319 CMSG_AUCTION_LIST_PENDING_SALES = 0x48F, - SMSG_AUCTION_LIST_PENDING_SALES = 0x490, - SMSG_MODIFY_COOLDOWN = 0x491, - SMSG_PET_UPDATE_COMBO_POINTS = 0x492, + SMSG_AUCTION_LIST_PENDING_SALES = 0x9044, // 36932 - 4.0.0.12319 + SMSG_MODIFY_COOLDOWN = 0x4430, // 17456 - 4.0.0.12319 + SMSG_PET_UPDATE_COMBO_POINTS = 0xC42C, // 50220 - 4.0.0.12319 CMSG_ENABLETAXI = 0x493, - SMSG_PRE_RESURRECT = 0x494, - SMSG_AURA_UPDATE_ALL = 0x495, - SMSG_AURA_UPDATE = 0x496, + SMSG_PRE_RESURRECT = 0x120E, // 4622 - 4.0.0.12319 + SMSG_AURA_UPDATE_ALL = 0x65A, // 1626 - 4.0.0.12319 + SMSG_AURA_UPDATE = 0x0470, // 1136 - 4.0.0.12319 CMSG_FLOOD_GRACE_CHEAT = 0x497, - SMSG_SERVER_FIRST_ACHIEVEMENT = 0x498, - 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 - CMSG_SERVER_INFO_QUERY = 0x4A0, // not found - SMSG_SERVER_INFO_RESPONSE = 0x4A1, // not found - CMSG_CHECK_LOGIN_CRITERIA = 0x4A2, // not found - SMSG_SERVER_BUCK_DATA_START = 0x4A3, // not found - 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 - CMSG_UNKNOWN_1192 = 0x4A8, // cmsg uint64 - CMSG_EJECT_PASSENGER = 0x4A9, // cmsg uint64 - SMSG_PET_GUIDS = 0x4AA, // shifted+5 - SMSG_CLIENTCACHE_VERSION = 0x4AB, // shifted+5 - UMSG_UNKNOWN_1196 = 0x4AC, // not found - UMSG_UNKNOWN_1197 = 0x4AD, // not found - UMSG_UNKNOWN_1198 = 0x4AE, // not found - UMSG_UNKNOWN_1199 = 0x4AF, // not found - UMSG_UNKNOWN_1200 = 0x4B0, // not found - UMSG_UNKNOWN_1201 = 0x4B1, // not found - SMSG_ITEM_REFUND_INFO_RESPONSE = 0x4B2, // refund item info - CMSG_ITEM_REFUND_INFO = 0x4B3, // refund request? - 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 - 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 - 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 - 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 - UMSG_UNKNOWN_1220 = 0x4C4, // not found 3.2 - UMSG_UNKNOWN_1221 = 0x4C5, // not found 3.2 - UMSG_UNKNOWN_1222 = 0x4C6, // not found 3.2 - SMSG_ARENA_OPPONENT_UPDATE = 0x4C7, // uint64, EVENT_ARENA_OPPONENT_UPDATE - SMSG_ARENA_TEAM_CHANGE_FAILED_QUEUED = 0x4C8, // uint32 "Can't modify arena team while queued or in a match." 3.2 - UMSG_UNKNOWN_1225 = 0x4C9, // not found 3.2 - 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 - CMSG_FORCE_UNK1_SPEED_CHANGE_ACK = 0x4CF, // movement related - SMSG_FORCE_UNK2_SPEED_CHANGE = 0x4D0, // 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? - 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) - UMSG_UNKNOWN_1243 = 0x4DB, // not found 3.2 - UMSG_UNKNOWN_1244 = 0x4DC, // not found 3.2 - UMSG_UNKNOWN_1245 = 0x4DD, // not found 3.2 - SMSG_BATTLEFIELD_MGR_ENTRY_INVITE = 0x4DE, // uint32, EVENT_BATTLEFIELD_MGR_ENTRY_INVITE - CMSG_BATTLEFIELD_MGR_ENTRY_INVITE_RESPONSE = 0x4DF, // lua: BattlefieldMgrEntryInviteResponse - SMSG_BATTLEFIELD_MGR_ENTERED = 0x4E0, // uint32, uint8, uint8 EVENT_BATTLEFIELD_MGR_ENTERED - SMSG_BATTLEFIELD_MGR_QUEUE_INVITE = 0x4E1, // uint32 EVENT_BATTLEFIELD_MGR_QUEUE_INVITE - CMSG_BATTLEFIELD_MGR_QUEUE_INVITE_RESPONSE = 0x4E2, // lua: BattlefieldMgrQueueInviteResponse - CMSG_BATTLEFIELD_MGR_QUEUE_REQUEST = 0x4E3, // lua: BattlefieldMgrQueueRequest - SMSG_BATTLEFIELD_MGR_QUEUE_REQUEST_RESPONSE = 0x4E4, // uint32, uint8 EVENT_BATTLEFIELD_MGR_QUEUE_REQUEST_RESPONSE - SMSG_BATTLEFIELD_MGR_EJECT_PENDING = 0x4E5, // uint32 EVENT_BATTLEFIELD_MGR_EJECT_PENDING - SMSG_BATTLEFIELD_MGR_EJECTED = 0x4E6, // uint32, uint32, uint8 EVENT_BATTLEFIELD_MGR_EJECTED - CMSG_BATTLEFIELD_MGR_EXIT_REQUEST = 0x4E7, // lua: BattlefieldMgrExitRequest - 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 - 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] - CMSG_GMRESPONSE_RESOLVE = 0x4F0, // lua: GMResponseResolve - SMSG_GMRESPONSE_STATUS_UPDATE = 0x4F1, // 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_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 - 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_QUERY_QUESTS_COMPLETED = 0x500, // lua: QueryQuestsCompleted - SMSG_QUERY_QUESTS_COMPLETED_RESPONSE = 0x501, // 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, - UMSG_UNKNOWN_1287 = 0x507, // not found - CMSG_SET_ALLOW_LOW_LEVEL_RAID1 = 0x508, // lua: SetAllowLowLevelRaid - CMSG_SET_ALLOW_LOW_LEVEL_RAID2 = 0x509, // lua: SetAllowLowLevelRaid - SMSG_CAMERA_SHAKE = 0x50A, // uint32 SpellEffectCameraShakes.dbc index, uint32 - SMSG_UPDATE_ITEM_ENCHANTMENTS = 0x50B, // some item update packet? - UMSG_UNKNOWN_1292 = 0x50C, // not found - SMSG_REDIRECT_CLIENT = 0x50D, // uint32 ip, uint16 port, uint32 unk, uint8[20] hash (ip + port, seed=sessionkey) - CMSG_REDIRECTION_FAILED = 0x50E, // something with networking - SMSG_UNKNOWN_1295 = 0x50F, // - CMSG_UNKNOWN_1296 = 0x510, // something with networking - SMSG_FORCE_SEND_QUEUED_PACKETS = 0x511, // - 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) - CMSG_UNKNOWN_1303 = 0x517, // something with player movement (move event 58) - SMSG_UNKNOWN_1304 = 0x518, // something with player movement (move event 58), speed packet - UMSG_UNKNOWN_1305 = 0x519, // not found - UMSG_UNKNOWN_1306 = 0x51A, // not found - CMSG_COMMENTATOR_SKIRMISH_QUEUE_COMMAND = 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 - 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 - UMSG_UNKNOWN_1318 = 0x526, // not found - UMSG_UNKNOWN_1319 = 0x527, // not found - CMSG_UNKNOWN_1320 = 0x528, // setcurrency console command? - UMSG_UNKNOWN_1321 = 0x529, // not found - UMSG_UNKNOWN_1322 = 0x52A, // not found - UMSG_UNKNOWN_1323 = 0x52B, // not found - UMSG_UNKNOWN_1324 = 0x52C, // not found - UMSG_UNKNOWN_1325 = 0x52D, // not found - UMSG_UNKNOWN_1326 = 0x52E, // not found - UMSG_UNKNOWN_1327 = 0x52F, // not found - UMSG_UNKNOWN_1328 = 0x530, // not found - SMSG_UNKNOWN_1329 = 0x531, // 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_SERVER_FIRST_ACHIEVEMENT = 0xEF69, // 61289 - 4.0.0.12065 + SMSG_PET_LEARNED_SPELL = 0x503C, // 20540 - 4.0.0.12319 + SMSG_PET_REMOVED_SPELL = 0x5636, // 22070 - 4.0.0.12319 + CMSG_CHANGE_SEATS_ON_CONTROLLED_VEHICLE = 0x9644, // 38468 - 4.0.0.12319 + CMSG_HEARTH_AND_RESURRECT = 0x49C, // not changed in 3.1 + SMSG_ON_CANCEL_EXPECTED_RIDE_VEHICLE_AURA = 0x8606, // 34310 - 4.0.0.12319 + SMSG_CRITERIA_DELETED = 0x844C, // 33868 - 4.0.0.12319 + SMSG_ACHIEVEMENT_DELETED = 0x047A, // 1146 - 4.0.0.12319 + CMSG_SERVER_INFO_QUERY = 0x4A0, // not found + SMSG_SERVER_INFO_RESPONSE = 0x4A1, // not found + CMSG_CHECK_LOGIN_CRITERIA = 0x4A2, // not found + SMSG_SERVER_BUCK_DATA_START = 0x4A3, // not found + CMSG_QUERY_VEHICLE_STATUS = 0x4A4, // not found + UMSG_UNKNOWN_1189 = 0x4A5, // not found, old SMSG_PET_GUIDS + SMSG_BATTLEGROUND_INFO_THROTTLED = 0x4424, // 17444 - 4.0.0.12319, empty, "You can't do that yet" + SMSG_PLAYER_VEHICLE_DATA = 0x454, // 1108 - 4.0.0.12319, 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 = 0x905E, // 36958 - 4.0.0.12319, shifted+5 + SMSG_CLIENTCACHE_VERSION = 0x9650, // 38480 - 4.0.0.12319, shifted+5 + UMSG_UNKNOWN_1196 = 0x4AC, // not found + UMSG_UNKNOWN_1197 = 0x4AD, // not found + UMSG_UNKNOWN_1198 = 0x4AE, // not found + UMSG_UNKNOWN_1199 = 0x4AF, // not found + UMSG_UNKNOWN_1200 = 0x4B0, // not found + UMSG_UNKNOWN_1201 = 0x4B1, // not found + SMSG_ITEM_REFUND_INFO_RESPONSE = 0x1236, // 4662 - 4.0.0.12319, refund item info + CMSG_ITEM_REFUND_INFO = 0x4B3, // refund request? + CMSG_ITEM_REFUND = 0x4B4, // lua: ContainerRefundItemPurchase + SMSG_ITEM_REFUND_RESULT = 0x1614, // 5652 - 4.0.0.12319, refund item result + CMSG_CORPSE_MAP_POSITION_QUERY = 0x4B6, // CMSG, uint32 + SMSG_CORPSE_MAP_POSITION_QUERY_RESPONSE = 0x2DE5, // 11749 - 4.0.0.12065, 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 = 0x8438, // 33848 - 4.0.0.12319, SMSG, calendar related EVENT_CALENDAR_ACTION_PENDING + SMSG_EQUIPMENT_SET_LIST = 0x5000, // 20480 - 4.0.0.12319, SMSG, equipment manager list? + CMSG_EQUIPMENT_SET_SAVE = 0x527A, // 21114 - 4.0.0.12319, CMSG, lua: SaveEquipmentSet + CMSG_UPDATE_PROJECTILE_POSITION = 0x4BE, // CMSG, uint64 caster, uint32 spellId, uint8 castId, vector3 position + SMSG_SET_PROJECTILE_POSITION = 0x5650, // 22096 - 4.0.0.12319, SMSG, uint64 caster, uint8 castId, vector3 position + SMSG_TALENTS_INFO = 0x447E, // 17534 - 4.0.0.12319, SMSG, talents related + CMSG_LEARN_PREVIEW_TALENTS = 0x9018, // 36888 - 4.0.0.12319, CMSG, lua: LearnPreviewTalents (for player?) + CMSG_LEARN_PREVIEW_TALENTS_PET = 0x4C2, // CMSG, lua: LearnPreviewTalents (for pet?) + UMSG_UNKNOWN_1219 = 0x4C3, // not found 3.2 + UMSG_UNKNOWN_1220 = 0x4C4, // not found 3.2 + UMSG_UNKNOWN_1221 = 0x4C5, // not found 3.2 + UMSG_UNKNOWN_1222 = 0x4C6, // not found 3.2 + SMSG_ARENA_OPPONENT_UPDATE = 0x4006, // 16390 - 4.0.0.12319, uint64, EVENT_ARENA_OPPONENT_UPDATE + SMSG_ARENA_TEAM_CHANGE_FAILED_QUEUED = 0x276, // 630 - 4.0.0.12319, uint32 "Can't modify arena team while queued or in a match." 3.2 + UMSG_UNKNOWN_1225 = 0x4C9, // not found 3.2 + 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 = 0xC62A, // 50730 - 4.0.0.12319, SMSG, handles any opcode + SMSG_FORCE_UNK1_SPEED_CHANGE = 0x127E, // 4734 - 4.0.0.12319, SMSG, movement related + CMSG_FORCE_UNK1_SPEED_CHANGE_ACK = 0x107A, // 4218 - 4.0.0.12319, movement related + SMSG_FORCE_UNK2_SPEED_CHANGE = 0x160A, // 5642 - 4.0.0.12319, SMSG, movement related + CMSG_FORCE_UNK2_SPEED_CHANGE_ACK = 0x5470, // 21616 - 4.0.0.12319, movement related + MSG_MOVE_UNKNOWN_1234 = 0x43C, // 1084 - 4.0.0.12319, SMSG, movement related + SMSG_SPLINE_MOVE_UNKNOWN_1235 = 0x8064, // 32868 - 4.0.0.12319, SMSG, movement related + SMSG_SPLINE_MOVE_UNKNOWN_1236 = 0x648, // 1608 - 4.0.0.12319, SMSG, movement related + CMSG_EQUIPMENT_SET_USE = 0x19EC, // 6636 - 4.0.0.12065, CMSG, lua: UseEquipmentSet + SMSG_EQUIPMENT_SET_USE_RESULT = 0xC236, // 49718 - 4.0.0.12319, 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 = 0xD236, // 53814 - 4.0.0.12319, 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 + SMSG_BATTLEFIELD_MGR_ENTRY_INVITE = 0x26A, // 618 - 4.0.0.12319, uint32, EVENT_BATTLEFIELD_MGR_ENTRY_INVITE + CMSG_BATTLEFIELD_MGR_ENTRY_INVITE_RESPONSE = 0x4DF, // lua: BattlefieldMgrEntryInviteResponse + SMSG_BATTLEFIELD_MGR_ENTERED = 0x25A, // 602 - 4.0.0.12319, uint32, uint8, uint8 EVENT_BATTLEFIELD_MGR_ENTERED + SMSG_BATTLEFIELD_MGR_QUEUE_INVITE = 0x5444, // 21572 - 4.0.0.12319, uint32 EVENT_BATTLEFIELD_MGR_QUEUE_INVITE + CMSG_BATTLEFIELD_MGR_QUEUE_INVITE_RESPONSE = 0x4E2, // lua: BattlefieldMgrQueueInviteResponse + CMSG_BATTLEFIELD_MGR_QUEUE_REQUEST = 0x4E3, // lua: BattlefieldMgrQueueRequest + SMSG_BATTLEFIELD_MGR_QUEUE_REQUEST_RESPONSE = 0x167E, // 5758 - 4.0.0.12319, uint32, uint8 EVENT_BATTLEFIELD_MGR_QUEUE_REQUEST_RESPONSE + SMSG_BATTLEFIELD_MGR_EJECT_PENDING = 0xC666, // 50790 - 4.0.0.12319, uint32 EVENT_BATTLEFIELD_MGR_EJECT_PENDING + SMSG_BATTLEFIELD_MGR_EJECTED = 0x34, // 52 - 4.0.0.12319, uint32, uint32, uint8 EVENT_BATTLEFIELD_MGR_EJECTED + CMSG_BATTLEFIELD_MGR_EXIT_REQUEST = 0x4E7, // lua: BattlefieldMgrExitRequest + SMSG_BATTLEFIELD_MGR_STATE_CHANGE = 0x620, // 1568 - 4.0.0.12319, 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 = 0x046A, // 1130 - 4.0.0.12319, lua: SetRaidDifficulty + UMSG_UNKNOWN_1260 = 0x4EC, // not found 3.2 + SMSG_TOGGLE_XP_GAIN = 0x47C, // 1148 - 4.0.0.12319, enable/disable XP gain console message + SMSG_GMRESPONSE_DB_ERROR = 0x541E, // 21534 - 4.0.0.12319, empty + SMSG_GMRESPONSE_RECEIVED = 0x9014, // 36884 - 4.0.0.12319, uint32, uint32, string[2000], string[4000][4] + CMSG_GMRESPONSE_RESOLVE = 0x4F0, // lua: GMResponseResolve + SMSG_GMRESPONSE_STATUS_UPDATE = 0xC414, // 50196 - 4.0.0.12319, 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 = 0xD64E, // 54862 - 4.0.0.12319 + SMSG_WORLD_STATE_UI_TIMER_UPDATE = 0x99EA, // 39402 - 4.0.0.12065 + CMSG_CHAR_RACE_CHANGE = 0x4F8, // called from lua: CreateCharacter, paid race change + UMSG_UNKNOWN_1273 = 0x4F9, // not found 10554 + SMSG_TALENTS_INVOLUNTARILY_RESET = 0xFBEC, // 64492 - 4.0.0.12065, uint8 EVENT_TALENTS_INVOLUNTARILY_RESET + UMSG_UNKNOWN_1275 = 0x4FB, // not found 10554 + SMSG_UNKNOWN_1276 = 0xC214, // 49684 - 4.0.0.12319 + SMSG_LOOT_SLOT_CHANGED = 0xC032, // 49202 - 4.0.0.12319, EVENT_LOOT_SLOT_CHANGED + UMSG_UNKNOWN_1278 = 0x4FE, // not found 10596 + CMSG_READY_FOR_ACCOUNT_DATA_TIMES = 0xC426, // 50214 - 4.0.0.12319 + CMSG_QUERY_QUESTS_COMPLETED = 0x500, // lua: QueryQuestsCompleted + SMSG_QUERY_QUESTS_COMPLETED_RESPONSE = 0x4646, // 17990 - 4.0.0.12319, 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 = 0xEF62, // 61282 - 4.0.0.12065, 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 + SMSG_CAMERA_SHAKE = 0x468, // 1128 - 4.0.0.12319, uint32 SpellEffectCameraShakes.dbc index, uint32 + SMSG_UPDATE_ITEM_ENCHANTMENTS = 0xC206, // 49670 - 4.0.0.12319, some item update packet? + UMSG_UNKNOWN_1292 = 0x50C, // not found + SMSG_REDIRECT_CLIENT = 0x50D, // uint32 ip, uint16 port, uint32 unk, uint8[20] hash (ip + port, seed=sessionkey) + CMSG_REDIRECTION_FAILED = 0x50E, // something with networking + SMSG_UNKNOWN_1295 = 0x50F, // + CMSG_UNKNOWN_1296 = 0x510, // something with networking + SMSG_FORCE_SEND_QUEUED_PACKETS = 0xD960, // 55648 - 4.0.0.12065 + CMSG_REDIRECTION_AUTH_PROOF = 0x512, // something with networking + UMSG_UNKNOWN_1299 = 0x513, // not found + SMSG_COMBAT_LOG_MULTIPLE = 0x9450, // 37968 - 4.0.0.12319, SMSG, multi combatlog + SMSG_LFG_OPEN_FROM_GOSSIP = 0x803C, // 32828 - 4.0.0.12319, event EVENT_LFG_OPEN_FROM_GOSSIP (opens dungeon finder, probably for outdoor bosses) + SMSG_UNKNOWN_1302 = 0xD23A, // 53818 - 4.0.0.12319, something with player movement (move event 58?) + CMSG_UNKNOWN_1303 = 0x446A, // 17514 - 4.0.0.12319, something with player movement (move event 58?) + SMSG_UNKNOWN_1304 = 0xC474, // 50292 - 4.0.0.12319, 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 = 0x8BEB, // 35819 - 4.0.0.12065, ERR_ALTERED_FORM_CANT_TRANSFORM_RIGHT_NOW or ERR_ALTERED_FORM_CAN_NEVER_TRANSFORM + SMSG_UNKNOWN_1311 = 0x401C, // 16412 - 4.0.0.12319, related to transform + SMSG_UNKNOWN_1312 = 0x42C, // 1068 - 4.0.0.12319, related to transform + UMSG_UNKNOWN_1313 = 0x521, // not found + SMSG_UNKNOWN_1314 = 0xFDE7, // 64999 - 4.0.0.12065, sets unit+4336 to value from packet + SMSG_UNKNOWN_1315 = 0xD63E, // 54846 - 4.0.0.12319, related to opcode 0x522 + SMSG_UNKNOWN_1316 = 0x0960, // 2400 - 4.0.0.12065, sets unit+4338 to value from packet + SMSG_UNKNOWN_1317 = 0x4652, // 18002 - 4.0.0.12319, 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? + UMSG_UNKNOWN_1321 = 0x529, // not found + UMSG_UNKNOWN_1322 = 0x52A, // not found + UMSG_UNKNOWN_1323 = 0x52B, // not found + UMSG_UNKNOWN_1324 = 0x52C, // not found + UMSG_UNKNOWN_1325 = 0x52D, // not found + UMSG_UNKNOWN_1326 = 0x52E, // not found + UMSG_UNKNOWN_1327 = 0x52F, // not found + UMSG_UNKNOWN_1328 = 0x530, // not found + SMSG_UNKNOWN_1329 = 0x1600, // 5632 - 4.0.0.12319, 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 = 0xFFFF }; +extern void InitOpcodeTable(); + /// Player state enum SessionStatus { @@ -1402,4 +1404,4 @@ inline const char* LookupOpcodeName(uint16 id) return opcodeTable[id].name; } #endif -/// @} +/// @} \ No newline at end of file diff --git a/src/game/WorldSocketMgr.cpp b/src/game/WorldSocketMgr.cpp index 25ff79b..5c404ec 100644 --- a/src/game/WorldSocketMgr.cpp +++ b/src/game/WorldSocketMgr.cpp @@ -22,6 +22,7 @@ */ #include "WorldSocketMgr.h" +#include "Opcodes.h" #include #include @@ -214,6 +215,7 @@ WorldSocketMgr::WorldSocketMgr () : m_UseNoDelay (true), m_Acceptor (0) { + InitOpcodeTable(); } WorldSocketMgr::~WorldSocketMgr () diff --git a/win/VC90/game.vcproj b/win/VC90/game.vcproj index 1eb6872..667b092 100644 --- a/win/VC90/game.vcproj +++ b/win/VC90/game.vcproj @@ -1487,6 +1487,10 @@ > + +