Core/PacketIO: Updated to 11.0.0

Port From (https://github.com/TrinityCore/TrinityCore/commit/e59eef5432c7b70679d33f4911c88d0f7d75fd39)
This commit is contained in:
Hondacrx
2024-09-02 18:44:55 -04:00
parent bd0d40fa13
commit f38ad4607e
74 changed files with 4980 additions and 3595 deletions
@@ -8,27 +8,22 @@ namespace Game.Networking.Packets
{
public class InitializeFactions : ServerPacket
{
const ushort FactionCount = 1000;
public InitializeFactions() : base(ServerOpcodes.InitializeFactions, ConnectionType.Instance) { }
public override void Write()
{
for (ushort i = 0; i < FactionCount; ++i)
{
_worldPacket.WriteUInt16((ushort)((ushort)FactionFlags[i] & 0xFF));
_worldPacket.WriteInt32(FactionStandings[i]);
}
_worldPacket.WriteInt32(Factions.Count);
_worldPacket.WriteInt32(Bonuses.Count);
for (ushort i = 0; i < FactionCount; ++i)
_worldPacket.WriteBit(FactionHasBonus[i]);
foreach (FactionData faction in Factions)
faction.Write(_worldPacket);
_worldPacket.FlushBits();
foreach (FactionBonusData bonus in Bonuses)
bonus.Write(_worldPacket);
}
public int[] FactionStandings = new int[FactionCount];
public bool[] FactionHasBonus = new bool[FactionCount]; //@todo: implement faction bonus
public ReputationFlags[] FactionFlags = new ReputationFlags[FactionCount];
public List<FactionData> Factions = new();
public List<FactionBonusData> Bonuses = new();
}
class RequestForcedReactions : ClientPacket
@@ -73,6 +68,33 @@ namespace Game.Networking.Packets
public bool ShowVisual;
}
public struct FactionData
{
public uint FactionID;
public ushort Flags;
public int Standing;
public void Write(WorldPacket data)
{
data.WriteUInt32(FactionID);
data.WriteUInt16(Flags);
data.WriteInt32(Standing);
}
}
public struct FactionBonusData
{
public uint FactionID;
public bool FactionHasBonus;
public void Write(WorldPacket data)
{
data.WriteUInt32(FactionID);
data.WriteBit(FactionHasBonus);
data.FlushBits();
}
}
struct ForcedReaction
{
public void Write(WorldPacket data)