From 0aff0cc8ede2ba2338d4de9d97ac8e8fa6a67093 Mon Sep 17 00:00:00 2001 From: Susucre <34709007+Susucre@users.noreply.github.com> Date: Fri, 14 Jul 2023 02:13:09 +0200 Subject: [PATCH] [LTR] Implement Glorfindel, Dauntless Rescuer (#10614) --- .../cards/g/GlorfindelDauntlessRescuer.java | 61 +++++++++++++++++++ .../TheLordOfTheRingsTalesOfMiddleEarth.java | 1 + 2 files changed, 62 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/g/GlorfindelDauntlessRescuer.java diff --git a/Mage.Sets/src/mage/cards/g/GlorfindelDauntlessRescuer.java b/Mage.Sets/src/mage/cards/g/GlorfindelDauntlessRescuer.java new file mode 100644 index 00000000000..2bba9f134dc --- /dev/null +++ b/Mage.Sets/src/mage/cards/g/GlorfindelDauntlessRescuer.java @@ -0,0 +1,61 @@ +package mage.cards.g; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.Mode; +import mage.abilities.common.ScryTriggeredAbility; +import mage.abilities.effects.common.combat.CantBeBlockedByMoreThanOneSourceEffect; +import mage.abilities.effects.common.combat.MustBeBlockedByAtLeastOneSourceEffect; +import mage.abilities.effects.common.continuous.BoostSourceEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.constants.SuperType; + +import java.util.UUID; + +/** + * + * @author Susucr + */ +public final class GlorfindelDauntlessRescuer extends CardImpl { + + public GlorfindelDauntlessRescuer(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); + + this.supertype.add(SuperType.LEGENDARY); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.NOBLE); + this.power = new MageInt(3); + this.toughness = new MageInt(2); + + // Whenever you scry, choose one and Glorfindel, Dauntless Rescuer gets +1/+1 until end of turn. + // * Glorfindel must be blocked this turn if able. + Ability ability = new ScryTriggeredAbility( + new BoostSourceEffect(1, 1, Duration.EndOfTurn).setText("") + ); + ability.addEffect(new MustBeBlockedByAtLeastOneSourceEffect(Duration.EndOfTurn)); + + // * Glorfindel can't be blocked by more than one creature each combat this turn. + Mode mode = new Mode( + new BoostSourceEffect(1, 1, Duration.EndOfTurn).setText("") + ); + mode.addEffect(new CantBeBlockedByMoreThanOneSourceEffect()); + + ability.addMode(mode); + ability.getModes().setChooseText("choose one and {this} gets +1/+1 until end of turn."); + + this.addAbility(ability); + } + + private GlorfindelDauntlessRescuer(final GlorfindelDauntlessRescuer card) { + super(card); + } + + @Override + public GlorfindelDauntlessRescuer copy() { + return new GlorfindelDauntlessRescuer(this); + } +} diff --git a/Mage.Sets/src/mage/sets/TheLordOfTheRingsTalesOfMiddleEarth.java b/Mage.Sets/src/mage/sets/TheLordOfTheRingsTalesOfMiddleEarth.java index 3213d1bc3a2..fda4a30d30d 100644 --- a/Mage.Sets/src/mage/sets/TheLordOfTheRingsTalesOfMiddleEarth.java +++ b/Mage.Sets/src/mage/sets/TheLordOfTheRingsTalesOfMiddleEarth.java @@ -119,6 +119,7 @@ public final class TheLordOfTheRingsTalesOfMiddleEarth extends ExpansionSet { cards.add(new SetCardInfo("Gimli, Mournful Avenger", 209, Rarity.RARE, mage.cards.g.GimliMournfulAvenger.class)); cards.add(new SetCardInfo("Glamdring", 239, Rarity.MYTHIC, mage.cards.g.Glamdring.class)); cards.add(new SetCardInfo("Gloin, Dwarf Emissary", 132, Rarity.RARE, mage.cards.g.GloinDwarfEmissary.class)); + cards.add(new SetCardInfo("Glorfindel, Dauntless Rescuer", 171, Rarity.UNCOMMON, mage.cards.g.GlorfindelDauntlessRescuer.class)); cards.add(new SetCardInfo("Glorious Gale", 51, Rarity.COMMON, mage.cards.g.GloriousGale.class)); cards.add(new SetCardInfo("Goblin Assailant", 295, Rarity.COMMON, mage.cards.g.GoblinAssailant.class)); cards.add(new SetCardInfo("Goblin Fireleaper", 133, Rarity.UNCOMMON, mage.cards.g.GoblinFireleaper.class));