Core: Updated to 10.0.5
Port From (https://github.com/TrinityCore/TrinityCore/commit/4bec7233badf9d3ab71dbdde8b24f66f7c4eedfb)
This commit is contained in:
@@ -421,7 +421,12 @@ namespace Framework.Constants
|
|||||||
PlayerDaysSinceLogout = 344,
|
PlayerDaysSinceLogout = 344,
|
||||||
CraftingOrderSkillLineAbility = 347, /*NYI*/
|
CraftingOrderSkillLineAbility = 347, /*NYI*/
|
||||||
CraftingOrderProfession = 348, /*NYI*/ // ProfessionEnum
|
CraftingOrderProfession = 348, /*NYI*/ // ProfessionEnum
|
||||||
|
|
||||||
|
PlayerHasPerksProgramPendingReward = 350,
|
||||||
PlayerCanUseItem = 351, // Player can use item {#Item}
|
PlayerCanUseItem = 351, // Player can use item {#Item}
|
||||||
|
|
||||||
|
PlayerHasAtLeastProfPathRanks = 355, // Player has purchased or granted at least {#Count} ranks in {SkillLine} config
|
||||||
|
PlayerHasAtLeastMissingProfPathRanks = 356, /*NYI*/ // Player is missing least {#Count} ranks in {SkillLine} config
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum CriteriaFailEvent : byte
|
public enum CriteriaFailEvent : byte
|
||||||
@@ -716,6 +721,9 @@ namespace Framework.Constants
|
|||||||
ReputationAmountGained = 243, /*NYI*/ // Gain reputation amount with {FactionID}; accumulate, not highest
|
ReputationAmountGained = 243, /*NYI*/ // Gain reputation amount with {FactionID}; accumulate, not highest
|
||||||
FulfillAnyCraftingOrder = 245, /*NYI*/
|
FulfillAnyCraftingOrder = 245, /*NYI*/
|
||||||
FulfillCraftingOrderType = 246, /*NYI*/ // {CraftingOrderType}
|
FulfillCraftingOrderType = 246, /*NYI*/ // {CraftingOrderType}
|
||||||
|
|
||||||
|
PerksProgramMonthComplete = 249, /*NYI*/
|
||||||
|
|
||||||
Count
|
Count
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -66,7 +66,10 @@ namespace Framework.Constants
|
|||||||
GarrTalentTree = 58,
|
GarrTalentTree = 58,
|
||||||
WeeklyRewardChest = 59,
|
WeeklyRewardChest = 59,
|
||||||
ClientModel = 60,
|
ClientModel = 60,
|
||||||
Max = 61
|
CraftingTable = 61,
|
||||||
|
PerksProgramChest = 62,
|
||||||
|
|
||||||
|
Max
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum GameObjectState
|
public enum GameObjectState
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -2763,289 +2763,290 @@ namespace Framework.Constants
|
|||||||
DifficultyChangeEncounter = 828,
|
DifficultyChangeEncounter = 828,
|
||||||
DifficultyChangeCombat = 829,
|
DifficultyChangeCombat = 829,
|
||||||
DifficultyChangePlayerBusy = 830,
|
DifficultyChangePlayerBusy = 830,
|
||||||
DifficultyChangeAlreadyStarted = 831,
|
DifficultyChangePlayerOnVehicle = 831,
|
||||||
DifficultyChangeOtherHeroicS = 832,
|
DifficultyChangeAlreadyStarted = 832,
|
||||||
DifficultyChangeHeroicInstanceAlreadyRunning = 833,
|
DifficultyChangeOtherHeroicS = 833,
|
||||||
ArenaTeamPartySize = 834,
|
DifficultyChangeHeroicInstanceAlreadyRunning = 834,
|
||||||
SoloShuffleWargameGroupSize = 835,
|
ArenaTeamPartySize = 835,
|
||||||
SoloShuffleWargameGroupComp = 836,
|
SoloShuffleWargameGroupSize = 836,
|
||||||
SoloShuffleMinItemLevel = 837,
|
SoloShuffleWargameGroupComp = 837,
|
||||||
PvpPlayerAbandoned = 838,
|
SoloShuffleMinItemLevel = 838,
|
||||||
QuestForceRemovedS = 839,
|
PvpPlayerAbandoned = 839,
|
||||||
AttackNoActions = 840,
|
QuestForceRemovedS = 840,
|
||||||
InRandomBg = 841,
|
AttackNoActions = 841,
|
||||||
InNonRandomBg = 842,
|
InRandomBg = 842,
|
||||||
BnFriendSelf = 843,
|
InNonRandomBg = 843,
|
||||||
BnFriendAlready = 844,
|
BnFriendSelf = 844,
|
||||||
BnFriendBlocked = 845,
|
BnFriendAlready = 845,
|
||||||
BnFriendListFull = 846,
|
BnFriendBlocked = 846,
|
||||||
BnFriendRequestSent = 847,
|
BnFriendListFull = 847,
|
||||||
BnBroadcastThrottle = 848,
|
BnFriendRequestSent = 848,
|
||||||
BgDeveloperOnly = 849,
|
BnBroadcastThrottle = 849,
|
||||||
CurrencySpellSlotMismatch = 850,
|
BgDeveloperOnly = 850,
|
||||||
CurrencyNotTradable = 851,
|
CurrencySpellSlotMismatch = 851,
|
||||||
RequiresExpansionS = 852,
|
CurrencyNotTradable = 852,
|
||||||
QuestFailedSpell = 853,
|
RequiresExpansionS = 853,
|
||||||
TalentFailedUnspentTalentPoints = 854,
|
QuestFailedSpell = 854,
|
||||||
TalentFailedNotEnoughTalentsInPrimaryTree = 855,
|
TalentFailedUnspentTalentPoints = 855,
|
||||||
TalentFailedNoPrimaryTreeSelected = 856,
|
TalentFailedNotEnoughTalentsInPrimaryTree = 856,
|
||||||
TalentFailedCantRemoveTalent = 857,
|
TalentFailedNoPrimaryTreeSelected = 857,
|
||||||
TalentFailedUnknown = 858,
|
TalentFailedCantRemoveTalent = 858,
|
||||||
TalentFailedInCombat = 859,
|
TalentFailedUnknown = 859,
|
||||||
TalentFailedInPvpMatch = 860,
|
TalentFailedInCombat = 860,
|
||||||
TalentFailedInMythicPlus = 861,
|
TalentFailedInPvpMatch = 861,
|
||||||
WargameRequestFailure = 862,
|
TalentFailedInMythicPlus = 862,
|
||||||
RankRequiresAuthenticator = 863,
|
WargameRequestFailure = 863,
|
||||||
GuildBankVoucherFailed = 864,
|
RankRequiresAuthenticator = 864,
|
||||||
WargameRequestSent = 865,
|
GuildBankVoucherFailed = 865,
|
||||||
RequiresAchievementI = 866,
|
WargameRequestSent = 866,
|
||||||
RefundResultExceedMaxCurrency = 867,
|
RequiresAchievementI = 867,
|
||||||
CantBuyQuantity = 868,
|
RefundResultExceedMaxCurrency = 868,
|
||||||
ItemIsBattlePayLocked = 869,
|
CantBuyQuantity = 869,
|
||||||
PartyAlreadyInBattlegroundQueue = 870,
|
ItemIsBattlePayLocked = 870,
|
||||||
PartyConfirmingBattlegroundQueue = 871,
|
PartyAlreadyInBattlegroundQueue = 871,
|
||||||
BattlefieldTeamPartySize = 872,
|
PartyConfirmingBattlegroundQueue = 872,
|
||||||
InsuffTrackedCurrencyIs = 873,
|
BattlefieldTeamPartySize = 873,
|
||||||
NotOnTournamentRealm = 874,
|
InsuffTrackedCurrencyIs = 874,
|
||||||
GuildTrialAccountTrial = 875,
|
NotOnTournamentRealm = 875,
|
||||||
GuildTrialAccountVeteran = 876,
|
GuildTrialAccountTrial = 876,
|
||||||
GuildUndeletableDueToLevel = 877,
|
GuildTrialAccountVeteran = 877,
|
||||||
CantDoThatInAGroup = 878,
|
GuildUndeletableDueToLevel = 878,
|
||||||
GuildLeaderReplaced = 879,
|
CantDoThatInAGroup = 879,
|
||||||
TransmogrifyCantEquip = 880,
|
GuildLeaderReplaced = 880,
|
||||||
TransmogrifyInvalidItemType = 881,
|
TransmogrifyCantEquip = 881,
|
||||||
TransmogrifyNotSoulbound = 882,
|
TransmogrifyInvalidItemType = 882,
|
||||||
TransmogrifyInvalidSource = 883,
|
TransmogrifyNotSoulbound = 883,
|
||||||
TransmogrifyInvalidDestination = 884,
|
TransmogrifyInvalidSource = 884,
|
||||||
TransmogrifyMismatch = 885,
|
TransmogrifyInvalidDestination = 885,
|
||||||
TransmogrifyLegendary = 886,
|
TransmogrifyMismatch = 886,
|
||||||
TransmogrifySameItem = 887,
|
TransmogrifyLegendary = 887,
|
||||||
TransmogrifySameAppearance = 888,
|
TransmogrifySameItem = 888,
|
||||||
TransmogrifyNotEquipped = 889,
|
TransmogrifySameAppearance = 889,
|
||||||
VoidDepositFull = 890,
|
TransmogrifyNotEquipped = 890,
|
||||||
VoidWithdrawFull = 891,
|
VoidDepositFull = 891,
|
||||||
VoidStorageWrapped = 892,
|
VoidWithdrawFull = 892,
|
||||||
VoidStorageStackable = 893,
|
VoidStorageWrapped = 893,
|
||||||
VoidStorageUnbound = 894,
|
VoidStorageStackable = 894,
|
||||||
VoidStorageRepair = 895,
|
VoidStorageUnbound = 895,
|
||||||
VoidStorageCharges = 896,
|
VoidStorageRepair = 896,
|
||||||
VoidStorageQuest = 897,
|
VoidStorageCharges = 897,
|
||||||
VoidStorageConjured = 898,
|
VoidStorageQuest = 898,
|
||||||
VoidStorageMail = 899,
|
VoidStorageConjured = 899,
|
||||||
VoidStorageBag = 900,
|
VoidStorageMail = 900,
|
||||||
VoidTransferStorageFull = 901,
|
VoidStorageBag = 901,
|
||||||
VoidTransferInvFull = 902,
|
VoidTransferStorageFull = 902,
|
||||||
VoidTransferInternalError = 903,
|
VoidTransferInvFull = 903,
|
||||||
VoidTransferItemInvalid = 904,
|
VoidTransferInternalError = 904,
|
||||||
DifficultyDisabledInLfg = 905,
|
VoidTransferItemInvalid = 905,
|
||||||
VoidStorageUnique = 906,
|
DifficultyDisabledInLfg = 906,
|
||||||
VoidStorageLoot = 907,
|
VoidStorageUnique = 907,
|
||||||
VoidStorageHoliday = 908,
|
VoidStorageLoot = 908,
|
||||||
VoidStorageDuration = 909,
|
VoidStorageHoliday = 909,
|
||||||
VoidStorageLoadFailed = 910,
|
VoidStorageDuration = 910,
|
||||||
VoidStorageInvalidItem = 911,
|
VoidStorageLoadFailed = 911,
|
||||||
ParentalControlsChatMuted = 912,
|
VoidStorageInvalidItem = 912,
|
||||||
SorStartExperienceIncomplete = 913,
|
ParentalControlsChatMuted = 913,
|
||||||
SorInvalidEmail = 914,
|
SorStartExperienceIncomplete = 914,
|
||||||
SorInvalidComment = 915,
|
SorInvalidEmail = 915,
|
||||||
ChallengeModeResetCooldownS = 916,
|
SorInvalidComment = 916,
|
||||||
ChallengeModeResetKeystone = 917,
|
ChallengeModeResetCooldownS = 917,
|
||||||
PetJournalAlreadyInLoadout = 918,
|
ChallengeModeResetKeystone = 918,
|
||||||
ReportSubmittedSuccessfully = 919,
|
PetJournalAlreadyInLoadout = 919,
|
||||||
ReportSubmissionFailed = 920,
|
ReportSubmittedSuccessfully = 920,
|
||||||
SuggestionSubmittedSuccessfully = 921,
|
ReportSubmissionFailed = 921,
|
||||||
BugSubmittedSuccessfully = 922,
|
SuggestionSubmittedSuccessfully = 922,
|
||||||
ChallengeModeEnabled = 923,
|
BugSubmittedSuccessfully = 923,
|
||||||
ChallengeModeDisabled = 924,
|
ChallengeModeEnabled = 924,
|
||||||
PetbattleCreateFailed = 925,
|
ChallengeModeDisabled = 925,
|
||||||
PetbattleNotHere = 926,
|
PetbattleCreateFailed = 926,
|
||||||
PetbattleNotHereOnTransport = 927,
|
PetbattleNotHere = 927,
|
||||||
PetbattleNotHereUnevenGround = 928,
|
PetbattleNotHereOnTransport = 928,
|
||||||
PetbattleNotHereObstructed = 929,
|
PetbattleNotHereUnevenGround = 929,
|
||||||
PetbattleNotWhileInCombat = 930,
|
PetbattleNotHereObstructed = 930,
|
||||||
PetbattleNotWhileDead = 931,
|
PetbattleNotWhileInCombat = 931,
|
||||||
PetbattleNotWhileFlying = 932,
|
PetbattleNotWhileDead = 932,
|
||||||
PetbattleTargetInvalid = 933,
|
PetbattleNotWhileFlying = 933,
|
||||||
PetbattleTargetOutOfRange = 934,
|
PetbattleTargetInvalid = 934,
|
||||||
PetbattleTargetNotCapturable = 935,
|
PetbattleTargetOutOfRange = 935,
|
||||||
PetbattleNotATrainer = 936,
|
PetbattleTargetNotCapturable = 936,
|
||||||
PetbattleDeclined = 937,
|
PetbattleNotATrainer = 937,
|
||||||
PetbattleInBattle = 938,
|
PetbattleDeclined = 938,
|
||||||
PetbattleInvalidLoadout = 939,
|
PetbattleInBattle = 939,
|
||||||
PetbattleAllPetsDead = 940,
|
PetbattleInvalidLoadout = 940,
|
||||||
PetbattleNoPetsInSlots = 941,
|
PetbattleAllPetsDead = 941,
|
||||||
PetbattleNoAccountLock = 942,
|
PetbattleNoPetsInSlots = 942,
|
||||||
PetbattleWildPetTapped = 943,
|
PetbattleNoAccountLock = 943,
|
||||||
PetbattleRestrictedAccount = 944,
|
PetbattleWildPetTapped = 944,
|
||||||
PetbattleOpponentNotAvailable = 945,
|
PetbattleRestrictedAccount = 945,
|
||||||
PetbattleNotWhileInMatchedBattle = 946,
|
PetbattleOpponentNotAvailable = 946,
|
||||||
CantHaveMorePetsOfThatType = 947,
|
PetbattleNotWhileInMatchedBattle = 947,
|
||||||
CantHaveMorePets = 948,
|
CantHaveMorePetsOfThatType = 948,
|
||||||
PvpMapNotFound = 949,
|
CantHaveMorePets = 949,
|
||||||
PvpMapNotSet = 950,
|
PvpMapNotFound = 950,
|
||||||
PetbattleQueueQueued = 951,
|
PvpMapNotSet = 951,
|
||||||
PetbattleQueueAlreadyQueued = 952,
|
PetbattleQueueQueued = 952,
|
||||||
PetbattleQueueJoinFailed = 953,
|
PetbattleQueueAlreadyQueued = 953,
|
||||||
PetbattleQueueJournalLock = 954,
|
PetbattleQueueJoinFailed = 954,
|
||||||
PetbattleQueueRemoved = 955,
|
PetbattleQueueJournalLock = 955,
|
||||||
PetbattleQueueProposalDeclined = 956,
|
PetbattleQueueRemoved = 956,
|
||||||
PetbattleQueueProposalTimeout = 957,
|
PetbattleQueueProposalDeclined = 957,
|
||||||
PetbattleQueueOpponentDeclined = 958,
|
PetbattleQueueProposalTimeout = 958,
|
||||||
PetbattleQueueRequeuedInternal = 959,
|
PetbattleQueueOpponentDeclined = 959,
|
||||||
PetbattleQueueRequeuedRemoved = 960,
|
PetbattleQueueRequeuedInternal = 960,
|
||||||
PetbattleQueueSlotLocked = 961,
|
PetbattleQueueRequeuedRemoved = 961,
|
||||||
PetbattleQueueSlotEmpty = 962,
|
PetbattleQueueSlotLocked = 962,
|
||||||
PetbattleQueueSlotNoTracker = 963,
|
PetbattleQueueSlotEmpty = 963,
|
||||||
PetbattleQueueSlotNoSpecies = 964,
|
PetbattleQueueSlotNoTracker = 964,
|
||||||
PetbattleQueueSlotCantBattle = 965,
|
PetbattleQueueSlotNoSpecies = 965,
|
||||||
PetbattleQueueSlotRevoked = 966,
|
PetbattleQueueSlotCantBattle = 966,
|
||||||
PetbattleQueueSlotDead = 967,
|
PetbattleQueueSlotRevoked = 967,
|
||||||
PetbattleQueueSlotNoPet = 968,
|
PetbattleQueueSlotDead = 968,
|
||||||
PetbattleQueueNotWhileNeutral = 969,
|
PetbattleQueueSlotNoPet = 969,
|
||||||
PetbattleGameTimeLimitWarning = 970,
|
PetbattleQueueNotWhileNeutral = 970,
|
||||||
PetbattleGameRoundsLimitWarning = 971,
|
PetbattleGameTimeLimitWarning = 971,
|
||||||
HasRestriction = 972,
|
PetbattleGameRoundsLimitWarning = 972,
|
||||||
ItemUpgradeItemTooLowLevel = 973,
|
HasRestriction = 973,
|
||||||
ItemUpgradeNoPath = 974,
|
ItemUpgradeItemTooLowLevel = 974,
|
||||||
ItemUpgradeNoMoreUpgrades = 975,
|
ItemUpgradeNoPath = 975,
|
||||||
BonusRollEmpty = 976,
|
ItemUpgradeNoMoreUpgrades = 976,
|
||||||
ChallengeModeFull = 977,
|
BonusRollEmpty = 977,
|
||||||
ChallengeModeInProgress = 978,
|
ChallengeModeFull = 978,
|
||||||
ChallengeModeIncorrectKeystone = 979,
|
ChallengeModeInProgress = 979,
|
||||||
BattletagFriendNotFound = 980,
|
ChallengeModeIncorrectKeystone = 980,
|
||||||
BattletagFriendNotValid = 981,
|
BattletagFriendNotFound = 981,
|
||||||
BattletagFriendNotAllowed = 982,
|
BattletagFriendNotValid = 982,
|
||||||
BattletagFriendThrottled = 983,
|
BattletagFriendNotAllowed = 983,
|
||||||
BattletagFriendSuccess = 984,
|
BattletagFriendThrottled = 984,
|
||||||
PetTooHighLevelToUncage = 985,
|
BattletagFriendSuccess = 985,
|
||||||
PetbattleInternal = 986,
|
PetTooHighLevelToUncage = 986,
|
||||||
CantCagePetYet = 987,
|
PetbattleInternal = 987,
|
||||||
NoLootInChallengeMode = 988,
|
CantCagePetYet = 988,
|
||||||
QuestPetBattleVictoriesPvpIi = 989,
|
NoLootInChallengeMode = 989,
|
||||||
RoleCheckAlreadyInProgress = 990,
|
QuestPetBattleVictoriesPvpIi = 990,
|
||||||
RecruitAFriendAccountLimit = 991,
|
RoleCheckAlreadyInProgress = 991,
|
||||||
RecruitAFriendFailed = 992,
|
RecruitAFriendAccountLimit = 992,
|
||||||
SetLootPersonal = 993,
|
RecruitAFriendFailed = 993,
|
||||||
SetLootMethodFailedCombat = 994,
|
SetLootPersonal = 994,
|
||||||
ReagentBankFull = 995,
|
SetLootMethodFailedCombat = 995,
|
||||||
ReagentBankLocked = 996,
|
ReagentBankFull = 996,
|
||||||
GarrisonBuildingExists = 997,
|
ReagentBankLocked = 997,
|
||||||
GarrisonInvalidPlot = 998,
|
GarrisonBuildingExists = 998,
|
||||||
GarrisonInvalidBuildingid = 999,
|
GarrisonInvalidPlot = 999,
|
||||||
GarrisonInvalidPlotBuilding = 1000,
|
GarrisonInvalidBuildingid = 1000,
|
||||||
GarrisonRequiresBlueprint = 1001,
|
GarrisonInvalidPlotBuilding = 1001,
|
||||||
GarrisonNotEnoughCurrency = 1002,
|
GarrisonRequiresBlueprint = 1002,
|
||||||
GarrisonNotEnoughGold = 1003,
|
GarrisonNotEnoughCurrency = 1003,
|
||||||
GarrisonCompleteMissionWrongFollowerType = 1004,
|
GarrisonNotEnoughGold = 1004,
|
||||||
AlreadyUsingLfgList = 1005,
|
GarrisonCompleteMissionWrongFollowerType = 1005,
|
||||||
RestrictedAccountLfgListTrial = 1006,
|
AlreadyUsingLfgList = 1006,
|
||||||
ToyUseLimitReached = 1007,
|
RestrictedAccountLfgListTrial = 1007,
|
||||||
ToyAlreadyKnown = 1008,
|
ToyUseLimitReached = 1008,
|
||||||
TransmogSetAlreadyKnown = 1009,
|
ToyAlreadyKnown = 1009,
|
||||||
NotEnoughCurrency = 1010,
|
TransmogSetAlreadyKnown = 1010,
|
||||||
SpecIsDisabled = 1011,
|
NotEnoughCurrency = 1011,
|
||||||
FeatureRestrictedTrial = 1012,
|
SpecIsDisabled = 1012,
|
||||||
CantBeObliterated = 1013,
|
FeatureRestrictedTrial = 1013,
|
||||||
CantBeScrapped = 1014,
|
CantBeObliterated = 1014,
|
||||||
CantBeRecrafted = 1015,
|
CantBeScrapped = 1015,
|
||||||
ArtifactRelicDoesNotMatchArtifact = 1016,
|
CantBeRecrafted = 1016,
|
||||||
MustEquipArtifact = 1017,
|
ArtifactRelicDoesNotMatchArtifact = 1017,
|
||||||
CantDoThatRightNow = 1018,
|
MustEquipArtifact = 1018,
|
||||||
AffectingCombat = 1019,
|
CantDoThatRightNow = 1019,
|
||||||
EquipmentManagerCombatSwapS = 1020,
|
AffectingCombat = 1020,
|
||||||
EquipmentManagerBagsFull = 1021,
|
EquipmentManagerCombatSwapS = 1021,
|
||||||
EquipmentManagerMissingItemS = 1022,
|
EquipmentManagerBagsFull = 1022,
|
||||||
MovieRecordingWarningPerf = 1023,
|
EquipmentManagerMissingItemS = 1023,
|
||||||
MovieRecordingWarningDiskFull = 1024,
|
MovieRecordingWarningPerf = 1024,
|
||||||
MovieRecordingWarningNoMovie = 1025,
|
MovieRecordingWarningDiskFull = 1025,
|
||||||
MovieRecordingWarningRequirements = 1026,
|
MovieRecordingWarningNoMovie = 1026,
|
||||||
MovieRecordingWarningCompressing = 1027,
|
MovieRecordingWarningRequirements = 1027,
|
||||||
NoChallengeModeReward = 1028,
|
MovieRecordingWarningCompressing = 1028,
|
||||||
ClaimedChallengeModeReward = 1029,
|
NoChallengeModeReward = 1029,
|
||||||
ChallengeModePeriodResetSs = 1030,
|
ClaimedChallengeModeReward = 1030,
|
||||||
CantDoThatChallengeModeActive = 1031,
|
ChallengeModePeriodResetSs = 1031,
|
||||||
TalentFailedRestArea = 1032,
|
CantDoThatChallengeModeActive = 1032,
|
||||||
CannotAbandonLastPet = 1033,
|
TalentFailedRestArea = 1033,
|
||||||
TestCvarSetSss = 1034,
|
CannotAbandonLastPet = 1034,
|
||||||
QuestTurnInFailReason = 1035,
|
TestCvarSetSss = 1035,
|
||||||
ClaimedChallengeModeRewardOld = 1036,
|
QuestTurnInFailReason = 1036,
|
||||||
TalentGrantedByAura = 1037,
|
ClaimedChallengeModeRewardOld = 1037,
|
||||||
ChallengeModeAlreadyComplete = 1038,
|
TalentGrantedByAura = 1038,
|
||||||
GlyphTargetNotAvailable = 1039,
|
ChallengeModeAlreadyComplete = 1039,
|
||||||
PvpWarmodeToggleOn = 1040,
|
GlyphTargetNotAvailable = 1040,
|
||||||
PvpWarmodeToggleOff = 1041,
|
PvpWarmodeToggleOn = 1041,
|
||||||
SpellFailedLevelRequirement = 1042,
|
PvpWarmodeToggleOff = 1042,
|
||||||
SpellFailedCantFlyHere = 1043,
|
SpellFailedLevelRequirement = 1043,
|
||||||
BattlegroundJoinRequiresLevel = 1044,
|
SpellFailedCantFlyHere = 1044,
|
||||||
BattlegroundJoinDisqualified = 1045,
|
BattlegroundJoinRequiresLevel = 1045,
|
||||||
BattlegroundJoinDisqualifiedNoName = 1046,
|
BattlegroundJoinDisqualified = 1046,
|
||||||
VoiceChatGenericUnableToConnect = 1047,
|
BattlegroundJoinDisqualifiedNoName = 1047,
|
||||||
VoiceChatServiceLost = 1048,
|
VoiceChatGenericUnableToConnect = 1048,
|
||||||
VoiceChatChannelNameTooShort = 1049,
|
VoiceChatServiceLost = 1049,
|
||||||
VoiceChatChannelNameTooLong = 1050,
|
VoiceChatChannelNameTooShort = 1050,
|
||||||
VoiceChatChannelAlreadyExists = 1051,
|
VoiceChatChannelNameTooLong = 1051,
|
||||||
VoiceChatTargetNotFound = 1052,
|
VoiceChatChannelAlreadyExists = 1052,
|
||||||
VoiceChatTooManyRequests = 1053,
|
VoiceChatTargetNotFound = 1053,
|
||||||
VoiceChatPlayerSilenced = 1054,
|
VoiceChatTooManyRequests = 1054,
|
||||||
VoiceChatParentalDisableAll = 1055,
|
VoiceChatPlayerSilenced = 1055,
|
||||||
VoiceChatDisabled = 1056,
|
VoiceChatParentalDisableAll = 1056,
|
||||||
NoPvpReward = 1057,
|
VoiceChatDisabled = 1057,
|
||||||
ClaimedPvpReward = 1058,
|
NoPvpReward = 1058,
|
||||||
AzeriteEssenceSelectionFailedEssenceNotUnlocked = 1059,
|
ClaimedPvpReward = 1059,
|
||||||
AzeriteEssenceSelectionFailedCantRemoveEssence = 1060,
|
AzeriteEssenceSelectionFailedEssenceNotUnlocked = 1060,
|
||||||
AzeriteEssenceSelectionFailedConditionFailed = 1061,
|
AzeriteEssenceSelectionFailedCantRemoveEssence = 1061,
|
||||||
AzeriteEssenceSelectionFailedRestArea = 1062,
|
AzeriteEssenceSelectionFailedConditionFailed = 1062,
|
||||||
AzeriteEssenceSelectionFailedSlotLocked = 1063,
|
AzeriteEssenceSelectionFailedRestArea = 1063,
|
||||||
AzeriteEssenceSelectionFailedNotAtForge = 1064,
|
AzeriteEssenceSelectionFailedSlotLocked = 1064,
|
||||||
AzeriteEssenceSelectionFailedHeartLevelTooLow = 1065,
|
AzeriteEssenceSelectionFailedNotAtForge = 1065,
|
||||||
AzeriteEssenceSelectionFailedNotEquipped = 1066,
|
AzeriteEssenceSelectionFailedHeartLevelTooLow = 1066,
|
||||||
SocketingRequiresPunchcardredGem = 1067,
|
AzeriteEssenceSelectionFailedNotEquipped = 1067,
|
||||||
SocketingPunchcardredGemOnlyInPunchcardredslot = 1068,
|
SocketingRequiresPunchcardredGem = 1068,
|
||||||
SocketingRequiresPunchcardyellowGem = 1069,
|
SocketingPunchcardredGemOnlyInPunchcardredslot = 1069,
|
||||||
SocketingPunchcardyellowGemOnlyInPunchcardyellowslot = 1070,
|
SocketingRequiresPunchcardyellowGem = 1070,
|
||||||
SocketingRequiresPunchcardblueGem = 1071,
|
SocketingPunchcardyellowGemOnlyInPunchcardyellowslot = 1071,
|
||||||
SocketingPunchcardblueGemOnlyInPunchcardblueslot = 1072,
|
SocketingRequiresPunchcardblueGem = 1072,
|
||||||
SocketingRequiresDominationShard = 1073,
|
SocketingPunchcardblueGemOnlyInPunchcardblueslot = 1073,
|
||||||
SocketingDominationShardOnlyInDominationslot = 1074,
|
SocketingRequiresDominationShard = 1074,
|
||||||
SocketingRequiresCypherGem = 1075,
|
SocketingDominationShardOnlyInDominationslot = 1075,
|
||||||
SocketingCypherGemOnlyInCypherslot = 1076,
|
SocketingRequiresCypherGem = 1076,
|
||||||
SocketingRequiresTinkerGem = 1077,
|
SocketingCypherGemOnlyInCypherslot = 1077,
|
||||||
SocketingTinkerGemOnlyInTinkerslot = 1078,
|
SocketingRequiresTinkerGem = 1078,
|
||||||
LevelLinkingResultLinked = 1079,
|
SocketingTinkerGemOnlyInTinkerslot = 1079,
|
||||||
LevelLinkingResultUnlinked = 1080,
|
LevelLinkingResultLinked = 1080,
|
||||||
ClubFinderErrorPostClub = 1081,
|
LevelLinkingResultUnlinked = 1081,
|
||||||
ClubFinderErrorApplyClub = 1082,
|
ClubFinderErrorPostClub = 1082,
|
||||||
ClubFinderErrorRespondApplicant = 1083,
|
ClubFinderErrorApplyClub = 1083,
|
||||||
ClubFinderErrorCancelApplication = 1084,
|
ClubFinderErrorRespondApplicant = 1084,
|
||||||
ClubFinderErrorTypeAcceptApplication = 1085,
|
ClubFinderErrorCancelApplication = 1085,
|
||||||
ClubFinderErrorTypeNoInvitePermissions = 1086,
|
ClubFinderErrorTypeAcceptApplication = 1086,
|
||||||
ClubFinderErrorTypeNoPostingPermissions = 1087,
|
ClubFinderErrorTypeNoInvitePermissions = 1087,
|
||||||
ClubFinderErrorTypeApplicantList = 1088,
|
ClubFinderErrorTypeNoPostingPermissions = 1088,
|
||||||
ClubFinderErrorTypeApplicantListNoPerm = 1089,
|
ClubFinderErrorTypeApplicantList = 1089,
|
||||||
ClubFinderErrorTypeFinderNotAvailable = 1090,
|
ClubFinderErrorTypeApplicantListNoPerm = 1090,
|
||||||
ClubFinderErrorTypeGetPostingIds = 1091,
|
ClubFinderErrorTypeFinderNotAvailable = 1091,
|
||||||
ClubFinderErrorTypeJoinApplication = 1092,
|
ClubFinderErrorTypeGetPostingIds = 1092,
|
||||||
ClubFinderErrorTypeRealmNotEligible = 1093,
|
ClubFinderErrorTypeJoinApplication = 1093,
|
||||||
ClubFinderErrorTypeFlaggedRename = 1094,
|
ClubFinderErrorTypeRealmNotEligible = 1094,
|
||||||
ClubFinderErrorTypeFlaggedDescriptionChange = 1095,
|
ClubFinderErrorTypeFlaggedRename = 1095,
|
||||||
ItemInteractionNotEnoughGold = 1096,
|
ClubFinderErrorTypeFlaggedDescriptionChange = 1096,
|
||||||
ItemInteractionNotEnoughCurrency = 1097,
|
ItemInteractionNotEnoughGold = 1097,
|
||||||
PlayerChoiceErrorPendingChoice = 1098,
|
ItemInteractionNotEnoughCurrency = 1098,
|
||||||
SoulbindInvalidConduit = 1099,
|
PlayerChoiceErrorPendingChoice = 1099,
|
||||||
SoulbindInvalidConduitItem = 1100,
|
SoulbindInvalidConduit = 1100,
|
||||||
SoulbindInvalidTalent = 1101,
|
SoulbindInvalidConduitItem = 1101,
|
||||||
SoulbindDuplicateConduit = 1102,
|
SoulbindInvalidTalent = 1102,
|
||||||
ActivateSoulbindS = 1103,
|
SoulbindDuplicateConduit = 1103,
|
||||||
ActivateSoulbindFailedRestArea = 1104,
|
ActivateSoulbindS = 1104,
|
||||||
CantUseProfanity = 1105,
|
ActivateSoulbindFailedRestArea = 1105,
|
||||||
NotInPetBattle = 1106,
|
CantUseProfanity = 1106,
|
||||||
NotInNpe = 1107,
|
NotInPetBattle = 1107,
|
||||||
NoSpec = 1108,
|
NotInNpe = 1108,
|
||||||
NoDominationshardOverwrite = 1109,
|
NoSpec = 1109,
|
||||||
UseWeeklyRewardsDisabled = 1110,
|
NoDominationshardOverwrite = 1110,
|
||||||
CrossFactionGroupJoined = 1111,
|
UseWeeklyRewardsDisabled = 1111,
|
||||||
CantTargetUnfriendlyInOverworld = 1112,
|
CrossFactionGroupJoined = 1112,
|
||||||
EquipablespellsSlotsFull = 1113
|
CantTargetUnfriendlyInOverworld = 1113,
|
||||||
|
EquipablespellsSlotsFull = 1114
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum SceneFlags
|
public enum SceneFlags
|
||||||
|
|||||||
@@ -3600,6 +3600,10 @@ namespace Game.Achievements
|
|||||||
if (GameTime.GetGameTime() - referencePlayer.m_playerData.LogoutTime < reqValue * Time.Day)
|
if (GameTime.GetGameTime() - referencePlayer.m_playerData.LogoutTime < reqValue * Time.Day)
|
||||||
return false;
|
return false;
|
||||||
break;
|
break;
|
||||||
|
case ModifierTreeType.PlayerHasPerksProgramPendingReward: // 350
|
||||||
|
if (!referencePlayer.m_activePlayerData.HasPerksProgramPendingReward)
|
||||||
|
return false;
|
||||||
|
break;
|
||||||
case ModifierTreeType.PlayerCanUseItem: // 351
|
case ModifierTreeType.PlayerCanUseItem: // 351
|
||||||
{
|
{
|
||||||
ItemTemplate itemTemplate = Global.ObjectMgr.GetItemTemplate(reqValue);
|
ItemTemplate itemTemplate = Global.ObjectMgr.GetItemTemplate(reqValue);
|
||||||
@@ -3607,6 +3611,26 @@ namespace Game.Achievements
|
|||||||
return false;
|
return false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case ModifierTreeType.PlayerHasAtLeastProfPathRanks: // 355
|
||||||
|
{
|
||||||
|
uint ranks = 0;
|
||||||
|
foreach (TraitConfig traitConfig in referencePlayer.m_activePlayerData.TraitConfigs)
|
||||||
|
{
|
||||||
|
if ((TraitConfigType)(int)traitConfig.Type != TraitConfigType.Profession)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (traitConfig.SkillLineID != secondaryAsset)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
foreach (TraitEntry traitEntry in traitConfig.Entries)
|
||||||
|
if (CliDB.TraitNodeEntryStorage.LookupByKey(traitEntry.TraitNodeEntryID)?.GetNodeEntryType() == TraitNodeEntryType.ProfPath)
|
||||||
|
ranks += (uint)(traitEntry.Rank + traitEntry.GrantedRanks);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ranks < reqValue)
|
||||||
|
return false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -191,7 +191,9 @@ namespace Game.DataStorage
|
|||||||
public uint Id;
|
public uint Id;
|
||||||
public int TraitDefinitionID;
|
public int TraitDefinitionID;
|
||||||
public int MaxRanks;
|
public int MaxRanks;
|
||||||
public byte NodeRecordType;
|
public byte NodeEntryType;
|
||||||
|
|
||||||
|
public TraitNodeEntryType GetNodeEntryType() { return (TraitNodeEntryType)NodeEntryType; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public sealed class TraitNodeEntryXTraitCondRecord
|
public sealed class TraitNodeEntryXTraitCondRecord
|
||||||
|
|||||||
@@ -1206,6 +1206,7 @@ namespace Game.Entities
|
|||||||
public uint SitAnimKit; // 2 Sit Anim Kit, References: AnimKit, NoValue = 0
|
public uint SitAnimKit; // 2 Sit Anim Kit, References: AnimKit, NoValue = 0
|
||||||
public uint InteractRadiusOverride; // 3 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
public uint InteractRadiusOverride; // 3 Interact Radius Override (in hundredths), int, Min value: 0, Max value: 2147483647, Default value: 0
|
||||||
public uint CustomizationScope; // 4 Customization Scope, int, Min value: 0, Max value: 2147483647, Default value: 0
|
public uint CustomizationScope; // 4 Customization Scope, int, Min value: 0, Max value: 2147483647, Default value: 0
|
||||||
|
public uint Preventteleportingtheplayeroutofthebarbershopchair;// 5 Prevent teleporting the player out of the barbershop chair, enum { false, true, }; Default: false
|
||||||
}
|
}
|
||||||
|
|
||||||
public struct destructiblebuilding
|
public struct destructiblebuilding
|
||||||
@@ -1512,6 +1513,12 @@ namespace Game.Entities
|
|||||||
{
|
{
|
||||||
public uint Profession; // 0 Profession, enum { First Aid, Blacksmithing, Leatherworking, Alchemy, Herbalism, Cooking, Mining, Tailoring, Engineering, Enchanting, Fishing, Skinning, Jewelcrafting, Inscription, Archaeology, }; Default: Blacksmithing
|
public uint Profession; // 0 Profession, enum { First Aid, Blacksmithing, Leatherworking, Alchemy, Herbalism, Cooking, Mining, Tailoring, Engineering, Enchanting, Fishing, Skinning, Jewelcrafting, Inscription, Archaeology, }; Default: Blacksmithing
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public struct perksProgramChest
|
||||||
|
{
|
||||||
|
public uint Script; // 0 Script, References: SpellScript, NoValue = 0
|
||||||
|
public uint autoClose; // 1 autoClose (ms), int, Min value: 0, Max value: 2147483647, Default value: 3000
|
||||||
|
}
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1246,7 +1246,7 @@ namespace Game.Entities
|
|||||||
{
|
{
|
||||||
m_mail.Clear();
|
m_mail.Clear();
|
||||||
|
|
||||||
Dictionary<uint, Mail> mailById = new();
|
Dictionary<ulong, Mail> mailById = new();
|
||||||
|
|
||||||
if (!mailsResult.IsEmpty())
|
if (!mailsResult.IsEmpty())
|
||||||
{
|
{
|
||||||
@@ -1254,7 +1254,7 @@ namespace Game.Entities
|
|||||||
{
|
{
|
||||||
Mail m = new();
|
Mail m = new();
|
||||||
|
|
||||||
m.messageID = mailsResult.Read<uint>(0);
|
m.messageID = mailsResult.Read<ulong>(0);
|
||||||
m.messageType = (MailMessageType)mailsResult.Read<byte>(1);
|
m.messageType = (MailMessageType)mailsResult.Read<byte>(1);
|
||||||
m.sender = mailsResult.Read<uint>(2);
|
m.sender = mailsResult.Read<uint>(2);
|
||||||
m.receiver = mailsResult.Read<uint>(3);
|
m.receiver = mailsResult.Read<uint>(3);
|
||||||
@@ -1289,7 +1289,7 @@ namespace Game.Entities
|
|||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
uint mailId = mailItemsResult.Read<uint>(52);
|
ulong mailId = mailItemsResult.Read<ulong>(52);
|
||||||
_LoadMailedItem(GetGUID(), this, mailId, mailById[mailId], mailItemsResult.GetFields(), additionalData.LookupByKey(mailItemsResult.Read<ulong>(0)));
|
_LoadMailedItem(GetGUID(), this, mailId, mailById[mailId], mailItemsResult.GetFields(), additionalData.LookupByKey(mailItemsResult.Read<ulong>(0)));
|
||||||
}
|
}
|
||||||
while (mailItemsResult.NextRow());
|
while (mailItemsResult.NextRow());
|
||||||
@@ -1298,7 +1298,7 @@ namespace Game.Entities
|
|||||||
UpdateNextMailTimeAndUnreads();
|
UpdateNextMailTimeAndUnreads();
|
||||||
}
|
}
|
||||||
|
|
||||||
static Item _LoadMailedItem(ObjectGuid playerGuid, Player player, uint mailId, Mail mail, SQLFields fields, ItemAdditionalLoadInfo addionalData)
|
static Item _LoadMailedItem(ObjectGuid playerGuid, Player player, ulong mailId, Mail mail, SQLFields fields, ItemAdditionalLoadInfo addionalData)
|
||||||
{
|
{
|
||||||
ulong itemGuid = fields.Read<ulong>(0);
|
ulong itemGuid = fields.Read<ulong>(0);
|
||||||
uint itemEntry = fields.Read<uint>(1);
|
uint itemEntry = fields.Read<uint>(1);
|
||||||
@@ -4081,7 +4081,7 @@ namespace Game.Entities
|
|||||||
SQLResult resultMail = DB.Characters.Query(stmt);
|
SQLResult resultMail = DB.Characters.Query(stmt);
|
||||||
if (!resultMail.IsEmpty())
|
if (!resultMail.IsEmpty())
|
||||||
{
|
{
|
||||||
MultiMap<uint, Item> itemsByMail = new();
|
MultiMap<ulong, Item> itemsByMail = new();
|
||||||
|
|
||||||
stmt = DB.Characters.GetPreparedStatement(CharStatements.SEL_MAILITEMS);
|
stmt = DB.Characters.GetPreparedStatement(CharStatements.SEL_MAILITEMS);
|
||||||
stmt.AddValue(0, guid);
|
stmt.AddValue(0, guid);
|
||||||
@@ -4114,7 +4114,7 @@ namespace Game.Entities
|
|||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
uint mailId = resultItems.Read<uint>(44);
|
ulong mailId = resultItems.Read<ulong>(44);
|
||||||
Item mailItem = _LoadMailedItem(playerGuid, null, mailId, null, resultItems.GetFields(), additionalData.LookupByKey(resultItems.Read<ulong>(0)));
|
Item mailItem = _LoadMailedItem(playerGuid, null, mailId, null, resultItems.GetFields(), additionalData.LookupByKey(resultItems.Read<ulong>(0)));
|
||||||
if (mailItem != null)
|
if (mailItem != null)
|
||||||
itemsByMail.Add(mailId, mailItem);
|
itemsByMail.Add(mailId, mailItem);
|
||||||
@@ -4124,7 +4124,7 @@ namespace Game.Entities
|
|||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
uint mail_id = resultMail.Read<uint>(0);
|
ulong mail_id = resultMail.Read<ulong>(0);
|
||||||
MailMessageType mailType = (MailMessageType)resultMail.Read<byte>(1);
|
MailMessageType mailType = (MailMessageType)resultMail.Read<byte>(1);
|
||||||
ushort mailTemplateId = resultMail.Read<ushort>(2);
|
ushort mailTemplateId = resultMail.Read<ushort>(2);
|
||||||
uint sender = resultMail.Read<uint>(3);
|
uint sender = resultMail.Read<uint>(3);
|
||||||
|
|||||||
@@ -2879,10 +2879,15 @@ namespace Game.Entities
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void SendQuestGiverStatusMultiple()
|
public void SendQuestGiverStatusMultiple()
|
||||||
|
{
|
||||||
|
SendQuestGiverStatusMultiple(m_clientGUIDs);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void SendQuestGiverStatusMultiple(List<ObjectGuid> guids)
|
||||||
{
|
{
|
||||||
QuestGiverStatusMultiple response = new();
|
QuestGiverStatusMultiple response = new();
|
||||||
|
|
||||||
foreach (var itr in m_clientGUIDs)
|
foreach (var itr in guids)
|
||||||
{
|
{
|
||||||
if (itr.IsAnyTypeCreature())
|
if (itr.IsAnyTypeCreature())
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -2763,7 +2763,8 @@ namespace Game.Entities
|
|||||||
|
|
||||||
//Mail
|
//Mail
|
||||||
public void AddMail(Mail mail) { m_mail.Insert(0, mail); }
|
public void AddMail(Mail mail) { m_mail.Insert(0, mail); }
|
||||||
public void RemoveMail(uint id)
|
|
||||||
|
public void RemoveMail(ulong id)
|
||||||
{
|
{
|
||||||
foreach (var mail in m_mail)
|
foreach (var mail in m_mail)
|
||||||
{
|
{
|
||||||
@@ -2775,27 +2776,30 @@ namespace Game.Entities
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public void SendMailResult(uint mailId, MailResponseType mailAction, MailResponseResult mailError, InventoryResult equipError = 0, uint item_guid = 0, uint item_count = 0)
|
|
||||||
|
public void SendMailResult(ulong mailId, MailResponseType mailAction, MailResponseResult mailError, InventoryResult equipError = 0, ulong itemGuid = 0, uint itemCount = 0)
|
||||||
{
|
{
|
||||||
MailCommandResult result = new();
|
MailCommandResult result = new();
|
||||||
result.MailID = mailId;
|
result.MailID = mailId;
|
||||||
result.Command = (uint)mailAction;
|
result.Command = (int)mailAction;
|
||||||
result.ErrorCode = (uint)mailError;
|
result.ErrorCode = (int)mailError;
|
||||||
|
|
||||||
if (mailError == MailResponseResult.EquipError)
|
if (mailError == MailResponseResult.EquipError)
|
||||||
result.BagResult = (uint)equipError;
|
result.BagResult = (int)equipError;
|
||||||
else if (mailAction == MailResponseType.ItemTaken)
|
else if (mailAction == MailResponseType.ItemTaken)
|
||||||
{
|
{
|
||||||
result.AttachID = item_guid;
|
result.AttachID = itemGuid;
|
||||||
result.QtyInInventory = item_count;
|
result.QtyInInventory = (int)itemCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
SendPacket(result);
|
SendPacket(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SendNewMail()
|
void SendNewMail()
|
||||||
{
|
{
|
||||||
SendPacket(new NotifyReceivedMail());
|
SendPacket(new NotifyReceivedMail());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void UpdateNextMailTimeAndUnreads()
|
public void UpdateNextMailTimeAndUnreads()
|
||||||
{
|
{
|
||||||
// calculate next delivery time (min. from non-delivered mails
|
// calculate next delivery time (min. from non-delivered mails
|
||||||
@@ -2814,6 +2818,7 @@ namespace Game.Entities
|
|||||||
++unReadMails;
|
++unReadMails;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void AddNewMailDeliverTime(long deliver_time)
|
public void AddNewMailDeliverTime(long deliver_time)
|
||||||
{
|
{
|
||||||
if (deliver_time <= GameTime.GetGameTime()) // ready now
|
if (deliver_time <= GameTime.GetGameTime()) // ready now
|
||||||
@@ -2827,16 +2832,19 @@ namespace Game.Entities
|
|||||||
m_nextMailDelivereTime = deliver_time;
|
m_nextMailDelivereTime = deliver_time;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void AddMItem(Item it)
|
public void AddMItem(Item it)
|
||||||
{
|
{
|
||||||
mMitems[it.GetGUID().GetCounter()] = it;
|
mMitems[it.GetGUID().GetCounter()] = it;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool RemoveMItem(ulong id)
|
public bool RemoveMItem(ulong id)
|
||||||
{
|
{
|
||||||
return mMitems.Remove(id);
|
return mMitems.Remove(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Item GetMItem(ulong id) { return mMitems.LookupByKey(id); }
|
public Item GetMItem(ulong id) { return mMitems.LookupByKey(id); }
|
||||||
public Mail GetMail(uint id) { return m_mail.Find(p => p.messageID == id); }
|
public Mail GetMail(ulong id) { return m_mail.Find(p => p.messageID == id); }
|
||||||
public List<Mail> GetMails() { return m_mail; }
|
public List<Mail> GetMails() { return m_mail; }
|
||||||
public uint GetMailSize() { return (uint)m_mail.Count; }
|
public uint GetMailSize() { return (uint)m_mail.Count; }
|
||||||
|
|
||||||
|
|||||||
@@ -9614,7 +9614,7 @@ namespace Game
|
|||||||
return; // any mails need to be returned or deleted
|
return; // any mails need to be returned or deleted
|
||||||
}
|
}
|
||||||
|
|
||||||
MultiMap<uint, MailItemInfo> itemsCache = new();
|
MultiMap<ulong, MailItemInfo> itemsCache = new();
|
||||||
stmt = DB.Characters.GetPreparedStatement(CharStatements.SEL_EXPIRED_MAIL_ITEMS);
|
stmt = DB.Characters.GetPreparedStatement(CharStatements.SEL_EXPIRED_MAIL_ITEMS);
|
||||||
stmt.AddValue(0, curTime);
|
stmt.AddValue(0, curTime);
|
||||||
SQLResult items = DB.Characters.Query(stmt);
|
SQLResult items = DB.Characters.Query(stmt);
|
||||||
@@ -9625,7 +9625,7 @@ namespace Game
|
|||||||
{
|
{
|
||||||
item.item_guid = result.Read<uint>(0);
|
item.item_guid = result.Read<uint>(0);
|
||||||
item.item_template = result.Read<uint>(1);
|
item.item_template = result.Read<uint>(1);
|
||||||
uint mailId = result.Read<uint>(2);
|
ulong mailId = result.Read<ulong>(2);
|
||||||
itemsCache.Add(mailId, item);
|
itemsCache.Add(mailId, item);
|
||||||
} while (items.NextRow());
|
} while (items.NextRow());
|
||||||
}
|
}
|
||||||
@@ -9639,7 +9639,7 @@ namespace Game
|
|||||||
continue;
|
continue;
|
||||||
|
|
||||||
Mail m = new();
|
Mail m = new();
|
||||||
m.messageID = result.Read<uint>(0);
|
m.messageID = result.Read<ulong>(0);
|
||||||
m.messageType = (MailMessageType)result.Read<byte>(1);
|
m.messageType = (MailMessageType)result.Read<byte>(1);
|
||||||
m.sender = result.Read<uint>(2);
|
m.sender = result.Read<uint>(2);
|
||||||
m.receiver = receiver;
|
m.receiver = receiver;
|
||||||
@@ -10360,7 +10360,7 @@ namespace Game
|
|||||||
|
|
||||||
result = DB.Characters.Query("SELECT MAX(id) FROM mail");
|
result = DB.Characters.Query("SELECT MAX(id) FROM mail");
|
||||||
if (!result.IsEmpty())
|
if (!result.IsEmpty())
|
||||||
_mailId = result.Read<uint>(0) + 1;
|
_mailId = result.Read<ulong>(0) + 1;
|
||||||
|
|
||||||
result = DB.Characters.Query("SELECT MAX(arenateamid) FROM arena_team");
|
result = DB.Characters.Query("SELECT MAX(arenateamid) FROM arena_team");
|
||||||
if (!result.IsEmpty())
|
if (!result.IsEmpty())
|
||||||
@@ -10404,7 +10404,7 @@ namespace Game
|
|||||||
}
|
}
|
||||||
return _equipmentSetGuid++;
|
return _equipmentSetGuid++;
|
||||||
}
|
}
|
||||||
public uint GenerateMailID()
|
public ulong GenerateMailID()
|
||||||
{
|
{
|
||||||
if (_mailId >= 0xFFFFFFFE)
|
if (_mailId >= 0xFFFFFFFE)
|
||||||
{
|
{
|
||||||
@@ -11042,7 +11042,7 @@ namespace Game
|
|||||||
// first free id for selected id type
|
// first free id for selected id type
|
||||||
uint _auctionId;
|
uint _auctionId;
|
||||||
ulong _equipmentSetGuid;
|
ulong _equipmentSetGuid;
|
||||||
uint _mailId;
|
ulong _mailId;
|
||||||
uint _hiPetNumber;
|
uint _hiPetNumber;
|
||||||
ulong _creatureSpawnId;
|
ulong _creatureSpawnId;
|
||||||
ulong _gameObjectSpawnId;
|
ulong _gameObjectSpawnId;
|
||||||
|
|||||||
@@ -1112,8 +1112,6 @@ namespace Game
|
|||||||
|
|
||||||
// START OF DUMMY VALUES
|
// START OF DUMMY VALUES
|
||||||
features.ComplaintStatus = (byte)ComplaintStatus.EnabledWithAutoIgnore;
|
features.ComplaintStatus = (byte)ComplaintStatus.EnabledWithAutoIgnore;
|
||||||
features.ScrollOfResurrectionRequestsRemaining = 1;
|
|
||||||
features.ScrollOfResurrectionMaxRequestsPerDay = 1;
|
|
||||||
features.TwitterPostThrottleLimit = 60;
|
features.TwitterPostThrottleLimit = 60;
|
||||||
features.TwitterPostThrottleCooldown = 20;
|
features.TwitterPostThrottleCooldown = 20;
|
||||||
features.CfgRealmID = 2;
|
features.CfgRealmID = 2;
|
||||||
|
|||||||
@@ -405,7 +405,7 @@ namespace Game
|
|||||||
[WorldPacketHandler(ClientOpcodes.MailTakeItem)]
|
[WorldPacketHandler(ClientOpcodes.MailTakeItem)]
|
||||||
void HandleMailTakeItem(MailTakeItem takeItem)
|
void HandleMailTakeItem(MailTakeItem takeItem)
|
||||||
{
|
{
|
||||||
uint AttachID = takeItem.AttachID;
|
ulong AttachID = takeItem.AttachID;
|
||||||
|
|
||||||
if (!CanOpenMailBox(takeItem.Mailbox))
|
if (!CanOpenMailBox(takeItem.Mailbox))
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -755,6 +755,12 @@ namespace Game
|
|||||||
_player.SendQuestGiverStatusMultiple();
|
_player.SendQuestGiverStatusMultiple();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[WorldPacketHandler(ClientOpcodes.QuestGiverStatusTrackedQuery)]
|
||||||
|
void HandleQuestgiverStatusTrackedQueryOpcode(QuestGiverStatusTrackedQuery questGiverStatusTrackedQuery)
|
||||||
|
{
|
||||||
|
_player.SendQuestGiverStatusMultiple(questGiverStatusTrackedQuery.QuestGiverGUIDs);
|
||||||
|
}
|
||||||
|
|
||||||
[WorldPacketHandler(ClientOpcodes.RequestWorldQuestUpdate)]
|
[WorldPacketHandler(ClientOpcodes.RequestWorldQuestUpdate)]
|
||||||
void HandleRequestWorldQuestUpdate(RequestWorldQuestUpdate packet)
|
void HandleRequestWorldQuestUpdate(RequestWorldQuestUpdate packet)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -18,11 +18,11 @@ namespace Game.Mails
|
|||||||
items.Add(mii);
|
items.Add(mii);
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool RemoveItem(uint item_guid)
|
public bool RemoveItem(ulong itemGuid)
|
||||||
{
|
{
|
||||||
foreach (var item in items)
|
foreach (var item in items)
|
||||||
{
|
{
|
||||||
if (item.item_guid == item_guid)
|
if (item.item_guid == itemGuid)
|
||||||
{
|
{
|
||||||
items.Remove(item);
|
items.Remove(item);
|
||||||
return true;
|
return true;
|
||||||
@@ -33,7 +33,7 @@ namespace Game.Mails
|
|||||||
|
|
||||||
public bool HasItems() { return !items.Empty(); }
|
public bool HasItems() { return !items.Empty(); }
|
||||||
|
|
||||||
public uint messageID;
|
public ulong messageID;
|
||||||
public MailMessageType messageType;
|
public MailMessageType messageType;
|
||||||
public MailStationery stationery;
|
public MailStationery stationery;
|
||||||
public uint mailTemplateId;
|
public uint mailTemplateId;
|
||||||
@@ -42,7 +42,7 @@ namespace Game.Mails
|
|||||||
public string subject;
|
public string subject;
|
||||||
public string body;
|
public string body;
|
||||||
public List<MailItemInfo> items = new();
|
public List<MailItemInfo> items = new();
|
||||||
public List<uint> removedItems = new();
|
public List<ulong> removedItems = new();
|
||||||
public long expire_time;
|
public long expire_time;
|
||||||
public long deliver_time;
|
public long deliver_time;
|
||||||
public ulong money;
|
public ulong money;
|
||||||
|
|||||||
@@ -131,7 +131,7 @@ namespace Game.Mails
|
|||||||
if (pReceiver != null)
|
if (pReceiver != null)
|
||||||
PrepareItems(pReceiver, trans); // generate mail template items
|
PrepareItems(pReceiver, trans); // generate mail template items
|
||||||
|
|
||||||
uint mailId = Global.ObjectMgr.GenerateMailID();
|
ulong mailId = Global.ObjectMgr.GenerateMailID();
|
||||||
|
|
||||||
long deliver_time = GameTime.GetGameTime() + deliver_delay;
|
long deliver_time = GameTime.GetGameTime() + deliver_delay;
|
||||||
|
|
||||||
|
|||||||
@@ -478,7 +478,11 @@ namespace Game.Networking.Packets
|
|||||||
_worldPacket.WriteUInt32(BattlemasterListID);
|
_worldPacket.WriteUInt32(BattlemasterListID);
|
||||||
_worldPacket.WriteBit(Registered);
|
_worldPacket.WriteBit(Registered);
|
||||||
_worldPacket.WriteBit(AffectsRating);
|
_worldPacket.WriteBit(AffectsRating);
|
||||||
|
_worldPacket.WriteBit(DeserterPenalty != null);
|
||||||
_worldPacket.FlushBits();
|
_worldPacket.FlushBits();
|
||||||
|
|
||||||
|
if (DeserterPenalty != null)
|
||||||
|
DeserterPenalty.Write(_worldPacket);
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum MatchState
|
public enum MatchState
|
||||||
@@ -492,6 +496,7 @@ namespace Game.Networking.Packets
|
|||||||
public MatchState State = MatchState.Inactive;
|
public MatchState State = MatchState.Inactive;
|
||||||
public long StartTime;
|
public long StartTime;
|
||||||
public int Duration;
|
public int Duration;
|
||||||
|
public RatedMatchDeserterPenalty DeserterPenalty;
|
||||||
public byte ArenaFaction;
|
public byte ArenaFaction;
|
||||||
public uint BattlemasterListID;
|
public uint BattlemasterListID;
|
||||||
public bool Registered;
|
public bool Registered;
|
||||||
@@ -598,6 +603,20 @@ namespace Game.Networking.Packets
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class RatedMatchDeserterPenalty
|
||||||
|
{
|
||||||
|
public int PersonalRatingChange;
|
||||||
|
public int QueuePenaltySpellID;
|
||||||
|
public int QueuePenaltyDuration;
|
||||||
|
|
||||||
|
public void Write(WorldPacket data)
|
||||||
|
{
|
||||||
|
data.WriteInt32(PersonalRatingChange);
|
||||||
|
data.WriteInt32(QueuePenaltySpellID);
|
||||||
|
data.WriteInt32(QueuePenaltyDuration);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public class PVPMatchStatistics
|
public class PVPMatchStatistics
|
||||||
{
|
{
|
||||||
public List<PVPMatchPlayerStatistics> Statistics = new();
|
public List<PVPMatchPlayerStatistics> Statistics = new();
|
||||||
|
|||||||
@@ -21,11 +21,12 @@ namespace Game.Networking.Packets
|
|||||||
class CraftingData
|
class CraftingData
|
||||||
{
|
{
|
||||||
public int CraftingQualityID;
|
public int CraftingQualityID;
|
||||||
public int field_4;
|
public float QualityProgress;
|
||||||
public int field_8;
|
public int SkillLineAbilityID;
|
||||||
|
public int CraftingDataID;
|
||||||
public int Multicraft;
|
public int Multicraft;
|
||||||
public int field_10;
|
public int SkillFromReagents;
|
||||||
public int field_14;
|
public int Skill;
|
||||||
public int CritBonusSkill;
|
public int CritBonusSkill;
|
||||||
public float field_1C;
|
public float field_1C;
|
||||||
public ulong field_20;
|
public ulong field_20;
|
||||||
@@ -44,11 +45,12 @@ namespace Game.Networking.Packets
|
|||||||
public void Write(WorldPacket data)
|
public void Write(WorldPacket data)
|
||||||
{
|
{
|
||||||
data.WriteInt32(CraftingQualityID);
|
data.WriteInt32(CraftingQualityID);
|
||||||
data.WriteInt32(field_4);
|
data.WriteFloat(QualityProgress);
|
||||||
data.WriteInt32(field_8);
|
data.WriteInt32(SkillLineAbilityID);
|
||||||
|
data.WriteInt32(CraftingDataID);
|
||||||
data.WriteInt32(Multicraft);
|
data.WriteInt32(Multicraft);
|
||||||
data.WriteInt32(field_10);
|
data.WriteInt32(SkillFromReagents);
|
||||||
data.WriteInt32(field_14);
|
data.WriteInt32(Skill);
|
||||||
data.WriteInt32(CritBonusSkill);
|
data.WriteInt32(CritBonusSkill);
|
||||||
data.WriteFloat(field_1C);
|
data.WriteFloat(field_1C);
|
||||||
data.WriteUInt64(field_20);
|
data.WriteUInt64(field_20);
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ namespace Game.Networking.Packets
|
|||||||
}
|
}
|
||||||
|
|
||||||
public ObjectGuid Mailbox;
|
public ObjectGuid Mailbox;
|
||||||
public uint MailID;
|
public ulong MailID;
|
||||||
}
|
}
|
||||||
|
|
||||||
public class SendMail : ClientPacket
|
public class SendMail : ClientPacket
|
||||||
@@ -115,20 +115,20 @@ namespace Game.Networking.Packets
|
|||||||
|
|
||||||
public override void Write()
|
public override void Write()
|
||||||
{
|
{
|
||||||
_worldPacket.WriteUInt32(MailID);
|
_worldPacket.WriteUInt64(MailID);
|
||||||
_worldPacket.WriteUInt32(Command);
|
_worldPacket.WriteInt32(Command);
|
||||||
_worldPacket.WriteUInt32(ErrorCode);
|
_worldPacket.WriteInt32(ErrorCode);
|
||||||
_worldPacket.WriteUInt32(BagResult);
|
_worldPacket.WriteInt32(BagResult);
|
||||||
_worldPacket.WriteUInt32(AttachID);
|
_worldPacket.WriteUInt64(AttachID);
|
||||||
_worldPacket.WriteUInt32(QtyInInventory);
|
_worldPacket.WriteInt32(QtyInInventory);
|
||||||
}
|
}
|
||||||
|
|
||||||
public uint MailID;
|
public ulong MailID;
|
||||||
public uint Command;
|
public int Command;
|
||||||
public uint ErrorCode;
|
public int ErrorCode;
|
||||||
public uint BagResult;
|
public int BagResult;
|
||||||
public uint AttachID;
|
public ulong AttachID;
|
||||||
public uint QtyInInventory;
|
public int QtyInInventory;
|
||||||
}
|
}
|
||||||
|
|
||||||
public class MailReturnToSender : ClientPacket
|
public class MailReturnToSender : ClientPacket
|
||||||
@@ -141,7 +141,7 @@ namespace Game.Networking.Packets
|
|||||||
SenderGUID = _worldPacket.ReadPackedGuid();
|
SenderGUID = _worldPacket.ReadPackedGuid();
|
||||||
}
|
}
|
||||||
|
|
||||||
public uint MailID;
|
public ulong MailID;
|
||||||
public ObjectGuid SenderGUID;
|
public ObjectGuid SenderGUID;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -156,7 +156,7 @@ namespace Game.Networking.Packets
|
|||||||
}
|
}
|
||||||
|
|
||||||
public ObjectGuid Mailbox;
|
public ObjectGuid Mailbox;
|
||||||
public uint MailID;
|
public ulong MailID;
|
||||||
}
|
}
|
||||||
|
|
||||||
public class MailDelete : ClientPacket
|
public class MailDelete : ClientPacket
|
||||||
@@ -169,7 +169,7 @@ namespace Game.Networking.Packets
|
|||||||
DeleteReason = _worldPacket.ReadInt32();
|
DeleteReason = _worldPacket.ReadInt32();
|
||||||
}
|
}
|
||||||
|
|
||||||
public uint MailID;
|
public ulong MailID;
|
||||||
public int DeleteReason;
|
public int DeleteReason;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -185,8 +185,8 @@ namespace Game.Networking.Packets
|
|||||||
}
|
}
|
||||||
|
|
||||||
public ObjectGuid Mailbox;
|
public ObjectGuid Mailbox;
|
||||||
public uint MailID;
|
public ulong MailID;
|
||||||
public uint AttachID;
|
public ulong AttachID;
|
||||||
}
|
}
|
||||||
|
|
||||||
public class MailTakeMoney : ClientPacket
|
public class MailTakeMoney : ClientPacket
|
||||||
@@ -197,12 +197,12 @@ namespace Game.Networking.Packets
|
|||||||
{
|
{
|
||||||
Mailbox = _worldPacket.ReadPackedGuid();
|
Mailbox = _worldPacket.ReadPackedGuid();
|
||||||
MailID = _worldPacket.ReadUInt32();
|
MailID = _worldPacket.ReadUInt32();
|
||||||
Money = _worldPacket.ReadInt64();
|
Money = _worldPacket.ReadUInt64();
|
||||||
}
|
}
|
||||||
|
|
||||||
public ObjectGuid Mailbox;
|
public ObjectGuid Mailbox;
|
||||||
public uint MailID;
|
public ulong MailID;
|
||||||
public long Money;
|
public ulong Money;
|
||||||
}
|
}
|
||||||
|
|
||||||
public class MailQueryNextMailTime : ClientPacket
|
public class MailQueryNextMailTime : ClientPacket
|
||||||
@@ -285,7 +285,7 @@ namespace Game.Networking.Packets
|
|||||||
public MailAttachedItem(Item item, byte pos)
|
public MailAttachedItem(Item item, byte pos)
|
||||||
{
|
{
|
||||||
Position = pos;
|
Position = pos;
|
||||||
AttachID = (int)item.GetGUID().GetCounter();
|
AttachID = item.GetGUID().GetCounter();
|
||||||
Item = new ItemInstance(item);
|
Item = new ItemInstance(item);
|
||||||
Count = item.GetCount();
|
Count = item.GetCount();
|
||||||
Charges = item.GetSpellCharges();
|
Charges = item.GetSpellCharges();
|
||||||
@@ -318,7 +318,7 @@ namespace Game.Networking.Packets
|
|||||||
public void Write(WorldPacket data)
|
public void Write(WorldPacket data)
|
||||||
{
|
{
|
||||||
data.WriteUInt8(Position);
|
data.WriteUInt8(Position);
|
||||||
data.WriteInt32(AttachID);
|
data.WriteUInt64(AttachID);
|
||||||
data.WriteUInt32(Count);
|
data.WriteUInt32(Count);
|
||||||
data.WriteInt32(Charges);
|
data.WriteInt32(Charges);
|
||||||
data.WriteUInt32(MaxDurability);
|
data.WriteUInt32(MaxDurability);
|
||||||
@@ -337,7 +337,7 @@ namespace Game.Networking.Packets
|
|||||||
}
|
}
|
||||||
|
|
||||||
public byte Position;
|
public byte Position;
|
||||||
public int AttachID;
|
public ulong AttachID;
|
||||||
public ItemInstance Item;
|
public ItemInstance Item;
|
||||||
public uint Count;
|
public uint Count;
|
||||||
public int Charges;
|
public int Charges;
|
||||||
@@ -352,7 +352,7 @@ namespace Game.Networking.Packets
|
|||||||
{
|
{
|
||||||
public MailListEntry(Mail mail, Player player)
|
public MailListEntry(Mail mail, Player player)
|
||||||
{
|
{
|
||||||
MailID = (int)mail.messageID;
|
MailID = mail.messageID;
|
||||||
SenderType = (byte)mail.messageType;
|
SenderType = (byte)mail.messageType;
|
||||||
|
|
||||||
switch (mail.messageType)
|
switch (mail.messageType)
|
||||||
@@ -387,7 +387,7 @@ namespace Game.Networking.Packets
|
|||||||
|
|
||||||
public void Write(WorldPacket data)
|
public void Write(WorldPacket data)
|
||||||
{
|
{
|
||||||
data.WriteInt32(MailID);
|
data.WriteUInt64(MailID);
|
||||||
data.WriteUInt8(SenderType);
|
data.WriteUInt8(SenderType);
|
||||||
data.WriteUInt64(Cod);
|
data.WriteUInt64(Cod);
|
||||||
data.WriteInt32(StationeryID);
|
data.WriteInt32(StationeryID);
|
||||||
@@ -415,7 +415,7 @@ namespace Game.Networking.Packets
|
|||||||
data.WriteString(Body);
|
data.WriteString(Body);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int MailID;
|
public ulong MailID;
|
||||||
public byte SenderType;
|
public byte SenderType;
|
||||||
public ObjectGuid? SenderCharacter;
|
public ObjectGuid? SenderCharacter;
|
||||||
public uint? AltSenderID;
|
public uint? AltSenderID;
|
||||||
|
|||||||
@@ -0,0 +1,34 @@
|
|||||||
|
// Copyright (c) CypherCore <http://github.com/CypherCore> All rights reserved.
|
||||||
|
// Licensed under the GNU GENERAL PUBLIC LICENSE. See LICENSE file in the project root for full license information.
|
||||||
|
|
||||||
|
namespace Game.Networking.Packets
|
||||||
|
{
|
||||||
|
public struct PerksVendorItem
|
||||||
|
{
|
||||||
|
public int VendorItemID;
|
||||||
|
public int MountID;
|
||||||
|
public int BattlePetSpeciesID;
|
||||||
|
public int TransmogSetID;
|
||||||
|
public int ItemModifiedAppearanceID;
|
||||||
|
public int Field_14;
|
||||||
|
public int Field_18;
|
||||||
|
public int Price;
|
||||||
|
public long AvailableUntil;
|
||||||
|
public bool Disabled;
|
||||||
|
|
||||||
|
public void Write(WorldPacket data)
|
||||||
|
{
|
||||||
|
data.WriteInt32(VendorItemID);
|
||||||
|
data.WriteInt32(MountID);
|
||||||
|
data.WriteInt32(BattlePetSpeciesID);
|
||||||
|
data.WriteInt32(TransmogSetID);
|
||||||
|
data.WriteInt32(ItemModifiedAppearanceID);
|
||||||
|
data.WriteInt32(Field_14);
|
||||||
|
data.WriteInt32(Field_18);
|
||||||
|
data.WriteInt32(Price);
|
||||||
|
data.WriteInt64(AvailableUntil);
|
||||||
|
data.WriteBit(Disabled);
|
||||||
|
data.FlushBits();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -28,6 +28,21 @@ namespace Game.Networking.Packets
|
|||||||
public override void Read() { }
|
public override void Read() { }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class QuestGiverStatusTrackedQuery : ClientPacket
|
||||||
|
{
|
||||||
|
public List<ObjectGuid> QuestGiverGUIDs = new();
|
||||||
|
|
||||||
|
public QuestGiverStatusTrackedQuery(WorldPacket packet) : base(packet) { }
|
||||||
|
|
||||||
|
public override void Read()
|
||||||
|
{
|
||||||
|
uint guidCount = _worldPacket.ReadUInt32();
|
||||||
|
|
||||||
|
for (uint i = 0; i < guidCount; ++i)
|
||||||
|
QuestGiverGUIDs.Add(_worldPacket.ReadPackedGuid());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public class QuestGiverStatusPkt : ServerPacket
|
public class QuestGiverStatusPkt : ServerPacket
|
||||||
{
|
{
|
||||||
public QuestGiverStatusPkt() : base(ServerOpcodes.QuestGiverStatus, ConnectionType.Instance)
|
public QuestGiverStatusPkt() : base(ServerOpcodes.QuestGiverStatus, ConnectionType.Instance)
|
||||||
|
|||||||
@@ -899,11 +899,9 @@ namespace Game.Networking.Packets
|
|||||||
public override void Read()
|
public override void Read()
|
||||||
{
|
{
|
||||||
UnitGUID = _worldPacket.ReadPackedGuid();
|
UnitGUID = _worldPacket.ReadPackedGuid();
|
||||||
DisplayID = _worldPacket.ReadUInt32();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public ObjectGuid UnitGUID;
|
public ObjectGuid UnitGUID;
|
||||||
public uint DisplayID;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class MirrorImageComponentedData : ServerPacket
|
class MirrorImageComponentedData : ServerPacket
|
||||||
|
|||||||
@@ -17,9 +17,6 @@ namespace Game.Networking.Packets
|
|||||||
{
|
{
|
||||||
_worldPacket.WriteUInt8(ComplaintStatus);
|
_worldPacket.WriteUInt8(ComplaintStatus);
|
||||||
|
|
||||||
_worldPacket.WriteUInt32(ScrollOfResurrectionRequestsRemaining);
|
|
||||||
_worldPacket.WriteUInt32(ScrollOfResurrectionMaxRequestsPerDay);
|
|
||||||
|
|
||||||
_worldPacket.WriteUInt32(CfgRealmID);
|
_worldPacket.WriteUInt32(CfgRealmID);
|
||||||
_worldPacket.WriteInt32(CfgRealmRecID);
|
_worldPacket.WriteInt32(CfgRealmRecID);
|
||||||
|
|
||||||
@@ -51,7 +48,6 @@ namespace Game.Networking.Packets
|
|||||||
|
|
||||||
_worldPacket.WriteBit(VoiceEnabled);
|
_worldPacket.WriteBit(VoiceEnabled);
|
||||||
_worldPacket.WriteBit(EuropaTicketSystemStatus.HasValue);
|
_worldPacket.WriteBit(EuropaTicketSystemStatus.HasValue);
|
||||||
_worldPacket.WriteBit(ScrollOfResurrectionEnabled);
|
|
||||||
_worldPacket.WriteBit(BpayStoreEnabled);
|
_worldPacket.WriteBit(BpayStoreEnabled);
|
||||||
_worldPacket.WriteBit(BpayStoreAvailable);
|
_worldPacket.WriteBit(BpayStoreAvailable);
|
||||||
_worldPacket.WriteBit(BpayStoreDisabledByParentalControls);
|
_worldPacket.WriteBit(BpayStoreDisabledByParentalControls);
|
||||||
@@ -140,10 +136,7 @@ namespace Game.Networking.Packets
|
|||||||
public bool BpayStoreAvailable;
|
public bool BpayStoreAvailable;
|
||||||
public bool BpayStoreEnabled;
|
public bool BpayStoreEnabled;
|
||||||
public SessionAlertConfig? SessionAlert;
|
public SessionAlertConfig? SessionAlert;
|
||||||
public uint ScrollOfResurrectionMaxRequestsPerDay;
|
|
||||||
public bool ScrollOfResurrectionEnabled;
|
|
||||||
public EuropaTicketConfig? EuropaTicketSystemStatus;
|
public EuropaTicketConfig? EuropaTicketSystemStatus;
|
||||||
public uint ScrollOfResurrectionRequestsRemaining;
|
|
||||||
public uint CfgRealmID;
|
public uint CfgRealmID;
|
||||||
public byte ComplaintStatus;
|
public byte ComplaintStatus;
|
||||||
public int CfgRealmRecID;
|
public int CfgRealmRecID;
|
||||||
|
|||||||
@@ -328,7 +328,7 @@ namespace Game.Networking.Packets
|
|||||||
{
|
{
|
||||||
public void Read(WorldPacket data)
|
public void Read(WorldPacket data)
|
||||||
{
|
{
|
||||||
MailID = data.ReadInt32();
|
MailID = data.ReadUInt64();
|
||||||
uint bodyLength = data.ReadBits<uint>(13);
|
uint bodyLength = data.ReadBits<uint>(13);
|
||||||
uint subjectLength = data.ReadBits<uint>(9);
|
uint subjectLength = data.ReadBits<uint>(9);
|
||||||
|
|
||||||
@@ -336,7 +336,7 @@ namespace Game.Networking.Packets
|
|||||||
MailSubject = data.ReadString(subjectLength);
|
MailSubject = data.ReadString(subjectLength);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int MailID;
|
public ulong MailID;
|
||||||
public string MailSubject;
|
public string MailSubject;
|
||||||
public string MailBody;
|
public string MailBody;
|
||||||
}
|
}
|
||||||
@@ -479,7 +479,7 @@ namespace Game.Networking.Packets
|
|||||||
switch (ComplaintType)
|
switch (ComplaintType)
|
||||||
{
|
{
|
||||||
case SupportSpamType.Mail:
|
case SupportSpamType.Mail:
|
||||||
MailID = _worldPacket.ReadUInt32();
|
MailID = _worldPacket.ReadUInt64();
|
||||||
break;
|
break;
|
||||||
case SupportSpamType.Chat:
|
case SupportSpamType.Chat:
|
||||||
Chat.Read(_worldPacket);
|
Chat.Read(_worldPacket);
|
||||||
@@ -492,14 +492,14 @@ namespace Game.Networking.Packets
|
|||||||
}
|
}
|
||||||
|
|
||||||
public SupportSpamType ComplaintType;
|
public SupportSpamType ComplaintType;
|
||||||
ComplaintOffender Offender;
|
public ComplaintOffender Offender;
|
||||||
uint MailID;
|
public ulong MailID;
|
||||||
ComplaintChat Chat;
|
public ComplaintChat Chat;
|
||||||
|
|
||||||
ulong EventGuid;
|
public ulong EventGuid;
|
||||||
ulong InviteGuid;
|
public ulong InviteGuid;
|
||||||
|
|
||||||
struct ComplaintOffender
|
public struct ComplaintOffender
|
||||||
{
|
{
|
||||||
public void Read(WorldPacket data)
|
public void Read(WorldPacket data)
|
||||||
{
|
{
|
||||||
@@ -513,7 +513,7 @@ namespace Game.Networking.Packets
|
|||||||
public uint TimeSinceOffence;
|
public uint TimeSinceOffence;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct ComplaintChat
|
public struct ComplaintChat
|
||||||
{
|
{
|
||||||
public void Read(WorldPacket data)
|
public void Read(WorldPacket data)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user