From 506673e2164ad4853830a0df8c023a96f35f503d Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Tue, 8 Sep 2020 17:18:13 -0400 Subject: [PATCH] [ZNR] Implemented Relic Golem --- Mage.Sets/src/mage/cards/r/RelicGolem.java | 52 +++++++++++++++++++++ Mage.Sets/src/mage/sets/ZendikarRising.java | 1 + 2 files changed, 53 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/r/RelicGolem.java diff --git a/Mage.Sets/src/mage/cards/r/RelicGolem.java b/Mage.Sets/src/mage/cards/r/RelicGolem.java new file mode 100644 index 0000000000..39768ed908 --- /dev/null +++ b/Mage.Sets/src/mage/cards/r/RelicGolem.java @@ -0,0 +1,52 @@ +package mage.cards.r; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.condition.common.CardsInOpponentGraveyardCondition; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.effects.common.PutLibraryIntoGraveTargetEffect; +import mage.abilities.effects.common.combat.CantAttackBlockUnlessConditionSourceEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.target.TargetPlayer; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class RelicGolem extends CardImpl { + + public RelicGolem(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{3}"); + + this.subtype.add(SubType.GOLEM); + this.power = new MageInt(6); + this.toughness = new MageInt(6); + + // Relic Golem can't attack or block unless an opponent has eight or more cards in their graveyard. + this.addAbility(new SimpleStaticAbility( + new CantAttackBlockUnlessConditionSourceEffect(CardsInOpponentGraveyardCondition.EIGHT) + ).addHint(CardsInOpponentGraveyardCondition.EIGHT.getHint())); + + // {2}, {T}: Target player mills two cards. + Ability ability = new SimpleActivatedAbility(new PutLibraryIntoGraveTargetEffect(2), new GenericManaCost(2)); + ability.addCost(new TapSourceCost()); + ability.addTarget(new TargetPlayer()); + this.addAbility(ability); + } + + private RelicGolem(final RelicGolem card) { + super(card); + } + + @Override + public RelicGolem copy() { + return new RelicGolem(this); + } +} diff --git a/Mage.Sets/src/mage/sets/ZendikarRising.java b/Mage.Sets/src/mage/sets/ZendikarRising.java index a25b27d550..bb1b9dc350 100644 --- a/Mage.Sets/src/mage/sets/ZendikarRising.java +++ b/Mage.Sets/src/mage/sets/ZendikarRising.java @@ -253,6 +253,7 @@ public final class ZendikarRising extends ExpansionSet { cards.add(new SetCardInfo("Prowling Felidar", 34, Rarity.COMMON, mage.cards.p.ProwlingFelidar.class)); cards.add(new SetCardInfo("Rabid Bite", 199, Rarity.COMMON, mage.cards.r.RabidBite.class)); cards.add(new SetCardInfo("Ravager's Mace", 235, Rarity.UNCOMMON, mage.cards.r.RavagersMace.class)); + cards.add(new SetCardInfo("Relic Golem", 249, Rarity.UNCOMMON, mage.cards.r.RelicGolem.class)); cards.add(new SetCardInfo("Relic Robber", 153, Rarity.RARE, mage.cards.r.RelicRobber.class)); cards.add(new SetCardInfo("Resolute Strike", 35, Rarity.COMMON, mage.cards.r.ResoluteStrike.class)); cards.add(new SetCardInfo("Risen Riptide", 73, Rarity.COMMON, mage.cards.r.RisenRiptide.class));