From deae90b58298ac0d4efc37da06e07e7f2809fed3 Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Mon, 31 May 2021 09:58:24 -0400 Subject: [PATCH] [MH2] Implemented Fast // Furious --- Mage.Sets/src/mage/cards/f/FastFurious.java | 56 ++++++++++++++++++++ Mage.Sets/src/mage/sets/ModernHorizons2.java | 1 + 2 files changed, 57 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/f/FastFurious.java diff --git a/Mage.Sets/src/mage/cards/f/FastFurious.java b/Mage.Sets/src/mage/cards/f/FastFurious.java new file mode 100644 index 00000000000..fb5eba6aff3 --- /dev/null +++ b/Mage.Sets/src/mage/cards/f/FastFurious.java @@ -0,0 +1,56 @@ +package mage.cards.f; + +import mage.abilities.effects.common.DamageAllEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.abilities.effects.common.discard.DiscardControllerEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardSetInfo; +import mage.cards.SplitCard; +import mage.constants.CardType; +import mage.constants.SpellAbilityType; +import mage.filter.FilterPermanent; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.AbilityPredicate; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class FastFurious extends SplitCard { + + private static final FilterPermanent filter = new FilterCreaturePermanent("creature without flying"); + + static { + filter.add(Predicates.not(new AbilityPredicate(FlyingAbility.class))); + } + + public FastFurious(UUID ownerId, CardSetInfo setInfo) { + super( + ownerId, setInfo, + new CardType[]{CardType.INSTANT}, new CardType[]{CardType.SORCERY}, + "{2}{R}", "{3}{R}{R}", SpellAbilityType.SPLIT + ); + + // Fast + // Discard a card, then draw two cards. + this.getLeftHalfCard().getSpellAbility().addEffect(new DiscardControllerEffect(1)); + this.getLeftHalfCard().getSpellAbility().addEffect( + new DrawCardSourceControllerEffect(2).concatBy(", then") + ); + + // Furious + // Furious deals 3 damage to each creature without flying. + this.getRightHalfCard().getSpellAbility().addEffect(new DamageAllEffect(3, filter)); + } + + private FastFurious(final FastFurious card) { + super(card); + } + + @Override + public FastFurious copy() { + return new FastFurious(this); + } +} diff --git a/Mage.Sets/src/mage/sets/ModernHorizons2.java b/Mage.Sets/src/mage/sets/ModernHorizons2.java index c628fb36b4b..ba9cdb36463 100644 --- a/Mage.Sets/src/mage/sets/ModernHorizons2.java +++ b/Mage.Sets/src/mage/sets/ModernHorizons2.java @@ -66,6 +66,7 @@ public final class ModernHorizons2 extends ExpansionSet { cards.add(new SetCardInfo("Enchantress's Presence", 283, Rarity.RARE, mage.cards.e.EnchantresssPresence.class)); cards.add(new SetCardInfo("Endurance", 157, Rarity.MYTHIC, mage.cards.e.Endurance.class)); cards.add(new SetCardInfo("Extruder", 296, Rarity.UNCOMMON, mage.cards.e.Extruder.class)); + cards.add(new SetCardInfo("Fast // Furious", 123, Rarity.UNCOMMON, mage.cards.f.FastFurious.class)); cards.add(new SetCardInfo("Feast of Sanity", 84, Rarity.UNCOMMON, mage.cards.f.FeastOfSanity.class)); cards.add(new SetCardInfo("Filigree Attendant", 41, Rarity.UNCOMMON, mage.cards.f.FiligreeAttendant.class)); cards.add(new SetCardInfo("Fire // Ice", 290, Rarity.RARE, mage.cards.f.FireIce.class));