Updated to 7.3.5.25996 (Db2 files not updated)
This commit is contained in:
@@ -132,18 +132,11 @@ namespace Game.Network.Packets
|
||||
_worldPacket.WriteUInt8(SuccessInfo.Value.ActiveExpansionLevel);
|
||||
_worldPacket.WriteUInt8(SuccessInfo.Value.AccountExpansionLevel);
|
||||
_worldPacket.WriteUInt32(SuccessInfo.Value.TimeSecondsUntilPCKick);
|
||||
_worldPacket.WriteUInt32(SuccessInfo.Value.AvailableRaces.Count);
|
||||
_worldPacket.WriteUInt32(SuccessInfo.Value.AvailableClasses.Count);
|
||||
_worldPacket.WriteUInt32(SuccessInfo.Value.Templates.Count);
|
||||
_worldPacket.WriteUInt32(SuccessInfo.Value.CurrencyID);
|
||||
_worldPacket.WriteUInt32(SuccessInfo.Value.Time);
|
||||
|
||||
foreach (var race in SuccessInfo.Value.AvailableRaces)
|
||||
{
|
||||
_worldPacket.WriteUInt8(race.Key); /// the current race
|
||||
_worldPacket.WriteUInt8(race.Value); /// the required Expansion
|
||||
}
|
||||
|
||||
foreach (var klass in SuccessInfo.Value.AvailableClasses)
|
||||
{
|
||||
_worldPacket.WriteUInt8(klass.Key); /// the current class
|
||||
@@ -219,7 +212,6 @@ namespace Game.Network.Packets
|
||||
public List<CharacterTemplate> Templates = new List<CharacterTemplate>(); // list of pre-made character templates. @todo implement
|
||||
|
||||
public Dictionary<byte, byte> AvailableClasses; // the minimum AccountExpansion required to select the classes
|
||||
public Dictionary<byte, byte> AvailableRaces; // the minimum AccountExpansion required to select the races
|
||||
|
||||
public bool IsExpansionTrial;
|
||||
public bool ForceCharacterTemplate; // forces the client to always use a character template when creating a new character. @see Templates. @todo implement
|
||||
|
||||
@@ -44,79 +44,35 @@ namespace Game.Network.Packets
|
||||
_worldPacket.WriteBit(IsDeletedCharacters);
|
||||
_worldPacket.WriteBit(IsDemonHunterCreationAllowed);
|
||||
_worldPacket.WriteBit(HasDemonHunterOnRealm);
|
||||
_worldPacket.WriteBit(HasLevel70OnRealm);
|
||||
_worldPacket.WriteBit(Unknown7x);
|
||||
_worldPacket.WriteBit(DisabledClassesMask.HasValue);
|
||||
_worldPacket.WriteBit(IsAlliedRacesCreationAllowed);
|
||||
_worldPacket.WriteUInt32(Characters.Count);
|
||||
_worldPacket.WriteUInt32(FactionChangeRestrictions.Count);
|
||||
_worldPacket.WriteInt32(MaxCharacterLevel);
|
||||
_worldPacket.WriteUInt32(RaceUnlockData.Count);
|
||||
|
||||
if (DisabledClassesMask.HasValue)
|
||||
_worldPacket.WriteUInt32(DisabledClassesMask.Value);
|
||||
|
||||
foreach (RestrictedFactionChangeRuleInfo rule in FactionChangeRestrictions)
|
||||
{
|
||||
_worldPacket.WriteUInt32(rule.Mask);
|
||||
_worldPacket.WriteUInt8(rule.Race);
|
||||
}
|
||||
|
||||
foreach (CharacterInfo charInfo in Characters)
|
||||
{
|
||||
_worldPacket.WritePackedGuid(charInfo.Guid);
|
||||
_worldPacket.WriteUInt8(charInfo.ListPosition);
|
||||
_worldPacket.WriteUInt8(charInfo.RaceId);
|
||||
_worldPacket.WriteUInt8(charInfo.ClassId);
|
||||
_worldPacket.WriteUInt8(charInfo.Sex);
|
||||
_worldPacket.WriteUInt8(charInfo.Skin);
|
||||
_worldPacket.WriteUInt8(charInfo.Face);
|
||||
_worldPacket.WriteUInt8(charInfo.HairStyle);
|
||||
_worldPacket.WriteUInt8(charInfo.HairColor);
|
||||
_worldPacket.WriteUInt8(charInfo.FacialHair);
|
||||
charInfo.CustomDisplay.ForEach(id => _worldPacket.WriteUInt8(id));
|
||||
_worldPacket.WriteUInt8(charInfo.Level);
|
||||
_worldPacket.WriteUInt32(charInfo.ZoneId);
|
||||
_worldPacket.WriteUInt32(charInfo.MapId);
|
||||
_worldPacket.WriteVector3(charInfo.PreLoadPosition);
|
||||
_worldPacket.WritePackedGuid(charInfo.GuildGuid);
|
||||
_worldPacket.WriteUInt32(charInfo.Flags);
|
||||
_worldPacket.WriteUInt32(charInfo.CustomizationFlag);
|
||||
_worldPacket.WriteUInt32(charInfo.Flags3);
|
||||
_worldPacket.WriteUInt32(charInfo.Pet.CreatureDisplayId);
|
||||
_worldPacket.WriteUInt32(charInfo.Pet.Level);
|
||||
_worldPacket.WriteUInt32(charInfo.Pet.CreatureFamily);
|
||||
charInfo.Write(_worldPacket);
|
||||
|
||||
_worldPacket.WriteUInt32(charInfo.ProfessionIds[0]);
|
||||
_worldPacket.WriteUInt32(charInfo.ProfessionIds[1]);
|
||||
|
||||
foreach (var visualItem in charInfo.VisualItems)
|
||||
{
|
||||
_worldPacket.WriteUInt32(visualItem.DisplayId);
|
||||
_worldPacket.WriteUInt32(visualItem.DisplayEnchantId);
|
||||
_worldPacket.WriteUInt8(visualItem.InventoryType);
|
||||
}
|
||||
|
||||
_worldPacket.WriteUInt32(charInfo.LastPlayedTime);
|
||||
_worldPacket.WriteUInt16(charInfo.SpecID);
|
||||
_worldPacket.WriteUInt32(charInfo.Unknown703);
|
||||
_worldPacket.WriteUInt32(charInfo.Flags4);
|
||||
_worldPacket.WriteBits(charInfo.Name.GetByteCount(), 6);
|
||||
_worldPacket.WriteBit(charInfo.FirstLogin);
|
||||
_worldPacket.WriteBit(charInfo.BoostInProgress);
|
||||
_worldPacket.WriteBits(charInfo.unkWod61x, 5);
|
||||
_worldPacket.WriteString(charInfo.Name);
|
||||
}
|
||||
foreach (RaceUnlock raceUnlock in RaceUnlockData)
|
||||
raceUnlock.Write(_worldPacket);
|
||||
}
|
||||
|
||||
public bool Success;
|
||||
public bool IsDeletedCharacters; // used for character undelete list
|
||||
public bool IsDemonHunterCreationAllowed = false; ///< used for demon hunter early access
|
||||
public bool HasDemonHunterOnRealm = false;
|
||||
public bool HasLevel70OnRealm = false;
|
||||
public bool Unknown7x = false;
|
||||
public bool IsAlliedRacesCreationAllowed = false;
|
||||
|
||||
public int MaxCharacterLevel = 1;
|
||||
public Optional<uint> DisabledClassesMask = new Optional<uint>();
|
||||
|
||||
public List<CharacterInfo> Characters = new List<CharacterInfo>(); // all characters on the list
|
||||
public List<RestrictedFactionChangeRuleInfo> FactionChangeRestrictions = new List<RestrictedFactionChangeRuleInfo>(); // @todo: research
|
||||
public List<RaceUnlock> RaceUnlockData = new List<RaceUnlock>(); ///<
|
||||
|
||||
public class CharacterInfo
|
||||
{
|
||||
@@ -130,8 +86,8 @@ namespace Game.Network.Packets
|
||||
// "characters.zone, characters.map, characters.position_x, characters.position_y, characters.position_z, "
|
||||
// 19 20 21 22 23 24 25
|
||||
// "guild_member.guildid, characters.playerFlags, characters.at_login, character_pet.entry, character_pet.modelid, character_pet.level, characters.equipmentCache, "
|
||||
// 26 27 28 29 30
|
||||
// "character_banned.guid, characters.slot, characters.logout_time, characters.activeTalentGroup, character_declinedname.genitive"
|
||||
// 26 27 28 29 30 31
|
||||
// "character_banned.guid, characters.slot, characters.logout_time, characters.activeTalentGroup, characters.lastLoginBuild, character_declinedname.genitive"
|
||||
|
||||
Guid = ObjectGuid.Create(HighGuid.Player, fields.Read<ulong>(0));
|
||||
Name = fields.Read<string>(1);
|
||||
@@ -176,7 +132,7 @@ namespace Game.Network.Packets
|
||||
if (fields.Read<uint>(26) != 0)
|
||||
Flags |= CharacterFlags.LockedByBilling;
|
||||
|
||||
if (WorldConfig.GetBoolValue(WorldCfg.DeclinedNamesUsed) && !string.IsNullOrEmpty(fields.Read<string>(30)))
|
||||
if (WorldConfig.GetBoolValue(WorldCfg.DeclinedNamesUsed) && !string.IsNullOrEmpty(fields.Read<string>(31)))
|
||||
Flags |= CharacterFlags.Declined;
|
||||
|
||||
if (atLoginFlags.HasAnyFlag(AtLoginFlags.Customize))
|
||||
@@ -214,6 +170,8 @@ namespace Game.Network.Packets
|
||||
if (spec != null)
|
||||
SpecID = (ushort)spec.Id;
|
||||
|
||||
LastLoginBuild = fields.Read<uint>(30);
|
||||
|
||||
for (byte slot = 0; slot < InventorySlots.BagEnd; ++slot)
|
||||
{
|
||||
VisualItems[slot].InventoryType = (byte)equipment.NextUInt32();
|
||||
@@ -222,6 +180,53 @@ namespace Game.Network.Packets
|
||||
}
|
||||
}
|
||||
|
||||
public void Write(WorldPacket data)
|
||||
{
|
||||
data.WritePackedGuid(Guid);
|
||||
data.WriteUInt8(ListPosition);
|
||||
data.WriteUInt8(RaceId);
|
||||
data.WriteUInt8(ClassId);
|
||||
data.WriteUInt8(Sex);
|
||||
data.WriteUInt8(Skin);
|
||||
data.WriteUInt8(Face);
|
||||
data.WriteUInt8(HairStyle);
|
||||
data.WriteUInt8(HairColor);
|
||||
data.WriteUInt8(FacialHair);
|
||||
|
||||
foreach (var display in CustomDisplay)
|
||||
data.WriteUInt8(display);
|
||||
|
||||
data.WriteUInt8(Level);
|
||||
data.WriteUInt32(ZoneId);
|
||||
data.WriteUInt32(MapId);
|
||||
data.WriteVector3(PreLoadPosition);
|
||||
data.WritePackedGuid(GuildGuid);
|
||||
data.WriteUInt32(Flags);
|
||||
data.WriteUInt32(CustomizationFlag);
|
||||
data.WriteUInt32(Flags3);
|
||||
data.WriteUInt32(Pet.CreatureDisplayId);
|
||||
data.WriteUInt32(Pet.Level);
|
||||
data.WriteUInt32(Pet.CreatureFamily);
|
||||
|
||||
data.WriteUInt32(ProfessionIds[0]);
|
||||
data.WriteUInt32(ProfessionIds[1]);
|
||||
|
||||
foreach (var visualItem in VisualItems)
|
||||
visualItem.Write(data);
|
||||
|
||||
data.WriteUInt32(LastPlayedTime);
|
||||
data.WriteUInt16(SpecID);
|
||||
data.WriteUInt32(Unknown703);
|
||||
data.WriteUInt32(Flags4);
|
||||
data.WriteBits(Name.GetByteCount(), 6);
|
||||
data.WriteBit(FirstLogin);
|
||||
data.WriteBit(BoostInProgress);
|
||||
data.WriteBits(unkWod61x, 5);
|
||||
data.FlushBits();
|
||||
|
||||
data.WriteString(Name);
|
||||
}
|
||||
|
||||
public ObjectGuid Guid;
|
||||
public string Name;
|
||||
public byte ListPosition; // Order of the characters in list
|
||||
@@ -248,6 +253,7 @@ namespace Game.Network.Packets
|
||||
public uint LastPlayedTime;
|
||||
public ushort SpecID;
|
||||
public uint Unknown703;
|
||||
public uint LastLoginBuild;
|
||||
public PetInfo Pet = new PetInfo();
|
||||
public bool BoostInProgress; // @todo
|
||||
public uint[] ProfessionIds = new uint[2]; // @todo
|
||||
@@ -255,6 +261,13 @@ namespace Game.Network.Packets
|
||||
|
||||
public struct VisualItemInfo
|
||||
{
|
||||
public void Write(WorldPacket data)
|
||||
{
|
||||
data.WriteUInt32(DisplayId);
|
||||
data.WriteUInt32(DisplayEnchantId);
|
||||
data.WriteUInt8(InventoryType);
|
||||
}
|
||||
|
||||
public uint DisplayId;
|
||||
public uint DisplayEnchantId;
|
||||
public byte InventoryType;
|
||||
@@ -267,16 +280,21 @@ namespace Game.Network.Packets
|
||||
}
|
||||
}
|
||||
|
||||
public struct RestrictedFactionChangeRuleInfo
|
||||
public struct RaceUnlock
|
||||
{
|
||||
public RestrictedFactionChangeRuleInfo(uint mask, byte race)
|
||||
public void Write(WorldPacket data)
|
||||
{
|
||||
Mask = mask;
|
||||
Race = race;
|
||||
data.WriteInt32(RaceID);
|
||||
data.WriteBit(HasExpansion);
|
||||
data.WriteBit(HasAchievement);
|
||||
data.WriteBit(HasHeritageArmor);
|
||||
data.FlushBits();
|
||||
}
|
||||
|
||||
public uint Mask;
|
||||
public byte Race;
|
||||
public int RaceID;
|
||||
public bool HasExpansion;
|
||||
public bool HasAchievement;
|
||||
public bool HasHeritageArmor;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -832,8 +850,7 @@ namespace Game.Network.Packets
|
||||
_worldPacket.WriteUInt8(Reason);
|
||||
_worldPacket.WriteInt32(Amount);
|
||||
_worldPacket.WriteFloat(GroupBonus);
|
||||
_worldPacket.WriteBit(ReferAFriend);
|
||||
_worldPacket.FlushBits();
|
||||
_worldPacket.WriteUInt8(ReferAFriendBonusType);
|
||||
}
|
||||
|
||||
public ObjectGuid Victim;
|
||||
@@ -841,7 +858,7 @@ namespace Game.Network.Packets
|
||||
public PlayerLogXPReason Reason;
|
||||
public int Amount;
|
||||
public float GroupBonus;
|
||||
public bool ReferAFriend;
|
||||
public byte ReferAFriendBonusType; // 1 - 300% of normal XP; 2 - 150% of normal XP
|
||||
}
|
||||
|
||||
class TitleEarned : ServerPacket
|
||||
|
||||
@@ -1467,7 +1467,7 @@ namespace Game.Network.Packets
|
||||
data.WriteUInt32(ItemID);
|
||||
data.WriteUInt32(Unk4);
|
||||
data.WriteUInt32(AchievementsRequired.Count);
|
||||
data.WriteUInt32(RaceMask);
|
||||
data.WriteUInt64(RaceMask);
|
||||
data.WriteUInt32(MinGuildLevel);
|
||||
data.WriteUInt32(MinGuildRep);
|
||||
data.WriteUInt64(Cost);
|
||||
@@ -1479,7 +1479,7 @@ namespace Game.Network.Packets
|
||||
public uint ItemID;
|
||||
public uint Unk4;
|
||||
public List<uint> AchievementsRequired = new List<uint>();
|
||||
public uint RaceMask;
|
||||
public ulong RaceMask;
|
||||
public int MinGuildLevel;
|
||||
public int MinGuildRep;
|
||||
public ulong Cost;
|
||||
|
||||
@@ -218,12 +218,15 @@ namespace Game.Network.Packets
|
||||
_worldPacket.WriteUInt32(MaxInCombatResCount);
|
||||
_worldPacket.WriteUInt32(CombatResChargeRecovery);
|
||||
_worldPacket.WriteUInt32(NextCombatResChargeTime);
|
||||
_worldPacket.WriteBit(InProgress);
|
||||
_worldPacket.FlushBits();
|
||||
}
|
||||
|
||||
public uint InCombatResCount; // amount of usable battle ressurections
|
||||
public uint MaxInCombatResCount;
|
||||
public uint CombatResChargeRecovery;
|
||||
public uint NextCombatResChargeTime;
|
||||
public bool InProgress = true;
|
||||
}
|
||||
|
||||
class InstanceEncounterEnd : ServerPacket
|
||||
|
||||
@@ -703,6 +703,13 @@ namespace Game.Network.Packets
|
||||
public ObjectGuid ItemGuid { get; set; }
|
||||
}
|
||||
|
||||
class CharacterInventoryOverflowWarning : ServerPacket
|
||||
{
|
||||
public CharacterInventoryOverflowWarning() : base(ServerOpcodes.CharacterInventoryOverflowWarning) { }
|
||||
|
||||
public override void Write() { }
|
||||
}
|
||||
|
||||
//Structs
|
||||
public class ItemBonusInstanceData
|
||||
{
|
||||
|
||||
@@ -76,6 +76,7 @@ namespace Game.Network.Packets
|
||||
_worldPacket.WriteInt32(text.QuestID);
|
||||
_worldPacket.WriteInt32(text.QuestType);
|
||||
_worldPacket.WriteInt32(text.QuestLevel);
|
||||
_worldPacket.WriteInt32(text.QuestMaxScalingLevel);
|
||||
_worldPacket.WriteInt32(text.QuestFlags);
|
||||
_worldPacket.WriteInt32(text.QuestFlagsEx);
|
||||
|
||||
@@ -308,6 +309,7 @@ namespace Game.Network.Packets
|
||||
public int QuestID;
|
||||
public int QuestType;
|
||||
public int QuestLevel;
|
||||
public int QuestMaxScalingLevel;
|
||||
public bool Repeatable;
|
||||
public string QuestTitle;
|
||||
public int QuestFlags;
|
||||
|
||||
@@ -437,6 +437,9 @@ namespace Game.Network.Packets
|
||||
_worldPacket.WriteInt32(questPOIBlobPoint.X);
|
||||
_worldPacket.WriteInt32(questPOIBlobPoint.Y);
|
||||
}
|
||||
|
||||
_worldPacket.WriteBit(questPOIBlobData.AlwaysAllowMergingBlobs);
|
||||
_worldPacket.FlushBits();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -759,6 +762,7 @@ namespace Game.Network.Packets
|
||||
public int PlayerConditionID;
|
||||
public int UnkWoD1;
|
||||
public List<QuestPOIBlobPoint> QuestPOIBlobPointStats = new List<QuestPOIBlobPoint>();
|
||||
public bool AlwaysAllowMergingBlobs;
|
||||
}
|
||||
|
||||
public class QuestPOIData
|
||||
|
||||
@@ -117,6 +117,7 @@ namespace Game.Network.Packets
|
||||
_worldPacket.WriteInt32(Info.QuestID);
|
||||
_worldPacket.WriteInt32(Info.QuestType);
|
||||
_worldPacket.WriteInt32(Info.QuestLevel);
|
||||
_worldPacket.WriteInt32(Info.QuestMaxScalingLevel);
|
||||
_worldPacket.WriteInt32(Info.QuestPackageID);
|
||||
_worldPacket.WriteInt32(Info.QuestMinLevel);
|
||||
_worldPacket.WriteInt32(Info.QuestSortID);
|
||||
@@ -194,7 +195,7 @@ namespace Game.Network.Packets
|
||||
_worldPacket.WriteInt32(Info.TimeAllowed);
|
||||
|
||||
_worldPacket.WriteUInt32(Info.Objectives.Count);
|
||||
_worldPacket.WriteInt32(Info.AllowableRaces);
|
||||
_worldPacket.WriteInt64(Info.AllowableRaces);
|
||||
_worldPacket.WriteInt32(Info.QuestRewardID);
|
||||
_worldPacket.WriteInt32(Info.Expansion);
|
||||
|
||||
@@ -619,6 +620,7 @@ namespace Game.Network.Packets
|
||||
_worldPacket.WriteUInt32(gossip.QuestID);
|
||||
_worldPacket.WriteUInt32(gossip.QuestType);
|
||||
_worldPacket.WriteUInt32(gossip.QuestLevel);
|
||||
_worldPacket.WriteUInt32(gossip.QuestMaxScalingLevel);
|
||||
_worldPacket.WriteUInt32(gossip.QuestFlags);
|
||||
_worldPacket.WriteUInt32(gossip.QuestFlagsEx);
|
||||
|
||||
@@ -827,8 +829,10 @@ namespace Game.Network.Packets
|
||||
_worldPacket.WriteInt32(ChoiceID);
|
||||
_worldPacket.WriteUInt32(Responses.Count);
|
||||
_worldPacket.WritePackedGuid(SenderGUID);
|
||||
_worldPacket.WriteInt32(UiTextureKitID);
|
||||
_worldPacket.WriteBits(Question.GetByteCount(), 8);
|
||||
_worldPacket.WriteBit(CloseChoiceFrame);
|
||||
_worldPacket.WriteBit(HideWarboardHeader);
|
||||
_worldPacket.FlushBits();
|
||||
|
||||
foreach (PlayerChoiceResponse response in Responses)
|
||||
@@ -839,9 +843,11 @@ namespace Game.Network.Packets
|
||||
|
||||
public ObjectGuid SenderGUID;
|
||||
public int ChoiceID;
|
||||
public int UiTextureKitID;
|
||||
public string Question;
|
||||
public List<PlayerChoiceResponse> Responses = new List<PlayerChoiceResponse>();
|
||||
public bool CloseChoiceFrame;
|
||||
public bool HideWarboardHeader;
|
||||
}
|
||||
|
||||
class ChoiceResponse : ClientPacket
|
||||
@@ -897,6 +903,7 @@ namespace Game.Network.Packets
|
||||
public uint QuestID;
|
||||
public int QuestType; // Accepted values: 0, 1 or 2. 0 == IsAutoComplete() (skip objectives/details)
|
||||
public int QuestLevel; // may be -1, static data, in other cases must be used dynamic level: Player.GetQuestLevel (0 is not known, but assuming this is no longer valid for quest intended for client)
|
||||
public int QuestMaxScalingLevel = 255;
|
||||
public uint QuestPackageID;
|
||||
public int QuestMinLevel;
|
||||
public int QuestSortID; // zone or sort to display in quest log
|
||||
@@ -923,7 +930,7 @@ namespace Game.Network.Packets
|
||||
public float POIx;
|
||||
public float POIy;
|
||||
public uint POIPriority;
|
||||
public int AllowableRaces = -1;
|
||||
public long AllowableRaces = -1;
|
||||
public string LogTitle;
|
||||
public string LogDescription;
|
||||
public string QuestDescription;
|
||||
@@ -1129,11 +1136,12 @@ namespace Game.Network.Packets
|
||||
|
||||
public struct GossipText
|
||||
{
|
||||
public GossipText(uint questID, uint questType, uint questLevel, uint questFlags, uint questFlagsEx, bool repeatable, string questTitle)
|
||||
public GossipText(uint questID, uint questType, uint questLevel, uint questMaxScalingLevel, uint questFlags, uint questFlagsEx, bool repeatable, string questTitle)
|
||||
{
|
||||
QuestID = questID;
|
||||
QuestType = questType;
|
||||
QuestLevel = questLevel;
|
||||
QuestMaxScalingLevel = questMaxScalingLevel;
|
||||
QuestFlags = questFlags;
|
||||
QuestFlagsEx = questFlagsEx;
|
||||
Repeatable = repeatable;
|
||||
@@ -1143,6 +1151,7 @@ namespace Game.Network.Packets
|
||||
public uint QuestID;
|
||||
public uint QuestType;
|
||||
public uint QuestLevel;
|
||||
public uint QuestMaxScalingLevel;
|
||||
public uint QuestFlags;
|
||||
public uint QuestFlagsEx;
|
||||
public bool Repeatable;
|
||||
|
||||
@@ -864,7 +864,12 @@ namespace Game.Network.Packets
|
||||
{
|
||||
public SelfRes(WorldPacket packet) : base(packet) { }
|
||||
|
||||
public override void Read() { }
|
||||
public override void Read()
|
||||
{
|
||||
SpellId = _worldPacket.ReadUInt32();
|
||||
}
|
||||
|
||||
public uint SpellId;
|
||||
}
|
||||
|
||||
class GetMirrorImageData : ClientPacket
|
||||
@@ -1236,7 +1241,7 @@ namespace Game.Network.Packets
|
||||
|
||||
public void Write(WorldPacket data)
|
||||
{
|
||||
data.WriteBits(Type, 3);
|
||||
data.WriteBits(Type, 4);
|
||||
data.WriteInt16(PlayerLevelDelta);
|
||||
data.WriteUInt16(PlayerItemLevel);
|
||||
data.WriteUInt8(TargetLevel);
|
||||
|
||||
@@ -315,6 +315,8 @@ namespace Game.Network.Packets
|
||||
LastTitleAuthorGuid = data.ReadPackedGuid();
|
||||
LastDescriptionAuthorGuid = data.ReadPackedGuid();
|
||||
LastVoiceChatAuthorGuid = data.ReadPackedGuid();
|
||||
ListingCreatorGuid = data.ReadPackedGuid();
|
||||
Unknown735 = data.ReadPackedGuid();
|
||||
|
||||
byte titleLength = data.ReadBits<byte>(8);
|
||||
byte descriptionLength = data.ReadBits<byte>(11);
|
||||
@@ -330,6 +332,8 @@ namespace Game.Network.Packets
|
||||
ObjectGuid LastTitleAuthorGuid;
|
||||
ObjectGuid LastDescriptionAuthorGuid;
|
||||
ObjectGuid LastVoiceChatAuthorGuid;
|
||||
ObjectGuid ListingCreatorGuid;
|
||||
ObjectGuid Unknown735;
|
||||
string Title;
|
||||
string Description;
|
||||
string VoiceChat;
|
||||
|
||||
@@ -101,7 +101,7 @@ namespace Game.Network.Packets
|
||||
{
|
||||
MinLevel = data.ReadInt32();
|
||||
MaxLevel = data.ReadInt32();
|
||||
RaceFilter = data.ReadInt32();
|
||||
RaceFilter = data.ReadInt64();
|
||||
ClassFilter = data.ReadInt32();
|
||||
|
||||
uint nameLength = data.ReadBits<uint>(6);
|
||||
@@ -137,7 +137,7 @@ namespace Game.Network.Packets
|
||||
public string VirtualRealmName;
|
||||
public string Guild;
|
||||
public string GuildVirtualRealmName;
|
||||
public int RaceFilter = -1;
|
||||
public long RaceFilter = 0;
|
||||
public int ClassFilter = -1;
|
||||
public List<string> Words = new List<string>();
|
||||
public bool ShowEnemies;
|
||||
|
||||
Reference in New Issue
Block a user