[KHM] Implemented Resplendent Marshal (#7419)

This commit is contained in:
Daniel Bomar 2021-01-21 09:40:31 -06:00 committed by GitHub
parent 0099887a80
commit 30b3e2e658
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 121 additions and 0 deletions

View file

@ -16,6 +16,7 @@ import mage.game.Game;
import mage.players.Player;
import mage.target.common.TargetCardInASingleGraveyard;
import mage.target.common.TargetCardInYourGraveyard;
import mage.target.targetpointer.FixedTarget;
import mage.util.CardUtil;
/**
@ -25,6 +26,7 @@ import mage.util.CardUtil;
public class ExileFromGraveCost extends CostImpl {
private final List<Card> exiledCards = new ArrayList<>();
private boolean setTargetPointer = false;
public ExileFromGraveCost(TargetCardInYourGraveyard target) {
target.setNotTarget(true);
@ -57,9 +59,15 @@ public class ExileFromGraveCost extends CostImpl {
this.text = "exile " + target.getTargetName();
}
public ExileFromGraveCost(TargetCardInYourGraveyard target, boolean setTargetPointer) {
this(target);
this.setTargetPointer = setTargetPointer;
}
public ExileFromGraveCost(final ExileFromGraveCost cost) {
super(cost);
this.exiledCards.addAll(cost.getExiledCards());
this.setTargetPointer = cost.setTargetPointer;
}
@Override
@ -77,6 +85,9 @@ public class ExileFromGraveCost extends CostImpl {
Cards cardsToExile = new CardsImpl();
cardsToExile.addAll(exiledCards);
controller.moveCards(cardsToExile, Zone.EXILED, ability, game);
if (setTargetPointer) {
source.getEffects().setTargetPointer(new FixedTarget(targets.getFirstTarget(), game));
}
paid = true;
}