From bb44b70d7e5b6716c17e70ae5dfffdd100e70d94 Mon Sep 17 00:00:00 2001 From: Grath <1895280+Grath@users.noreply.github.com> Date: Tue, 28 Jan 2025 15:42:51 -0500 Subject: [PATCH] [J25] Implement Rev, Tithe Extractor. --- .../src/mage/cards/r/RevTitheExtractor.java | 57 +++++++++++++++++++ .../src/mage/sets/FoundationsJumpstart.java | 2 +- 2 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 Mage.Sets/src/mage/cards/r/RevTitheExtractor.java diff --git a/Mage.Sets/src/mage/cards/r/RevTitheExtractor.java b/Mage.Sets/src/mage/cards/r/RevTitheExtractor.java new file mode 100644 index 00000000000..0de610319c9 --- /dev/null +++ b/Mage.Sets/src/mage/cards/r/RevTitheExtractor.java @@ -0,0 +1,57 @@ +package mage.cards.r; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.AttacksWithCreaturesTriggeredAbility; +import mage.abilities.common.OneOrMoreCombatDamagePlayerTriggeredAbility; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.effects.common.ExileFaceDownTopNLibraryYouMayPlayAsLongAsExiledTargetEffect; +import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; +import mage.abilities.keyword.DeathtouchAbility; +import mage.constants.*; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.filter.StaticFilters; +import mage.game.permanent.token.TreasureToken; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author Grath + */ +public final class RevTitheExtractor extends CardImpl { + + public RevTitheExtractor(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}"); + + this.supertype.add(SuperType.LEGENDARY); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // Whenever you attack, target creature gains deathtouch until end of turn. + Ability ability = new AttacksWithCreaturesTriggeredAbility(new GainAbilityTargetEffect(DeathtouchAbility.getInstance()), 1); + ability.addTarget(new TargetCreaturePermanent()); + this.addAbility(ability); + + // Whenever one or more creatures you control deal combat damage to a player, create a Treasure token, then look at the top card of that player's library and exile it face down. You may cast that card for as long as it remains exiled. + ability = new OneOrMoreCombatDamagePlayerTriggeredAbility(Zone.BATTLEFIELD, + new CreateTokenEffect(new TreasureToken()), StaticFilters.FILTER_PERMANENT_CREATURES, SetTargetPointer.PLAYER, false + ); + ability.addEffect(new ExileFaceDownTopNLibraryYouMayPlayAsLongAsExiledTargetEffect(true, CastManaAdjustment.NONE) + .setText(", then look at the top card of that player's library and exile it face down. " + + "You may play that card for as long as it remains exiled")); + this.addAbility(ability); + } + + private RevTitheExtractor(final RevTitheExtractor card) { + super(card); + } + + @Override + public RevTitheExtractor copy() { + return new RevTitheExtractor(this); + } +} diff --git a/Mage.Sets/src/mage/sets/FoundationsJumpstart.java b/Mage.Sets/src/mage/sets/FoundationsJumpstart.java index 6a02327151d..3117e79c0b4 100644 --- a/Mage.Sets/src/mage/sets/FoundationsJumpstart.java +++ b/Mage.Sets/src/mage/sets/FoundationsJumpstart.java @@ -565,7 +565,7 @@ public final class FoundationsJumpstart extends ExpansionSet { cards.add(new SetCardInfo("Resistance Reunited", 243, Rarity.UNCOMMON, mage.cards.r.ResistanceReunited.class)); cards.add(new SetCardInfo("Resistance Skywarden", 591, Rarity.UNCOMMON, mage.cards.r.ResistanceSkywarden.class)); cards.add(new SetCardInfo("Retreat to Kazandu", 707, Rarity.UNCOMMON, mage.cards.r.RetreatToKazandu.class)); - //cards.add(new SetCardInfo("Rev, Tithe Extractor", 45, Rarity.RARE, mage.cards.r.RevTitheExtractor.class)); + cards.add(new SetCardInfo("Rev, Tithe Extractor", 45, Rarity.RARE, mage.cards.r.RevTitheExtractor.class)); cards.add(new SetCardInfo("Revitalize", 244, Rarity.COMMON, mage.cards.r.Revitalize.class)); cards.add(new SetCardInfo("Revoke Demise", 10, Rarity.COMMON, mage.cards.r.RevokeDemise.class)); cards.add(new SetCardInfo("Rhox Faithmender", 245, Rarity.RARE, mage.cards.r.RhoxFaithmender.class));