diff --git a/forge-ai/src/main/java/forge/ai/ability/ChangeZoneAi.java b/forge-ai/src/main/java/forge/ai/ability/ChangeZoneAi.java index 04e7cc793b4..47c408d8c79 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ChangeZoneAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ChangeZoneAi.java @@ -251,6 +251,10 @@ public class ChangeZoneAi extends SpellAbilityAi { if (ai.getGame().getPhaseHandler().getPhase().isAfter(PhaseType.COMBAT_DAMAGE)) { return false; } + + if (ai.getGame().getCombat() == null) { + return false; + } List attackers = ai.getGame().getCombat().getUnblockedAttackers(); boolean lowerCMC = false; for (Card attacker : attackers) { diff --git a/forge-game/src/main/java/forge/game/GameView.java b/forge-game/src/main/java/forge/game/GameView.java index 2e272988890..0aad79f5cba 100644 --- a/forge-game/src/main/java/forge/game/GameView.java +++ b/forge-game/src/main/java/forge/game/GameView.java @@ -1,9 +1,6 @@ package forge.game; -import java.util.List; - import com.google.common.collect.Iterables; - import forge.LobbyPlayer; import forge.deck.Deck; import forge.game.GameOutcome.AnteResult; @@ -22,6 +19,8 @@ import forge.trackable.TrackableObject; import forge.trackable.TrackableProperty; import forge.util.collect.FCollectionView; +import java.util.List; + public class GameView extends TrackableObject { private static final long serialVersionUID = 8522884512960961528L; @@ -127,7 +126,9 @@ public class GameView extends TrackableObject { void updateGameOver(final Game game) { set(TrackableProperty.GameOver, game.isGameOver()); set(TrackableProperty.MatchOver, game.getMatch().isMatchOver()); - set(TrackableProperty.WinningPlayerName, game.getOutcome().getWinningLobbyPlayer().getName()); + if (game.getOutcome() != null && game.getOutcome().getWinningLobbyPlayer() != null) { + set(TrackableProperty.WinningPlayerName, game.getOutcome().getWinningLobbyPlayer().getName()); + } set(TrackableProperty.WinningTeam, game.getOutcome() == null ? -1 : game.getOutcome().getWinningTeam()); }