diff --git a/forge-ai/src/main/java/forge/ai/AiController.java b/forge-ai/src/main/java/forge/ai/AiController.java index d5520580341..9c1cc7cd8aa 100644 --- a/forge-ai/src/main/java/forge/ai/AiController.java +++ b/forge-ai/src/main/java/forge/ai/AiController.java @@ -1488,7 +1488,7 @@ public class AiController { if (landsWannaPlay != null) { landsWannaPlay = filterLandsToPlay(landsWannaPlay); Log.debug("Computer " + game.getPhaseHandler().getPhase().nameForUi); - if (!landsWannaPlay.isEmpty()) { + if (landsWannaPlay != null && !landsWannaPlay.isEmpty()) { // TODO search for other land it might want to play? Card land = chooseBestLandToPlay(landsWannaPlay); if ((!player.canLoseLife() || player.cantLoseForZeroOrLessLife() || ComputerUtil.getDamageFromETB(player, land) < player.getLife()) diff --git a/forge-game/src/main/java/forge/game/GameAction.java b/forge-game/src/main/java/forge/game/GameAction.java index b1ba74b841e..9d03a7a36be 100644 --- a/forge-game/src/main/java/forge/game/GameAction.java +++ b/forge-game/src/main/java/forge/game/GameAction.java @@ -1420,10 +1420,8 @@ public class GameAction { checkAgain = true; } } - if (!spaceSculptors.isEmpty()) { - for (Player p : spaceSculptors) { - checkAgain |= stateBasedAction704_5u(p); - } + for (Player p : spaceSculptors) { + checkAgain |= stateBasedAction704_5u(p); } // 704.5m World rule checkAgain |= handleWorldRule(noRegCreats); diff --git a/forge-game/src/main/java/forge/game/ability/effects/RestartGameEffect.java b/forge-game/src/main/java/forge/game/ability/effects/RestartGameEffect.java index 5eeac688763..97375d26c58 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/RestartGameEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/RestartGameEffect.java @@ -80,8 +80,7 @@ public class RestartGameEffect extends SpellAbilityEffect { } // special handling for Karn to filter out non-cards - CardCollection cmdCards = new CardCollection(p.getCardsIn(ZoneType.Command)); - for (Card c : cmdCards) { + for (Card c : p.getCardsIn(ZoneType.Command)) { if (c.isCommander()) { newLibrary.add(c); } diff --git a/forge-game/src/main/java/forge/game/ability/effects/RollDiceEffect.java b/forge-game/src/main/java/forge/game/ability/effects/RollDiceEffect.java index 83971c0b5ff..9dc8daa1b08 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/RollDiceEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/RollDiceEffect.java @@ -124,13 +124,15 @@ public class RollDiceEffect extends SpellAbilityEffect { total += modifier; // Run triggers + int rollNum = 1; for (Integer roll : rolls) { final Map runParams = AbilityKey.mapFromPlayer(player); runParams.put(AbilityKey.Sides, sides); runParams.put(AbilityKey.Modifier, modifier); runParams.put(AbilityKey.Result, roll); - runParams.put(AbilityKey.Number, player.getNumRollsThisTurn() + 1 - amount + rolls.indexOf(roll)); + runParams.put(AbilityKey.Number, player.getNumRollsThisTurn() - amount + rollNum); player.getGame().getTriggerHandler().runTrigger(TriggerType.RolledDie, runParams, false); + rollNum++; } final Map runParams = AbilityKey.mapFromPlayer(player); runParams.put(AbilityKey.Sides, sides);