diff --git a/Mage.Server/src/main/java/mage/server/game/GameController.java b/Mage.Server/src/main/java/mage/server/game/GameController.java index 59b7ca3251..d2b0cbac49 100644 --- a/Mage.Server/src/main/java/mage/server/game/GameController.java +++ b/Mage.Server/src/main/java/mage/server/game/GameController.java @@ -313,6 +313,11 @@ public class GameController implements GameCallback { private synchronized void startGame() { if (gameFuture == null) { + // workaround to fill range info (cause real range fills after game start, but users must get start event with game data already) + for (Player player : game.getPlayers().values()) { + player.updateRange(game); + } + for (GameSessionPlayer gameSessionPlayer : getGameSessions()) { gameSessionPlayer.init(); } diff --git a/Mage/src/main/java/mage/players/PlayerImpl.java b/Mage/src/main/java/mage/players/PlayerImpl.java index 6454109ed0..668f56fcb9 100644 --- a/Mage/src/main/java/mage/players/PlayerImpl.java +++ b/Mage/src/main/java/mage/players/PlayerImpl.java @@ -495,6 +495,7 @@ public abstract class PlayerImpl implements Player, Serializable { public void updateRange(Game game) { // 20100423 - 801.2c // 801.2c The particular players within each player’s range of influence are determined as each turn begins. + // BUT it also uses before game start to fill game and card data in starting game events inRange.clear(); inRange.add(this.playerId); inRange.addAll(getAllNearPlayers(game, true));