Core/PacketIO: Updated packet structures to 8.1.5
Port TrinityCore Commit: https://github.com/TrinityCore/TrinityCore/commit/31fda79556e55375962a3c9e46f6dbdbf6e90d18
This commit is contained in:
@@ -785,4 +785,11 @@ namespace Framework.Constants
|
||||
NeedsFanfare = 0x01,
|
||||
IsFavorite = 0x02
|
||||
}
|
||||
|
||||
public enum ToyFlags
|
||||
{
|
||||
None = 0,
|
||||
Favorite = 0x01,
|
||||
HasFanfare = 0x02
|
||||
}
|
||||
}
|
||||
|
||||
@@ -948,7 +948,8 @@ namespace Framework.Constants
|
||||
{
|
||||
Player = 0x01,
|
||||
DeathKnight = 0x04,
|
||||
DemonHunter = 0x20
|
||||
DemonHunter = 0x20,
|
||||
Conditional = 0x400
|
||||
}
|
||||
|
||||
public enum CharSectionType
|
||||
|
||||
@@ -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 = ?");
|
||||
|
||||
@@ -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())
|
||||
|
||||
Reference in New Issue
Block a user