From 82c9dac2c58ad634b20ebc8133ddf04bf6443ad4 Mon Sep 17 00:00:00 2001
From: Plopman <plopman@hotmail.ch>
Date: Thu, 13 Sep 2012 16:22:34 +0200
Subject: [PATCH] 16 cards with Storm

---
 .../src/mage/sets/scourge/AstralSteel.java    |  66 +++++++++++
 .../src/mage/sets/scourge/BrainFreeze.java    |  65 +++++++++++
 .../src/mage/sets/scourge/Dragonstorm.java    |  54 +++++++++
 .../src/mage/sets/scourge/HinderingTouch.java |  66 +++++++++++
 .../src/mage/sets/scourge/HuntingPack.java    |  78 +++++++++++++
 .../mage/sets/scourge/ReapingTheGraves.java   |  66 +++++++++++
 .../src/mage/sets/scourge/Scattershot.java    |  65 +++++++++++
 .../src/mage/sets/scourge/SproutingVines.java |  65 +++++++++++
 .../mage/sets/scourge/TemporalFissure.java    |  65 +++++++++++
 .../mage/sets/scourge/TendrilsOfAgony.java    |  68 ++++++++++++
 .../src/mage/sets/scourge/WingShards.java     |  67 +++++++++++
 .../mage/sets/timeshifted/Dragonstorm.java    |  72 ++++++++++++
 .../mage/sets/timespiral/EmptyTheWarrens.java |  64 +++++++++++
 .../src/mage/sets/timespiral/Grapeshot.java   |  65 +++++++++++
 .../src/mage/sets/timespiral/GroundRift.java  |  78 +++++++++++++
 .../mage/sets/timespiral/IgniteMemories.java  | 105 ++++++++++++++++++
 .../sets/timespiral/VolcanicAwakening.java    |  65 +++++++++++
 .../filter/common/FilterPermanentCard.java    |  64 +++++++++++
 18 files changed, 1238 insertions(+)
 create mode 100644 Mage.Sets/src/mage/sets/scourge/AstralSteel.java
 create mode 100644 Mage.Sets/src/mage/sets/scourge/BrainFreeze.java
 create mode 100644 Mage.Sets/src/mage/sets/scourge/Dragonstorm.java
 create mode 100644 Mage.Sets/src/mage/sets/scourge/HinderingTouch.java
 create mode 100644 Mage.Sets/src/mage/sets/scourge/HuntingPack.java
 create mode 100644 Mage.Sets/src/mage/sets/scourge/ReapingTheGraves.java
 create mode 100644 Mage.Sets/src/mage/sets/scourge/Scattershot.java
 create mode 100644 Mage.Sets/src/mage/sets/scourge/SproutingVines.java
 create mode 100644 Mage.Sets/src/mage/sets/scourge/TemporalFissure.java
 create mode 100644 Mage.Sets/src/mage/sets/scourge/TendrilsOfAgony.java
 create mode 100644 Mage.Sets/src/mage/sets/scourge/WingShards.java
 create mode 100644 Mage.Sets/src/mage/sets/timeshifted/Dragonstorm.java
 create mode 100644 Mage.Sets/src/mage/sets/timespiral/EmptyTheWarrens.java
 create mode 100644 Mage.Sets/src/mage/sets/timespiral/Grapeshot.java
 create mode 100644 Mage.Sets/src/mage/sets/timespiral/GroundRift.java
 create mode 100644 Mage.Sets/src/mage/sets/timespiral/IgniteMemories.java
 create mode 100644 Mage.Sets/src/mage/sets/timespiral/VolcanicAwakening.java
 create mode 100644 Mage/src/mage/filter/common/FilterPermanentCard.java

