diff --git a/Mage.Sets/src/mage/cards/f/FallersFaithful.java b/Mage.Sets/src/mage/cards/f/FallersFaithful.java new file mode 100644 index 00000000000..cfbb5d93758 --- /dev/null +++ b/Mage.Sets/src/mage/cards/f/FallersFaithful.java @@ -0,0 +1,84 @@ +package mage.cards.f; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.OneShotEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.SubType; +import mage.filter.StaticFilters; +import mage.game.Controllable; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.target.TargetPermanent; + +import java.util.Optional; +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class FallersFaithful extends CardImpl { + + public FallersFaithful(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}"); + + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); + this.power = new MageInt(3); + this.toughness = new MageInt(1); + + // When this creature enters, destroy up to one other target creature. If that creature wasn't dealt damage this turn, its controller draws two cards. + Ability ability = new EntersBattlefieldTriggeredAbility(new FallersFaithfulEffect()); + ability.addTarget(new TargetPermanent(0, 1, StaticFilters.FILTER_ANOTHER_TARGET_CREATURE)); + this.addAbility(ability); + } + + private FallersFaithful(final FallersFaithful card) { + super(card); + } + + @Override + public FallersFaithful copy() { + return new FallersFaithful(this); + } +} + +class FallersFaithfulEffect extends OneShotEffect { + + FallersFaithfulEffect() { + super(Outcome.Benefit); + staticText = "destroy up to one other target creature. If that creature " + + "wasn't dealt damage this turn, its controller draws two cards"; + } + + private FallersFaithfulEffect(final FallersFaithfulEffect effect) { + super(effect); + } + + @Override + public FallersFaithfulEffect copy() { + return new FallersFaithfulEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Permanent permanent = game.getPermanent(getTargetPointer().getFirst(game, source)); + if (permanent == null) { + return false; + } + boolean flag = permanent.getDealtDamageByThisTurn().isEmpty(); + permanent.destroy(source, game); + game.processAction(); + if (!flag) { + Optional.ofNullable(permanent) + .map(Controllable::getControllerId) + .map(game::getPlayer) + .ifPresent(player -> player.drawCards(2, source, game)); + } + return true; + } +} diff --git a/Mage.Sets/src/mage/sets/EdgeOfEternities.java b/Mage.Sets/src/mage/sets/EdgeOfEternities.java index fe4b586632f..21f529440c9 100644 --- a/Mage.Sets/src/mage/sets/EdgeOfEternities.java +++ b/Mage.Sets/src/mage/sets/EdgeOfEternities.java @@ -103,6 +103,7 @@ public final class EdgeOfEternities extends ExpansionSet { cards.add(new SetCardInfo("Exalted Sunborn", 384, Rarity.MYTHIC, mage.cards.e.ExaltedSunborn.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Extinguisher Battleship", 242, Rarity.RARE, mage.cards.e.ExtinguisherBattleship.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Extinguisher Battleship", 355, Rarity.RARE, mage.cards.e.ExtinguisherBattleship.class, NON_FULL_USE_VARIOUS)); + cards.add(new SetCardInfo("Faller's Faithful", 100, Rarity.UNCOMMON, mage.cards.f.FallersFaithful.class)); cards.add(new SetCardInfo("Famished Worldsire", 182, Rarity.MYTHIC, mage.cards.f.FamishedWorldsire.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Famished Worldsire", 341, Rarity.MYTHIC, mage.cards.f.FamishedWorldsire.class, NON_FULL_USE_VARIOUS)); cards.add(new SetCardInfo("Fell Gravship", 101, Rarity.UNCOMMON, mage.cards.f.FellGravship.class)); diff --git a/Utils/mtg-cards-data.txt b/Utils/mtg-cards-data.txt index 0e313187434..7e3397dccc2 100644 --- a/Utils/mtg-cards-data.txt +++ b/Utils/mtg-cards-data.txt @@ -59172,6 +59172,7 @@ Dubious Delicacy|Edge of Eternities|96|U|{2}{B}|Artifact - Food|||Flash$When thi Elegy Acolyte|Edge of Eternities|97|R|{2}{B}{B}|Creature - Human Cleric|4|4|Lifelink$Whenever one or more creatures you control deal combat damage to a player, you draw a card and lose 1 life.$Void -- At the beginning of your end step, if a nonland permanent left the battlefield this turn or a spell was warped this turn, create a 2/2 colorless Robot artifact creature token.| Embrace Oblivion|Edge of Eternities|98|C|{B}|Sorcery|||As an additional cost to cast this spell, sacrifice an artifact or creature.$Destroy target creature or Spacecraft.| Entropic Battlecruiser|Edge of Eternities|99|R|{3}{B}|Artifact - Spacecraft|||Station$STATION 1+$Whenever an opponent discards a card, they lose 3 life.$STATION 8+$Flying, deathtouch$Whenever this Spacecraft attacks, each opponent discards a card. Each opponent who doesn't loses 3 life.$3/10| +Faller's Faithful|Edge of Eternities|100|U|{2}{B}|Creature - Human Wizard|3|1|When this creature enters, destroy up to one other target creature. If that creature wasn't dealt damage this turn, its controller draws two cards.| Fell Gravship|Edge of Eternities|101|U|{2}{B}|Artifact - Spacecraft|||When this Spacecraft enters, mill three cards, then return a creature or Spacecraft card from your graveyard to your hand.$Station$STATION 8+$Flying, lifelink$3/2| Gravkill|Edge of Eternities|103|C|{3}{B}|Instant|||Exile target creature or Spacecraft.| Hullcarver|Edge of Eternities|105|C|{B}|Artifact Creature - Robot Assassin|1|1|Deathtouch|