diff --git a/Mage.Sets/src/mage/cards/c/CheekyHouseMouse.java b/Mage.Sets/src/mage/cards/c/CheekyHouseMouse.java new file mode 100644 index 00000000000..3e01da005b8 --- /dev/null +++ b/Mage.Sets/src/mage/cards/c/CheekyHouseMouse.java @@ -0,0 +1,53 @@ +package mage.cards.c; + +import mage.MageInt; +import mage.abilities.effects.common.combat.CantBeBlockedTargetEffect; +import mage.abilities.effects.common.continuous.BoostTargetEffect; +import mage.cards.AdventureCard; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.ComparisonType; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.mageobject.PowerPredicate; +import mage.target.common.TargetControlledCreaturePermanent; + +import java.util.UUID; + +/** + * @author Susucr + */ +public final class CheekyHouseMouse extends AdventureCard { + + private static final FilterCreaturePermanent filter = + new FilterCreaturePermanent("creatures with power 3 or greater"); + + static { + filter.add(new PowerPredicate(ComparisonType.OR_GREATER, 3)); + } + + public CheekyHouseMouse(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, new CardType[]{CardType.SORCERY}, "{W}", "Squeak By", "{W}"); + + this.subtype.add(SubType.MOUSE); + this.power = new MageInt(2); + this.toughness = new MageInt(1); + + // Squeak By + // Target creature you control gets +1/+1 until end of turn. It can't be blocked by creatures with power 3 or greater this turn. + this.getSpellCard().getSpellAbility().addEffect(new BoostTargetEffect(1, 1)); + this.getSpellCard().getSpellAbility().addEffect(new CantBeBlockedTargetEffect(filter, Duration.EndOfTurn) + .setText("it can't be blocked by creatures with power 3 or greater this turn")); + this.getSpellCard().getSpellAbility().addTarget(new TargetControlledCreaturePermanent()); + } + + private CheekyHouseMouse(final CheekyHouseMouse card) { + super(card); + } + + @Override + public CheekyHouseMouse copy() { + return new CheekyHouseMouse(this); + } +} diff --git a/Mage.Sets/src/mage/sets/WildsOfEldraine.java b/Mage.Sets/src/mage/sets/WildsOfEldraine.java index 0efec9642fb..bb0f424ad2a 100644 --- a/Mage.Sets/src/mage/sets/WildsOfEldraine.java +++ b/Mage.Sets/src/mage/sets/WildsOfEldraine.java @@ -45,6 +45,7 @@ public final class WildsOfEldraine extends ExpansionSet { cards.add(new SetCardInfo("Chancellor of Tales", 45, Rarity.UNCOMMON, mage.cards.c.ChancellorOfTales.class)); cards.add(new SetCardInfo("Charmed Clothier", 6, Rarity.COMMON, mage.cards.c.CharmedClothier.class)); cards.add(new SetCardInfo("Charming Scoundrel", 124, Rarity.RARE, mage.cards.c.CharmingScoundrel.class)); + cards.add(new SetCardInfo("Cheeky House-Mouse", 7, Rarity.UNCOMMON, mage.cards.c.CheekyHouseMouse.class)); cards.add(new SetCardInfo("Conceited Witch", 84, Rarity.COMMON, mage.cards.c.ConceitedWitch.class)); cards.add(new SetCardInfo("Cruel Somnophage", 222, Rarity.RARE, mage.cards.c.CruelSomnophage.class)); cards.add(new SetCardInfo("Cursed Courtier", 9, Rarity.UNCOMMON, mage.cards.c.CursedCourtier.class)); diff --git a/Mage/src/main/java/mage/abilities/effects/common/combat/CantBeBlockedTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/combat/CantBeBlockedTargetEffect.java index 081b87b3ef1..38e16a7af9e 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/combat/CantBeBlockedTargetEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/combat/CantBeBlockedTargetEffect.java @@ -25,17 +25,14 @@ public class CantBeBlockedTargetEffect extends RestrictionEffect { public CantBeBlockedTargetEffect(Duration duration) { this(StaticFilters.FILTER_PERMANENT_CREATURE, duration); - this.staticText = null; } public CantBeBlockedTargetEffect(FilterCreaturePermanent filter, Duration duration) { super(duration, Outcome.Benefit); this.filter = filter; - staticText = new StringBuilder("{this} can't be blocked ") - .append(filter.getMessage().startsWith("except by") ? "" : "by ").append(filter.getMessage()).toString(); } - public CantBeBlockedTargetEffect(CantBeBlockedTargetEffect effect) { + protected CantBeBlockedTargetEffect(final CantBeBlockedTargetEffect effect) { super(effect); this.filter = effect.filter; }