diff --git a/.gitattributes b/.gitattributes index e17b62ee101..46265675327 100644 --- a/.gitattributes +++ b/.gitattributes @@ -2983,6 +2983,7 @@ res/cardsfolder/lunge.txt -text svneol=native#text/plain res/cardsfolder/lure.txt -text svneol=native#text/plain res/cardsfolder/lurking_informant.txt -text svneol=native#text/plain res/cardsfolder/lurking_nightstalker.txt -text svneol=native#text/plain +res/cardsfolder/lurking_predators.txt -text svneol=native#text/plain res/cardsfolder/lux_cannon.txt -text svneol=native#text/plain res/cardsfolder/lymph_sliver.txt -text svneol=native#text/plain res/cardsfolder/lynx.txt -text svneol=native#text/plain diff --git a/res/cardsfolder/lurking_predators.txt b/res/cardsfolder/lurking_predators.txt new file mode 100644 index 00000000000..4d66b1984f6 --- /dev/null +++ b/res/cardsfolder/lurking_predators.txt @@ -0,0 +1,8 @@ +Name:Lurking Predators +ManaCost:4 G G +Types:Enchantment +Text:Whenever an opponent casts a spell, reveal the top card of your library. If it's a creature card, put it onto the battlefield. Otherwise, you may put that card on the bottom of your library. +SVar:Rarity:Rare +SVar:Picture:http://www.wizards.com/global/images/magic/general/lurking_predators.jpg +End +#Uses card-specific code! \ No newline at end of file diff --git a/res/gui/display_new_layout.xml b/res/gui/display_new_layout.xml index adb220fe94d..a7c0a96872b 100644 --- a/res/gui/display_new_layout.xml +++ b/res/gui/display_new_layout.xml @@ -100,7 +100,7 @@ 0 489 197 - 159 + 147 @@ -119,7 +119,7 @@ 0 - 648 + 636 197 5 @@ -134,9 +134,9 @@ 0 - 653 + 641 197 - 182 + 194 diff --git a/src/forge/GameActionUtil.java b/src/forge/GameActionUtil.java index 5e8ec071c42..e064952979e 100644 --- a/src/forge/GameActionUtil.java +++ b/src/forge/GameActionUtil.java @@ -4633,6 +4633,10 @@ public class GameActionUtil { else return false; } + public static void showInfoDialg(String message) { + JOptionPane.showMessageDialog(null, message); + } + public static boolean flipACoin(Player caller, Card source) { String choice = ""; String choices[] = {"heads","tails"}; diff --git a/src/forge/MagicStack.java b/src/forge/MagicStack.java index b1f150bf2f0..4e9c9c8989d 100644 --- a/src/forge/MagicStack.java +++ b/src/forge/MagicStack.java @@ -432,6 +432,95 @@ public class MagicStack extends MyObservable { } } + //Lurking Predators + if(sp.isSpell()) + { + CardListFilter filter = new CardListFilter() { + public boolean addCard(Card c) + { + return c.getName().equals("Lurking Predators"); + } + }; + + CardList lurkingPredators = new CardList(); + if(sp.getSourceCard().getController() == AllZone.HumanPlayer) + { + lurkingPredators.add(new CardList(AllZone.Computer_Battlefield.getCards())); + } + else + { + lurkingPredators.add(new CardList(AllZone.Human_Battlefield.getCards())); + } + + lurkingPredators = lurkingPredators.filter(filter); + + for(int i=0;i i) + { + AllZone.GameAction.moveToBottomOfLibrary(revealed); + } + else + { + AllZone.GameAction.moveToTopOfLibrary(revealed); + } + } + else + { + GameActionUtil.showInfoDialg(revealMsg.toString()); + AllZone.GameAction.moveToPlay(revealed); + } + + } + } + } + if (sp.getTargetCard() != null) CardFactoryUtil.checkTargetingEffects(sp, sp.getTargetCard()); }