Core/PacketIO: Updated packet structures to 8.1.5

Port TrinityCore Commit: https://github.com/TrinityCore/TrinityCore/commit/31fda79556e55375962a3c9e46f6dbdbf6e90d18
This commit is contained in:
hondacrx
2019-06-22 18:42:45 -04:00
parent d500b65ad9
commit e4d500f4b5
54 changed files with 1179 additions and 1077 deletions
@@ -785,4 +785,11 @@ namespace Framework.Constants
NeedsFanfare = 0x01,
IsFavorite = 0x02
}
public enum ToyFlags
{
None = 0,
Favorite = 0x01,
HasFanfare = 0x02
}
}
+2 -1
View File
@@ -948,7 +948,8 @@ namespace Framework.Constants
{
Player = 0x01,
DeathKnight = 0x04,
DemonHunter = 0x20
DemonHunter = 0x20,
Conditional = 0x400
}
public enum CharSectionType
+3 -1
View File
@@ -84,6 +84,8 @@ namespace Framework.Constants
TooLowGearScore = 4,
TooHighGearScore = 5,
RaidLocked = 6,
NoSpec = 14,
HasRestriction = 15,
AttunementTooLowLevel = 1001,
AttunementTooHighLevel = 1002,
QuestNotCompleted = 1022,
@@ -146,7 +148,7 @@ namespace Framework.Constants
Ok = 0x00, // Joined (No Client Msg)
GroupFull = 0x1f, // Your Group Is Already Full.
NoLfgObject = 0x21, // Internal Lfg Error.
NoSlotsPlayer = 0x22, // You Do Not Meet The Requirements For The Chosen Dungeons.
NoSlots = 0x22, // You Do Not Meet The Requirements For The Chosen Dungeons.
MismatchedSlots = 0x23, // You Cannot Mix Dungeons, Raids, And Random When Picking Dungeons.
PartyPlayersFromDifferentRealms = 0x24, // The Dungeon You Chose Does Not Support Players From Multiple Realms.
MembersNotPresent = 0x25, // One Or More Group Members Are Pending Invites Or Disconnected.
File diff suppressed because it is too large Load Diff
@@ -369,7 +369,7 @@ namespace Framework.Constants
BypassArmorForCaster = 345,
EnableAltPower = 346, // Nyi
ModSpellCooldownByHaste = 347,
DepositBonusMoneyInGuildBankOnLoot = 348, // Nyi
ModMoneyGain = 348, // Modifies gold gains from source: [Misc = 0, Quests][Misc = 1, Loot]
ModCurrencyGain = 349,
ModGatheringItemsGainedPercent = 350, // Nyi
Unk351 = 351,
@@ -149,8 +149,8 @@ namespace Framework.Database
PrepareStatement(LoginStatements.UPD_LAST_CHAR_UNDELETE, "UPDATE battlenet_accounts SET LastCharacterUndelete = UNIX_TIMESTAMP() WHERE Id = ?");
// Account wide toys
PrepareStatement(LoginStatements.SEL_ACCOUNT_TOYS, "SELECT itemId, isFavourite FROM battlenet_account_toys WHERE accountId = ?");
PrepareStatement(LoginStatements.REP_ACCOUNT_TOYS, "REPLACE INTO battlenet_account_toys (accountId, itemId, isFavourite) VALUES (?, ?, ?)");
PrepareStatement(LoginStatements.SEL_ACCOUNT_TOYS, "SELECT itemId, isFavourite, hasFanfare FROM battlenet_account_toys WHERE accountId = ?");
PrepareStatement(LoginStatements.REP_ACCOUNT_TOYS, "REPLACE INTO battlenet_account_toys (accountId, itemId, isFavourite, hasFanfare) VALUES (?, ?, ?, ?)");
// Battle Pets
PrepareStatement(LoginStatements.SEL_BATTLE_PETS, "SELECT guid, species, breed, level, exp, health, quality, flags, name FROM battle_pets WHERE battlenetAccountId = ?");
+34 -23
View File
@@ -120,31 +120,32 @@ public class RealmManager : Singleton<RealmManager>
return _realms.LookupByKey(id);
}
// List of client builds for verbose version info in realmlist packet
RealmBuildInfo[] ClientBuilds =
{
new RealmBuildInfo(28938, 8, 1, 5, ' ' ),
new RealmBuildInfo(21355, 6, 2, 4, ' ' ),
new RealmBuildInfo(20726, 6, 2, 3, ' ' ),
new RealmBuildInfo(20574, 6, 2, 2, 'a' ),
new RealmBuildInfo(20490, 6, 2, 2, 'a' ),
new RealmBuildInfo(15595, 4, 3, 4, ' ' ),
new RealmBuildInfo(14545, 4, 2, 2, ' ' ),
new RealmBuildInfo(13623, 4, 0, 6, 'a' ),
new RealmBuildInfo(13930, 3, 3, 5, 'a' ), // 3.3.5a China Mainland build
new RealmBuildInfo(12340, 3, 3, 5, 'a' ),
new RealmBuildInfo(11723, 3, 3, 3, 'a' ),
new RealmBuildInfo(11403, 3, 3, 2, ' ' ),
new RealmBuildInfo(11159, 3, 3, 0, 'a' ),
new RealmBuildInfo(10505, 3, 2, 2, 'a' ),
new RealmBuildInfo(9947, 3, 1, 3, ' ' ),
new RealmBuildInfo(8606, 2, 4, 3, ' ' ),
new RealmBuildInfo(6141, 1, 12, 3, ' ' ),
new RealmBuildInfo(6005, 1, 12, 2, ' ' ),
new RealmBuildInfo(5875, 1, 12, 1, ' ' ),
};
RealmBuildInfo GetBuildInfo(uint build)
{
// List of client builds for verbose version info in realmlist packet
RealmBuildInfo[] ClientBuilds =
{
new RealmBuildInfo(21355, 6, 2, 4, ' '),
new RealmBuildInfo( 20726, 6, 2, 3, ' '),
new RealmBuildInfo(20574, 6, 2, 2, 'a'),
new RealmBuildInfo( 20490, 6, 2, 2, 'a'),
new RealmBuildInfo( 15595, 4, 3, 4, ' '),
new RealmBuildInfo( 14545, 4, 2, 2, ' '),
new RealmBuildInfo( 13623, 4, 0, 6, 'a'),
new RealmBuildInfo( 13930, 3, 3, 5, 'a'), // 3.3.5a China Mainland build
new RealmBuildInfo( 12340, 3, 3, 5, 'a'),
new RealmBuildInfo( 11723, 3, 3, 3, 'a'),
new RealmBuildInfo( 11403, 3, 3, 2, ' '),
new RealmBuildInfo( 11159, 3, 3, 0, 'a'),
new RealmBuildInfo( 10505, 3, 2, 2, 'a'),
new RealmBuildInfo( 9947, 3, 1, 3, ' '),
new RealmBuildInfo( 8606, 2, 4, 3, ' '),
new RealmBuildInfo( 6141, 1, 12, 3, ' '),
new RealmBuildInfo( 6005, 1, 12, 2, ' '),
new RealmBuildInfo( 5875, 1, 12, 1, ' '),
};
foreach (var clientBuild in ClientBuilds)
if (clientBuild.Build == build)
return clientBuild;
@@ -152,6 +153,16 @@ public class RealmManager : Singleton<RealmManager>
return null;
}
public uint GetMinorMajorBugfixVersionForBuild(uint build)
{
RealmBuildInfo buildInfo = ClientBuilds.FirstOrDefault(p =>
{
return p.Build < build;
});
return buildInfo != null ? (buildInfo.MajorVersion * 10000 + buildInfo.MinorVersion * 100 + buildInfo.BugfixVersion) : 0;
}
public void WriteSubRegions(Bgs.Protocol.GameUtilities.V1.GetAllValuesForAttributeResponse response)
{
foreach (string subRegion in GetSubRegions())