From 3fe8cae306c19cd75dbccdce51f65e7eb28b12a2 Mon Sep 17 00:00:00 2001 From: theelk801 Date: Fri, 6 Sep 2024 21:33:49 -0400 Subject: [PATCH] [DSK] Implement Clammy Prowler --- Mage.Sets/src/mage/cards/c/ClammyProwler.java | 50 +++++++++++++++++++ .../src/mage/sets/DuskmournHouseOfHorror.java | 1 + 2 files changed, 51 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/c/ClammyProwler.java diff --git a/Mage.Sets/src/mage/cards/c/ClammyProwler.java b/Mage.Sets/src/mage/cards/c/ClammyProwler.java new file mode 100644 index 00000000000..03c57d061f7 --- /dev/null +++ b/Mage.Sets/src/mage/cards/c/ClammyProwler.java @@ -0,0 +1,50 @@ +package mage.cards.c; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.AttacksTriggeredAbility; +import mage.abilities.effects.common.combat.CantBeBlockedTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.filter.FilterPermanent; +import mage.filter.common.FilterAttackingCreature; +import mage.filter.predicate.mageobject.AnotherPredicate; +import mage.target.TargetPermanent; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class ClammyProwler extends CardImpl { + + private static final FilterPermanent filter = new FilterAttackingCreature("another target attacking creature"); + + static { + filter.add(AnotherPredicate.instance); + } + + public ClammyProwler(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT, CardType.CREATURE}, "{3}{U}"); + + this.subtype.add(SubType.HORROR); + this.power = new MageInt(2); + this.toughness = new MageInt(5); + + // Whenever Clammy Prowler attacks, another target attacking creature can't be blocked this turn. + Ability ability = new AttacksTriggeredAbility(new CantBeBlockedTargetEffect()); + ability.addTarget(new TargetPermanent(filter)); + this.addAbility(ability); + } + + private ClammyProwler(final ClammyProwler card) { + super(card); + } + + @Override + public ClammyProwler copy() { + return new ClammyProwler(this); + } +} diff --git a/Mage.Sets/src/mage/sets/DuskmournHouseOfHorror.java b/Mage.Sets/src/mage/sets/DuskmournHouseOfHorror.java index d6a3e2e7258..c3f76d5a55d 100644 --- a/Mage.Sets/src/mage/sets/DuskmournHouseOfHorror.java +++ b/Mage.Sets/src/mage/sets/DuskmournHouseOfHorror.java @@ -31,6 +31,7 @@ public final class DuskmournHouseOfHorror extends ExpansionSet { cards.add(new SetCardInfo("Blazemire Verge", 256, Rarity.RARE, mage.cards.b.BlazemireVerge.class)); cards.add(new SetCardInfo("Bleeding Woods", 257, Rarity.COMMON, mage.cards.b.BleedingWoods.class)); cards.add(new SetCardInfo("Chainsaw", 128, Rarity.RARE, mage.cards.c.Chainsaw.class)); + cards.add(new SetCardInfo("Clammy Prowler", 45, Rarity.COMMON, mage.cards.c.ClammyProwler.class)); cards.add(new SetCardInfo("Clockwork Percussionist", 130, Rarity.COMMON, mage.cards.c.ClockworkPercussionist.class)); cards.add(new SetCardInfo("Cult Healer", 2, Rarity.COMMON, mage.cards.c.CultHealer.class)); cards.add(new SetCardInfo("Cursed Recording", 131, Rarity.RARE, mage.cards.c.CursedRecording.class));