diff --git a/res/cardsfolder/e/echoing_courage.txt b/res/cardsfolder/e/echoing_courage.txt index 73e106391f5..0f637882aea 100644 --- a/res/cardsfolder/e/echoing_courage.txt +++ b/res/cardsfolder/e/echoing_courage.txt @@ -1,8 +1,10 @@ Name:Echoing Courage ManaCost:1 G Types:Instant -Text:Target creature and all other creatures with the same name as that creature get +2/+2 until end of turn. -SVar:RemAIDeck:True +Text:no text +A:SP$ Pump | Cost$ 1 G | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +2 | NumDef$ +2 | SubAbility$ DBPumpAll | RememberTargets$ True | ForgetOtherTargets$ True | SpellDescription$ Target creature and all other creatures with the same name as that creature get +2/+2 until end of turn. +SVar:DBPumpAll:DB$PumpAll | Cost$ 0 | ValidCards$ Remembered.Creature+Other+sameName | NumAtt$ +2 | NumDef$ +2 | SubAbility$ DBCleanup +SVar:DBCleanup:DB$Cleanup | ClearRemembered$ True SVar:Rarity:Common SVar:Picture:http://www.wizards.com/global/images/magic/general/echoing_courage.jpg SetInfo:DST|Common|http://magiccards.info/scans/en/ds/74.jpg diff --git a/src/main/java/forge/card/abilityFactory/AbilityFactory_Pump.java b/src/main/java/forge/card/abilityFactory/AbilityFactory_Pump.java index ef7746d492c..9746f598fb6 100644 --- a/src/main/java/forge/card/abilityFactory/AbilityFactory_Pump.java +++ b/src/main/java/forge/card/abilityFactory/AbilityFactory_Pump.java @@ -944,7 +944,7 @@ public class AbilityFactory_Pump { if (params.containsKey("ValidCards")) valid = params.get("ValidCards"); - list = list.getValidCards(valid.split(","), hostCard.getController(), hostCard); + list = AbilityFactory.filterListByType(list, valid, sa); final int a = getNumAttack(sa); final int d = getNumDefense(sa); diff --git a/src/main/java/forge/card/cardFactory/CardFactory_Instants.java b/src/main/java/forge/card/cardFactory/CardFactory_Instants.java index 7791967b9eb..0359aad9636 100644 --- a/src/main/java/forge/card/cardFactory/CardFactory_Instants.java +++ b/src/main/java/forge/card/cardFactory/CardFactory_Instants.java @@ -649,7 +649,7 @@ public class CardFactory_Instants { //*************** START *********** START ************************** - else if (cardName.equals("Echoing Courage")) { + /*else if (cardName.equals("Echoing Courage")) { Cost cost = new Cost(card.getManaCost(), cardName, false); Target tgt = new Target(card, "C"); final SpellAbility spell = new Spell(card, cost, tgt) { @@ -708,7 +708,7 @@ public class CardFactory_Instants { }; //SpellAbility card.addSpellAbility(spell); - } //*************** END ************ END ************************** + }*/ //*************** END ************ END ************************** //*************** START *********** START ************************** @@ -994,180 +994,6 @@ public class CardFactory_Instants { }//*************** END ************ END ************************** - //*************** START *********** START ************************** - /* - else if (cardName.equals("Vengeful Dreams")) { - final CardList targets = new CardList(); - final SpellAbility spell = new Spell(card) { - private static final long serialVersionUID = 1593405082929818055L; - - @Override - public boolean canPlayAI() { - return false; - } - - @Override - public void resolve() { - for (Card c : targets) { - if (AllZoneUtil.isCardInPlay(c) && CardFactoryUtil.canTarget(card, c)) { - AllZone.getGameAction().exile(c); - }//if isCardInPlay - } - targets.clear(); - } - }; - - Input runtime = new Input() { - private static final long serialVersionUID = 4656252051002867111L; - int max = 0; - - @Override - public void showMessage() { - PlayerZone hand = AllZone.getHumanPlayer().getZone(Constant.Zone.Hand); - AllZone.getGameAction().moveToStack(card); - hand.updateObservers(); - max = AllZoneUtil.getPlayerHand(card.getController()).size(); - if (max == targets.size()) done(); - StringBuilder sb = new StringBuilder(); - sb.append(card.getName()).append(" - Select target attacking creatures. Currently, ("); - sb.append(targets.size()).append(") selected."); - sb.append(" Press OK when done."); - AllZone.getDisplay().showMessage(sb.toString()); - ButtonUtil.enableAll(); - } - - @Override - public void selectButtonCancel() { - targets.clear(); - AllZone.getGameAction().moveToHand(card); - stop(); - } - - @Override - public void selectCard(Card c, PlayerZone zone) { - if (zone.is(Constant.Zone.Battlefield) && !targets.contains(c) - && CardFactoryUtil.canTarget(card, c) && c.isAttacking()) { - targets.add(c); - showMessage(); - } - } - - @Override - public void selectButtonOK() { - done(); - } - - private void done() { - if (targets.size() > AllZoneUtil.getPlayerHand(card.getController()).size()) stop(); - else { - card.getController().discard(targets.size(), spell, false); - stopSetNext(new Input_PayManaCost(spell)); - } - - } - }; - spell.setStackDescription(cardName + " - exile X attacking creatures."); - spell.setBeforePayMana(runtime); - - - - card.addSpellAbility(spell); - }//*************** END ************ END ************************** -*/ -/* - //*************** START *********** START ************************** - else if (cardName.equals("Firestorm")) { - final ArrayList targets = new ArrayList(); - final SpellAbility spell = new Spell(card) { - private static final long serialVersionUID = -3763504534745192451L; - - @Override - public boolean canPlayAI() { - return false; - } - - @Override - public void resolve() { - int dmg = targets.size(); - for (Object o : targets) { - if (o instanceof Player) { - if (((Player) o).canTarget(this)) { - ((Player) o).addDamage(dmg, card); - } - } else if (o instanceof Card) { - if (AllZoneUtil.isCardInPlay((Card) o) && CardFactoryUtil.canTarget(card, (Card) o)) { - ((Card) o).addDamage(dmg, card); - }//if isCardInPlay - } - } - targets.clear(); - } - }; - - Input runtime = new Input() { - private static final long serialVersionUID = 5261183989797221059L; - - @Override - public void showMessage() { - PlayerZone hand = AllZone.getHumanPlayer().getZone(Constant.Zone.Hand); - AllZone.getGameAction().moveToStack(card); - hand.updateObservers(); - StringBuilder sb = new StringBuilder(); - sb.append(card.getName()).append(" - Select target creatures, players, and/or planeswalkers. Currently, ("); - sb.append(targets.size()).append(") selected."); - sb.append(" Press OK when done."); - AllZone.getDisplay().showMessage(sb.toString()); - ButtonUtil.enableAll(); - } - - @Override - public void selectButtonCancel() { - targets.clear(); - AllZone.getGameAction().moveToHand(card); - stop(); - } - - @Override - public void selectCard(Card c, PlayerZone zone) { - if (zone.is(Constant.Zone.Battlefield) && !targets.contains(c) - && CardFactoryUtil.canTarget(card, c) && - (c.isCreature() || c.isPlaneswalker())) { - targets.add(c); - showMessage(); - } - } - - @Override - public void selectPlayer(Player p) { - if (p.canTarget(spell) && !targets.contains(p)) { - targets.add(p); - showMessage(); - } - } - - @Override - public void selectButtonOK() { - done(); - } - - private void done() { - if (targets.size() > AllZoneUtil.getPlayerHand(card.getController()).size()) stop(); - else { - card.getController().discard(targets.size(), spell, true); - stopSetNext(new Input_PayManaCost(spell)); - } - - } - }; - spell.setStackDescription(cardName + " - deals X damage to each of X target creatures and/or players."); - spell.setBeforePayMana(runtime); - - - - card.addSpellAbility(spell); - }//*************** END ************ END ************************** -*/ - //*************** START *********** START ************************** else if (cardName.equals("Cryptic Command")) { final SpellAbility[] m_spell = new SpellAbility[1]; @@ -1522,9 +1348,6 @@ public class CardFactory_Instants { } } //resolve() }; //SpellAbility - - - card.addSpellAbility(spell); } //*************** END ************ END **************************