diff --git a/forge-game/src/main/java/forge/game/ability/effects/DiscardEffect.java b/forge-game/src/main/java/forge/game/ability/effects/DiscardEffect.java index fce8c6cf64c..ec8d0508117 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/DiscardEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/DiscardEffect.java @@ -35,7 +35,7 @@ public class DiscardEffect extends SpellAbilityEffect { final String mode = sa.getParam("Mode"); final StringBuilder sb = new StringBuilder(); - final Iterable tgtPlayers = Iterables.filter(getTargetPlayers(sa), PlayerPredicates.canDiscardBy(sa, true)); + final Iterable tgtPlayers = getTargetPlayers(sa).filter(PlayerPredicates.canDiscardBy(sa, true)); if (!Iterables.isEmpty(tgtPlayers)) { sb.append(Lang.joinHomogenous(tgtPlayers)).append(" "); diff --git a/forge-game/src/main/java/forge/game/card/CardUtil.java b/forge-game/src/main/java/forge/game/card/CardUtil.java index 50641285999..e5a215c7039 100644 --- a/forge-game/src/main/java/forge/game/card/CardUtil.java +++ b/forge-game/src/main/java/forge/game/card/CardUtil.java @@ -315,7 +315,7 @@ public final class CardUtil { newCopy.setExiledWith(getLKICopy(in.getExiledWith(), cachedMap)); - if (in.getGame().getCombat() != null) { + if (in.getGame().getCombat() != null && in.isPermanent()) { newCopy.setCombatLKI(in.getGame().getCombat().saveLKI(newCopy)); } diff --git a/forge-game/src/main/java/forge/game/combat/Combat.java b/forge-game/src/main/java/forge/game/combat/Combat.java index 88148027ce3..5772e926b2c 100644 --- a/forge-game/src/main/java/forge/game/combat/Combat.java +++ b/forge-game/src/main/java/forge/game/combat/Combat.java @@ -300,7 +300,7 @@ public class Combat { return ab; } } - CombatLki lki = lkiCache.get(c) != null ? lkiCache.get(c).getCombatLKI() : null; + CombatLki lki = lkiCache.get(c).getCombatLKI(); return lki == null || !lki.isAttacker ? null : lki.getFirstBand(); } @@ -958,7 +958,7 @@ public class Combat { return false; } - CombatLki lki = lkiCache.get(blocker) != null ? lkiCache.get(blocker).getCombatLKI() : null; + CombatLki lki = lkiCache.get(blocker).getCombatLKI(); return null != lki && !lki.isAttacker; // was blocking something anyway } @@ -973,7 +973,7 @@ public class Combat { return false; } - CombatLki lki = lkiCache.get(blocker) != null ? lkiCache.get(blocker).getCombatLKI() : null; + CombatLki lki = lkiCache.get(blocker).getCombatLKI(); return null != lki && !lki.isAttacker && lki.relatedBands.contains(ab); // was blocking that very band }