Documentation ¶
Index ¶
- Constants
- Variables
- func BuildChecksum(data []byte) uint32
- func Compress(input []byte) []byte
- func ConvertWorldTypeToUint(build vsn.Build, wt WorldType) (uint32, error)
- func EncodeCharacterFlags(build vsn.Build, out io.Writer, flags CharacterFlags) error
- func EncodeCharacterOp(version vsn.Build, out *etc.Buffer, value CharacterOp) error
- func EncodePartyResult(build vsn.Build, out io.Writer, pr PartyResult) error
- func EquipLen(build vsn.Build) int
- func F32(u float32) uint32
- func GetMSTime() uint32
- func Hash(input ...[]byte) []byte
- func PutF32(u float32) []byte
- func PutU32(u uint32) []byte
- func ReverseBuffer(input []byte) []byte
- func Uncompress(input []byte) []byte
- type AddonInfo
- type AddonList
- type AuctionListItemsRequest
- type AuctionListItemsResult
- type AuctionListing
- type AuthResponse
- type CMSGAuthSession
- type CharLoginResult
- type Character
- type CharacterFlags
- type CharacterList
- type CharacterOp
- type CharacterOpDescriptor
- type Class
- type ClassAvailability
- type Connection
- type DCReason
- type Frame
- type FriendStatus
- type Gossip
- type GossipItem
- type GossipQuestItem
- type InventoryResult
- type InventoryResultDescriptor
- type Item
- type PackedXYZ
- type PartyOperation
- type PartyResult
- type PlayerFlags
- type Race
- type RaceClassAvailability
- type SHA1Randx
- type SMSGAuthPacket
- type SMSGAuthResponse
- type VirtualRealmInfo
- type VirtualRealmNameInfo
- type WardenModuleInitRequest
- type WardenModuleTransfer
- type WardenModuleUse
- type Who
- type WhoMatch
- type WhoRequest
- type WorldPacket
- type WorldType
Constants ¶
View Source
const ( InvalidServerHeader = 3 RSAVerifyFailed = 4 ServerCheckFailed = 24 )
View Source
const ( Display_Ammo = 0 Display_Head = 1 Display_Neck = 2 Display_Shoulder = 3 Display_Shirt = 4 Display_Chest = 5 Display_Waist = 6 Display_Legs = 7 Display_Feet = 8 Display_Wrist = 9 Display_Hands = 10 Display_Finger1 = 11 Display_Finger2 = 12 Display_Trinket1 = 13 Display_Trinket2 = 14 Display_Back = 15 Display_MainHand = 16 Display_OffHand = 17 Display_Ranged = 18 Display_Tabard = 19 Display_Bag1 = 20 Display_Bag2 = 21 Display_Bag3 = 22 Display_Bag4 = 23 )
View Source
const ( GAMEOBJECT_TYPE_DOOR = 0 GAMEOBJECT_TYPE_BUTTON = 1 GAMEOBJECT_TYPE_QUESTGIVER = 2 GAMEOBJECT_TYPE_CHEST = 3 GAMEOBJECT_TYPE_BINDER = 4 GAMEOBJECT_TYPE_GENERIC = 5 GAMEOBJECT_TYPE_TRAP = 6 GAMEOBJECT_TYPE_CHAIR = 7 GAMEOBJECT_TYPE_SPELL_FOCUS = 8 GAMEOBJECT_TYPE_TEXT = 9 GAMEOBJECT_TYPE_GOOBER = 10 GAMEOBJECT_TYPE_TRANSPORT = 11 GAMEOBJECT_TYPE_AREADAMAGE = 12 GAMEOBJECT_TYPE_CAMERA = 13 GAMEOBJECT_TYPE_MAP_OBJECT = 14 GAMEOBJECT_TYPE_MO_TRANSPORT = 15 GAMEOBJECT_TYPE_DUEL_ARBITER = 16 GAMEOBJECT_TYPE_FISHINGNODE = 17 GAMEOBJECT_TYPE_RITUAL = 18 GAMEOBJECT_TYPE_MAILBOX = 19 GAMEOBJECT_TYPE_AUCTIONHOUSE = 20 GAMEOBJECT_TYPE_GUARDPOST = 21 GAMEOBJECT_TYPE_SPELLCASTER = 22 GAMEOBJECT_TYPE_MEETINGSTONE = 23 GAMEOBJECT_TYPE_FLAGSTAND = 24 GAMEOBJECT_TYPE_FISHINGHOLE = 25 GAMEOBJECT_TYPE_FLAGDROP = 26 GAMEOBJECT_TYPE_MINI_GAME = 27 GAMEOBJECT_TYPE_LOTTERY_KIOSK = 28 GAMEOBJECT_TYPE_CAPTURE_POINT = 29 GAMEOBJECT_TYPE_AURA_GENERATOR = 30 GAMEOBJECT_TYPE_DUNGEON_DIFFICULTY = 31 GAMEOBJECT_TYPE_BARBER_CHAIR = 32 GAMEOBJECT_TYPE_DESTRUCTIBLE_BUILDING = 33 GAMEOBJECT_TYPE_GUILD_BANK = 34 )
View Source
const ( GossipIconChat = iota // White chat bubble GossipIconVendor // 1 Brown bag GossipIconTaxi // 2 Flight GossipIconTrainer // 3 Book GossipIconInteract1 // 4 Interaction wheel GossipIconInteract2 // 5 Interaction wheel GossipIconGold // 6 Brown bag with yellow dot (gold) GossipIconTalk // White chat bubble with black dots (...) GossipIconTabard // 8 Tabard GossipIconBattle // 9 Two swords GossipIconDot // 10 Yellow dot GossipIconChat11 // 11 White chat bubble GossipIconChat12 // 12 White chat bubble GossipIconChat13 // 13 White chat bubble GossipIconInvalid14 // 14 INVALID - DO NOT USE GossipIconInvalid15 // 15 INVALID - DO NOT USE GossipIconChat16 // 16 White chat bubble GossipIconChat17 // 17 White chat bubble GossipIconChat18 // 18 White chat bubble GossipIconChat19 // 19 White chat bubble GossipIconChat20 // 20 White chat bubble GossipIconTransmog // 21 Transmogrifier? )
View Source
const ( OPCODE_SIZE_OUTGOING = 6 OPCODE_SIZE_INCOMING = 4 )
View Source
const ( GroupNormal = 0 GroupRaid = 1 )
View Source
const ( MemberOffline = 0x0000 MemberOnline = 0x0001 // Lua_UnitIsConnected MemberPVP = 0x0002 // Lua_UnitIsPVP MemberDead = 0x0004 // Lua_UnitIsDead MemberGhost = 0x0008 // Lua_UnitIsGhost MemberPVPFFA = 0x0010 // Lua_UnitIsPVPFreeForAll MemberZoneOut = 0x0020 // Lua_GetPlayerMapPosition MemberAFK = 0x0040 // Lua_UnitIsAFK MemberDND = 0x0080 // Lua_UnitIsDND )
View Source
const ( GroupUpdateNone = 0x00000000 // nothing GroupUpdateStatus = 0x00000001 // uint16, flags GroupUpdateCurrentHealth = 0x00000002 // uint32 GroupUpdateMaxHealth = 0x00000004 // uint32 GroupUpdatePowerType = 0x00000008 // uint8 GroupUpdateCurrentPower = 0x00000010 // uint16 GroupUpdateMaxPower = 0x00000020 // uint16 GroupUpdateLevel = 0x00000040 // uint16 GroupUpdateZone = 0x00000080 // uint16 GroupUpdatePosition = 0x00000100 // uint16, uint16 GroupUpdateAuras = 0x00000200 // uint64 mask, for each bit set uint32 spellid + uint8 unk GroupUpdatePetGUID = 0x00000400 // uint64 pet guid GroupUpdatePetName = 0x00000800 // pet name, nullptr terminated string GroupUpdatePetModelID = 0x00001000 // uint16, model id GroupUpdatePetCurrentHP = 0x00002000 // uint32 pet cur health GroupUpdatePetMaxHP = 0x00004000 // uint32 pet max health GroupUpdatePetPowerType = 0x00008000 // uint8 pet power type GroupUpdatePetCurrentPower = 0x00010000 // uint16 pet cur power GroupUpdatePetMaxPower = 0x00020000 // uint16 pet max power GroupUpdatePetAuras = 0x00040000 // uint64 mask, for each bit set uint32 spellid + uint8 unk, pet auras... GroupUpdateVehicleSeat = 0x00080000 // uint32 vehicle_seat_id (index from VehicleSeat.dbc) GroupUpdatePet = 0x0007FC00 // all pet flags GroupUpdateFull = 0x0007FFFF // all known flags )
View Source
const ( SocialFlagFriend = 0x01 SocialFlagIgnored = 0x02 SocialFlagMuted = 0x04 )
View Source
const ( FRIEND_DB_ERROR = 0x00 FRIEND_LIST_FULL = 0x01 FRIEND_ONLINE = 0x02 FRIEND_OFFLINE = 0x03 FRIEND_NOT_FOUND = 0x04 FRIEND_REMOVED = 0x05 FRIEND_ADDED_ONLINE = 0x06 FRIEND_ADDED_OFFLINE = 0x07 FRIEND_ALREADY = 0x08 FRIEND_SELF = 0x09 FRIEND_ENEMY = 0x0A FRIEND_IGNORE_FULL = 0x0B FRIEND_IGNORE_SELF = 0x0C FRIEND_IGNORE_NOT_FOUND = 0x0D FRIEND_IGNORE_ALREADY = 0x0E FRIEND_IGNORE_ADDED = 0x0F FRIEND_IGNORE_REMOVED = 0x10 FRIEND_IGNORE_AMBIGUOUS = 0x11 // That name is ambiguous, type more of the player's server name FRIEND_MUTE_FULL = 0x12 FRIEND_MUTE_SELF = 0x13 FRIEND_MUTE_NOT_FOUND = 0x14 FRIEND_MUTE_ALREADY = 0x15 FRIEND_MUTE_ADDED = 0x16 FRIEND_MUTE_REMOVED = 0x17 FRIEND_MUTE_AMBIGUOUS = 0x18 // That name is ambiguous, type more of the player's server name FRIEND_UNK1 = 0x19 // no message at client FRIEND_UNK2 = 0x1A FRIEND_UNK3 = 0x1B FRIEND_UNKNOWN = 0x1C // Unknown friend response from server )
View Source
const ( UNIT_STAND_STATE_STAND = 0 UNIT_STAND_STATE_SIT = 1 UNIT_STAND_STATE_SIT_CHAIR = 2 UNIT_STAND_STATE_SLEEP = 3 UNIT_STAND_STATE_SIT_LOW_CHAIR = 4 UNIT_STAND_STATE_SIT_MEDIUM_CHAIR = 5 UNIT_STAND_STATE_SIT_HIGH_CHAIR = 6 UNIT_STAND_STATE_DEAD = 7 UNIT_STAND_STATE_KNEEL = 8 UNIT_STAND_STATE_CUSTOM = 9 // confirm for vanilla - used on Cthun in later sniffs )
View Source
const ( // Client->Server WARDEN_CMSG_MODULE_MISSING uint8 = 0 WARDEN_CMSG_MODULE_OK uint8 = 1 WARDEN_CMSG_CHEAT_CHECKS_RESULT uint8 = 2 WARDEN_CMSG_MEM_CHECKS_RESULT uint8 = 3 // only sent if MEM_CHECK bytes doesn't match WARDEN_CMSG_HASH_RESULT uint8 = 4 WARDEN_CMSG_MODULE_FAILED uint8 = 5 // this is sent when client failed to load uploaded module due to cache fail // Server->Client WARDEN_SMSG_MODULE_USE uint8 = 0 WARDEN_SMSG_MODULE_CACHE uint8 = 1 WARDEN_SMSG_CHEAT_CHECKS_REQUEST uint8 = 2 WARDEN_SMSG_MODULE_INITIALIZE uint8 = 3 WARDEN_SMSG_MEM_CHECKS_REQUEST uint8 = 4 // byte len; while (!EOF) { byte unk(1); byte index(++); string module(can be 0); int offset; byte len; byte[] bytes_to_compare[len]; } WARDEN_SMSG_HASH_REQUEST uint8 = 5 MEM_CHECK uint8 = 0xF3 // 243: byte moduleNameIndex + uint Offset + byte Len (check to ensure memory isn't modified) PAGE_CHECK_A uint8 = 0xB2 // 178: uint Seed + byte[20] SHA1 + uint Addr + byte Len (scans all pages for specified hash) PAGE_CHECK_B uint8 = 0xBF // 191: uint Seed + byte[20] SHA1 + uint Addr + byte Len (scans only pages starts with MZ+PE headers for specified hash) MPQ_CHECK uint8 = 0x98 // 152: byte fileNameIndex (check to ensure MPQ file isn't modified) LUA_STR_CHECK uint8 = 0x8B // 139: byte luaNameIndex (check to ensure LUA string isn't used) DRIVER_CHECK uint8 = 0x71 // 113: uint Seed + byte[20] SHA1 + byte driverNameIndex (check to ensure driver isn't loaded) TIMING_CHECK uint8 = 0x57 // 87: empty (check to ensure GetTickCount() isn't detoured) PROC_CHECK uint8 = 0x7E // 126: uint Seed + byte[20] SHA1 + byte moluleNameIndex + byte procNameIndex + uint Offset + byte Len (check to ensure proc isn't detoured) MODULE_CHECK uint8 = 0xD9 // 217: uint Seed + byte[20] SHA1 (check to ensure module isn't injected) )
View Source
const ( AUTH_OK uint8 = 0x0C AUTH_FAILED uint8 = 0x0D AUTH_REJECT uint8 = 0x0E AUTH_BAD_SERVER_PROOF uint8 = 0x0F AUTH_UNAVAILABLE uint8 = 0x10 AUTH_SYSTEM_ERROR uint8 = 0x11 AUTH_BILLING_ERROR uint8 = 0x12 AUTH_BILLING_EXPIRED uint8 = 0x13 AUTH_VERSION_MISMATCH uint8 = 0x14 AUTH_UNKNOWN_ACCOUNT uint8 = 0x15 AUTH_INCORRECT_PASSWORD uint8 = 0x16 AUTH_SESSION_EXPIRED uint8 = 0x17 AUTH_SERVER_SHUTTING_DOWN uint8 = 0x18 AUTH_ALREADY_LOGGING_IN uint8 = 0x19 AUTH_LOGIN_SERVER_NOT_FOUND uint8 = 0x1A AUTH_WAIT_QUEUE uint8 = 0x1B AUTH_BANNED uint8 = 0x1C AUTH_ALREADY_ONLINE uint8 = 0x1D AUTH_NO_TIME uint8 = 0x1E AUTH_DB_BUSY uint8 = 0x1F AUTH_SUSPENDED uint8 = 0x20 AUTH_PARENTAL_CONTROL uint8 = 0x21 AUTH_LOCKED_ENFORCED uint8 = 0x22 )
View Source
const MaxLength = 32766
A Frame's length cannot exceed this size
Variables ¶
View Source
var CharLoginResultDescriptors = map[vsn.Build]map[CharLoginResult]uint8{ 3368: { CharLoginInProgress: 0x30, CharLoginSuccess: 0x31, CharLoginNoWorld: 0x32, CharLoginDuplicateCharacter: 0x33, CharLoginNoInstances: 0x34, CharLoginFailed: 0x35, CharLoginDisabled: 0x36, }, 5875: { CharLoginNoWorld: 0x01, CharLoginDuplicateCharacter: 0x02, CharLoginNoInstances: 0x03, CharLoginDisabled: 0x04, CharLoginNoCharacter: 0x05, CharLoginLockedForTransfer: 0x06, CharLoginLockedByBilling: 0x07, CharLoginFailed: 0x08, }, }
View Source
var CharacterFlagDescriptors = map[vsn.Build]map[CharacterFlags]uint32{ 5875: { CharacterLockedForTransfer: 0x00000004, CharacterHideHelm: 0x00000400, CharacterHideCloak: 0x00000800, CharacterGhost: 0x00002000, CharacterRename: 0x00004000, CharacterLockedByBilling: 0x01000000, CharacterDeclined: 0x02000000, }, }
View Source
var CharacterOpDescriptors = map[vsn.Build]CharacterOpDescriptor{ 3368: { CHAR_CREATE_IN_PROGRESS: 0x27, CHAR_CREATE_SUCCESS: 0x28, CHAR_CREATE_ERROR: 0x29, CHAR_CREATE_FAILED: 0x2A, CHAR_CREATE_NAME_IN_USE: 0x2B, CHAR_CREATE_DISABLED: 0x2C, }, 5875: { CHAR_CREATE_IN_PROGRESS: 0x2D, CHAR_CREATE_SUCCESS: 0x2E, CHAR_CREATE_ERROR: 0x2F, CHAR_CREATE_FAILED: 0x30, CHAR_CREATE_NAME_IN_USE: 0x31, CHAR_CREATE_DISABLED: 0x3A, CHAR_CREATE_PVP_TEAMS_VIOLATION: 0x33, CHAR_CREATE_SERVER_LIMIT: 0x34, CHAR_CREATE_ACCOUNT_LIMIT: 0x35, CHAR_CREATE_SERVER_QUEUE: 0x30, CHAR_CREATE_ONLY_EXISTING: 0x30, CHAR_DELETE_IN_PROGRESS: 0x38, CHAR_DELETE_SUCCESS: 0x39, CHAR_DELETE_FAILED: 0x3A, CHAR_DELETE_FAILED_LOCKED_FOR_TRANSFER: 0x3A, CHAR_DELETE_FAILED_GUILD_LEADER: 0x3A, CHAR_NAME_SUCCESS: 0x50, CHAR_NAME_FAILURE: 0x4F, CHAR_NAME_NO_NAME: 0x43, CHAR_NAME_TOO_SHORT: 0x44, CHAR_NAME_TOO_LONG: 0x45, CHAR_NAME_INVALID_CHARACTER: 0x46, CHAR_NAME_MIXED_LANGUAGES: 0x47, CHAR_NAME_PROFANE: 0x48, CHAR_NAME_RESERVED: 0x49, CHAR_NAME_INVALID_APOSTROPHE: 0x4A, CHAR_NAME_MULTIPLE_APOSTROPHES: 0x4B, CHAR_NAME_THREE_CONSECUTIVE: 0x4C, CHAR_NAME_INVALID_SPACE: 0x4D, CHAR_NAME_CONSECUTIVE_SPACES: 0x4E, CHAR_NAME_RUSSIAN_CONSECUTIVE_SILENT_CHARACTERS: 0x4E, CHAR_NAME_RUSSIAN_SILENT_CHARACTER_AT_BEGINNING_OR_END: 0x4E, CHAR_NAME_DECLENSION_DOESNT_MATCH_BASE_NAME: 0x4E, }, 8606: { CHAR_CREATE_IN_PROGRESS: 0x2E, CHAR_CREATE_SUCCESS: 0x2F, CHAR_CREATE_ERROR: 0x30, CHAR_CREATE_FAILED: 0x31, CHAR_CREATE_NAME_IN_USE: 0x32, CHAR_CREATE_DISABLED: 0x33, CHAR_CREATE_PVP_TEAMS_VIOLATION: 0x34, CHAR_CREATE_SERVER_LIMIT: 0x35, CHAR_CREATE_ACCOUNT_LIMIT: 0x36, CHAR_CREATE_SERVER_QUEUE: 0x37, CHAR_CREATE_ONLY_EXISTING: 0x38, CHAR_CREATE_EXPANSION: 0x39, CHAR_DELETE_IN_PROGRESS: 0x3A, CHAR_DELETE_SUCCESS: 0x3B, CHAR_DELETE_FAILED: 0x3C, CHAR_DELETE_FAILED_LOCKED_FOR_TRANSFER: 0x3D, CHAR_DELETE_FAILED_GUILD_LEADER: 0x3E, CHAR_DELETE_FAILED_ARENA_CAPTAIN: 0x3F, CHAR_NAME_SUCCESS: 0x4A, CHAR_NAME_FAILURE: 0x4B, CHAR_NAME_NO_NAME: 0x4C, CHAR_NAME_TOO_SHORT: 0x4D, CHAR_NAME_TOO_LONG: 0x4E, CHAR_NAME_INVALID_CHARACTER: 0x4F, CHAR_NAME_MIXED_LANGUAGES: 0x50, CHAR_NAME_PROFANE: 0x51, CHAR_NAME_RESERVED: 0x52, CHAR_NAME_INVALID_APOSTROPHE: 0x53, CHAR_NAME_MULTIPLE_APOSTROPHES: 0x54, CHAR_NAME_THREE_CONSECUTIVE: 0x55, CHAR_NAME_INVALID_SPACE: 0x56, CHAR_NAME_CONSECUTIVE_SPACES: 0x57, CHAR_NAME_RUSSIAN_CONSECUTIVE_SILENT_CHARACTERS: 0x58, CHAR_NAME_RUSSIAN_SILENT_CHARACTER_AT_BEGINNING_OR_END: 0x59, CHAR_NAME_DECLENSION_DOESNT_MATCH_BASE_NAME: 0x5A, }, 12340: { CHAR_CREATE_IN_PROGRESS: 46, CHAR_CREATE_SUCCESS: 47, CHAR_CREATE_ERROR: 48, CHAR_CREATE_FAILED: 49, CHAR_CREATE_NAME_IN_USE: 50, CHAR_CREATE_DISABLED: 51, CHAR_CREATE_PVP_TEAMS_VIOLATION: 52, CHAR_CREATE_SERVER_LIMIT: 53, CHAR_CREATE_ACCOUNT_LIMIT: 54, CHAR_CREATE_SERVER_QUEUE: 55, CHAR_CREATE_ONLY_EXISTING: 56, CHAR_CREATE_EXPANSION: 57, CHAR_CREATE_EXPANSION_CLASS: 58, CHAR_CREATE_LEVEL_REQUIREMENT: 59, CHAR_CREATE_UNIQUE_CLASS_LIMIT: 60, CHAR_CREATE_CHARACTER_IN_GUILD: 61, CHAR_CREATE_RESTRICTED_RACECLASS: 62, CHAR_CREATE_CHARACTER_CHOOSE_RACE: 63, CHAR_CREATE_CHARACTER_ARENA_LEADER: 64, CHAR_CREATE_CHARACTER_DELETE_MAIL: 65, CHAR_CREATE_CHARACTER_SWAP_FACTION: 66, CHAR_CREATE_CHARACTER_RACE_ONLY: 67, CHAR_CREATE_CHARACTER_GOLD_LIMIT: 68, CHAR_CREATE_FORCE_LOGIN: 69, CHAR_DELETE_IN_PROGRESS: 70, CHAR_DELETE_SUCCESS: 71, CHAR_DELETE_FAILED: 72, CHAR_DELETE_FAILED_LOCKED_FOR_TRANSFER: 73, CHAR_DELETE_FAILED_GUILD_LEADER: 74, CHAR_DELETE_FAILED_ARENA_CAPTAIN: 75, CHAR_NAME_SUCCESS: 87, CHAR_NAME_FAILURE: 88, CHAR_NAME_NO_NAME: 89, CHAR_NAME_TOO_SHORT: 90, CHAR_NAME_TOO_LONG: 91, CHAR_NAME_INVALID_CHARACTER: 92, CHAR_NAME_MIXED_LANGUAGES: 93, CHAR_NAME_PROFANE: 94, CHAR_NAME_RESERVED: 95, CHAR_NAME_INVALID_APOSTROPHE: 96, CHAR_NAME_MULTIPLE_APOSTROPHES: 97, CHAR_NAME_THREE_CONSECUTIVE: 98, CHAR_NAME_INVALID_SPACE: 99, CHAR_NAME_CONSECUTIVE_SPACES: 100, CHAR_NAME_RUSSIAN_CONSECUTIVE_SILENT_CHARACTERS: 101, CHAR_NAME_RUSSIAN_SILENT_CHARACTER_AT_BEGINNING_OR_END: 102, CHAR_NAME_DECLENSION_DOESNT_MATCH_BASE_NAME: 103, }, }
View Source
var ClientAddonData = []byte{}/* 217 elements not displayed */
View Source
var InventoryResultDescriptors = map[vsn.Build]InventoryResultDescriptor{ 5875: { EQUIP_ERR_OK: 0, EQUIP_ERR_CANT_EQUIP_LEVEL_I: 1, EQUIP_ERR_CANT_EQUIP_SKILL: 2, EQUIP_ERR_WRONG_SLOT: 3, EQUIP_ERR_BAG_FULL: 4, EQUIP_ERR_BAG_IN_BAG: 5, EQUIP_ERR_TRADE_EQUIPPED_BAG: 6, EQUIP_ERR_AMMO_ONLY: 7, EQUIP_ERR_PROFICIENCY_NEEDED: 8, EQUIP_ERR_NO_SLOT_AVAILABLE: 9, EQUIP_ERR_CANT_EQUIP_EVER: 10, EQUIP_ERR_CANT_EQUIP_EVER_2: 11, EQUIP_ERR_NO_SLOT_AVAILABLE_2: 12, EQUIP_ERR_2HANDED_EQUIPPED: 13, EQUIP_ERR_2HSKILLNOTFOUND: 14, EQUIP_ERR_WRONG_BAG_TYPE: 15, EQUIP_ERR_WRONG_BAG_TYPE_2: 16, EQUIP_ERR_ITEM_MAX_COUNT: 17, EQUIP_ERR_NO_SLOT_AVAILABLE_3: 18, EQUIP_ERR_CANT_STACK: 19, EQUIP_ERR_NOT_EQUIPPABLE: 20, EQUIP_ERR_CANT_SWAP: 21, EQUIP_ERR_SLOT_EMPTY: 22, EQUIP_ERR_ITEM_NOT_FOUND: 23, EQUIP_ERR_DROP_BOUND_ITEM: 24, EQUIP_ERR_OUT_OF_RANGE: 25, EQUIP_ERR_TOO_FEW_TO_SPLIT: 26, EQUIP_ERR_SPLIT_FAILED: 27, EQUIP_ERR_SPELL_FAILED_REAGENTS_GENERIC: 28, EQUIP_ERR_NOT_ENOUGH_MONEY: 29, EQUIP_ERR_NOT_A_BAG: 30, EQUIP_ERR_DESTROY_NONEMPTY_BAG: 31, EQUIP_ERR_NOT_OWNER: 32, EQUIP_ERR_ONLY_ONE_QUIVER: 33, EQUIP_ERR_NO_BANK_SLOT: 34, EQUIP_ERR_NO_BANK_HERE: 35, EQUIP_ERR_ITEM_LOCKED: 36, EQUIP_ERR_GENERIC_STUNNED: 37, EQUIP_ERR_PLAYER_DEAD: 38, EQUIP_ERR_CANT_DO_THAT_RIGHT_NOW: 39, EQUIP_ERR_INTERNAL_BAG_ERROR: 40, EQUIP_ERR_ONLY_ONE_BOLT: 41, EQUIP_ERR_ONLY_ONE_AMMO: 42, EQUIP_ERR_CANT_WRAP_STACKABLE: 43, EQUIP_ERR_CANT_WRAP_EQUIPPED: 44, EQUIP_ERR_CANT_WRAP_WRAPPED: 45, EQUIP_ERR_CANT_WRAP_BOUND: 46, EQUIP_ERR_CANT_WRAP_UNIQUE: 47, EQUIP_ERR_CANT_WRAP_BAGS: 48, EQUIP_ERR_LOOT_GONE: 49, EQUIP_ERR_INV_FULL: 50, EQUIP_ERR_BANK_FULL: 51, EQUIP_ERR_VENDOR_SOLD_OUT: 52, EQUIP_ERR_BAG_FULL_2: 53, EQUIP_ERR_ITEM_NOT_FOUND_2: 54, EQUIP_ERR_CANT_STACK_2: 55, EQUIP_ERR_BAG_FULL_3: 56, EQUIP_ERR_VENDOR_SOLD_OUT_2: 57, EQUIP_ERR_OBJECT_IS_BUSY: 58, EQUIP_NONE_3: 59, EQUIP_ERR_NOT_IN_COMBAT: 60, EQUIP_ERR_NOT_WHILE_DISARMED: 61, EQUIP_ERR_BAG_FULL_4: 62, EQUIP_ERR_CANT_EQUIP_RANK: 63, EQUIP_ERR_CANT_EQUIP_REPUTATION: 64, EQUIP_ERR_TOO_MANY_SPECIAL_BAGS: 65, EQUIP_ERR_LOOT_CANT_LOOT_THAT_NOW: 66, }, 32978: { EQUIP_ERR_OK: 0, EQUIP_ERR_CANT_EQUIP_LEVEL_I: 1, EQUIP_ERR_CANT_EQUIP_SKILL: 2, EQUIP_ERR_WRONG_SLOT: 3, EQUIP_ERR_BAG_FULL: 4, EQUIP_ERR_BAG_IN_BAG: 5, EQUIP_ERR_TRADE_EQUIPPED_BAG: 6, EQUIP_ERR_AMMO_ONLY: 7, EQUIP_ERR_PROFICIENCY_NEEDED: 8, EQUIP_ERR_NO_SLOT_AVAILABLE: 9, EQUIP_ERR_CANT_EQUIP_EVER: 10, EQUIP_ERR_CANT_EQUIP_EVER_2: 11, EQUIP_ERR_NO_SLOT_AVAILABLE_2: 12, EQUIP_ERR_2HANDED_EQUIPPED: 13, EQUIP_ERR_2HSKILLNOTFOUND: 14, EQUIP_ERR_WRONG_BAG_TYPE: 15, EQUIP_ERR_WRONG_BAG_TYPE_2: 16, EQUIP_ERR_ITEM_MAX_COUNT: 17, EQUIP_ERR_NO_SLOT_AVAILABLE_3: 18, EQUIP_ERR_CANT_STACK: 19, EQUIP_ERR_NOT_EQUIPPABLE: 20, EQUIP_ERR_CANT_SWAP: 21, EQUIP_ERR_SLOT_EMPTY: 22, EQUIP_ERR_ITEM_NOT_FOUND: 23, EQUIP_ERR_DROP_BOUND_ITEM: 24, EQUIP_ERR_OUT_OF_RANGE: 25, EQUIP_ERR_TOO_FEW_TO_SPLIT: 26, EQUIP_ERR_SPLIT_FAILED: 27, EQUIP_ERR_SPELL_FAILED_REAGENTS_GENERIC: 28, EQUIP_ERR_CANT_TRADE_GOLD: 29, EQUIP_ERR_NOT_ENOUGH_MONEY: 30, EQUIP_ERR_NOT_A_BAG: 31, EQUIP_ERR_DESTROY_NONEMPTY_BAG: 32, EQUIP_ERR_NOT_OWNER: 33, EQUIP_ERR_ONLY_ONE_QUIVER: 34, EQUIP_ERR_NO_BANK_SLOT: 35, EQUIP_ERR_NO_BANK_HERE: 36, EQUIP_ERR_ITEM_LOCKED: 37, EQUIP_ERR_GENERIC_STUNNED: 38, EQUIP_ERR_PLAYER_DEAD: 39, EQUIP_ERR_CLIENT_LOCKED_OUT: 40, EQUIP_ERR_INTERNAL_BAG_ERROR: 41, EQUIP_ERR_ONLY_ONE_BOLT: 42, EQUIP_ERR_ONLY_ONE_AMMO: 43, EQUIP_ERR_CANT_WRAP_STACKABLE: 44, EQUIP_ERR_CANT_WRAP_EQUIPPED: 45, EQUIP_ERR_CANT_WRAP_WRAPPED: 46, EQUIP_ERR_CANT_WRAP_BOUND: 47, EQUIP_ERR_CANT_WRAP_UNIQUE: 48, EQUIP_ERR_CANT_WRAP_BAGS: 49, EQUIP_ERR_LOOT_GONE: 50, EQUIP_ERR_INV_FULL: 51, EQUIP_ERR_BANK_FULL: 52, EQUIP_ERR_VENDOR_SOLD_OUT: 53, EQUIP_ERR_BAG_FULL_2: 54, EQUIP_ERR_ITEM_NOT_FOUND_2: 55, EQUIP_ERR_CANT_STACK_2: 56, EQUIP_ERR_BAG_FULL_3: 57, EQUIP_ERR_VENDOR_SOLD_OUT_2: 58, EQUIP_ERR_OBJECT_IS_BUSY: 59, EQUIP_ERR_CANT_BE_DISENCHANTED: 60, EQUIP_ERR_NOT_IN_COMBAT: 61, EQUIP_ERR_NOT_WHILE_DISARMED: 62, EQUIP_ERR_BAG_FULL_4: 63, EQUIP_ERR_CANT_EQUIP_RANK: 64, EQUIP_ERR_CANT_EQUIP_REPUTATION: 65, EQUIP_ERR_TOO_MANY_SPECIAL_BAGS: 66, EQUIP_ERR_LOOT_CANT_LOOT_THAT_NOW: 67, EQUIP_ERR_ITEM_UNIQUE_EQUIPPABLE: 68, EQUIP_ERR_VENDOR_MISSING_TURNINS: 69, EQUIP_ERR_NOT_ENOUGH_HONOR_POINTS: 70, EQUIP_ERR_NOT_ENOUGH_ARENA_POINTS: 71, EQUIP_ERR_ITEM_MAX_COUNT_SOCKETED: 72, EQUIP_ERR_MAIL_BOUND_ITEM: 73, EQUIP_ERR_INTERNAL_BAG_ERROR_2: 74, EQUIP_ERR_BAG_FULL_5: 75, EQUIP_ERR_ITEM_MAX_COUNT_EQUIPPED_SOCKETED: 76, EQUIP_ERR_ITEM_UNIQUE_EQUIPPABLE_SOCKETED: 77, EQUIP_ERR_TOO_MUCH_GOLD: 78, EQUIP_ERR_NOT_DURING_ARENA_MATCH: 79, EQUIP_ERR_TRADE_BOUND_ITEM: 80, EQUIP_ERR_CANT_EQUIP_RATING: 81, EQUIP_ERR_EVENT_AUTOEQUIP_BIND_CONFIRM: 82, EQUIP_ERR_NOT_SAME_ACCOUNT: 83, EQUIP_NONE_3: 84, EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_COUNT_EXCEEDED_IS: 85, EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_SOCKETED_EXCEEDED_IS: 86, EQUIP_ERR_SCALING_STAT_ITEM_LEVEL_EXCEEDED: 87, EQUIP_ERR_PURCHASE_LEVEL_TOO_LOW: 88, EQUIP_ERR_CANT_EQUIP_NEED_TALENT: 89, EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_EQUIPPED_EXCEEDED_IS: 90, EQUIP_ERR_SHAPESHIFT_FORM_CANNOT_EQUIP: 91, EQUIP_ERR_ITEM_INVENTORY_FULL_SATCHEL: 92, EQUIP_ERR_SCALING_STAT_ITEM_LEVEL_TOO_LOW: 93, EQUIP_ERR_CANT_BUY_QUANTITY: 94, EQUIP_ERR_ITEM_IS_BATTLE_PAY_LOCKED: 95, EQUIP_ERR_REAGENT_BANK_FULL: 96, EQUIP_ERR_REAGENT_BANK_LOCKED: 97, EQUIP_ERR_WRONG_BAG_TYPE_3: 98, EQUIP_ERR_CANT_USE_ITEM: 99, EQUIP_ERR_CANT_BE_OBLITERATED: 100, EQUIP_ERR_GUILD_BANK_CONJURED_ITEM: 101, EQUIP_ERR_CANT_DO_THAT_RIGHT_NOW: 102, EQUIP_ERR_BAG_FULL_6: 103, EQUIP_ERR_CANT_BE_SCRAPPED: 104, EQUIP_NONE_4: 105, }, }
View Source
var PartyResultDescriptors = map[vsn.Build]map[PartyResult]uint32{ 3368: { PartyOK: 0, PartyBadPlayerName: 1, PartyTargetNotInGroup: 2, PartyTargetNotInInstance: 3, PartyGroupFull: 4, PartyAlreadyInGroup: 5, PartyNotInGroup: 6, PartyNotLeader: 7, PartyWrongFaction: 8, PartyIgnoringYou: 9, PartyInviteRestricted: 13, }, 5875: { PartyOK: 0, PartyBadPlayerName: 1, PartyTargetNotInGroup: 2, PartyGroupFull: 3, PartyAlreadyInGroup: 4, PartyNotInGroup: 5, PartyNotLeader: 6, PartyWrongFaction: 7, PartyIgnoringYou: 8, }, 8606: { PartyOK: 0, PartyBadPlayerName: 1, PartyTargetNotInGroup: 2, PartyTargetNotInInstance: 3, PartyGroupFull: 4, PartyAlreadyInGroup: 5, PartyNotInGroup: 6, PartyNotLeader: 7, PartyWrongFaction: 8, PartyIgnoringYou: 9, PartyLFGPending: 12, PartyInviteRestricted: 13, }, }
Functions ¶
func BuildChecksum ¶
func ConvertWorldTypeToUint ¶
func EncodeCharacterFlags ¶
func EncodeCharacterOp ¶
func EncodePartyResult ¶
func ReverseBuffer ¶
func Uncompress ¶
Types ¶
type AuctionListItemsRequest ¶
type AuctionListItemsResult ¶
type AuctionListItemsResult struct { Listings []AuctionListing TotalCount uint32 }
func UnmarshalAuctionListItemsResult ¶
func UnmarshalAuctionListItemsResult(version vsn.Build, b []byte) (*AuctionListItemsResult, error)
type AuctionListing ¶
type AuctionListing struct { ID uint32 Entry uint32 EnchantmentID uint32 ItemRandomPropertyID uint32 ItemSuffixFactor uint32 Owner guid.GUID StartBid econ.Money OutBid econ.Money ExpireTime uint32 CurrentBidder guid.GUID CurrentBid econ.Money }
func DecodeAuctionListing ¶
type AuthResponse ¶
type AuthResponse struct { Result uint32 SuccessInfoInit bool WaitInfoInit bool SuccessInfo struct { VirtualRealmAddress uint32 TimeRested uint32 ActiveExpansionLevel uint32 AccountExpansionLevel uint32 TimeSecondsUntilPCKick uint32 CurrencyID uint32 Time uint32 AvailableClasses []RaceClassAvailability IsExpansionTrial bool SuccessInfoTrial bool } }
func (*AuthResponse) Encode ¶
func (ar *AuthResponse) Encode(build vsn.Build, to *WorldPacket) error
type CMSGAuthSession ¶
type CMSGAuthSession struct { Build vsn.Build LoginServerID uint32 Account string // 0-terminated string LoginServerType uint32 Seed []byte RegionID uint32 BattlegroupID uint32 RealmID uint32 DosResponse uint64 Digest []byte AddonData []byte }
func UnmarshalCMSGAuthSession ¶
func UnmarshalCMSGAuthSession(build vsn.Build, input []byte) (*CMSGAuthSession, error)
type CharLoginResult ¶
type CharLoginResult uint8
const ( CharLoginNoWorld CharLoginResult = iota CharLoginSuccess CharLoginInProgress CharLoginDuplicateCharacter CharLoginNoInstances CharLoginDisabled CharLoginNoCharacter CharLoginLockedForTransfer CharLoginLockedByBilling CharLoginFailed )
type Character ¶
type Character struct { GUID guid.GUID Name string Race Race Class Class Gender uint8 Skin uint8 Face uint8 HairStyle uint8 HairColor uint8 FacialHair uint8 Level uint8 Zone uint32 Map uint32 X, Y, Z float32 Guild uint32 Flags CharacterFlags Customization uint32 FirstLogin bool PetModel, PetLevel, PetFamily uint32 Equipment []Item }
type CharacterFlags ¶
type CharacterFlags uint32
const ( CharacterLockedForTransfer CharacterFlags = 1 << iota CharacterHideHelm CharacterHideCloak CharacterGhost CharacterRename CharacterLockedByBilling CharacterDeclined )
func DecodeCharacterFlags ¶
type CharacterList ¶
type CharacterList struct {
Characters []Character
}
func UnmarshalCharacterList ¶
func UnmarshalCharacterList(build vsn.Build, input []byte) (*CharacterList, error)
func (*CharacterList) Packet ¶
func (c *CharacterList) Packet(version vsn.Build) *WorldPacket
type CharacterOp ¶
type CharacterOp uint8
const ( CHAR_CREATE_IN_PROGRESS CharacterOp = iota CHAR_CREATE_SUCCESS CHAR_CREATE_ERROR CHAR_CREATE_FAILED CHAR_CREATE_NAME_IN_USE CHAR_CREATE_DISABLED CHAR_CREATE_PVP_TEAMS_VIOLATION CHAR_CREATE_SERVER_LIMIT CHAR_CREATE_ACCOUNT_LIMIT CHAR_CREATE_SERVER_QUEUE CHAR_CREATE_ONLY_EXISTING CHAR_CREATE_EXPANSION CHAR_CREATE_EXPANSION_CLASS CHAR_CREATE_LEVEL_REQUIREMENT CHAR_CREATE_UNIQUE_CLASS_LIMIT CHAR_CREATE_CHARACTER_IN_GUILD CHAR_CREATE_RESTRICTED_RACECLASS CHAR_CREATE_CHARACTER_CHOOSE_RACE CHAR_CREATE_CHARACTER_ARENA_LEADER CHAR_CREATE_CHARACTER_DELETE_MAIL CHAR_CREATE_CHARACTER_SWAP_FACTION CHAR_CREATE_CHARACTER_RACE_ONLY CHAR_CREATE_CHARACTER_GOLD_LIMIT CHAR_CREATE_FORCE_LOGIN CHAR_NAME_SUCCESS CHAR_NAME_FAILURE CHAR_NAME_NO_NAME CHAR_NAME_TOO_SHORT CHAR_NAME_TOO_LONG CHAR_NAME_INVALID_CHARACTER CHAR_NAME_MIXED_LANGUAGES CHAR_NAME_PROFANE CHAR_NAME_RESERVED CHAR_NAME_INVALID_APOSTROPHE CHAR_NAME_MULTIPLE_APOSTROPHES CHAR_NAME_THREE_CONSECUTIVE CHAR_NAME_INVALID_SPACE CHAR_NAME_CONSECUTIVE_SPACES CHAR_NAME_RUSSIAN_CONSECUTIVE_SILENT_CHARACTERS CHAR_NAME_RUSSIAN_SILENT_CHARACTER_AT_BEGINNING_OR_END CHAR_NAME_DECLENSION_DOESNT_MATCH_BASE_NAME CHAR_DELETE_IN_PROGRESS CHAR_DELETE_SUCCESS CHAR_DELETE_FAILED CHAR_DELETE_FAILED_LOCKED_FOR_TRANSFER CHAR_DELETE_FAILED_GUILD_LEADER CHAR_DELETE_FAILED_ARENA_CAPTAIN CHAR_CREATE_TRIAL CHAR_CREATE_TIMEOUT CHAR_CREATE_THROTTLE CHAR_CREATE_ALLIED_RACE_ACHIEVEMENT CHAR_CREATE_LEVEL_REQUIREMENT_DEMON_HUNTER CHAR_CREATE_CHARACTER_IN_COMMUNITY )
func DecodeCharacterOp ¶
func (CharacterOp) String ¶
func (i CharacterOp) String() string
type CharacterOpDescriptor ¶
type CharacterOpDescriptor map[CharacterOp]uint8
type Class ¶
type Class uint8
const ( CLASS_NONE Class = 0 CLASS_WARRIOR Class = 1 CLASS_PALADIN Class = 2 CLASS_HUNTER Class = 3 CLASS_ROGUE Class = 4 CLASS_PRIEST Class = 5 CLASS_DEATH_KNIGHT Class = 6 CLASS_SHAMAN Class = 7 CLASS_MAGE Class = 8 CLASS_WARLOCK Class = 9 CLASS_MONK Class = 10 CLASS_DRUID Class = 11 CLASS_DEMON_HUNTER Class = 12 )
type ClassAvailability ¶
type Connection ¶
type Connection struct { Build vsn.Build Conn net.Conn Reader *bufio.Reader SessionKey []byte Cipher crypto.Cipher Server bool // contains filtered or unexported fields }
Connection provides a buffered communication pipe with which to send and receive partially encrypted packets through the game protocol. Starting in 8.0, packets are totally encrypted with AES-128 with the exception of length headers.
func NewConnection ¶
func (*Connection) Close ¶
func (c *Connection) Close() error
func (*Connection) ReadFrame ¶
func (cl *Connection) ReadFrame() (Frame, error)
func (*Connection) SendFrame ¶
func (cl *Connection) SendFrame(f Frame) error
type FriendStatus ¶
type FriendStatus uint8
const ( FriendOffline FriendStatus = 0x00 FriendOnline FriendStatus = 0x01 FriendAFK FriendStatus = 0x02 FriendDND FriendStatus = 0x04 FriendRAF FriendStatus = 0x08 )
type Gossip ¶
type Gossip struct { Speaker guid.GUID TextEntry uint32 Items []GossipItem QuestItems []GossipQuestItem }
func (*Gossip) GetSpeaker ¶
func (*Gossip) SetTextEntry ¶
type GossipQuestItem ¶
type InventoryResult ¶
type InventoryResult uint8
const ( EQUIP_ERR_OK InventoryResult = iota EQUIP_ERR_CANT_EQUIP_LEVEL_I // You must reach level %d to use that item. EQUIP_ERR_CANT_EQUIP_SKILL // You aren't skilled enough to use that item. EQUIP_ERR_WRONG_SLOT // That item does not go in that slot. EQUIP_ERR_BAG_FULL // That bag is full. EQUIP_ERR_BAG_IN_BAG // Can't put non-empty bags in other bags. EQUIP_ERR_TRADE_EQUIPPED_BAG // You can't trade equipped bags. EQUIP_ERR_AMMO_ONLY // Only ammo can go there. EQUIP_ERR_PROFICIENCY_NEEDED // You do not have the required proficiency for that item. EQUIP_ERR_NO_SLOT_AVAILABLE // No equipment slot is available for that item. EQUIP_ERR_CANT_EQUIP_EVER // You can never use that item. EQUIP_ERR_CANT_EQUIP_EVER_2 // You can never use that item. EQUIP_ERR_NO_SLOT_AVAILABLE_2 // No equipment slot is available for that item. EQUIP_ERR_2HANDED_EQUIPPED // Cannot equip that with a two-handed weapon. EQUIP_ERR_2HSKILLNOTFOUND // You cannot dual-wield EQUIP_ERR_WRONG_BAG_TYPE // That item doesn't go in that container. EQUIP_ERR_WRONG_BAG_TYPE_2 // That item doesn't go in that container. EQUIP_ERR_ITEM_MAX_COUNT // You can't carry any more of those items. EQUIP_ERR_NO_SLOT_AVAILABLE_3 // No equipment slot is available for that item. EQUIP_ERR_CANT_STACK // This item cannot stack. EQUIP_ERR_NOT_EQUIPPABLE // This item cannot be equipped. EQUIP_ERR_CANT_SWAP // These items can't be swapped. EQUIP_ERR_SLOT_EMPTY // That slot is empty. EQUIP_ERR_ITEM_NOT_FOUND // The item was not found. EQUIP_ERR_DROP_BOUND_ITEM // You can't drop a soulbound item. EQUIP_ERR_OUT_OF_RANGE // Out of range. EQUIP_ERR_TOO_FEW_TO_SPLIT // Tried to split more than number in stack. EQUIP_ERR_SPLIT_FAILED // Couldn't split those items. EQUIP_ERR_SPELL_FAILED_REAGENTS_GENERIC // Missing reagent EQUIP_ERR_CANT_TRADE_GOLD // Gold may only be offered by one trader. EQUIP_ERR_NOT_ENOUGH_MONEY // You don't have enough money. EQUIP_ERR_NOT_A_BAG // Not a bag. EQUIP_ERR_DESTROY_NONEMPTY_BAG // You can only do that with empty bags. EQUIP_ERR_NOT_OWNER // You don't own that item. EQUIP_ERR_ONLY_ONE_QUIVER // You can only equip one quiver. EQUIP_ERR_NO_BANK_SLOT // You must purchase that bag slot first EQUIP_ERR_NO_BANK_HERE // You are too far away from a bank. EQUIP_ERR_ITEM_LOCKED // Item is locked. EQUIP_ERR_GENERIC_STUNNED // You are stunned EQUIP_ERR_PLAYER_DEAD // You can't do that when you're dead. EQUIP_ERR_CLIENT_LOCKED_OUT // You can't do that right now. EQUIP_ERR_INTERNAL_BAG_ERROR // Internal Bag Error EQUIP_ERR_ONLY_ONE_BOLT // You can only equip one quiver. EQUIP_ERR_ONLY_ONE_AMMO // You can only equip one ammo pouch. EQUIP_ERR_CANT_WRAP_STACKABLE // Stackable items can't be wrapped. EQUIP_ERR_CANT_WRAP_EQUIPPED // Equipped items can't be wrapped. EQUIP_ERR_CANT_WRAP_WRAPPED // Wrapped items can't be wrapped. EQUIP_ERR_CANT_WRAP_BOUND // Bound items can't be wrapped. EQUIP_ERR_CANT_WRAP_UNIQUE // Unique items can't be wrapped. EQUIP_ERR_CANT_WRAP_BAGS // Bags can't be wrapped. EQUIP_ERR_LOOT_GONE // Already looted EQUIP_ERR_INV_FULL // Inventory is full. EQUIP_ERR_BANK_FULL // Your bank is full EQUIP_ERR_VENDOR_SOLD_OUT // That item is currently sold out. EQUIP_ERR_BAG_FULL_2 // That bag is full. EQUIP_ERR_ITEM_NOT_FOUND_2 // The item was not found. EQUIP_ERR_CANT_STACK_2 // This item cannot stack. EQUIP_ERR_BAG_FULL_3 // That bag is full. EQUIP_ERR_VENDOR_SOLD_OUT_2 // That item is currently sold out. EQUIP_ERR_OBJECT_IS_BUSY // That object is busy. EQUIP_ERR_CANT_BE_DISENCHANTED // Item cannot be disenchanted EQUIP_ERR_NOT_IN_COMBAT // You can't do that while in combat EQUIP_ERR_NOT_WHILE_DISARMED // You can't do that while disarmed EQUIP_ERR_BAG_FULL_4 // That bag is full. EQUIP_ERR_CANT_EQUIP_RANK // You don't have the required rank for that item EQUIP_ERR_CANT_EQUIP_REPUTATION // You don't have the required reputation for that item EQUIP_ERR_TOO_MANY_SPECIAL_BAGS // You cannot equip another bag of that type EQUIP_ERR_LOOT_CANT_LOOT_THAT_NOW // You can't loot that item now. EQUIP_ERR_ITEM_UNIQUE_EQUIPPABLE // You cannot equip more than one of those. EQUIP_ERR_VENDOR_MISSING_TURNINS // You do not have the required items for that purchase EQUIP_ERR_NOT_ENOUGH_HONOR_POINTS // You don't have enough honor points EQUIP_ERR_NOT_ENOUGH_ARENA_POINTS // You don't have enough arena points EQUIP_ERR_ITEM_MAX_COUNT_SOCKETED // You have the maximum number of those gems in your inventory or socketed into items. EQUIP_ERR_MAIL_BOUND_ITEM // You can't mail soulbound items. EQUIP_ERR_INTERNAL_BAG_ERROR_2 // Internal Bag Error EQUIP_ERR_BAG_FULL_5 // That bag is full. EQUIP_ERR_ITEM_MAX_COUNT_EQUIPPED_SOCKETED // You have the maximum number of those gems socketed into equipped items. EQUIP_ERR_ITEM_UNIQUE_EQUIPPABLE_SOCKETED // You cannot socket more than one of those gems into a single item. EQUIP_ERR_TOO_MUCH_GOLD // At gold limit EQUIP_ERR_NOT_DURING_ARENA_MATCH // You can't do that while in an arena match EQUIP_ERR_TRADE_BOUND_ITEM // You can't trade a soulbound item. EQUIP_ERR_CANT_EQUIP_RATING // You don't have the personal, team, or battleground rating required to buy that item EQUIP_ERR_EVENT_AUTOEQUIP_BIND_CONFIRM EQUIP_ERR_NOT_SAME_ACCOUNT // Account-bound items can only be given to your own characters. EQUIP_NONE_3 EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_COUNT_EXCEEDED_IS // You can only carry %d %s EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_SOCKETED_EXCEEDED_IS // You can only equip %d |4item:items in the %s category EQUIP_ERR_SCALING_STAT_ITEM_LEVEL_EXCEEDED // Your level is too high to use that item EQUIP_ERR_PURCHASE_LEVEL_TOO_LOW // You must reach level %d to purchase that item. EQUIP_ERR_CANT_EQUIP_NEED_TALENT // You do not have the required talent to equip that. EQUIP_ERR_ITEM_MAX_LIMIT_CATEGORY_EQUIPPED_EXCEEDED_IS // You can only equip %d |4item:items in the %s category EQUIP_ERR_SHAPESHIFT_FORM_CANNOT_EQUIP // Cannot equip item in this form EQUIP_ERR_ITEM_INVENTORY_FULL_SATCHEL // Your inventory is full. Your satchel has been delivered to your mailbox. EQUIP_ERR_SCALING_STAT_ITEM_LEVEL_TOO_LOW // Your level is too low to use that item EQUIP_ERR_CANT_BUY_QUANTITY // You can't buy the specified quantity of that item. EQUIP_ERR_ITEM_IS_BATTLE_PAY_LOCKED // Your purchased item is still waiting to be unlocked EQUIP_ERR_REAGENT_BANK_FULL // Your reagent bank is full EQUIP_ERR_REAGENT_BANK_LOCKED EQUIP_ERR_WRONG_BAG_TYPE_3 // That item doesn't go in that container. EQUIP_ERR_CANT_USE_ITEM // You can't use that item. EQUIP_ERR_CANT_BE_OBLITERATED // You can't obliterate that item EQUIP_ERR_GUILD_BANK_CONJURED_ITEM // You cannot store conjured items in the guild bank EQUIP_ERR_CANT_DO_THAT_RIGHT_NOW // You can't do that right now. EQUIP_ERR_BAG_FULL_6 // That bag is full. EQUIP_ERR_CANT_BE_SCRAPPED // You can't scrap that item EQUIP_NONE_4 )
type InventoryResultDescriptor ¶
type InventoryResultDescriptor map[InventoryResult]uint8
type PartyOperation ¶
type PartyOperation uint32
const ( PartyInvite PartyOperation = 0 PartyLeave PartyOperation = 2 PartySwap PartyOperation = 4 )
type PartyResult ¶
type PartyResult uint32
const ( PartyOK PartyResult = iota PartyBadPlayerName PartyTargetNotInGroup PartyTargetNotInInstance PartyGroupFull PartyAlreadyInGroup PartyNotInGroup PartyNotLeader PartyWrongFaction PartyIgnoringYou PartyInviteRestricted PartyLFGPending )
type PlayerFlags ¶
type PlayerFlags uint32
const ( PLAYER_FLAGS_NONE PlayerFlags = 0x00000000 PLAYER_FLAGS_GROUP_LEADER PlayerFlags = 0x00000001 PLAYER_FLAGS_AFK PlayerFlags = 0x00000002 PLAYER_FLAGS_DND PlayerFlags = 0x00000004 PLAYER_FLAGS_GM PlayerFlags = 0x00000008 PLAYER_FLAGS_GHOST PlayerFlags = 0x00000010 PLAYER_FLAGS_RESTING PlayerFlags = 0x00000020 PLAYER_FLAGS_UNK7 PlayerFlags = 0x00000040 // admin? PLAYER_FLAGS_FFA_PVP PlayerFlags = 0x00000080 PLAYER_FLAGS_CONTESTED_PVP PlayerFlags = 0x00000100 // Player has been involved in a PvP combat and will be attacked by contested guards PLAYER_FLAGS_PVP_DESIRED PlayerFlags = 0x00000200 // Stores player's permanent PvP flag preference PLAYER_FLAGS_HIDE_HELM PlayerFlags = 0x00000400 PLAYER_FLAGS_HIDE_CLOAK PlayerFlags = 0x00000800 PLAYER_FLAGS_PARTIAL_PLAY_TIME PlayerFlags = 0x00001000 // played long time PLAYER_FLAGS_NO_PLAY_TIME PlayerFlags = 0x00002000 // played too long time PLAYER_FLAGS_UNK15 PlayerFlags = 0x00004000 PLAYER_FLAGS_UNK16 PlayerFlags = 0x00008000 // strange visual effect (2.0.1) looks like PLAYER_FLAGS_GHOST flag PLAYER_FLAGS_SANCTUARY PlayerFlags = 0x00010000 // player entered sanctuary PLAYER_FLAGS_TAXI_BENCHMARK PlayerFlags = 0x00020000 // taxi benchmark mode (on/off) (2.0.1) PLAYER_FLAGS_PVP_TIMER PlayerFlags = 0x00040000 // 3.0.2 pvp timer active (after you disable pvp manually) )
func (PlayerFlags) String ¶
func (p PlayerFlags) String() string
type Race ¶
type Race uint8
const ( RACE_NONE Race = 0 RACE_HUMAN Race = 1 RACE_ORC Race = 2 RACE_DWARF Race = 3 RACE_NIGHTELF Race = 4 RACE_UNDEAD_PLAYER Race = 5 RACE_TAUREN Race = 6 RACE_GNOME Race = 7 RACE_TROLL Race = 8 RACE_GOBLIN Race = 9 RACE_BLOODELF Race = 10 RACE_DRAENEI Race = 11 RACE_FEL_ORC Race = 12 RACE_NAGA Race = 13 RACE_BROKEN Race = 14 RACE_SKELETON Race = 15 RACE_VRYKUL Race = 16 RACE_TUSKARR Race = 17 RACE_FOREST_TROLL Race = 18 RACE_TAUNKA Race = 19 RACE_NORTHREND_SKELETON Race = 20 RACE_ICE_TROLL Race = 21 RACE_WORGEN Race = 22 // RACE_GILNEAN Race = 23 RACE_PANDAREN_NEUTRAL Race = 24 RACE_PANDAREN_ALLIANCE Race = 25 RACE_PANDAREN_HORDE Race = 26 RACE_NIGHTBORNE Race = 27 RACE_HIGHMOUNTAIN_TAUREN Race = 28 RACE_VOID_ELF Race = 29 RACE_LIGHTFORGED_DRAENEI Race = 30 RACE_ZANDALARI_TROLL Race = 31 RACE_KUL_TIRAN Race = 32 RACE_THIN_HUMAN Race = 33 RACE_DARK_IRON_DWARF Race = 34 //RACE_VULPERA = 35, RACE_MAGHAR_ORC Race = 36 GENDER_MALE = 0 GENDER_FEMALE = 1 GENDER_NONE = 2 MANA = 0 RAGE = 1 FOCUS = 2 ENERGY = 3 HAPPINESS = 4 )
type RaceClassAvailability ¶
type RaceClassAvailability struct { RaceID uint8 Classes []ClassAvailability }
type SHA1Randx ¶
func NewSHA1Randx ¶
type SMSGAuthPacket ¶
func UnmarshalSMSGAuthPacket ¶
func UnmarshalSMSGAuthPacket(build vsn.Build, input []byte) (*SMSGAuthPacket, error)
type SMSGAuthResponse ¶
func UnmarshalSMSGAuthResponse ¶
func UnmarshalSMSGAuthResponse(input []byte) (*SMSGAuthResponse, error)
type VirtualRealmInfo ¶
type VirtualRealmInfo struct { VirtualAddress uint32 VirtualRealmNameInfo }
type VirtualRealmNameInfo ¶
type WardenModuleInitRequest ¶
type WardenModuleInitRequest struct { Command1 uint8 Size1 uint16 Checksum1 uint32 Unk1 uint8 Unk2 uint8 Type uint8 StringLibrary1 uint8 Function1 []uint32 Command2 uint8 Size2 uint16 Checksum2 uint32 Unk3 uint8 Unk4 uint8 StringLibrary2 uint8 Function2 uint32 Function2Set uint8 Command3 uint8 Size3 uint16 Checksum3 uint32 Unk5 uint8 Unk6 uint8 StringLibrary3 uint8 Function3 uint32 Function3Set uint8 }
func UnmarshalWardenModuleInitRequest ¶
func UnmarshalWardenModuleInitRequest(input []byte) (*WardenModuleInitRequest, error)
func (*WardenModuleInitRequest) Encode ¶
func (w *WardenModuleInitRequest) Encode() []byte
type WardenModuleTransfer ¶
func (*WardenModuleTransfer) Encode ¶
func (w *WardenModuleTransfer) Encode() []byte
type WardenModuleUse ¶
func UnmarshalWardenModuleUse ¶
func UnmarshalWardenModuleUse(input []byte) (*WardenModuleUse, error)
func (*WardenModuleUse) Encode ¶
func (w *WardenModuleUse) Encode() []byte
type Who ¶
type Who struct {
WhoMatches []WhoMatch
}
func (*Who) Packet ¶
func (w *Who) Packet() *WorldPacket
type WhoRequest ¶
type WhoRequest struct {
LevelMin, LevelMax uint32
PlayerName, GuildName string
RaceMask, ClassMask uint32
ZonesCount uint32
Strings []string
}
func UnmarshalWhoRequest ¶
func UnmarshalWhoRequest(b []byte) (*WhoRequest, error)
type WorldPacket ¶
func BuildServerAddonResponse ¶
func BuildServerAddonResponse(build vsn.Build, info *AddonList) *WorldPacket
It is unknown why this is necessary
func NewWorldPacket ¶
func NewWorldPacket(t WorldType) *WorldPacket
func (*WorldPacket) Finish ¶
func (wp *WorldPacket) Finish() []byte
func (*WorldPacket) FlushBits ¶
func (wp *WorldPacket) FlushBits()
func (*WorldPacket) Frame ¶
func (wp *WorldPacket) Frame() Frame
func (*WorldPacket) ServerMessage ¶
func (wp *WorldPacket) ServerMessage(build vsn.Build) []byte
func (*WorldPacket) WriteBit ¶
func (wp *WorldPacket) WriteBit(t bool)
type WorldType ¶
type WorldType uint16
const ( CMSG_BOOTME WorldType = iota // Defunct codes from alpha: CMSG_TELEPORT_TO_PLAYER CMSG_EMBLAZON_TABARD_OBSOLETE CMSG_UNEMBLAZON_TABARD_OBSOLETE CMSG_MAKEMONSTERATTACKME CMSG_ENABLEDEBUGCOMBATLOGGING SMSG_ATTACKERSTATEUPDATEDEBUGINFO SMSG_ATTACKERSTATEUPDATEDEBUGINFOSPELL SMSG_ATTACKERSTATEUPDATEDEBUGINFOSPELLMISS SMSG_DEBUG_PLAYER_RANGE CMSG_LEVELUP_CHEAT CMSG_PVP_PORT CMSG_GAMEOBJ_CHAIR_USE_OBSOLETE SMSG_MOVE_WORLDPORT_ACK MSG_MOVE_COLLIDE_REDIRECT MSG_MOVE_COLLIDE_STUCK MSG_MOVE_RESERVED_0 MSG_MOVE_RESERVED_1 MSG_MOVE_RESERVED_2 CMSG_ENABLE_PVP MSG_MOVE_RESERVED_3 SMSG_FORCE_SPEED_CHANGE CMSG_FORCE_SPEED_CHANGE_ACK CMSG_STUCK_OBSOLETE CMSG_TUTORIAL_SHOWN CMSG_PICKUP_ITEM CMSG_DROP_ITEM SMSG_INSPECT SMSG_CAST_RESULT SMSG_UPDATE_AURA_DURATION CMSG_SET_TARGET CMSG_START_USING_RANGED_WEAPON CMSG_STOP_USING_RANGED_WEAPON SMSG_ATTACKSWING_NOTSTANDING SMSG_VICTIMSTATEUPDATE_OBSOLETE SMSG_DAMAGE_DONE SMSG_DAMAGE_TAKEN SMSG_PLAYER_COMBAT_XP_GAIN_OBSOLETE SMSG_HEALSPELL_ON_PLAYER SMSG_HEALSPELL_ON_PLAYERS_PET SMSG_DEATH_NOTIFY SMSG_PUREMOUNT_CANCELLED CMSG_PET_CAST_SPELL_OBSOLETE CMSG_NPC_OFFER_ITEM MSG_NPC_ACCEPT_ITEM SMSG_NPC_DECLINE_ITEM SMSG_NPC_ACCEPT_ITEM MSG_SPLIT_MONEY CMSG_SETWEAPONMODE CMSG_PLAYER_MACRO SMSG_PLAYER_MACRO CMSG_SCREENSHOT MSG_ADD_DYNAMIC_TARGET SMSG_MIRRORTIMERDAMAGELOG CMSG_RWHOIS MSG_LOOKING_FOR_GROUP CMSG_SET_LOOKING_FOR_GROUP MSG_NULL_ACTION SMSG_DEBUGINFOSPELLMISS_OBSOLETE CMSG_PVP_PORT_OBSOLETE MSG_MOVE_SET_RAW_POSITION_ACK OBSOLETE_DROP_ITEM CMSG_SET_TARGET_OBSOLETE CMSG_UNUSED CMSG_UNUSED2 SMSG_DAMAGE_DONE_OBSOLETE SMSG_DAMAGE_TAKEN_OBSOLETE CMSG_SHEATHE_OBSOLETE SMSG_PUREMOUNT_CANCELLED_OBSOLETE CMSG_PLAYER_MACRO_OBSOLETE SMSG_PLAYER_MACRO_OBSOLETE CMSG_RWHOIS_OBSOLETE SMSG_POWERGAINLOG_OBSOLETE SMSG_GAMEOBJECT_SPAWN_ANIM_OBSOLETE SMSG_SET_REST_START SMSG_BATTLEFIELD_WIN_OBSOLETE SMSG_BATTLEFIELD_LOSE_OBSOLETE SMSG_STANDSTATE_CHANGE_FAILURE_OBSOLETE CMSG_MEETINGSTONE_JOIN MSG_MEETINGSTONE_LEAVE CMSG_MEETINGSTONE_CHEAT SMSG_MEETINGSTONE_SETQUEUE CMSG_MEETINGSTONE_INFO SMSG_MEETINGSTONE_COMPLETE SMSG_MEETINGSTONE_IN_PROGRESS SMSG_MEETINGSTONE_MEMBER_ADDED MSG_MOVE_TOGGLE_GRAVITY_CHEAT CMSG_TOGGLE_HELM CMSG_TOGGLE_CLOAK SMSG_MEETINGSTONE_JOINFAILED SMSG_MOVE_SET_FLIGHT SMSG_MOVE_UNSET_FLIGHT CMSG_MOVE_FLIGHT_ACK SMSG_INIT_EXTRA_AURA_INFO SMSG_SET_EXTRA_AURA_INFO SMSG_SET_EXTRA_AURA_INFO_NEED_UPDATE CMSG_GROUPACTION_THROTTLED // TBC codes UMSG_UPDATE_ARENA_TEAM_OBSOLETE CMSG_LFG_SET_AUTOJOIN CMSG_LFG_CLEAR_AUTOJOIN CMSG_LFM_SET_AUTOFILL CMSG_LFM_CLEAR_AUTOFILL CMSG_ACCEPT_LFG_MATCH CMSG_DECLINE_LFG_MATCH CMSG_CANCEL_PENDING_LFG CMSG_CLEAR_LOOKING_FOR_GROUP CMSG_CLEAR_LOOKING_FOR_MORE CMSG_SET_LOOKING_FOR_MORE SMSG_LFG_TIMEDOUT SMSG_LFG_OTHER_TIMEDOUT SMSG_LFG_AUTOJOIN_FAILED SMSG_LFG_AUTOJOIN_FAILED_NO_PLAYER SMSG_LFG_LEADER_IS_LFM SMSG_LFG_UPDATE SMSG_LFG_UPDATE_LFM SMSG_LFG_UPDATE_LFG SMSG_LFG_UPDATE_QUEUED SMSG_LFG_PENDING_INVITE SMSG_LFG_PENDING_MATCH SMSG_LFG_PENDING_MATCH_DONE // WoTLK codes SMSG_INSTANCE_ENCOUNTER CMSG_LFG_SEARCH_JOIN CMSG_LFG_SEARCH_LEAVE SMSG_LFG_SEARCH_RESULTS CMSG_LFG_PROPOSAL_RESPONSE CMSG_LFG_BOOT_PLAYER_VOTE CMSG_LFG_GET_PLAYER_INFO CMSG_LFG_GET_PARTY_INFO SMSG_INSPECT_RESULTS CMSG_CORPSE_TRANSPORT_QUERY CMSG_ON_MISSILE_TRAJECTORY_COLLISION SMSG_TALENT_UPDATE CMSG_LEARN_TALENT_GROUP CMSG_PET_LEARN_TALENT_GROUP SMSG_ARENA_TEAM_CHANGE_FAILED SMSG_COMPOUND_MOVE CMSG_BATTLEFIELD_MANAGER_ENTRY_INVITE_RESPONSE SMSG_BATTLEFIELD_MANAGER_ENTERING SMSG_BATTLEFIELD_MANAGER_QUEUE_INVITE CMSG_BATTLEFIELD_MANAGER_QUEUE_INVITE_RESPONSE CMSG_BATTLEFIELD_MANAGER_QUEUE_REQUEST SMSG_BATTLEFIELD_MANAGER_QUEUE_REQUEST_RESPONSE SMSG_BATTLEFIELD_MANAGER_EJECT_PENDING SMSG_BATTLEFIELD_MANAGER_EJECTED CMSG_BATTLEFIELD_MANAGER_EXIT_REQUEST SMSG_BATTLEFIELD_MANAGER_ENTRY_INVITE SMSG_BATTLEFIELD_MANAGER_STATE_CHANGED CMSG_XPGAIN SMSG_XPGAIN SMSG_GMTICKET_RESPONSE_ERROR SMSG_GMTICKET_GET_RESPONSE CMSG_GMTICKET_RESOLVE_RESPONSE SMSG_GMTICKET_RESOLVE_RESPONSE SMSG_GMTICKET_CREATE_RESPONSE_TICKET CMSG_GM_CREATE_TICKET_RESPONSE SMSG_LOOT_UPDATE CMSG_QUERY_GET_ALL_QUESTS SMSG_ALL_QUESTS_COMPLETED CMSG_GMLAGREPORT_SUBMIT CMSG_LOW_LEVEL_RAID CMSG_LOW_LEVEL_RAID_USER SMSG_COMPRESSED_UNKNOWN_1310 // Codes still used in Vanilla: CMSG_DBLOOKUP SMSG_DBLOOKUP CMSG_QUERY_OBJECT_POSITION SMSG_QUERY_OBJECT_POSITION CMSG_QUERY_OBJECT_ROTATION SMSG_QUERY_OBJECT_ROTATION CMSG_WORLD_TELEPORT CMSG_TELEPORT_TO_UNIT CMSG_ZONE_MAP SMSG_ZONE_MAP CMSG_DEBUG_CHANGECELLZONE CMSG_MOVE_CHARACTER_CHEAT SMSG_MOVE_CHARACTER_CHEAT CMSG_RECHARGE CMSG_LEARN_SPELL CMSG_CREATEMONSTER CMSG_DESTROYMONSTER CMSG_CREATEITEM CMSG_CREATEGAMEOBJECT SMSG_CHECK_FOR_BOTS CMSG_MAKEMONSTERATTACKGUID CMSG_BOT_DETECTED2 CMSG_FORCEACTION CMSG_FORCEACTIONONOTHER CMSG_FORCEACTIONSHOW SMSG_FORCEACTIONSHOW CMSG_PETGODMODE SMSG_PETGODMODE SMSG_REFER_A_FRIEND_EXPIRED CMSG_WEATHER_SPEED_CHEAT CMSG_UNDRESSPLAYER CMSG_BEASTMASTER CMSG_GODMODE SMSG_GODMODE CMSG_CHEAT_SETMONEY CMSG_LEVEL_CHEAT CMSG_PET_LEVEL_CHEAT CMSG_SET_WORLDSTATE CMSG_COOLDOWN_CHEAT CMSG_USE_SKILL_CHEAT CMSG_FLAG_QUEST CMSG_FLAG_QUEST_FINISH CMSG_CLEAR_QUEST CMSG_SEND_EVENT CMSG_DEBUG_AISTATE SMSG_DEBUG_AISTATE CMSG_DISABLE_PVP_CHEAT CMSG_ADVANCE_SPAWN_TIME SMSG_DESTRUCTIBLE_BUILDING_DAMAGE CMSG_AUTH_SRP6_BEGIN CMSG_AUTH_SRP6_PROOF CMSG_AUTH_SRP6_RECODE CMSG_CHAR_CREATE CMSG_CHAR_ENUM CMSG_CHAR_DELETE SMSG_AUTH_SRP6_RESPONSE SMSG_CHAR_CREATE SMSG_CHAR_ENUM SMSG_CHAR_DELETE CMSG_PLAYER_LOGIN SMSG_NEW_WORLD SMSG_TRANSFER_PENDING SMSG_TRANSMOGRIFY_NPC SMSG_TRANSFER_ABORTED SMSG_CHARACTER_LOGIN_FAILED SMSG_LOGIN_SETTIMESPEED SMSG_GAMETIME_UPDATE CMSG_GAMETIME_SET SMSG_GAMETIME_SET CMSG_GAMESPEED_SET SMSG_GAMESPEED_SET CMSG_SERVERTIME SMSG_SERVERTIME CMSG_PLAYER_LOGOUT CMSG_LOGOUT_REQUEST SMSG_LOGOUT_RESPONSE SMSG_LOGOUT_COMPLETE CMSG_LOGOUT_CANCEL SMSG_LOGOUT_CANCEL_ACK CMSG_NAME_QUERY SMSG_NAME_QUERY_RESPONSE CMSG_PET_NAME_QUERY SMSG_PET_NAME_QUERY_RESPONSE CMSG_GUILD_QUERY SMSG_GUILD_QUERY_RESPONSE CMSG_ITEM_QUERY_SINGLE CMSG_ITEM_QUERY_MULTIPLE SMSG_ITEM_QUERY_SINGLE_RESPONSE SMSG_ITEM_QUERY_MULTIPLE_RESPONSE CMSG_PAGE_TEXT_QUERY SMSG_PAGE_TEXT_QUERY_RESPONSE CMSG_QUEST_QUERY SMSG_QUEST_QUERY_RESPONSE CMSG_GAMEOBJECT_QUERY SMSG_GAMEOBJECT_QUERY_RESPONSE CMSG_CREATURE_QUERY SMSG_CREATURE_QUERY_RESPONSE CMSG_WHO SMSG_WHO CMSG_WHOIS SMSG_WHOIS CMSG_FRIEND_LIST // Equal to CMSG_CONTACT_LIST CMSG_CONTACT_LIST SMSG_FRIEND_LIST SMSG_IGNORE_LIST SMSG_CONTACT_LIST SMSG_FRIEND_STATUS CMSG_ADD_FRIEND CMSG_DEL_FRIEND CMSG_SET_CONTACT_NOTES CMSG_ADD_IGNORE CMSG_DEL_IGNORE CMSG_GROUP_INVITE SMSG_GROUP_INVITE CMSG_GROUP_CANCEL SMSG_GROUP_CANCEL CMSG_GROUP_ACCEPT CMSG_GROUP_DECLINE SMSG_GROUP_DECLINE CMSG_GROUP_UNINVITE CMSG_GROUP_UNINVITE_GUID SMSG_GROUP_UNINVITE CMSG_GROUP_SET_LEADER SMSG_GROUP_SET_LEADER CMSG_LOOT_METHOD CMSG_GROUP_DISBAND SMSG_GROUP_DESTROYED SMSG_GROUP_LIST SMSG_PARTY_MEMBER_STATS SMSG_PARTY_COMMAND_RESULT UMSG_UPDATE_GROUP_MEMBERS CMSG_GUILD_CREATE CMSG_GUILD_INVITE SMSG_GUILD_INVITE CMSG_GUILD_ACCEPT CMSG_GUILD_DECLINE SMSG_GUILD_DECLINE CMSG_GUILD_INFO SMSG_GUILD_INFO CMSG_GUILD_ROSTER SMSG_GUILD_ROSTER CMSG_GUILD_PROMOTE CMSG_GUILD_DEMOTE CMSG_GUILD_LEAVE CMSG_GUILD_REMOVE CMSG_GUILD_DISBAND CMSG_GUILD_LEADER CMSG_GUILD_MOTD SMSG_GUILD_EVENT SMSG_GUILD_COMMAND_RESULT UMSG_UPDATE_GUILD CMSG_MESSAGECHAT SMSG_MESSAGECHAT CMSG_JOIN_CHANNEL CMSG_LEAVE_CHANNEL SMSG_CHANNEL_NOTIFY CMSG_CHANNEL_LIST SMSG_CHANNEL_LIST CMSG_CHANNEL_PASSWORD CMSG_CHANNEL_SET_OWNER CMSG_CHANNEL_OWNER CMSG_CHANNEL_MODERATOR CMSG_CHANNEL_UNMODERATOR CMSG_CHANNEL_MUTE CMSG_CHANNEL_UNMUTE CMSG_CHANNEL_INVITE CMSG_CHANNEL_KICK CMSG_CHANNEL_BAN CMSG_CHANNEL_UNBAN CMSG_CHANNEL_ANNOUNCEMENTS CMSG_CHANNEL_MODERATE SMSG_UPDATE_OBJECT SMSG_DESTROY_OBJECT CMSG_USE_ITEM CMSG_PERFORM_ITEM_INTERACTION CMSG_OPEN_ITEM CMSG_READ_ITEM SMSG_READ_ITEM_OK SMSG_READ_ITEM_FAILED SMSG_ITEM_COOLDOWN CMSG_GAMEOBJ_USE CMSG_DESTROY_ITEMS SMSG_GAMEOBJECT_CUSTOM_ANIM CMSG_AREATRIGGER MSG_MOVE_START_FORWARD MSG_MOVE_START_BACKWARD MSG_MOVE_STOP MSG_MOVE_START_STRAFE_LEFT MSG_MOVE_START_STRAFE_RIGHT MSG_MOVE_STOP_STRAFE MSG_MOVE_JUMP MSG_MOVE_START_TURN_LEFT MSG_MOVE_START_TURN_RIGHT MSG_MOVE_STOP_TURN MSG_MOVE_START_PITCH_UP MSG_MOVE_START_PITCH_DOWN MSG_MOVE_STOP_PITCH MSG_MOVE_SET_RUN_MODE MSG_MOVE_SET_WALK_MODE MSG_MOVE_TOGGLE_LOGGING MSG_MOVE_TELEPORT MSG_MOVE_TELEPORT_CHEAT MSG_MOVE_TELEPORT_ACK MSG_MOVE_TOGGLE_FALL_LOGGING MSG_MOVE_FALL_LAND MSG_MOVE_START_SWIM MSG_MOVE_STOP_SWIM MSG_MOVE_SET_RUN_SPEED_CHEAT MSG_MOVE_SET_RUN_SPEED MSG_MOVE_SET_RUN_BACK_SPEED_CHEAT MSG_MOVE_SET_RUN_BACK_SPEED MSG_MOVE_SET_WALK_SPEED_CHEAT MSG_MOVE_SET_WALK_SPEED MSG_MOVE_SET_SWIM_SPEED_CHEAT MSG_MOVE_SET_SWIM_SPEED MSG_MOVE_SET_SWIM_BACK_SPEED_CHEAT MSG_MOVE_SET_SWIM_BACK_SPEED MSG_MOVE_SET_ALL_SPEED_CHEAT MSG_MOVE_SET_TURN_RATE_CHEAT MSG_MOVE_SET_TURN_RATE MSG_MOVE_TOGGLE_COLLISION_CHEAT MSG_MOVE_SET_FACING MSG_MOVE_SET_PITCH MSG_MOVE_WORLDPORT_ACK SMSG_MONSTER_MOVE SMSG_MOVE_WATER_WALK SMSG_MOVE_LAND_WALK CMSG_MOVE_CHARM_PORT_CHEAT CMSG_MOVE_SET_RAW_POSITION SMSG_FORCE_RUN_SPEED_CHANGE CMSG_FORCE_RUN_SPEED_CHANGE_ACK SMSG_FORCE_RUN_BACK_SPEED_CHANGE CMSG_FORCE_RUN_BACK_SPEED_CHANGE_ACK SMSG_FORCE_SWIM_SPEED_CHANGE CMSG_FORCE_SWIM_SPEED_CHANGE_ACK SMSG_FORCE_MOVE_ROOT CMSG_FORCE_MOVE_ROOT_ACK SMSG_FORCE_MOVE_UNROOT CMSG_FORCE_MOVE_UNROOT_ACK MSG_MOVE_ROOT MSG_MOVE_UNROOT MSG_MOVE_HEARTBEAT SMSG_MOVE_KNOCK_BACK CMSG_MOVE_KNOCK_BACK_ACK MSG_MOVE_KNOCK_BACK SMSG_MOVE_FEATHER_FALL SMSG_MOVE_NORMAL_FALL SMSG_MOVE_SET_HOVER SMSG_MOVE_UNSET_HOVER CMSG_MOVE_HOVER_ACK MSG_MOVE_HOVER CMSG_TRIGGER_CINEMATIC_CHEAT CMSG_OPENING_CINEMATIC SMSG_TRIGGER_CINEMATIC CMSG_NEXT_CINEMATIC_CAMERA CMSG_COMPLETE_CINEMATIC SMSG_TUTORIAL_FLAGS CMSG_TUTORIAL_FLAG CMSG_TUTORIAL_CLEAR CMSG_TUTORIAL_RESET CMSG_STANDSTATECHANGE CMSG_EMOTE SMSG_EMOTE CMSG_TEXT_EMOTE SMSG_TEXT_EMOTE CMSG_AUTOEQUIP_GROUND_ITEM CMSG_AUTOSTORE_GROUND_ITEM CMSG_AUTOSTORE_LOOT_ITEM CMSG_STORE_LOOT_IN_SLOT CMSG_AUTOEQUIP_ITEM CMSG_AUTOSTORE_BAG_ITEM CMSG_SWAP_ITEM CMSG_SWAP_INV_ITEM CMSG_SPLIT_ITEM CMSG_AUTOEQUIP_ITEM_SLOT CMSG_UNCLAIM_LICENSE CMSG_DESTROYITEM SMSG_INVENTORY_CHANGE_FAILURE SMSG_OPEN_CONTAINER CMSG_INSPECT SMSG_INSPECT_RESULTS_UPDATE CMSG_INITIATE_TRADE CMSG_BEGIN_TRADE CMSG_BUSY_TRADE CMSG_IGNORE_TRADE CMSG_ACCEPT_TRADE CMSG_UNACCEPT_TRADE CMSG_CANCEL_TRADE CMSG_SET_TRADE_ITEM CMSG_CLEAR_TRADE_ITEM CMSG_SET_TRADE_GOLD SMSG_TRADE_STATUS SMSG_TRADE_STATUS_EXTENDED SMSG_INITIALIZE_FACTIONS SMSG_SET_FACTION_VISIBLE SMSG_SET_FACTION_STANDING CMSG_SET_FACTION_ATWAR CMSG_SET_FACTION_CHEAT SMSG_SET_PROFICIENCY CMSG_SET_ACTION_BUTTON SMSG_ACTION_BUTTONS SMSG_INITIAL_SPELLS SMSG_LEARNED_SPELL SMSG_SUPERCEDED_SPELL CMSG_NEW_SPELL_SLOT CMSG_CAST_SPELL CMSG_CAN_REDEEM_TOKEN_FOR_BALANCE CMSG_CANCEL_CAST SMSG_CAST_FAILED SMSG_SPELL_START SMSG_SPELL_GO SMSG_SPELL_FAILURE SMSG_SPELL_COOLDOWN SMSG_COOLDOWN_EVENT CMSG_CANCEL_AURA SMSG_EQUIPMENT_SET_SAVED SMSG_PET_CAST_FAILED MSG_CHANNEL_START MSG_CHANNEL_UPDATE CMSG_CANCEL_CHANNELLING SMSG_AI_REACTION CMSG_SET_SELECTION CMSG_DELETEEQUIPMENT_SET CMSG_INSTANCE_LOCK_RESPONSE CMSG_DEBUG_PASSIVE_AURA CMSG_ATTACKSWING CMSG_ATTACKSTOP SMSG_ATTACKSTART SMSG_ATTACKSTOP SMSG_ATTACKSWING_NOTINRANGE SMSG_ATTACKSWING_BADFACING SMSG_INSTANCE_LOCK_WARNING_QUERY SMSG_ATTACKSWING_DEADTARGET SMSG_ATTACKSWING_CANT_ATTACK SMSG_ATTACKERSTATEUPDATE SMSG_BATTLEFIELD_PORT_DENIED CMSG_PERFORM_ACTION_SET SMSG_RESUME_CAST_BAR SMSG_CANCEL_COMBAT SMSG_SPELLBREAKLOG SMSG_SPELLHEALLOG SMSG_SPELLENERGIZELOG SMSG_BREAK_TARGET CMSG_SAVE_PLAYER CMSG_SETDEATHBINDPOINT SMSG_BINDPOINTUPDATE CMSG_GETDEATHBINDZONE SMSG_BINDZONEREPLY SMSG_PLAYERBOUND SMSG_CLIENT_CONTROL_UPDATE CMSG_REPOP_REQUEST SMSG_RESURRECT_REQUEST CMSG_RESURRECT_RESPONSE CMSG_LOOT CMSG_LOOT_MONEY CMSG_LOOT_RELEASE SMSG_LOOT_RESPONSE SMSG_LOOT_RELEASE_RESPONSE SMSG_LOOT_REMOVED SMSG_LOOT_MONEY_NOTIFY SMSG_LOOT_ITEM_NOTIFY SMSG_LOOT_CLEAR_MONEY SMSG_ITEM_PUSH_RESULT SMSG_DUEL_REQUESTED SMSG_DUEL_OUTOFBOUNDS SMSG_DUEL_INBOUNDS SMSG_DUEL_COMPLETE SMSG_DUEL_WINNER CMSG_DUEL_ACCEPTED CMSG_DUEL_CANCELLED SMSG_MOUNTRESULT SMSG_DISMOUNTRESULT SMSG_REMOVED_FROM_PVP_QUEUE CMSG_MOUNTSPECIAL_ANIM SMSG_MOUNTSPECIAL_ANIM SMSG_PET_TAME_FAILURE CMSG_PET_SET_ACTION CMSG_PET_ACTION CMSG_PET_ABANDON CMSG_PET_RENAME SMSG_PET_NAME_INVALID SMSG_PET_SPELLS SMSG_PET_MODE CMSG_GOSSIP_HELLO CMSG_GOSSIP_SELECT_OPTION SMSG_GOSSIP_MESSAGE SMSG_GOSSIP_COMPLETE CMSG_NPC_TEXT_QUERY SMSG_NPC_TEXT_UPDATE SMSG_NPC_WONT_TALK CMSG_QUESTGIVER_STATUS_QUERY SMSG_QUESTGIVER_STATUS CMSG_QUESTGIVER_HELLO SMSG_QUESTGIVER_QUEST_LIST CMSG_QUESTGIVER_QUERY_QUEST CMSG_QUESTGIVER_QUEST_AUTOLAUNCH SMSG_QUESTGIVER_QUEST_DETAILS CMSG_QUESTGIVER_ACCEPT_QUEST CMSG_QUESTGIVER_COMPLETE_QUEST SMSG_QUESTGIVER_REQUEST_ITEMS CMSG_QUESTGIVER_REQUEST_REWARD SMSG_QUESTGIVER_OFFER_REWARD CMSG_QUESTGIVER_CHOOSE_REWARD SMSG_QUESTGIVER_QUEST_INVALID CMSG_QUESTGIVER_CANCEL SMSG_QUESTGIVER_QUEST_COMPLETE SMSG_QUESTGIVER_QUEST_FAILED CMSG_QUESTLOG_SWAP_QUEST CMSG_QUESTLOG_REMOVE_QUEST SMSG_QUESTLOG_FULL SMSG_QUESTUPDATE_FAILED SMSG_QUESTUPDATE_FAILEDTIMER SMSG_QUESTUPDATE_COMPLETE SMSG_QUESTUPDATE_ADD_KILL SMSG_QUESTUPDATE_ADD_ITEM CMSG_QUEST_CONFIRM_ACCEPT SMSG_QUEST_CONFIRM_ACCEPT CMSG_PUSHQUESTTOPARTY CMSG_LIST_INVENTORY SMSG_LIST_INVENTORY CMSG_SELL_ITEM SMSG_SELL_ITEM CMSG_BUY_ITEM CMSG_BUY_ITEM_IN_SLOT SMSG_BUY_ITEM SMSG_BUY_FAILED CMSG_TAXICLEARALLNODES CMSG_TAXIENABLEALLNODES CMSG_TAXISHOWNODES SMSG_SHOWTAXINODES CMSG_TAXINODE_STATUS_QUERY SMSG_TAXINODE_STATUS CMSG_TAXIQUERYAVAILABLENODES CMSG_ACTIVATETAXI SMSG_ACTIVATETAXIREPLY SMSG_NEW_TAXI_PATH CMSG_TRAINER_LIST SMSG_TRAINER_LIST CMSG_TRAINER_BUY_SPELL SMSG_TRAINER_BUY_SUCCEEDED SMSG_TRAINER_BUY_FAILED CMSG_BINDER_ACTIVATE SMSG_PLAYERBINDERROR CMSG_BANKER_ACTIVATE SMSG_SHOW_BANK CMSG_BUY_BANK_SLOT SMSG_BUY_BANK_SLOT_RESULT CMSG_PETITION_SHOWLIST SMSG_PETITION_SHOWLIST CMSG_PETITION_BUY CMSG_PETITION_SHOW_SIGNATURES SMSG_PETITION_SHOW_SIGNATURES CMSG_PETITION_SIGN SMSG_PETITION_SIGN_RESULTS MSG_PETITION_DECLINE CMSG_OFFER_PETITION CMSG_TURN_IN_PETITION SMSG_TURN_IN_PETITION_RESULTS CMSG_PETITION_QUERY SMSG_PETITION_QUERY_RESPONSE SMSG_FISH_NOT_HOOKED SMSG_FISH_ESCAPED CMSG_BUG SMSG_NOTIFICATION CMSG_PLAYED_TIME SMSG_PLAYED_TIME CMSG_UI_TIME_REQUEST CMSG_QUERY_TIME SMSG_QUERY_TIME_RESPONSE SMSG_LOG_XPGAIN SMSG_AURACASTLOG CMSG_RECLAIM_CORPSE CMSG_WRAP_ITEM SMSG_LEVELUP_INFO MSG_MINIMAP_PING SMSG_RESISTLOG SMSG_ENCHANTMENTLOG CMSG_SET_SKILL_CHEAT SMSG_START_MIRROR_TIMER SMSG_PAUSE_MIRROR_TIMER SMSG_STOP_MIRROR_TIMER CMSG_PING SMSG_PONG SMSG_CLEAR_COOLDOWN SMSG_GAMEOBJECT_PAGETEXT CMSG_SETSHEATHED SMSG_COOLDOWN_CHEAT SMSG_SPELL_DELAYED CMSG_QUEST_POI_QUERY SMSG_QUEST_POI_QUERY_RESPONSE CMSG_GHOST CMSG_GM_INVIS SMSG_INVALID_PROMOTION_CODE MSG_GM_BIND_OTHER MSG_GM_SUMMON SMSG_ITEM_TIME_UPDATE SMSG_ITEM_ENCHANT_TIME_UPDATE SMSG_AUTH_CHALLENGE CMSG_AUTH_SESSION SMSG_AUTH_RESPONSE MSG_GM_SHOWLABEL CMSG_PET_CAST_SPELL MSG_SAVE_GUILD_EMBLEM MSG_TABARDVENDOR_ACTIVATE SMSG_PLAY_SPELL_VISUAL CMSG_ZONEUPDATE SMSG_PARTYKILLLOG SMSG_COMPRESSED_UPDATE_OBJECT SMSG_PLAY_SPELL_IMPACT SMSG_EXPLORATION_EXPERIENCE CMSG_GM_SET_SECURITY_GROUP CMSG_GM_NUKE MSG_RANDOM_ROLL SMSG_ENVIRONMENTALDAMAGELOG CMSG_CHANGEPLAYER_DIFFICULTY SMSG_RWHOIS SMSG_LFG_PLAYER_REWARD SMSG_LFG_TELEPORT_DENIED SMSG_LFG_SLOT_INVALID CMSG_UNLEARN_SPELL CMSG_UNLEARN_SKILL SMSG_REMOVED_SPELL CMSG_DECHARGE CMSG_GMTICKET_CREATE SMSG_GMTICKET_CREATE CMSG_GMTICKET_UPDATETEXT SMSG_GMTICKET_UPDATETEXT SMSG_ACCOUNT_DATA_TIMES CMSG_REQUEST_ACCOUNT_DATA CMSG_UPDATE_ACCOUNT_DATA SMSG_UPDATE_ACCOUNT_DATA SMSG_CLEAR_FAR_SIGHT_IMMEDIATE SMSG_CHANGEPLAYER_DIFFICULTY_RESULT CMSG_GM_TEACH CMSG_GM_CREATE_ITEM_TARGET CMSG_GMTICKET_GETTICKET SMSG_GMTICKET_GETTICKET CMSG_UNLEARN_TALENTS SMSG_UPDATE_INSTANCE_ENCOUNTER_UNIT SMSG_GAMEOBJECT_DESPAWN_ANIM MSG_CORPSE_QUERY CMSG_GMTICKET_DELETETICKET SMSG_GMTICKET_DELETETICKET SMSG_CHAT_WRONG_FACTION CMSG_GMTICKET_SYSTEMSTATUS SMSG_GMTICKET_SYSTEMSTATUS CMSG_SPIRIT_HEALER_ACTIVATE CMSG_SET_STAT_CHEAT SMSG_QUEST_FORCE_REMOVE CMSG_SKILL_BUY_STEP CMSG_SKILL_BUY_RANK CMSG_XP_CHEAT SMSG_SPIRIT_HEALER_CONFIRM CMSG_CHARACTER_POINT_CHEAT SMSG_GOSSIP_POI CMSG_CHAT_IGNORED CMSG_GM_VISION CMSG_SERVER_COMMAND CMSG_GM_SILENCE CMSG_GM_REVEALTO CMSG_GM_RESURRECT CMSG_GM_SUMMONMOB CMSG_GM_MOVECORPSE CMSG_GM_FREEZE CMSG_GM_UBERINVIS CMSG_GM_REQUEST_PLAYER_INFO SMSG_GM_PLAYER_INFO CMSG_GUILD_RANK CMSG_GUILD_ADD_RANK CMSG_GUILD_DEL_RANK CMSG_GUILD_SET_PUBLIC_NOTE CMSG_GUILD_SET_OFFICER_NOTE SMSG_LOGIN_VERIFY_WORLD CMSG_CLEAR_EXPLORATION CMSG_SEND_MAIL SMSG_SEND_MAIL_RESULT CMSG_GET_MAIL_LIST SMSG_MAIL_LIST_RESULT CMSG_BATTLEFIELD_LIST SMSG_BATTLEFIELD_LIST CMSG_BATTLEFIELD_JOIN SMSG_FORCE_SET_VEHICLE_REC_ID CMSG_SET_VEHICLE_REC_ID_ACK CMSG_TAXICLEARNODE CMSG_TAXIENABLENODE CMSG_ITEM_TEXT_QUERY SMSG_ITEM_TEXT_QUERY_RESPONSE CMSG_MAIL_TAKE_MONEY CMSG_MAIL_TAKE_ITEM CMSG_MAIL_MARK_AS_READ CMSG_MAIL_RETURN_TO_SENDER CMSG_MAIL_DELETE CMSG_MAIL_CREATE_TEXT_ITEM SMSG_SPELLLOGMISS SMSG_SPELLLOGEXECUTE SMSG_DEBUGAURAPROC SMSG_PERIODICAURALOG SMSG_SPELLDAMAGESHIELD SMSG_SPELLNONMELEEDAMAGELOG CMSG_LEARN_TALENT SMSG_RESURRECT_FAILED CMSG_TOGGLE_PVP SMSG_ZONE_UNDER_ATTACK MSG_AUCTION_HELLO CMSG_AUCTION_SELL_ITEM CMSG_AUCTION_REMOVE_ITEM CMSG_AUCTION_LIST_ITEMS CMSG_AUCTION_LIST_OWNED_ITEMS CMSG_AUCTION_PLACE_BID SMSG_AUCTION_COMMAND_RESULT SMSG_AUCTION_LIST_RESULT SMSG_AUCTION_OWNER_LIST_RESULT SMSG_AUCTION_BIDDER_NOTIFICATION SMSG_AUCTION_OWNER_NOTIFICATION SMSG_PROCRESIST CMSG_AUCTION_SELL_COMMODITY CMSG_AUCTION_SET_FAVORITE_ITEM SMSG_COMBAT_EVENT_FAILED SMSG_DISPEL_FAILED SMSG_SPELLORDAMAGE_IMMUNE CMSG_AUCTION_LIST_BIDDER_ITEMS SMSG_AUCTION_BIDDER_LIST_RESULT SMSG_SET_FLAT_SPELL_MODIFIER SMSG_SET_PCT_SPELL_MODIFIER CMSG_SET_AMMO SMSG_CORPSE_RECLAIM_DELAY CMSG_SET_ACTIVE_MOVER CMSG_PET_CANCEL_AURA CMSG_PLAYER_AI_CHEAT CMSG_CANCEL_AUTO_REPEAT_SPELL MSG_GM_ACCOUNT_ONLINE MSG_LIST_STABLED_PETS CMSG_STABLE_PET CMSG_UNSTABLE_PET CMSG_BUY_STABLE_SLOT SMSG_STABLE_RESULT CMSG_STABLE_REVIVE_PET CMSG_STABLE_SWAP_PET MSG_QUEST_PUSH_RESULT SMSG_PLAY_MUSIC SMSG_PLAY_OBJECT_SOUND CMSG_REQUEST_PET_INFO CMSG_FAR_SIGHT SMSG_SPELLDISPELLOG SMSG_DAMAGE_CALC_LOG CMSG_ENABLE_DAMAGE_LOG CMSG_GROUP_CHANGE_SUB_GROUP CMSG_REQUEST_PARTY_MEMBER_STATS CMSG_GROUP_SWAP_SUB_GROUP CMSG_RESET_FACTION_CHEAT CMSG_AUTOSTORE_BANK_ITEM CMSG_AUTOBANK_ITEM MSG_QUERY_NEXT_MAIL_TIME SMSG_RECEIVED_MAIL SMSG_RAID_GROUP_ONLY CMSG_SET_DURABILITY_CHEAT CMSG_SET_PVP_RANK_CHEAT CMSG_ADD_PVP_MEDAL_CHEAT CMSG_DEL_PVP_MEDAL_CHEAT CMSG_SET_PVP_TITLE SMSG_PVP_CREDIT SMSG_AUCTION_REMOVED_NOTIFICATION CMSG_GROUP_RAID_CONVERT CMSG_GROUP_ASSISTANT_LEADER CMSG_BUYBACK_ITEM SMSG_SERVER_MESSAGE CMSG_SET_SAVED_INSTANCE_EXTEND SMSG_LFG_OFFER_CONTINUE CMSG_TEST_DROP_RATE SMSG_TEST_DROP_RATE_RESULT CMSG_LFG_GET_STATUS SMSG_SHOW_MAILBOX SMSG_RESET_RANGED_COMBAT_TIMER SMSG_CHAT_NOT_IN_PARTY CMSG_GMTICKETSYSTEM_TOGGLE CMSG_CANCEL_GROWTH_AURA SMSG_CANCEL_AUTO_REPEAT SMSG_STANDSTATE_UPDATE SMSG_LOOT_ALL_PASSED SMSG_LOOT_ROLL_WON CMSG_LOOT_ROLL SMSG_LOOT_START_ROLL SMSG_LOOT_ROLL CMSG_LOOT_MASTER_GIVE SMSG_LOOT_MASTER_LIST SMSG_SET_FORCED_REACTIONS SMSG_SPELL_FAILED_OTHER SMSG_GAMEOBJECT_RESET_STATE CMSG_REPAIR_ITEM SMSG_CHAT_PLAYER_NOT_FOUND MSG_TALENT_WIPE_CONFIRM SMSG_SUMMON_REQUEST CMSG_SUMMON_RESPONSE MSG_DEV_SHOWLABEL SMSG_MONSTER_MOVE_TRANSPORT SMSG_PET_BROKEN MSG_MOVE_FEATHER_FALL MSG_MOVE_WATER_WALK CMSG_SERVER_BROADCAST CMSG_SELF_RES SMSG_FEIGN_DEATH_RESISTED CMSG_RUN_SCRIPT SMSG_SCRIPT_MESSAGE SMSG_DUEL_COUNTDOWN SMSG_AREA_TRIGGER_MESSAGE CMSG_SHOWING_HELM CMSG_SHOWING_CLOAK SMSG_LFG_ROLE_CHOSEN SMSG_PLAYER_SKINNED SMSG_DURABILITY_DAMAGE_DEATH CMSG_SET_EXPLORATION CMSG_SET_ACTIONBAR_TOGGLES UMSG_DELETE_GUILD_CHARTER MSG_PETITION_RENAME SMSG_INIT_WORLD_STATES SMSG_UPDATE_WORLD_STATE CMSG_ITEM_NAME_QUERY SMSG_ITEM_NAME_QUERY_RESPONSE SMSG_PET_ACTION_FEEDBACK CMSG_CHAR_RENAME SMSG_CHAR_RENAME CMSG_MOVE_SPLINE_DONE CMSG_MOVE_FALL_RESET SMSG_INSTANCE_SAVE_CREATED SMSG_RAID_INSTANCE_INFO CMSG_REQUEST_RAID_INFO CMSG_MOVE_TIME_SKIPPED CMSG_MOVE_FEATHER_FALL_ACK CMSG_MOVE_WATER_WALK_ACK CMSG_MOVE_NOT_ACTIVE_MOVER SMSG_PLAY_SOUND CMSG_BATTLEFIELD_STATUS SMSG_BATTLEFIELD_STATUS CMSG_BATTLEFIELD_PORT MSG_INSPECT_HONOR_STATS CMSG_BATTLEMASTER_HELLO CMSG_MOVE_START_SWIM_CHEAT CMSG_MOVE_STOP_SWIM_CHEAT SMSG_FORCE_WALK_SPEED_CHANGE CMSG_FORCE_WALK_SPEED_CHANGE_ACK SMSG_FORCE_SWIM_BACK_SPEED_CHANGE CMSG_FORCE_SWIM_BACK_SPEED_CHANGE_ACK SMSG_FORCE_TURN_RATE_CHANGE CMSG_FORCE_TURN_RATE_CHANGE_ACK MSG_PVP_LOG_DATA CMSG_LEAVE_BATTLEFIELD CMSG_AREA_SPIRIT_HEALER_QUERY CMSG_AREA_SPIRIT_HEALER_QUEUE SMSG_AREA_SPIRIT_HEALER_TIME CMSG_GM_UNTEACH SMSG_WARDEN_DATA CMSG_WARDEN_DATA SMSG_GROUP_JOINED_BATTLEGROUND MSG_BATTLEGROUND_PLAYER_POSITIONS CMSG_PET_STOP_ATTACK SMSG_BINDER_CONFIRM SMSG_BATTLEGROUND_PLAYER_JOINED SMSG_BATTLEGROUND_PLAYER_LEFT CMSG_BATTLEMASTER_JOIN SMSG_ADDON_INFO CMSG_PET_UNLEARN SMSG_PET_UNLEARN_CONFIRM SMSG_PARTY_MEMBER_STATS_FULL CMSG_PET_SPELL_AUTOCAST SMSG_WEATHER SMSG_PLAY_TIME_WARNING SMSG_MINIGAME_SETUP SMSG_MINIGAME_STATE CMSG_MINIGAME_MOVE SMSG_MINIGAME_MOVE_FAILED SMSG_RAID_INSTANCE_MESSAGE SMSG_COMPRESSED_MOVES CMSG_GUILD_INFO_TEXT SMSG_CHAT_RESTRICTED SMSG_SPLINE_SET_RUN_SPEED SMSG_SPLINE_SET_RUN_BACK_SPEED SMSG_SPLINE_SET_SWIM_SPEED SMSG_SPLINE_SET_WALK_SPEED SMSG_SPLINE_SET_SWIM_BACK_SPEED SMSG_SPLINE_SET_TURN_RATE SMSG_SPLINE_MOVE_UNROOT SMSG_SPLINE_MOVE_FEATHER_FALL SMSG_SPLINE_MOVE_NORMAL_FALL SMSG_SPLINE_MOVE_SET_HOVER SMSG_SPLINE_MOVE_UNSET_HOVER SMSG_SPLINE_MOVE_WATER_WALK SMSG_SPLINE_MOVE_LAND_WALK SMSG_SPLINE_MOVE_START_SWIM SMSG_SPLINE_MOVE_STOP_SWIM SMSG_SPLINE_MOVE_SET_RUN_MODE SMSG_SPLINE_MOVE_SET_WALK_MODE CMSG_GM_NUKE_ACCOUNT MSG_GM_DESTROY_CORPSE CMSG_GM_DESTROY_ONLINE_CORPSE CMSG_ACTIVATETAXIEXPRESS SMSG_SET_FACTION_ATWAR SMSG_GAMETIMEBIAS_SET CMSG_DEBUG_ACTIONS_START CMSG_DEBUG_ACTIONS_STOP CMSG_SET_FACTION_INACTIVE CMSG_SET_WATCHED_FACTION MSG_MOVE_TIME_SKIPPED SMSG_SPLINE_MOVE_ROOT CMSG_SET_EXPLORATION_ALL SMSG_INVALIDATE_PLAYER CMSG_RESET_INSTANCES SMSG_INSTANCE_RESET SMSG_INSTANCE_RESET_FAILED SMSG_UPDATE_LAST_INSTANCE MSG_RAID_TARGET_UPDATE MSG_RAID_READY_CHECK CMSG_LUA_USAGE SMSG_PET_ACTION_SOUND SMSG_PET_DISMISS_SOUND SMSG_GHOSTEE_GONE CMSG_GM_UPDATE_TICKET_STATUS SMSG_GM_TICKET_STATUS_UPDATE MSG_SET_DUNGEON_DIFFICULTY CMSG_GMSURVEY_SUBMIT SMSG_UPDATE_INSTANCE_OWNERSHIP CMSG_IGNORE_KNOCKBACK_CHEAT SMSG_CHAT_PLAYER_AMBIGUOUS MSG_DELAY_GHOST_TELEPORT SMSG_SPELLINSTAKILLLOG SMSG_SPELL_UPDATE_CHAIN_TARGETS CMSG_CHAT_FILTERED SMSG_EXPECTED_SPAM_RECORDS SMSG_SPELLSTEALLOG CMSG_LOTTERY_QUERY_OBSOLETE SMSG_LOTTERY_QUERY_RESULT_OBSOLETE CMSG_BUY_LOTTERY_TICKET_OBSOLETE SMSG_LOTTERY_RESULT_OBSOLETE SMSG_CHARACTER_PROFILE SMSG_CHARACTER_PROFILE_REALM_CONNECTED SMSG_DEFENSE_MESSAGE SMSG_INSTANCE_DIFFICULTY MSG_GM_RESETINSTANCELIMIT SMSG_MOTD SMSG_MOVE_SET_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY SMSG_MOVE_UNSET_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY CMSG_MOVE_SET_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY_ACK MSG_MOVE_START_SWIM_CHEAT MSG_MOVE_STOP_SWIM_CHEAT SMSG_MOVE_SET_CAN_FLY SMSG_MOVE_UNSET_CAN_FLY CMSG_MOVE_SET_CAN_FLY_ACK CMSG_MOVE_SET_FLY CMSG_SOCKET_GEMS SMSG_SOCKET_GEMS_RESULT CMSG_ARENA_TEAM_CREATE SMSG_ARENA_TEAM_COMMAND_RESULT MSG_MOVE_UPDATE_CAN_TRANSITION_BETWEEN_SWIM_AND_FLY CMSG_ARENA_TEAM_QUERY SMSG_ARENA_TEAM_QUERY_RESPONSE CMSG_ARENA_TEAM_ROSTER SMSG_ARENA_TEAM_ROSTER CMSG_ARENA_TEAM_INVITE SMSG_ARENA_TEAM_INVITE CMSG_ARENA_TEAM_ACCEPT CMSG_ARENA_TEAM_DECLINE CMSG_ARENA_TEAM_LEAVE CMSG_ARENA_TEAM_REMOVE CMSG_ARENA_TEAM_DISBAND CMSG_ARENA_TEAM_LEADER SMSG_ARENA_TEAM_EVENT CMSG_BATTLEMASTER_JOIN_ARENA MSG_MOVE_START_ASCEND MSG_MOVE_STOP_ASCEND SMSG_ARENA_TEAM_STATS CMSG_LFG_JOIN CMSG_LFG_LEAVE CMSG_SEARCH_LFG_JOIN CMSG_SEARCH_LFG_LEAVE SMSG_UPDATE_LFG_LIST SMSG_LFG_PROPOSAL_UPDATE CMSG_LFG_PROPOSAL_RESULT SMSG_LFG_ROLE_CHECK_UPDATE SMSG_LFG_JOIN_RESULT SMSG_LFG_QUEUE_STATUS CMSG_SET_LFG_COMMENT SMSG_LFG_UPDATE_PLAYER SMSG_LFG_UPDATE_PARTY SMSG_LFG_UPDATE_SEARCH CMSG_LFG_SET_ROLES CMSG_LFG_SET_NEEDS CMSG_LFG_SET_BOOT_VOTE SMSG_LFG_BOOT_PROPOSAL_UPDATE CMSG_LFD_PLAYER_LOCK_INFO_REQUEST SMSG_LFG_PLAYER_INFO CMSG_LFG_TELEPORT CMSG_LFD_PARTY_LOCK_INFO_REQUEST SMSG_LFG_PARTY_INFO SMSG_TITLE_EARNED CMSG_SET_TITLE CMSG_CANCEL_MOUNT_AURA SMSG_ARENA_ERROR MSG_INSPECT_ARENA_TEAMS SMSG_DEATH_RELEASE_LOC CMSG_CANCEL_TEMP_ENCHANTMENT SMSG_FORCED_DEATH_UPDATE CMSG_CHEAT_SET_HONOR_CURRENCY CMSG_CHEAT_SET_ARENA_CURRENCY MSG_MOVE_SET_FLIGHT_SPEED_CHEAT MSG_MOVE_SET_FLIGHT_SPEED MSG_MOVE_SET_FLIGHT_BACK_SPEED_CHEAT MSG_MOVE_SET_FLIGHT_BACK_SPEED SMSG_FORCE_FLIGHT_SPEED_CHANGE CMSG_FORCE_FLIGHT_SPEED_CHANGE_ACK SMSG_FORCE_FLIGHT_BACK_SPEED_CHANGE CMSG_FORCE_FLIGHT_BACK_SPEED_CHANGE_ACK SMSG_SPLINE_SET_FLIGHT_SPEED SMSG_SPLINE_SET_FLIGHT_BACK_SPEED CMSG_MAELSTROM_INVALIDATE_CACHE SMSG_FLIGHT_SPLINE_SYNC CMSG_SET_TAXI_BENCHMARK_MODE SMSG_JOINED_BATTLEGROUND_QUEUE SMSG_REALM_SPLIT CMSG_REALM_SPLIT CMSG_MOVE_CHNG_TRANSPORT MSG_PARTY_ASSIGNMENT SMSG_OFFER_PETITION_ERROR SMSG_TIME_SYNC_REQ CMSG_TIME_SYNC_RESP CMSG_SEND_LOCAL_EVENT CMSG_SEND_GENERAL_TRIGGER CMSG_SEND_COMBAT_TRIGGER CMSG_MAELSTROM_GM_SENT_MAIL SMSG_RESET_FAILED_NOTIFY SMSG_REAL_GROUP_UPDATE SMSG_LFG_DISABLED CMSG_ACTIVE_PVP_CHEAT CMSG_CHEAT_DUMP_ITEMS_DEBUG_ONLY SMSG_CHEAT_DUMP_ITEMS_DEBUG_ONLY_RESPONSE SMSG_CHEAT_DUMP_ITEMS_DEBUG_ONLY_RESPONSE_WRITE_FILE SMSG_UPDATE_COMBO_POINTS SMSG_VOICE_SESSION_ROSTER_UPDATE SMSG_VOICE_SESSION_LEAVE SMSG_VOICE_SESSION_ADJUST_PRIORITY CMSG_VOICE_SET_TALKER_MUTED_REQUEST SMSG_VOICE_SET_TALKER_MUTED SMSG_INIT_EXTRA_AURA_INFO_OBSOLETE SMSG_SET_EXTRA_AURA_INFO_OBSOLETE SMSG_SET_EXTRA_AURA_INFO_NEED_UPDATE_OBSOLETE SMSG_CLEAR_EXTRA_AURA_INFO_OBSOLETE MSG_MOVE_START_DESCEND CMSG_IGNORE_REQUIREMENTS_CHEAT SMSG_IGNORE_REQUIREMENTS_CHEAT SMSG_SPELL_CHANCE_PROC_LOG CMSG_MOVE_SET_RUN_SPEED SMSG_DISMOUNT MSG_MOVE_UPDATE_CAN_FLY MSG_RAID_READY_CHECK_CONFIRM CMSG_VOICE_SESSION_ENABLE SMSG_VOICE_SESSION_ENABLE SMSG_VOICE_PARENTAL_CONTROLS CMSG_GM_WHISPER SMSG_GM_MESSAGECHAT MSG_GM_GEARRATING CMSG_COMMENTATOR_ENABLE SMSG_COMMENTATOR_STATE_CHANGED CMSG_COMMENTATOR_GET_MAP_INFO SMSG_COMMENTATOR_MAP_INFO CMSG_COMMENTATOR_GET_PLAYER_INFO SMSG_COMMENTATOR_GET_PLAYER_INFO SMSG_COMMENTATOR_PLAYER_INFO CMSG_COMMENTATOR_ENTER_INSTANCE CMSG_COMMENTATOR_EXIT_INSTANCE CMSG_COMMENTATOR_INSTANCE_COMMAND SMSG_CLEAR_TARGET CMSG_BOT_DETECTED SMSG_CROSSED_INEBRIATION_THRESHOLD CMSG_CHEAT_PLAYER_LOGIN CMSG_CHEAT_PLAYER_LOOKUP SMSG_CHEAT_PLAYER_LOOKUP SMSG_KICK_REASON MSG_RAID_READY_CHECK_FINISHED CMSG_COMPLAIN SMSG_COMPLAIN_RESULT SMSG_FEATURE_SYSTEM_STATUS CMSG_GM_SHOW_COMPLAINTS CMSG_GM_UNSQUELCH CMSG_CHANNEL_SILENCE_VOICE CMSG_CHANNEL_SILENCE_ALL CMSG_CHANNEL_UNSILENCE_VOICE CMSG_CHANNEL_UNSILENCE_ALL CMSG_TARGET_CAST CMSG_TARGET_SCRIPT_CAST CMSG_CHANNEL_DISPLAY_LIST CMSG_SET_ACTIVE_VOICE_CHANNEL CMSG_GET_CHANNEL_MEMBER_COUNT SMSG_CHANNEL_MEMBER_COUNT CMSG_CHANNEL_VOICE_ON CMSG_CHANNEL_VOICE_OFF CMSG_DEBUG_LIST_TARGETS SMSG_DEBUG_LIST_TARGETS SMSG_AVAILABLE_VOICE_CHANNEL CMSG_ADD_VOICE_IGNORE CMSG_DEL_VOICE_IGNORE CMSG_PARTY_SILENCE CMSG_PARTY_UNSILENCE MSG_NOTIFY_PARTY_SQUELCH SMSG_COMSAT_RECONNECT_TRY SMSG_COMSAT_DISCONNECT SMSG_COMSAT_CONNECT_FAIL SMSG_VOICE_CHAT_STATUS CMSG_REPORT_PVP_AFK SMSG_REPORT_PVP_AFK_RESULT CMSG_GUILD_BANKER_ACTIVATE CMSG_GUILD_BANK_QUERY_TAB SMSG_GUILD_BANK_LIST CMSG_GUILD_BANK_SWAP_ITEMS CMSG_GUILD_BANK_BUY_TAB CMSG_GUILD_BANK_UPDATE_TAB CMSG_GUILD_BANK_DEPOSIT_MONEY CMSG_GUILD_BANK_WITHDRAW_MONEY MSG_GUILD_BANK_LOG_QUERY CMSG_SET_CHANNEL_WATCH SMSG_USERLIST_ADD SMSG_USERLIST_REMOVE SMSG_USERLIST_UPDATE CMSG_CLEAR_CHANNEL_WATCH SMSG_INSPECT_TALENT SMSG_GOGOGO_OBSOLETE SMSG_ECHO_PARTY_SQUELCH CMSG_SET_TITLE_SUFFIX CMSG_SPELLCLICK SMSG_LOOT_LIST CMSG_GM_CHARACTER_RESTORE CMSG_GM_CHARACTER_SAVE SMSG_VOICESESSION_FULL MSG_GUILD_PERMISSIONS MSG_GUILD_BANK_MONEY_WITHDRAWN MSG_GUILD_EVENT_LOG_QUERY CMSG_MAELSTROM_RENAME_GUILD CMSG_GET_MIRRORIMAGE_DATA SMSG_MIRRORIMAGE_DATA SMSG_FORCE_DISPLAY_UPDATE SMSG_SPELL_CHANCE_RESIST_PUSHBACK CMSG_IGNORE_DIMINISHING_RETURNS_CHEAT SMSG_IGNORE_DIMINISHING_RETURNS_CHEAT CMSG_KEEP_ALIVE SMSG_RAID_READY_CHECK_ERROR CMSG_OPT_OUT_OF_LOOT MSG_QUERY_GUILD_BANK_TEXT CMSG_SET_GUILD_BANK_TEXT CMSG_SET_GRANTABLE_LEVELS CMSG_GRANT_LEVEL CMSG_REFER_A_FRIEND MSG_GM_CHANGE_ARENA_RATING CMSG_DECLINE_CHANNEL_INVITE SMSG_GROUPACTION_THROTTLED SMSG_OVERRIDE_LIGHT SMSG_TOTEM_CREATED CMSG_TOTEM_DESTROYED CMSG_EXPIRE_RAID_INSTANCE CMSG_NO_SPELL_VARIANCE CMSG_QUESTGIVER_STATUS_MULTIPLE_QUERY SMSG_QUESTGIVER_STATUS_MULTIPLE CMSG_SET_PLAYER_DECLINED_NAMES SMSG_SET_PLAYER_DECLINED_NAMES_RESULT CMSG_QUERY_SERVER_BUCK_DATA CMSG_CLEAR_SERVER_BUCK_DATA SMSG_SERVER_BUCK_DATA SMSG_SEND_UNLEARN_SPELLS SMSG_PROPOSE_LEVEL_GRANT CMSG_ACCEPT_LEVEL_GRANT SMSG_REFER_A_FRIEND_FAILURE SMSG_SPLINE_MOVE_SET_FLYING SMSG_SPLINE_MOVE_UNSET_FLYING SMSG_SUMMON_CANCEL CMSG_CHANGE_PERSONAL_ARENA_RATING CMSG_ALTER_APPEARANCE SMSG_ENABLE_BARBER_SHOP SMSG_BARBER_SHOP_RESULT CMSG_CALENDAR_GET_CALENDAR CMSG_CALENDAR_GET_EVENT CMSG_CALENDAR_GUILD_FILTER CMSG_CALENDAR_ARENA_TEAM CMSG_CALENDAR_ADD_EVENT CMSG_CALENDAR_UPDATE_EVENT CMSG_CALENDAR_REMOVE_EVENT CMSG_CALENDAR_COPY_EVENT CMSG_CALENDAR_EVENT_INVITE CMSG_CALENDAR_EVENT_RSVP CMSG_CALENDAR_EVENT_REMOVE_INVITE CMSG_CALENDAR_EVENT_STATUS CMSG_CALENDAR_EVENT_MODERATOR_STATUS SMSG_CALENDAR_SEND_CALENDAR SMSG_CALENDAR_SEND_EVENT SMSG_CALENDAR_FILTER_GUILD SMSG_CALENDAR_ARENA_TEAM SMSG_CALENDAR_EVENT_INVITE SMSG_CALENDAR_EVENT_INVITE_REMOVED SMSG_CALENDAR_EVENT_STATUS SMSG_CALENDAR_COMMAND_RESULT SMSG_CALENDAR_RAID_LOCKOUT_ADDED SMSG_CALENDAR_RAID_LOCKOUT_REMOVED SMSG_CALENDAR_EVENT_INVITE_ALERT SMSG_CALENDAR_EVENT_INVITE_REMOVED_ALERT SMSG_CALENDAR_EVENT_INVITE_STATUS_ALERT SMSG_CALENDAR_EVENT_REMOVED_ALERT SMSG_CALENDAR_EVENT_UPDATED_ALERT SMSG_CALENDAR_EVENT_MODERATOR_STATUS_ALERT CMSG_CALENDAR_COMPLAIN CMSG_CALENDAR_GET_NUM_PENDING SMSG_CALENDAR_SEND_NUM_PENDING CMSG_SAVE_DANCE SMSG_NOTIFY_DANCE CMSG_PLAY_DANCE SMSG_PLAY_DANCE CMSG_LOAD_DANCES CMSG_STOP_DANCE SMSG_STOP_DANCE CMSG_SYNC_DANCE CMSG_DANCE_QUERY SMSG_DANCE_QUERY_RESPONSE SMSG_INVALIDATE_DANCE CMSG_DELETE_DANCE SMSG_LEARNED_DANCE_MOVES CMSG_LEARN_DANCE_MOVE CMSG_UNLEARN_DANCE_MOVE CMSG_SET_RUNE_COUNT CMSG_SET_RUNE_COOLDOWN MSG_MOVE_SET_PITCH_RATE_CHEAT MSG_MOVE_SET_PITCH_RATE SMSG_FORCE_PITCH_RATE_CHANGE CMSG_FORCE_PITCH_RATE_CHANGE_ACK SMSG_SPLINE_SET_PITCH_RATE CMSG_CALENDAR_EVENT_INVITE_NOTES SMSG_CALENDAR_EVENT_INVITE_NOTES SMSG_CALENDAR_EVENT_INVITE_NOTES_ALERT CMSG_UPDATE_MISSILE_TRAJECTORY SMSG_UPDATE_ACCOUNT_DATA_COMPLETE SMSG_TRIGGER_MOVIE CMSG_COMPLETE_MOVIE CMSG_SET_GLYPH_SLOT CMSG_SET_GLYPH SMSG_ACHIEVEMENT_EARNED SMSG_DYNAMIC_DROP_ROLL_RESULT SMSG_CRITERIA_UPDATE CMSG_QUERY_INSPECT_ACHIEVEMENTS SMSG_RESPOND_INSPECT_ACHIEVEMENTS CMSG_DISMISS_CONTROLLED_VEHICLE CMSG_COMPLETE_ACHIEVEMENT_CHEAT SMSG_QUESTUPDATE_ADD_PVP_KILL CMSG_SET_CRITERIA_CHEAT SMSG_CALENDAR_RAID_LOCKOUT_UPDATED CMSG_UNITANIMTIER_CHEAT CMSG_CHAR_CUSTOMIZE SMSG_CHAR_CUSTOMIZE SMSG_PET_RENAMEABLE CMSG_REQUEST_VEHICLE_EXIT CMSG_REQUEST_VEHICLE_PREV_SEAT CMSG_REQUEST_VEHICLE_NEXT_SEAT CMSG_REQUEST_VEHICLE_SWITCH_SEAT CMSG_PET_LEARN_TALENT CMSG_PET_UNLEARN_TALENTS SMSG_SET_PHASE_SHIFT SMSG_ALL_ACHIEVEMENT_DATA CMSG_FORCE_SAY_CHEAT SMSG_HEALTH_UPDATE SMSG_POWER_UPDATE CMSG_GAMEOBJ_REPORT_USE SMSG_HIGHEST_THREAT_UPDATE SMSG_THREAT_UPDATE SMSG_THREAT_REMOVE SMSG_THREAT_CLEAR SMSG_CONVERT_RUNE SMSG_RESYNC_RUNES SMSG_ADD_RUNE_POWER CMSG_START_QUEST CMSG_REMOVE_GLYPH CMSG_DUMP_OBJECTS SMSG_DUMP_OBJECTS_DATA CMSG_DISMISS_CRITTER SMSG_NOTIFY_DEST_LOC_SPELL_CAST CMSG_AUCTION_LIST_PENDING_SALES SMSG_AUCTION_LIST_PENDING_SALES SMSG_MODIFY_COOLDOWN SMSG_PET_UPDATE_COMBO_POINTS CMSG_ENABLETAXI SMSG_PRE_RESURRECT SMSG_AURA_UPDATE_ALL SMSG_AURA_UPDATE CMSG_FLOOD_GRACE_CHEAT SMSG_SERVER_FIRST_ACHIEVEMENT SMSG_PET_LEARNED_SPELL SMSG_PET_REMOVED_SPELL CMSG_CHANGE_REALM_TICKET CMSG_CHANGE_SEATS_ON_CONTROLLED_VEHICLE CMSG_HEARTH_AND_RESURRECT SMSG_ON_CANCEL_EXPECTED_RIDE_VEHICLE_AURA SMSG_CRITERIA_DELETED SMSG_ACHIEVEMENT_DELETED CMSG_SERVER_INFO_QUERY SMSG_SERVER_INFO_RESPONSE CMSG_CHECK_LOGIN_CRITERIA SMSG_SERVER_BUCK_DATA_START CMSG_SET_BREATH CMSG_QUERY_VEHICLE_STATUS SMSG_BATTLEGROUND_INFO_THROTTLED SMSG_PLAYER_VEHICLE_DATA CMSG_PLAYER_VEHICLE_ENTER CMSG_CONTROLLER_EJECT_PASSENGER SMSG_PET_GUIDS SMSG_CLIENTCACHE_VERSION CMSG_CHANGE_GDF_ARENA_RATING CMSG_SET_ARENA_TEAM_RATING_BY_INDEX CMSG_SET_ARENA_TEAM_WEEKLY_GAMES CMSG_SET_ARENA_TEAM_SEASON_GAMES CMSG_SET_ARENA_MEMBER_WEEKLY_GAMES CMSG_SET_ARENA_MEMBER_SEASON_GAMES SMSG_ITEM_REFUND_INFO_RESPONSE CMSG_ITEM_REFUND_INFO CMSG_ITEM_REFUND SMSG_ITEM_REFUND_RESULT CMSG_CORPSE_MAP_POSITION_QUERY SMSG_CORPSE_MAP_POSITION_QUERY_RESPONSE CMSG_UNUSED5 CMSG_UNUSED6 CMSG_CALENDAR_EVENT_SIGN_UP SMSG_CALENDAR_CLEAR_PENDING_ACTION SMSG_EQUIPMENT_SET_LIST CMSG_EQUIPMENT_SET_SAVE CMSG_UPDATE_PROJECTILE_POSITION SMSG_SET_PROJECTILE_POSITION SMSG_TALENTS_INFO CMSG_LEARN_PREVIEW_TALENTS CMSG_LEARN_PREVIEW_TALENTS_PET CMSG_SET_ACTIVE_TALENT_GROUP_OBSOLETE CMSG_GM_GRANT_ACHIEVEMENT CMSG_GM_REMOVE_ACHIEVEMENT CMSG_GM_SET_CRITERIA_FOR_PLAYER SMSG_ARENA_UNIT_DESTROYED SMSG_ARENA_TEAM_CHANGE_FAILED_QUEUED CMSG_PROFILEDATA_REQUEST SMSG_PROFILEDATA_RESPONSE CMSG_START_BATTLEFIELD_CHEAT CMSG_END_BATTLEFIELD_CHEAT SMSG_MULTIPLE_PACKETS SMSG_MOVE_GRAVITY_DISABLE CMSG_MOVE_GRAVITY_DISABLE_ACK SMSG_MOVE_GRAVITY_ENABLE CMSG_MOVE_GRAVITY_ENABLE_ACK MSG_MOVE_GRAVITY_CHNG SMSG_SPLINE_MOVE_GRAVITY_DISABLE SMSG_SPLINE_MOVE_GRAVITY_ENABLE CMSG_EQUIPMENT_SET_USE SMSG_EQUIPMENT_SET_USE_RESULT CMSG_FORCE_ANIM SMSG_FORCE_ANIM CMSG_CHAR_FACTION_CHANGE SMSG_CHAR_FACTION_CHANGE CMSG_PVP_QUEUE_STATS_REQUEST SMSG_PVP_QUEUE_STATS CMSG_SET_PAID_SERVICE_CHEAT SMSG_BATTLEFIELD_MGR_ENTRY_INVITE CMSG_BATTLEFIELD_MGR_ENTRY_INVITE_RESPONSE SMSG_BATTLEFIELD_MGR_ENTERED SMSG_BATTLEFIELD_MGR_QUEUE_INVITE CMSG_BATTLEFIELD_MGR_QUEUE_INVITE_RESPONSE CMSG_BATTLEFIELD_MGR_QUEUE_REQUEST SMSG_BATTLEFIELD_MGR_QUEUE_REQUEST_RESPONSE SMSG_BATTLEFIELD_MGR_EJECT_PENDING SMSG_BATTLEFIELD_MGR_EJECTED CMSG_BATTLEFIELD_MGR_EXIT_REQUEST SMSG_BATTLEFIELD_MGR_STATE_CHANGE CMSG_BATTLEFIELD_MANAGER_ADVANCE_STATE CMSG_BATTLEFIELD_MANAGER_SET_NEXT_TRANSITION_TIME MSG_SET_RAID_DIFFICULTY CMSG_TOGGLE_XP_GAIN SMSG_TOGGLE_XP_GAIN SMSG_GMRESPONSE_DB_ERROR SMSG_GMRESPONSE_RECEIVED CMSG_GMRESPONSE_RESOLVE SMSG_GMRESPONSE_STATUS_UPDATE SMSG_GMRESPONSE_CREATE_TICKET CMSG_GMRESPONSE_CREATE_TICKET CMSG_SERVERINFO SMSG_SERVERINFO CMSG_WORLD_STATE_UI_TIMER_UPDATE SMSG_WORLD_STATE_UI_TIMER_UPDATE CMSG_CHAR_RACE_CHANGE MSG_VIEW_PHASE_SHIFT SMSG_TALENTS_INVOLUNTARILY_RESET CMSG_DEBUG_SERVER_GEO SMSG_DEBUG_SERVER_GEO SMSG_LOOT_SLOT_CHANGED UMSG_UPDATE_GROUP_INFO CMSG_READY_FOR_ACCOUNT_DATA_TIMES CMSG_QUERY_QUESTS_COMPLETED SMSG_QUERY_QUESTS_COMPLETED_RESPONSE CMSG_GM_REPORT_LAG CMSG_AFK_MONITOR_INFO_REQUEST SMSG_AFK_MONITOR_INFO_RESPONSE CMSG_AFK_MONITOR_INFO_CLEAR SMSG_CORPSE_NOT_IN_INSTANCE CMSG_GM_NUKE_CHARACTER CMSG_SET_ALLOW_LOW_LEVEL_RAID1 CMSG_SET_ALLOW_LOW_LEVEL_RAID2 SMSG_CAMERA_SHAKE CMSG_SET_CHARACTER_MODEL SMSG_REDIRECT_CLIENT CMSG_REDIRECTION_FAILED SMSG_SUSPEND_COMMS CMSG_SUSPEND_COMMS_ACK SMSG_FORCE_SEND_QUEUED_PACKETS CMSG_REDIRECTION_AUTH_PROOF CMSG_DROP_NEW_CONNECTION SMSG_SEND_ALL_COMBAT_LOG SMSG_OPEN_LFG_DUNGEON_FINDER SMSG_MOVE_SET_COLLISION_HGT CMSG_MOVE_SET_COLLISION_HGT_ACK MSG_MOVE_SET_COLLISION_HGT CMSG_CLEAR_RANDOM_BG_WIN_TIME CMSG_CLEAR_HOLIDAY_BG_WIN_TIME CMSG_COMMENTATOR_SKIRMISH_QUEUE_COMMAND SMSG_COMMENTATOR_SKIRMISH_QUEUE_RESULT1 SMSG_COMMENTATOR_SKIRMISH_QUEUE_RESULT2 SMSG_MULTIPLE_MOVES // Start "modern" opcodes CMSG_ACCEPT_GUILD_INVITE CMSG_ACCEPT_WARGAME_INVITE CMSG_ACTIVATE_TAXI CMSG_ADDON_LIST CMSG_ADD_BATTLENET_FRIEND CMSG_ADD_TOY CMSG_ADVENTURE_JOURNAL_OPEN_QUEST CMSG_ADVENTURE_JOURNAL_START_QUEST CMSG_ADVENTURE_MAP_POI_QUERY CMSG_AREA_TRIGGER CMSG_ARTIFACT_ADD_POWER CMSG_ARTIFACT_SET_APPEARANCE CMSG_ASSIGN_EQUIPMENT_SET_SPEC CMSG_ATTACK_STOP CMSG_ATTACK_SWING CMSG_AUCTIONABLE_TOKEN_SELL CMSG_AUCTIONABLE_TOKEN_SELL_AT_MARKET_PRICE CMSG_AUCTION_BROWSE_QUERY CMSG_AUCTION_CANCEL_COMMODITIES_PURCHASE CMSG_AUCTION_CONFIRM_COMMODITIES_PURCHASE CMSG_AUCTION_GET_COMMODITY_QUOTE CMSG_AUCTION_HELLO_REQUEST CMSG_AUCTION_LIST_BIDDED_ITEMS CMSG_AUCTION_LIST_BUCKETS_BY_BUCKET_KEYS CMSG_AUCTION_LIST_ITEMS_BY_BUCKET_KEY CMSG_AUCTION_LIST_ITEMS_BY_ITEM_ID CMSG_AUCTION_REPLICATE_ITEMS CMSG_AUTH_CONTINUED_SESSION CMSG_AUTOBANK_REAGENT CMSG_AUTOSTORE_BANK_REAGENT CMSG_AUTO_EQUIP_ITEM CMSG_AUTO_EQUIP_ITEM_SLOT CMSG_AUTO_STORE_BAG_ITEM CMSG_AZERITE_EMPOWERED_ITEM_SELECT_POWER CMSG_AZERITE_EMPOWERED_ITEM_VIEWED CMSG_AZERITE_ESSENCE_ACTIVATE_ESSENCE CMSG_AZERITE_ESSENCE_UNLOCK_MILESTONE CMSG_BATTLEFIELD_LEAVE CMSG_BATTLEMASTER_JOIN_BRAWL CMSG_BATTLEMASTER_JOIN_SKIRMISH CMSG_BATTLENET_CHALLENGE_RESPONSE CMSG_BATTLENET_REQUEST CMSG_BATTLE_PAY_ACK_FAILED_RESPONSE CMSG_BATTLE_PAY_CANCEL_OPEN_CHECKOUT CMSG_BATTLE_PAY_CONFIRM_PURCHASE_RESPONSE CMSG_BATTLE_PAY_DISTRIBUTION_ASSIGN_TO_TARGET CMSG_BATTLE_PAY_GET_PRODUCT_LIST CMSG_BATTLE_PAY_GET_PURCHASE_LIST CMSG_BATTLE_PAY_OPEN_CHECKOUT CMSG_BATTLE_PAY_QUERY_CLASS_TRIAL_BOOST_RESULT CMSG_BATTLE_PAY_REQUEST_CHARACTER_BOOST_UNREVOKE CMSG_BATTLE_PAY_REQUEST_PRICE_INFO CMSG_BATTLE_PAY_START_PURCHASE CMSG_BATTLE_PAY_START_VAS_PURCHASE CMSG_BATTLE_PAY_TRIAL_BOOST_CHARACTER CMSG_BATTLE_PET_CLEAR_FANFARE CMSG_BATTLE_PET_DELETE_PET CMSG_BATTLE_PET_DELETE_PET_CHEAT CMSG_BATTLE_PET_MODIFY_NAME CMSG_BATTLE_PET_REQUEST_JOURNAL CMSG_BATTLE_PET_REQUEST_JOURNAL_LOCK CMSG_BATTLE_PET_SET_BATTLE_SLOT CMSG_BATTLE_PET_SET_FLAGS CMSG_BATTLE_PET_SUMMON CMSG_BATTLE_PET_UPDATE_DISPLAY_NOTIFY CMSG_BATTLE_PET_UPDATE_NOTIFY CMSG_BLACK_MARKET_BID_ON_ITEM CMSG_BLACK_MARKET_OPEN CMSG_BLACK_MARKET_REQUEST_ITEMS CMSG_BONUS_ROLL CMSG_BUG_REPORT CMSG_BUY_BACK_ITEM CMSG_BUY_REAGENT_BANK CMSG_CAGE_BATTLE_PET CMSG_CALENDAR_COMMUNITY_FILTER CMSG_CALENDAR_GET CMSG_CALENDAR_REMOVE_INVITE CMSG_CANCEL_MASTER_LOOT_ROLL CMSG_CANCEL_MOD_SPEED_NO_CONTROL_AURAS CMSG_CANCEL_QUEUED_SPELL CMSG_CAN_DUEL CMSG_CHALLENGE_MODE_REQUEST_LEADERS CMSG_CHALLENGE_MODE_REQUEST_MAP_STATS CMSG_CHANGE_BAG_SLOT_FLAG CMSG_CHANGE_BANK_BAG_SLOT_FLAG CMSG_CHANGE_MONUMENT_APPEARANCE CMSG_CHANGE_SUB_GROUP CMSG_CHARACTER_RENAME_REQUEST CMSG_CHAR_RACE_OR_FACTION_CHANGE CMSG_CHAT_ADDON_MESSAGE CMSG_CHAT_ADDON_MESSAGE_TARGETED CMSG_CHAT_CHANNEL_ANNOUNCEMENTS CMSG_CHAT_CHANNEL_BAN CMSG_CHAT_CHANNEL_DECLINE_INVITE CMSG_CHAT_CHANNEL_DISPLAY_LIST CMSG_CHAT_CHANNEL_INVITE CMSG_CHAT_CHANNEL_KICK CMSG_CHAT_CHANNEL_LIST CMSG_CHAT_CHANNEL_MODERATOR CMSG_CHAT_CHANNEL_OWNER CMSG_CHAT_CHANNEL_PASSWORD CMSG_CHAT_CHANNEL_SET_OWNER CMSG_CHAT_CHANNEL_SILENCE_ALL CMSG_CHAT_CHANNEL_UNBAN CMSG_CHAT_CHANNEL_UNMODERATOR CMSG_CHAT_CHANNEL_UNSILENCE_ALL CMSG_CHAT_JOIN_CHANNEL CMSG_CHAT_LEAVE_CHANNEL CMSG_CHAT_MESSAGE_AFK CMSG_CHAT_MESSAGE_CHANNEL CMSG_CHAT_MESSAGE_DND CMSG_CHAT_MESSAGE_EMOTE CMSG_CHAT_MESSAGE_GUILD CMSG_CHAT_MESSAGE_INSTANCE_CHAT CMSG_CHAT_MESSAGE_OFFICER CMSG_CHAT_MESSAGE_PARTY CMSG_CHAT_MESSAGE_RAID CMSG_CHAT_MESSAGE_RAID_WARNING CMSG_CHAT_MESSAGE_SAY CMSG_CHAT_MESSAGE_WHISPER CMSG_CHAT_MESSAGE_YELL CMSG_CHAT_REGISTER_ADDON_PREFIXES CMSG_CHAT_REPORT_FILTERED CMSG_CHAT_REPORT_IGNORED CMSG_CHAT_UNREGISTER_ALL_ADDON_PREFIXES CMSG_CHOICE_RESPONSE CMSG_CLEAR_NEW_APPEARANCE CMSG_CLEAR_RAID_MARKER CMSG_CLIENT_PORT_GRAVEYARD CMSG_CLOSE_INTERACTION CMSG_CLOSE_QUEST_CHOICE CMSG_CLUB_FINDER_APPLICATION_RESPONSE CMSG_CLUB_FINDER_GET_APPLICANTS_LIST CMSG_CLUB_FINDER_POST CMSG_CLUB_FINDER_REQUEST_CLUBS_DATA CMSG_CLUB_FINDER_REQUEST_CLUBS_LIST CMSG_CLUB_FINDER_REQUEST_MEMBERSHIP_TO_CLUB CMSG_CLUB_FINDER_REQUEST_PENDING_CLUBS_LIST CMSG_CLUB_FINDER_REQUEST_SUBSCRIBED_CLUB_POSTING_IDS CMSG_CLUB_FINDER_RESPOND_TO_APPLICANT CMSG_CLUB_INVITE CMSG_COLLECTION_ITEM_SET_FAVORITE CMSG_COMMENTATOR_GET_PLAYER_COOLDOWNS CMSG_COMMENTATOR_START_WARGAME CMSG_COMMERCE_TOKEN_GET_COUNT CMSG_COMMERCE_TOKEN_GET_LOG CMSG_COMMERCE_TOKEN_GET_MARKET_PRICE CMSG_COMPLAINT CMSG_CONFIRM_ARTIFACT_RESPEC CMSG_CONFIRM_RESPEC_WIPE CMSG_CONNECT_TO_FAILED CMSG_CONSUMABLE_TOKEN_BUY CMSG_CONSUMABLE_TOKEN_BUY_AT_MARKET_PRICE CMSG_CONSUMABLE_TOKEN_CAN_VETERAN_BUY CMSG_CONSUMABLE_TOKEN_REDEEM CMSG_CONSUMABLE_TOKEN_REDEEM_CONFIRMATION CMSG_CONTRIBUTION_CONTRIBUTE CMSG_CONTRIBUTION_LAST_UPDATE_REQUEST CMSG_CONVERSATION_LINE_STARTED CMSG_CONVERT_RAID CMSG_CREATE_CHARACTER CMSG_CREATE_SHIPMENT CMSG_DB_QUERY_BULK CMSG_DECLINE_GUILD_INVITES CMSG_DECLINE_PETITION CMSG_DELETE_EQUIPMENT_SET CMSG_DEPOSIT_REAGENT_BANK CMSG_DESTROY_ITEM CMSG_DF_BOOT_PLAYER_VOTE CMSG_DF_GET_JOIN_STATUS CMSG_DF_GET_SYSTEM_INFO CMSG_DF_JOIN CMSG_DF_LEAVE CMSG_DF_PROPOSAL_RESPONSE CMSG_DF_READY_CHECK_RESPONSE CMSG_DF_SET_ROLES CMSG_DF_TELEPORT CMSG_DISCARDED_TIME_SYNC_ACKS CMSG_DO_MASTER_LOOT_ROLL CMSG_DO_READY_CHECK CMSG_DUEL_RESPONSE CMSG_EJECT_PASSENGER CMSG_ENABLE_NAGLE CMSG_ENABLE_TAXI_NODE CMSG_ENGINE_SURVEY CMSG_ENTER_ENCRYPTED_MODE_ACK CMSG_ENUM_CHARACTERS CMSG_ENUM_CHARACTERS_DELETED_BY_CLIENT CMSG_GAME_EVENT_DEBUG_DISABLE CMSG_GAME_EVENT_DEBUG_ENABLE CMSG_GAME_OBJ_REPORT_USE CMSG_GAME_OBJ_USE CMSG_GARRISON_ASSIGN_FOLLOWER_TO_BUILDING CMSG_GARRISON_CANCEL_CONSTRUCTION CMSG_GARRISON_CHECK_UPGRADEABLE CMSG_GARRISON_COMPLETE_MISSION CMSG_GARRISON_GENERATE_RECRUITS CMSG_GARRISON_GET_BUILDING_LANDMARKS CMSG_GARRISON_GET_MISSION_REWARD CMSG_GARRISON_MISSION_BONUS_ROLL CMSG_GARRISON_PURCHASE_BUILDING CMSG_GARRISON_RECRUIT_FOLLOWER CMSG_GARRISON_REMOVE_FOLLOWER CMSG_GARRISON_REMOVE_FOLLOWER_FROM_BUILDING CMSG_GARRISON_RENAME_FOLLOWER CMSG_GARRISON_REQUEST_BLUEPRINT_AND_SPECIALIZATION_DATA CMSG_GARRISON_REQUEST_CLASS_SPEC_CATEGORY_INFO CMSG_GARRISON_REQUEST_LANDING_PAGE_SHIPMENT_INFO CMSG_GARRISON_REQUEST_SHIPMENT_INFO CMSG_GARRISON_RESEARCH_TALENT CMSG_GARRISON_SET_BUILDING_ACTIVE CMSG_GARRISON_SET_FOLLOWER_FAVORITE CMSG_GARRISON_SET_FOLLOWER_INACTIVE CMSG_GARRISON_SET_RECRUITMENT_PREFERENCES CMSG_GARRISON_START_MISSION CMSG_GARRISON_SWAP_BUILDINGS CMSG_GENERATE_RANDOM_CHARACTER_NAME CMSG_GET_ACCOUNT_CHARACTER_LIST CMSG_GET_CHALLENGE_MODE_REWARDS CMSG_GET_GARRISON_INFO CMSG_GET_ITEM_PURCHASE_DATA CMSG_GET_MIRROR_IMAGE_DATA CMSG_GET_PVP_OPTIONS_ENABLED CMSG_GET_RAF_ACCOUNT_INFO CMSG_GET_REMAINING_GAME_TIME CMSG_GET_TROPHY_LIST CMSG_GET_UNDELETE_CHARACTER_COOLDOWN_STATUS CMSG_GET_VAS_ACCOUNT_CHARACTER_LIST CMSG_GET_VAS_TRANSFER_TARGET_REALM_LIST CMSG_GM_TICKET_ACKNOWLEDGE_SURVEY CMSG_GM_TICKET_GET_CASE_STATUS CMSG_GM_TICKET_GET_SYSTEM_STATUS CMSG_GUILD_ADD_BATTLENET_FRIEND CMSG_GUILD_ASSIGN_MEMBER_RANK CMSG_GUILD_AUTO_DECLINE_INVITATION CMSG_GUILD_BANK_ACTIVATE CMSG_GUILD_BANK_LOG_QUERY CMSG_GUILD_BANK_REMAINING_WITHDRAW_MONEY_QUERY CMSG_GUILD_BANK_SET_TAB_TEXT CMSG_GUILD_BANK_TEXT_QUERY CMSG_GUILD_CHALLENGE_UPDATE_REQUEST CMSG_GUILD_CHANGE_NAME_REQUEST CMSG_GUILD_DECLINE_INVITATION CMSG_GUILD_DELETE CMSG_GUILD_DELETE_RANK CMSG_GUILD_DEMOTE_MEMBER CMSG_GUILD_EVENT_LOG_QUERY CMSG_GUILD_GET_ACHIEVEMENT_MEMBERS CMSG_GUILD_GET_RANKS CMSG_GUILD_GET_ROSTER CMSG_GUILD_INVITE_BY_NAME CMSG_GUILD_NEWS_UPDATE_STICKY CMSG_GUILD_OFFICER_REMOVE_MEMBER CMSG_GUILD_PERMISSIONS_QUERY CMSG_GUILD_PROMOTE_MEMBER CMSG_GUILD_QUERY_MEMBERS_FOR_RECIPE CMSG_GUILD_QUERY_MEMBER_RECIPES CMSG_GUILD_QUERY_NEWS CMSG_GUILD_QUERY_RECIPES CMSG_GUILD_REPLACE_GUILD_MASTER CMSG_GUILD_SET_ACHIEVEMENT_TRACKING CMSG_GUILD_SET_FOCUSED_ACHIEVEMENT CMSG_GUILD_SET_GUILD_MASTER CMSG_GUILD_SET_MEMBER_NOTE CMSG_GUILD_SET_RANK_PERMISSIONS CMSG_GUILD_SHIFT_RANK CMSG_GUILD_UPDATE_INFO_TEXT CMSG_GUILD_UPDATE_MOTD_TEXT CMSG_HOTFIX_REQUEST CMSG_INITIATE_ROLE_POLL CMSG_ISLAND_QUEUE CMSG_ITEM_PURCHASE_REFUND CMSG_JOIN_PET_BATTLE_QUEUE CMSG_JOIN_RATED_BATTLEGROUND CMSG_KEYBOUND_OVERRIDE CMSG_LEARN_PVP_TALENTS CMSG_LEARN_TALENTS CMSG_LEAVE_GROUP CMSG_LEAVE_PET_BATTLE_QUEUE CMSG_LFG_LIST_APPLY_TO_GROUP CMSG_LFG_LIST_CANCEL_APPLICATION CMSG_LFG_LIST_DECLINE_APPLICANT CMSG_LFG_LIST_GET_STATUS CMSG_LFG_LIST_INVITE_APPLICANT CMSG_LFG_LIST_INVITE_RESPONSE CMSG_LFG_LIST_JOIN CMSG_LFG_LIST_LEAVE CMSG_LFG_LIST_SEARCH CMSG_LFG_LIST_UPDATE_REQUEST CMSG_LF_GUILD_ADD_RECRUIT CMSG_LF_GUILD_BROWSE CMSG_LF_GUILD_DECLINE_RECRUIT CMSG_LF_GUILD_GET_APPLICATIONS CMSG_LF_GUILD_GET_GUILD_POST CMSG_LF_GUILD_GET_RECRUITS CMSG_LF_GUILD_REMOVE_RECRUIT CMSG_LF_GUILD_SET_GUILD_POST CMSG_LIVE_REGION_ACCOUNT_RESTORE CMSG_LIVE_REGION_CHARACTER_COPY CMSG_LIVE_REGION_GET_ACCOUNT_CHARACTER_LIST CMSG_LOADING_SCREEN_NOTIFY CMSG_LOAD_SELECTED_TROPHY CMSG_LOGOUT_INSTANT CMSG_LOG_DISCONNECT CMSG_LOG_STREAMING_ERROR CMSG_LOOT_ITEM CMSG_LOOT_UNIT CMSG_LOW_LEVEL_RAID1 CMSG_LOW_LEVEL_RAID2 CMSG_MAIL_GET_LIST CMSG_MAKE_CONTITIONAL_APPEARANCE_PERMANENT CMSG_MASTER_LOOT_ITEM CMSG_MINIMAP_PING CMSG_MISSILE_TRAJECTORY_COLLISION CMSG_MOUNT_CLEAR_FANFARE CMSG_MOUNT_SET_FAVORITE CMSG_MOUNT_SPECIAL_ANIM CMSG_MOVE_APPLY_MOVEMENT_FORCE_ACK CMSG_MOVE_CHANGE_TRANSPORT CMSG_MOVE_CHANGE_VEHICLE_SEATS CMSG_MOVE_DISMISS_VEHICLE CMSG_MOVE_DOUBLE_JUMP CMSG_MOVE_ENABLE_DOUBLE_JUMP_ACK CMSG_MOVE_ENABLE_SWIM_TO_FLY_TRANS_ACK CMSG_MOVE_FALL_LAND CMSG_MOVE_FORCE_FLIGHT_BACK_SPEED_CHANGE_ACK CMSG_MOVE_FORCE_FLIGHT_SPEED_CHANGE_ACK CMSG_MOVE_FORCE_PITCH_RATE_CHANGE_ACK CMSG_MOVE_FORCE_ROOT_ACK CMSG_MOVE_FORCE_RUN_BACK_SPEED_CHANGE_ACK CMSG_MOVE_FORCE_RUN_SPEED_CHANGE_ACK CMSG_MOVE_FORCE_SWIM_BACK_SPEED_CHANGE_ACK CMSG_MOVE_FORCE_SWIM_SPEED_CHANGE_ACK CMSG_MOVE_FORCE_TURN_RATE_CHANGE_ACK CMSG_MOVE_FORCE_UNROOT_ACK CMSG_MOVE_FORCE_WALK_SPEED_CHANGE_ACK CMSG_MOVE_HEARTBEAT CMSG_MOVE_JUMP CMSG_MOVE_REMOVE_MOVEMENT_FORCES CMSG_MOVE_REMOVE_MOVEMENT_FORCE_ACK CMSG_MOVE_SEAMLESS_TRANSFER_COMPLETE CMSG_MOVE_SET_CAN_TURN_WHILE_FALLING_ACK CMSG_MOVE_SET_COLLISION_HEIGHT_ACK CMSG_MOVE_SET_FACING CMSG_MOVE_SET_IGNORE_MOVEMENT_FORCES_ACK CMSG_MOVE_SET_MOD_MOVEMENT_FORCE_MAGNITUDE_ACK CMSG_MOVE_SET_PITCH CMSG_MOVE_SET_RUN_MODE CMSG_MOVE_SET_VEHICLE_REC_ID_ACK CMSG_MOVE_SET_WALK_MODE CMSG_MOVE_START_ASCEND CMSG_MOVE_START_BACKWARD CMSG_MOVE_START_DESCEND CMSG_MOVE_START_FORWARD CMSG_MOVE_START_PITCH_DOWN CMSG_MOVE_START_PITCH_UP CMSG_MOVE_START_STRAFE_LEFT CMSG_MOVE_START_STRAFE_RIGHT CMSG_MOVE_START_SWIM CMSG_MOVE_START_TURN_LEFT CMSG_MOVE_START_TURN_RIGHT CMSG_MOVE_STOP CMSG_MOVE_STOP_ASCEND CMSG_MOVE_STOP_PITCH CMSG_MOVE_STOP_STRAFE CMSG_MOVE_STOP_SWIM CMSG_MOVE_STOP_TURN CMSG_MOVE_TELEPORT_ACK CMSG_MOVE_TOGGLE_COLLISION_CHEAT CMSG_MOVE_UPDATE_FALL_SPEED CMSG_NEUTRAL_PLAYER_SELECT_FACTION CMSG_OBJECT_UPDATE_FAILED CMSG_OBJECT_UPDATE_RESCUED CMSG_OPEN_MISSION_NPC CMSG_OPEN_SHIPMENT_NPC CMSG_OPEN_TRADESKILL_NPC CMSG_PARTY_INVITE CMSG_PARTY_INVITE_RESPONSE CMSG_PARTY_UNINVITE CMSG_PETITION_RENAME_GUILD CMSG_PETITION_SHOW_LIST CMSG_PET_BATTLE_FINAL_NOTIFY CMSG_PET_BATTLE_INPUT CMSG_PET_BATTLE_QUEUE_PROPOSE_MATCH_RESULT CMSG_PET_BATTLE_QUIT_NOTIFY CMSG_PET_BATTLE_REPLACE_FRONT_PET CMSG_PET_BATTLE_REQUEST_PVP CMSG_PET_BATTLE_REQUEST_UPDATE CMSG_PET_BATTLE_REQUEST_WILD CMSG_PET_BATTLE_SCRIPT_ERROR_NOTIFY CMSG_PET_BATTLE_WILD_LOCATION_FAIL CMSG_PUSH_QUEST_TO_PARTY CMSG_PVP_LOG_DATA CMSG_QUERY_BATTLE_PET_NAME CMSG_QUERY_COMMUNITY_NAME CMSG_QUERY_CORPSE_LOCATION_FROM_CLIENT CMSG_QUERY_CORPSE_TRANSPORT CMSG_QUERY_COUNTDOWN_TIMER CMSG_QUERY_CREATURE CMSG_QUERY_GAME_OBJECT CMSG_QUERY_GARRISON_CREATURE_NAME CMSG_QUERY_GUILD_INFO CMSG_QUERY_NEXT_MAIL_TIME CMSG_QUERY_NPC_TEXT CMSG_QUERY_PAGE_TEXT CMSG_QUERY_PETITION CMSG_QUERY_PET_NAME CMSG_QUERY_PLAYER_NAME CMSG_QUERY_QUEST_COMPLETION_NPCS CMSG_QUERY_QUEST_INFO CMSG_QUERY_REALM_NAME CMSG_QUERY_SCENARIO_POI CMSG_QUERY_TREASURE_PICKER CMSG_QUERY_VOID_STORAGE CMSG_QUEST_GIVER_ACCEPT_QUEST CMSG_QUEST_GIVER_CHOOSE_REWARD CMSG_QUEST_GIVER_COMPLETE_QUEST CMSG_QUEST_GIVER_HELLO CMSG_QUEST_GIVER_QUERY_QUEST CMSG_QUEST_GIVER_REQUEST_REWARD CMSG_QUEST_GIVER_STATUS_MULTIPLE_QUERY CMSG_QUEST_GIVER_STATUS_QUERY CMSG_QUEST_LOG_REMOVE_QUEST CMSG_QUEST_PUSH_RESULT CMSG_QUEST_SESSION_BEGIN_RESPONSE CMSG_QUEST_SESSION_REQUEST_START CMSG_QUEST_SESSION_REQUEST_STOP CMSG_QUEUED_MESSAGES_END CMSG_QUICK_JOIN_AUTO_ACCEPT_REQUESTS CMSG_QUICK_JOIN_REQUEST_INVITE CMSG_QUICK_JOIN_REQUEST_INVITE_WITH_CONFIRMATION CMSG_QUICK_JOIN_RESPOND_TO_INVITE CMSG_QUICK_JOIN_SIGNAL_TOAST_DISPLAYED CMSG_RAF_CLAIM_ACTIVITY_REWARD CMSG_RAF_CLAIM_NEXT_REWARD CMSG_RAF_GENERATE_RECRUITMENT_LINK CMSG_RAF_UPDATE_RECRUITMENT_INFO CMSG_RAID_OR_BATTLEGROUND_ENGINE_SURVEY CMSG_RANDOM_ROLL CMSG_READY_CHECK_RESPONSE CMSG_REMOVE_NEW_ITEM CMSG_REMOVE_RAF_RECRUIT CMSG_REORDER_CHARACTERS CMSG_REPLACE_TROPHY CMSG_REPORT_CLIENT_VARIABLES CMSG_REPORT_ENABLED_ADDONS CMSG_REPORT_KEYBINDING_EXECUTION_COUNTS CMSG_REPORT_PVP_PLAYER_AFK CMSG_REPORT_SERVER_LAG CMSG_REQUEST_AREA_POI_UPDATE CMSG_REQUEST_BATTLEFIELD_STATUS CMSG_REQUEST_CATEGORY_COOLDOWNS CMSG_REQUEST_CEMETERY_LIST CMSG_REQUEST_CHALLENGE_MODE_AFFIXES CMSG_REQUEST_CHARACTER_GUILD_FOLLOW_INFO CMSG_REQUEST_CONQUEST_FORMULA_CONSTANTS CMSG_REQUEST_CROWD_CONTROL_SPELL CMSG_REQUEST_FORCED_REACTIONS CMSG_REQUEST_GUILD_PARTY_STATE CMSG_REQUEST_GUILD_REWARDS_LIST CMSG_REQUEST_LFG_LIST_BLACKLIST CMSG_REQUEST_PARTY_JOIN_UPDATES CMSG_REQUEST_PLAYED_TIME CMSG_REQUEST_PVP_BRAWL_INFO CMSG_REQUEST_PVP_REWARDS CMSG_REQUEST_QUEST_LINES_FOR_MAP CMSG_REQUEST_RATED_BATTLEFIELD_INFO CMSG_REQUEST_REALM_GUILD_MASTER_INFO CMSG_REQUEST_RESEARCH_HISTORY CMSG_REQUEST_STABLED_PETS CMSG_REQUEST_WORLD_QUEST_UPDATE CMSG_RESET_CHALLENGE_MODE CMSG_RESET_CHALLENGE_MODE_CHEAT CMSG_REVERT_MONUMENT_APPEARANCE CMSG_RIDE_VEHICLE_INTERACT CMSG_SAVE_CUF_PROFILES CMSG_SAVE_EQUIPMENT_SET CMSG_SAVE_GUILD_EMBLEM CMSG_SCENE_PLAYBACK_CANCELED CMSG_SCENE_PLAYBACK_COMPLETE CMSG_SCENE_TRIGGER_EVENT CMSG_SEND_CONTACT_LIST CMSG_SEND_TEXT_EMOTE CMSG_SERVER_TIME_OFFSET_REQUEST CMSG_SET_ACHIEVEMENTS_HIDDEN CMSG_SET_ACTION_BAR_TOGGLES CMSG_SET_ADVANCED_COMBAT_LOGGING CMSG_SET_ASSISTANT_LEADER CMSG_SET_BACKPACK_AUTOSORT_DISABLED CMSG_SET_BANK_AUTOSORT_DISABLED CMSG_SET_CURRENCY_FLAGS CMSG_SET_DIFFICULTY_ID CMSG_SET_DUNGEON_DIFFICULTY CMSG_SET_EVERYONE_IS_ASSISTANT CMSG_SET_FACTION_AT_WAR CMSG_SET_FACTION_NOT_AT_WAR CMSG_SET_GAME_EVENT_DEBUG_VIEW_STATE CMSG_SET_INSERT_ITEMS_LEFT_TO_RIGHT CMSG_SET_LFG_BONUS_FACTION_ID CMSG_SET_LOOT_METHOD CMSG_SET_LOOT_SPECIALIZATION CMSG_SET_PARTY_ASSIGNMENT CMSG_SET_PARTY_LEADER CMSG_SET_PET_SLOT CMSG_SET_PREFERRED_CEMETERY CMSG_SET_PVP CMSG_SET_RAID_DIFFICULTY CMSG_SET_ROLE CMSG_SET_SHEATHED CMSG_SET_SORT_BAGS_RIGHT_TO_LEFT CMSG_SET_TRADE_CURRENCY CMSG_SET_USING_PARTY_GARRISON CMSG_SET_WAR_MODE CMSG_SHOW_TRADE_SKILL CMSG_SIGN_PETITION CMSG_SILENCE_PARTY_TALKER CMSG_SORT_BAGS CMSG_SORT_BANK_BAGS CMSG_SORT_REAGENT_BANK_BAGS CMSG_SPELL_CLICK CMSG_STAND_STATE_CHANGE CMSG_START_CHALLENGE_MODE CMSG_START_SPECTATOR_WAR_GAME CMSG_START_WAR_GAME CMSG_SUPPORT_TICKET_SUBMIT_BUG CMSG_SUPPORT_TICKET_SUBMIT_COMPLAINT CMSG_SUPPORT_TICKET_SUBMIT_SUGGESTION CMSG_SURRENDER_ARENA CMSG_SUSPEND_TOKEN_RESPONSE CMSG_SWAP_SUB_GROUPS CMSG_SWAP_VOID_ITEM CMSG_TABARD_VENDOR_ACTIVATE CMSG_TALK_TO_GOSSIP CMSG_TAXI_NODE_STATUS_QUERY CMSG_TAXI_QUERY_AVAILABLE_NODES CMSG_TAXI_REQUEST_EARLY_LANDING CMSG_TIME_ADJUSTMENT_RESPONSE CMSG_TIME_SYNC_RESPONSE CMSG_TIME_SYNC_RESPONSE_DROPPED CMSG_TIME_SYNC_RESPONSE_FAILED CMSG_TOGGLE_DIFFICULTY CMSG_TOY_CLEAR_FANFARE CMSG_TRADE_SKILL_SET_FAVORITE CMSG_TRANSMOGRIFY_ITEMS CMSG_TUTORIAL CMSG_TWITTER_CHECK_STATUS CMSG_TWITTER_CONNECT CMSG_TWITTER_DISCONNECT CMSG_TWITTER_POST CMSG_UNDELETE_CHARACTER CMSG_UNLEARN_SPECIALIZATION CMSG_UNLOCK_VOID_STORAGE CMSG_UPDATE_AREA_TRIGGER_VISUAL CMSG_UPDATE_CLIENT_SETTINGS CMSG_UPDATE_RAID_TARGET CMSG_UPDATE_SPELL_VISUAL CMSG_UPDATE_VAS_PURCHASE_STATES CMSG_UPGRADE_GARRISON CMSG_USED_FOLLOW CMSG_USE_CRITTER_ITEM CMSG_USE_EQUIPMENT_SET CMSG_USE_TOY CMSG_VAS_CHECK_TRANSFER_OK CMSG_VAS_GET_QUEUE_MINUTES CMSG_VAS_GET_SERVICE_STATUS CMSG_VIOLENCE_LEVEL CMSG_VOICE_CHAT_JOIN_CHANNEL CMSG_VOICE_CHAT_LOGIN CMSG_VOID_STORAGE_TRANSFER CMSG_WHO_IS CMSG_WORLD_PORT_RESPONSE CMSG_BF_MGR_ENTRY_INVITE_RESPONSE CMSG_BF_MGR_QUEUE_INVITE_RESPONSE CMSG_BF_MGR_QUEUE_EXIT_REQUEST SMSG_ABORT_NEW_WORLD SMSG_ACCOUNT_CRITERIA_UPDATE SMSG_ACCOUNT_MOUNT_UPDATE SMSG_ACCOUNT_TOY_UPDATE SMSG_ACCOUNT_TRANSMOG_SET_FAVORITES_UPDATE SMSG_ACCOUNT_TRANSMOG_UPDATE SMSG_ACTIVATE_ESSENCE_FAILED SMSG_ACTIVATE_TAXI_REPLY SMSG_ACTIVE_GLYPHS SMSG_ADDON_LIST_REQUEST SMSG_ADD_BATTLENET_FRIEND_RESPONSE SMSG_ADD_ITEM_PASSIVE SMSG_ADD_LOSS_OF_CONTROL SMSG_ADJUST_SPLINE_DURATION SMSG_ADVENTURE_MAP_OPEN_NPC SMSG_AE_LOOT_TARGETS SMSG_AE_LOOT_TARGET_ACK SMSG_ALLIED_RACE_DETAILS SMSG_ALL_ACCOUNT_CRITERIA SMSG_ALL_GUILD_ACHIEVEMENTS SMSG_APPLY_MOUNT_EQUIPMENT_RESULT SMSG_ARCHAEOLOGY_SURVERY_CAST SMSG_AREA_POI_UPDATE_RESPONSE SMSG_AREA_TRIGGER_DENIED SMSG_AREA_TRIGGER_FORCE_SET_POSITION_AND_FACING SMSG_AREA_TRIGGER_NO_CORPSE SMSG_AREA_TRIGGER_PLAY_SPELL_VISUAL SMSG_AREA_TRIGGER_RE_PATH SMSG_AREA_TRIGGER_RE_SHAPE SMSG_AREA_TRIGGER_SET_VISUAL_ANIM SMSG_AREA_TRIGGER_UNATTACH SMSG_ARENA_CROWD_CONTROL_SPELL_RESULT SMSG_ARENA_PREP_OPPONENT_SPECIALIZATIONS SMSG_ARTIFACT_ENDGAME_POWERS_REFUNDED SMSG_ARTIFACT_FORGE_ERROR SMSG_ARTIFACT_RESPEC_PROMPT SMSG_ARTIFACT_XP_GAIN SMSG_ATTACKER_STATE_UPDATE SMSG_ATTACK_START SMSG_ATTACK_STOP SMSG_ATTACK_SWING_ERROR SMSG_ATTACK_SWING_LANDED_LOG SMSG_AUCTIONABLE_TOKEN_AUCTION_SOLD SMSG_AUCTIONABLE_TOKEN_SELL_AT_MARKET_PRICE_RESPONSE SMSG_AUCTIONABLE_TOKEN_SELL_CONFIRM_REQUIRED SMSG_AUCTION_CLOSED_NOTIFICATION SMSG_AUCTION_FAVORITE_LIST SMSG_AUCTION_GET_COMMODITY_QUOTE_RESULT SMSG_AUCTION_HELLO_RESPONSE SMSG_AUCTION_LIST_BIDDED_ITEMS_RESULT SMSG_AUCTION_LIST_BUCKETS_RESULT SMSG_AUCTION_LIST_ITEMS_RESULT SMSG_AUCTION_LIST_OWNED_ITEMS_RESULT SMSG_AUCTION_OUTBID_NOTIFICATION SMSG_AUCTION_OWNER_BID_NOTIFICATION SMSG_AUCTION_REPLICATE_RESPONSE SMSG_AUCTION_WON_NOTIFICATION SMSG_AURA_POINTS_DEPLETED SMSG_AUTH_FAILED SMSG_AVAILABLE_HOTFIXES SMSG_AZERITE_RESPEC_NPC SMSG_BAG_CLEANUP_FINISHED SMSG_BATCH_PRESENCE_SUBSCRIPTION SMSG_BATTLEFIELD_STATUS_ACTIVE SMSG_BATTLEFIELD_STATUS_FAILED SMSG_BATTLEFIELD_STATUS_NEED_CONFIRMATION SMSG_BATTLEFIELD_STATUS_NONE SMSG_BATTLEFIELD_STATUS_QUEUED SMSG_BATTLEFIELD_STATUS_WAIT_FOR_GROUPS SMSG_BATTLEGROUND_INIT SMSG_BATTLEGROUND_PLAYER_POSITIONS SMSG_BATTLEGROUND_POINTS SMSG_BATTLENET_CHALLENGE_ABORT SMSG_BATTLENET_CHALLENGE_START SMSG_BATTLENET_NOTIFICATION SMSG_BATTLENET_RESPONSE SMSG_BATTLE_NET_CONNECTION_STATUS SMSG_BATTLE_PAY_ACK_FAILED SMSG_BATTLE_PAY_BATTLE_PET_DELIVERED SMSG_BATTLE_PAY_COLLECTION_ITEM_DELIVERED SMSG_BATTLE_PAY_CONFIRM_PURCHASE SMSG_BATTLE_PAY_DELIVERY_ENDED SMSG_BATTLE_PAY_DELIVERY_STARTED SMSG_BATTLE_PAY_DISTRIBUTION_UNREVOKED SMSG_BATTLE_PAY_DISTRIBUTION_UPDATE SMSG_BATTLE_PAY_GET_DISTRIBUTION_LIST_RESPONSE SMSG_BATTLE_PAY_GET_PRODUCT_LIST_RESPONSE SMSG_BATTLE_PAY_GET_PURCHASE_LIST_RESPONSE SMSG_BATTLE_PAY_MOUNT_DELIVERED SMSG_BATTLE_PAY_PURCHASE_UPDATE SMSG_BATTLE_PAY_START_CHECKOUT SMSG_BATTLE_PAY_START_DISTRIBUTION_ASSIGN_TO_TARGET_RESPONSE SMSG_BATTLE_PAY_START_PURCHASE_RESPONSE SMSG_BATTLE_PAY_VALIDATE_PURCHASE_RESPONSE SMSG_BATTLE_PAY_VAS_GUILD_FOLLOW_INFO SMSG_BATTLE_PAY_VAS_GUILD_MASTER_LIST SMSG_BATTLE_PETS_HEALED SMSG_BATTLE_PET_CAGE_DATE_ERROR SMSG_BATTLE_PET_DELETED SMSG_BATTLE_PET_ERROR SMSG_BATTLE_PET_JOURNAL SMSG_BATTLE_PET_JOURNAL_LOCK_ACQUIRED SMSG_BATTLE_PET_JOURNAL_LOCK_DENIED SMSG_BATTLE_PET_LICENSE_CHANGED SMSG_BATTLE_PET_RESTORED SMSG_BATTLE_PET_REVOKED SMSG_BATTLE_PET_SET_MAX_PETS SMSG_BATTLE_PET_TRAP_LEVEL SMSG_BATTLE_PET_UPDATES SMSG_BIND_POINT_UPDATE SMSG_BLACK_MARKET_BID_ON_ITEM_RESULT SMSG_BLACK_MARKET_OPEN_RESULT SMSG_BLACK_MARKET_OUTBID SMSG_BLACK_MARKET_REQUEST_ITEMS_RESULT SMSG_BLACK_MARKET_WON SMSG_BONUS_ROLL_EMPTY SMSG_BOSS_KILL SMSG_BROADCAST_ACHIEVEMENT SMSG_BROADCAST_SUMMON_CAST SMSG_BROADCAST_SUMMON_RESPONSE SMSG_BUY_SUCCEEDED SMSG_CACHE_INFO SMSG_CACHE_VERSION SMSG_CALENDAR_COMMUNITY_INVITE SMSG_CALENDAR_INVITE_ADDED SMSG_CALENDAR_INVITE_ALERT SMSG_CALENDAR_INVITE_NOTES SMSG_CALENDAR_INVITE_NOTES_ALERT SMSG_CALENDAR_INVITE_REMOVED SMSG_CALENDAR_INVITE_REMOVED_ALERT SMSG_CALENDAR_INVITE_STATUS SMSG_CALENDAR_INVITE_STATUS_ALERT SMSG_CALENDAR_MODERATOR_STATUS SMSG_CAMERA_EFFECT SMSG_CANCEL_ORPHAN_SPELL_VISUAL SMSG_CANCEL_SCENE SMSG_CANCEL_SPELL_VISUAL SMSG_CANCEL_SPELL_VISUAL_KIT SMSG_CAN_DUEL_RESULT SMSG_CAN_REDEEM_TOKEN_FOR_BALANCE_RESPONSE SMSG_CAPTURE_POINT_REMOVED SMSG_CATEGORY_COOLDOWN SMSG_CHALLENGE_MODE_COMPLETE SMSG_CHALLENGE_MODE_REQUEST_LEADERS_RESULT SMSG_CHALLENGE_MODE_RESET SMSG_CHALLENGE_MODE_START SMSG_CHALLENGE_MODE_UPDATE_DEATH_COUNT SMSG_CHANGE_PLAYER_DIFFICULTY_RESULT SMSG_CHANGE_REALM_TICKET_RESPONSE SMSG_CHANNEL_NOTIFY_JOINED SMSG_CHANNEL_NOTIFY_LEFT SMSG_CHARACTER_CHECK_UPGRADE_RESULT SMSG_CHARACTER_OBJECT_TEST_RESPONSE SMSG_CHARACTER_RENAME_RESULT SMSG_CHARACTER_UPGRADE_ABORTED SMSG_CHARACTER_UPGRADE_COMPLETE SMSG_CHARACTER_UPGRADE_MANUAL_UNREVOKE_RESULT SMSG_CHARACTER_UPGRADE_STARTED SMSG_CHAR_CUSTOMIZE_FAILURE SMSG_CHAR_CUSTOMIZE_SUCCESS SMSG_CHAR_FACTION_CHANGE_RESULT SMSG_CHAT SMSG_CHAT_AUTO_RESPONDED SMSG_CHAT_DOWN SMSG_CHAT_IGNORED_ACCOUNT_MUTED SMSG_CHAT_IS_DOWN SMSG_CHAT_PLAYER_NOTFOUND SMSG_CHAT_RECONNECT SMSG_CHAT_SERVER_MESSAGE SMSG_CHEAT_IGNORE_DIMISHING_RETURNS SMSG_CHECK_WARGAME_ENTRY SMSG_CLAIM_RAF_REWARD_RESPONSE SMSG_CLEAR_ALL_SPELL_CHARGES SMSG_CLEAR_BOSS_EMOTES SMSG_CLEAR_COOLDOWNS SMSG_CLEAR_LOSS_OF_CONTROL SMSG_CLEAR_RESURRECT SMSG_CLEAR_SPELL_CHARGES SMSG_CLOSE_ARTIFACT_FORGE SMSG_CLOSE_HEART_FORGE SMSG_CLUB_FINDER_ERROR_MESSAGE SMSG_CLUB_FINDER_GET_CLUB_POSTING_IDS_RESPONSE SMSG_CLUB_FINDER_LOOKUP_CLUB_POSTINGS_LIST SMSG_CLUB_FINDER_RESPONSE_CHARACTER_APPLICATION_LIST SMSG_CLUB_FINDER_RESPONSE_POST_RECRUITMENT_MESSAGE SMSG_CLUB_FINDER_UPDATE_APPLICATIONS SMSG_COIN_REMOVED SMSG_COMMERCE_TOKEN_GET_COUNT_RESPONSE SMSG_COMMERCE_TOKEN_GET_LOG_RESPONSE SMSG_COMMERCE_TOKEN_GET_MARKET_PRICE_RESPONSE SMSG_COMMERCE_TOKEN_UPDATE SMSG_COMPLAINT_RESULT SMSG_COMPLETE_SHIPMENT_RESPONSE SMSG_CONFIRM_PARTY_INVITE SMSG_CONNECT_TO SMSG_CONQUEST_FORMULA_CONSTANTS SMSG_CONSOLE_WRITE SMSG_CONSUMABLE_TOKEN_BUY_AT_MARKET_PRICE_RESPONSE SMSG_CONSUMABLE_TOKEN_BUY_CHOICE_REQUIRED SMSG_CONSUMABLE_TOKEN_CAN_VETERAN_BUY_RESPONSE SMSG_CONSUMABLE_TOKEN_REDEEM_CONFIRM_REQUIRED SMSG_CONSUMABLE_TOKEN_REDEEM_RESPONSE SMSG_CONTRIBUTION_LAST_UPDATE_RESPONSE SMSG_CONTROL_UPDATE SMSG_CORPSE_LOCATION SMSG_CORPSE_TRANSPORT_QUERY SMSG_CREATE_CHAR SMSG_CREATE_SHIPMENT_RESPONSE SMSG_CUSTOM_LOAD_SCREEN SMSG_DAILY_QUESTS_RESET SMSG_DB_REPLY SMSG_DEBUG_MENU_MANAGER_FULL_UPDATE SMSG_DELETE_CHAR SMSG_DESTROY_ARENA_UNIT SMSG_DIFFERENT_INSTANCE_FROM_PARTY SMSG_DISCONNECT_REASON SMSG_DISENCHANT_CREDIT SMSG_DISMOUNT_RESULT SMSG_DISPLAY_GAME_ERROR SMSG_DISPLAY_PLAYER_CHOICE SMSG_DISPLAY_PROMOTION SMSG_DISPLAY_QUEST_POPUP SMSG_DISPLAY_TOAST SMSG_DISPLAY_WORLD_TEXT SMSG_DONT_AUTO_PUSH_SPELLS_TO_ACTION_BAR SMSG_DROP_NEW_CONNECTION SMSG_DUEL_ARRANGED SMSG_DUEL_IN_BOUNDS SMSG_DUEL_OUT_OF_BOUNDS SMSG_ENCHANTMENT_LOG SMSG_ENCOUNTER_END SMSG_ENCOUNTER_START SMSG_END_LIGHTNING_STORM SMSG_ENTER_ENCRYPTED_MODE SMSG_ENUM_CHARACTERS_RESULT SMSG_ENUM_VAS_PURCHASE_STATES_RESPONSE SMSG_ENVIRONMENTAL_DAMAGE_LOG SMSG_EQUIPMENT_SET_ID SMSG_FACTION_BONUS_INFO SMSG_FAILED_PLAYER_CONDITION SMSG_FAILED_QUEST_TURN_IN SMSG_FEATURE_SYSTEM_STATUS_GLUE_SCREEN SMSG_FORCE_OBJECT_RELINK SMSG_GAME_OBJECT_ACTIVATE_ANIM_KIT SMSG_GAME_OBJECT_BASE SMSG_GAME_OBJECT_CUSTOM_ANIM SMSG_GAME_OBJECT_DESPAWN SMSG_GAME_OBJECT_PLAY_SPELL_VISUAL SMSG_GAME_OBJECT_PLAY_SPELL_VISUAL_KIT SMSG_GAME_OBJECT_RESET_STATE SMSG_GAME_OBJECT_SET_STATE_LOCAL SMSG_GAME_OBJECT_UI_LINK SMSG_GAME_SPEED_SET SMSG_GAME_TIME_SET SMSG_GAME_TIME_UPDATE SMSG_GARRISON_ADD_FOLLOWER_RESULT SMSG_GARRISON_ADD_MISSION_RESULT SMSG_GARRISON_ASSIGN_FOLLOWER_TO_BUILDING_RESULT SMSG_GARRISON_BUILDING_ACTIVATED SMSG_GARRISON_BUILDING_LANDMARKS SMSG_GARRISON_BUILDING_REMOVED SMSG_GARRISON_BUILDING_SET_ACTIVE_SPECIALIZATION_RESULT SMSG_GARRISON_CLEAR_ALL_FOLLOWERS_EXHAUSTION SMSG_GARRISON_COMPLETE_MISSION_RESULT SMSG_GARRISON_CREATE_RESULT SMSG_GARRISON_DELETE_RESULT SMSG_GARRISON_FOLLOWER_CATEGORIES SMSG_GARRISON_FOLLOWER_CHANGED_ABILITIES SMSG_GARRISON_FOLLOWER_CHANGED_DURABILITY SMSG_GARRISON_FOLLOWER_CHANGED_ITEM_LEVEL SMSG_GARRISON_FOLLOWER_CHANGED_STATUS SMSG_GARRISON_FOLLOWER_CHANGED_XP SMSG_GARRISON_IS_UPGRADEABLE_RESULT SMSG_GARRISON_LEARN_BLUEPRINT_RESULT SMSG_GARRISON_LEARN_SPECIALIZATION_RESULT SMSG_GARRISON_LIST_FOLLOWERS_CHEAT_RESULT SMSG_GARRISON_LIST_MISSIONS_CHEAT_RESULT SMSG_GARRISON_MISSION_AREA_BONUS_ADDED SMSG_GARRISON_MISSION_BONUS_ROLL_RESULT SMSG_GARRISON_MISSION_LIST_UPDATE SMSG_GARRISON_MISSION_REWARD_RESPONSE SMSG_GARRISON_MISSION_UPDATE_CAN_START SMSG_GARRISON_NUM_FOLLOWER_ACTIVATIONS_REMAINING SMSG_GARRISON_OPEN_ARCHITECT SMSG_GARRISON_OPEN_MISSION_NPC SMSG_GARRISON_OPEN_RECRUITMENT_NPC SMSG_GARRISON_OPEN_TALENT_NPC SMSG_GARRISON_OPEN_TRADESKILL_NPC SMSG_GARRISON_PLACE_BUILDING_RESULT SMSG_GARRISON_PLOT_PLACED SMSG_GARRISON_PLOT_REMOVED SMSG_GARRISON_RECALL_PORTAL_LAST_USED_TIME SMSG_GARRISON_RECALL_PORTAL_USED SMSG_GARRISON_RECRUITMENT_FOLLOWERS_GENERATED SMSG_GARRISON_RECRUIT_FOLLOWER_RESULT SMSG_GARRISON_REMOTE_INFO SMSG_GARRISON_REMOVE_FOLLOWER_FROM_BUILDING_RESULT SMSG_GARRISON_REMOVE_FOLLOWER_RESULT SMSG_GARRISON_REQUEST_BLUEPRINT_AND_SPECIALIZATION_DATA_RESULT SMSG_GARRISON_START_MISSION_RESULT SMSG_GARRISON_UNLEARN_BLUEPRINT_RESULT SMSG_GARRISON_UPGRADE_RESULT SMSG_GENERATE_RANDOM_CHARACTER_NAME_RESULT SMSG_GENERATE_SSO_TOKEN_RESPONSE SMSG_GET_ACCOUNT_CHARACTER_LIST_RESULT SMSG_GET_DISPLAYED_TROPHY_LIST_RESPONSE SMSG_GET_GARRISON_INFO_RESULT SMSG_GET_LANDING_PAGE_SHIPMENTS_RESPONSE SMSG_GET_REMAINING_GAME_TIME_RESPONSE SMSG_GET_SELECTED_TROPHY_ID_RESPONSE SMSG_GET_SHIPMENTS_OF_TYPE_RESPONSE SMSG_GET_SHIPMENT_INFO_RESPONSE SMSG_GET_TROPHY_LIST_RESPONSE SMSG_GET_VAS_ACCOUNT_CHARACTER_LIST_RESULT SMSG_GET_VAS_TRANSFER_TARGET_REALM_LIST_RESULT SMSG_GM_REQUEST_PLAYER_INFO SMSG_GM_TICKET_CASE_STATUS SMSG_GM_TICKET_SYSTEM_STATUS SMSG_GOD_MODE SMSG_GOSSIP_TEXT_UPDATE SMSG_GROUP_ACTION_THROTTLED SMSG_GROUP_AUTO_KICK SMSG_GROUP_NEW_LEADER SMSG_GUILD_ACHIEVEMENT_DELETED SMSG_GUILD_ACHIEVEMENT_EARNED SMSG_GUILD_ACHIEVEMENT_MEMBERS SMSG_GUILD_BANK_LOG_QUERY_RESULTS SMSG_GUILD_BANK_QUERY_RESULTS SMSG_GUILD_BANK_REMAINING_WITHDRAW_MONEY SMSG_GUILD_BANK_TEXT_QUERY_RESULT SMSG_GUILD_CHALLENGE_COMPLETED SMSG_GUILD_CHALLENGE_UPDATE SMSG_GUILD_CHANGE_NAME_RESULT SMSG_GUILD_CRITERIA_DELETED SMSG_GUILD_CRITERIA_UPDATE SMSG_GUILD_EVENT_AWAY_CHANGE SMSG_GUILD_EVENT_BANK_CONTENTS_CHANGED SMSG_GUILD_EVENT_BANK_MONEY_CHANGED SMSG_GUILD_EVENT_DISBANDED SMSG_GUILD_EVENT_LOG_QUERY_RESULTS SMSG_GUILD_EVENT_MOTD SMSG_GUILD_EVENT_NEW_LEADER SMSG_GUILD_EVENT_PLAYER_JOINED SMSG_GUILD_EVENT_PLAYER_LEFT SMSG_GUILD_EVENT_PRESENCE_CHANGE SMSG_GUILD_EVENT_RANKS_UPDATED SMSG_GUILD_EVENT_RANK_CHANGED SMSG_GUILD_EVENT_TAB_ADDED SMSG_GUILD_EVENT_TAB_DELETED SMSG_GUILD_EVENT_TAB_MODIFIED SMSG_GUILD_EVENT_TAB_TEXT_CHANGED SMSG_GUILD_FLAGGED_FOR_RENAME SMSG_GUILD_INVITE_DECLINED SMSG_GUILD_INVITE_EXPIRED SMSG_GUILD_ITEM_LOOTED SMSG_GUILD_KNOWN_RECIPES SMSG_GUILD_MEMBERS_WITH_RECIPE SMSG_GUILD_MEMBER_DAILY_RESET SMSG_GUILD_MEMBER_RECIPES SMSG_GUILD_MEMBER_UPDATE_NOTE SMSG_GUILD_MOVED SMSG_GUILD_MOVE_STARTING SMSG_GUILD_NAME_CHANGED SMSG_GUILD_NEWS SMSG_GUILD_NEWS_DELETED SMSG_GUILD_PARTY_STATE SMSG_GUILD_PERMISSIONS_QUERY_RESULTS SMSG_GUILD_RANKS SMSG_GUILD_REPUTATION_REACTION_CHANGED SMSG_GUILD_RESET SMSG_GUILD_REWARD_LIST SMSG_GUILD_ROSTER_UPDATE SMSG_GUILD_SEND_RANK_CHANGE SMSG_HOTFIX_CONNECT SMSG_HOTFIX_MESSAGE SMSG_INITIAL_SETUP SMSG_INSPECT_RESULT SMSG_INSTANCE_ENCOUNTER_CHANGE_PRIORITY SMSG_INSTANCE_ENCOUNTER_DISENGAGE_UNIT SMSG_INSTANCE_ENCOUNTER_END SMSG_INSTANCE_ENCOUNTER_ENGAGE_UNIT SMSG_INSTANCE_ENCOUNTER_GAIN_COMBAT_RESURRECTION_CHARGE SMSG_INSTANCE_ENCOUNTER_IN_COMBAT_RESURRECTION SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_COMPLETE SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_START SMSG_INSTANCE_ENCOUNTER_OBJECTIVE_UPDATE SMSG_INSTANCE_ENCOUNTER_PHASE_SHIFT_CHANGED SMSG_INSTANCE_ENCOUNTER_START SMSG_INSTANCE_ENCOUNTER_TIMER_START SMSG_INSTANCE_ENCOUNTER_UPDATE_ALLOW_RELEASE_IN_PROGRESS SMSG_INSTANCE_ENCOUNTER_UPDATE_SUPPRESS_RELEASE SMSG_INSTANCE_GROUP_SIZE_CHANGED SMSG_INSTANCE_INFO SMSG_INTERRUPT_POWER_REGEN SMSG_INVALIDATE_PAGE_TEXT SMSG_INVENTORY_FIXUP_COMPLETE SMSG_INVENTORY_FULL_OVERFLOW SMSG_ISLANDS_MISSION_NPC SMSG_ISLAND_AZERITE_GAIN SMSG_ISLAND_COMPLETE SMSG_IS_QUEST_COMPLETE_RESPONSE SMSG_ITEM_CHANGED SMSG_ITEM_EXPIRE_PURCHASE_REFUND SMSG_ITEM_INTERACTION_COMPLETE SMSG_ITEM_PURCHASE_REFUND_RESULT SMSG_LEARNED_SPELLS SMSG_LEARN_PVP_TALENT_FAILED SMSG_LEARN_TALENT_FAILED SMSG_LEGACY_LOOT_RULES SMSG_LEVEL_LINKING_RESULT SMSG_LEVEL_UP_INFO SMSG_LFG_BOOT_PLAYER SMSG_LFG_INSTANCE_SHUTDOWN_COUNTDOWN SMSG_LFG_LIST_APPLICANT_LIST_UPDATE SMSG_LFG_LIST_APPLICATION_STATUS_UPDATE SMSG_LFG_LIST_APPLY_TO_GROUP_RESULT SMSG_LFG_LIST_JOIN_RESULT SMSG_LFG_LIST_SEARCH_RESULTS SMSG_LFG_LIST_SEARCH_RESULTS_UPDATE SMSG_LFG_LIST_SEARCH_STATUS SMSG_LFG_LIST_UPDATE_BLACKLIST SMSG_LFG_LIST_UPDATE_EXPIRATION SMSG_LFG_LIST_UPDATE_STATUS SMSG_LFG_READY_CHECK_RESULT SMSG_LFG_READY_CHECK_UPDATE SMSG_LFG_UPDATE_STATUS SMSG_LF_GUILD_APPLICANT_LIST_CHANGED SMSG_LF_GUILD_APPLICATIONS SMSG_LF_GUILD_APPLICATIONS_LIST_CHANGED SMSG_LF_GUILD_BROWSE SMSG_LF_GUILD_COMMAND_RESULT SMSG_LF_GUILD_POST SMSG_LF_GUILD_RECRUITS SMSG_LIVE_REGION_ACCOUNT_RESTORE_RESULT SMSG_LIVE_REGION_CHARACTER_COPY_RESULT SMSG_LIVE_REGION_GET_ACCOUNT_CHARACTER_LIST_RESULT SMSG_LOAD_CUF_PROFILES SMSG_LOAD_EQUIPMENT_SET SMSG_LOGIN_SET_TIME_SPEED SMSG_LOG_XP_GAIN SMSG_LOOT_RELEASE SMSG_LOOT_RELEASE_ALL SMSG_LOOT_ROLLS_COMPLETE SMSG_LOSS_OF_CONTROL_AURA_UPDATE SMSG_MAIL_COMMAND_RESULT SMSG_MAIL_QUERY_NEXT_TIME_RESULT SMSG_MAP_OBJECTIVES_INIT SMSG_MAP_OBJ_EVENTS SMSG_MASTER_LOOT_CANDIDATE_LIST SMSG_MESSAGE_BOX SMSG_MINIMAP_PING SMSG_MIRROR_IMAGE_COMPONENTED_DATA SMSG_MIRROR_IMAGE_CREATURE_DATA SMSG_MISSILE_CANCEL SMSG_MOUNT_RESULT SMSG_MOVEMENT_ENFORCEMENT_ALERT SMSG_MOVE_APPLY_MOVEMENT_FORCE SMSG_MOVE_DISABLE_COLLISION SMSG_MOVE_DISABLE_DOUBLE_JUMP SMSG_MOVE_DISABLE_GRAVITY SMSG_MOVE_DISABLE_TRANSITION_BETWEEN_SWIM_AND_FLY SMSG_MOVE_ENABLE_COLLISION SMSG_MOVE_ENABLE_DOUBLE_JUMP SMSG_MOVE_ENABLE_GRAVITY SMSG_MOVE_ENABLE_TRANSITION_BETWEEN_SWIM_AND_FLY SMSG_MOVE_REMOVE_MOVEMENT_FORCE SMSG_MOVE_ROOT SMSG_MOVE_SET_ACTIVE_MOVER SMSG_MOVE_SET_CAN_TURN_WHILE_FALLING SMSG_MOVE_SET_COLLISION_HEIGHT SMSG_MOVE_SET_COMPOUND_STATE SMSG_MOVE_SET_FEATHER_FALL SMSG_MOVE_SET_FLIGHT_BACK_SPEED SMSG_MOVE_SET_FLIGHT_SPEED SMSG_MOVE_SET_HOVERING SMSG_MOVE_SET_IGNORE_MOVEMENT_FORCES SMSG_MOVE_SET_LAND_WALK SMSG_MOVE_SET_MOD_MOVEMENT_FORCE_MAGNITUDE SMSG_MOVE_SET_NORMAL_FALL SMSG_MOVE_SET_PITCH_RATE SMSG_MOVE_SET_RUN_BACK_SPEED SMSG_MOVE_SET_RUN_SPEED SMSG_MOVE_SET_SWIM_BACK_SPEED SMSG_MOVE_SET_SWIM_SPEED SMSG_MOVE_SET_TURN_RATE SMSG_MOVE_SET_VEHICLE_REC_ID SMSG_MOVE_SET_WALK_SPEED SMSG_MOVE_SET_WATER_WALK SMSG_MOVE_SKIP_TIME SMSG_MOVE_SPLINE_DISABLE_COLLISION SMSG_MOVE_SPLINE_DISABLE_GRAVITY SMSG_MOVE_SPLINE_ENABLE_COLLISION SMSG_MOVE_SPLINE_ENABLE_GRAVITY SMSG_MOVE_SPLINE_ROOT SMSG_MOVE_SPLINE_SET_FEATHER_FALL SMSG_MOVE_SPLINE_SET_FLIGHT_BACK_SPEED SMSG_MOVE_SPLINE_SET_FLIGHT_SPEED SMSG_MOVE_SPLINE_SET_FLYING SMSG_MOVE_SPLINE_SET_HOVER SMSG_MOVE_SPLINE_SET_LAND_WALK SMSG_MOVE_SPLINE_SET_NORMAL_FALL SMSG_MOVE_SPLINE_SET_PITCH_RATE SMSG_MOVE_SPLINE_SET_RUN_BACK_SPEED SMSG_MOVE_SPLINE_SET_RUN_MODE SMSG_MOVE_SPLINE_SET_RUN_SPEED SMSG_MOVE_SPLINE_SET_SWIM_BACK_SPEED SMSG_MOVE_SPLINE_SET_SWIM_SPEED SMSG_MOVE_SPLINE_SET_TURN_RATE SMSG_MOVE_SPLINE_SET_WALK_MODE SMSG_MOVE_SPLINE_SET_WALK_SPEED SMSG_MOVE_SPLINE_SET_WATER_WALK SMSG_MOVE_SPLINE_START_SWIM SMSG_MOVE_SPLINE_STOP_SWIM SMSG_MOVE_SPLINE_UNROOT SMSG_MOVE_SPLINE_UNSET_FLYING SMSG_MOVE_SPLINE_UNSET_HOVER SMSG_MOVE_TELEPORT SMSG_MOVE_UNROOT SMSG_MOVE_UNSET_CAN_TURN_WHILE_FALLING SMSG_MOVE_UNSET_HOVERING SMSG_MOVE_UNSET_IGNORE_MOVEMENT_FORCES SMSG_MOVE_UPDATE SMSG_MOVE_UPDATE_APPLY_MOVEMENT_FORCE SMSG_MOVE_UPDATE_COLLISION_HEIGHT SMSG_MOVE_UPDATE_FLIGHT_BACK_SPEED SMSG_MOVE_UPDATE_FLIGHT_SPEED SMSG_MOVE_UPDATE_KNOCK_BACK SMSG_MOVE_UPDATE_MOD_MOVEMENT_FORCE_MAGNITUDE SMSG_MOVE_UPDATE_PITCH_RATE SMSG_MOVE_UPDATE_REMOVE_MOVEMENT_FORCE SMSG_MOVE_UPDATE_RUN_BACK_SPEED SMSG_MOVE_UPDATE_RUN_SPEED SMSG_MOVE_UPDATE_SWIM_BACK_SPEED SMSG_MOVE_UPDATE_SWIM_SPEED SMSG_MOVE_UPDATE_TELEPORT SMSG_MOVE_UPDATE_TURN_RATE SMSG_MOVE_UPDATE_WALK_SPEED SMSG_MYTHIC_PLUS_ALL_MAP_STATS SMSG_MYTHIC_PLUS_CURRENT_AFFIXES SMSG_MYTHIC_PLUS_NEW_SEASON_RECORD SMSG_MYTHIC_PLUS_NEW_WEEK_RECORD SMSG_MYTHIC_PLUS_WEEKLY_REWARD_RESPONSE SMSG_NEUTRAL_PLAYER_FACTION_SELECT_RESULT SMSG_NOTIFY_MISSILE_TRAJECTORY_COLLISION SMSG_NOTIFY_MONEY SMSG_NOTIFY_RECEIVED_MAIL SMSG_ON_MONSTER_MOVE SMSG_OPEN_ARTIFACT_FORGE SMSG_OPEN_HEART_FORGE SMSG_OPEN_SHIPMENT_NPC_FROM_GOSSIP SMSG_OPEN_SHIPMENT_NPC_RESULT SMSG_PAGE_TEXT SMSG_PARTY_INVITE SMSG_PARTY_KILL_LOG SMSG_PARTY_MEMBER_FULL_STATE SMSG_PARTY_MEMBER_PARTIAL_STATE SMSG_PARTY_NOTIFY_LFG_LEADER_CHANGE SMSG_PARTY_UPDATE SMSG_PENDING_RAID_LOCK SMSG_PETITION_ALREADY_SIGNED SMSG_PETITION_RENAME_GUILD_RESPONSE SMSG_PETITION_SHOW_LIST SMSG_PET_ADDED SMSG_PET_BATTLE_CHAT_RESTRICTED SMSG_PET_BATTLE_DEBUG_QUEUE_DUMP_RESPONSE SMSG_PET_BATTLE_FINALIZE_LOCATION SMSG_PET_BATTLE_FINAL_ROUND SMSG_PET_BATTLE_FINISHED SMSG_PET_BATTLE_FIRST_ROUND SMSG_PET_BATTLE_INITIAL_UPDATE SMSG_PET_BATTLE_MAX_GAME_LENGTH_WARNING SMSG_PET_BATTLE_PVP_CHALLENGE SMSG_PET_BATTLE_QUEUE_PROPOSE_MATCH SMSG_PET_BATTLE_QUEUE_STATUS SMSG_PET_BATTLE_REPLACEMENTS_MADE SMSG_PET_BATTLE_REQUEST_FAILED SMSG_PET_BATTLE_ROUND_RESULT SMSG_PET_BATTLE_SLOT_UPDATES SMSG_PET_CLEAR_SPELLS SMSG_PET_GOD_MODE SMSG_PET_LEARNED_SPELLS SMSG_PET_NEWLY_TAMED SMSG_PET_SLOT_UPDATED SMSG_PET_SPELLS_MESSAGE SMSG_PET_STABLE_LIST SMSG_PET_STABLE_RESULT SMSG_PET_UNLEARNED_SPELLS SMSG_PHASE_SHIFT_CHANGE SMSG_PLAYER_AZERITE_ITEM_EQUIPPED_STATUS_CHANGED SMSG_PLAYER_AZERITE_ITEM_GAINS SMSG_PLAYER_BONUS_ROLL_FAILED SMSG_PLAYER_BOUND SMSG_PLAYER_CONDITION_RESULT SMSG_PLAYER_IS_ADVENTURE_MAP_POI_VALID SMSG_PLAYER_SAVE_GUILD_EMBLEM SMSG_PLAYER_TABARD_VENDOR_ACTIVATE SMSG_PLAYER_TUTORIAL_HIGHLIGHT_SPELL SMSG_PLAYER_TUTORIAL_UNHIGHLIGHT_SPELL SMSG_PLAY_ONE_SHOT_ANIM_KIT SMSG_PLAY_ORPHAN_SPELL_VISUAL SMSG_PLAY_SCENE SMSG_PLAY_SPEAKERBOT_SOUND SMSG_PLAY_SPELL_VISUAL_KIT SMSG_PRELOAD_CHILD_MAP SMSG_PREPOPULATE_NAME_CACHE SMSG_PRE_RESSURECT SMSG_PRINT_NOTIFICATION SMSG_PROC_RESIST SMSG_PUSH_SPELL_TO_ACTION_BAR SMSG_PVP_MATCH_COMPLETE SMSG_PVP_MATCH_INITIALIZE SMSG_PVP_MATCH_START SMSG_PVP_MATCH_STATISTICS SMSG_PVP_OPTIONS_ENABLED SMSG_QUERY_BATTLE_PET_NAME_RESPONSE SMSG_QUERY_COMMUNITY_NAME_RESPONSE SMSG_QUERY_CREATURE_RESPONSE SMSG_QUERY_GAME_OBJECT_RESPONSE SMSG_QUERY_GARRISON_CREATURE_NAME_RESPONSE SMSG_QUERY_GUILD_INFO_RESPONSE SMSG_QUERY_ITEM_TEXT_RESPONSE SMSG_QUERY_NPC_TEXT_RESPONSE SMSG_QUERY_PAGE_TEXT_RESPONSE SMSG_QUERY_PETITION_RESPONSE SMSG_QUERY_PET_NAME_RESPONSE SMSG_QUERY_PLAYER_NAME_RESPONSE SMSG_QUERY_QUEST_INFO_RESPONSE SMSG_QUEST_COMPLETION_NPC_RESPONSE SMSG_QUEST_FORCE_REMOVED SMSG_QUEST_GIVER_INVALID_QUEST SMSG_QUEST_GIVER_OFFER_REWARD_MESSAGE SMSG_QUEST_GIVER_QUEST_COMPLETE SMSG_QUEST_GIVER_QUEST_DETAILS SMSG_QUEST_GIVER_QUEST_FAILED SMSG_QUEST_GIVER_QUEST_LIST_MESSAGE SMSG_QUEST_GIVER_REQUEST_ITEMS SMSG_QUEST_GIVER_STATUS SMSG_QUEST_GIVER_STATUS_MULTIPLE SMSG_QUEST_LINES_FOR_MAP_RESPONSE SMSG_QUEST_LOG_FULL SMSG_QUEST_POI_CHANGED SMSG_QUEST_PUSH_RESULT SMSG_QUEST_SESSION_INFO_RESPONSE SMSG_QUEST_SESSION_READY_CHECK SMSG_QUEST_SESSION_READY_CHECK_RESPONSE SMSG_QUEST_SESSION_RESULT SMSG_QUEST_SPAWN_TRACKING_UPDATE SMSG_QUEST_UPDATE_ADD_CREDIT SMSG_QUEST_UPDATE_ADD_CREDIT_SIMPLE SMSG_QUEST_UPDATE_ADD_PVP_CREDIT SMSG_QUEST_UPDATE_COMPLETE SMSG_QUEST_UPDATE_COMPLETE_BY_SPELL SMSG_QUEST_UPDATE_FAILED SMSG_QUEST_UPDATE_FAILED_TIMER SMSG_QUEUE_SUMMARY_UPDATE SMSG_RAF_ACCOUNT_INFO SMSG_RAF_ACTIVITY_STATE_CHANGED SMSG_RAID_DIFFICULTY_SET SMSG_RAID_MARKERS_CHANGED SMSG_RANDOM_ROLL SMSG_RATED_PVP_INFO SMSG_READY_CHECK_COMPLETED SMSG_READY_CHECK_RESPONSE SMSG_READY_CHECK_STARTED SMSG_READ_ITEM_RESULT_FAILED SMSG_READ_ITEM_RESULT_OK SMSG_REALM_LOOKUP_INFO SMSG_REALM_QUERY_RESPONSE SMSG_REATTACH_RESURRECT SMSG_RECRUIT_A_FRIEND_FAILURE SMSG_REFRESH_COMPONENT SMSG_REFRESH_SPELL_HISTORY SMSG_REMOVE_ITEM_PASSIVE SMSG_REMOVE_LOSS_OF_CONTROL SMSG_REPLACE_TROPHY_RESPONSE SMSG_REPORT_PVP_PLAYER_AFK_RESULT SMSG_REQUEST_CEMETERY_LIST_RESPONSE SMSG_REQUEST_PVP_REWARDS_RESPONSE SMSG_REQUEST_SCHEDULED_PVP_INFO_RESPONSE SMSG_RESEARCH_COMPLETE SMSG_RESET_COMPRESSION_CONTEXT SMSG_RESET_WEEKLY_CURRENCY SMSG_RESPEC_WIPE_CONFIRM SMSG_RESTRICTED_ACCOUNT_WARNING SMSG_RESUME_CAST SMSG_RESUME_COMMS SMSG_RESUME_TOKEN SMSG_RETURN_APPLICANT_LIST SMSG_RETURN_RECRUITING_CLUBS SMSG_ROLE_CHANGED_INFORM SMSG_ROLE_CHOSEN SMSG_ROLE_POLL_INFORM SMSG_RUNE_REGEN_DEBUG SMSG_SCENARIO_COMPLETED SMSG_SCENARIO_POIS SMSG_SCENARIO_PROGRESS_UPDATE SMSG_SCENARIO_SHOW_CRITERIA SMSG_SCENARIO_STATE SMSG_SCENARIO_UI_UPDATE SMSG_SCENARIO_VACATE SMSG_SCENE_OBJECT_EVENT SMSG_SCENE_OBJECT_PET_BATTLE_FINAL_ROUND SMSG_SCENE_OBJECT_PET_BATTLE_FINISHED SMSG_SCENE_OBJECT_PET_BATTLE_FIRST_ROUND SMSG_SCENE_OBJECT_PET_BATTLE_INITIAL_UPDATE SMSG_SCENE_OBJECT_PET_BATTLE_REPLACEMENTS_MADE SMSG_SCENE_OBJECT_PET_BATTLE_ROUND_RESULT SMSG_SCRIPT_CAST SMSG_SEASON_INFO SMSG_SELL_RESPONSE SMSG_SEND_ITEM_PASSIVES SMSG_SEND_KNOWN_SPELLS SMSG_SEND_RAID_TARGET_UPDATE_ALL SMSG_SEND_RAID_TARGET_UPDATE_SINGLE SMSG_SEND_SPELL_CHARGES SMSG_SEND_SPELL_HISTORY SMSG_SERVER_FIRST_ACHIEVEMENTS SMSG_SERVER_TIME SMSG_SERVER_TIME_OFFSET SMSG_SETUP_CURRENCY SMSG_SETUP_RESEARCH_HISTORY SMSG_SET_AI_ANIM_KIT SMSG_SET_ALL_TASK_PROGRESS SMSG_SET_ANIM_TIER SMSG_SET_CHR_UPGRADE_TIER SMSG_SET_CURRENCY SMSG_SET_DF_FAST_LAUNCH_RESULT SMSG_SET_DUNGEON_DIFFICULTY SMSG_SET_FACTION_AT_WAR SMSG_SET_FACTION_NOT_VISIBLE SMSG_SET_ITEM_PURCHASE_DATA SMSG_SET_LOOT_METHOD_FAILED SMSG_SET_MAX_WEEKLY_QUANTITY SMSG_SET_MELEE_ANIM_KIT SMSG_SET_MOVEMENT_ANIM_KIT SMSG_SET_PET_SPECIALIZATION SMSG_SET_PLAY_HOVER_ANIM SMSG_SET_QUEST_REPLAY_COOLDOWN_OVERRIDE SMSG_SET_SPELL_CHARGES SMSG_SET_TASK_COMPLETE SMSG_SET_TIME_ZONE_INFORMATION SMSG_SET_VEHICLE_REC_ID SMSG_SHOW_NEUTRAL_PLAYER_FACTION_SELECT_UI SMSG_SHOW_TAXI_NODES SMSG_SHOW_TRADE_SKILL_RESPONSE SMSG_SOCKET_GEMS_FAILURE SMSG_SOCKET_GEMS_SUCCESS SMSG_SPECIAL_MOUNT_ANIM SMSG_SPEC_INVOLUNTARILY_CHANGED SMSG_SPELL_ABSORB_LOG SMSG_SPELL_CATEGORY_COOLDOWN SMSG_SPELL_CHANNEL_START SMSG_SPELL_CHANNEL_UPDATE SMSG_SPELL_DAMAGE_SHIELD SMSG_SPELL_DISPELL_LOG SMSG_SPELL_ENERGIZE_LOG SMSG_SPELL_EXECUTE_LOG SMSG_SPELL_FAILURE_MESSAGE SMSG_SPELL_HEAL_ABSORB_LOG SMSG_SPELL_HEAL_LOG SMSG_SPELL_INSTAKILL_LOG SMSG_SPELL_INTERRUPT_LOG SMSG_SPELL_MISS_LOG SMSG_SPELL_NON_MELEE_DAMAGE_LOG SMSG_SPELL_OR_DAMAGE_IMMUNE SMSG_SPELL_PERIODIC_AURA_LOG SMSG_SPELL_PREPARE SMSG_SPELL_VISUAL_LOAD_SCREEN SMSG_STAND_STATE_UPDATE SMSG_START_ELAPSED_TIMER SMSG_START_ELAPSED_TIMERS SMSG_START_LIGHTNING_STORM SMSG_START_LOOT_ROLL SMSG_START_TIMER SMSG_STOP_ELAPSED_TIMER SMSG_STOP_SPEAKERBOT_SOUND SMSG_STREAMING_MOVIES SMSG_SUMMON_RAID_MEMBER_VALIDATE_FAILED SMSG_SUPERCEDED_SPELLS SMSG_SUSPEND_TOKEN SMSG_SYNC_WOW_ENTITLEMENTS SMSG_TAXI_NODE_STATUS SMSG_TIME_ADJUSTMENT SMSG_TIME_SYNC_REQUEST SMSG_TITLE_LOST SMSG_TOTEM_DURATION_CHANGED SMSG_TOTEM_MOVED SMSG_TRADE_UPDATED SMSG_TREASURE_PICKER_RESPONSE SMSG_TURN_IN_PETITION_RESULT SMSG_TWITTER_STATUS SMSG_UI_TIME SMSG_UI_HEALING_RANGE_MODIFIED SMSG_UI_ITEM_INTERACTION_NPC SMSG_UNDELETE_CHARACTER_RESPONSE SMSG_UNDELETE_COOLDOWN_STATUS_RESPONSE SMSG_UNLEARNED_SPELLS SMSG_UNLOAD_CHILD_MAP SMSG_UPDATE_ACTION_BUTTONS SMSG_UPDATE_BNET_SESSION_KEY SMSG_UPDATE_CAPTURE_POINT SMSG_UPDATE_CELESTIAL_BODY SMSG_UPDATE_CHARACTER_FLAGS SMSG_UPDATE_CHARGE_CATEGORY_COOLDOWN SMSG_UPDATE_COOLDOWN SMSG_UPDATE_EXPANSION_LEVEL SMSG_UPDATE_GAME_TIME_STATE SMSG_UPDATE_PRIMARY_SPEC SMSG_UPDATE_TALENT_DATA SMSG_UPDATE_TASK_PROGRESS SMSG_UPDATE_WEEKLY_SPELL_USAGE SMSG_USE_EQUIPMENT_SET_RESULT SMSG_VAS_CHECK_TRANSFER_OK_RESPONSE SMSG_VAS_GET_QUEUE_MINUTES_RESPONSE SMSG_VAS_GET_SERVICE_STATUS_RESPONSE SMSG_VAS_PURCHASE_COMPLETE SMSG_VAS_PURCHASE_STATE_UPDATE SMSG_VENDOR_INVENTORY SMSG_VIGNETTE_UPDATE SMSG_VOICE_CHANNEL_INFO_RESPONSE SMSG_VOICE_LOGIN_RESPONSE SMSG_VOID_ITEM_SWAP_RESPONSE SMSG_VOID_STORAGE_CONTENTS SMSG_VOID_STORAGE_FAILED SMSG_VOID_STORAGE_TRANSFER_CHANGES SMSG_VOID_TRANSFER_RESULT SMSG_WAIT_QUEUE_FINISH SMSG_WAIT_QUEUE_UPDATE SMSG_WARDEN3_DATA SMSG_WARDEN3_DISABLED SMSG_WARDEN3_ENABLED SMSG_WARFRONT_COMPLETE SMSG_WARGAME_REQUEST_SUCCESSFULLY_SENT_TO_OPPONENT SMSG_WEEKLY_SPELL_USAGE SMSG_WHO_IS SMSG_WILL_BE_KICKED_FOR_ADDED_SUBSCRIPTION_TIME SMSG_WORLD_MAP_OPEN_NPC SMSG_WORLD_QUEST_UPDATE_RESPONSE SMSG_WORLD_SERVER_INFO SMSG_WOW_ENTITLEMENT_NOTIFICATION SMSG_XP_GAIN_ABORTED SMSG_XP_GAIN_ENABLED // Opcodes that are not generated automatically SMSG_ACCOUNT_HEIRLOOM_UPDATE // no client handler SMSG_COMPRESSED_PACKET // Deleted opcodes, here only to allow compile SMSG_BF_MGR_EJECTED SMSG_BF_MGR_ENTERING SMSG_BF_MGR_ENTRY_INVITE SMSG_BF_MGR_QUEUE_INVITE SMSG_BF_MGR_QUEUE_REQUEST_RESPONSE WorldType_Max )
func WorldTypeFromString ¶
func (WorldType) Description ¶
Source Files ¶
- AddonInfo.go
- AuthResponse.go
- CharacterList.go
- PlayerFlags.go
- WardenKeyGen.go
- WardenModule.go
- Who.go
- WorldPacket.go
- WorldType.go
- WorldTypeConversion.go
- auction.go
- characterop_string.go
- class_string.go
- connection.go
- disconnectReason.go
- equipment.go
- gameobjects.go
- geometry.go
- gossip.go
- handshake.go
- inventory.go
- parser.go
- party.go
- playerflags_string.go
- race_string.go
- social.go
- standstate.go
- util.go
- wardenconst.go
- worldauthconst.go
- worldtype_string.go
- x_WorldType_0_5_3.go
- x_WorldType_1_12_1.go
- x_WorldType_2_4_3.go
- x_WorldType_3_3_5a.go
- x_WorldType_8_3_0.go
Directories ¶
Path | Synopsis |
---|---|
package chat contains packets relating to the in-game chatbox feature.
|
package chat contains packets relating to the in-game chatbox feature. |
Package update provides functions for serializing and deserializing SMSG_UPDATE_OBJECT.
|
Package update provides functions for serializing and deserializing SMSG_UPDATE_OBJECT. |
d12340
Descriptor module for version 12340 3.3.5a (WoTLK)
|
Descriptor module for version 12340 3.3.5a (WoTLK) |
d3368
Descriptor module for version 3368 (Alpha)
|
Descriptor module for version 3368 (Alpha) |
d5875
Descriptor module for protocol 5875 1.12.1 (Vanilla)
|
Descriptor module for protocol 5875 1.12.1 (Vanilla) |
d8606
Descriptor module for version 8606 2.4.3 (TBC)
|
Descriptor module for version 8606 2.4.3 (TBC) |
descriptorsupport
This package imports object update descriptors so you can use multiple versions without recompiling.
|
This package imports object update descriptors so you can use multiple versions without recompiling. |
Click to show internal directories.
Click to hide internal directories.