diff --git a/Mage.Sets/src/mage/sets/invasion/PhyrexianDelver.java b/Mage.Sets/src/mage/sets/invasion/PhyrexianDelver.java index facf885f0e..b8f014661e 100644 --- a/Mage.Sets/src/mage/sets/invasion/PhyrexianDelver.java +++ b/Mage.Sets/src/mage/sets/invasion/PhyrexianDelver.java @@ -41,6 +41,7 @@ import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; import mage.game.Game; import mage.players.Player; +import mage.target.Target; import mage.target.common.TargetCardInYourGraveyard; /** @@ -60,7 +61,9 @@ public class PhyrexianDelver extends CardImpl { // When Phyrexian Delver enters the battlefield, return target creature card from your graveyard to the battlefield. You lose life equal to that card's converted mana cost. Ability ability = new EntersBattlefieldTriggeredAbility(new PhyrexianDelverEffect(), false); - ability.addTarget(new TargetCardInYourGraveyard(1, new FilterCreatureCard())); + Target target = new TargetCardInYourGraveyard(1, new FilterCreatureCard("creature card from your graveyard")); + target.setRequired(true); + ability.addTarget(target); this.addAbility(ability); } @@ -95,7 +98,10 @@ class PhyrexianDelverEffect extends OneShotEffect { Card creatureCard = game.getCard(this.getTargetPointer().getFirst(game, source)); Player controller = game.getPlayer(source.getControllerId()); if (creatureCard != null && controller != null) { - boolean result = creatureCard.putOntoBattlefield(game, Zone.GRAVEYARD, source.getSourceId(), source.getControllerId()); + boolean result = false; + if (game.getState().getZone(creatureCard.getId()).equals(Zone.GRAVEYARD)) { + result = controller.putOntoBattlefieldWithInfo(creatureCard, game, Zone.GRAVEYARD, source.getSourceId()); + } controller.loseLife(creatureCard.getManaCost().convertedManaCost(), game); return result; } diff --git a/Mage.Sets/src/mage/sets/returntoravnica/RitesOfReaping.java b/Mage.Sets/src/mage/sets/returntoravnica/RitesOfReaping.java index e161e3e0e1..00ccb64388 100644 --- a/Mage.Sets/src/mage/sets/returntoravnica/RitesOfReaping.java +++ b/Mage.Sets/src/mage/sets/returntoravnica/RitesOfReaping.java @@ -56,7 +56,7 @@ public class RitesOfReaping extends CardImpl { // Target creature gets +3/+3 until end of turn. Another target creature gets -3/-3 until end of turn. this.getSpellAbility().addEffect(new RitesOfReapingEffect()); - this.getSpellAbility().addTarget(new TargetCreaturePermanent(2)); + this.getSpellAbility().addTarget(new TargetCreaturePermanent(2, true)); } public RitesOfReaping(final RitesOfReaping card) { diff --git a/Mage/src/mage/abilities/effects/common/DamageMultiEffect.java b/Mage/src/mage/abilities/effects/common/DamageMultiEffect.java index 499e288f4c..60515f4920 100644 --- a/Mage/src/mage/abilities/effects/common/DamageMultiEffect.java +++ b/Mage/src/mage/abilities/effects/common/DamageMultiEffect.java @@ -89,6 +89,9 @@ public class DamageMultiEffect extends OneShotEffect { @Override public String getText(Mode mode) { + if (staticText != null && !staticText.isEmpty()) { + return staticText; + } StringBuilder sb = new StringBuilder(); sb.append("{source} deals ").append(amount.toString()); sb.append(" damage divided as you choose among any number of target ").append(mode.getTargets().get(0).getTargetName()); diff --git a/Mage/src/mage/abilities/effects/common/continious/SetCardColorTargetEffect.java b/Mage/src/mage/abilities/effects/common/continious/SetCardColorTargetEffect.java index a205317ce8..85028181c6 100644 --- a/Mage/src/mage/abilities/effects/common/continious/SetCardColorTargetEffect.java +++ b/Mage/src/mage/abilities/effects/common/continious/SetCardColorTargetEffect.java @@ -35,6 +35,7 @@ import mage.ObjectColor; import mage.abilities.Ability; import mage.abilities.Mode; import mage.abilities.effects.ContinuousEffectImpl; +import mage.choices.ChoiceColor; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; @@ -48,7 +49,20 @@ import mage.game.stack.StackObject; */ public class SetCardColorTargetEffect extends ContinuousEffectImpl { - private ObjectColor setColor; + private final ObjectColor setColor; + + /** + * Add a color choice to your ability to use this constructor + * Effect uses the color choice to set the color to apply + * + * @param duration + */ + public SetCardColorTargetEffect(Duration duration) { + this(null, duration, null); + } + public SetCardColorTargetEffect(ObjectColor setColor, Duration duration) { + this(setColor, duration, null); + } public SetCardColorTargetEffect(ObjectColor setColor, Duration duration, String text) { super(duration, Layer.ColorChangingEffects_5, SubLayer.NA, Outcome.Benefit); @@ -56,11 +70,6 @@ public class SetCardColorTargetEffect extends ContinuousEffectImpl