Core/PacketIO: Updated packet structures to 9.0.5
Port From (https://github.com/TrinityCore/TrinityCore/commit/f2202869f71f5a1a35191de303ee5166e4275884)
This commit is contained in:
@@ -19,29 +19,29 @@ namespace Framework.Constants
|
|||||||
{
|
{
|
||||||
public enum ClientOpcodes : uint
|
public enum ClientOpcodes : uint
|
||||||
{
|
{
|
||||||
AbandonNpeResponse = 0x33ef,
|
AbandonNpeResponse = 0x33f1,
|
||||||
AcceptGuildInvite = 0x35fc,
|
AcceptGuildInvite = 0x35fc,
|
||||||
AcceptTrade = 0x315a,
|
AcceptTrade = 0x315a,
|
||||||
AcceptWargameInvite = 0x35e0,
|
AcceptWargameInvite = 0x35e0,
|
||||||
ActivateSoulbind = 0x33df,
|
ActivateSoulbind = 0x33e1,
|
||||||
ActivateTaxi = 0x34b1,
|
ActivateTaxi = 0x34b1,
|
||||||
AddonList = 0x35d8,
|
AddonList = 0x35d8,
|
||||||
AddBattlenetFriend = 0x365a,
|
AddBattlenetFriend = 0x365a,
|
||||||
AddFriend = 0x36d0,
|
AddFriend = 0x36d0,
|
||||||
AddIgnore = 0x36d4,
|
AddIgnore = 0x36d4,
|
||||||
AddToy = 0x32a6,
|
AddToy = 0x32a7,
|
||||||
AdventureJournalOpenQuest = 0x3206,
|
AdventureJournalOpenQuest = 0x3207,
|
||||||
AdventureJournalUpdateSuggestions = 0x33e2,
|
AdventureJournalUpdateSuggestions = 0x33e4,
|
||||||
AdventureMapStartQuest = 0x335b,
|
AdventureMapStartQuest = 0x335d,
|
||||||
AlterAppearance = 0x3503,
|
AlterAppearance = 0x3503,
|
||||||
AreaSpiritHealerQuery = 0x34b6,
|
AreaSpiritHealerQuery = 0x34b6,
|
||||||
AreaSpiritHealerQueue = 0x34b7,
|
AreaSpiritHealerQueue = 0x34b7,
|
||||||
AreaTrigger = 0x31d9,
|
AreaTrigger = 0x31da,
|
||||||
ArtifactAddPower = 0x31ab,
|
ArtifactAddPower = 0x31ac,
|
||||||
ArtifactSetAppearance = 0x31ad,
|
ArtifactSetAppearance = 0x31ae,
|
||||||
AssignEquipmentSetSpec = 0x320f,
|
AssignEquipmentSetSpec = 0x3210,
|
||||||
AttackStop = 0x325e,
|
AttackStop = 0x325f,
|
||||||
AttackSwing = 0x325d,
|
AttackSwing = 0x325e,
|
||||||
AuctionableTokenSell = 0x36e8,
|
AuctionableTokenSell = 0x36e8,
|
||||||
AuctionableTokenSellAtMarketPrice = 0x36e9,
|
AuctionableTokenSellAtMarketPrice = 0x36e9,
|
||||||
AuctionBrowseQuery = 0x34d6,
|
AuctionBrowseQuery = 0x34d6,
|
||||||
@@ -69,15 +69,15 @@ namespace Framework.Constants
|
|||||||
AutoEquipItem = 0x399a,
|
AutoEquipItem = 0x399a,
|
||||||
AutoEquipItemSlot = 0x399f,
|
AutoEquipItemSlot = 0x399f,
|
||||||
AutoStoreBagItem = 0x399b,
|
AutoStoreBagItem = 0x399b,
|
||||||
AzeriteEmpoweredItemSelectPower = 0x3384,
|
AzeriteEmpoweredItemSelectPower = 0x3386,
|
||||||
AzeriteEmpoweredItemViewed = 0x3366,
|
AzeriteEmpoweredItemViewed = 0x3368,
|
||||||
AzeriteEssenceActivateEssence = 0x3386,
|
AzeriteEssenceActivateEssence = 0x3388,
|
||||||
AzeriteEssenceUnlockMilestone = 0x3385,
|
AzeriteEssenceUnlockMilestone = 0x3387,
|
||||||
BankerActivate = 0x34b9,
|
BankerActivate = 0x34b9,
|
||||||
BattlefieldLeave = 0x3173,
|
BattlefieldLeave = 0x3173,
|
||||||
BattlefieldList = 0x317e,
|
BattlefieldList = 0x317f,
|
||||||
BattlefieldPort = 0x3537,
|
BattlefieldPort = 0x3537,
|
||||||
BattlemasterHello = 0x32c0,
|
BattlemasterHello = 0x32c1,
|
||||||
BattlemasterJoin = 0x3530,
|
BattlemasterJoin = 0x3530,
|
||||||
BattlemasterJoinArena = 0x3531,
|
BattlemasterJoinArena = 0x3531,
|
||||||
BattlemasterJoinBrawl = 0x3535,
|
BattlemasterJoinBrawl = 0x3535,
|
||||||
@@ -103,21 +103,21 @@ namespace Framework.Constants
|
|||||||
BattlePetSetBattleSlot = 0x362c,
|
BattlePetSetBattleSlot = 0x362c,
|
||||||
BattlePetSetFlags = 0x3630,
|
BattlePetSetFlags = 0x3630,
|
||||||
BattlePetSummon = 0x3628,
|
BattlePetSummon = 0x3628,
|
||||||
BattlePetUpdateDisplayNotify = 0x31e3,
|
BattlePetUpdateDisplayNotify = 0x31e4,
|
||||||
BattlePetUpdateNotify = 0x31e2,
|
BattlePetUpdateNotify = 0x31e3,
|
||||||
BeginTrade = 0x3157,
|
BeginTrade = 0x3157,
|
||||||
BinderActivate = 0x34b8,
|
BinderActivate = 0x34b8,
|
||||||
BlackMarketBidOnItem = 0x353f,
|
BlackMarketBidOnItem = 0x353f,
|
||||||
BlackMarketOpen = 0x353d,
|
BlackMarketOpen = 0x353d,
|
||||||
BlackMarketRequestItems = 0x353e,
|
BlackMarketRequestItems = 0x353e,
|
||||||
BonusRoll = 0x3387,
|
BonusRoll = 0x3389,
|
||||||
BugReport = 0x3686,
|
BugReport = 0x3686,
|
||||||
BusyTrade = 0x3158,
|
BusyTrade = 0x3158,
|
||||||
BuyBackItem = 0x34aa,
|
BuyBackItem = 0x34aa,
|
||||||
BuyBankSlot = 0x34ba,
|
BuyBankSlot = 0x34ba,
|
||||||
BuyItem = 0x34a9,
|
BuyItem = 0x34a9,
|
||||||
BuyReagentBank = 0x34bb,
|
BuyReagentBank = 0x34bb,
|
||||||
CageBattlePet = 0x31f5,
|
CageBattlePet = 0x31f6,
|
||||||
CalendarAddEvent = 0x367d,
|
CalendarAddEvent = 0x367d,
|
||||||
CalendarCommunityInvite = 0x3671,
|
CalendarCommunityInvite = 0x3671,
|
||||||
CalendarComplain = 0x3679,
|
CalendarComplain = 0x3679,
|
||||||
@@ -133,24 +133,24 @@ namespace Framework.Constants
|
|||||||
CalendarRsvp = 0x3674,
|
CalendarRsvp = 0x3674,
|
||||||
CalendarStatus = 0x3675,
|
CalendarStatus = 0x3675,
|
||||||
CalendarUpdateEvent = 0x367e,
|
CalendarUpdateEvent = 0x367e,
|
||||||
CancelAura = 0x31af,
|
CancelAura = 0x31b0,
|
||||||
CancelAutoRepeatSpell = 0x34f5,
|
CancelAutoRepeatSpell = 0x34f5,
|
||||||
CancelCast = 0x32ac,
|
CancelCast = 0x32ad,
|
||||||
CancelChannelling = 0x3276,
|
CancelChannelling = 0x3277,
|
||||||
CancelGrowthAura = 0x327b,
|
CancelGrowthAura = 0x327c,
|
||||||
CancelMasterLootRoll = 0x3217,
|
CancelMasterLootRoll = 0x3218,
|
||||||
CancelModSpeedNoControlAuras = 0x31ae,
|
CancelModSpeedNoControlAuras = 0x31af,
|
||||||
CancelMountAura = 0x328e,
|
CancelMountAura = 0x328f,
|
||||||
CancelQueuedSpell = 0x317f,
|
CancelQueuedSpell = 0x3180,
|
||||||
CancelTempEnchantment = 0x3500,
|
CancelTempEnchantment = 0x3500,
|
||||||
CancelTrade = 0x315c,
|
CancelTrade = 0x315c,
|
||||||
CanDuel = 0x3662,
|
CanDuel = 0x3662,
|
||||||
CanRedeemTokenForBalance = 0x3709,
|
CanRedeemTokenForBalance = 0x3709,
|
||||||
CastSpell = 0x32a9,
|
CastSpell = 0x32aa,
|
||||||
ChallengeModeRequestLeaders = 0x3090,
|
ChallengeModeRequestLeaders = 0x3090,
|
||||||
ChangeBagSlotFlag = 0x333f,
|
ChangeBagSlotFlag = 0x3341,
|
||||||
ChangeBankBagSlotFlag = 0x3340,
|
ChangeBankBagSlotFlag = 0x3342,
|
||||||
ChangeMonumentAppearance = 0x3321,
|
ChangeMonumentAppearance = 0x3322,
|
||||||
ChangeRealmTicket = 0x36fc,
|
ChangeRealmTicket = 0x36fc,
|
||||||
ChangeSubGroup = 0x364c,
|
ChangeSubGroup = 0x364c,
|
||||||
CharacterCheckUpgrade = 0x36c6,
|
CharacterCheckUpgrade = 0x36c6,
|
||||||
@@ -197,17 +197,17 @@ namespace Framework.Constants
|
|||||||
ChatReportIgnored = 0x37cb,
|
ChatReportIgnored = 0x37cb,
|
||||||
ChatUnregisterAllAddonPrefixes = 0x37ce,
|
ChatUnregisterAllAddonPrefixes = 0x37ce,
|
||||||
CheckCharacterNameAvailability = 0x3645,
|
CheckCharacterNameAvailability = 0x3645,
|
||||||
CheckIsAdventureMapPoiValid = 0x324f,
|
CheckIsAdventureMapPoiValid = 0x3250,
|
||||||
ChoiceResponse = 0x32b0,
|
ChoiceResponse = 0x32b1,
|
||||||
ChromieTimeSelectExpansion = 0x33de,
|
ChromieTimeSelectExpansion = 0x33e0,
|
||||||
ClaimWeeklyReward = 0x33b9,
|
ClaimWeeklyReward = 0x33bb,
|
||||||
ClearNewAppearance = 0x312f,
|
ClearNewAppearance = 0x312f,
|
||||||
ClearRaidMarker = 0x31a7,
|
ClearRaidMarker = 0x31a8,
|
||||||
ClearTradeItem = 0x315e,
|
ClearTradeItem = 0x315e,
|
||||||
ClientPortGraveyard = 0x3539,
|
ClientPortGraveyard = 0x3539,
|
||||||
CloseInteraction = 0x3499,
|
CloseInteraction = 0x3499,
|
||||||
CloseQuestChoice = 0x32b1,
|
CloseQuestChoice = 0x32b2,
|
||||||
CloseRuneforgeInteraction = 0x33e6,
|
CloseRuneforgeInteraction = 0x33e8,
|
||||||
ClubFinderApplicationResponse = 0x371f,
|
ClubFinderApplicationResponse = 0x371f,
|
||||||
ClubFinderGetApplicantsList = 0x371d,
|
ClubFinderGetApplicantsList = 0x371d,
|
||||||
ClubFinderPost = 0x371a,
|
ClubFinderPost = 0x371a,
|
||||||
@@ -232,8 +232,8 @@ namespace Framework.Constants
|
|||||||
Complaint = 0x366c,
|
Complaint = 0x366c,
|
||||||
CompleteCinematic = 0x3557,
|
CompleteCinematic = 0x3557,
|
||||||
CompleteMovie = 0x34eb,
|
CompleteMovie = 0x34eb,
|
||||||
ConfirmArtifactRespec = 0x31ac,
|
ConfirmArtifactRespec = 0x31ad,
|
||||||
ConfirmRespecWipe = 0x3211,
|
ConfirmRespecWipe = 0x3212,
|
||||||
ConnectToFailed = 0x35d4,
|
ConnectToFailed = 0x35d4,
|
||||||
ConsumableTokenBuy = 0x36eb,
|
ConsumableTokenBuy = 0x36eb,
|
||||||
ConsumableTokenBuyAtMarketPrice = 0x36ec,
|
ConsumableTokenBuyAtMarketPrice = 0x36ec,
|
||||||
@@ -244,16 +244,17 @@ namespace Framework.Constants
|
|||||||
ContributionLastUpdateRequest = 0x356a,
|
ContributionLastUpdateRequest = 0x356a,
|
||||||
ConversationLineStarted = 0x3558,
|
ConversationLineStarted = 0x3558,
|
||||||
ConvertRaid = 0x364e,
|
ConvertRaid = 0x364e,
|
||||||
|
CovenantRenownRequestCatchupState = 0x357d,
|
||||||
CreateCharacter = 0x3644,
|
CreateCharacter = 0x3644,
|
||||||
CreateShipment = 0x330d,
|
CreateShipment = 0x330e,
|
||||||
DbQueryBulk = 0x35e4,
|
DbQueryBulk = 0x35e4,
|
||||||
DeclineGuildInvites = 0x352d,
|
DeclineGuildInvites = 0x352d,
|
||||||
DeclinePetition = 0x3546,
|
DeclinePetition = 0x3546,
|
||||||
DeleteEquipmentSet = 0x3519,
|
DeleteEquipmentSet = 0x3519,
|
||||||
DelFriend = 0x36d1,
|
DelFriend = 0x36d1,
|
||||||
DelIgnore = 0x36d5,
|
DelIgnore = 0x36d5,
|
||||||
DepositReagentBank = 0x3348,
|
DepositReagentBank = 0x334a,
|
||||||
DestroyItem = 0x32a0,
|
DestroyItem = 0x32a1,
|
||||||
DfBootPlayerVote = 0x3615,
|
DfBootPlayerVote = 0x3615,
|
||||||
DfConfirmExpandSearch = 0x3607,
|
DfConfirmExpandSearch = 0x3607,
|
||||||
DfGetJoinStatus = 0x3613,
|
DfGetJoinStatus = 0x3613,
|
||||||
@@ -267,10 +268,10 @@ namespace Framework.Constants
|
|||||||
DiscardedTimeSyncAcks = 0x3a3e,
|
DiscardedTimeSyncAcks = 0x3a3e,
|
||||||
DismissCritter = 0x3507,
|
DismissCritter = 0x3507,
|
||||||
DoCountdown = 0x3719,
|
DoCountdown = 0x3719,
|
||||||
DoMasterLootRoll = 0x3216,
|
DoMasterLootRoll = 0x3217,
|
||||||
DoReadyCheck = 0x3634,
|
DoReadyCheck = 0x3634,
|
||||||
DuelResponse = 0x34f0,
|
DuelResponse = 0x34f0,
|
||||||
EjectPassenger = 0x3244,
|
EjectPassenger = 0x3245,
|
||||||
Emote = 0x3553,
|
Emote = 0x3553,
|
||||||
EnableNagle = 0x376b,
|
EnableNagle = 0x376b,
|
||||||
EnableTaxiNode = 0x34af,
|
EnableTaxiNode = 0x34af,
|
||||||
@@ -279,47 +280,47 @@ namespace Framework.Constants
|
|||||||
EnumCharacters = 0x35e8,
|
EnumCharacters = 0x35e8,
|
||||||
EnumCharactersDeletedByClient = 0x36de,
|
EnumCharactersDeletedByClient = 0x36de,
|
||||||
FarSight = 0x34f6,
|
FarSight = 0x34f6,
|
||||||
GameEventDebugDisable = 0x31b3,
|
GameEventDebugDisable = 0x31b4,
|
||||||
GameEventDebugEnable = 0x31b2,
|
GameEventDebugEnable = 0x31b3,
|
||||||
GameObjReportUse = 0x34fd,
|
GameObjReportUse = 0x34fd,
|
||||||
GameObjUse = 0x34fc,
|
GameObjUse = 0x34fc,
|
||||||
GarrisonAddFollowerHealth = 0x3308,
|
GarrisonAddFollowerHealth = 0x3309,
|
||||||
GarrisonAssignFollowerToBuilding = 0x32ee,
|
GarrisonAssignFollowerToBuilding = 0x32ef,
|
||||||
GarrisonCancelConstruction = 0x32db,
|
GarrisonCancelConstruction = 0x32dc,
|
||||||
GarrisonCheckUpgradeable = 0x333b,
|
GarrisonCheckUpgradeable = 0x333d,
|
||||||
GarrisonCompleteMission = 0x332e,
|
GarrisonCompleteMission = 0x332f,
|
||||||
GarrisonFullyHealAllFollowers = 0x3309,
|
GarrisonFullyHealAllFollowers = 0x330a,
|
||||||
GarrisonGenerateRecruits = 0x32f1,
|
GarrisonGenerateRecruits = 0x32f2,
|
||||||
GarrisonGetClassSpecCategoryInfo = 0x3300,
|
GarrisonGetClassSpecCategoryInfo = 0x3301,
|
||||||
GarrisonGetMapData = 0x3307,
|
GarrisonGetMapData = 0x3308,
|
||||||
GarrisonGetMissionReward = 0x335f,
|
GarrisonGetMissionReward = 0x3361,
|
||||||
GarrisonLearnTalent = 0x32fc,
|
GarrisonLearnTalent = 0x32fd,
|
||||||
GarrisonMissionBonusRoll = 0x3330,
|
GarrisonMissionBonusRoll = 0x3331,
|
||||||
GarrisonPurchaseBuilding = 0x32d7,
|
GarrisonPurchaseBuilding = 0x32d8,
|
||||||
GarrisonRecruitFollower = 0x32f3,
|
GarrisonRecruitFollower = 0x32f4,
|
||||||
GarrisonRemoveFollower = 0x3325,
|
GarrisonRemoveFollower = 0x3326,
|
||||||
GarrisonRemoveFollowerFromBuilding = 0x32ef,
|
GarrisonRemoveFollowerFromBuilding = 0x32f0,
|
||||||
GarrisonRenameFollower = 0x32f0,
|
GarrisonRenameFollower = 0x32f1,
|
||||||
GarrisonRequestBlueprintAndSpecializationData = 0x32d6,
|
GarrisonRequestBlueprintAndSpecializationData = 0x32d7,
|
||||||
GarrisonRequestShipmentInfo = 0x330b,
|
GarrisonRequestShipmentInfo = 0x330c,
|
||||||
GarrisonResearchTalent = 0x32f4,
|
GarrisonResearchTalent = 0x32f5,
|
||||||
GarrisonSetBuildingActive = 0x32d8,
|
GarrisonSetBuildingActive = 0x32d9,
|
||||||
GarrisonSetFollowerFavorite = 0x32ec,
|
GarrisonSetFollowerFavorite = 0x32ed,
|
||||||
GarrisonSetFollowerInactive = 0x32e4,
|
GarrisonSetFollowerInactive = 0x32e5,
|
||||||
GarrisonSetRecruitmentPreferences = 0x32f2,
|
GarrisonSetRecruitmentPreferences = 0x32f3,
|
||||||
GarrisonSocketTalent = 0x33f2,
|
GarrisonSocketTalent = 0x33f4,
|
||||||
GarrisonStartMission = 0x332d,
|
GarrisonStartMission = 0x332e,
|
||||||
GarrisonSwapBuildings = 0x32dc,
|
GarrisonSwapBuildings = 0x32dd,
|
||||||
GenerateRandomCharacterName = 0x35e7,
|
GenerateRandomCharacterName = 0x35e7,
|
||||||
GetAccountCharacterList = 0x36b6,
|
GetAccountCharacterList = 0x36b6,
|
||||||
GetGarrisonInfo = 0x32d1,
|
GetGarrisonInfo = 0x32d2,
|
||||||
GetItemPurchaseData = 0x3541,
|
GetItemPurchaseData = 0x3541,
|
||||||
GetLandingPageShipments = 0x330c,
|
GetLandingPageShipments = 0x330d,
|
||||||
GetMirrorImageData = 0x32a4,
|
GetMirrorImageData = 0x32a5,
|
||||||
GetPvpOptionsEnabled = 0x35ee,
|
GetPvpOptionsEnabled = 0x35ee,
|
||||||
GetRafAccountInfo = 0x3723,
|
GetRafAccountInfo = 0x3723,
|
||||||
GetRemainingGameTime = 0x36ed,
|
GetRemainingGameTime = 0x36ed,
|
||||||
GetTrophyList = 0x331e,
|
GetTrophyList = 0x331f,
|
||||||
GetUndeleteCharacterCooldownStatus = 0x36e0,
|
GetUndeleteCharacterCooldownStatus = 0x36e0,
|
||||||
GetVasAccountCharacterList = 0x36f2,
|
GetVasAccountCharacterList = 0x36f2,
|
||||||
GetVasTransferTargetRealmList = 0x36f3,
|
GetVasTransferTargetRealmList = 0x36f3,
|
||||||
@@ -372,34 +373,34 @@ namespace Framework.Constants
|
|||||||
GuildUpdateInfoText = 0x3076,
|
GuildUpdateInfoText = 0x3076,
|
||||||
GuildUpdateMotdText = 0x3075,
|
GuildUpdateMotdText = 0x3075,
|
||||||
HearthAndResurrect = 0x3515,
|
HearthAndResurrect = 0x3515,
|
||||||
HideQuestChoice = 0x32b2,
|
HideQuestChoice = 0x32b3,
|
||||||
HotfixRequest = 0x35e5,
|
HotfixRequest = 0x35e5,
|
||||||
IgnoreTrade = 0x3159,
|
IgnoreTrade = 0x3159,
|
||||||
InitiateRolePoll = 0x35da,
|
InitiateRolePoll = 0x35da,
|
||||||
InitiateTrade = 0x3156,
|
InitiateTrade = 0x3156,
|
||||||
Inspect = 0x353b,
|
Inspect = 0x353b,
|
||||||
InstanceLockResponse = 0x351a,
|
InstanceLockResponse = 0x351a,
|
||||||
IslandQueue = 0x33b5,
|
IslandQueue = 0x33b7,
|
||||||
ItemPurchaseRefund = 0x3542,
|
ItemPurchaseRefund = 0x3542,
|
||||||
ItemTextQuery = 0x333c,
|
ItemTextQuery = 0x333e,
|
||||||
JoinPetBattleQueue = 0x31e0,
|
JoinPetBattleQueue = 0x31e1,
|
||||||
JoinRatedBattleground = 0x3178,
|
JoinRatedBattleground = 0x3179,
|
||||||
KeepAlive = 0x367f,
|
KeepAlive = 0x367f,
|
||||||
KeyboundOverride = 0x3229,
|
KeyboundOverride = 0x322a,
|
||||||
LearnPvpTalents = 0x3568,
|
LearnPvpTalents = 0x3568,
|
||||||
LearnTalents = 0x3566,
|
LearnTalents = 0x3566,
|
||||||
LeaveGroup = 0x3649,
|
LeaveGroup = 0x3649,
|
||||||
LeavePetBattleQueue = 0x31e1,
|
LeavePetBattleQueue = 0x31e2,
|
||||||
LfgListApplyToGroup = 0x360c,
|
LfgListApplyToGroup = 0x360c,
|
||||||
LfgListCancelApplication = 0x360d,
|
LfgListCancelApplication = 0x360d,
|
||||||
LfgListDeclineApplicant = 0x360e,
|
LfgListDeclineApplicant = 0x360e,
|
||||||
LfgListGetStatus = 0x360a,
|
LfgListGetStatus = 0x360a,
|
||||||
LfgListInviteApplicant = 0x360f,
|
LfgListInviteApplicant = 0x360f,
|
||||||
LfgListInviteResponse = 0x3610,
|
LfgListInviteResponse = 0x3610,
|
||||||
LfgListJoin = 0x3382,
|
LfgListJoin = 0x3384,
|
||||||
LfgListLeave = 0x3609,
|
LfgListLeave = 0x3609,
|
||||||
LfgListSearch = 0x360b,
|
LfgListSearch = 0x360b,
|
||||||
LfgListUpdateRequest = 0x3383,
|
LfgListUpdateRequest = 0x3385,
|
||||||
LfGuildAddRecruit = 0x361b,
|
LfGuildAddRecruit = 0x361b,
|
||||||
LfGuildBrowse = 0x361d,
|
LfGuildBrowse = 0x361d,
|
||||||
LfGuildDeclineRecruit = 0x3079,
|
LfGuildDeclineRecruit = 0x3079,
|
||||||
@@ -414,33 +415,33 @@ namespace Framework.Constants
|
|||||||
LiveRegionGetAccountCharacterList = 0x36b7,
|
LiveRegionGetAccountCharacterList = 0x36b7,
|
||||||
LiveRegionKeyBindingsCopy = 0x36ba,
|
LiveRegionKeyBindingsCopy = 0x36ba,
|
||||||
LoadingScreenNotify = 0x35f8,
|
LoadingScreenNotify = 0x35f8,
|
||||||
LoadSelectedTrophy = 0x331f,
|
LoadSelectedTrophy = 0x3320,
|
||||||
LogoutCancel = 0x34e6,
|
LogoutCancel = 0x34e6,
|
||||||
LogoutInstant = 0x34e7,
|
LogoutInstant = 0x34e7,
|
||||||
LogoutRequest = 0x34e4,
|
LogoutRequest = 0x34e4,
|
||||||
LogDisconnect = 0x3769,
|
LogDisconnect = 0x3769,
|
||||||
LogStreamingError = 0x376d,
|
LogStreamingError = 0x376d,
|
||||||
LootItem = 0x3214,
|
LootItem = 0x3215,
|
||||||
LootMoney = 0x3213,
|
LootMoney = 0x3214,
|
||||||
LootRelease = 0x3218,
|
LootRelease = 0x3219,
|
||||||
LootRoll = 0x3219,
|
LootRoll = 0x321a,
|
||||||
LootUnit = 0x3212,
|
LootUnit = 0x3213,
|
||||||
LowLevelRaid1 = 0x36a2,
|
LowLevelRaid1 = 0x36a2,
|
||||||
LowLevelRaid2 = 0x3521,
|
LowLevelRaid2 = 0x3521,
|
||||||
MailCreateTextItem = 0x354d,
|
MailCreateTextItem = 0x354d,
|
||||||
MailDelete = 0x322b,
|
MailDelete = 0x322c,
|
||||||
MailGetList = 0x3548,
|
MailGetList = 0x3548,
|
||||||
MailMarkAsRead = 0x354c,
|
MailMarkAsRead = 0x354c,
|
||||||
MailReturnToSender = 0x3655,
|
MailReturnToSender = 0x3655,
|
||||||
MailTakeItem = 0x354a,
|
MailTakeItem = 0x354a,
|
||||||
MailTakeMoney = 0x3549,
|
MailTakeMoney = 0x3549,
|
||||||
MakeContitionalAppearancePermanent = 0x322d,
|
MakeContitionalAppearancePermanent = 0x322e,
|
||||||
MasterLootItem = 0x3215,
|
MasterLootItem = 0x3216,
|
||||||
MinimapPing = 0x364b,
|
MinimapPing = 0x364b,
|
||||||
MissileTrajectoryCollision = 0x318a,
|
MissileTrajectoryCollision = 0x318b,
|
||||||
MountClearFanfare = 0x312d,
|
MountClearFanfare = 0x312d,
|
||||||
MountSetFavorite = 0x3632,
|
MountSetFavorite = 0x3632,
|
||||||
MountSpecialAnim = 0x328f,
|
MountSpecialAnim = 0x3290,
|
||||||
MoveApplyMovementForceAck = 0x3a14,
|
MoveApplyMovementForceAck = 0x3a14,
|
||||||
MoveChangeTransport = 0x3a2e,
|
MoveChangeTransport = 0x3a2e,
|
||||||
MoveChangeVehicleSeats = 0x3a33,
|
MoveChangeVehicleSeats = 0x3a33,
|
||||||
@@ -510,40 +511,40 @@ namespace Framework.Constants
|
|||||||
MoveWaterWalkAck = 0x3a1c,
|
MoveWaterWalkAck = 0x3a1c,
|
||||||
MythicPlusRequestMapStats = 0x308f,
|
MythicPlusRequestMapStats = 0x308f,
|
||||||
MythicPlusWeeklyRewardRequest = 0x3683,
|
MythicPlusWeeklyRewardRequest = 0x3683,
|
||||||
NeutralPlayerSelectFaction = 0x31d6,
|
NeutralPlayerSelectFaction = 0x31d7,
|
||||||
NextCinematicCamera = 0x3556,
|
NextCinematicCamera = 0x3556,
|
||||||
ObjectUpdateFailed = 0x3180,
|
ObjectUpdateFailed = 0x3181,
|
||||||
ObjectUpdateRescued = 0x3181,
|
ObjectUpdateRescued = 0x3182,
|
||||||
OfferPetition = 0x33dd,
|
OfferPetition = 0x33df,
|
||||||
OpeningCinematic = 0x3555,
|
OpeningCinematic = 0x3555,
|
||||||
OpenItem = 0x333d,
|
OpenItem = 0x333f,
|
||||||
OpenMissionNpc = 0x3302,
|
OpenMissionNpc = 0x3303,
|
||||||
OpenShipmentNpc = 0x330a,
|
OpenShipmentNpc = 0x330b,
|
||||||
OpenTradeskillNpc = 0x3315,
|
OpenTradeskillNpc = 0x3316,
|
||||||
OptOutOfLoot = 0x3504,
|
OptOutOfLoot = 0x3504,
|
||||||
OverrideScreenFlash = 0x352e,
|
OverrideScreenFlash = 0x352e,
|
||||||
PartyInvite = 0x3602,
|
PartyInvite = 0x3602,
|
||||||
PartyInviteResponse = 0x3603,
|
PartyInviteResponse = 0x3603,
|
||||||
PartyUninvite = 0x3647,
|
PartyUninvite = 0x3647,
|
||||||
PerformItemInteraction = 0x3235,
|
PerformItemInteraction = 0x3236,
|
||||||
PetitionBuy = 0x34cf,
|
PetitionBuy = 0x34cf,
|
||||||
PetitionRenameGuild = 0x36c9,
|
PetitionRenameGuild = 0x36c9,
|
||||||
PetitionShowList = 0x34ce,
|
PetitionShowList = 0x34ce,
|
||||||
PetitionShowSignatures = 0x34d0,
|
PetitionShowSignatures = 0x34d0,
|
||||||
PetAbandon = 0x3493,
|
PetAbandon = 0x3493,
|
||||||
PetAction = 0x3491,
|
PetAction = 0x3491,
|
||||||
PetBattleFinalNotify = 0x31e5,
|
PetBattleFinalNotify = 0x31e6,
|
||||||
PetBattleInput = 0x3641,
|
PetBattleInput = 0x3641,
|
||||||
PetBattleQueueProposeMatchResult = 0x322a,
|
PetBattleQueueProposeMatchResult = 0x322b,
|
||||||
PetBattleQuitNotify = 0x31e4,
|
PetBattleQuitNotify = 0x31e5,
|
||||||
PetBattleReplaceFrontPet = 0x3642,
|
PetBattleReplaceFrontPet = 0x3642,
|
||||||
PetBattleRequestPvp = 0x31de,
|
PetBattleRequestPvp = 0x31df,
|
||||||
PetBattleRequestUpdate = 0x31df,
|
PetBattleRequestUpdate = 0x31e0,
|
||||||
PetBattleRequestWild = 0x31dc,
|
PetBattleRequestWild = 0x31dd,
|
||||||
PetBattleScriptErrorNotify = 0x31e6,
|
PetBattleScriptErrorNotify = 0x31e7,
|
||||||
PetBattleWildLocationFail = 0x31dd,
|
PetBattleWildLocationFail = 0x31de,
|
||||||
PetCancelAura = 0x3494,
|
PetCancelAura = 0x3494,
|
||||||
PetCastSpell = 0x32a8,
|
PetCastSpell = 0x32a9,
|
||||||
PetRename = 0x3685,
|
PetRename = 0x3685,
|
||||||
PetSetAction = 0x3490,
|
PetSetAction = 0x3490,
|
||||||
PetSpellAutocast = 0x3495,
|
PetSpellAutocast = 0x3495,
|
||||||
@@ -551,31 +552,31 @@ namespace Framework.Constants
|
|||||||
Ping = 0x3768,
|
Ping = 0x3768,
|
||||||
PlayerLogin = 0x35ea,
|
PlayerLogin = 0x35ea,
|
||||||
PushQuestToParty = 0x34a5,
|
PushQuestToParty = 0x34a5,
|
||||||
PvpLogData = 0x317b,
|
PvpLogData = 0x317c,
|
||||||
QueryBattlePetName = 0x3282,
|
QueryBattlePetName = 0x3283,
|
||||||
QueryCorpseLocationFromClient = 0x3660,
|
QueryCorpseLocationFromClient = 0x3660,
|
||||||
QueryCorpseTransport = 0x3661,
|
QueryCorpseTransport = 0x3661,
|
||||||
QueryCountdownTimer = 0x31aa,
|
QueryCountdownTimer = 0x31ab,
|
||||||
QueryCreature = 0x327c,
|
QueryCreature = 0x327d,
|
||||||
QueryGameObject = 0x327d,
|
QueryGameObject = 0x327e,
|
||||||
QueryGarrisonPetName = 0x3283,
|
QueryGarrisonPetName = 0x3284,
|
||||||
QueryGuildInfo = 0x368e,
|
QueryGuildInfo = 0x368e,
|
||||||
QueryInspectAchievements = 0x350e,
|
QueryInspectAchievements = 0x350e,
|
||||||
QueryNextMailTime = 0x354b,
|
QueryNextMailTime = 0x354b,
|
||||||
QueryNpcText = 0x327e,
|
QueryNpcText = 0x327f,
|
||||||
QueryPageText = 0x3280,
|
QueryPageText = 0x3281,
|
||||||
QueryPetition = 0x3284,
|
QueryPetition = 0x3285,
|
||||||
QueryPetName = 0x3281,
|
QueryPetName = 0x3282,
|
||||||
QueryPlayerName = 0x368a,
|
QueryPlayerName = 0x368a,
|
||||||
QueryPlayerNamesForCommunity = 0x368c,
|
QueryPlayerNamesForCommunity = 0x368c,
|
||||||
QueryPlayerNameByCommunityId = 0x368b,
|
QueryPlayerNameByCommunityId = 0x368b,
|
||||||
QueryQuestCompletionNpcs = 0x3175,
|
QueryQuestCompletionNpcs = 0x3175,
|
||||||
QueryQuestInfo = 0x327f,
|
QueryQuestInfo = 0x3280,
|
||||||
QueryRealmName = 0x368d,
|
QueryRealmName = 0x368d,
|
||||||
QueryScenarioPoi = 0x3656,
|
QueryScenarioPoi = 0x3656,
|
||||||
QueryTime = 0x34e3,
|
QueryTime = 0x34e3,
|
||||||
QueryTreasurePicker = 0x3362,
|
QueryTreasurePicker = 0x3364,
|
||||||
QueryVoidStorage = 0x31a3,
|
QueryVoidStorage = 0x31a4,
|
||||||
QuestConfirmAccept = 0x34a4,
|
QuestConfirmAccept = 0x34a4,
|
||||||
QuestGiverAcceptQuest = 0x349e,
|
QuestGiverAcceptQuest = 0x349e,
|
||||||
QuestGiverChooseReward = 0x34a0,
|
QuestGiverChooseReward = 0x34a0,
|
||||||
@@ -589,8 +590,8 @@ namespace Framework.Constants
|
|||||||
QuestLogRemoveQuest = 0x3540,
|
QuestLogRemoveQuest = 0x3540,
|
||||||
QuestPoiQuery = 0x36b0,
|
QuestPoiQuery = 0x36b0,
|
||||||
QuestPushResult = 0x34a6,
|
QuestPushResult = 0x34a6,
|
||||||
QuestSessionBeginResponse = 0x33ce,
|
QuestSessionBeginResponse = 0x33d0,
|
||||||
QuestSessionRequestStart = 0x33cd,
|
QuestSessionRequestStart = 0x33cf,
|
||||||
QuestSessionRequestStop = 0x372e,
|
QuestSessionRequestStop = 0x372e,
|
||||||
QueuedMessagesEnd = 0x376c,
|
QueuedMessagesEnd = 0x376c,
|
||||||
QuickJoinAutoAcceptRequests = 0x3708,
|
QuickJoinAutoAcceptRequests = 0x3708,
|
||||||
@@ -605,66 +606,66 @@ namespace Framework.Constants
|
|||||||
RaidOrBattlegroundEngineSurvey = 0x36e5,
|
RaidOrBattlegroundEngineSurvey = 0x36e5,
|
||||||
RandomRoll = 0x3654,
|
RandomRoll = 0x3654,
|
||||||
ReadyCheckResponse = 0x3635,
|
ReadyCheckResponse = 0x3635,
|
||||||
ReadItem = 0x333e,
|
ReadItem = 0x3340,
|
||||||
ReclaimCorpse = 0x34e9,
|
ReclaimCorpse = 0x34e9,
|
||||||
RemoveNewItem = 0x3365,
|
RemoveNewItem = 0x3367,
|
||||||
RemoveRafRecruit = 0x3727,
|
RemoveRafRecruit = 0x3727,
|
||||||
ReorderCharacters = 0x35e9,
|
ReorderCharacters = 0x35e9,
|
||||||
RepairItem = 0x34fa,
|
RepairItem = 0x34fa,
|
||||||
ReplaceTrophy = 0x3320,
|
ReplaceTrophy = 0x3321,
|
||||||
RepopRequest = 0x3538,
|
RepopRequest = 0x3538,
|
||||||
ReportClientVariables = 0x3702,
|
ReportClientVariables = 0x3702,
|
||||||
ReportEnabledAddons = 0x3701,
|
ReportEnabledAddons = 0x3701,
|
||||||
ReportKeybindingExecutionCounts = 0x3703,
|
ReportKeybindingExecutionCounts = 0x3703,
|
||||||
ReportPvpPlayerAfk = 0x3502,
|
ReportPvpPlayerAfk = 0x3502,
|
||||||
ReportServerLag = 0x33c4,
|
ReportServerLag = 0x33c6,
|
||||||
ReportStuckInCombat = 0x33c5,
|
ReportStuckInCombat = 0x33c7,
|
||||||
RequestAccountData = 0x3698,
|
RequestAccountData = 0x3698,
|
||||||
RequestAreaPoiUpdate = 0x3364,
|
RequestAreaPoiUpdate = 0x3366,
|
||||||
RequestBattlefieldStatus = 0x35dc,
|
RequestBattlefieldStatus = 0x35dc,
|
||||||
RequestCategoryCooldowns = 0x317d,
|
RequestCategoryCooldowns = 0x317e,
|
||||||
RequestCemeteryList = 0x3176,
|
RequestCemeteryList = 0x3177,
|
||||||
RequestCharacterGuildFollowInfo = 0x368f,
|
RequestCharacterGuildFollowInfo = 0x368f,
|
||||||
RequestConquestFormulaConstants = 0x32c3,
|
RequestConquestFormulaConstants = 0x32c4,
|
||||||
RequestCovenantCallings = 0x33b7,
|
RequestCovenantCallings = 0x33b9,
|
||||||
RequestCrowdControlSpell = 0x353c,
|
RequestCrowdControlSpell = 0x353c,
|
||||||
RequestForcedReactions = 0x320d,
|
RequestForcedReactions = 0x320e,
|
||||||
RequestGarrisonTalentWorldQuestUnlocks = 0x33f1,
|
RequestGarrisonTalentWorldQuestUnlocks = 0x33f3,
|
||||||
RequestGuildPartyState = 0x31a9,
|
RequestGuildPartyState = 0x31aa,
|
||||||
RequestGuildRewardsList = 0x31a8,
|
RequestGuildRewardsList = 0x31a9,
|
||||||
RequestLatestSplashScreen = 0x33c6,
|
RequestLatestSplashScreen = 0x33c8,
|
||||||
RequestLfgListBlacklist = 0x32b3,
|
RequestLfgListBlacklist = 0x32b4,
|
||||||
RequestMythicPlusAffixes = 0x320a,
|
RequestMythicPlusAffixes = 0x320b,
|
||||||
RequestMythicPlusSeasonData = 0x320b,
|
RequestMythicPlusSeasonData = 0x320c,
|
||||||
RequestPartyJoinUpdates = 0x35f7,
|
RequestPartyJoinUpdates = 0x35f7,
|
||||||
RequestPartyMemberStats = 0x3653,
|
RequestPartyMemberStats = 0x3653,
|
||||||
RequestPetInfo = 0x3496,
|
RequestPetInfo = 0x3496,
|
||||||
RequestPlayedTime = 0x3287,
|
RequestPlayedTime = 0x3288,
|
||||||
RequestPvpRewards = 0x3196,
|
RequestPvpRewards = 0x3197,
|
||||||
RequestRaidInfo = 0x36ca,
|
RequestRaidInfo = 0x36ca,
|
||||||
RequestRatedPvpInfo = 0x35e3,
|
RequestRatedPvpInfo = 0x35e3,
|
||||||
RequestRealmGuildMasterInfo = 0x309b,
|
RequestRealmGuildMasterInfo = 0x309b,
|
||||||
RequestResearchHistory = 0x3167,
|
RequestResearchHistory = 0x3167,
|
||||||
RequestScheduledPvpInfo = 0x3197,
|
RequestScheduledPvpInfo = 0x3198,
|
||||||
RequestStabledPets = 0x3497,
|
RequestStabledPets = 0x3497,
|
||||||
RequestVehicleExit = 0x323f,
|
RequestVehicleExit = 0x3240,
|
||||||
RequestVehicleNextSeat = 0x3241,
|
RequestVehicleNextSeat = 0x3242,
|
||||||
RequestVehiclePrevSeat = 0x3240,
|
RequestVehiclePrevSeat = 0x3241,
|
||||||
RequestVehicleSwitchSeat = 0x3242,
|
RequestVehicleSwitchSeat = 0x3243,
|
||||||
RequestWeeklyRewards = 0x33ba,
|
RequestWeeklyRewards = 0x33bc,
|
||||||
RequestWorldQuestUpdate = 0x3363,
|
RequestWorldQuestUpdate = 0x3365,
|
||||||
ResetChallengeMode = 0x3208,
|
ResetChallengeMode = 0x3209,
|
||||||
ResetChallengeModeCheat = 0x3209,
|
ResetChallengeModeCheat = 0x320a,
|
||||||
ResetInstances = 0x3668,
|
ResetInstances = 0x3668,
|
||||||
ResurrectResponse = 0x3684,
|
ResurrectResponse = 0x3684,
|
||||||
RevertMonumentAppearance = 0x3322,
|
RevertMonumentAppearance = 0x3323,
|
||||||
RideVehicleInteract = 0x3243,
|
RideVehicleInteract = 0x3244,
|
||||||
SaveCufProfiles = 0x318b,
|
SaveCufProfiles = 0x318c,
|
||||||
SaveEquipmentSet = 0x3518,
|
SaveEquipmentSet = 0x3518,
|
||||||
SaveGuildEmblem = 0x32b7,
|
SaveGuildEmblem = 0x32b8,
|
||||||
ScenePlaybackCanceled = 0x3226,
|
ScenePlaybackCanceled = 0x3227,
|
||||||
ScenePlaybackComplete = 0x3225,
|
ScenePlaybackComplete = 0x3226,
|
||||||
SceneTriggerEvent = 0x3227,
|
SceneTriggerEvent = 0x3228,
|
||||||
SelfRes = 0x3543,
|
SelfRes = 0x3543,
|
||||||
SellItem = 0x34a8,
|
SellItem = 0x34a8,
|
||||||
SendCharacterClubInvitation = 0x36fb,
|
SendCharacterClubInvitation = 0x36fb,
|
||||||
@@ -672,62 +673,62 @@ namespace Framework.Constants
|
|||||||
SendMail = 0x35fa,
|
SendMail = 0x35fa,
|
||||||
SendTextEmote = 0x348e,
|
SendTextEmote = 0x348e,
|
||||||
ServerTimeOffsetRequest = 0x369d,
|
ServerTimeOffsetRequest = 0x369d,
|
||||||
SetAchievementsHidden = 0x322c,
|
SetAchievementsHidden = 0x322d,
|
||||||
SetActionBarToggles = 0x3544,
|
SetActionBarToggles = 0x3544,
|
||||||
SetActionButton = 0x3636,
|
SetActionButton = 0x3636,
|
||||||
SetActiveMover = 0x3a39,
|
SetActiveMover = 0x3a39,
|
||||||
SetAdvancedCombatLogging = 0x32c4,
|
SetAdvancedCombatLogging = 0x32c5,
|
||||||
SetAssistantLeader = 0x364f,
|
SetAssistantLeader = 0x364f,
|
||||||
SetBackpackAutosortDisabled = 0x3341,
|
SetBackpackAutosortDisabled = 0x3343,
|
||||||
SetBankAutosortDisabled = 0x3342,
|
SetBankAutosortDisabled = 0x3344,
|
||||||
SetContactNotes = 0x36d2,
|
SetContactNotes = 0x36d2,
|
||||||
SetCurrencyFlags = 0x3169,
|
SetCurrencyFlags = 0x3169,
|
||||||
SetDifficultyId = 0x3228,
|
SetDifficultyId = 0x3229,
|
||||||
SetDungeonDifficulty = 0x3682,
|
SetDungeonDifficulty = 0x3682,
|
||||||
SetEveryoneIsAssistant = 0x3617,
|
SetEveryoneIsAssistant = 0x3617,
|
||||||
SetFactionAtWar = 0x34ec,
|
SetFactionAtWar = 0x34ec,
|
||||||
SetFactionInactive = 0x34ee,
|
SetFactionInactive = 0x34ee,
|
||||||
SetFactionNotAtWar = 0x34ed,
|
SetFactionNotAtWar = 0x34ed,
|
||||||
SetGameEventDebugViewState = 0x31ba,
|
SetGameEventDebugViewState = 0x31bb,
|
||||||
SetInsertItemsLeftToRight = 0x3344,
|
SetInsertItemsLeftToRight = 0x3346,
|
||||||
SetLootMethod = 0x3648,
|
SetLootMethod = 0x3648,
|
||||||
SetLootSpecialization = 0x3551,
|
SetLootSpecialization = 0x3551,
|
||||||
SetPartyAssignment = 0x3651,
|
SetPartyAssignment = 0x3651,
|
||||||
SetPartyLeader = 0x364a,
|
SetPartyLeader = 0x364a,
|
||||||
SetPetSlot = 0x3168,
|
SetPetSlot = 0x3168,
|
||||||
SetPlayerDeclinedNames = 0x3689,
|
SetPlayerDeclinedNames = 0x3689,
|
||||||
SetPreferredCemetery = 0x3177,
|
SetPreferredCemetery = 0x3178,
|
||||||
SetPvp = 0x32bb,
|
SetPvp = 0x32bc,
|
||||||
SetRaidDifficulty = 0x36dc,
|
SetRaidDifficulty = 0x36dc,
|
||||||
SetRole = 0x35d9,
|
SetRole = 0x35d9,
|
||||||
SetSavedInstanceExtend = 0x3687,
|
SetSavedInstanceExtend = 0x3687,
|
||||||
SetSelection = 0x353a,
|
SetSelection = 0x353a,
|
||||||
SetSheathed = 0x348f,
|
SetSheathed = 0x348f,
|
||||||
SetSortBagsRightToLeft = 0x3343,
|
SetSortBagsRightToLeft = 0x3345,
|
||||||
SetTaxiBenchmarkMode = 0x3501,
|
SetTaxiBenchmarkMode = 0x3501,
|
||||||
SetTitle = 0x328d,
|
SetTitle = 0x328e,
|
||||||
SetTradeCurrency = 0x3160,
|
SetTradeCurrency = 0x3160,
|
||||||
SetTradeGold = 0x315f,
|
SetTradeGold = 0x315f,
|
||||||
SetTradeItem = 0x315d,
|
SetTradeItem = 0x315d,
|
||||||
SetUsingPartyGarrison = 0x3304,
|
SetUsingPartyGarrison = 0x3305,
|
||||||
SetWarMode = 0x32bc,
|
SetWarMode = 0x32bd,
|
||||||
SetWatchedFaction = 0x34ef,
|
SetWatchedFaction = 0x34ef,
|
||||||
ShowTradeSkill = 0x36c2,
|
ShowTradeSkill = 0x36c2,
|
||||||
SignPetition = 0x3545,
|
SignPetition = 0x3545,
|
||||||
SilencePartyTalker = 0x3652,
|
SilencePartyTalker = 0x3652,
|
||||||
SocketGems = 0x34f9,
|
SocketGems = 0x34f9,
|
||||||
SortBags = 0x3345,
|
SortBags = 0x3347,
|
||||||
SortBankBags = 0x3346,
|
SortBankBags = 0x3348,
|
||||||
SortReagentBankBags = 0x3347,
|
SortReagentBankBags = 0x3349,
|
||||||
SpellClick = 0x349b,
|
SpellClick = 0x349b,
|
||||||
SpiritHealerActivate = 0x34b5,
|
SpiritHealerActivate = 0x34b5,
|
||||||
SplitItem = 0x399e,
|
SplitItem = 0x399e,
|
||||||
StandStateChange = 0x3189,
|
StandStateChange = 0x318a,
|
||||||
StartChallengeMode = 0x355c,
|
StartChallengeMode = 0x355c,
|
||||||
StartSpectatorWarGame = 0x35df,
|
StartSpectatorWarGame = 0x35df,
|
||||||
StartWarGame = 0x35de,
|
StartWarGame = 0x35de,
|
||||||
SubmitUserFeedback = 0x3697,
|
SubmitUserFeedback = 0x3697,
|
||||||
SubscriptionInterstitialResponse = 0x33e7,
|
SubscriptionInterstitialResponse = 0x33e9,
|
||||||
SummonResponse = 0x366a,
|
SummonResponse = 0x366a,
|
||||||
SupportTicketSubmitComplaint = 0x3646,
|
SupportTicketSubmitComplaint = 0x3646,
|
||||||
SurrenderArena = 0x3174,
|
SurrenderArena = 0x3174,
|
||||||
@@ -736,8 +737,8 @@ namespace Framework.Constants
|
|||||||
SwapInvItem = 0x399d,
|
SwapInvItem = 0x399d,
|
||||||
SwapItem = 0x399c,
|
SwapItem = 0x399c,
|
||||||
SwapSubGroups = 0x364d,
|
SwapSubGroups = 0x364d,
|
||||||
SwapVoidItem = 0x31a5,
|
SwapVoidItem = 0x31a6,
|
||||||
TabardVendorActivate = 0x32b8,
|
TabardVendorActivate = 0x32b9,
|
||||||
TalkToGossip = 0x3498,
|
TalkToGossip = 0x3498,
|
||||||
TaxiNodeStatusQuery = 0x34ae,
|
TaxiNodeStatusQuery = 0x34ae,
|
||||||
TaxiQueryAvailableNodes = 0x34b0,
|
TaxiQueryAvailableNodes = 0x34b0,
|
||||||
@@ -747,46 +748,46 @@ namespace Framework.Constants
|
|||||||
TimeSyncResponseDropped = 0x3a3c,
|
TimeSyncResponseDropped = 0x3a3c,
|
||||||
TimeSyncResponseFailed = 0x3a3b,
|
TimeSyncResponseFailed = 0x3a3b,
|
||||||
ToggleDifficulty = 0x3657,
|
ToggleDifficulty = 0x3657,
|
||||||
TogglePvp = 0x32ba,
|
TogglePvp = 0x32bb,
|
||||||
TotemDestroyed = 0x3506,
|
TotemDestroyed = 0x3506,
|
||||||
ToyClearFanfare = 0x312e,
|
ToyClearFanfare = 0x312e,
|
||||||
TradeSkillSetFavorite = 0x3361,
|
TradeSkillSetFavorite = 0x3363,
|
||||||
TrainerBuySpell = 0x34b4,
|
TrainerBuySpell = 0x34b4,
|
||||||
TrainerList = 0x34b3,
|
TrainerList = 0x34b3,
|
||||||
TransmogrifyItems = 0x3198,
|
TransmogrifyItems = 0x3199,
|
||||||
TurnInPetition = 0x3547,
|
TurnInPetition = 0x3547,
|
||||||
Tutorial = 0x36dd,
|
Tutorial = 0x36dd,
|
||||||
TwitterCheckStatus = 0x312a,
|
TwitterCheckStatus = 0x312a,
|
||||||
TwitterConnect = 0x3127,
|
TwitterConnect = 0x3127,
|
||||||
TwitterDisconnect = 0x312b,
|
TwitterDisconnect = 0x312b,
|
||||||
TwitterPost = 0x3349,
|
TwitterPost = 0x334b,
|
||||||
UiMapQuestLinesRequest = 0x33b6,
|
UiMapQuestLinesRequest = 0x33b8,
|
||||||
UnacceptTrade = 0x315b,
|
UnacceptTrade = 0x315b,
|
||||||
UndeleteCharacter = 0x36df,
|
UndeleteCharacter = 0x36df,
|
||||||
UnlearnSkill = 0x34f3,
|
UnlearnSkill = 0x34f3,
|
||||||
UnlearnSpecialization = 0x31a6,
|
UnlearnSpecialization = 0x31a7,
|
||||||
UnlockVoidStorage = 0x31a2,
|
UnlockVoidStorage = 0x31a3,
|
||||||
UpdateAccountData = 0x3699,
|
UpdateAccountData = 0x3699,
|
||||||
UpdateAreaTriggerVisual = 0x32ab,
|
UpdateAreaTriggerVisual = 0x32ac,
|
||||||
UpdateClientSettings = 0x3664,
|
UpdateClientSettings = 0x3664,
|
||||||
UpdateMissileTrajectory = 0x3a40,
|
UpdateMissileTrajectory = 0x3a40,
|
||||||
UpdateRaidTarget = 0x3650,
|
UpdateRaidTarget = 0x3650,
|
||||||
UpdateSpellVisual = 0x32aa,
|
UpdateSpellVisual = 0x32ab,
|
||||||
UpdateVasPurchaseStates = 0x36f5,
|
UpdateVasPurchaseStates = 0x36f5,
|
||||||
UpgradeGarrison = 0x32cc,
|
UpgradeGarrison = 0x32cd,
|
||||||
UpgradeRuneforgeLegendary = 0x33e5,
|
UpgradeRuneforgeLegendary = 0x33e7,
|
||||||
UsedFollow = 0x3186,
|
UsedFollow = 0x3187,
|
||||||
UseCritterItem = 0x3249,
|
UseCritterItem = 0x324a,
|
||||||
UseEquipmentSet = 0x3995,
|
UseEquipmentSet = 0x3995,
|
||||||
UseItem = 0x32a5,
|
UseItem = 0x32a6,
|
||||||
UseToy = 0x32a7,
|
UseToy = 0x32a8,
|
||||||
VasCheckTransferOk = 0x370d,
|
VasCheckTransferOk = 0x370d,
|
||||||
VasGetQueueMinutes = 0x370c,
|
VasGetQueueMinutes = 0x370c,
|
||||||
VasGetServiceStatus = 0x370b,
|
VasGetServiceStatus = 0x370b,
|
||||||
ViolenceLevel = 0x3184,
|
ViolenceLevel = 0x3185,
|
||||||
VoiceChatJoinChannel = 0x3711,
|
VoiceChatJoinChannel = 0x3711,
|
||||||
VoiceChatLogin = 0x3710,
|
VoiceChatLogin = 0x3710,
|
||||||
VoidStorageTransfer = 0x31a4,
|
VoidStorageTransfer = 0x31a5,
|
||||||
Warden3Data = 0x35ec,
|
Warden3Data = 0x35ec,
|
||||||
Who = 0x3681,
|
Who = 0x3681,
|
||||||
WhoIs = 0x3680,
|
WhoIs = 0x3680,
|
||||||
@@ -818,6 +819,7 @@ namespace Framework.Constants
|
|||||||
AddLossOfControl = 0x266d,
|
AddLossOfControl = 0x266d,
|
||||||
AddRunePower = 0x26b5,
|
AddRunePower = 0x26b5,
|
||||||
AdjustSplineDuration = 0x25cf,
|
AdjustSplineDuration = 0x25cf,
|
||||||
|
AdvancedCombatLog = 0x2893,
|
||||||
AdventureJournalDataResponse = 0x288d,
|
AdventureJournalDataResponse = 0x288d,
|
||||||
AdventureMapOpenNpc = 0x27f7,
|
AdventureMapOpenNpc = 0x27f7,
|
||||||
AeLootTargets = 0x2615,
|
AeLootTargets = 0x2615,
|
||||||
@@ -1025,7 +1027,7 @@ namespace Framework.Constants
|
|||||||
ClearResurrect = 0x257f,
|
ClearResurrect = 0x257f,
|
||||||
ClearSpellCharges = 0x2c28,
|
ClearSpellCharges = 0x2c28,
|
||||||
ClearTarget = 0x2942,
|
ClearTarget = 0x2942,
|
||||||
ClearTreasurePickerCache = 0x2aa0,
|
ClearTreasurePickerCache = 0x2aa1,
|
||||||
CloseArtifactForge = 0x27a3,
|
CloseArtifactForge = 0x27a3,
|
||||||
CloseHeartForge = 0x282b,
|
CloseHeartForge = 0x282b,
|
||||||
CloseItemForge = 0x27a1,
|
CloseItemForge = 0x27a1,
|
||||||
@@ -1064,9 +1066,10 @@ namespace Framework.Constants
|
|||||||
CorpseLocation = 0x264b,
|
CorpseLocation = 0x264b,
|
||||||
CorpseReclaimDelay = 0x274e,
|
CorpseReclaimDelay = 0x274e,
|
||||||
CorpseTransportQuery = 0x2717,
|
CorpseTransportQuery = 0x2717,
|
||||||
CovenantCallingsAvailabilityResponse = 0x2aa2,
|
CovenantCallingsAvailabilityResponse = 0x2aa3,
|
||||||
CovenantPreviewOpenNpc = 0x2800,
|
CovenantPreviewOpenNpc = 0x2800,
|
||||||
CovenantRenownOpenNpc = 0x288f,
|
CovenantRenownOpenNpc = 0x288f,
|
||||||
|
CovenantRenownSendCatchupState = 0x2891,
|
||||||
CreateChar = 0x2704,
|
CreateChar = 0x2704,
|
||||||
CreateShipmentResponse = 0x279b,
|
CreateShipmentResponse = 0x279b,
|
||||||
CriteriaDeleted = 0x26eb,
|
CriteriaDeleted = 0x26eb,
|
||||||
@@ -1091,7 +1094,7 @@ namespace Framework.Constants
|
|||||||
DisplayGameError = 0x25a4,
|
DisplayGameError = 0x25a4,
|
||||||
DisplayPlayerChoice = 0x2ffc,
|
DisplayPlayerChoice = 0x2ffc,
|
||||||
DisplayPromotion = 0x2648,
|
DisplayPromotion = 0x2648,
|
||||||
DisplayQuestPopup = 0x2a9d,
|
DisplayQuestPopup = 0x2a9e,
|
||||||
DisplayToast = 0x2621,
|
DisplayToast = 0x2621,
|
||||||
DisplayWorldText = 0x27f0,
|
DisplayWorldText = 0x27f0,
|
||||||
DontAutoPushSpellsToActionBar = 0x25dd,
|
DontAutoPushSpellsToActionBar = 0x25dd,
|
||||||
@@ -1141,7 +1144,7 @@ namespace Framework.Constants
|
|||||||
GameObjectPlaySpellVisualKit = 0x2c4a,
|
GameObjectPlaySpellVisualKit = 0x2c4a,
|
||||||
GameObjectResetState = 0x2723,
|
GameObjectResetState = 0x2723,
|
||||||
GameObjectSetStateLocal = 0x2806,
|
GameObjectSetStateLocal = 0x2806,
|
||||||
GameObjectUILink = 0x271f,
|
GameObjectUiLink = 0x271f,
|
||||||
GameSpeedSet = 0x267f,
|
GameSpeedSet = 0x267f,
|
||||||
GameTimeSet = 0x2711,
|
GameTimeSet = 0x2711,
|
||||||
GameTimeUpdate = 0x2710,
|
GameTimeUpdate = 0x2710,
|
||||||
@@ -1151,6 +1154,7 @@ namespace Framework.Constants
|
|||||||
GarrisonAddMissionResult = 0x296e,
|
GarrisonAddMissionResult = 0x296e,
|
||||||
GarrisonApplyTalentSocketDataChanges = 0x29a0,
|
GarrisonApplyTalentSocketDataChanges = 0x29a0,
|
||||||
GarrisonAssignFollowerToBuildingResult = 0x2980,
|
GarrisonAssignFollowerToBuildingResult = 0x2980,
|
||||||
|
GarrisonAutoTroopMinLevelUpdateResult = 0x29a2,
|
||||||
GarrisonBuildingActivated = 0x295f,
|
GarrisonBuildingActivated = 0x295f,
|
||||||
GarrisonBuildingRemoved = 0x2958,
|
GarrisonBuildingRemoved = 0x2958,
|
||||||
GarrisonBuildingSetActiveSpecializationResult = 0x295a,
|
GarrisonBuildingSetActiveSpecializationResult = 0x295a,
|
||||||
@@ -1212,6 +1216,7 @@ namespace Framework.Constants
|
|||||||
GarrisonUnlearnBlueprintResult = 0x295c,
|
GarrisonUnlearnBlueprintResult = 0x295c,
|
||||||
GarrisonUpdateFollower = 0x296c,
|
GarrisonUpdateFollower = 0x296c,
|
||||||
GarrisonUpdateGarrisonMonumentSelections = 0x2991,
|
GarrisonUpdateGarrisonMonumentSelections = 0x2991,
|
||||||
|
GarrisonUpdateMissionCheatResult = 0x29a1,
|
||||||
GarrisonUpgradeResult = 0x2961,
|
GarrisonUpgradeResult = 0x2961,
|
||||||
GarrisonUseRecallPortalResult = 0x2973,
|
GarrisonUseRecallPortalResult = 0x2973,
|
||||||
GenerateRandomCharacterNameResult = 0x2585,
|
GenerateRandomCharacterNameResult = 0x2585,
|
||||||
@@ -1231,11 +1236,11 @@ namespace Framework.Constants
|
|||||||
GmTicketCaseStatus = 0x26a1,
|
GmTicketCaseStatus = 0x26a1,
|
||||||
GmTicketSystemStatus = 0x26a0,
|
GmTicketSystemStatus = 0x26a0,
|
||||||
GodMode = 0x26ff,
|
GodMode = 0x26ff,
|
||||||
GossipComplete = 0x2a96,
|
GossipComplete = 0x2a97,
|
||||||
GossipMessage = 0x2a97,
|
GossipMessage = 0x2a98,
|
||||||
GossipPoi = 0x2796,
|
GossipPoi = 0x2796,
|
||||||
GossipQuestUpdate = 0x2a98,
|
GossipQuestUpdate = 0x2a99,
|
||||||
GossipRefreshOptions = 0x2aa5,
|
GossipRefreshOptions = 0x2aa6,
|
||||||
GroupActionThrottled = 0x2590,
|
GroupActionThrottled = 0x2590,
|
||||||
GroupAutoKick = 0x2794,
|
GroupAutoKick = 0x2794,
|
||||||
GroupDecline = 0x2791,
|
GroupDecline = 0x2791,
|
||||||
@@ -1332,7 +1337,7 @@ namespace Framework.Constants
|
|||||||
IslandsMissionNpc = 0x27fc,
|
IslandsMissionNpc = 0x27fc,
|
||||||
IslandAzeriteGain = 0x2760,
|
IslandAzeriteGain = 0x2760,
|
||||||
IslandComplete = 0x2761,
|
IslandComplete = 0x2761,
|
||||||
IsQuestCompleteResponse = 0x2a83,
|
IsQuestCompleteResponse = 0x2a84,
|
||||||
ItemChanged = 0x26ee,
|
ItemChanged = 0x26ee,
|
||||||
ItemCooldown = 0x27c7,
|
ItemCooldown = 0x27c7,
|
||||||
ItemEnchantTimeUpdate = 0x2759,
|
ItemEnchantTimeUpdate = 0x2759,
|
||||||
@@ -1631,35 +1636,35 @@ namespace Framework.Constants
|
|||||||
QueryPetNameResponse = 0x26d5,
|
QueryPetNameResponse = 0x26d5,
|
||||||
QueryPlayerNameByCommunityIdResponse = 0x3003,
|
QueryPlayerNameByCommunityIdResponse = 0x3003,
|
||||||
QueryPlayerNameResponse = 0x3002,
|
QueryPlayerNameResponse = 0x3002,
|
||||||
QueryQuestInfoResponse = 0x2a95,
|
QueryQuestInfoResponse = 0x2a96,
|
||||||
QueryTimeResponse = 0x26e8,
|
QueryTimeResponse = 0x26e8,
|
||||||
QuestCompletionNpcResponse = 0x2a81,
|
QuestCompletionNpcResponse = 0x2a81,
|
||||||
QuestConfirmAccept = 0x2a8e,
|
QuestConfirmAccept = 0x2a8f,
|
||||||
QuestForceRemoved = 0x2a9b,
|
QuestForceRemoved = 0x2a9c,
|
||||||
QuestGiverInvalidQuest = 0x2a84,
|
QuestGiverInvalidQuest = 0x2a85,
|
||||||
QuestGiverOfferRewardMessage = 0x2a93,
|
QuestGiverOfferRewardMessage = 0x2a94,
|
||||||
QuestGiverQuestComplete = 0x2a82,
|
QuestGiverQuestComplete = 0x2a83,
|
||||||
QuestGiverQuestDetails = 0x2a91,
|
QuestGiverQuestDetails = 0x2a92,
|
||||||
QuestGiverQuestFailed = 0x2a85,
|
QuestGiverQuestFailed = 0x2a86,
|
||||||
QuestGiverQuestListMessage = 0x2a99,
|
QuestGiverQuestListMessage = 0x2a9a,
|
||||||
QuestGiverRequestItems = 0x2a92,
|
QuestGiverRequestItems = 0x2a93,
|
||||||
QuestGiverStatus = 0x2a9a,
|
QuestGiverStatus = 0x2a9b,
|
||||||
QuestGiverStatusMultiple = 0x2a90,
|
QuestGiverStatusMultiple = 0x2a91,
|
||||||
QuestLogFull = 0x2a86,
|
QuestLogFull = 0x2a87,
|
||||||
QuestPoiQueryResponse = 0x2a9c,
|
QuestPoiQueryResponse = 0x2a9d,
|
||||||
QuestPoiUpdateResponse = 0x2a9e,
|
QuestPoiUpdateResponse = 0x2a9f,
|
||||||
QuestPushResult = 0x2a8f,
|
QuestPushResult = 0x2a90,
|
||||||
QuestSessionInfoResponse = 0x2882,
|
QuestSessionInfoResponse = 0x2882,
|
||||||
QuestSessionReadyCheck = 0x2870,
|
QuestSessionReadyCheck = 0x2870,
|
||||||
QuestSessionReadyCheckResponse = 0x2871,
|
QuestSessionReadyCheckResponse = 0x2871,
|
||||||
QuestSessionResult = 0x286f,
|
QuestSessionResult = 0x286f,
|
||||||
QuestUpdateAddCredit = 0x2a8b,
|
QuestUpdateAddCredit = 0x2a8c,
|
||||||
QuestUpdateAddCreditSimple = 0x2a8c,
|
QuestUpdateAddCreditSimple = 0x2a8d,
|
||||||
QuestUpdateAddPvpCredit = 0x2a8d,
|
QuestUpdateAddPvpCredit = 0x2a8e,
|
||||||
QuestUpdateComplete = 0x2a88,
|
QuestUpdateComplete = 0x2a89,
|
||||||
QuestUpdateCompleteBySpell = 0x2a87,
|
QuestUpdateCompleteBySpell = 0x2a88,
|
||||||
QuestUpdateFailed = 0x2a89,
|
QuestUpdateFailed = 0x2a8a,
|
||||||
QuestUpdateFailedTimer = 0x2a8a,
|
QuestUpdateFailedTimer = 0x2a8b,
|
||||||
QueueSummaryUpdate = 0x2815,
|
QueueSummaryUpdate = 0x2815,
|
||||||
RafAccountInfo = 0x286d,
|
RafAccountInfo = 0x286d,
|
||||||
RafActivityStateChanged = 0x287e,
|
RafActivityStateChanged = 0x287e,
|
||||||
@@ -1691,7 +1696,7 @@ namespace Framework.Constants
|
|||||||
ResearchComplete = 0x2587,
|
ResearchComplete = 0x2587,
|
||||||
ResetCompressionContext = 0x304f,
|
ResetCompressionContext = 0x304f,
|
||||||
ResetFailedNotify = 0x26b4,
|
ResetFailedNotify = 0x26b4,
|
||||||
ResetQuestPoi = 0x2a9f,
|
ResetQuestPoi = 0x2aa0,
|
||||||
ResetRangedCombatTimer = 0x2943,
|
ResetRangedCombatTimer = 0x2943,
|
||||||
ResetWeeklyCurrency = 0x2575,
|
ResetWeeklyCurrency = 0x2575,
|
||||||
RespecWipeConfirm = 0x2610,
|
RespecWipeConfirm = 0x2610,
|
||||||
@@ -1772,7 +1777,7 @@ namespace Framework.Constants
|
|||||||
ShowBank = 0x267d,
|
ShowBank = 0x267d,
|
||||||
ShowMailbox = 0x27a9,
|
ShowMailbox = 0x27a9,
|
||||||
ShowNeutralPlayerFactionSelectUi = 0x25d7,
|
ShowNeutralPlayerFactionSelectUi = 0x25d7,
|
||||||
ShowQuestCompletionText = 0x2a94,
|
ShowQuestCompletionText = 0x2a95,
|
||||||
ShowTaxiNodes = 0x26ca,
|
ShowTaxiNodes = 0x26ca,
|
||||||
ShowTradeSkillResponse = 0x2773,
|
ShowTradeSkillResponse = 0x2773,
|
||||||
SocketGemsFailure = 0x272c,
|
SocketGemsFailure = 0x272c,
|
||||||
@@ -1852,7 +1857,7 @@ namespace Framework.Constants
|
|||||||
TwitterStatus = 0x3043,
|
TwitterStatus = 0x3043,
|
||||||
UiHealingRangeModified = 0x2748,
|
UiHealingRangeModified = 0x2748,
|
||||||
UiItemInteractionNpc = 0x27fb,
|
UiItemInteractionNpc = 0x27fb,
|
||||||
UiMapQuestLinesResponse = 0x2aa1,
|
UiMapQuestLinesResponse = 0x2aa2,
|
||||||
UndeleteCharacterResponse = 0x27cd,
|
UndeleteCharacterResponse = 0x27cd,
|
||||||
UndeleteCooldownStatusResponse = 0x27ce,
|
UndeleteCooldownStatusResponse = 0x27ce,
|
||||||
UnlearnedSpells = 0x2c4e,
|
UnlearnedSpells = 0x2c4e,
|
||||||
|
|||||||
@@ -739,7 +739,7 @@ namespace Game.DataStorage
|
|||||||
hotfixRecord.RecordID = recordId;
|
hotfixRecord.RecordID = recordId;
|
||||||
hotfixRecord.HotfixID = id;
|
hotfixRecord.HotfixID = id;
|
||||||
hotfixRecord.HotfixStatus = status;
|
hotfixRecord.HotfixStatus = status;
|
||||||
_hotfixData.Add(hotfixRecord);
|
_hotfixData.Add(id, hotfixRecord);
|
||||||
deletedRecords[(tableHash, recordId)] = status == HotfixRecord.Status.RecordRemoved;
|
deletedRecords[(tableHash, recordId)] = status == HotfixRecord.Status.RecordRemoved;
|
||||||
|
|
||||||
++count;
|
++count;
|
||||||
@@ -776,7 +776,7 @@ namespace Game.DataStorage
|
|||||||
var storeItr = _storage.LookupByKey(tableHash);
|
var storeItr = _storage.LookupByKey(tableHash);
|
||||||
if (storeItr != null)
|
if (storeItr != null)
|
||||||
{
|
{
|
||||||
Log.outError(LogFilter.Sql, $"Table hash 0x{tableHash:X} points to a loaded DB2 store {nameof(storeItr)}, fill related table instead of hotfix_blob");
|
Log.outError(LogFilter.Sql, $"Table hash 0x{tableHash:X} points to a loaded DB2 store {storeItr.GetType().Name}, fill related table instead of hotfix_blob");
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -878,11 +878,11 @@ namespace Game.DataStorage
|
|||||||
|
|
||||||
public uint GetHotfixCount() { return (uint)_hotfixData.Count; }
|
public uint GetHotfixCount() { return (uint)_hotfixData.Count; }
|
||||||
|
|
||||||
public List<HotfixRecord> GetHotfixData() { return _hotfixData; }
|
public MultiMap<int, HotfixRecord> GetHotfixData() { return _hotfixData; }
|
||||||
|
|
||||||
public byte[] GetHotfixBlobData(uint tableHash, int recordId, Locale locale)
|
public byte[] GetHotfixBlobData(uint tableHash, int recordId, Locale locale)
|
||||||
{
|
{
|
||||||
Cypher.Assert(SharedConst.IsValidLocale(locale), "Locale {locale} is invalid locale");
|
Cypher.Assert(SharedConst.IsValidLocale(locale), $"Locale {locale} is invalid locale");
|
||||||
|
|
||||||
return _hotfixBlob[(int)locale].LookupByKey((tableHash, recordId));
|
return _hotfixBlob[(int)locale].LookupByKey((tableHash, recordId));
|
||||||
}
|
}
|
||||||
@@ -2288,7 +2288,7 @@ namespace Game.DataStorage
|
|||||||
delegate bool AllowedHotfixOptionalData(byte[] data);
|
delegate bool AllowedHotfixOptionalData(byte[] data);
|
||||||
|
|
||||||
Dictionary<uint, IDB2Storage> _storage = new();
|
Dictionary<uint, IDB2Storage> _storage = new();
|
||||||
List<HotfixRecord> _hotfixData = new();
|
MultiMap<int, HotfixRecord> _hotfixData = new();
|
||||||
Dictionary<(uint tableHash, int recordId), byte[]>[] _hotfixBlob = new Dictionary<(uint tableHash, int recordId), byte[]>[(int)Locale.Total];
|
Dictionary<(uint tableHash, int recordId), byte[]>[] _hotfixBlob = new Dictionary<(uint tableHash, int recordId), byte[]>[(int)Locale.Total];
|
||||||
MultiMap<uint, Tuple<uint, AllowedHotfixOptionalData>> _allowedHotfixOptionalData = new();
|
MultiMap<uint, Tuple<uint, AllowedHotfixOptionalData>> _allowedHotfixOptionalData = new();
|
||||||
MultiMap<(uint tableHash, int recordId), HotfixOptionalData>[]_hotfixOptionalData = new MultiMap<(uint tableHash, int recordId), HotfixOptionalData>[(int)Locale.Total];
|
MultiMap<(uint tableHash, int recordId), HotfixOptionalData>[]_hotfixOptionalData = new MultiMap<(uint tableHash, int recordId), HotfixOptionalData>[(int)Locale.Total];
|
||||||
|
|||||||
@@ -330,6 +330,7 @@ namespace Game.Misc
|
|||||||
packet.Pos = pointOfInterest.Pos;
|
packet.Pos = pointOfInterest.Pos;
|
||||||
packet.Icon = pointOfInterest.Icon;
|
packet.Icon = pointOfInterest.Icon;
|
||||||
packet.Importance = pointOfInterest.Importance;
|
packet.Importance = pointOfInterest.Importance;
|
||||||
|
packet.Unknown905 = pointOfInterest.Unknown905;
|
||||||
|
|
||||||
_session.SendPacket(packet);
|
_session.SendPacket(packet);
|
||||||
}
|
}
|
||||||
@@ -772,6 +773,7 @@ namespace Game.Misc
|
|||||||
public uint Flags;
|
public uint Flags;
|
||||||
public uint Importance;
|
public uint Importance;
|
||||||
public string Name;
|
public string Name;
|
||||||
|
public uint Unknown905;
|
||||||
}
|
}
|
||||||
|
|
||||||
public class PointOfInterestLocale
|
public class PointOfInterestLocale
|
||||||
|
|||||||
@@ -377,7 +377,7 @@ namespace Game.Entities
|
|||||||
public UpdateField<uint> MaxDurability = new(0, 12);
|
public UpdateField<uint> MaxDurability = new(0, 12);
|
||||||
public UpdateField<uint> CreatePlayedTime = new(0, 13);
|
public UpdateField<uint> CreatePlayedTime = new(0, 13);
|
||||||
public UpdateField<int> Context = new(0, 14);
|
public UpdateField<int> Context = new(0, 14);
|
||||||
public UpdateField<int> CreateTime = new(0, 15);
|
public UpdateField<long> CreateTime = new(0, 15);
|
||||||
public UpdateField<ulong> ArtifactXP = new(0, 16);
|
public UpdateField<ulong> ArtifactXP = new(0, 16);
|
||||||
public UpdateField<byte> ItemAppearanceModID = new(0, 17);
|
public UpdateField<byte> ItemAppearanceModID = new(0, 17);
|
||||||
public UpdateField<ItemModList> Modifiers = new(0, 18);
|
public UpdateField<ItemModList> Modifiers = new(0, 18);
|
||||||
@@ -419,7 +419,7 @@ namespace Game.Entities
|
|||||||
}
|
}
|
||||||
data.WriteUInt32(CreatePlayedTime);
|
data.WriteUInt32(CreatePlayedTime);
|
||||||
data.WriteInt32(Context);
|
data.WriteInt32(Context);
|
||||||
data.WriteInt32(CreateTime);
|
data.WriteInt64(CreateTime);
|
||||||
if (fieldVisibilityFlags.HasFlag(UpdateFieldFlag.Owner))
|
if (fieldVisibilityFlags.HasFlag(UpdateFieldFlag.Owner))
|
||||||
{
|
{
|
||||||
data.WriteUInt64(ArtifactXP);
|
data.WriteUInt64(ArtifactXP);
|
||||||
@@ -566,7 +566,7 @@ namespace Game.Entities
|
|||||||
}
|
}
|
||||||
if (changesMask[15])
|
if (changesMask[15])
|
||||||
{
|
{
|
||||||
data.WriteInt32(CreateTime);
|
data.WriteInt64(CreateTime);
|
||||||
}
|
}
|
||||||
if (changesMask[16])
|
if (changesMask[16])
|
||||||
{
|
{
|
||||||
@@ -3015,15 +3015,15 @@ namespace Game.Entities
|
|||||||
|
|
||||||
public class PVPInfo : BaseUpdateData<Player>
|
public class PVPInfo : BaseUpdateData<Player>
|
||||||
{
|
{
|
||||||
public UpdateField<uint> Field_0 = new(0, 1);
|
public UpdateField<bool> Field_20 = new(0, 1);
|
||||||
public UpdateField<uint> Field_4 = new(0, 2);
|
public UpdateField<uint> Field_0 = new(0, 2);
|
||||||
public UpdateField<uint> Field_8 = new(0, 3);
|
public UpdateField<uint> Field_4 = new(0, 3);
|
||||||
public UpdateField<uint> Field_C = new(0, 4);
|
public UpdateField<uint> Field_8 = new(0, 4);
|
||||||
public UpdateField<uint> Rating = new(0, 5);
|
public UpdateField<uint> Field_C = new(0, 5);
|
||||||
public UpdateField<uint> Field_14 = new(0, 6);
|
public UpdateField<uint> Rating = new(0, 6);
|
||||||
public UpdateField<uint> Field_18 = new(0, 7);
|
public UpdateField<uint> Field_14 = new(0, 7);
|
||||||
public UpdateField<uint> PvpTierID = new(0, 8);
|
public UpdateField<uint> Field_18 = new(0, 8);
|
||||||
public UpdateField<uint> Field_20 = new(0, 9);
|
public UpdateField<uint> PvpTierID = new(0, 9);
|
||||||
|
|
||||||
public PVPInfo() : base(10) { }
|
public PVPInfo() : base(10) { }
|
||||||
|
|
||||||
@@ -3037,7 +3037,7 @@ namespace Game.Entities
|
|||||||
data.WriteUInt32(Field_14);
|
data.WriteUInt32(Field_14);
|
||||||
data.WriteUInt32(Field_18);
|
data.WriteUInt32(Field_18);
|
||||||
data.WriteUInt32(PvpTierID);
|
data.WriteUInt32(PvpTierID);
|
||||||
data.WriteBits((uint)Field_20, 1);
|
data.WriteBit(Field_20);
|
||||||
data.FlushBits();
|
data.FlushBits();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3049,44 +3049,47 @@ namespace Game.Entities
|
|||||||
|
|
||||||
data.WriteBits(changesMask.GetBlock(0), 10);
|
data.WriteBits(changesMask.GetBlock(0), 10);
|
||||||
|
|
||||||
data.FlushBits();
|
|
||||||
if (changesMask[0])
|
if (changesMask[0])
|
||||||
{
|
{
|
||||||
if (changesMask[1])
|
if (changesMask[1])
|
||||||
{
|
{
|
||||||
data.WriteUInt32(Field_0);
|
data.WriteBit(Field_20);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
data.FlushBits();
|
||||||
|
if (changesMask[0])
|
||||||
|
{
|
||||||
if (changesMask[2])
|
if (changesMask[2])
|
||||||
{
|
{
|
||||||
data.WriteUInt32(Field_4);
|
data.WriteUInt32(Field_0);
|
||||||
}
|
}
|
||||||
if (changesMask[3])
|
if (changesMask[3])
|
||||||
{
|
{
|
||||||
data.WriteUInt32(Field_8);
|
data.WriteUInt32(Field_4);
|
||||||
}
|
}
|
||||||
if (changesMask[4])
|
if (changesMask[4])
|
||||||
{
|
{
|
||||||
data.WriteUInt32(Field_C);
|
data.WriteUInt32(Field_8);
|
||||||
}
|
}
|
||||||
if (changesMask[5])
|
if (changesMask[5])
|
||||||
{
|
{
|
||||||
data.WriteUInt32(Rating);
|
data.WriteUInt32(Field_C);
|
||||||
}
|
}
|
||||||
if (changesMask[6])
|
if (changesMask[6])
|
||||||
{
|
{
|
||||||
data.WriteUInt32(Field_14);
|
data.WriteUInt32(Rating);
|
||||||
}
|
}
|
||||||
if (changesMask[7])
|
if (changesMask[7])
|
||||||
{
|
{
|
||||||
data.WriteUInt32(Field_18);
|
data.WriteUInt32(Field_14);
|
||||||
}
|
}
|
||||||
if (changesMask[8])
|
if (changesMask[8])
|
||||||
{
|
{
|
||||||
data.WriteUInt32(PvpTierID);
|
data.WriteUInt32(Field_18);
|
||||||
}
|
}
|
||||||
if (changesMask[9])
|
if (changesMask[9])
|
||||||
{
|
{
|
||||||
data.WriteBits(Field_20, 1);
|
data.WriteUInt32(PvpTierID);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
data.FlushBits();
|
data.FlushBits();
|
||||||
@@ -3094,6 +3097,7 @@ namespace Game.Entities
|
|||||||
|
|
||||||
public override void ClearChangesMask()
|
public override void ClearChangesMask()
|
||||||
{
|
{
|
||||||
|
ClearChangesMask(Field_20);
|
||||||
ClearChangesMask(Field_0);
|
ClearChangesMask(Field_0);
|
||||||
ClearChangesMask(Field_4);
|
ClearChangesMask(Field_4);
|
||||||
ClearChangesMask(Field_8);
|
ClearChangesMask(Field_8);
|
||||||
@@ -3102,7 +3106,6 @@ namespace Game.Entities
|
|||||||
ClearChangesMask(Field_14);
|
ClearChangesMask(Field_14);
|
||||||
ClearChangesMask(Field_18);
|
ClearChangesMask(Field_18);
|
||||||
ClearChangesMask(PvpTierID);
|
ClearChangesMask(PvpTierID);
|
||||||
ClearChangesMask(Field_20);
|
|
||||||
_changesMask.ResetAll();
|
_changesMask.ResetAll();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3495,37 +3498,38 @@ namespace Game.Entities
|
|||||||
public UpdateField<ulong> GuildClubMemberID = new(98, 101);
|
public UpdateField<ulong> GuildClubMemberID = new(98, 101);
|
||||||
public UpdateField<uint> Honor = new(98, 102);
|
public UpdateField<uint> Honor = new(98, 102);
|
||||||
public UpdateField<uint> HonorNextLevel = new(98, 103);
|
public UpdateField<uint> HonorNextLevel = new(98, 103);
|
||||||
public UpdateField<int> PvpRewardAchieved = new(98, 104);
|
public UpdateField<long> PvpRewardAchieved = new(98, 104);
|
||||||
public UpdateField<int> PvpTierMaxFromWins = new(98, 105);
|
public UpdateField<int> PvpTierMaxFromWins = new(98, 105);
|
||||||
public UpdateField<int> PvpLastWeeksRewardAchieved = new(98, 106);
|
public UpdateField<long> PvpLastWeeksRewardAchieved = new(98, 106);
|
||||||
public UpdateField<int> PvpLastWeeksTierMaxFromWins = new(98, 107);
|
public UpdateField<int> PvpLastWeeksTierMaxFromWins = new(98, 107);
|
||||||
public UpdateField<int> PvpLastWeeksRewardClaimed = new(98, 108);
|
public UpdateField<long> PvpLastWeeksRewardClaimed = new(98, 108);
|
||||||
public UpdateField<byte> NumBankSlots = new(98, 109);
|
public UpdateField<byte> NumBankSlots = new(98, 109);
|
||||||
public UpdateField<ActivePlayerUnk901> Field_1410 = new(98, 111);
|
public UpdateField<ActivePlayerUnk901> Field_1410 = new(98, 111);
|
||||||
public UpdateField<Optional<QuestSession>> QuestSession = new(98, 110);
|
public UpdateField<Optional<QuestSession>> QuestSession = new(98, 110);
|
||||||
public UpdateField<int> UiChromieTimeExpansionID = new(98, 112);
|
public UpdateField<int> UiChromieTimeExpansionID = new(98, 112);
|
||||||
public UpdateField<int> TransportServerTime = new(98, 113);
|
public UpdateField<int> TransportServerTime = new(98, 113);
|
||||||
public UpdateFieldArray<ObjectGuid> InvSlots = new(199, 114, 115);
|
public UpdateField<uint> WeeklyRewardsPeriodSinceOrigin = new(98, 114); // week count since Cfg_RegionsEntry::ChallengeOrigin
|
||||||
public UpdateFieldArray<uint> TrackResourceMask = new(2, 314, 315);
|
public UpdateFieldArray<ObjectGuid> InvSlots = new(199, 115, 116);
|
||||||
public UpdateFieldArray<ulong> ExploredZones = new(192, 317, 318);
|
public UpdateFieldArray<uint> TrackResourceMask = new(2, 315, 316);
|
||||||
public UpdateFieldArray<RestInfo> RestInfo = new(2, 510, 511);
|
public UpdateFieldArray<ulong> ExploredZones = new(192, 318, 319);
|
||||||
public UpdateFieldArray<int> ModDamageDonePos = new(7, 513, 514);
|
public UpdateFieldArray<RestInfo> RestInfo = new(2, 511, 512);
|
||||||
public UpdateFieldArray<int> ModDamageDoneNeg = new(7, 513, 521);
|
public UpdateFieldArray<int> ModDamageDonePos = new(7, 514, 515);
|
||||||
public UpdateFieldArray<float> ModDamageDonePercent = new(7, 513, 528);
|
public UpdateFieldArray<int> ModDamageDoneNeg = new(7, 514, 522);
|
||||||
public UpdateFieldArray<float> ModHealingDonePercent = new(7, 513, 535);
|
public UpdateFieldArray<float> ModDamageDonePercent = new(7, 514, 529);
|
||||||
public UpdateFieldArray<float> WeaponDmgMultipliers = new(3, 542, 543);
|
public UpdateFieldArray<float> ModHealingDonePercent = new(7, 514, 536);
|
||||||
public UpdateFieldArray<float> WeaponAtkSpeedMultipliers = new(3, 542, 546);
|
public UpdateFieldArray<float> WeaponDmgMultipliers = new(3, 543, 544);
|
||||||
public UpdateFieldArray<uint> BuybackPrice = new(12, 549, 550);
|
public UpdateFieldArray<float> WeaponAtkSpeedMultipliers = new(3, 543, 547);
|
||||||
public UpdateFieldArray<uint> BuybackTimestamp = new(12, 549, 562);
|
public UpdateFieldArray<uint> BuybackPrice = new(12, 550, 551);
|
||||||
public UpdateFieldArray<uint> CombatRatings = new(32, 574, 575);
|
public UpdateFieldArray<uint> BuybackTimestamp = new(12, 550, 563);
|
||||||
public UpdateFieldArray<PVPInfo> PvpInfo = new(6, 607, 608);
|
public UpdateFieldArray<uint> CombatRatings = new(32, 575, 576);
|
||||||
public UpdateFieldArray<uint> NoReagentCostMask = new(4, 614, 615);
|
public UpdateFieldArray<PVPInfo> PvpInfo = new(6, 608, 609);
|
||||||
public UpdateFieldArray<uint> ProfessionSkillLine = new(2, 619, 620);
|
public UpdateFieldArray<uint> NoReagentCostMask = new(4, 615, 616);
|
||||||
public UpdateFieldArray<uint> BagSlotFlags = new(4, 622, 623);
|
public UpdateFieldArray<uint> ProfessionSkillLine = new(2, 620, 621);
|
||||||
public UpdateFieldArray<uint> BankBagSlotFlags = new(7, 627, 628);
|
public UpdateFieldArray<uint> BagSlotFlags = new(4, 623, 624);
|
||||||
public UpdateFieldArray<ulong> QuestCompleted = new(875, 635, 636);
|
public UpdateFieldArray<uint> BankBagSlotFlags = new(7, 628, 629);
|
||||||
|
public UpdateFieldArray<ulong> QuestCompleted = new(875, 636, 637);
|
||||||
|
|
||||||
public ActivePlayerData() : base(0, TypeId.ActivePlayer, 1511) { }
|
public ActivePlayerData() : base(0, TypeId.ActivePlayer, 1512) { }
|
||||||
|
|
||||||
public void WriteCreate(WorldPacket data, UpdateFieldFlag fieldVisibilityFlags, Player owner, Player receiver)
|
public void WriteCreate(WorldPacket data, UpdateFieldFlag fieldVisibilityFlags, Player owner, Player receiver)
|
||||||
{
|
{
|
||||||
@@ -3659,11 +3663,11 @@ namespace Game.Entities
|
|||||||
}
|
}
|
||||||
data.WriteUInt32(Honor);
|
data.WriteUInt32(Honor);
|
||||||
data.WriteUInt32(HonorNextLevel);
|
data.WriteUInt32(HonorNextLevel);
|
||||||
data.WriteInt32(PvpRewardAchieved);
|
data.WriteInt64(PvpRewardAchieved);
|
||||||
data.WriteInt32(PvpTierMaxFromWins);
|
data.WriteInt32(PvpTierMaxFromWins);
|
||||||
data.WriteInt32(PvpLastWeeksRewardAchieved);
|
data.WriteInt64(PvpLastWeeksRewardAchieved);
|
||||||
data.WriteInt32(PvpLastWeeksTierMaxFromWins);
|
data.WriteInt32(PvpLastWeeksTierMaxFromWins);
|
||||||
data.WriteInt32(PvpLastWeeksRewardClaimed);
|
data.WriteInt64(PvpLastWeeksRewardClaimed);
|
||||||
data.WriteUInt8(NumBankSlots);
|
data.WriteUInt8(NumBankSlots);
|
||||||
data.WriteInt32(ResearchSites.Size());
|
data.WriteInt32(ResearchSites.Size());
|
||||||
data.WriteInt32(ResearchSiteProgress.Size());
|
data.WriteInt32(ResearchSiteProgress.Size());
|
||||||
@@ -3696,6 +3700,7 @@ namespace Game.Entities
|
|||||||
data.WriteInt32(DisabledSpells.Size());
|
data.WriteInt32(DisabledSpells.Size());
|
||||||
data.WriteInt32(UiChromieTimeExpansionID);
|
data.WriteInt32(UiChromieTimeExpansionID);
|
||||||
data.WriteInt32(TransportServerTime);
|
data.WriteInt32(TransportServerTime);
|
||||||
|
data.WriteUInt32(WeeklyRewardsPeriodSinceOrigin);
|
||||||
for (int i = 0; i < KnownTitles.Size(); ++i)
|
for (int i = 0; i < KnownTitles.Size(); ++i)
|
||||||
{
|
{
|
||||||
data.WriteUInt64(KnownTitles[i]);
|
data.WriteUInt64(KnownTitles[i]);
|
||||||
@@ -3975,6 +3980,7 @@ namespace Game.Entities
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
data.FlushBits();
|
||||||
if (changesMask[0])
|
if (changesMask[0])
|
||||||
{
|
{
|
||||||
if (changesMask[22])
|
if (changesMask[22])
|
||||||
@@ -4535,7 +4541,7 @@ namespace Game.Entities
|
|||||||
}
|
}
|
||||||
if (changesMask[104])
|
if (changesMask[104])
|
||||||
{
|
{
|
||||||
data.WriteInt32(PvpRewardAchieved);
|
data.WriteInt64(PvpRewardAchieved);
|
||||||
}
|
}
|
||||||
if (changesMask[105])
|
if (changesMask[105])
|
||||||
{
|
{
|
||||||
@@ -4543,7 +4549,7 @@ namespace Game.Entities
|
|||||||
}
|
}
|
||||||
if (changesMask[106])
|
if (changesMask[106])
|
||||||
{
|
{
|
||||||
data.WriteInt32(PvpLastWeeksRewardAchieved);
|
data.WriteInt64(PvpLastWeeksRewardAchieved);
|
||||||
}
|
}
|
||||||
if (changesMask[107])
|
if (changesMask[107])
|
||||||
{
|
{
|
||||||
@@ -4551,7 +4557,7 @@ namespace Game.Entities
|
|||||||
}
|
}
|
||||||
if (changesMask[108])
|
if (changesMask[108])
|
||||||
{
|
{
|
||||||
data.WriteInt32(PvpLastWeeksRewardClaimed);
|
data.WriteInt64(PvpLastWeeksRewardClaimed);
|
||||||
}
|
}
|
||||||
if (changesMask[109])
|
if (changesMask[109])
|
||||||
{
|
{
|
||||||
@@ -4565,6 +4571,10 @@ namespace Game.Entities
|
|||||||
{
|
{
|
||||||
data.WriteInt32(TransportServerTime);
|
data.WriteInt32(TransportServerTime);
|
||||||
}
|
}
|
||||||
|
if (changesMask[114])
|
||||||
|
{
|
||||||
|
data.WriteUInt32(WeeklyRewardsPeriodSinceOrigin);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (changesMask[98])
|
if (changesMask[98])
|
||||||
{
|
{
|
||||||
@@ -4581,161 +4591,161 @@ namespace Game.Entities
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (changesMask[114])
|
if (changesMask[115])
|
||||||
{
|
{
|
||||||
for (int i = 0; i < 199; ++i)
|
for (int i = 0; i < 199; ++i)
|
||||||
{
|
{
|
||||||
if (changesMask[115 + i])
|
if (changesMask[116 + i])
|
||||||
{
|
{
|
||||||
data.WritePackedGuid(InvSlots[i]);
|
data.WritePackedGuid(InvSlots[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (changesMask[314])
|
if (changesMask[315])
|
||||||
{
|
{
|
||||||
for (int i = 0; i < 2; ++i)
|
for (int i = 0; i < 2; ++i)
|
||||||
{
|
{
|
||||||
if (changesMask[315 + i])
|
if (changesMask[316 + i])
|
||||||
{
|
{
|
||||||
data.WriteUInt32(TrackResourceMask[i]);
|
data.WriteUInt32(TrackResourceMask[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (changesMask[317])
|
if (changesMask[318])
|
||||||
{
|
{
|
||||||
for (int i = 0; i < 192; ++i)
|
for (int i = 0; i < 192; ++i)
|
||||||
{
|
{
|
||||||
if (changesMask[318 + i])
|
if (changesMask[319 + i])
|
||||||
{
|
{
|
||||||
data.WriteUInt64(ExploredZones[i]);
|
data.WriteUInt64(ExploredZones[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (changesMask[510])
|
if (changesMask[511])
|
||||||
{
|
{
|
||||||
for (int i = 0; i < 2; ++i)
|
for (int i = 0; i < 2; ++i)
|
||||||
{
|
{
|
||||||
if (changesMask[511 + i])
|
if (changesMask[512 + i])
|
||||||
{
|
{
|
||||||
RestInfo[i].WriteUpdate(data, ignoreNestedChangesMask, owner, receiver);
|
RestInfo[i].WriteUpdate(data, ignoreNestedChangesMask, owner, receiver);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (changesMask[513])
|
if (changesMask[514])
|
||||||
{
|
{
|
||||||
for (int i = 0; i < 7; ++i)
|
for (int i = 0; i < 7; ++i)
|
||||||
{
|
{
|
||||||
if (changesMask[514 + i])
|
if (changesMask[515 + i])
|
||||||
{
|
{
|
||||||
data.WriteInt32(ModDamageDonePos[i]);
|
data.WriteInt32(ModDamageDonePos[i]);
|
||||||
}
|
}
|
||||||
if (changesMask[521 + i])
|
if (changesMask[522 + i])
|
||||||
{
|
{
|
||||||
data.WriteInt32(ModDamageDoneNeg[i]);
|
data.WriteInt32(ModDamageDoneNeg[i]);
|
||||||
}
|
}
|
||||||
if (changesMask[528 + i])
|
if (changesMask[529 + i])
|
||||||
{
|
{
|
||||||
data.WriteFloat(ModDamageDonePercent[i]);
|
data.WriteFloat(ModDamageDonePercent[i]);
|
||||||
}
|
}
|
||||||
if (changesMask[535 + i])
|
if (changesMask[536 + i])
|
||||||
{
|
{
|
||||||
data.WriteFloat(ModHealingDonePercent[i]);
|
data.WriteFloat(ModHealingDonePercent[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (changesMask[542])
|
if (changesMask[543])
|
||||||
{
|
{
|
||||||
for (int i = 0; i < 3; ++i)
|
for (int i = 0; i < 3; ++i)
|
||||||
{
|
{
|
||||||
if (changesMask[543 + i])
|
if (changesMask[544 + i])
|
||||||
{
|
{
|
||||||
data.WriteFloat(WeaponDmgMultipliers[i]);
|
data.WriteFloat(WeaponDmgMultipliers[i]);
|
||||||
}
|
}
|
||||||
if (changesMask[546 + i])
|
if (changesMask[547 + i])
|
||||||
{
|
{
|
||||||
data.WriteFloat(WeaponAtkSpeedMultipliers[i]);
|
data.WriteFloat(WeaponAtkSpeedMultipliers[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (changesMask[549])
|
if (changesMask[550])
|
||||||
{
|
{
|
||||||
for (int i = 0; i < 12; ++i)
|
for (int i = 0; i < 12; ++i)
|
||||||
{
|
{
|
||||||
if (changesMask[550 + i])
|
if (changesMask[551 + i])
|
||||||
{
|
{
|
||||||
data.WriteUInt32(BuybackPrice[i]);
|
data.WriteUInt32(BuybackPrice[i]);
|
||||||
}
|
}
|
||||||
if (changesMask[562 + i])
|
if (changesMask[563 + i])
|
||||||
{
|
{
|
||||||
data.WriteUInt32(BuybackTimestamp[i]);
|
data.WriteUInt32(BuybackTimestamp[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (changesMask[574])
|
if (changesMask[575])
|
||||||
{
|
{
|
||||||
for (int i = 0; i < 32; ++i)
|
for (int i = 0; i < 32; ++i)
|
||||||
{
|
{
|
||||||
if (changesMask[575 + i])
|
if (changesMask[576 + i])
|
||||||
{
|
{
|
||||||
data.WriteUInt32(CombatRatings[i]);
|
data.WriteUInt32(CombatRatings[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (changesMask[614])
|
if (changesMask[615])
|
||||||
{
|
{
|
||||||
for (int i = 0; i < 4; ++i)
|
for (int i = 0; i < 4; ++i)
|
||||||
{
|
{
|
||||||
if (changesMask[615 + i])
|
if (changesMask[616 + i])
|
||||||
{
|
{
|
||||||
data.WriteUInt32(NoReagentCostMask[i]);
|
data.WriteUInt32(NoReagentCostMask[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (changesMask[619])
|
if (changesMask[620])
|
||||||
{
|
{
|
||||||
for (int i = 0; i < 2; ++i)
|
for (int i = 0; i < 2; ++i)
|
||||||
{
|
{
|
||||||
if (changesMask[620 + i])
|
if (changesMask[621 + i])
|
||||||
{
|
{
|
||||||
data.WriteUInt32(ProfessionSkillLine[i]);
|
data.WriteUInt32(ProfessionSkillLine[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (changesMask[622])
|
if (changesMask[623])
|
||||||
{
|
{
|
||||||
for (int i = 0; i < 4; ++i)
|
for (int i = 0; i < 4; ++i)
|
||||||
{
|
{
|
||||||
if (changesMask[623 + i])
|
if (changesMask[624 + i])
|
||||||
{
|
{
|
||||||
data.WriteUInt32(BagSlotFlags[i]);
|
data.WriteUInt32(BagSlotFlags[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (changesMask[627])
|
if (changesMask[628])
|
||||||
{
|
{
|
||||||
for (int i = 0; i < 7; ++i)
|
for (int i = 0; i < 7; ++i)
|
||||||
{
|
{
|
||||||
if (changesMask[628 + i])
|
if (changesMask[629 + i])
|
||||||
{
|
{
|
||||||
data.WriteUInt32(BankBagSlotFlags[i]);
|
data.WriteUInt32(BankBagSlotFlags[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (changesMask[635])
|
if (changesMask[636])
|
||||||
{
|
{
|
||||||
for (int i = 0; i < 875; ++i)
|
for (int i = 0; i < 875; ++i)
|
||||||
{
|
{
|
||||||
if (changesMask[636 + i])
|
if (changesMask[637 + i])
|
||||||
{
|
{
|
||||||
data.WriteUInt64(QuestCompleted[i]);
|
data.WriteUInt64(QuestCompleted[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (changesMask[607])
|
if (changesMask[608])
|
||||||
{
|
{
|
||||||
for (int i = 0; i < 6; ++i)
|
for (int i = 0; i < 6; ++i)
|
||||||
{
|
{
|
||||||
if (changesMask[608 + i])
|
if (changesMask[609 + i])
|
||||||
{
|
{
|
||||||
PvpInfo[i].WriteUpdate(data, ignoreNestedChangesMask, owner, receiver);
|
PvpInfo[i].WriteUpdate(data, ignoreNestedChangesMask, owner, receiver);
|
||||||
}
|
}
|
||||||
@@ -4855,6 +4865,7 @@ namespace Game.Entities
|
|||||||
ClearChangesMask(QuestSession);
|
ClearChangesMask(QuestSession);
|
||||||
ClearChangesMask(UiChromieTimeExpansionID);
|
ClearChangesMask(UiChromieTimeExpansionID);
|
||||||
ClearChangesMask(TransportServerTime);
|
ClearChangesMask(TransportServerTime);
|
||||||
|
ClearChangesMask(WeeklyRewardsPeriodSinceOrigin);
|
||||||
ClearChangesMask(InvSlots);
|
ClearChangesMask(InvSlots);
|
||||||
ClearChangesMask(TrackResourceMask);
|
ClearChangesMask(TrackResourceMask);
|
||||||
ClearChangesMask(ExploredZones);
|
ClearChangesMask(ExploredZones);
|
||||||
|
|||||||
@@ -598,6 +598,7 @@ namespace Game.Entities
|
|||||||
//if (flags.SmoothPhasing)
|
//if (flags.SmoothPhasing)
|
||||||
//{
|
//{
|
||||||
// data.WriteBit(ReplaceActive);
|
// data.WriteBit(ReplaceActive);
|
||||||
|
// data.WriteBit(StopAnimKits);
|
||||||
// data.WriteBit(HasReplaceObjectt);
|
// data.WriteBit(HasReplaceObjectt);
|
||||||
// data.FlushBits();
|
// data.FlushBits();
|
||||||
// if (HasReplaceObject)
|
// if (HasReplaceObject)
|
||||||
|
|||||||
@@ -195,6 +195,7 @@ namespace Game.Entities
|
|||||||
UpdateSplineMovement(diff);
|
UpdateSplineMovement(diff);
|
||||||
GetMotionMaster().UpdateMotion(diff);
|
GetMotionMaster().UpdateMotion(diff);
|
||||||
}
|
}
|
||||||
|
|
||||||
void _UpdateSpells(uint diff)
|
void _UpdateSpells(uint diff)
|
||||||
{
|
{
|
||||||
if (GetCurrentSpell(CurrentSpellTypes.AutoRepeat) != null)
|
if (GetCurrentSpell(CurrentSpellTypes.AutoRepeat) != null)
|
||||||
@@ -250,13 +251,20 @@ namespace Game.Entities
|
|||||||
_spellHistory.Update();
|
_spellHistory.Update();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void HandleEmoteCommand(Emote anim_id)
|
public void HandleEmoteCommand(Emote animId, uint[] spellVisualKitIds = null)
|
||||||
{
|
{
|
||||||
EmoteMessage packet = new();
|
EmoteMessage packet = new();
|
||||||
packet.Guid = GetGUID();
|
packet.Guid = GetGUID();
|
||||||
packet.EmoteID = (int)anim_id;
|
packet.EmoteID = (uint)animId;
|
||||||
|
|
||||||
|
var emotesEntry = CliDB.EmotesStorage.LookupByKey(animId);
|
||||||
|
if (emotesEntry != null && spellVisualKitIds != null)
|
||||||
|
if (emotesEntry.AnimId == (uint)Anim.MountSpecial || emotesEntry.AnimId == (uint)Anim.MountSelfSpecial)
|
||||||
|
packet.SpellVisualKitIDs.AddRange(spellVisualKitIds);
|
||||||
|
|
||||||
SendMessageToSet(packet, true);
|
SendMessageToSet(packet, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SendDurabilityLoss(Player receiver, uint percent)
|
public void SendDurabilityLoss(Player receiver, uint percent)
|
||||||
{
|
{
|
||||||
DurabilityDamageDeath packet = new();
|
DurabilityDamageDeath packet = new();
|
||||||
|
|||||||
@@ -717,8 +717,8 @@ namespace Game
|
|||||||
|
|
||||||
pointsOfInterestStorage.Clear(); // need for reload case
|
pointsOfInterestStorage.Clear(); // need for reload case
|
||||||
|
|
||||||
// 0 1 2 3 4 5 6
|
// 0 1 2 3 4 5 6 7
|
||||||
SQLResult result = DB.World.Query("SELECT ID, PositionX, PositionY, Icon, Flags, Importance, Name FROM points_of_interest");
|
SQLResult result = DB.World.Query("SELECT ID, PositionX, PositionY, Icon, Flags, Importance, Name, Unknown905 FROM points_of_interest");
|
||||||
|
|
||||||
if (result.IsEmpty())
|
if (result.IsEmpty())
|
||||||
{
|
{
|
||||||
@@ -738,10 +738,11 @@ namespace Game
|
|||||||
POI.Flags = result.Read<uint>(4);
|
POI.Flags = result.Read<uint>(4);
|
||||||
POI.Importance = result.Read<uint>(5);
|
POI.Importance = result.Read<uint>(5);
|
||||||
POI.Name = result.Read<string>(6);
|
POI.Name = result.Read<string>(6);
|
||||||
|
POI.Unknown905 = result.Read<uint>(7);
|
||||||
|
|
||||||
if (!GridDefines.IsValidMapCoord(POI.Pos.X, POI.Pos.Y))
|
if (!GridDefines.IsValidMapCoord(POI.Pos.X, POI.Pos.Y))
|
||||||
{
|
{
|
||||||
Log.outError(LogFilter.Sql, "Table `points_of_interest` (ID: {0}) have invalid coordinates (PositionX: {1} PositionY: {2}), ignored.", id, POI.Pos.X, POI.Pos.Y);
|
Log.outError(LogFilter.Sql, $"Table `points_of_interest` (ID: {id}) have invalid coordinates (PositionX: {POI.Pos.X} PositionY: {POI.Pos.Y}), ignored.");
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -750,7 +751,7 @@ namespace Game
|
|||||||
++count;
|
++count;
|
||||||
} while (result.NextRow());
|
} while (result.NextRow());
|
||||||
|
|
||||||
Log.outInfo(LogFilter.ServerLoading, "Loaded {0} Points of Interest definitions in {1} ms", count, Time.GetMSTimeDiffToNow(oldMSTime));
|
Log.outInfo(LogFilter.ServerLoading, $"Loaded {count} Points of Interest definitions in {Time.GetMSTimeDiffToNow(oldMSTime)} ms");
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<GossipMenus> GetGossipMenusMapBounds(uint uiMenuId)
|
public List<GossipMenus> GetGossipMenusMapBounds(uint uiMenuId)
|
||||||
|
|||||||
@@ -588,7 +588,7 @@ namespace Game
|
|||||||
// Only allow text-emotes for "dead" entities (feign death included)
|
// Only allow text-emotes for "dead" entities (feign death included)
|
||||||
if (GetPlayer().HasUnitState(UnitState.Died))
|
if (GetPlayer().HasUnitState(UnitState.Died))
|
||||||
break;
|
break;
|
||||||
GetPlayer().HandleEmoteCommand(emoteAnim);
|
GetPlayer().HandleEmoteCommand(emoteAnim, packet.SpellVisualKitIDs);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ namespace Game
|
|||||||
|
|
||||||
void SendAvailableHotfixes()
|
void SendAvailableHotfixes()
|
||||||
{
|
{
|
||||||
SendPacket(new AvailableHotfixes(Global.WorldMgr.GetRealmId().GetAddress(), Global.DB2Mgr.GetHotfixCount(), Global.DB2Mgr.GetHotfixData()));
|
SendPacket(new AvailableHotfixes(Global.WorldMgr.GetRealmId().GetAddress(), Global.DB2Mgr.GetHotfixData()));
|
||||||
}
|
}
|
||||||
|
|
||||||
[WorldPacketHandler(ClientOpcodes.HotfixRequest, Status = SessionStatus.Authed)]
|
[WorldPacketHandler(ClientOpcodes.HotfixRequest, Status = SessionStatus.Authed)]
|
||||||
@@ -70,42 +70,48 @@ namespace Game
|
|||||||
var hotfixes = Global.DB2Mgr.GetHotfixData();
|
var hotfixes = Global.DB2Mgr.GetHotfixData();
|
||||||
|
|
||||||
HotfixConnect hotfixQueryResponse = new();
|
HotfixConnect hotfixQueryResponse = new();
|
||||||
foreach (HotfixRecord hotfixRecord in hotfixQuery.Hotfixes)
|
foreach (var hotfixId in hotfixQuery.Hotfixes)
|
||||||
{
|
{
|
||||||
var serverHotfixIndex = hotfixes.IndexOf(hotfixRecord);
|
var hotfixRecords = hotfixes.LookupByKey(hotfixId);
|
||||||
if (serverHotfixIndex != -1)
|
if (hotfixRecords != null)
|
||||||
{
|
{
|
||||||
HotfixConnect.HotfixData hotfixData = new();
|
foreach (var hotfixRecord in hotfixRecords)
|
||||||
hotfixData.Record = hotfixes[serverHotfixIndex];
|
|
||||||
if (hotfixData.Record.HotfixStatus == HotfixRecord.Status.Valid)
|
|
||||||
{
|
{
|
||||||
var storage = Global.DB2Mgr.GetStorage(hotfixRecord.TableHash);
|
HotfixConnect.HotfixData hotfixData = new HotfixConnect.HotfixData();
|
||||||
if (storage != null && storage.HasRecord((uint)hotfixRecord.RecordID))
|
hotfixData.Record = hotfixRecord;
|
||||||
|
if (hotfixRecord.HotfixStatus == HotfixRecord.Status.Valid)
|
||||||
{
|
{
|
||||||
uint pos = hotfixQueryResponse.HotfixContent.GetSize();
|
var storage = Global.DB2Mgr.GetStorage(hotfixRecord.TableHash);
|
||||||
storage.WriteRecord((uint)hotfixRecord.RecordID, GetSessionDbcLocale(), hotfixQueryResponse.HotfixContent);
|
if (storage != null && storage.HasRecord((uint)hotfixRecord.RecordID))
|
||||||
|
|
||||||
var optionalDataEntries = Global.DB2Mgr.GetHotfixOptionalData(hotfixRecord.TableHash, (uint)hotfixRecord.RecordID, GetSessionDbcLocale());
|
|
||||||
foreach (HotfixOptionalData optionalData in optionalDataEntries)
|
|
||||||
{
|
{
|
||||||
hotfixQueryResponse.HotfixContent.WriteUInt32(optionalData.Key);
|
var pos = hotfixQueryResponse.HotfixContent.GetSize();
|
||||||
hotfixQueryResponse.HotfixContent.WriteBytes(optionalData.Data);
|
storage.WriteRecord((uint)hotfixRecord.RecordID, GetSessionDbcLocale(), hotfixQueryResponse.HotfixContent);
|
||||||
|
|
||||||
|
var optionalDataEntries = Global.DB2Mgr.GetHotfixOptionalData(hotfixRecord.TableHash, (uint)hotfixRecord.RecordID, GetSessionDbcLocale());
|
||||||
|
if (optionalDataEntries != null)
|
||||||
|
{
|
||||||
|
foreach (var optionalData in optionalDataEntries)
|
||||||
|
{
|
||||||
|
hotfixQueryResponse.HotfixContent.WriteUInt32(optionalData.Key);
|
||||||
|
hotfixQueryResponse.HotfixContent.WriteBytes(optionalData.Data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
hotfixData.Size = hotfixQueryResponse.HotfixContent.GetSize() - pos;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
hotfixData.Size = hotfixQueryResponse.HotfixContent.GetSize() - pos;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
byte[] blobData = Global.DB2Mgr.GetHotfixBlobData(hotfixRecord.TableHash, hotfixRecord.RecordID, GetSessionDbcLocale());
|
|
||||||
if (blobData != null)
|
|
||||||
{
|
{
|
||||||
hotfixData.Size = (uint)blobData.Length;
|
var blobData = Global.DB2Mgr.GetHotfixBlobData(hotfixRecord.TableHash, hotfixRecord.RecordID, GetSessionDbcLocale());
|
||||||
hotfixQueryResponse.HotfixContent.WriteBytes(blobData);
|
if (blobData != null)
|
||||||
|
{
|
||||||
|
hotfixData.Size = (uint)blobData.Length;
|
||||||
|
hotfixQueryResponse.HotfixContent.WriteBytes(blobData);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
hotfixQueryResponse.Hotfixes.Add(hotfixData);
|
||||||
}
|
}
|
||||||
|
|
||||||
hotfixQueryResponse.Hotfixes.Add(hotfixData);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -419,6 +419,7 @@ namespace Game
|
|||||||
{
|
{
|
||||||
SpecialMountAnim specialMountAnim = new();
|
SpecialMountAnim specialMountAnim = new();
|
||||||
specialMountAnim.UnitGUID = _player.GetGUID();
|
specialMountAnim.UnitGUID = _player.GetGUID();
|
||||||
|
specialMountAnim.SpellVisualKitIDs.AddRange(mountSpecial.SpellVisualKitIDs);
|
||||||
GetPlayer().SendMessageToSet(specialMountAnim, false);
|
GetPlayer().SendMessageToSet(specialMountAnim, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -189,6 +189,7 @@ namespace Game.Networking.Packets
|
|||||||
_worldPacket.WriteUInt32(progress.DateCreated);
|
_worldPacket.WriteUInt32(progress.DateCreated);
|
||||||
_worldPacket.WriteUInt32(progress.DateStarted);
|
_worldPacket.WriteUInt32(progress.DateStarted);
|
||||||
_worldPacket.WritePackedTime(progress.DateUpdated);
|
_worldPacket.WritePackedTime(progress.DateUpdated);
|
||||||
|
_worldPacket.WriteUInt32(0); // this is a hack. this is a packed time written as int64 (progress.DateUpdated)
|
||||||
_worldPacket.WriteUInt64(progress.Quantity);
|
_worldPacket.WriteUInt64(progress.Quantity);
|
||||||
_worldPacket.WritePackedGuid(progress.PlayerGUID);
|
_worldPacket.WritePackedGuid(progress.PlayerGUID);
|
||||||
_worldPacket.WriteInt32(progress.Flags);
|
_worldPacket.WriteInt32(progress.Flags);
|
||||||
|
|||||||
@@ -16,10 +16,11 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
using Framework.Constants;
|
using Framework.Constants;
|
||||||
|
using Framework.Dynamic;
|
||||||
using Game.Entities;
|
using Game.Entities;
|
||||||
using Game.Groups;
|
using Game.Groups;
|
||||||
using System;
|
using System;
|
||||||
using Framework.Dynamic;
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace Game.Networking.Packets
|
namespace Game.Networking.Packets
|
||||||
{
|
{
|
||||||
@@ -269,11 +270,16 @@ namespace Game.Networking.Packets
|
|||||||
public override void Write()
|
public override void Write()
|
||||||
{
|
{
|
||||||
_worldPacket.WritePackedGuid(Guid);
|
_worldPacket.WritePackedGuid(Guid);
|
||||||
_worldPacket.WriteInt32(EmoteID);
|
_worldPacket.WriteUInt32(EmoteID);
|
||||||
|
_worldPacket.WriteInt32(SpellVisualKitIDs.Count);
|
||||||
|
|
||||||
|
foreach (var id in SpellVisualKitIDs)
|
||||||
|
_worldPacket.WriteUInt32(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ObjectGuid Guid;
|
public ObjectGuid Guid;
|
||||||
public int EmoteID;
|
public uint EmoteID;
|
||||||
|
public List<uint> SpellVisualKitIDs = new();
|
||||||
}
|
}
|
||||||
|
|
||||||
public class CTextEmote : ClientPacket
|
public class CTextEmote : ClientPacket
|
||||||
@@ -285,11 +291,16 @@ namespace Game.Networking.Packets
|
|||||||
Target = _worldPacket.ReadPackedGuid();
|
Target = _worldPacket.ReadPackedGuid();
|
||||||
EmoteID = _worldPacket.ReadInt32();
|
EmoteID = _worldPacket.ReadInt32();
|
||||||
SoundIndex = _worldPacket.ReadInt32();
|
SoundIndex = _worldPacket.ReadInt32();
|
||||||
|
|
||||||
|
SpellVisualKitIDs = new uint[_worldPacket.ReadUInt32()];
|
||||||
|
for (var i = 0; i < SpellVisualKitIDs.Length; ++i)
|
||||||
|
SpellVisualKitIDs[i] = _worldPacket.ReadUInt32();
|
||||||
}
|
}
|
||||||
|
|
||||||
public ObjectGuid Target;
|
public ObjectGuid Target;
|
||||||
public int EmoteID;
|
public int EmoteID;
|
||||||
public int SoundIndex;
|
public int SoundIndex;
|
||||||
|
public uint[] SpellVisualKitIDs;
|
||||||
}
|
}
|
||||||
|
|
||||||
public class STextEmote : ServerPacket
|
public class STextEmote : ServerPacket
|
||||||
|
|||||||
@@ -138,7 +138,7 @@ namespace Game.Networking.Packets
|
|||||||
|
|
||||||
class GameObjectUILink : ServerPacket
|
class GameObjectUILink : ServerPacket
|
||||||
{
|
{
|
||||||
public GameObjectUILink() : base(ServerOpcodes.GameObjectUILink, ConnectionType.Instance) { }
|
public GameObjectUILink() : base(ServerOpcodes.GameObjectUiLink, ConnectionType.Instance) { }
|
||||||
|
|
||||||
public override void Write()
|
public override void Write()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -405,12 +405,12 @@ namespace Game.Networking.Packets
|
|||||||
public void Write(WorldPacket data)
|
public void Write(WorldPacket data)
|
||||||
{
|
{
|
||||||
data.WriteUInt64(DbID);
|
data.WriteUInt64(DbID);
|
||||||
data.WriteUInt32(MissionRecID);
|
|
||||||
data.WriteUInt32((uint)OfferTime);
|
data.WriteUInt32((uint)OfferTime);
|
||||||
data.WriteUInt32(OfferDuration);
|
data.WriteUInt32(OfferDuration);
|
||||||
data.WriteUInt32((uint)StartTime);
|
data.WriteUInt32((uint)StartTime);
|
||||||
data.WriteUInt32(TravelDuration);
|
data.WriteUInt32(TravelDuration);
|
||||||
data.WriteUInt32(MissionDuration);
|
data.WriteUInt32(MissionDuration);
|
||||||
|
data.WriteUInt32(MissionRecID);
|
||||||
data.WriteUInt32(MissionState);
|
data.WriteUInt32(MissionState);
|
||||||
data.WriteUInt32(SuccessChance);
|
data.WriteUInt32(SuccessChance);
|
||||||
data.WriteUInt32(Flags);
|
data.WriteUInt32(Flags);
|
||||||
@@ -462,8 +462,8 @@ namespace Game.Networking.Packets
|
|||||||
{
|
{
|
||||||
public void Write(WorldPacket data)
|
public void Write(WorldPacket data)
|
||||||
{
|
{
|
||||||
data.WriteUInt32(GarrMssnBonusAbilityID);
|
|
||||||
data.WriteUInt32((uint)StartTime);
|
data.WriteUInt32((uint)StartTime);
|
||||||
|
data.WriteUInt32(GarrMssnBonusAbilityID);
|
||||||
}
|
}
|
||||||
|
|
||||||
public uint GarrMssnBonusAbilityID;
|
public uint GarrMssnBonusAbilityID;
|
||||||
@@ -533,12 +533,12 @@ namespace Game.Networking.Packets
|
|||||||
struct GarrisonEventEntry
|
struct GarrisonEventEntry
|
||||||
{
|
{
|
||||||
public int EntryID;
|
public int EntryID;
|
||||||
public int EventValue;
|
public long EventValue;
|
||||||
|
|
||||||
public void Write(WorldPacket data)
|
public void Write(WorldPacket data)
|
||||||
{
|
{
|
||||||
|
data.WriteInt64(EventValue);
|
||||||
data.WriteInt32(EntryID);
|
data.WriteInt32(EntryID);
|
||||||
data.WriteInt32(EventValue);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -578,6 +578,7 @@ namespace Game.Networking.Packets
|
|||||||
data.WriteInt32(ArchivedMissions.Count);
|
data.WriteInt32(ArchivedMissions.Count);
|
||||||
data.WriteUInt32(NumFollowerActivationsRemaining);
|
data.WriteUInt32(NumFollowerActivationsRemaining);
|
||||||
data.WriteUInt32(NumMissionsStartedToday);
|
data.WriteUInt32(NumMissionsStartedToday);
|
||||||
|
data.WriteInt32(MinAutoTroopLevel);
|
||||||
|
|
||||||
foreach (GarrisonPlotInfo plot in Plots)
|
foreach (GarrisonPlotInfo plot in Plots)
|
||||||
plot.Write(data);
|
plot.Write(data);
|
||||||
@@ -634,6 +635,7 @@ namespace Game.Networking.Packets
|
|||||||
public uint GarrSiteLevelID;
|
public uint GarrSiteLevelID;
|
||||||
public uint NumFollowerActivationsRemaining;
|
public uint NumFollowerActivationsRemaining;
|
||||||
public uint NumMissionsStartedToday; // might mean something else, but sending 0 here enables follower abilities "Increase success chance of the first mission of the day by %."
|
public uint NumMissionsStartedToday; // might mean something else, but sending 0 here enables follower abilities "Increase success chance of the first mission of the day by %."
|
||||||
|
public int MinAutoTroopLevel;
|
||||||
public List<GarrisonPlotInfo> Plots = new();
|
public List<GarrisonPlotInfo> Plots = new();
|
||||||
public List<GarrisonBuildingInfo> Buildings = new();
|
public List<GarrisonBuildingInfo> Buildings = new();
|
||||||
public List<GarrisonFollower> Followers = new();
|
public List<GarrisonFollower> Followers = new();
|
||||||
|
|||||||
@@ -78,25 +78,24 @@ namespace Game.Networking.Packets
|
|||||||
|
|
||||||
class AvailableHotfixes : ServerPacket
|
class AvailableHotfixes : ServerPacket
|
||||||
{
|
{
|
||||||
public AvailableHotfixes(uint virtualRealmAddress, uint hotfixCount, List<HotfixRecord> hotfixes) : base(ServerOpcodes.AvailableHotfixes)
|
public AvailableHotfixes(uint virtualRealmAddress, MultiMap<int, HotfixRecord> hotfixes) : base(ServerOpcodes.AvailableHotfixes)
|
||||||
{
|
{
|
||||||
VirtualRealmAddress = virtualRealmAddress;
|
VirtualRealmAddress = virtualRealmAddress;
|
||||||
HotfixCount = hotfixCount;
|
|
||||||
Hotfixes = hotfixes;
|
Hotfixes = hotfixes;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void Write()
|
public override void Write()
|
||||||
{
|
{
|
||||||
_worldPacket.WriteUInt32(VirtualRealmAddress);
|
_worldPacket.WriteUInt32(VirtualRealmAddress);
|
||||||
_worldPacket.WriteUInt32(HotfixCount);
|
_worldPacket.WriteInt32(Hotfixes.Count);
|
||||||
|
|
||||||
foreach (HotfixRecord hotfixRecord in Hotfixes)
|
foreach (var pair in Hotfixes)
|
||||||
hotfixRecord.Write(_worldPacket);
|
_worldPacket.WriteInt32(pair.Key);
|
||||||
}
|
}
|
||||||
|
|
||||||
public uint VirtualRealmAddress;
|
public uint VirtualRealmAddress;
|
||||||
public uint HotfixCount;
|
public uint HotfixCount;
|
||||||
public List<HotfixRecord> Hotfixes;
|
public MultiMap<int, HotfixRecord> Hotfixes;
|
||||||
}
|
}
|
||||||
|
|
||||||
class HotfixRequest : ClientPacket
|
class HotfixRequest : ClientPacket
|
||||||
@@ -110,16 +109,12 @@ namespace Game.Networking.Packets
|
|||||||
|
|
||||||
uint hotfixCount = _worldPacket.ReadUInt32();
|
uint hotfixCount = _worldPacket.ReadUInt32();
|
||||||
for (var i = 0; i < hotfixCount; ++i)
|
for (var i = 0; i < hotfixCount; ++i)
|
||||||
{
|
Hotfixes.Add(_worldPacket.ReadInt32());
|
||||||
HotfixRecord hotfixRecord = new();
|
|
||||||
hotfixRecord.Read(_worldPacket);
|
|
||||||
Hotfixes.Add(hotfixRecord);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public uint ClientBuild;
|
public uint ClientBuild;
|
||||||
public uint DataBuild;
|
public uint DataBuild;
|
||||||
public List<HotfixRecord> Hotfixes = new();
|
public List<int> Hotfixes = new();
|
||||||
}
|
}
|
||||||
|
|
||||||
class HotfixConnect : ServerPacket
|
class HotfixConnect : ServerPacket
|
||||||
|
|||||||
@@ -1162,7 +1162,14 @@ namespace Game.Networking.Packets
|
|||||||
{
|
{
|
||||||
public MountSpecial(WorldPacket packet) : base(packet) { }
|
public MountSpecial(WorldPacket packet) : base(packet) { }
|
||||||
|
|
||||||
public override void Read() { }
|
public override void Read()
|
||||||
|
{
|
||||||
|
SpellVisualKitIDs = new int[_worldPacket.ReadUInt32()];
|
||||||
|
for (var i = 0; i < SpellVisualKitIDs.Length; ++i)
|
||||||
|
SpellVisualKitIDs[i] = _worldPacket.ReadInt32();
|
||||||
|
}
|
||||||
|
|
||||||
|
public int[] SpellVisualKitIDs;
|
||||||
}
|
}
|
||||||
|
|
||||||
class SpecialMountAnim : ServerPacket
|
class SpecialMountAnim : ServerPacket
|
||||||
@@ -1172,9 +1179,13 @@ namespace Game.Networking.Packets
|
|||||||
public override void Write()
|
public override void Write()
|
||||||
{
|
{
|
||||||
_worldPacket.WritePackedGuid(UnitGUID);
|
_worldPacket.WritePackedGuid(UnitGUID);
|
||||||
|
_worldPacket.WriteInt32(SpellVisualKitIDs.Count);
|
||||||
|
foreach (var id in SpellVisualKitIDs)
|
||||||
|
_worldPacket.WriteInt32(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ObjectGuid UnitGUID;
|
public ObjectGuid UnitGUID;
|
||||||
|
public List<int> SpellVisualKitIDs = new();
|
||||||
}
|
}
|
||||||
|
|
||||||
class CrossedInebriationThreshold : ServerPacket
|
class CrossedInebriationThreshold : ServerPacket
|
||||||
|
|||||||
@@ -209,6 +209,7 @@ namespace Game.Networking.Packets
|
|||||||
_worldPacket.WriteFloat(Pos.Y);
|
_worldPacket.WriteFloat(Pos.Y);
|
||||||
_worldPacket.WriteUInt32(Icon);
|
_worldPacket.WriteUInt32(Icon);
|
||||||
_worldPacket.WriteUInt32(Importance);
|
_worldPacket.WriteUInt32(Importance);
|
||||||
|
_worldPacket.WriteUInt32(Unknown905);
|
||||||
_worldPacket.WriteBits(Flags, 14);
|
_worldPacket.WriteBits(Flags, 14);
|
||||||
_worldPacket.WriteBits(Name.GetByteCount(), 6);
|
_worldPacket.WriteBits(Name.GetByteCount(), 6);
|
||||||
_worldPacket.FlushBits();
|
_worldPacket.FlushBits();
|
||||||
@@ -220,6 +221,7 @@ namespace Game.Networking.Packets
|
|||||||
public Vector2 Pos;
|
public Vector2 Pos;
|
||||||
public uint Icon;
|
public uint Icon;
|
||||||
public uint Importance;
|
public uint Importance;
|
||||||
|
public uint Unknown905;
|
||||||
public string Name;
|
public string Name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -61,10 +61,10 @@ namespace Game.Networking.Packets
|
|||||||
foreach (var c in Cases)
|
foreach (var c in Cases)
|
||||||
{
|
{
|
||||||
_worldPacket.WriteInt32(c.CaseID);
|
_worldPacket.WriteInt32(c.CaseID);
|
||||||
_worldPacket.WriteInt32(c.CaseOpened);
|
_worldPacket.WriteUInt32(c.CaseOpened);
|
||||||
_worldPacket.WriteInt32(c.CaseStatus);
|
_worldPacket.WriteInt32(c.CaseStatus);
|
||||||
_worldPacket.WriteInt16(c.CfgRealmID);
|
_worldPacket.WriteUInt16(c.CfgRealmID);
|
||||||
_worldPacket.WriteInt64(c.CharacterID);
|
_worldPacket.WriteUInt64(c.CharacterID);
|
||||||
_worldPacket.WriteInt32(c.WaitTimeOverrideMinutes);
|
_worldPacket.WriteInt32(c.WaitTimeOverrideMinutes);
|
||||||
|
|
||||||
_worldPacket.WriteBits(c.Url.GetByteCount(), 11);
|
_worldPacket.WriteBits(c.Url.GetByteCount(), 11);
|
||||||
@@ -80,10 +80,10 @@ namespace Game.Networking.Packets
|
|||||||
public struct GMTicketCase
|
public struct GMTicketCase
|
||||||
{
|
{
|
||||||
public int CaseID;
|
public int CaseID;
|
||||||
public int CaseOpened;
|
public uint CaseOpened;
|
||||||
public int CaseStatus;
|
public int CaseStatus;
|
||||||
public short CfgRealmID;
|
public ushort CfgRealmID;
|
||||||
public long CharacterID;
|
public ulong CharacterID;
|
||||||
public int WaitTimeOverrideMinutes;
|
public int WaitTimeOverrideMinutes;
|
||||||
public string Url;
|
public string Url;
|
||||||
public string WaitTimeOverrideMessage;
|
public string WaitTimeOverrideMessage;
|
||||||
|
|||||||
@@ -42,27 +42,27 @@ namespace Game.Networking.Packets
|
|||||||
_worldPacket.WriteUInt32((uint)Result);
|
_worldPacket.WriteUInt32((uint)Result);
|
||||||
_worldPacket.WriteInt32(AuctionableTokenAuctionableList.Count);
|
_worldPacket.WriteInt32(AuctionableTokenAuctionableList.Count);
|
||||||
|
|
||||||
foreach (AuctionableTokenAuctionable auctionableTokenAuctionable in AuctionableTokenAuctionableList)
|
foreach (AuctionableTokenInfo auctionableTokenAuctionable in AuctionableTokenAuctionableList)
|
||||||
{
|
{
|
||||||
_worldPacket.WriteUInt64(auctionableTokenAuctionable.UnkInt1);
|
_worldPacket.WriteUInt64(auctionableTokenAuctionable.UnkInt1);
|
||||||
_worldPacket.WriteUInt32(auctionableTokenAuctionable.UnkInt2);
|
_worldPacket.WriteUInt32(auctionableTokenAuctionable.UnkInt2);
|
||||||
_worldPacket.WriteUInt32(auctionableTokenAuctionable.Owner);
|
|
||||||
_worldPacket.WriteUInt64(auctionableTokenAuctionable.BuyoutPrice);
|
_worldPacket.WriteUInt64(auctionableTokenAuctionable.BuyoutPrice);
|
||||||
_worldPacket.WriteUInt32(auctionableTokenAuctionable.EndTime);
|
_worldPacket.WriteUInt32(auctionableTokenAuctionable.Owner);
|
||||||
|
_worldPacket.WriteUInt32(auctionableTokenAuctionable.DurationLeft);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public uint UnkInt; // send CMSG_UPDATE_WOW_TOKEN_AUCTIONABLE_LIST
|
public uint UnkInt; // send CMSG_UPDATE_WOW_TOKEN_AUCTIONABLE_LIST
|
||||||
public TokenResult Result;
|
public TokenResult Result;
|
||||||
List<AuctionableTokenAuctionable> AuctionableTokenAuctionableList =new();
|
List<AuctionableTokenInfo> AuctionableTokenAuctionableList = new();
|
||||||
|
|
||||||
struct AuctionableTokenAuctionable
|
struct AuctionableTokenInfo
|
||||||
{
|
{
|
||||||
public ulong UnkInt1;
|
public ulong UnkInt1;
|
||||||
public uint UnkInt2;
|
public uint UnkInt2;
|
||||||
public uint Owner;
|
public uint Owner;
|
||||||
public ulong BuyoutPrice;
|
public ulong BuyoutPrice;
|
||||||
public uint EndTime;
|
public uint DurationLeft;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
ALTER TABLE `points_of_interest` ADD `Unknown905` int(11) NOT NULL DEFAULT '0' AFTER `Name`;
|
||||||
Reference in New Issue
Block a user