From b8caa2fa893aadf40c77ff8a76a6fa1c13852ea2 Mon Sep 17 00:00:00 2001 From: Sloth Date: Sun, 30 Sep 2012 21:57:14 +0000 Subject: [PATCH] - Added Jarad's Orders. --- .gitattributes | 1 + res/cardsfolder/j/jarads_orders.txt | 13 ++++++++++++ .../AbilityFactoryChangeZone.java | 20 ++++++++++--------- 3 files changed, 25 insertions(+), 9 deletions(-) create mode 100644 res/cardsfolder/j/jarads_orders.txt diff --git a/.gitattributes b/.gitattributes index 79a4df7a201..64613ab96c7 100644 --- a/.gitattributes +++ b/.gitattributes @@ -4988,6 +4988,7 @@ res/cardsfolder/j/jandors_saddlebags.txt svneol=native#text/plain res/cardsfolder/j/jangling_automaton.txt svneol=native#text/plain res/cardsfolder/j/jar_of_eyeballs.txt -text res/cardsfolder/j/jarad_golgari_lich_lord.txt -text +res/cardsfolder/j/jarads_orders.txt -text res/cardsfolder/j/jareth_leonine_titan.txt svneol=native#text/plain res/cardsfolder/j/jasmine_boreal.txt svneol=native#text/plain res/cardsfolder/j/jawbone_skulkin.txt svneol=native#text/plain diff --git a/res/cardsfolder/j/jarads_orders.txt b/res/cardsfolder/j/jarads_orders.txt new file mode 100644 index 00000000000..a65154f3d4b --- /dev/null +++ b/res/cardsfolder/j/jarads_orders.txt @@ -0,0 +1,13 @@ +Name:Jarad's Orders +ManaCost:2 B G +Types:Sorcery +Text:no text +A:SP$ ChangeZone | Cost$ 2 B G | Origin$ Library | Destination$ Library | ChangeType$ Creature | ChangeNum$ 2 | RememberChanged$ True | Reveal$ True | Shuffle$ False | StackDescription$ SpellDescription | SubAbility$ DBChangeZone1 | SpellDescription$ Search your library for up to two creature cards and reveal them. Put one into your hand and the other into your graveyard. Then shuffle your library. +SVar:DBChangeZone1:DB$ ChangeZone | Origin$ Library | Destination$ Hand | ChangeType$ Creature.IsRemembered | ChangeNum$ 1 | Mandatory$ True | NoLooking$ True | SelectPrompt$ Select a card for your hand | Shuffle$ False | SubAbility$ DBChangeZone2 | StackDescription$ None +SVar:DBChangeZone2:DB$ ChangeZone | Origin$ Library | Destination$ Graveyard | ChangeType$ Creature.IsRemembered | Mandatory$ True | NoLooking$ True | SelectPrompt$ Select a card for your graveyard | StackDescription$ None | SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +SVar:Rarity:Rare +SVar:Picture:http://www.wizards.com/global/images/magic/general/jarads_orders.jpg +SetInfo:RTR|Rare|http://magiccards.info/scans/en/rtr/175.jpg +Oracle:Search your library for up to two creature cards and reveal them. Put one into your hand and the other into your graveyard. Then shuffle your library. +End \ No newline at end of file diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryChangeZone.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryChangeZone.java index d1dd598e54d..81f24ecbd92 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryChangeZone.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryChangeZone.java @@ -898,6 +898,7 @@ public final class AbilityFactoryChangeZone { private static void changeHiddenOriginResolveHuman(final AbilityFactory af, final SpellAbility sa, Player player) { final HashMap params = af.getMapParams(); final Card card = sa.getSourceCard(); + final CardList reveal = new CardList(); final boolean defined = params.containsKey("Defined"); final Target tgt = sa.getTarget(); @@ -962,11 +963,8 @@ public final class AbilityFactoryChangeZone { } if (!defined) { - if (origin.contains(ZoneType.Library) && !defined) { // Look at whole - // library before - // moving onto - // choosing - // a card{ + if (origin.contains(ZoneType.Library) && !defined && !params.containsKey("NoLooking")) { + // Look at whole library before moving onto choosing a card GuiUtils.chooseOneOrNone(sa.getSourceCard().getName() + " - Looking at Library", player.getCardsIn(ZoneType.Library)); } @@ -982,6 +980,7 @@ public final class AbilityFactoryChangeZone { final String remember = params.get("RememberChanged"); final String forget = params.get("ForgetChanged"); final String imprint = params.get("Imprint"); + final String selectPrompt = params.containsKey("SelectPrompt") ? params.get("SelectPrompt") : "Select a card"; if (params.containsKey("Unimprint")) { card.clearImprinted(); @@ -996,11 +995,11 @@ public final class AbilityFactoryChangeZone { if (params.containsKey("AtRandom")) { o = CardUtil.getRandom(fetchList); } else if (params.containsKey("Mandatory")) { - o = GuiUtils.chooseOne("Select a card", fetchList); + o = GuiUtils.chooseOne(selectPrompt, fetchList); } else if (params.containsKey("Defined")) { o = fetchList.get(0); } else { - o = GuiUtils.chooseOneOrNone("Select a card", fetchList); + o = GuiUtils.chooseOneOrNone(selectPrompt, fetchList); } if (o != null) { @@ -1012,9 +1011,9 @@ public final class AbilityFactoryChangeZone { // do not shuffle the library once we have placed a fetched // card on top. if (params.containsKey("Reveal")) { - GuiUtils.chooseOne(card + " - Revealed card: ", c); + reveal.add(c); } - if (origin.contains(ZoneType.Library) && (i < 1)) { + if (origin.contains(ZoneType.Library) && (i < 1) && "False".equals(params.get("Shuffle"))) { player.shuffle(); } movedCard = Singletons.getModel().getGameAction().moveToLibrary(c, libraryPos); @@ -1083,6 +1082,9 @@ public final class AbilityFactoryChangeZone { } } } + if (params.containsKey("Reveal")) { + GuiUtils.chooseOne(card + " - Revealed card: ", reveal.toArray()); + } if ((origin.contains(ZoneType.Library) && !destination.equals(ZoneType.Library) && !defined) || params.containsKey("Shuffle")) {