diff --git a/res/card-pictures.txt b/res/card-pictures.txt index e7131afce24..b360b9939c0 100644 --- a/res/card-pictures.txt +++ b/res/card-pictures.txt @@ -38,6 +38,7 @@ snow_covered_mountain.jpg http://www.wizards.com/global/images/magic/gene snow_covered_mountain1.jpg http://www.wizards.com/global/images/magic/general/snow_covered_mountain.jpg snow_covered_mountain2.jpg http://www.magickartenmarkt.de/img/cards/Ice_Age/snow_covered_mountain.jpg snow_covered_mountain3.jpg http://www.magickartenmarkt.de/img/cards/Ice_Age/snow_covered_mountain.jpg +oust.jpg http://www.wizards.com/global/images/magic/general/oust.jpg curse_of_wizardry.jpg http://www.wizards.com/global/images/magic/general/curse_of_wizardry.jpg kor_line_slinger.jpg http://www.wizards.com/global/images/magic/general/kor_line_slinger.jpg dawnglare_invoker.jpg http://www.wizards.com/global/images/magic/general/dawnglare_invoker.jpg diff --git a/res/cards.txt b/res/cards.txt index 4aa621bcf17..108f245133b 100644 --- a/res/cards.txt +++ b/res/cards.txt @@ -1,3 +1,8 @@ +Oust +W +Sorcery +Put target creature into its owner's library second from the top. Its controller gains 3 life. + Curse of Wizardry 2 B B Enchantment diff --git a/src/forge/CardFactory.java b/src/forge/CardFactory.java index c2ffe5971b9..3ec03604380 100644 --- a/src/forge/CardFactory.java +++ b/src/forge/CardFactory.java @@ -19315,6 +19315,45 @@ public class CardFactory implements NewConstants { card.addComesIntoPlayCommand(comesIntoPlay); }//*************** END ************ END ************************** + //*************** START *********** START ************************** + else if (cardName.equals("Oust")) { + /* + * Put target creature into its owner's library second from the + * top. Its controller gains 3 life. + */ + final SpellAbility spell = new Spell(card){ + private static final long serialVersionUID = 4305992990847699048L; + + @Override + public void resolve() { + Card c = getTargetCard(); + if(null != c) { + PlayerZone lib = AllZone.getZone(Constant.Zone.Library, c.getOwner()); + PlayerZone play = AllZone.getZone(Constant.Zone.Play, c.getController()); + play.remove(c); + lib.add(c, 1); //add second from top + PlayerLife life = AllZone.GameAction.getPlayerLife(c.getController()); + life.addLife(3); + } + } + + @Override + public void chooseTargetAI() { + CardList creatures = AllZoneUtil.getCreaturesInPlay(Constant.Player.Human); + setTargetCard(CardFactoryUtil.AI_getBestCreature(creatures)); + }//chooseTargetAI() + + @Override + public boolean canPlayAI() { + return AllZoneUtil.getCreaturesInPlay(Constant.Player.Human).size() > 0; + } + }; + + spell.setBeforePayMana(CardFactoryUtil.input_targetCreature(spell)); + card.clearSpellAbility(); + card.addSpellAbility(spell); + }//*************** END ************ END ************************** + // Cards with Cycling abilities // -1 means keyword "Cycling" not found if(hasKeyword(card, "Cycling") != -1) {