diff --git a/Mage.Sets/src/mage/cards/s/SparasAdjudicators.java b/Mage.Sets/src/mage/cards/s/SparasAdjudicators.java new file mode 100644 index 00000000000..73a4e430a37 --- /dev/null +++ b/Mage.Sets/src/mage/cards/s/SparasAdjudicators.java @@ -0,0 +1,49 @@ +package mage.cards.s; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.common.GiveManaAbilityAndCastSourceAbility; +import mage.abilities.effects.common.combat.CantAttackBlockTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.target.common.TargetOpponentsCreaturePermanent; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class SparasAdjudicators extends CardImpl { + + public SparasAdjudicators(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}{W}{U}"); + + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.CITIZEN); + this.power = new MageInt(4); + this.toughness = new MageInt(4); + + // When Spara's Adjudicators enters the battlefield, target creature an opponent controls can't attack or block until your next turn. + Ability ability = new EntersBattlefieldTriggeredAbility( + new CantAttackBlockTargetEffect(Duration.UntilYourNextTurn) + ); + ability.addTarget(new TargetOpponentsCreaturePermanent()); + this.addAbility(ability); + + // {2}, Exile Spara's Adjudicators from your hand: Target land gains "{T}: Add {G}, {W}, or {U}" until Spara's Adjudicators is cast from exile. You may cast Spara's Adjudicators for as long as it remains exiled. + this.addAbility(new GiveManaAbilityAndCastSourceAbility("GWU")); + } + + private SparasAdjudicators(final SparasAdjudicators card) { + super(card); + } + + @Override + public SparasAdjudicators copy() { + return new SparasAdjudicators(this); + } +} diff --git a/Mage.Sets/src/mage/sets/StreetsOfNewCapenna.java b/Mage.Sets/src/mage/sets/StreetsOfNewCapenna.java index 1d2302572c7..8500d545e2f 100644 --- a/Mage.Sets/src/mage/sets/StreetsOfNewCapenna.java +++ b/Mage.Sets/src/mage/sets/StreetsOfNewCapenna.java @@ -227,6 +227,7 @@ public final class StreetsOfNewCapenna extends ExpansionSet { cards.add(new SetCardInfo("Snooping Newsie", 222, Rarity.COMMON, mage.cards.s.SnoopingNewsie.class)); cards.add(new SetCardInfo("Social Climber", 157, Rarity.COMMON, mage.cards.s.SocialClimber.class)); cards.add(new SetCardInfo("Soul of Emancipation", 223, Rarity.RARE, mage.cards.s.SoulOfEmancipation.class)); + cards.add(new SetCardInfo("Spara's Adjudicators", 224, Rarity.COMMON, mage.cards.s.SparasAdjudicators.class)); cards.add(new SetCardInfo("Spara's Headquarters", 257, Rarity.RARE, mage.cards.s.SparasHeadquarters.class)); cards.add(new SetCardInfo("Speakeasy Server", 32, Rarity.COMMON, mage.cards.s.SpeakeasyServer.class)); cards.add(new SetCardInfo("Sticky Fingers", 124, Rarity.COMMON, mage.cards.s.StickyFingers.class)); diff --git a/Mage/src/main/java/mage/abilities/effects/common/combat/CantAttackBlockTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/combat/CantAttackBlockTargetEffect.java index a1f25df21d8..43b597dd5bb 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/combat/CantAttackBlockTargetEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/combat/CantAttackBlockTargetEffect.java @@ -1,6 +1,7 @@ package mage.abilities.effects.common.combat; import mage.abilities.Ability; +import mage.abilities.Mode; import mage.abilities.effects.RestrictionEffect; import mage.constants.Duration; import mage.game.Game; @@ -9,12 +10,10 @@ import mage.game.permanent.Permanent; /** * @author LevelX2 */ - public class CantAttackBlockTargetEffect extends RestrictionEffect { public CantAttackBlockTargetEffect(Duration duration) { super(duration); - staticText = "Target creature can't attack or block this turn"; } public CantAttackBlockTargetEffect(final CantAttackBlockTargetEffect effect) { @@ -41,4 +40,17 @@ public class CantAttackBlockTargetEffect extends RestrictionEffect { return new CantAttackBlockTargetEffect(this); } -} \ No newline at end of file + @Override + public String getText(Mode mode) { + if (staticText != null && !staticText.isEmpty()) { + return staticText; + } + StringBuilder sb = new StringBuilder("target creature can't attack or block "); + if (duration == Duration.EndOfTurn) { + sb.append("this turn"); + } else { + sb.append(duration); + } + return sb.toString(); + } +}