From 0fe2cf1dad8102847122a77e594ef8634140a01e Mon Sep 17 00:00:00 2001 From: Sloth Date: Sat, 4 Feb 2012 19:09:23 +0000 Subject: [PATCH] - Converted Mind's Desire to script. --- res/cardsfolder/m/minds_desire.txt | 9 +++++---- .../forge/card/cardfactory/CardFactorySorceries.java | 6 ++---- .../java/forge/card/cardfactory/CardFactoryUtil.java | 7 +++++-- .../forge/card/spellability/SpellAbilityRestriction.java | 2 +- 4 files changed, 13 insertions(+), 11 deletions(-) diff --git a/res/cardsfolder/m/minds_desire.txt b/res/cardsfolder/m/minds_desire.txt index f7a21b5bc00..49d82e9c35c 100644 --- a/res/cardsfolder/m/minds_desire.txt +++ b/res/cardsfolder/m/minds_desire.txt @@ -1,11 +1,12 @@ Name:Mind's Desire ManaCost:4 U U Types:Sorcery -Text:Shuffle your library. Then exile the top card of your library. Until end of turn, you may play that card without paying its mana cost. (If it has X in its mana cost, X is 0.) +Text:no text K:Storm -K:Shroud -K:Indestructible -SVar:RemAIDeck:True +A:SP$ Shuffle | Cost$ 4 U U | SubAbility$ DBExile | SpellDescription$ Shuffle your library. Then exile the top card of your library. Until end of turn, you may play that card without paying its mana cost. (If it has X in its mana cost, X is 0.) +SVar:DBExile:DB$ ChangeZone | Defined$ TopOfLibrary | Origin$ Library | Destination$ Exile | RememberChanged$ True | SubAbility$ DBPump +SVar:DBPump:DB$ Pump | Defined$ Remembered | KW$ May be played without paying its mana cost | PumpZone$ Exile | SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:Rarity:Rare SVar:Picture:http://www.wizards.com/global/images/magic/general/minds_desire.jpg SetInfo:SCG|Rare|http://magiccards.info/scans/en/sc/41.jpg diff --git a/src/main/java/forge/card/cardfactory/CardFactorySorceries.java b/src/main/java/forge/card/cardfactory/CardFactorySorceries.java index 6703655c909..36a709596fe 100644 --- a/src/main/java/forge/card/cardfactory/CardFactorySorceries.java +++ b/src/main/java/forge/card/cardfactory/CardFactorySorceries.java @@ -43,11 +43,9 @@ import forge.Player; import forge.PlayerUtil; import forge.PlayerZone; import forge.card.cost.Cost; -import forge.card.spellability.Ability; import forge.card.spellability.AbilitySub; import forge.card.spellability.Spell; import forge.card.spellability.SpellAbility; -import forge.card.spellability.SpellPermanent; import forge.card.spellability.Target; import forge.gui.GuiUtils; import forge.gui.input.Input; @@ -249,7 +247,7 @@ public class CardFactorySorceries { } // *************** END ************ END ************************** // *************** START *********** START ************************** - else if (cardName.equals("Mind's Desire")) { + /*else if (cardName.equals("Mind's Desire")) { final Spell playCreature = new Spell(card) { private static final long serialVersionUID = 53838791023456795L; @@ -437,7 +435,7 @@ public class CardFactorySorceries { card.addSpellAbility(spell); card.addSpellAbility(freeCast); spell.setDescription(""); - } + }*/ // *************** END ************ END ************************** // *************** START *********** START ************************** diff --git a/src/main/java/forge/card/cardfactory/CardFactoryUtil.java b/src/main/java/forge/card/cardfactory/CardFactoryUtil.java index 5fc995330c5..1af1dc38907 100644 --- a/src/main/java/forge/card/cardfactory/CardFactoryUtil.java +++ b/src/main/java/forge/card/cardfactory/CardFactoryUtil.java @@ -2454,7 +2454,8 @@ public class CardFactoryUtil { } } - if (c.isLand() && c.hasKeyword("May be played")) { + if (c.isLand() && (c.hasKeyword("May be played") + || c.hasKeyword("May be played without paying its mana cost"))) { return true; } @@ -2465,7 +2466,9 @@ public class CardFactoryUtil { } if (sa.isSpell() - && (c.hasKeyword("May be played") || (c.hasStartOfKeyword("Flashback") && zone + && (c.hasStartOfKeyword("May be played") + || c.hasKeyword("May be played without paying its mana cost") + || (c.hasStartOfKeyword("Flashback") && zone .is(Zone.Graveyard))) && restrictZone.equals(Zone.Hand)) { return true; } diff --git a/src/main/java/forge/card/spellability/SpellAbilityRestriction.java b/src/main/java/forge/card/spellability/SpellAbilityRestriction.java index 920dccd97da..2cf96554ad7 100644 --- a/src/main/java/forge/card/spellability/SpellAbilityRestriction.java +++ b/src/main/java/forge/card/spellability/SpellAbilityRestriction.java @@ -228,7 +228,7 @@ public class SpellAbilityRestriction extends SpellAbilityVariables { return false; } - if (!this.isAnyPlayer() && !activator.equals(c.getController()) + if (!this.isAnyPlayer() && !activator.equals(c.getController()) && !c.hasKeyword("May be played by your Opponent")) { return false; }