diff --git a/res/cards.txt b/res/cards.txt index 6f1cab19248..807318b87f3 100644 --- a/res/cards.txt +++ b/res/cards.txt @@ -4994,7 +4994,6 @@ W Enchantment Aura Enchanted creature has vigilance. Enchant creature -enPump:Vigilance Mask of Law and Grace W @@ -6186,9 +6185,10 @@ no text AEther Web 1 G Enchantment Aura -Enchanted creature gets +1/+1, has reach, and can block creatures with shadow as though they didn't have shadow. -Enchant creature +Enchanted creature gets +1/+1, has reach, and can block creatures with shadow as though they didn't have shadow. Flash +Enchant creature +enPump:+1/+1/Reach & This creature can block creatures with shadow as though they didn't have shadow. Emeria Angel 2 W W @@ -6446,12 +6446,14 @@ W U Enchantment Aura Enchanted creature gets +1/+3 and has flying. Enchant creature +enPump:+1/+3/Flying Serra's Embrace 2 W W Enchantment Aura Enchanted creature gets +2/+2 and has flying and vigilance. Enchant creature +enPump:+2/+2/Flying & Vigilance Flight U @@ -6566,6 +6568,7 @@ Armadillo Cloak Enchantment Aura Enchanted creature gets +2/+2 and has trample and lifelink. Enchant creature +enPump:+2/+2/Trample & Lifelink Dryad Sophisticate 1 G diff --git a/src/forge/CardFactory_Auras.java b/src/forge/CardFactory_Auras.java index 7229f3b4a69..c666b03bddd 100644 --- a/src/forge/CardFactory_Auras.java +++ b/src/forge/CardFactory_Auras.java @@ -1380,10 +1380,6 @@ class CardFactory_Auras { spell.setBeforePayMana(CardFactoryUtil.input_targetCreature(spell)); }//*************** END ************ END ************************** - - - // NOTE: this card is missing it's cards.txt entry - //*************** START *********** START ************************** else if(cardName.equals("Paralyzing Grasp")) { final SpellAbility spell = new Spell(card) { @@ -1607,6 +1603,96 @@ class CardFactory_Auras { spell.setBeforePayMana(CardFactoryUtil.input_targetCreature(spell)); }//*************** END ************ END ************************** + //****************************************************************** + // This card can't be converted to keyword, problem with CARDNME * + //*************** START *********** START ************************** + else if(cardName.equals("Vigilance")) { + final SpellAbility spell = new Spell(card) { + + private static final long serialVersionUID = 3659751920022901998L; + + @Override + public boolean canPlayAI() { + CardList list = new CardList(AllZone.Computer_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))) { + 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 = -2060758415927004190L; + + public void execute() { + if(card.isEnchanting()) { + Card crd = card.getEnchanting().get(0); + crd.addExtrinsicKeyword("Vigilance"); + } + }//execute() + };//Command + + + Command onUnEnchant = new Command() { + + private static final long serialVersionUID = -5220074511756932255L; + + public void execute() { + if(card.isEnchanting()) { + Card crd = card.getEnchanting().get(0); + + crd.removeExtrinsicKeyword("Vigilance"); + } + + }//execute() + };//Command + + Command onLeavesPlay = new Command() { + + private static final long serialVersionUID = -549155960320946886L; + + 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 ************************** + // ******************************************************************* // Why are there two different card objects for Scavenged Weaponry ??? @@ -2431,7 +2517,9 @@ class CardFactory_Auras { spell.setBeforePayMana(CardFactoryUtil.input_targetCreature(spell)); }//*************** END ************ END ************************** - + + +/* //*************** START *********** START ************************** else if(cardName.equals("Armadillo Cloak")) { final SpellAbility spell = new Spell(card) { @@ -2527,7 +2615,9 @@ class CardFactory_Auras { spell.setBeforePayMana(CardFactoryUtil.input_targetCreature(spell)); }//*************** END ************ END ************************** +*/ +/* //*************** START *********** START ************************** else if(cardName.equals("Serra's Embrace")) { final SpellAbility spell = new Spell(card) { @@ -2619,7 +2709,9 @@ class CardFactory_Auras { spell.setBeforePayMana(CardFactoryUtil.input_targetCreature(spell)); }//*************** END ************ END ************************** +*/ +/* //*************** START *********** START ************************** else if(cardName.equals("Wings of Hope")) { final SpellAbility spell = new Spell(card) { @@ -2710,7 +2802,9 @@ class CardFactory_Auras { spell.setBeforePayMana(CardFactoryUtil.input_targetCreature(spell)); }//*************** END ************ END ************************** +*/ +/* //*************** START *********** START ************************** else if(cardName.equals("AEther Web")) { final SpellAbility spell = new Spell(card) { @@ -2809,7 +2903,7 @@ class CardFactory_Auras { spell.setBeforePayMana(CardFactoryUtil.input_targetCreature(spell)); }//*************** END ************ END ************************** - +*/ /* //*************** START *********** START ************************** @@ -3081,96 +3175,6 @@ class CardFactory_Auras { }//*************** END ************ END ************************** */ -/* - //*************** START *********** START ************************** - else if(cardName.equals("Vigilance")) { - final SpellAbility spell = new Spell(card) { - - private static final long serialVersionUID = 3659751920022901998L; - - @Override - public boolean canPlayAI() { - CardList list = new CardList(AllZone.Computer_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))) { - 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 = -2060758415927004190L; - - public void execute() { - if(card.isEnchanting()) { - Card crd = card.getEnchanting().get(0); - crd.addExtrinsicKeyword("Vigilance"); - } - }//execute() - };//Command - - - Command onUnEnchant = new Command() { - - private static final long serialVersionUID = -5220074511756932255L; - - public void execute() { - if(card.isEnchanting()) { - Card crd = card.getEnchanting().get(0); - - crd.removeExtrinsicKeyword("Vigilance"); - } - - }//execute() - };//Command - - Command onLeavesPlay = new Command() { - - private static final long serialVersionUID = -549155960320946886L; - - 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("Tiger Claws")) {