Core/PacketIO: Drop correct field in SMSG_PARTY_UPDATE and utilize new bit properly

Port From (https://github.com/TrinityCore/TrinityCore/commit/6d86c670dda434c7956164b1ca4490b93f8d862f)
This commit is contained in:
hondacrx
2022-08-19 20:06:27 -04:00
parent f777dfbe51
commit 6fa6405c58
2 changed files with 6 additions and 7 deletions
+2 -3
View File
@@ -1479,12 +1479,11 @@ namespace Game.Groups
playerInfos.GUID = member.guid; playerInfos.GUID = member.guid;
playerInfos.Name = member.name; playerInfos.Name = member.name;
playerInfos.Class = member._class;
playerInfos.FactionGroup = Player.GetFactionGroupForRace(member.race); playerInfos.FactionGroup = Player.GetFactionGroupForRace(member.race);
playerInfos.Status = GroupMemberOnlineStatus.Offline; playerInfos.Connected = memberPlayer?.GetSession() != null && !memberPlayer.GetSession().PlayerLogout();
if (memberPlayer && memberPlayer.GetSession() && !memberPlayer.GetSession().PlayerLogout())
playerInfos.Status = GroupMemberOnlineStatus.Online | (IsBGGroup() || IsBFGroup() ? GroupMemberOnlineStatus.PVP : 0);
playerInfos.Subgroup = member.group; // groupid playerInfos.Subgroup = member.group; // groupid
playerInfos.Flags = (byte)member.flags; // See enum GroupMemberFlags playerInfos.Flags = (byte)member.flags; // See enum GroupMemberFlags
@@ -1072,7 +1072,7 @@ namespace Game.Networking.Packets
public DungeonScoreSummary DungeonScore = new(); public DungeonScoreSummary DungeonScore = new();
} }
class PartyPlayerInfo struct PartyPlayerInfo
{ {
public void Write(WorldPacket data) public void Write(WorldPacket data)
{ {
@@ -1082,10 +1082,10 @@ namespace Game.Networking.Packets
data.WriteBit(VoiceChatSilenced); data.WriteBit(VoiceChatSilenced);
data.WriteBit(FromSocialQueue); data.WriteBit(FromSocialQueue);
data.WritePackedGuid(GUID); data.WritePackedGuid(GUID);
data.WriteUInt8((byte)Status);
data.WriteUInt8(Subgroup); data.WriteUInt8(Subgroup);
data.WriteUInt8(Flags); data.WriteUInt8(Flags);
data.WriteUInt8(RolesAssigned); data.WriteUInt8(RolesAssigned);
data.WriteUInt8(Class);
data.WriteUInt8(FactionGroup); data.WriteUInt8(FactionGroup);
data.WriteString(Name); data.WriteString(Name);
if (!VoiceStateID.IsEmpty()) if (!VoiceStateID.IsEmpty())
@@ -1095,14 +1095,14 @@ namespace Game.Networking.Packets
public ObjectGuid GUID; public ObjectGuid GUID;
public string Name; public string Name;
public string VoiceStateID; // same as bgs.protocol.club.v1.MemberVoiceState.id public string VoiceStateID; // same as bgs.protocol.club.v1.MemberVoiceState.id
public GroupMemberOnlineStatus Status; public byte Class;
public byte Subgroup; public byte Subgroup;
public byte Flags; public byte Flags;
public byte RolesAssigned; public byte RolesAssigned;
public byte FactionGroup; public byte FactionGroup;
public bool FromSocialQueue; public bool FromSocialQueue;
public bool VoiceChatSilenced; public bool VoiceChatSilenced;
public bool Connected = true; public bool Connected;
} }
struct PartyLFGInfo struct PartyLFGInfo