diff --git a/Mage.Sets/src/mage/cards/h/HopeEstheim.java b/Mage.Sets/src/mage/cards/h/HopeEstheim.java new file mode 100644 index 00000000000..0b53b059cb2 --- /dev/null +++ b/Mage.Sets/src/mage/cards/h/HopeEstheim.java @@ -0,0 +1,48 @@ +package mage.cards.h; + +import mage.MageInt; +import mage.abilities.dynamicvalue.common.ControllerGainedLifeCount; +import mage.abilities.effects.common.MillCardsEachPlayerEffect; +import mage.abilities.keyword.LifelinkAbility; +import mage.abilities.triggers.BeginningOfEndStepTriggeredAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.SuperType; +import mage.constants.TargetController; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class HopeEstheim extends CardImpl { + + public HopeEstheim(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{W}{U}"); + + this.supertype.add(SuperType.LEGENDARY); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // Lifelink + this.addAbility(LifelinkAbility.getInstance()); + + // At the beginning of your end step, each opponent mills X cards, where X is the amount of life you gained this turn. + this.addAbility(new BeginningOfEndStepTriggeredAbility(new MillCardsEachPlayerEffect( + ControllerGainedLifeCount.instance, TargetController.OPPONENT + ))); + } + + private HopeEstheim(final HopeEstheim card) { + super(card); + } + + @Override + public HopeEstheim copy() { + return new HopeEstheim(this); + } +} diff --git a/Mage.Sets/src/mage/sets/FinalFantasy.java b/Mage.Sets/src/mage/sets/FinalFantasy.java index 9690d95fb3a..2412ed70474 100644 --- a/Mage.Sets/src/mage/sets/FinalFantasy.java +++ b/Mage.Sets/src/mage/sets/FinalFantasy.java @@ -174,6 +174,10 @@ public final class FinalFantasy extends ExpansionSet { cards.add(new SetCardInfo("Hades, Sorcerer of Eld", 483, Rarity.MYTHIC, mage.cards.h.HadesSorcererOfEld.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Hades, Sorcerer of Eld", 539, Rarity.MYTHIC, mage.cards.h.HadesSorcererOfEld.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Haste Magic", 140, Rarity.COMMON, mage.cards.h.HasteMagic.class)); + cards.add(new SetCardInfo("Hope Estheim", 226, Rarity.RARE, mage.cards.h.HopeEstheim.class, NON_FULL_USE_VARIOUS)); + cards.add(new SetCardInfo("Hope Estheim", 396, Rarity.RARE, mage.cards.h.HopeEstheim.class, NON_FULL_USE_VARIOUS)); + cards.add(new SetCardInfo("Hope Estheim", 491, Rarity.RARE, mage.cards.h.HopeEstheim.class, NON_FULL_USE_VARIOUS)); + cards.add(new SetCardInfo("Hope Estheim", 541, Rarity.RARE, mage.cards.h.HopeEstheim.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Ice Flan", 55, Rarity.COMMON, mage.cards.i.IceFlan.class)); cards.add(new SetCardInfo("Ice Magic", 56, Rarity.COMMON, mage.cards.i.IceMagic.class)); cards.add(new SetCardInfo("Ifrit, Warden of Inferno", 133, Rarity.MYTHIC, mage.cards.i.IfritWardenOfInferno.class, NON_FULL_USE_VARIOUS)); diff --git a/Mage/src/main/java/mage/abilities/effects/common/MillCardsEachPlayerEffect.java b/Mage/src/main/java/mage/abilities/effects/common/MillCardsEachPlayerEffect.java index 3b979bdecb2..4ae33a78dfa 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/MillCardsEachPlayerEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/MillCardsEachPlayerEffect.java @@ -97,11 +97,17 @@ public class MillCardsEachPlayerEffect extends OneShotEffect { throw new UnsupportedOperationException("TargetController type not supported."); } sb.append("mills "); - if (numberCards.toString().equals("1")) { - sb.append("a card"); - } else { - sb.append(CardUtil.numberToText(numberCards.toString())); - sb.append(" cards"); + switch (numberCards.toString()) { + case "1": + sb.append("a card"); + break; + case "X": + sb.append("X cards, where X is "); + sb.append(numberCards.getMessage()); + break; + default: + sb.append(CardUtil.numberToText(numberCards.toString())); + sb.append(" cards"); } return sb.toString(); }