diff --git a/Source/Framework/Constants/CliDBConst.cs b/Source/Framework/Constants/CliDBConst.cs index 0d13350aa..9c94a2648 100644 --- a/Source/Framework/Constants/CliDBConst.cs +++ b/Source/Framework/Constants/CliDBConst.cs @@ -2031,6 +2031,7 @@ namespace Framework.Constants ForgeMaster = 66, CharacterBanker = 67, AccountBanker = 68, + ProfessionRespec = 69, } [Flags] diff --git a/Source/Framework/Constants/GossipConst.cs b/Source/Framework/Constants/GossipConst.cs index c7f5acb1b..9bd19b207 100644 --- a/Source/Framework/Constants/GossipConst.cs +++ b/Source/Framework/Constants/GossipConst.cs @@ -92,6 +92,7 @@ namespace Framework.Constants ForgeMaster = 55, CharacterBanker = 56, AccountBanker = 57, + ProfessionRespec = 58, Max } @@ -168,7 +169,8 @@ namespace Framework.Constants { None = 0x0, QuestLabelPrepend = 0x1, - HideOptionIDFromClient = 0x2 + HideOptionIDFromClient = 0x2, + PlayMovieLabelPrepend = 0x4, } [Flags] diff --git a/Source/Framework/Constants/ItemConst.cs b/Source/Framework/Constants/ItemConst.cs index a16d616da..c36fdb309 100644 --- a/Source/Framework/Constants/ItemConst.cs +++ b/Source/Framework/Constants/ItemConst.cs @@ -467,6 +467,7 @@ namespace Framework.Constants TransmogSetFavorite = 4, RuneforgeLegendaryAbility = 5, TransmogIllusion = 6, + WarbandScene = 7, } public enum ItemContext : byte diff --git a/Source/Framework/Constants/Network/Opcodes.cs b/Source/Framework/Constants/Network/Opcodes.cs index 7b0127e13..a2dc8ea88 100644 --- a/Source/Framework/Constants/Network/Opcodes.cs +++ b/Source/Framework/Constants/Network/Opcodes.cs @@ -5,2115 +5,2123 @@ namespace Framework.Constants { public enum ClientOpcodes : uint { - AbandonNpeResponse = 0x300295, - AcceptGuildInvite = 0x350029, - AcceptReturningPlayerPrompt = 0x300256, - AcceptSocialContract = 0x350173, - AcceptTrade = 0x300004, - AcceptWargameInvite = 0x35000c, - AccountBankDepositMoney = 0x3002d7, - AccountBankWithdrawMoney = 0x3002d8, - AccountNotificationAcknowledged = 0x35015f, - AccountStoreBeginPurchaseOrRefund = 0x3500be, - ActivateSoulbind = 0x300284, - ActivateTaxi = 0x31003d, - AddonList = 0x350004, - AddAccountCosmetic = 0x30016d, - AddBattlenetFriend = 0x350084, - AddFriend = 0x3500fa, - AddIgnore = 0x3500fe, - AddToy = 0x30016c, - AdventureJournalOpenQuest = 0x3000b2, - AdventureJournalUpdateSuggestions = 0x300287, - AdventureMapStartQuest = 0x300228, - AlterAppearance = 0x31008e, - AreaSpiritHealerQuery = 0x310042, - AreaSpiritHealerQueue = 0x310043, - AreaTrigger = 0x300085, - ArtifactAddPower = 0x300054, - ArtifactSetAppearance = 0x300056, - AssignEquipmentSetSpec = 0x3000bd, - AttackStop = 0x30011b, - AttackSwing = 0x30011a, - AuctionableTokenSell = 0x350110, - AuctionableTokenSellAtMarketPrice = 0x350111, - AuctionBrowseQuery = 0x310062, - AuctionCancelCommoditiesPurchase = 0x31006a, - AuctionConfirmCommoditiesPurchase = 0x310069, - AuctionGetCommodityQuote = 0x310068, - AuctionHelloRequest = 0x31005d, - AuctionListBiddedItems = 0x310066, - AuctionListBucketsByBucketKeys = 0x310067, - AuctionListItemsByBucketKey = 0x310063, - AuctionListItemsByItemId = 0x310064, - AuctionListOwnedItems = 0x310065, - AuctionPlaceBid = 0x310061, - AuctionRemoveItem = 0x31005f, - AuctionReplicateItems = 0x310060, - AuctionSellCommodity = 0x31006b, - AuctionSellItem = 0x31005e, - AuctionSetFavoriteItem = 0x350160, - AuthContinuedSession = 0x360002, - AuthSession = 0x360001, - AutobankItem = 0x320003, - AutobankReagent = 0x320005, - AutostoreBankItem = 0x320002, - AutostoreBankReagent = 0x320004, - AutoDepositAccountBank = 0x3002e1, - AutoEquipItem = 0x320006, - AutoEquipItemSlot = 0x32000b, - AutoGuildBankItem = 0x310049, - AutoStoreBagItem = 0x320007, - AutoStoreGuildBankItem = 0x310052, - AzeriteEmpoweredItemSelectPower = 0x300252, - AzeriteEmpoweredItemViewed = 0x300233, - AzeriteEssenceActivateEssence = 0x300254, - AzeriteEssenceUnlockMilestone = 0x300253, - BankerActivate = 0x310045, - BattlefieldLeave = 0x30001d, - BattlefieldList = 0x300028, - BattlefieldPort = 0x3100c4, - BattlemasterHello = 0x30018a, - BattlemasterJoin = 0x3100bb, - BattlemasterJoinArena = 0x3100bc, - BattlemasterJoinBrawl = 0x3100c2, - BattlemasterJoinRatedBgBlitz = 0x3100be, - BattlemasterJoinRatedSoloShuffle = 0x3100bd, - BattlemasterJoinSkirmish = 0x3100bf, - BattlenetChallengeResponse = 0x3500fd, - BattlenetRequest = 0x35011e, - BattlePayAckFailedResponse = 0x3500f7, - BattlePayCancelOpenCheckout = 0x35013d, - BattlePayConfirmPurchaseResponse = 0x3500f6, - BattlePayDistributionAssignToTarget = 0x3500ed, - BattlePayDistributionAssignVas = 0x350163, - BattlePayGetProductList = 0x3500e5, - BattlePayGetPurchaseList = 0x3500e6, - BattlePayOpenCheckout = 0x350136, - BattlePayRequestPriceInfo = 0x350132, - BattlePayStartPurchase = 0x3500f5, - BattlePayStartVasPurchase = 0x35011c, - BattlePetClearFanfare = 0x2a0002, - BattlePetDeletePet = 0x35004f, - BattlePetDeletePetCheat = 0x350050, - BattlePetModifyName = 0x350052, - BattlePetRequestJournal = 0x35004e, - BattlePetRequestJournalLock = 0x35004d, - BattlePetSetBattleSlot = 0x350057, - BattlePetSetFlags = 0x35005a, - BattlePetSummon = 0x350053, - BattlePetUpdateDisplayNotify = 0x30008f, - BattlePetUpdateNotify = 0x30008e, - BeginTrade = 0x300001, - BinderActivate = 0x310044, - BlackMarketBidOnItem = 0x3100cc, - BlackMarketOpen = 0x3100ca, - BlackMarketRequestItems = 0x3100cb, - BonusRoll = 0x300255, - BugReport = 0x3500af, - BusyTrade = 0x300002, - BuyAccountBankTab = 0x310121, - BuyBackItem = 0x310036, - BuyBankSlot = 0x310046, - BuyItem = 0x310035, - BuyReagentBank = 0x310047, - CageBattlePet = 0x3000a2, - CalendarAddEvent = 0x3500a7, - CalendarCommunityInvite = 0x35009b, - CalendarComplain = 0x3500a3, - CalendarCopyEvent = 0x3500a2, - CalendarEventSignUp = 0x3500a5, - CalendarGet = 0x350099, - CalendarGetEvent = 0x35009a, - CalendarGetNumPending = 0x3500a4, - CalendarInvite = 0x35009c, - CalendarModeratorStatus = 0x3500a0, - CalendarRemoveEvent = 0x3500a1, - CalendarRemoveInvite = 0x35009d, - CalendarRsvp = 0x35009e, - CalendarStatus = 0x35009f, - CalendarUpdateEvent = 0x3500a8, - CancelAura = 0x300058, - CancelAutoRepeatSpell = 0x310080, - CancelCast = 0x300173, - CancelChannelling = 0x300134, - CancelGrowthAura = 0x30013c, - CancelMasterLootRoll = 0x3000c9, - CancelModSpeedNoControlAuras = 0x300057, - CancelMountAura = 0x30014f, - CancelQueuedSpell = 0x300029, - CancelTempEnchantment = 0x31008b, - CancelTrade = 0x300006, - CanDuel = 0x35008c, - CanRedeemTokenForBalance = 0x350131, - CastSpell = 0x300170, - ChallengeModeRequestLeaders = 0x2d0002, - ChangeBagSlotFlag = 0x30020c, - ChangeBankBagSlotFlag = 0x30020d, - ChangeMonumentAppearance = 0x3001ed, - ChangeRealmTicket = 0x350123, - ChangeSubGroup = 0x350076, - CharacterCheckUpgrade = 0x3500f0, - CharacterRenameRequest = 0x3500eb, - CharacterUpgradeManualUnrevokeRequest = 0x3500ee, - CharacterUpgradeStart = 0x3500ef, - CharCustomize = 0x3500b6, - CharDelete = 0x3500c8, - CharRaceOrFactionChange = 0x3500bc, - ChatAddonMessage = 0x2c0026, - ChatAddonMessageTargeted = 0x2c0027, - ChatCanLocalWhisperTargetRequest = 0x2c002e, - ChatChannelAnnouncements = 0x2c001b, - ChatChannelBan = 0x2c0019, - ChatChannelDeclineInvite = 0x2c001e, - ChatChannelDisplayList = 0x2c000e, - ChatChannelInvite = 0x2c0017, - ChatChannelKick = 0x2c0018, - ChatChannelList = 0x2c000d, - ChatChannelModerator = 0x2c0013, - ChatChannelOwner = 0x2c0011, - ChatChannelPassword = 0x2c000f, - ChatChannelSetOwner = 0x2c0010, - ChatChannelSilenceAll = 0x2c001c, - ChatChannelUnban = 0x2c001a, - ChatChannelUnmoderator = 0x2c0014, - ChatChannelUnsilenceAll = 0x2c001d, - ChatJoinChannel = 0x2c0000, - ChatLeaveChannel = 0x2c0001, - ChatLobbyMatchmakerMessageInstanceChat = 0x2c002d, - ChatLobbyMatchmakerMessageParty = 0x2c002c, - ChatMessageAfk = 0x2c000b, - ChatMessageChannel = 0x2c0007, - ChatMessageDnd = 0x2c000c, - ChatMessageEmote = 0x2c0020, - ChatMessageGuild = 0x2c0009, - ChatMessageInstanceChat = 0x2c0024, - ChatMessageOfficer = 0x2c000a, - ChatMessageParty = 0x2c0022, - ChatMessageRaid = 0x2c0023, - ChatMessageRaidWarning = 0x2c0025, - ChatMessageSay = 0x2c001f, - ChatMessageWhisper = 0x2c0008, - ChatMessageYell = 0x2c0021, - ChatRegisterAddonPrefixes = 0x2c0005, - ChatReportFiltered = 0x2c0004, - ChatReportIgnored = 0x2c0003, - ChatUnregisterAllAddonPrefixes = 0x2c0006, - CheckCharacterNameAvailability = 0x35006f, - CheckIsAdventureMapPoiValid = 0x30010c, - ChoiceResponse = 0x300178, - ChromieTimeSelectExpansion = 0x300283, - ClaimWeeklyReward = 0x300260, - ClassTalentsDeleteConfig = 0x3002bc, - ClassTalentsNotifyEmptyConfig = 0x3000c1, - ClassTalentsNotifyValidationFailed = 0x3002be, - ClassTalentsRenameConfig = 0x3002bb, - ClassTalentsRequestNewConfig = 0x3002ba, - ClassTalentsSetStarterBuildActive = 0x3002bf, - ClassTalentsSetUsesSharedActionBars = 0x3000c0, - ClearNewAppearance = 0x2a0005, - ClearRaidMarker = 0x300050, - ClearTradeItem = 0x300008, - ClientPortGraveyard = 0x3100c6, - CloseInteraction = 0x310024, - CloseQuestChoice = 0x300179, - CloseRuneforgeInteraction = 0x30028b, - CloseTraitSystemInteraction = 0x3002c0, - ClubFinderApplicationResponse = 0x350148, - ClubFinderGetApplicantsList = 0x350146, - ClubFinderPost = 0x350143, - ClubFinderRequestClubsData = 0x35014a, - ClubFinderRequestClubsList = 0x350144, - ClubFinderRequestMembershipToClub = 0x350145, - ClubFinderRequestPendingClubsList = 0x350149, - ClubFinderRequestSubscribedClubPostingIds = 0x35014b, - ClubFinderRespondToApplicant = 0x350147, - ClubFinderWhisperApplicantRequest = 0x350166, - ClubPresenceSubscribe = 0x350120, - CollectionItemSetFavorite = 0x35005d, - CommentatorEnable = 0x35001c, - CommentatorEnterInstance = 0x350020, - CommentatorExitInstance = 0x350021, - CommentatorGetMapInfo = 0x35001d, - CommentatorGetPlayerCooldowns = 0x35001f, - CommentatorGetPlayerInfo = 0x35001e, - CommentatorSpectate = 0x350164, - CommentatorStartWargame = 0x35001b, - CommerceTokenGetCount = 0x35010e, - CommerceTokenGetLog = 0x350118, - CommerceTokenGetMarketPrice = 0x35010f, - Complaint = 0x350096, - CompleteCinematic = 0x3100e4, - CompleteMovie = 0x310076, - ConfirmArtifactRespec = 0x300055, - ConfirmRespecWipe = 0x3000c3, - ConnectToFailed = 0x350000, - ConsumableTokenBuy = 0x350113, - ConsumableTokenBuyAtMarketPrice = 0x350114, - ConsumableTokenCanVeteranBuy = 0x350112, - ConsumableTokenRedeem = 0x350116, - ConsumableTokenRedeemConfirmation = 0x350117, - ContentTrackingStartTracking = 0x3002d0, - ContentTrackingStopTracking = 0x3002d1, - ContributionContribute = 0x3100f9, - ContributionLastUpdateRequest = 0x3100fa, - ConversationCinematicReady = 0x3100e6, - ConversationLineStarted = 0x3100e5, - ConvertItemToBindToAccount = 0x3002e0, - ConvertRaid = 0x350078, - CovenantRenownRequestCatchupState = 0x31010d, - CraftingOrderCancel = 0x310119, - CraftingOrderClaim = 0x310116, - CraftingOrderCreate = 0x310112, - CraftingOrderFulfill = 0x310118, - CraftingOrderGetNpcRewardInfo = 0x310115, - CraftingOrderListCrafterOrders = 0x310114, - CraftingOrderListMyOrders = 0x310113, - CraftingOrderReject = 0x31011a, - CraftingOrderRelease = 0x310117, - CraftingOrderReportPlayer = 0x31011b, - CraftingOrderUpdateIgnoreList = 0x31011c, - CreateCharacter = 0x35006e, - CreateShipment = 0x3001d6, - DbQueryBulk = 0x350010, - DeclineGuildInvites = 0x3100b8, - DeclinePetition = 0x3100d3, - DeleteEquipmentSet = 0x3100a4, - DelveTeleportOut = 0x310128, - DelFriend = 0x3500fb, - DelIgnore = 0x3500ff, - DepositReagentBank = 0x300216, - DestroyItem = 0x300166, - DfBootPlayerVote = 0x350044, - DfConfirmExpandSearch = 0x350036, - DfGetJoinStatus = 0x350042, - DfGetSystemInfo = 0x350041, - DfJoin = 0x350037, - DfLeave = 0x350040, - DfProposalResponse = 0x350035, - DfReadyCheckResponse = 0x350048, - DfSetRoles = 0x350043, - DfTeleport = 0x350045, - DiscardedTimeSyncAcks = 0x33005e, - DismissCritter = 0x310092, - DoCountdown = 0x350142, - DoMasterLootRoll = 0x3000c8, - DoReadyCheck = 0x35005e, - DuelResponse = 0x31007b, - EjectPassenger = 0x300101, - Emote = 0x3100e0, - EnableNagle = 0x360007, - EnableTaxiNode = 0x31003b, - EngineSurvey = 0x35010d, - EnterEncryptedModeAck = 0x360003, - EnumCharacters = 0x350014, - EnumCharactersDeletedByClient = 0x350107, - FarSight = 0x310081, - GameEventDebugDisable = 0x30005c, - GameEventDebugEnable = 0x30005b, - GameObjReportUse = 0x310088, - GameObjUse = 0x310087, - GarrisonAddFollowerHealth = 0x3001d1, - GarrisonAssignFollowerToBuilding = 0x3001b7, - GarrisonCancelConstruction = 0x3001a4, - GarrisonCheckUpgradeable = 0x300208, - GarrisonCompleteMission = 0x3001fa, - GarrisonFullyHealAllFollowers = 0x3001d2, - GarrisonGenerateRecruits = 0x3001ba, - GarrisonGetClassSpecCategoryInfo = 0x3001c9, - GarrisonGetMapData = 0x3001d0, - GarrisonGetMissionReward = 0x30022c, - GarrisonLearnTalent = 0x3001c5, - GarrisonMissionBonusRoll = 0x3001fc, - GarrisonPurchaseBuilding = 0x3001a0, - GarrisonRecruitFollower = 0x3001bc, - GarrisonRemoveFollower = 0x3001f1, - GarrisonRemoveFollowerFromBuilding = 0x3001b8, - GarrisonRenameFollower = 0x3001b9, - GarrisonRequestBlueprintAndSpecializationData = 0x30019f, - GarrisonRequestShipmentInfo = 0x3001d4, - GarrisonResearchTalent = 0x3001bd, - GarrisonSetBuildingActive = 0x3001a1, - GarrisonSetFollowerFavorite = 0x3001b5, - GarrisonSetFollowerInactive = 0x3001ad, - GarrisonSetRecruitmentPreferences = 0x3001bb, - GarrisonSocketTalent = 0x300298, - GarrisonStartMission = 0x3001f9, - GarrisonSwapBuildings = 0x3001a5, - GenerateRandomCharacterName = 0x350013, - GetAccountCharacterList = 0x3500e0, - GetAccountNotifications = 0x35015e, - GetGarrisonInfo = 0x30019a, - GetItemPurchaseData = 0x3100ce, - GetLandingPageShipments = 0x3001d5, - GetMirrorImageData = 0x30016a, - GetPvpOptionsEnabled = 0x35001a, - GetRafAccountInfo = 0x35014c, - GetRegionwideCharacterRestrictionAndMailData = 0x35018d, - GetRemainingGameTime = 0x350115, - GetTrophyList = 0x3001ea, - GetUndeleteCharacterCooldownStatus = 0x350109, - GetVasAccountCharacterList = 0x35011a, - GetVasTransferTargetRealmList = 0x35011b, - GmTicketAcknowledgeSurvey = 0x3500ba, - GmTicketGetCaseStatus = 0x3500b9, - GmTicketGetSystemStatus = 0x3500b8, - GossipRefreshOptions = 0x31010c, - GossipSelectOption = 0x310025, - GuildAddBattlenetFriend = 0x2e0020, - GuildAddRank = 0x2e0005, - GuildAssignMemberRank = 0x2e0002, - GuildBankActivate = 0x310048, - GuildBankBuyTab = 0x310056, - GuildBankDepositMoney = 0x310058, - GuildBankLogQuery = 0x2e0019, - GuildBankQueryTab = 0x310055, - GuildBankRemainingWithdrawMoneyQuery = 0x2e001a, - GuildBankSetTabText = 0x2e001d, - GuildBankTextQuery = 0x2e001e, - GuildBankUpdateTab = 0x310057, - GuildBankWithdrawMoney = 0x310059, - GuildChallengeUpdateRequest = 0x2e0017, - GuildChangeNameRequest = 0x2e0018, - GuildDeclineInvitation = 0x35002a, - GuildDelete = 0x2e0009, - GuildDeleteRank = 0x2e0006, - GuildDemoteMember = 0x2e0001, - GuildEventLogQuery = 0x2e001c, - GuildGetAchievementMembers = 0x2e0012, - GuildGetRanks = 0x2e000e, - GuildGetRoster = 0x2e0014, - GuildInviteByName = 0x350034, - GuildLeave = 0x2e0003, - GuildNewsUpdateSticky = 0x2e000f, - GuildOfficerRemoveMember = 0x2e0004, - GuildPermissionsQuery = 0x2e001b, - GuildPromoteMember = 0x2e0000, - GuildQueryMembersForRecipe = 0x2e000c, - GuildQueryMemberRecipes = 0x2e000a, - GuildQueryNews = 0x2e000d, - GuildQueryRecipes = 0x2e000b, - GuildReplaceGuildMaster = 0x2e001f, - GuildSetAchievementTracking = 0x2e0010, - GuildSetFocusedAchievement = 0x2e0011, - GuildSetGuildMaster = 0x3500f2, - GuildSetMemberNote = 0x2e0013, - GuildSetRankPermissions = 0x2e0008, - GuildShiftRank = 0x2e0007, - GuildUpdateInfoText = 0x2e0016, - GuildUpdateMotdText = 0x2e0015, - HearthAndResurrect = 0x3100a0, - HideQuestChoice = 0x30017a, - HotfixRequest = 0x350011, - IgnoreTrade = 0x300003, - InitiateRolePoll = 0x350006, - InitiateTrade = 0x300000, - Inspect = 0x3100c8, - InstanceLockResponse = 0x3100a5, - IslandQueue = 0x30025c, - ItemPurchaseRefund = 0x3100cf, - ItemTextQuery = 0x300209, - JoinPetBattleQueue = 0x30008c, - JoinRatedBattleground = 0x300023, - KeepAlive = 0x3500a9, - KeyboundOverride = 0x3000de, - LatencyReport = 0x36000d, - LearnPvpTalents = 0x3100f8, - LearnTalents = 0x3100f6, - LeaveGroup = 0x350073, - LeavePetBattleQueue = 0x30008d, - LfgListApplyToGroup = 0x35003b, - LfgListCancelApplication = 0x35003c, - LfgListDeclineApplicant = 0x35003d, - LfgListGetStatus = 0x350039, - LfgListInviteApplicant = 0x35003e, - LfgListInviteResponse = 0x35003f, - LfgListJoin = 0x300250, - LfgListLeave = 0x350038, - LfgListSearch = 0x35003a, - LfgListUpdateRequest = 0x300251, - ListInventory = 0x310032, - LiveRegionAccountRestore = 0x3500e3, - LiveRegionCharacterCopy = 0x3500e2, - LiveRegionGetAccountCharacterList = 0x3500e1, - LiveRegionKeyBindingsCopy = 0x3500e4, - LoadingScreenNotify = 0x350024, - LoadSelectedTrophy = 0x3001eb, - LobbyMatchmakerAbandonQueue = 0x350171, - LobbyMatchmakerAcceptPartyInvite = 0x350168, - LobbyMatchmakerCreateCharacter = 0x35017a, - LobbyMatchmakerEnterQueue = 0x35016f, - LobbyMatchmakerLeaveParty = 0x35016b, - LobbyMatchmakerPartyInvite = 0x350167, - LobbyMatchmakerPartyUninvite = 0x35016a, - LobbyMatchmakerQueuePropsalResponse = 0x350170, - LobbyMatchmakerRejectPartyInvite = 0x350169, - LobbyMatchmakerSetPartyPlaylistEntry = 0x35016c, - LobbyMatchmakerSetPlayerReady = 0x35016d, - LogoutCancel = 0x310071, - LogoutInstant = 0x310072, - LogoutLobbyMatchmaker = 0x310120, - LogoutRequest = 0x310070, - LogDisconnect = 0x360005, - LogStreamingError = 0x360009, - LootItem = 0x3000c6, - LootMoney = 0x3000c5, - LootRelease = 0x3000ca, - LootRoll = 0x3000cb, - LootUnit = 0x3000c4, - LowLevelRaid1 = 0x3500cc, - LowLevelRaid2 = 0x3100ac, - MailCreateTextItem = 0x3100da, - MailDelete = 0x3000e0, - MailGetList = 0x3100d5, - MailMarkAsRead = 0x3100d9, - MailReturnToSender = 0x35007f, - MailTakeItem = 0x3100d7, - MailTakeMoney = 0x3100d6, - MakeContitionalAppearancePermanent = 0x3000e2, - MasterLootItem = 0x3000c7, - MergeGuildBankItemWithGuildBankItem = 0x310053, - MergeGuildBankItemWithItem = 0x310050, - MergeItemWithGuildBankItem = 0x31004e, - MinimapPing = 0x350075, - MissileTrajectoryCollision = 0x300034, - MountClearFanfare = 0x2a0003, - MountSetFavorite = 0x35005c, - MountSpecialAnim = 0x300150, - MoveAddImpulseAck = 0x33006d, - MoveApplyInertiaAck = 0x33006b, - MoveApplyMovementForceAck = 0x330031, - MoveChangeTransport = 0x33004c, - MoveChangeVehicleSeats = 0x330051, - MoveCollisionDisableAck = 0x330056, - MoveCollisionEnableAck = 0x330057, - MoveDismissVehicle = 0x330050, - MoveDoubleJump = 0x330007, - MoveEnableDoubleJumpAck = 0x33003a, - MoveEnableFullSpeedTurningAck = 0x330081, - MoveEnableSwimToFlyTransAck = 0x330040, - MoveFallLand = 0x330017, - MoveFallReset = 0x330035, - MoveFeatherFallAck = 0x330038, - MoveForceFlightBackSpeedChangeAck = 0x33004b, - MoveForceFlightSpeedChangeAck = 0x33004a, - MoveForcePitchRateChangeAck = 0x33004f, - MoveForceRootAck = 0x33002a, - MoveForceRunBackSpeedChangeAck = 0x330028, - MoveForceRunSpeedChangeAck = 0x330027, - MoveForceSwimBackSpeedChangeAck = 0x33003e, - MoveForceSwimSpeedChangeAck = 0x330029, - MoveForceTurnRateChangeAck = 0x33003f, - MoveForceUnrootAck = 0x33002b, - MoveForceWalkSpeedChangeAck = 0x33003d, - MoveGravityDisableAck = 0x330052, - MoveGravityEnableAck = 0x330053, - MoveGuildBankItem = 0x31004d, - MoveHeartbeat = 0x33002c, - MoveHoverAck = 0x33002f, - MoveInertiaDisableAck = 0x330054, - MoveInertiaEnableAck = 0x330055, - MoveInitActiveMoverComplete = 0x330063, - MoveJump = 0x330006, - MoveKnockBackAck = 0x33002e, - MoveRemoveInertiaAck = 0x33006c, - MoveRemoveMovementForces = 0x330033, - MoveRemoveMovementForceAck = 0x330032, - MoveSetAdvFly = 0x33006f, - MoveSetAdvFlyingAddImpulseMaxSpeedAck = 0x330075, - MoveSetAdvFlyingAirFrictionAck = 0x330070, - MoveSetAdvFlyingBankingRateAck = 0x330076, - MoveSetAdvFlyingDoubleJumpVelModAck = 0x330073, - MoveSetAdvFlyingGlideStartMinHeightAck = 0x330074, - MoveSetAdvFlyingLaunchSpeedCoefficientAck = 0x33007d, - MoveSetAdvFlyingLiftCoefficientAck = 0x330072, - MoveSetAdvFlyingMaxVelAck = 0x330071, - MoveSetAdvFlyingOverMaxDecelerationAck = 0x33007b, - MoveSetAdvFlyingPitchingRateDownAck = 0x330077, - MoveSetAdvFlyingPitchingRateUpAck = 0x330078, - MoveSetAdvFlyingSurfaceFrictionAck = 0x33007a, - MoveSetAdvFlyingTurnVelocityThresholdAck = 0x330079, - MoveSetCanAdvFlyAck = 0x33006e, - MoveSetCanFlyAck = 0x330043, - MoveSetCanTurnWhileFallingAck = 0x330041, - MoveSetCollisionHeightAck = 0x330058, - MoveSetFacing = 0x330025, - MoveSetFacingHeartbeat = 0x33007c, - MoveSetFly = 0x330045, - MoveSetIgnoreMovementForcesAck = 0x330042, - MoveSetModMovementForceMagnitudeAck = 0x33005f, - MoveSetPitch = 0x330026, - MoveSetRunMode = 0x33000e, - MoveSetTurnRateCheat = 0x330022, - MoveSetVehicleRecIdAck = 0x330030, - MoveSetWalkMode = 0x33000f, - MoveSplineDone = 0x330034, - MoveStartAscend = 0x330046, - MoveStartBackward = 0x330001, - MoveStartDescend = 0x33004d, - MoveStartForward = 0x330000, - MoveStartPitchDown = 0x33000c, - MoveStartPitchUp = 0x33000b, - MoveStartStrafeLeft = 0x330003, - MoveStartStrafeRight = 0x330004, - MoveStartSwim = 0x330018, - MoveStartTurnLeft = 0x330008, - MoveStartTurnRight = 0x330009, - MoveStop = 0x330002, - MoveStopAscend = 0x330047, - MoveStopPitch = 0x33000d, - MoveStopStrafe = 0x330005, - MoveStopSwim = 0x330019, - MoveStopTurn = 0x33000a, - MoveTeleportAck = 0x330016, - MoveTimeSkipped = 0x330037, - MoveUpdateFallSpeed = 0x330036, - MoveWaterWalkAck = 0x330039, - MythicPlusRequestMapStats = 0x2d0001, - NeutralPlayerSelectFaction = 0x300082, - NextCinematicCamera = 0x3100e3, - ObjectUpdateFailed = 0x30002a, - ObjectUpdateRescued = 0x30002b, - OfferPetition = 0x300282, - OpeningCinematic = 0x3100e2, - OpenItem = 0x30020a, - OpenMissionNpc = 0x3001cb, - OpenShipmentNpc = 0x3001d3, - OpenTradeskillNpc = 0x3001de, - OptOutOfLoot = 0x31008f, - OverrideScreenFlash = 0x3100b9, - PartyInvite = 0x350030, - PartyInviteResponse = 0x350032, - PartyUninvite = 0x350071, - PerformItemInteraction = 0x3000ea, - PerksProgramItemsRefreshed = 0x3002aa, - PerksProgramRequestPendingRewards = 0x2a0011, - PerksProgramRequestPurchase = 0x3002ac, - PerksProgramRequestRefund = 0x3002ad, - PerksProgramSetFrozenVendorItem = 0x3002ae, - PerksProgramStatusRequest = 0x3002ab, - PetitionBuy = 0x31005b, - PetitionRenameGuild = 0x3500f3, - PetitionShowList = 0x31005a, - PetitionShowSignatures = 0x31005c, - PetAbandon = 0x31001d, - PetAbandonByNumber = 0x31001e, - PetAction = 0x31001b, - PetBattleFinalNotify = 0x300091, - PetBattleInput = 0x35006b, - PetBattleQueueProposeMatchResult = 0x3000df, - PetBattleQuitNotify = 0x300090, - PetBattleReplaceFrontPet = 0x35006c, - PetBattleRequestPvp = 0x30008a, - PetBattleRequestUpdate = 0x30008b, - PetBattleRequestWild = 0x300088, - PetBattleScriptErrorNotify = 0x300092, - PetBattleWildLocationFail = 0x300089, - PetCancelAura = 0x31001f, - PetCastSpell = 0x30016f, - PetRename = 0x3500ae, - PetSetAction = 0x31001a, - PetSpellAutocast = 0x310020, - PetStopAttack = 0x31001c, - Ping = 0x360004, - PlayerLogin = 0x350016, - PushQuestToParty = 0x310030, - PvpLogData = 0x300026, - QueryBattlePetName = 0x300143, - QueryCorpseLocationFromClient = 0x35008a, - QueryCorpseTransport = 0x35008b, - QueryCountdownTimer = 0x300053, - QueryCreature = 0x30013d, - QueryGameObject = 0x30013e, - QueryGarrisonPetName = 0x300144, - QueryGuildInfo = 0x3500b4, - QueryInspectAchievements = 0x310099, - QueryNextMailTime = 0x3100d8, - QueryNpcText = 0x30013f, - QueryPageText = 0x300141, - QueryPetition = 0x300145, - QueryPetName = 0x300142, - QueryPlayerNames = 0x36000e, - QueryPlayerNamesForCommunity = 0x36000c, - QueryPlayerNameByCommunityId = 0x36000b, - QueryQuestCompletionNpcs = 0x30001f, - QueryQuestInfo = 0x300140, - QueryQuestItemUsability = 0x300020, - QueryRealmName = 0x3500b3, - QueryScenarioPoi = 0x350080, - QuerySelectedWowLabsArea = 0x3002e5, - QueryTime = 0x31006f, - QueryTreasurePicker = 0x30022f, - QueryVoidStorage = 0x30004c, - QueryWowLabsAreaInfo = 0x3002e6, - QuestConfirmAccept = 0x31002f, - QuestGiverAcceptQuest = 0x310029, - QuestGiverChooseReward = 0x31002b, - QuestGiverCloseQuest = 0x3100e9, - QuestGiverCompleteQuest = 0x31002a, - QuestGiverHello = 0x310027, - QuestGiverQueryQuest = 0x310028, - QuestGiverRequestReward = 0x31002c, - QuestGiverStatusMultipleQuery = 0x31002e, - QuestGiverStatusQuery = 0x31002d, - QuestLogRemoveQuest = 0x3100cd, - QuestPoiQuery = 0x3500da, - QuestPushResult = 0x310031, - QuestSessionBeginResponse = 0x300274, - QuestSessionRequestStart = 0x300273, - QuestSessionRequestStop = 0x350157, - QueuedMessagesEnd = 0x360008, - QuickJoinAutoAcceptRequests = 0x35012f, - QuickJoinRequestInvite = 0x35012e, - QuickJoinRequestInviteWithConfirmation = 0x35015c, - QuickJoinRespondToInvite = 0x35012d, - QuickJoinSignalToastDisplayed = 0x35012c, - RafClaimActivityReward = 0x31009d, - RafClaimNextReward = 0x35014d, - RafGenerateRecruitmentLink = 0x35014f, - RafUpdateRecruitmentInfo = 0x35014e, - RandomRoll = 0x35007e, - ReadyCheckResponse = 0x35005f, - ReadItem = 0x30020b, - ReclaimCorpse = 0x310074, - RemoveNewItem = 0x300232, - RemoveRafRecruit = 0x350150, - ReorderCharacters = 0x350015, - RepairItem = 0x310085, - ReplaceTrophy = 0x3001ec, - RepopRequest = 0x3100c5, - ReportClientVariables = 0x350129, - ReportEnabledAddons = 0x350128, - ReportKeybindingExecutionCounts = 0x35012a, - ReportPvpPlayerAfk = 0x31008d, - ReportServerLag = 0x30026c, - ReportStuckInCombat = 0x30026d, - RequestAccountData = 0x3500c0, - RequestAreaPoiUpdate = 0x300231, - RequestBattlefieldStatus = 0x350008, - RequestCemeteryList = 0x300021, - RequestCharacterGuildFollowInfo = 0x3500b5, - RequestCovenantCallings = 0x30025e, - RequestCrowdControlSpell = 0x3100c9, - RequestCurrencyDataForAccountCharacters = 0x2a0018, - RequestGarrisonTalentWorldQuestUnlocks = 0x300297, - RequestGuildPartyState = 0x300052, - RequestGuildRewardsList = 0x300051, - RequestLatestSplashScreen = 0x30026e, - RequestLfgListBlacklist = 0x30017b, - RequestMythicPlusAffixes = 0x3000b6, - RequestMythicPlusSeasonData = 0x3000b7, - RequestPartyEligibilityForDelveTiers = 0x3002e4, - RequestPartyJoinUpdates = 0x350023, - RequestPartyMemberStats = 0x35007d, - RequestPetInfo = 0x310021, - RequestPlayedTime = 0x300148, - RequestPvpRewards = 0x30003f, - RequestRaidInfo = 0x3500f4, - RequestRatedPvpInfo = 0x35000f, - RequestRealmGuildMasterInfo = 0x350190, - RequestScheduledPvpInfo = 0x300040, - RequestStabledPets = 0x310022, - RequestStoreFrontInfoUpdate = 0x2a001d, - RequestVehicleExit = 0x3000fc, - RequestVehicleNextSeat = 0x3000fe, - RequestVehiclePrevSeat = 0x3000fd, - RequestVehicleSwitchSeat = 0x3000ff, - RequestWeeklyRewards = 0x300261, - RequestWorldQuestUpdate = 0x300230, - ResetChallengeMode = 0x3000b4, - ResetChallengeModeCheat = 0x3000b5, - ResetInstances = 0x350092, - ResurrectResponse = 0x3500ad, - RevertMonumentAppearance = 0x3001ee, - RideVehicleInteract = 0x300100, - RpeResetCharacter = 0x35017d, - SaveAccountDataExport = 0x350177, - SaveCufProfiles = 0x300035, - SaveEquipmentSet = 0x3100a3, - SaveGuildEmblem = 0x30017f, - SavePersonalEmblem = 0x300180, - ScenePlaybackCanceled = 0x3000db, - ScenePlaybackComplete = 0x3000da, - SceneTriggerEvent = 0x3000dc, - SeamlessTransferComplete = 0x3002d3, - SelectWowLabsArea = 0x3002e7, - SelfRes = 0x3100d0, - SellAllJunkItems = 0x310034, - SellItem = 0x310033, - SendCharacterClubInvitation = 0x350122, - SendContactList = 0x3500f9, - SendMail = 0x350026, - SendPingUnit = 0x3002d5, - SendPingWorldPoint = 0x3002d6, - SendTextEmote = 0x310018, - ServerTimeOffsetRequest = 0x3500c7, - SetupWarbandGroups = 0x35018b, - SetAchievementsHidden = 0x3000e1, - SetActionBarToggles = 0x3100d1, - SetActionButton = 0x350060, - SetActiveMover = 0x330059, - SetAdvancedCombatLogging = 0x30018d, - SetAssistantLeader = 0x350079, - SetBackpackAutosortDisabled = 0x30020e, - SetBackpackSellJunkDisabled = 0x30020f, - SetBankAutosortDisabled = 0x300210, - SetContactNotes = 0x3500fc, - SetCurrencyFlags = 0x300013, - SetDifficultyId = 0x3000dd, - SetDungeonDifficulty = 0x3500ac, - SetEmpowerMinHoldStagePercent = 0x300137, - SetEveryoneIsAssistant = 0x350046, - SetExcludedChatCensorSources = 0x350130, - SetFactionAtWar = 0x310077, - SetFactionInactive = 0x310079, - SetFactionNotAtWar = 0x310078, - SetGameEventDebugViewState = 0x300063, - SetInsertItemsLeftToRight = 0x300212, - SetLootMethod = 0x350072, - SetLootSpecialization = 0x3100de, - SetPartyAssignment = 0x35007b, - SetPartyLeader = 0x350074, - SetPetFavorite = 0x300012, - SetPetSlot = 0x300011, - SetPlayerDeclinedNames = 0x3500b2, - SetPreferredCemetery = 0x300022, - SetPvp = 0x300184, - SetRaidDifficulty = 0x350105, - SetRestrictPingsToAssistants = 0x350047, - SetRole = 0x350005, - SetSavedInstanceExtend = 0x3500b0, - SetSelection = 0x3100c7, - SetSheathed = 0x310019, - SetSortBagsRightToLeft = 0x300211, - SetTaxiBenchmarkMode = 0x31008c, - SetTitle = 0x30014e, - SetTradeCurrency = 0x30000a, - SetTradeGold = 0x300009, - SetTradeItem = 0x300007, - SetUsingPartyGarrison = 0x3001cd, - SetWarMode = 0x300185, - SetWatchedFaction = 0x31007a, - ShowTradeSkill = 0x3500ec, - SignPetition = 0x3100d2, - SilencePartyTalker = 0x35007c, - SocialContractRequest = 0x350172, - SocketGems = 0x310084, - SortAccountBankBags = 0x3002d9, - SortBags = 0x300213, - SortBankBags = 0x300214, - SortReagentBankBags = 0x300215, - SpawnTrackingUpdate = 0x300163, - SpectateChange = 0x3002cc, - SpellClick = 0x310026, - SpellEmpowerRelease = 0x300135, - SpellEmpowerRestart = 0x300136, - SpiritHealerActivate = 0x310041, - SplitGuildBankItem = 0x310054, - SplitGuildBankItemToInventory = 0x310051, - SplitItem = 0x32000a, - SplitItemToGuildBank = 0x31004f, - StandStateChange = 0x300033, - StartChallengeMode = 0x3100ea, - StartSpectatorWarGame = 0x35000b, - StartWarGame = 0x35000a, - StoreGuildBankItem = 0x31004a, - SubmitUserFeedback = 0x3500bf, - SubscriptionInterstitialResponse = 0x30028c, - SummonResponse = 0x350094, - SupportTicketSubmitComplaint = 0x350070, - SurrenderArena = 0x30001e, - SuspendCommsAck = 0x360000, - SuspendTokenResponse = 0x360006, - SwapGuildBankItemWithGuildBankItem = 0x31004c, - SwapInvItem = 0x320009, - SwapItem = 0x320008, - SwapItemWithGuildBankItem = 0x31004b, - SwapSubGroups = 0x350077, - SwapVoidItem = 0x30004e, - TabardVendorActivate = 0x300181, - TalkToGossip = 0x310023, - TaxiNodeStatusQuery = 0x31003a, - TaxiQueryAvailableNodes = 0x31003c, - TaxiRequestEarlyLanding = 0x31003e, - TimeAdjustmentResponse = 0x33005d, - TimeSyncResponse = 0x33005a, - TimeSyncResponseDropped = 0x33005c, - TimeSyncResponseFailed = 0x33005b, - ToggleDifficulty = 0x350081, - TogglePvp = 0x300183, - TotemDestroyed = 0x310091, - ToyClearFanfare = 0x2a0004, - TradeSkillSetFavorite = 0x30022e, - TrainerBuySpell = 0x310040, - TrainerList = 0x31003f, - TraitsCommitConfig = 0x3002b4, - TraitsTalentTestUnlearnSpells = 0x3002b2, - TransferCurrencyFromAccountCharacter = 0x3002e2, - TransmogrifyItems = 0x300041, - TurnInPetition = 0x3100d4, - Tutorial = 0x350106, - UiMapQuestLinesRequest = 0x30025d, - UnacceptTrade = 0x300005, - UndeleteCharacter = 0x350108, - UnlearnSkill = 0x31007e, - UnlearnSpecialization = 0x30004f, - UnlockVoidStorage = 0x30004b, - UpdateAadcStatus = 0x350162, - UpdateAccountBankTabSettings = 0x310127, - UpdateAccountData = 0x3500c1, - UpdateAreaTriggerVisual = 0x300172, - UpdateClientSettings = 0x35008e, - UpdateCraftingNpcRecipes = 0x3001df, - UpdateMissileTrajectory = 0x330060, - UpdateRaidTarget = 0x35007a, - UpdateSpellVisual = 0x300171, - UpdateVasPurchaseStates = 0x35011d, - UpgradeGarrison = 0x300195, - UpgradeRuneforgeLegendary = 0x30028a, - UsedFollow = 0x300030, - UseCritterItem = 0x300106, - UseEquipmentSet = 0x320001, - UseItem = 0x30016b, - UseToy = 0x30016e, - VasCheckTransferOk = 0x350135, - VasGetQueueMinutes = 0x350134, - VasGetServiceStatus = 0x350133, - ViolenceLevel = 0x30002e, - VoiceChannelSttTokenRequest = 0x350139, - VoiceChatJoinChannel = 0x35013a, - VoiceChatLogin = 0x350138, - VoidStorageTransfer = 0x30004d, - Warden3Data = 0x350018, - Who = 0x3500ab, - WhoIs = 0x3500aa, - WorldLootObjectClick = 0x3002cf, - WorldPortResponse = 0x350025, - WrapItem = 0x320000, + AbandonNpeResponse = 0x310299, + AcceptGuildInvite = 0x360029, + AcceptReturningPlayerPrompt = 0x31025a, + AcceptSocialContract = 0x360174, + AcceptTrade = 0x310004, + AcceptWargameInvite = 0x36000c, + AccountBankDepositMoney = 0x3102db, + AccountBankWithdrawMoney = 0x3102dc, + AccountNotificationAcknowledged = 0x360160, + AccountStoreBeginPurchaseOrRefund = 0x3600be, + ActivateSoulbind = 0x310288, + ActivateTaxi = 0x32003e, + AddonList = 0x360004, + AddAccountCosmetic = 0x310170, + AddBattlenetFriend = 0x360084, + AddFriend = 0x3600fb, + AddIgnore = 0x3600ff, + AddToy = 0x31016f, + AdventureJournalOpenQuest = 0x3100b4, + AdventureJournalUpdateSuggestions = 0x31028b, + AdventureMapStartQuest = 0x31022b, + AlterAppearance = 0x32008f, + AreaSpiritHealerQuery = 0x320043, + AreaSpiritHealerQueue = 0x320044, + AreaTrigger = 0x310087, + ArtifactAddPower = 0x310056, + ArtifactSetAppearance = 0x310058, + AssignEquipmentSetSpec = 0x3100c0, + AttackStop = 0x31011e, + AttackSwing = 0x31011d, + AuctionableTokenSell = 0x360111, + AuctionableTokenSellAtMarketPrice = 0x360112, + AuctionBrowseQuery = 0x320063, + AuctionCancelCommoditiesPurchase = 0x32006b, + AuctionConfirmCommoditiesPurchase = 0x32006a, + AuctionGetCommodityQuote = 0x320069, + AuctionHelloRequest = 0x32005e, + AuctionListBiddedItems = 0x320067, + AuctionListBucketsByBucketKeys = 0x320068, + AuctionListItemsByBucketKey = 0x320064, + AuctionListItemsByItemId = 0x320065, + AuctionListOwnedItems = 0x320066, + AuctionPlaceBid = 0x320062, + AuctionRemoveItem = 0x320060, + AuctionReplicateItems = 0x320061, + AuctionSellCommodity = 0x32006c, + AuctionSellItem = 0x32005f, + AuctionSetFavoriteItem = 0x360161, + AuthContinuedSession = 0x370002, + AuthSession = 0x370001, + AutobankItem = 0x330003, + AutobankReagent = 0x330005, + AutostoreBankItem = 0x330002, + AutostoreBankReagent = 0x330004, + AutoDepositAccountBank = 0x3102e5, + AutoEquipItem = 0x330006, + AutoEquipItemSlot = 0x33000b, + AutoGuildBankItem = 0x32004a, + AutoStoreBagItem = 0x330007, + AutoStoreGuildBankItem = 0x320053, + AzeriteEmpoweredItemSelectPower = 0x310256, + AzeriteEmpoweredItemViewed = 0x310237, + AzeriteEssenceActivateEssence = 0x310258, + AzeriteEssenceUnlockMilestone = 0x310257, + BankerActivate = 0x320046, + BattlefieldLeave = 0x31001f, + BattlefieldList = 0x31002a, + BattlefieldPort = 0x3200c5, + BattlemasterHello = 0x31018d, + BattlemasterJoin = 0x3200bc, + BattlemasterJoinArena = 0x3200bd, + BattlemasterJoinBrawl = 0x3200c3, + BattlemasterJoinRatedBgBlitz = 0x3200bf, + BattlemasterJoinRatedSoloShuffle = 0x3200be, + BattlemasterJoinSkirmish = 0x3200c0, + BattlenetChallengeResponse = 0x3600fe, + BattlenetRequest = 0x36011f, + BattlePayAckFailedResponse = 0x3600f8, + BattlePayCancelOpenCheckout = 0x36013e, + BattlePayConfirmPurchaseResponse = 0x3600f7, + BattlePayDistributionAssignToTarget = 0x3600ee, + BattlePayDistributionAssignVas = 0x360164, + BattlePayGetProductList = 0x3600e5, + BattlePayGetPurchaseList = 0x3600e6, + BattlePayOpenCheckout = 0x360137, + BattlePayRequestPriceInfo = 0x360133, + BattlePayStartPurchase = 0x3600f6, + BattlePayStartVasPurchase = 0x36011d, + BattlePetClearFanfare = 0x2b0002, + BattlePetDeletePet = 0x36004f, + BattlePetDeletePetCheat = 0x360050, + BattlePetModifyName = 0x360052, + BattlePetRequestJournal = 0x36004e, + BattlePetRequestJournalLock = 0x36004d, + BattlePetSetBattleSlot = 0x360057, + BattlePetSetFlags = 0x36005a, + BattlePetSummon = 0x360053, + BattlePetUpdateDisplayNotify = 0x310091, + BattlePetUpdateNotify = 0x310090, + BeginTrade = 0x310001, + BinderActivate = 0x320045, + BlackMarketBidOnItem = 0x3200cd, + BlackMarketOpen = 0x3200cb, + BlackMarketRequestItems = 0x3200cc, + BonusRoll = 0x310259, + BugReport = 0x3600af, + BusyTrade = 0x310002, + BuyAccountBankTab = 0x320122, + BuyBackItem = 0x320037, + BuyBankSlot = 0x320047, + BuyItem = 0x320036, + BuyReagentBank = 0x320048, + CageBattlePet = 0x3100a4, + CalendarAddEvent = 0x3600a7, + CalendarCommunityInvite = 0x36009b, + CalendarComplain = 0x3600a3, + CalendarCopyEvent = 0x3600a2, + CalendarEventSignUp = 0x3600a5, + CalendarGet = 0x360099, + CalendarGetEvent = 0x36009a, + CalendarGetNumPending = 0x3600a4, + CalendarInvite = 0x36009c, + CalendarModeratorStatus = 0x3600a0, + CalendarRemoveEvent = 0x3600a1, + CalendarRemoveInvite = 0x36009d, + CalendarRsvp = 0x36009e, + CalendarStatus = 0x36009f, + CalendarUpdateEvent = 0x3600a8, + CancelAura = 0x31005a, + CancelAutoRepeatSpell = 0x320081, + CancelCast = 0x310176, + CancelChannelling = 0x310137, + CancelGrowthAura = 0x31013f, + CancelMasterLootRoll = 0x3100cd, + CancelModSpeedNoControlAuras = 0x310059, + CancelMountAura = 0x310152, + CancelQueuedSpell = 0x31002b, + CancelTempEnchantment = 0x32008c, + CancelTrade = 0x310006, + CanDuel = 0x36008c, + CanRedeemTokenForBalance = 0x360132, + CastSpell = 0x310173, + ChallengeModeRequestLeaders = 0x2e0002, + ChangeBagSlotFlag = 0x31020f, + ChangeBankBagSlotFlag = 0x310210, + ChangeMonumentAppearance = 0x3101f0, + ChangeRealmTicket = 0x360124, + ChangeSubGroup = 0x360076, + CharacterCheckUpgrade = 0x3600f1, + CharacterRenameRequest = 0x3600ec, + CharacterUpgradeManualUnrevokeRequest = 0x3600ef, + CharacterUpgradeStart = 0x3600f0, + CharCustomize = 0x3600b6, + CharDelete = 0x3600c8, + CharRaceOrFactionChange = 0x3600bc, + ChatAddonMessage = 0x2d0026, + ChatAddonMessageTargeted = 0x2d0027, + ChatCanLocalWhisperTargetRequest = 0x2d002e, + ChatChannelAnnouncements = 0x2d001b, + ChatChannelBan = 0x2d0019, + ChatChannelDeclineInvite = 0x2d001e, + ChatChannelDisplayList = 0x2d000e, + ChatChannelInvite = 0x2d0017, + ChatChannelKick = 0x2d0018, + ChatChannelList = 0x2d000d, + ChatChannelModerator = 0x2d0013, + ChatChannelOwner = 0x2d0011, + ChatChannelPassword = 0x2d000f, + ChatChannelSetOwner = 0x2d0010, + ChatChannelSilenceAll = 0x2d001c, + ChatChannelUnban = 0x2d001a, + ChatChannelUnmoderator = 0x2d0014, + ChatChannelUnsilenceAll = 0x2d001d, + ChatJoinChannel = 0x2d0000, + ChatLeaveChannel = 0x2d0001, + ChatLobbyMatchmakerMessageInstanceChat = 0x2d002d, + ChatLobbyMatchmakerMessageParty = 0x2d002c, + ChatMessageAfk = 0x2d000b, + ChatMessageChannel = 0x2d0007, + ChatMessageDnd = 0x2d000c, + ChatMessageEmote = 0x2d0020, + ChatMessageGuild = 0x2d0009, + ChatMessageInstanceChat = 0x2d0024, + ChatMessageOfficer = 0x2d000a, + ChatMessageParty = 0x2d0022, + ChatMessageRaid = 0x2d0023, + ChatMessageRaidWarning = 0x2d0025, + ChatMessageSay = 0x2d001f, + ChatMessageWhisper = 0x2d0008, + ChatMessageYell = 0x2d0021, + ChatRegisterAddonPrefixes = 0x2d0005, + ChatReportFiltered = 0x2d0004, + ChatReportIgnored = 0x2d0003, + ChatUnregisterAllAddonPrefixes = 0x2d0006, + CheckCharacterNameAvailability = 0x36006f, + CheckIsAdventureMapPoiValid = 0x31010f, + ChoiceResponse = 0x31017b, + ChromieTimeSelectExpansion = 0x310287, + ClaimWeeklyReward = 0x310264, + ClassTalentsDeleteConfig = 0x3102c0, + ClassTalentsNotifyEmptyConfig = 0x3100c4, + ClassTalentsNotifyValidationFailed = 0x3102c2, + ClassTalentsRenameConfig = 0x3102bf, + ClassTalentsRequestNewConfig = 0x3102be, + ClassTalentsSetStarterBuildActive = 0x3102c3, + ClassTalentsSetUsesSharedActionBars = 0x3100c3, + ClearNewAppearance = 0x2b0005, + ClearRaidMarker = 0x310052, + ClearTradeItem = 0x310008, + ClientPortGraveyard = 0x3200c7, + CloseInteraction = 0x320025, + CloseQuestChoice = 0x31017c, + CloseRuneforgeInteraction = 0x31028f, + CloseTraitSystemInteraction = 0x3102c4, + ClubFinderApplicationResponse = 0x360149, + ClubFinderGetApplicantsList = 0x360147, + ClubFinderPost = 0x360144, + ClubFinderRequestClubsData = 0x36014b, + ClubFinderRequestClubsList = 0x360145, + ClubFinderRequestMembershipToClub = 0x360146, + ClubFinderRequestPendingClubsList = 0x36014a, + ClubFinderRequestSubscribedClubPostingIds = 0x36014c, + ClubFinderRespondToApplicant = 0x360148, + ClubFinderWhisperApplicantRequest = 0x360167, + ClubPresenceSubscribe = 0x360121, + CollectionItemSetFavorite = 0x36005d, + CommentatorEnable = 0x36001c, + CommentatorEnterInstance = 0x360020, + CommentatorExitInstance = 0x360021, + CommentatorGetMapInfo = 0x36001d, + CommentatorGetPlayerCooldowns = 0x36001f, + CommentatorGetPlayerInfo = 0x36001e, + CommentatorSpectate = 0x360165, + CommentatorStartWargame = 0x36001b, + CommerceTokenGetCount = 0x36010f, + CommerceTokenGetLog = 0x360119, + CommerceTokenGetMarketPrice = 0x360110, + Complaint = 0x360096, + CompleteCinematic = 0x3200e5, + CompleteMovie = 0x320077, + ConfirmArtifactRespec = 0x310057, + ConfirmProfessionRespec = 0x3100c7, + ConfirmRespecWipe = 0x3100c6, + ConnectToFailed = 0x360000, + ConsumableTokenBuy = 0x360114, + ConsumableTokenBuyAtMarketPrice = 0x360115, + ConsumableTokenCanVeteranBuy = 0x360113, + ConsumableTokenRedeem = 0x360117, + ConsumableTokenRedeemConfirmation = 0x360118, + ContentTrackingStartTracking = 0x3102d4, + ContentTrackingStopTracking = 0x3102d5, + ContributionContribute = 0x3200fa, + ContributionLastUpdateRequest = 0x3200fb, + ConversationCinematicReady = 0x3200e7, + ConversationLineStarted = 0x3200e6, + ConvertItemToBindToAccount = 0x3102e4, + ConvertRaid = 0x360078, + CovenantRenownRequestCatchupState = 0x32010e, + CraftingOrderCancel = 0x32011a, + CraftingOrderClaim = 0x320117, + CraftingOrderCreate = 0x320113, + CraftingOrderFulfill = 0x320119, + CraftingOrderGetNpcRewardInfo = 0x320116, + CraftingOrderListCrafterOrders = 0x320115, + CraftingOrderListMyOrders = 0x320114, + CraftingOrderReject = 0x32011b, + CraftingOrderRelease = 0x320118, + CraftingOrderReportPlayer = 0x32011c, + CraftingOrderUpdateIgnoreList = 0x32011d, + CreateCharacter = 0x36006e, + CreateShipment = 0x3101d9, + DbQueryBulk = 0x360010, + DeclineGuildInvites = 0x3200b9, + DeclinePetition = 0x3200d4, + DeleteEquipmentSet = 0x3200a5, + DelveTeleportOut = 0x320129, + DelFriend = 0x3600fc, + DelIgnore = 0x360100, + DepositReagentBank = 0x310219, + DestroyItem = 0x310169, + DfBootPlayerVote = 0x360044, + DfConfirmExpandSearch = 0x360036, + DfGetJoinStatus = 0x360042, + DfGetSystemInfo = 0x360041, + DfJoin = 0x360037, + DfLeave = 0x360040, + DfProposalResponse = 0x360035, + DfReadyCheckResponse = 0x360048, + DfSetRoles = 0x360043, + DfTeleport = 0x360045, + DiscardedTimeSyncAcks = 0x34005e, + DismissCritter = 0x320093, + DoCountdown = 0x360143, + DoMasterLootRoll = 0x3100cc, + DoReadyCheck = 0x36005e, + DuelResponse = 0x32007c, + EjectPassenger = 0x310104, + Emote = 0x3200e1, + EnableNagle = 0x370007, + EnableTaxiNode = 0x32003c, + EngineSurvey = 0x36010e, + EnterEncryptedModeAck = 0x370003, + EnumCharacters = 0x360014, + EnumCharactersDeletedByClient = 0x360108, + FarSight = 0x320082, + GameEventDebugDisable = 0x31005e, + GameEventDebugEnable = 0x31005d, + GameObjReportUse = 0x320089, + GameObjUse = 0x320088, + GarrisonAddFollowerHealth = 0x3101d4, + GarrisonAssignFollowerToBuilding = 0x3101ba, + GarrisonCancelConstruction = 0x3101a7, + GarrisonCheckUpgradeable = 0x31020b, + GarrisonCompleteMission = 0x3101fd, + GarrisonFullyHealAllFollowers = 0x3101d5, + GarrisonGenerateRecruits = 0x3101bd, + GarrisonGetClassSpecCategoryInfo = 0x3101cc, + GarrisonGetMapData = 0x3101d3, + GarrisonGetMissionReward = 0x31022f, + GarrisonLearnTalent = 0x3101c8, + GarrisonMissionBonusRoll = 0x3101ff, + GarrisonPurchaseBuilding = 0x3101a3, + GarrisonRecruitFollower = 0x3101bf, + GarrisonRemoveFollower = 0x3101f4, + GarrisonRemoveFollowerFromBuilding = 0x3101bb, + GarrisonRenameFollower = 0x3101bc, + GarrisonRequestBlueprintAndSpecializationData = 0x3101a2, + GarrisonRequestShipmentInfo = 0x3101d7, + GarrisonResearchTalent = 0x3101c0, + GarrisonSetBuildingActive = 0x3101a4, + GarrisonSetFollowerFavorite = 0x3101b8, + GarrisonSetFollowerInactive = 0x3101b0, + GarrisonSetRecruitmentPreferences = 0x3101be, + GarrisonSocketTalent = 0x31029c, + GarrisonStartMission = 0x3101fc, + GarrisonSwapBuildings = 0x3101a8, + GenerateRandomCharacterName = 0x360013, + GetAccountCharacterList = 0x3600e0, + GetAccountNotifications = 0x36015f, + GetGarrisonInfo = 0x31019d, + GetItemPurchaseData = 0x3200cf, + GetLandingPageShipments = 0x3101d8, + GetMirrorImageData = 0x31016d, + GetPvpOptionsEnabled = 0x36001a, + GetRafAccountInfo = 0x36014d, + GetRegionwideCharacterRestrictionAndMailData = 0x360190, + GetRemainingGameTime = 0x360116, + GetTrophyList = 0x3101ed, + GetUndeleteCharacterCooldownStatus = 0x36010a, + GetVasAccountCharacterList = 0x36011b, + GetVasTransferTargetRealmList = 0x36011c, + GmTicketAcknowledgeSurvey = 0x3600ba, + GmTicketGetCaseStatus = 0x3600b9, + GmTicketGetSystemStatus = 0x3600b8, + GossipRefreshOptions = 0x32010d, + GossipSelectOption = 0x320026, + GuildAddBattlenetFriend = 0x2f0020, + GuildAddRank = 0x2f0005, + GuildAssignMemberRank = 0x2f0002, + GuildBankActivate = 0x320049, + GuildBankBuyTab = 0x320057, + GuildBankDepositMoney = 0x320059, + GuildBankLogQuery = 0x2f0019, + GuildBankQueryTab = 0x320056, + GuildBankRemainingWithdrawMoneyQuery = 0x2f001a, + GuildBankSetTabText = 0x2f001d, + GuildBankTextQuery = 0x2f001e, + GuildBankUpdateTab = 0x320058, + GuildBankWithdrawMoney = 0x32005a, + GuildChallengeUpdateRequest = 0x2f0017, + GuildChangeNameRequest = 0x2f0018, + GuildDeclineInvitation = 0x36002a, + GuildDelete = 0x2f0009, + GuildDeleteRank = 0x2f0006, + GuildDemoteMember = 0x2f0001, + GuildEventLogQuery = 0x2f001c, + GuildGetAchievementMembers = 0x2f0012, + GuildGetRanks = 0x2f000e, + GuildGetRoster = 0x2f0014, + GuildInviteByName = 0x360034, + GuildLeave = 0x2f0003, + GuildNewsUpdateSticky = 0x2f000f, + GuildOfficerRemoveMember = 0x2f0004, + GuildPermissionsQuery = 0x2f001b, + GuildPromoteMember = 0x2f0000, + GuildQueryMembersForRecipe = 0x2f000c, + GuildQueryMemberRecipes = 0x2f000a, + GuildQueryNews = 0x2f000d, + GuildQueryRecipes = 0x2f000b, + GuildReplaceGuildMaster = 0x2f001f, + GuildSetAchievementTracking = 0x2f0010, + GuildSetFocusedAchievement = 0x2f0011, + GuildSetGuildMaster = 0x3600f3, + GuildSetMemberNote = 0x2f0013, + GuildSetRankPermissions = 0x2f0008, + GuildShiftRank = 0x2f0007, + GuildUpdateInfoText = 0x2f0016, + GuildUpdateMotdText = 0x2f0015, + HearthAndResurrect = 0x3200a1, + HideQuestChoice = 0x31017d, + HotfixRequest = 0x360011, + IgnoreTrade = 0x310003, + InitiateRolePoll = 0x360006, + InitiateTrade = 0x310000, + Inspect = 0x3200c9, + InstanceLockResponse = 0x3200a6, + IslandQueue = 0x310260, + ItemPurchaseRefund = 0x3200d0, + ItemTextQuery = 0x31020c, + JoinPetBattleQueue = 0x31008e, + JoinRatedBattleground = 0x310025, + KeepAlive = 0x3600a9, + KeyboundOverride = 0x3100e2, + LatencyReport = 0x37000d, + LearnPvpTalents = 0x3200f9, + LearnTalents = 0x3200f7, + LeaveGroup = 0x360073, + LeavePetBattleQueue = 0x31008f, + LfgListApplyToGroup = 0x36003b, + LfgListCancelApplication = 0x36003c, + LfgListDeclineApplicant = 0x36003d, + LfgListGetStatus = 0x360039, + LfgListInviteApplicant = 0x36003e, + LfgListInviteResponse = 0x36003f, + LfgListJoin = 0x310254, + LfgListLeave = 0x360038, + LfgListSearch = 0x36003a, + LfgListUpdateRequest = 0x310255, + ListInventory = 0x320033, + LiveRegionAccountRestore = 0x3600e3, + LiveRegionCharacterCopy = 0x3600e2, + LiveRegionGetAccountCharacterList = 0x3600e1, + LiveRegionKeyBindingsCopy = 0x3600e4, + LoadingScreenNotify = 0x360024, + LoadSelectedTrophy = 0x3101ee, + LobbyMatchmakerAbandonQueue = 0x360172, + LobbyMatchmakerAcceptPartyInvite = 0x360169, + LobbyMatchmakerCreateCharacter = 0x36017b, + LobbyMatchmakerEnterQueue = 0x360170, + LobbyMatchmakerLeaveParty = 0x36016c, + LobbyMatchmakerPartyInvite = 0x360168, + LobbyMatchmakerPartyUninvite = 0x36016b, + LobbyMatchmakerQueuePropsalResponse = 0x360171, + LobbyMatchmakerRejectPartyInvite = 0x36016a, + LobbyMatchmakerSetPartyPlaylistEntry = 0x36016d, + LobbyMatchmakerSetPlayerReady = 0x36016e, + LogoutCancel = 0x320072, + LogoutInstant = 0x320073, + LogoutLobbyMatchmaker = 0x320121, + LogoutRequest = 0x320071, + LogDisconnect = 0x370005, + LogStreamingError = 0x370009, + LootItem = 0x3100ca, + LootMoney = 0x3100c9, + LootRelease = 0x3100ce, + LootRoll = 0x3100cf, + LootUnit = 0x3100c8, + LowLevelRaid1 = 0x3600cc, + LowLevelRaid2 = 0x3200ad, + MailCreateTextItem = 0x3200db, + MailDelete = 0x3100e4, + MailGetList = 0x3200d6, + MailMarkAsRead = 0x3200da, + MailReturnToSender = 0x36007f, + MailTakeItem = 0x3200d8, + MailTakeMoney = 0x3200d7, + MakeContitionalAppearancePermanent = 0x3100e5, + MasterLootItem = 0x3100cb, + MergeGuildBankItemWithGuildBankItem = 0x320054, + MergeGuildBankItemWithItem = 0x320051, + MergeItemWithGuildBankItem = 0x32004f, + MinimapPing = 0x360075, + MissileTrajectoryCollision = 0x310036, + MountClearFanfare = 0x2b0003, + MountSetFavorite = 0x36005c, + MountSpecialAnim = 0x310153, + MoveAddImpulseAck = 0x34006d, + MoveApplyInertiaAck = 0x34006b, + MoveApplyMovementForceAck = 0x340031, + MoveChangeTransport = 0x34004c, + MoveChangeVehicleSeats = 0x340051, + MoveCollisionDisableAck = 0x340056, + MoveCollisionEnableAck = 0x340057, + MoveDismissVehicle = 0x340050, + MoveDoubleJump = 0x340007, + MoveEnableDoubleJumpAck = 0x34003a, + MoveEnableFullSpeedTurningAck = 0x340083, + MoveEnableSwimToFlyTransAck = 0x340040, + MoveFallLand = 0x340017, + MoveFallReset = 0x340035, + MoveFeatherFallAck = 0x340038, + MoveForceFlightBackSpeedChangeAck = 0x34004b, + MoveForceFlightSpeedChangeAck = 0x34004a, + MoveForcePitchRateChangeAck = 0x34004f, + MoveForceRootAck = 0x34002a, + MoveForceRunBackSpeedChangeAck = 0x340028, + MoveForceRunSpeedChangeAck = 0x340027, + MoveForceSwimBackSpeedChangeAck = 0x34003e, + MoveForceSwimSpeedChangeAck = 0x340029, + MoveForceTurnRateChangeAck = 0x34003f, + MoveForceUnrootAck = 0x34002b, + MoveForceWalkSpeedChangeAck = 0x34003d, + MoveGravityDisableAck = 0x340052, + MoveGravityEnableAck = 0x340053, + MoveGuildBankItem = 0x32004e, + MoveHeartbeat = 0x34002c, + MoveHoverAck = 0x34002f, + MoveInertiaDisableAck = 0x340054, + MoveInertiaEnableAck = 0x340055, + MoveInitActiveMoverComplete = 0x340063, + MoveJump = 0x340006, + MoveKnockBackAck = 0x34002e, + MoveRemoveInertiaAck = 0x34006c, + MoveRemoveMovementForces = 0x340033, + MoveRemoveMovementForceAck = 0x340032, + MoveSetAdvFly = 0x34006f, + MoveSetAdvFlyingAddImpulseMaxSpeedAck = 0x340077, + MoveSetAdvFlyingAirFrictionAck = 0x340072, + MoveSetAdvFlyingBankingRateAck = 0x340078, + MoveSetAdvFlyingDoubleJumpVelModAck = 0x340075, + MoveSetAdvFlyingGlideStartMinHeightAck = 0x340076, + MoveSetAdvFlyingLaunchSpeedCoefficientAck = 0x34007f, + MoveSetAdvFlyingLiftCoefficientAck = 0x340074, + MoveSetAdvFlyingMaxVelAck = 0x340073, + MoveSetAdvFlyingOverMaxDecelerationAck = 0x34007d, + MoveSetAdvFlyingPitchingRateDownAck = 0x340079, + MoveSetAdvFlyingPitchingRateUpAck = 0x34007a, + MoveSetAdvFlyingSurfaceFrictionAck = 0x34007c, + MoveSetAdvFlyingTurnVelocityThresholdAck = 0x34007b, + MoveSetCanAdvFlyAck = 0x34006e, + MoveSetCanDriveAck = 0x340070, + MoveSetCanFlyAck = 0x340043, + MoveSetCanTurnWhileFallingAck = 0x340041, + MoveSetCollisionHeightAck = 0x340058, + MoveSetFacing = 0x340025, + MoveSetFacingHeartbeat = 0x34007e, + MoveSetFly = 0x340045, + MoveSetIgnoreMovementForcesAck = 0x340042, + MoveSetModMovementForceMagnitudeAck = 0x34005f, + MoveSetPitch = 0x340026, + MoveSetRunMode = 0x34000e, + MoveSetTurnRateCheat = 0x340022, + MoveSetVehicleRecIdAck = 0x340030, + MoveSetWalkMode = 0x34000f, + MoveSplineDone = 0x340034, + MoveStartAscend = 0x340046, + MoveStartBackward = 0x340001, + MoveStartDescend = 0x34004d, + MoveStartDriveForward = 0x340071, + MoveStartForward = 0x340000, + MoveStartPitchDown = 0x34000c, + MoveStartPitchUp = 0x34000b, + MoveStartStrafeLeft = 0x340003, + MoveStartStrafeRight = 0x340004, + MoveStartSwim = 0x340018, + MoveStartTurnLeft = 0x340008, + MoveStartTurnRight = 0x340009, + MoveStop = 0x340002, + MoveStopAscend = 0x340047, + MoveStopPitch = 0x34000d, + MoveStopStrafe = 0x340005, + MoveStopSwim = 0x340019, + MoveStopTurn = 0x34000a, + MoveTeleportAck = 0x340016, + MoveTimeSkipped = 0x340037, + MoveUpdateFallSpeed = 0x340036, + MoveWaterWalkAck = 0x340039, + MythicPlusRequestMapStats = 0x2e0001, + NeutralPlayerSelectFaction = 0x310084, + NextCinematicCamera = 0x3200e4, + ObjectUpdateFailed = 0x31002c, + ObjectUpdateRescued = 0x31002d, + OfferPetition = 0x310286, + OpeningCinematic = 0x3200e3, + OpenItem = 0x31020d, + OpenMissionNpc = 0x3101ce, + OpenShipmentNpc = 0x3101d6, + OpenTradeskillNpc = 0x3101e1, + OptOutOfLoot = 0x320090, + OverrideScreenFlash = 0x3200ba, + PartyInvite = 0x360030, + PartyInviteResponse = 0x360032, + PartyUninvite = 0x360071, + PerformItemInteraction = 0x3100ed, + PerksProgramItemsRefreshed = 0x3102ae, + PerksProgramRequestPendingRewards = 0x2b0012, + PerksProgramRequestPurchase = 0x3102b0, + PerksProgramRequestRefund = 0x3102b1, + PerksProgramSetFrozenVendorItem = 0x3102b2, + PerksProgramStatusRequest = 0x3102af, + PetitionBuy = 0x32005c, + PetitionRenameGuild = 0x3600f4, + PetitionShowList = 0x32005b, + PetitionShowSignatures = 0x32005d, + PetAbandon = 0x32001e, + PetAbandonByNumber = 0x32001f, + PetAction = 0x32001c, + PetBattleFinalNotify = 0x310093, + PetBattleInput = 0x36006b, + PetBattleQueueProposeMatchResult = 0x3100e3, + PetBattleQuitNotify = 0x310092, + PetBattleReplaceFrontPet = 0x36006c, + PetBattleRequestPvp = 0x31008c, + PetBattleRequestUpdate = 0x31008d, + PetBattleRequestWild = 0x31008a, + PetBattleScriptErrorNotify = 0x310094, + PetBattleWildLocationFail = 0x31008b, + PetCancelAura = 0x320020, + PetCastSpell = 0x310172, + PetRename = 0x3600ae, + PetSetAction = 0x32001b, + PetSpellAutocast = 0x320021, + PetStopAttack = 0x32001d, + Ping = 0x370004, + PlayerLogin = 0x360016, + PushQuestToParty = 0x320031, + PvpLogData = 0x310028, + QueryBattlePetName = 0x310146, + QueryCorpseLocationFromClient = 0x36008a, + QueryCorpseTransport = 0x36008b, + QueryCountdownTimer = 0x310055, + QueryCreature = 0x310140, + QueryGameObject = 0x310141, + QueryGarrisonPetName = 0x310147, + QueryGuildInfo = 0x3600b4, + QueryInspectAchievements = 0x32009a, + QueryNextMailTime = 0x3200d9, + QueryNpcText = 0x310142, + QueryPageText = 0x310144, + QueryPetition = 0x310148, + QueryPetName = 0x310145, + QueryPlayerNames = 0x37000e, + QueryPlayerNamesForCommunity = 0x37000c, + QueryPlayerNameByCommunityId = 0x37000b, + QueryQuestCompletionNpcs = 0x310021, + QueryQuestInfo = 0x310143, + QueryQuestItemUsability = 0x310022, + QueryRealmName = 0x3600b3, + QueryScenarioPoi = 0x360080, + QuerySelectedWowLabsArea = 0x3102e9, + QueryTime = 0x320070, + QueryTreasurePicker = 0x310232, + QueryVoidStorage = 0x31004e, + QueryWowLabsAreaInfo = 0x3102ea, + QuestConfirmAccept = 0x320030, + QuestGiverAcceptQuest = 0x32002a, + QuestGiverChooseReward = 0x32002c, + QuestGiverCloseQuest = 0x3200ea, + QuestGiverCompleteQuest = 0x32002b, + QuestGiverHello = 0x320028, + QuestGiverQueryQuest = 0x320029, + QuestGiverRequestReward = 0x32002d, + QuestGiverStatusMultipleQuery = 0x32002f, + QuestGiverStatusQuery = 0x32002e, + QuestLogRemoveQuest = 0x3200ce, + QuestPoiQuery = 0x3600da, + QuestPushResult = 0x320032, + QuestSessionBeginResponse = 0x310278, + QuestSessionRequestStart = 0x310277, + QuestSessionRequestStop = 0x360158, + QueuedMessagesEnd = 0x370008, + QuickJoinAutoAcceptRequests = 0x360130, + QuickJoinRequestInvite = 0x36012f, + QuickJoinRequestInviteWithConfirmation = 0x36015d, + QuickJoinRespondToInvite = 0x36012e, + QuickJoinSignalToastDisplayed = 0x36012d, + RafClaimActivityReward = 0x32009e, + RafClaimNextReward = 0x36014e, + RafGenerateRecruitmentLink = 0x360150, + RafUpdateRecruitmentInfo = 0x36014f, + RandomRoll = 0x36007e, + ReadyCheckResponse = 0x36005f, + ReadItem = 0x31020e, + ReclaimCorpse = 0x320075, + RemoveNewItem = 0x310236, + RemoveRafRecruit = 0x360151, + ReorderCharacters = 0x360015, + RepairItem = 0x320086, + ReplaceTrophy = 0x3101ef, + RepopRequest = 0x3200c6, + ReportClientVariables = 0x36012a, + ReportEnabledAddons = 0x360129, + ReportKeybindingExecutionCounts = 0x36012b, + ReportPvpPlayerAfk = 0x32008e, + ReportServerLag = 0x310270, + ReportStuckInCombat = 0x310271, + RequestAccountData = 0x3600c0, + RequestAreaPoiUpdate = 0x310234, + RequestBattlefieldStatus = 0x360008, + RequestCemeteryList = 0x310023, + RequestCharacterGuildFollowInfo = 0x3600b5, + RequestCovenantCallings = 0x310262, + RequestCrowdControlSpell = 0x3200ca, + RequestCurrencyDataForAccountCharacters = 0x2b0019, + RequestGarrisonTalentWorldQuestUnlocks = 0x31029b, + RequestGuildPartyState = 0x310054, + RequestGuildRewardsList = 0x310053, + RequestLatestSplashScreen = 0x310272, + RequestLfgListBlacklist = 0x31017e, + RequestMythicPlusAffixes = 0x3100b8, + RequestMythicPlusSeasonData = 0x3100b9, + RequestPartyEligibilityForDelveTiers = 0x3102e8, + RequestPartyJoinUpdates = 0x360023, + RequestPartyMemberStats = 0x36007d, + RequestPetInfo = 0x320022, + RequestPlayedTime = 0x31014b, + RequestPvpRewards = 0x310041, + RequestRaidInfo = 0x3600f5, + RequestRatedPvpInfo = 0x36000f, + RequestRealmGuildMasterInfo = 0x360193, + RequestScheduledAreaPoiUpdate = 0x310235, + RequestScheduledPvpInfo = 0x310042, + RequestStabledPets = 0x320023, + RequestStoreFrontInfoUpdate = 0x2b001e, + RequestVehicleExit = 0x3100ff, + RequestVehicleNextSeat = 0x310101, + RequestVehiclePrevSeat = 0x310100, + RequestVehicleSwitchSeat = 0x310102, + RequestWeeklyRewards = 0x310265, + RequestWorldQuestUpdate = 0x310233, + ResetChallengeMode = 0x3100b6, + ResetChallengeModeCheat = 0x3100b7, + ResetInstances = 0x360092, + ResurrectResponse = 0x3600ad, + RevertMonumentAppearance = 0x3101f1, + RideVehicleInteract = 0x310103, + RpeResetCharacter = 0x36017e, + SaveAccountDataExport = 0x360178, + SaveCufProfiles = 0x310037, + SaveEquipmentSet = 0x3200a4, + SaveGuildEmblem = 0x310182, + SavePersonalEmblem = 0x310183, + ScenePlaybackCanceled = 0x3100df, + ScenePlaybackComplete = 0x3100de, + SceneTriggerEvent = 0x3100e0, + SeamlessTransferComplete = 0x3102d7, + SelectWowLabsArea = 0x3102eb, + SelfRes = 0x3200d1, + SellAllJunkItems = 0x320035, + SellItem = 0x320034, + SendCharacterClubInvitation = 0x360123, + SendContactList = 0x3600fa, + SendMail = 0x360026, + SendPingUnit = 0x3102d9, + SendPingWorldPoint = 0x3102da, + SendTextEmote = 0x320019, + ServerTimeOffsetRequest = 0x3600c7, + SetupWarbandGroups = 0x36018c, + SetActionBarToggles = 0x3200d2, + SetActionButton = 0x360060, + SetActiveMover = 0x340059, + SetAdvancedCombatLogging = 0x310190, + SetAssistantLeader = 0x360079, + SetBackpackAutosortDisabled = 0x310211, + SetBackpackSellJunkDisabled = 0x310212, + SetBankAutosortDisabled = 0x310213, + SetContactNotes = 0x3600fd, + SetCurrencyFlags = 0x310015, + SetDifficultyId = 0x3100e1, + SetDungeonDifficulty = 0x3600ac, + SetEmpowerMinHoldStagePercent = 0x31013a, + SetEveryoneIsAssistant = 0x360046, + SetExcludedChatCensorSources = 0x360131, + SetFactionAtWar = 0x320078, + SetFactionInactive = 0x32007a, + SetFactionNotAtWar = 0x320079, + SetGameEventDebugViewState = 0x310065, + SetInsertItemsLeftToRight = 0x310215, + SetLootMethod = 0x360072, + SetLootSpecialization = 0x3200df, + SetPartyAssignment = 0x36007b, + SetPartyLeader = 0x360074, + SetPetFavorite = 0x310012, + SetPetSlot = 0x310011, + SetPetSpecialization = 0x310013, + SetPlayerDeclinedNames = 0x3600b2, + SetPreferredCemetery = 0x310024, + SetPvp = 0x310187, + SetRaidDifficulty = 0x360106, + SetRestrictPingsToAssistants = 0x360047, + SetRole = 0x360005, + SetSavedInstanceExtend = 0x3600b0, + SetSelection = 0x3200c8, + SetSheathed = 0x32001a, + SetSortBagsRightToLeft = 0x310214, + SetTaxiBenchmarkMode = 0x32008d, + SetTitle = 0x310151, + SetTradeCurrency = 0x31000a, + SetTradeGold = 0x310009, + SetTradeItem = 0x310007, + SetUsingPartyGarrison = 0x3101d0, + SetWarMode = 0x310188, + SetWatchedFaction = 0x32007b, + ShowTradeSkill = 0x3600ed, + SignPetition = 0x3200d3, + SilencePartyTalker = 0x36007c, + SocialContractRequest = 0x360173, + SocketGems = 0x320085, + SortAccountBankBags = 0x3102dd, + SortBags = 0x310216, + SortBankBags = 0x310217, + SortReagentBankBags = 0x310218, + SpawnTrackingUpdate = 0x310166, + SpectateChange = 0x3102d0, + SpellClick = 0x320027, + SpellEmpowerRelease = 0x310138, + SpellEmpowerRestart = 0x310139, + SpiritHealerActivate = 0x320042, + SplitGuildBankItem = 0x320055, + SplitGuildBankItemToInventory = 0x320052, + SplitItem = 0x33000a, + SplitItemToGuildBank = 0x320050, + StandStateChange = 0x310035, + StartChallengeMode = 0x3200eb, + StartSpectatorWarGame = 0x36000b, + StartWarGame = 0x36000a, + StoreGuildBankItem = 0x32004b, + SubmitUserFeedback = 0x3600bf, + SubscriptionInterstitialResponse = 0x310290, + SummonResponse = 0x360094, + SupportTicketSubmitComplaint = 0x360070, + SurrenderArena = 0x310020, + SuspendCommsAck = 0x370000, + SuspendTokenResponse = 0x370006, + SwapGuildBankItemWithGuildBankItem = 0x32004d, + SwapInvItem = 0x330009, + SwapItem = 0x330008, + SwapItemWithGuildBankItem = 0x32004c, + SwapSubGroups = 0x360077, + SwapVoidItem = 0x310050, + TabardVendorActivate = 0x310184, + TalkToGossip = 0x320024, + TaxiNodeStatusQuery = 0x32003b, + TaxiQueryAvailableNodes = 0x32003d, + TaxiRequestEarlyLanding = 0x32003f, + TimeAdjustmentResponse = 0x34005d, + TimeSyncResponse = 0x34005a, + TimeSyncResponseDropped = 0x34005c, + TimeSyncResponseFailed = 0x34005b, + ToggleDifficulty = 0x360081, + TogglePvp = 0x310186, + TotemDestroyed = 0x320092, + ToyClearFanfare = 0x2b0004, + TradeSkillSetFavorite = 0x310231, + TrainerBuySpell = 0x320041, + TrainerList = 0x320040, + TraitsCommitConfig = 0x3102b8, + TraitsTalentTestUnlearnSpells = 0x3102b6, + TransferCurrencyFromAccountCharacter = 0x3102e6, + TransmogrifyItems = 0x310043, + TurnInPetition = 0x3200d5, + Tutorial = 0x360107, + UiMapQuestLinesRequest = 0x310261, + UnacceptTrade = 0x310005, + UndeleteCharacter = 0x360109, + UnlearnSkill = 0x32007f, + UnlearnSpecialization = 0x310051, + UnlockVoidStorage = 0x31004d, + UpdateAadcStatus = 0x360163, + UpdateAccountBankTabSettings = 0x320128, + UpdateAccountData = 0x3600c1, + UpdateAreaTriggerVisual = 0x310175, + UpdateClientSettings = 0x36008e, + UpdateCraftingNpcRecipes = 0x3101e2, + UpdateMissileTrajectory = 0x340060, + UpdateRaidTarget = 0x36007a, + UpdateSpellVisual = 0x310174, + UpdateVasPurchaseStates = 0x36011e, + UpgradeGarrison = 0x310198, + UpgradeRuneforgeLegendary = 0x31028e, + UsedFollow = 0x310032, + UseCritterItem = 0x310109, + UseEquipmentSet = 0x330001, + UseItem = 0x31016e, + UseToy = 0x310171, + VasCheckTransferOk = 0x360136, + VasGetQueueMinutes = 0x360135, + VasGetServiceStatus = 0x360134, + ViolenceLevel = 0x310030, + VoiceChannelSttTokenRequest = 0x36013a, + VoiceChatJoinChannel = 0x36013b, + VoiceChatLogin = 0x360139, + VoidStorageTransfer = 0x31004f, + Warden3Data = 0x360018, + Who = 0x3600ab, + WhoIs = 0x3600aa, + WorldLootObjectClick = 0x3102d3, + WorldPortResponse = 0x360025, + WrapItem = 0x330000, Unknown = 0xbadd } public enum ServerOpcodes : uint { - AbortNewWorld = 0x370030, - AccountCharacterCurrencyLists = 0x370340, - AccountConversionStateUpdate = 0x370345, - AccountCosmeticAdded = 0x3702f9, - AccountCriteriaUpdate = 0x3702e0, - AccountDataTimes = 0x3701a1, - AccountExportResponse = 0x370331, - AccountMountRemoved = 0x370047, - AccountMountUpdate = 0x370046, - AccountNotificationsResponse = 0x3702f8, - AccountStoreCurrencyUpdate = 0x37031a, - AccountStoreFrontUpdate = 0x37031b, - AccountStoreItemStateChanged = 0x37031c, - AccountStoreResult = 0x37031d, - AccountToyUpdate = 0x370048, - AccountTransmogSetFavoritesUpdate = 0x37004c, - AccountTransmogUpdate = 0x37004b, - AchievementDeleted = 0x37017f, - AchievementEarned = 0x3700d9, - ActivateEssenceFailed = 0x4a001f, - ActivateSoulbindFailed = 0x4a0021, - ActivateTaxiReply = 0x370116, - ActiveGlyphs = 0x4d0045, - ActiveScheduledWorldStateInfo = 0x3701dc, - AddonListRequest = 0x3700d8, - AddBattlenetFriendResponse = 0x3700d3, - AddItemPassive = 0x370042, - AddLossOfControl = 0x370109, - AddRunePower = 0x370150, - AdjustSplineDuration = 0x370068, - AdvancedCombatLog = 0x3702f5, - AdventureJournalDataResponse = 0x3702f0, - AeLootTargets = 0x3700ae, - AeLootTargetAck = 0x3700af, - AiReaction = 0x37014d, - AlliedRaceDetails = 0x37028a, - AllAccountCriteria = 0x370005, - AllAchievementData = 0x370004, - AllGuildAchievements = 0x430000, - ApplyMountEquipmentResult = 0x3702cd, - ArchaeologySurveryCast = 0x37001d, - AreaPoiUpdateResponse = 0x4a0018, - AreaSpiritHealerTime = 0x3701d5, - AreaTriggerDenied = 0x380009, - AreaTriggerForceSetPositionAndFacing = 0x380006, - AreaTriggerNoCorpse = 0x3701ad, - AreaTriggerPlaySpellVisual = 0x380004, - AreaTriggerRePath = 0x380003, - AreaTriggerReShape = 0x380008, - AreaTriggerUnattach = 0x380007, - AreaTriggerUpdateDecalProperties = 0x380005, - ArenaClearOpponents = 0x3700df, - ArenaCrowdControlSpellResult = 0x3700c8, - ArenaPrepOpponentSpecializations = 0x3700de, - ArtifactEndgamePowersRefunded = 0x370237, - ArtifactForgeError = 0x370235, - ArtifactRespecPrompt = 0x370236, - ArtifactXpGain = 0x37027d, - AttackerStateUpdate = 0x3d002c, - AttackStart = 0x3d0017, - AttackStop = 0x3d0018, - AttackSwingError = 0x3d0026, - AttackSwingLandedLog = 0x3d0027, - AuctionableTokenAuctionSold = 0x370266, - AuctionableTokenSellAtMarketPriceResponse = 0x370265, - AuctionableTokenSellConfirmRequired = 0x370264, - AuctionClosedNotification = 0x37018a, - AuctionCommandResult = 0x370187, - AuctionDisableNewPostings = 0x37031e, - AuctionFavoriteList = 0x3702e7, - AuctionGetCommodityQuoteResult = 0x3702df, - AuctionHelloResponse = 0x370185, - AuctionListBiddedItemsResult = 0x3702de, - AuctionListBucketsResult = 0x3702da, - AuctionListItemsResult = 0x3702db, - AuctionListOwnedItemsResult = 0x3702dd, - AuctionOutbidNotification = 0x370189, - AuctionOwnerBidNotification = 0x37018b, - AuctionReplicateResponse = 0x370186, - AuctionWonNotification = 0x370188, - AuraPointsDepleted = 0x4d0012, - AuraUpdate = 0x4d0011, - AuthChallenge = 0x3e0000, - AuthFailed = 0x370000, - AuthResponse = 0x370001, - AvailableHotfixes = 0x3b0001, - BackpackDefaultSizeChanged = 0x37031f, - BagCleanupFinished = 0x4e0007, - BarberShopResult = 0x370155, - BatchPresenceSubscription = 0x3702be, - BattlefieldList = 0x3d0005, - BattlefieldPortDenied = 0x3d000b, - BattlefieldStatusActive = 0x3d0001, - BattlefieldStatusFailed = 0x3d0004, - BattlefieldStatusGroupProposalFailed = 0x3d000e, - BattlefieldStatusNeedConfirmation = 0x3d0000, - BattlefieldStatusNone = 0x3d0003, - BattlefieldStatusQueued = 0x3d0002, - BattlefieldStatusWaitForGroups = 0x3d000d, - BattlegroundInfoThrottled = 0x3d000c, - BattlegroundInit = 0x3d0029, - BattlegroundPlayerJoined = 0x3d0009, - BattlegroundPlayerLeft = 0x3d000a, - BattlegroundPlayerPositions = 0x3d0006, - BattlegroundPoints = 0x3d0028, - BattlenetChallengeAbort = 0x37021f, - BattlenetChallengeStart = 0x37021e, - BattlenetNotification = 0x370296, - BattlenetResponse = 0x370295, - BattleNetConnectionStatus = 0x370297, - BattlePayAckFailed = 0x37021a, - BattlePayBattlePetDelivered = 0x37020f, - BattlePayCollectionItemDelivered = 0x370210, - BattlePayConfirmPurchase = 0x370219, - BattlePayDeliveryEnded = 0x37020d, - BattlePayDeliveryStarted = 0x37020c, - BattlePayDistributionAssignVasResponse = 0x3702fe, - BattlePayDistributionUnrevoked = 0x37020a, - BattlePayDistributionUpdate = 0x37020b, - BattlePayGetDistributionListResponse = 0x370209, - BattlePayGetProductListResponse = 0x370207, - BattlePayGetPurchaseListResponse = 0x370208, - BattlePayMountDelivered = 0x37020e, - BattlePayPurchaseUpdate = 0x370218, - BattlePayStartCheckout = 0x3702b2, - BattlePayStartDistributionAssignToTargetResponse = 0x370216, - BattlePayStartPurchaseResponse = 0x370215, - BattlePayValidatePurchaseResponse = 0x3702a6, - BattlePetsHealed = 0x37008a, - BattlePetCageDateError = 0x370111, - BattlePetDeleted = 0x370087, - BattlePetError = 0x3700ce, - BattlePetJournal = 0x370086, - BattlePetJournalLockAcquired = 0x370084, - BattlePetJournalLockDenied = 0x370085, - BattlePetRestored = 0x370089, - BattlePetRevoked = 0x370088, - BattlePetTrapLevel = 0x370082, - BattlePetUpdates = 0x370081, - BindPointUpdate = 0x370011, - BlackMarketBidOnItemResult = 0x3700be, - BlackMarketOutbid = 0x3700bf, - BlackMarketRequestItemsResult = 0x3700bd, - BlackMarketWon = 0x3700c0, - BonusRollEmpty = 0x3700db, - BossKill = 0x3d002b, - BreakTarget = 0x3d0016, - BroadcastAchievement = 0x3c0010, - BroadcastSummonCast = 0x3702c0, - BroadcastSummonResponse = 0x3702c1, - BuyFailed = 0x37015e, - BuySucceeded = 0x37015d, - CacheInfo = 0x3b000f, - CacheVersion = 0x3b000e, - CalendarClearPendingAction = 0x370136, - CalendarCommandResult = 0x370137, - CalendarCommunityInvite = 0x370126, - CalendarEventRemovedAlert = 0x37012e, - CalendarEventUpdatedAlert = 0x37012f, - CalendarInviteAdded = 0x370127, - CalendarInviteAlert = 0x37012b, - CalendarInviteNotes = 0x370130, - CalendarInviteNotesAlert = 0x370131, - CalendarInviteRemoved = 0x370128, - CalendarInviteRemovedAlert = 0x37012d, - CalendarInviteStatus = 0x370129, - CalendarInviteStatusAlert = 0x37012c, - CalendarModeratorStatus = 0x37012a, - CalendarRaidLockoutAdded = 0x370132, - CalendarRaidLockoutRemoved = 0x370133, - CalendarRaidLockoutUpdated = 0x370134, - CalendarSendCalendar = 0x370124, - CalendarSendEvent = 0x370125, - CalendarSendNumPending = 0x370135, - CameraEffect = 0x3701bb, - CancelAutoRepeat = 0x370175, - CancelCombat = 0x3d0025, - CancelOrphanSpellVisual = 0x4d0037, - CancelPingPin = 0x37003b, - CancelPreloadWorld = 0x37002e, - CancelScene = 0x3700cd, - CancelSpellVisual = 0x4d0035, - CancelSpellVisualKit = 0x4d0039, - CanDuelResult = 0x3d0021, - CanRedeemTokenForBalanceResponse = 0x3702a5, - CapturePointRemoved = 0x3d0008, - CastFailed = 0x4d0048, - CasRefreshRemoteData = 0x37010f, - ChainMissileBounce = 0x370060, - ChallengeModeComplete = 0x3700a1, - ChallengeModeRequestLeadersResult = 0x3700a6, - ChallengeModeReset = 0x3700a0, - ChallengeModeStart = 0x37009e, - ChallengeModeUpdateDeathCount = 0x37009f, - ChangePlayerDifficultyResult = 0x4a000c, - ChangeRealmTicketResponse = 0x370298, - ChannelList = 0x3c0019, - ChannelNotify = 0x3c0015, - ChannelNotifyJoined = 0x3c0017, - ChannelNotifyLeft = 0x3c0018, - ChannelNotifyNpeJoinedBatch = 0x3c0016, - CharacterCheckUpgradeResult = 0x370252, - CharacterLoginFailed = 0x37019c, - CharacterObjectTestResponse = 0x37021d, - CharacterRenameResult = 0x3701f8, - CharacterUpgradeAborted = 0x370251, - CharacterUpgradeComplete = 0x370250, - CharacterUpgradeManualUnrevokeResult = 0x370253, - CharacterUpgradeStarted = 0x37024f, - CharCustomizeFailure = 0x370179, - CharCustomizeSuccess = 0x37017a, - CharFactionChangeResult = 0x37023c, - Chat = 0x3c0001, - ChatAutoResponded = 0x3c000c, - ChatCanLocalWhisperTargetResponse = 0x3c0020, - ChatDown = 0x3c0012, - ChatIgnoredAccountMuted = 0x3c0000, - ChatIsDown = 0x3c0013, - ChatNotInGuild = 0x3c0021, - ChatNotInParty = 0x3c0006, - ChatPlayerAmbiguous = 0x3c0004, - ChatPlayerNotfound = 0x3c000b, - ChatReconnect = 0x3c0014, - ChatRegionalServiceStatus = 0x3c001b, - ChatRestricted = 0x3c0007, - ChatServerMessage = 0x3c001a, - CheatIgnoreDimishingReturns = 0x4d0002, - CheckAbandonNpe = 0x4a0022, - CheckCharacterNameAvailabilityResult = 0x37001b, - CheckWargameEntry = 0x370027, - ChromieTimeSelectExpansionSuccess = 0x3702ea, - ClaimRafRewardResponse = 0x3702d1, - ClearAllSpellCharges = 0x4d0016, - ClearBossEmotes = 0x370053, - ClearCooldown = 0x370152, - ClearCooldowns = 0x4d0015, - ClearResurrect = 0x370013, - ClearSpellCharges = 0x4d0017, - ClearTarget = 0x3d0022, - ClearTreasurePickerCache = 0x4b0022, - CloseArtifactForge = 0x370234, - ClubFinderErrorMessage = 0x3702c9, - ClubFinderGetClubPostingIdsResponse = 0x3702cc, - ClubFinderLookupClubPostingsList = 0x3702ca, - ClubFinderResponseCharacterApplicationList = 0x3702c7, - ClubFinderResponsePostRecruitmentMessage = 0x3702cb, - ClubFinderUpdateApplications = 0x3702c8, - ClubFinderWhisperApplicantResponse = 0x37030a, - CoinRemoved = 0x3700ad, - CombatEventFailed = 0x3d0019, - CommentatorMapInfo = 0x37019e, - CommentatorPlayerInfo = 0x37019f, - CommentatorStateChanged = 0x37019d, - CommerceTokenGetCountResponse = 0x370261, - CommerceTokenGetLogResponse = 0x37026d, - CommerceTokenGetMarketPriceResponse = 0x370263, - CommerceTokenUpdate = 0x370262, - ComplaintResult = 0x370144, - CompleteShipmentResponse = 0x37022d, - ConfirmPartyInvite = 0x3702a4, - ConnectTo = 0x3e0005, - ConsoleWrite = 0x3700cb, - ConsumableTokenBuyAtMarketPriceResponse = 0x370269, - ConsumableTokenBuyChoiceRequired = 0x370268, - ConsumableTokenCanVeteranBuyResponse = 0x370267, - ConsumableTokenRedeemConfirmRequired = 0x37026b, - ConsumableTokenRedeemResponse = 0x37026c, - ContactList = 0x37021b, - ContributionLastUpdateResponse = 0x3702ab, - ControlUpdate = 0x3700dd, - ConvertItemsToCurrencyValue = 0x3702f3, - CooldownCheat = 0x3701ce, - CooldownEvent = 0x370151, - CorpseLocation = 0x3700e5, - CorpseReclaimDelay = 0x3701df, - CorpseTransportQuery = 0x3701a9, - CovenantCallingsAvailabilityResponse = 0x4b0024, - CovenantPreviewOpenNpc = 0x37028d, - CovenantRenownSendCatchupState = 0x3702f4, - CraftingHouseHelloResponse = 0x37032b, - CraftingOrderCancelResult = 0x370327, - CraftingOrderClaimResult = 0x370323, - CraftingOrderCraftResult = 0x370325, - CraftingOrderCreateResult = 0x370321, - CraftingOrderFulfillResult = 0x370326, - CraftingOrderListOrdersResponse = 0x370322, - CraftingOrderNpcRewardInfo = 0x37032d, - CraftingOrderRejectResult = 0x370329, - CraftingOrderReleaseResult = 0x370324, - CraftingOrderUpdateState = 0x37032c, - CraftEnchantResult = 0x37032a, - CreateChar = 0x370198, - CreateShipmentResponse = 0x37022c, - CreatorVisualsOverride = 0x370330, - CriteriaDeleted = 0x37017e, - CriteriaUpdate = 0x370178, - CrossedInebriationThreshold = 0x370159, - CurrencyTransferLog = 0x370342, - CurrencyTransferResult = 0x370341, - CustomLoadScreen = 0x370063, - DailyQuestsReset = 0x4b0000, - DamageCalcLog = 0x4d0054, - DbReply = 0x3b0000, - DeathReleaseLoc = 0x37016b, - DebugMenuManagerFullUpdate = 0x3700ed, - DefenseMessage = 0x3c000a, - DeleteChar = 0x370199, - DeleteExpiredMissionsResult = 0x410022, - DelvesAccountDataElementChanged = 0x370347, - DestroyArenaUnit = 0x3701d7, - DestructibleBuildingDamage = 0x370190, - DifferentInstanceFromParty = 0x370020, - DisenchantCredit = 0x37003f, - DismountResult = 0x370010, - DispelFailed = 0x4d001e, - DisplayGameError = 0x370035, - DisplayPlayerChoice = 0x4a0004, - DisplayPromotion = 0x3700e2, - DisplayQuestPopup = 0x4b001e, - DisplaySoulbindUpdateMessage = 0x3702f7, - DisplayToast = 0x3700ba, - DisplayWorldText = 0x37027e, - DisplayWorldTextOnTarget = 0x4d0053, - DontAutoPushSpellsToActionBar = 0x370078, - DropNewConnection = 0x3e0004, - DuelArranged = 0x3d001b, - DuelComplete = 0x3d001f, - DuelCountdown = 0x3d001e, - DuelInBounds = 0x3d001d, - DuelOutOfBounds = 0x3d001c, - DuelRequested = 0x3d001a, - DuelWinner = 0x3d0020, - DurabilityDamageDeath = 0x3701da, - Emote = 0x370259, - EnableBarberShop = 0x370154, - EnchantmentLog = 0x3701aa, - EncounterEnd = 0x370214, - EncounterStart = 0x370213, - EndLightningStorm = 0x370141, - EnterEncryptedMode = 0x3e0001, - EnumCharactersResult = 0x370018, - EnumVasPurchaseStatesResponse = 0x370283, - EnvironmentalDamageLog = 0x4d000e, - EquipmentSetId = 0x37014a, - ExpectedSpamRecords = 0x3c0005, - ExplorationExperience = 0x3701f4, - ExternalTransactionIdGenerated = 0x3702f1, - FactionBonusInfo = 0x3701ba, - FailedPlayerCondition = 0x4a0002, - FailedQuestTurnIn = 0x3702a1, - FeatureSystemStatus = 0x370057, - FeatureSystemStatus2 = 0x37033f, - FeatureSystemStatusGlueScreen = 0x370058, - FeignDeathResisted = 0x3701d9, - FishEscaped = 0x370168, - FishNotHooked = 0x370167, - FlightSplineSync = 0x48005b, - FlushCombatLogFile = 0x4d0010, - ForcedDeathUpdate = 0x37016c, - ForceAnim = 0x3701e6, - ForceAnimations = 0x3701e7, - ForceObjectRelink = 0x3700e1, - ForceRandomTransmogToast = 0x37004a, - ForceSpawnTrackingUpdate = 0x4b0021, - FriendStatus = 0x37021c, - GainMawPower = 0x370272, - GameObjectActivateAnimKit = 0x37005b, - GameObjectBase = 0x3702b8, - GameObjectCloseInteraction = 0x370309, - GameObjectCustomAnim = 0x37005c, - GameObjectDespawn = 0x37005d, - GameObjectInteraction = 0x370308, - GameObjectPlaySpellVisual = 0x4d003c, - GameObjectPlaySpellVisualKit = 0x4d003b, - GameObjectResetState = 0x3701b4, - GameObjectSetStateLocal = 0x370294, - GameSpeedSet = 0x37011a, - GameTimeSet = 0x3701a3, - GameTimeUpdate = 0x3701a2, - GarrisonActivateMissionBonusAbility = 0x410024, - GarrisonAddEvent = 0x410048, - GarrisonAddFollowerResult = 0x410016, - GarrisonAddMissionResult = 0x41001a, - GarrisonAddSpecGroups = 0x41004b, - GarrisonApplyTalentSocketDataChanges = 0x41004f, - GarrisonAssignFollowerToBuildingResult = 0x41002c, - GarrisonAutoTroopMinLevelUpdateResult = 0x410051, - GarrisonBuildingActivated = 0x41000b, - GarrisonBuildingRemoved = 0x410004, - GarrisonBuildingSetActiveSpecializationResult = 0x410006, - GarrisonChangeMissionStartTimeResult = 0x41001d, - GarrisonClearCollection = 0x410047, - GarrisonClearEventList = 0x41004a, - GarrisonClearSpecGroups = 0x41004c, - GarrisonCollectionRemoveEntry = 0x410046, - GarrisonCollectionUpdateEntry = 0x410045, - GarrisonCompleteBuildingConstructionResult = 0x41003d, - GarrisonCompleteMissionResult = 0x41001c, - GarrisonCreateResult = 0x41000c, - GarrisonDeleteMissionResult = 0x410023, - GarrisonDeleteResult = 0x410035, - GarrisonFollowerActivationsSet = 0x41002b, - GarrisonFollowerChangedFlags = 0x410029, - GarrisonFollowerChangedItemLevel = 0x410027, - GarrisonFollowerChangedQuality = 0x410028, - GarrisonFollowerChangedXp = 0x410026, - GarrisonFollowerFatigueCleared = 0x41002a, - GarrisonGenerateFollowersResult = 0x410033, - GarrisonGetClassSpecCategoryInfoResult = 0x410015, - GarrisonGetRecallPortalLastUsedTimeResult = 0x41001e, - GarrisonIsUpgradeableResponse = 0x41003f, - GarrisonLearnBlueprintResult = 0x410007, - GarrisonLearnSpecializationResult = 0x410005, - GarrisonListCompletedMissionsCheatResult = 0x410040, - GarrisonListFollowersCheatResult = 0x410019, - GarrisonMapDataResponse = 0x410042, - GarrisonMissionBonusRollResult = 0x410020, - GarrisonMissionRequestRewardInfoResponse = 0x410043, - GarrisonMissionStartConditionUpdate = 0x410025, - GarrisonOpenCrafter = 0x410037, - GarrisonOpenRecruitmentNpc = 0x410030, - GarrisonPlaceBuildingResult = 0x410003, - GarrisonPlotPlaced = 0x410001, - GarrisonPlotRemoved = 0x410002, - GarrisonRecruitFollowerResult = 0x410034, - GarrisonRemoteInfo = 0x41000a, - GarrisonRemoveEvent = 0x410049, - GarrisonRemoveFollowerAbilityResult = 0x41002f, - GarrisonRemoveFollowerFromBuildingResult = 0x41002d, - GarrisonRemoveFollowerResult = 0x410017, - GarrisonRenameFollowerResult = 0x41002e, - GarrisonRequestBlueprintAndSpecializationDataResult = 0x410009, - GarrisonResearchTalentResult = 0x41000e, - GarrisonResetTalentTree = 0x410013, - GarrisonResetTalentTreeSocketData = 0x410014, - GarrisonStartMissionResult = 0x41001b, - GarrisonSwapBuildingsResponse = 0x41003c, - GarrisonSwitchTalentTreeBranch = 0x41004d, - GarrisonTalentCompleted = 0x41000f, - GarrisonTalentRemoved = 0x410010, - GarrisonTalentRemoveSocketData = 0x410012, - GarrisonTalentUpdateSocketData = 0x410011, - GarrisonTalentWorldQuestUnlocksResponse = 0x41004e, - GarrisonUnlearnBlueprintResult = 0x410008, - GarrisonUpdateFollower = 0x410018, - GarrisonUpdateGarrisonMonumentSelections = 0x41003e, - GarrisonUpdateMissionCheatResult = 0x410050, - GarrisonUpgradeResult = 0x41000d, - GarrisonUseRecallPortalResult = 0x41001f, - GenerateRandomCharacterNameResult = 0x37001c, - GenerateSsoTokenResponse = 0x3702ac, - GetAccountCharacterListResult = 0x3701f6, - GetGarrisonInfoResult = 0x410000, - GetLandingPageShipmentsResponse = 0x37022f, - GetRealmHiddenResult = 0x370336, - GetRemainingGameTimeResponse = 0x37026a, - GetSelectedTrophyIdResponse = 0x370257, - GetShipmentsOfTypeResponse = 0x37022e, - GetShipmentInfoResponse = 0x37022a, - GetTrophyListResponse = 0x370256, - GetVasAccountCharacterListResult = 0x37027f, - GetVasTransferTargetRealmListResult = 0x370280, - GmPlayerInfo = 0x4a000d, - GmRequestPlayerInfo = 0x4a0003, - GmTicketCaseStatus = 0x37013c, - GmTicketSystemStatus = 0x37013b, - GodMode = 0x370193, - GossipComplete = 0x4b0017, - GossipMessage = 0x4b0018, - GossipOptionNpcInteraction = 0x4b0028, - GossipPoi = 0x370227, - GossipQuestUpdate = 0x4b0019, - GossipRefreshOptions = 0x4b0027, - GroupActionThrottled = 0x370024, - GroupAutoKick = 0x370224, - GroupDecline = 0x370220, - GroupDestroyed = 0x370223, - GroupNewLeader = 0x3700c3, - GroupRequestDecline = 0x370221, - GroupUninvite = 0x370222, - GuildAchievementDeleted = 0x43000d, - GuildAchievementEarned = 0x43000c, - GuildAchievementMembers = 0x43000f, - GuildBankLogQueryResults = 0x430027, - GuildBankQueryResults = 0x430026, - GuildBankRemainingWithdrawMoney = 0x430028, - GuildBankTextQueryResult = 0x43002b, - GuildChallengeCompleted = 0x43001b, - GuildChallengeUpdate = 0x43001a, - GuildChangeNameResult = 0x430025, - GuildCommandResult = 0x430002, - GuildCriteriaDeleted = 0x43000e, - GuildCriteriaUpdate = 0x43000b, - GuildEventBankContentsChanged = 0x430040, - GuildEventBankMoneyChanged = 0x43003f, - GuildEventDisbanded = 0x430035, - GuildEventLogQueryResults = 0x43002a, - GuildEventMotd = 0x430036, - GuildEventNewLeader = 0x430034, - GuildEventPlayerJoined = 0x430032, - GuildEventPlayerLeft = 0x430033, - GuildEventPresenceChange = 0x430037, - GuildEventRanksUpdated = 0x430039, - GuildEventRankChanged = 0x43003a, - GuildEventStatusChange = 0x430038, - GuildEventTabAdded = 0x43003b, - GuildEventTabDeleted = 0x43003c, - GuildEventTabModified = 0x43003d, - GuildEventTabTextChanged = 0x43003e, - GuildFlaggedForRename = 0x430024, - GuildHardcoreMemberDeath = 0x430004, - GuildInvite = 0x430012, - GuildInviteDeclined = 0x430030, - GuildInviteExpired = 0x430031, - GuildItemLootedNotify = 0x43001c, - GuildKnownRecipes = 0x430006, - GuildMembersWithRecipe = 0x430007, - GuildMemberDailyReset = 0x43002c, - GuildMemberRecipes = 0x430005, - GuildMemberUpdateNote = 0x430011, - GuildMoved = 0x430022, - GuildMoveStarting = 0x430021, - GuildNameChanged = 0x430023, - GuildNews = 0x430009, - GuildNewsDeleted = 0x43000a, - GuildPartyState = 0x430013, - GuildPermissionsQueryResults = 0x430029, - GuildRanks = 0x430010, - GuildReputationReactionChanged = 0x430014, - GuildReset = 0x430020, - GuildRewardList = 0x430008, - GuildRoster = 0x430003, - GuildSendRankChange = 0x430001, - HardcoreDeathAlert = 0x37033e, - HealthUpdate = 0x370169, - HighestThreatUpdate = 0x370171, - HotfixConnect = 0x3b0003, - HotfixMessage = 0x3b0002, - InitializeFactions = 0x3701b9, - InitialSetup = 0x370014, - InitWorldStates = 0x3701db, - InspectResult = 0x3700c7, - InstanceEncounterChangePriority = 0x370242, - InstanceEncounterDisengageUnit = 0x370241, - InstanceEncounterEnd = 0x37024a, - InstanceEncounterEngageUnit = 0x370240, - InstanceEncounterGainCombatResurrectionCharge = 0x37024c, - InstanceEncounterInCombatResurrection = 0x37024b, - InstanceEncounterObjectiveComplete = 0x370245, - InstanceEncounterObjectiveStart = 0x370244, - InstanceEncounterObjectiveUpdate = 0x370249, - InstanceEncounterPhaseShiftChanged = 0x37024d, - InstanceEncounterStart = 0x370246, - InstanceEncounterTimerStart = 0x370243, - InstanceEncounterUpdateAllowReleaseInProgress = 0x370248, - InstanceEncounterUpdateSuppressRelease = 0x370247, - InstanceGroupSizeChanged = 0x370191, - InstanceInfo = 0x3700ca, - InstanceReset = 0x37011f, - InstanceResetFailed = 0x370120, - InstanceSaveCreated = 0x370212, - InterruptPowerRegen = 0x4d004a, - InvalidatePageText = 0x3b000a, - InvalidatePlayer = 0x4a0007, - InvalidPromotionCode = 0x3701e8, - InventoryChangeFailure = 0x4e0005, - InventoryFixupComplete = 0x3702a3, - InventoryFullOverflow = 0x3702b4, - IslandAzeriteGain = 0x3701f1, - IslandComplete = 0x3701f2, - IsQuestCompleteResponse = 0x4b0004, - ItemChanged = 0x370182, - ItemCooldown = 0x370258, - ItemEnchantTimeUpdate = 0x3701ea, - ItemExpirePurchaseRefund = 0x370034, - ItemInteractionComplete = 0x3702e9, - ItemPurchaseRefundResult = 0x370032, - ItemPushResult = 0x3700b9, - ItemTimeUpdate = 0x3701e9, - KickReason = 0x370122, - LatencyReportPing = 0x3702fa, - LearnedSpells = 0x4d003e, - LearnPvpTalentFailed = 0x37006c, - LearnTalentFailed = 0x37006b, - LegacyLootRules = 0x3702b9, - LevelLinkingResult = 0x3702cf, - LevelUpInfo = 0x370180, - LfgBootPlayer = 0x450019, - LfgDisabled = 0x450017, - LfgExpandSearchPrompt = 0x45001f, - LfgInstanceShutdownCountdown = 0x450009, - LfgJoinLobbyMatchmakerQueue = 0x450020, - LfgJoinResult = 0x450000, - LfgListApplicantListUpdate = 0x45000f, - LfgListApplicationStatusUpdate = 0x45000c, - LfgListApplyToGroupResult = 0x45000d, - LfgListJoinResult = 0x450001, - LfgListSearchResults = 0x450002, - LfgListSearchResultsUpdate = 0x450010, - LfgListSearchStatus = 0x450003, - LfgListUpdateBlacklist = 0x45000e, - LfgListUpdateExpiration = 0x45000b, - LfgListUpdateStatus = 0x45000a, - LfgOfferContinue = 0x450018, - LfgPartyInfo = 0x45001a, - LfgPlayerInfo = 0x45001b, - LfgPlayerReward = 0x45001c, - LfgProposalUpdate = 0x450011, - LfgQueueStatus = 0x450004, - LfgReadyCheckResult = 0x45001e, - LfgReadyCheckUpdate = 0x450006, - LfgRoleCheckUpdate = 0x450005, - LfgSlotInvalid = 0x450014, - LfgTeleportDenied = 0x450016, - LfgUpdateStatus = 0x450008, - LiveRegionAccountRestoreResult = 0x370204, - LiveRegionCharacterCopyResult = 0x370203, - LiveRegionGetAccountCharacterListResult = 0x3701f7, - LiveRegionKeyBindingsCopyResult = 0x370205, - LoadCufProfiles = 0x370054, - LoadEquipmentSet = 0x3701a5, - LobbyMatchmakerLobbyAcquiredServer = 0x37030b, - LobbyMatchmakerPartyInfo = 0x37030c, - LobbyMatchmakerPartyInviteRejected = 0x37030d, - LobbyMatchmakerQueueProposed = 0x37030f, - LobbyMatchmakerQueueResult = 0x370310, - LobbyMatchmakerReceiveInvite = 0x37030e, - LoginSetTimeSpeed = 0x3701a4, - LoginVerifyWorld = 0x37002f, - LogoutCancelAck = 0x37011e, - LogoutComplete = 0x37011d, - LogoutResponse = 0x37011c, - LogXpGain = 0x37017c, - LootAllPassed = 0x3700b7, - LootList = 0x3701d6, - LootMoneyNotify = 0x3700b2, - LootRelease = 0x3700b1, - LootReleaseAll = 0x3700b0, - LootRemoved = 0x3700ac, - LootResponse = 0x3700ab, - LootRoll = 0x3700b4, - LootRollsComplete = 0x3700b6, - LootRollWon = 0x3700b8, - LossOfControlAuraUpdate = 0x370108, - MailCommandResult = 0x3700d1, - MailListResult = 0x3701eb, - MailQueryNextTimeResult = 0x3701ec, - MapObjectivesInit = 0x3d002a, - MapObjEvents = 0x37005e, - MasterLootCandidateList = 0x3700b5, - MeetingStoneFailed = 0x370311, - MessageBox = 0x37000a, - MinimapPing = 0x370166, - MirrorImageComponentedData = 0x4d0004, - MirrorImageCreatureData = 0x4d0003, - MissileCancel = 0x37005f, - ModifyCooldown = 0x3701f9, - MountResult = 0x37000f, - MovementEnforcementAlert = 0x3702bf, - MoveAddImpulse = 0x480062, - MoveApplyInertia = 0x48005e, - MoveApplyMovementForce = 0x480045, - MoveDisableCollision = 0x480041, - MoveDisableDoubleJump = 0x48002b, - MoveDisableFullSpeedTurning = 0x480075, - MoveDisableGravity = 0x48003d, - MoveDisableInertia = 0x48003f, - MoveDisableTransitionBetweenSwimAndFly = 0x48003c, - MoveEnableCollision = 0x480042, - MoveEnableDoubleJump = 0x48002a, - MoveEnableFullSpeedTurning = 0x480074, - MoveEnableGravity = 0x48003e, - MoveEnableInertia = 0x480040, - MoveEnableTransitionBetweenSwimAndFly = 0x48003b, - MoveKnockBack = 0x480031, - MoveRemoveInertia = 0x48005f, - MoveRemoveMovementForce = 0x480046, - MoveRoot = 0x480027, - MoveSetActiveMover = 0x480003, - MoveSetAdvFlyingAddImpulseMaxSpeed = 0x48006b, - MoveSetAdvFlyingAirFriction = 0x480066, - MoveSetAdvFlyingBankingRate = 0x48006c, - MoveSetAdvFlyingDoubleJumpVelMod = 0x480069, - MoveSetAdvFlyingGlideStartMinHeight = 0x48006a, - MoveSetAdvFlyingLaunchSpeedCoefficient = 0x480072, - MoveSetAdvFlyingLiftCoefficient = 0x480068, - MoveSetAdvFlyingMaxVel = 0x480067, - MoveSetAdvFlyingOverMaxDeceleration = 0x480071, - MoveSetAdvFlyingPitchingRateDown = 0x48006d, - MoveSetAdvFlyingPitchingRateUp = 0x48006e, - MoveSetAdvFlyingSurfaceFriction = 0x480070, - MoveSetAdvFlyingTurnVelocityThreshold = 0x48006f, - MoveSetCantSwim = 0x480035, - MoveSetCanAdvFly = 0x480064, - MoveSetCanFly = 0x480033, - MoveSetCanTurnWhileFalling = 0x480037, - MoveSetCollisionHeight = 0x480043, - MoveSetCompoundState = 0x480047, - MoveSetFeatherFall = 0x48002d, - MoveSetFlightBackSpeed = 0x480023, - MoveSetFlightSpeed = 0x480022, - MoveSetHovering = 0x48002f, - MoveSetIgnoreMovementForces = 0x480039, - MoveSetLandWalk = 0x48002c, - MoveSetModMovementForceMagnitude = 0x480014, - MoveSetNormalFall = 0x48002e, - MoveSetPitchRate = 0x480026, - MoveSetRunBackSpeed = 0x48001f, - MoveSetRunSpeed = 0x48001e, - MoveSetSwimBackSpeed = 0x480021, - MoveSetSwimSpeed = 0x480020, - MoveSetTurnRate = 0x480025, - MoveSetVehicleRecId = 0x480044, - MoveSetWalkSpeed = 0x480024, - MoveSetWaterWalk = 0x480029, - MoveSkipTime = 0x480048, - MoveSplineDisableCollision = 0x48004d, - MoveSplineDisableGravity = 0x48004b, - MoveSplineEnableCollision = 0x48004e, - MoveSplineEnableGravity = 0x48004c, - MoveSplineRoot = 0x480049, - MoveSplineSetFeatherFall = 0x48004f, - MoveSplineSetFlightBackSpeed = 0x48001a, - MoveSplineSetFlightSpeed = 0x480019, - MoveSplineSetFlying = 0x480059, - MoveSplineSetHover = 0x480051, - MoveSplineSetLandWalk = 0x480054, - MoveSplineSetNormalFall = 0x480050, - MoveSplineSetPitchRate = 0x48001d, - MoveSplineSetRunBackSpeed = 0x480016, - MoveSplineSetRunMode = 0x480057, - MoveSplineSetRunSpeed = 0x480015, - MoveSplineSetSwimBackSpeed = 0x480018, - MoveSplineSetSwimSpeed = 0x480017, - MoveSplineSetTurnRate = 0x48001c, - MoveSplineSetWalkMode = 0x480058, - MoveSplineSetWalkSpeed = 0x48001b, - MoveSplineSetWaterWalk = 0x480053, - MoveSplineStartSwim = 0x480055, - MoveSplineStopSwim = 0x480056, - MoveSplineUnroot = 0x48004a, - MoveSplineUnsetFlying = 0x48005a, - MoveSplineUnsetHover = 0x480052, - MoveTeleport = 0x480032, - MoveUnroot = 0x480028, - MoveUnsetCantSwim = 0x480036, - MoveUnsetCanAdvFly = 0x480065, - MoveUnsetCanFly = 0x480034, - MoveUnsetCanTurnWhileFalling = 0x480038, - MoveUnsetHovering = 0x480030, - MoveUnsetIgnoreMovementForces = 0x48003a, - MoveUpdate = 0x48000e, - MoveUpdateAddImpulse = 0x480063, - MoveUpdateApplyInertia = 0x480060, - MoveUpdateApplyMovementForce = 0x480012, - MoveUpdateCollisionHeight = 0x48000d, - MoveUpdateFlightBackSpeed = 0x48000a, - MoveUpdateFlightSpeed = 0x480009, - MoveUpdateKnockBack = 0x480010, - MoveUpdateModMovementForceMagnitude = 0x480011, - MoveUpdatePitchRate = 0x48000c, - MoveUpdateRemoveInertia = 0x480061, - MoveUpdateRemoveMovementForce = 0x480013, - MoveUpdateRunBackSpeed = 0x480005, - MoveUpdateRunSpeed = 0x480004, - MoveUpdateSwimBackSpeed = 0x480008, - MoveUpdateSwimSpeed = 0x480007, - MoveUpdateTeleport = 0x48000f, - MoveUpdateTurnRate = 0x48000b, - MoveUpdateWalkSpeed = 0x480006, - MultiFloorLeaveFloor = 0x37026f, - MultiFloorNewFloor = 0x37026e, - MythicPlusAllMapStats = 0x3700a2, - MythicPlusCurrentAffixes = 0x3700a4, - MythicPlusNewWeekRecord = 0x3700a8, - MythicPlusSeasonData = 0x3700a3, - NeutralPlayerFactionSelectResult = 0x370073, - NewDataBuild = 0x370335, - NewTaxiPath = 0x370117, - NewWorld = 0x37002b, - NotifyDestLocSpellCast = 0x4d0034, - NotifyMissileTrajectoryCollision = 0x370143, - NotifyMoney = 0x370031, - NotifyReceivedMail = 0x3700d2, - NpcInteractionOpenResult = 0x370307, - OfferPetitionError = 0x37014e, - OnCancelExpectedRideVehicleAura = 0x37017d, - OnMonsterMove = 0x480002, - OpenArtifactForge = 0x370233, - OpenContainer = 0x4e0006, - OpenLfgDungeonFinder = 0x450015, - OpenShipmentNpcResult = 0x37022b, - OverrideLight = 0x370153, - PageText = 0x3701b0, - PartyCommandResult = 0x370225, - PartyEligibilityForDelveTiersResponse = 0x37034a, - PartyInvite = 0x370055, - PartyKillLog = 0x3701ef, - PartyMemberFullState = 0x3701ee, - PartyMemberPartialState = 0x3701ed, - PartyNotifyLfgLeaderChange = 0x3702ef, - PartyUpdate = 0x37008b, - PastTimeEvents = 0x37005a, - PauseMirrorTimer = 0x3701a7, - PendingRaidLock = 0x37018f, - PerksProgramActivityComplete = 0x370304, - PerksProgramActivityUpdate = 0x370300, - PerksProgramDisabled = 0x370305, - PerksProgramResult = 0x370301, - PerksProgramVendorUpdate = 0x3702ff, - PetitionAlreadySigned = 0x370037, - PetitionRenameGuildResponse = 0x430042, - PetitionShowList = 0x370156, - PetitionShowSignatures = 0x370157, - PetitionSignResults = 0x3701e1, - PetActionFeedback = 0x3701de, - PetActionSound = 0x370139, - PetBattleChatRestricted = 0x370099, - PetBattleDebugQueueDumpResponse = 0x37010d, - PetBattleFinalizeLocation = 0x370092, - PetBattleFinalRound = 0x370097, - PetBattleFinished = 0x370098, - PetBattleFirstRound = 0x370094, - PetBattleInitialUpdate = 0x370093, - PetBattleMaxGameLengthWarning = 0x37009a, - PetBattlePvpChallenge = 0x370091, - PetBattleQueueProposeMatch = 0x3700cf, - PetBattleQueueStatus = 0x3700d0, - PetBattleReplacementsMade = 0x370096, - PetBattleRequestFailed = 0x370090, - PetBattleRoundResult = 0x370095, - PetBattleSlotUpdates = 0x370083, - PetCastFailed = 0x4d0049, - PetClearSpells = 0x4d0013, - PetDismissSound = 0x37013a, - PetGodMode = 0x370114, - PetGuids = 0x37019b, - PetLearnedSpells = 0x4d0040, - PetMode = 0x37001f, - PetNameInvalid = 0x37015b, - PetNewlyTamed = 0x37001e, - PetSpellsMessage = 0x4d0014, - PetStableResult = 0x37002a, - PetTameFailure = 0x37014b, - PetUnlearnedSpells = 0x4d0041, - PhaseShiftChange = 0x37000c, - PlayedTime = 0x37016d, - PlayerAckowledgeArrowCallout = 0x4a002c, - PlayerAzeriteItemEquippedStatusChanged = 0x4a001e, - PlayerAzeriteItemGains = 0x4a001d, - PlayerBonusRollFailed = 0x4a0020, - PlayerBound = 0x4a0000, - PlayerChoiceClear = 0x4a0006, - PlayerChoiceDisplayError = 0x4a0005, - PlayerConditionResult = 0x4a0012, - PlayerEndOfMatchDetails = 0x4a002e, - PlayerHideArrowCallout = 0x4a002b, - PlayerIsAdventureMapPoiValid = 0x4a0011, - PlayerOpenSubscriptionInterstitial = 0x4a0016, - PlayerSaveGuildEmblem = 0x430041, - PlayerSavePersonalEmblem = 0x4a002d, - PlayerShowArrowCallout = 0x4a002a, - PlayerShowGenericWidgetDisplay = 0x4a0028, - PlayerShowPartyPoseUi = 0x4a0029, - PlayerShowUiEventToast = 0x4a0023, - PlayerSkinned = 0x4a000e, - PlayerTutorialHighlightSpell = 0x4a0015, - PlayerTutorialUnhighlightSpell = 0x4a0014, - PlayMusic = 0x3701fe, - PlayObjectSound = 0x370200, - PlayOneShotAnimKit = 0x3701c6, - PlayOrphanSpellVisual = 0x4d0038, - PlayScene = 0x3700cc, - PlaySound = 0x3701fd, - PlaySpeakerbotSound = 0x370201, - PlaySpellVisual = 0x4d0036, - PlaySpellVisualKit = 0x4d003a, - PlayTimeWarning = 0x370195, - Pong = 0x3e0006, - PowerUpdate = 0x37016a, - PreloadChildMap = 0x37000d, - PreloadWorld = 0x37002c, - PrepopulateNameCache = 0x3702c2, - PreRessurect = 0x3701fc, - PrintNotification = 0x370062, - ProcResist = 0x3701f0, - ProfessionGossip = 0x37028f, - PushSpellToActionBar = 0x4d0042, - PvpCredit = 0x3d0024, - PvpMatchComplete = 0x3d002f, - PvpMatchInitialize = 0x3d0030, - PvpMatchSetState = 0x3d002e, - PvpMatchStart = 0x3d002d, - PvpMatchStatistics = 0x3d0010, - PvpOptionsEnabled = 0x3d0013, - PvpTierRecord = 0x3702fb, - QueryBattlePetNameResponse = 0x3b000c, - QueryCreatureResponse = 0x3b0006, - QueryGameObjectResponse = 0x3b0007, - QueryGarrisonPetNameResponse = 0x410041, - QueryGuildFollowInfoResponse = 0x43002f, - QueryGuildInfoResponse = 0x43002d, - QueryItemTextResponse = 0x3b0010, - QueryNpcTextResponse = 0x3b0008, - QueryPageTextResponse = 0x3b0009, - QueryPetitionResponse = 0x3b000d, - QueryPetNameResponse = 0x3b000b, - QueryPlayerNamesResponse = 0x4a0025, - QueryPlayerNameByCommunityIdResponse = 0x4a000a, - QueryQuestInfoResponse = 0x4b0016, - QueryRealmGuildMasterInfoResponse = 0x43002e, - QueryTimeResponse = 0x37017b, - QuestCompletionNpcResponse = 0x4b0001, - QuestConfirmAccept = 0x4b000f, - QuestForceRemoved = 0x4b001c, - QuestGiverInvalidQuest = 0x4b0005, - QuestGiverOfferRewardMessage = 0x4b0014, - QuestGiverQuestComplete = 0x4b0003, - QuestGiverQuestDetails = 0x4b0012, - QuestGiverQuestFailed = 0x4b0006, - QuestGiverQuestListMessage = 0x4b001a, - QuestGiverRequestItems = 0x4b0013, - QuestGiverStatus = 0x4b001b, - QuestGiverStatusMultiple = 0x4b0011, - QuestItemUsabilityResponse = 0x4b0002, - QuestLogFull = 0x4b0007, - QuestNonLogUpdateComplete = 0x4b0008, - QuestPoiQueryResponse = 0x4b001d, - QuestPoiUpdateResponse = 0x4b001f, - QuestPushResult = 0x4b0010, - QuestSessionInfoResponse = 0x3702e5, - QuestSessionReadyCheck = 0x3702d3, - QuestSessionReadyCheckResponse = 0x3702d4, - QuestSessionResult = 0x3702d2, - QuestUpdateAddCredit = 0x4b000c, - QuestUpdateAddCreditSimple = 0x4b000d, - QuestUpdateAddPvpCredit = 0x4b000e, - QuestUpdateComplete = 0x4b0009, - QuestUpdateFailed = 0x4b000a, - QuestUpdateFailedTimer = 0x4b000b, - QueueSummaryUpdate = 0x3702a2, - RafAccountInfo = 0x3702d0, - RafActivityStateChanged = 0x3702e1, - RafDebugFriendMonths = 0x370332, - RaidDifficultySet = 0x37023d, - RaidGroupOnly = 0x37023f, - RaidInstanceMessage = 0x3c0008, - RaidMarkersChanged = 0x370038, - RandomRoll = 0x3700c6, - RatedPvpInfo = 0x3d000f, - ReadyCheckCompleted = 0x37008f, - ReadyCheckResponse = 0x37008e, - ReadyCheckStarted = 0x37008d, - ReadItemResultFailed = 0x370239, - ReadItemResultOk = 0x370230, - RealmQueryResponse = 0x3b0005, - ReattachResurrect = 0x3701e0, - ReceivePingUnit = 0x370039, - ReceivePingWorldPoint = 0x37003a, - RecraftItemResult = 0x370328, - RecruitAFriendFailure = 0x370158, - RefreshComponent = 0x3700e7, - RegionwideCharacterMailData = 0x37001a, - RegionwideCharacterRestrictionsData = 0x370019, - RemoveItemPassive = 0x370043, - RemoveSpellFromActionBar = 0x4d0043, - ReplaceTrophyResponse = 0x370255, - ReportPvpPlayerAfkResult = 0x4a0009, - RequestCemeteryListResponse = 0x370025, - RequestPvpRewardsResponse = 0x3d0014, - RequestScheduledPvpInfoResponse = 0x3d0015, - ResetCompressionContext = 0x3e0007, - ResetFailedNotify = 0x37014f, - ResetLastLoadedConfigCvars = 0x37032f, - ResetQuestPoi = 0x4b0020, - ResetRangedCombatTimer = 0x3d0023, - ResetWeeklyCurrency = 0x370009, - RespecWipeConfirm = 0x3700a9, - RespondInspectAchievements = 0x370006, - ResponsePerkPendingRewards = 0x370302, - ResponsePerkRecentPurchases = 0x370303, - RestartGlobalCooldown = 0x4d0052, - RestrictedAccountWarning = 0x370051, - ResumeCast = 0x4d002c, - ResumeCastBar = 0x4d002f, - ResumeComms = 0x3e0003, - ResumeToken = 0x370041, - ResurrectRequest = 0x370012, - ResyncRunes = 0x4d0050, - ReturningPlayerPrompt = 0x370238, - ReturnApplicantList = 0x3702c6, - ReturnRecruitingClubs = 0x3702c5, - RoleChangedInform = 0x370021, - RoleChosen = 0x45001d, - RolePollInform = 0x370022, - RuneforgeLegendaryCraftingOpenNpc = 0x37028e, - RuneRegenDebug = 0x37004e, - ScenarioCompleted = 0x37027c, - ScenarioPois = 0x3700c9, - ScenarioProgressUpdate = 0x3700c2, - ScenarioShowCriteria = 0x370292, - ScenarioState = 0x3700c1, - ScenarioUiUpdate = 0x370291, - ScenarioVacate = 0x37023a, - SceneObjectEvent = 0x370079, - SceneObjectPetBattleFinalRound = 0x37007e, - SceneObjectPetBattleFinished = 0x37007f, - SceneObjectPetBattleFirstRound = 0x37007b, - SceneObjectPetBattleInitialUpdate = 0x37007a, - SceneObjectPetBattleReplacementsMade = 0x37007d, - SceneObjectPetBattleRoundResult = 0x37007c, - ScriptCast = 0x4d0047, - SeasonInfo = 0x370059, - SellResponse = 0x37015c, - SendItemPassives = 0x370044, - SendKnownSpells = 0x4d0019, - SendRaidTargetUpdateAll = 0x3700c4, - SendRaidTargetUpdateSingle = 0x3700c5, - SendSpellCharges = 0x4d001b, - SendSpellHistory = 0x4d001a, - SendUnlearnSpells = 0x4d001c, - ServerFirstAchievements = 0x3700e4, - ServerTime = 0x37011b, - ServerTimeOffset = 0x3701ab, - SetupCombatLogFileFlush = 0x4d000f, - SetupCurrency = 0x370007, - SetAiAnimKit = 0x3701c5, - SetAnimTier = 0x3701c9, - SetChrUpgradeTier = 0x370076, - SetCurrency = 0x370008, - SetDfFastLaunchResult = 0x450012, - SetDungeonDifficulty = 0x37013d, - SetFactionAtWar = 0x370197, - SetFactionNotVisible = 0x3701c0, - SetFactionStanding = 0x3701c1, - SetFactionVisible = 0x3701bf, - SetFlatSpellModifier = 0x4d0027, - SetItemPurchaseData = 0x370033, - SetLootMethodFailed = 0x370260, - SetMaxWeeklyQuantity = 0x370036, - SetMeleeAnimKit = 0x3701c8, - SetMovementAnimKit = 0x3701c7, - SetPctSpellModifier = 0x4d0028, - SetPetSpecialization = 0x3700bb, - SetPlayerDeclinedNamesResult = 0x4a000b, - SetPlayHoverAnim = 0x370052, - SetProficiency = 0x3701ca, - SetQuestReplayCooldownOverride = 0x3702d9, - SetShipmentReadyResponse = 0x41003a, - SetSpellCharges = 0x4d0018, - SetTimeZoneInformation = 0x370110, - SetVehicleRecId = 0x37018e, - ShadowlandsCapacitanceUpdate = 0x370306, - ShipmentFactionUpdateResult = 0x41003b, - ShowDelvesCompanionConfigurationUi = 0x370348, - ShowDelvesDisplayUi = 0x370346, - ShowNeutralPlayerFactionSelectUi = 0x370072, - ShowQuestCompletionText = 0x4b0015, - ShowTaxiNodes = 0x370165, - ShowTradeSkillResponse = 0x370206, - SocialContractRequestResponse = 0x370312, - SocketGemsFailure = 0x3701bd, - SocketGemsSuccess = 0x3701bc, - SpecialMountAnim = 0x370138, - SpectateEnd = 0x370334, - SpectatePlayer = 0x370333, - SpecInvoluntarilyChanged = 0x3701af, - SpellAbsorbLog = 0x4d000c, - SpellCategoryCooldown = 0x4d0006, - SpellChannelStart = 0x4d0022, - SpellChannelUpdate = 0x4d0023, - SpellCooldown = 0x4d0005, - SpellDamageShield = 0x4d001f, - SpellDelayed = 0x4d0030, - SpellDispellLog = 0x4d0007, - SpellEmpowerSetStage = 0x4d0026, - SpellEmpowerStart = 0x4d0024, - SpellEmpowerUpdate = 0x4d0025, - SpellEnergizeLog = 0x4d0009, - SpellExecuteLog = 0x4d0031, - SpellFailedOther = 0x4d0046, - SpellFailure = 0x4d0044, - SpellFailureMessage = 0x4d004b, - SpellGo = 0x4d002a, - SpellHealAbsorbLog = 0x4d000b, - SpellHealLog = 0x4d000a, - SpellInstakillLog = 0x4d0021, - SpellInterruptLog = 0x4d000d, - SpellMissLog = 0x4d0032, - SpellNonMeleeDamageLog = 0x4d0020, - SpellOrDamageImmune = 0x4d001d, - SpellPeriodicAuraLog = 0x4d0008, - SpellPrepare = 0x4d0029, - SpellStart = 0x4d002b, - SpellVisualLoadScreen = 0x370064, - SplashScreenShowLatest = 0x3702eb, - StandStateUpdate = 0x3701b3, - StarterBuildActivateFailed = 0x37006a, - StartElapsedTimer = 0x37009b, - StartElapsedTimers = 0x37009d, - StartLightningStorm = 0x370140, - StartLootRoll = 0x3700b3, - StartMirrorTimer = 0x3701a6, - StartTimer = 0x37003d, - StopElapsedTimer = 0x37009c, - StopMirrorTimer = 0x3701a8, - StopSpeakerbotSound = 0x370202, - StopTimer = 0x37003e, - StreamingMovies = 0x37003c, - SuggestInviteInform = 0x370226, - SummonCancel = 0x370149, - SummonRaidMemberValidateFailed = 0x370023, - SummonRequest = 0x3701b7, - SupercededSpells = 0x4d003d, - SuspendComms = 0x3e0002, - SuspendToken = 0x370040, - SyncWowEntitlements = 0x3702e3, - TalentsInvoluntarilyReset = 0x3701ae, - TaxiNodeStatus = 0x370115, - TextEmote = 0x370113, - ThreatClear = 0x370174, - ThreatRemove = 0x370173, - ThreatUpdate = 0x370172, - TimerunningSeasonEnded = 0x370349, - TimeAdjustment = 0x480001, - TimeSyncRequest = 0x480000, - TitleEarned = 0x37016f, - TitleLost = 0x370170, - TotemCreated = 0x37015f, - TotemDurationChanged = 0x370161, - TotemMoved = 0x370162, - TotemRemoved = 0x370160, - TradeStatus = 0x370017, - TradeUpdated = 0x370016, - TrainerBuyFailed = 0x370177, - TrainerList = 0x370176, - TraitConfigCommitFailed = 0x370069, - TransferAborted = 0x37019a, - TransferPending = 0x370065, - TreasurePickerResponse = 0x3b0011, - TriggerCinematic = 0x37025a, - TriggerMovie = 0x370163, - TurnInPetitionResult = 0x3701e3, - TutorialFlags = 0x37024e, - UiAction = 0x3701ff, - UiMapQuestLinesResponse = 0x4b0023, - UndeleteCharacterResponse = 0x37025b, - UndeleteCooldownStatusResponse = 0x37025c, - UnlearnedSpells = 0x4d003f, - UnloadChildMap = 0x37000e, - UpdateAadcStatusResponse = 0x3702fc, - UpdateAccountData = 0x3701a0, - UpdateActionButtons = 0x370077, - UpdateBnetSessionKey = 0x3702b3, - UpdateCapturePoint = 0x3d0007, - UpdateCelestialBody = 0x3702af, - UpdateCharacterFlags = 0x370254, - UpdateChargeCategoryCooldown = 0x3701fb, - UpdateCooldown = 0x3701fa, - UpdateCraftingNpcRecipes = 0x410038, - UpdateDailyMissionCounter = 0x410021, - UpdateExpansionLevel = 0x3700dc, - UpdateGameTimeState = 0x3702b6, - UpdateInstanceOwnership = 0x370142, - UpdateLastInstance = 0x370121, - UpdateObject = 0x470000, - UpdatePrimarySpec = 0x37006f, - UpdateRecentPlayerGuids = 0x37008c, - UpdateTalentData = 0x37006e, - UpdateWorldState = 0x3701dd, - UserlistAdd = 0x3c000d, - UserlistRemove = 0x3c000e, - UserlistUpdate = 0x3c000f, - UseEquipmentSetResult = 0x3701e4, - VasCheckTransferOkResponse = 0x3702aa, - VasGetQueueMinutesResponse = 0x3702a8, - VasGetServiceStatusResponse = 0x3702a7, - VasPurchaseComplete = 0x370282, - VasPurchaseStateUpdate = 0x370281, - VendorInventory = 0x370050, - VignetteUpdate = 0x4a0010, - VoiceChannelInfoResponse = 0x3702ae, - VoiceChannelSttTokenResponse = 0x3702f6, - VoiceLoginResponse = 0x3702ad, - VoidItemSwapResponse = 0x4e0004, - VoidStorageContents = 0x4e0001, - VoidStorageFailed = 0x4e0000, - VoidStorageTransferChanges = 0x4e0002, - VoidTransferResult = 0x4e0003, - WaitQueueFinish = 0x370003, - WaitQueueUpdate = 0x370002, - Warden3Data = 0x37000b, - Warden3Disabled = 0x3702b1, - Warden3Enabled = 0x3702b0, - WarfrontComplete = 0x3701f3, - WargameRequestOpponentResponse = 0x3d0012, - WargameRequestSuccessfullySentToOpponent = 0x3d0011, - Weather = 0x37013f, - WeeklyRewardsProgressResult = 0x3702ee, - WeeklyRewardsResult = 0x3702ec, - WeeklyRewardClaimResult = 0x3702ed, - Who = 0x3c0002, - WhoIs = 0x37013e, - WillBeKickedForAddedSubscriptionTime = 0x3702b5, - WorldQuestUpdateResponse = 0x4a0017, - WorldServerInfo = 0x370045, - WowEntitlementNotification = 0x3702e4, - WowLabsAreaInfo = 0x370317, - WowLabsNotifyPlayersMatchEnd = 0x370313, - WowLabsNotifyPlayersMatchStateChanged = 0x370314, - WowLabsPartyError = 0x370320, - WowLabsSetAreaIdResult = 0x370315, - WowLabsSetPredictionCircle = 0x370319, - WowLabsSetSelectedAreaId = 0x370316, - XpAwardedFromCurrency = 0x37032e, - XpGainAborted = 0x370061, - XpGainEnabled = 0x37023e, - ZoneUnderAttack = 0x3c0009, + AbortNewWorld = 0x380030, + AccountCharacterCurrencyLists = 0x380341, + AccountConversionStateUpdate = 0x380346, + AccountCosmeticAdded = 0x3802fa, + AccountCriteriaUpdate = 0x3802e2, + AccountDataTimes = 0x3801a3, + AccountExportResponse = 0x380332, + AccountItemCollectionData = 0x38034c, + AccountMountRemoved = 0x380047, + AccountMountUpdate = 0x380046, + AccountNotificationsResponse = 0x3802f9, + AccountStoreCurrencyUpdate = 0x38031b, + AccountStoreFrontUpdate = 0x38031c, + AccountStoreItemStateChanged = 0x38031d, + AccountStoreResult = 0x38031e, + AccountToyUpdate = 0x380048, + AccountTransmogSetFavoritesUpdate = 0x38004c, + AccountTransmogUpdate = 0x38004b, + AccountWarbandSceneUpdate = 0x38004e, + AchievementDeleted = 0x380181, + AchievementEarned = 0x3800db, + ActivateEssenceFailed = 0x4b0020, + ActivateSoulbindFailed = 0x4b0022, + ActivateTaxiReply = 0x380118, + ActiveGlyphs = 0x4e0045, + ActiveScheduledWorldStateInfo = 0x3801de, + AddonListRequest = 0x3800da, + AddBattlenetFriendResponse = 0x3800d5, + AddItemPassive = 0x380042, + AddLossOfControl = 0x38010b, + AddRunePower = 0x380152, + AdjustSplineDuration = 0x380069, + AdvancedCombatLog = 0x3802f7, + AdventureJournalDataResponse = 0x3802f2, + AeLootTargets = 0x3800b0, + AeLootTargetAck = 0x3800b1, + AiReaction = 0x38014f, + AlliedRaceDetails = 0x38028c, + AllAccountCriteria = 0x380005, + AllAchievementData = 0x380004, + AllGuildAchievements = 0x440000, + ApplyMountEquipmentResult = 0x3802cf, + ArchaeologySurveryCast = 0x38001d, + AreaPoiUpdateResponse = 0x4b0018, + AreaSpiritHealerTime = 0x3801d7, + AreaTriggerDenied = 0x390009, + AreaTriggerForceSetPositionAndFacing = 0x390006, + AreaTriggerNoCorpse = 0x3801af, + AreaTriggerPlaySpellVisual = 0x390004, + AreaTriggerRePath = 0x390003, + AreaTriggerReShape = 0x390008, + AreaTriggerUnattach = 0x390007, + AreaTriggerUpdateDecalProperties = 0x390005, + ArenaClearOpponents = 0x3800e1, + ArenaCrowdControlSpellResult = 0x3800ca, + ArenaPrepOpponentSpecializations = 0x3800e0, + ArtifactEndgamePowersRefunded = 0x380239, + ArtifactForgeError = 0x380237, + ArtifactRespecPrompt = 0x380238, + ArtifactXpGain = 0x38027f, + AttackerStateUpdate = 0x3e002c, + AttackStart = 0x3e0017, + AttackStop = 0x3e0018, + AttackSwingError = 0x3e0026, + AttackSwingLandedLog = 0x3e0027, + AuctionableTokenAuctionSold = 0x380268, + AuctionableTokenSellAtMarketPriceResponse = 0x380267, + AuctionableTokenSellConfirmRequired = 0x380266, + AuctionClosedNotification = 0x38018c, + AuctionCommandResult = 0x380189, + AuctionDisableNewPostings = 0x38031f, + AuctionFavoriteList = 0x3802e9, + AuctionGetCommodityQuoteResult = 0x3802e1, + AuctionHelloResponse = 0x380187, + AuctionListBiddedItemsResult = 0x3802e0, + AuctionListBucketsResult = 0x3802dc, + AuctionListItemsResult = 0x3802dd, + AuctionListOwnedItemsResult = 0x3802df, + AuctionOutbidNotification = 0x38018b, + AuctionOwnerBidNotification = 0x38018d, + AuctionReplicateResponse = 0x380188, + AuctionWonNotification = 0x38018a, + AuraPointsDepleted = 0x4e0012, + AuraUpdate = 0x4e0011, + AuthChallenge = 0x3f0000, + AuthFailed = 0x380000, + AuthResponse = 0x380001, + AvailableHotfixes = 0x3c0001, + BackpackDefaultSizeChanged = 0x380320, + BagCleanupFinished = 0x4f0007, + BarberShopResult = 0x380157, + BatchPresenceSubscription = 0x3802c0, + BattlefieldList = 0x3e0005, + BattlefieldPortDenied = 0x3e000b, + BattlefieldStatusActive = 0x3e0001, + BattlefieldStatusFailed = 0x3e0004, + BattlefieldStatusGroupProposalFailed = 0x3e000e, + BattlefieldStatusNeedConfirmation = 0x3e0000, + BattlefieldStatusNone = 0x3e0003, + BattlefieldStatusQueued = 0x3e0002, + BattlefieldStatusWaitForGroups = 0x3e000d, + BattlegroundInfoThrottled = 0x3e000c, + BattlegroundInit = 0x3e0029, + BattlegroundPlayerJoined = 0x3e0009, + BattlegroundPlayerLeft = 0x3e000a, + BattlegroundPlayerPositions = 0x3e0006, + BattlegroundPoints = 0x3e0028, + BattlenetChallengeAbort = 0x380221, + BattlenetChallengeStart = 0x380220, + BattlenetNotification = 0x380298, + BattlenetResponse = 0x380297, + BattleNetConnectionStatus = 0x380299, + BattlePayAckFailed = 0x38021c, + BattlePayBattlePetDelivered = 0x380211, + BattlePayCollectionItemDelivered = 0x380212, + BattlePayConfirmPurchase = 0x38021b, + BattlePayDeliveryEnded = 0x38020f, + BattlePayDeliveryStarted = 0x38020e, + BattlePayDistributionAssignVasResponse = 0x3802ff, + BattlePayDistributionUnrevoked = 0x38020c, + BattlePayDistributionUpdate = 0x38020d, + BattlePayGetDistributionListResponse = 0x38020b, + BattlePayGetProductListResponse = 0x380209, + BattlePayGetPurchaseListResponse = 0x38020a, + BattlePayMountDelivered = 0x380210, + BattlePayPurchaseUpdate = 0x38021a, + BattlePayStartCheckout = 0x3802b4, + BattlePayStartDistributionAssignToTargetResponse = 0x380218, + BattlePayStartPurchaseResponse = 0x380217, + BattlePayValidatePurchaseResponse = 0x3802a8, + BattlePetsHealed = 0x38008b, + BattlePetCageDateError = 0x380113, + BattlePetDeleted = 0x380088, + BattlePetError = 0x3800d0, + BattlePetJournal = 0x380087, + BattlePetJournalLockAcquired = 0x380085, + BattlePetJournalLockDenied = 0x380086, + BattlePetRestored = 0x38008a, + BattlePetRevoked = 0x380089, + BattlePetTrapLevel = 0x380083, + BattlePetUpdates = 0x380082, + BindPointUpdate = 0x380011, + BlackMarketBidOnItemResult = 0x3800c0, + BlackMarketOutbid = 0x3800c1, + BlackMarketRequestItemsResult = 0x3800bf, + BlackMarketWon = 0x3800c2, + BonusRollEmpty = 0x3800dd, + BossKill = 0x3e002b, + BreakTarget = 0x3e0016, + BroadcastAchievement = 0x3d0010, + BroadcastSummonCast = 0x3802c2, + BroadcastSummonResponse = 0x3802c3, + BuyFailed = 0x380160, + BuySucceeded = 0x38015f, + CacheInfo = 0x3c000f, + CacheVersion = 0x3c000e, + CalendarClearPendingAction = 0x380138, + CalendarCommandResult = 0x380139, + CalendarCommunityInvite = 0x380128, + CalendarEventRemovedAlert = 0x380130, + CalendarEventUpdatedAlert = 0x380131, + CalendarInviteAdded = 0x380129, + CalendarInviteAlert = 0x38012d, + CalendarInviteNotes = 0x380132, + CalendarInviteNotesAlert = 0x380133, + CalendarInviteRemoved = 0x38012a, + CalendarInviteRemovedAlert = 0x38012f, + CalendarInviteStatus = 0x38012b, + CalendarInviteStatusAlert = 0x38012e, + CalendarModeratorStatus = 0x38012c, + CalendarRaidLockoutAdded = 0x380134, + CalendarRaidLockoutRemoved = 0x380135, + CalendarRaidLockoutUpdated = 0x380136, + CalendarSendCalendar = 0x380126, + CalendarSendEvent = 0x380127, + CalendarSendNumPending = 0x380137, + CameraEffect = 0x3801bd, + CancelAutoRepeat = 0x380177, + CancelCombat = 0x3e0025, + CancelOrphanSpellVisual = 0x4e0037, + CancelPingPin = 0x38003b, + CancelPreloadWorld = 0x38002e, + CancelScene = 0x3800cf, + CancelSpellVisual = 0x4e0035, + CancelSpellVisualKit = 0x4e0039, + CanDuelResult = 0x3e0021, + CanRedeemTokenForBalanceResponse = 0x3802a7, + CapturePointRemoved = 0x3e0008, + CastFailed = 0x4e0048, + CasRefreshRemoteData = 0x380111, + ChainMissileBounce = 0x380061, + ChallengeModeComplete = 0x3800a2, + ChallengeModeRequestLeadersResult = 0x3800a8, + ChallengeModeReset = 0x3800a1, + ChallengeModeStart = 0x38009f, + ChallengeModeUpdateDeathCount = 0x3800a0, + ChangePlayerDifficultyResult = 0x4b000c, + ChangeRealmTicketResponse = 0x38029a, + ChannelList = 0x3d0019, + ChannelNotify = 0x3d0015, + ChannelNotifyJoined = 0x3d0017, + ChannelNotifyLeft = 0x3d0018, + ChannelNotifyNpeJoinedBatch = 0x3d0016, + CharacterCheckUpgradeResult = 0x380254, + CharacterLoginFailed = 0x38019e, + CharacterObjectTestResponse = 0x38021f, + CharacterRenameResult = 0x3801fa, + CharacterUpgradeAborted = 0x380253, + CharacterUpgradeComplete = 0x380252, + CharacterUpgradeManualUnrevokeResult = 0x380255, + CharacterUpgradeStarted = 0x380251, + CharCustomizeFailure = 0x38017b, + CharCustomizeSuccess = 0x38017c, + CharFactionChangeResult = 0x38023e, + Chat = 0x3d0001, + ChatAutoResponded = 0x3d000c, + ChatCanLocalWhisperTargetResponse = 0x3d0020, + ChatDown = 0x3d0012, + ChatIgnoredAccountMuted = 0x3d0000, + ChatIsDown = 0x3d0013, + ChatNotInGuild = 0x3d0021, + ChatNotInParty = 0x3d0006, + ChatPlayerAmbiguous = 0x3d0004, + ChatPlayerNotfound = 0x3d000b, + ChatReconnect = 0x3d0014, + ChatRegionalServiceStatus = 0x3d001b, + ChatRestricted = 0x3d0007, + ChatServerMessage = 0x3d001a, + CheatIgnoreDimishingReturns = 0x4e0002, + CheckAbandonNpe = 0x4b0023, + CheckCharacterNameAvailabilityResult = 0x38001b, + CheckWargameEntry = 0x380027, + ChromieTimeSelectExpansionSuccess = 0x3802ec, + ClaimRafRewardResponse = 0x3802d3, + ClearAllSpellCharges = 0x4e0016, + ClearBossEmotes = 0x380054, + ClearCooldown = 0x380154, + ClearCooldowns = 0x4e0015, + ClearResurrect = 0x380013, + ClearSpellCharges = 0x4e0017, + ClearTarget = 0x3e0022, + ClearTreasurePickerCache = 0x4c0022, + CloseArtifactForge = 0x380236, + ClubFinderErrorMessage = 0x3802cb, + ClubFinderGetClubPostingIdsResponse = 0x3802ce, + ClubFinderLookupClubPostingsList = 0x3802cc, + ClubFinderResponseCharacterApplicationList = 0x3802c9, + ClubFinderResponsePostRecruitmentMessage = 0x3802cd, + ClubFinderUpdateApplications = 0x3802ca, + ClubFinderWhisperApplicantResponse = 0x38030b, + CoinRemoved = 0x3800af, + CombatEventFailed = 0x3e0019, + CommentatorMapInfo = 0x3801a0, + CommentatorPlayerInfo = 0x3801a1, + CommentatorStateChanged = 0x38019f, + CommerceTokenGetCountResponse = 0x380263, + CommerceTokenGetLogResponse = 0x38026f, + CommerceTokenGetMarketPriceResponse = 0x380265, + CommerceTokenUpdate = 0x380264, + ComplaintResult = 0x380146, + CompleteShipmentResponse = 0x38022f, + ConfirmPartyInvite = 0x3802a6, + ConnectTo = 0x3f0005, + ConsoleWrite = 0x3800cd, + ConsumableTokenBuyAtMarketPriceResponse = 0x38026b, + ConsumableTokenBuyChoiceRequired = 0x38026a, + ConsumableTokenCanVeteranBuyResponse = 0x380269, + ConsumableTokenRedeemConfirmRequired = 0x38026d, + ConsumableTokenRedeemResponse = 0x38026e, + ContactList = 0x38021d, + ContributionLastUpdateResponse = 0x3802ad, + ControlUpdate = 0x3800df, + ConvertItemsToCurrencyValue = 0x3802f5, + CooldownCheat = 0x3801d0, + CooldownEvent = 0x380153, + CorpseLocation = 0x3800e7, + CorpseReclaimDelay = 0x3801e1, + CorpseTransportQuery = 0x3801ab, + CovenantCallingsAvailabilityResponse = 0x4c0024, + CovenantPreviewOpenNpc = 0x38028f, + CovenantRenownSendCatchupState = 0x3802f6, + CraftingHouseHelloResponse = 0x38032c, + CraftingOrderCancelResult = 0x380328, + CraftingOrderClaimResult = 0x380324, + CraftingOrderCraftResult = 0x380326, + CraftingOrderCreateResult = 0x380322, + CraftingOrderFulfillResult = 0x380327, + CraftingOrderListOrdersResponse = 0x380323, + CraftingOrderNpcRewardInfo = 0x38032e, + CraftingOrderRejectResult = 0x38032a, + CraftingOrderReleaseResult = 0x380325, + CraftingOrderUpdateState = 0x38032d, + CraftEnchantResult = 0x38032b, + CreateChar = 0x38019a, + CreateShipmentResponse = 0x38022e, + CreatorVisualsOverride = 0x380331, + CriteriaDeleted = 0x380180, + CriteriaUpdate = 0x38017a, + CrossedInebriationThreshold = 0x38015b, + CurrencyTransferLog = 0x380343, + CurrencyTransferResult = 0x380342, + CustomLoadScreen = 0x380064, + DailyQuestsReset = 0x4c0000, + DamageCalcLog = 0x4e0054, + DbReply = 0x3c0000, + DeathReleaseLoc = 0x38016d, + DebugMenuManagerFullUpdate = 0x3800ef, + DefenseMessage = 0x3d000a, + DeleteChar = 0x38019b, + DeleteExpiredMissionsResult = 0x420022, + DelvesAccountDataElementChanged = 0x380348, + DestroyArenaUnit = 0x3801d9, + DestructibleBuildingDamage = 0x380192, + DifferentInstanceFromParty = 0x380020, + DisenchantCredit = 0x38003f, + DismountResult = 0x380010, + DispelFailed = 0x4e001e, + DisplayGameError = 0x380035, + DisplayPlayerChoice = 0x4b0004, + DisplayPromotion = 0x3800e4, + DisplayQuestPopup = 0x4c001e, + DisplayToast = 0x3800bc, + DisplayWorldText = 0x380280, + DisplayWorldTextOnTarget = 0x4e0053, + DontAutoPushSpellsToActionBar = 0x380079, + DropNewConnection = 0x3f0004, + DuelArranged = 0x3e001b, + DuelComplete = 0x3e001f, + DuelCountdown = 0x3e001e, + DuelInBounds = 0x3e001d, + DuelOutOfBounds = 0x3e001c, + DuelRequested = 0x3e001a, + DuelWinner = 0x3e0020, + DurabilityDamageDeath = 0x3801dc, + Emote = 0x38025b, + EnableBarberShop = 0x380156, + EnchantmentLog = 0x3801ac, + EncounterEnd = 0x380216, + EncounterStart = 0x380215, + EndLightningStorm = 0x380143, + EnterEncryptedMode = 0x3f0001, + EnumCharactersResult = 0x380018, + EnumVasPurchaseStatesResponse = 0x380285, + EnvironmentalDamageLog = 0x4e000e, + EquipmentSetId = 0x38014c, + ExpectedSpamRecords = 0x3d0005, + ExplorationExperience = 0x3801f6, + ExternalTransactionIdGenerated = 0x3802f3, + FactionBonusInfo = 0x3801bc, + FailedPlayerCondition = 0x4b0002, + FailedQuestTurnIn = 0x3802a3, + FeatureSystemStatus = 0x380058, + FeatureSystemStatus2 = 0x380340, + FeatureSystemStatusGlueScreen = 0x380059, + FeignDeathResisted = 0x3801db, + FishEscaped = 0x38016a, + FishNotHooked = 0x380169, + FlightSplineSync = 0x49005b, + FlushCombatLogFile = 0x4e0010, + ForcedDeathUpdate = 0x38016e, + ForceAnim = 0x3801e8, + ForceAnimations = 0x3801e9, + ForceObjectRelink = 0x3800e3, + ForceRandomTransmogToast = 0x38004a, + ForceSpawnTrackingUpdate = 0x4c0021, + FriendStatus = 0x38021e, + GainMawPower = 0x380274, + GameObjectActivateAnimKit = 0x38005c, + GameObjectBase = 0x3802ba, + GameObjectCloseInteraction = 0x38030a, + GameObjectCustomAnim = 0x38005d, + GameObjectDespawn = 0x38005e, + GameObjectInteraction = 0x380309, + GameObjectPlaySpellVisual = 0x4e003c, + GameObjectPlaySpellVisualKit = 0x4e003b, + GameObjectResetState = 0x3801b6, + GameObjectSetStateLocal = 0x380296, + GameSpeedSet = 0x38011c, + GameTimeSet = 0x3801a5, + GameTimeUpdate = 0x3801a4, + GarrisonActivateMissionBonusAbility = 0x420024, + GarrisonAddEvent = 0x420048, + GarrisonAddFollowerResult = 0x420016, + GarrisonAddMissionResult = 0x42001a, + GarrisonAddSpecGroups = 0x42004b, + GarrisonApplyTalentSocketDataChanges = 0x42004f, + GarrisonAssignFollowerToBuildingResult = 0x42002c, + GarrisonAutoTroopMinLevelUpdateResult = 0x420051, + GarrisonBuildingActivated = 0x42000b, + GarrisonBuildingRemoved = 0x420004, + GarrisonBuildingSetActiveSpecializationResult = 0x420006, + GarrisonChangeMissionStartTimeResult = 0x42001d, + GarrisonClearCollection = 0x420047, + GarrisonClearEventList = 0x42004a, + GarrisonClearSpecGroups = 0x42004c, + GarrisonCollectionRemoveEntry = 0x420046, + GarrisonCollectionUpdateEntry = 0x420045, + GarrisonCompleteBuildingConstructionResult = 0x42003d, + GarrisonCompleteMissionResult = 0x42001c, + GarrisonCreateResult = 0x42000c, + GarrisonDeleteMissionResult = 0x420023, + GarrisonDeleteResult = 0x420035, + GarrisonFollowerActivationsSet = 0x42002b, + GarrisonFollowerChangedFlags = 0x420029, + GarrisonFollowerChangedItemLevel = 0x420027, + GarrisonFollowerChangedQuality = 0x420028, + GarrisonFollowerChangedXp = 0x420026, + GarrisonFollowerFatigueCleared = 0x42002a, + GarrisonGenerateFollowersResult = 0x420033, + GarrisonGetClassSpecCategoryInfoResult = 0x420015, + GarrisonGetRecallPortalLastUsedTimeResult = 0x42001e, + GarrisonIsUpgradeableResponse = 0x42003f, + GarrisonLearnBlueprintResult = 0x420007, + GarrisonLearnSpecializationResult = 0x420005, + GarrisonListCompletedMissionsCheatResult = 0x420040, + GarrisonListFollowersCheatResult = 0x420019, + GarrisonMapDataResponse = 0x420042, + GarrisonMissionBonusRollResult = 0x420020, + GarrisonMissionRequestRewardInfoResponse = 0x420043, + GarrisonMissionStartConditionUpdate = 0x420025, + GarrisonOpenCrafter = 0x420037, + GarrisonOpenRecruitmentNpc = 0x420030, + GarrisonPlaceBuildingResult = 0x420003, + GarrisonPlotPlaced = 0x420001, + GarrisonPlotRemoved = 0x420002, + GarrisonRecruitFollowerResult = 0x420034, + GarrisonRemoteInfo = 0x42000a, + GarrisonRemoveEvent = 0x420049, + GarrisonRemoveFollowerAbilityResult = 0x42002f, + GarrisonRemoveFollowerFromBuildingResult = 0x42002d, + GarrisonRemoveFollowerResult = 0x420017, + GarrisonRenameFollowerResult = 0x42002e, + GarrisonRequestBlueprintAndSpecializationDataResult = 0x420009, + GarrisonResearchTalentResult = 0x42000e, + GarrisonResetTalentTree = 0x420013, + GarrisonResetTalentTreeSocketData = 0x420014, + GarrisonStartMissionResult = 0x42001b, + GarrisonSwapBuildingsResponse = 0x42003c, + GarrisonSwitchTalentTreeBranch = 0x42004d, + GarrisonTalentCompleted = 0x42000f, + GarrisonTalentRemoved = 0x420010, + GarrisonTalentRemoveSocketData = 0x420012, + GarrisonTalentUpdateSocketData = 0x420011, + GarrisonTalentWorldQuestUnlocksResponse = 0x42004e, + GarrisonUnlearnBlueprintResult = 0x420008, + GarrisonUpdateFollower = 0x420018, + GarrisonUpdateGarrisonMonumentSelections = 0x42003e, + GarrisonUpdateMissionCheatResult = 0x420050, + GarrisonUpgradeResult = 0x42000d, + GarrisonUseRecallPortalResult = 0x42001f, + GenerateRandomCharacterNameResult = 0x38001c, + GenerateSsoTokenResponse = 0x3802ae, + GetAccountCharacterListResult = 0x3801f8, + GetGarrisonInfoResult = 0x420000, + GetLandingPageShipmentsResponse = 0x380231, + GetRealmHiddenResult = 0x380337, + GetRemainingGameTimeResponse = 0x38026c, + GetSelectedTrophyIdResponse = 0x380259, + GetShipmentsOfTypeResponse = 0x380230, + GetShipmentInfoResponse = 0x38022c, + GetTrophyListResponse = 0x380258, + GetVasAccountCharacterListResult = 0x380281, + GetVasTransferTargetRealmListResult = 0x380282, + GmPlayerInfo = 0x4b000d, + GmRequestPlayerInfo = 0x4b0003, + GmTicketCaseStatus = 0x38013e, + GmTicketSystemStatus = 0x38013d, + GodMode = 0x380195, + GossipComplete = 0x4c0017, + GossipMessage = 0x4c0018, + GossipOptionNpcInteraction = 0x4c0028, + GossipPoi = 0x380229, + GossipQuestUpdate = 0x4c0019, + GossipRefreshOptions = 0x4c0027, + GroupActionThrottled = 0x380024, + GroupAutoKick = 0x380226, + GroupDecline = 0x380222, + GroupDestroyed = 0x380225, + GroupNewLeader = 0x3800c5, + GroupRequestDecline = 0x380223, + GroupUninvite = 0x380224, + GuildAchievementDeleted = 0x44000d, + GuildAchievementEarned = 0x44000c, + GuildAchievementMembers = 0x44000f, + GuildBankLogQueryResults = 0x440027, + GuildBankQueryResults = 0x440026, + GuildBankRemainingWithdrawMoney = 0x440028, + GuildBankTextQueryResult = 0x44002b, + GuildChallengeCompleted = 0x44001b, + GuildChallengeUpdate = 0x44001a, + GuildChangeNameResult = 0x440025, + GuildCommandResult = 0x440002, + GuildCriteriaDeleted = 0x44000e, + GuildCriteriaUpdate = 0x44000b, + GuildEventBankContentsChanged = 0x440040, + GuildEventBankMoneyChanged = 0x44003f, + GuildEventDisbanded = 0x440035, + GuildEventLogQueryResults = 0x44002a, + GuildEventMotd = 0x440036, + GuildEventNewLeader = 0x440034, + GuildEventPlayerJoined = 0x440032, + GuildEventPlayerLeft = 0x440033, + GuildEventPresenceChange = 0x440037, + GuildEventRanksUpdated = 0x440039, + GuildEventRankChanged = 0x44003a, + GuildEventStatusChange = 0x440038, + GuildEventTabAdded = 0x44003b, + GuildEventTabDeleted = 0x44003c, + GuildEventTabModified = 0x44003d, + GuildEventTabTextChanged = 0x44003e, + GuildFlaggedForRename = 0x440024, + GuildHardcoreMemberDeath = 0x440004, + GuildInvite = 0x440012, + GuildInviteDeclined = 0x440030, + GuildInviteExpired = 0x440031, + GuildItemLootedNotify = 0x44001c, + GuildKnownRecipes = 0x440006, + GuildMembersWithRecipe = 0x440007, + GuildMemberDailyReset = 0x44002c, + GuildMemberRecipes = 0x440005, + GuildMemberUpdateNote = 0x440011, + GuildMoved = 0x440022, + GuildMoveStarting = 0x440021, + GuildNameChanged = 0x440023, + GuildNews = 0x440009, + GuildNewsDeleted = 0x44000a, + GuildPartyState = 0x440013, + GuildPermissionsQueryResults = 0x440029, + GuildRanks = 0x440010, + GuildReputationReactionChanged = 0x440014, + GuildReset = 0x440020, + GuildRewardList = 0x440008, + GuildRoster = 0x440003, + GuildSendRankChange = 0x440001, + HardcoreDeathAlert = 0x38033f, + HealthUpdate = 0x38016b, + HighestThreatUpdate = 0x380173, + HotfixConnect = 0x3c0003, + HotfixMessage = 0x3c0002, + InitializeFactions = 0x3801bb, + InitialSetup = 0x380014, + InitWorldStates = 0x3801dd, + InspectResult = 0x3800c9, + InstanceEncounterChangePriority = 0x380244, + InstanceEncounterDisengageUnit = 0x380243, + InstanceEncounterEnd = 0x38024c, + InstanceEncounterEngageUnit = 0x380242, + InstanceEncounterGainCombatResurrectionCharge = 0x38024e, + InstanceEncounterInCombatResurrection = 0x38024d, + InstanceEncounterObjectiveComplete = 0x380247, + InstanceEncounterObjectiveStart = 0x380246, + InstanceEncounterObjectiveUpdate = 0x38024b, + InstanceEncounterPhaseShiftChanged = 0x38024f, + InstanceEncounterStart = 0x380248, + InstanceEncounterTimerStart = 0x380245, + InstanceEncounterUpdateAllowReleaseInProgress = 0x38024a, + InstanceEncounterUpdateSuppressRelease = 0x380249, + InstanceGroupSizeChanged = 0x380193, + InstanceInfo = 0x3800cc, + InstanceReset = 0x380121, + InstanceResetFailed = 0x380122, + InstanceSaveCreated = 0x380214, + InterruptPowerRegen = 0x4e004a, + InvalidatePageText = 0x3c000a, + InvalidatePlayer = 0x4b0007, + InvalidPromotionCode = 0x3801ea, + InventoryChangeFailure = 0x4f0005, + InventoryFixupComplete = 0x3802a5, + InventoryFullOverflow = 0x3802b6, + IslandAzeriteGain = 0x3801f3, + IslandComplete = 0x3801f4, + IsQuestCompleteResponse = 0x4c0004, + ItemChanged = 0x380184, + ItemCooldown = 0x38025a, + ItemEnchantTimeUpdate = 0x3801ec, + ItemExpirePurchaseRefund = 0x380034, + ItemInteractionComplete = 0x3802eb, + ItemPurchaseRefundResult = 0x380032, + ItemPushResult = 0x3800bb, + ItemTimeUpdate = 0x3801eb, + KickReason = 0x380124, + LatencyReportPing = 0x3802fb, + LearnedSpells = 0x4e003e, + LearnPvpTalentFailed = 0x38006d, + LearnTalentFailed = 0x38006c, + LegacyLootRules = 0x3802bb, + LevelLinkingResult = 0x3802d1, + LevelUpInfo = 0x380182, + LfgBootPlayer = 0x460019, + LfgDisabled = 0x460017, + LfgExpandSearchPrompt = 0x46001f, + LfgInstanceShutdownCountdown = 0x460009, + LfgJoinLobbyMatchmakerQueue = 0x460020, + LfgJoinResult = 0x460000, + LfgListApplicantListUpdate = 0x46000f, + LfgListApplicationStatusUpdate = 0x46000c, + LfgListApplyToGroupResult = 0x46000d, + LfgListJoinResult = 0x460001, + LfgListSearchResults = 0x460002, + LfgListSearchResultsUpdate = 0x460010, + LfgListSearchStatus = 0x460003, + LfgListUpdateBlacklist = 0x46000e, + LfgListUpdateExpiration = 0x46000b, + LfgListUpdateStatus = 0x46000a, + LfgOfferContinue = 0x460018, + LfgPartyInfo = 0x46001a, + LfgPlayerInfo = 0x46001b, + LfgPlayerReward = 0x46001c, + LfgProposalUpdate = 0x460011, + LfgQueueStatus = 0x460004, + LfgReadyCheckResult = 0x46001e, + LfgReadyCheckUpdate = 0x460006, + LfgRoleCheckUpdate = 0x460005, + LfgSlotInvalid = 0x460014, + LfgTeleportDenied = 0x460016, + LfgUpdateStatus = 0x460008, + LiveRegionAccountRestoreResult = 0x380206, + LiveRegionCharacterCopyResult = 0x380205, + LiveRegionGetAccountCharacterListResult = 0x3801f9, + LiveRegionKeyBindingsCopyResult = 0x380207, + LoadCufProfiles = 0x380055, + LoadEquipmentSet = 0x3801a7, + LobbyMatchmakerLobbyAcquiredServer = 0x38030c, + LobbyMatchmakerPartyInfo = 0x38030d, + LobbyMatchmakerPartyInviteRejected = 0x38030e, + LobbyMatchmakerQueueProposed = 0x380310, + LobbyMatchmakerQueueResult = 0x380311, + LobbyMatchmakerReceiveInvite = 0x38030f, + LoginSetTimeSpeed = 0x3801a6, + LoginVerifyWorld = 0x38002f, + LogoutCancelAck = 0x380120, + LogoutComplete = 0x38011f, + LogoutResponse = 0x38011e, + LogXpGain = 0x38017e, + LootAllPassed = 0x3800b9, + LootList = 0x3801d8, + LootMoneyNotify = 0x3800b4, + LootRelease = 0x3800b3, + LootReleaseAll = 0x3800b2, + LootRemoved = 0x3800ae, + LootResponse = 0x3800ad, + LootRoll = 0x3800b6, + LootRollsComplete = 0x3800b8, + LootRollWon = 0x3800ba, + LossOfControlAuraUpdate = 0x38010a, + MailCommandResult = 0x3800d3, + MailListResult = 0x3801ed, + MailQueryNextTimeResult = 0x3801ee, + MapObjectivesInit = 0x3e002a, + MapObjEvents = 0x38005f, + MasterLootCandidateList = 0x3800b7, + MeetingStoneFailed = 0x380312, + MessageBox = 0x38000a, + MinimapPing = 0x380168, + MirrorImageComponentedData = 0x4e0004, + MirrorImageCreatureData = 0x4e0003, + MissileCancel = 0x380060, + ModifyCooldown = 0x3801fb, + MountResult = 0x38000f, + MovementEnforcementAlert = 0x3802c1, + MoveAddImpulse = 0x490062, + MoveApplyInertia = 0x49005e, + MoveApplyMovementForce = 0x490045, + MoveDisableCollision = 0x490041, + MoveDisableDoubleJump = 0x49002b, + MoveDisableFullSpeedTurning = 0x490075, + MoveDisableGravity = 0x49003d, + MoveDisableInertia = 0x49003f, + MoveDisableTransitionBetweenSwimAndFly = 0x49003c, + MoveEnableCollision = 0x490042, + MoveEnableDoubleJump = 0x49002a, + MoveEnableFullSpeedTurning = 0x490074, + MoveEnableGravity = 0x49003e, + MoveEnableInertia = 0x490040, + MoveEnableTransitionBetweenSwimAndFly = 0x49003b, + MoveKnockBack = 0x490031, + MoveRemoveInertia = 0x49005f, + MoveRemoveMovementForce = 0x490046, + MoveRoot = 0x490027, + MoveSetActiveMover = 0x490003, + MoveSetAdvFlyingAddImpulseMaxSpeed = 0x49006b, + MoveSetAdvFlyingAirFriction = 0x490066, + MoveSetAdvFlyingBankingRate = 0x49006c, + MoveSetAdvFlyingDoubleJumpVelMod = 0x490069, + MoveSetAdvFlyingGlideStartMinHeight = 0x49006a, + MoveSetAdvFlyingLaunchSpeedCoefficient = 0x490072, + MoveSetAdvFlyingLiftCoefficient = 0x490068, + MoveSetAdvFlyingMaxVel = 0x490067, + MoveSetAdvFlyingOverMaxDeceleration = 0x490071, + MoveSetAdvFlyingPitchingRateDown = 0x49006d, + MoveSetAdvFlyingPitchingRateUp = 0x49006e, + MoveSetAdvFlyingSurfaceFriction = 0x490070, + MoveSetAdvFlyingTurnVelocityThreshold = 0x49006f, + MoveSetCantSwim = 0x490035, + MoveSetCanAdvFly = 0x490064, + MoveSetCanDrive = 0x490076, + MoveSetCanFly = 0x490033, + MoveSetCanTurnWhileFalling = 0x490037, + MoveSetCollisionHeight = 0x490043, + MoveSetCompoundState = 0x490047, + MoveSetFeatherFall = 0x49002d, + MoveSetFlightBackSpeed = 0x490023, + MoveSetFlightSpeed = 0x490022, + MoveSetHovering = 0x49002f, + MoveSetIgnoreMovementForces = 0x490039, + MoveSetLandWalk = 0x49002c, + MoveSetModMovementForceMagnitude = 0x490014, + MoveSetNormalFall = 0x49002e, + MoveSetPitchRate = 0x490026, + MoveSetRunBackSpeed = 0x49001f, + MoveSetRunSpeed = 0x49001e, + MoveSetSwimBackSpeed = 0x490021, + MoveSetSwimSpeed = 0x490020, + MoveSetTurnRate = 0x490025, + MoveSetVehicleRecId = 0x490044, + MoveSetWalkSpeed = 0x490024, + MoveSetWaterWalk = 0x490029, + MoveSkipTime = 0x490048, + MoveSplineDisableCollision = 0x49004d, + MoveSplineDisableGravity = 0x49004b, + MoveSplineEnableCollision = 0x49004e, + MoveSplineEnableGravity = 0x49004c, + MoveSplineRoot = 0x490049, + MoveSplineSetFeatherFall = 0x49004f, + MoveSplineSetFlightBackSpeed = 0x49001a, + MoveSplineSetFlightSpeed = 0x490019, + MoveSplineSetFlying = 0x490059, + MoveSplineSetHover = 0x490051, + MoveSplineSetLandWalk = 0x490054, + MoveSplineSetNormalFall = 0x490050, + MoveSplineSetPitchRate = 0x49001d, + MoveSplineSetRunBackSpeed = 0x490016, + MoveSplineSetRunMode = 0x490057, + MoveSplineSetRunSpeed = 0x490015, + MoveSplineSetSwimBackSpeed = 0x490018, + MoveSplineSetSwimSpeed = 0x490017, + MoveSplineSetTurnRate = 0x49001c, + MoveSplineSetWalkMode = 0x490058, + MoveSplineSetWalkSpeed = 0x49001b, + MoveSplineSetWaterWalk = 0x490053, + MoveSplineStartSwim = 0x490055, + MoveSplineStopSwim = 0x490056, + MoveSplineUnroot = 0x49004a, + MoveSplineUnsetFlying = 0x49005a, + MoveSplineUnsetHover = 0x490052, + MoveTeleport = 0x490032, + MoveUnroot = 0x490028, + MoveUnsetCantSwim = 0x490036, + MoveUnsetCanAdvFly = 0x490065, + MoveUnsetCanDrive = 0x490077, + MoveUnsetCanFly = 0x490034, + MoveUnsetCanTurnWhileFalling = 0x490038, + MoveUnsetHovering = 0x490030, + MoveUnsetIgnoreMovementForces = 0x49003a, + MoveUpdate = 0x49000e, + MoveUpdateAddImpulse = 0x490063, + MoveUpdateApplyInertia = 0x490060, + MoveUpdateApplyMovementForce = 0x490012, + MoveUpdateCollisionHeight = 0x49000d, + MoveUpdateFlightBackSpeed = 0x49000a, + MoveUpdateFlightSpeed = 0x490009, + MoveUpdateKnockBack = 0x490010, + MoveUpdateModMovementForceMagnitude = 0x490011, + MoveUpdatePitchRate = 0x49000c, + MoveUpdateRemoveInertia = 0x490061, + MoveUpdateRemoveMovementForce = 0x490013, + MoveUpdateRunBackSpeed = 0x490005, + MoveUpdateRunSpeed = 0x490004, + MoveUpdateSwimBackSpeed = 0x490008, + MoveUpdateSwimSpeed = 0x490007, + MoveUpdateTeleport = 0x49000f, + MoveUpdateTurnRate = 0x49000b, + MoveUpdateWalkSpeed = 0x490006, + MultiFloorLeaveFloor = 0x380271, + MultiFloorNewFloor = 0x380270, + MythicPlusAllMapStats = 0x3800a3, + MythicPlusCurrentAffixes = 0x3800a5, + MythicPlusNewWeekRecord = 0x3800aa, + MythicPlusSeasonData = 0x3800a4, + NeutralPlayerFactionSelectResult = 0x380074, + NewDataBuild = 0x380336, + NewTaxiPath = 0x380119, + NewWorld = 0x38002b, + NotifyDestLocSpellCast = 0x4e0034, + NotifyMissileTrajectoryCollision = 0x380145, + NotifyMoney = 0x380031, + NotifyReceivedMail = 0x3800d4, + NpcInteractionOpenResult = 0x380308, + OfferPetitionError = 0x380150, + OnCancelExpectedRideVehicleAura = 0x38017f, + OnMonsterMove = 0x490002, + OpenArtifactForge = 0x380235, + OpenContainer = 0x4f0006, + OpenLfgDungeonFinder = 0x460015, + OpenShipmentNpcResult = 0x38022d, + OverrideLight = 0x380155, + PageText = 0x3801b2, + PartyCommandResult = 0x380227, + PartyEligibilityForDelveTiersResponse = 0x38034b, + PartyInvite = 0x380056, + PartyKillLog = 0x3801f1, + PartyMemberFullState = 0x3801f0, + PartyMemberPartialState = 0x3801ef, + PartyNotifyLfgLeaderChange = 0x3802f1, + PartyUpdate = 0x38008c, + PastTimeEvents = 0x38005b, + PauseMirrorTimer = 0x3801a9, + PendingRaidLock = 0x380191, + PerksProgramActivityComplete = 0x380305, + PerksProgramActivityUpdate = 0x380301, + PerksProgramDisabled = 0x380306, + PerksProgramResult = 0x380302, + PerksProgramVendorUpdate = 0x380300, + PetitionAlreadySigned = 0x380037, + PetitionRenameGuildResponse = 0x440042, + PetitionShowList = 0x380158, + PetitionShowSignatures = 0x380159, + PetitionSignResults = 0x3801e3, + PetActionFeedback = 0x3801e0, + PetActionSound = 0x38013b, + PetBattleChatRestricted = 0x38009a, + PetBattleDebugQueueDumpResponse = 0x38010f, + PetBattleFinalizeLocation = 0x380093, + PetBattleFinalRound = 0x380098, + PetBattleFinished = 0x380099, + PetBattleFirstRound = 0x380095, + PetBattleInitialUpdate = 0x380094, + PetBattleMaxGameLengthWarning = 0x38009b, + PetBattlePvpChallenge = 0x380092, + PetBattleQueueProposeMatch = 0x3800d1, + PetBattleQueueStatus = 0x3800d2, + PetBattleReplacementsMade = 0x380097, + PetBattleRequestFailed = 0x380091, + PetBattleRoundResult = 0x380096, + PetBattleSlotUpdates = 0x380084, + PetCastFailed = 0x4e0049, + PetClearSpells = 0x4e0013, + PetDismissSound = 0x38013c, + PetGodMode = 0x380116, + PetGuids = 0x38019d, + PetLearnedSpells = 0x4e0040, + PetMode = 0x38001f, + PetNameInvalid = 0x38015d, + PetNewlyTamed = 0x38001e, + PetSpellsMessage = 0x4e0014, + PetStableResult = 0x38002a, + PetTameFailure = 0x38014d, + PetUnlearnedSpells = 0x4e0041, + PhaseShiftChange = 0x38000c, + PlayedTime = 0x38016f, + PlayerAckowledgeArrowCallout = 0x4b002d, + PlayerAzeriteItemEquippedStatusChanged = 0x4b001f, + PlayerAzeriteItemGains = 0x4b001e, + PlayerBonusRollFailed = 0x4b0021, + PlayerBound = 0x4b0000, + PlayerChoiceClear = 0x4b0006, + PlayerChoiceDisplayError = 0x4b0005, + PlayerConditionResult = 0x4b0012, + PlayerEndOfMatchDetails = 0x4b002f, + PlayerHideArrowCallout = 0x4b002c, + PlayerIsAdventureMapPoiValid = 0x4b0011, + PlayerOpenSubscriptionInterstitial = 0x4b0016, + PlayerSaveGuildEmblem = 0x440041, + PlayerSavePersonalEmblem = 0x4b002e, + PlayerShowArrowCallout = 0x4b002b, + PlayerShowGenericWidgetDisplay = 0x4b0029, + PlayerShowPartyPoseUi = 0x4b002a, + PlayerShowUiEventToast = 0x4b0024, + PlayerSkinned = 0x4b000e, + PlayerTutorialHighlightSpell = 0x4b0015, + PlayerTutorialUnhighlightSpell = 0x4b0014, + PlayMusic = 0x380200, + PlayObjectSound = 0x380202, + PlayOneShotAnimKit = 0x3801c8, + PlayOrphanSpellVisual = 0x4e0038, + PlayScene = 0x3800ce, + PlaySound = 0x3801ff, + PlaySpeakerbotSound = 0x380203, + PlaySpellVisual = 0x4e0036, + PlaySpellVisualKit = 0x4e003a, + PlayTimeWarning = 0x380197, + Pong = 0x3f0006, + PowerUpdate = 0x38016c, + PreloadChildMap = 0x38000d, + PreloadWorld = 0x38002c, + PrepopulateNameCache = 0x3802c4, + PreRessurect = 0x3801fe, + PrintNotification = 0x380063, + ProcResist = 0x3801f2, + ProfessionGossip = 0x380291, + PushSpellToActionBar = 0x4e0042, + PvpCredit = 0x3e0024, + PvpMatchComplete = 0x3e002f, + PvpMatchInitialize = 0x3e0030, + PvpMatchSetState = 0x3e002e, + PvpMatchStart = 0x3e002d, + PvpMatchStatistics = 0x3e0010, + PvpOptionsEnabled = 0x3e0013, + PvpTierRecord = 0x3802fc, + QueryBattlePetNameResponse = 0x3c000c, + QueryCreatureResponse = 0x3c0006, + QueryGameObjectResponse = 0x3c0007, + QueryGarrisonPetNameResponse = 0x420041, + QueryGuildFollowInfoResponse = 0x44002f, + QueryGuildInfoResponse = 0x44002d, + QueryItemTextResponse = 0x3c0010, + QueryNpcTextResponse = 0x3c0008, + QueryPageTextResponse = 0x3c0009, + QueryPetitionResponse = 0x3c000d, + QueryPetNameResponse = 0x3c000b, + QueryPlayerNamesResponse = 0x4b0026, + QueryPlayerNameByCommunityIdResponse = 0x4b000a, + QueryQuestInfoResponse = 0x4c0016, + QueryRealmGuildMasterInfoResponse = 0x44002e, + QueryTimeResponse = 0x38017d, + QuestCompletionNpcResponse = 0x4c0001, + QuestConfirmAccept = 0x4c000f, + QuestForceRemoved = 0x4c001c, + QuestGiverInvalidQuest = 0x4c0005, + QuestGiverOfferRewardMessage = 0x4c0014, + QuestGiverQuestComplete = 0x4c0003, + QuestGiverQuestDetails = 0x4c0012, + QuestGiverQuestFailed = 0x4c0006, + QuestGiverQuestListMessage = 0x4c001a, + QuestGiverRequestItems = 0x4c0013, + QuestGiverStatus = 0x4c001b, + QuestGiverStatusMultiple = 0x4c0011, + QuestItemUsabilityResponse = 0x4c0002, + QuestLogFull = 0x4c0007, + QuestNonLogUpdateComplete = 0x4c0008, + QuestPoiQueryResponse = 0x4c001d, + QuestPoiUpdateResponse = 0x4c001f, + QuestPushResult = 0x4c0010, + QuestSessionInfoResponse = 0x3802e7, + QuestSessionReadyCheck = 0x3802d5, + QuestSessionReadyCheckResponse = 0x3802d6, + QuestSessionResult = 0x3802d4, + QuestUpdateAddCredit = 0x4c000c, + QuestUpdateAddCreditSimple = 0x4c000d, + QuestUpdateAddPvpCredit = 0x4c000e, + QuestUpdateComplete = 0x4c0009, + QuestUpdateFailed = 0x4c000a, + QuestUpdateFailedTimer = 0x4c000b, + QueueSummaryUpdate = 0x3802a4, + RafAccountInfo = 0x3802d2, + RafActivityStateChanged = 0x3802e3, + RafDebugFriendMonths = 0x380333, + RaidDifficultySet = 0x38023f, + RaidGroupOnly = 0x380241, + RaidInstanceMessage = 0x3d0008, + RaidMarkersChanged = 0x380038, + RandomRoll = 0x3800c8, + RatedPvpInfo = 0x3e000f, + ReadyCheckCompleted = 0x380090, + ReadyCheckResponse = 0x38008f, + ReadyCheckStarted = 0x38008e, + ReadItemResultFailed = 0x38023b, + ReadItemResultOk = 0x380232, + RealmQueryResponse = 0x3c0005, + ReattachResurrect = 0x3801e2, + ReceivePingUnit = 0x380039, + ReceivePingWorldPoint = 0x38003a, + RecraftItemResult = 0x380329, + RecruitAFriendFailure = 0x38015a, + RefreshComponent = 0x3800e9, + RegionwideCharacterMailData = 0x38001a, + RegionwideCharacterRestrictionsData = 0x380019, + RemoveItemPassive = 0x380043, + RemoveSpellFromActionBar = 0x4e0043, + ReplaceTrophyResponse = 0x380257, + ReportPvpPlayerAfkResult = 0x4b0009, + RequestCemeteryListResponse = 0x380025, + RequestPvpRewardsResponse = 0x3e0014, + RequestScheduledPvpInfoResponse = 0x3e0015, + ResetCompressionContext = 0x3f0007, + ResetFailedNotify = 0x380151, + ResetLastLoadedConfigCvars = 0x380330, + ResetQuestPoi = 0x4c0020, + ResetRangedCombatTimer = 0x3e0023, + ResetWeeklyCurrency = 0x380009, + RespecWipeConfirm = 0x3800ab, + RespondInspectAchievements = 0x380006, + ResponsePerkPendingRewards = 0x380303, + ResponsePerkRecentPurchases = 0x380304, + RestartGlobalCooldown = 0x4e0052, + RestrictedAccountWarning = 0x380052, + ResumeCast = 0x4e002c, + ResumeCastBar = 0x4e002f, + ResumeComms = 0x3f0003, + ResumeToken = 0x380041, + ResurrectRequest = 0x380012, + ResyncRunes = 0x4e0050, + ReturningPlayerPrompt = 0x38023a, + ReturnApplicantList = 0x3802c8, + ReturnRecruitingClubs = 0x3802c7, + RoleChangedInform = 0x380021, + RoleChosen = 0x46001d, + RolePollInform = 0x380022, + RuneforgeLegendaryCraftingOpenNpc = 0x380290, + RuneRegenDebug = 0x38004f, + ScenarioCompleted = 0x38027e, + ScenarioPois = 0x3800cb, + ScenarioProgressUpdate = 0x3800c4, + ScenarioShowCriteria = 0x380294, + ScenarioState = 0x3800c3, + ScenarioUiUpdate = 0x380293, + ScenarioVacate = 0x38023c, + SceneObjectEvent = 0x38007a, + SceneObjectPetBattleFinalRound = 0x38007f, + SceneObjectPetBattleFinished = 0x380080, + SceneObjectPetBattleFirstRound = 0x38007c, + SceneObjectPetBattleInitialUpdate = 0x38007b, + SceneObjectPetBattleReplacementsMade = 0x38007e, + SceneObjectPetBattleRoundResult = 0x38007d, + ScheduledAreaPoiUpdateResponse = 0x4b0019, + ScriptCast = 0x4e0047, + SeasonInfo = 0x38005a, + SellResponse = 0x38015e, + SendItemPassives = 0x380044, + SendKnownSpells = 0x4e0019, + SendRaidTargetUpdateAll = 0x3800c6, + SendRaidTargetUpdateSingle = 0x3800c7, + SendSpellCharges = 0x4e001b, + SendSpellHistory = 0x4e001a, + SendUnlearnSpells = 0x4e001c, + ServerFirstAchievements = 0x3800e6, + ServerTime = 0x38011d, + ServerTimeOffset = 0x3801ad, + SetupCombatLogFileFlush = 0x4e000f, + SetupCurrency = 0x380007, + SetAiAnimKit = 0x3801c7, + SetAnimTier = 0x3801cb, + SetChrUpgradeTier = 0x380077, + SetCurrency = 0x380008, + SetDfFastLaunchResult = 0x460012, + SetDungeonDifficulty = 0x38013f, + SetFactionAtWar = 0x380199, + SetFactionNotVisible = 0x3801c2, + SetFactionStanding = 0x3801c3, + SetFactionVisible = 0x3801c1, + SetFlatSpellModifier = 0x4e0027, + SetItemPurchaseData = 0x380033, + SetLootMethodFailed = 0x380262, + SetMaxWeeklyQuantity = 0x380036, + SetMeleeAnimKit = 0x3801ca, + SetMovementAnimKit = 0x3801c9, + SetPctSpellModifier = 0x4e0028, + SetPetSpecialization = 0x3800bd, + SetPlayerDeclinedNamesResult = 0x4b000b, + SetPlayHoverAnim = 0x380053, + SetProficiency = 0x3801cc, + SetQuestReplayCooldownOverride = 0x3802db, + SetShipmentReadyResponse = 0x42003a, + SetSpellCharges = 0x4e0018, + SetTimeZoneInformation = 0x380112, + SetVehicleRecId = 0x380190, + ShadowlandsCapacitanceUpdate = 0x380307, + ShipmentFactionUpdateResult = 0x42003b, + ShowDelvesCompanionConfigurationUi = 0x380349, + ShowDelvesDisplayUi = 0x380347, + ShowNeutralPlayerFactionSelectUi = 0x380073, + ShowQuestCompletionText = 0x4c0015, + ShowTaxiNodes = 0x380167, + ShowTradeSkillResponse = 0x380208, + SocialContractRequestResponse = 0x380313, + SocketGemsFailure = 0x3801bf, + SocketGemsSuccess = 0x3801be, + SpecialMountAnim = 0x38013a, + SpectateEnd = 0x380335, + SpectatePlayer = 0x380334, + SpecInvoluntarilyChanged = 0x3801b1, + SpellAbsorbLog = 0x4e000c, + SpellCategoryCooldown = 0x4e0006, + SpellChannelStart = 0x4e0022, + SpellChannelUpdate = 0x4e0023, + SpellCooldown = 0x4e0005, + SpellDamageShield = 0x4e001f, + SpellDelayed = 0x4e0030, + SpellDispellLog = 0x4e0007, + SpellEmpowerSetStage = 0x4e0026, + SpellEmpowerStart = 0x4e0024, + SpellEmpowerUpdate = 0x4e0025, + SpellEnergizeLog = 0x4e0009, + SpellExecuteLog = 0x4e0031, + SpellFailedOther = 0x4e0046, + SpellFailure = 0x4e0044, + SpellFailureMessage = 0x4e004b, + SpellGo = 0x4e002a, + SpellHealAbsorbLog = 0x4e000b, + SpellHealLog = 0x4e000a, + SpellInstakillLog = 0x4e0021, + SpellInterruptLog = 0x4e000d, + SpellMissLog = 0x4e0032, + SpellNonMeleeDamageLog = 0x4e0020, + SpellOrDamageImmune = 0x4e001d, + SpellPeriodicAuraLog = 0x4e0008, + SpellPrepare = 0x4e0029, + SpellStart = 0x4e002b, + SpellVisualLoadScreen = 0x380065, + SplashScreenShowLatest = 0x3802ed, + StandStateUpdate = 0x3801b5, + StarterBuildActivateFailed = 0x38006b, + StartElapsedTimer = 0x38009c, + StartElapsedTimers = 0x38009e, + StartLightningStorm = 0x380142, + StartLootRoll = 0x3800b5, + StartMirrorTimer = 0x3801a8, + StartTimer = 0x38003d, + StopElapsedTimer = 0x38009d, + StopMirrorTimer = 0x3801aa, + StopSpeakerbotSound = 0x380204, + StopTimer = 0x38003e, + StreamingMovies = 0x38003c, + SuggestInviteInform = 0x380228, + SummonCancel = 0x38014b, + SummonRaidMemberValidateFailed = 0x380023, + SummonRequest = 0x3801b9, + SupercededSpells = 0x4e003d, + SuspendComms = 0x3f0002, + SuspendToken = 0x380040, + SyncWowEntitlements = 0x3802e5, + TalentsInvoluntarilyReset = 0x3801b0, + TaxiNodeStatus = 0x380117, + TextEmote = 0x380115, + ThreatClear = 0x380176, + ThreatRemove = 0x380175, + ThreatUpdate = 0x380174, + TimerunningSeasonEnded = 0x38034a, + TimeAdjustment = 0x490001, + TimeSyncRequest = 0x490000, + TitleEarned = 0x380171, + TitleLost = 0x380172, + TotemCreated = 0x380161, + TotemDurationChanged = 0x380163, + TotemMoved = 0x380164, + TotemRemoved = 0x380162, + TradeStatus = 0x380017, + TradeUpdated = 0x380016, + TrainerBuyFailed = 0x380179, + TrainerList = 0x380178, + TraitConfigCommitFailed = 0x38006a, + TransferAborted = 0x38019c, + TransferPending = 0x380066, + TreasurePickerResponse = 0x3c0011, + TriggerCinematic = 0x38025c, + TriggerMovie = 0x380165, + TurnInPetitionResult = 0x3801e5, + TutorialFlags = 0x380250, + UiAction = 0x380201, + UiMapQuestLinesResponse = 0x4c0023, + UndeleteCharacterResponse = 0x38025d, + UndeleteCooldownStatusResponse = 0x38025e, + UnlearnedSpells = 0x4e003f, + UnloadChildMap = 0x38000e, + UpdateAadcStatusResponse = 0x3802fd, + UpdateAccountData = 0x3801a2, + UpdateActionButtons = 0x380078, + UpdateBnetSessionKey = 0x3802b5, + UpdateCapturePoint = 0x3e0007, + UpdateCelestialBody = 0x3802b1, + UpdateCharacterFlags = 0x380256, + UpdateChargeCategoryCooldown = 0x3801fd, + UpdateCooldown = 0x3801fc, + UpdateCraftingNpcRecipes = 0x420038, + UpdateDailyMissionCounter = 0x420021, + UpdateExpansionLevel = 0x3800de, + UpdateGameTimeState = 0x3802b8, + UpdateInstanceOwnership = 0x380144, + UpdateLastInstance = 0x380123, + UpdateObject = 0x480000, + UpdatePrimarySpec = 0x380070, + UpdateRecentPlayerGuids = 0x38008d, + UpdateTalentData = 0x38006f, + UpdateWorldState = 0x3801df, + UserlistAdd = 0x3d000d, + UserlistRemove = 0x3d000e, + UserlistUpdate = 0x3d000f, + UseEquipmentSetResult = 0x3801e6, + VasCheckTransferOkResponse = 0x3802ac, + VasGetQueueMinutesResponse = 0x3802aa, + VasGetServiceStatusResponse = 0x3802a9, + VasPurchaseComplete = 0x380284, + VasPurchaseStateUpdate = 0x380283, + VendorInventory = 0x380051, + VignetteUpdate = 0x4b0010, + VoiceChannelInfoResponse = 0x3802b0, + VoiceChannelSttTokenResponse = 0x3802f8, + VoiceLoginResponse = 0x3802af, + VoidItemSwapResponse = 0x4f0004, + VoidStorageContents = 0x4f0001, + VoidStorageFailed = 0x4f0000, + VoidStorageTransferChanges = 0x4f0002, + VoidTransferResult = 0x4f0003, + WaitQueueFinish = 0x380003, + WaitQueueUpdate = 0x380002, + Warden3Data = 0x38000b, + Warden3Disabled = 0x3802b3, + Warden3Enabled = 0x3802b2, + WarfrontComplete = 0x3801f5, + WargameRequestOpponentResponse = 0x3e0012, + WargameRequestSuccessfullySentToOpponent = 0x3e0011, + Weather = 0x380141, + WeeklyRewardsProgressResult = 0x3802f0, + WeeklyRewardsResult = 0x3802ee, + WeeklyRewardClaimResult = 0x3802ef, + Who = 0x3d0002, + WhoIs = 0x380140, + WillBeKickedForAddedSubscriptionTime = 0x3802b7, + WorldQuestUpdateResponse = 0x4b0017, + WorldServerInfo = 0x380045, + WowEntitlementNotification = 0x3802e6, + WowLabsAreaInfo = 0x380318, + WowLabsNotifyPlayersMatchEnd = 0x380314, + WowLabsNotifyPlayersMatchStateChanged = 0x380315, + WowLabsPartyError = 0x380321, + WowLabsSetAreaIdResult = 0x380316, + WowLabsSetPredictionCircle = 0x38031a, + WowLabsSetSelectedAreaId = 0x380317, + XpAwardedFromCurrency = 0x38032f, + XpGainAborted = 0x380062, + XpGainEnabled = 0x380240, + ZoneUnderAttack = 0x3d0009, // Opcodes That Are Not Generated Automatically AccountHeirloomUpdate = AccountToyUpdate + 1, // No Client Handler diff --git a/Source/Framework/Constants/PetConst.cs b/Source/Framework/Constants/PetConst.cs index e7bd0cdfc..c88f61f78 100644 --- a/Source/Framework/Constants/PetConst.cs +++ b/Source/Framework/Constants/PetConst.cs @@ -119,12 +119,22 @@ namespace Framework.Constants public enum StableResult { + MaxSlots = 0, NotEnoughMoney = 1, // "you don't have enough money" + NotStableMaster = 2, InvalidSlot = 3, // "That slot is locked" + NoPet = 4, + AlreadyStabled = 5, + AlreadySummoned = 6, + NotFound = 7, StableSuccess = 8, // stable success UnstableSuccess = 9, // unstable/swap success - BuySlotSuccess = 10, // buy slot success + ReviveSuccess = 10, CantControlExotic = 11, // "you are unable to control exotic creatures" InternalError = 12, // "Internal pet error" + CheckForLuaHack = 13, + BuySlotSuccess = 14, + FavoriteToggle = 15, + PetRenamed = 16 } } diff --git a/Source/Framework/Constants/SharedConst.cs b/Source/Framework/Constants/SharedConst.cs index 30ae16f5e..03710faa0 100644 --- a/Source/Framework/Constants/SharedConst.cs +++ b/Source/Framework/Constants/SharedConst.cs @@ -2000,1110 +2000,1112 @@ namespace Framework.Constants LearnToyS = 74, LearnHeirloomS = 75, LearnTransmogS = 76, - CompletedTransmogSetS = 77, - AppearanceAlreadyLearned = 78, - RevokeTransmogS = 79, - InvitePlayerS = 80, - SuggestInvitePlayerS = 81, - InformSuggestInviteS = 82, - InformSuggestInviteSs = 83, - RequestJoinPlayerS = 84, - InviteSelf = 85, - InvitedToGroupSs = 86, - InvitedAlreadyInGroupSs = 87, - AlreadyInGroupS = 88, - RequestedInviteToGroupSs = 89, - CrossRealmRaidInvite = 90, - PlayerBusyS = 91, - NewLeaderS = 92, - NewLeaderYou = 93, - NewGuideS = 94, - NewGuideYou = 95, - LeftGroupS = 96, - LeftGroupYou = 97, - GroupDisbanded = 98, - DeclineGroupS = 99, - DeclineGroupRequestS = 100, - JoinedGroupS = 101, - UninviteYou = 102, - BadPlayerNameS = 103, - NotInGroup = 104, - TargetNotInGroupS = 105, - TargetNotInInstanceS = 106, - NotInInstanceGroup = 107, - GroupFull = 108, - NotLeader = 109, - PlayerDiedS = 110, - GuildCreateS = 111, - GuildInviteS = 112, - InvitedToGuildSss = 113, - AlreadyInGuildS = 114, - AlreadyInvitedToGuildS = 115, - InvitedToGuild = 116, - AlreadyInGuild = 117, - GuildAccept = 118, - GuildDeclineS = 119, - GuildDeclineAutoS = 120, - GuildPermissions = 121, - GuildJoinS = 122, - GuildFounderS = 123, - GuildPromoteSss = 124, - GuildDemoteSs = 125, - GuildDemoteSss = 126, - GuildInviteSelf = 127, - GuildQuitS = 128, - GuildLeaveS = 129, - GuildRemoveSs = 130, - GuildRemoveSelf = 131, - GuildDisbandS = 132, - GuildDisbandSelf = 133, - GuildLeaderS = 134, - GuildLeaderSelf = 135, - GuildPlayerNotFoundS = 136, - GuildPlayerNotInGuildS = 137, - GuildPlayerNotInGuild = 138, - GuildBankNotAvailable = 139, - GuildCantPromoteS = 140, - GuildCantDemoteS = 141, - GuildNotInAGuild = 142, - GuildInternal = 143, - GuildLeaderIsS = 144, - GuildLeaderChangedSs = 145, - GuildDisbanded = 146, - GuildNotAllied = 147, - GuildNewLeaderNotAllied = 148, - GuildLeaderLeave = 149, - GuildRanksLocked = 150, - GuildRankInUse = 151, - GuildRankTooHighS = 152, - GuildRankTooLowS = 153, - GuildNameExistsS = 154, - GuildWithdrawLimit = 155, - GuildNotEnoughMoney = 156, - GuildTooMuchMoney = 157, - GuildBankConjuredItem = 158, - GuildBankEquippedItem = 159, - GuildBankBoundItem = 160, - GuildBankQuestItem = 161, - GuildBankWrappedItem = 162, - GuildBankFull = 163, - GuildBankWrongTab = 164, - GuildBankWarbandsBankSource = 165, - GuildBankRealmMismatch = 166, - GuildNewLeaderWrongRealm = 167, - NoGuildCharter = 168, - OutOfRange = 169, - PlayerDead = 170, - ClientLockedOut = 171, - ClientOnTransport = 172, - KilledByS = 173, - LootLocked = 174, - LootTooFar = 175, - LootDidntKill = 176, - LootBadFacing = 177, - LootNotstanding = 178, - LootStunned = 179, - LootNoUi = 180, - LootWhileInvulnerable = 181, - NoLoot = 182, - QuestAcceptedS = 183, - QuestCompleteS = 184, - QuestFailedS = 185, - QuestFailedBagFullS = 186, - QuestFailedMaxCountS = 187, - QuestFailedLowLevel = 188, - QuestFailedMissingItems = 189, - QuestFailedWrongRace = 190, - QuestFailedNotEnoughMoney = 191, - QuestFailedExpansion = 192, - QuestOnlyOneTimed = 193, - QuestNeedPrereqs = 194, - QuestNeedPrereqsCustom = 195, - QuestAlreadyOn = 196, - QuestAlreadyDone = 197, - QuestAlreadyDoneDaily = 198, - QuestHasInProgress = 199, - QuestRewardExpI = 200, - QuestRewardMoneyS = 201, - QuestMustChoose = 202, - QuestLogFull = 203, - CombatDamageSsi = 204, - InspectS = 205, - CantUseItem = 206, - CantUseItemInArena = 207, - CantUseItemInRatedBattleground = 208, - MustEquipItem = 209, - PassiveAbility = 210, - H2SkillNotFound = 211, - NoAttackTarget = 212, - InvalidAttackTarget = 213, - AttackPvpTargetWhileUnflagged = 214, - AttackStunned = 215, - AttackPacified = 216, - AttackMounted = 217, - AttackFleeing = 218, - AttackConfused = 219, - AttackCharmed = 220, - AttackDead = 221, - AttackPreventedByMechanicS = 222, - AttackChannel = 223, - Taxisamenode = 224, - Taxinosuchpath = 225, - Taxiunspecifiedservererror = 226, - Taxinotenoughmoney = 227, - Taxitoofaraway = 228, - Taxinovendornearby = 229, - Taxinotvisited = 230, - Taxiplayerbusy = 231, - Taxiplayeralreadymounted = 232, - Taxiplayershapeshifted = 233, - Taxiplayermoving = 234, - Taxinopaths = 235, - Taxinoteligible = 236, - Taxinotstanding = 237, - Taxiincombat = 238, - NoReplyTarget = 239, - GenericNoTarget = 240, - InitiateTradeS = 241, - TradeRequestS = 242, - TradeBlockedS = 243, - TradeTargetDead = 244, - TradeTooFar = 245, - TradeCancelled = 246, - TradeComplete = 247, - TradeBagFull = 248, - TradeTargetBagFull = 249, - TradeMaxCountExceeded = 250, - TradeTargetMaxCountExceeded = 251, - InventoryTradeTooManyUniqueItem = 252, - AlreadyTrading = 253, - MountInvalidmountee = 254, - MountToofaraway = 255, - MountAlreadymounted = 256, - MountNotmountable = 257, - MountNotyourpet = 258, - MountOther = 259, - MountLooting = 260, - MountRacecantmount = 261, - MountShapeshifted = 262, - MountNoFavorites = 263, - MountNoMounts = 264, - DismountNopet = 265, - DismountNotmounted = 266, - DismountNotyourpet = 267, - SpellFailedTotems = 268, - SpellFailedReagents = 269, - SpellFailedReagentsGeneric = 270, - SpellFailedOptionalReagents = 271, - CantTradeGold = 272, - SpellFailedEquippedItem = 273, - SpellFailedEquippedItemClassS = 274, - SpellFailedShapeshiftFormS = 275, - SpellFailedAnotherInProgress = 276, - Badattackfacing = 277, - Badattackpos = 278, - ChestInUse = 279, - UseCantOpen = 280, - UseLocked = 281, - DoorLocked = 282, - ButtonLocked = 283, - UseLockedWithItemS = 284, - UseLockedWithSpellS = 285, - UseLockedWithSpellKnownSi = 286, - UseTooFar = 287, - UseBadAngle = 288, - UseObjectMoving = 289, - UseSpellFocus = 290, - UseDestroyed = 291, - SetLootFreeforall = 292, - SetLootRoundrobin = 293, - SetLootMaster = 294, - SetLootGroup = 295, - SetLootThresholdS = 296, - NewLootMasterS = 297, - SpecifyMasterLooter = 298, - LootSpecChangedS = 299, - TameFailed = 300, - ChatWhileDead = 301, - ChatPlayerNotFoundS = 302, - Newtaxipath = 303, - NoPet = 304, - Notyourpet = 305, - PetNotRenameable = 306, - QuestObjectiveCompleteS = 307, - QuestUnknownComplete = 308, - QuestAddKillSii = 309, - QuestAddFoundSii = 310, - QuestAddItemSii = 311, - QuestAddPlayerKillSii = 312, - Cannotcreatedirectory = 313, - Cannotcreatefile = 314, - PlayerWrongFaction = 315, - PlayerIsNeutral = 316, - BankslotFailedTooMany = 317, - BankslotInsufficientFunds = 318, - BankslotNotbanker = 319, - FriendDbError = 320, - FriendListFull = 321, - FriendAddedS = 322, - BattletagFriendAddedS = 323, - FriendOnlineSs = 324, - FriendOfflineS = 325, - FriendNotFound = 326, - FriendWrongFaction = 327, - FriendRemovedS = 328, - BattletagFriendRemovedS = 329, - FriendError = 330, - FriendAlreadyS = 331, - FriendSelf = 332, - FriendDeleted = 333, - IgnoreFull = 334, - IgnoreSelf = 335, - IgnoreNotFound = 336, - IgnoreAlreadyS = 337, - IgnoreAddedS = 338, - IgnoreRemovedS = 339, - IgnoreAmbiguous = 340, - IgnoreDeleted = 341, - OnlyOneBolt = 342, - OnlyOneAmmo = 343, - SpellFailedEquippedSpecificItem = 344, - WrongBagTypeSubclass = 345, - CantWrapStackable = 346, - CantWrapEquipped = 347, - CantWrapWrapped = 348, - CantWrapBound = 349, - CantWrapUnique = 350, - CantWrapBags = 351, - OutOfMana = 352, - OutOfRage = 353, - OutOfFocus = 354, - OutOfEnergy = 355, - OutOfChi = 356, - OutOfHealth = 357, - OutOfRunes = 358, - OutOfRunicPower = 359, - OutOfSoulShards = 360, - OutOfLunarPower = 361, - OutOfHolyPower = 362, - OutOfMaelstrom = 363, - OutOfComboPoints = 364, - OutOfInsanity = 365, - OutOfEssence = 366, - OutOfArcaneCharges = 367, - OutOfFury = 368, - OutOfPain = 369, - OutOfPowerDisplay = 370, - LootGone = 371, - MountForceddismount = 372, - AutofollowTooFar = 373, - UnitNotFound = 374, - InvalidFollowTarget = 375, - InvalidFollowPvpCombat = 376, - InvalidFollowTargetPvpCombat = 377, - InvalidInspectTarget = 378, - GuildemblemSuccess = 379, - GuildemblemInvalidTabardColors = 380, - GuildemblemNoguild = 381, - GuildemblemNotguildmaster = 382, - GuildemblemNotenoughmoney = 383, - GuildemblemInvalidvendor = 384, - EmblemerrorNotabardgeoset = 385, - SpellOutOfRange = 386, - CommandNeedsTarget = 387, - NoammoS = 388, - Toobusytofollow = 389, - DuelRequested = 390, - DuelCancelled = 391, - Deathbindalreadybound = 392, - DeathbindSuccessS = 393, - Noemotewhilerunning = 394, - ZoneExplored = 395, - ZoneExploredXp = 396, - InvalidItemTarget = 397, - InvalidQuestTarget = 398, - IgnoringYouS = 399, - FishNotHooked = 400, - FishEscaped = 401, - SpellFailedNotunsheathed = 402, - PetitionOfferedS = 403, - PetitionSigned = 404, - PetitionSignedS = 405, - PetitionDeclinedS = 406, - PetitionAlreadySigned = 407, - PetitionRestrictedAccountTrial = 408, - PetitionAlreadySignedOther = 409, - PetitionInGuild = 410, - PetitionCreator = 411, - PetitionNotEnoughSignatures = 412, - PetitionNotSameServer = 413, - PetitionFull = 414, - PetitionAlreadySignedByS = 415, - GuildNameInvalid = 416, - SpellUnlearnedS = 417, - PetSpellRooted = 418, - PetSpellAffectingCombat = 419, - PetSpellOutOfRange = 420, - PetSpellNotBehind = 421, - PetSpellTargetsDead = 422, - PetSpellDead = 423, - PetSpellNopath = 424, - ItemCantBeDestroyed = 425, - TicketAlreadyExists = 426, - TicketCreateError = 427, - TicketUpdateError = 428, - TicketDbError = 429, - TicketNoText = 430, - TicketTextTooLong = 431, - ObjectIsBusy = 432, - ExhaustionWellrested = 433, - ExhaustionRested = 434, - ExhaustionNormal = 435, - ExhaustionTired = 436, - ExhaustionExhausted = 437, - NoItemsWhileShapeshifted = 438, - CantInteractShapeshifted = 439, - RealmNotFound = 440, - MailQuestItem = 441, - MailBoundItem = 442, - MailConjuredItem = 443, - MailBag = 444, - MailToSelf = 445, - MailTargetNotFound = 446, - MailDatabaseError = 447, - MailDeleteItemError = 448, - MailWrappedCod = 449, - MailCantSendRealm = 450, - MailTempReturnOutage = 451, - MailRecepientCantReceiveMail = 452, - MailSent = 453, - MailTargetIsTrial = 454, - NotHappyEnough = 455, - UseCantImmune = 456, - CantBeDisenchanted = 457, - CantUseDisarmed = 458, - AuctionDatabaseError = 459, - AuctionHigherBid = 460, - AuctionAlreadyBid = 461, - AuctionOutbidS = 462, - AuctionWonS = 463, - AuctionRemovedS = 464, - AuctionBidPlaced = 465, - LogoutFailed = 466, - QuestPushSuccessS = 467, - QuestPushInvalidS = 468, - QuestPushInvalidToRecipientS = 469, - QuestPushAcceptedS = 470, - QuestPushDeclinedS = 471, - QuestPushBusyS = 472, - QuestPushDeadS = 473, - QuestPushDeadToRecipientS = 474, - QuestPushLogFullS = 475, - QuestPushLogFullToRecipientS = 476, - QuestPushOnquestS = 477, - QuestPushOnquestToRecipientS = 478, - QuestPushAlreadyDoneS = 479, - QuestPushAlreadyDoneToRecipientS = 480, - QuestPushNotDailyS = 481, - QuestPushTimerExpiredS = 482, - QuestPushNotInPartyS = 483, - QuestPushDifferentServerDailyS = 484, - QuestPushDifferentServerDailyToRecipientS = 485, - QuestPushNotAllowedS = 486, - QuestPushPrerequisiteS = 487, - QuestPushPrerequisiteToRecipientS = 488, - QuestPushLowLevelS = 489, - QuestPushLowLevelToRecipientS = 490, - QuestPushHighLevelS = 491, - QuestPushHighLevelToRecipientS = 492, - QuestPushClassS = 493, - QuestPushClassToRecipientS = 494, - QuestPushRaceS = 495, - QuestPushRaceToRecipientS = 496, - QuestPushLowFactionS = 497, - QuestPushLowFactionToRecipientS = 498, - QuestPushHighFactionS = 499, - QuestPushHighFactionToRecipientS = 500, - QuestPushExpansionS = 501, - QuestPushExpansionToRecipientS = 502, - QuestPushNotGarrisonOwnerS = 503, - QuestPushNotGarrisonOwnerToRecipientS = 504, - QuestPushWrongCovenantS = 505, - QuestPushWrongCovenantToRecipientS = 506, - QuestPushNewPlayerExperienceS = 507, - QuestPushNewPlayerExperienceToRecipientS = 508, - QuestPushWrongFactionS = 509, - QuestPushWrongFactionToRecipientS = 510, - QuestPushCrossFactionRestrictedS = 511, - RaidGroupLowlevel = 512, - RaidGroupOnly = 513, - RaidGroupFull = 514, - RaidGroupRequirementsUnmatch = 515, - CorpseIsNotInInstance = 516, - PvpKillHonorable = 517, - PvpKillDishonorable = 518, - SpellFailedAlreadyAtFullHealth = 519, - SpellFailedAlreadyAtFullMana = 520, - SpellFailedAlreadyAtFullPowerS = 521, - AutolootMoneyS = 522, - GenericStunned = 523, - GenericThrottle = 524, - ClubFinderSearchingTooFast = 525, - TargetStunned = 526, - MustRepairDurability = 527, - RaidYouJoined = 528, - RaidYouLeft = 529, - InstanceGroupJoinedWithParty = 530, - InstanceGroupJoinedWithRaid = 531, - RaidMemberAddedS = 532, - RaidMemberRemovedS = 533, - InstanceGroupAddedS = 534, - InstanceGroupRemovedS = 535, - ClickOnItemToFeed = 536, - TooManyChatChannels = 537, - LootRollPending = 538, - LootPlayerNotFound = 539, - NotInRaid = 540, - LoggingOut = 541, - TargetLoggingOut = 542, - NotWhileMounted = 543, - NotWhileShapeshifted = 544, - NotInCombat = 545, - NotWhileDisarmed = 546, - PetBroken = 547, - TalentWipeError = 548, - SpecWipeError = 549, - GlyphWipeError = 550, - PetSpecWipeError = 551, - FeignDeathResisted = 552, - MeetingStoneInQueueS = 553, - MeetingStoneLeftQueueS = 554, - MeetingStoneOtherMemberLeft = 555, - MeetingStonePartyKickedFromQueue = 556, - MeetingStoneMemberStillInQueue = 557, - MeetingStoneSuccess = 558, - MeetingStoneInProgress = 559, - MeetingStoneMemberAddedS = 560, - MeetingStoneGroupFull = 561, - MeetingStoneNotLeader = 562, - MeetingStoneInvalidLevel = 563, - MeetingStoneTargetNotInParty = 564, - MeetingStoneTargetInvalidLevel = 565, - MeetingStoneMustBeLeader = 566, - MeetingStoneNoRaidGroup = 567, - MeetingStoneNeedParty = 568, - MeetingStoneNotFound = 569, - MeetingStoneTargetInVehicle = 570, - GuildemblemSame = 571, - EquipTradeItem = 572, - PvpToggleOn = 573, - PvpToggleOff = 574, - GroupJoinBattlegroundDeserters = 575, - GroupJoinBattlegroundDead = 576, - GroupJoinBattlegroundS = 577, - GroupJoinBattlegroundFail = 578, - GroupJoinBattlegroundTooMany = 579, - SoloJoinBattlegroundS = 580, - JoinSingleScenarioS = 581, - BattlegroundTooManyQueues = 582, - BattlegroundCannotQueueForRated = 583, - BattledgroundQueuedForRated = 584, - BattlegroundTeamLeftQueue = 585, - BattlegroundNotInBattleground = 586, - AlreadyInArenaTeamS = 587, - InvalidPromotionCode = 588, - BgPlayerJoinedSs = 589, - BgPlayerLeftS = 590, - RestrictedAccount = 591, - RestrictedAccountTrial = 592, - NotEnoughPurchasedGameTime = 593, - PlayTimeExceeded = 594, - ApproachingPartialPlayTime = 595, - ApproachingPartialPlayTime2 = 596, - ApproachingNoPlayTime = 597, - ApproachingNoPlayTime2 = 598, - UnhealthyTime = 599, - ChatRestrictedTrial = 600, - ChatThrottled = 601, - MailReachedCap = 602, - InvalidRaidTarget = 603, - RaidLeaderReadyCheckStartS = 604, - ReadyCheckInProgress = 605, - ReadyCheckThrottled = 606, - DungeonDifficultyFailed = 607, - DungeonDifficultyChangedS = 608, - TradeWrongRealm = 609, - TradeNotOnTaplist = 610, - ChatPlayerAmbiguousS = 611, - LootCantLootThatNow = 612, - LootMasterInvFull = 613, - LootMasterUniqueItem = 614, - LootMasterOther = 615, - FilteringYouS = 616, - UsePreventedByMechanicS = 617, - ItemUniqueEquippable = 618, - LfgLeaderIsLfmS = 619, - LfgPending = 620, - CantSpeakLangage = 621, - VendorMissingTurnins = 622, - BattlegroundNotInTeam = 623, - NotInBattleground = 624, - NotEnoughHonorPoints = 625, - NotEnoughArenaPoints = 626, - SocketingRequiresMetaGem = 627, - SocketingMetaGemOnlyInMetaslot = 628, - SocketingRequiresHydraulicGem = 629, - SocketingHydraulicGemOnlyInHydraulicslot = 630, - SocketingRequiresCogwheelGem = 631, - SocketingCogwheelGemOnlyInCogwheelslot = 632, - SocketingItemTooLowLevel = 633, - ItemMaxCountSocketed = 634, - SystemDisabled = 635, - QuestFailedTooManyDailyQuestsI = 636, - ItemMaxCountEquippedSocketed = 637, - ItemUniqueEquippableSocketed = 638, - UserSquelched = 639, - AccountSilenced = 640, - PartyMemberSilenced = 641, - PartyMemberSilencedLfgDelist = 642, - TooMuchGold = 643, - NotBarberSitting = 644, - QuestFailedCais = 645, - InviteRestrictedTrial = 646, - VoiceIgnoreFull = 647, - VoiceIgnoreSelf = 648, - VoiceIgnoreNotFound = 649, - VoiceIgnoreAlreadyS = 650, - VoiceIgnoreAddedS = 651, - VoiceIgnoreRemovedS = 652, - VoiceIgnoreAmbiguous = 653, - VoiceIgnoreDeleted = 654, - UnknownMacroOptionS = 655, - NotDuringArenaMatch = 656, - NotInRatedBattleground = 657, - PlayerSilenced = 658, - PlayerUnsilenced = 659, - ComsatDisconnect = 660, - ComsatReconnectAttempt = 661, - ComsatConnectFail = 662, - MailInvalidAttachmentSlot = 663, - MailTooManyAttachments = 664, - MailInvalidAttachment = 665, - MailAttachmentExpired = 666, - VoiceChatParentalDisableMic = 667, - ProfaneChatName = 668, - PlayerSilencedEcho = 669, - PlayerUnsilencedEcho = 670, - LootCantLootThat = 671, - ArenaExpiredCais = 672, - GroupActionThrottled = 673, - AlreadyPickpocketed = 674, - NameInvalid = 675, - NameNoName = 676, - NameTooShort = 677, - NameTooLong = 678, - NameMixedLanguages = 679, - NameProfane = 680, - NameReserved = 681, - NameThreeConsecutive = 682, - NameInvalidSpace = 683, - NameConsecutiveSpaces = 684, - NameRussianConsecutiveSilentCharacters = 685, - NameRussianSilentCharacterAtBeginningOrEnd = 686, - NameDeclensionDoesntMatchBaseName = 687, - RecruitAFriendNotLinked = 688, - RecruitAFriendNotNow = 689, - RecruitAFriendSummonLevelMax = 690, - RecruitAFriendSummonCooldown = 691, - RecruitAFriendSummonOffline = 692, - RecruitAFriendInsufExpanLvl = 693, - RecruitAFriendMapIncomingTransferNotAllowed = 694, - NotSameAccount = 695, - BadOnUseEnchant = 696, - TradeSelf = 697, - TooManySockets = 698, - ItemMaxLimitCategoryCountExceededIs = 699, - TradeTargetMaxLimitCategoryCountExceededIs = 700, - ItemMaxLimitCategorySocketedExceededIs = 701, - ItemMaxLimitCategoryEquippedExceededIs = 702, - ShapeshiftFormCannotEquip = 703, - ItemInventoryFullSatchel = 704, - ScalingStatItemLevelExceeded = 705, - ScalingStatItemLevelTooLow = 706, - PurchaseLevelTooLow = 707, - GroupSwapFailed = 708, - InviteInCombat = 709, - InvalidGlyphSlot = 710, - GenericNoValidTargets = 711, - CalendarEventAlertS = 712, - PetLearnSpellS = 713, - PetLearnAbilityS = 714, - PetSpellUnlearnedS = 715, - InviteUnknownRealm = 716, - InviteNoPartyServer = 717, - InvitePartyBusy = 718, - InvitePartyBusyPendingRequest = 719, - InvitePartyBusyPendingSuggest = 720, - PartyTargetAmbiguous = 721, - PartyLfgInviteRaidLocked = 722, - PartyLfgBootLimit = 723, - PartyLfgBootCooldownS = 724, - PartyLfgBootNotEligibleS = 725, - PartyLfgBootInpatientTimerS = 726, - PartyLfgBootInProgress = 727, - PartyLfgBootTooFewPlayers = 728, - PartyLfgBootVoteSucceeded = 729, - PartyLfgBootVoteFailed = 730, - PartyLfgBootDisallowedByMap = 731, - PartyLfgBootDungeonComplete = 732, - PartyLfgBootLootRolls = 733, - PartyLfgBootVoteRegistered = 734, - PartyPrivateGroupOnly = 735, - PartyLfgTeleportInCombat = 736, - PartyTimeRunningSeasonIdMustMatch = 737, - RaidDisallowedByLevel = 738, - RaidDisallowedByCrossRealm = 739, - PartyRoleNotAvailable = 740, - JoinLfgObjectFailed = 741, - LfgRemovedLevelup = 742, - LfgRemovedXpToggle = 743, - LfgRemovedFactionChange = 744, - BattlegroundInfoThrottled = 745, - BattlegroundAlreadyIn = 746, - ArenaTeamChangeFailedQueued = 747, - ArenaTeamPermissions = 748, - NotWhileFalling = 749, - NotWhileMoving = 750, - NotWhileFatigued = 751, - MaxSockets = 752, - MultiCastActionTotemS = 753, - BattlegroundJoinLevelup = 754, - RemoveFromPvpQueueXpGain = 755, - BattlegroundJoinXpGain = 756, - BattlegroundJoinMercenary = 757, - BattlegroundJoinTooManyHealers = 758, - BattlegroundJoinRatedTooManyHealers = 759, - BattlegroundJoinTooManyTanks = 760, - BattlegroundJoinTooManyDamage = 761, - RaidDifficultyFailed = 762, - RaidDifficultyChangedS = 763, - LegacyRaidDifficultyChangedS = 764, - RaidLockoutChangedS = 765, - RaidConvertedToParty = 766, - PartyConvertedToRaid = 767, - PlayerDifficultyChangedS = 768, - GmresponseDbError = 769, - BattlegroundJoinRangeIndex = 770, - ArenaJoinRangeIndex = 771, - RemoveFromPvpQueueFactionChange = 772, - BattlegroundJoinFailed = 773, - BattlegroundJoinNoValidSpecForRole = 774, - BattlegroundJoinRespec = 775, - BattlegroundInvitationDeclined = 776, - BattlegroundInvitationDeclinedBy = 777, - BattlegroundJoinTimedOut = 778, - BattlegroundDupeQueue = 779, - BattlegroundJoinMustCompleteQuest = 780, - InBattlegroundRespec = 781, - MailLimitedDurationItem = 782, - YellRestrictedTrial = 783, - ChatRaidRestrictedTrial = 784, - LfgRoleCheckFailed = 785, - LfgRoleCheckFailedTimeout = 786, - LfgRoleCheckFailedNotViable = 787, - LfgReadyCheckFailed = 788, - LfgReadyCheckFailedTimeout = 789, - LfgGroupFull = 790, - LfgNoLfgObject = 791, - LfgNoSlotsPlayer = 792, - LfgNoSlotsParty = 793, - LfgNoSpec = 794, - LfgMismatchedSlots = 795, - LfgMismatchedSlotsLocalXrealm = 796, - LfgPartyPlayersFromDifferentRealms = 797, - LfgMembersNotPresent = 798, - LfgGetInfoTimeout = 799, - LfgInvalidSlot = 800, - LfgDeserterPlayer = 801, - LfgDeserterParty = 802, - LfgDead = 803, - LfgRandomCooldownPlayer = 804, - LfgRandomCooldownParty = 805, - LfgTooManyMembers = 806, - LfgTooFewMembers = 807, - LfgProposalFailed = 808, - LfgProposalDeclinedSelf = 809, - LfgProposalDeclinedParty = 810, - LfgNoSlotsSelected = 811, - LfgNoRolesSelected = 812, - LfgRoleCheckInitiated = 813, - LfgReadyCheckInitiated = 814, - LfgPlayerDeclinedRoleCheck = 815, - LfgPlayerDeclinedReadyCheck = 816, - LfgJoinedQueue = 817, - LfgJoinedFlexQueue = 818, - LfgJoinedRfQueue = 819, - LfgJoinedScenarioQueue = 820, - LfgJoinedWorldPvpQueue = 821, - LfgJoinedBattlefieldQueue = 822, - LfgJoinedList = 823, - QueuedPlunderstorm = 824, - LfgLeftQueue = 825, - LfgLeftList = 826, - LfgRoleCheckAborted = 827, - LfgReadyCheckAborted = 828, - LfgCantUseBattleground = 829, - LfgCantUseDungeons = 830, - LfgReasonTooManyLfg = 831, - LfgFarmLimit = 832, - LfgNoCrossFactionParties = 833, - InvalidTeleportLocation = 834, - TooFarToInteract = 835, - BattlegroundPlayersFromDifferentRealms = 836, - DifficultyChangeCooldownS = 837, - DifficultyChangeCombatCooldownS = 838, - DifficultyChangeWorldstate = 839, - DifficultyChangeEncounter = 840, - DifficultyChangeCombat = 841, - DifficultyChangePlayerBusy = 842, - DifficultyChangePlayerOnVehicle = 843, - DifficultyChangeAlreadyStarted = 844, - DifficultyChangeOtherHeroicS = 845, - DifficultyChangeHeroicInstanceAlreadyRunning = 846, - ArenaTeamPartySize = 847, - SoloShuffleWargameGroupSize = 848, - SoloShuffleWargameGroupComp = 849, - SoloRbgWargameGroupSize = 850, - SoloRbgWargameGroupComp = 851, - SoloMinItemLevel = 852, - PvpPlayerAbandoned = 853, - BattlegroundJoinGroupQueueWithoutHealer = 854, - QuestForceRemovedS = 855, - AttackNoActions = 856, - InRandomBg = 857, - InNonRandomBg = 858, - BnFriendSelf = 859, - BnFriendAlready = 860, - BnFriendBlocked = 861, - BnFriendListFull = 862, - BnFriendRequestSent = 863, - BnBroadcastThrottle = 864, - BgDeveloperOnly = 865, - CurrencySpellSlotMismatch = 866, - CurrencyNotTradable = 867, - RequiresExpansionS = 868, - QuestFailedSpell = 869, - TalentFailedUnspentTalentPoints = 870, - TalentFailedNotEnoughTalentsInPrimaryTree = 871, - TalentFailedNoPrimaryTreeSelected = 872, - TalentFailedCantRemoveTalent = 873, - TalentFailedUnknown = 874, - TalentFailedInCombat = 875, - TalentFailedInPvpMatch = 876, - TalentFailedInMythicPlus = 877, - WargameRequestFailure = 878, - RankRequiresAuthenticator = 879, - GuildBankVoucherFailed = 880, - WargameRequestSent = 881, - RequiresAchievementI = 882, - RefundResultExceedMaxCurrency = 883, - CantBuyQuantity = 884, - ItemIsBattlePayLocked = 885, - PartyAlreadyInBattlegroundQueue = 886, - PartyConfirmingBattlegroundQueue = 887, - BattlefieldTeamPartySize = 888, - InsuffTrackedCurrencyIs = 889, - NotOnTournamentRealm = 890, - GuildTrialAccountTrial = 891, - GuildTrialAccountVeteran = 892, - GuildUndeletableDueToLevel = 893, - CantDoThatInAGroup = 894, - GuildLeaderReplaced = 895, - TransmogrifyCantEquip = 896, - TransmogrifyInvalidItemType = 897, - TransmogrifyNotSoulbound = 898, - TransmogrifyInvalidSource = 899, - TransmogrifyInvalidDestination = 900, - TransmogrifyMismatch = 901, - TransmogrifyLegendary = 902, - TransmogrifySameItem = 903, - TransmogrifySameAppearance = 904, - TransmogrifyNotEquipped = 905, - VoidDepositFull = 906, - VoidWithdrawFull = 907, - VoidStorageWrapped = 908, - VoidStorageStackable = 909, - VoidStorageUnbound = 910, - VoidStorageRepair = 911, - VoidStorageCharges = 912, - VoidStorageQuest = 913, - VoidStorageConjured = 914, - VoidStorageMail = 915, - VoidStorageBag = 916, - VoidTransferStorageFull = 917, - VoidTransferInvFull = 918, - VoidTransferInternalError = 919, - VoidTransferItemInvalid = 920, - DifficultyDisabledInLfg = 921, - VoidStorageUnique = 922, - VoidStorageLoot = 923, - VoidStorageHoliday = 924, - VoidStorageDuration = 925, - VoidStorageLoadFailed = 926, - VoidStorageInvalidItem = 927, - VoidStorageAccountItem = 928, - ParentalControlsChatMuted = 929, - SorStartExperienceIncomplete = 930, - SorInvalidEmail = 931, - SorInvalidComment = 932, - ChallengeModeResetCooldownS = 933, - ChallengeModeResetKeystone = 934, - PetJournalAlreadyInLoadout = 935, - ReportSubmittedSuccessfully = 936, - ReportSubmissionFailed = 937, - SuggestionSubmittedSuccessfully = 938, - BugSubmittedSuccessfully = 939, - ChallengeModeEnabled = 940, - ChallengeModeDisabled = 941, - PetbattleCreateFailed = 942, - PetbattleNotHere = 943, - PetbattleNotHereOnTransport = 944, - PetbattleNotHereUnevenGround = 945, - PetbattleNotHereObstructed = 946, - PetbattleNotWhileInCombat = 947, - PetbattleNotWhileDead = 948, - PetbattleNotWhileFlying = 949, - PetbattleTargetInvalid = 950, - PetbattleTargetOutOfRange = 951, - PetbattleTargetNotCapturable = 952, - PetbattleNotATrainer = 953, - PetbattleDeclined = 954, - PetbattleInBattle = 955, - PetbattleInvalidLoadout = 956, - PetbattleAllPetsDead = 957, - PetbattleNoPetsInSlots = 958, - PetbattleNoAccountLock = 959, - PetbattleWildPetTapped = 960, - PetbattleRestrictedAccount = 961, - PetbattleOpponentNotAvailable = 962, - PetbattleNotWhileInMatchedBattle = 963, - CantHaveMorePetsOfThatType = 964, - CantHaveMorePets = 965, - PvpMapNotFound = 966, - PvpMapNotSet = 967, - PetbattleQueueQueued = 968, - PetbattleQueueAlreadyQueued = 969, - PetbattleQueueJoinFailed = 970, - PetbattleQueueJournalLock = 971, - PetbattleQueueRemoved = 972, - PetbattleQueueProposalDeclined = 973, - PetbattleQueueProposalTimeout = 974, - PetbattleQueueOpponentDeclined = 975, - PetbattleQueueRequeuedInternal = 976, - PetbattleQueueRequeuedRemoved = 977, - PetbattleQueueSlotLocked = 978, - PetbattleQueueSlotEmpty = 979, - PetbattleQueueSlotNoTracker = 980, - PetbattleQueueSlotNoSpecies = 981, - PetbattleQueueSlotCantBattle = 982, - PetbattleQueueSlotRevoked = 983, - PetbattleQueueSlotDead = 984, - PetbattleQueueSlotNoPet = 985, - PetbattleQueueNotWhileNeutral = 986, - PetbattleGameTimeLimitWarning = 987, - PetbattleGameRoundsLimitWarning = 988, - HasRestriction = 989, - ItemUpgradeItemTooLowLevel = 990, - ItemUpgradeNoPath = 991, - ItemUpgradeNoMoreUpgrades = 992, - BonusRollEmpty = 993, - ChallengeModeFull = 994, - ChallengeModeInProgress = 995, - ChallengeModeIncorrectKeystone = 996, - BattletagFriendNotFound = 997, - BattletagFriendNotValid = 998, - BattletagFriendNotAllowed = 999, - BattletagFriendThrottled = 1000, - BattletagFriendSuccess = 1001, - PetTooHighLevelToUncage = 1002, - PetbattleInternal = 1003, - CantCagePetYet = 1004, - NoLootInChallengeMode = 1005, - QuestPetBattleVictoriesPvpIi = 1006, - RoleCheckAlreadyInProgress = 1007, - RecruitAFriendAccountLimit = 1008, - RecruitAFriendFailed = 1009, - SetLootPersonal = 1010, - SetLootMethodFailedCombat = 1011, - ReagentBankFull = 1012, - ReagentBankLocked = 1013, - GarrisonBuildingExists = 1014, - GarrisonInvalidPlot = 1015, - GarrisonInvalidBuildingid = 1016, - GarrisonInvalidPlotBuilding = 1017, - GarrisonRequiresBlueprint = 1018, - GarrisonNotEnoughCurrency = 1019, - GarrisonNotEnoughGold = 1020, - GarrisonCompleteMissionWrongFollowerType = 1021, - AlreadyUsingLfgList = 1022, - RestrictedAccountLfgListTrial = 1023, - ToyUseLimitReached = 1024, - ToyAlreadyKnown = 1025, - TransmogSetAlreadyKnown = 1026, - NotEnoughCurrency = 1027, - SpecIsDisabled = 1028, - FeatureRestrictedTrial = 1029, - CantBeObliterated = 1030, - CantBeScrapped = 1031, - CantBeRecrafted = 1032, - ArtifactRelicDoesNotMatchArtifact = 1033, - MustEquipArtifact = 1034, - CantDoThatRightNow = 1035, - AffectingCombat = 1036, - EquipmentManagerCombatSwapS = 1037, - EquipmentManagerBagsFull = 1038, - EquipmentManagerMissingItemS = 1039, - MovieRecordingWarningPerf = 1040, - MovieRecordingWarningDiskFull = 1041, - MovieRecordingWarningNoMovie = 1042, - MovieRecordingWarningRequirements = 1043, - MovieRecordingWarningCompressing = 1044, - NoChallengeModeReward = 1045, - ClaimedChallengeModeReward = 1046, - ChallengeModePeriodResetSs = 1047, - CantDoThatChallengeModeActive = 1048, - TalentFailedRestArea = 1049, - CannotAbandonLastPet = 1050, - TestCvarSetSss = 1051, - QuestTurnInFailReason = 1052, - ClaimedChallengeModeRewardOld = 1053, - TalentGrantedByAura = 1054, - ChallengeModeAlreadyComplete = 1055, - GlyphTargetNotAvailable = 1056, - PvpWarmodeToggleOn = 1057, - PvpWarmodeToggleOff = 1058, - SpellFailedLevelRequirement = 1059, - SpellFailedCantFlyHere = 1060, - BattlegroundJoinRequiresLevel = 1061, - BattlegroundJoinDisqualified = 1062, - BattlegroundJoinDisqualifiedNoName = 1063, - VoiceChatGenericUnableToConnect = 1064, - VoiceChatServiceLost = 1065, - VoiceChatChannelNameTooShort = 1066, - VoiceChatChannelNameTooLong = 1067, - VoiceChatChannelAlreadyExists = 1068, - VoiceChatTargetNotFound = 1069, - VoiceChatTooManyRequests = 1070, - VoiceChatPlayerSilenced = 1071, - VoiceChatParentalDisableAll = 1072, - VoiceChatDisabled = 1073, - NoPvpReward = 1074, - ClaimedPvpReward = 1075, - AzeriteEssenceSelectionFailedEssenceNotUnlocked = 1076, - AzeriteEssenceSelectionFailedCantRemoveEssence = 1077, - AzeriteEssenceSelectionFailedConditionFailed = 1078, - AzeriteEssenceSelectionFailedRestArea = 1079, - AzeriteEssenceSelectionFailedSlotLocked = 1080, - AzeriteEssenceSelectionFailedNotAtForge = 1081, - AzeriteEssenceSelectionFailedHeartLevelTooLow = 1082, - AzeriteEssenceSelectionFailedNotEquipped = 1083, - SocketingRequiresPunchcardredGem = 1084, - SocketingPunchcardredGemOnlyInPunchcardredslot = 1085, - SocketingRequiresPunchcardyellowGem = 1086, - SocketingPunchcardyellowGemOnlyInPunchcardyellowslot = 1087, - SocketingRequiresPunchcardblueGem = 1088, - SocketingPunchcardblueGemOnlyInPunchcardblueslot = 1089, - SocketingRequiresDominationShard = 1090, - SocketingDominationShardOnlyInDominationslot = 1091, - SocketingRequiresCypherGem = 1092, - SocketingCypherGemOnlyInCypherslot = 1093, - SocketingRequiresTinkerGem = 1094, - SocketingTinkerGemOnlyInTinkerslot = 1095, - SocketingRequiresPrimordialGem = 1096, - SocketingPrimordialGemOnlyInPrimordialslot = 1097, - SocketingRequiresFragranceGem = 1098, - SocketingFragranceGemOnlyInFragranceslot = 1099, - SocketingRequiresSingingThunderGem = 1100, - SocketingSingingthunderGemOnlyInSingingthunderslot = 1101, - SocketingRequiresSingingSeaGem = 1102, - SocketingSingingseaGemOnlyInSingingseaslot = 1103, - SocketingRequiresSingingWindGem = 1104, - SocketingSingingwindGemOnlyInSingingwindslot = 1105, - LevelLinkingResultLinked = 1106, - LevelLinkingResultUnlinked = 1107, - ClubFinderErrorPostClub = 1108, - ClubFinderErrorApplyClub = 1109, - ClubFinderErrorRespondApplicant = 1110, - ClubFinderErrorCancelApplication = 1111, - ClubFinderErrorTypeAcceptApplication = 1112, - ClubFinderErrorTypeNoInvitePermissions = 1113, - ClubFinderErrorTypeNoPostingPermissions = 1114, - ClubFinderErrorTypeApplicantList = 1115, - ClubFinderErrorTypeApplicantListNoPerm = 1116, - ClubFinderErrorTypeFinderNotAvailable = 1117, - ClubFinderErrorTypeGetPostingIds = 1118, - ClubFinderErrorTypeJoinApplication = 1119, - ClubFinderErrorTypeRealmNotEligible = 1120, - ClubFinderErrorTypeFlaggedRename = 1121, - ClubFinderErrorTypeFlaggedDescriptionChange = 1122, - ItemInteractionNotEnoughGold = 1123, - ItemInteractionNotEnoughCurrency = 1124, - ItemInteractionNoConversionOutput = 1125, - PlayerChoiceErrorPendingChoice = 1126, - SoulbindInvalidConduit = 1127, - SoulbindInvalidConduitItem = 1128, - SoulbindInvalidTalent = 1129, - SoulbindDuplicateConduit = 1130, - ActivateSoulbindS = 1131, - ActivateSoulbindFailedRestArea = 1132, - CantUseProfanity = 1133, - NotInPetBattle = 1134, - NotInNpe = 1135, - NoSpec = 1136, - NoDominationshardOverwrite = 1137, - UseWeeklyRewardsDisabled = 1138, - CrossFactionGroupJoined = 1139, - CantTargetUnfriendlyInOverworld = 1140, - EquipablespellsSlotsFull = 1141, - ItemModAppearanceGroupAlreadyKnown = 1142, - CantBulkSellItemWithRefund = 1143, - NoSoulboundItemInAccountBank = 1144, - NoRefundableItemInAccountBank = 1145, - CantDeleteInAccountBank = 1146, - NoImmediateContainerInAccountBank = 1147, - NoOpenImmediateContainerInAccountBank = 1148, - CantTradeAccountItem = 1149, - NoAccountInventoryLock = 1150, - BankNotAccessible = 1151, - TooManyAccountBankTabs = 1152, - AccountBankTabNotUnlocked = 1153, - AccountMoneyLocked = 1154, - BankTabInvalidName = 1155, - BankTabInvalidText = 1156, - WowLabsPartyErrorTypePartyIsFull = 1157, - WowLabsPartyErrorTypeMaxInviteSent = 1158, - WowLabsPartyErrorTypePlayerAlreadyInvited = 1159, - WowLabsPartyErrorTypePartyInviteInvalid = 1160, - WowLabsLobbyMatchmakerErrorEnterQueueFailed = 1161, - WowLabsLobbyMatchmakerErrorLeaveQueueFailed = 1162, - WowLabsSetWowLabsAreaIdFailed = 1163, - PlunderstormCannotQueue = 1164, - TargetIsSelfFoundCannotTrade = 1165, - PlayerIsSelfFoundCannotTrade = 1166, - MailRecepientIsSelfFoundCannotReceiveMail = 1167, - PlayerIsSelfFoundCannotSendMail = 1168, - PlayerIsSelfFoundCannotUseAuctionHouse = 1169, - MailTargetCannotReceiveMail = 1170, - RemixInvalidTransferRequest = 1171, - CurrencyTransferInvalidCharacter = 1172, - CurrencyTransferInvalidCurrency = 1173, - CurrencyTransferInsufficientCurrency = 1174, - CurrencyTransferMaxQuantity = 1175, - CurrencyTransferNoValidSource = 1176, - CurrencyTransferCharacterLoggedIn = 1177, - CurrencyTransferServerError = 1178, - CurrencyTransferUnmetRequirements = 1179, - CurrencyTransferTransactionInProgress = 1180, + LearnWarbandSceneS = 77, + CompletedTransmogSetS = 78, + AppearanceAlreadyLearned = 79, + RevokeTransmogS = 80, + InvitePlayerS = 81, + SuggestInvitePlayerS = 82, + InformSuggestInviteS = 83, + InformSuggestInviteSs = 84, + RequestJoinPlayerS = 85, + InviteSelf = 86, + InvitedToGroupSs = 87, + InvitedAlreadyInGroupSs = 88, + AlreadyInGroupS = 89, + RequestedInviteToGroupSs = 90, + CrossRealmRaidInvite = 91, + PlayerBusyS = 92, + NewLeaderS = 93, + NewLeaderYou = 94, + NewGuideS = 95, + NewGuideYou = 96, + LeftGroupS = 97, + LeftGroupYou = 98, + GroupDisbanded = 99, + DeclineGroupS = 100, + DeclineGroupRequestS = 101, + JoinedGroupS = 102, + UninviteYou = 103, + BadPlayerNameS = 104, + NotInGroup = 105, + TargetNotInGroupS = 106, + TargetNotInInstanceS = 107, + NotInInstanceGroup = 108, + GroupFull = 109, + NotLeader = 110, + PlayerDiedS = 111, + GuildCreateS = 112, + GuildInviteS = 113, + InvitedToGuildSss = 114, + AlreadyInGuildS = 115, + AlreadyInvitedToGuildS = 116, + InvitedToGuild = 117, + AlreadyInGuild = 118, + GuildAccept = 119, + GuildDeclineS = 120, + GuildDeclineAutoS = 121, + GuildPermissions = 122, + GuildJoinS = 123, + GuildFounderS = 124, + GuildPromoteSss = 125, + GuildDemoteSs = 126, + GuildDemoteSss = 127, + GuildInviteSelf = 128, + GuildQuitS = 129, + GuildLeaveS = 130, + GuildRemoveSs = 131, + GuildRemoveSelf = 132, + GuildDisbandS = 133, + GuildDisbandSelf = 134, + GuildLeaderS = 135, + GuildLeaderSelf = 136, + GuildPlayerNotFoundS = 137, + GuildPlayerNotInGuildS = 138, + GuildPlayerNotInGuild = 139, + GuildBankNotAvailable = 140, + GuildCantPromoteS = 141, + GuildCantDemoteS = 142, + GuildNotInAGuild = 143, + GuildInternal = 144, + GuildLeaderIsS = 145, + GuildLeaderChangedSs = 146, + GuildDisbanded = 147, + GuildNotAllied = 148, + GuildNewLeaderNotAllied = 149, + GuildLeaderLeave = 150, + GuildRanksLocked = 151, + GuildRankInUse = 152, + GuildRankTooHighS = 153, + GuildRankTooLowS = 154, + GuildNameExistsS = 155, + GuildWithdrawLimit = 156, + GuildNotEnoughMoney = 157, + GuildTooMuchMoney = 158, + GuildBankConjuredItem = 159, + GuildBankEquippedItem = 160, + GuildBankBoundItem = 161, + GuildBankQuestItem = 162, + GuildBankWrappedItem = 163, + GuildBankFull = 164, + GuildBankWrongTab = 165, + GuildBankWarbandsBankSource = 166, + GuildBankRealmMismatch = 167, + GuildNewLeaderWrongRealm = 168, + NoGuildCharter = 169, + OutOfRange = 170, + PlayerDead = 171, + ClientLockedOut = 172, + ClientOnTransport = 173, + KilledByS = 174, + LootLocked = 175, + LootTooFar = 176, + LootDidntKill = 177, + LootBadFacing = 178, + LootNotstanding = 179, + LootStunned = 180, + LootNoUi = 181, + LootWhileInvulnerable = 182, + NoLoot = 183, + QuestAcceptedS = 184, + QuestCompleteS = 185, + QuestFailedS = 186, + QuestFailedBagFullS = 187, + QuestFailedMaxCountS = 188, + QuestFailedLowLevel = 189, + QuestFailedMissingItems = 190, + QuestFailedWrongRace = 191, + QuestFailedNotEnoughMoney = 192, + QuestFailedExpansion = 193, + QuestOnlyOneTimed = 194, + QuestNeedPrereqs = 195, + QuestNeedPrereqsCustom = 196, + QuestAlreadyOn = 197, + QuestAlreadyDone = 198, + QuestAlreadyDoneDaily = 199, + QuestHasInProgress = 200, + QuestRewardExpI = 201, + QuestRewardMoneyS = 202, + QuestMustChoose = 203, + QuestLogFull = 204, + CombatDamageSsi = 205, + InspectS = 206, + CantUseItem = 207, + CantUseItemInArena = 208, + CantUseItemInRatedBattleground = 209, + MustEquipItem = 210, + PassiveAbility = 211, + Skill2hNotFound = 212, + NoAttackTarget = 213, + InvalidAttackTarget = 214, + AttackPvpTargetWhileUnflagged = 215, + AttackStunned = 216, + AttackPacified = 217, + AttackMounted = 218, + AttackFleeing = 219, + AttackConfused = 220, + AttackCharmed = 221, + AttackDead = 222, + AttackPreventedByMechanicS = 223, + AttackChannel = 224, + Taxisamenode = 225, + Taxinosuchpath = 226, + Taxiunspecifiedservererror = 227, + Taxinotenoughmoney = 228, + Taxitoofaraway = 229, + Taxinovendornearby = 230, + Taxinotvisited = 231, + Taxiplayerbusy = 232, + Taxiplayeralreadymounted = 233, + Taxiplayershapeshifted = 234, + Taxiplayermoving = 235, + Taxinopaths = 236, + Taxinoteligible = 237, + Taxinotstanding = 238, + Taxiincombat = 239, + NoReplyTarget = 240, + GenericNoTarget = 241, + InitiateTradeS = 242, + TradeRequestS = 243, + TradeBlockedS = 244, + TradeTargetDead = 245, + TradeTooFar = 246, + TradeCancelled = 247, + TradeComplete = 248, + TradeBagFull = 249, + TradeTargetBagFull = 250, + TradeMaxCountExceeded = 251, + TradeTargetMaxCountExceeded = 252, + InventoryTradeTooManyUniqueItem = 253, + AlreadyTrading = 254, + MountInvalidmountee = 255, + MountToofaraway = 256, + MountAlreadymounted = 257, + MountNotmountable = 258, + MountNotyourpet = 259, + MountOther = 260, + MountLooting = 261, + MountRacecantmount = 262, + MountShapeshifted = 263, + MountNoFavorites = 264, + MountNoMounts = 265, + DismountNopet = 266, + DismountNotmounted = 267, + DismountNotyourpet = 268, + SpellFailedTotems = 269, + SpellFailedReagents = 270, + SpellFailedReagentsGeneric = 271, + SpellFailedOptionalReagents = 272, + CantTradeGold = 273, + SpellFailedEquippedItem = 274, + SpellFailedEquippedItemClassS = 275, + SpellFailedShapeshiftFormS = 276, + SpellFailedAnotherInProgress = 277, + Badattackfacing = 278, + Badattackpos = 279, + ChestInUse = 280, + UseCantOpen = 281, + UseLocked = 282, + DoorLocked = 283, + ButtonLocked = 284, + UseLockedWithItemS = 285, + UseLockedWithSpellS = 286, + UseLockedWithSpellKnownSi = 287, + UseTooFar = 288, + UseBadAngle = 289, + UseObjectMoving = 290, + UseSpellFocus = 291, + UseDestroyed = 292, + SetLootFreeforall = 293, + SetLootRoundrobin = 294, + SetLootMaster = 295, + SetLootGroup = 296, + SetLootThresholdS = 297, + NewLootMasterS = 298, + SpecifyMasterLooter = 299, + LootSpecChangedS = 300, + TameFailed = 301, + ChatWhileDead = 302, + ChatPlayerNotFoundS = 303, + Newtaxipath = 304, + NoPet = 305, + Notyourpet = 306, + PetNotRenameable = 307, + QuestObjectiveCompleteS = 308, + QuestUnknownComplete = 309, + QuestAddKillSii = 310, + QuestAddFoundSii = 311, + QuestAddItemSii = 312, + QuestAddPlayerKillSii = 313, + Cannotcreatedirectory = 314, + Cannotcreatefile = 315, + PlayerWrongFaction = 316, + PlayerIsNeutral = 317, + BankslotFailedTooMany = 318, + BankslotInsufficientFunds = 319, + BankslotNotbanker = 320, + FriendDbError = 321, + FriendListFull = 322, + FriendAddedS = 323, + BattletagFriendAddedS = 324, + FriendOnlineSs = 325, + FriendOfflineS = 326, + FriendNotFound = 327, + FriendWrongFaction = 328, + FriendRemovedS = 329, + BattletagFriendRemovedS = 330, + FriendError = 331, + FriendAlreadyS = 332, + FriendSelf = 333, + FriendDeleted = 334, + IgnoreFull = 335, + IgnoreSelf = 336, + IgnoreNotFound = 337, + IgnoreAlreadyS = 338, + IgnoreAddedS = 339, + IgnoreRemovedS = 340, + IgnoreAmbiguous = 341, + IgnoreDeleted = 342, + OnlyOneBolt = 343, + OnlyOneAmmo = 344, + SpellFailedEquippedSpecificItem = 345, + WrongBagTypeSubclass = 346, + CantWrapStackable = 347, + CantWrapEquipped = 348, + CantWrapWrapped = 349, + CantWrapBound = 350, + CantWrapUnique = 351, + CantWrapBags = 352, + OutOfMana = 353, + OutOfRage = 354, + OutOfFocus = 355, + OutOfEnergy = 356, + OutOfChi = 357, + OutOfHealth = 358, + OutOfRunes = 359, + OutOfRunicPower = 360, + OutOfSoulShards = 361, + OutOfLunarPower = 362, + OutOfHolyPower = 363, + OutOfMaelstrom = 364, + OutOfComboPoints = 365, + OutOfInsanity = 366, + OutOfEssence = 367, + OutOfArcaneCharges = 368, + OutOfFury = 369, + OutOfPain = 370, + OutOfPowerDisplay = 371, + LootGone = 372, + MountForceddismount = 373, + AutofollowTooFar = 374, + UnitNotFound = 375, + InvalidFollowTarget = 376, + InvalidFollowPvpCombat = 377, + InvalidFollowTargetPvpCombat = 378, + InvalidInspectTarget = 379, + GuildemblemSuccess = 380, + GuildemblemInvalidTabardColors = 381, + GuildemblemNoguild = 382, + GuildemblemNotguildmaster = 383, + GuildemblemNotenoughmoney = 384, + GuildemblemInvalidvendor = 385, + EmblemerrorNotabardgeoset = 386, + SpellOutOfRange = 387, + CommandNeedsTarget = 388, + NoammoS = 389, + Toobusytofollow = 390, + DuelRequested = 391, + DuelCancelled = 392, + Deathbindalreadybound = 393, + DeathbindSuccessS = 394, + Noemotewhilerunning = 395, + ZoneExplored = 396, + ZoneExploredXp = 397, + InvalidItemTarget = 398, + InvalidQuestTarget = 399, + IgnoringYouS = 400, + FishNotHooked = 401, + FishEscaped = 402, + SpellFailedNotunsheathed = 403, + PetitionOfferedS = 404, + PetitionSigned = 405, + PetitionSignedS = 406, + PetitionDeclinedS = 407, + PetitionAlreadySigned = 408, + PetitionRestrictedAccountTrial = 409, + PetitionAlreadySignedOther = 410, + PetitionInGuild = 411, + PetitionCreator = 412, + PetitionNotEnoughSignatures = 413, + PetitionNotSameServer = 414, + PetitionFull = 415, + PetitionAlreadySignedByS = 416, + GuildNameInvalid = 417, + SpellUnlearnedS = 418, + PetSpellRooted = 419, + PetSpellAffectingCombat = 420, + PetSpellOutOfRange = 421, + PetSpellNotBehind = 422, + PetSpellTargetsDead = 423, + PetSpellDead = 424, + PetSpellNopath = 425, + ItemCantBeDestroyed = 426, + TicketAlreadyExists = 427, + TicketCreateError = 428, + TicketUpdateError = 429, + TicketDbError = 430, + TicketNoText = 431, + TicketTextTooLong = 432, + ObjectIsBusy = 433, + ExhaustionWellrested = 434, + ExhaustionRested = 435, + ExhaustionNormal = 436, + ExhaustionTired = 437, + ExhaustionExhausted = 438, + NoItemsWhileShapeshifted = 439, + CantInteractShapeshifted = 440, + RealmNotFound = 441, + MailQuestItem = 442, + MailBoundItem = 443, + MailConjuredItem = 444, + MailBag = 445, + MailToSelf = 446, + MailTargetNotFound = 447, + MailDatabaseError = 448, + MailDeleteItemError = 449, + MailWrappedCod = 450, + MailCantSendRealm = 451, + MailTempReturnOutage = 452, + MailRecepientCantReceiveMail = 453, + MailSent = 454, + MailTargetIsTrial = 455, + NotHappyEnough = 456, + UseCantImmune = 457, + CantBeDisenchanted = 458, + CantUseDisarmed = 459, + AuctionDatabaseError = 460, + AuctionHigherBid = 461, + AuctionAlreadyBid = 462, + AuctionOutbidS = 463, + AuctionWonS = 464, + AuctionRemovedS = 465, + AuctionBidPlaced = 466, + LogoutFailed = 467, + QuestPushSuccessS = 468, + QuestPushInvalidS = 469, + QuestPushInvalidToRecipientS = 470, + QuestPushAcceptedS = 471, + QuestPushDeclinedS = 472, + QuestPushBusyS = 473, + QuestPushDeadS = 474, + QuestPushDeadToRecipientS = 475, + QuestPushLogFullS = 476, + QuestPushLogFullToRecipientS = 477, + QuestPushOnquestS = 478, + QuestPushOnquestToRecipientS = 479, + QuestPushAlreadyDoneS = 480, + QuestPushAlreadyDoneToRecipientS = 481, + QuestPushNotDailyS = 482, + QuestPushTimerExpiredS = 483, + QuestPushNotInPartyS = 484, + QuestPushDifferentServerDailyS = 485, + QuestPushDifferentServerDailyToRecipientS = 486, + QuestPushNotAllowedS = 487, + QuestPushPrerequisiteS = 488, + QuestPushPrerequisiteToRecipientS = 489, + QuestPushLowLevelS = 490, + QuestPushLowLevelToRecipientS = 491, + QuestPushHighLevelS = 492, + QuestPushHighLevelToRecipientS = 493, + QuestPushClassS = 494, + QuestPushClassToRecipientS = 495, + QuestPushRaceS = 496, + QuestPushRaceToRecipientS = 497, + QuestPushLowFactionS = 498, + QuestPushLowFactionToRecipientS = 499, + QuestPushHighFactionS = 500, + QuestPushHighFactionToRecipientS = 501, + QuestPushExpansionS = 502, + QuestPushExpansionToRecipientS = 503, + QuestPushNotGarrisonOwnerS = 504, + QuestPushNotGarrisonOwnerToRecipientS = 505, + QuestPushWrongCovenantS = 506, + QuestPushWrongCovenantToRecipientS = 507, + QuestPushNewPlayerExperienceS = 508, + QuestPushNewPlayerExperienceToRecipientS = 509, + QuestPushWrongFactionS = 510, + QuestPushWrongFactionToRecipientS = 511, + QuestPushCrossFactionRestrictedS = 512, + RaidGroupLowlevel = 513, + RaidGroupOnly = 514, + RaidGroupFull = 515, + RaidGroupRequirementsUnmatch = 516, + CorpseIsNotInInstance = 517, + PvpKillHonorable = 518, + PvpKillDishonorable = 519, + SpellFailedAlreadyAtFullHealth = 520, + SpellFailedAlreadyAtFullMana = 521, + SpellFailedAlreadyAtFullPowerS = 522, + AutolootMoneyS = 523, + GenericStunned = 524, + GenericThrottle = 525, + ClubFinderSearchingTooFast = 526, + TargetStunned = 527, + MustRepairDurability = 528, + RaidYouJoined = 529, + RaidYouLeft = 530, + InstanceGroupJoinedWithParty = 531, + InstanceGroupJoinedWithRaid = 532, + RaidMemberAddedS = 533, + RaidMemberRemovedS = 534, + InstanceGroupAddedS = 535, + InstanceGroupRemovedS = 536, + ClickOnItemToFeed = 537, + TooManyChatChannels = 538, + LootRollPending = 539, + LootPlayerNotFound = 540, + NotInRaid = 541, + LoggingOut = 542, + TargetLoggingOut = 543, + NotWhileMounted = 544, + NotWhileShapeshifted = 545, + NotInCombat = 546, + NotWhileDisarmed = 547, + PetBroken = 548, + TalentWipeError = 549, + SpecWipeError = 550, + GlyphWipeError = 551, + PetSpecWipeError = 552, + FeignDeathResisted = 553, + MeetingStoneInQueueS = 554, + MeetingStoneLeftQueueS = 555, + MeetingStoneOtherMemberLeft = 556, + MeetingStonePartyKickedFromQueue = 557, + MeetingStoneMemberStillInQueue = 558, + MeetingStoneSuccess = 559, + MeetingStoneInProgress = 560, + MeetingStoneMemberAddedS = 561, + MeetingStoneGroupFull = 562, + MeetingStoneNotLeader = 563, + MeetingStoneInvalidLevel = 564, + MeetingStoneTargetNotInParty = 565, + MeetingStoneTargetInvalidLevel = 566, + MeetingStoneMustBeLeader = 567, + MeetingStoneNoRaidGroup = 568, + MeetingStoneNeedParty = 569, + MeetingStoneNotFound = 570, + MeetingStoneTargetInVehicle = 571, + GuildemblemSame = 572, + EquipTradeItem = 573, + PvpToggleOn = 574, + PvpToggleOff = 575, + GroupJoinBattlegroundDeserters = 576, + GroupJoinBattlegroundDead = 577, + GroupJoinBattlegroundS = 578, + GroupJoinBattlegroundFail = 579, + GroupJoinBattlegroundTooMany = 580, + SoloJoinBattlegroundS = 581, + JoinSingleScenarioS = 582, + BattlegroundTooManyQueues = 583, + BattlegroundCannotQueueForRated = 584, + BattledgroundQueuedForRated = 585, + BattlegroundTeamLeftQueue = 586, + BattlegroundNotInBattleground = 587, + AlreadyInArenaTeamS = 588, + InvalidPromotionCode = 589, + BgPlayerJoinedSs = 590, + BgPlayerLeftS = 591, + RestrictedAccount = 592, + RestrictedAccountTrial = 593, + NotEnoughPurchasedGameTime = 594, + PlayTimeExceeded = 595, + ApproachingPartialPlayTime = 596, + ApproachingPartialPlayTime2 = 597, + ApproachingNoPlayTime = 598, + ApproachingNoPlayTime2 = 599, + UnhealthyTime = 600, + ChatRestrictedTrial = 601, + ChatThrottled = 602, + MailReachedCap = 603, + InvalidRaidTarget = 604, + RaidLeaderReadyCheckStartS = 605, + ReadyCheckInProgress = 606, + ReadyCheckThrottled = 607, + DungeonDifficultyFailed = 608, + DungeonDifficultyChangedS = 609, + TradeWrongRealm = 610, + TradeNotOnTaplist = 611, + ChatPlayerAmbiguousS = 612, + LootCantLootThatNow = 613, + LootMasterInvFull = 614, + LootMasterUniqueItem = 615, + LootMasterOther = 616, + FilteringYouS = 617, + UsePreventedByMechanicS = 618, + ItemUniqueEquippable = 619, + LfgLeaderIsLfmS = 620, + LfgPending = 621, + CantSpeakLangage = 622, + VendorMissingTurnins = 623, + BattlegroundNotInTeam = 624, + NotInBattleground = 625, + NotEnoughHonorPoints = 626, + NotEnoughArenaPoints = 627, + SocketingRequiresMetaGem = 628, + SocketingMetaGemOnlyInMetaslot = 629, + SocketingRequiresHydraulicGem = 630, + SocketingHydraulicGemOnlyInHydraulicslot = 631, + SocketingRequiresCogwheelGem = 632, + SocketingCogwheelGemOnlyInCogwheelslot = 633, + SocketingItemTooLowLevel = 634, + ItemMaxCountSocketed = 635, + SystemDisabled = 636, + QuestFailedTooManyDailyQuestsI = 637, + ItemMaxCountEquippedSocketed = 638, + ItemUniqueEquippableSocketed = 639, + UserSquelched = 640, + AccountSilenced = 641, + PartyMemberSilenced = 642, + PartyMemberSilencedLfgDelist = 643, + TooMuchGold = 644, + NotBarberSitting = 645, + QuestFailedCais = 646, + InviteRestrictedTrial = 647, + VoiceIgnoreFull = 648, + VoiceIgnoreSelf = 649, + VoiceIgnoreNotFound = 650, + VoiceIgnoreAlreadyS = 651, + VoiceIgnoreAddedS = 652, + VoiceIgnoreRemovedS = 653, + VoiceIgnoreAmbiguous = 654, + VoiceIgnoreDeleted = 655, + UnknownMacroOptionS = 656, + NotDuringArenaMatch = 657, + NotInRatedBattleground = 658, + PlayerSilenced = 659, + PlayerUnsilenced = 660, + ComsatDisconnect = 661, + ComsatReconnectAttempt = 662, + ComsatConnectFail = 663, + MailInvalidAttachmentSlot = 664, + MailTooManyAttachments = 665, + MailInvalidAttachment = 666, + MailAttachmentExpired = 667, + VoiceChatParentalDisableMic = 668, + ProfaneChatName = 669, + PlayerSilencedEcho = 670, + PlayerUnsilencedEcho = 671, + LootCantLootThat = 672, + ArenaExpiredCais = 673, + GroupActionThrottled = 674, + AlreadyPickpocketed = 675, + NameInvalid = 676, + NameNoName = 677, + NameTooShort = 678, + NameTooLong = 679, + NameMixedLanguages = 680, + NameProfane = 681, + NameReserved = 682, + NameThreeConsecutive = 683, + NameInvalidSpace = 684, + NameConsecutiveSpaces = 685, + NameRussianConsecutiveSilentCharacters = 686, + NameRussianSilentCharacterAtBeginningOrEnd = 687, + NameDeclensionDoesntMatchBaseName = 688, + RecruitAFriendNotLinked = 689, + RecruitAFriendNotNow = 690, + RecruitAFriendSummonLevelMax = 691, + RecruitAFriendSummonCooldown = 692, + RecruitAFriendSummonOffline = 693, + RecruitAFriendInsufExpanLvl = 694, + RecruitAFriendMapIncomingTransferNotAllowed = 695, + NotSameAccount = 696, + BadOnUseEnchant = 697, + TradeSelf = 698, + TooManySockets = 699, + ItemMaxLimitCategoryCountExceededIs = 700, + TradeTargetMaxLimitCategoryCountExceededIs = 701, + ItemMaxLimitCategorySocketedExceededIs = 702, + ItemMaxLimitCategoryEquippedExceededIs = 703, + ShapeshiftFormCannotEquip = 704, + ItemInventoryFullSatchel = 705, + ScalingStatItemLevelExceeded = 706, + ScalingStatItemLevelTooLow = 707, + PurchaseLevelTooLow = 708, + GroupSwapFailed = 709, + InviteInCombat = 710, + InvalidGlyphSlot = 711, + GenericNoValidTargets = 712, + CalendarEventAlertS = 713, + PetLearnSpellS = 714, + PetLearnAbilityS = 715, + PetSpellUnlearnedS = 716, + InviteUnknownRealm = 717, + InviteNoPartyServer = 718, + InvitePartyBusy = 719, + InvitePartyBusyPendingRequest = 720, + InvitePartyBusyPendingSuggest = 721, + PartyTargetAmbiguous = 722, + PartyLfgInviteRaidLocked = 723, + PartyLfgBootLimit = 724, + PartyLfgBootCooldownS = 725, + PartyLfgBootNotEligibleS = 726, + PartyLfgBootInpatientTimerS = 727, + PartyLfgBootInProgress = 728, + PartyLfgBootTooFewPlayers = 729, + PartyLfgBootVoteSucceeded = 730, + PartyLfgBootVoteFailed = 731, + PartyLfgBootDisallowedByMap = 732, + PartyLfgBootDungeonComplete = 733, + PartyLfgBootLootRolls = 734, + PartyLfgBootVoteRegistered = 735, + PartyPrivateGroupOnly = 736, + PartyLfgTeleportInCombat = 737, + PartyTimeRunningSeasonIdMustMatch = 738, + RaidDisallowedByLevel = 739, + RaidDisallowedByCrossRealm = 740, + PartyRoleNotAvailable = 741, + JoinLfgObjectFailed = 742, + LfgRemovedLevelup = 743, + LfgRemovedXpToggle = 744, + LfgRemovedFactionChange = 745, + BattlegroundInfoThrottled = 746, + BattlegroundAlreadyIn = 747, + ArenaTeamChangeFailedQueued = 748, + ArenaTeamPermissions = 749, + NotWhileFalling = 750, + NotWhileMoving = 751, + NotWhileFatigued = 752, + MaxSockets = 753, + MultiCastActionTotemS = 754, + BattlegroundJoinLevelup = 755, + RemoveFromPvpQueueXpGain = 756, + BattlegroundJoinXpGain = 757, + BattlegroundJoinMercenary = 758, + BattlegroundJoinTooManyHealers = 759, + BattlegroundJoinRatedTooManyHealers = 760, + BattlegroundJoinTooManyTanks = 761, + BattlegroundJoinTooManyDamage = 762, + RaidDifficultyFailed = 763, + RaidDifficultyChangedS = 764, + LegacyRaidDifficultyChangedS = 765, + RaidLockoutChangedS = 766, + RaidConvertedToParty = 767, + PartyConvertedToRaid = 768, + PlayerDifficultyChangedS = 769, + GmresponseDbError = 770, + BattlegroundJoinRangeIndex = 771, + ArenaJoinRangeIndex = 772, + RemoveFromPvpQueueFactionChange = 773, + BattlegroundJoinFailed = 774, + BattlegroundJoinNoValidSpecForRole = 775, + BattlegroundJoinRespec = 776, + BattlegroundInvitationDeclined = 777, + BattlegroundInvitationDeclinedBy = 778, + BattlegroundJoinTimedOut = 779, + BattlegroundDupeQueue = 780, + BattlegroundJoinMustCompleteQuest = 781, + InBattlegroundRespec = 782, + MailLimitedDurationItem = 783, + YellRestrictedTrial = 784, + ChatRaidRestrictedTrial = 785, + LfgRoleCheckFailed = 786, + LfgRoleCheckFailedTimeout = 787, + LfgRoleCheckFailedNotViable = 788, + LfgReadyCheckFailed = 789, + LfgReadyCheckFailedTimeout = 790, + LfgGroupFull = 791, + LfgNoLfgObject = 792, + LfgNoSlotsPlayer = 793, + LfgNoSlotsParty = 794, + LfgNoSpec = 795, + LfgMismatchedSlots = 796, + LfgMismatchedSlotsLocalXrealm = 797, + LfgPartyPlayersFromDifferentRealms = 798, + LfgMembersNotPresent = 799, + LfgGetInfoTimeout = 800, + LfgInvalidSlot = 801, + LfgDeserterPlayer = 802, + LfgDeserterParty = 803, + LfgDead = 804, + LfgRandomCooldownPlayer = 805, + LfgRandomCooldownParty = 806, + LfgTooManyMembers = 807, + LfgTooFewMembers = 808, + LfgProposalFailed = 809, + LfgProposalDeclinedSelf = 810, + LfgProposalDeclinedParty = 811, + LfgNoSlotsSelected = 812, + LfgNoRolesSelected = 813, + LfgRoleCheckInitiated = 814, + LfgReadyCheckInitiated = 815, + LfgPlayerDeclinedRoleCheck = 816, + LfgPlayerDeclinedReadyCheck = 817, + LfgLorewalking = 818, + LfgJoinedQueue = 819, + LfgJoinedFlexQueue = 820, + LfgJoinedRfQueue = 821, + LfgJoinedScenarioQueue = 822, + LfgJoinedWorldPvpQueue = 823, + LfgJoinedBattlefieldQueue = 824, + LfgJoinedList = 825, + QueuedPlunderstorm = 826, + LfgLeftQueue = 827, + LfgLeftList = 828, + LfgRoleCheckAborted = 829, + LfgReadyCheckAborted = 830, + LfgCantUseBattleground = 831, + LfgCantUseDungeons = 832, + LfgReasonTooManyLfg = 833, + LfgFarmLimit = 834, + LfgNoCrossFactionParties = 835, + InvalidTeleportLocation = 836, + TooFarToInteract = 837, + BattlegroundPlayersFromDifferentRealms = 838, + DifficultyChangeCooldownS = 839, + DifficultyChangeCombatCooldownS = 840, + DifficultyChangeWorldstate = 841, + DifficultyChangeEncounter = 842, + DifficultyChangeCombat = 843, + DifficultyChangePlayerBusy = 844, + DifficultyChangePlayerOnVehicle = 845, + DifficultyChangeAlreadyStarted = 846, + DifficultyChangeOtherHeroicS = 847, + DifficultyChangeHeroicInstanceAlreadyRunning = 848, + ArenaTeamPartySize = 849, + SoloShuffleWargameGroupSize = 850, + SoloShuffleWargameGroupComp = 851, + SoloRbgWargameGroupSize = 852, + SoloRbgWargameGroupComp = 853, + SoloMinItemLevel = 854, + PvpPlayerAbandoned = 855, + BattlegroundJoinGroupQueueWithoutHealer = 856, + QuestForceRemovedS = 857, + AttackNoActions = 858, + InRandomBg = 859, + InNonRandomBg = 860, + BnFriendSelf = 861, + BnFriendAlready = 862, + BnFriendBlocked = 863, + BnFriendListFull = 864, + BnFriendRequestSent = 865, + BnBroadcastThrottle = 866, + BgDeveloperOnly = 867, + CurrencySpellSlotMismatch = 868, + CurrencyNotTradable = 869, + RequiresExpansionS = 870, + QuestFailedSpell = 871, + TalentFailedUnspentTalentPoints = 872, + TalentFailedNotEnoughTalentsInPrimaryTree = 873, + TalentFailedNoPrimaryTreeSelected = 874, + TalentFailedCantRemoveTalent = 875, + TalentFailedUnknown = 876, + TalentFailedInCombat = 877, + TalentFailedInPvpMatch = 878, + TalentFailedInMythicPlus = 879, + WargameRequestFailure = 880, + RankRequiresAuthenticator = 881, + GuildBankVoucherFailed = 882, + WargameRequestSent = 883, + RequiresAchievementI = 884, + RefundResultExceedMaxCurrency = 885, + CantBuyQuantity = 886, + ItemIsBattlePayLocked = 887, + PartyAlreadyInBattlegroundQueue = 888, + PartyConfirmingBattlegroundQueue = 889, + BattlefieldTeamPartySize = 890, + InsuffTrackedCurrencyIs = 891, + NotOnTournamentRealm = 892, + GuildTrialAccountTrial = 893, + GuildTrialAccountVeteran = 894, + GuildUndeletableDueToLevel = 895, + CantDoThatInAGroup = 896, + GuildLeaderReplaced = 897, + TransmogrifyCantEquip = 898, + TransmogrifyInvalidItemType = 899, + TransmogrifyNotSoulbound = 900, + TransmogrifyInvalidSource = 901, + TransmogrifyInvalidDestination = 902, + TransmogrifyMismatch = 903, + TransmogrifyLegendary = 904, + TransmogrifySameItem = 905, + TransmogrifySameAppearance = 906, + TransmogrifyNotEquipped = 907, + VoidDepositFull = 908, + VoidWithdrawFull = 909, + VoidStorageWrapped = 910, + VoidStorageStackable = 911, + VoidStorageUnbound = 912, + VoidStorageRepair = 913, + VoidStorageCharges = 914, + VoidStorageQuest = 915, + VoidStorageConjured = 916, + VoidStorageMail = 917, + VoidStorageBag = 918, + VoidTransferStorageFull = 919, + VoidTransferInvFull = 920, + VoidTransferInternalError = 921, + VoidTransferItemInvalid = 922, + DifficultyDisabledInLfg = 923, + VoidStorageUnique = 924, + VoidStorageLoot = 925, + VoidStorageHoliday = 926, + VoidStorageDuration = 927, + VoidStorageLoadFailed = 928, + VoidStorageInvalidItem = 929, + VoidStorageAccountItem = 930, + ParentalControlsChatMuted = 931, + SorStartExperienceIncomplete = 932, + SorInvalidEmail = 933, + SorInvalidComment = 934, + ChallengeModeResetCooldownS = 935, + ChallengeModeResetKeystone = 936, + PetJournalAlreadyInLoadout = 937, + ReportSubmittedSuccessfully = 938, + ReportSubmissionFailed = 939, + SuggestionSubmittedSuccessfully = 940, + BugSubmittedSuccessfully = 941, + ChallengeModeEnabled = 942, + ChallengeModeDisabled = 943, + PetbattleCreateFailed = 944, + PetbattleNotHere = 945, + PetbattleNotHereOnTransport = 946, + PetbattleNotHereUnevenGround = 947, + PetbattleNotHereObstructed = 948, + PetbattleNotWhileInCombat = 949, + PetbattleNotWhileDead = 950, + PetbattleNotWhileFlying = 951, + PetbattleTargetInvalid = 952, + PetbattleTargetOutOfRange = 953, + PetbattleTargetNotCapturable = 954, + PetbattleNotATrainer = 955, + PetbattleDeclined = 956, + PetbattleInBattle = 957, + PetbattleInvalidLoadout = 958, + PetbattleAllPetsDead = 959, + PetbattleNoPetsInSlots = 960, + PetbattleNoAccountLock = 961, + PetbattleWildPetTapped = 962, + PetbattleRestrictedAccount = 963, + PetbattleOpponentNotAvailable = 964, + PetbattleNotWhileInMatchedBattle = 965, + CantHaveMorePetsOfThatType = 966, + CantHaveMorePets = 967, + PvpMapNotFound = 968, + PvpMapNotSet = 969, + PetbattleQueueQueued = 970, + PetbattleQueueAlreadyQueued = 971, + PetbattleQueueJoinFailed = 972, + PetbattleQueueJournalLock = 973, + PetbattleQueueRemoved = 974, + PetbattleQueueProposalDeclined = 975, + PetbattleQueueProposalTimeout = 976, + PetbattleQueueOpponentDeclined = 977, + PetbattleQueueRequeuedInternal = 978, + PetbattleQueueRequeuedRemoved = 979, + PetbattleQueueSlotLocked = 980, + PetbattleQueueSlotEmpty = 981, + PetbattleQueueSlotNoTracker = 982, + PetbattleQueueSlotNoSpecies = 983, + PetbattleQueueSlotCantBattle = 984, + PetbattleQueueSlotRevoked = 985, + PetbattleQueueSlotDead = 986, + PetbattleQueueSlotNoPet = 987, + PetbattleQueueNotWhileNeutral = 988, + PetbattleGameTimeLimitWarning = 989, + PetbattleGameRoundsLimitWarning = 990, + HasRestriction = 991, + ItemUpgradeItemTooLowLevel = 992, + ItemUpgradeNoPath = 993, + ItemUpgradeNoMoreUpgrades = 994, + BonusRollEmpty = 995, + ChallengeModeFull = 996, + ChallengeModeInProgress = 997, + ChallengeModeIncorrectKeystone = 998, + BattletagFriendNotFound = 999, + BattletagFriendNotValid = 1000, + BattletagFriendNotAllowed = 1001, + BattletagFriendThrottled = 1002, + BattletagFriendSuccess = 1003, + PetTooHighLevelToUncage = 1004, + PetbattleInternal = 1005, + CantCagePetYet = 1006, + NoLootInChallengeMode = 1007, + QuestPetBattleVictoriesPvpIi = 1008, + RoleCheckAlreadyInProgress = 1009, + RecruitAFriendAccountLimit = 1010, + RecruitAFriendFailed = 1011, + SetLootPersonal = 1012, + SetLootMethodFailedCombat = 1013, + ReagentBankFull = 1014, + ReagentBankLocked = 1015, + GarrisonBuildingExists = 1016, + GarrisonInvalidPlot = 1017, + GarrisonInvalidBuildingid = 1018, + GarrisonInvalidPlotBuilding = 1019, + GarrisonRequiresBlueprint = 1020, + GarrisonNotEnoughCurrency = 1021, + GarrisonNotEnoughGold = 1022, + GarrisonCompleteMissionWrongFollowerType = 1023, + AlreadyUsingLfgList = 1024, + RestrictedAccountLfgListTrial = 1025, + ToyUseLimitReached = 1026, + ToyAlreadyKnown = 1027, + TransmogSetAlreadyKnown = 1028, + NotEnoughCurrency = 1029, + SpecIsDisabled = 1030, + FeatureRestrictedTrial = 1031, + CantBeObliterated = 1032, + CantBeScrapped = 1033, + CantBeRecrafted = 1034, + ArtifactRelicDoesNotMatchArtifact = 1035, + MustEquipArtifact = 1036, + CantDoThatRightNow = 1037, + AffectingCombat = 1038, + EquipmentManagerCombatSwapS = 1039, + EquipmentManagerBagsFull = 1040, + EquipmentManagerMissingItemS = 1041, + MovieRecordingWarningPerf = 1042, + MovieRecordingWarningDiskFull = 1043, + MovieRecordingWarningNoMovie = 1044, + MovieRecordingWarningRequirements = 1045, + MovieRecordingWarningCompressing = 1046, + NoChallengeModeReward = 1047, + ClaimedChallengeModeReward = 1048, + ChallengeModePeriodResetSs = 1049, + CantDoThatChallengeModeActive = 1050, + TalentFailedRestArea = 1051, + CannotAbandonLastPet = 1052, + TestCvarSetSss = 1053, + QuestTurnInFailReason = 1054, + ClaimedChallengeModeRewardOld = 1055, + TalentGrantedByAura = 1056, + ChallengeModeAlreadyComplete = 1057, + GlyphTargetNotAvailable = 1058, + PvpWarmodeToggleOn = 1059, + PvpWarmodeToggleOff = 1060, + SpellFailedLevelRequirement = 1061, + SpellFailedCantFlyHere = 1062, + BattlegroundJoinRequiresLevel = 1063, + BattlegroundJoinDisqualified = 1064, + BattlegroundJoinDisqualifiedNoName = 1065, + VoiceChatGenericUnableToConnect = 1066, + VoiceChatServiceLost = 1067, + VoiceChatChannelNameTooShort = 1068, + VoiceChatChannelNameTooLong = 1069, + VoiceChatChannelAlreadyExists = 1070, + VoiceChatTargetNotFound = 1071, + VoiceChatTooManyRequests = 1072, + VoiceChatPlayerSilenced = 1073, + VoiceChatParentalDisableAll = 1074, + VoiceChatDisabled = 1075, + NoPvpReward = 1076, + ClaimedPvpReward = 1077, + AzeriteEssenceSelectionFailedEssenceNotUnlocked = 1078, + AzeriteEssenceSelectionFailedCantRemoveEssence = 1079, + AzeriteEssenceSelectionFailedConditionFailed = 1080, + AzeriteEssenceSelectionFailedRestArea = 1081, + AzeriteEssenceSelectionFailedSlotLocked = 1082, + AzeriteEssenceSelectionFailedNotAtForge = 1083, + AzeriteEssenceSelectionFailedHeartLevelTooLow = 1084, + AzeriteEssenceSelectionFailedNotEquipped = 1085, + SocketingRequiresPunchcardredGem = 1086, + SocketingPunchcardredGemOnlyInPunchcardredslot = 1087, + SocketingRequiresPunchcardyellowGem = 1088, + SocketingPunchcardyellowGemOnlyInPunchcardyellowslot = 1089, + SocketingRequiresPunchcardblueGem = 1090, + SocketingPunchcardblueGemOnlyInPunchcardblueslot = 1091, + SocketingRequiresDominationShard = 1092, + SocketingDominationShardOnlyInDominationslot = 1093, + SocketingRequiresCypherGem = 1094, + SocketingCypherGemOnlyInCypherslot = 1095, + SocketingRequiresTinkerGem = 1096, + SocketingTinkerGemOnlyInTinkerslot = 1097, + SocketingRequiresPrimordialGem = 1098, + SocketingPrimordialGemOnlyInPrimordialslot = 1099, + SocketingRequiresFragranceGem = 1100, + SocketingFragranceGemOnlyInFragranceslot = 1101, + SocketingRequiresSingingThunderGem = 1102, + SocketingSingingthunderGemOnlyInSingingthunderslot = 1103, + SocketingRequiresSingingSeaGem = 1104, + SocketingSingingseaGemOnlyInSingingseaslot = 1105, + SocketingRequiresSingingWindGem = 1106, + SocketingSingingwindGemOnlyInSingingwindslot = 1107, + LevelLinkingResultLinked = 1108, + LevelLinkingResultUnlinked = 1109, + ClubFinderErrorPostClub = 1110, + ClubFinderErrorApplyClub = 1111, + ClubFinderErrorRespondApplicant = 1112, + ClubFinderErrorCancelApplication = 1113, + ClubFinderErrorTypeAcceptApplication = 1114, + ClubFinderErrorTypeNoInvitePermissions = 1115, + ClubFinderErrorTypeNoPostingPermissions = 1116, + ClubFinderErrorTypeApplicantList = 1117, + ClubFinderErrorTypeApplicantListNoPerm = 1118, + ClubFinderErrorTypeFinderNotAvailable = 1119, + ClubFinderErrorTypeGetPostingIds = 1120, + ClubFinderErrorTypeJoinApplication = 1121, + ClubFinderErrorTypeRealmNotEligible = 1122, + ClubFinderErrorTypeFlaggedRename = 1123, + ClubFinderErrorTypeFlaggedDescriptionChange = 1124, + ItemInteractionNotEnoughGold = 1125, + ItemInteractionNotEnoughCurrency = 1126, + ItemInteractionNoConversionOutput = 1127, + PlayerChoiceErrorPendingChoice = 1128, + SoulbindInvalidConduit = 1129, + SoulbindInvalidConduitItem = 1130, + SoulbindInvalidTalent = 1131, + SoulbindDuplicateConduit = 1132, + ActivateSoulbindS = 1133, + ActivateSoulbindFailedRestArea = 1134, + CantUseProfanity = 1135, + NotInPetBattle = 1136, + NotInNpe = 1137, + NoSpec = 1138, + NoDominationshardOverwrite = 1139, + UseWeeklyRewardsDisabled = 1140, + CrossFactionGroupJoined = 1141, + CantTargetUnfriendlyInOverworld = 1142, + EquipablespellsSlotsFull = 1143, + ItemModAppearanceGroupAlreadyKnown = 1144, + CantBulkSellItemWithRefund = 1145, + NoSoulboundItemInAccountBank = 1146, + NoRefundableItemInAccountBank = 1147, + CantDeleteInAccountBank = 1148, + NoImmediateContainerInAccountBank = 1149, + NoOpenImmediateContainerInAccountBank = 1150, + CantTradeAccountItem = 1151, + NoAccountInventoryLock = 1152, + BankNotAccessible = 1153, + TooManyAccountBankTabs = 1154, + AccountBankTabNotUnlocked = 1155, + AccountMoneyLocked = 1156, + BankTabInvalidName = 1157, + BankTabInvalidText = 1158, + WowLabsPartyErrorTypePartyIsFull = 1159, + WowLabsPartyErrorTypeMaxInviteSent = 1160, + WowLabsPartyErrorTypePlayerAlreadyInvited = 1161, + WowLabsPartyErrorTypePartyInviteInvalid = 1162, + WowLabsLobbyMatchmakerErrorEnterQueueFailed = 1163, + WowLabsLobbyMatchmakerErrorLeaveQueueFailed = 1164, + WowLabsSetWowLabsAreaIdFailed = 1165, + PlunderstormCannotQueue = 1166, + TargetIsSelfFoundCannotTrade = 1167, + PlayerIsSelfFoundCannotTrade = 1168, + MailRecepientIsSelfFoundCannotReceiveMail = 1169, + PlayerIsSelfFoundCannotSendMail = 1170, + PlayerIsSelfFoundCannotUseAuctionHouse = 1171, + MailTargetCannotReceiveMail = 1172, + RemixInvalidTransferRequest = 1173, + CurrencyTransferInvalidCharacter = 1174, + CurrencyTransferInvalidCurrency = 1175, + CurrencyTransferInsufficientCurrency = 1176, + CurrencyTransferMaxQuantity = 1177, + CurrencyTransferNoValidSource = 1178, + CurrencyTransferCharacterLoggedIn = 1179, + CurrencyTransferServerError = 1180, + CurrencyTransferUnmetRequirements = 1181, + CurrencyTransferTransactionInProgress = 1182, } public enum SceneFlags diff --git a/Source/Framework/Constants/Spells/SpellConst.cs b/Source/Framework/Constants/Spells/SpellConst.cs index 0ab1cbd1e..a240bae4e 100644 --- a/Source/Framework/Constants/Spells/SpellConst.cs +++ b/Source/Framework/Constants/Spells/SpellConst.cs @@ -775,7 +775,8 @@ namespace Framework.Constants DragonridingRidingRequirement = 319, ItemModAppearanceGroupAlreadyKnown = 320, ItemCreationDisabledForEvent = 321, - Unknown = 322, + WarbandSceneAlreadyKnown = 322, + Unknown = 323, // Ok Cast Value - Here In Case A Future Version Removes Success And We Need To Use A Custom Value (Not Sent To Client Either Way) SpellCastOk = Success @@ -1410,55 +1411,97 @@ namespace Framework.Constants RequiresAResilientStone = 832, // Requires A Resilient Stone. MyrritCannotCarryAnyMoreMaps = 835, // Myrrit Cannot Carry Any More Maps. Go On A Dig With Him! SomeGiftsAreBetterLeftUndelivered = 836, // Some gifts are better left undelivered. - RequiresNiffenCaveDiveKeyandShieldDisabled = 850, // Requires Niffen Cave Dive Key And Shield Disabled. - ElusiveCreatureBaitWasRecentlyUsed = 851, // You Cannot Lure Anything In This Area For A Few Minutes. Elusive Creature Bait Was Recently Used. - MustBeInQuietPlaceWithinCaerDarrow = 852, // Must be in a suitably quiet place within Caer Darrow. - YouDontHaveAnyGlimmerOfLightsActive = 856, // You don't have any Glimmer of Lights active. - YouDontHaveTheSwirlingMojoStone = 999, // You Don'T Have The Swirling Mojo Stone Equipped. - YouMustBeNearADragonflightOathstone = 1000, // You Must Be Near One Of The Five Dragonflight Oathstones In The Dragon Isles. - CanOnlyUseThisItemWhileAirborne = 1001, // You Can Only Use This Item While Airborne. - ThisPlayerIsNotOppositeFaction = 1002, // This Player Is Not Of The Opposite Faction. - ThisPlayerAlreadyHasThisMount = 1003, // This Player Already Has This Mount. - YourTargetIsInWarMode = 1004, // Your Target Is In War Mode. - CooldownReset = 1005, // Cooldown Reset - SoilNutrientsMustReplenish = 1006, // The Nutrients Of This Soil Must Replenish Before Further Growth. - TargetAlreadyHadSomeFeathersPlucked = 1007, // The Target Has Already Had Some Feathers Plucked. It Would Be Rude To Take More. - ThisCreatureHasAlreadyBeenAttunedWith = 1008, // This Creature Has Already Been Attuned With Recently. - YouAlreadyHaveSomeMulchPrepared = 1009, // You Already Have Some Mulch Prepared. Use Your Current Mulch First. - YouDontKnowHowToGatherThis = 1010, // You Don't Know How To Gather This. - YouDontHaveAnyItemsOfThisType = 1011, // You Don't Have Any Items Of This Type. - YouDontHaveAnyRadiantRemnants = 1012, // You Don't Have Any Radiant Remnants. - TargetsRingIsAlreadyBoundToAnotherPlayer = 1013, // Your Target's Ring Is Already Bound To Another Player. - TargetIsNotWearingThisRing = 1014, // Your Target Is Not Also Wearing This Ring. - CanOnlyBeUsedOnSocketablePvpTwwItems = 1015, // Can Only Be Used On Socket Eligible Pvp Items From The War Within Expansion. - HarvestbotsAlreadyActive = 1016, // Harvestbots Already Active. - AirshipDauntlessIsAlreadyActive = 1017, // The Airship Dauntless Is Already Active. - CannotSwapSpellsOnCooldownInCombat = 1026, // You Cannot Swap Spells On Cooldown While In Combat. - MustEquipCloakOfInfinitePotential = 1027, // You Must First Equip The Cloak Of Infinite Potential. - InsufficientBronze = 1028, // You Have Insufficient Bronze To Make This Trade. - RequiresSkyriding = 1029, // Requires Skyriding - YouAlreadyOverloadedThisGatheringNode = 1030, // You Have Already Overloaded This Gathering Node. - YouDontKnowHowToOverloadThisNode = 1031, // You Do Not Know How To Overload This Gathering Node. - TimerunnersCannotTeleportOutOfPandaria = 1032, // Timerunners Cannot Teleport Outside Of Pandaria. - SpecializeFurtherForTheseNotes = 1033, // Specialize Further Or Improve Your Hasty Handwriting To Make Sense Of These Notes. - ThereIsNothingLeftToInvent = 1034, // There Is Nothing Left To Invent And You Cannot Be Convinced Otherwise. - PlayerInPartyDoesntHaveThisTierUnlocked = 1035, // A Player In Your Party Does Not Have This Tier Unlocked - YouDontHaveAnyRadiantEchoes = 1036, // You Don't Have Any Radiant Echoes. - RequiresTwwPathfinderUnlocked = 1037, // Requires The War Within Pathfinder Unlocked To Use In This Area. - CanOnlyBeUsedWhileInCombat = 1039, // Can Only Be Used While In Combat. - NotHighEnoughLevelToEnterADelve = 1040, // You Are Not High Enough Level To Enter A Delve. - WondrousWisdomballIsNonresponsive = 1041, // For Some Reason The Wondrous Wisdomball Is Nonresponsive. - YouAlreadyHaveThisCurioInYourCollection = 1042, // You Already Have This Curio In Your Collection. - AlreadyHaveIdentifiedPrototype = 1043, // You Must Choose What To Do With Your Current Prototype Before Identifying New Ones. - YouAlreadyUsedKhazAlgarContract = 1044, // You Have Already Used A Khaz Algar Contract This Week. - YouAlreadyRevealedAllTodayPactLocations = 1051, // You Have Revealed Or Completed All Of Today's Pact Locations. - TimerunnersCannotCastThisSpell = 1053, // Timerunners Cannot Cast This Spell. - ThisEmblemHasNoMagicStored = 2001, // The Emblem Has No Magic Stored. - YouMustBeInVisageForm = 2222, // You Must Be In Visage Form To Do This. - ATrialIsBeingUndergoneNearby = 2223, // A Trial Is Already Being Undergone Nearby. - YouCannotUseVantusRuneInStoryMode = 2224, // You Cannot Use A Vantus Rune In Story Mode. - TooCloseToAnotherMoltenRitual = 2424, // You Can't Begin A Molten Ritual This Close To Another One. - EarthenCannotConsumeRegularFoodOrDrink = 2425, // Earthen Cannot Consume Traditional Food Or Drink. + CompanionIsUnconscious = 837, // Companion Is Unconscious! + RequiresCompanion = 838, // Requires Companion. + YouAteTooManyDesserts = 840, // You Should Not Eat Too Many Desserts If You Wish To Be Invited To The Next Party. + OnlyUsableDuringLoveIsInTheAir = 841, // Only Usable During Love Is In The Air + NoSmellsNearby = 842, // No Smells Nearby! + YouAlreadyHaveAConjuredFlask = 845, // You Already Have A Conjured Flask. + YouAlreadyHaveSomeConjuredPotions = 846, // You Already Have Some Conjured Potions. + Requiresniffencavedivekeyandshielddisabled = 850, // Requires Niffen Cave Dive Key And Shield Disabled. + Elusivecreaturebaitwasrecentlyused = 851, // You Cannot Lure Anything In This Area For A Few Minutes. Elusive Creature Bait Was Recently Used. + Mustbeinquietplacewithincaerdarrow = 852, // Must Be In A Suitably Quiet Place Within Caer Darrow. + YouNeedShadowrootedGrippers = 853, // You Need Shadowrooted Grippers. + Youdonthaveanyglimmeroflightsactive = 856, // You Don't Have Any Glimmer Of Lights Active. + OnlyTheForsakenCanDisplayThisHonor = 857, // Only The Forsaken Can Display This Honor. + EnoughMoonkinHatchlingsAlreadyFollowYou = 858, // Enough Moonkin Hatchlings Already Follow You. + YouCanOnlyOpenThisChestInYourDreams = 859, // You Can Only Open This Chest In Your Dreams. + YouHaveNotProvenYourselfToThisSpirit = 860, // You Have Not Proven Yourself To This Spirit. + NotEnoughDelveEmpowerment = 861, // Not Enough Delve Empowerment. + ThisItemCannotBeUsedInTheCurrentSeason = 870, // This Item Cannot Be Used In The Current Season. + YouCannotEnterADelveWhileInARaidGroup = 871, // You Cannot Enter A Delve While In A Raid Group. + YourCompanionIsInCombat = 872, // Your Companion Is In Combat. + ThisDelveIsNotAvailableForTesting = 873, // This Delve Is Not Available For Testing. Check Back Later! + YouAreAlreadyAtFullVigor = 891, // You Are Already At Full Vigor + YouAlreadyHaveAtLeastOneConjuredFlask = 892, // You Already Have At Least One Conjured Flask. + ActiveFlasksCanOnlyBeChangedOutsOfCombat = 893, // Active Flasks Can Only Be Changed Outside Of Combat. + ThisCannotBeCraftedDuringEarlyAccess = 900, // This Cannot Be Crafted During Early Access. + Youdonthavetheswirlingmojostone = 999, // You Don't Have The Swirling Mojo Stone Equipped. + Youmustbenearadragonflightoathstone = 1000, // You Must Be Near One Of The Five Dragonflight Oathstones In The Dragon Isles. + Canonlyusethisitemwhileairborne = 1001, // You Can Only Use This Item While Airborne. + Thisplayerisnotoppositefaction = 1002, // This Player Is Not Of The Opposite Faction. + Thisplayeralreadyhasthismount = 1003, // This Player Already Has This Mount. + Yourtargetisinwarmode = 1004, // Your Target Is In War Mode. + Cooldownreset = 1005, // Cooldown Reset + Soilnutrientsmustreplenish = 1006, // The Nutrients Of This Soil Must Replenish Before Further Growth. + Targetalreadyhadsomefeathersplucked = 1007, // The Target Has Already Had Some Feathers Plucked. It Would Be Rude To Take More. + Thiscreaturehasalreadybeenattunedwith = 1008, // This Creature Has Already Been Attuned With Recently. + Youalreadyhavesomemulchprepared = 1009, // You Already Have Some Mulch Prepared. Use Your Current Mulch First. + Youdontknowhowtogatherthis = 1010, // You Don't Know How To Gather This. + Youdonthaveanyitemsofthistype = 1011, // You Don't Have Any Items Of This Type. + Youdonthaveanyradiantremnants = 1012, // You Don't Have Any Radiant Remnants. + Targetsringisalreadyboundtoanotherplayer = 1013, // Your Target's Ring Is Already Bound To Another Player. + Targetisnotwearingthisring = 1014, // Your Target Is Not Also Wearing This Ring. + Canonlybeusedonsocketablepvptwwitems = 1015, // Can Only Be Used On Socket Eligible Pvp Items From The War Within Expansion. + Harvestbotsalreadyactive = 1016, // Harvestbots Already Active. + Airshipdauntlessisalreadyactive = 1017, // The Airship Dauntless Is Already Active. + Cannotswapspellsoncooldownincombat = 1026, // You Cannot Swap Spells On Cooldown While In Combat. + Mustequipcloakofinfinitepotential = 1027, // You Must First Equip The Cloak Of Infinite Potential. + Insufficientbronze = 1028, // You Have Insufficient Bronze To Make This Trade. + Requiresskyriding = 1029, // Requires Skyriding + Youalreadyoverloadedthisgatheringnode = 1030, // You Have Already Overloaded This Gathering Node. + Youdontknowhowtooverloadthisnode = 1031, // You Do Not Know How To Overload This Gathering Node. + Timerunnerscannotteleportoutofpandaria = 1032, // Timerunners Cannot Teleport Outside Of Pandaria. + Specializefurtherforthesenotes = 1033, // Specialize Further Or Improve Your Hasty Handwriting To Make Sense Of These Notes. + Thereisnothinglefttoinvent = 1034, // There Is Nothing Left To Invent And You Cannot Be Convinced Otherwise. + Playerinpartydoesnthavethistierunlocked = 1035, // A Player In Your Party Does Not Have This Tier Unlocked + Youdonthaveanyradiantechoes = 1036, // You Don't Have Any Radiant Echoes. + Requirestwwpathfinderunlocked = 1037, // Requires The War Within Pathfinder Unlocked To Use In This Area. + YouDoNotOwnThatMount = 1038, // You Do Not Own That Mount. + Canonlybeusedwhileincombat = 1039, // Can Only Be Used While In Combat. + Nothighenoughleveltoenteradelve = 1040, // You Are Not High Enough Level To Enter A Delve. + Wondrouswisdomballisnonresponsive = 1041, // For Some Reason The Wondrous Wisdomball Is Nonresponsive. + Youalreadyhavethiscurioinyourcollection = 1042, // You Already Have This Curio In Your Collection. + Alreadyhaveidentifiedprototype = 1043, // You Must Choose What To Do With Your Current Prototype Before Identifying New Ones. + Youalreadyusedkhazalgarcontract = 1044, // You Have Already Used A Khaz Algar Contract This Week. + Locked = 1045, // Locked. + MarksmanshipHuntersCannotUseCallPet = 1050, // Marksmanship Hunters Cannot Use Call Pet. + Youalreadyrevealedalltodaypactlocations = 1051, // You Have Revealed Or Completed All Of Today's Pact Locations. + YouHaveNoBlacksteelCannonballs = 1052, // You Have No Blacksteel Cannonballs + Timerunnerscannotcastthisspell = 1053, // Timerunners Cannot Cast This Spell. + ThatCantBeUsedHere = 1054, // That Can't Be Used Here. + YouAreNotYetEligibleToUseThisItem = 1056, // You Are Not Yet Eligible To Use This Item. + RequiresShadowforgeTorch = 1057, // Lighting The Shadowforge Brazier Requires A Shadowforge Torch. + ThisShadowforgeBrazierIsAlreadyBurning = 1058, // This Shadowforge Brazier Is Already Burning. + FullBags = 1059, // Full Bags + YouMustBeARatToPassThroughHere = 1060, // You Must Be A Rat To Pass Through Here. + YourHandsAreFull = 1061, // Your Hands Are Full. + MustReachEmpoweredRestorationStone = 1064, // Must Reach Empowered Restoration Stone. + CantDoThisNow = 1066, // Can't Do This Now. + NoEligibleBountifulDelves = 1067, // No Eligible Bountiful Delves. + OnlyARogueCouldPickThisLock = 1068, // Only A Rogue Could Pick This Lock. + TheMegaMagnetMustBeChargedFirst = 1070, // The Mega Magnet Must Be Charged First! + MustTargetEligibleHeadChestOrLegSetItem = 1071, // Must Target An Eligible Head, Chest, Or Leg Class Set Item. + MustTargetEligibleShoulderOrHandSetItem = 1072, // Must Target An Eligible Shoulder Or Hand Class Set Item. + CannotMountWhileDisguised = 1074, // Cannot Mount While Disguised. + YourTargetIsProtectedByDarkfuseMedichopper = 1075, // Your Target Is Already Protected By A Darkfuse Medichopper. + Thisemblemhasnomagicstored = 2001, // The Emblem Has No Magic Stored. + Youmustbeinvisageform = 2222, // You Must Be In Visage Form To Do This. + Atrialisbeingundergonenearby = 2223, // A Trial Is Already Being Undergone Nearby. + Youcannotusevantusruneinstorymode = 2224, // You Cannot Use A Vantus Rune In Story Mode. + Tooclosetoanothermoltenritual = 2424, // You Can't Begin A Molten Ritual This Close To Another One. + Earthencannotconsumeregularfoodordrink = 2425, // Earthen Cannot Consume Traditional Food Or Drink. + BarrierProtectsTheAmplifierFromLosingPower = 2427, // A Barrier Protects The Amplifier From Losing Power. } public enum SpellMissInfo diff --git a/Source/Framework/Database/Databases/HotfixDatabase.cs b/Source/Framework/Database/Databases/HotfixDatabase.cs index bccd2ac74..90c6dd268 100644 --- a/Source/Framework/Database/Databases/HotfixDatabase.cs +++ b/Source/Framework/Database/Databases/HotfixDatabase.cs @@ -227,7 +227,8 @@ namespace Framework.Database // ChallengeModeItemBonusOverride.db2 PrepareStatement(HotfixStatements.SEL_CHALLENGE_MODE_ITEM_BONUS_OVERRIDE, "SELECT ID, ItemBonusTreeGroupID, DstItemBonusTreeID, Value, " + - "RequiredTimeEventPassed, SrcItemBonusTreeID FROM challenge_mode_item_bonus_override WHERE (`VerifiedBuild` > 0) = ?"); + "RequiredTimeEventPassed, RequiredTimeEventNotPassed, SrcItemBonusTreeID FROM challenge_mode_item_bonus_override" + + " WHERE (`VerifiedBuild` > 0) = ?"); // CharBaseInfo.db2 PrepareStatement(HotfixStatements.SEL_CHAR_BASE_INFO, "SELECT ID, RaceID, ClassID, OtherFactionRaceID FROM char_base_info WHERE (`VerifiedBuild` > 0) = ?"); @@ -257,11 +258,11 @@ namespace Framework.Database // ChrClasses.db2 PrepareStatement(HotfixStatements.SEL_CHR_CLASSES, "SELECT Name, Filename, NameMale, NameFemale, PetNameToken, Description, RoleInfoString, DisabledString, " + - "HyphenatedNameMale, HyphenatedNameFemale, ID, CreateScreenFileDataID, SelectScreenFileDataID, IconFileDataID, LowResScreenFileDataID, Flags, " + + "HyphenatedNameMale, HyphenatedNameFemale, CreateScreenFileDataID, SelectScreenFileDataID, IconFileDataID, LowResScreenFileDataID, Flags, " + "SpellTextureBlobFileDataID, ArmorTypeMask, CharStartKitUnknown901, MaleCharacterCreationVisualFallback, " + "MaleCharacterCreationIdleVisualFallback, FemaleCharacterCreationVisualFallback, FemaleCharacterCreationIdleVisualFallback, " + "CharacterCreationIdleGroundVisualFallback, CharacterCreationGroundVisualFallback, AlteredFormCharacterCreationIdleVisualFallback, " + - "CharacterCreationAnimLoopWaitTimeMsFallback, CinematicSequenceID, DefaultSpec, PrimaryStatPriority, DisplayPower, " + + "CharacterCreationAnimLoopWaitTimeMsFallback, CinematicSequenceID, DefaultSpec, ID, PrimaryStatPriority, DisplayPower, " + "RangedAttackPowerPerAgility, AttackPowerPerAgility, AttackPowerPerStrength, SpellClassSet, ClassColorR, ClassColorG, ClassColorB, RolesMask" + " FROM chr_classes WHERE (`VerifiedBuild` > 0) = ?"); PrepareStatement(HotfixStatements.SEL_CHR_CLASSES_LOCALE, "SELECT ID, Name_lang, NameMale_lang, NameFemale_lang, Description_lang, RoleInfoString_lang, " + @@ -297,8 +298,8 @@ namespace Framework.Database " WHERE (`VerifiedBuild` > 0) = ? AND locale = ?"); // ChrCustomizationReq.db2 - PrepareStatement(HotfixStatements.SEL_CHR_CUSTOMIZATION_REQ, "SELECT ID, RaceMask, ReqSource, Flags, ClassMask, AchievementID, QuestID, OverrideArchive, " + - "ItemModifiedAppearanceID FROM chr_customization_req WHERE (`VerifiedBuild` > 0) = ?"); + PrepareStatement(HotfixStatements.SEL_CHR_CUSTOMIZATION_REQ, "SELECT ID, RaceMask, ReqSource, Flags, ClassMask, RegionGroupMask, AchievementID, QuestID, " + + "OverrideArchive, ItemModifiedAppearanceID FROM chr_customization_req WHERE (`VerifiedBuild` > 0) = ?"); PrepareStatement(HotfixStatements.SEL_CHR_CUSTOMIZATION_REQ_LOCALE, "SELECT ID, ReqSource_lang FROM chr_customization_req_locale WHERE (`VerifiedBuild` > 0) = ?" + " AND locale = ?"); @@ -319,15 +320,15 @@ namespace Framework.Database // ChrRaces.db2 PrepareStatement(HotfixStatements.SEL_CHR_RACES, "SELECT ID, ClientPrefix, ClientFileString, Name, NameFemale, NameLowercase, NameFemaleLowercase, " + "LoreName, LoreNameFemale, LoreNameLower, LoreNameLowerFemale, LoreDescription, ShortName, ShortNameFemale, ShortNameLower, " + - "ShortNameLowerFemale, Flags, FactionID, CinematicSequenceID, ResSicknessSpellID, SplashSoundID, Alliance, RaceRelated, " + - "UnalteredVisualRaceID, DefaultClassID, CreateScreenFileDataID, SelectScreenFileDataID, NeutralRaceID, LowResScreenFileDataID, " + - "AlteredFormStartVisualKitID1, AlteredFormStartVisualKitID2, AlteredFormStartVisualKitID3, AlteredFormFinishVisualKitID1, " + - "AlteredFormFinishVisualKitID2, AlteredFormFinishVisualKitID3, HeritageArmorAchievementID, StartingLevel, UiDisplayOrder, " + - "MaleModelFallbackRaceID, FemaleModelFallbackRaceID, MaleTextureFallbackRaceID, FemaleTextureFallbackRaceID, PlayableRaceBit, " + - "HelmetAnimScalingRaceID, TransmogrifyDisabledSlotMask, UnalteredVisualCustomizationRaceID, AlteredFormCustomizeOffsetFallback1, " + - "AlteredFormCustomizeOffsetFallback2, AlteredFormCustomizeOffsetFallback3, AlteredFormCustomizeRotationFallback, Unknown910_11, " + - "Unknown910_12, Unknown910_13, Unknown910_21, Unknown910_22, Unknown910_23, Unknown1000, BaseLanguage, CreatureType, MaleModelFallbackSex, " + - "FemaleModelFallbackSex, MaleTextureFallbackSex, FemaleTextureFallbackSex FROM chr_races WHERE (`VerifiedBuild` > 0) = ?"); + "ShortNameLowerFemale, Flags, FactionID, CinematicSequenceID, ResSicknessSpellID, SplashSoundID, CreateScreenFileDataID, " + + "SelectScreenFileDataID, LowResScreenFileDataID, AlteredFormStartVisualKitID1, AlteredFormStartVisualKitID2, AlteredFormStartVisualKitID3, " + + "AlteredFormFinishVisualKitID1, AlteredFormFinishVisualKitID2, AlteredFormFinishVisualKitID3, HeritageArmorAchievementID, StartingLevel, " + + "UiDisplayOrder, PlayableRaceBit, TransmogrifyDisabledSlotMask, AlteredFormCustomizeOffsetFallback1, AlteredFormCustomizeOffsetFallback2, " + + "AlteredFormCustomizeOffsetFallback3, AlteredFormCustomizeRotationFallback, Unknown910_11, Unknown910_12, Unknown910_13, Unknown910_21, " + + "Unknown910_22, Unknown910_23, BaseLanguage, CreatureType, Alliance, RaceRelated, UnalteredVisualRaceID, DefaultClassID, NeutralRaceID, " + + "MaleModelFallbackRaceID, MaleModelFallbackSex, FemaleModelFallbackRaceID, FemaleModelFallbackSex, MaleTextureFallbackRaceID, " + + "MaleTextureFallbackSex, FemaleTextureFallbackRaceID, FemaleTextureFallbackSex, HelmetAnimScalingRaceID, UnalteredVisualCustomizationRaceID" + + " FROM chr_races WHERE (`VerifiedBuild` > 0) = ?"); PrepareStatement(HotfixStatements.SEL_CHR_RACES_LOCALE, "SELECT ID, Name_lang, NameFemale_lang, NameLowercase_lang, NameFemaleLowercase_lang, LoreName_lang, " + "LoreNameFemale_lang, LoreNameLower_lang, LoreNameLowerFemale_lang, LoreDescription_lang, ShortName_lang, ShortNameFemale_lang, " + "ShortNameLower_lang, ShortNameLowerFemale_lang FROM chr_races_locale WHERE (`VerifiedBuild` > 0) = ? AND locale = ?"); @@ -427,7 +428,7 @@ namespace Framework.Database // CurrencyTypes.db2 PrepareStatement(HotfixStatements.SEL_CURRENCY_TYPES, "SELECT ID, Name, Description, CategoryID, InventoryIconFileID, SpellWeight, SpellCategory, MaxQty, " + "MaxEarnablePerWeek, Quality, FactionID, ItemGroupSoundsID, XpQuestDifficulty, AwardConditionID, MaxQtyWorldStateID, " + - "RechargingAmountPerCycle, RechargingCycleDurationMS, AccountTransferPercentage, Flags1, Flags2 FROM currency_types WHERE (`VerifiedBuild` > 0) = ?"); + "RechargingAmountPerCycle, RechargingCycleDurationMS, AccountTransferPercentage, OrderIndex, Flags1, Flags2 FROM currency_types WHERE (`VerifiedBuild` > 0) = ?"); PrepareStatement(HotfixStatements.SEL_CURRENCY_TYPES_LOCALE, "SELECT ID, Name_lang, Description_lang FROM currency_types_locale WHERE (`VerifiedBuild` > 0) = ?" + " AND locale = ?"); @@ -631,7 +632,7 @@ namespace Framework.Database // GossipNpcOption.db2 PrepareStatement(HotfixStatements.SEL_GOSSIP_NPC_OPTION, "SELECT ID, GossipNpcOption, LFGDungeonsID, TrainerID, GarrFollowerTypeID, CharShipmentID, " + "GarrTalentTreeID, UiMapID, UiItemInteractionID, Unknown_1000_8, Unknown_1000_9, CovenantID, GossipOptionID, TraitTreeID, ProfessionID, " + - "Unknown_1002_14 FROM gossip_npc_option WHERE (`VerifiedBuild` > 0) = ?"); + "Unknown_1002_14, SkillLineID FROM gossip_npc_option WHERE (`VerifiedBuild` > 0) = ?"); // GuildColorBackground.db2 PrepareStatement(HotfixStatements.SEL_GUILD_COLOR_BACKGROUND, "SELECT ID, Red, Blue, Green FROM guild_color_background WHERE (`VerifiedBuild` > 0) = ?"); @@ -866,7 +867,7 @@ namespace Framework.Database // JournalInstance.db2 PrepareStatement(HotfixStatements.SEL_JOURNAL_INSTANCE, "SELECT ID, Name, Description, MapID, BackgroundFileDataID, ButtonFileDataID, " + - "ButtonSmallFileDataID, LoreFileDataID, Flags, AreaID FROM journal_instance WHERE (`VerifiedBuild` > 0) = ?"); + "ButtonSmallFileDataID, LoreFileDataID, Flags, AreaID, CovenantID FROM journal_instance WHERE (`VerifiedBuild` > 0) = ?"); PrepareStatement(HotfixStatements.SEL_JOURNAL_INSTANCE_LOCALE, "SELECT ID, Name_lang, Description_lang FROM journal_instance_locale" + " WHERE (`VerifiedBuild` > 0) = ? AND locale = ?"); @@ -967,7 +968,7 @@ namespace Framework.Database // MountCapability.db2 PrepareStatement(HotfixStatements.SEL_MOUNT_CAPABILITY, "SELECT ID, Flags, ReqRidingSkill, ReqAreaID, ReqSpellAuraID, ReqSpellKnownID, ModSpellAuraID, " + - "ReqMapID, PlayerConditionID, FlightCapabilityID FROM mount_capability WHERE (`VerifiedBuild` > 0) = ?"); + "ReqMapID, PlayerConditionID, FlightCapabilityID, DriveCapabilityID FROM mount_capability WHERE (`VerifiedBuild` > 0) = ?"); // MountEquipment.db2 PrepareStatement(HotfixStatements.SEL_MOUNT_EQUIPMENT, "SELECT ID, Item, BuffSpell, Unknown820, LearnedBySpell FROM mount_equipment" + @@ -1105,7 +1106,7 @@ namespace Framework.Database PrepareStatement(HotfixStatements.SEL_QUEST_INFO_LOCALE, "SELECT ID, InfoName_lang FROM quest_info_locale WHERE (`VerifiedBuild` > 0) = ? AND locale = ?"); // QuestLineXQuest.db2 - PrepareStatement(HotfixStatements.SEL_QUEST_LINE_X_QUEST, "SELECT ID, QuestLineID, QuestID, OrderIndex, Flags FROM quest_line_x_quest" + + PrepareStatement(HotfixStatements.SEL_QUEST_LINE_X_QUEST, "SELECT ID, QuestLineID, QuestID, OrderIndex, Flags, Unknown1110 FROM quest_line_x_quest" + " WHERE (`VerifiedBuild` > 0) = ?"); // QuestMoneyReward.db2 diff --git a/Source/Game/AuctionHouse/AuctionManager.cs b/Source/Game/AuctionHouse/AuctionManager.cs index ca17bf167..f2fea5de0 100644 --- a/Source/Game/AuctionHouse/AuctionManager.cs +++ b/Source/Game/AuctionHouse/AuctionManager.cs @@ -1343,7 +1343,7 @@ namespace Game } AuctionWonNotification packet = new(); - packet.Info.Initialize(auctions[0], items[0].Items[0]); + packet.Info.Initialize(_auctionHouse.Id, auctions[0], items[0].Items[0]); player.SendPacket(packet); for (int i = 0; i < auctions.Count; ++i) @@ -1445,7 +1445,7 @@ namespace Game if (bidder != null) { AuctionWonNotification packet = new(); - packet.Info.Initialize(auction, auction.Items[0]); + packet.Info.Initialize(_auctionHouse.Id, auction, auction.Items[0]); bidder.SendPacket(packet); // FIXME: for offline player need also diff --git a/Source/Game/BattleGrounds/BattleGround.cs b/Source/Game/BattleGrounds/BattleGround.cs index 5bac86c52..6cb5185b0 100644 --- a/Source/Game/BattleGrounds/BattleGround.cs +++ b/Source/Game/BattleGrounds/BattleGround.cs @@ -1216,8 +1216,8 @@ namespace Game.BattleGrounds playerData.IsInWorld = true; playerData.PrimaryTalentTree = (int)player.GetPrimarySpecialization(); playerData.Sex = (sbyte)player.GetGender(); - playerData.PlayerRace = player.GetRace(); - playerData.PlayerClass = (int)player.GetClass(); + playerData.PlayerRace = (sbyte)player.GetRace(); + playerData.PlayerClass = (sbyte)player.GetClass(); playerData.HonorLevel = (int)player.GetHonorLevel(); pvpLogData.Statistics.Add(playerData); diff --git a/Source/Game/BattleGrounds/BattleGroundManager.cs b/Source/Game/BattleGrounds/BattleGroundManager.cs index 6f43d396e..4ca306242 100644 --- a/Source/Game/BattleGrounds/BattleGroundManager.cs +++ b/Source/Game/BattleGrounds/BattleGroundManager.cs @@ -138,7 +138,7 @@ namespace Game.BattleGrounds battlefieldStatus = new BattlefieldStatusActive(); BuildBattlegroundStatusHeader(battlefieldStatus.Hdr, player, ticketId, joinTime, queueId); battlefieldStatus.ShutdownTimer = bg.GetRemainingTime(); - battlefieldStatus.ArenaFaction = (byte)(player.GetBGTeam() == Team.Horde ? BattleGroundTeamId.Horde : BattleGroundTeamId.Alliance); + battlefieldStatus.ArenaFaction = (sbyte)(player.GetBGTeam() == Team.Horde ? BattleGroundTeamId.Horde : BattleGroundTeamId.Alliance); battlefieldStatus.LeftEarly = false; battlefieldStatus.StartTimer = bg.GetElapsedTime(); battlefieldStatus.Mapid = bg.GetMapId(); diff --git a/Source/Game/DataStorage/DB2Manager.cs b/Source/Game/DataStorage/DB2Manager.cs index 9a14bf35f..ea02c3b26 100644 --- a/Source/Game/DataStorage/DB2Manager.cs +++ b/Source/Game/DataStorage/DB2Manager.cs @@ -2416,7 +2416,7 @@ namespace Game.DataStorage MultiMap _creatureLabels = new(); MultiMap _currencyContainers = new(); MultiMap _curvePoints = new(); - Dictionary, EmotesTextSoundRecord> _emoteTextSounds = new(); + Dictionary, EmotesTextSoundRecord> _emoteTextSounds = new(); Dictionary, ExpectedStatRecord> _expectedStatsByLevel = new(); MultiMap _expectedStatModsByContentTuning = new(); MultiMap _factionTeams = new(); @@ -2438,7 +2438,7 @@ namespace Game.DataStorage Dictionary _mountsBySpellId = new(); MultiMap _mountCapabilitiesByType = new(); MultiMap _mountDisplays = new(); - Dictionary[]> _nameGenData = new(); + Dictionary[]> _nameGenData = new(); List[] _nameValidators = new List[(int)Locale.Total + 1]; Dictionary _paragonReputations = new(); Dictionary _paths = new(); diff --git a/Source/Game/DataStorage/Structs/A_Records.cs b/Source/Game/DataStorage/Structs/A_Records.cs index 071677a2e..4704afdc8 100644 --- a/Source/Game/DataStorage/Structs/A_Records.cs +++ b/Source/Game/DataStorage/Structs/A_Records.cs @@ -378,7 +378,7 @@ namespace Game.DataStorage public uint Id; public uint AzeritePowerSetID; public int AzeritePowerID; - public int Class; + public sbyte Class; public byte Tier; public uint OrderIndex; } diff --git a/Source/Game/DataStorage/Structs/B_Records.cs b/Source/Game/DataStorage/Structs/B_Records.cs index e41467d4d..e3572ae65 100644 --- a/Source/Game/DataStorage/Structs/B_Records.cs +++ b/Source/Game/DataStorage/Structs/B_Records.cs @@ -26,8 +26,8 @@ namespace Game.DataStorage public string Description; public byte Type; // value 0 . hair, value 2 . facialhair public float CostModifier; - public byte Race; - public byte Sex; + public sbyte Race; + public sbyte Sex; public byte Data; // real ID to hair/facial hair } diff --git a/Source/Game/DataStorage/Structs/C_Records.cs b/Source/Game/DataStorage/Structs/C_Records.cs index b35f0cdf9..d68d28d0f 100644 --- a/Source/Game/DataStorage/Structs/C_Records.cs +++ b/Source/Game/DataStorage/Structs/C_Records.cs @@ -38,6 +38,7 @@ namespace Game.DataStorage public int DstItemBonusTreeID; public int Value; public int RequiredTimeEventPassed; + public int RequiredTimeEventNotPassed; public uint SrcItemBonusTreeID; } @@ -46,7 +47,7 @@ namespace Game.DataStorage public uint Id; public sbyte RaceID; public sbyte ClassID; - public int OtherFactionRaceID; + public sbyte OtherFactionRaceID; } public sealed class CharTitlesRecord @@ -82,7 +83,7 @@ namespace Game.DataStorage public LocalizedString Name; public string Shortcut; public int Flags; - public sbyte FactionGroup; + public byte FactionGroup; public int Ruleset; public bool HasFlag(ChatChannelFlags chatChannelFlags) { return (Flags & (int)chatChannelFlags) != 0; } @@ -92,7 +93,7 @@ namespace Game.DataStorage public sealed class ChrClassUIDisplayRecord { public uint Id; - public byte ChrClassesID; + public sbyte ChrClassesID; public uint AdvGuidePlayerConditionID; public uint SplashPlayerConditionID; } @@ -109,7 +110,6 @@ namespace Game.DataStorage public string DisabledString; public string HyphenatedNameMale; public string HyphenatedNameFemale; - public uint Id; public uint CreateScreenFileDataID; public uint SelectScreenFileDataID; public uint IconFileDataID; @@ -128,6 +128,7 @@ namespace Game.DataStorage public int CharacterCreationAnimLoopWaitTimeMsFallback; public ushort CinematicSequenceID; public ushort DefaultSpec; + public uint Id; public byte PrimaryStatPriority; public PowerType DisplayPower; public byte RangedAttackPowerPerAgility; @@ -214,6 +215,7 @@ namespace Game.DataStorage public string ReqSource; public int Flags; public int ClassMask; + public int RegionGroupMask; public int AchievementID; public int QuestID; public int OverrideArchive; // -1: allow any, otherwise must match OverrideArchive cvar @@ -253,9 +255,9 @@ namespace Game.DataStorage public sealed class ChrRaceXChrModelRecord { public uint Id; - public uint ChrRacesID; + public byte ChrRacesID; public int ChrModelID; - public int Sex; + public sbyte Sex; public int AllowedTransmogSlots; } @@ -282,38 +284,37 @@ namespace Game.DataStorage public uint CinematicSequenceID; public uint ResSicknessSpellID; public int SplashSoundID; - public int Alliance; - public int RaceRelated; - public int UnalteredVisualRaceID; - public int DefaultClassID; public int CreateScreenFileDataID; public int SelectScreenFileDataID; - public int NeutralRaceID; public int LowResScreenFileDataID; public int[] AlteredFormStartVisualKitID = new int[3]; public int[] AlteredFormFinishVisualKitID = new int[3]; public int HeritageArmorAchievementID; public int StartingLevel; public int UiDisplayOrder; - public int MaleModelFallbackRaceID; - public int FemaleModelFallbackRaceID; - public int MaleTextureFallbackRaceID; - public int FemaleTextureFallbackRaceID; public int PlayableRaceBit; - public int HelmetAnimScalingRaceID; public int TransmogrifyDisabledSlotMask; - public int UnalteredVisualCustomizationRaceID; public float[] AlteredFormCustomizeOffsetFallback = new float[3]; public float AlteredFormCustomizeRotationFallback; public float[] Unknown910_1 = new float[3]; public float[] Unknown910_2 = new float[3]; - public int Unknown1000; public sbyte BaseLanguage; - public sbyte CreatureType; + public byte CreatureType; + public sbyte Alliance; + public sbyte RaceRelated; + public sbyte UnalteredVisualRaceID; + public sbyte DefaultClassID; + public sbyte NeutralRaceID; + public sbyte MaleModelFallbackRaceID; public sbyte MaleModelFallbackSex; + public sbyte FemaleModelFallbackRaceID; public sbyte FemaleModelFallbackSex; + public sbyte MaleTextureFallbackRaceID; public sbyte MaleTextureFallbackSex; + public sbyte FemaleTextureFallbackRaceID; public sbyte FemaleTextureFallbackSex; + public sbyte HelmetAnimScalingRaceID; + public sbyte UnalteredVisualCustomizationRaceID; public bool HasFlag(ChrRacesFlag chrRacesFlag) { return (Flags & (int)chrRacesFlag) != 0; } } @@ -488,7 +489,7 @@ namespace Game.DataStorage public sbyte DisplayRaceID; public sbyte DisplaySexID; public sbyte DisplayClassID; - public sbyte Flags; + public int Flags; public int BakeMaterialResourcesID; public int HDBakeMaterialResourcesID; } @@ -559,7 +560,7 @@ namespace Game.DataStorage { public uint Id; public string Name; - public byte Flags; + public int Flags; } public sealed class CriteriaRecord @@ -627,6 +628,7 @@ namespace Game.DataStorage public uint RechargingAmountPerCycle; public uint RechargingCycleDurationMS; public float AccountTransferPercentage; + public byte OrderIndex; public int[] Flags = new int[2]; public bool HasFlag(CurrencyTypesFlags currencyTypesFlags) { return (Flags[0] & (int)currencyTypesFlags) != 0; } diff --git a/Source/Game/DataStorage/Structs/E_Records.cs b/Source/Game/DataStorage/Structs/E_Records.cs index 0d4fc6a3b..39fca53a7 100644 --- a/Source/Game/DataStorage/Structs/E_Records.cs +++ b/Source/Game/DataStorage/Structs/E_Records.cs @@ -27,9 +27,9 @@ namespace Game.DataStorage public sealed class EmotesTextSoundRecord { public uint Id; - public byte RaceId; - public byte ClassId; - public byte SexId; + public sbyte RaceId; + public sbyte ClassId; + public sbyte SexId; public uint SoundId; public uint EmotesTextId; } diff --git a/Source/Game/DataStorage/Structs/G_Records.cs b/Source/Game/DataStorage/Structs/G_Records.cs index d1869d3fc..b8c61c883 100644 --- a/Source/Game/DataStorage/Structs/G_Records.cs +++ b/Source/Game/DataStorage/Structs/G_Records.cs @@ -161,7 +161,7 @@ namespace Game.DataStorage public uint AllySlottingBroadcastTextID; public byte ChrClassID; public int Flags; - public byte Gender; + public sbyte Gender; public int AutoCombatantID; public int CovenantID; } @@ -332,6 +332,7 @@ namespace Game.DataStorage public int TraitTreeID; public int ProfessionID; public int Unknown_1002_14; + public int SkillLineID; } public sealed class GuildColorBackgroundRecord diff --git a/Source/Game/DataStorage/Structs/I_Records.cs b/Source/Game/DataStorage/Structs/I_Records.cs index 8dd965ff2..6f96bc506 100644 --- a/Source/Game/DataStorage/Structs/I_Records.cs +++ b/Source/Game/DataStorage/Structs/I_Records.cs @@ -416,7 +416,7 @@ namespace Game.DataStorage public byte DamageType; public byte ContainerSlots; public byte RequiredPVPMedal; - public byte RequiredPVPRank; + public sbyte RequiredPVPRank; public sbyte RequiredLevel; public InventoryType inventoryType; public sbyte OverallQualityID; diff --git a/Source/Game/DataStorage/Structs/J_Records.cs b/Source/Game/DataStorage/Structs/J_Records.cs index d1bc68160..bed83f6f7 100644 --- a/Source/Game/DataStorage/Structs/J_Records.cs +++ b/Source/Game/DataStorage/Structs/J_Records.cs @@ -53,6 +53,7 @@ namespace Game.DataStorage public int LoreFileDataID; public int Flags; public ushort AreaID; + public ushort CovenantID; } public sealed class JournalTierRecord diff --git a/Source/Game/DataStorage/Structs/L_Records.cs b/Source/Game/DataStorage/Structs/L_Records.cs index 8a248346e..8596cd809 100644 --- a/Source/Game/DataStorage/Structs/L_Records.cs +++ b/Source/Game/DataStorage/Structs/L_Records.cs @@ -79,7 +79,7 @@ namespace Game.DataStorage public uint Id; public string Name; public string[] Texture = new string[6]; - public ushort Flags; + public int Flags; public byte SoundBank; // used to be "type", maybe needs fixing (works well for now) public uint SoundID; public uint SpellID; diff --git a/Source/Game/DataStorage/Structs/M_Records.cs b/Source/Game/DataStorage/Structs/M_Records.cs index b0799c611..82981836d 100644 --- a/Source/Game/DataStorage/Structs/M_Records.cs +++ b/Source/Game/DataStorage/Structs/M_Records.cs @@ -211,6 +211,7 @@ namespace Game.DataStorage public short ReqMapID; public int PlayerConditionID; public int FlightCapabilityID; + public int DriveCapabilityID; public bool HasFlag(MountCapabilityFlags mountCapabilityFlags) { return (Flags & (int)mountCapabilityFlags) != 0; } } diff --git a/Source/Game/DataStorage/Structs/N_Records.cs b/Source/Game/DataStorage/Structs/N_Records.cs index 4e1eed2f5..ee8fb5451 100644 --- a/Source/Game/DataStorage/Structs/N_Records.cs +++ b/Source/Game/DataStorage/Structs/N_Records.cs @@ -7,8 +7,8 @@ namespace Game.DataStorage { public uint Id; public string Name; - public byte RaceID; - public byte Sex; + public sbyte RaceID; + public sbyte Sex; } public sealed class NamesProfanityRecord diff --git a/Source/Game/DataStorage/Structs/P_Records.cs b/Source/Game/DataStorage/Structs/P_Records.cs index 2ace67bbd..13a39b7f2 100644 --- a/Source/Game/DataStorage/Structs/P_Records.cs +++ b/Source/Game/DataStorage/Structs/P_Records.cs @@ -22,7 +22,7 @@ namespace Game.DataStorage public byte Green; public byte Blue; public byte Alpha; - public byte Flags; + public int Flags; } public sealed class PathNodeRecord @@ -85,7 +85,7 @@ namespace Game.DataStorage public ushort WorldStateExpressionID; public int WeatherID; public byte PartyStatus; - public byte LifetimeMaxPVPRank; + public sbyte LifetimeMaxPVPRank; public uint AchievementLogic; public sbyte Gender; public sbyte NativeGender; @@ -115,8 +115,8 @@ namespace Game.DataStorage public byte MinGuildLevel; public sbyte MaxExpansionTier; public sbyte MinExpansionTier; - public byte MinPVPRank; - public byte MaxPVPRank; + public sbyte MinPVPRank; + public sbyte MaxPVPRank; public uint ContentTuningID; public int CovenantID; public uint TraitNodeEntryLogic; diff --git a/Source/Game/DataStorage/Structs/Q_Records.cs b/Source/Game/DataStorage/Structs/Q_Records.cs index 4959c0546..dac3ee6e0 100644 --- a/Source/Game/DataStorage/Structs/Q_Records.cs +++ b/Source/Game/DataStorage/Structs/Q_Records.cs @@ -27,6 +27,7 @@ namespace Game.DataStorage public uint QuestID; public uint OrderIndex; public int Flags; + public int Unknown1110; } public sealed class QuestMoneyRewardRecord diff --git a/Source/Game/DataStorage/Structs/S_Records.cs b/Source/Game/DataStorage/Structs/S_Records.cs index 95f0c7bfe..c969b42ef 100644 --- a/Source/Game/DataStorage/Structs/S_Records.cs +++ b/Source/Game/DataStorage/Structs/S_Records.cs @@ -576,7 +576,7 @@ namespace Game.DataStorage public uint Id; public string Name; public uint CreatureDisplayID; - public sbyte CreatureType; + public byte CreatureType; public int Flags; public int AttackIconFileID; public sbyte BonusActionBar; diff --git a/Source/Game/DataStorage/Structs/T_Records.cs b/Source/Game/DataStorage/Structs/T_Records.cs index 6f8cf8770..8af35d96a 100644 --- a/Source/Game/DataStorage/Structs/T_Records.cs +++ b/Source/Game/DataStorage/Structs/T_Records.cs @@ -20,7 +20,7 @@ namespace Game.DataStorage public byte TierID; public byte Flags; public byte ColumnIndex; - public byte ClassID; + public sbyte ClassID; public ushort SpecID; public uint SpellID; public uint OverridesSpellID; diff --git a/Source/Game/DataStorage/Structs/W_Records.cs b/Source/Game/DataStorage/Structs/W_Records.cs index 08937be00..c8a83dca6 100644 --- a/Source/Game/DataStorage/Structs/W_Records.cs +++ b/Source/Game/DataStorage/Structs/W_Records.cs @@ -28,7 +28,7 @@ namespace Game.DataStorage { public uint Id; public uint QuestFeedbackEffectID; - public byte WhenToDisplay; + public int WhenToDisplay; public byte TargetType; public int TargetAsset; public uint PlayerConditionID; @@ -48,7 +48,7 @@ namespace Game.DataStorage public int HitRectLeft; public int HitRectRight; public uint PlayerConditionID; - public uint Flags; + public int Flags; public uint[] AreaID = new uint[SharedConst.MaxWorldMapOverlayArea]; } diff --git a/Source/Game/Entities/Creature/Creature.cs b/Source/Game/Entities/Creature/Creature.cs index ffc9c2d63..90768af79 100644 --- a/Source/Game/Entities/Creature/Creature.cs +++ b/Source/Game/Entities/Creature/Creature.cs @@ -2945,7 +2945,7 @@ namespace Game.Entities int scalingLevelMin = m_unitData.ScalingLevelMin; int scalingLevelMax = m_unitData.ScalingLevelMax; int scalingLevelDelta = m_unitData.ScalingLevelDelta; - int scalingFactionGroup = m_unitData.ScalingFactionGroup; + byte scalingFactionGroup = m_unitData.ScalingFactionGroup; uint targetLevel = unitTarget.m_unitData.EffectiveLevel; if (targetLevel == 0) targetLevel = unitTarget.GetLevel(); @@ -3804,7 +3804,12 @@ namespace Game.Entities m_unitData.WriteCreate(data, flags, this, target); if (m_vendorData != null) + { + if (EntityFragmentsHolder.IsIndirectFragment(EntityFragment.FVendor_C)) + data.WriteUInt8(1); // IndirectFragmentActive: FVendor_C + m_vendorData.WriteCreate(data, flags, this, target); + } } public override void BuildValuesUpdate(WorldPacket data, UpdateFieldFlag flags, Player target) @@ -3869,9 +3874,7 @@ namespace Game.Entities public override void ClearUpdateMask(bool remove) { - if (m_vendorData != null) - m_values.ClearChangesMask(m_vendorData); - + m_values.ClearChangesMask(m_vendorData); base.ClearUpdateMask(remove); } diff --git a/Source/Game/Entities/Creature/CreatureData.cs b/Source/Game/Entities/Creature/CreatureData.cs index a53111bea..cdd58a2d1 100644 --- a/Source/Game/Entities/Creature/CreatureData.cs +++ b/Source/Game/Entities/Creature/CreatureData.cs @@ -167,9 +167,9 @@ namespace Game.Entities stats.Flags[0] = (uint)creatureDifficulty.TypeFlags; stats.Flags[1] = creatureDifficulty.TypeFlags2; - stats.CreatureType = (int)CreatureType; + stats.CreatureType = (sbyte)CreatureType; stats.CreatureFamily = (int)Family; - stats.Classification = (int)Classification; + stats.Classification = (sbyte)Classification; for (uint i = 0; i < SharedConst.MaxCreatureKillCredit; ++i) stats.ProxyCreatureID[i] = KillCredit[i]; diff --git a/Source/Game/Entities/Creature/Gossip.cs b/Source/Game/Entities/Creature/Gossip.cs index 42b247cc2..923f8d1d5 100644 --- a/Source/Game/Entities/Creature/Gossip.cs +++ b/Source/Game/Entities/Creature/Gossip.cs @@ -17,7 +17,7 @@ namespace Game.Misc public class GossipMenu { public uint AddMenuItem(int gossipOptionId, int orderIndex, GossipOptionNpc optionNpc, string optionText, uint language, - GossipOptionFlags flags, int? gossipNpcOptionId, uint actionMenuId, uint actionPoiId, bool boxCoded, uint boxMoney, + GossipOptionFlags flags, int? gossipNpcOptionId, uint actionMenuId, uint actionPoiId, bool boxCoded, ulong boxMoney, string boxText, int? spellId, int? overrideIconId, uint sender, uint action) { Cypher.Assert(_menuItems.Count <= SharedConst.MaxGossipMenuItems); @@ -261,7 +261,7 @@ namespace Game.Misc opt.GossipOptionID = item.GossipOptionID; opt.OptionNPC = item.OptionNpc; opt.OptionFlags = (byte)(item.BoxCoded ? 1 : 0); // makes pop up box password - opt.OptionCost = (int)item.BoxMoney; // money required to open menu, 2.0.3 + opt.OptionCost = item.BoxMoney; // money required to open menu, 2.0.3 opt.OptionLanguage = item.Language; opt.Flags = item.Flags; opt.OrderIndex = (int)item.OrderIndex; @@ -757,7 +757,7 @@ namespace Game.Misc public GossipOptionFlags Flags; public int? GossipNpcOptionID; public bool BoxCoded; - public uint BoxMoney; + public ulong BoxMoney; public string BoxText; public int? SpellID; public int? OverrideIconID; @@ -801,7 +801,7 @@ namespace Game.Misc public uint ActionPoiID; public int? GossipNpcOptionID; public bool BoxCoded; - public uint BoxMoney; + public ulong BoxMoney; public string BoxText; public uint BoxBroadcastTextId; public int? SpellID; diff --git a/Source/Game/Entities/GameObject/GameObject.cs b/Source/Game/Entities/GameObject/GameObject.cs index 8dcb0a487..21508d487 100644 --- a/Source/Game/Entities/GameObject/GameObject.cs +++ b/Source/Game/Entities/GameObject/GameObject.cs @@ -2355,7 +2355,7 @@ namespace Game.Entities Player player = user.ToPlayer(); EnableBarberShop enableBarberShop = new(); - enableBarberShop.CustomizationScope = (byte)info.BarberChair.CustomizationScope; + enableBarberShop.CustomizationFeatureMask = (byte)info.BarberChair.CustomizationFeatureMask; player.SendPacket(enableBarberShop); // fallback, will always work diff --git a/Source/Game/Entities/GameObject/GameObjectData.cs b/Source/Game/Entities/GameObject/GameObjectData.cs index 1e101b68e..48818f578 100644 --- a/Source/Game/Entities/GameObject/GameObjectData.cs +++ b/Source/Game/Entities/GameObject/GameObjectData.cs @@ -1298,7 +1298,7 @@ namespace Game.Entities public int HeightOffset; // 1 Height Offset (inches), int, Min value: -100, Max value: 100, Default value: 0 public uint SitAnimKit; // 2 Sit Anim Kit, References: AnimKit, NoValue = 0 public uint InteractRadiusOverride; // 3 Interact Radius Override (Yards * 100), int, Min value: 0, Max value: 2147483647, Default value: 0 - public uint CustomizationScope; // 4 Customization Scope, int, Min value: 0, Max value: 2147483647, Default value: 0 + public uint CustomizationFeatureMask; // 4 Customization Feature Mask, int, Min value: 0, Max value: 2147483647, Default value: 0 public uint Preventteleportingtheplayeroutofthebarbershopchair;// 5 Prevent teleporting the player out of the barbershop chair, enum { false, true, }; Default: false } @@ -1476,13 +1476,14 @@ namespace Game.Entities public struct uilink { - public uint UILinkType; // 0 UI Link Type, enum { Adventure Journal, Obliterum Forge, Scrapping Machine, Item Interaction }; Default: Adventure Journal + public uint UILinkType; // 0 UI Link Type(Deprecated), enum { Adventure Journal, Obliterum Forge, Scrapping Machine, Item Interaction }; Default: Adventure Journal public uint allowMounted; // 1 allowMounted, enum { false, true, }; Default: false public uint GiganticAOI; // 2 Gigantic AOI, enum { false, true, }; Default: false public uint spellFocusType; // 3 spellFocusType, References: SpellFocusObject, NoValue = 0 public uint radius; // 4 radius, int, Min value: 0, Max value: 50, Default value: 10 public uint InteractRadiusOverride; // 5 Interact Radius Override (Yards * 100), int, Min value: 0, Max value: 2147483647, Default value: 0 public uint ItemInteractionID; // 6 Item Interaction ID, References: UiItemInteraction, NoValue = 0 + public uint PlayerInteractionType; // 7 Player Interaction Type, enum { None, TradePartner, Item, Gossip, QuestGiver, Merchant, TaxiNode, Trainer, Banker, AlliedRaceDetailsGiver, GuildBanker, Registrar, Vendor, PetitionVendor, GuildTabardVendor, TalentMaster, SpecializationMaster, MailInfo, SpiritHealer, AreaSpiritHealer, Binder, Auctioneer, StableMaster, BattleMaster, Transmogrifier, LFGDungeon, VoidStorageBanker, BlackMarketAuctioneer, AdventureMap, WorldMap, GarrArchitect, GarrTradeskill, GarrMission, ShipmentCrafter, GarrRecruitment, GarrTalent, Trophy, PlayerChoice, ArtifactForge, ObliterumForge, ScrappingMachine, ContributionCollector, AzeriteRespec, IslandQueue, ItemInteraction, ChromieTime, CovenantPreview, AnimaDiversion, LegendaryCrafting, WeeklyRewards, Soulbind, CovenantSanctum, NewPlayerGuide, ItemUpgrade, AdventureJournal, Renown, AzeriteForge, PerksProgramVendor, ProfessionsCraftingOrder, Professions, ProfessionsCustomerOrder, TraitSystem, BarbersChoice, JailersTowerBuffs, MajorFactionRenown, PersonalTabardVendor, ForgeMaster, CharacterBanker, AccountBanker, ProfessionRespec, PlaceholderType71, PlaceholderType72, PlaceholderType73, PlaceholderType74, PlaceholderType75, PlaceholderType76, PlaceholderType77, }; Default: None } public struct keystonereceptacle diff --git a/Source/Game/Entities/Object/Update/UpdateFields.cs b/Source/Game/Entities/Object/Update/UpdateFields.cs index dde2b8322..9d34e248b 100644 --- a/Source/Game/Entities/Object/Update/UpdateFields.cs +++ b/Source/Game/Entities/Object/Update/UpdateFields.cs @@ -1131,7 +1131,7 @@ namespace Game.Entities public class UnitData : HasChangesMask { - static int ChangeMaskLength = 220; + static int ChangeMaskLength = 222; public UpdateField Field_314 = new(0, 1); public UpdateField> StateWorldEffectIDs = new(0, 2); @@ -1174,113 +1174,113 @@ namespace Game.Entities public UpdateField ScalingLevelMin = new(32, 40); public UpdateField ScalingLevelMax = new(32, 41); public UpdateField ScalingLevelDelta = new(32, 42); - public UpdateField ScalingFactionGroup = new(32, 43); + public UpdateField ScalingFactionGroup = new(32, 43); public UpdateField FactionTemplate = new(32, 44); public UpdateField Flags = new(32, 45); public UpdateField Flags2 = new(32, 46); public UpdateField Flags3 = new(32, 47); - public UpdateField AuraState = new(32, 48); - public UpdateField RangedAttackRoundBaseTime = new(32, 49); - public UpdateField BoundingRadius = new(32, 50); - public UpdateField CombatReach = new(32, 51); - public UpdateField DisplayScale = new(32, 52); - public UpdateField CreatureFamily = new(32, 53); - public UpdateField CreatureType = new(32, 54); - public UpdateField NativeDisplayID = new(32, 55); - public UpdateField NativeXDisplayScale = new(32, 56); - public UpdateField MountDisplayID = new(32, 57); - public UpdateField CosmeticMountDisplayID = new(32, 58); - public UpdateField MinDamage = new(32, 59); - public UpdateField MaxDamage = new(32, 60); - public UpdateField MinOffHandDamage = new(32, 61); - public UpdateField MaxOffHandDamage = new(32, 62); - public UpdateField StandState = new(32, 63); - public UpdateField PetTalentPoints = new(64, 65); - public UpdateField VisFlags = new(64, 66); - public UpdateField AnimTier = new(64, 67); - public UpdateField PetNumber = new(64, 68); - public UpdateField PetNameTimestamp = new(64, 69); - public UpdateField PetExperience = new(64, 70); - public UpdateField PetNextLevelExperience = new(64, 71); - public UpdateField ModCastingSpeed = new(64, 72); - public UpdateField ModCastingSpeedNeg = new(64, 73); - public UpdateField ModSpellHaste = new(64, 74); - public UpdateField ModHaste = new(64, 75); - public UpdateField ModRangedHaste = new(64, 76); - public UpdateField ModHasteRegen = new(64, 77); - public UpdateField ModTimeRate = new(64, 78); - public UpdateField CreatedBySpell = new(64, 79); - public UpdateField EmoteState = new(64, 80); - public UpdateField BaseMana = new(64, 81); - public UpdateField BaseHealth = new(64, 82); - public UpdateField SheatheState = new(64, 83); - public UpdateField PvpFlags = new(64, 84); - public UpdateField PetFlags = new(64, 85); - public UpdateField ShapeshiftForm = new(64, 86); - public UpdateField AttackPower = new(64, 87); - public UpdateField AttackPowerModPos = new(64, 88); - public UpdateField AttackPowerModNeg = new(64, 89); - public UpdateField AttackPowerMultiplier = new(64, 90); - public UpdateField AttackPowerModSupport = new(64, 91); - public UpdateField RangedAttackPower = new(64, 92); - public UpdateField RangedAttackPowerModPos = new(64, 93); - public UpdateField RangedAttackPowerModNeg = new(64, 94); - public UpdateField RangedAttackPowerMultiplier = new(64, 95); - public UpdateField RangedAttackPowerModSupport = new(96, 97); - public UpdateField MainHandWeaponAttackPower = new(96, 98); - public UpdateField OffHandWeaponAttackPower = new(96, 99); - public UpdateField RangedWeaponAttackPower = new(96, 100); - public UpdateField SetAttackSpeedAura = new(96, 101); - public UpdateField Lifesteal = new(96, 102); - public UpdateField MinRangedDamage = new(96, 103); - public UpdateField MaxRangedDamage = new(96, 104); - public UpdateField ManaCostMultiplier = new(96, 105); - public UpdateField MaxHealthModifier = new(96, 106); - public UpdateField HoverHeight = new(96, 107); - public UpdateField MinItemLevelCutoff = new(96, 108); - public UpdateField MinItemLevel = new(96, 109); - public UpdateField MaxItemLevel = new(96, 110); - public UpdateField AzeriteItemLevel = new(96, 111); - public UpdateField WildBattlePetLevel = new(96, 112); - public UpdateField BattlePetCompanionExperience = new(96, 113); - public UpdateField BattlePetCompanionNameTimestamp = new(96, 114); - public UpdateField InteractSpellID = new(96, 115); - public UpdateField ScaleDuration = new(96, 116); - public UpdateField LooksLikeMountID = new(96, 117); - public UpdateField LooksLikeCreatureID = new(96, 118); - public UpdateField LookAtControllerID = new(96, 119); - public UpdateField PerksVendorItemID = new(96, 120); - public UpdateField TaxiNodesID = new(96, 121); - public UpdateField GuildGUID = new(96, 122); - public UpdateField FlightCapabilityID = new(96, 123); - public UpdateField GlideEventSpeedDivisor = new(96, 124); // Movement speed gets divided by this value when evaluating what GlideEvents to use - public UpdateField MaxHealthModifierFlatNeg = new(96, 125); - public UpdateField MaxHealthModifierFlatPos = new(96, 126); - public UpdateField SilencedSchoolMask = new(96, 127); - public UpdateField CurrentAreaID = new(128, 129); - public UpdateField Field_31C = new(128, 130); - public UpdateField Field_320 = new(128, 131); // Soft targeting related? When UnitFlags3 & 0x40000000 is set, increases some range check using CombatReach by this amount - public UpdateField NameplateAttachToGUID = new(128, 132); // When set, nameplate of this unit will instead appear on that object - public UpdateFieldArray Power = new(10, 133, 134); - public UpdateFieldArray MaxPower = new(10, 133, 144); - public UpdateFieldArray PowerRegenFlatModifier = new(10, 133, 154); - public UpdateFieldArray PowerRegenInterruptedFlatModifier = new(10, 133, 164); - public UpdateFieldArray VirtualItems = new(3, 174, 175); - public UpdateFieldArray AttackRoundBaseTime = new(2, 178, 179); - public UpdateFieldArray Stats = new(4, 181, 182); - public UpdateFieldArray StatPosBuff = new(4, 181, 186); - public UpdateFieldArray StatNegBuff = new(4, 181, 190); - public UpdateFieldArray StatSupportBuff = new(4, 181, 194); - public UpdateFieldArray Resistances = new(7, 198, 199); - public UpdateFieldArray BonusResistanceMods = new(7, 198, 206); - public UpdateFieldArray ManaCostModifier = new(7, 198, 213); + public UpdateField Flags4 = new(32, 48); + public UpdateField AuraState = new(32, 49); + public UpdateField RangedAttackRoundBaseTime = new(32, 50); + public UpdateField BoundingRadius = new(32, 51); + public UpdateField CombatReach = new(32, 52); + public UpdateField DisplayScale = new(32, 53); + public UpdateField CreatureFamily = new(32, 54); + public UpdateField CreatureType = new(32, 55); + public UpdateField NativeDisplayID = new(32, 56); + public UpdateField NativeXDisplayScale = new(32, 57); + public UpdateField MountDisplayID = new(32, 58); + public UpdateField CosmeticMountDisplayID = new(32, 59); + public UpdateField MinDamage = new(32, 60); + public UpdateField MaxDamage = new(32, 61); + public UpdateField MinOffHandDamage = new(32, 62); + public UpdateField MaxOffHandDamage = new(32, 63); + public UpdateField StandState = new(64, 65); + public UpdateField PetTalentPoints = new(64, 66); + public UpdateField VisFlags = new(64, 67); + public UpdateField AnimTier = new(64, 68); + public UpdateField PetNumber = new(64, 69); + public UpdateField PetNameTimestamp = new(64, 70); + public UpdateField PetExperience = new(64, 71); + public UpdateField PetNextLevelExperience = new(64, 72); + public UpdateField ModCastingSpeed = new(64, 73); + public UpdateField ModCastingSpeedNeg = new(64, 74); + public UpdateField ModSpellHaste = new(64, 75); + public UpdateField ModHaste = new(64, 76); + public UpdateField ModRangedHaste = new(64, 77); + public UpdateField ModHasteRegen = new(64, 78); + public UpdateField ModTimeRate = new(64, 79); + public UpdateField CreatedBySpell = new(64, 80); + public UpdateField EmoteState = new(64, 81); + public UpdateField BaseMana = new(64, 82); + public UpdateField BaseHealth = new(64, 83); + public UpdateField SheatheState = new(64, 84); + public UpdateField PvpFlags = new(64, 85); + public UpdateField PetFlags = new(64, 86); + public UpdateField ShapeshiftForm = new(64, 87); + public UpdateField AttackPower = new(64, 88); + public UpdateField AttackPowerModPos = new(64, 89); + public UpdateField AttackPowerModNeg = new(64, 90); + public UpdateField AttackPowerMultiplier = new(64, 91); + public UpdateField AttackPowerModSupport = new(64, 92); + public UpdateField RangedAttackPower = new(64, 93); + public UpdateField RangedAttackPowerModPos = new(64, 94); + public UpdateField RangedAttackPowerModNeg = new(64, 95); + public UpdateField RangedAttackPowerMultiplier = new(96, 97); + public UpdateField RangedAttackPowerModSupport = new(96, 98); + public UpdateField MainHandWeaponAttackPower = new(96, 99); + public UpdateField OffHandWeaponAttackPower = new(96, 100); + public UpdateField RangedWeaponAttackPower = new(96, 101); + public UpdateField SetAttackSpeedAura = new(96, 102); + public UpdateField Lifesteal = new(96, 103); + public UpdateField MinRangedDamage = new(96, 104); + public UpdateField MaxRangedDamage = new(96, 105); + public UpdateField ManaCostMultiplier = new(96, 106); + public UpdateField MaxHealthModifier = new(96, 107); + public UpdateField HoverHeight = new(96, 108); + public UpdateField MinItemLevelCutoff = new(96, 109); + public UpdateField MinItemLevel = new(96, 110); + public UpdateField MaxItemLevel = new(96, 111); + public UpdateField AzeriteItemLevel = new(96, 112); + public UpdateField WildBattlePetLevel = new(96, 113); + public UpdateField BattlePetCompanionExperience = new(96, 114); + public UpdateField BattlePetCompanionNameTimestamp = new(96, 115); + public UpdateField InteractSpellID = new(96, 116); + public UpdateField ScaleDuration = new(96, 117); + public UpdateField LooksLikeMountID = new(96, 118); + public UpdateField LooksLikeCreatureID = new(96, 119); + public UpdateField LookAtControllerID = new(96, 120); + public UpdateField PerksVendorItemID = new(96, 121); + public UpdateField TaxiNodesID = new(96, 122); + public UpdateField GuildGUID = new(96, 123); + public UpdateField FlightCapabilityID = new(96, 124); + public UpdateField GlideEventSpeedDivisor = new(96, 125); // Movement speed gets divided by this value when evaluating what GlideEvents to use + public UpdateField DriveCapabilityID = new(96, 126); + public UpdateField MaxHealthModifierFlatNeg = new(96, 127); + public UpdateField MaxHealthModifierFlatPos = new(128, 129); + public UpdateField SilencedSchoolMask = new(128, 130); + public UpdateField CurrentAreaID = new(128, 131); + public UpdateField Field_31C = new(128, 132); + public UpdateField Field_320 = new(128, 133); // Soft targeting related? When UnitFlags3 & 0x40000000 is set, increases some range check using CombatReach by this amount + public UpdateField NameplateAttachToGUID = new(128, 134); // When set, nameplate of this unit will instead appear on that object + public UpdateFieldArray Power = new(10, 135, 136); + public UpdateFieldArray MaxPower = new(10, 135, 146); + public UpdateFieldArray PowerRegenFlatModifier = new(10, 135, 156); + public UpdateFieldArray PowerRegenInterruptedFlatModifier = new(10, 135, 166); + public UpdateFieldArray VirtualItems = new(3, 176, 177); + public UpdateFieldArray AttackRoundBaseTime = new(2, 180, 181); + public UpdateFieldArray Stats = new(4, 183, 184); + public UpdateFieldArray StatPosBuff = new(4, 183, 188); + public UpdateFieldArray StatNegBuff = new(4, 183, 192); + public UpdateFieldArray StatSupportBuff = new(4, 183, 196); + public UpdateFieldArray Resistances = new(7, 200, 201); + public UpdateFieldArray BonusResistanceMods = new(7, 200, 208); + public UpdateFieldArray ManaCostModifier = new(7, 200, 215); public UnitData() : base((int)EntityFragment.CGObject, TypeId.Unit, ChangeMaskLength) { } public void WriteCreate(WorldPacket data, UpdateFieldFlag fieldVisibilityFlags, Unit owner, Player receiver) { - var stateWorldEffectIDs = GetViewerDependentStateWorldEffectIDs(this, owner, receiver); - data.WriteUInt32(GetViewerDependentDisplayId(this, owner, receiver)); data.WriteUInt32(GetViewerDependentNpcFlags(this, owner, receiver)); data.WriteUInt32(GetViewerDependentNpcFlags2(this, owner, receiver)); @@ -1288,6 +1288,8 @@ namespace Game.Entities data.WriteUInt32(GetViewerDependentStateSpellVisualID(this, owner, receiver)); data.WriteUInt32(GetViewerDependentStateAnimID(this, owner, receiver)); data.WriteUInt32(GetViewerDependentStateAnimKitID(this, owner, receiver)); + + var stateWorldEffectIDs = GetViewerDependentStateWorldEffectIDs(this, owner, receiver); data.WriteInt32(stateWorldEffectIDs.Count); data.WriteUInt32(StateWorldEffectsQuestObjectiveID); data.WriteInt32(SpellOverrideNameID); @@ -1337,7 +1339,7 @@ namespace Game.Entities data.WriteInt32(ScalingLevelMin); data.WriteInt32(ScalingLevelMax); data.WriteInt32(ScalingLevelDelta); - data.WriteInt32(ScalingFactionGroup); + data.WriteUInt8(ScalingFactionGroup); data.WriteUInt32(GetViewerDependentFactionTemplate(this, owner, receiver)); for (int i = 0; i < 3; ++i) VirtualItems[i].WriteCreate(data, owner, receiver); @@ -1345,6 +1347,7 @@ namespace Game.Entities data.WriteUInt32(GetViewerDependentFlags(this, owner, receiver)); data.WriteUInt32(GetViewerDependentFlags2(this, owner, receiver)); data.WriteUInt32(GetViewerDependentFlags3(this, owner, receiver)); + data.WriteUInt32(GetViewerDependentFlags4(this, owner, receiver)); data.WriteUInt32(GetViewerDependentAuraState(this, owner, receiver)); for (int i = 0; i < 2; ++i) data.WriteUInt32(AttackRoundBaseTime[i]); @@ -1356,7 +1359,7 @@ namespace Game.Entities data.WriteFloat(CombatReach); data.WriteFloat(DisplayScale); data.WriteInt32(CreatureFamily); - data.WriteInt32(CreatureType); + data.WriteUInt8(CreatureType); data.WriteUInt32(NativeDisplayID); data.WriteFloat(NativeXDisplayScale); data.WriteUInt32(MountDisplayID); @@ -1461,6 +1464,7 @@ namespace Game.Entities data.WriteInt32(ChannelObjects.Size()); data.WriteInt32(FlightCapabilityID); data.WriteFloat(GlideEventSpeedDivisor); + data.WriteInt32(DriveCapabilityID); data.WriteInt32(MaxHealthModifierFlatNeg); data.WriteInt32(MaxHealthModifierFlatPos); data.WriteUInt32(SilencedSchoolMask); @@ -1484,7 +1488,7 @@ namespace Game.Entities public void WriteUpdate(WorldPacket data, UpdateFieldFlag fieldVisibilityFlags, Unit owner, Player receiver) { - UpdateMask allowedMaskForTarget = new(ChangeMaskLength, [0xFFFEFFFFu, 0x87FDFFFFu, 0x007BFFFFu, 0xFFFFFC01u, 0x03FFFFFFu, 0x001FC000u, 0x00000000u]); + UpdateMask allowedMaskForTarget = new(ChangeMaskLength, [0xFFFEFFFFu, 0x0FFBFFFFu, 0x00F7FFFFu, 0xFFFFF801u, 0x0FFFFFFFu, 0x007F0000u, 0x00000000u]); AppendAllowedFieldsMaskForFlag(allowedMaskForTarget, fieldVisibilityFlags); WriteUpdate(data, _changesMask & allowedMaskForTarget, false, owner, receiver); } @@ -1492,16 +1496,16 @@ namespace Game.Entities public void AppendAllowedFieldsMaskForFlag(UpdateMask allowedMaskForTarget, UpdateFieldFlag fieldVisibilityFlags) { if (fieldVisibilityFlags.HasFlag(UpdateFieldFlag.Owner)) - allowedMaskForTarget.OR(new UpdateMask(ChangeMaskLength, [0x00010000u, 0x78020000u, 0xFF840000u, 0x000003FEu, 0xFC000020u, 0xFFE03FFFu, 0x0FFFFFFFu])); + allowedMaskForTarget.OR(new UpdateMask(ChangeMaskLength, [0x00010000u, 0xF0040000u, 0xFF080000u, 0x000007FEu, 0xF0000080u, 0xFF80FFFFu, 0x3FFFFFFFu])); if (fieldVisibilityFlags.HasFlag(UpdateFieldFlag.UnitAll)) - allowedMaskForTarget.OR(new UpdateMask(ChangeMaskLength, [0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0xFC000020u, 0x00003FFFu, 0x00000000u])); + allowedMaskForTarget.OR(new UpdateMask(ChangeMaskLength, [0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0xF0000080u, 0x0000FFFFu, 0x00000000u])); if (fieldVisibilityFlags.HasFlag(UpdateFieldFlag.Empath)) - allowedMaskForTarget.OR(new UpdateMask(ChangeMaskLength, [0x00000000u, 0x78000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00003FC0u])); + allowedMaskForTarget.OR(new UpdateMask(ChangeMaskLength, [0x00000000u, 0xF0000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x00000000u, 0x0000FF00u])); } public void FilterDisallowedFieldsMaskForFlag(UpdateMask changesMask, UpdateFieldFlag fieldVisibilityFlags) { - UpdateMask allowedMaskForTarget = new(ChangeMaskLength, [0xFFFEFFFFu, 0x87FDFFFFu, 0x007BFFFFu, 0xFFFFFC01u, 0x03FFFFFFu, 0x001FC000u, 0x00000000u]); + UpdateMask allowedMaskForTarget = new(ChangeMaskLength, [0xFFFEFFFFu, 0x0FFBFFFFu, 0x00F7FFFFu, 0xFFFFF801u, 0x0FFFFFFFu, 0x007F0000u, 0x00000000u]); AppendAllowedFieldsMaskForFlag(allowedMaskForTarget, fieldVisibilityFlags); changesMask.AND(allowedMaskForTarget); } @@ -1738,7 +1742,7 @@ namespace Game.Entities } if (changesMask[43]) { - data.WriteInt32(ScalingFactionGroup); + data.WriteUInt8(ScalingFactionGroup); } if (changesMask[44]) { @@ -1758,419 +1762,427 @@ namespace Game.Entities } if (changesMask[48]) { - data.WriteUInt32(GetViewerDependentAuraState(this, owner, receiver)); + data.WriteUInt32(GetViewerDependentFlags4(this, owner, receiver)); } if (changesMask[49]) { - data.WriteUInt32(RangedAttackRoundBaseTime); + data.WriteUInt32(GetViewerDependentAuraState(this, owner, receiver)); } if (changesMask[50]) { - data.WriteFloat(BoundingRadius); + data.WriteUInt32(RangedAttackRoundBaseTime); } if (changesMask[51]) { - data.WriteFloat(CombatReach); + data.WriteFloat(BoundingRadius); } if (changesMask[52]) { - data.WriteFloat(DisplayScale); + data.WriteFloat(CombatReach); } if (changesMask[53]) { - data.WriteInt32(CreatureFamily); + data.WriteFloat(DisplayScale); } if (changesMask[54]) { - data.WriteInt32(CreatureType); + data.WriteInt32(CreatureFamily); } if (changesMask[55]) { - data.WriteUInt32(NativeDisplayID); + data.WriteUInt8(CreatureType); } if (changesMask[56]) { - data.WriteFloat(NativeXDisplayScale); + data.WriteUInt32(NativeDisplayID); } if (changesMask[57]) { - data.WriteUInt32(MountDisplayID); + data.WriteFloat(NativeXDisplayScale); } if (changesMask[58]) { - data.WriteUInt32(CosmeticMountDisplayID); + data.WriteUInt32(MountDisplayID); } if (changesMask[59]) { - data.WriteFloat(MinDamage); + data.WriteUInt32(CosmeticMountDisplayID); } if (changesMask[60]) { - data.WriteFloat(MaxDamage); + data.WriteFloat(MinDamage); } if (changesMask[61]) { - data.WriteFloat(MinOffHandDamage); + data.WriteFloat(MaxDamage); } if (changesMask[62]) { - data.WriteFloat(MaxOffHandDamage); + data.WriteFloat(MinOffHandDamage); } if (changesMask[63]) { - data.WriteUInt8(StandState); + data.WriteFloat(MaxOffHandDamage); } } if (changesMask[64]) { if (changesMask[65]) { - data.WriteUInt8(PetTalentPoints); + data.WriteUInt8(StandState); } if (changesMask[66]) { - data.WriteUInt8(VisFlags); + data.WriteUInt8(PetTalentPoints); } if (changesMask[67]) { - data.WriteUInt8(AnimTier); + data.WriteUInt8(VisFlags); } if (changesMask[68]) { - data.WriteUInt32(PetNumber); + data.WriteUInt8(AnimTier); } if (changesMask[69]) { - data.WriteUInt32(PetNameTimestamp); + data.WriteUInt32(PetNumber); } if (changesMask[70]) { - data.WriteUInt32(PetExperience); + data.WriteUInt32(PetNameTimestamp); } if (changesMask[71]) { - data.WriteUInt32(PetNextLevelExperience); + data.WriteUInt32(PetExperience); } if (changesMask[72]) { - data.WriteFloat(ModCastingSpeed); + data.WriteUInt32(PetNextLevelExperience); } if (changesMask[73]) { - data.WriteFloat(ModCastingSpeedNeg); + data.WriteFloat(ModCastingSpeed); } if (changesMask[74]) { - data.WriteFloat(ModSpellHaste); + data.WriteFloat(ModCastingSpeedNeg); } if (changesMask[75]) { - data.WriteFloat(ModHaste); + data.WriteFloat(ModSpellHaste); } if (changesMask[76]) { - data.WriteFloat(ModRangedHaste); + data.WriteFloat(ModHaste); } if (changesMask[77]) { - data.WriteFloat(ModHasteRegen); + data.WriteFloat(ModRangedHaste); } if (changesMask[78]) { - data.WriteFloat(ModTimeRate); + data.WriteFloat(ModHasteRegen); } if (changesMask[79]) { - data.WriteUInt32(CreatedBySpell); + data.WriteFloat(ModTimeRate); } if (changesMask[80]) { - data.WriteInt32(EmoteState); + data.WriteUInt32(CreatedBySpell); } if (changesMask[81]) { - data.WriteUInt32(BaseMana); + data.WriteInt32(EmoteState); } if (changesMask[82]) { - data.WriteUInt32(BaseHealth); + data.WriteUInt32(BaseMana); } if (changesMask[83]) { - data.WriteUInt8(SheatheState); + data.WriteUInt32(BaseHealth); } if (changesMask[84]) { - data.WriteUInt8(GetViewerDependentPvpFlags(this, owner, receiver)); + data.WriteUInt8(SheatheState); } if (changesMask[85]) { - data.WriteUInt8(PetFlags); + data.WriteUInt8(GetViewerDependentPvpFlags(this, owner, receiver)); } if (changesMask[86]) { - data.WriteUInt8(ShapeshiftForm); + data.WriteUInt8(PetFlags); } if (changesMask[87]) { - data.WriteInt32(AttackPower); + data.WriteUInt8(ShapeshiftForm); } if (changesMask[88]) { - data.WriteInt32(AttackPowerModPos); + data.WriteInt32(AttackPower); } if (changesMask[89]) { - data.WriteInt32(AttackPowerModNeg); + data.WriteInt32(AttackPowerModPos); } if (changesMask[90]) { - data.WriteFloat(AttackPowerMultiplier); + data.WriteInt32(AttackPowerModNeg); } if (changesMask[91]) { - data.WriteInt32(AttackPowerModSupport); + data.WriteFloat(AttackPowerMultiplier); } if (changesMask[92]) { - data.WriteInt32(RangedAttackPower); + data.WriteInt32(AttackPowerModSupport); } if (changesMask[93]) { - data.WriteInt32(RangedAttackPowerModPos); + data.WriteInt32(RangedAttackPower); } if (changesMask[94]) { - data.WriteInt32(RangedAttackPowerModNeg); + data.WriteInt32(RangedAttackPowerModPos); } if (changesMask[95]) { - data.WriteFloat(RangedAttackPowerMultiplier); + data.WriteInt32(RangedAttackPowerModNeg); } } if (changesMask[96]) { if (changesMask[97]) { - data.WriteInt32(RangedAttackPowerModSupport); + data.WriteFloat(RangedAttackPowerMultiplier); } if (changesMask[98]) { - data.WriteInt32(MainHandWeaponAttackPower); + data.WriteInt32(RangedAttackPowerModSupport); } if (changesMask[99]) { - data.WriteInt32(OffHandWeaponAttackPower); + data.WriteInt32(MainHandWeaponAttackPower); } if (changesMask[100]) { - data.WriteInt32(RangedWeaponAttackPower); + data.WriteInt32(OffHandWeaponAttackPower); } if (changesMask[101]) { - data.WriteInt32(SetAttackSpeedAura); + data.WriteInt32(RangedWeaponAttackPower); } if (changesMask[102]) { - data.WriteFloat(Lifesteal); + data.WriteInt32(SetAttackSpeedAura); } if (changesMask[103]) { - data.WriteFloat(MinRangedDamage); + data.WriteFloat(Lifesteal); } if (changesMask[104]) { - data.WriteFloat(MaxRangedDamage); + data.WriteFloat(MinRangedDamage); } if (changesMask[105]) { - data.WriteFloat(ManaCostMultiplier); + data.WriteFloat(MaxRangedDamage); } if (changesMask[106]) { - data.WriteFloat(MaxHealthModifier); + data.WriteFloat(ManaCostMultiplier); } if (changesMask[107]) { - data.WriteFloat(HoverHeight); + data.WriteFloat(MaxHealthModifier); } if (changesMask[108]) { - data.WriteUInt32(MinItemLevelCutoff); + data.WriteFloat(HoverHeight); } if (changesMask[109]) { - data.WriteUInt32(MinItemLevel); + data.WriteUInt32(MinItemLevelCutoff); } if (changesMask[110]) { - data.WriteUInt32(MaxItemLevel); + data.WriteUInt32(MinItemLevel); } if (changesMask[111]) { - data.WriteUInt32(AzeriteItemLevel); + data.WriteUInt32(MaxItemLevel); } if (changesMask[112]) { - data.WriteUInt32(WildBattlePetLevel); + data.WriteUInt32(AzeriteItemLevel); } if (changesMask[113]) { - data.WriteUInt32(BattlePetCompanionExperience); + data.WriteUInt32(WildBattlePetLevel); } if (changesMask[114]) { - data.WriteUInt32(BattlePetCompanionNameTimestamp); + data.WriteUInt32(BattlePetCompanionExperience); } if (changesMask[115]) { - data.WriteInt32(GetViewerDependentInteractSpellId(this, owner, receiver)); + data.WriteUInt32(BattlePetCompanionNameTimestamp); } if (changesMask[116]) { - data.WriteInt32(ScaleDuration); + data.WriteInt32(GetViewerDependentInteractSpellId(this, owner, receiver)); } if (changesMask[117]) { - data.WriteInt32(LooksLikeMountID); + data.WriteInt32(ScaleDuration); } if (changesMask[118]) { - data.WriteInt32(LooksLikeCreatureID); + data.WriteInt32(LooksLikeMountID); } if (changesMask[119]) { - data.WriteInt32(LookAtControllerID); + data.WriteInt32(LooksLikeCreatureID); } if (changesMask[120]) { - data.WriteInt32(PerksVendorItemID); + data.WriteInt32(LookAtControllerID); } if (changesMask[121]) { - data.WriteInt32(TaxiNodesID); + data.WriteInt32(PerksVendorItemID); } if (changesMask[122]) { - data.WritePackedGuid(GuildGUID); + data.WriteInt32(TaxiNodesID); } if (changesMask[123]) { - data.WriteInt32(FlightCapabilityID); + data.WritePackedGuid(GuildGUID); } if (changesMask[124]) { - data.WriteFloat(GlideEventSpeedDivisor); + data.WriteInt32(FlightCapabilityID); } if (changesMask[125]) { - data.WriteInt32(MaxHealthModifierFlatNeg); + data.WriteFloat(GlideEventSpeedDivisor); } if (changesMask[126]) { - data.WriteInt32(MaxHealthModifierFlatPos); + data.WriteInt32(DriveCapabilityID); } if (changesMask[127]) { - data.WriteUInt32(SilencedSchoolMask); + data.WriteInt32(MaxHealthModifierFlatNeg); } } if (changesMask[128]) { if (changesMask[129]) { - data.WriteUInt32(CurrentAreaID); + data.WriteInt32(MaxHealthModifierFlatPos); } if (changesMask[130]) { - data.WriteFloat(Field_31C); + data.WriteUInt32(SilencedSchoolMask); } if (changesMask[131]) { - data.WriteFloat(Field_320); + data.WriteUInt32(CurrentAreaID); } if (changesMask[132]) + { + data.WriteFloat(Field_31C); + } + if (changesMask[133]) + { + data.WriteFloat(Field_320); + } + if (changesMask[134]) { data.WritePackedGuid(NameplateAttachToGUID); } } - if (changesMask[133]) + if (changesMask[135]) { for (int i = 0; i < 10; ++i) { - if (changesMask[134 + i]) + if (changesMask[136 + i]) { data.WriteInt32(Power[i]); } - if (changesMask[144 + i]) + if (changesMask[146 + i]) { data.WriteUInt32(MaxPower[i]); } - if (changesMask[154 + i]) + if (changesMask[156 + i]) { data.WriteFloat(PowerRegenFlatModifier[i]); } - if (changesMask[164 + i]) + if (changesMask[166 + i]) { data.WriteFloat(PowerRegenInterruptedFlatModifier[i]); } } } - if (changesMask[174]) + if (changesMask[176]) { for (int i = 0; i < 3; ++i) { - if (changesMask[175 + i]) + if (changesMask[177 + i]) { VirtualItems[i].WriteUpdate(data, ignoreNestedChangesMask, owner, receiver); } } } - if (changesMask[178]) + if (changesMask[180]) { for (int i = 0; i < 2; ++i) { - if (changesMask[179 + i]) + if (changesMask[181 + i]) { data.WriteUInt32(AttackRoundBaseTime[i]); } } } - if (changesMask[181]) + if (changesMask[183]) { for (int i = 0; i < 4; ++i) { - if (changesMask[182 + i]) + if (changesMask[184 + i]) { data.WriteInt32(Stats[i]); } - if (changesMask[186 + i]) + if (changesMask[188 + i]) { data.WriteInt32(StatPosBuff[i]); } - if (changesMask[190 + i]) + if (changesMask[192 + i]) { data.WriteInt32(StatNegBuff[i]); } - if (changesMask[194 + i]) + if (changesMask[196 + i]) { data.WriteInt32(StatSupportBuff[i]); } } } - if (changesMask[198]) + if (changesMask[200]) { for (int i = 0; i < 7; ++i) { - if (changesMask[199 + i]) + if (changesMask[201 + i]) { data.WriteInt32(Resistances[i]); } - if (changesMask[206 + i]) + if (changesMask[208 + i]) { data.WriteInt32(BonusResistanceMods[i]); } - if (changesMask[213 + i]) + if (changesMask[215 + i]) { data.WriteInt32(ManaCostModifier[i]); } @@ -2227,6 +2239,7 @@ namespace Game.Entities ClearChangesMask(Flags); ClearChangesMask(Flags2); ClearChangesMask(Flags3); + ClearChangesMask(Flags4); ClearChangesMask(AuraState); ClearChangesMask(RangedAttackRoundBaseTime); ClearChangesMask(BoundingRadius); @@ -2302,6 +2315,7 @@ namespace Game.Entities ClearChangesMask(GuildGUID); ClearChangesMask(FlightCapabilityID); ClearChangesMask(GlideEventSpeedDivisor); + ClearChangesMask(DriveCapabilityID); ClearChangesMask(MaxHealthModifierFlatNeg); ClearChangesMask(MaxHealthModifierFlatPos); ClearChangesMask(SilencedSchoolMask); @@ -2452,6 +2466,11 @@ namespace Game.Entities return flags; } + uint GetViewerDependentFlags4(UnitData unitData, Unit unit, Player receiver) + { + return unitData.Flags4; + } + uint GetViewerDependentAuraState(UnitData unitData, Unit unit, Player receiver) { // Check per caster aura states to not enable using a spell in client if specified aura is not by target @@ -2824,20 +2843,20 @@ namespace Game.Entities public class CTROptions { public uint ConditionalFlags; - public uint FactionGroup; + public byte FactionGroup; public uint ChromieTimeExpansionMask; public void WriteCreate(WorldPacket data, Player owner, Player receiver) { data.WriteUInt32(ConditionalFlags); - data.WriteUInt32(FactionGroup); + data.WriteUInt8(FactionGroup); data.WriteUInt32(ChromieTimeExpansionMask); } public void WriteUpdate(WorldPacket data, bool ignoreChangesMask, Player owner, Player receiver) { data.WriteUInt32(ConditionalFlags); - data.WriteUInt32(FactionGroup); + data.WriteUInt8(FactionGroup); data.WriteUInt32(ChromieTimeExpansionMask); } } @@ -5266,8 +5285,9 @@ namespace Game.Entities public UpdateField ExperienceLevel = new(0, 5); public UpdateFieldString Name = new(0, 6); public UpdateField PetFlags = new(0, 7); + public UpdateField Specialization = new(0, 8); - public StablePetInfo() : base(8) { } + public StablePetInfo() : base(9) { } public void WriteCreate(WorldPacket data, Player owner, Player receiver) { @@ -5277,6 +5297,7 @@ namespace Game.Entities data.WriteUInt32(DisplayID); data.WriteUInt32(ExperienceLevel); data.WriteUInt8(PetFlags); + data.WriteUInt32(Specialization); data.WriteBits(Name.Size(), 8); data.WriteString(Name); data.FlushBits(); @@ -5288,7 +5309,7 @@ namespace Game.Entities if (ignoreChangesMask) changesMask.SetAll(); - data.WriteBits(changesMask.GetBlock(0), 8); + data.WriteBits(changesMask.GetBlock(0), 9); data.FlushBits(); if (changesMask[0]) @@ -5317,6 +5338,10 @@ namespace Game.Entities { data.WriteUInt8(PetFlags); } + if (changesMask[8]) + { + data.WriteUInt32(Specialization); + } if (changesMask[6]) { data.WriteBits(Name.Size(), 8); @@ -5335,6 +5360,7 @@ namespace Game.Entities ClearChangesMask(ExperienceLevel); ClearChangesMask(Name); ClearChangesMask(PetFlags); + ClearChangesMask(Specialization); _changesMask.ResetAll(); } } @@ -5610,7 +5636,7 @@ namespace Game.Entities public static int QuestCompletedBitsSize; public static int QuestCompletedBitsPerBlock; - static int changeMaskLength = 1516; + static int changeMaskLength = 1517; public UpdateField BackpackAutoSortDisabled = new(0, 1); public UpdateField BackpackSellJunkDisabled = new(0, 2); @@ -5618,9 +5644,9 @@ namespace Game.Entities public UpdateField SortBagsRightToLeft = new(0, 4); public UpdateField InsertItemsLeftToRight = new(0, 5); public UpdateField HasPerksProgramPendingReward = new(0, 6); - public UpdateFieldArray> ResearchSites = new(1, 40, 41); - public UpdateFieldArray> ResearchSiteProgress = new(1, 42, 43); - public UpdateFieldArray> Research = new(1, 44, 45); + public UpdateFieldArray> ResearchSites = new(1, 41, 42); + public UpdateFieldArray> ResearchSiteProgress = new(1, 43, 44); + public UpdateFieldArray> Research = new(1, 45, 46); public DynamicUpdateField KnownTitles = new(0, 7); public DynamicUpdateField DailyQuestsCompleted = new(0, 11); public DynamicUpdateField AvailableQuestLineXQuestIDs = new(0, 12); @@ -5633,139 +5659,140 @@ namespace Game.Entities public DynamicUpdateField SelfResSpells = new(0, 19); public DynamicUpdateField RuneforgePowers = new(0, 20); public DynamicUpdateField TransmogIllusions = new(0, 21); - public DynamicUpdateField SpellPctModByLabel = new(0, 23); - public DynamicUpdateField SpellFlatModByLabel = new(0, 24); - public DynamicUpdateField MawPowers = new(0, 25); - public DynamicUpdateField MultiFloorExploration = new(0, 26); - public DynamicUpdateField RecipeProgression = new(0, 27); - public DynamicUpdateField ReplayedQuests = new(0, 28); - public DynamicUpdateField TaskQuests = new(0, 29); - public DynamicUpdateField DisabledSpells = new(0, 30); - public DynamicUpdateField PersonalCraftingOrderCounts = new(32, 34); - public DynamicUpdateField NpcCraftingOrders = new(32, 35); - public DynamicUpdateField CategoryCooldownMods = new(32, 36); - public DynamicUpdateField WeeklySpellUses = new(32, 37); - public DynamicUpdateField TrackedCollectableSources = new(32, 38); + public DynamicUpdateField WarbandScenes = new(0, 22); + public DynamicUpdateField SpellPctModByLabel = new(0, 24); + public DynamicUpdateField SpellFlatModByLabel = new(0, 25); + public DynamicUpdateField MawPowers = new(0, 26); + public DynamicUpdateField MultiFloorExploration = new(0, 27); + public DynamicUpdateField RecipeProgression = new(0, 28); + public DynamicUpdateField ReplayedQuests = new(0, 29); + public DynamicUpdateField TaskQuests = new(0, 30); + public DynamicUpdateField DisabledSpells = new(0, 31); + public DynamicUpdateField PersonalCraftingOrderCounts = new(32, 35); + public DynamicUpdateField NpcCraftingOrders = new(32, 36); + public DynamicUpdateField CategoryCooldownMods = new(32, 37); + public DynamicUpdateField WeeklySpellUses = new(32, 38); + public DynamicUpdateField TrackedCollectableSources = new(32, 39); public DynamicUpdateField CharacterDataElements = new(0, 8); public DynamicUpdateField AccountDataElements = new(0, 9); public DynamicUpdateField PvpInfo = new(0, 10); - public DynamicUpdateField CharacterRestrictions = new(0, 22); - public DynamicUpdateField TraitConfigs = new(0, 31); - public DynamicUpdateField CraftingOrders = new(32, 33); - public DynamicUpdateField AccountBankTabSettings = new(32, 39); - public UpdateField FarsightObject = new(32, 46); - public UpdateField SummonedBattlePetGUID = new(32, 47); - public UpdateField Coinage = new(32, 48); - public UpdateField AccountBankCoinage = new(32, 49); - public UpdateField XP = new(32, 50); - public UpdateField NextLevelXP = new(32, 51); - public UpdateField TrialXP = new(32, 52); - public UpdateField Skill = new(32, 53); - public UpdateField CharacterPoints = new(32, 54); - public UpdateField MaxTalentTiers = new(32, 55); - public UpdateField TrackCreatureMask = new(32, 56); - public UpdateField MainhandExpertise = new(32, 57); - public UpdateField OffhandExpertise = new(32, 58); - public UpdateField RangedExpertise = new(32, 59); - public UpdateField CombatRatingExpertise = new(32, 60); - public UpdateField BlockPercentage = new(32, 61); - public UpdateField DodgePercentage = new(32, 62); - public UpdateField DodgePercentageFromAttribute = new(32, 63); - public UpdateField ParryPercentage = new(32, 64); - public UpdateField ParryPercentageFromAttribute = new(32, 65); - public UpdateField CritPercentage = new(32, 66); - public UpdateField RangedCritPercentage = new(32, 67); - public UpdateField OffhandCritPercentage = new(32, 68); - public UpdateField SpellCritPercentage = new(32, 69); - public UpdateField ShieldBlock = new(70, 71); - public UpdateField ShieldBlockCritPercentage = new(70, 72); - public UpdateField Mastery = new(70, 73); - public UpdateField Speed = new(70, 74); - public UpdateField Avoidance = new(70, 75); - public UpdateField Sturdiness = new(70, 76); - public UpdateField Versatility = new(70, 77); - public UpdateField VersatilityBonus = new(70, 78); - public UpdateField PvpPowerDamage = new(70, 79); - public UpdateField PvpPowerHealing = new(70, 80); - public UpdateField BitVectors = new(70, 81); - public UpdateField ModHealingDonePos = new(70, 82); - public UpdateField ModHealingPercent = new(70, 83); - public UpdateField ModPeriodicHealingDonePercent = new(70, 84); - public UpdateField ModSpellPowerPercent = new(70, 85); - public UpdateField ModResiliencePercent = new(70, 86); - public UpdateField OverrideSpellPowerByAPPercent = new(70, 87); - public UpdateField OverrideAPBySpellPowerPercent = new(70, 88); - public UpdateField ModTargetResistance = new(70, 89); - public UpdateField ModTargetPhysicalResistance = new(70, 90); - public UpdateField LocalFlags = new(70, 91); - public UpdateField GrantableLevels = new(70, 92); - public UpdateField MultiActionBars = new(70, 93); - public UpdateField LifetimeMaxRank = new(70, 94); - public UpdateField NumRespecs = new(70, 95); - public UpdateField PvpMedals = new(70, 96); - public UpdateField TodayHonorableKills = new(70, 97); - public UpdateField YesterdayHonorableKills = new(70, 98); - public UpdateField LifetimeHonorableKills = new(70, 99); - public UpdateField WatchedFactionIndex = new(70, 100); - public UpdateField MaxLevel = new(70, 101); - public UpdateField ScalingPlayerLevelDelta = new(102, 103); - public UpdateField MaxCreatureScalingLevel = new(102, 104); - public UpdateField PetSpellPower = new(102, 105); - public UpdateField UiHitModifier = new(102, 106); - public UpdateField UiSpellHitModifier = new(102, 107); - public UpdateField HomeRealmTimeOffset = new(102, 108); - public UpdateField ModPetHaste = new(102, 109); - public UpdateField JailersTowerLevelMax = new(102, 110); - public UpdateField JailersTowerLevel = new(102, 111); - public UpdateField LocalRegenFlags = new(102, 112); - public UpdateField AuraVision = new(102, 113); - public UpdateField NumBackpackSlots = new(102, 114); - public UpdateField OverrideSpellsID = new(102, 115); - public UpdateField LootSpecID = new(102, 116); - public UpdateField OverrideZonePVPType = new(102, 117); - public UpdateField Honor = new(102, 118); - public UpdateField HonorNextLevel = new(102, 119); - public UpdateField PerksProgramCurrency = new(102, 120); - public UpdateField NumBankSlots = new(102, 121); - public UpdateField NumAccountBankTabs = new(102, 122); - public UpdateField ResearchHistory = new(102, 123); - public UpdateField FrozenPerksVendorItem = new(102, 124); - public UpdateField Field_1410 = new(102, 126); - public OptionalUpdateField QuestSession = new(102, 125); - public UpdateField UiChromieTimeExpansionID = new(102, 127); - public UpdateField TimerunningSeasonID = new(102, 128); - public UpdateField TransportServerTime = new(102, 129); - public UpdateField WeeklyRewardsPeriodSinceOrigin = new(102, 130); // week count since Cfg_RegionsEntry::ChallengeOrigin - public UpdateField DEBUGSoulbindConduitRank = new(102, 131); - public UpdateField DungeonScore = new(102, 132); - public UpdateField ActiveCombatTraitConfigID = new(102, 133); - public UpdateField ItemUpgradeHighOnehandWeaponItemID = new(134, 135); - public UpdateField ItemUpgradeHighFingerItemID = new(134, 136); - public UpdateField ItemUpgradeHighFingerWatermark = new(134, 137); - public UpdateField ItemUpgradeHighTrinketItemID = new(134, 138); - public UpdateField ItemUpgradeHighTrinketWatermark = new(134, 139); - public UpdateField LootHistoryInstanceID = new(134, 140); - public OptionalUpdateField PetStable = new(134, 141); - public UpdateField RequiredMountCapabilityFlags = new(134, 142); - public OptionalUpdateField WalkInData = new(134, 143); - public OptionalUpdateField DelveData = new(134, 144); - public UpdateFieldArray InvSlots = new(232, 145, 146); - public UpdateFieldArray RestInfo = new(2, 378, 379); - public UpdateFieldArray ModDamageDonePos = new(7, 381, 382); - public UpdateFieldArray ModDamageDoneNeg = new(7, 381, 389); - public UpdateFieldArray ModDamageDonePercent = new(7, 381, 396); - public UpdateFieldArray ModHealingDonePercent = new(7, 381, 403); - public UpdateFieldArray WeaponDmgMultipliers = new(3, 410, 411); - public UpdateFieldArray WeaponAtkSpeedMultipliers = new(3, 410, 414); - public UpdateFieldArray BuybackPrice = new(12, 417, 418); - public UpdateFieldArray BuybackTimestamp = new(12, 417, 430); - public UpdateFieldArray CombatRatings = new(32, 442, 443); - public UpdateFieldArray NoReagentCostMask = new(4, 475, 476); - public UpdateFieldArray ProfessionSkillLine = new(2, 480, 481); - public UpdateFieldArray BagSlotFlags = new(5, 483, 484); - public UpdateFieldArray BankBagSlotFlags = new(7, 489, 490); - public UpdateFieldArray QuestCompleted = new(1000, 497, 498); - public UpdateFieldArray ItemUpgradeHighWatermark = new(17, 1498, 1499); + public DynamicUpdateField CharacterRestrictions = new(0, 23); + public DynamicUpdateField TraitConfigs = new(32, 33); + public DynamicUpdateField CraftingOrders = new(32, 34); + public DynamicUpdateField AccountBankTabSettings = new(32, 40); + public UpdateField FarsightObject = new(32, 47); + public UpdateField SummonedBattlePetGUID = new(32, 48); + public UpdateField Coinage = new(32, 49); + public UpdateField AccountBankCoinage = new(32, 50); + public UpdateField XP = new(32, 51); + public UpdateField NextLevelXP = new(32, 52); + public UpdateField TrialXP = new(32, 53); + public UpdateField Skill = new(32, 54); + public UpdateField CharacterPoints = new(32, 55); + public UpdateField MaxTalentTiers = new(32, 56); + public UpdateField TrackCreatureMask = new(32, 57); + public UpdateField MainhandExpertise = new(32, 58); + public UpdateField OffhandExpertise = new(32, 59); + public UpdateField RangedExpertise = new(32, 60); + public UpdateField CombatRatingExpertise = new(32, 61); + public UpdateField BlockPercentage = new(32, 62); + public UpdateField DodgePercentage = new(32, 63); + public UpdateField DodgePercentageFromAttribute = new(32, 64); + public UpdateField ParryPercentage = new(32, 65); + public UpdateField ParryPercentageFromAttribute = new(32, 66); + public UpdateField CritPercentage = new(32, 67); + public UpdateField RangedCritPercentage = new(32, 68); + public UpdateField OffhandCritPercentage = new(32, 69); + public UpdateField SpellCritPercentage = new(70, 71); + public UpdateField ShieldBlock = new(70, 72); + public UpdateField ShieldBlockCritPercentage = new(70, 73); + public UpdateField Mastery = new(70, 74); + public UpdateField Speed = new(70, 75); + public UpdateField Avoidance = new(70, 76); + public UpdateField Sturdiness = new(70, 77); + public UpdateField Versatility = new(70, 78); + public UpdateField VersatilityBonus = new(70, 79); + public UpdateField PvpPowerDamage = new(70, 80); + public UpdateField PvpPowerHealing = new(70, 81); + public UpdateField BitVectors = new(70, 82); + public UpdateField ModHealingDonePos = new(70, 83); + public UpdateField ModHealingPercent = new(70, 84); + public UpdateField ModPeriodicHealingDonePercent = new(70, 85); + public UpdateField ModSpellPowerPercent = new(70, 86); + public UpdateField ModResiliencePercent = new(70, 87); + public UpdateField OverrideSpellPowerByAPPercent = new(70, 88); + public UpdateField OverrideAPBySpellPowerPercent = new(70, 89); + public UpdateField ModTargetResistance = new(70, 90); + public UpdateField ModTargetPhysicalResistance = new(70, 91); + public UpdateField LocalFlags = new(70, 92); + public UpdateField GrantableLevels = new(70, 93); + public UpdateField MultiActionBars = new(70, 94); + public UpdateField LifetimeMaxRank = new(70, 95); + public UpdateField NumRespecs = new(70, 96); + public UpdateField PvpMedals = new(70, 97); + public UpdateField TodayHonorableKills = new(70, 98); + public UpdateField YesterdayHonorableKills = new(70, 99); + public UpdateField LifetimeHonorableKills = new(70, 100); + public UpdateField WatchedFactionIndex = new(70, 101); + public UpdateField MaxLevel = new(102, 103); + public UpdateField ScalingPlayerLevelDelta = new(102, 104); + public UpdateField MaxCreatureScalingLevel = new(102, 105); + public UpdateField PetSpellPower = new(102, 106); + public UpdateField UiHitModifier = new(102, 107); + public UpdateField UiSpellHitModifier = new(102, 108); + public UpdateField HomeRealmTimeOffset = new(102, 109); + public UpdateField ModPetHaste = new(102, 110); + public UpdateField JailersTowerLevelMax = new(102, 111); + public UpdateField JailersTowerLevel = new(102, 112); + public UpdateField LocalRegenFlags = new(102, 113); + public UpdateField AuraVision = new(102, 114); + public UpdateField NumBackpackSlots = new(102, 115); + public UpdateField OverrideSpellsID = new(102, 116); + public UpdateField LootSpecID = new(102, 117); + public UpdateField OverrideZonePVPType = new(102, 118); + public UpdateField Honor = new(102, 119); + public UpdateField HonorNextLevel = new(102, 120); + public UpdateField PerksProgramCurrency = new(102, 121); + public UpdateField NumBankSlots = new(102, 122); + public UpdateField NumAccountBankTabs = new(102, 123); + public UpdateField ResearchHistory = new(102, 124); + public UpdateField FrozenPerksVendorItem = new(102, 125); + public UpdateField Field_1410 = new(102, 127); + public OptionalUpdateField QuestSession = new(102, 126); + public UpdateField UiChromieTimeExpansionID = new(102, 128); + public UpdateField TimerunningSeasonID = new(102, 129); + public UpdateField TransportServerTime = new(102, 130); + public UpdateField WeeklyRewardsPeriodSinceOrigin = new(102, 131); // week count since Cfg_RegionsEntry::ChallengeOrigin + public UpdateField DEBUGSoulbindConduitRank = new(102, 132); + public UpdateField DungeonScore = new(102, 133); + public UpdateField ActiveCombatTraitConfigID = new(134, 135); + public UpdateField ItemUpgradeHighOnehandWeaponItemID = new(134, 136); + public UpdateField ItemUpgradeHighFingerItemID = new(134, 137); + public UpdateField ItemUpgradeHighFingerWatermark = new(134, 138); + public UpdateField ItemUpgradeHighTrinketItemID = new(134, 139); + public UpdateField ItemUpgradeHighTrinketWatermark = new(134, 140); + public UpdateField LootHistoryInstanceID = new(134, 141); + public OptionalUpdateField PetStable = new(134, 142); + public UpdateField RequiredMountCapabilityFlags = new(134, 143); + public OptionalUpdateField WalkInData = new(134, 144); + public OptionalUpdateField DelveData = new(134, 145); + public UpdateFieldArray InvSlots = new(232, 146, 147); + public UpdateFieldArray RestInfo = new(2, 379, 380); + public UpdateFieldArray ModDamageDonePos = new(7, 382, 383); + public UpdateFieldArray ModDamageDoneNeg = new(7, 382, 390); + public UpdateFieldArray ModDamageDonePercent = new(7, 382, 397); + public UpdateFieldArray ModHealingDonePercent = new(7, 382, 404); + public UpdateFieldArray WeaponDmgMultipliers = new(3, 411, 412); + public UpdateFieldArray WeaponAtkSpeedMultipliers = new(3, 411, 415); + public UpdateFieldArray BuybackPrice = new(12, 418, 419); + public UpdateFieldArray BuybackTimestamp = new(12, 418, 431); + public UpdateFieldArray CombatRatings = new(32, 443, 444); + public UpdateFieldArray NoReagentCostMask = new(4, 476, 477); + public UpdateFieldArray ProfessionSkillLine = new(2, 481, 482); + public UpdateFieldArray BagSlotFlags = new(5, 484, 485); + public UpdateFieldArray BankBagSlotFlags = new(7, 490, 491); + public UpdateFieldArray QuestCompleted = new(1000, 498, 499); + public UpdateFieldArray ItemUpgradeHighWatermark = new(17, 1499, 1500); public ActivePlayerData() : base((int)EntityFragment.CGObject, TypeId.ActivePlayer, changeMaskLength) { @@ -5847,7 +5874,7 @@ namespace Game.Entities data.WriteUInt8(MultiActionBars); data.WriteUInt8(LifetimeMaxRank); data.WriteUInt8(NumRespecs); - data.WriteUInt32(PvpMedals); + data.WriteUInt8(PvpMedals); for (int i = 0; i < 12; ++i) { data.WriteUInt32(BuybackPrice[i]); @@ -5862,7 +5889,7 @@ namespace Game.Entities data.WriteUInt32(CombatRatings[i]); } data.WriteInt32(PvpInfo.Size()); - data.WriteInt32(MaxLevel); + data.WriteUInt32(MaxLevel); data.WriteInt32(ScalingPlayerLevelDelta); data.WriteInt32(MaxCreatureScalingLevel); for (int i = 0; i < 4; ++i) @@ -5932,6 +5959,7 @@ namespace Game.Entities data.WriteInt32(SelfResSpells.Size()); data.WriteInt32(RuneforgePowers.Size()); data.WriteInt32(TransmogIllusions.Size()); + data.WriteInt32(WarbandScenes.Size()); data.WriteInt32(CharacterRestrictions.Size()); data.WriteInt32(SpellPctModByLabel.Size()); data.WriteInt32(SpellFlatModByLabel.Size()); @@ -6013,6 +6041,10 @@ namespace Game.Entities { data.WriteUInt32(TransmogIllusions[i]); } + for (int i = 0; i < WarbandScenes.Size(); ++i) + { + data.WriteUInt32(WarbandScenes[i]); + } for (int i = 0; i < SpellPctModByLabel.Size(); ++i) { SpellPctModByLabel[i].WriteCreate(data, owner, receiver); @@ -6198,11 +6230,11 @@ namespace Game.Entities WriteCompleteDynamicFieldUpdateMask(PvpInfo.Size(), data); } } - if (changesMask[40]) + if (changesMask[41]) { for (int i = 0; i < 1; ++i) { - if (changesMask[41]) + if (changesMask[42]) { if (!ignoreNestedChangesMask) ResearchSites[i].WriteUpdateMask(data); @@ -6211,11 +6243,11 @@ namespace Game.Entities } } } - if (changesMask[42]) + if (changesMask[43]) { for (int i = 0; i < 1; ++i) { - if (changesMask[43]) + if (changesMask[44]) { if (!ignoreNestedChangesMask) ResearchSiteProgress[i].WriteUpdateMask(data); @@ -6224,11 +6256,11 @@ namespace Game.Entities } } } - if (changesMask[44]) + if (changesMask[45]) { for (int i = 0; i < 1; ++i) { - if (changesMask[45]) + if (changesMask[46]) { if (!ignoreNestedChangesMask) Research[i].WriteUpdateMask(data); @@ -6237,11 +6269,11 @@ namespace Game.Entities } } } - if (changesMask[40]) + if (changesMask[41]) { for (int i = 0; i < 1; ++i) { - if (changesMask[41]) + if (changesMask[42]) { for (int j = 0; j < ResearchSites[i].Size(); ++j) { @@ -6253,11 +6285,11 @@ namespace Game.Entities } } } - if (changesMask[42]) + if (changesMask[43]) { for (int i = 0; i < 1; ++i) { - if (changesMask[43]) + if (changesMask[44]) { for (int j = 0; j < ResearchSiteProgress[i].Size(); ++j) { @@ -6269,11 +6301,11 @@ namespace Game.Entities } } } - if (changesMask[44]) + if (changesMask[45]) { for (int i = 0; i < 1; ++i) { - if (changesMask[45]) + if (changesMask[46]) { for (int j = 0; j < Research[i].Size(); ++j) { @@ -6366,114 +6398,121 @@ namespace Game.Entities WriteCompleteDynamicFieldUpdateMask(TransmogIllusions.Size(), data); } if (changesMask[22]) + { + if (!ignoreNestedChangesMask) + WarbandScenes.WriteUpdateMask(data); + else + WriteCompleteDynamicFieldUpdateMask(WarbandScenes.Size(), data); + } + if (changesMask[23]) { if (!ignoreNestedChangesMask) CharacterRestrictions.WriteUpdateMask(data); else WriteCompleteDynamicFieldUpdateMask(CharacterRestrictions.Size(), data); } - if (changesMask[23]) + if (changesMask[24]) { if (!ignoreNestedChangesMask) SpellPctModByLabel.WriteUpdateMask(data); else WriteCompleteDynamicFieldUpdateMask(SpellPctModByLabel.Size(), data); } - if (changesMask[24]) + if (changesMask[25]) { if (!ignoreNestedChangesMask) SpellFlatModByLabel.WriteUpdateMask(data); else WriteCompleteDynamicFieldUpdateMask(SpellFlatModByLabel.Size(), data); } - if (changesMask[25]) + if (changesMask[26]) { if (!ignoreNestedChangesMask) MawPowers.WriteUpdateMask(data); else WriteCompleteDynamicFieldUpdateMask(MawPowers.Size(), data); } - if (changesMask[26]) + if (changesMask[27]) { if (!ignoreNestedChangesMask) MultiFloorExploration.WriteUpdateMask(data); else WriteCompleteDynamicFieldUpdateMask(MultiFloorExploration.Size(), data); } - if (changesMask[27]) + if (changesMask[28]) { if (!ignoreNestedChangesMask) RecipeProgression.WriteUpdateMask(data); else WriteCompleteDynamicFieldUpdateMask(RecipeProgression.Size(), data); } - if (changesMask[28]) + if (changesMask[29]) { if (!ignoreNestedChangesMask) ReplayedQuests.WriteUpdateMask(data); else WriteCompleteDynamicFieldUpdateMask(ReplayedQuests.Size(), data); } - if (changesMask[29]) + if (changesMask[30]) { if (!ignoreNestedChangesMask) TaskQuests.WriteUpdateMask(data); else WriteCompleteDynamicFieldUpdateMask(TaskQuests.Size(), data); } - if (changesMask[30]) + if (changesMask[31]) { if (!ignoreNestedChangesMask) DisabledSpells.WriteUpdateMask(data); else WriteCompleteDynamicFieldUpdateMask(DisabledSpells.Size(), data); } - if (changesMask[31]) - { - if (!ignoreNestedChangesMask) - TraitConfigs.WriteUpdateMask(data); - else - WriteCompleteDynamicFieldUpdateMask(TraitConfigs.Size(), data); - } } if (changesMask[32]) { if (changesMask[33]) + { + if (!ignoreNestedChangesMask) + TraitConfigs.WriteUpdateMask(data); + else + WriteCompleteDynamicFieldUpdateMask(TraitConfigs.Size(), data); + } + if (changesMask[34]) { if (!ignoreNestedChangesMask) CraftingOrders.WriteUpdateMask(data); else WriteCompleteDynamicFieldUpdateMask(CraftingOrders.Size(), data); } - if (changesMask[34]) + if (changesMask[35]) { if (!ignoreNestedChangesMask) PersonalCraftingOrderCounts.WriteUpdateMask(data); else WriteCompleteDynamicFieldUpdateMask(PersonalCraftingOrderCounts.Size(), data); } - if (changesMask[35]) + if (changesMask[36]) { if (!ignoreNestedChangesMask) NpcCraftingOrders.WriteUpdateMask(data); else WriteCompleteDynamicFieldUpdateMask(NpcCraftingOrders.Size(), data); } - if (changesMask[36]) + if (changesMask[37]) { if (!ignoreNestedChangesMask) CategoryCooldownMods.WriteUpdateMask(data); else WriteCompleteDynamicFieldUpdateMask(CategoryCooldownMods.Size(), data); } - if (changesMask[37]) + if (changesMask[38]) { if (!ignoreNestedChangesMask) WeeklySpellUses.WriteUpdateMask(data); else WriteCompleteDynamicFieldUpdateMask(WeeklySpellUses.Size(), data); } - if (changesMask[38]) + if (changesMask[39]) { if (!ignoreNestedChangesMask) TrackedCollectableSources.WriteUpdateMask(data); @@ -6604,7 +6643,17 @@ namespace Game.Entities } } } - if (changesMask[23]) + if (changesMask[22]) + { + for (int i = 0; i < WarbandScenes.Size(); ++i) + { + if (WarbandScenes.HasChanged(i) || ignoreNestedChangesMask) + { + data.WriteUInt32(WarbandScenes[i]); + } + } + } + if (changesMask[24]) { for (int i = 0; i < SpellPctModByLabel.Size(); ++i) { @@ -6614,7 +6663,7 @@ namespace Game.Entities } } } - if (changesMask[24]) + if (changesMask[25]) { for (int i = 0; i < SpellFlatModByLabel.Size(); ++i) { @@ -6624,7 +6673,7 @@ namespace Game.Entities } } } - if (changesMask[25]) + if (changesMask[26]) { for (int i = 0; i < MawPowers.Size(); ++i) { @@ -6634,7 +6683,7 @@ namespace Game.Entities } } } - if (changesMask[26]) + if (changesMask[27]) { for (int i = 0; i < MultiFloorExploration.Size(); ++i) { @@ -6644,7 +6693,7 @@ namespace Game.Entities } } } - if (changesMask[27]) + if (changesMask[28]) { for (int i = 0; i < RecipeProgression.Size(); ++i) { @@ -6654,7 +6703,7 @@ namespace Game.Entities } } } - if (changesMask[28]) + if (changesMask[29]) { for (int i = 0; i < ReplayedQuests.Size(); ++i) { @@ -6664,7 +6713,7 @@ namespace Game.Entities } } } - if (changesMask[29]) + if (changesMask[30]) { for (int i = 0; i < TaskQuests.Size(); ++i) { @@ -6674,7 +6723,7 @@ namespace Game.Entities } } } - if (changesMask[30]) + if (changesMask[31]) { for (int i = 0; i < DisabledSpells.Size(); ++i) { @@ -6687,7 +6736,7 @@ namespace Game.Entities } if (changesMask[32]) { - if (changesMask[34]) + if (changesMask[35]) { for (int i = 0; i < PersonalCraftingOrderCounts.Size(); ++i) { @@ -6697,7 +6746,7 @@ namespace Game.Entities } } } - if (changesMask[35]) + if (changesMask[36]) { for (int i = 0; i < NpcCraftingOrders.Size(); ++i) { @@ -6707,7 +6756,7 @@ namespace Game.Entities } } } - if (changesMask[36]) + if (changesMask[37]) { for (int i = 0; i < CategoryCooldownMods.Size(); ++i) { @@ -6717,7 +6766,7 @@ namespace Game.Entities } } } - if (changesMask[37]) + if (changesMask[38]) { for (int i = 0; i < WeeklySpellUses.Size(); ++i) { @@ -6727,7 +6776,7 @@ namespace Game.Entities } } } - if (changesMask[38]) + if (changesMask[39]) { for (int i = 0; i < TrackedCollectableSources.Size(); ++i) { @@ -6737,7 +6786,7 @@ namespace Game.Entities } } } - if (changesMask[39]) + if (changesMask[40]) { if (!ignoreNestedChangesMask) AccountBankTabSettings.WriteUpdateMask(data, 3); @@ -6777,7 +6826,7 @@ namespace Game.Entities } } } - if (changesMask[22]) + if (changesMask[23]) { for (int i = 0; i < CharacterRestrictions.Size(); ++i) { @@ -6787,7 +6836,10 @@ namespace Game.Entities } } } - if (changesMask[31]) + } + if (changesMask[32]) + { + if (changesMask[33]) { for (int i = 0; i < TraitConfigs.Size(); ++i) { @@ -6797,10 +6849,7 @@ namespace Game.Entities } } } - } - if (changesMask[32]) - { - if (changesMask[33]) + if (changesMask[34]) { for (int i = 0; i < CraftingOrders.Size(); ++i) { @@ -6810,7 +6859,7 @@ namespace Game.Entities } } } - if (changesMask[39]) + if (changesMask[40]) { for (int i = 0; i < AccountBankTabSettings.Size(); ++i) { @@ -6820,364 +6869,364 @@ namespace Game.Entities } } } - if (changesMask[46]) + if (changesMask[47]) { data.WritePackedGuid(FarsightObject); } - if (changesMask[47]) + if (changesMask[48]) { data.WritePackedGuid(SummonedBattlePetGUID); } - if (changesMask[48]) + if (changesMask[49]) { data.WriteUInt64(Coinage); } - if (changesMask[49]) + if (changesMask[50]) { data.WriteUInt64(AccountBankCoinage); } - if (changesMask[50]) + if (changesMask[51]) { data.WriteUInt32(XP); } - if (changesMask[51]) + if (changesMask[52]) { data.WriteUInt32(NextLevelXP); } - if (changesMask[52]) + if (changesMask[53]) { data.WriteInt32(TrialXP); } - if (changesMask[53]) + if (changesMask[54]) { Skill.GetValue().WriteUpdate(data, ignoreNestedChangesMask, owner, receiver); } - if (changesMask[54]) + if (changesMask[55]) { data.WriteUInt32(CharacterPoints); } - if (changesMask[55]) + if (changesMask[56]) { data.WriteUInt32(MaxTalentTiers); } - if (changesMask[56]) + if (changesMask[57]) { data.WriteUInt32(TrackCreatureMask); } - if (changesMask[57]) + if (changesMask[58]) { data.WriteFloat(MainhandExpertise); } - if (changesMask[58]) + if (changesMask[59]) { data.WriteFloat(OffhandExpertise); } - if (changesMask[59]) + if (changesMask[60]) { data.WriteFloat(RangedExpertise); } - if (changesMask[60]) + if (changesMask[61]) { data.WriteFloat(CombatRatingExpertise); } - if (changesMask[61]) + if (changesMask[62]) { data.WriteFloat(BlockPercentage); } - if (changesMask[62]) + if (changesMask[63]) { data.WriteFloat(DodgePercentage); } - if (changesMask[63]) + if (changesMask[64]) { data.WriteFloat(DodgePercentageFromAttribute); } - if (changesMask[64]) + if (changesMask[65]) { data.WriteFloat(ParryPercentage); } - if (changesMask[65]) + if (changesMask[66]) { data.WriteFloat(ParryPercentageFromAttribute); } - if (changesMask[66]) + if (changesMask[67]) { data.WriteFloat(CritPercentage); } - if (changesMask[67]) + if (changesMask[68]) { data.WriteFloat(RangedCritPercentage); } - if (changesMask[68]) - { - data.WriteFloat(OffhandCritPercentage); - } if (changesMask[69]) { - data.WriteFloat(SpellCritPercentage); + data.WriteFloat(OffhandCritPercentage); } } if (changesMask[70]) { if (changesMask[71]) { - data.WriteUInt32(ShieldBlock); + data.WriteFloat(SpellCritPercentage); } if (changesMask[72]) { - data.WriteFloat(ShieldBlockCritPercentage); + data.WriteUInt32(ShieldBlock); } if (changesMask[73]) { - data.WriteFloat(Mastery); + data.WriteFloat(ShieldBlockCritPercentage); } if (changesMask[74]) { - data.WriteFloat(Speed); + data.WriteFloat(Mastery); } if (changesMask[75]) { - data.WriteFloat(Avoidance); + data.WriteFloat(Speed); } if (changesMask[76]) { - data.WriteFloat(Sturdiness); + data.WriteFloat(Avoidance); } if (changesMask[77]) { - data.WriteInt32(Versatility); + data.WriteFloat(Sturdiness); } if (changesMask[78]) { - data.WriteFloat(VersatilityBonus); + data.WriteInt32(Versatility); } if (changesMask[79]) { - data.WriteFloat(PvpPowerDamage); + data.WriteFloat(VersatilityBonus); } if (changesMask[80]) { - data.WriteFloat(PvpPowerHealing); + data.WriteFloat(PvpPowerDamage); } if (changesMask[81]) { - BitVectors.GetValue().WriteUpdate(data, ignoreNestedChangesMask, owner, receiver); + data.WriteFloat(PvpPowerHealing); } if (changesMask[82]) { - data.WriteInt32(ModHealingDonePos); + BitVectors.GetValue().WriteUpdate(data, ignoreNestedChangesMask, owner, receiver); } if (changesMask[83]) { - data.WriteFloat(ModHealingPercent); + data.WriteInt32(ModHealingDonePos); } if (changesMask[84]) { - data.WriteFloat(ModPeriodicHealingDonePercent); + data.WriteFloat(ModHealingPercent); } if (changesMask[85]) { - data.WriteFloat(ModSpellPowerPercent); + data.WriteFloat(ModPeriodicHealingDonePercent); } if (changesMask[86]) { - data.WriteFloat(ModResiliencePercent); + data.WriteFloat(ModSpellPowerPercent); } if (changesMask[87]) { - data.WriteFloat(OverrideSpellPowerByAPPercent); + data.WriteFloat(ModResiliencePercent); } if (changesMask[88]) { - data.WriteFloat(OverrideAPBySpellPowerPercent); + data.WriteFloat(OverrideSpellPowerByAPPercent); } if (changesMask[89]) { - data.WriteInt32(ModTargetResistance); + data.WriteFloat(OverrideAPBySpellPowerPercent); } if (changesMask[90]) { - data.WriteInt32(ModTargetPhysicalResistance); + data.WriteInt32(ModTargetResistance); } if (changesMask[91]) { - data.WriteUInt32(LocalFlags); + data.WriteInt32(ModTargetPhysicalResistance); } if (changesMask[92]) { - data.WriteUInt8(GrantableLevels); + data.WriteUInt32(LocalFlags); } if (changesMask[93]) { - data.WriteUInt8(MultiActionBars); + data.WriteUInt8(GrantableLevels); } if (changesMask[94]) { - data.WriteUInt8(LifetimeMaxRank); + data.WriteUInt8(MultiActionBars); } if (changesMask[95]) { - data.WriteUInt8(NumRespecs); + data.WriteUInt8(LifetimeMaxRank); } if (changesMask[96]) { - data.WriteUInt32(PvpMedals); + data.WriteUInt8(NumRespecs); } if (changesMask[97]) { - data.WriteUInt16(TodayHonorableKills); + data.WriteUInt8(PvpMedals); } if (changesMask[98]) { - data.WriteUInt16(YesterdayHonorableKills); + data.WriteUInt16(TodayHonorableKills); } if (changesMask[99]) { - data.WriteUInt32(LifetimeHonorableKills); + data.WriteUInt16(YesterdayHonorableKills); } if (changesMask[100]) { - data.WriteUInt32(WatchedFactionIndex); + data.WriteUInt32(LifetimeHonorableKills); } if (changesMask[101]) { - data.WriteInt32(MaxLevel); + data.WriteUInt32(WatchedFactionIndex); } } if (changesMask[102]) { if (changesMask[103]) { - data.WriteInt32(ScalingPlayerLevelDelta); + data.WriteUInt32(MaxLevel); } if (changesMask[104]) { - data.WriteInt32(MaxCreatureScalingLevel); + data.WriteInt32(ScalingPlayerLevelDelta); } if (changesMask[105]) { - data.WriteUInt32(PetSpellPower); + data.WriteInt32(MaxCreatureScalingLevel); } if (changesMask[106]) { - data.WriteFloat(UiHitModifier); + data.WriteUInt32(PetSpellPower); } if (changesMask[107]) { - data.WriteFloat(UiSpellHitModifier); + data.WriteFloat(UiHitModifier); } if (changesMask[108]) { - data.WriteInt32(HomeRealmTimeOffset); + data.WriteFloat(UiSpellHitModifier); } if (changesMask[109]) { - data.WriteFloat(ModPetHaste); + data.WriteInt32(HomeRealmTimeOffset); } if (changesMask[110]) { - data.WriteInt8(JailersTowerLevelMax); + data.WriteFloat(ModPetHaste); } if (changesMask[111]) { - data.WriteInt8(JailersTowerLevel); + data.WriteInt8(JailersTowerLevelMax); } if (changesMask[112]) { - data.WriteUInt8(LocalRegenFlags); + data.WriteInt8(JailersTowerLevel); } if (changesMask[113]) { - data.WriteUInt8(AuraVision); + data.WriteUInt8(LocalRegenFlags); } if (changesMask[114]) { - data.WriteUInt8(NumBackpackSlots); + data.WriteUInt8(AuraVision); } if (changesMask[115]) { - data.WriteUInt32(OverrideSpellsID); + data.WriteUInt8(NumBackpackSlots); } if (changesMask[116]) { - data.WriteUInt16(LootSpecID); + data.WriteUInt32(OverrideSpellsID); } if (changesMask[117]) { - data.WriteUInt32(OverrideZonePVPType); + data.WriteUInt16(LootSpecID); } if (changesMask[118]) { - data.WriteUInt32(Honor); + data.WriteUInt32(OverrideZonePVPType); } if (changesMask[119]) { - data.WriteUInt32(HonorNextLevel); + data.WriteUInt32(Honor); } if (changesMask[120]) { - data.WriteInt32(PerksProgramCurrency); + data.WriteUInt32(HonorNextLevel); } if (changesMask[121]) { - data.WriteUInt8(NumBankSlots); + data.WriteInt32(PerksProgramCurrency); } if (changesMask[122]) { - data.WriteUInt8(NumAccountBankTabs); + data.WriteUInt8(NumBankSlots); } - if (changesMask[127]) + if (changesMask[123]) { - data.WriteInt32(UiChromieTimeExpansionID); + data.WriteUInt8(NumAccountBankTabs); } if (changesMask[128]) { - data.WriteInt32(TimerunningSeasonID); + data.WriteInt32(UiChromieTimeExpansionID); } if (changesMask[129]) { - data.WriteInt32(TransportServerTime); + data.WriteInt32(TimerunningSeasonID); } if (changesMask[130]) { - data.WriteUInt32(WeeklyRewardsPeriodSinceOrigin); + data.WriteInt32(TransportServerTime); } if (changesMask[131]) { - data.WriteInt16(DEBUGSoulbindConduitRank); + data.WriteUInt32(WeeklyRewardsPeriodSinceOrigin); } - if (changesMask[133]) + if (changesMask[132]) { - data.WriteUInt32(ActiveCombatTraitConfigID); + data.WriteInt16(DEBUGSoulbindConduitRank); } } if (changesMask[134]) { if (changesMask[135]) { - data.WriteInt32(ItemUpgradeHighOnehandWeaponItemID); + data.WriteUInt32(ActiveCombatTraitConfigID); } if (changesMask[136]) { - data.WriteInt32(ItemUpgradeHighFingerItemID); + data.WriteInt32(ItemUpgradeHighOnehandWeaponItemID); } if (changesMask[137]) { - data.WriteFloat(ItemUpgradeHighFingerWatermark); + data.WriteInt32(ItemUpgradeHighFingerItemID); } if (changesMask[138]) { - data.WriteInt32(ItemUpgradeHighTrinketItemID); + data.WriteFloat(ItemUpgradeHighFingerWatermark); } if (changesMask[139]) { - data.WriteFloat(ItemUpgradeHighTrinketWatermark); + data.WriteInt32(ItemUpgradeHighTrinketItemID); } if (changesMask[140]) + { + data.WriteFloat(ItemUpgradeHighTrinketWatermark); + } + if (changesMask[141]) { data.WriteUInt64(LootHistoryInstanceID); } - if (changesMask[142]) + if (changesMask[143]) { data.WriteUInt8(RequiredMountCapabilityFlags); } @@ -7195,47 +7244,47 @@ namespace Game.Entities data.FlushBits(); if (changesMask[102]) { - if (changesMask[123]) + if (changesMask[124]) { ResearchHistory.GetValue().WriteUpdate(data, ignoreNestedChangesMask, owner, receiver); } - if (changesMask[125]) + if (changesMask[126]) { if (QuestSession.HasValue()) { QuestSession.GetValue().WriteUpdate(data, ignoreNestedChangesMask, owner, receiver); } } - if (changesMask[124]) + if (changesMask[125]) { FrozenPerksVendorItem.GetValue().Write(data); } - if (changesMask[126]) + if (changesMask[127]) { Field_1410.GetValue().WriteUpdate(data, ignoreNestedChangesMask, owner, receiver); } - if (changesMask[132]) + if (changesMask[133]) { DungeonScore.GetValue().Write(data); } } if (changesMask[134]) { - if (changesMask[141]) + if (changesMask[142]) { if (PetStable.HasValue()) { PetStable.GetValue().WriteUpdate(data, ignoreNestedChangesMask, owner, receiver); } } - if (changesMask[143]) + if (changesMask[144]) { if (WalkInData.HasValue()) { WalkInData.GetValue().WriteUpdate(data, ignoreNestedChangesMask, owner, receiver); } } - if (changesMask[144]) + if (changesMask[145]) { if (DelveData.HasValue()) { @@ -7243,141 +7292,141 @@ namespace Game.Entities } } } - if (changesMask[145]) + if (changesMask[146]) { for (int i = 0; i < 232; ++i) { - if (changesMask[146 + i]) + if (changesMask[147 + i]) { data.WritePackedGuid(InvSlots[i]); } } } - if (changesMask[378]) + if (changesMask[379]) { for (int i = 0; i < 2; ++i) { - if (changesMask[379 + i]) + if (changesMask[380 + i]) { RestInfo[i].WriteUpdate(data, ignoreNestedChangesMask, owner, receiver); } } } - if (changesMask[381]) + if (changesMask[382]) { for (int i = 0; i < 7; ++i) { - if (changesMask[382 + i]) + if (changesMask[383 + i]) { data.WriteInt32(ModDamageDonePos[i]); } - if (changesMask[389 + i]) + if (changesMask[390 + i]) { data.WriteInt32(ModDamageDoneNeg[i]); } - if (changesMask[396 + i]) + if (changesMask[397 + i]) { data.WriteFloat(ModDamageDonePercent[i]); } - if (changesMask[403 + i]) + if (changesMask[404 + i]) { data.WriteFloat(ModHealingDonePercent[i]); } } } - if (changesMask[410]) + if (changesMask[411]) { for (int i = 0; i < 3; ++i) { - if (changesMask[411 + i]) + if (changesMask[412 + i]) { data.WriteFloat(WeaponDmgMultipliers[i]); } - if (changesMask[414 + i]) + if (changesMask[415 + i]) { data.WriteFloat(WeaponAtkSpeedMultipliers[i]); } } } - if (changesMask[417]) + if (changesMask[418]) { for (int i = 0; i < 12; ++i) { - if (changesMask[418 + i]) + if (changesMask[419 + i]) { data.WriteUInt32(BuybackPrice[i]); } - if (changesMask[430 + i]) + if (changesMask[431 + i]) { data.WriteInt64(BuybackTimestamp[i]); } } } - if (changesMask[442]) + if (changesMask[443]) { for (int i = 0; i < 32; ++i) { - if (changesMask[443 + i]) + if (changesMask[444 + i]) { data.WriteUInt32(CombatRatings[i]); } } } - if (changesMask[475]) + if (changesMask[476]) { for (int i = 0; i < 4; ++i) { - if (changesMask[476 + i]) + if (changesMask[477 + i]) { data.WriteUInt32(NoReagentCostMask[i]); } } } - if (changesMask[480]) + if (changesMask[481]) { for (int i = 0; i < 2; ++i) { - if (changesMask[481 + i]) + if (changesMask[482 + i]) { data.WriteUInt32(ProfessionSkillLine[i]); } } } - if (changesMask[483]) + if (changesMask[484]) { for (int i = 0; i < 5; ++i) { - if (changesMask[484 + i]) + if (changesMask[485 + i]) { data.WriteUInt32(BagSlotFlags[i]); } } } - if (changesMask[489]) + if (changesMask[490]) { for (int i = 0; i < 7; ++i) { - if (changesMask[490 + i]) + if (changesMask[491 + i]) { data.WriteUInt32(BankBagSlotFlags[i]); } } } - if (changesMask[497]) + if (changesMask[498]) { for (int i = 0; i < 1000; ++i) { - if (changesMask[498 + i]) + if (changesMask[499 + i]) { data.WriteUInt64(QuestCompleted[i]); } } } - if (changesMask[1498]) + if (changesMask[1499]) { for (int i = 0; i < 17; ++i) { - if (changesMask[1499 + i]) + if (changesMask[1500 + i]) { data.WriteFloat(ItemUpgradeHighWatermark[i]); } @@ -7409,6 +7458,7 @@ namespace Game.Entities ClearChangesMask(SelfResSpells); ClearChangesMask(RuneforgePowers); ClearChangesMask(TransmogIllusions); + ClearChangesMask(WarbandScenes); ClearChangesMask(SpellPctModByLabel); ClearChangesMask(SpellFlatModByLabel); ClearChangesMask(MawPowers); @@ -7577,13 +7627,12 @@ namespace Game.Entities public void WriteCreate(WorldPacket data, UpdateFieldFlag fieldVisibilityFlags, GameObject owner, Player receiver) { - var stateWorldEffectIDs = GetViewerDependentStateWorldEffectIDs(this, owner, receiver); - data.WriteUInt32(DisplayID); data.WriteUInt32(SpellVisualID); data.WriteUInt32(GetViewerDependentStateSpellVisualID(this, owner, receiver)); data.WriteUInt32(GetViewerDependentSpawnTrackingStateAnimID(this, owner, receiver)); data.WriteUInt32(GetViewerDependentSpawnTrackingStateAnimKitID(this, owner, receiver)); + var stateWorldEffectIDs = GetViewerDependentStateWorldEffectIDs(this, owner, receiver); data.WriteInt32(stateWorldEffectIDs.Count); data.WriteUInt32(StateWorldEffectsQuestObjectiveID); for (int i = 0; i < stateWorldEffectIDs.Count; ++i) diff --git a/Source/Game/Entities/Object/Update/WowCSEntityDefinitions.cs b/Source/Game/Entities/Object/Update/WowCSEntityDefinitions.cs index c2bc91994..726de7849 100644 --- a/Source/Game/Entities/Object/Update/WowCSEntityDefinitions.cs +++ b/Source/Game/Entities/Object/Update/WowCSEntityDefinitions.cs @@ -33,7 +33,7 @@ namespace Game.Entities FEntityLocalMatrix = 113, FEntityWorldMatrix = 114, CActor = 115, // INDIRECT, - FVendor_C = 117, // UPDATEABLE, + FVendor_C = 117, // UPDATEABLE, INDIRECT, FMirroredObject_C = 119, End = 255, } @@ -84,7 +84,7 @@ namespace Game.Entities Array.Sort(arr); ++count; return (whereIndex, true); - }; + } if (!insertSorted(ref Ids, ref Count, fragment).Item2) return; @@ -103,7 +103,8 @@ namespace Game.Entities if (IsIndirectFragment(UpdateableIds[i])) { ContentsChangedMask |= UpdateableMasks[i]; // set the first bit to true to activate fragment - UpdateableMasks[i] |= (byte)(1 << maskIndex++); + ++maskIndex; + UpdateableMasks[i] <<= 1; } } } @@ -125,7 +126,7 @@ namespace Game.Entities return (where, true); } return (where, false); - }; + } if (!removeSorted(ref Ids, ref Count, fragment).Item2) return; @@ -142,7 +143,10 @@ namespace Game.Entities { UpdateableMasks[i] = (byte)(1 << maskIndex++); if (IsIndirectFragment(UpdateableIds[i])) - UpdateableMasks[i] |= (byte)(1 << maskIndex++); + { + ++maskIndex; + UpdateableMasks[i] <<= 1; + } } } } @@ -157,7 +161,7 @@ namespace Game.Entities public static bool IsIndirectFragment(EntityFragment frag) { - return frag == EntityFragment.CGObject || frag == EntityFragment.CActor; + return frag == EntityFragment.CGObject || frag == EntityFragment.CActor || frag == EntityFragment.FVendor_C; } public EntityFragment[] GetIds() { return Ids[..Count]; } diff --git a/Source/Game/Entities/Object/WorldObject.cs b/Source/Game/Entities/Object/WorldObject.cs index 9ec1dd507..a63c6fc98 100644 --- a/Source/Game/Entities/Object/WorldObject.cs +++ b/Source/Game/Entities/Object/WorldObject.cs @@ -249,9 +249,14 @@ namespace Game.Entities public void BuildEntityFragmentsForValuesUpdateForPlayerWithMask(WorldPacket data, UpdateFieldFlag flags) { + byte contentsChangedMask = EntityDefinitionsConst.CGObjectChangedMask; + foreach (var updateableFragmentId in m_entityFragments.GetUpdateableIds()) + if (EntityFragmentsHolder.IsIndirectFragment(updateableFragmentId)) + contentsChangedMask |= (byte)(m_entityFragments.GetUpdateMaskFor(updateableFragmentId) >> 1); // set the "fragment exists" bit + data.WriteUInt8((byte)(flags.HasFlag(UpdateFieldFlag.Owner) ? 1 : 0)); data.WriteUInt8(0); // m_entityFragments.IdsChanged - data.WriteUInt8(EntityDefinitionsConst.CGObjectUpdateMask); + data.WriteUInt8(contentsChangedMask); } public void BuildDestroyUpdateBlock(UpdateData data) @@ -319,6 +324,7 @@ namespace Game.Entities bool HasSpline = unit.IsSplineEnabled(); bool HasInertia = unit.m_movementInfo.inertia.HasValue; bool HasAdvFlying = unit.m_movementInfo.advFlying.HasValue; + bool HasDriveStatus = unit.m_movementInfo.driveStatus.HasValue; bool HasStandingOnGameObjectGUID = unit.m_movementInfo.standingOnGameObjectGUID.HasValue; data.WritePackedGuid(GetGUID()); // MoverGUID @@ -349,6 +355,9 @@ namespace Game.Entities data.WriteBit(false); // HeightChangeFailed data.WriteBit(false); // RemoteTimeValid data.WriteBit(HasInertia); // HasInertia + data.WriteBit(HasAdvFlying); // HasAdvFlying + data.WriteBit(HasDriveStatus); // HasDriveStatus + data.FlushBits(); if (!unit.m_movementInfo.transport.guid.IsEmpty()) MovementExtensions.WriteTransportInfo(data, unit.m_movementInfo.transport); @@ -382,6 +391,14 @@ namespace Game.Entities } } + if (HasDriveStatus) + { + data.WriteBit(unit.m_movementInfo.driveStatus.Value.accelerating); + data.WriteBit(unit.m_movementInfo.driveStatus.Value.drifting); + data.WriteFloat(unit.m_movementInfo.driveStatus.Value.speed); + data.WriteFloat(unit.m_movementInfo.driveStatus.Value.movementAngle); + } + data.WriteFloat(unit.GetSpeed(UnitMoveType.Walk)); data.WriteFloat(unit.GetSpeed(UnitMoveType.Run)); data.WriteFloat(unit.GetSpeed(UnitMoveType.RunBack)); @@ -841,7 +858,6 @@ namespace Game.Entities { m_values.ClearChangesMask(m_objectData); m_entityFragments.IdsChanged = false; - m_entityFragments.ContentsChangedMask = EntityDefinitionsConst.CGObjectActiveMask; if (m_objectUpdated) { @@ -3963,6 +3979,7 @@ namespace Game.Entities public JumpInfo jump; public float stepUpStartElevation { get; set; } public AdvFlying? advFlying; + public Drive? driveStatus; public ObjectGuid? standingOnGameObjectGUID; public MovementInfo() @@ -4027,12 +4044,14 @@ namespace Game.Entities public uint prevTime; public uint vehicleId; } + public struct Inertia { public int id; public Position force; public uint lifetime; } + public struct JumpInfo { public void Reset() @@ -4047,12 +4066,21 @@ namespace Game.Entities public float cosAngle; public float xyspeed; } + // advflying public struct AdvFlying { public float forwardVelocity; public float upVelocity; } + + public struct Drive + { + public float speed; + public float movementAngle; + public bool accelerating; + public bool drifting; + } } public class MovementForce @@ -4064,6 +4092,9 @@ namespace Game.Entities public float Magnitude; public MovementForceType Type; public int MovementForceID; + public int Unknown1110_1; + public int Unused1110; + public uint Flags; public void Read(WorldPacket data) { @@ -4073,6 +4104,9 @@ namespace Game.Entities TransportID = data.ReadUInt32(); Magnitude = data.ReadFloat(); MovementForceID = data.ReadInt32(); + Unknown1110_1 = data.ReadInt32(); + Unused1110 = data.ReadInt32(); + Flags = data.ReadUInt32(); Type = (MovementForceType)data.ReadBits(2); } @@ -4264,7 +4298,13 @@ namespace Game.Entities { _owner.m_entityFragments.ContentsChangedMask &= (byte)~_owner.m_entityFragments.GetUpdateMaskFor((EntityFragment)updateData._blockBit); if ((EntityFragment)updateData._blockBit == EntityFragment.CGObject) + { _changesMask.Reset(updateData.Bit); + if (!_changesMask.IsAnySet()) + _owner.m_entityFragments.ContentsChangedMask &= (byte)~_owner.m_entityFragments.GetUpdateMaskFor((EntityFragment)updateData._blockBit); + } + else + _owner.m_entityFragments.ContentsChangedMask &= (byte)~_owner.m_entityFragments.GetUpdateMaskFor((EntityFragment)updateData._blockBit); updateData.ClearChangesMask(); } @@ -4273,7 +4313,13 @@ namespace Game.Entities { _owner.m_entityFragments.ContentsChangedMask &= (byte)~_owner.m_entityFragments.GetUpdateMaskFor((EntityFragment)updateData._blockBit); if ((EntityFragment)updateData._blockBit == EntityFragment.CGObject) + { _changesMask.Reset(updateData.Bit); + if (!_changesMask.IsAnySet()) + _owner.m_entityFragments.ContentsChangedMask &= (byte)~_owner.m_entityFragments.GetUpdateMaskFor((EntityFragment)updateData._blockBit); + } + else + _owner.m_entityFragments.ContentsChangedMask &= (byte)~_owner.m_entityFragments.GetUpdateMaskFor((EntityFragment)updateData._blockBit); if (typeof(IHasChangesMask).IsAssignableFrom(typeof(U))) ((IHasChangesMask)updateField._value).ClearChangesMask(); diff --git a/Source/Game/Entities/Player/Player.PvP.cs b/Source/Game/Entities/Player/Player.PvP.cs index 5cc6a5e4f..379751450 100644 --- a/Source/Game/Entities/Player/Player.PvP.cs +++ b/Source/Game/Entities/Player/Player.PvP.cs @@ -162,7 +162,7 @@ namespace Game.Entities data.Honor = honor; data.OriginalHonor = honor; data.Target = victim_guid; - data.Rank = victim_rank; + data.Rank = (sbyte)victim_rank; SendPacket(data); diff --git a/Source/Game/Entities/Player/Player.cs b/Source/Game/Entities/Player/Player.cs index 2155d6716..80299fff1 100644 --- a/Source/Game/Entities/Player/Player.cs +++ b/Source/Game/Entities/Player/Player.cs @@ -853,7 +853,7 @@ namespace Game.Entities Pet oldPet = GetPet(); if (oldPet != null && !oldPet.IsAlive()) { - sess.SendPetStableResult(StableResult.InternalError); + sess.SendPetStableResult(StableResult.NoPet); return; } @@ -881,7 +881,7 @@ namespace Game.Entities Pet oldPet = GetPet(); if (oldPet != null && !oldPet.IsAlive()) { - sess.SendPetStableResult(StableResult.InternalError); + sess.SendPetStableResult(StableResult.NoPet); return; } @@ -2813,7 +2813,7 @@ namespace Game.Entities } } - long cost = item.BoxMoney; + long cost = (long)item.BoxMoney; if (!HasEnoughMoney(cost)) { SendBuyError(BuyResult.NotEnoughtMoney, null, 0); @@ -2968,7 +2968,7 @@ namespace Game.Entities PlayerInteractionType.ProfessionsCraftingOrder, PlayerInteractionType.Professions, PlayerInteractionType.ProfessionsCustomerOrder, PlayerInteractionType.TraitSystem, PlayerInteractionType.BarbersChoice, PlayerInteractionType.MajorFactionRenown, PlayerInteractionType.PersonalTabardVendor, PlayerInteractionType.ForgeMaster, PlayerInteractionType.CharacterBanker, - PlayerInteractionType.AccountBanker + PlayerInteractionType.AccountBanker, PlayerInteractionType.ProfessionRespec }; PlayerInteractionType interactionType = GossipOptionNpcToInteractionType[(int)gossipOptionNpc]; @@ -5938,8 +5938,8 @@ namespace Game.Entities PlayerLevelInfo info = ObjectMgr.GetPlayerLevelInfo(GetRace(), GetClass(), GetLevel()); - int exp_max_lvl = (int)ObjectMgr.GetMaxLevelForExpansion(GetSession().GetExpansion()); - int conf_max_lvl = WorldConfig.GetIntValue(WorldCfg.MaxPlayerLevel); + uint exp_max_lvl = ObjectMgr.GetMaxLevelForExpansion(GetSession().GetExpansion()); + uint conf_max_lvl = WorldConfig.GetUIntValue(WorldCfg.MaxPlayerLevel); if (exp_max_lvl == SharedConst.DefaultMaxLevel || exp_max_lvl >= conf_max_lvl) SetUpdateFieldValue(m_values.ModifyValue(m_activePlayerData).ModifyValue(m_activePlayerData.MaxLevel), conf_max_lvl); else @@ -8023,7 +8023,7 @@ namespace Game.Entities { PlayerTalkClass.GetGossipMenu().AddMenuItem(0, -1, optionNpc, text, 0, GossipOptionFlags.None, null, 0, 0, false, 0, "", null, null, sender, action); } - public void AddGossipItem(GossipOptionNpc optionNpc, string text, uint sender, uint action, string popupText, uint popupMoney, bool coded) + public void AddGossipItem(GossipOptionNpc optionNpc, string text, uint sender, uint action, string popupText, ulong popupMoney, bool coded) { PlayerTalkClass.GetGossipMenu().AddMenuItem(0, -1, optionNpc, text, 0, GossipOptionFlags.None, null, 0, 0, coded, popupMoney, popupText, null, null, sender, action); } diff --git a/Source/Game/Garrisons/Garrisons.cs b/Source/Game/Garrisons/Garrisons.cs index c53576bdf..bc181810f 100644 --- a/Source/Game/Garrisons/Garrisons.cs +++ b/Source/Game/Garrisons/Garrisons.cs @@ -516,7 +516,7 @@ namespace Game.Garrisons public void SendInfo() { GetGarrisonInfoResult garrisonInfo = new(); - garrisonInfo.FactionIndex = GetFaction(); + garrisonInfo.FactionIndex = (sbyte)GetFaction(); GarrisonInfo garrison = new(); garrison.GarrTypeID = GetGarrisonType(); diff --git a/Source/Game/Globals/ObjectManager.cs b/Source/Game/Globals/ObjectManager.cs index 3bc2d7306..77b4f9ff8 100644 --- a/Source/Game/Globals/ObjectManager.cs +++ b/Source/Game/Globals/ObjectManager.cs @@ -567,7 +567,7 @@ namespace Game gMenuItem.GossipNpcOptionID = result.Read(10); gMenuItem.BoxCoded = result.Read(11); - gMenuItem.BoxMoney = result.Read(12); + gMenuItem.BoxMoney = result.Read(12); gMenuItem.BoxText = result.Read(13); gMenuItem.BoxBroadcastTextId = result.Read(14); if (!result.IsNull(15)) diff --git a/Source/Game/Handlers/AuctionHandler.cs b/Source/Game/Handlers/AuctionHandler.cs index d89034f95..f5d49fc2b 100644 --- a/Source/Game/Handlers/AuctionHandler.cs +++ b/Source/Game/Handlers/AuctionHandler.cs @@ -995,6 +995,7 @@ namespace Game AuctionHelloResponse auctionHelloResponse = new(); auctionHelloResponse.Auctioneer = guid; + auctionHelloResponse.AuctionHouseID = ahEntry.Id; auctionHelloResponse.OpenForBusiness = true; SendPacket(auctionHelloResponse); } diff --git a/Source/Game/Handlers/CharacterHandler.cs b/Source/Game/Handlers/CharacterHandler.cs index fe6d243f4..88aeef13e 100644 --- a/Source/Game/Handlers/CharacterHandler.cs +++ b/Source/Game/Handlers/CharacterHandler.cs @@ -115,7 +115,7 @@ namespace Game foreach (var requirement in Global.ObjectMgr.GetRaceUnlockRequirements()) { EnumCharactersResult.RaceUnlock raceUnlock = new(); - raceUnlock.RaceID = requirement.Key; + raceUnlock.RaceID = (sbyte)requirement.Key; raceUnlock.HasUnlockedLicense = (byte)GetAccountExpansion() >= requirement.Value.Expansion; raceUnlock.HasUnlockedAchievement = requirement.Value.AchievementId != 0 && (WorldConfig.GetBoolValue(WorldCfg.CharacterCreatingDisableAlliedRaceAchievementRequirement) /* || HasAccountAchievement(requirement.second.AchievementId)*/); diff --git a/Source/Game/Handlers/CollectionsHandler.cs b/Source/Game/Handlers/CollectionsHandler.cs index a9f94b34b..3d41c8d3e 100644 --- a/Source/Game/Handlers/CollectionsHandler.cs +++ b/Source/Game/Handlers/CollectionsHandler.cs @@ -27,6 +27,7 @@ namespace Game break; } case ItemCollectionType.TransmogSetFavorite: + case ItemCollectionType.WarbandScene: break; default: break; diff --git a/Source/Game/Handlers/NPCHandler.cs b/Source/Game/Handlers/NPCHandler.cs index 216b1acd9..1a75eca34 100644 --- a/Source/Game/Handlers/NPCHandler.cs +++ b/Source/Game/Handlers/NPCHandler.cs @@ -354,9 +354,15 @@ namespace Game [WorldPacketHandler(ClientOpcodes.SetPetSlot)] void HandleSetPetSlot(SetPetSlot setPetSlot) { - if (!CheckStableMaster(setPetSlot.StableMaster) || setPetSlot.DestSlot >= (byte)PetSaveMode.LastStableSlot) + if (!CheckStableMaster(setPetSlot.StableMaster)) { - SendPetStableResult(StableResult.InternalError); + SendPetStableResult(StableResult.NotStableMaster); + return; + } + + if (setPetSlot.DestSlot >= (byte)PetSaveMode.LastStableSlot) + { + SendPetStableResult(StableResult.InvalidSlot); return; } diff --git a/Source/Game/Networking/Packets/AuctionHousePackets.cs b/Source/Game/Networking/Packets/AuctionHousePackets.cs index 9ee03f6fa..ac276eda4 100644 --- a/Source/Game/Networking/Packets/AuctionHousePackets.cs +++ b/Source/Game/Networking/Packets/AuctionHousePackets.cs @@ -34,7 +34,7 @@ namespace Game.Networking.Packets MinLevel = _worldPacket.ReadUInt8(); MaxLevel = _worldPacket.ReadUInt8(); Unused1007_1 = _worldPacket.ReadUInt8(); - Unused1007_2= _worldPacket.ReadUInt8(); + Unused1007_2 = _worldPacket.ReadUInt8(); Filters = (AuctionHouseFilterMask)_worldPacket.ReadUInt32(); uint knownPetSize = _worldPacket.ReadUInt32(); MaxPetLevel = _worldPacket.ReadInt8(); @@ -133,8 +133,8 @@ namespace Game.Networking.Packets public override void Read() { - Auctioneer = _worldPacket.ReadPackedGuid(); - Offset = _worldPacket.ReadUInt32(); + Auctioneer = _worldPacket.ReadPackedGuid(); + Offset = _worldPacket.ReadUInt32(); if (_worldPacket.HasBit()) TaintedBy = new(); @@ -270,7 +270,7 @@ namespace Game.Networking.Packets } class AuctionPlaceBid : ClientPacket - { + { public ObjectGuid Auctioneer; public ulong BidAmount; public uint AuctionID; @@ -341,7 +341,7 @@ namespace Game.Networking.Packets } } } - + class AuctionSellCommodity : ClientPacket { public ObjectGuid Auctioneer; @@ -402,7 +402,7 @@ namespace Game.Networking.Packets } class AuctionSetFavoriteItem : ClientPacket - { + { public AuctionFavoriteInfo Item; public bool IsNotFavorite = true; @@ -439,7 +439,7 @@ namespace Game.Networking.Packets } class AuctionClosedNotification : ServerPacket - { + { public AuctionOwnerNotification Info; public float ProceedsMailDelay; public bool Sold = true; @@ -456,7 +456,7 @@ namespace Game.Networking.Packets } class AuctionCommandResult : ServerPacket - { + { public uint AuctionID; ///< the id of the auction that triggered this notification public int Command; ///< the type of action that triggered this notification. Possible values are @ref AuctionAction public int ErrorCode; ///< the error code that was generated when trying to perform the action. Possible values are @ref AuctionError @@ -515,6 +515,7 @@ namespace Game.Networking.Packets public ObjectGuid Auctioneer; public uint PurchaseDeliveryDelay; public uint CancelDeliveryDelay; + public uint AuctionHouseID; public bool OpenForBusiness = true; public AuctionHelloResponse() : base(ServerOpcodes.AuctionHelloResponse) { } @@ -524,13 +525,14 @@ namespace Game.Networking.Packets _worldPacket.WritePackedGuid(Auctioneer); _worldPacket.WriteUInt32(PurchaseDeliveryDelay); _worldPacket.WriteUInt32(CancelDeliveryDelay); + _worldPacket.WriteUInt32(AuctionHouseID); _worldPacket.WriteBit(OpenForBusiness); _worldPacket.FlushBits(); } } public class AuctionListBiddedItemsResult : ServerPacket - { + { public List Items = new(); public uint DesiredDelay; public bool HasMoreResults; @@ -550,7 +552,7 @@ namespace Game.Networking.Packets } public class AuctionListBucketsResult : ServerPacket - { + { public List Buckets = new(); public uint DesiredDelay; public int Unknown830_0; @@ -576,7 +578,7 @@ namespace Game.Networking.Packets } class AuctionFavoriteList : ServerPacket - { + { public uint DesiredDelay; public List Items = new(); @@ -623,7 +625,7 @@ namespace Game.Networking.Packets } public class AuctionListOwnedItemsResult : ServerPacket - { + { public List Items = new(); public List SoldItems = new(); public uint DesiredDelay; @@ -648,7 +650,7 @@ namespace Game.Networking.Packets } class AuctionOutbidNotification : ServerPacket - { + { public AuctionBidderNotification Info; public ulong BidAmount; public ulong MinIncrement; @@ -664,7 +666,7 @@ namespace Game.Networking.Packets } class AuctionOwnerBidNotification : ServerPacket - { + { public AuctionOwnerNotification Info; public ObjectGuid Bidder; public ulong MinIncrement; @@ -680,7 +682,7 @@ namespace Game.Networking.Packets } public class AuctionReplicateResponse : ServerPacket - { + { public uint ChangeNumberCursor; public uint ChangeNumberGlobal; public uint DesiredDelay; @@ -705,7 +707,7 @@ namespace Game.Networking.Packets } class AuctionWonNotification : ServerPacket - { + { public AuctionBidderNotification Info; public AuctionWonNotification() : base(ServerOpcodes.AuctionWonNotification) { } @@ -791,7 +793,7 @@ namespace Game.Networking.Packets ItemClass = data.ReadInt32(); uint subClassFilterCount = data.ReadBits(5); - for (var i = 0; i < subClassFilterCount; ++i) + for (var i = 0; i < subClassFilterCount; ++i) SubClassFilters[i] = new AuctionListFilterSubClass(data); } } @@ -944,6 +946,7 @@ namespace Game.Networking.Packets public ObjectGuid ItemGuid; public ObjectGuid OwnerAccountID; public uint EndTime; + public uint Unused1110; public ObjectGuid? Bidder; public ulong? BidAmount; public List Gems = new(); @@ -981,6 +984,7 @@ namespace Game.Networking.Packets data.WritePackedGuid(Owner); data.WriteInt32(DurationLeft); data.WriteUInt8(DeleteReason); + data.WriteUInt32(Unused1110); foreach (ItemEnchantData enchant in Enchantments) enchant.Write(data); @@ -1026,12 +1030,14 @@ namespace Game.Networking.Packets struct AuctionBidderNotification { + public uint AuctionHouseID; public uint AuctionID; public ObjectGuid Bidder; public ItemInstance Item; - public void Initialize(AuctionPosting auction, Item item) + public void Initialize(uint auctionHouseId, AuctionPosting auction, Item item) { + AuctionHouseID = auctionHouseId; AuctionID = auction.Id; Item = new ItemInstance(item); Bidder = auction.Bidder; @@ -1039,6 +1045,7 @@ namespace Game.Networking.Packets public void Write(WorldPacket data) { + data.WriteUInt32(AuctionHouseID); data.WriteUInt32(AuctionID); data.WritePackedGuid(Bidder); Item.Write(data); diff --git a/Source/Game/Networking/Packets/AuthenticationPackets.cs b/Source/Game/Networking/Packets/AuthenticationPackets.cs index d1dd7c0b4..c41801ff2 100644 --- a/Source/Game/Networking/Packets/AuthenticationPackets.cs +++ b/Source/Game/Networking/Packets/AuthenticationPackets.cs @@ -371,6 +371,7 @@ namespace Game.Networking.Packets class EnterEncryptedMode : ServerPacket { byte[] EncryptionKey; + int RegionGroup; bool Enabled; static byte[] expandedPrivateKey; @@ -404,6 +405,7 @@ namespace Game.Networking.Packets toSign.Finish(EnableEncryptionSeed, 16); _worldPacket.WriteBytes(Ed25519.Sign(toSign.Digest, expandedPrivateKey, 0, EnableEncryptionContext)); + _worldPacket.WriteInt32(RegionGroup); _worldPacket.WriteBit(Enabled); _worldPacket.FlushBits(); } @@ -416,7 +418,7 @@ namespace Game.Networking.Packets { data.WriteUInt32(WaitCount); data.WriteUInt32(WaitTime); - data.WriteUInt32(AllowedFactionGroupForCharacterCreate); + data.WriteUInt8(AllowedFactionGroupForCharacterCreate); data.WriteBit(HasFCM); data.WriteBit(CanCreateOnlyIfExisting); data.FlushBits(); @@ -424,7 +426,7 @@ namespace Game.Networking.Packets public uint WaitCount; // position of the account in the login queue public uint WaitTime; // Wait time in login queue in minutes, if sent queued and this value is 0 client displays "unknown time" - public uint AllowedFactionGroupForCharacterCreate; + public byte AllowedFactionGroupForCharacterCreate; public bool HasFCM; // true if the account has a forced character migration pending. @todo implement public bool CanCreateOnlyIfExisting; ///< Can create characters on realm only if player has other existing characters there } diff --git a/Source/Game/Networking/Packets/BattleGroundPackets.cs b/Source/Game/Networking/Packets/BattleGroundPackets.cs index 943008ddc..f71e03ae7 100644 --- a/Source/Game/Networking/Packets/BattleGroundPackets.cs +++ b/Source/Game/Networking/Packets/BattleGroundPackets.cs @@ -144,7 +144,7 @@ namespace Game.Networking.Packets _worldPacket.WriteUInt32(Mapid); _worldPacket.WriteUInt32(ShutdownTimer); _worldPacket.WriteUInt32(StartTimer); - _worldPacket.WriteBit(ArenaFaction != 0); + _worldPacket.WriteInt8(ArenaFaction); _worldPacket.WriteBit(LeftEarly); _worldPacket.WriteBit(Brawl); _worldPacket.FlushBits(); @@ -152,7 +152,7 @@ namespace Game.Networking.Packets public BattlefieldStatusHeader Hdr = new(); public uint ShutdownTimer; - public byte ArenaFaction; + public sbyte ArenaFaction; public bool LeftEarly; public bool Brawl; public uint StartTimer; @@ -704,13 +704,14 @@ namespace Game.Networking.Packets { data.WritePackedGuid(PlayerGUID); data.WriteUInt32(Kills); + data.WriteInt32(Faction); data.WriteUInt32(DamageDone); data.WriteUInt32(HealingDone); data.WriteInt32(Stats.Count); data.WriteInt32(PrimaryTalentTree); data.WriteInt8(Sex); - data.WriteUInt32((uint)PlayerRace); - data.WriteInt32(PlayerClass); + data.WriteInt8(PlayerRace); + data.WriteInt8(PlayerClass); data.WriteInt32(CreatureID); data.WriteInt32(HonorLevel); data.WriteInt32(Role); @@ -718,7 +719,6 @@ namespace Game.Networking.Packets foreach (var pvpStat in Stats) pvpStat.Write(data); - data.WriteBit(Faction != 0); data.WriteBit(IsInWorld); data.WriteBit(Honor.HasValue); data.WriteBit(PreMatchRating.HasValue); @@ -749,7 +749,7 @@ namespace Game.Networking.Packets public ObjectGuid PlayerGUID; public uint Kills; - public byte Faction; + public int Faction; public bool IsInWorld; public HonorData? Honor; public uint DamageDone; @@ -762,8 +762,8 @@ namespace Game.Networking.Packets public List Stats = new(); public int PrimaryTalentTree; public sbyte Sex; - public Race PlayerRace; - public int PlayerClass; + public sbyte PlayerRace; + public sbyte PlayerClass; public int CreatureID; public int HonorLevel; public int Role; diff --git a/Source/Game/Networking/Packets/CharacterPackets.cs b/Source/Game/Networking/Packets/CharacterPackets.cs index 23b95f3c1..5fccd6e97 100644 --- a/Source/Game/Networking/Packets/CharacterPackets.cs +++ b/Source/Game/Networking/Packets/CharacterPackets.cs @@ -52,9 +52,6 @@ namespace Game.Networking.Packets foreach (RaceLimitDisableInfo raceLimitDisableInfo in RaceLimitDisables) raceLimitDisableInfo.Write(_worldPacket); - foreach (WarbandGroup warbandGroup in WarbandGroups) - warbandGroup.Write(_worldPacket); - foreach (CharacterInfo charInfo in Characters) charInfo.Write(_worldPacket); @@ -63,6 +60,9 @@ namespace Game.Networking.Packets foreach (RaceUnlock raceUnlock in RaceUnlockData) raceUnlock.Write(_worldPacket); + + foreach (WarbandGroup warbandGroup in WarbandGroups) + warbandGroup.Write(_worldPacket); } public bool Success; @@ -197,6 +197,7 @@ namespace Game.Networking.Packets data.WriteUInt32((uint)Flags); data.WriteUInt32((uint)Flags2); data.WriteUInt32(Flags3); + data.WriteUInt32(Flags4); data.WriteUInt8(CantLoginReason); data.WriteUInt32(PetCreatureDisplayId); @@ -216,6 +217,7 @@ namespace Game.Networking.Packets data.WriteInt32(TimerunningSeasonID); data.WriteUInt32(OverrideSelectScreenFileDataID); + data.WriteUInt32(Unused1110_1); foreach (ChrCustomizationChoice customization in Customizations) { @@ -225,6 +227,8 @@ namespace Game.Networking.Packets data.WriteBits(Name.GetByteCount(), 6); data.WriteBit(FirstLogin); + data.WriteBit(Unused1110_2); + data.WriteBit(Unused1110_3); data.FlushBits(); data.WriteString(Name); @@ -247,6 +251,7 @@ namespace Game.Networking.Packets public CharacterFlags Flags; // Character flag @see enum CharacterFlags public CharacterCustomizeFlags Flags2; // Character customization flags @see enum CharacterCustomizeFlags public uint Flags3; // Character flags 3 @todo research + public uint Flags4; ///< Character flags 4 @todo research public bool FirstLogin; public byte CantLoginReason; public long LastActiveTime; @@ -261,6 +266,9 @@ namespace Game.Networking.Packets public uint[] ProfessionIds = new uint[2]; // @todo public VisualItemInfo[] VisualItems = new VisualItemInfo[19]; public CustomTabardInfo PersonalTabard = new(); + public uint Unused1110_1; + public bool Unused1110_2; + public bool Unused1110_3; public struct VisualItemInfo { @@ -350,6 +358,7 @@ namespace Game.Networking.Packets { public CharacterInfoBasic Basic; public ulong Money; + public float AvgEquippedItemLevel; public float CurrentSeasonMythicPlusOverallScore; public uint CurrentSeasonBestPvpRating; public sbyte PvpRatingBracket; @@ -364,6 +373,7 @@ namespace Game.Networking.Packets { Basic.Write(data); data.WriteUInt64(Money); + data.WriteFloat(AvgEquippedItemLevel); data.WriteFloat(CurrentSeasonMythicPlusOverallScore); data.WriteUInt32(CurrentSeasonBestPvpRating); data.WriteInt8(PvpRatingBracket); @@ -373,7 +383,7 @@ namespace Game.Networking.Packets public struct RaceUnlock { - public int RaceID; + public sbyte RaceID; public bool HasUnlockedLicense; public bool HasUnlockedAchievement; public bool HasHeritageArmorUnlockAchievement; @@ -382,7 +392,7 @@ namespace Game.Networking.Packets public void Write(WorldPacket data) { - data.WriteInt32(RaceID); + data.WriteInt8(RaceID); data.WriteBit(HasUnlockedLicense); data.WriteBit(HasUnlockedAchievement); data.WriteBit(HasHeritageArmorUnlockAchievement); @@ -406,12 +416,12 @@ namespace Game.Networking.Packets public struct RaceLimitDisableInfo { - public int RaceID; + public sbyte RaceID; public int Reason; public void Write(WorldPacket data) { - data.WriteInt32(RaceID); + data.WriteInt8(RaceID); data.WriteInt32(Reason); } } @@ -966,9 +976,9 @@ namespace Game.Networking.Packets { var customizationCount = _worldPacket.ReadUInt32(); NewSex = _worldPacket.ReadUInt8(); - CustomizedRace = _worldPacket.ReadInt32(); + CustomizedRace = _worldPacket.ReadInt8(); CustomizedChrModelID = _worldPacket.ReadInt32(); - UnalteredVisualRaceID = _worldPacket.ReadInt32(); + UnalteredVisualRaceID = _worldPacket.ReadInt8(); for (var i = 0; i < customizationCount; ++i) { @@ -984,9 +994,9 @@ namespace Game.Networking.Packets public byte NewSex; public Array Customizations = new(250); - public int CustomizedRace; + public sbyte CustomizedRace; public int CustomizedChrModelID; - public int UnalteredVisualRaceID; + public sbyte UnalteredVisualRaceID; } public class BarberShopResult : ServerPacket @@ -1301,13 +1311,13 @@ namespace Game.Networking.Packets public struct WarbandGroupMember { - public int WarbandScenePlacementID; + public uint WarbandScenePlacementID; public int Type; public ObjectGuid Guid; public void Write(WorldPacket data) { - data.WriteInt32(WarbandScenePlacementID); + data.WriteUInt32(WarbandScenePlacementID); data.WriteInt32(Type); if (Type == 0) data.WritePackedGuid(Guid); @@ -1317,19 +1327,27 @@ namespace Game.Networking.Packets public class WarbandGroup { public ulong GroupID; - public byte Unknown_1100; - public int Flags; ///< enum WarbandGroupFlags { Collapsed = 1 } + public byte OrderIndex; + public uint WarbandSceneID; + public uint Flags; ///< enum WarbandGroupFlags { Collapsed = 1 } public List Members = new(); + public string Name = ""; public void Write(WorldPacket data) { data.WriteUInt64(GroupID); - data.WriteUInt8(Unknown_1100); - data.WriteInt32(Flags); + data.WriteUInt8(OrderIndex); + data.WriteUInt32(WarbandSceneID); + data.WriteUInt32(Flags); data.WriteInt32(Members.Count); foreach (WarbandGroupMember member in Members) member.Write(data); + + data.WriteBits(Name.GetByteCount(), 9); + data.FlushBits(); + + data.WriteString(Name); } } diff --git a/Source/Game/Networking/Packets/CollectionPackets.cs b/Source/Game/Networking/Packets/CollectionPackets.cs index da88a4ac1..e83c3ff9e 100644 --- a/Source/Game/Networking/Packets/CollectionPackets.cs +++ b/Source/Game/Networking/Packets/CollectionPackets.cs @@ -11,7 +11,7 @@ namespace Game.Networking.Packets public override void Read() { - Type = (ItemCollectionType)_worldPacket.ReadUInt32(); + Type = (ItemCollectionType)_worldPacket.ReadUInt8(); Id = _worldPacket.ReadUInt32(); IsFavorite = _worldPacket.HasBit(); } diff --git a/Source/Game/Networking/Packets/CombatPackets.cs b/Source/Game/Networking/Packets/CombatPackets.cs index 436392cba..8d1ed5620 100644 --- a/Source/Game/Networking/Packets/CombatPackets.cs +++ b/Source/Game/Networking/Packets/CombatPackets.cs @@ -254,13 +254,13 @@ namespace Game.Networking.Packets _worldPacket.WriteInt32(OriginalHonor); _worldPacket.WriteInt32(Honor); _worldPacket.WritePackedGuid(Target); - _worldPacket.WriteUInt32(Rank); + _worldPacket.WriteInt8(Rank); } public int OriginalHonor; public int Honor; public ObjectGuid Target; - public uint Rank; + public sbyte Rank; } class BreakTarget : ServerPacket diff --git a/Source/Game/Networking/Packets/GarrisonPackets.cs b/Source/Game/Networking/Packets/GarrisonPackets.cs index 01fc9e09c..b628606a0 100644 --- a/Source/Game/Networking/Packets/GarrisonPackets.cs +++ b/Source/Game/Networking/Packets/GarrisonPackets.cs @@ -51,7 +51,7 @@ namespace Game.Networking.Packets public override void Write() { - _worldPacket.WriteUInt32(FactionIndex); + _worldPacket.WriteInt8(FactionIndex); _worldPacket.WriteInt32(Garrisons.Count); _worldPacket.WriteInt32(FollowerSoftCaps.Count); @@ -62,7 +62,7 @@ namespace Game.Networking.Packets garrison.Write(_worldPacket); } - public uint FactionIndex; + public sbyte FactionIndex; public List Garrisons = new(); public List FollowerSoftCaps = new(); } diff --git a/Source/Game/Networking/Packets/GuildPackets.cs b/Source/Game/Networking/Packets/GuildPackets.cs index 7fecadc54..96e8006de 100644 --- a/Source/Game/Networking/Packets/GuildPackets.cs +++ b/Source/Game/Networking/Packets/GuildPackets.cs @@ -152,8 +152,8 @@ namespace Game.Networking.Packets public override void Write() { - _worldPacket.WriteUInt32((uint)Result); - _worldPacket.WriteUInt32((uint)Command); + _worldPacket.WriteUInt8((byte)Result); + _worldPacket.WriteUInt8((byte)Command); _worldPacket.WriteBits(Name.GetByteCount(), 8); _worldPacket.WriteString(Name); diff --git a/Source/Game/Networking/Packets/MiscPackets.cs b/Source/Game/Networking/Packets/MiscPackets.cs index 0e18c4dee..2fbf30e28 100644 --- a/Source/Game/Networking/Packets/MiscPackets.cs +++ b/Source/Game/Networking/Packets/MiscPackets.cs @@ -793,13 +793,13 @@ namespace Game.Networking.Packets public class EnableBarberShop : ServerPacket { - public byte CustomizationScope; + public uint CustomizationFeatureMask; public EnableBarberShop() : base(ServerOpcodes.EnableBarberShop) { } public override void Write() { - _worldPacket.WriteUInt8(CustomizationScope); + _worldPacket.WriteUInt32(CustomizationFeatureMask); } } diff --git a/Source/Game/Networking/Packets/MovementPackets.cs b/Source/Game/Networking/Packets/MovementPackets.cs index 064028eab..b846e093e 100644 --- a/Source/Game/Networking/Packets/MovementPackets.cs +++ b/Source/Game/Networking/Packets/MovementPackets.cs @@ -92,6 +92,7 @@ namespace Game.Networking.Packets data.ReadBit(); // RemoteTimeValid bool hasInertia = data.HasBit(); bool hasAdvFlying = data.HasBit(); + bool hasDriveStatus = data.HasBit(); if (hasTransport) ReadTransportInfo(data, ref movementInfo.transport); @@ -112,9 +113,9 @@ namespace Game.Networking.Packets if (hasAdvFlying) { MovementInfo.AdvFlying advFlying = new(); - advFlying.forwardVelocity = data.ReadFloat(); advFlying.upVelocity = data.ReadFloat(); + movementInfo.advFlying = advFlying; } @@ -134,6 +135,19 @@ namespace Game.Networking.Packets } } + if (hasDriveStatus) + { + data.ResetBitPos(); + + MovementInfo.Drive driveStatus = new(); + driveStatus.accelerating = data.HasBit(); + driveStatus.drifting = data.HasBit(); + driveStatus.speed = data.ReadFloat(); + driveStatus.movementAngle = data.ReadFloat(); + + movementInfo.driveStatus = driveStatus; + } + return movementInfo; } @@ -145,6 +159,7 @@ namespace Game.Networking.Packets bool hasSpline = false; // todo 6.x send this infos bool hasInertia = movementInfo.inertia.HasValue; bool hasAdvFlying = movementInfo.advFlying.HasValue; + bool hasDriveStatus = movementInfo.driveStatus.HasValue; bool hasStandingOnGameObjectGUID = movementInfo.standingOnGameObjectGUID.HasValue; data.WritePackedGuid(movementInfo.Guid); @@ -178,6 +193,7 @@ namespace Game.Networking.Packets data.WriteBit(false); // RemoteTimeValid data.WriteBit(hasInertia); data.WriteBit(hasAdvFlying); + data.WriteBit(hasDriveStatus); data.FlushBits(); if (hasTransportData) @@ -213,6 +229,14 @@ namespace Game.Networking.Packets data.WriteFloat(movementInfo.jump.xyspeed); } } + + if (hasDriveStatus) + { + data.WriteBit(movementInfo.driveStatus.Value.accelerating); + data.WriteBit(movementInfo.driveStatus.Value.drifting); + data.WriteFloat(movementInfo.driveStatus.Value.speed); + data.WriteFloat(movementInfo.driveStatus.Value.movementAngle); + } } public static void WriteCreateObjectSplineDataBlock(MoveSpline moveSpline, WorldPacket data) @@ -360,6 +384,9 @@ namespace Game.Networking.Packets data.WriteUInt32(movementForce.TransportID); data.WriteFloat(movementForce.Magnitude); data.WriteInt32(movementForce.MovementForceID); + data.WriteInt32(movementForce.Unknown1110_1); + data.WriteInt32(movementForce.Unused1110); + data.WriteUInt32(movementForce.Flags); data.WriteBits((byte)movementForce.Type, 2); data.FlushBits(); } @@ -608,6 +635,7 @@ namespace Game.Networking.Packets _worldPacket.WriteXYZ(OldMapPosition); _worldPacket.WriteBit(Ship.HasValue); _worldPacket.WriteBit(TransferSpellID.HasValue); + _worldPacket.WriteBit(TaxiPathID.HasValue); _worldPacket.FlushBits(); if (Ship.HasValue) @@ -618,12 +646,16 @@ namespace Game.Networking.Packets if (TransferSpellID.HasValue) _worldPacket.WriteInt32(TransferSpellID.Value); + + if (TaxiPathID.HasValue) + _worldPacket.WriteInt32(TaxiPathID.Value); } public int MapID = -1; public Position OldMapPosition; public ShipTransferPending? Ship; public int? TransferSpellID; + public int? TaxiPathID; public struct ShipTransferPending { @@ -1252,6 +1284,7 @@ namespace Game.Networking.Packets data.WriteBit(MovementForceGUID.HasValue); data.WriteBit(MovementInertiaID.HasValue); data.WriteBit(MovementInertiaLifetimeMs.HasValue); + data.WriteBit(DriveCapabilityRecID.HasValue); data.FlushBits(); if (@MovementForce != null) @@ -1292,6 +1325,9 @@ namespace Game.Networking.Packets if (MovementInertiaLifetimeMs.HasValue) data.WriteUInt32(MovementInertiaLifetimeMs.Value); + + if (DriveCapabilityRecID.HasValue) + data.WriteInt32(DriveCapabilityRecID.Value); } public ServerOpcodes MessageID; @@ -1305,6 +1341,7 @@ namespace Game.Networking.Packets public ObjectGuid? MovementForceGUID; public int? MovementInertiaID; public uint? MovementInertiaLifetimeMs; + public int? DriveCapabilityRecID; } } diff --git a/Source/Game/Networking/Packets/MythicPlusPacketsCommon.cs b/Source/Game/Networking/Packets/MythicPlusPacketsCommon.cs index fafdf4331..3d2d453d1 100644 --- a/Source/Game/Networking/Packets/MythicPlusPacketsCommon.cs +++ b/Source/Game/Networking/Packets/MythicPlusPacketsCommon.cs @@ -13,6 +13,7 @@ namespace Game.Networking.Packets public int BestRunLevel; public int BestRunDurationMS; public bool FinishedSuccess; + public byte Unknown1110; public void Write(WorldPacket data) { @@ -20,6 +21,7 @@ namespace Game.Networking.Packets data.WriteFloat(MapScore); data.WriteInt32(BestRunLevel); data.WriteInt32(BestRunDurationMS); + data.WriteUInt8(Unknown1110); data.WriteBit(FinishedSuccess); data.FlushBits(); } @@ -50,7 +52,7 @@ namespace Game.Networking.Packets public uint NativeRealmAddress; public uint VirtualRealmAddress; public int ChrSpecializationID; - public short RaceID; + public sbyte RaceID; public int ItemLevel; public int CovenantID; public int SoulbindID; @@ -64,7 +66,7 @@ namespace Game.Networking.Packets data.WriteUInt32(NativeRealmAddress); data.WriteUInt32(VirtualRealmAddress); data.WriteInt32(ChrSpecializationID); - data.WriteInt16(RaceID); + data.WriteInt8(RaceID); data.WriteInt32(ItemLevel); data.WriteInt32(CovenantID); data.WriteInt32(SoulbindID); diff --git a/Source/Game/Networking/Packets/NPCPackets.cs b/Source/Game/Networking/Packets/NPCPackets.cs index 786dad2a0..540c2f534 100644 --- a/Source/Game/Networking/Packets/NPCPackets.cs +++ b/Source/Game/Networking/Packets/NPCPackets.cs @@ -340,7 +340,7 @@ namespace Game.Networking.Packets public int GossipOptionID; public GossipOptionNpc OptionNPC; public byte OptionFlags; - public int OptionCost; + public ulong OptionCost; public uint OptionLanguage; public GossipOptionFlags Flags; public int OrderIndex; @@ -357,7 +357,7 @@ namespace Game.Networking.Packets data.WriteInt32(GossipOptionID); data.WriteUInt8((byte)OptionNPC); data.WriteInt8((sbyte)OptionFlags); - data.WriteInt32(OptionCost); + data.WriteUInt64(OptionCost); data.WriteUInt32(OptionLanguage); data.WriteInt32((int)Flags); data.WriteInt32(OrderIndex); diff --git a/Source/Game/Networking/Packets/PartyPackets.cs b/Source/Game/Networking/Packets/PartyPackets.cs index 745c6b6cc..26270a381 100644 --- a/Source/Game/Networking/Packets/PartyPackets.cs +++ b/Source/Game/Networking/Packets/PartyPackets.cs @@ -195,9 +195,14 @@ namespace Game.Networking.Packets class GroupUninvite : ServerPacket { + public byte Reason; + public GroupUninvite() : base(ServerOpcodes.GroupUninvite) { } - public override void Write() { } + public override void Write() + { + _worldPacket.WriteUInt8(Reason); + } } class RequestPartyMemberStats : ClientPacket @@ -365,7 +370,7 @@ namespace Game.Networking.Packets } MemberStats.ChromieTime.ConditionalFlags = player.m_playerData.CtrOptions.GetValue().ConditionalFlags; - MemberStats.ChromieTime.FactionGroup = (int)player.m_playerData.CtrOptions.GetValue().FactionGroup; + MemberStats.ChromieTime.FactionGroup = (sbyte)player.m_playerData.CtrOptions.GetValue().FactionGroup; MemberStats.ChromieTime.ChromieTimeExpansionMask = player.m_playerData.CtrOptions.GetValue().ChromieTimeExpansionMask; } @@ -1167,13 +1172,13 @@ namespace Game.Networking.Packets public struct CTROptions { public uint ConditionalFlags; - public int FactionGroup; + public sbyte FactionGroup; public uint ChromieTimeExpansionMask; public void Write(WorldPacket data) { data.WriteUInt32(ConditionalFlags); - data.WriteInt32(FactionGroup); + data.WriteInt8(FactionGroup); data.WriteUInt32(ChromieTimeExpansionMask); } } diff --git a/Source/Game/Networking/Packets/PerksPorgramPacketsCommon.cs b/Source/Game/Networking/Packets/PerksPorgramPacketsCommon.cs index fe866646c..8ba1072c1 100644 --- a/Source/Game/Networking/Packets/PerksPorgramPacketsCommon.cs +++ b/Source/Game/Networking/Packets/PerksPorgramPacketsCommon.cs @@ -12,6 +12,7 @@ namespace Game.Networking.Packets public int ItemModifiedAppearanceID; public int TransmogIllusionID; public int ToyID; + public int WarbandSceneID; public int Price; public int OriginalPrice; public long AvailableUntil; @@ -30,6 +31,7 @@ namespace Game.Networking.Packets data.WriteInt32(Price); data.WriteInt32(OriginalPrice); data.WriteInt64(AvailableUntil); + data.WriteInt32(WarbandSceneID); data.WriteBit(Disabled); data.WriteBit(DoesNotExpire); data.FlushBits(); diff --git a/Source/Game/Networking/Packets/PetPackets.cs b/Source/Game/Networking/Packets/PetPackets.cs index 60de61e33..458378ea3 100644 --- a/Source/Game/Networking/Packets/PetPackets.cs +++ b/Source/Game/Networking/Packets/PetPackets.cs @@ -143,7 +143,7 @@ namespace Game.Networking.Packets public override void Write() { - _worldPacket.WriteUInt8((byte)Result); + _worldPacket.WriteInt32((int)Result); } public StableResult Result; diff --git a/Source/Game/Networking/Packets/QueryPackets.cs b/Source/Game/Networking/Packets/QueryPackets.cs index 7afaf47e7..3a0ad296d 100644 --- a/Source/Game/Networking/Packets/QueryPackets.cs +++ b/Source/Game/Networking/Packets/QueryPackets.cs @@ -87,9 +87,9 @@ namespace Game.Networking.Packets for (var i = 0; i < 2; ++i) _worldPacket.WriteUInt32(Stats.Flags[i]); - _worldPacket.WriteInt32(Stats.CreatureType); + _worldPacket.WriteInt8(Stats.CreatureType); _worldPacket.WriteInt32(Stats.CreatureFamily); - _worldPacket.WriteInt32(Stats.Classification); + _worldPacket.WriteInt8(Stats.Classification); for (var i = 0; i < SharedConst.MaxCreatureKillCredit; ++i) _worldPacket.WriteUInt32(Stats.ProxyCreatureID[i]); @@ -750,9 +750,9 @@ namespace Game.Networking.Packets public string Title; public string TitleAlt; public string CursorName; - public int CreatureType; + public sbyte CreatureType; public int CreatureFamily; - public int Classification; + public sbyte Classification; public CreatureDisplayStats Display = new(); public float HpMulti; public float EnergyMulti; diff --git a/Source/Game/Networking/Packets/SocialPackets.cs b/Source/Game/Networking/Packets/SocialPackets.cs index 5f661af9a..66935f4ae 100644 --- a/Source/Game/Networking/Packets/SocialPackets.cs +++ b/Source/Game/Networking/Packets/SocialPackets.cs @@ -67,7 +67,7 @@ namespace Game.Networking.Packets _worldPacket.WriteUInt8((byte)Status); _worldPacket.WriteUInt32(AreaID); _worldPacket.WriteUInt32(Level); - _worldPacket.WriteUInt32((uint)ClassID); + _worldPacket.WriteInt8((sbyte)ClassID); _worldPacket.WriteBits(Notes.GetByteCount(), 10); _worldPacket.FlushBits(); _worldPacket.WriteString(Notes); @@ -200,7 +200,7 @@ namespace Game.Networking.Packets data.WriteUInt8((byte)Status); data.WriteUInt32(AreaID); data.WriteUInt32(Level); - data.WriteUInt32((uint)ClassID); + data.WriteInt8((sbyte)ClassID); data.WriteBits(Notes.GetByteCount(), 10); data.FlushBits(); data.WriteString(Notes); diff --git a/Source/Game/Networking/Packets/SpellPackets.cs b/Source/Game/Networking/Packets/SpellPackets.cs index bc43659cf..cd2b12f0f 100644 --- a/Source/Game/Networking/Packets/SpellPackets.cs +++ b/Source/Game/Networking/Packets/SpellPackets.cs @@ -1620,6 +1620,7 @@ namespace Game.Networking.Packets data.WriteUInt16(CastLevel); data.WriteUInt8(Applications); data.WriteInt32(ContentTuningID); + data.WriteVector3(DstLocation); data.WriteBit(CastUnit.HasValue); data.WriteBit(Duration.HasValue); data.WriteBit(Remaining.HasValue); @@ -1665,13 +1666,14 @@ namespace Game.Networking.Packets float? TimeMod; public List Points = new(); public List EstimatedPoints = new(); + public Vector3 DstLocation; } public struct AuraInfo { public void Write(WorldPacket data) { - data.WriteUInt8(Slot); + data.WriteUInt16(Slot); data.WriteBit(AuraData != null); data.FlushBits(); @@ -1679,7 +1681,7 @@ namespace Game.Networking.Packets AuraData.Write(data); } - public byte Slot; + public ushort Slot; public AuraDataInfo AuraData; } diff --git a/Source/Game/Networking/Packets/SystemPackets.cs b/Source/Game/Networking/Packets/SystemPackets.cs index b4b3176bb..b71c894a2 100644 --- a/Source/Game/Networking/Packets/SystemPackets.cs +++ b/Source/Game/Networking/Packets/SystemPackets.cs @@ -42,10 +42,16 @@ namespace Game.Networking.Packets _worldPacket.WriteInt16(NameLookupTelemetryInterval); _worldPacket.WriteUInt32((uint)NotFoundCacheTimeSeconds.TotalSeconds); + _worldPacket.WriteUInt32(RealmPvpTypeOverride); + _worldPacket.WriteInt32(AddonChatThrottle.MaxTries); _worldPacket.WriteInt32(AddonChatThrottle.TriesRestoredPerSecond); _worldPacket.WriteInt32(AddonChatThrottle.UsedTriesPerMessage); + _worldPacket.WriteFloat(AddonPerformanceMsgWarning); + _worldPacket.WriteFloat(AddonPerformanceMsgError); + _worldPacket.WriteFloat(AddonPerformanceMsgOverall); + foreach (GameRuleValuePair gameRuleValue in GameRules) gameRuleValue.Write(_worldPacket); @@ -108,6 +114,7 @@ namespace Game.Networking.Packets _worldPacket.WriteBit(false); // unused 11.0.7 _worldPacket.WriteBit(LobbyMatchmakerQueueFromMainlineEnabled); _worldPacket.WriteBit(CanSendLobbyMatchmakerPartyCustomizations); + _worldPacket.WriteBit(AddonProfilerEnabled); _worldPacket.FlushBits(); @@ -216,6 +223,7 @@ namespace Game.Networking.Packets public bool IsAccountCurrencyTransferEnabled; public bool LobbyMatchmakerQueueFromMainlineEnabled; public bool CanSendLobbyMatchmakerPartyCustomizations; + public bool AddonProfilerEnabled; public SocialQueueConfig QuickJoinConfig; public SquelchInfo Squelch; @@ -225,6 +233,10 @@ namespace Game.Networking.Packets public int RemainingTimerunningSeasonSeconds; public string Unknown1027; // related to movement lua functions used by keybinds public AddonChatThrottleParams AddonChatThrottle; + public uint RealmPvpTypeOverride; ///< Use Cfg_Configs value = 0, ForceEnabled = 1, ForceDisabled = 2 + public float AddonPerformanceMsgWarning; + public float AddonPerformanceMsgError; + public float AddonPerformanceMsgOverall; public struct SessionAlertConfig { diff --git a/Source/Game/Networking/Packets/WhoPackets.cs b/Source/Game/Networking/Packets/WhoPackets.cs index 0621d4643..11f251872 100644 --- a/Source/Game/Networking/Packets/WhoPackets.cs +++ b/Source/Game/Networking/Packets/WhoPackets.cs @@ -80,12 +80,12 @@ namespace Game.Networking.Packets { public void Read(WorldPacket data) { - FactionGroup = data.ReadInt32(); + FactionGroup = data.ReadUInt8(); Locale = data.ReadInt32(); RequesterVirtualRealmAddress = data.ReadUInt32(); } - public int FactionGroup; + public byte FactionGroup; public int Locale; public uint RequesterVirtualRealmAddress; } diff --git a/Source/Game/Scripting/CoreScripts.cs b/Source/Game/Scripting/CoreScripts.cs index 54c3377e3..a3eda1baa 100644 --- a/Source/Game/Scripting/CoreScripts.cs +++ b/Source/Game/Scripting/CoreScripts.cs @@ -48,7 +48,7 @@ namespace Game.Scripting player.PlayerTalkClass.GetGossipMenu().AddMenuItem(0, -1, optionNpc, text, 0, GossipOptionFlags.None, null, 0, 0, false, 0, "", null, null, sender, action); } // Using provided texts, not from DB - public static void AddGossipItemFor(Player player, GossipOptionNpc optionNpc, string text, uint sender, uint action, string popupText, uint popupMoney, bool coded) + public static void AddGossipItemFor(Player player, GossipOptionNpc optionNpc, string text, uint sender, uint action, string popupText, ulong popupMoney, bool coded) { player.PlayerTalkClass.GetGossipMenu().AddMenuItem(0, -1, optionNpc, text, 0, GossipOptionFlags.None, null, 0, 0, coded, popupMoney, popupText, null, null, sender, action); } diff --git a/Source/Game/Spells/Auras/Aura.cs b/Source/Game/Spells/Auras/Aura.cs index d5433b7d6..952bb46c5 100644 --- a/Source/Game/Spells/Auras/Aura.cs +++ b/Source/Game/Spells/Auras/Aura.cs @@ -51,7 +51,7 @@ namespace Game.Spells Unit _target; Aura _base; AuraRemoveMode _removeMode; // Store info for know remove aura reason - byte _slot; // Aura slot on unit + ushort _slot; // Aura slot on unit AuraFlags _flags; // Aura info flag uint _effectsToApply; // Used only at spell hit to determine which effect should be applied bool _needClientUpdate; @@ -70,7 +70,7 @@ namespace Game.Spells Cypher.Assert(GetTarget() != null && GetBase() != null); // Try find slot for aura - byte slot = 0; + ushort slot = 0; // Lookup for auras already applied from spell foreach (AuraApplication visibleAura in GetTarget().GetVisibleAuras()) { @@ -314,7 +314,7 @@ namespace Game.Spells public Unit GetTarget() { return _target; } public Aura GetBase() { return _base; } - public byte GetSlot() { return _slot; } + public ushort GetSlot() { return _slot; } public AuraFlags GetFlags() { return _flags; } public uint GetEffectMask() { return _effectMask; } public bool HasEffect(uint effect)