From df9fe45d7e13eec5193f0d98560bdfd2a5c0575f Mon Sep 17 00:00:00 2001 From: Sam Date: Wed, 1 Jun 2016 14:51:22 +0100 Subject: [PATCH] PC-409 Fixes an issue where the game lobby scoreboard would not account for players in /vanish. --- .../src/nautilus/game/arcade/ArcadeManager.java | 5 +++++ .../game/arcade/managers/GameLobbyManager.java | 15 ++++++++++++--- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/ArcadeManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/ArcadeManager.java index 7d4f4390d..bc037db22 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/ArcadeManager.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/ArcadeManager.java @@ -1212,6 +1212,11 @@ public class ArcadeManager extends MiniPlugin implements IRelation } return _specList.contains(player); } + + public boolean isVanished(Player player) + { + return _incognitoManager.Get(player).Status; + } public boolean IsTournamentServer() { diff --git a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameLobbyManager.java b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameLobbyManager.java index 9afcca280..f88cf57c1 100644 --- a/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameLobbyManager.java +++ b/Plugins/Nautilus.Game.Arcade/src/nautilus/game/arcade/managers/GameLobbyManager.java @@ -1047,6 +1047,15 @@ public class GameLobbyManager implements Listener _colorTick = !_colorTick; + int spectatorCount = 0; + + for(Player players : UtilServer.GetPlayers()) + { + { + spectatorCount++; + } + } + for (Entry entry : _scoreboardMap.entrySet()) { Objective objective = entry.getValue().getObjective("§l" + "Lobby"); @@ -1079,7 +1088,8 @@ public class GameLobbyManager implements Listener // Remove Old entry.getValue().resetScores(_oldPlayerCount + "/" + _oldMaxPlayerCount); // Set new - objective.getScore(UtilServer.getPlayers().length + "/" + Manager.GetPlayerFull()).setScore(line--); + + objective.getScore(UtilServer.getPlayers().length - spectatorCount + "/" + Manager.GetPlayerFull()).setScore(line--); if (Manager.GetGame() != null) { @@ -1150,7 +1160,7 @@ public class GameLobbyManager implements Listener } } - _oldPlayerCount = UtilServer.getPlayers().length; + _oldPlayerCount = UtilServer.getPlayers().length - spectatorCount; _oldMaxPlayerCount = Manager.GetPlayerFull(); } @@ -1364,5 +1374,4 @@ public class GameLobbyManager implements Listener event.setCancelled(true); } - }