diff --git a/res/card-pictures.txt b/res/card-pictures.txt index cddcde7498d..38f032d0025 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 +feedback.jpg http://www.wizards.com/global/images/magic/general/feedback.jpg blight.jpg http://www.wizards.com/global/images/magic/general/blight.jpg sphinx_of_magosi.jpg http://www.wizards.com/global/images/magic/general/sphinx_of_magosi.jpg time_of_heroes.jpg http://www.wizards.com/global/images/magic/general/time_of_heroes.jpg diff --git a/res/cards.txt b/res/cards.txt index 94bb0b26324..992c026a063 100644 --- a/res/cards.txt +++ b/res/cards.txt @@ -1,3 +1,9 @@ +Feedback +2 U +Enchantment Aura +At the beginning of the upkeep of enchanted enchantment's controller, Feedback deals 1 damage to that player. +Enchant Enchantment Curse + Blight B B Enchantment Aura diff --git a/src/forge/GameActionUtil.java b/src/forge/GameActionUtil.java index 79727a6cfa9..707c68cce03 100644 --- a/src/forge/GameActionUtil.java +++ b/src/forge/GameActionUtil.java @@ -27,6 +27,7 @@ public class GameActionUtil { upkeep_Honden_of_Nights_Reach(); upkeep_Honden_of_Infinite_Rage(); upkeep_Land_Tax(); + upkeep_Feedback(); upkeep_Greener_Pastures(); upkeep_Wort(); upkeep_Squee(); @@ -4805,6 +4806,35 @@ public class GameActionUtil { }// if fewer lands than opponent } + + private static void upkeep_Feedback() { + final String player = AllZone.Phase.getActivePlayer(); + PlayerZone playZone = AllZone.getZone(Constant.Zone.Play, player); + + CardList list = new CardList(playZone.getCards()); + list = list.filter(new CardListFilter() { + public boolean addCard(Card c) { + return c.isEnchantment() && c.isEnchanted(); + } + }); + + if(list.size() > 0) { + Ability ability; + for(Card target:list) { + if(target.isEnchantedBy("Feedback")) { + ability = new Ability(target, "0") { + @Override + public void resolve() { + AllZone.GameAction.getPlayerLife(player).subtractLife(1); + } + }; + + ability.setStackDescription("Feedback - deals 1 damage to "+ player); + AllZone.Stack.add(ability); + } + } + }//list > 0 + }//upkeep_Feedback() private static void upkeep_Squee() { final String player = AllZone.Phase.getActivePlayer();