From fab532cdb62ded87598cca1c191722aee1f36e15 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Thu, 14 Mar 2013 23:57:15 +0100 Subject: [PATCH] Support of X costs for CounterUnlessPaysEffect. --- .../common/CounterUnlessPaysEffect.java | 30 ++++++++++++++++--- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/Mage/src/mage/abilities/effects/common/CounterUnlessPaysEffect.java b/Mage/src/mage/abilities/effects/common/CounterUnlessPaysEffect.java index d05152a15cf..9901a7ac226 100644 --- a/Mage/src/mage/abilities/effects/common/CounterUnlessPaysEffect.java +++ b/Mage/src/mage/abilities/effects/common/CounterUnlessPaysEffect.java @@ -32,6 +32,8 @@ import mage.Constants.Outcome; import mage.abilities.Ability; import mage.abilities.Mode; import mage.abilities.costs.Cost; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.dynamicvalue.DynamicValue; import mage.abilities.effects.OneShotEffect; import mage.game.Game; import mage.game.stack.StackObject; @@ -44,15 +46,26 @@ import mage.players.Player; public class CounterUnlessPaysEffect extends OneShotEffect { protected Cost cost; + protected DynamicValue genericMana; public CounterUnlessPaysEffect(Cost cost) { super(Outcome.Detriment); this.cost = cost; } + public CounterUnlessPaysEffect(DynamicValue genericMana) { + super(Outcome.Detriment); + this.genericMana = genericMana; + } + public CounterUnlessPaysEffect(final CounterUnlessPaysEffect effect) { super(effect); - this.cost = effect.cost.copy(); + if (effect.cost != null) { + this.cost = effect.cost.copy(); + } + if (effect.genericMana != null) { + this.genericMana = effect.genericMana.copy(); + } } @Override @@ -66,8 +79,12 @@ public class CounterUnlessPaysEffect extends OneShotEffect