diff --git a/Mage.Sets/src/mage/sets/scourge/AstralSteel.java b/Mage.Sets/src/mage/sets/scourge/AstralSteel.java
new file mode 100644
index 0000000000..af83901bc5
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/scourge/AstralSteel.java
@@ -0,0 +1,66 @@
+/*
+ *  Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without modification, are
+ *  permitted provided that the following conditions are met:
+ *
+ *     1. Redistributions of source code must retain the above copyright notice, this list of
+ *        conditions and the following disclaimer.
+ *
+ *     2. Redistributions in binary form must reproduce the above copyright notice, this list
+ *        of conditions and the following disclaimer in the documentation and/or other materials
+ *        provided with the distribution.
+ *
+ *  THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ *  FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
+ *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ *  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ *  ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ *  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *  The views and conclusions contained in the software and documentation are those of the
+ *  authors and should not be interpreted as representing official policies, either expressed
+ *  or implied, of BetaSteward_at_googlemail.com.
+ */
+package mage.sets.scourge;
+
+import java.util.UUID;
+import mage.Constants;
+import mage.Constants.CardType;
+import mage.Constants.Rarity;
+import mage.abilities.effects.common.continious.BoostTargetEffect;
+import mage.abilities.keyword.StormAbility;
+import mage.cards.CardImpl;
+import mage.target.common.TargetCreaturePermanent;
+
+/**
+ *
+ * @author Plopman
+ */
+public class AstralSteel extends CardImpl<AstralSteel> {
+
+    public AstralSteel(UUID ownerId) {
+        super(ownerId, 2, "Astral Steel", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{2}{W}");
+        this.expansionSetCode = "SCG";
+
+        this.color.setWhite(true);
+
+        // Target creature gets +1/+2 until end of turn.
+        this.getSpellAbility().addTarget(new TargetCreaturePermanent());
+        this.getSpellAbility().addEffect(new BoostTargetEffect(1, 2, Constants.Duration.EndOfTurn));
+        // Storm
+        this.addAbility(new StormAbility());
+    }
+
+    public AstralSteel(final AstralSteel card) {
+        super(card);
+    }
+
+    @Override
+    public AstralSteel copy() {
+        return new AstralSteel(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/scourge/BrainFreeze.java b/Mage.Sets/src/mage/sets/scourge/BrainFreeze.java
new file mode 100644
index 0000000000..0ccac1cd18
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/scourge/BrainFreeze.java
@@ -0,0 +1,65 @@
+/*
+ *  Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without modification, are
+ *  permitted provided that the following conditions are met:
+ *
+ *     1. Redistributions of source code must retain the above copyright notice, this list of
+ *        conditions and the following disclaimer.
+ *
+ *     2. Redistributions in binary form must reproduce the above copyright notice, this list
+ *        of conditions and the following disclaimer in the documentation and/or other materials
+ *        provided with the distribution.
+ *
+ *  THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ *  FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
+ *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ *  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ *  ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ *  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *  The views and conclusions contained in the software and documentation are those of the
+ *  authors and should not be interpreted as representing official policies, either expressed
+ *  or implied, of BetaSteward_at_googlemail.com.
+ */
+package mage.sets.scourge;
+
+import java.util.UUID;
+import mage.Constants.CardType;
+import mage.Constants.Rarity;
+import mage.abilities.effects.common.PutLibraryIntoGraveTargetEffect;
+import mage.abilities.keyword.StormAbility;
+import mage.cards.CardImpl;
+import mage.target.TargetPlayer;
+
+/**
+ *
+ * @author Plopman
+ */
+public class BrainFreeze extends CardImpl<BrainFreeze> {
+
+    public BrainFreeze(UUID ownerId) {
+        super(ownerId, 29, "Brain Freeze", Rarity.UNCOMMON, new CardType[]{CardType.INSTANT}, "{1}{U}");
+        this.expansionSetCode = "SCG";
+
+        this.color.setBlue(true);
+
+        // Target player puts the top three cards of his or her library into his or her graveyard.
+        this.getSpellAbility().addTarget(new TargetPlayer());
+        this.getSpellAbility().addEffect(new PutLibraryIntoGraveTargetEffect(3));
+        // Storm
+        this.addAbility(new StormAbility());
+    }
+
+    public BrainFreeze(final BrainFreeze card) {
+        super(card);
+    }
+
+    @Override
+    public BrainFreeze copy() {
+        return new BrainFreeze(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/scourge/Dragonstorm.java b/Mage.Sets/src/mage/sets/scourge/Dragonstorm.java
new file mode 100644
index 0000000000..d32732733f
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/scourge/Dragonstorm.java
@@ -0,0 +1,54 @@
+/*
+ *  Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without modification, are
+ *  permitted provided that the following conditions are met:
+ *
+ *     1. Redistributions of source code must retain the above copyright notice, this list of
+ *        conditions and the following disclaimer.
+ *
+ *     2. Redistributions in binary form must reproduce the above copyright notice, this list
+ *        of conditions and the following disclaimer in the documentation and/or other materials
+ *        provided with the distribution.
+ *
+ *  THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ *  FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
+ *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ *  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ *  ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ *  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *  The views and conclusions contained in the software and documentation are those of the
+ *  authors and should not be interpreted as representing official policies, either expressed
+ *  or implied, of BetaSteward_at_googlemail.com.
+ */
+package mage.sets.scourge;
+
+import java.util.UUID;
+import mage.Constants.Rarity;
+
+/**
+ *
+ * @author Plopman
+ */
+public class Dragonstorm extends mage.sets.timeshifted.Dragonstorm {
+
+    public Dragonstorm(UUID ownerId) {
+        super(ownerId);
+        this.cardNumber = 90;
+        this.expansionSetCode = "SCG";
+        this.rarity = Rarity.RARE;
+    }
+
+    public Dragonstorm(final Dragonstorm card) {
+        super(card);
+    }
+
+    @Override
+    public Dragonstorm copy() {
+        return new Dragonstorm(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/scourge/HinderingTouch.java b/Mage.Sets/src/mage/sets/scourge/HinderingTouch.java
new file mode 100644
index 0000000000..971cb982b3
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/scourge/HinderingTouch.java
@@ -0,0 +1,66 @@
+/*
+ *  Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without modification, are
+ *  permitted provided that the following conditions are met:
+ *
+ *     1. Redistributions of source code must retain the above copyright notice, this list of
+ *        conditions and the following disclaimer.
+ *
+ *     2. Redistributions in binary form must reproduce the above copyright notice, this list
+ *        of conditions and the following disclaimer in the documentation and/or other materials
+ *        provided with the distribution.
+ *
+ *  THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ *  FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
+ *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ *  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ *  ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ *  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *  The views and conclusions contained in the software and documentation are those of the
+ *  authors and should not be interpreted as representing official policies, either expressed
+ *  or implied, of BetaSteward_at_googlemail.com.
+ */
+package mage.sets.scourge;
+
+import java.util.UUID;
+import mage.Constants.CardType;
+import mage.Constants.Rarity;
+import mage.abilities.costs.mana.GenericManaCost;
+import mage.abilities.effects.common.CounterUnlessPaysEffect;
+import mage.abilities.keyword.StormAbility;
+import mage.cards.CardImpl;
+import mage.target.TargetSpell;
+
+/**
+ *
+ * @author Plopman
+ */
+public class HinderingTouch extends CardImpl<HinderingTouch> {
+
+    public HinderingTouch(UUID ownerId) {
+        super(ownerId, 37, "Hindering Touch", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{3}{U}");
+        this.expansionSetCode = "SCG";
+
+        this.color.setBlue(true);
+
+        // Counter target spell unless its controller pays {2}.
+        this.getSpellAbility().addTarget(new TargetSpell());
+        this.getSpellAbility().addEffect(new CounterUnlessPaysEffect(new GenericManaCost(2)));
+        // Storm
+        this.addAbility(new StormAbility());
+    }
+
+    public HinderingTouch(final HinderingTouch card) {
+        super(card);
+    }
+
+    @Override
+    public HinderingTouch copy() {
+        return new HinderingTouch(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/scourge/HuntingPack.java b/Mage.Sets/src/mage/sets/scourge/HuntingPack.java
new file mode 100644
index 0000000000..d10514fecc
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/scourge/HuntingPack.java
@@ -0,0 +1,78 @@
+/*
+ *  Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without modification, are
+ *  permitted provided that the following conditions are met:
+ *
+ *     1. Redistributions of source code must retain the above copyright notice, this list of
+ *        conditions and the following disclaimer.
+ *
+ *     2. Redistributions in binary form must reproduce the above copyright notice, this list
+ *        of conditions and the following disclaimer in the documentation and/or other materials
+ *        provided with the distribution.
+ *
+ *  THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ *  FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
+ *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ *  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ *  ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ *  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *  The views and conclusions contained in the software and documentation are those of the
+ *  authors and should not be interpreted as representing official policies, either expressed
+ *  or implied, of BetaSteward_at_googlemail.com.
+ */
+package mage.sets.scourge;
+
+import java.util.UUID;
+import mage.Constants.CardType;
+import mage.Constants.Rarity;
+import mage.MageInt;
+import mage.abilities.effects.common.CreateTokenEffect;
+import mage.abilities.keyword.StormAbility;
+import mage.cards.CardImpl;
+import mage.game.permanent.token.Token;
+
+
+/**
+ *
+ * @author Plopman
+ */
+public class HuntingPack extends CardImpl<HuntingPack> {
+
+    public HuntingPack(UUID ownerId) {
+        super(ownerId, 121, "Hunting Pack", Rarity.UNCOMMON, new CardType[]{CardType.INSTANT}, "{5}{G}{G}");
+        this.expansionSetCode = "SCG";
+
+        this.color.setGreen(true);
+
+        // Put a 4/4 green Beast creature token onto the battlefield.
+        this.getSpellAbility().addEffect(new CreateTokenEffect(new HuntingPackToken(), 1));
+        // Storm
+        this.addAbility(new StormAbility());
+    }
+
+    public HuntingPack(final HuntingPack card) {
+        super(card);
+    }
+
+    @Override
+    public HuntingPack copy() {
+        return new HuntingPack(this);
+    }
+}
+
+class HuntingPackToken extends Token {
+
+    public HuntingPackToken() {
+        super("Beast", "4/4 green Beast creature token");
+        cardType.add(CardType.CREATURE);
+        subtype.add("Beast");
+        this.color.setGreen(true);
+        power = new MageInt(4);
+        toughness = new MageInt(4);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/scourge/ReapingTheGraves.java b/Mage.Sets/src/mage/sets/scourge/ReapingTheGraves.java
new file mode 100644
index 0000000000..ed0d58f432
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/scourge/ReapingTheGraves.java
@@ -0,0 +1,66 @@
+/*
+ *  Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without modification, are
+ *  permitted provided that the following conditions are met:
+ *
+ *     1. Redistributions of source code must retain the above copyright notice, this list of
+ *        conditions and the following disclaimer.
+ *
+ *     2. Redistributions in binary form must reproduce the above copyright notice, this list
+ *        of conditions and the following disclaimer in the documentation and/or other materials
+ *        provided with the distribution.
+ *
+ *  THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ *  FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
+ *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ *  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ *  ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ *  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *  The views and conclusions contained in the software and documentation are those of the
+ *  authors and should not be interpreted as representing official policies, either expressed
+ *  or implied, of BetaSteward_at_googlemail.com.
+ */
+package mage.sets.scourge;
+
+import java.util.UUID;
+import mage.Constants.CardType;
+import mage.Constants.Rarity;
+import mage.abilities.effects.common.ReturnToHandTargetEffect;
+import mage.abilities.keyword.StormAbility;
+import mage.cards.CardImpl;
+import mage.filter.common.FilterCreatureCard;
+import mage.target.common.TargetCardInYourGraveyard;
+
+/**
+ *
+ * @author Plopman
+ */
+public class ReapingTheGraves extends CardImpl<ReapingTheGraves> {
+
+    public ReapingTheGraves(UUID ownerId) {
+        super(ownerId, 72, "Reaping the Graves", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{2}{B}");
+        this.expansionSetCode = "SCG";
+
+        this.color.setBlack(true);
+
+        // Return target creature card from your graveyard to your hand.        
+        this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(new FilterCreatureCard("creature card from your graveyard")));
+        this.getSpellAbility().addEffect(new ReturnToHandTargetEffect());
+        // Storm
+        this.addAbility(new StormAbility());
+    }
+
+    public ReapingTheGraves(final ReapingTheGraves card) {
+        super(card);
+    }
+
+    @Override
+    public ReapingTheGraves copy() {
+        return new ReapingTheGraves(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/scourge/Scattershot.java b/Mage.Sets/src/mage/sets/scourge/Scattershot.java
new file mode 100644
index 0000000000..0a80c428d4
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/scourge/Scattershot.java
@@ -0,0 +1,65 @@
+/*
+ *  Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without modification, are
+ *  permitted provided that the following conditions are met:
+ *
+ *     1. Redistributions of source code must retain the above copyright notice, this list of
+ *        conditions and the following disclaimer.
+ *
+ *     2. Redistributions in binary form must reproduce the above copyright notice, this list
+ *        of conditions and the following disclaimer in the documentation and/or other materials
+ *        provided with the distribution.
+ *
+ *  THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ *  FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
+ *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ *  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ *  ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ *  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *  The views and conclusions contained in the software and documentation are those of the
+ *  authors and should not be interpreted as representing official policies, either expressed
+ *  or implied, of BetaSteward_at_googlemail.com.
+ */
+package mage.sets.scourge;
+
+import java.util.UUID;
+import mage.Constants.CardType;
+import mage.Constants.Rarity;
+import mage.abilities.effects.common.DamageTargetEffect;
+import mage.abilities.keyword.StormAbility;
+import mage.cards.CardImpl;
+import mage.target.common.TargetCreaturePermanent;
+
+/**
+ *
+ * @author Plopman
+ */
+public class Scattershot extends CardImpl<Scattershot> {
+
+    public Scattershot(UUID ownerId) {
+        super(ownerId, 102, "Scattershot", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{2}{R}");
+        this.expansionSetCode = "SCG";
+
+        this.color.setRed(true);
+
+        // Scattershot deals 1 damage to target creature.
+        this.getSpellAbility().addTarget(new TargetCreaturePermanent());
+        this.getSpellAbility().addEffect(new DamageTargetEffect(1));
+        // Storm
+        this.addAbility(new StormAbility());
+    }
+
+    public Scattershot(final Scattershot card) {
+        super(card);
+    }
+
+    @Override
+    public Scattershot copy() {
+        return new Scattershot(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/scourge/SproutingVines.java b/Mage.Sets/src/mage/sets/scourge/SproutingVines.java
new file mode 100644
index 0000000000..93acdb8913
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/scourge/SproutingVines.java
@@ -0,0 +1,65 @@
+/*
+ *  Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without modification, are
+ *  permitted provided that the following conditions are met:
+ *
+ *     1. Redistributions of source code must retain the above copyright notice, this list of
+ *        conditions and the following disclaimer.
+ *
+ *     2. Redistributions in binary form must reproduce the above copyright notice, this list
+ *        of conditions and the following disclaimer in the documentation and/or other materials
+ *        provided with the distribution.
+ *
+ *  THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ *  FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
+ *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ *  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ *  ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ *  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *  The views and conclusions contained in the software and documentation are those of the
+ *  authors and should not be interpreted as representing official policies, either expressed
+ *  or implied, of BetaSteward_at_googlemail.com.
+ */
+package mage.sets.scourge;
+
+import java.util.UUID;
+import mage.Constants.CardType;
+import mage.Constants.Rarity;
+import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect;
+import mage.abilities.keyword.StormAbility;
+import mage.cards.CardImpl;
+import mage.filter.common.FilterBasicLandCard;
+import mage.target.common.TargetCardInLibrary;
+
+/**
+ *
+ * @author Plopman
+ */
+public class SproutingVines extends CardImpl<SproutingVines> {
+
+    public SproutingVines(UUID ownerId) {
+        super(ownerId, 128, "Sprouting Vines", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{2}{G}");
+        this.expansionSetCode = "SCG";
+
+        this.color.setGreen(true);
+
+        // Search your library for a basic land card, reveal that card, and put it into your hand. Then shuffle your library.
+        this.getSpellAbility().addEffect(new SearchLibraryPutInHandEffect(new TargetCardInLibrary(1, 1, new FilterBasicLandCard()), true));
+        // Storm
+        this.addAbility(new StormAbility());
+    }
+
+    public SproutingVines(final SproutingVines card) {
+        super(card);
+    }
+
+    @Override
+    public SproutingVines copy() {
+        return new SproutingVines(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/scourge/TemporalFissure.java b/Mage.Sets/src/mage/sets/scourge/TemporalFissure.java
new file mode 100644
index 0000000000..fa7e6b1d0f
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/scourge/TemporalFissure.java
@@ -0,0 +1,65 @@
+/*
+ *  Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without modification, are
+ *  permitted provided that the following conditions are met:
+ *
+ *     1. Redistributions of source code must retain the above copyright notice, this list of
+ *        conditions and the following disclaimer.
+ *
+ *     2. Redistributions in binary form must reproduce the above copyright notice, this list
+ *        of conditions and the following disclaimer in the documentation and/or other materials
+ *        provided with the distribution.
+ *
+ *  THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ *  FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
+ *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ *  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ *  ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ *  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *  The views and conclusions contained in the software and documentation are those of the
+ *  authors and should not be interpreted as representing official policies, either expressed
+ *  or implied, of BetaSteward_at_googlemail.com.
+ */
+package mage.sets.scourge;
+
+import java.util.UUID;
+import mage.Constants.CardType;
+import mage.Constants.Rarity;
+import mage.abilities.effects.common.ReturnToHandTargetEffect;
+import mage.abilities.keyword.StormAbility;
+import mage.cards.CardImpl;
+import mage.target.TargetPermanent;
+
+/**
+ *
+ * @author Plopman
+ */
+public class TemporalFissure extends CardImpl<TemporalFissure> {
+
+    public TemporalFissure(UUID ownerId) {
+        super(ownerId, 53, "Temporal Fissure", Rarity.COMMON, new CardType[]{CardType.SORCERY}, "{4}{U}");
+        this.expansionSetCode = "SCG";
+
+        this.color.setBlue(true);
+
+        // Return target permanent to its owner's hand.
+        this.getSpellAbility().addTarget(new TargetPermanent());
+        this.getSpellAbility().addEffect(new ReturnToHandTargetEffect());
+        // Storm
+        this.addAbility(new StormAbility());
+    }
+
+    public TemporalFissure(final TemporalFissure card) {
+        super(card);
+    }
+
+    @Override
+    public TemporalFissure copy() {
+        return new TemporalFissure(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/scourge/TendrilsOfAgony.java b/Mage.Sets/src/mage/sets/scourge/TendrilsOfAgony.java
new file mode 100644
index 0000000000..627938fd7f
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/scourge/TendrilsOfAgony.java
@@ -0,0 +1,68 @@
+/*
+ *  Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without modification, are
+ *  permitted provided that the following conditions are met:
+ *
+ *     1. Redistributions of source code must retain the above copyright notice, this list of
+ *        conditions and the following disclaimer.
+ *
+ *     2. Redistributions in binary form must reproduce the above copyright notice, this list
+ *        of conditions and the following disclaimer in the documentation and/or other materials
+ *        provided with the distribution.
+ *
+ *  THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ *  FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
+ *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ *  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ *  ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ *  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *  The views and conclusions contained in the software and documentation are those of the
+ *  authors and should not be interpreted as representing official policies, either expressed
+ *  or implied, of BetaSteward_at_googlemail.com.
+ */
+package mage.sets.scourge;
+
+import java.util.UUID;
+import mage.Constants.CardType;
+import mage.Constants.Rarity;
+import mage.abilities.effects.common.DamageTargetEffect;
+import mage.abilities.effects.common.GainLifeEffect;
+import mage.abilities.effects.common.LoseLifeTargetEffect;
+import mage.abilities.keyword.StormAbility;
+import mage.cards.CardImpl;
+import mage.target.TargetPlayer;
+
+/**
+ *
+ * @author Plopman
+ */
+public class TendrilsOfAgony extends CardImpl<TendrilsOfAgony> {
+
+    public TendrilsOfAgony(UUID ownerId) {
+        super(ownerId, 75, "Tendrils of Agony", Rarity.UNCOMMON, new CardType[]{CardType.SORCERY}, "{2}{B}{B}");
+        this.expansionSetCode = "SCG";
+
+        this.color.setBlack(true);
+
+        // Target player loses 2 life and you gain 2 life.
+        this.getSpellAbility().addTarget(new TargetPlayer());
+        this.getSpellAbility().addEffect(new LoseLifeTargetEffect(2));
+        this.getSpellAbility().addEffect(new GainLifeEffect(2));
+        // Storm
+        this.addAbility(new StormAbility());
+    }
+
+    public TendrilsOfAgony(final TendrilsOfAgony card) {
+        super(card);
+    }
+
+    @Override
+    public TendrilsOfAgony copy() {
+        return new TendrilsOfAgony(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/scourge/WingShards.java b/Mage.Sets/src/mage/sets/scourge/WingShards.java
new file mode 100644
index 0000000000..8b70e8d726
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/scourge/WingShards.java
@@ -0,0 +1,67 @@
+/*
+ *  Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without modification, are
+ *  permitted provided that the following conditions are met:
+ *
+ *     1. Redistributions of source code must retain the above copyright notice, this list of
+ *        conditions and the following disclaimer.
+ *
+ *     2. Redistributions in binary form must reproduce the above copyright notice, this list
+ *        of conditions and the following disclaimer in the documentation and/or other materials
+ *        provided with the distribution.
+ *
+ *  THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ *  FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
+ *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ *  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ *  ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ *  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *  The views and conclusions contained in the software and documentation are those of the
+ *  authors and should not be interpreted as representing official policies, either expressed
+ *  or implied, of BetaSteward_at_googlemail.com.
+ */
+package mage.sets.scourge;
+
+import java.util.UUID;
+import mage.Constants.CardType;
+import mage.Constants.Rarity;
+import mage.abilities.effects.common.SacrificeEffect;
+import mage.abilities.keyword.StormAbility;
+import mage.cards.CardImpl;
+import mage.filter.common.FilterAttackingCreature;
+import mage.filter.common.FilterCreaturePermanent;
+import mage.target.TargetPlayer;
+
+/**
+ *
+ * @author Plopman
+ */
+public class WingShards extends CardImpl<WingShards> {
+
+    public WingShards(UUID ownerId) {
+        super(ownerId, 25, "Wing Shards", Rarity.UNCOMMON, new CardType[]{CardType.INSTANT}, "{1}{W}{W}");
+        this.expansionSetCode = "SCG";
+
+        this.color.setWhite(true);
+
+        // Target player sacrifices an attacking creature.
+        this.getSpellAbility().addEffect(new SacrificeEffect(new FilterAttackingCreature(), 1, "Target player"));
+        this.getSpellAbility().addTarget(new TargetPlayer());
+        // Storm
+        this.addAbility(new StormAbility());
+    }
+
+    public WingShards(final WingShards card) {
+        super(card);
+    }
+
+    @Override
+    public WingShards copy() {
+        return new WingShards(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/timeshifted/Dragonstorm.java b/Mage.Sets/src/mage/sets/timeshifted/Dragonstorm.java
new file mode 100644
index 0000000000..37c8b5af48
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/timeshifted/Dragonstorm.java
@@ -0,0 +1,72 @@
+/*
+ *  Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without modification, are
+ *  permitted provided that the following conditions are met:
+ *
+ *     1. Redistributions of source code must retain the above copyright notice, this list of
+ *        conditions and the following disclaimer.
+ *
+ *     2. Redistributions in binary form must reproduce the above copyright notice, this list
+ *        of conditions and the following disclaimer in the documentation and/or other materials
+ *        provided with the distribution.
+ *
+ *  THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ *  FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
+ *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ *  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ *  ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ *  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *  The views and conclusions contained in the software and documentation are those of the
+ *  authors and should not be interpreted as representing official policies, either expressed
+ *  or implied, of BetaSteward_at_googlemail.com.
+ */
+package mage.sets.timeshifted;
+
+import java.util.UUID;
+import mage.Constants.CardType;
+import mage.Constants.Rarity;
+import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect;
+import mage.abilities.keyword.StormAbility;
+import mage.cards.CardImpl;
+import mage.filter.common.FilterPermanentCard;
+import mage.filter.predicate.mageobject.SubtypePredicate;
+import mage.target.common.TargetCardInLibrary;
+
+/**
+ *
+ * @author Plopman
+ */
+public class Dragonstorm extends CardImpl<Dragonstorm> {
+
+        
+    final static private FilterPermanentCard filter = new FilterPermanentCard("Dragon permanent card");
+
+    static {
+        filter.add(new SubtypePredicate("Dragon"));
+    }
+    public Dragonstorm(UUID ownerId) {
+        super(ownerId, 60, "Dragonstorm", Rarity.COMMON, new CardType[]{CardType.SORCERY}, "{8}{R}");
+        this.expansionSetCode = "TSB";
+
+        this.color.setRed(true);
+
+        // Search your library for a Dragon permanent card and put it onto the battlefield. Then shuffle your library.
+        this.getSpellAbility().addEffect(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(filter), false));
+        // Storm
+        this.addAbility(new StormAbility());
+    }
+
+    public Dragonstorm(final Dragonstorm card) {
+        super(card);
+    }
+
+    @Override
+    public Dragonstorm copy() {
+        return new Dragonstorm(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/timespiral/EmptyTheWarrens.java b/Mage.Sets/src/mage/sets/timespiral/EmptyTheWarrens.java
new file mode 100644
index 0000000000..7a155fd9a9
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/timespiral/EmptyTheWarrens.java
@@ -0,0 +1,64 @@
+/*
+ *  Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without modification, are
+ *  permitted provided that the following conditions are met:
+ *
+ *     1. Redistributions of source code must retain the above copyright notice, this list of
+ *        conditions and the following disclaimer.
+ *
+ *     2. Redistributions in binary form must reproduce the above copyright notice, this list
+ *        of conditions and the following disclaimer in the documentation and/or other materials
+ *        provided with the distribution.
+ *
+ *  THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ *  FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
+ *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ *  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ *  ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ *  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *  The views and conclusions contained in the software and documentation are those of the
+ *  authors and should not be interpreted as representing official policies, either expressed
+ *  or implied, of BetaSteward_at_googlemail.com.
+ */
+package mage.sets.timespiral;
+
+import java.util.UUID;
+import mage.Constants.CardType;
+import mage.Constants.Rarity;
+import mage.abilities.effects.common.CreateTokenEffect;
+import mage.abilities.keyword.StormAbility;
+import mage.cards.CardImpl;
+import mage.game.permanent.token.GoblinToken;
+
+/**
+ *
+ * @author Plopman
+ */
+public class EmptyTheWarrens extends CardImpl<EmptyTheWarrens> {
+
+    public EmptyTheWarrens(UUID ownerId) {
+        super(ownerId, 152, "Empty the Warrens", Rarity.COMMON, new CardType[]{CardType.SORCERY}, "{3}{R}");
+        this.expansionSetCode = "TSP";
+
+        this.color.setRed(true);
+
+        // Put two 1/1 red Goblin creature tokens onto the battlefield.
+        this.getSpellAbility().addEffect(new CreateTokenEffect(new GoblinToken(), 2));
+        // Storm
+        this.addAbility(new StormAbility());
+    }
+
+    public EmptyTheWarrens(final EmptyTheWarrens card) {
+        super(card);
+    }
+
+    @Override
+    public EmptyTheWarrens copy() {
+        return new EmptyTheWarrens(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/timespiral/Grapeshot.java b/Mage.Sets/src/mage/sets/timespiral/Grapeshot.java
new file mode 100644
index 0000000000..e267d2c4ea
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/timespiral/Grapeshot.java
@@ -0,0 +1,65 @@
+/*
+ *  Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without modification, are
+ *  permitted provided that the following conditions are met:
+ *
+ *     1. Redistributions of source code must retain the above copyright notice, this list of
+ *        conditions and the following disclaimer.
+ *
+ *     2. Redistributions in binary form must reproduce the above copyright notice, this list
+ *        of conditions and the following disclaimer in the documentation and/or other materials
+ *        provided with the distribution.
+ *
+ *  THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ *  FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
+ *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ *  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ *  ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ *  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *  The views and conclusions contained in the software and documentation are those of the
+ *  authors and should not be interpreted as representing official policies, either expressed
+ *  or implied, of BetaSteward_at_googlemail.com.
+ */
+package mage.sets.timespiral;
+
+import java.util.UUID;
+import mage.Constants.CardType;
+import mage.Constants.Rarity;
+import mage.abilities.effects.common.DamageTargetEffect;
+import mage.abilities.keyword.StormAbility;
+import mage.cards.CardImpl;
+import mage.target.common.TargetCreatureOrPlayer;
+
+/**
+ *
+ * @author Plopman
+ */
+public class Grapeshot extends CardImpl<Grapeshot> {
+
+    public Grapeshot(UUID ownerId) {
+        super(ownerId, 160, "Grapeshot", Rarity.COMMON, new CardType[]{CardType.SORCERY}, "{1}{R}");
+        this.expansionSetCode = "TSP";
+
+        this.color.setRed(true);
+
+        // Grapeshot deals 1 damage to target creature or player.
+        this.getSpellAbility().addTarget(new TargetCreatureOrPlayer());
+        this.getSpellAbility().addEffect(new DamageTargetEffect(1));
+        // Storm
+        this.addAbility(new StormAbility());
+    }
+
+    public Grapeshot(final Grapeshot card) {
+        super(card);
+    }
+
+    @Override
+    public Grapeshot copy() {
+        return new Grapeshot(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/timespiral/GroundRift.java b/Mage.Sets/src/mage/sets/timespiral/GroundRift.java
new file mode 100644
index 0000000000..64f0825d0e
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/timespiral/GroundRift.java
@@ -0,0 +1,78 @@
+/*
+ *  Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without modification, are
+ *  permitted provided that the following conditions are met:
+ *
+ *     1. Redistributions of source code must retain the above copyright notice, this list of
+ *        conditions and the following disclaimer.
+ *
+ *     2. Redistributions in binary form must reproduce the above copyright notice, this list
+ *        of conditions and the following disclaimer in the documentation and/or other materials
+ *        provided with the distribution.
+ *
+ *  THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ *  FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
+ *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ *  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ *  ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ *  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *  The views and conclusions contained in the software and documentation are those of the
+ *  authors and should not be interpreted as representing official policies, either expressed
+ *  or implied, of BetaSteward_at_googlemail.com.
+ */
+package mage.sets.timespiral;
+
+import java.util.UUID;
+import mage.Constants;
+import mage.Constants.CardType;
+import mage.Constants.Rarity;
+import mage.abilities.effects.common.CantBlockTargetEffect;
+import mage.abilities.keyword.FlyingAbility;
+import mage.abilities.keyword.StormAbility;
+import mage.cards.CardImpl;
+import mage.filter.common.FilterAttackingCreature;
+import mage.filter.common.FilterCreaturePermanent;
+import mage.filter.predicate.Predicates;
+import mage.filter.predicate.mageobject.AbilityPredicate;
+import mage.target.TargetPermanent;
+import mage.target.common.TargetCreaturePermanent;
+
+/**
+ *
+ * @author Plopman
+ */
+public class GroundRift extends CardImpl<GroundRift> {
+
+    private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature without flying");
+
+    static {
+        filter.add(Predicates.not(new AbilityPredicate(FlyingAbility.class)));
+    }
+    
+    public GroundRift(UUID ownerId) {
+        super(ownerId, 162, "Ground Rift", Rarity.COMMON, new CardType[]{CardType.SORCERY}, "{R}");
+        this.expansionSetCode = "TSP";
+
+        this.color.setRed(true);
+
+        // Target creature without flying can't block this turn.
+        this.getSpellAbility().addTarget(new TargetCreaturePermanent(filter));
+        this.getSpellAbility().addEffect(new CantBlockTargetEffect(Constants.Duration.EndOfTurn));
+        // Storm
+        this.addAbility(new StormAbility());
+    }
+
+    public GroundRift(final GroundRift card) {
+        super(card);
+    }
+
+    @Override
+    public GroundRift copy() {
+        return new GroundRift(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/timespiral/IgniteMemories.java b/Mage.Sets/src/mage/sets/timespiral/IgniteMemories.java
new file mode 100644
index 0000000000..cf56111180
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/timespiral/IgniteMemories.java
@@ -0,0 +1,105 @@
+/*
+ *  Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without modification, are
+ *  permitted provided that the following conditions are met:
+ *
+ *     1. Redistributions of source code must retain the above copyright notice, this list of
+ *        conditions and the following disclaimer.
+ *
+ *     2. Redistributions in binary form must reproduce the above copyright notice, this list
+ *        of conditions and the following disclaimer in the documentation and/or other materials
+ *        provided with the distribution.
+ *
+ *  THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ *  FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
+ *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ *  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ *  ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ *  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *  The views and conclusions contained in the software and documentation are those of the
+ *  authors and should not be interpreted as representing official policies, either expressed
+ *  or implied, of BetaSteward_at_googlemail.com.
+ */
+package mage.sets.timespiral;
+
+import java.util.UUID;
+import mage.Constants;
+import mage.Constants.CardType;
+import mage.Constants.Rarity;
+import mage.abilities.Ability;
+import mage.abilities.effects.OneShotEffect;
+import mage.abilities.keyword.StormAbility;
+import mage.cards.Card;
+import mage.cards.CardImpl;
+import mage.cards.Cards;
+import mage.cards.CardsImpl;
+import mage.game.Game;
+import mage.players.Player;
+import mage.target.TargetPlayer;
+
+/**
+ *
+ * @author Plopman
+ */
+public class IgniteMemories extends CardImpl<IgniteMemories> {
+
+    public IgniteMemories(UUID ownerId) {
+        super(ownerId, 164, "Ignite Memories", Rarity.UNCOMMON, new CardType[]{CardType.SORCERY}, "{4}{R}");
+        this.expansionSetCode = "TSP";
+
+        this.color.setRed(true);
+
+        // Target player reveals a card at random from his or her hand. Ignite Memories deals damage to that player equal to that card's converted mana cost.
+        this.getSpellAbility().addTarget(new TargetPlayer());
+        this.getSpellAbility().addEffect(new IgniteMemoriesEffect());
+        // Storm
+        this.addAbility(new StormAbility());
+    }
+
+    public IgniteMemories(final IgniteMemories card) {
+        super(card);
+    }
+
+    @Override
+    public IgniteMemories copy() {
+        return new IgniteMemories(this);
+    }
+}
+
+
+class IgniteMemoriesEffect extends OneShotEffect<IgniteMemoriesEffect> {
+
+    public IgniteMemoriesEffect() {
+        super(Constants.Outcome.Damage);
+        staticText = "Target player reveals a card at random from his or her hand. Ignite Memories deals damage to that player equal to that card's converted mana cost";
+    }
+
+    public IgniteMemoriesEffect(final IgniteMemoriesEffect effect) {
+        super(effect);
+    }
+
+    @Override
+    public boolean apply(Game game, Ability source) {
+        Player player = game.getPlayer(targetPointer.getFirst(game, source));
+        if (player != null && player.getHand().size() > 0) {
+            Cards revealed = new CardsImpl();
+            Card card = player.getHand().getRandom(game);
+            revealed.add(card);
+            player.revealCards("Ignite Memories", revealed, game);
+            player.damage(card.getManaCost().convertedManaCost(), id, game, false, true);
+            return true;
+        }
+        return false;
+    }
+
+    @Override
+    public IgniteMemoriesEffect copy() {
+        return new IgniteMemoriesEffect(this);
+    }
+
+}
\ No newline at end of file
diff --git a/Mage.Sets/src/mage/sets/timespiral/VolcanicAwakening.java b/Mage.Sets/src/mage/sets/timespiral/VolcanicAwakening.java
new file mode 100644
index 0000000000..4b0b0dae62
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/timespiral/VolcanicAwakening.java
@@ -0,0 +1,65 @@
+/*
+ *  Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without modification, are
+ *  permitted provided that the following conditions are met:
+ *
+ *     1. Redistributions of source code must retain the above copyright notice, this list of
+ *        conditions and the following disclaimer.
+ *
+ *     2. Redistributions in binary form must reproduce the above copyright notice, this list
+ *        of conditions and the following disclaimer in the documentation and/or other materials
+ *        provided with the distribution.
+ *
+ *  THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ *  FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
+ *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ *  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ *  ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ *  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *  The views and conclusions contained in the software and documentation are those of the
+ *  authors and should not be interpreted as representing official policies, either expressed
+ *  or implied, of BetaSteward_at_googlemail.com.
+ */
+package mage.sets.timespiral;
+
+import java.util.UUID;
+import mage.Constants.CardType;
+import mage.Constants.Rarity;
+import mage.abilities.effects.common.DestroyTargetEffect;
+import mage.abilities.keyword.StormAbility;
+import mage.cards.CardImpl;
+import mage.target.common.TargetLandPermanent;
+
+/**
+ *
+ * @author Plopman
+ */
+public class VolcanicAwakening extends CardImpl<VolcanicAwakening> {
+
+    public VolcanicAwakening(UUID ownerId) {
+        super(ownerId, 186, "Volcanic Awakening", Rarity.UNCOMMON, new CardType[]{CardType.SORCERY}, "{4}{R}{R}");
+        this.expansionSetCode = "TSP";
+
+        this.color.setRed(true);
+
+        // Destroy target land.
+        this.getSpellAbility().addTarget(new TargetLandPermanent());
+        this.getSpellAbility().addEffect(new DestroyTargetEffect());
+        // Storm
+        this.addAbility(new StormAbility());
+    }
+
+    public VolcanicAwakening(final VolcanicAwakening card) {
+        super(card);
+    }
+
+    @Override
+    public VolcanicAwakening copy() {
+        return new VolcanicAwakening(this);
+    }
+}
diff --git a/Mage/src/mage/filter/common/FilterPermanentCard.java b/Mage/src/mage/filter/common/FilterPermanentCard.java
new file mode 100644
index 0000000000..e6cf58c620
--- /dev/null
+++ b/Mage/src/mage/filter/common/FilterPermanentCard.java
@@ -0,0 +1,64 @@
+/*
+ *  Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
+ * 
+ *  Redistribution and use in source and binary forms, with or without modification, are
+ *  permitted provided that the following conditions are met:
+ * 
+ *     1. Redistributions of source code must retain the above copyright notice, this list of
+ *        conditions and the following disclaimer.
+ * 
+ *     2. Redistributions in binary form must reproduce the above copyright notice, this list
+ *        of conditions and the following disclaimer in the documentation and/or other materials
+ *        provided with the distribution.
+ * 
+ *  THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ *  FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
+ *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ *  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ *  ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ *  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * 
+ *  The views and conclusions contained in the software and documentation are those of the
+ *  authors and should not be interpreted as representing official policies, either expressed
+ *  or implied, of BetaSteward_at_googlemail.com.
+ */
+
+package mage.filter.common;
+
+import mage.Constants.CardType;
+import mage.filter.FilterCard;
+import mage.filter.predicate.Predicates;
+import mage.filter.predicate.mageobject.CardTypePredicate;
+
+/**
+ *
+ * @author Plopman
+ */
+public class FilterPermanentCard extends FilterCard {
+
+    public FilterPermanentCard() {
+        this("permanent card");
+    }
+
+    public FilterPermanentCard(String name) {
+        super(name);
+        this.add(Predicates.or(
+                new CardTypePredicate(CardType.ARTIFACT),
+                new CardTypePredicate(CardType.CREATURE),
+                new CardTypePredicate(CardType.ENCHANTMENT),
+                new CardTypePredicate(CardType.LAND),
+                new CardTypePredicate(CardType.PLANESWALKER)));
+    }
+
+    public FilterPermanentCard(final FilterPermanentCard filter) {
+        super(filter);
+    }
+
+    @Override
+    public FilterPermanentCard copy() {
+        return new FilterPermanentCard(this);
+    }
+}