diff --git a/Mage.Sets/src/mage/cards/k/KroxaTitanOfDeathsHunger.java b/Mage.Sets/src/mage/cards/k/KroxaTitanOfDeathsHunger.java index cb168ffe7b8..f6fe3c45f67 100644 --- a/Mage.Sets/src/mage/cards/k/KroxaTitanOfDeathsHunger.java +++ b/Mage.Sets/src/mage/cards/k/KroxaTitanOfDeathsHunger.java @@ -63,7 +63,7 @@ public final class KroxaTitanOfDeathsHunger extends CardImpl { class KroxaTitanOfDeathsHungerEntersEffect extends OneShotEffect { KroxaTitanOfDeathsHungerEntersEffect() { - super(Outcome.Benefit); + super(Outcome.Sacrifice); staticText = "sacrifice it unless it escaped"; } diff --git a/Mage.Sets/src/mage/cards/p/PhlageTitanOfFiresFury.java b/Mage.Sets/src/mage/cards/p/PhlageTitanOfFiresFury.java new file mode 100644 index 00000000000..bb5d53829a5 --- /dev/null +++ b/Mage.Sets/src/mage/cards/p/PhlageTitanOfFiresFury.java @@ -0,0 +1,87 @@ +package mage.cards.p; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldOrAttacksSourceTriggeredAbility; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.abilities.effects.common.GainLifeEffect; +import mage.abilities.keyword.EscapeAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.SubType; +import mage.constants.SuperType; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.target.common.TargetAnyTarget; + +import java.util.UUID; + +/** + * @author Susucr + */ +public final class PhlageTitanOfFiresFury extends CardImpl { + + public PhlageTitanOfFiresFury(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}{W}"); + + this.supertype.add(SuperType.LEGENDARY); + this.subtype.add(SubType.ELDER); + this.subtype.add(SubType.GIANT); + this.power = new MageInt(6); + this.toughness = new MageInt(6); + + // When Phlage enters the battlefield, sacrifice it unless it escaped. + this.addAbility(new EntersBattlefieldTriggeredAbility(new PhlageTitanOfFiresFuryEffect())); + + // Whenever Phlage enters the battlefield or attacks, it deals 3 damage to any target and you gain 3 life. + Ability ability = new EntersBattlefieldOrAttacksSourceTriggeredAbility(new DamageTargetEffect(3)); + ability.addEffect(new GainLifeEffect(3).concatBy("and")); + ability.addTarget(new TargetAnyTarget()); + this.addAbility(ability); + + // Escape-{R}{R}{W}{W}, Exile five other cards from your graveyard. + this.addAbility(new EscapeAbility(this, "{R}{R}{W}{W}", 5)); + } + + private PhlageTitanOfFiresFury(final PhlageTitanOfFiresFury card) { + super(card); + } + + @Override + public PhlageTitanOfFiresFury copy() { + return new PhlageTitanOfFiresFury(this); + } +} + +class PhlageTitanOfFiresFuryEffect extends OneShotEffect { + + PhlageTitanOfFiresFuryEffect() { + super(Outcome.Sacrifice); + staticText = "sacrifice it unless it escaped"; + } + + private PhlageTitanOfFiresFuryEffect(final PhlageTitanOfFiresFuryEffect effect) { + super(effect); + } + + @Override + public PhlageTitanOfFiresFuryEffect copy() { + return new PhlageTitanOfFiresFuryEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Permanent permanent = source.getSourcePermanentIfItStillExists(game); + if (permanent == null) { + return false; + } + if (EscapeAbility.wasCastedWithEscape(game, source.getSourceId(), source.getSourceObjectZoneChangeCounter())) { + return false; + } + return permanent.sacrifice(source, game); + } +} diff --git a/Mage.Sets/src/mage/cards/u/UroTitanOfNaturesWrath.java b/Mage.Sets/src/mage/cards/u/UroTitanOfNaturesWrath.java index 307bb101c5c..4007b7a02ec 100644 --- a/Mage.Sets/src/mage/cards/u/UroTitanOfNaturesWrath.java +++ b/Mage.Sets/src/mage/cards/u/UroTitanOfNaturesWrath.java @@ -61,7 +61,7 @@ public final class UroTitanOfNaturesWrath extends CardImpl { class UroTitanOfNaturesWrathEffect extends OneShotEffect { UroTitanOfNaturesWrathEffect() { - super(Outcome.Benefit); + super(Outcome.Sacrifice); staticText = "sacrifice it unless it escaped"; } diff --git a/Mage.Sets/src/mage/sets/ModernHorizons3.java b/Mage.Sets/src/mage/sets/ModernHorizons3.java index 231c2aa2fc5..cd5d26fc535 100644 --- a/Mage.Sets/src/mage/sets/ModernHorizons3.java +++ b/Mage.Sets/src/mage/sets/ModernHorizons3.java @@ -64,6 +64,7 @@ public final class ModernHorizons3 extends ExpansionSet { cards.add(new SetCardInfo("Pearl Medallion", 294, Rarity.RARE, mage.cards.p.PearlMedallion.class)); cards.add(new SetCardInfo("Petrifying Meddler", 66, Rarity.COMMON, mage.cards.p.PetrifyingMeddler.class)); cards.add(new SetCardInfo("Phelia, Exuberant Shepherd", 40, Rarity.RARE, mage.cards.p.PheliaExuberantShepherd.class)); + cards.add(new SetCardInfo("Phlage, Titan of Fire's Fury", 493, Rarity.MYTHIC, mage.cards.p.PhlageTitanOfFiresFury.class)); cards.add(new SetCardInfo("Plains", 304, Rarity.LAND, mage.cards.basiclands.Plains.class, FULL_ART_BFZ_VARIOUS)); cards.add(new SetCardInfo("Polluted Delta", 224, Rarity.RARE, mage.cards.p.PollutedDelta.class)); cards.add(new SetCardInfo("Priest of Titania", 286, Rarity.UNCOMMON, mage.cards.p.PriestOfTitania.class));