Core/PacketIO: Update some files

Port From (https://github.com/TrinityCore/TrinityCore/commit/76352cb391b4ff239ef70ff85ede4f09fcffc069)
This commit is contained in:
Hondacrx
2025-06-15 20:24:24 -04:00
parent 56e3f80366
commit f105edae7c
9 changed files with 43 additions and 37 deletions
+11
View File
@@ -458,6 +458,17 @@ namespace Framework.Constants
ItemHistorySlot = 38, ItemHistorySlot = 38,
} }
public enum ItemCollectionType : byte
{
None = 0,
Toy = 1,
Heirloom = 2,
Transmog = 3,
TransmogSetFavorite = 4,
RuneforgeLegendaryAbility = 5,
TransmogIllusion = 6,
}
public enum ItemContext : byte public enum ItemContext : byte
{ {
None = 0, None = 0,
+1 -1
View File
@@ -994,7 +994,7 @@ namespace Game
return; return;
AuctionHelloResponse auctionHelloResponse = new(); AuctionHelloResponse auctionHelloResponse = new();
auctionHelloResponse.Guid = guid; auctionHelloResponse.Auctioneer = guid;
auctionHelloResponse.OpenForBusiness = true; auctionHelloResponse.OpenForBusiness = true;
SendPacket(auctionHelloResponse); SendPacket(auctionHelloResponse);
} }
+3 -3
View File
@@ -14,10 +14,10 @@ namespace Game
{ {
switch (collectionItemSetFavorite.Type) switch (collectionItemSetFavorite.Type)
{ {
case CollectionType.Toybox: case ItemCollectionType.Toy:
GetCollectionMgr().ToySetFavorite(collectionItemSetFavorite.Id, collectionItemSetFavorite.IsFavorite); GetCollectionMgr().ToySetFavorite(collectionItemSetFavorite.Id, collectionItemSetFavorite.IsFavorite);
break; break;
case CollectionType.Appearance: case ItemCollectionType.Transmog:
{ {
var pair = GetCollectionMgr().HasItemAppearance(collectionItemSetFavorite.Id); var pair = GetCollectionMgr().HasItemAppearance(collectionItemSetFavorite.Id);
if (!pair.Item1 || pair.Item2) if (!pair.Item1 || pair.Item2)
@@ -26,7 +26,7 @@ namespace Game
GetCollectionMgr().SetAppearanceIsFavorite(collectionItemSetFavorite.Id, collectionItemSetFavorite.IsFavorite); GetCollectionMgr().SetAppearanceIsFavorite(collectionItemSetFavorite.Id, collectionItemSetFavorite.IsFavorite);
break; break;
} }
case CollectionType.TransmogSet: case ItemCollectionType.TransmogSetFavorite:
break; break;
default: default:
break; break;
+1 -1
View File
@@ -52,7 +52,7 @@ namespace Game
uint gmLevelInWhoList = WorldConfig.GetUIntValue(WorldCfg.GmLevelInWhoList); uint gmLevelInWhoList = WorldConfig.GetUIntValue(WorldCfg.GmLevelInWhoList);
WhoResponsePkt response = new(); WhoResponsePkt response = new();
response.RequestID = whoRequest.RequestID; response.Token = whoRequest.Token;
List<WhoListPlayerInfo> whoList = Global.WhoListStorageMgr.GetWhoList(); List<WhoListPlayerInfo> whoList = Global.WhoListStorageMgr.GetWhoList();
foreach (WhoListPlayerInfo target in whoList) foreach (WhoListPlayerInfo target in whoList)
@@ -512,18 +512,18 @@ namespace Game.Networking.Packets
class AuctionHelloResponse : ServerPacket class AuctionHelloResponse : ServerPacket
{ {
public ObjectGuid Guid; public ObjectGuid Auctioneer;
public uint PurchasedItemDeliveryDelay; public uint PurchaseDeliveryDelay;
public uint CancelledItemDeliveryDelay; public uint CancelDeliveryDelay;
public bool OpenForBusiness = true; public bool OpenForBusiness = true;
public AuctionHelloResponse() : base(ServerOpcodes.AuctionHelloResponse) { } public AuctionHelloResponse() : base(ServerOpcodes.AuctionHelloResponse) { }
public override void Write() public override void Write()
{ {
_worldPacket.WritePackedGuid(Guid); _worldPacket.WritePackedGuid(Auctioneer);
_worldPacket.WriteUInt32(PurchasedItemDeliveryDelay); _worldPacket.WriteUInt32(PurchaseDeliveryDelay);
_worldPacket.WriteUInt32(CancelledItemDeliveryDelay); _worldPacket.WriteUInt32(CancelDeliveryDelay);
_worldPacket.WriteBit(OpenForBusiness); _worldPacket.WriteBit(OpenForBusiness);
_worldPacket.FlushBits(); _worldPacket.FlushBits();
} }
@@ -2,7 +2,6 @@
// Licensed under the GNU GENERAL PUBLIC LICENSE. See LICENSE file in the project root for full license information. // Licensed under the GNU GENERAL PUBLIC LICENSE. See LICENSE file in the project root for full license information.
using Framework.Constants; using Framework.Constants;
using Framework.Dynamic;
using Game.Entities; using Game.Entities;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
@@ -147,6 +146,7 @@ namespace Game.Networking.Packets
_worldPacket.WriteUInt32(StartTimer); _worldPacket.WriteUInt32(StartTimer);
_worldPacket.WriteBit(ArenaFaction != 0); _worldPacket.WriteBit(ArenaFaction != 0);
_worldPacket.WriteBit(LeftEarly); _worldPacket.WriteBit(LeftEarly);
_worldPacket.WriteBit(Brawl);
_worldPacket.FlushBits(); _worldPacket.FlushBits();
} }
@@ -154,6 +154,7 @@ namespace Game.Networking.Packets
public uint ShutdownTimer; public uint ShutdownTimer;
public byte ArenaFaction; public byte ArenaFaction;
public bool LeftEarly; public bool LeftEarly;
public bool Brawl;
public uint StartTimer; public uint StartTimer;
public uint Mapid; public uint Mapid;
} }
@@ -1,28 +1,22 @@
// Copyright (c) CypherCore <http://github.com/CypherCore> All rights reserved. // 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. // Licensed under the GNU GENERAL PUBLIC LICENSE. See LICENSE file in the project root for full license information.
using Framework.Constants;
namespace Game.Networking.Packets namespace Game.Networking.Packets
{ {
public enum CollectionType
{
None = -1,
Toybox = 1,
Appearance = 3,
TransmogSet = 4
}
class CollectionItemSetFavorite : ClientPacket class CollectionItemSetFavorite : ClientPacket
{ {
public CollectionItemSetFavorite(WorldPacket packet) : base(packet) { } public CollectionItemSetFavorite(WorldPacket packet) : base(packet) { }
public override void Read() public override void Read()
{ {
Type = (CollectionType)_worldPacket.ReadUInt32(); Type = (ItemCollectionType)_worldPacket.ReadUInt32();
Id = _worldPacket.ReadUInt32(); Id = _worldPacket.ReadUInt32();
IsFavorite = _worldPacket.HasBit(); IsFavorite = _worldPacket.HasBit();
} }
public CollectionType Type; public ItemCollectionType Type;
public uint Id; public uint Id;
public bool IsFavorite; public bool IsFavorite;
} }
@@ -608,6 +608,8 @@ namespace Game.Networking.Packets
_worldPacket.WriteXYZ(OldMapPosition); _worldPacket.WriteXYZ(OldMapPosition);
_worldPacket.WriteBit(Ship.HasValue); _worldPacket.WriteBit(Ship.HasValue);
_worldPacket.WriteBit(TransferSpellID.HasValue); _worldPacket.WriteBit(TransferSpellID.HasValue);
_worldPacket.FlushBits();
if (Ship.HasValue) if (Ship.HasValue)
{ {
_worldPacket.WriteUInt32(Ship.Value.Id); _worldPacket.WriteUInt32(Ship.Value.Id);
@@ -616,8 +618,6 @@ namespace Game.Networking.Packets
if (TransferSpellID.HasValue) if (TransferSpellID.HasValue)
_worldPacket.WriteInt32(TransferSpellID.Value); _worldPacket.WriteInt32(TransferSpellID.Value);
_worldPacket.FlushBits();
} }
public int MapID = -1; public int MapID = -1;
@@ -1225,7 +1225,7 @@ namespace Game.Networking.Packets
public float InitVertSpeed; public float InitVertSpeed;
} }
public class SpeedRange public class StateChangeRangeInfo
{ {
public float Min; public float Min;
public float Max; public float Max;
@@ -1244,7 +1244,7 @@ namespace Game.Networking.Packets
data.WriteUInt32((uint)MessageID); data.WriteUInt32((uint)MessageID);
data.WriteUInt32(SequenceIndex); data.WriteUInt32(SequenceIndex);
data.WriteBit(Speed.HasValue); data.WriteBit(Speed.HasValue);
data.WriteBit(SpeedRange != null); data.WriteBit(Range != null);
data.WriteBit(KnockBack.HasValue); data.WriteBit(KnockBack.HasValue);
data.WriteBit(VehicleRecID.HasValue); data.WriteBit(VehicleRecID.HasValue);
data.WriteBit(CollisionHeight.HasValue); data.WriteBit(CollisionHeight.HasValue);
@@ -1260,10 +1260,10 @@ namespace Game.Networking.Packets
if (Speed.HasValue) if (Speed.HasValue)
data.WriteFloat(Speed.Value); data.WriteFloat(Speed.Value);
if (SpeedRange != null) if (Range != null)
{ {
data.WriteFloat(SpeedRange.Min); data.WriteFloat(Range.Min);
data.WriteFloat(SpeedRange.Max); data.WriteFloat(Range.Max);
} }
if (KnockBack.HasValue) if (KnockBack.HasValue)
@@ -1297,7 +1297,7 @@ namespace Game.Networking.Packets
public ServerOpcodes MessageID; public ServerOpcodes MessageID;
public uint SequenceIndex; public uint SequenceIndex;
public float? Speed; public float? Speed;
public SpeedRange SpeedRange; public StateChangeRangeInfo Range;
public KnockBackInfo? KnockBack; public KnockBackInfo? KnockBack;
public int? VehicleRecID; public int? VehicleRecID;
public CollisionHeightInfo? CollisionHeight; public CollisionHeightInfo? CollisionHeight;
+6 -6
View File
@@ -42,10 +42,10 @@ namespace Game.Networking.Packets
public override void Read() public override void Read()
{ {
uint areasCount = _worldPacket.ReadBits<uint>(4); uint areasCount = _worldPacket.ReadBits<uint>(4);
IsFromAddOn = _worldPacket.HasBit(); IsAddon = _worldPacket.HasBit();
Request.Read(_worldPacket); Request.Read(_worldPacket);
RequestID = _worldPacket.ReadUInt32(); Token = _worldPacket.ReadUInt32();
Origin = _worldPacket.ReadUInt8(); Origin = _worldPacket.ReadUInt8();
for (int i = 0; i < areasCount; ++i) for (int i = 0; i < areasCount; ++i)
@@ -53,9 +53,9 @@ namespace Game.Networking.Packets
} }
public WhoRequest Request = new(); public WhoRequest Request = new();
public uint RequestID; public uint Token;
public byte Origin; // 1 = Social, 2 = Chat, 3 = Item public byte Origin; // 1 = Social, 2 = Chat, 3 = Item
public bool IsFromAddOn; public bool IsAddon;
public List<int> Areas= new(); public List<int> Areas= new();
} }
@@ -65,14 +65,14 @@ namespace Game.Networking.Packets
public override void Write() public override void Write()
{ {
_worldPacket.WriteUInt32(RequestID); _worldPacket.WriteUInt32(Token);
_worldPacket.WriteBits(Response.Count, 6); _worldPacket.WriteBits(Response.Count, 6);
_worldPacket.FlushBits(); _worldPacket.FlushBits();
Response.ForEach(p => p.Write(_worldPacket)); Response.ForEach(p => p.Write(_worldPacket));
} }
public uint RequestID; public uint Token;
public List<WhoEntry> Response = new(); public List<WhoEntry> Response = new();
} }