From 1dcdcdfe2bd2ba2d7fa8682a289673bac2be0e0c Mon Sep 17 00:00:00 2001 From: aidan mcdu Date: Wed, 13 Sep 2023 14:37:33 -0400 Subject: [PATCH] [FNE] #jira: FORT-641244 Fixing issue caused when players try to join a game after leaving, but the party doesn't fit on the team. [CL 27842258 by aidan mcdu in ue5-main branch] --- .../Source/OnlineSubsystemUtils/Private/PartyBeaconHost.cpp | 2 +- .../OnlineSubsystemUtils/Private/PartyBeaconState.cpp | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Engine/Plugins/Online/OnlineSubsystemUtils/Source/OnlineSubsystemUtils/Private/PartyBeaconHost.cpp b/Engine/Plugins/Online/OnlineSubsystemUtils/Source/OnlineSubsystemUtils/Private/PartyBeaconHost.cpp index c4aaa31e251c..8f2834771002 100644 --- a/Engine/Plugins/Online/OnlineSubsystemUtils/Source/OnlineSubsystemUtils/Private/PartyBeaconHost.cpp +++ b/Engine/Plugins/Online/OnlineSubsystemUtils/Source/OnlineSubsystemUtils/Private/PartyBeaconHost.cpp @@ -667,7 +667,7 @@ EPartyReservationResult::Type APartyBeaconHost::AddPartyReservation(const FParty if (bContinue) { - if (State->AreTeamsAvailable(ReservationRequest)) + if (!ShouldRespectCompetitiveIntegrity() || State->AreTeamsAvailable(ReservationRequest)) { if (State->CrossPlayAllowed(ReservationRequest)) { diff --git a/Engine/Plugins/Online/OnlineSubsystemUtils/Source/OnlineSubsystemUtils/Private/PartyBeaconState.cpp b/Engine/Plugins/Online/OnlineSubsystemUtils/Source/OnlineSubsystemUtils/Private/PartyBeaconState.cpp index 38030ad11160..4bbe7abd6f18 100644 --- a/Engine/Plugins/Online/OnlineSubsystemUtils/Source/OnlineSubsystemUtils/Private/PartyBeaconState.cpp +++ b/Engine/Plugins/Online/OnlineSubsystemUtils/Source/OnlineSubsystemUtils/Private/PartyBeaconState.cpp @@ -629,7 +629,11 @@ bool UPartyBeaconState::CrossPlayAllowed(const FPartyReservation& ReservationReq bool UPartyBeaconState::DoesReservationFit(const FPartyReservation& ReservationRequest) const { const int32 IncomingPartySize = ReservationRequest.PartyMembers.Num(); - const bool bPartySizeOk = (IncomingPartySize > 0) && (IncomingPartySize <= NumPlayersPerTeam); + bool bPartySizeOk = true; + if (bRespectCompetitiveIntegrity) + { + bPartySizeOk = (IncomingPartySize > 0) && (IncomingPartySize <= NumPlayersPerTeam); + } const bool bRoomForReservation = (NumConsumedReservations + IncomingPartySize ) <= MaxReservations; UE_LOG(LogPartyBeacon, Verbose, TEXT("UPartyBeaconState::DoesReservationFit: Incoming Party Size: %d Num Players Per Team: %d NumConsumedReservations: %d MaxReservations: %d"), IncomingPartySize, NumPlayersPerTeam, NumConsumedReservations, MaxReservations);