From b41745ef9f6b24fd3b6f6485ed0886930d00507d Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Tue, 28 May 2019 08:03:18 -0400 Subject: [PATCH] Implemented Arcum's Astrolabe --- .../src/mage/cards/a/ArcumsAstrolabe.java | 50 +++++++++++++++++++ Mage.Sets/src/mage/sets/ModernHorizons.java | 1 + 2 files changed, 51 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/a/ArcumsAstrolabe.java diff --git a/Mage.Sets/src/mage/cards/a/ArcumsAstrolabe.java b/Mage.Sets/src/mage/cards/a/ArcumsAstrolabe.java new file mode 100644 index 00000000000..9e4a487f5d2 --- /dev/null +++ b/Mage.Sets/src/mage/cards/a/ArcumsAstrolabe.java @@ -0,0 +1,50 @@ +package mage.cards.a; + +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.abilities.effects.common.InfoEffect; +import mage.abilities.mana.AnyColorManaAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SuperType; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class ArcumsAstrolabe extends CardImpl { + + public ArcumsAstrolabe(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{S}"); + + this.addSuperType(SuperType.SNOW); + + // ({S} can be paid with one mana from a snow permanent.) + this.addAbility(new SimpleStaticAbility( + new InfoEffect("({S} can be paid with one mana from a snow permanent.)") + )); + + // When Arcum's Astrolabe enters the battlefield, draw a card. + this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1))); + + // {1}, {T}: Add one mana of any color. + Ability ability = new AnyColorManaAbility(new GenericManaCost(1)); + ability.addCost(new TapSourceCost()); + this.addAbility(ability); + } + + private ArcumsAstrolabe(final ArcumsAstrolabe card) { + super(card); + } + + @Override + public ArcumsAstrolabe copy() { + return new ArcumsAstrolabe(this); + } +} diff --git a/Mage.Sets/src/mage/sets/ModernHorizons.java b/Mage.Sets/src/mage/sets/ModernHorizons.java index f794e50eb96..933740cd286 100644 --- a/Mage.Sets/src/mage/sets/ModernHorizons.java +++ b/Mage.Sets/src/mage/sets/ModernHorizons.java @@ -29,6 +29,7 @@ public final class ModernHorizons extends ExpansionSet { cards.add(new SetCardInfo("Abominable Treefolk", 194, Rarity.UNCOMMON, mage.cards.a.AbominableTreefolk.class)); cards.add(new SetCardInfo("Altar of Dementia", 218, Rarity.RARE, mage.cards.a.AltarOfDementia.class)); cards.add(new SetCardInfo("Archmage's Charm", 40, Rarity.RARE, mage.cards.a.ArchmagesCharm.class)); + cards.add(new SetCardInfo("Arcum's Astrolabe", 220, Rarity.COMMON, mage.cards.a.ArcumsAstrolabe.class)); cards.add(new SetCardInfo("Aria of Flame", 118, Rarity.RARE, mage.cards.a.AriaOfFlame.class)); cards.add(new SetCardInfo("Astral Drift", 3, Rarity.RARE, mage.cards.a.AstralDrift.class)); cards.add(new SetCardInfo("Ayula's Influence", 156, Rarity.RARE, mage.cards.a.AyulasInfluence.class));