diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/BlunttheAssault.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/BlunttheAssault.java index ca3c3ec1b3..21f8c6727a 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/BlunttheAssault.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/BlunttheAssault.java @@ -33,11 +33,11 @@ import java.util.UUID; import mage.Constants; import mage.Constants.CardType; import mage.Constants.Rarity; -import mage.Constants.Zone; -import mage.abilities.dynamicvalue.common.CreaturesOnBattlefieldCount; +import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; import mage.abilities.effects.common.GainLifeEffect; import mage.abilities.effects.common.PreventAllCombatDamageEffect; import mage.cards.CardImpl; +import mage.filter.FilterPermanent; /** * @@ -45,13 +45,17 @@ import mage.cards.CardImpl; */ public class BlunttheAssault extends CardImpl { + private static final FilterPermanent filter = new FilterPermanent("creature on the battlefield"); + + static { + filter.getCardType().add(Constants.CardType.CREATURE); + } + public BlunttheAssault (UUID ownerId) { super(ownerId, 113, "Blunt the Assault", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{3}{G}"); this.expansionSetCode = "SOM"; this.color.setGreen(true); - GainLifeEffect effect = new GainLifeEffect(new CreaturesOnBattlefieldCount()); - effect.setStaticText("You gain 1 life for each creature on the battlefield"); - this.getSpellAbility().addEffect(effect); + this.getSpellAbility().addEffect(new GainLifeEffect(new PermanentsOnBattlefieldCount(filter))); this.getSpellAbility().addEffect(new PreventAllCombatDamageEffect(Constants.Duration.EndOfTurn)); } diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/DarksteelJuggernaut.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/DarksteelJuggernaut.java index 2e44118126..12cd85a7bc 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/DarksteelJuggernaut.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/DarksteelJuggernaut.java @@ -37,15 +37,22 @@ import mage.MageInt; import mage.abilities.common.AttacksEachTurnStaticAbility; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.common.continious.SetPowerToughnessSourceEffect; -import mage.abilities.dynamicvalue.common.ControlledArtifactsOnBattlefieldCount; +import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; import mage.abilities.keyword.IndestructibleAbility; import mage.cards.CardImpl; +import mage.filter.FilterPermanent; /** * * @author Loki */ public class DarksteelJuggernaut extends CardImpl { + private static final FilterPermanent filter = new FilterPermanent("artifacts you control"); + + static { + filter.getCardType().add(Constants.CardType.ARTIFACT); + filter.setTargetController(Constants.TargetController.YOU); + } public DarksteelJuggernaut (UUID ownerId) { super(ownerId, 150, "Darksteel Juggernaut", Rarity.RARE, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{5}"); @@ -53,7 +60,9 @@ public class DarksteelJuggernaut extends CardImpl { this.subtype.add("Juggernaut"); this.power = new MageInt(0); this.toughness = new MageInt(0); - SetPowerToughnessSourceEffect effect = new SetPowerToughnessSourceEffect(new ControlledArtifactsOnBattlefieldCount(), new ControlledArtifactsOnBattlefieldCount(), Constants.Duration.EndOfGame); + + PermanentsOnBattlefieldCount value = new PermanentsOnBattlefieldCount(filter); + SetPowerToughnessSourceEffect effect = new SetPowerToughnessSourceEffect(value, value, Constants.Duration.EndOfGame); effect.setStaticText("Darksteel Juggernaut's power and toughness are each equal to the number of artifacts you control"); this.addAbility(new SimpleStaticAbility(Constants.Zone.ALL, effect)); this.addAbility(IndestructibleAbility.getInstance()); diff --git a/Mage.Sets/src/mage/sets/zendikar/LandbindRitual.java b/Mage.Sets/src/mage/sets/zendikar/LandbindRitual.java index 081f153db4..765bb9bf74 100644 --- a/Mage.Sets/src/mage/sets/zendikar/LandbindRitual.java +++ b/Mage.Sets/src/mage/sets/zendikar/LandbindRitual.java @@ -42,7 +42,7 @@ import mage.filter.common.FilterLandPermanent; */ public class LandbindRitual extends CardImpl { - private static final FilterLandPermanent filter = new FilterLandPermanent("Plains"); + private static final FilterLandPermanent filter = new FilterLandPermanent("Plains you control"); static { filter.getSubtype().add("Plains"); @@ -55,7 +55,7 @@ public class LandbindRitual extends CardImpl { this.color.setWhite(true); - this.getSpellAbility().addEffect(new GainLifeEffect(new PermanentsOnBattlefieldCount(filter))); + this.getSpellAbility().addEffect(new GainLifeEffect(new PermanentsOnBattlefieldCount(filter, 2))); } public LandbindRitual(final LandbindRitual card) { diff --git a/Mage.Sets/src/mage/sets/zendikar/MindSludge.java b/Mage.Sets/src/mage/sets/zendikar/MindSludge.java index 2d243373ac..ea97505675 100644 --- a/Mage.Sets/src/mage/sets/zendikar/MindSludge.java +++ b/Mage.Sets/src/mage/sets/zendikar/MindSludge.java @@ -43,7 +43,7 @@ import mage.target.TargetPlayer; */ public class MindSludge extends CardImpl { - private static final FilterLandPermanent filter = new FilterLandPermanent("Swamp"); + private static final FilterLandPermanent filter = new FilterLandPermanent("Swamp you control"); static { filter.getSubtype().add("Swamp"); diff --git a/Mage/src/mage/abilities/dynamicvalue/DynamicValue.java b/Mage/src/mage/abilities/dynamicvalue/DynamicValue.java index a97e85b30f..ef6713d20d 100644 --- a/Mage/src/mage/abilities/dynamicvalue/DynamicValue.java +++ b/Mage/src/mage/abilities/dynamicvalue/DynamicValue.java @@ -8,4 +8,5 @@ import java.io.Serializable; public interface DynamicValue extends Serializable { int calculate(Game game, Ability sourceAbility); DynamicValue clone(); + String getMessage(); } diff --git a/Mage/src/mage/abilities/dynamicvalue/common/ArtifactsOnBattlefieldCount.java b/Mage/src/mage/abilities/dynamicvalue/common/ArtifactsOnBattlefieldCount.java deleted file mode 100644 index 1eeb2c96c1..0000000000 --- a/Mage/src/mage/abilities/dynamicvalue/common/ArtifactsOnBattlefieldCount.java +++ /dev/null @@ -1,27 +0,0 @@ -package mage.abilities.dynamicvalue.common; - -import mage.Constants; -import mage.abilities.Ability; -import mage.abilities.dynamicvalue.DynamicValue; -import mage.filter.Filter; -import mage.filter.FilterPermanent; -import mage.game.Game; - -class ArtifactsOnBattlefieldCount implements DynamicValue { - private static final FilterPermanent filter = new FilterPermanent(); - - static { - filter.getCardType().add(Constants.CardType.ARTIFACT); - filter.setScopeCardType(Filter.ComparisonScope.Any); - } - - @Override - public int calculate(Game game, Ability sourceAbility) { - return game.getBattlefield().countAll(filter); - } - - @Override - public DynamicValue clone() { - return new ArtifactsOnBattlefieldCount(); - } -} diff --git a/Mage/src/mage/abilities/dynamicvalue/common/CardsInControlledPlayerHandCount.java b/Mage/src/mage/abilities/dynamicvalue/common/CardsInControlledPlayerHandCount.java index 4f8322843c..e7b6383856 100644 --- a/Mage/src/mage/abilities/dynamicvalue/common/CardsInControlledPlayerHandCount.java +++ b/Mage/src/mage/abilities/dynamicvalue/common/CardsInControlledPlayerHandCount.java @@ -19,4 +19,9 @@ public class CardsInControlledPlayerHandCount implements DynamicValue { public DynamicValue clone() { return new CardsInControlledPlayerHandCount(); } + + @Override + public String getMessage() { + return ""; + } } diff --git a/Mage/src/mage/abilities/dynamicvalue/common/ControlledArtifactsOnBattlefieldCount.java b/Mage/src/mage/abilities/dynamicvalue/common/ControlledArtifactsOnBattlefieldCount.java deleted file mode 100644 index 1c06a208c5..0000000000 --- a/Mage/src/mage/abilities/dynamicvalue/common/ControlledArtifactsOnBattlefieldCount.java +++ /dev/null @@ -1,32 +0,0 @@ -package mage.abilities.dynamicvalue.common; - -import mage.Constants; -import mage.abilities.Ability; -import mage.abilities.dynamicvalue.DynamicValue; -import mage.filter.Filter; -import mage.filter.FilterPermanent; -import mage.game.Game; - -public class ControlledArtifactsOnBattlefieldCount implements DynamicValue { - private static final FilterPermanent filter = new FilterPermanent(); - - static { - filter.getCardType().add(Constants.CardType.ARTIFACT); - filter.setScopeCardType(Filter.ComparisonScope.Any); - } - - @Override - public int calculate(Game game, Ability sourceAbility) { - return game.getBattlefield().countAll(filter, sourceAbility.getControllerId()); - } - - @Override - public DynamicValue clone() { - return new ControlledArtifactsOnBattlefieldCount(); - } - - @Override - public String toString() { - return "X"; - } -} diff --git a/Mage/src/mage/abilities/dynamicvalue/common/CountersCount.java b/Mage/src/mage/abilities/dynamicvalue/common/CountersCount.java index efa22f71fb..6d0a817d6d 100644 --- a/Mage/src/mage/abilities/dynamicvalue/common/CountersCount.java +++ b/Mage/src/mage/abilities/dynamicvalue/common/CountersCount.java @@ -35,4 +35,9 @@ public class CountersCount implements DynamicValue { public String toString() { return "X"; } + + @Override + public String getMessage() { + return ""; + } } diff --git a/Mage/src/mage/abilities/dynamicvalue/common/CreaturesOnBattlefieldCount.java b/Mage/src/mage/abilities/dynamicvalue/common/CreaturesOnBattlefieldCount.java deleted file mode 100644 index e84769b8cd..0000000000 --- a/Mage/src/mage/abilities/dynamicvalue/common/CreaturesOnBattlefieldCount.java +++ /dev/null @@ -1,27 +0,0 @@ -package mage.abilities.dynamicvalue.common; - -import mage.Constants; -import mage.abilities.Ability; -import mage.abilities.dynamicvalue.DynamicValue; -import mage.filter.Filter; -import mage.filter.FilterPermanent; -import mage.game.Game; - -public class CreaturesOnBattlefieldCount implements DynamicValue { - private static final FilterPermanent filter = new FilterPermanent(); - - static { - filter.getCardType().add(Constants.CardType.CREATURE); - filter.setScopeCardType(Filter.ComparisonScope.Any); - } - - @Override - public int calculate(Game game, Ability sourceAbility) { - return game.getBattlefield().countAll(filter); - } - - @Override - public DynamicValue clone() { - return new CreaturesOnBattlefieldCount(); - } -} diff --git a/Mage/src/mage/abilities/dynamicvalue/common/ManacostVariableValue.java b/Mage/src/mage/abilities/dynamicvalue/common/ManacostVariableValue.java index 8b43648ef8..96c728473a 100644 --- a/Mage/src/mage/abilities/dynamicvalue/common/ManacostVariableValue.java +++ b/Mage/src/mage/abilities/dynamicvalue/common/ManacostVariableValue.java @@ -19,4 +19,9 @@ public class ManacostVariableValue implements DynamicValue { public String toString() { return "X"; } + + @Override + public String getMessage() { + return ""; + } } diff --git a/Mage/src/mage/abilities/dynamicvalue/common/PermanentsOnBattlefieldCount.java b/Mage/src/mage/abilities/dynamicvalue/common/PermanentsOnBattlefieldCount.java index 39e20e06b1..dc2a3b64b4 100644 --- a/Mage/src/mage/abilities/dynamicvalue/common/PermanentsOnBattlefieldCount.java +++ b/Mage/src/mage/abilities/dynamicvalue/common/PermanentsOnBattlefieldCount.java @@ -12,13 +12,19 @@ import mage.game.Game; public class PermanentsOnBattlefieldCount implements DynamicValue { private FilterPermanent filter; + private Integer amount; public PermanentsOnBattlefieldCount() { filter = new FilterPermanent(); } public PermanentsOnBattlefieldCount(FilterPermanent filter) { + this(filter, 1); + } + + public PermanentsOnBattlefieldCount(FilterPermanent filter, Integer amount) { this.filter = filter; + this.amount = amount; } public PermanentsOnBattlefieldCount(final PermanentsOnBattlefieldCount dynamicValue) { @@ -37,6 +43,11 @@ public class PermanentsOnBattlefieldCount implements DynamicValue { @Override public String toString() { - return "X"; + return amount.toString(); + } + + @Override + public String getMessage() { + return " for each " + filter.getMessage(); } } diff --git a/Mage/src/mage/abilities/dynamicvalue/common/StaticValue.java b/Mage/src/mage/abilities/dynamicvalue/common/StaticValue.java index bad46a62c3..e6384dcce9 100644 --- a/Mage/src/mage/abilities/dynamicvalue/common/StaticValue.java +++ b/Mage/src/mage/abilities/dynamicvalue/common/StaticValue.java @@ -30,4 +30,9 @@ public class StaticValue implements DynamicValue { public String toString() { return Integer.toString(value); } + + @Override + public String getMessage() { + return ""; + } } diff --git a/Mage/src/mage/abilities/effects/common/CreateTokenEffect.java b/Mage/src/mage/abilities/effects/common/CreateTokenEffect.java index b832bda75e..b18aee1fc3 100644 --- a/Mage/src/mage/abilities/effects/common/CreateTokenEffect.java +++ b/Mage/src/mage/abilities/effects/common/CreateTokenEffect.java @@ -90,6 +90,7 @@ public class CreateTokenEffect extends OneShotEffect { sb.append("put ").append(amount); } sb.append(" ").append(token.getDescription()).append(" onto the battlefield"); + sb.append(amount.getMessage()); return sb.toString(); } diff --git a/Mage/src/mage/abilities/effects/common/DamageTargetEffect.java b/Mage/src/mage/abilities/effects/common/DamageTargetEffect.java index 394334e5da..1c8c3f2a01 100644 --- a/Mage/src/mage/abilities/effects/common/DamageTargetEffect.java +++ b/Mage/src/mage/abilities/effects/common/DamageTargetEffect.java @@ -103,6 +103,7 @@ public class DamageTargetEffect extends OneShotEffect { StringBuilder sb = new StringBuilder(); sb.append("{source} deals ").append(amount).append(" damage to target "); sb.append(source.getTargets().get(0).getTargetName()); + sb.append(amount.getMessage()); if (!preventable) sb.append(". The damage can't be prevented"); return sb.toString(); diff --git a/Mage/src/mage/abilities/effects/common/DiscardTargetEffect.java b/Mage/src/mage/abilities/effects/common/DiscardTargetEffect.java index 87580dcd7b..e5b639449f 100644 --- a/Mage/src/mage/abilities/effects/common/DiscardTargetEffect.java +++ b/Mage/src/mage/abilities/effects/common/DiscardTargetEffect.java @@ -1,31 +1,30 @@ /* -* Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. -* -* Redistribution and use in source and binary forms, with or without modification, are -* permitted provided that the following conditions are met: -* -* 1. Redistributions of source code must retain the above copyright notice, this list of -* conditions and the following disclaimer. -* -* 2. Redistributions in binary form must reproduce the above copyright notice, this list -* of conditions and the following disclaimer in the documentation and/or other materials -* provided with the distribution. -* -* THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED -* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR -* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -* The views and conclusions contained in the software and documentation are those of the -* authors and should not be interpreted as representing official policies, either expressed -* or implied, of BetaSteward_at_googlemail.com. -*/ - + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ package mage.abilities.effects.common; import mage.Constants.Outcome; @@ -42,45 +41,49 @@ import mage.players.Player; */ public class DiscardTargetEffect extends OneShotEffect { - protected DynamicValue amount; + protected DynamicValue amount; - public DiscardTargetEffect(DynamicValue amount) { - super(Outcome.Discard); - this.amount = amount; - } + public DiscardTargetEffect(DynamicValue amount) { + super(Outcome.Discard); + this.amount = amount; + } public DiscardTargetEffect(int amount) { this(new StaticValue(amount)); } - - public DiscardTargetEffect(final DiscardTargetEffect effect) { - super(effect); - this.amount = effect.amount.clone(); - } - @Override - public DiscardTargetEffect copy() { - return new DiscardTargetEffect(this); - } + public DiscardTargetEffect(final DiscardTargetEffect effect) { + super(effect); + this.amount = effect.amount.clone(); + } - @Override - public boolean apply(Game game, Ability source) { - Player player = game.getPlayer(source.getFirstTarget()); - if (player != null) { - player.discard(amount.calculate(game, source), source, game); - return true; - } - return false; - } + @Override + public DiscardTargetEffect copy() { + return new DiscardTargetEffect(this); + } - @Override - public String getText(Ability source) { - int staticAmount = 0; - try{ - staticAmount = Integer.parseInt(amount.toString()); - } catch (Exception e) { + @Override + public boolean apply(Game game, Ability source) { + Player player = game.getPlayer(source.getFirstTarget()); + if (player != null) { + player.discard(amount.calculate(game, source), source, game); + return true; } - return "Target player discards " + amount.toString() + " card" + (staticAmount == 1 ? "" : "s"); - } + return false; + } + @Override + public String getText(Ability source) { + StringBuilder sb = new StringBuilder("Target player discards "); + sb.append(amount).append(" card"); + try { + if (Integer.parseInt(amount.toString()) > 1) { + sb.append("s"); + } + } catch (Exception e) { + sb.append("s"); + } + sb.append(amount.getMessage()); + return sb.toString(); + } } diff --git a/Mage/src/mage/abilities/effects/common/DrawCardTargetEffect.java b/Mage/src/mage/abilities/effects/common/DrawCardTargetEffect.java index 6e45cb4f9e..f147e78685 100644 --- a/Mage/src/mage/abilities/effects/common/DrawCardTargetEffect.java +++ b/Mage/src/mage/abilities/effects/common/DrawCardTargetEffect.java @@ -77,10 +77,14 @@ public class DrawCardTargetEffect extends OneShotEffect { public String getText(Ability source) { StringBuilder sb = new StringBuilder(); sb.append("Target player draws ").append(amount).append(" card"); - if (amount instanceof StaticValue && amount.calculate(null, null) == 1) { - } else { + try { + if (Integer.parseInt(amount.toString()) > 1) { + sb.append("s"); + } + } catch (Exception e) { sb.append("s"); } + sb.append(amount.getMessage()); return sb.toString(); } diff --git a/Mage/src/mage/abilities/effects/common/GainLifeEffect.java b/Mage/src/mage/abilities/effects/common/GainLifeEffect.java index 5c02454070..5450f30d49 100644 --- a/Mage/src/mage/abilities/effects/common/GainLifeEffect.java +++ b/Mage/src/mage/abilities/effects/common/GainLifeEffect.java @@ -74,7 +74,7 @@ public class GainLifeEffect extends OneShotEffect { @Override public String getDynamicText(Ability source) { - return "you gain " + life.toString() + " life"; + return "you gain " + life.toString() + " life" + life.getMessage(); } } diff --git a/Mage/src/mage/abilities/effects/common/continious/BoostEquippedEffect.java b/Mage/src/mage/abilities/effects/common/continious/BoostEquippedEffect.java index e3709309dd..7ea1dbc29f 100644 --- a/Mage/src/mage/abilities/effects/common/continious/BoostEquippedEffect.java +++ b/Mage/src/mage/abilities/effects/common/continious/BoostEquippedEffect.java @@ -93,9 +93,10 @@ public class BoostEquippedEffect extends ContinuousEffectImpl { @Override public String getDynamicText(Ability source) { - return "{this} gets " + power.toString() + "/" + toughness.toString() + " " + duration.toString(); + StringBuilder sb = new StringBuilder(); + sb.append("{this} gets ").append(power).append("/").append(toughness); + if (duration != Duration.WhileOnBattlefield) + sb.append(" ").append(duration.toString()); + sb.append(power.getMessage()); + return sb.toString(); } } diff --git a/Mage/src/mage/abilities/effects/common/continious/BoostTargetEffect.java b/Mage/src/mage/abilities/effects/common/continious/BoostTargetEffect.java index 966d549382..7aed6c0b6f 100644 --- a/Mage/src/mage/abilities/effects/common/continious/BoostTargetEffect.java +++ b/Mage/src/mage/abilities/effects/common/continious/BoostTargetEffect.java @@ -82,9 +82,11 @@ public class BoostTargetEffect extends ContinuousEffectImpl { @Override public String getText(Ability source) { StringBuilder sb = new StringBuilder(); - sb.append("target ").append(source.getTargets().get(0).getTargetName()).append(" gets "); - sb.append(power.toString()).append("/").append(toughness.toString()); - sb.append(" ").append(duration.toString()); + sb.append("Target ").append(source.getTargets().get(0).getTargetName()).append(" gets "); + sb.append(power).append("/").append(toughness); + if (duration != Duration.WhileOnBattlefield) + sb.append(" ").append(duration.toString()); + sb.append(power.getMessage()); return sb.toString(); } } diff --git a/Mage/src/mage/abilities/effects/common/continious/SetPowerToughnessSourceEffect.java b/Mage/src/mage/abilities/effects/common/continious/SetPowerToughnessSourceEffect.java index 869279ecb9..3c1209be55 100644 --- a/Mage/src/mage/abilities/effects/common/continious/SetPowerToughnessSourceEffect.java +++ b/Mage/src/mage/abilities/effects/common/continious/SetPowerToughnessSourceEffect.java @@ -84,7 +84,10 @@ public class SetPowerToughnessSourceEffect extends ContinuousEffectImpl