From 0e924e29fbb827e6343236f35ed78adeae9c7a93 Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Thu, 26 May 2022 08:05:19 -0400 Subject: [PATCH] [CLB] Implemented Black Dragon Gate --- .../src/mage/cards/b/BlackDragonGate.java | 48 +++++++++++++++++++ .../CommanderLegendsBattleForBaldursGate.java | 1 + 2 files changed, 49 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/b/BlackDragonGate.java diff --git a/Mage.Sets/src/mage/cards/b/BlackDragonGate.java b/Mage.Sets/src/mage/cards/b/BlackDragonGate.java new file mode 100644 index 0000000000..1df8675f93 --- /dev/null +++ b/Mage.Sets/src/mage/cards/b/BlackDragonGate.java @@ -0,0 +1,48 @@ +package mage.cards.b; + +import mage.abilities.common.AsEntersBattlefieldAbility; +import mage.abilities.common.EntersBattlefieldTappedAbility; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.effects.common.ChooseColorEffect; +import mage.abilities.effects.mana.AddManaChosenColorEffect; +import mage.abilities.mana.BlackManaAbility; +import mage.abilities.mana.SimpleManaAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.SubType; +import mage.constants.Zone; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class BlackDragonGate extends CardImpl { + + public BlackDragonGate(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); + + this.subtype.add(SubType.GATE); + + // Black Dragon Gate enters the battlefield tapped. + this.addAbility(new EntersBattlefieldTappedAbility()); + + // As Black Dragon Gate enters the battlefield, choose a color other than black. + this.addAbility(new AsEntersBattlefieldAbility(new ChooseColorEffect(Outcome.Neutral, "Black"))); + + // {T}: Add {B} or one mana of the chosen color. + this.addAbility(new BlackManaAbility()); + this.addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, new AddManaChosenColorEffect(), new TapSourceCost())); + } + + private BlackDragonGate(final BlackDragonGate card) { + super(card); + } + + @Override + public BlackDragonGate copy() { + return new BlackDragonGate(this); + } +} diff --git a/Mage.Sets/src/mage/sets/CommanderLegendsBattleForBaldursGate.java b/Mage.Sets/src/mage/sets/CommanderLegendsBattleForBaldursGate.java index 575394dc36..d99fe70c40 100644 --- a/Mage.Sets/src/mage/sets/CommanderLegendsBattleForBaldursGate.java +++ b/Mage.Sets/src/mage/sets/CommanderLegendsBattleForBaldursGate.java @@ -46,6 +46,7 @@ public final class CommanderLegendsBattleForBaldursGate extends ExpansionSet { cards.add(new SetCardInfo("Battle Angels of Tyr", 9, Rarity.MYTHIC, mage.cards.b.BattleAngelsOfTyr.class)); cards.add(new SetCardInfo("Bhaal's Invoker", 163, Rarity.COMMON, mage.cards.b.BhaalsInvoker.class)); cards.add(new SetCardInfo("Bhaal, Lord of Murder", 268, Rarity.RARE, mage.cards.b.BhaalLordOfMurder.class)); + cards.add(new SetCardInfo("Black Dragon Gate", 347, Rarity.COMMON, mage.cards.b.BlackDragonGate.class)); cards.add(new SetCardInfo("Blade of Selves", 301, Rarity.RARE, mage.cards.b.BladeOfSelves.class)); cards.add(new SetCardInfo("Blur", 58, Rarity.COMMON, mage.cards.b.Blur.class)); cards.add(new SetCardInfo("Bountiful Promenade", 348, Rarity.RARE, mage.cards.b.BountifulPromenade.class));