Core/PacketIO: Fixed BattlefieldStatusHeader structure and QueueID values for other battleground types

Port From (https://github.com/TrinityCore/TrinityCore/commit/d435d5d5ba7040a0de16d5b97202b2e61fd03344)
This commit is contained in:
hondacrx
2020-06-02 13:51:01 -04:00
parent 0e61c38792
commit 7290270bbf
4 changed files with 29 additions and 12 deletions
@@ -245,7 +245,7 @@ namespace Game.Network.Packets
public uint Timeout;
public uint Mapid;
public BattlefieldStatusHeader Hdr;
public BattlefieldStatusHeader Hdr = new BattlefieldStatusHeader();
public byte Role;
}
@@ -264,7 +264,7 @@ namespace Game.Network.Packets
_worldPacket.FlushBits();
}
public BattlefieldStatusHeader Hdr;
public BattlefieldStatusHeader Hdr = new BattlefieldStatusHeader();
public uint ShutdownTimer;
public byte ArenaFaction;
public bool LeftEarly;
@@ -288,7 +288,7 @@ namespace Game.Network.Packets
}
public uint AverageWaitTime;
public BattlefieldStatusHeader Hdr;
public BattlefieldStatusHeader Hdr = new BattlefieldStatusHeader();
public bool AsGroup;
public bool SuspendedQueue;
public bool EligibleForMatchmaking;
@@ -570,23 +570,27 @@ namespace Game.Network.Packets
}
//Structs
public struct BattlefieldStatusHeader
public class BattlefieldStatusHeader
{
public void Write(WorldPacket data)
{
Ticket.Write(data);
data.WriteUInt64(QueueID);
data.WriteInt32(QueueID.Count);
data.WriteUInt8(RangeMin);
data.WriteUInt8(RangeMax);
data.WriteUInt8(TeamSize);
data.WriteUInt32(InstanceID);
foreach (ulong queueID in QueueID)
data.WriteUInt64(queueID);
data.WriteBit(RegisteredMatch);
data.WriteBit(TournamentRules);
data.FlushBits();
}
public RideTicket Ticket;
public ulong QueueID;
public List<ulong> QueueID = new List<ulong>();
public byte RangeMin;
public byte RangeMax;
public byte TeamSize;