From b848e6255cf7f7176f392398de19e6773c606790 Mon Sep 17 00:00:00 2001 From: Hellfish Date: Sun, 29 Jan 2012 17:50:47 +0000 Subject: [PATCH] *Added a way to suppress all Replacement Effects of a card. --- .../forge/card/replacement/ReplacementHandler.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/main/java/forge/card/replacement/ReplacementHandler.java b/src/main/java/forge/card/replacement/ReplacementHandler.java index ddaa6208058..5284450ca0d 100644 --- a/src/main/java/forge/card/replacement/ReplacementHandler.java +++ b/src/main/java/forge/card/replacement/ReplacementHandler.java @@ -39,6 +39,16 @@ public class ReplacementHandler { private List tmpEffects = new ArrayList(); + private List suppressedCards = new ArrayList(); + + public void suppressCard(Card c) { + suppressedCards.add(c); + } + + public void clearCardSuppression(Card c) { + suppressedCards.remove(c); + } + /** * * Runs any applicable replacement effects. @@ -68,6 +78,9 @@ public class ReplacementHandler { //Round up Static replacement effects for (Player p : AllZone.getPlayersInGame()) { for (Card crd : p.getCardsIn(Zone.Battlefield)) { + if(suppressedCards.contains(crd)) { + continue; + } for (ReplacementEffect replacementEffect : crd.getReplacementEffects()) { if (replacementEffect.requirementsCheck()) { if (!replacementEffect.hasRun() && replacementEffect.canReplace(runParams)) {