From 161350dae1b903da1f9d94d513d6eeddf4c5ec66 Mon Sep 17 00:00:00 2001 From: Sloth Date: Sat, 24 Nov 2012 10:47:15 +0000 Subject: [PATCH] - Converted Spirit of Resistance to script. --- res/cardsfolder/s/spirit_of_resistance.txt | 3 ++- src/main/java/forge/Card.java | 3 ++- .../forge/card/staticability/StaticAbility.java | 13 +++++++++++++ src/main/java/forge/game/player/Player.java | 12 ------------ 4 files changed, 17 insertions(+), 14 deletions(-) diff --git a/res/cardsfolder/s/spirit_of_resistance.txt b/res/cardsfolder/s/spirit_of_resistance.txt index fa34c0a959b..279a04299cb 100644 --- a/res/cardsfolder/s/spirit_of_resistance.txt +++ b/res/cardsfolder/s/spirit_of_resistance.txt @@ -1,7 +1,8 @@ Name:Spirit of Resistance ManaCost:2 W Types:Enchantment -Text:As long as you control a permanent of each color, prevent all damage that would be dealt to you. +Text:no text +S:Mode$ PreventDamage | Target$ You | Condition$ PermanentOfEachColor | Description$ As long as you control a permanent of each color, prevent all damage that would be dealt to you. SVar:RemRandomDeck:True SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/spirit_of_resistance.jpg diff --git a/src/main/java/forge/Card.java b/src/main/java/forge/Card.java index 23f6bb0df95..e9249bf2b5f 100644 --- a/src/main/java/forge/Card.java +++ b/src/main/java/forge/Card.java @@ -7997,7 +7997,8 @@ public class Card extends GameEntity implements Comparable { return 0; } - if ((source.isCreature() && Singletons.getModel().getGame().isCardInPlay("Well-Laid Plans") && source.sharesColorWith(this))) { + if (source.isCreature() && Singletons.getModel().getGame().isCardInPlay("Well-Laid Plans") + && source.sharesColorWith(this)) { return 0; } } // Creature end diff --git a/src/main/java/forge/card/staticability/StaticAbility.java b/src/main/java/forge/card/staticability/StaticAbility.java index ad17a439e0d..e7a342c3ca7 100644 --- a/src/main/java/forge/card/staticability/StaticAbility.java +++ b/src/main/java/forge/card/staticability/StaticAbility.java @@ -22,6 +22,7 @@ import java.util.List; import java.util.Map; import forge.Card; +import forge.Constant; import forge.GameEntity; import forge.Singletons; import forge.card.abilityfactory.AbilityFactory; @@ -493,6 +494,18 @@ public class StaticAbility { return false; } } + + if (params.containsKey("Condition")) { + if (params.get("Condition").equals("PermanentOfEachColor")) { + if ((controller.getColoredCardsInPlay(Constant.Color.BLACK).isEmpty() + || controller.getColoredCardsInPlay(Constant.Color.BLUE).isEmpty() + || controller.getColoredCardsInPlay(Constant.Color.GREEN).isEmpty() + || controller.getColoredCardsInPlay(Constant.Color.RED).isEmpty() + || controller.getColoredCardsInPlay(Constant.Color.WHITE).isEmpty())) { + return false; + } + } + } if (this.params.containsKey("FatefulHour") && controller.getLife() > 5) { return false; diff --git a/src/main/java/forge/game/player/Player.java b/src/main/java/forge/game/player/Player.java index f5bc0f04762..2f4d98c397f 100644 --- a/src/main/java/forge/game/player/Player.java +++ b/src/main/java/forge/game/player/Player.java @@ -39,7 +39,6 @@ import forge.CardLists; import forge.CardPredicates; import forge.CardPredicates.Presets; import forge.CardUtil; -import forge.Constant; import forge.Constant.Preferences; import forge.CounterType; import forge.GameActionUtil; @@ -679,17 +678,6 @@ public abstract class Player extends GameEntity implements Comparable { } } - - // specific cards - if (this.isCardInPlay("Spirit of Resistance")) { - if ((this.getColoredCardsInPlay(Constant.Color.BLACK).size() > 0) - && (this.getColoredCardsInPlay(Constant.Color.BLUE).size() > 0) - && (this.getColoredCardsInPlay(Constant.Color.GREEN).size() > 0) - && (this.getColoredCardsInPlay(Constant.Color.RED).size() > 0) - && (this.getColoredCardsInPlay(Constant.Color.WHITE).size() > 0)) { - return 0; - } - } if (restDamage > 0) { return restDamage; } else {