From d389faabe7495f3b92a3818807fa1a7c55dd49bb Mon Sep 17 00:00:00 2001 From: hondacrx Date: Fri, 24 Jul 2020 16:22:17 -0400 Subject: [PATCH] Groups now only disband if all members reject the invitation (as opposed to if any member rejects the invitation). Port From (https://github.com/TrinityCore/TrinityCore/commit/e3077813d5bf4521fff8be3ea24db231ed00c02f) --- Source/Game/Entities/Player/Player.Groups.cs | 9 ++++++--- Source/Game/Groups/Group.cs | 1 + 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/Source/Game/Entities/Player/Player.Groups.cs b/Source/Game/Entities/Player/Player.Groups.cs index b879d82e7..a9078b21a 100644 --- a/Source/Game/Entities/Player/Player.Groups.cs +++ b/Source/Game/Entities/Player/Player.Groups.cs @@ -253,11 +253,14 @@ namespace Game.Entities group.RemoveInvite(this); - if (group.GetMembersCount() <= 1) // group has just 1 member => disband + if (group.IsCreated()) { - if (group.IsCreated()) + if (group.GetMembersCount() <= 1) // group has just 1 member => disband group.Disband(true); - else + } + else + { + if (group.GetInviteeCount() <= 1) group.RemoveAllInvites(); } } diff --git a/Source/Game/Groups/Group.cs b/Source/Game/Groups/Group.cs index cea3355b2..2a90e3765 100644 --- a/Source/Game/Groups/Group.cs +++ b/Source/Game/Groups/Group.cs @@ -2586,6 +2586,7 @@ namespace Game.Groups public List GetMemberSlots() { return m_memberSlots; } public GroupReference GetFirstMember() { return (GroupReference)m_memberMgr.GetFirst(); } public uint GetMembersCount() { return (uint)m_memberSlots.Count; } + public uint GetInviteeCount() { return (uint)m_invitees.Count; } public GroupFlags GetGroupFlags() { return m_groupFlags; } bool IsReadyCheckStarted() { return m_readyCheckStarted; }