diff --git a/Mage.Sets/src/mage/cards/c/ConsumingSepulcher.java b/Mage.Sets/src/mage/cards/c/ConsumingSepulcher.java new file mode 100644 index 00000000000..a20c5a6a620 --- /dev/null +++ b/Mage.Sets/src/mage/cards/c/ConsumingSepulcher.java @@ -0,0 +1,40 @@ +package mage.cards.c; + +import mage.abilities.Ability; +import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.effects.common.GainLifeEffect; +import mage.abilities.effects.common.LoseLifeOpponentsEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.TargetController; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class ConsumingSepulcher extends CardImpl { + + public ConsumingSepulcher(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, ""); + this.nightCard = true; + this.color.setBlack(true); + + // At the beginning of your upkeep, each opponent loses 1 life and you gain 1 life. + Ability ability = new BeginningOfUpkeepTriggeredAbility( + new LoseLifeOpponentsEffect(1), TargetController.YOU, false + ); + ability.addEffect(new GainLifeEffect(1).concatBy("and")); + this.addAbility(ability); + } + + private ConsumingSepulcher(final ConsumingSepulcher card) { + super(card); + } + + @Override + public ConsumingSepulcher copy() { + return new ConsumingSepulcher(this); + } +} diff --git a/Mage.Sets/src/mage/cards/t/TithingBlade.java b/Mage.Sets/src/mage/cards/t/TithingBlade.java new file mode 100644 index 00000000000..a870d0455ea --- /dev/null +++ b/Mage.Sets/src/mage/cards/t/TithingBlade.java @@ -0,0 +1,42 @@ +package mage.cards.t; + +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.common.SacrificeOpponentsEffect; +import mage.abilities.keyword.CraftAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.filter.StaticFilters; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class TithingBlade extends CardImpl { + + public TithingBlade(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{1}{B}"); + this.secondSideCardClazz = mage.cards.c.ConsumingSepulcher.class; + + // When Tithing Blade enters the battlefield, each opponent sacrifices a creature. + this.addAbility(new EntersBattlefieldTriggeredAbility( + new SacrificeOpponentsEffect(StaticFilters.FILTER_CONTROLLED_CREATURE_SHORT_TEXT) + )); + + // Craft with creature {4}{B} + this.addAbility(new CraftAbility( + "{4}{B}", "creature", "another creature you control " + + "or a creature card in your graveyard", CardType.CREATURE.getPredicate()) + ); + } + + private TithingBlade(final TithingBlade card) { + super(card); + } + + @Override + public TithingBlade copy() { + return new TithingBlade(this); + } +} diff --git a/Mage.Sets/src/mage/sets/TheLostCavernsOfIxalan.java b/Mage.Sets/src/mage/sets/TheLostCavernsOfIxalan.java index 8e5599f09b1..2e7115dfdf8 100644 --- a/Mage.Sets/src/mage/sets/TheLostCavernsOfIxalan.java +++ b/Mage.Sets/src/mage/sets/TheLostCavernsOfIxalan.java @@ -67,6 +67,7 @@ public final class TheLostCavernsOfIxalan extends ExpansionSet { cards.add(new SetCardInfo("Colossadactyl", 180, Rarity.UNCOMMON, mage.cards.c.Colossadactyl.class)); cards.add(new SetCardInfo("Compass Gnome", 250, Rarity.COMMON, mage.cards.c.CompassGnome.class)); cards.add(new SetCardInfo("Confounding Riddle", 50, Rarity.UNCOMMON, mage.cards.c.ConfoundingRiddle.class)); + cards.add(new SetCardInfo("Consuming Sepulcher", 128, Rarity.COMMON, mage.cards.c.ConsumingSepulcher.class)); cards.add(new SetCardInfo("Corpses of the Lost", 98, Rarity.RARE, mage.cards.c.CorpsesOfTheLost.class)); cards.add(new SetCardInfo("Cosmium Blast", 7, Rarity.COMMON, mage.cards.c.CosmiumBlast.class)); cards.add(new SetCardInfo("Cosmium Confluence", 181, Rarity.RARE, mage.cards.c.CosmiumConfluence.class)); @@ -267,6 +268,7 @@ public final class TheLostCavernsOfIxalan extends ExpansionSet { cards.add(new SetCardInfo("Threefold Thunderhulk", 265, Rarity.RARE, mage.cards.t.ThreefoldThunderhulk.class)); cards.add(new SetCardInfo("Throne of the Grim Captain", 266, Rarity.RARE, mage.cards.t.ThroneOfTheGrimCaptain.class)); cards.add(new SetCardInfo("Tinker's Tote", 40, Rarity.COMMON, mage.cards.t.TinkersTote.class)); + cards.add(new SetCardInfo("Tithing Blade", 128, Rarity.COMMON, mage.cards.t.TithingBlade.class)); cards.add(new SetCardInfo("Treasure Cove", 267, Rarity.RARE, mage.cards.t.TreasureCove.class)); cards.add(new SetCardInfo("Treasure Map", 267, Rarity.RARE, mage.cards.t.TreasureMap.class)); cards.add(new SetCardInfo("Triumphant Chomp", 170, Rarity.UNCOMMON, mage.cards.t.TriumphantChomp.class));