From 0995524f358d4c4d8063aa03a4fbf98e2341cac0 Mon Sep 17 00:00:00 2001 From: Cameron Merkel <44722506+Cguy7777@users.noreply.github.com> Date: Tue, 5 Dec 2023 19:27:33 -0600 Subject: [PATCH] [MIR] Implement Mangara's Blessing (#11510) --- .../src/mage/cards/m/MangarasBlessing.java | 48 +++++++++++++++++++ Mage.Sets/src/mage/sets/Mirage.java | 1 + 2 files changed, 49 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/m/MangarasBlessing.java diff --git a/Mage.Sets/src/mage/cards/m/MangarasBlessing.java b/Mage.Sets/src/mage/cards/m/MangarasBlessing.java new file mode 100644 index 00000000000..0ff126446a5 --- /dev/null +++ b/Mage.Sets/src/mage/cards/m/MangarasBlessing.java @@ -0,0 +1,48 @@ +package mage.cards.m; + +import mage.abilities.Ability; +import mage.abilities.common.DiscardedByOpponentTriggeredAbility; +import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect; +import mage.abilities.effects.common.GainLifeEffect; +import mage.abilities.effects.common.ReturnSourceFromGraveyardToHandEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; + +import java.util.UUID; + +/** + * @author Cguy7777 + */ +public final class MangarasBlessing extends CardImpl { + + public MangarasBlessing(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{W}"); + + // You gain 5 life. + this.getSpellAbility().addEffect(new GainLifeEffect(5)); + + // When a spell or ability an opponent controls causes you to discard Mangara's Blessing, + // you gain 2 life, and you return Mangara's Blessing from your graveyard to your hand at the beginning of the next end step. + Ability ability = new DiscardedByOpponentTriggeredAbility(new GainLifeEffect(2), true); + + Effect graveyardReturnNextEndEffect = new CreateDelayedTriggeredAbilityEffect( + new AtTheBeginOfNextEndStepDelayedTriggeredAbility(new ReturnSourceFromGraveyardToHandEffect())); + graveyardReturnNextEndEffect.concatBy(", and"); + graveyardReturnNextEndEffect.setText(" you return {this} from your graveyard to your hand at the beginning of the next end step"); + + ability.addEffect(graveyardReturnNextEndEffect); + this.addAbility(ability); + } + + private MangarasBlessing(final MangarasBlessing card) { + super(card); + } + + @Override + public MangarasBlessing copy() { + return new MangarasBlessing(this); + } +} diff --git a/Mage.Sets/src/mage/sets/Mirage.java b/Mage.Sets/src/mage/sets/Mirage.java index 87a58c2332b..c28e9a2ec58 100644 --- a/Mage.Sets/src/mage/sets/Mirage.java +++ b/Mage.Sets/src/mage/sets/Mirage.java @@ -193,6 +193,7 @@ public final class Mirage extends ExpansionSet { cards.add(new SetCardInfo("Lure of Prey", 227, Rarity.RARE, mage.cards.l.LureOfPrey.class)); cards.add(new SetCardInfo("Malignant Growth", 272, Rarity.RARE, mage.cards.m.MalignantGrowth.class)); cards.add(new SetCardInfo("Mana Prism", 308, Rarity.UNCOMMON, mage.cards.m.ManaPrism.class)); + cards.add(new SetCardInfo("Mangara's Blessing", 25, Rarity.UNCOMMON, mage.cards.m.MangarasBlessing.class)); cards.add(new SetCardInfo("Mangara's Equity", 26, Rarity.UNCOMMON, mage.cards.m.MangarasEquity.class)); cards.add(new SetCardInfo("Mangara's Tome", 309, Rarity.RARE, mage.cards.m.MangarasTome.class)); cards.add(new SetCardInfo("Marble Diamond", 310, Rarity.UNCOMMON, mage.cards.m.MarbleDiamond.class));