From 4e3c9be901a48ce263bc3161c4dc689ca2ea20c0 Mon Sep 17 00:00:00 2001 From: Jeff Wadsworth Date: Fri, 17 Jun 2022 11:40:20 -0500 Subject: [PATCH] - fixed exile costs that do not involve targeting --- Mage.Sets/src/mage/cards/a/AltarOfBhaal.java | 2 +- Mage.Sets/src/mage/cards/c/CityOfShadows.java | 6 +++--- Mage.Sets/src/mage/cards/n/NecroticFumes.java | 3 +-- Mage.Sets/src/mage/cards/s/SoulExchange.java | 3 +-- 4 files changed, 6 insertions(+), 8 deletions(-) diff --git a/Mage.Sets/src/mage/cards/a/AltarOfBhaal.java b/Mage.Sets/src/mage/cards/a/AltarOfBhaal.java index 377da435a53..383991853f6 100644 --- a/Mage.Sets/src/mage/cards/a/AltarOfBhaal.java +++ b/Mage.Sets/src/mage/cards/a/AltarOfBhaal.java @@ -30,7 +30,7 @@ public final class AltarOfBhaal extends AdventureCard { new ReturnFromGraveyardToBattlefieldTargetEffect(), new ManaCostsImpl<>("{2}{B}") ); ability.addCost(new TapSourceCost()); - ability.addCost(new ExileTargetCost(new TargetControlledPermanent(StaticFilters.FILTER_CONTROLLED_A_CREATURE))); + ability.addCost(new ExileTargetCost(new TargetControlledPermanent(1, 1, StaticFilters.FILTER_CONTROLLED_A_CREATURE, true))); ability.addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD)); this.addAbility(ability); diff --git a/Mage.Sets/src/mage/cards/c/CityOfShadows.java b/Mage.Sets/src/mage/cards/c/CityOfShadows.java index a13d1f45c77..b4e11fdffd2 100644 --- a/Mage.Sets/src/mage/cards/c/CityOfShadows.java +++ b/Mage.Sets/src/mage/cards/c/CityOfShadows.java @@ -1,4 +1,3 @@ - package mage.cards.c; import java.util.UUID; @@ -15,6 +14,7 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Zone; import mage.counters.CounterType; +import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; /** @@ -24,11 +24,11 @@ import mage.target.common.TargetControlledCreaturePermanent; public final class CityOfShadows extends CardImpl { public CityOfShadows(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.LAND},""); + super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); // {T}, Exile a creature you control: Put a storage counter on City of Shadows. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.STORAGE.createInstance()), new TapSourceCost()); - ability.addCost(new ExileTargetCost(new TargetControlledCreaturePermanent())); + ability.addCost(new ExileTargetCost(new TargetControlledCreaturePermanent(1, 1, StaticFilters.FILTER_CONTROLLED_A_CREATURE, true))); this.addAbility(ability); // {T}: Add X mana of {C}, where X is the number of storage counters on City of Shadows. diff --git a/Mage.Sets/src/mage/cards/n/NecroticFumes.java b/Mage.Sets/src/mage/cards/n/NecroticFumes.java index 0443d479648..5f2d3e462c8 100644 --- a/Mage.Sets/src/mage/cards/n/NecroticFumes.java +++ b/Mage.Sets/src/mage/cards/n/NecroticFumes.java @@ -7,7 +7,6 @@ import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; import mage.filter.StaticFilters; -import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetControlledPermanent; import mage.target.common.TargetCreatureOrPlaneswalker; @@ -24,7 +23,7 @@ public final class NecroticFumes extends CardImpl { this.subtype.add(SubType.LESSON); // As an additional cost to cast this spell, exile a creature you control. - this.getSpellAbility().addCost(new ExileTargetCost(new TargetControlledPermanent(StaticFilters.FILTER_CONTROLLED_A_CREATURE))); + this.getSpellAbility().addCost(new ExileTargetCost(new TargetControlledPermanent(1, 1, StaticFilters.FILTER_CONTROLLED_A_CREATURE, true))); // Exile target creature or planeswalker. this.getSpellAbility().addEffect(new ExileTargetEffect()); diff --git a/Mage.Sets/src/mage/cards/s/SoulExchange.java b/Mage.Sets/src/mage/cards/s/SoulExchange.java index 189e8dd3f70..cd158e4cbad 100644 --- a/Mage.Sets/src/mage/cards/s/SoulExchange.java +++ b/Mage.Sets/src/mage/cards/s/SoulExchange.java @@ -1,4 +1,3 @@ - package mage.cards.s; import java.util.UUID; @@ -28,7 +27,7 @@ public final class SoulExchange extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{B}{B}"); // As an additional cost to cast Soul Exchange, exile a creature you control. - Cost cost = new ExileTargetCost(new TargetControlledCreaturePermanent()); + Cost cost = new ExileTargetCost(new TargetControlledCreaturePermanent(1, 1, StaticFilters.FILTER_CONTROLLED_A_CREATURE, true)); this.getSpellAbility().addCost(cost); // Return target creature card from your graveyard to the battlefield. Put a +2/+2 counter on that creature if the exiled creature was a Thrull. this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(StaticFilters.FILTER_CARD_CREATURE_YOUR_GRAVEYARD));