diff --git a/res/card-pictures.txt b/res/card-pictures.txt index 3a06c4edd9d..190a5b9126a 100644 --- a/res/card-pictures.txt +++ b/res/card-pictures.txt @@ -38,6 +38,9 @@ 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 +fishliver_oil.jpg http://www.wizards.com/global/images/magic/general/fishliver_oil.jpg +flaming_sword.jpg http://www.wizards.com/global/images/magic/general/flaming_sword.jpg +frog_tongue.jpg http://www.wizards.com/global/images/magic/general/frog_tongue.jpg putrid_leech.jpg http://www.wizards.com/global/images/magic/general/putrid_leech.jpg cave_sense.jpg http://www.wizards.com/global/images/magic/general/cave_sense.jpg divine_transformation.jpg http://www.wizards.com/global/images/magic/general/divine_transformation.jpg diff --git a/res/cards.txt b/res/cards.txt index 8de974822c8..50b24169e51 100644 --- a/res/cards.txt +++ b/res/cards.txt @@ -1,3 +1,26 @@ +Fishliver Oil +1 U +Enchantment Aura +Enchanted creature has islandwalk. +Enchant creature +enPump:Islandwalk + +Flaming Sword +1 R +Enchantment Aura +Enchanted creature gets +1/+0 and has first strike. +Flash +Enchant creature +enPump:+1/+0/First Strike + +Frog Tongue +G +Enchantment Aura +Enchanted creature has reach. +Enchant creature +enPump:Reach +When this card comes into play, draw a card. + Putrid Leech B G Creature Zombie Leech @@ -5347,6 +5370,7 @@ Nimbus Wings Enchantment Aura Enchanted creature gets +1/+2 and has flying. Enchant creature +enPump:+1/+2/Flying Vexing Beetle 4 G @@ -7462,8 +7486,9 @@ tap: add 1 Mythic Proportions 4 G G G Enchantment Aura -Target creature gets +8/+8 and has trample. +Enchanted creature gets +8/+8 and has trample. Enchant creature +enPump:+8/+8/Trample Goblin King 1 R R @@ -7914,9 +7939,10 @@ Enchant creature Epic Proportions 4 G G Enchantment Aura -Target creature gets +5/+5 and has trample. +Enchanted creature gets +5/+5 and has trample. Flash -Enchant Creature +Enchant creature +enPump:+5/+5/Trample Banishing Knack U diff --git a/src/forge/CardFactory_Auras.java b/src/forge/CardFactory_Auras.java index 23a85797efa..5e94dfea64c 100644 --- a/src/forge/CardFactory_Auras.java +++ b/src/forge/CardFactory_Auras.java @@ -33,9 +33,99 @@ class CardFactory_Auras { public static Card getCard(final Card card, String cardName, String owner) { - + //*************** START *********** START ************************** - if(cardName.equals("Epic Proportions")) { + if(cardName.equals("Pillory of the Sleepless")) { + final SpellAbility spell = new Spell(card) { + + private static final long serialVersionUID = 4504925036782582195L; + + @Override + public boolean canPlayAI() { + CardList list = new CardList(AllZone.Human_Play.getCards()); + list = list.getType("Creature"); + + if(list.isEmpty()) return false; + + //else + CardListUtil.sortAttack(list); + CardListUtil.sortFlying(list); + + for(int i = 0; i < list.size(); i++) { + if(CardFactoryUtil.canTarget(card, list.get(i)) + && !list.get(i).getKeyword().contains("Defender")) { + setTargetCard(list.get(i)); + return true; + } + } + return false; + }//canPlayAI() + + @Override + public void resolve() { + PlayerZone play = AllZone.getZone(Constant.Zone.Play, card.getController()); + play.add(card); + + Card c = getTargetCard(); + + if(AllZone.GameAction.isCardInPlay(c) && CardFactoryUtil.canTarget(card, c)) { + card.enchantCard(c); + //System.out.println("Enchanted: " +getTargetCard()); + } + }//resolve() + };//SpellAbility + card.clearSpellAbility(); + card.addSpellAbility(spell); + + Command onEnchant = new Command() { + + private static final long serialVersionUID = -6104532173397759007L; + + public void execute() { + if(card.isEnchanting()) { + Card crd = card.getEnchanting().get(0); + crd.addExtrinsicKeyword("This creature can't attack or block"); + } + }//execute() + };//Command + + + Command onUnEnchant = new Command() { + + private static final long serialVersionUID = -2563098134722661731L; + + public void execute() { + if(card.isEnchanting()) { + Card crd = card.getEnchanting().get(0); + crd.removeExtrinsicKeyword("This creature can't attack or block"); + } + + }//execute() + };//Command + + Command onLeavesPlay = new Command() { + + private static final long serialVersionUID = -1621250313053538491L; + + public void execute() { + if(card.isEnchanting()) { + Card crd = card.getEnchanting().get(0); + card.unEnchantCard(crd); + } + } + }; + + card.addEnchantCommand(onEnchant); + card.addUnEnchantCommand(onUnEnchant); + card.addLeavesPlayCommand(onLeavesPlay); + + spell.setBeforePayMana(CardFactoryUtil.input_targetCreature(spell)); + }//*************** END ************ END ************************** + + +/* + //*************** START *********** START ************************** + else if(cardName.equals("Epic Proportions")) { final SpellAbility spell = new Spell(card) { private static final long serialVersionUID = 358340213887424783L; @@ -121,7 +211,9 @@ class CardFactory_Auras { spell.setBeforePayMana(CardFactoryUtil.input_targetCreature(spell)); }//*************** END ************ END ************************** - +*/ + +/* //*************** START *********** START ************************** else if(cardName.equals("Mythic Proportions")) { final SpellAbility spell = new Spell(card) { @@ -205,7 +297,9 @@ class CardFactory_Auras { spell.setBeforePayMana(CardFactoryUtil.input_targetCreature(spell)); }//*************** END ************ END ************************** - +*/ + +/* //*************** START *********** START ************************** else if(cardName.equals("Nimbus Wings")) { final SpellAbility spell = new Spell(card) { @@ -299,7 +393,7 @@ class CardFactory_Auras { spell.setBeforePayMana(CardFactoryUtil.input_targetCreature(spell)); }//*************** END ************ END ************************** - +*/ /* //*************** START *********** START ************************** @@ -893,93 +987,7 @@ class CardFactory_Auras { spell.setBeforePayMana(CardFactoryUtil.input_targetCreature(spell)); }//*************** END ************ END ************************** - //*************** START *********** START ************************** - else if(cardName.equals("Pillory of the Sleepless")) { - final SpellAbility spell = new Spell(card) { - - private static final long serialVersionUID = 4504925036782582195L; - - @Override - public boolean canPlayAI() { - CardList list = new CardList(AllZone.Human_Play.getCards()); - list = list.getType("Creature"); - - if(list.isEmpty()) return false; - - //else - CardListUtil.sortAttack(list); - CardListUtil.sortFlying(list); - - for(int i = 0; i < list.size(); i++) { - if(CardFactoryUtil.canTarget(card, list.get(i)) - && !list.get(i).getKeyword().contains("Defender")) { - setTargetCard(list.get(i)); - return true; - } - } - return false; - }//canPlayAI() - - @Override - public void resolve() { - PlayerZone play = AllZone.getZone(Constant.Zone.Play, card.getController()); - play.add(card); - - Card c = getTargetCard(); - - if(AllZone.GameAction.isCardInPlay(c) && CardFactoryUtil.canTarget(card, c)) { - card.enchantCard(c); - //System.out.println("Enchanted: " +getTargetCard()); - } - }//resolve() - };//SpellAbility - card.clearSpellAbility(); - card.addSpellAbility(spell); - - Command onEnchant = new Command() { - - private static final long serialVersionUID = -6104532173397759007L; - - public void execute() { - if(card.isEnchanting()) { - Card crd = card.getEnchanting().get(0); - crd.addExtrinsicKeyword("This creature can't attack or block"); - } - }//execute() - };//Command - - Command onUnEnchant = new Command() { - - private static final long serialVersionUID = -2563098134722661731L; - - public void execute() { - if(card.isEnchanting()) { - Card crd = card.getEnchanting().get(0); - crd.removeExtrinsicKeyword("This creature can't attack or block"); - } - - }//execute() - };//Command - - Command onLeavesPlay = new Command() { - - private static final long serialVersionUID = -1621250313053538491L; - - public void execute() { - if(card.isEnchanting()) { - Card crd = card.getEnchanting().get(0); - card.unEnchantCard(crd); - } - } - }; - - card.addEnchantCommand(onEnchant); - card.addUnEnchantCommand(onUnEnchant); - card.addLeavesPlayCommand(onLeavesPlay); - - spell.setBeforePayMana(CardFactoryUtil.input_targetCreature(spell)); - }//*************** END ************ END ************************** //*************** START *********** START ************************** else if(cardName.equals("Brilliant Halo")) {