Core: Updated to 11.2.5.63704
Port From (https://github.com/TrinityCore/TrinityCore/commit/53068a94e88991ae7196fb247df4b7ca2e47e554)
This commit is contained in:
@@ -299,7 +299,7 @@ namespace Game.Networking.Packets
|
||||
_worldPacket.WritePackedGuid(InviteGuid);
|
||||
_worldPacket.WriteUInt64(EventID);
|
||||
Date.Write(_worldPacket);
|
||||
_worldPacket.WriteUInt32((uint)Flags);
|
||||
_worldPacket.WriteUInt16((ushort)Flags);
|
||||
_worldPacket.WriteUInt8((byte)Status);
|
||||
ResponseTime.Write(_worldPacket);
|
||||
|
||||
@@ -324,7 +324,7 @@ namespace Game.Networking.Packets
|
||||
{
|
||||
_worldPacket.WritePackedGuid(InviteGuid);
|
||||
_worldPacket.WriteUInt64(EventID);
|
||||
_worldPacket.WriteUInt32(Flags);
|
||||
_worldPacket.WriteUInt16(Flags);
|
||||
|
||||
_worldPacket.WriteBit(ClearPending);
|
||||
_worldPacket.FlushBits();
|
||||
@@ -332,7 +332,7 @@ namespace Game.Networking.Packets
|
||||
|
||||
public ObjectGuid InviteGuid;
|
||||
public ulong EventID;
|
||||
public uint Flags;
|
||||
public ushort Flags;
|
||||
public bool ClearPending;
|
||||
}
|
||||
|
||||
@@ -364,7 +364,7 @@ namespace Game.Networking.Packets
|
||||
{
|
||||
_worldPacket.WriteUInt64(EventID);
|
||||
Date.Write(_worldPacket);
|
||||
_worldPacket.WriteUInt32((uint)Flags);
|
||||
_worldPacket.WriteUInt16((ushort)Flags);
|
||||
_worldPacket.WriteUInt8((byte)Status);
|
||||
}
|
||||
|
||||
@@ -653,12 +653,12 @@ namespace Game.Networking.Packets
|
||||
{
|
||||
_worldPacket.WriteUInt64(EventID);
|
||||
_worldPacket.WritePackedTime(Date);
|
||||
_worldPacket.WriteUInt32(Flags);
|
||||
_worldPacket.WriteUInt16(Flags);
|
||||
_worldPacket.WriteUInt8(Status);
|
||||
}
|
||||
|
||||
public ulong EventID;
|
||||
public uint Flags;
|
||||
public ushort Flags;
|
||||
public long Date;
|
||||
public byte Status;
|
||||
}
|
||||
|
||||
@@ -124,7 +124,7 @@ namespace Game.Networking.Packets
|
||||
if (fields.Read<uint>(18) != 0)
|
||||
Flags |= CharacterFlags.LockedByBilling;
|
||||
|
||||
if (WorldConfig.GetBoolValue(WorldCfg.DeclinedNamesUsed) && !string.IsNullOrEmpty(fields.Read<string>(28)))
|
||||
if (WorldConfig.GetBoolValue(WorldCfg.DeclinedNamesUsed) && !string.IsNullOrEmpty(fields.Read<string>(29)))
|
||||
Flags |= CharacterFlags.Declined;
|
||||
|
||||
if (atLoginFlags.HasAnyFlag(AtLoginFlags.Customize))
|
||||
@@ -168,19 +168,20 @@ namespace Game.Networking.Packets
|
||||
|
||||
StringArray equipment = new(fields.Read<string>(17), ' ');
|
||||
ListPosition = fields.Read<byte>(19);
|
||||
LastActiveTime = fields.Read<long>(20);
|
||||
CreateTime = fields.Read<long>(20);
|
||||
LastActiveTime = fields.Read<long>(21);
|
||||
|
||||
var spec = Global.DB2Mgr.GetChrSpecializationByIndex(ClassId, fields.Read<byte>(21));
|
||||
var spec = Global.DB2Mgr.GetChrSpecializationByIndex(ClassId, fields.Read<byte>(22));
|
||||
if (spec != null)
|
||||
SpecID = (short)spec.Id;
|
||||
|
||||
LastLoginVersion = fields.Read<int>(22);
|
||||
LastLoginVersion = fields.Read<int>(23);
|
||||
|
||||
PersonalTabard.EmblemStyle = fields.Read<int>(23);
|
||||
PersonalTabard.EmblemColor = fields.Read<int>(24);
|
||||
PersonalTabard.BorderStyle = fields.Read<int>(25);
|
||||
PersonalTabard.BorderColor = fields.Read<int>(26);
|
||||
PersonalTabard.BackgroundColor = fields.Read<int>(27);
|
||||
PersonalTabard.EmblemStyle = fields.Read<int>(24);
|
||||
PersonalTabard.EmblemColor = fields.Read<int>(25);
|
||||
PersonalTabard.BorderStyle = fields.Read<int>(26);
|
||||
PersonalTabard.BorderColor = fields.Read<int>(27);
|
||||
PersonalTabard.BackgroundColor = fields.Read<int>(28);
|
||||
|
||||
int equipmentFieldsPerSlot = 5;
|
||||
|
||||
@@ -226,6 +227,7 @@ namespace Game.Networking.Packets
|
||||
visualItem.Write(data);
|
||||
|
||||
data.WriteInt32(SaveVersion);
|
||||
data.WriteInt64(CreateTime);
|
||||
data.WriteInt64(LastActiveTime);
|
||||
data.WriteInt32(LastLoginVersion);
|
||||
PersonalTabard.Write(data);
|
||||
@@ -272,6 +274,7 @@ namespace Game.Networking.Packets
|
||||
public CharacterFlags4 Flags4; // Character flag4 @see enum CharacterFlags4
|
||||
public bool FirstLogin;
|
||||
public byte CantLoginReason;
|
||||
public long CreateTime;
|
||||
public long LastActiveTime;
|
||||
public short SpecID;
|
||||
public int SaveVersion;
|
||||
@@ -520,7 +523,7 @@ namespace Game.Networking.Packets
|
||||
|
||||
public override void Write()
|
||||
{
|
||||
_worldPacket.WriteUInt8((byte)Code);
|
||||
_worldPacket.WriteUInt32((uint)Code);
|
||||
_worldPacket.WritePackedGuid(Guid);
|
||||
}
|
||||
|
||||
@@ -546,7 +549,7 @@ namespace Game.Networking.Packets
|
||||
|
||||
public override void Write()
|
||||
{
|
||||
_worldPacket.WriteUInt8((byte)Code);
|
||||
_worldPacket.WriteUInt32((uint)Code);
|
||||
}
|
||||
|
||||
public ResponseCodes Code;
|
||||
@@ -572,7 +575,7 @@ namespace Game.Networking.Packets
|
||||
|
||||
public override void Write()
|
||||
{
|
||||
_worldPacket.WriteUInt8((byte)Result);
|
||||
_worldPacket.WriteUInt32((uint)Result);
|
||||
_worldPacket.WriteBit(Guid.HasValue);
|
||||
_worldPacket.WriteBits(Name.GetByteCount(), 6);
|
||||
_worldPacket.FlushBits();
|
||||
@@ -658,7 +661,7 @@ namespace Game.Networking.Packets
|
||||
|
||||
public override void Write()
|
||||
{
|
||||
_worldPacket.WriteUInt8((byte)Result);
|
||||
_worldPacket.WriteUInt32((uint)Result);
|
||||
_worldPacket.WritePackedGuid(Guid);
|
||||
_worldPacket.WriteBit(Display != null);
|
||||
_worldPacket.FlushBits();
|
||||
@@ -1173,11 +1176,11 @@ namespace Game.Networking.Packets
|
||||
|
||||
public override void Write()
|
||||
{
|
||||
_worldPacket.WriteUInt8(Result);
|
||||
_worldPacket.WriteUInt32(Result);
|
||||
_worldPacket.WritePackedGuid(CharGUID);
|
||||
}
|
||||
|
||||
public byte Result;
|
||||
public uint Result;
|
||||
public ObjectGuid CharGUID;
|
||||
}
|
||||
|
||||
|
||||
@@ -62,6 +62,7 @@ namespace Game.Networking.Packets
|
||||
_worldPacket.WriteInt32(Absorbed);
|
||||
_worldPacket.WriteInt32(Resisted);
|
||||
_worldPacket.WriteInt32(ShieldBlock);
|
||||
_worldPacket.WriteInt32(Flags);
|
||||
_worldPacket.WriteInt32(WorldTextViewers.Count);
|
||||
_worldPacket.WriteInt32(Supporters.Count);
|
||||
|
||||
@@ -69,7 +70,6 @@ namespace Game.Networking.Packets
|
||||
supportInfo.Write(_worldPacket);
|
||||
|
||||
_worldPacket.WriteBit(Periodic);
|
||||
_worldPacket.WriteBits(Flags, 7);
|
||||
_worldPacket.WriteBit(false); // Debug info
|
||||
WriteLogDataBit();
|
||||
_worldPacket.WriteBit(ContentTuning != null);
|
||||
@@ -657,7 +657,7 @@ namespace Game.Networking.Packets
|
||||
public int OriginalHeal;
|
||||
public ContentTuningParams ContentTuning;
|
||||
}
|
||||
|
||||
|
||||
//Structs
|
||||
public struct SpellLogEffectPowerDrainParams
|
||||
{
|
||||
|
||||
@@ -1619,12 +1619,12 @@ namespace Game.Networking.Packets
|
||||
data.WriteUInt8(Gender);
|
||||
data.WriteUInt64(GuildClubMemberID);
|
||||
data.WriteUInt8(RaceID);
|
||||
data.WriteInt32(TimerunningSeasonID);
|
||||
|
||||
data.WriteBits(Name.GetByteCount(), 6);
|
||||
data.WriteBits(Note.GetByteCount(), 8);
|
||||
data.WriteBits(OfficerNote.GetByteCount(), 8);
|
||||
data.WriteBit(Authenticated);
|
||||
data.WriteBit(SorEligible);
|
||||
data.FlushBits();
|
||||
|
||||
DungeonScore.Write(data);
|
||||
@@ -1653,8 +1653,8 @@ namespace Game.Networking.Packets
|
||||
public byte Gender;
|
||||
public ulong GuildClubMemberID;
|
||||
public byte RaceID;
|
||||
public int TimerunningSeasonID;
|
||||
public bool Authenticated;
|
||||
public bool SorEligible;
|
||||
public GuildRosterProfessionData[] Profession = new GuildRosterProfessionData[2];
|
||||
public DungeonScoreSummary DungeonScore = new();
|
||||
}
|
||||
@@ -1758,7 +1758,7 @@ namespace Game.Networking.Packets
|
||||
{
|
||||
data.WriteInt32(Id);
|
||||
CompletedDate.Write(data);
|
||||
data.WriteInt32(Type);
|
||||
data.WriteInt8(Type);
|
||||
data.WriteInt32(Flags);
|
||||
|
||||
for (byte i = 0; i < 2; i++)
|
||||
@@ -1779,7 +1779,7 @@ namespace Game.Networking.Packets
|
||||
|
||||
public int Id;
|
||||
public WowTime CompletedDate;
|
||||
public int Type;
|
||||
public sbyte Type;
|
||||
public int Flags;
|
||||
public int[] Data = new int[2];
|
||||
public ObjectGuid MemberGuid;
|
||||
|
||||
@@ -133,14 +133,14 @@ namespace Game.Networking.Packets
|
||||
public override void Write()
|
||||
{
|
||||
_worldPacket.WritePackedGuid(ItemGUID);
|
||||
_worldPacket.WriteUInt8(Result);
|
||||
_worldPacket.WriteUInt32(Result);
|
||||
_worldPacket.WriteBit(Contents != null);
|
||||
_worldPacket.FlushBits();
|
||||
if (Contents != null)
|
||||
Contents.Write(_worldPacket);
|
||||
}
|
||||
|
||||
public byte Result;
|
||||
public uint Result;
|
||||
public ObjectGuid ItemGUID;
|
||||
public ItemPurchaseContents Contents;
|
||||
}
|
||||
|
||||
@@ -167,7 +167,7 @@ namespace Game.Networking.Packets
|
||||
Ticket.Write(_worldPacket);
|
||||
|
||||
_worldPacket.WriteUInt8(SubType);
|
||||
_worldPacket.WriteUInt8(Reason);
|
||||
_worldPacket.WriteUInt32(Reason);
|
||||
_worldPacket.WriteInt32(Slots.Count);
|
||||
_worldPacket.WriteUInt8(RequestedRoles);
|
||||
_worldPacket.WriteInt32(SuspendedPlayers.Count);
|
||||
@@ -190,7 +190,7 @@ namespace Game.Networking.Packets
|
||||
|
||||
public RideTicket Ticket = new();
|
||||
public byte SubType;
|
||||
public byte Reason;
|
||||
public uint Reason;
|
||||
public List<uint> Slots = new();
|
||||
public byte RequestedRoles;
|
||||
public List<ObjectGuid> SuspendedPlayers = new();
|
||||
|
||||
@@ -212,12 +212,10 @@ namespace Game.Networking.Packets
|
||||
public override void Read() { }
|
||||
}
|
||||
|
||||
public class MailQueryNextTimeResult : ServerPacket
|
||||
public class MailQueryNextTimeResult() : ServerPacket(ServerOpcodes.MailQueryNextTimeResult)
|
||||
{
|
||||
public MailQueryNextTimeResult() : base(ServerOpcodes.MailQueryNextTimeResult)
|
||||
{
|
||||
Next = new List<MailNextTimeEntry>();
|
||||
}
|
||||
public float NextMailTime;
|
||||
public List<MailNextTimeEntry> Next = new();
|
||||
|
||||
public override void Write()
|
||||
{
|
||||
@@ -229,14 +227,11 @@ namespace Game.Networking.Packets
|
||||
_worldPacket.WritePackedGuid(entry.SenderGuid);
|
||||
_worldPacket.WriteFloat(entry.TimeLeft);
|
||||
_worldPacket.WriteInt32(entry.AltSenderID);
|
||||
_worldPacket.WriteInt8(entry.AltSenderType);
|
||||
_worldPacket.WriteInt32(entry.AltSenderType);
|
||||
_worldPacket.WriteInt32(entry.StationeryID);
|
||||
}
|
||||
}
|
||||
|
||||
public float NextMailTime;
|
||||
public List<MailNextTimeEntry> Next;
|
||||
|
||||
public class MailNextTimeEntry
|
||||
{
|
||||
public MailNextTimeEntry(Mail mail)
|
||||
@@ -266,7 +261,7 @@ namespace Game.Networking.Packets
|
||||
public ObjectGuid SenderGuid;
|
||||
public float TimeLeft;
|
||||
public int AltSenderID;
|
||||
public sbyte AltSenderType;
|
||||
public int AltSenderType;
|
||||
public int StationeryID;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -189,10 +189,8 @@ namespace Game.Networking.Packets
|
||||
public ObjectGuid Selection; // Target
|
||||
}
|
||||
|
||||
public class SetupCurrency : ServerPacket
|
||||
public class SetupCurrency() : ServerPacket(ServerOpcodes.SetupCurrency, ConnectionType.Instance)
|
||||
{
|
||||
public SetupCurrency() : base(ServerOpcodes.SetupCurrency, ConnectionType.Instance) { }
|
||||
|
||||
public override void Write()
|
||||
{
|
||||
_worldPacket.WriteInt32(Data.Count);
|
||||
@@ -201,6 +199,7 @@ namespace Game.Networking.Packets
|
||||
{
|
||||
_worldPacket.WriteUInt32(data.Type);
|
||||
_worldPacket.WriteUInt32(data.Quantity);
|
||||
_worldPacket.WriteUInt8(data.Flags);
|
||||
|
||||
_worldPacket.WriteBit(data.WeeklyQuantity.HasValue);
|
||||
_worldPacket.WriteBit(data.MaxWeeklyQuantity.HasValue);
|
||||
@@ -209,7 +208,6 @@ namespace Game.Networking.Packets
|
||||
_worldPacket.WriteBit(data.TotalEarned.HasValue);
|
||||
_worldPacket.WriteBit(data.NextRechargeTime.HasValue);
|
||||
_worldPacket.WriteBit(data.RechargeCycleStartTime.HasValue);
|
||||
_worldPacket.WriteBits(data.Flags, 5);
|
||||
_worldPacket.FlushBits();
|
||||
|
||||
if (data.WeeklyQuantity.HasValue)
|
||||
|
||||
@@ -1520,27 +1520,13 @@ namespace Game.Networking.Packets
|
||||
public void Write(WorldPacket data)
|
||||
{
|
||||
data.WriteUInt32(Flags);
|
||||
data.WriteUInt8((byte)Face);
|
||||
data.WriteInt32(Elapsed);
|
||||
data.WriteUInt32(MoveTime);
|
||||
data.WriteUInt32(FadeObjectTime);
|
||||
data.WriteUInt8(Mode);
|
||||
data.WritePackedGuid(TransportGUID);
|
||||
data.WriteInt8(VehicleSeat);
|
||||
data.WriteBits((byte)Face, 2);
|
||||
data.WriteBits(Points.Count, 16);
|
||||
data.WriteBit(VehicleExitVoluntary);
|
||||
data.WriteBit(TaxiSmoothing);
|
||||
data.WriteBits(PackedDeltas.Count, 16);
|
||||
data.WriteBit(SplineFilter != null);
|
||||
data.WriteBit(SpellEffectExtraData.HasValue);
|
||||
data.WriteBit(JumpExtraData.HasValue);
|
||||
data.WriteBit(TurnData != null);
|
||||
data.WriteBit(AnimTierTransition.HasValue);
|
||||
data.WriteBit(Unknown901 != null);
|
||||
data.FlushBits();
|
||||
|
||||
if (SplineFilter != null)
|
||||
SplineFilter.Write(data);
|
||||
|
||||
switch (Face)
|
||||
{
|
||||
@@ -1556,6 +1542,21 @@ namespace Game.Networking.Packets
|
||||
break;
|
||||
}
|
||||
|
||||
data.WriteBits(Points.Count, 16);
|
||||
data.WriteBit(VehicleExitVoluntary);
|
||||
data.WriteBit(TaxiSmoothing);
|
||||
data.WriteBits(PackedDeltas.Count, 16);
|
||||
data.WriteBit(SplineFilter != null);
|
||||
data.WriteBit(SpellEffectExtraData.HasValue);
|
||||
data.WriteBit(JumpExtraData.HasValue);
|
||||
data.WriteBit(TurnData != null);
|
||||
data.WriteBit(AnimTierTransition.HasValue);
|
||||
data.WriteBit(Unknown901 != null);
|
||||
data.FlushBits();
|
||||
|
||||
if (SplineFilter != null)
|
||||
SplineFilter.Write(data);
|
||||
|
||||
foreach (Vector3 pos in Points)
|
||||
data.WriteVector3(pos);
|
||||
|
||||
|
||||
@@ -164,7 +164,7 @@ namespace Game.Networking.Packets
|
||||
public override void Write()
|
||||
{
|
||||
_worldPacket.WritePackedGuid(TrainerGUID);
|
||||
_worldPacket.WriteInt32(TrainerType);
|
||||
_worldPacket.WriteInt8(TrainerType);
|
||||
_worldPacket.WriteInt32(TrainerID);
|
||||
|
||||
_worldPacket.WriteInt32(Spells.Count);
|
||||
@@ -188,7 +188,7 @@ namespace Game.Networking.Packets
|
||||
}
|
||||
|
||||
public ObjectGuid TrainerGUID;
|
||||
public int TrainerType;
|
||||
public sbyte TrainerType;
|
||||
public int TrainerID = 1;
|
||||
public List<TrainerListSpell> Spells = new();
|
||||
public string Greeting;
|
||||
@@ -339,7 +339,7 @@ namespace Game.Networking.Packets
|
||||
{
|
||||
public int GossipOptionID;
|
||||
public GossipOptionNpc OptionNPC;
|
||||
public byte OptionFlags;
|
||||
public int OptionFlags;
|
||||
public ulong OptionCost;
|
||||
public uint OptionLanguage;
|
||||
public GossipOptionFlags Flags;
|
||||
@@ -355,8 +355,8 @@ namespace Game.Networking.Packets
|
||||
public void Write(WorldPacket data)
|
||||
{
|
||||
data.WriteInt32(GossipOptionID);
|
||||
data.WriteInt32(OptionFlags);
|
||||
data.WriteUInt8((byte)OptionNPC);
|
||||
data.WriteInt8((sbyte)OptionFlags);
|
||||
data.WriteUInt64(OptionCost);
|
||||
data.WriteUInt32(OptionLanguage);
|
||||
data.WriteInt32((int)Flags);
|
||||
|
||||
@@ -1195,7 +1195,7 @@ namespace Game.Networking.Packets
|
||||
for (byte i = 0; i < 2; i++)
|
||||
data.WriteUInt8(PartyType[i]);
|
||||
|
||||
data.WriteInt16((short)Status);
|
||||
data.WriteUInt32((uint)Status);
|
||||
data.WriteUInt8(PowerType);
|
||||
data.WriteInt16((short)PowerDisplayID);
|
||||
data.WriteInt32(CurrentHealth);
|
||||
@@ -1387,6 +1387,7 @@ namespace Game.Networking.Packets
|
||||
public long Unknown_1120_4;
|
||||
public ObjectGuid KeystoneOwnerGUID;
|
||||
public ObjectGuid LeaverGUID;
|
||||
public long InstanceAbandonVoteCooldown;
|
||||
public bool IsActive;
|
||||
public bool HasRestrictions;
|
||||
public bool CanVoteAbandon;
|
||||
@@ -1399,6 +1400,7 @@ namespace Game.Networking.Packets
|
||||
data.WriteInt64(Unknown_1120_4);
|
||||
data.WritePackedGuid(KeystoneOwnerGUID);
|
||||
data.WritePackedGuid(LeaverGUID);
|
||||
data.WriteInt64(InstanceAbandonVoteCooldown);
|
||||
data.WriteBit(IsActive);
|
||||
data.WriteBit(HasRestrictions);
|
||||
data.WriteBit(CanVoteAbandon);
|
||||
|
||||
@@ -183,7 +183,7 @@ namespace Game.Networking.Packets
|
||||
|
||||
public override void Write()
|
||||
{
|
||||
_worldPacket.WriteUInt8((byte)Result);
|
||||
_worldPacket.WriteUInt32((uint)Result);
|
||||
_worldPacket.WritePackedGuid(RenameData.PetGUID);
|
||||
_worldPacket.WriteInt32(RenameData.PetNumber);
|
||||
|
||||
@@ -317,8 +317,8 @@ namespace Game.Networking.Packets
|
||||
|
||||
public override void Write()
|
||||
{
|
||||
_worldPacket.WriteInt32((int)Response);
|
||||
_worldPacket.WriteUInt32(SpellID);
|
||||
_worldPacket.WriteUInt8((byte)Response);
|
||||
}
|
||||
|
||||
public uint SpellID;
|
||||
@@ -345,10 +345,10 @@ namespace Game.Networking.Packets
|
||||
|
||||
public override void Write()
|
||||
{
|
||||
_worldPacket.WriteUInt8(Result);
|
||||
_worldPacket.WriteUInt32(Result);
|
||||
}
|
||||
|
||||
public byte Result;
|
||||
public uint Result;
|
||||
}
|
||||
|
||||
class PetMode : ServerPacket
|
||||
|
||||
@@ -294,7 +294,7 @@ namespace Game.Networking.Packets
|
||||
data.WriteInt32(AllowedMinLevel);
|
||||
data.WriteInt32(AllowedMaxLevel);
|
||||
data.WriteInt32(NumChoices);
|
||||
data.WriteInt32(StaticType);
|
||||
data.WriteInt8(StaticType);
|
||||
data.WriteUInt32(Muid);
|
||||
|
||||
data.WriteBits(Title.GetByteCount(), 8);
|
||||
@@ -327,7 +327,7 @@ namespace Game.Networking.Packets
|
||||
public int AllowedMinLevel;
|
||||
public int AllowedMaxLevel;
|
||||
public int NumChoices;
|
||||
public int StaticType;
|
||||
public sbyte StaticType;
|
||||
public uint Muid = 0;
|
||||
public StringArray Choicetext = new(10);
|
||||
}
|
||||
|
||||
@@ -270,7 +270,7 @@ namespace Game.Networking.Packets
|
||||
_worldPacket.WriteInt32(ObjectID);
|
||||
_worldPacket.WriteUInt16(Count);
|
||||
_worldPacket.WriteUInt16(Required);
|
||||
_worldPacket.WriteUInt8(ObjectiveType);
|
||||
_worldPacket.WriteUInt32(ObjectiveType);
|
||||
}
|
||||
|
||||
public ObjectGuid VictimGUID;
|
||||
@@ -278,7 +278,7 @@ namespace Game.Networking.Packets
|
||||
public uint QuestID;
|
||||
public ushort Count;
|
||||
public ushort Required;
|
||||
public byte ObjectiveType;
|
||||
public uint ObjectiveType;
|
||||
}
|
||||
|
||||
class QuestUpdateAddCreditSimple : ServerPacket
|
||||
@@ -289,7 +289,7 @@ namespace Game.Networking.Packets
|
||||
{
|
||||
_worldPacket.WriteUInt32(QuestID);
|
||||
_worldPacket.WriteInt32(ObjectID);
|
||||
_worldPacket.WriteUInt8((byte)ObjectiveType);
|
||||
_worldPacket.WriteUInt32((uint)ObjectiveType);
|
||||
}
|
||||
|
||||
public uint QuestID;
|
||||
@@ -748,7 +748,7 @@ namespace Game.Networking.Packets
|
||||
public override void Write()
|
||||
{
|
||||
_worldPacket.WritePackedGuid(SenderGUID);
|
||||
_worldPacket.WriteUInt8((byte)Result);
|
||||
_worldPacket.WriteUInt32((uint)Result);
|
||||
|
||||
_worldPacket.WriteBits(QuestTitle.GetByteCount(), 9);
|
||||
_worldPacket.FlushBits();
|
||||
@@ -769,7 +769,7 @@ namespace Game.Networking.Packets
|
||||
{
|
||||
SenderGUID = _worldPacket.ReadPackedGuid();
|
||||
QuestID = _worldPacket.ReadUInt32();
|
||||
Result = (QuestPushReason)_worldPacket.ReadUInt8();
|
||||
Result = (QuestPushReason)_worldPacket.ReadUInt32();
|
||||
}
|
||||
|
||||
public ObjectGuid SenderGUID;
|
||||
|
||||
@@ -736,9 +736,9 @@ namespace Game.Networking.Packets
|
||||
_worldPacket.WriteVector3(TargetPosition);
|
||||
_worldPacket.WriteUInt32(SpellVisualID);
|
||||
_worldPacket.WriteFloat(TravelSpeed);
|
||||
_worldPacket.WriteUInt16(HitReason);
|
||||
_worldPacket.WriteUInt16(MissReason);
|
||||
_worldPacket.WriteUInt16(ReflectStatus);
|
||||
_worldPacket.WriteUInt8(HitReason);
|
||||
_worldPacket.WriteUInt8(MissReason);
|
||||
_worldPacket.WriteUInt8(ReflectStatus);
|
||||
_worldPacket.WriteFloat(LaunchDelay);
|
||||
_worldPacket.WriteFloat(MinDuration);
|
||||
_worldPacket.WriteBit(SpeedAsTime);
|
||||
@@ -751,9 +751,9 @@ namespace Game.Networking.Packets
|
||||
public Vector3 TargetPosition; // Overrides missile destination for SpellVisual::SpellVisualMissileSetID
|
||||
public uint SpellVisualID;
|
||||
public float TravelSpeed;
|
||||
public ushort HitReason;
|
||||
public ushort MissReason;
|
||||
public ushort ReflectStatus;
|
||||
public byte HitReason;
|
||||
public byte MissReason;
|
||||
public byte ReflectStatus;
|
||||
public float LaunchDelay;
|
||||
public float MinDuration;
|
||||
public bool SpeedAsTime;
|
||||
@@ -1686,6 +1686,7 @@ namespace Game.Networking.Packets
|
||||
data.WriteInt32(ContentTuningID);
|
||||
data.WriteVector3(DstLocation);
|
||||
data.WriteBit(CastUnit.HasValue);
|
||||
data.WriteBit(CastItem.HasValue);
|
||||
data.WriteBit(Duration.HasValue);
|
||||
data.WriteBit(Remaining.HasValue);
|
||||
data.WriteBit(TimeMod.HasValue);
|
||||
@@ -1699,6 +1700,9 @@ namespace Game.Networking.Packets
|
||||
if (CastUnit.HasValue)
|
||||
data.WritePackedGuid(CastUnit.Value);
|
||||
|
||||
if (CastItem.HasValue)
|
||||
data.WritePackedGuid(CastItem.Value);
|
||||
|
||||
if (Duration.HasValue)
|
||||
data.WriteInt32(Duration.Value);
|
||||
|
||||
@@ -1725,6 +1729,7 @@ namespace Game.Networking.Packets
|
||||
public int ContentTuningID;
|
||||
ContentTuningParams ContentTuning;
|
||||
public ObjectGuid? CastUnit;
|
||||
public ObjectGuid? CastItem;
|
||||
public int? Duration;
|
||||
public int? Remaining;
|
||||
float? TimeMod;
|
||||
@@ -1776,8 +1781,10 @@ namespace Game.Networking.Packets
|
||||
{
|
||||
public void Read(WorldPacket data)
|
||||
{
|
||||
data.ResetBitPos();
|
||||
Flags = (SpellCastTargetFlags)data.ReadBits<uint>(28);
|
||||
Flags = (SpellCastTargetFlags)data.ReadUInt32();
|
||||
Unit = data.ReadPackedGuid();
|
||||
Item = data.ReadPackedGuid();
|
||||
|
||||
if (data.HasBit())
|
||||
SrcLocation = new();
|
||||
|
||||
@@ -1789,9 +1796,6 @@ namespace Game.Networking.Packets
|
||||
|
||||
uint nameLength = data.ReadBits<uint>(7);
|
||||
|
||||
Unit = data.ReadPackedGuid();
|
||||
Item = data.ReadPackedGuid();
|
||||
|
||||
if (SrcLocation != null)
|
||||
SrcLocation.Read(data);
|
||||
|
||||
@@ -1809,7 +1813,10 @@ namespace Game.Networking.Packets
|
||||
|
||||
public void Write(WorldPacket data)
|
||||
{
|
||||
data.WriteBits((uint)Flags, 28);
|
||||
data.WriteUInt32((uint)Flags);
|
||||
data.WritePackedGuid(Unit);
|
||||
data.WritePackedGuid(Item);
|
||||
|
||||
data.WriteBit(SrcLocation != null);
|
||||
data.WriteBit(DstLocation != null);
|
||||
data.WriteBit(Orientation.HasValue);
|
||||
@@ -1817,9 +1824,6 @@ namespace Game.Networking.Packets
|
||||
data.WriteBits(Name.GetByteCount(), 7);
|
||||
data.FlushBits();
|
||||
|
||||
data.WritePackedGuid(Unit);
|
||||
data.WritePackedGuid(Item);
|
||||
|
||||
if (SrcLocation != null)
|
||||
SrcLocation.Write(data);
|
||||
|
||||
@@ -1914,6 +1918,7 @@ namespace Game.Networking.Packets
|
||||
public void Read(WorldPacket data)
|
||||
{
|
||||
CastID = data.ReadPackedGuid();
|
||||
SendCastFlags = data.ReadUInt32();
|
||||
Misc[0] = data.ReadUInt32();
|
||||
Misc[1] = data.ReadUInt32();
|
||||
SpellID = data.ReadUInt32();
|
||||
@@ -1931,19 +1936,19 @@ namespace Game.Networking.Packets
|
||||
for (var i = 0; i < optionalCurrenciesCount; ++i)
|
||||
OptionalCurrencies[i].Read(data);
|
||||
|
||||
SendCastFlags = data.ReadBits<uint>(6);
|
||||
Target.Read(data);
|
||||
|
||||
data.ResetBitPos();
|
||||
bool hasMoveUpdate = data.HasBit();
|
||||
var weightCount = data.ReadBits<uint>(2);
|
||||
bool hasCraftingOrderID = data.HasBit();
|
||||
|
||||
Target.Read(data);
|
||||
for (var i = 0; i < optionalReagentsCount; ++i)
|
||||
OptionalReagents[i].Read(data);
|
||||
|
||||
if (hasCraftingOrderID)
|
||||
CraftingOrderID = data.ReadUInt64();
|
||||
|
||||
for (var i = 0; i < optionalReagentsCount; ++i)
|
||||
OptionalReagents[i].Read(data);
|
||||
|
||||
for (var i = 0; i < removedModificationsCount; ++i)
|
||||
RemovedModifications[i].Read(data);
|
||||
|
||||
@@ -2046,7 +2051,7 @@ namespace Game.Networking.Packets
|
||||
public void Write(WorldPacket data)
|
||||
{
|
||||
data.WriteUInt32(Points);
|
||||
data.WriteUInt8((byte)Type);
|
||||
data.WriteUInt32((uint)Type);
|
||||
data.WritePackedGuid(BeaconGUID);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -46,6 +46,10 @@ namespace Game.Networking.Packets
|
||||
_worldPacket.WriteInt32(AddonChatThrottle.MaxTries);
|
||||
_worldPacket.WriteInt32(AddonChatThrottle.TriesRestoredPerSecond);
|
||||
_worldPacket.WriteInt32(AddonChatThrottle.UsedTriesPerMessage);
|
||||
_worldPacket.WriteInt32(GuildChatThrottle.UsedTriesPerMessage);
|
||||
_worldPacket.WriteInt32(GuildChatThrottle.TriesRestoredPerSecond);
|
||||
_worldPacket.WriteInt32(GroupChatThrottle.UsedTriesPerMessage);
|
||||
_worldPacket.WriteInt32(GroupChatThrottle.TriesRestoredPerSecond);
|
||||
|
||||
_worldPacket.WriteFloat(AddonPerformanceMsgWarning);
|
||||
_worldPacket.WriteFloat(AddonPerformanceMsgError);
|
||||
@@ -202,7 +206,9 @@ namespace Game.Networking.Packets
|
||||
public int ActiveTimerunningSeasonID;
|
||||
public int RemainingTimerunningSeasonSeconds;
|
||||
public string Unknown1027; // related to movement lua functions used by keybinds
|
||||
public AddonChatThrottleParams AddonChatThrottle;
|
||||
public ChatThrottleParams AddonChatThrottle;
|
||||
public ChatThrottleParams GuildChatThrottle;
|
||||
public ChatThrottleParams GroupChatThrottle;
|
||||
public uint RealmPvpTypeOverride; ///< Use Cfg_Configs value = 0, ForceEnabled = 1, ForceDisabled = 2
|
||||
public float AddonPerformanceMsgWarning;
|
||||
public float AddonPerformanceMsgError;
|
||||
@@ -288,7 +294,7 @@ namespace Game.Networking.Packets
|
||||
public uint RewardsVersion;
|
||||
}
|
||||
|
||||
public struct AddonChatThrottleParams
|
||||
public struct ChatThrottleParams
|
||||
{
|
||||
public int MaxTries;
|
||||
public int TriesRestoredPerSecond;
|
||||
@@ -362,6 +368,8 @@ namespace Game.Networking.Packets
|
||||
_worldPacket.WriteInt32(GameRules.Count);
|
||||
_worldPacket.WriteInt32(ActiveTimerunningSeasonID);
|
||||
_worldPacket.WriteInt32(RemainingTimerunningSeasonSeconds);
|
||||
_worldPacket.WriteInt32((int)TimerunningConversionMinCharacterAge.TotalSeconds);
|
||||
_worldPacket.WriteInt32(TimerunningConversionMaxSeasonID);
|
||||
_worldPacket.WriteInt16(MaxPlayerGuidLookupsPerRequest);
|
||||
_worldPacket.WriteInt16(NameLookupTelemetryInterval);
|
||||
_worldPacket.WriteUInt32((uint)NotFoundCacheTimeSeconds.TotalSeconds);
|
||||
@@ -429,6 +437,8 @@ namespace Game.Networking.Packets
|
||||
public List<GameRuleValuePair> GameRules = new();
|
||||
public int ActiveTimerunningSeasonID;
|
||||
public int RemainingTimerunningSeasonSeconds;
|
||||
public TimeSpan TimerunningConversionMinCharacterAge = TimeSpan.FromDays(1);
|
||||
public int TimerunningConversionMaxSeasonID = -1;
|
||||
public short MaxPlayerGuidLookupsPerRequest = 50;
|
||||
public short NameLookupTelemetryInterval = 600;
|
||||
public TimeSpan NotFoundCacheTimeSeconds = TimeSpan.FromSeconds(10);
|
||||
@@ -439,6 +449,18 @@ namespace Game.Networking.Packets
|
||||
public string RealmHiddenAlert;
|
||||
}
|
||||
|
||||
class MirrorVars() : ServerPacket(ServerOpcodes.MirrorVars)
|
||||
{
|
||||
public MirrorVarSingle[] Variables;
|
||||
|
||||
public override void Write()
|
||||
{
|
||||
_worldPacket.WriteInt32(Variables.Length);
|
||||
foreach (MirrorVarSingle variable in Variables)
|
||||
variable.Write(_worldPacket);
|
||||
}
|
||||
}
|
||||
|
||||
public class SetTimeZoneInformation : ServerPacket
|
||||
{
|
||||
public SetTimeZoneInformation() : base(ServerOpcodes.SetTimeZoneInformation) { }
|
||||
@@ -524,4 +546,29 @@ namespace Game.Networking.Packets
|
||||
data.WriteString(Text);
|
||||
}
|
||||
}
|
||||
|
||||
public struct MirrorVarSingle
|
||||
{
|
||||
public string Name;
|
||||
public string Value;
|
||||
public int UpdateType;
|
||||
|
||||
public MirrorVarSingle(string name, string value, int updateType = 0)
|
||||
{
|
||||
Name = name;
|
||||
Value = value;
|
||||
UpdateType = updateType;
|
||||
}
|
||||
|
||||
public void Write(WorldPacket data)
|
||||
{
|
||||
data.WriteBits(UpdateType, 1);
|
||||
data.WriteBits(Name.GetByteCount(), 24);
|
||||
data.WriteBits(Value.GetByteCount(), 24);
|
||||
data.FlushBits();
|
||||
|
||||
data.WriteCString(Name);
|
||||
data.WriteCString(Value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -224,6 +224,7 @@ namespace Game.Networking.Packets
|
||||
public List<ushort> GlyphIDs = new();
|
||||
public sbyte Role;
|
||||
public int PrimarySpecialization;
|
||||
public bool Unused1125;
|
||||
|
||||
public void Write(WorldPacket data)
|
||||
{
|
||||
@@ -241,6 +242,9 @@ namespace Game.Networking.Packets
|
||||
|
||||
foreach (ushort id in GlyphIDs)
|
||||
data.WriteUInt16(id);
|
||||
|
||||
data.WriteBit(Unused1125);
|
||||
data.FlushBits();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -32,8 +32,8 @@ namespace Game.Networking.Packets
|
||||
{
|
||||
_worldPacket.WriteUInt64(auctionableTokenAuctionable.Id);
|
||||
_worldPacket.WriteInt64(auctionableTokenAuctionable.LastUpdate);
|
||||
_worldPacket.WriteUInt64(auctionableTokenAuctionable.Price);
|
||||
_worldPacket.WriteUInt32(auctionableTokenAuctionable.Status);
|
||||
_worldPacket.WriteUInt64(auctionableTokenAuctionable.Price);
|
||||
_worldPacket.WriteUInt32(auctionableTokenAuctionable.DurationLeft);
|
||||
}
|
||||
}
|
||||
@@ -70,15 +70,15 @@ namespace Game.Networking.Packets
|
||||
|
||||
public override void Write()
|
||||
{
|
||||
_worldPacket.WriteUInt64(PriceGuarantee);
|
||||
_worldPacket.WriteUInt32(ClientToken);
|
||||
_worldPacket.WriteUInt32((uint)ServerToken);
|
||||
_worldPacket.WriteUInt64(PriceGuarantee);
|
||||
_worldPacket.WriteUInt32(PriceLockDurationSeconds);
|
||||
}
|
||||
|
||||
public ulong PriceGuarantee;
|
||||
public uint ClientToken;
|
||||
public TokenResult ServerToken;
|
||||
public ulong PriceGuarantee;
|
||||
public uint PriceLockDurationSeconds;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -130,6 +130,7 @@ namespace Game.Networking.Packets
|
||||
TraitNodeEntryID = ufEntry.TraitNodeEntryID;
|
||||
Rank = ufEntry.Rank;
|
||||
GrantedRanks = ufEntry.GrantedRanks;
|
||||
BonusRanks = ufEntry.BonusRanks;
|
||||
}
|
||||
|
||||
public void Read(WorldPacket data)
|
||||
@@ -205,6 +206,7 @@ namespace Game.Networking.Packets
|
||||
public int LocalIdentifier; // Local to specialization
|
||||
public uint SkillLineID;
|
||||
public uint TraitSystemID;
|
||||
public int VariationID;
|
||||
public List<TraitEntryPacket> Entries = new();
|
||||
public List<TraitSubTreeCachePacket> SubTrees = new();
|
||||
public string Name = "";
|
||||
@@ -220,6 +222,7 @@ namespace Game.Networking.Packets
|
||||
LocalIdentifier = ufConfig.LocalIdentifier;
|
||||
SkillLineID = (uint)(int)ufConfig.SkillLineID;
|
||||
TraitSystemID = ufConfig.TraitSystemID;
|
||||
VariationID = ufConfig.VariationID;
|
||||
foreach (TraitEntry ufEntry in ufConfig.Entries)
|
||||
Entries.Add(new TraitEntryPacket(ufEntry));
|
||||
foreach (var ufSubTree in ufConfig.SubTrees)
|
||||
@@ -246,6 +249,7 @@ namespace Game.Networking.Packets
|
||||
break;
|
||||
case TraitConfigType.Generic:
|
||||
TraitSystemID = data.ReadUInt32();
|
||||
VariationID = data.ReadInt32();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@@ -289,6 +293,7 @@ namespace Game.Networking.Packets
|
||||
break;
|
||||
case TraitConfigType.Generic:
|
||||
data.WriteUInt32(TraitSystemID);
|
||||
data.WriteInt32(VariationID);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user