diff --git a/.gitattributes b/.gitattributes index 1de6d46b4ff..f7d1097653f 100644 --- a/.gitattributes +++ b/.gitattributes @@ -6247,6 +6247,7 @@ res/cardsfolder/m/mirrodins_core.txt svneol=native#text/plain res/cardsfolder/m/mirror_entity.txt svneol=native#text/plain res/cardsfolder/m/mirror_gallery.txt svneol=native#text/plain res/cardsfolder/m/mirror_mad_phantasm.txt -text +res/cardsfolder/m/mirror_of_fate.txt -text res/cardsfolder/m/mirror_sheen.txt -text res/cardsfolder/m/mirror_sigil_sergeant.txt svneol=native#text/plain res/cardsfolder/m/mirror_strike.txt -text diff --git a/res/cardsfolder/d/doomsday.txt b/res/cardsfolder/d/doomsday.txt index e106a97b70c..0aa7ee94644 100644 --- a/res/cardsfolder/d/doomsday.txt +++ b/res/cardsfolder/d/doomsday.txt @@ -3,7 +3,7 @@ ManaCost:B B B Types:Sorcery Text:no text A:SP$ ChangeZoneAll | Cost$ B B B | Origin$ Graveyard | Destination$ Library | SubAbility$ DBDig | SpellDescription$ Search your library and graveyard for five cards and exile the rest. Put the chosen cards on top of your library in any order. You lose half your life, rounded up. -SVar:DBDig:DB$Dig | DigNum$ X | DestinationZone$ Library | ChangeNum$ 5 | DestinationZone2$ Exile | SubAbility$ DBLoseLife | References$ X +SVar:DBDig:DB$ Dig | DigNum$ X | DestinationZone$ Library | ChangeNum$ 5 | DestinationZone2$ Exile | SubAbility$ DBLoseLife | References$ X SVar:DBLoseLife:DB$LoseLife | LifeAmount$ Y | References$ Y SVar:X:Count$InYourLibrary SVar:Y:Count$YourLifeTotal/HalfUp diff --git a/res/cardsfolder/m/mirror_of_fate.txt b/res/cardsfolder/m/mirror_of_fate.txt new file mode 100644 index 00000000000..e1770b55dfc --- /dev/null +++ b/res/cardsfolder/m/mirror_of_fate.txt @@ -0,0 +1,14 @@ +Name:Mirror of Fate +ManaCost:5 +Types:Artifact +Text:no text +A:AB$ ChooseCard | Cost$ T Sac<1/CARDNAME> | Amount$ 7 | Choices$ Card.YouOwn+faceUp | SubAbility$ DBExile | RememberChosen$ True | ChoiceZone$ Exile | SpellDescription$ Choose up to seven face-up exiled cards you own. Exile all the cards from your library, then put the chosen cards on top of your library. +SVar:DBExile:DB$ ChangeZoneAll | Origin$ Library | Destination$ Exile | SubAbility$ DBReturn +SVar:DBReturn:DB$ ChangeZoneAll | Origin$ Exile | Destination$ Library | ChangeType$ Card.IsRemembered +SVar:RemRandomDeck:True +SVar:RemAIDeck:True +SVar:Rarity:Rare +SVar:Picture:http://www.wizards.com/global/images/magic/general/mirror_of_fate.jpg +SetInfo:M10|Rare|http://magiccards.info/scans/en/m10/215.jpg +Oracle:{T}, Sacrifice Mirror of Fate: Choose up to seven face-up exiled cards you own. Exile all the cards from your library, then put the chosen cards on top of your library. +End \ No newline at end of file diff --git a/src/main/java/forge/card/abilityfactory/effects/ChangeZoneAllEffect.java b/src/main/java/forge/card/abilityfactory/effects/ChangeZoneAllEffect.java index 43df5a6bcb9..f3f445ef4b3 100644 --- a/src/main/java/forge/card/abilityfactory/effects/ChangeZoneAllEffect.java +++ b/src/main/java/forge/card/abilityfactory/effects/ChangeZoneAllEffect.java @@ -15,6 +15,7 @@ import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; import forge.game.player.Player; import forge.game.zone.ZoneType; +import forge.gui.GuiChoose; public class ChangeZoneAllEffect extends SpellEffect { @@ -62,10 +63,12 @@ public class ChangeZoneAllEffect extends SpellEffect { final String remember = sa.getParam("RememberChanged"); - // I don't know if library position is necessary. It's here if it is, - // just in case - final int libraryPos = sa.hasParam("LibraryPosition") ? Integer.parseInt(sa.getParam("LibraryPosition")) - : 0; + final int libraryPos = sa.hasParam("LibraryPosition") ? Integer.parseInt(sa.getParam("LibraryPosition")) : 0; + + if (sa.getActivatingPlayer().isHuman() && destination.equals(ZoneType.Library)) { + cards = GuiChoose.getOrderChoices("Choose order of cards to put into the library", "Put first", 0, cards, null, null); + } + for (final Card c : cards) { if (destination.equals(ZoneType.Battlefield)) { // Auras without Candidates stay in their current location