diff --git a/Mage.Sets/src/mage/cards/b/BlightreaperThallid.java b/Mage.Sets/src/mage/cards/b/BlightreaperThallid.java new file mode 100644 index 00000000000..a5cd19e5727 --- /dev/null +++ b/Mage.Sets/src/mage/cards/b/BlightreaperThallid.java @@ -0,0 +1,41 @@ +package mage.cards.b; + +import mage.MageInt; +import mage.abilities.common.ActivateAsSorceryActivatedAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.TransformSourceEffect; +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 BlightreaperThallid extends CardImpl { + + public BlightreaperThallid(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}"); + + this.subtype.add(SubType.FUNGUS); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + this.secondSideCardClazz = mage.cards.b.BlightsowerThallid.class; + + // {3}{G/P}: Transform Blightreaper Thallid. Activate only as a sorcery. + this.addAbility(new TransformAbility()); + this.addAbility(new ActivateAsSorceryActivatedAbility(new TransformSourceEffect(), new ManaCostsImpl<>("{3}{G/P}"))); + } + + private BlightreaperThallid(final BlightreaperThallid card) { + super(card); + } + + @Override + public BlightreaperThallid copy() { + return new BlightreaperThallid(this); + } +} diff --git a/Mage.Sets/src/mage/cards/b/BlightsowerThallid.java b/Mage.Sets/src/mage/cards/b/BlightsowerThallid.java new file mode 100644 index 00000000000..62a5dd8ab40 --- /dev/null +++ b/Mage.Sets/src/mage/cards/b/BlightsowerThallid.java @@ -0,0 +1,50 @@ +package mage.cards.b; + +import mage.MageInt; +import mage.abilities.common.DiesSourceTriggeredAbility; +import mage.abilities.common.TransformIntoSourceTriggeredAbility; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.meta.OrTriggeredAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Zone; +import mage.game.permanent.token.PhyrexianSaprolingToken; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class BlightsowerThallid extends CardImpl { + + public BlightsowerThallid(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, ""); + + this.subtype.add(SubType.PHYREXIAN); + this.subtype.add(SubType.FUNGUS); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + this.color.setBlack(true); + this.color.setGreen(true); + this.nightCard = true; + + // When this creature transforms into Blightsower Thallid or dies, create a 1/1 green Phyrexian Saproling creature token. + this.addAbility(new OrTriggeredAbility( + Zone.BATTLEFIELD, new CreateTokenEffect(new PhyrexianSaprolingToken()), false, + "When this creature transforms into {this} or dies, ", + new TransformIntoSourceTriggeredAbility(null), + new DiesSourceTriggeredAbility(null, false) + )); + } + + private BlightsowerThallid(final BlightsowerThallid card) { + super(card); + } + + @Override + public BlightsowerThallid copy() { + return new BlightsowerThallid(this); + } +} diff --git a/Mage.Sets/src/mage/sets/MarchOfTheMachine.java b/Mage.Sets/src/mage/sets/MarchOfTheMachine.java index 5f4f64e7813..9a4648fce26 100644 --- a/Mage.Sets/src/mage/sets/MarchOfTheMachine.java +++ b/Mage.Sets/src/mage/sets/MarchOfTheMachine.java @@ -50,6 +50,8 @@ public final class MarchOfTheMachine extends ExpansionSet { cards.add(new SetCardInfo("Belligerent Regisaur", 191, Rarity.RARE, mage.cards.b.BelligerentRegisaur.class)); cards.add(new SetCardInfo("Bladed Battle-Fan", 91, Rarity.COMMON, mage.cards.b.BladedBattleFan.class)); cards.add(new SetCardInfo("Blighted Burgeoning", 177, Rarity.COMMON, mage.cards.b.BlightedBurgeoning.class)); + cards.add(new SetCardInfo("Blightreaper Thallid", 92, Rarity.UNCOMMON, mage.cards.b.BlightreaperThallid.class)); + cards.add(new SetCardInfo("Blightsower Thallid", 92, Rarity.UNCOMMON, mage.cards.b.BlightsowerThallid.class)); cards.add(new SetCardInfo("Bloated Processor", 93, Rarity.RARE, mage.cards.b.BloatedProcessor.class)); cards.add(new SetCardInfo("Bloodfeather Phoenix", 132, Rarity.RARE, mage.cards.b.BloodfeatherPhoenix.class)); cards.add(new SetCardInfo("Bloodfell Caves", 267, Rarity.COMMON, mage.cards.b.BloodfellCaves.class)); diff --git a/Mage/src/main/java/mage/game/permanent/token/PhyrexianSaprolingToken.java b/Mage/src/main/java/mage/game/permanent/token/PhyrexianSaprolingToken.java new file mode 100644 index 00000000000..250732b2045 --- /dev/null +++ b/Mage/src/main/java/mage/game/permanent/token/PhyrexianSaprolingToken.java @@ -0,0 +1,33 @@ +package mage.game.permanent.token; + +import mage.MageInt; +import mage.constants.CardType; +import mage.constants.SubType; + +import java.util.Arrays; + +/** + * @author TheElk801 + */ +public final class PhyrexianSaprolingToken extends TokenImpl { + + public PhyrexianSaprolingToken() { + super("Phyrexian Saproling Token", "1/1 green Phyrexian Saproling creature token"); + cardType.add(CardType.CREATURE); + color.setGreen(true); + subtype.add(SubType.PHYREXIAN); + subtype.add(SubType.SAPROLING); + power = new MageInt(1); + toughness = new MageInt(1); + + availableImageSetCodes = Arrays.asList("MOM"); + } + + public PhyrexianSaprolingToken(final PhyrexianSaprolingToken token) { + super(token); + } + + public PhyrexianSaprolingToken copy() { + return new PhyrexianSaprolingToken(this); + } +}