From 98380f04ec737d2257d4f11c4834e792bcbcd2b7 Mon Sep 17 00:00:00 2001 From: theelk801 Date: Thu, 28 Mar 2024 12:22:11 -0400 Subject: [PATCH] [OTJ] Implement Hellspur Brute --- Mage.Sets/src/mage/cards/h/HellspurBrute.java | 58 +++++++++++++++++++ .../mage/sets/OutlawsOfThunderJunction.java | 1 + 2 files changed, 59 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/h/HellspurBrute.java diff --git a/Mage.Sets/src/mage/cards/h/HellspurBrute.java b/Mage.Sets/src/mage/cards/h/HellspurBrute.java new file mode 100644 index 00000000000..59417867a30 --- /dev/null +++ b/Mage.Sets/src/mage/cards/h/HellspurBrute.java @@ -0,0 +1,58 @@ +package mage.cards.h; + +import mage.MageInt; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; +import mage.abilities.effects.common.AffinityEffect; +import mage.abilities.hint.Hint; +import mage.abilities.hint.ValueHint; +import mage.abilities.keyword.TrampleAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Zone; +import mage.filter.common.FilterControlledPermanent; +import mage.filter.predicate.mageobject.OutlawPredicate; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class HellspurBrute extends CardImpl { + + private static final FilterControlledPermanent filter = new FilterControlledPermanent("outlaws"); + + static { + filter.add(OutlawPredicate.instance); + } + + private static final Hint hint = new ValueHint( + "Outlaws you control", new PermanentsOnBattlefieldCount(filter) + ); + + public HellspurBrute(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{R}"); + + this.subtype.add(SubType.MINOTAUR); + this.subtype.add(SubType.MERCENARY); + this.power = new MageInt(5); + this.toughness = new MageInt(4); + + // Affinity for outlaws + this.addAbility(new SimpleStaticAbility(Zone.ALL, new AffinityEffect(filter)).addHint(hint)); + + // Trample + this.addAbility(TrampleAbility.getInstance()); + } + + private HellspurBrute(final HellspurBrute card) { + super(card); + } + + @Override + public HellspurBrute copy() { + return new HellspurBrute(this); + } +} diff --git a/Mage.Sets/src/mage/sets/OutlawsOfThunderJunction.java b/Mage.Sets/src/mage/sets/OutlawsOfThunderJunction.java index e00386233e8..217151bf685 100644 --- a/Mage.Sets/src/mage/sets/OutlawsOfThunderJunction.java +++ b/Mage.Sets/src/mage/sets/OutlawsOfThunderJunction.java @@ -52,6 +52,7 @@ public final class OutlawsOfThunderJunction extends ExpansionSet { cards.add(new SetCardInfo("Frontier Seeker", 13, Rarity.UNCOMMON, mage.cards.f.FrontierSeeker.class)); cards.add(new SetCardInfo("Hardbristle Bandit", 168, Rarity.COMMON, mage.cards.h.HardbristleBandit.class)); cards.add(new SetCardInfo("Hell to Pay", 126, Rarity.RARE, mage.cards.h.HellToPay.class)); + cards.add(new SetCardInfo("Hellspur Brute", 127, Rarity.UNCOMMON, mage.cards.h.HellspurBrute.class)); cards.add(new SetCardInfo("High Noon", 15, Rarity.RARE, mage.cards.h.HighNoon.class)); cards.add(new SetCardInfo("Holy Cow", 16, Rarity.COMMON, mage.cards.h.HolyCow.class)); cards.add(new SetCardInfo("Honest Rutstein", 207, Rarity.UNCOMMON, mage.cards.h.HonestRutstein.class));