From 3f42a2989cf7753f443313fa34b6303af3ee237d Mon Sep 17 00:00:00 2001 From: jendave Date: Sat, 6 Aug 2011 04:28:49 +0000 Subject: [PATCH] - Added Sound the Call. --- res/cards.txt | 5 +++++ src/forge/CardFactory.java | 15 +++++++++++++++ src/forge/GameActionUtil.java | 32 ++++++++++++++++++++++++++++++++ src/forge/StaticEffects.java | 1 + 4 files changed, 53 insertions(+) diff --git a/res/cards.txt b/res/cards.txt index 31cb9059691..42913f8f440 100644 --- a/res/cards.txt +++ b/res/cards.txt @@ -1,3 +1,8 @@ +Sound the Call +2 G +Sorcery +Put a 1/1 green Wolf creature token onto the battlefield. It has "This creature gets +1/+1 for each card named Sound the Call in each graveyard." + Mana Vault 1 Artifact diff --git a/src/forge/CardFactory.java b/src/forge/CardFactory.java index 2e20b85c9fd..c97f64d36b5 100644 --- a/src/forge/CardFactory.java +++ b/src/forge/CardFactory.java @@ -19719,6 +19719,21 @@ public class CardFactory implements NewConstants { card.addComesIntoPlayCommand(intoPlay); }//*************** END ************ END ************************** + //*************** START *********** START ************************** + else if(cardName.equals("Sound the Call")) { + SpellAbility spell = new Spell(card) { + private static final long serialVersionUID = -2359398136467055521L; + + @Override + public void resolve() { + CardFactoryUtil.makeToken("Wolf", "G 1 1 Wolf", card, "G", new String[] {"Creature", "Wolf"}, + 1, 1, new String[] {"This creature gets +1/+1 for each card named Sound the Call in each graveyard."}); + }//resolve() + }; + card.clearSpellAbility(); + card.addSpellAbility(spell); + }//*************** END ************ END ************************** + // Cards with Cycling abilities // -1 means keyword "Cycling" not found if(hasKeyword(card, "Cycling") != -1) { diff --git a/src/forge/GameActionUtil.java b/src/forge/GameActionUtil.java index 906fd93e5ce..9330345de0f 100644 --- a/src/forge/GameActionUtil.java +++ b/src/forge/GameActionUtil.java @@ -14534,6 +14534,37 @@ public class GameActionUtil { }; //Guul Draz Specter + public static Command Sound_the_Call_Wolf = new Command() { + private static final long serialVersionUID = 4614281706799537283L; + + public void execute() { + // get all creatures + CardList list = new CardList(); + list.addAll(AllZone.Human_Play.getCards()); + list.addAll(AllZone.Computer_Play.getCards()); + list = list.filter(new CardListFilter(){ + public boolean addCard(Card c) + { + return c.getName().equals("Wolf") && c.getKeyword().contains("This creature gets +1/+1 for each card named Sound the Call in each graveyard."); + } + }); + + for(int i = 0; i < list.size(); i++) { + Card c = list.get(i); + c.setBaseAttack(1 + countSoundTheCalls()); + c.setBaseDefense(c.getBaseAttack()); + } + } + + private int countSoundTheCalls() { + CardList list = AllZoneUtil.getCardsInGraveyard(); + + list = list.getName("Sound the Call"); + return list.size(); + } + + }; //Sound_the_Call_Wolf + public static Command Mortivore = new Command() { private static final long serialVersionUID = -8778902687347191964L; @@ -16662,6 +16693,7 @@ public class GameActionUtil { commands.put("Terravore", Terravore); commands.put("Magnivore", Magnivore); commands.put("Tarmogoyf", Tarmogoyf); + commands.put("Sound_the_Call_Wolf", Sound_the_Call_Wolf); commands.put("Multani_Maro_Sorcerer", Multani_Maro_Sorcerer); commands.put("Molimo_Maro_Sorcerer", Molimo_Maro_Sorcerer); commands.put("Maro", Maro); diff --git a/src/forge/StaticEffects.java b/src/forge/StaticEffects.java index 7fe1363cb51..6ab4a79767c 100644 --- a/src/forge/StaticEffects.java +++ b/src/forge/StaticEffects.java @@ -43,6 +43,7 @@ public class StaticEffects cardToEffectsList.put("Magnivore", new String[] {"Magnivore"}); cardToEffectsList.put("Tarmogoyf", new String[] {"Tarmogoyf"}); cardToEffectsList.put("Lhurgoyf", new String[] {"Lhurgoyf"}); + cardToEffectsList.put("Wolf", new String[] {"Sound_the_Call_Wolf"}); cardToEffectsList.put("Drove of Elves", new String[] {"Drove_of_Elves"}); cardToEffectsList.put("Crowd of Cinders", new String[] {"Crowd_of_Cinders"}); cardToEffectsList.put("Faerie Swarm", new String[] {"Faerie_Swarm"});