mirror of
https://github.com/correl/mage.git
synced 2024-11-15 11:09:30 +00:00
* Parallel Thoughts - Fixed handling of replacement effect (was not optional).
This commit is contained in:
parent
beadf09c53
commit
36883cc4d1
1 changed files with 13 additions and 12 deletions
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
package mage.cards.p;
|
package mage.cards.p;
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
@ -86,7 +85,7 @@ class ParallelThoughtsSearchEffect extends OneShotEffect {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// shuffle that exiled pile
|
// shuffle that exiled pile
|
||||||
|
|
||||||
UUID[] shuffled = cardsInExilePile.toArray(new UUID[0]);
|
UUID[] shuffled = cardsInExilePile.toArray(new UUID[0]);
|
||||||
for (int n = shuffled.length - 1; n > 0; n--) {
|
for (int n = shuffled.length - 1; n > 0; n--) {
|
||||||
int r = RandomUtil.nextInt(n + 1);
|
int r = RandomUtil.nextInt(n + 1);
|
||||||
|
@ -96,16 +95,15 @@ class ParallelThoughtsSearchEffect extends OneShotEffect {
|
||||||
}
|
}
|
||||||
cardsInExilePile.clear();
|
cardsInExilePile.clear();
|
||||||
cardsInExilePile.addAll(Arrays.asList(shuffled));
|
cardsInExilePile.addAll(Arrays.asList(shuffled));
|
||||||
|
|
||||||
// move to exile zone and turn face down
|
// move to exile zone and turn face down
|
||||||
|
String exileName = permanent.getIdName() + " (" + game.getState().getZoneChangeCounter(source.getSourceId()) + ")";
|
||||||
for (Card card : cardsInExilePile.getCards(game)) {
|
for (Card card : cardsInExilePile.getCards(game)) {
|
||||||
controller.moveCardsToExile(card, source, game, false, CardUtil.getCardExileZoneId(game, source), permanent.getLogName());
|
controller.moveCardsToExile(card, source, game, false, CardUtil.getCardExileZoneId(game, source), exileName);
|
||||||
card.setFaceDown(true, game);
|
card.setFaceDown(true, game);
|
||||||
}
|
}
|
||||||
|
|
||||||
// shuffle controller library
|
// shuffle controller library
|
||||||
|
|
||||||
controller.shuffleLibrary(source, game);
|
controller.shuffleLibrary(source, game);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
@ -118,7 +116,7 @@ class ParallelThoughtsReplacementEffect extends ReplacementEffectImpl {
|
||||||
|
|
||||||
ParallelThoughtsReplacementEffect() {
|
ParallelThoughtsReplacementEffect() {
|
||||||
super(Duration.WhileOnBattlefield, Outcome.DrawCard);
|
super(Duration.WhileOnBattlefield, Outcome.DrawCard);
|
||||||
staticText = "If you would draw a card, you may instead put the top card of the pile you exiled with Parallel Thoughts into your hand";
|
staticText = "If you would draw a card, you may instead put the top card of the pile you exiled with {this} into your hand";
|
||||||
}
|
}
|
||||||
|
|
||||||
ParallelThoughtsReplacementEffect(final ParallelThoughtsReplacementEffect effect) {
|
ParallelThoughtsReplacementEffect(final ParallelThoughtsReplacementEffect effect) {
|
||||||
|
@ -135,12 +133,15 @@ class ParallelThoughtsReplacementEffect extends ReplacementEffectImpl {
|
||||||
Player controller = game.getPlayer(source.getControllerId());
|
Player controller = game.getPlayer(source.getControllerId());
|
||||||
if (controller != null
|
if (controller != null
|
||||||
&& !game.getExile().getExileZone(CardUtil.getCardExileZoneId(game, source)).getCards(game).isEmpty()) {
|
&& !game.getExile().getExileZone(CardUtil.getCardExileZoneId(game, source)).getCards(game).isEmpty()) {
|
||||||
Card card = game.getExile().getExileZone(CardUtil.getCardExileZoneId(game, source)).getCards(game).iterator().next();
|
if (controller.chooseUse(outcome, "Draw a card from the pile you exiled instead drawing from your library?", source, game)) {
|
||||||
if (card != null) {
|
Card card = game.getExile().getExileZone(CardUtil.getCardExileZoneId(game, source)).getCards(game).iterator().next();
|
||||||
controller.moveCards(card, Zone.HAND, source, game);
|
if (card != null) {
|
||||||
|
controller.moveCards(card, Zone.HAND, source, game);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
Loading…
Reference in a new issue