From 830f71cd3241dac8f59aede1497514910a5848f9 Mon Sep 17 00:00:00 2001 From: Oleg Agafonov Date: Thu, 4 Jul 2019 18:21:58 +0400 Subject: [PATCH] * Finale of Promise - added dialog to select cards order to cast; --- .../src/mage/cards/f/FinaleOfPromise.java | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/Mage.Sets/src/mage/cards/f/FinaleOfPromise.java b/Mage.Sets/src/mage/cards/f/FinaleOfPromise.java index 339ef3a9d33..6cac63ae656 100644 --- a/Mage.Sets/src/mage/cards/f/FinaleOfPromise.java +++ b/Mage.Sets/src/mage/cards/f/FinaleOfPromise.java @@ -24,9 +24,8 @@ import mage.target.common.TargetCardInYourGraveyard; import mage.target.targetadjustment.TargetAdjuster; import mage.target.targetpointer.FixedTarget; -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; +import java.util.*; +import java.util.stream.Collectors; /** * @author JayDi85 @@ -120,6 +119,19 @@ class FinaleOfPromiseEffect extends OneShotEffect { } } + // ask to cast order + if (cardsToCast.size() > 0) { + String cardsOrder = cardsToCast.stream() + .map(game::getCard) + .filter(Objects::nonNull) + .map(Card::getName) + .collect(Collectors.joining(" -> ")); + if (!controller.chooseUse(Outcome.Detriment, "Cast cards by choose order: " + cardsOrder + "?", "Finale of Promise", + "Use that order", "Reverse", source, game)) { + Collections.reverse(cardsToCast); + } + } + // free cast + replace effect for (UUID id : cardsToCast) { Card card = game.getCard(id);