From be246ef7339e758ed190189ec6acb8d5e14577a5 Mon Sep 17 00:00:00 2001 From: xenohedron Date: Thu, 27 Jul 2023 22:25:38 -0400 Subject: [PATCH] Implement [LTC] Subjugate the Hobbits --- .../src/mage/cards/s/SubjugateTheHobbits.java | 45 +++++++++++++++++++ .../sets/TalesOfMiddleEarthCommander.java | 1 + 2 files changed, 46 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/s/SubjugateTheHobbits.java diff --git a/Mage.Sets/src/mage/cards/s/SubjugateTheHobbits.java b/Mage.Sets/src/mage/cards/s/SubjugateTheHobbits.java new file mode 100644 index 00000000000..192b0666abd --- /dev/null +++ b/Mage.Sets/src/mage/cards/s/SubjugateTheHobbits.java @@ -0,0 +1,45 @@ +package mage.cards.s; + +import mage.abilities.effects.common.continuous.GainControlAllEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.ComparisonType; +import mage.constants.Duration; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.CommanderPredicate; +import mage.filter.predicate.mageobject.ManaValuePredicate; + +import java.util.UUID; + +/** + * @author xenohedron + */ +public final class SubjugateTheHobbits extends CardImpl { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("each noncommander creature with mana value 3 or less"); + + static { + filter.add(Predicates.not(CommanderPredicate.instance)); + filter.add(new ManaValuePredicate(ComparisonType.OR_LESS, 3)); + } + + public SubjugateTheHobbits(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{5}{U}{U}"); + + // Gain control of each noncommander creature with mana value 3 or less. + this.getSpellAbility().addEffect(new GainControlAllEffect(Duration.Custom, filter) + .setText("gain control of each noncommander creature with mana value 3 or less")); + + } + + private SubjugateTheHobbits(final SubjugateTheHobbits card) { + super(card); + } + + @Override + public SubjugateTheHobbits copy() { + return new SubjugateTheHobbits(this); + } +} diff --git a/Mage.Sets/src/mage/sets/TalesOfMiddleEarthCommander.java b/Mage.Sets/src/mage/sets/TalesOfMiddleEarthCommander.java index f88d0ebd007..b9780f4bde6 100644 --- a/Mage.Sets/src/mage/sets/TalesOfMiddleEarthCommander.java +++ b/Mage.Sets/src/mage/sets/TalesOfMiddleEarthCommander.java @@ -231,6 +231,7 @@ public final class TalesOfMiddleEarthCommander extends ExpansionSet { cards.add(new SetCardInfo("Smoldering Marsh", 332, Rarity.RARE, mage.cards.s.SmolderingMarsh.class)); cards.add(new SetCardInfo("Sol Ring", 284, Rarity.UNCOMMON, mage.cards.s.SolRing.class)); cards.add(new SetCardInfo("Song of Earendil", 69, Rarity.RARE, mage.cards.s.SongOfEarendil.class)); + cards.add(new SetCardInfo("Subjugate the Hobbits", 24, Rarity.RARE, mage.cards.s.SubjugateTheHobbits.class)); cards.add(new SetCardInfo("Sulfur Falls", 333, Rarity.RARE, mage.cards.s.SulfurFalls.class)); cards.add(new SetCardInfo("Sulfurous Springs", 334, Rarity.RARE, mage.cards.s.SulfurousSprings.class)); cards.add(new SetCardInfo("Sunken Hollow", 335, Rarity.RARE, mage.cards.s.SunkenHollow.class));