Skip to content

Commit ad08dc4

Browse files
committed
Fix party disbanding logic when last player leaves
1 parent f79dc01 commit ad08dc4

File tree

1 file changed

+18
-7
lines changed

1 file changed

+18
-7
lines changed

Intersect.Server.Core/Entities/Player.cs

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5265,19 +5265,30 @@ public void LeaveParty()
52655265

52665266
string partyMessage = currentParty.Count > 1
52675267
? Strings.Parties.MemberLeft.ToString(Name)
5268-
: Strings.Parties.Disbanded;
5268+
: Strings.Parties.Disbanded.ToString();
52695269

52705270
// Update all members of the party with the new list
52715271
foreach (var partyMember in currentParty)
52725272
{
52735273
partyMember.Party = currentParty.ToList();
52745274
PacketSender.SendParty(partyMember);
5275-
PacketSender.SendChatMsg(
5276-
partyMember,
5277-
partyMessage,
5278-
ChatMessageType.Party,
5279-
CustomColors.Alerts.Error
5280-
);
5275+
if (partyMessage != Strings.Parties.Disbanded.ToString())
5276+
{
5277+
PacketSender.SendChatMsg(
5278+
partyMember,
5279+
partyMessage,
5280+
ChatMessageType.Party,
5281+
CustomColors.Alerts.Error
5282+
);
5283+
}
5284+
}
5285+
// If theres only one player left, lets disband the party
5286+
if (currentParty.Count == 1)
5287+
{
5288+
var remainingMember = currentParty[0];
5289+
remainingMember.Party.Clear();
5290+
PacketSender.SendParty(remainingMember);
5291+
PacketSender.SendChatMsg(remainingMember, Strings.Parties.Disbanded, ChatMessageType.Party, CustomColors.Alerts.Error);
52815292
}
52825293

52835294
Party = new List<Player>();

0 commit comments

Comments
 (0)