From 6c60be5c858f8a8fcbe4856839c7cddc1964fc60 Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Sat, 5 Sep 2020 20:55:49 -0400 Subject: [PATCH] [ZNR] Implemented Zof Consumption / Zof Bloodbog --- Mage.Sets/src/mage/cards/z/ZofBloodbog.java | 37 +++++++++++++++++++ .../src/mage/cards/z/ZofConsumption.java | 35 ++++++++++++++++++ Mage.Sets/src/mage/sets/ZendikarRising.java | 2 + 3 files changed, 74 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/z/ZofBloodbog.java create mode 100644 Mage.Sets/src/mage/cards/z/ZofConsumption.java diff --git a/Mage.Sets/src/mage/cards/z/ZofBloodbog.java b/Mage.Sets/src/mage/cards/z/ZofBloodbog.java new file mode 100644 index 00000000000..eb8b68346fa --- /dev/null +++ b/Mage.Sets/src/mage/cards/z/ZofBloodbog.java @@ -0,0 +1,37 @@ +package mage.cards.z; + +import mage.abilities.common.EntersBattlefieldTappedAbility; +import mage.abilities.mana.BlackManaAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class ZofBloodbog extends CardImpl { + + public ZofBloodbog(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); + + this.modalDFC = true; + this.nightCard = true; + + // Zof Bloodbog enters the battlefield tapped. + this.addAbility(new EntersBattlefieldTappedAbility()); + + // {T}: Add {B}. + this.addAbility(new BlackManaAbility()); + } + + private ZofBloodbog(final ZofBloodbog card) { + super(card); + } + + @Override + public ZofBloodbog copy() { + return new ZofBloodbog(this); + } +} diff --git a/Mage.Sets/src/mage/cards/z/ZofConsumption.java b/Mage.Sets/src/mage/cards/z/ZofConsumption.java new file mode 100644 index 00000000000..f8f7e9aa878 --- /dev/null +++ b/Mage.Sets/src/mage/cards/z/ZofConsumption.java @@ -0,0 +1,35 @@ +package mage.cards.z; + +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 java.util.UUID; + +/** + * @author TheElk801 + */ +public final class ZofConsumption extends CardImpl { + + public ZofConsumption(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{4}{B}{B}"); + + this.modalDFC = true; + this.secondSideCardClazz = mage.cards.z.ZofBloodbog.class; + + // Each opponent loses 4 life and you gain 4 life. + this.getSpellAbility().addEffect(new LoseLifeOpponentsEffect(4)); + this.getSpellAbility().addEffect(new GainLifeEffect(4).setText("and")); + } + + private ZofConsumption(final ZofConsumption card) { + super(card); + } + + @Override + public ZofConsumption copy() { + return new ZofConsumption(this); + } +} diff --git a/Mage.Sets/src/mage/sets/ZendikarRising.java b/Mage.Sets/src/mage/sets/ZendikarRising.java index 8a045e8abf6..fbdf0078d6b 100644 --- a/Mage.Sets/src/mage/sets/ZendikarRising.java +++ b/Mage.Sets/src/mage/sets/ZendikarRising.java @@ -221,6 +221,8 @@ public final class ZendikarRising extends ExpansionSet { cards.add(new SetCardInfo("Utility Knife", 256, Rarity.COMMON, mage.cards.u.UtilityKnife.class)); cards.add(new SetCardInfo("Veteran Adventurer", 218, Rarity.UNCOMMON, mage.cards.v.VeteranAdventurer.class)); cards.add(new SetCardInfo("Windrider Wizard", 87, Rarity.UNCOMMON, mage.cards.w.WindriderWizard.class)); + cards.add(new SetCardInfo("Zof Bloodbog", 132, Rarity.UNCOMMON, mage.cards.z.ZofBloodbog.class)); + cards.add(new SetCardInfo("Zof Consumption", 132, Rarity.UNCOMMON, mage.cards.z.ZofConsumption.class)); cards.add(new SetCardInfo("Zulaport Duelist", 88, Rarity.COMMON, mage.cards.z.ZulaportDuelist.class)); cards.removeIf(setCardInfo -> unfinished.contains(setCardInfo.getName())); // remove when mechanics are fully implemented