From d20004660a1ce0d2666f4a34920c426c7eeec0d9 Mon Sep 17 00:00:00 2001 From: Muz Date: Thu, 22 Jan 2026 16:39:38 -0600 Subject: [PATCH] [TMT] Implement Renet, Temporal Apprentice (#14288) * [TMT] Implement Renet, Temporal Apprentice * Use FilterNonlandPermanent over FilterPermanent --- .../mage/cards/r/RenetTemporalApprentice.java | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/r/RenetTemporalApprentice.java diff --git a/Mage.Sets/src/mage/cards/r/RenetTemporalApprentice.java b/Mage.Sets/src/mage/cards/r/RenetTemporalApprentice.java new file mode 100644 index 00000000000..ea5c7c4480e --- /dev/null +++ b/Mage.Sets/src/mage/cards/r/RenetTemporalApprentice.java @@ -0,0 +1,59 @@ +package mage.cards.r; + +import java.util.UUID; +import mage.MageInt; +import mage.constants.SubType; +import mage.constants.SuperType; +import mage.filter.FilterPermanent; +import mage.filter.common.FilterNonlandPermanent; +import mage.filter.predicate.mageobject.AnotherPredicate; +import mage.filter.predicate.permanent.EnteredThisTurnPredicate; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.common.ReturnToHandFromBattlefieldAllEffect; +import mage.abilities.keyword.FlashAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; + +/** + * + * @author muz + */ +public final class RenetTemporalApprentice extends CardImpl { + + private static final FilterPermanent filter = new FilterNonlandPermanent("nonland permanent that entered this turn"); + + static { + filter.add(AnotherPredicate.instance); + filter.add(EnteredThisTurnPredicate.instance); + } + + public RenetTemporalApprentice(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}{U}"); + + this.supertype.add(SuperType.LEGENDARY); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); + this.power = new MageInt(4); + this.toughness = new MageInt(3); + + // Flash + this.addAbility(FlashAbility.getInstance()); + + // When Renet enters, return each other nonland permanent that entered this turn to its owner's hand. + this.addAbility(new EntersBattlefieldTriggeredAbility( + new ReturnToHandFromBattlefieldAllEffect(filter) + .setText("return each other nonland permanent that entered this turn to its owner's hand"), + false + )); + } + + private RenetTemporalApprentice(final RenetTemporalApprentice card) { + super(card); + } + + @Override + public RenetTemporalApprentice copy() { + return new RenetTemporalApprentice(this); + } +}