From a6b571a8d6928f323a3a4d4323d85746ff21b10c Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Thu, 3 Feb 2022 08:54:58 -0500 Subject: [PATCH] [NEO] Implemented Reito Sentinel --- Mage.Sets/src/mage/cards/r/ReitoSentinel.java | 56 +++++++++++++++++++ .../src/mage/sets/KamigawaNeonDynasty.java | 1 + 2 files changed, 57 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/r/ReitoSentinel.java diff --git a/Mage.Sets/src/mage/cards/r/ReitoSentinel.java b/Mage.Sets/src/mage/cards/r/ReitoSentinel.java new file mode 100644 index 0000000000..ac0b2485d5 --- /dev/null +++ b/Mage.Sets/src/mage/cards/r/ReitoSentinel.java @@ -0,0 +1,56 @@ +package mage.cards.r; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.effects.common.MillCardsTargetEffect; +import mage.abilities.effects.common.PutOnLibraryTargetEffect; +import mage.abilities.keyword.DefenderAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.target.TargetPlayer; +import mage.target.common.TargetCardInGraveyard; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class ReitoSentinel extends CardImpl { + + public ReitoSentinel(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{3}"); + + this.subtype.add(SubType.CONSTRUCT); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // Defender + this.addAbility(DefenderAbility.getInstance()); + + // When Reito Sentinel enters the battlefield, target player mills three cards. + Ability ability = new EntersBattlefieldTriggeredAbility(new MillCardsTargetEffect(3)); + ability.addTarget(new TargetPlayer()); + this.addAbility(ability); + + // {3}: Put target card from a graveyard on the bottom of its owner's library. + ability = new SimpleActivatedAbility(new PutOnLibraryTargetEffect( + false, "put target card from a graveyard on the bottom of its owner's library" + ), new GenericManaCost(3)); + ability.addTarget(new TargetCardInGraveyard()); + this.addAbility(ability); + } + + private ReitoSentinel(final ReitoSentinel card) { + super(card); + } + + @Override + public ReitoSentinel copy() { + return new ReitoSentinel(this); + } +} diff --git a/Mage.Sets/src/mage/sets/KamigawaNeonDynasty.java b/Mage.Sets/src/mage/sets/KamigawaNeonDynasty.java index f6188826fb..2e3f2fc1f4 100644 --- a/Mage.Sets/src/mage/sets/KamigawaNeonDynasty.java +++ b/Mage.Sets/src/mage/sets/KamigawaNeonDynasty.java @@ -114,6 +114,7 @@ public final class KamigawaNeonDynasty extends ExpansionSet { cards.add(new SetCardInfo("Raiyuu, Storm's Edge", 232, Rarity.RARE, mage.cards.r.RaiyuuStormsEdge.class)); cards.add(new SetCardInfo("Reality Heist", 75, Rarity.UNCOMMON, mage.cards.r.RealityHeist.class)); cards.add(new SetCardInfo("Reckoner Bankbuster", 255, Rarity.RARE, mage.cards.r.ReckonerBankbuster.class)); + cards.add(new SetCardInfo("Reito Sentinel", 256, Rarity.UNCOMMON, mage.cards.r.ReitoSentinel.class)); cards.add(new SetCardInfo("Satoru Umezawa", 234, Rarity.RARE, mage.cards.s.SatoruUmezawa.class)); cards.add(new SetCardInfo("Satsuki, the Living Lore", 235, Rarity.RARE, mage.cards.s.SatsukiTheLivingLore.class)); cards.add(new SetCardInfo("Scrap Welder", 159, Rarity.RARE, mage.cards.s.ScrapWelder.class));