diff --git a/.gitattributes b/.gitattributes index ac38330378d..e120f8fea6e 100644 --- a/.gitattributes +++ b/.gitattributes @@ -4137,6 +4137,7 @@ res/cardsfolder/scuzzback_marauders.txt -text svneol=native#text/plain res/cardsfolder/scuzzback_scrapper.txt -text svneol=native#text/plain res/cardsfolder/sea_eagle.txt -text svneol=native#text/plain res/cardsfolder/sea_gate_loremaster.txt -text svneol=native#text/plain +res/cardsfolder/sea_gate_oracle.txt -text svneol=native#text/plain res/cardsfolder/sea_monster.txt -text svneol=native#text/plain res/cardsfolder/sea_scryer.txt -text svneol=native#text/plain res/cardsfolder/sea_serpent.txt -text svneol=native#text/plain diff --git a/res/cardsfolder/sea_gate_oracle.txt b/res/cardsfolder/sea_gate_oracle.txt new file mode 100644 index 00000000000..497648b3783 --- /dev/null +++ b/res/cardsfolder/sea_gate_oracle.txt @@ -0,0 +1,9 @@ +Name:Sea Gate Oracle +ManaCost:2 U +Types:Creature Human Wizard +Text:When CARDNAME enters the battlefield, look at the top two cards of your library. Put one of them into your hand and the other on the bottom of your library. +PT:1/3 +SVar:RemAIDeck:True +SVar:Rarity:Common +SVar:Picture:http://www.wizards.com/global/images/magic/general/sea_gate_oracle.jpg +End \ No newline at end of file diff --git a/src/forge/CardFactory_Creatures.java b/src/forge/CardFactory_Creatures.java index ffca359ab70..4c16e39c9d6 100644 --- a/src/forge/CardFactory_Creatures.java +++ b/src/forge/CardFactory_Creatures.java @@ -14053,6 +14053,45 @@ public class CardFactory_Creatures { card.addSpellAbility(ability); }//*************** END ************ END ************************** + //*************** START *********** START ************************** + else if(cardName.equals("Sea Gate Oracle")) { + final Ability ability = new Ability(card, "") { + @Override + public void resolve() { + if(card.getController().isHuman()) { + PlayerZone lib = AllZone.getZone(Constant.Zone.Library, card.getController()); + int maxCards = lib.size(); + maxCards = Math.min(maxCards, 2); + if(maxCards == 0) return; + CardList topCards = new CardList(); + //show top n cards: + for(int j = 0; j < maxCards; j++ ) { + topCards.add(lib.get(j)); + } + Object o = AllZone.Display.getChoice("Put one card in your hand", topCards.toArray()); + if(o != null) { + Card c_1 = (Card) o; + topCards.remove(c_1); + AllZone.GameAction.moveToHand(c_1); + } + for(Card c:topCards) { + AllZone.GameAction.moveToBottomOfLibrary(c); + } + } + } + }; + ability.setStackDescription(cardName+" - Look at the top two cards of your library. Put one of them into your hand and the other on the bottom of your library."); + Command intoPlay = new Command() { + private static final long serialVersionUID = -4300804642226899861L; + + public void execute() { + AllZone.Stack.add(ability); + } + }; + + card.addComesIntoPlayCommand(intoPlay); + }//*************** END ************ END ************************** + if(hasKeyword(card, "Level up") != -1 && hasKeyword(card, "maxLevel") != -1) {