From 9b866802def5e9d5fea7f9e2a9c5685d8650f7ef Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Mon, 2 Nov 2020 09:06:03 -0500 Subject: [PATCH] [CMR] Implemented Falthis Shadowcat Familiar --- .../cards/f/FalthisShadowcatFamiliar.java | 63 +++++++++++++++++++ Mage.Sets/src/mage/sets/CommanderLegends.java | 1 + 2 files changed, 64 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/f/FalthisShadowcatFamiliar.java diff --git a/Mage.Sets/src/mage/cards/f/FalthisShadowcatFamiliar.java b/Mage.Sets/src/mage/cards/f/FalthisShadowcatFamiliar.java new file mode 100644 index 0000000000..e2c730b833 --- /dev/null +++ b/Mage.Sets/src/mage/cards/f/FalthisShadowcatFamiliar.java @@ -0,0 +1,63 @@ +package mage.cards.f; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; +import mage.abilities.keyword.DeathtouchAbility; +import mage.abilities.keyword.MenaceAbility; +import mage.abilities.keyword.PartnerAbility; +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 mage.filter.FilterPermanent; +import mage.filter.common.FilterControlledPermanent; +import mage.filter.predicate.permanent.CommanderPredicate; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class FalthisShadowcatFamiliar extends CardImpl { + + private static final FilterPermanent filter = new FilterControlledPermanent("Commanders"); + + static { + filter.add(CommanderPredicate.instance); + } + + public FalthisShadowcatFamiliar(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}"); + + this.addSuperType(SuperType.LEGENDARY); + this.subtype.add(SubType.NIGHTMARE); + this.subtype.add(SubType.CAT); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // Commanders you control have menace and deathtouch. + Ability ability = new SimpleStaticAbility(new GainAbilityControlledEffect( + new MenaceAbility(), Duration.WhileOnBattlefield, filter + )); + ability.addEffect(new GainAbilityControlledEffect( + DeathtouchAbility.getInstance(), Duration.WhileOnBattlefield, filter + ).setText("and deathtouch")); + this.addAbility(ability); + + // Partner + this.addAbility(PartnerAbility.getInstance()); + } + + private FalthisShadowcatFamiliar(final FalthisShadowcatFamiliar card) { + super(card); + } + + @Override + public FalthisShadowcatFamiliar copy() { + return new FalthisShadowcatFamiliar(this); + } +} diff --git a/Mage.Sets/src/mage/sets/CommanderLegends.java b/Mage.Sets/src/mage/sets/CommanderLegends.java index e69192c85c..522504e9e4 100644 --- a/Mage.Sets/src/mage/sets/CommanderLegends.java +++ b/Mage.Sets/src/mage/sets/CommanderLegends.java @@ -82,6 +82,7 @@ public final class CommanderLegends extends ExpansionSet { cards.add(new SetCardInfo("Eyeblight Cullers", 124, Rarity.COMMON, mage.cards.e.EyeblightCullers.class)); cards.add(new SetCardInfo("Fact or Fiction", 396, Rarity.UNCOMMON, mage.cards.f.FactOrFiction.class)); cards.add(new SetCardInfo("Fall from Favor", 68, Rarity.COMMON, mage.cards.f.FallFromFavor.class)); + cards.add(new SetCardInfo("Falthis, Shadowcat Familiar", 126, Rarity.UNCOMMON, mage.cards.f.FalthisShadowcatFamiliar.class)); cards.add(new SetCardInfo("Farhaven Elf", 225, Rarity.COMMON, mage.cards.f.FarhavenElf.class)); cards.add(new SetCardInfo("Fertilid", 226, Rarity.COMMON, mage.cards.f.Fertilid.class)); cards.add(new SetCardInfo("Filigree Familiar", 308, Rarity.UNCOMMON, mage.cards.f.FiligreeFamiliar.class));