From 1476621df189f51a4eb9e485b44a2774fca8d4a7 Mon Sep 17 00:00:00 2001 From: Hans Mackowiak Date: Wed, 30 Apr 2025 07:03:26 +0200 Subject: [PATCH] CopyPermanentEffect: simplify getting PaperCard from DefinedName --- .../game/ability/effects/CopyPermanentEffect.java | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/forge-game/src/main/java/forge/game/ability/effects/CopyPermanentEffect.java b/forge-game/src/main/java/forge/game/ability/effects/CopyPermanentEffect.java index ff8be9e0861..df3cd87c0df 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/CopyPermanentEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/CopyPermanentEffect.java @@ -32,7 +32,6 @@ import forge.game.player.PlayerActionConfirmMode; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; import forge.item.PaperCard; -import forge.util.PredicateString.StringOp; public class CopyPermanentEffect extends TokenEffectBase { @@ -185,19 +184,15 @@ public class CopyPermanentEffect extends TokenEffectBase { System.err.println("Copying random permanent(s): " + tgtCards.toString()); } } else if (sa.hasParam("DefinedName")) { - List cards = Lists.newArrayList(StaticData.instance().getCommonCards().getUniqueCards()); String name = sa.getParam("DefinedName"); if (name.equals("NamedCard")) { if (!host.getNamedCard().isEmpty()) { name = host.getNamedCard(); } } - - Predicate cpp = PaperCardPredicates.fromRules(CardRulesPredicates.name(StringOp.EQUALS, name)); - cards = Lists.newArrayList(IterableUtil.filter(cards, cpp)); - - if (!cards.isEmpty()) { - tgtCards.add(Card.fromPaperCard(cards.get(0), controller)); + PaperCard pc = StaticData.instance().getCommonCards().getUniqueByName(name); + if (pc != null) { + tgtCards.add(Card.fromPaperCard(pc, controller)); } } else if (sa.hasParam("Choices")) { Player chooser = activator;