diff --git a/Mage.Sets/src/mage/cards/h/HarriedArtisan.java b/Mage.Sets/src/mage/cards/h/HarriedArtisan.java new file mode 100644 index 0000000000..bdba3e4b9a --- /dev/null +++ b/Mage.Sets/src/mage/cards/h/HarriedArtisan.java @@ -0,0 +1,46 @@ +package mage.cards.h; + +import mage.MageInt; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.TransformSourceEffect; +import mage.abilities.keyword.HasteAbility; +import mage.abilities.keyword.TransformAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class HarriedArtisan extends CardImpl { + + public HarriedArtisan(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}"); + + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARTIFICER); + this.power = new MageInt(2); + this.toughness = new MageInt(3); + this.secondSideCardClazz = mage.cards.p.PhyrexianSkyflayer.class; + + // Haste + this.addAbility(HasteAbility.getInstance()); + + // {3}{W/P}: Transform Harried Artisan. Activate only as a sorcery. + this.addAbility(new TransformAbility()); + this.addAbility(new SimpleActivatedAbility(new TransformSourceEffect(), new ManaCostsImpl<>("{3}{W/P}"))); + } + + private HarriedArtisan(final HarriedArtisan card) { + super(card); + } + + @Override + public HarriedArtisan copy() { + return new HarriedArtisan(this); + } +} diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianSkyflayer.java b/Mage.Sets/src/mage/cards/p/PhyrexianSkyflayer.java new file mode 100644 index 0000000000..765afc12b0 --- /dev/null +++ b/Mage.Sets/src/mage/cards/p/PhyrexianSkyflayer.java @@ -0,0 +1,44 @@ +package mage.cards.p; + +import mage.MageInt; +import mage.abilities.keyword.FlyingAbility; +import mage.abilities.keyword.HasteAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class PhyrexianSkyflayer extends CardImpl { + + public PhyrexianSkyflayer(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, ""); + + this.subtype.add(SubType.PHYREXIAN); + this.subtype.add(SubType.ARTIFICER); + this.power = new MageInt(3); + this.toughness = new MageInt(4); + this.color.setWhite(true); + this.color.setRed(true); + this.nightCard = true; + + // Flying + this.addAbility(FlyingAbility.getInstance()); + + // Haste + this.addAbility(HasteAbility.getInstance()); + } + + private PhyrexianSkyflayer(final PhyrexianSkyflayer card) { + super(card); + } + + @Override + public PhyrexianSkyflayer copy() { + return new PhyrexianSkyflayer(this); + } +} diff --git a/Mage.Sets/src/mage/sets/MarchOfTheMachine.java b/Mage.Sets/src/mage/sets/MarchOfTheMachine.java index 3933a41ccc..7846e54948 100644 --- a/Mage.Sets/src/mage/sets/MarchOfTheMachine.java +++ b/Mage.Sets/src/mage/sets/MarchOfTheMachine.java @@ -31,6 +31,7 @@ public final class MarchOfTheMachine extends ExpansionSet { cards.add(new SetCardInfo("Faerie Mastermind", 58, Rarity.RARE, mage.cards.f.FaerieMastermind.class)); cards.add(new SetCardInfo("Fairgrounds Trumpeter", 335, Rarity.COMMON, mage.cards.f.FairgroundsTrumpeter.class)); cards.add(new SetCardInfo("Forest", 281, Rarity.LAND, mage.cards.basiclands.Forest.class, NON_FULL_USE_VARIOUS)); + cards.add(new SetCardInfo("Harried Artisan", 143, Rarity.UNCOMMON, mage.cards.h.HarriedArtisan.class)); cards.add(new SetCardInfo("Heliod, the Radiant Dawn", 17, Rarity.RARE, mage.cards.h.HeliodTheRadiantDawn.class)); cards.add(new SetCardInfo("Heliod, the Warped Eclipse", 17, Rarity.RARE, mage.cards.h.HeliodTheWarpedEclipse.class)); cards.add(new SetCardInfo("Interdisciplinary Mascot", 326, Rarity.RARE, mage.cards.i.InterdisciplinaryMascot.class)); @@ -40,6 +41,7 @@ public final class MarchOfTheMachine extends ExpansionSet { cards.add(new SetCardInfo("Mountain", 280, Rarity.LAND, mage.cards.basiclands.Mountain.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Negate", 68, Rarity.COMMON, mage.cards.n.Negate.class)); cards.add(new SetCardInfo("Phyrexian Gargantua", 121, Rarity.UNCOMMON, mage.cards.p.PhyrexianGargantua.class)); + cards.add(new SetCardInfo("Phyrexian Skyflayer", 143, Rarity.UNCOMMON, mage.cards.p.PhyrexianSkyflayer.class)); cards.add(new SetCardInfo("Plains", 277, Rarity.LAND, mage.cards.basiclands.Plains.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Ravenous Sailback", 202, Rarity.UNCOMMON, mage.cards.r.RavenousSailback.class)); cards.add(new SetCardInfo("Referee Squad", 327, Rarity.UNCOMMON, mage.cards.r.RefereeSquad.class));