From 6a523829563e05483de529f440f9ae93ffda579f Mon Sep 17 00:00:00 2001 From: yairm210 Date: Mon, 9 Sep 2024 21:45:13 +0300 Subject: [PATCH] Resolve #12197 - kick/skip turn in mutliplayer only active if the game contains the current player ID --- .../screens/multiplayerscreens/MultiplayerScreen.kt | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/core/src/com/unciv/ui/screens/multiplayerscreens/MultiplayerScreen.kt b/core/src/com/unciv/ui/screens/multiplayerscreens/MultiplayerScreen.kt index edb86a98d0..dd4033e48c 100644 --- a/core/src/com/unciv/ui/screens/multiplayerscreens/MultiplayerScreen.kt +++ b/core/src/com/unciv/ui/screens/multiplayerscreens/MultiplayerScreen.kt @@ -399,11 +399,14 @@ class MultiplayerScreen : PickerScreen() { } else { val durationInactive = Duration.between(Instant.ofEpochMilli(preview.currentTurnStartTime), Instant.now()) forceResignButton.isVisible = - preview.getPlayerCiv(game.settings.multiplayer.userId)?.civName == Constants.spectator - || durationInactive > Duration.ofDays(2) + game.settings.multiplayer.userId in preview.civilizations.map { it.playerId } && + preview.getPlayerCiv(game.settings.multiplayer.userId)?.civName == Constants.spectator + || durationInactive > Duration.ofDays(2) } - skipTurnButton.isVisible = preview != null && preview.gameParameters.minutesUntilSkipTurn <= - (Duration.between(Instant.ofEpochMilli(preview.currentTurnStartTime), Instant.now()).toMinutes()) + skipTurnButton.isVisible = preview != null + && game.settings.multiplayer.userId in preview.civilizations.map { it.playerId } + && preview.gameParameters.minutesUntilSkipTurn <= + Duration.between(Instant.ofEpochMilli(preview.currentTurnStartTime), Instant.now()).toMinutes() rightSideButton.enable()