From 15dfa5cec956dbbe14600d3a219b2b9c582727e9 Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Wed, 13 Apr 2022 22:35:00 -0400 Subject: [PATCH] [SNC] Implemented Night Clubber --- Mage.Sets/src/mage/cards/n/NightClubber.java | 47 +++++++++++++++++++ .../src/mage/sets/StreetsOfNewCapenna.java | 1 + .../main/java/mage/filter/StaticFilters.java | 7 +++ 3 files changed, 55 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/n/NightClubber.java diff --git a/Mage.Sets/src/mage/cards/n/NightClubber.java b/Mage.Sets/src/mage/cards/n/NightClubber.java new file mode 100644 index 00000000000..f080f6560d5 --- /dev/null +++ b/Mage.Sets/src/mage/cards/n/NightClubber.java @@ -0,0 +1,47 @@ +package mage.cards.n; + +import mage.MageInt; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.common.continuous.BoostAllEffect; +import mage.abilities.keyword.BlitzAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.filter.StaticFilters; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class NightClubber extends CardImpl { + + public NightClubber(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}{B}"); + + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // When Night Clubber enters the battlefield, creatures your opponents control get -1/-1 until end of turn. + this.addAbility(new EntersBattlefieldTriggeredAbility(new BoostAllEffect( + -1, 0, Duration.EndOfTurn, + StaticFilters.FILTER_OPPONENTS_PERMANENT_CREATURES, false + ))); + + // Blitz {2}{B} + this.addAbility(new BlitzAbility("{2}{B}")); + } + + private NightClubber(final NightClubber card) { + super(card); + } + + @Override + public NightClubber copy() { + return new NightClubber(this); + } +} diff --git a/Mage.Sets/src/mage/sets/StreetsOfNewCapenna.java b/Mage.Sets/src/mage/sets/StreetsOfNewCapenna.java index 6788c4eaef6..6267c753e04 100644 --- a/Mage.Sets/src/mage/sets/StreetsOfNewCapenna.java +++ b/Mage.Sets/src/mage/sets/StreetsOfNewCapenna.java @@ -99,6 +99,7 @@ public final class StreetsOfNewCapenna extends ExpansionSet { cards.add(new SetCardInfo("Make Disappear", 49, Rarity.COMMON, mage.cards.m.MakeDisappear.class)); cards.add(new SetCardInfo("Mountain", 268, Rarity.LAND, mage.cards.basiclands.Mountain.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Murder", 88, Rarity.COMMON, mage.cards.m.Murder.class)); + cards.add(new SetCardInfo("Night Clubber", 89, Rarity.UNCOMMON, mage.cards.n.NightClubber.class)); cards.add(new SetCardInfo("Nimble Larcenist", 205, Rarity.UNCOMMON, mage.cards.n.NimbleLarcenist.class)); cards.add(new SetCardInfo("Obscura Ascendancy", 207, Rarity.RARE, mage.cards.o.ObscuraAscendancy.class)); cards.add(new SetCardInfo("Obscura Charm", 208, Rarity.UNCOMMON, mage.cards.o.ObscuraCharm.class)); diff --git a/Mage/src/main/java/mage/filter/StaticFilters.java b/Mage/src/main/java/mage/filter/StaticFilters.java index e89d258e60f..c6e9354a033 100644 --- a/Mage/src/main/java/mage/filter/StaticFilters.java +++ b/Mage/src/main/java/mage/filter/StaticFilters.java @@ -434,6 +434,13 @@ public final class StaticFilters { FILTER_OPPONENTS_PERMANENT_CREATURE.setLockedFilter(true); } + public static final FilterCreaturePermanent FILTER_OPPONENTS_PERMANENT_CREATURES = new FilterCreaturePermanent("creatures an opponent controls"); + + static { + FILTER_OPPONENTS_PERMANENT_CREATURES.add(TargetController.OPPONENT.getControllerPredicate()); + FILTER_OPPONENTS_PERMANENT_CREATURES.setLockedFilter(true); + } + public static final FilterCreaturePermanent FILTER_OPPONENTS_PERMANENT_A_CREATURE = new FilterCreaturePermanent("a creature an opponent controls"); static {