diff --git a/.gitattributes b/.gitattributes index 30ce5c25a20..751d983c7ec 100644 --- a/.gitattributes +++ b/.gitattributes @@ -7499,6 +7499,7 @@ res/cardsfolder/s/scavenger_folk.txt svneol=native#text/plain res/cardsfolder/s/scavenging_ghoul.txt svneol=native#text/plain res/cardsfolder/s/scavenging_ooze.txt -text res/cardsfolder/s/scavenging_scarab.txt svneol=native#text/plain +res/cardsfolder/s/scent_of_nightshade.txt -text svneol=unset#text/plain res/cardsfolder/s/scepter_of_dominance.txt svneol=native#text/plain res/cardsfolder/s/scepter_of_empires.txt -text res/cardsfolder/s/scepter_of_fugue.txt svneol=native#text/plain diff --git a/res/cardsfolder/s/scent_of_nightshade.txt b/res/cardsfolder/s/scent_of_nightshade.txt new file mode 100644 index 00000000000..1ba4077e9cb --- /dev/null +++ b/res/cardsfolder/s/scent_of_nightshade.txt @@ -0,0 +1,13 @@ +Name:Scent of Nightshade +ManaCost:1 B +Types:Instant +Text:no text +A:SP$ Reveal | Cost$ 1 B | Defined$ You | RevealValid$ Card.Black | AnyNumber$ True | RememberRevealed$ True | SubAbility$ DBScentOfNightshadePump | SpellDescription$ Reveal any number of black cards in your hand. Target creature gets -X/-X until end of turn, where X is the number of cards revealed this way. +SVar:DBScentOfNightshadePump:DB$ Pump | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ ScentOfNightshadeX | NumDef$ ScentOfNightshadeX | SubAbility$ DBScentOfNightshadeCleanup +SVar:DBScentOfNightshadeCleanup:DB$ Cleanup | ClearRemembered$ True +SVar:ScentOfNightshadeX:Remembered$Amount.Negative +SVar:RemAIDeck:True +SVar:RemRandomDeck:True +SVar:Rarity:Common +SVar:Picture:http://www.wizards.com/global/images/magic/general/scent_of_nightshade.jpg +End \ No newline at end of file diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryReveal.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryReveal.java index fc051b09c2b..6fa58870adc 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryReveal.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryReveal.java @@ -2221,6 +2221,7 @@ public final class AbilityFactoryReveal { valid = valid.getValidCards(params.get("RevealValid"), p, host); } revealed.addAll(AbilityFactoryReveal.getRevealedList(host, sa, valid)); + GuiUtils.getChoice("Revealed card(s)", revealed.toArray()); } if (params.containsKey("RememberRevealed")) { @@ -2235,16 +2236,25 @@ public final class AbilityFactoryReveal { } private static CardList getRevealedList(final Card card, final SpellAbility sa, final CardList valid) { - final CardList revealed = new CardList(); + final CardList chosen = new CardList(); + final int validamount = valid.size(); + + for (int i = 0; i < validamount; i++) { + final Object o = GuiUtils.getChoiceOptional("Choose card(s) to reveal", valid.toArray()); + if (o != null) { + chosen.add((Card) o); + valid.remove((Card) o); + } else { + break; + } + } if (sa.getActivatingPlayer().isComputer()) { // not really implemented for computer // would need GuiUtils.getChoice("Revealed card(s)", // revealed.toArray()); } else { - } - - return revealed; + return chosen; } /*