From 2092ab86fd75ac1b27679a809c3ebdca4057bc5b Mon Sep 17 00:00:00 2001 From: Sloth Date: Wed, 14 Nov 2012 12:37:05 +0000 Subject: [PATCH] - Added the global rule change: "Players can't cycle cards.". - Converted Stabilizer to script. --- res/cardsfolder/s/stabilizer.txt | 3 ++- src/main/java/forge/StaticEffects.java | 17 +++++++++++++++++ .../card/spellability/AbilityActivated.java | 2 +- .../staticability/StaticAbilityContinuous.java | 2 ++ 4 files changed, 22 insertions(+), 2 deletions(-) diff --git a/res/cardsfolder/s/stabilizer.txt b/res/cardsfolder/s/stabilizer.txt index b3c59f506a5..ce9dc3a5af8 100644 --- a/res/cardsfolder/s/stabilizer.txt +++ b/res/cardsfolder/s/stabilizer.txt @@ -1,7 +1,8 @@ Name:Stabilizer ManaCost:2 Types:Artifact -Text:Players can't cycle cards. +Text:no text +S:Mode$ Continuous | GlobalRule$ Players can't cycle cards. | Description$ Players can't cycle cards. SVar:RemRandomDeck:True SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/stabilizer.jpg diff --git a/src/main/java/forge/StaticEffects.java b/src/main/java/forge/StaticEffects.java index 1464fe0e669..24540d7b085 100644 --- a/src/main/java/forge/StaticEffects.java +++ b/src/main/java/forge/StaticEffects.java @@ -51,6 +51,7 @@ public class StaticEffects { private boolean alwaysWither = false; private boolean noLegendRule = false; private boolean manapoolsDontEmpty = false; + private boolean noCycling = false; /** * clearStaticEffect. TODO Write javadoc for this method. @@ -60,6 +61,7 @@ public class StaticEffects { alwaysWither = false; noLegendRule = false; manapoolsDontEmpty = false; + noCycling = false; // remove all static effects for (int i = 0; i < this.staticEffects.size(); i++) { @@ -129,6 +131,21 @@ public class StaticEffects { } + /** + * @return the noCycling + */ + public boolean isNoCycling() { + return noCycling; + } + + /** + * @param noCycling0 the noCycling to set + */ + public void setNoCycling(boolean noCyc) { + this.noCycling = noCyc; + } + + /** * addStaticEffect. TODO Write javadoc for this method. * diff --git a/src/main/java/forge/card/spellability/AbilityActivated.java b/src/main/java/forge/card/spellability/AbilityActivated.java index e11cb7f7048..358c0535648 100644 --- a/src/main/java/forge/card/spellability/AbilityActivated.java +++ b/src/main/java/forge/card/spellability/AbilityActivated.java @@ -105,7 +105,7 @@ public abstract class AbilityActivated extends SpellAbility implements java.io.S return false; } - if (this.isCycling() && Singletons.getModel().getGame().isCardInPlay("Stabilizer")) { + if (this.isCycling() && Singletons.getModel().getGame().getStaticEffects().isNoCycling()) { return false; } diff --git a/src/main/java/forge/card/staticability/StaticAbilityContinuous.java b/src/main/java/forge/card/staticability/StaticAbilityContinuous.java index 1aeb25441ac..acb3a472213 100644 --- a/src/main/java/forge/card/staticability/StaticAbilityContinuous.java +++ b/src/main/java/forge/card/staticability/StaticAbilityContinuous.java @@ -102,6 +102,8 @@ public class StaticAbilityContinuous { effects.setNoLegendRule(true); } else if (params.get("GlobalRule").equals("Mana pools don't empty as steps and phases end.")) { effects.setManapoolsDontEmpty(true); + } else if (params.get("GlobalRule").equals("Players can't cycle cards.")) { + effects.setNoCycling(true); } }