Fix Elvish Rejuvenator

master
Ada Joule 2018-11-08 23:31:13 +07:00 committed by Melvin Zhang
parent 22d5088d8a
commit 9b02a7567e
1 changed files with 17 additions and 9 deletions

View File

@ -1,16 +1,18 @@
def action = {
final MagicGame game, final MagicEvent event ->
final MagicCardList topCards = new MagicCardList(event.getRefCardList());
event.processChosenCards(game, {
game.doAction(new PlayCardAction(
game.doAction(new ReturnCardAction(
MagicLocationType.OwnersLibrary,
it,
event.getPlayer(),
MagicPlayMod.TAPPED
));
final MagicCardList rest = new MagicCardList(event.getRefCardList().minus(it));
rest.shuffle();
rest.each({
topCards.remove(it);
topCards.shuffle();
topCards.each({
final MagicCard card ->
game.doAction(new MoveCardAction(card, MagicLocationType.OwnersLibrary, MagicLocationType.BottomOfOwnersLibrary));
game.doAction(new ShiftCardAction(card, MagicLocationType.OwnersLibrary, MagicLocationType.BottomOfOwnersLibrary));
});
});
}
@ -28,9 +30,9 @@ def action = {
@Override
public void executeEvent(final MagicGame game, final MagicEvent event) {
final MagicPlayer player = event.getPlayer();
final MagicCardList topFive = player.getLibrary().getCardsFromTop(5);
final MagicCardList topCards = player.getLibrary().getCardsFromTop(5);
game.doAction(new LookAction(
topFive,
topCards,
player,
"top five cards of your library"
));
@ -38,9 +40,15 @@ def action = {
event.getSource(),
new MagicMayChoice(
"Put a land card from among them onto the battlefield?",
new MagicFromCardListChoice(topFive, topFive.findAll({ it.hasType(MagicType.Land) }), 1, "Choose a land card")
new MagicFromCardListChoice(
topCards.findAll({ it.hasType(MagicType.Land) }),
topCards,
1,
"Choose a land card"
)
),
topFive,
topCards,
MagicGraveyardTargetPicker.PutOntoBattlefield,
action,
"PN may\$ put a land card from among them\$ onto the battlefield tapped. PN puts the rest on the bottom of their library in a random order."
));