From 938b4c50e195216a893d6e238a716a27f9f67d90 Mon Sep 17 00:00:00 2001 From: tool4EvEr Date: Mon, 13 Feb 2023 18:18:47 +0100 Subject: [PATCH] Fix ignoring CantAttach --- forge-game/src/main/java/forge/game/GameAction.java | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/forge-game/src/main/java/forge/game/GameAction.java b/forge-game/src/main/java/forge/game/GameAction.java index 26e7659c4c8..f7c6832f0da 100644 --- a/forge-game/src/main/java/forge/game/GameAction.java +++ b/forge-game/src/main/java/forge/game/GameAction.java @@ -2524,17 +2524,12 @@ public class GameAction { Player p = source.getController(); if (tgt.canTgtPlayer()) { - final FCollection players = new FCollection<>(); + final FCollection players = game.getPlayers().filter(PlayerPredicates.canBeAttached(source, aura)); - for (Player player : game.getPlayers()) { - if (player.isValid(tgt.getValidTgts(), aura.getActivatingPlayer(), source, aura)) { - players.add(player); - } - } final Player pa = p.getController().chooseSingleEntityForEffect(players, aura, Localizer.getInstance().getMessage("lblSelectAPlayerAttachSourceTo", CardTranslation.getTranslatedName(source.getName())), null); if (pa != null) { - source.attachToEntity(pa, null); + source.attachToEntity(pa, null, true); return true; } } else { @@ -2553,7 +2548,7 @@ public class GameAction { } list.addAll(game.getCardsIn(zones)); - list = CardLists.getValidCards(list, tgt.getValidTgts(), aura.getActivatingPlayer(), source, aura); + list = CardLists.filter(list, CardPredicates.canBeAttached(source, aura)); if (list.isEmpty()) { return false; }