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 @@
@@ -134,9 +134,9 @@
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());
}