- fixed exile costs that do not involve targeting

This commit is contained in:
Jeff Wadsworth 2022-06-17 11:40:20 -05:00
parent bb2d551d0e
commit 4e3c9be901
4 changed files with 6 additions and 8 deletions

View file

@ -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);

View file

@ -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.

View file

@ -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());

View file

@ -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));