diff --git a/Mage.Server/src/main/java/mage/server/util/SystemUtil.java b/Mage.Server/src/main/java/mage/server/util/SystemUtil.java
index 0d4964eb29..ef6b8bdf90 100644
--- a/Mage.Server/src/main/java/mage/server/util/SystemUtil.java
+++ b/Mage.Server/src/main/java/mage/server/util/SystemUtil.java
@@ -41,7 +41,7 @@ public class SystemUtil {
     public static void addCardsForTesting(Game game) {
         try {
             File f = new File(INIT_FILE_PATH);
-            Pattern pattern = Pattern.compile("([a-zA-Z]*):([\\w]*):([a-zA-Z ,\\/\\-.!'\\d]*):([\\d]*)");
+            Pattern pattern = Pattern.compile("([a-zA-Z]+):([\\w]+):([a-zA-Z ,\\/\\-.!'\\d:]+?):(\\d+)");
             if (!f.exists()) {
                 logger.warn("Couldn't find init file: " + INIT_FILE_PATH);
                 return;
diff --git a/Mage.Sets/src/mage/sets/divinevsdemonic/LordOfThePit.java b/Mage.Sets/src/mage/sets/divinevsdemonic/LordOfThePit.java
new file mode 100644
index 0000000000..ed861ffc6c
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/divinevsdemonic/LordOfThePit.java
@@ -0,0 +1,125 @@
+/*
+ *  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.divinevsdemonic;
+
+import java.util.Set;
+import java.util.UUID;
+import mage.MageInt;
+import mage.abilities.Ability;
+import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
+import mage.abilities.effects.OneShotEffect;
+import mage.abilities.keyword.FlyingAbility;
+import mage.abilities.keyword.TrampleAbility;
+import mage.cards.CardImpl;
+import mage.constants.*;
+import mage.filter.common.FilterControlledCreaturePermanent;
+import mage.filter.predicate.permanent.AnotherPredicate;
+import mage.game.Game;
+import mage.game.permanent.Permanent;
+import mage.players.Player;
+import mage.target.Target;
+import mage.target.common.TargetControlledCreaturePermanent;
+
+/**
+ *
+ * @author dustinconrad
+ */
+public class LordOfThePit extends CardImpl {
+
+    public LordOfThePit(UUID ownerId) {
+        super(ownerId, 30, "Lord of the Pit", Rarity.MYTHIC, new CardType[]{CardType.CREATURE}, "{4}{B}{B}{B}");
+        this.expansionSetCode = "DDC";
+        this.subtype.add("Demon");
+
+        this.color.setBlack(true);
+        this.power = new MageInt(7);
+        this.toughness = new MageInt(7);
+
+        // Flying
+        this.addAbility(FlyingAbility.getInstance());
+        // Trample
+        this.addAbility(TrampleAbility.getInstance());
+        // At the beginning of your upkeep, sacrifice a creature other than Lord of the Pit. If you can't, Lord of the Pit deals 7 damage to you.
+        this.addAbility(new BeginningOfUpkeepTriggeredAbility(new LordOfThePitEffect(), TargetController.YOU, false));
+    }
+
+    public LordOfThePit(final LordOfThePit card) {
+        super(card);
+    }
+
+    @Override
+    public LordOfThePit copy() {
+        return new LordOfThePit(this);
+    }
+}
+
+class LordOfThePitEffect extends OneShotEffect {
+
+    public LordOfThePitEffect() {
+        super(Outcome.Damage);
+        this.staticText = "Sacrifice a creature other than {this}. If you can't {this} deals 7 damage to you.";
+    }
+
+    public LordOfThePitEffect(final LordOfThePitEffect effect) {
+        super(effect);
+    }
+
+    @Override
+    public LordOfThePitEffect copy() {
+        return new LordOfThePitEffect(this);
+    }
+
+    @Override
+    public boolean apply(Game game, Ability source) {
+        Player player = game.getPlayer(source.getControllerId());
+        Permanent sourcePermanent = game.getPermanent(source.getSourceId());
+        if (sourcePermanent == null) {
+            sourcePermanent = (Permanent) game.getLastKnownInformation(source.getSourceId(), Zone.BATTLEFIELD);
+        }
+        if (player == null || sourcePermanent == null) {
+            return false;
+        }
+
+        FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("creature other than " + sourcePermanent.getName());
+        filter.add(new AnotherPredicate());
+
+        Target target = new TargetControlledCreaturePermanent(1, 1, filter, true);
+        if (target.canChoose(source.getSourceId(), player.getId(), game)) {
+            player.choose(Outcome.Sacrifice, target, source.getSourceId(), game);
+            Permanent permanent = game.getPermanent(target.getFirstTarget());
+            if (permanent != null) {
+                permanent.sacrifice(source.getSourceId(), game);
+                return true;
+            }
+        } else {
+            player.damage(7, source.getSourceId(), game, false, true);
+            return true;
+        }
+        return false;
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/fifthedition/LordOfThePit.java b/Mage.Sets/src/mage/sets/fifthedition/LordOfThePit.java
new file mode 100644
index 0000000000..47add98082
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/fifthedition/LordOfThePit.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.fifthedition;
+
+import java.util.UUID;
+import mage.constants.Rarity;
+
+/**
+ *
+ * @author dustinconrad
+ */
+public class LordOfThePit extends mage.sets.divinevsdemonic.LordOfThePit {
+
+    public LordOfThePit(UUID ownerId) {
+        super(ownerId);
+        this.cardNumber = 36;
+        this.expansionSetCode = "5ED";
+        this.rarity = Rarity.RARE;
+    }
+
+    public LordOfThePit(final LordOfThePit card) {
+        super(card);
+    }
+
+    @Override
+    public LordOfThePit copy() {
+        return new LordOfThePit(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/fourthedition/LordOfThePit.java b/Mage.Sets/src/mage/sets/fourthedition/LordOfThePit.java
new file mode 100644
index 0000000000..8fd83a5e84
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/fourthedition/LordOfThePit.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.fourthedition;
+
+import java.util.UUID;
+import mage.constants.Rarity;
+
+/**
+ *
+ * @author dustinconrad
+ */
+public class LordOfThePit extends mage.sets.divinevsdemonic.LordOfThePit {
+
+    public LordOfThePit(UUID ownerId) {
+        super(ownerId);
+        this.cardNumber = 28;
+        this.expansionSetCode = "4ED";
+        this.rarity = Rarity.RARE;
+    }
+
+    public LordOfThePit(final LordOfThePit card) {
+        super(card);
+    }
+
+    @Override
+    public LordOfThePit copy() {
+        return new LordOfThePit(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/limitedalpha/LordOfThePit.java b/Mage.Sets/src/mage/sets/limitedalpha/LordOfThePit.java
new file mode 100644
index 0000000000..082b51fdff
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/limitedalpha/LordOfThePit.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.limitedalpha;
+
+import java.util.UUID;
+import mage.constants.Rarity;
+
+/**
+ *
+ * @author dustinconrad
+ */
+public class LordOfThePit extends mage.sets.divinevsdemonic.LordOfThePit {
+
+    public LordOfThePit(UUID ownerId) {
+        super(ownerId);
+        this.cardNumber = 23;
+        this.expansionSetCode = "LEA";
+        this.rarity = Rarity.RARE;
+    }
+
+    public LordOfThePit(final LordOfThePit card) {
+        super(card);
+    }
+
+    @Override
+    public LordOfThePit copy() {
+        return new LordOfThePit(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/limitedbeta/LordOfThePit.java b/Mage.Sets/src/mage/sets/limitedbeta/LordOfThePit.java
new file mode 100644
index 0000000000..3c676b9768
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/limitedbeta/LordOfThePit.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.limitedbeta;
+
+import java.util.UUID;
+import mage.constants.Rarity;
+
+/**
+ *
+ * @author dustinconrad
+ */
+public class LordOfThePit extends mage.sets.divinevsdemonic.LordOfThePit {
+
+    public LordOfThePit(UUID ownerId) {
+        super(ownerId);
+        this.cardNumber = 23;
+        this.expansionSetCode = "LEB";
+        this.rarity = Rarity.RARE;
+    }
+
+    public LordOfThePit(final LordOfThePit card) {
+        super(card);
+    }
+
+    @Override
+    public LordOfThePit copy() {
+        return new LordOfThePit(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/mercadianmasques/Crash.java b/Mage.Sets/src/mage/sets/mercadianmasques/Crash.java
new file mode 100644
index 0000000000..307944272b
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/mercadianmasques/Crash.java
@@ -0,0 +1,82 @@
+/*
+ *  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.mercadianmasques;
+
+import java.util.UUID;
+
+import mage.abilities.costs.AlternativeCostSourceAbility;
+import mage.abilities.costs.common.SacrificeTargetCost;
+import mage.abilities.effects.common.DestroyTargetEffect;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+import mage.filter.FilterPermanent;
+import mage.filter.common.FilterControlledLandPermanent;
+import mage.filter.common.FilterControlledPermanent;
+import mage.filter.predicate.mageobject.CardTypePredicate;
+import mage.filter.predicate.mageobject.SubtypePredicate;
+import mage.target.TargetPermanent;
+import mage.target.common.TargetControlledPermanent;
+
+/**
+ *
+ * @author dustinconrad
+ */
+public class Crash extends CardImpl {
+
+    private static final FilterPermanent effectFilter = new FilterPermanent("artifact");
+    private static final FilterControlledPermanent alternativeCostFilter = new FilterControlledLandPermanent("a Mountain");
+
+    static {
+        effectFilter.add(new CardTypePredicate(CardType.ARTIFACT));
+        alternativeCostFilter.add(new SubtypePredicate("Mountain"));
+    }
+
+    public Crash(UUID ownerId) {
+        super(ownerId, 186, "Crash", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{2}{R}");
+        this.expansionSetCode = "MMQ";
+
+        this.color.setRed(true);
+
+        // You may sacrifice a Mountain rather than pay Crash's mana cost.
+        this.addAbility(new AlternativeCostSourceAbility(new SacrificeTargetCost(new TargetControlledPermanent(1, 1, alternativeCostFilter, true))));
+
+        // Destroy target artifact.
+        this.getSpellAbility().addEffect(new DestroyTargetEffect());
+        this.getSpellAbility().addTarget(new TargetPermanent(effectFilter));
+    }
+
+    public Crash(final Crash card) {
+        super(card);
+    }
+
+    @Override
+    public Crash copy() {
+        return new Crash(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/mirrodin/NecrogenMists.java b/Mage.Sets/src/mage/sets/mirrodin/NecrogenMists.java
new file mode 100644
index 0000000000..e59bfed005
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/mirrodin/NecrogenMists.java
@@ -0,0 +1,63 @@
+/*
+ *  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.mirrodin;
+
+import java.util.UUID;
+
+import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
+import mage.abilities.effects.common.discard.DiscardTargetEffect;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+import mage.constants.TargetController;
+
+/**
+ *
+ * @author dustinconrad
+ */
+public class NecrogenMists extends CardImpl {
+
+    public NecrogenMists(UUID ownerId) {
+        super(ownerId, 69, "Necrogen Mists", Rarity.RARE, new CardType[]{CardType.ENCHANTMENT}, "{2}{B}");
+        this.expansionSetCode = "MRD";
+
+        this.color.setBlack(true);
+
+        // At the beginning of each player's upkeep, that player discards a card.
+        this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DiscardTargetEffect(1), TargetController.ANY, false));
+    }
+
+    public NecrogenMists(final NecrogenMists card) {
+        super(card);
+    }
+
+    @Override
+    public NecrogenMists copy() {
+        return new NecrogenMists(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/mirrodin/ShrapnelBlast.java b/Mage.Sets/src/mage/sets/mirrodin/ShrapnelBlast.java
index a8bb9c2dd6..0884eba8ad 100644
--- a/Mage.Sets/src/mage/sets/mirrodin/ShrapnelBlast.java
+++ b/Mage.Sets/src/mage/sets/mirrodin/ShrapnelBlast.java
@@ -34,7 +34,7 @@ import mage.constants.Rarity;
 import mage.abilities.costs.common.SacrificeTargetCost;
 import mage.abilities.effects.common.DamageTargetEffect;
 import mage.cards.CardImpl;
-import mage.filter.common.FilterControlledPermanent;
+import mage.filter.common.FilterControlledArtifactPermanent;
 import mage.filter.predicate.mageobject.CardTypePredicate;
 import mage.target.common.TargetControlledPermanent;
 import mage.target.common.TargetCreatureOrPlayer;
@@ -44,7 +44,7 @@ import mage.target.common.TargetCreatureOrPlayer;
  */
 public class ShrapnelBlast extends CardImpl {
 
-    private static final FilterControlledPermanent filter = new FilterControlledPermanent("an artifact");
+    private static final FilterControlledArtifactPermanent filter = new FilterControlledArtifactPermanent("an artifact");
 
     static {
         filter.add(new CardTypePredicate(CardType.ARTIFACT));
@@ -55,7 +55,7 @@ public class ShrapnelBlast extends CardImpl {
         this.expansionSetCode = "MRD";
 
         this.color.setRed(true);
-        this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledPermanent(1, 1, filter, false)));
+        this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledPermanent(1, 1, filter, true)));
         this.getSpellAbility().addEffect(new DamageTargetEffect(5));
         this.getSpellAbility().addTarget(new TargetCreatureOrPlayer());
     }
diff --git a/Mage.Sets/src/mage/sets/revisededition/LordOfThePit.java b/Mage.Sets/src/mage/sets/revisededition/LordOfThePit.java
new file mode 100644
index 0000000000..c006a6d981
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/revisededition/LordOfThePit.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.revisededition;
+
+import java.util.UUID;
+import mage.constants.Rarity;
+
+/**
+ *
+ * @author dustinconrad
+ */
+public class LordOfThePit extends mage.sets.divinevsdemonic.LordOfThePit {
+
+    public LordOfThePit(UUID ownerId) {
+        super(ownerId);
+        this.cardNumber = 24;
+        this.expansionSetCode = "3ED";
+        this.rarity = Rarity.RARE;
+    }
+
+    public LordOfThePit(final LordOfThePit card) {
+        super(card);
+    }
+
+    @Override
+    public LordOfThePit copy() {
+        return new LordOfThePit(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/scourge/PyrostaticPillar.java b/Mage.Sets/src/mage/sets/scourge/PyrostaticPillar.java
new file mode 100644
index 0000000000..922413d686
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/scourge/PyrostaticPillar.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.scourge;
+
+import java.util.UUID;
+
+import mage.abilities.TriggeredAbilityImpl;
+import mage.abilities.effects.Effect;
+import mage.abilities.effects.common.DamageTargetEffect;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+import mage.constants.Zone;
+import mage.game.Game;
+import mage.game.events.GameEvent;
+import mage.game.stack.Spell;
+import mage.target.targetpointer.FixedTarget;
+
+/**
+ *
+ * @author dustinconrad
+ */
+public class PyrostaticPillar extends CardImpl {
+
+    public PyrostaticPillar(UUID ownerId) {
+        super(ownerId, 100, "Pyrostatic Pillar", Rarity.UNCOMMON, new CardType[]{CardType.ENCHANTMENT}, "{1}{R}");
+        this.expansionSetCode = "SCG";
+
+        this.color.setRed(true);
+
+        // Whenever a player casts a spell with converted mana cost 3 or less, Pyrostatic Pillar deals 2 damage to that player.
+        this.addAbility(new PyrostaticPillarTriggeredAbility());
+    }
+
+    public PyrostaticPillar(final PyrostaticPillar card) {
+        super(card);
+    }
+
+    @Override
+    public PyrostaticPillar copy() {
+        return new PyrostaticPillar(this);
+    }
+}
+
+class PyrostaticPillarTriggeredAbility extends TriggeredAbilityImpl {
+
+
+    public PyrostaticPillarTriggeredAbility() {
+        super(Zone.BATTLEFIELD, new DamageTargetEffect(2, true, "that player"));
+    }
+
+
+    public PyrostaticPillarTriggeredAbility(final PyrostaticPillarTriggeredAbility abiltity) {
+        super(abiltity);
+    }
+
+    @Override
+    public PyrostaticPillarTriggeredAbility copy() {
+        return new PyrostaticPillarTriggeredAbility(this);
+    }
+
+    @Override
+    public boolean checkTrigger(GameEvent event, Game game) {
+        if(event.getType() == GameEvent.EventType.SPELL_CAST){
+            Spell spell = game.getStack().getSpell(event.getTargetId());
+            if(spell != null && spell.getConvertedManaCost() <= 3){
+                for (Effect effect : this.getEffects()) {
+                    effect.setTargetPointer(new FixedTarget(event.getPlayerId()));
+                }
+                return true;
+            }
+        }
+        return false;
+    }
+
+    @Override
+    public String getRule() {
+        return "Whenever a player casts a spell with converted mana cost 3 or less, {this} deals 2 damage to that player.";
+    }
+}
\ No newline at end of file
diff --git a/Mage.Sets/src/mage/sets/seventhedition/ArcaneLaboratory.java b/Mage.Sets/src/mage/sets/seventhedition/ArcaneLaboratory.java
new file mode 100644
index 0000000000..782a1d20bb
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/seventhedition/ArcaneLaboratory.java
@@ -0,0 +1,52 @@
+/*
+ *  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.seventhedition;
+
+import java.util.UUID;
+
+/**
+ *
+ * @author dustinconrad
+ */
+public class ArcaneLaboratory extends mage.sets.urzassaga.ArcaneLaboratory {
+
+    public ArcaneLaboratory(UUID ownerId) {
+        super(ownerId);
+        this.cardNumber = 60;
+        this.expansionSetCode = "7ED";
+    }
+
+    public ArcaneLaboratory(final ArcaneLaboratory card) {
+        super(card);
+    }
+
+    @Override
+    public ArcaneLaboratory copy() {
+        return new ArcaneLaboratory(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/seventhedition/Oppression.java b/Mage.Sets/src/mage/sets/seventhedition/Oppression.java
new file mode 100644
index 0000000000..b056d3d8f9
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/seventhedition/Oppression.java
@@ -0,0 +1,52 @@
+/*
+ *  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.seventhedition;
+
+import java.util.UUID;
+
+/**
+ *
+ * @author dustinconrad
+ */
+public class Oppression extends mage.sets.urzassaga.Oppression {
+
+    public Oppression(UUID ownerId) {
+        super(ownerId);
+        this.cardNumber = 152;
+        this.expansionSetCode = "7ED";
+    }
+
+    public Oppression(final Oppression card) {
+        super(card);
+    }
+
+    @Override
+    public Oppression copy() {
+        return new Oppression(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/stronghold/BottomlessPit.java b/Mage.Sets/src/mage/sets/stronghold/BottomlessPit.java
new file mode 100644
index 0000000000..f3aea5d060
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/stronghold/BottomlessPit.java
@@ -0,0 +1,63 @@
+/*
+ *  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.stronghold;
+
+import java.util.UUID;
+
+import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
+import mage.abilities.effects.common.discard.DiscardTargetEffect;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+import mage.constants.TargetController;
+
+/**
+ *
+ * @author dustinconrad
+ */
+public class BottomlessPit extends CardImpl {
+
+    public BottomlessPit(UUID ownerId) {
+        super(ownerId, 1, "Bottomless Pit", Rarity.UNCOMMON, new CardType[]{CardType.ENCHANTMENT}, "{1}{B}{B}");
+        this.expansionSetCode = "STH";
+
+        this.color.setBlack(true);
+
+        // At the beginning of each player's upkeep, that player discards a card at random.
+        this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DiscardTargetEffect(1, true), TargetController.ANY, false));
+    }
+
+    public BottomlessPit(final BottomlessPit card) {
+        super(card);
+    }
+
+    @Override
+    public BottomlessPit copy() {
+        return new BottomlessPit(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/tenth/LordOfThePit.java b/Mage.Sets/src/mage/sets/tenth/LordOfThePit.java
new file mode 100644
index 0000000000..bab4e90486
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/tenth/LordOfThePit.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.tenth;
+
+import java.util.UUID;
+import mage.constants.Rarity;
+
+/**
+ *
+ * @author dustinconrad
+ */
+public class LordOfThePit extends mage.sets.divinevsdemonic.LordOfThePit {
+
+    public LordOfThePit(UUID ownerId) {
+        super(ownerId);
+        this.cardNumber = 154;
+        this.expansionSetCode = "10E";
+        this.rarity = Rarity.RARE;
+    }
+
+    public LordOfThePit(final LordOfThePit card) {
+        super(card);
+    }
+
+    @Override
+    public LordOfThePit copy() {
+        return new LordOfThePit(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/unlimitededition/LordOfThePit.java b/Mage.Sets/src/mage/sets/unlimitededition/LordOfThePit.java
new file mode 100644
index 0000000000..a26ce7ed22
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/unlimitededition/LordOfThePit.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.unlimitededition;
+
+import java.util.UUID;
+import mage.constants.Rarity;
+
+/**
+ *
+ * @author dustinconrad
+ */
+public class LordOfThePit extends mage.sets.divinevsdemonic.LordOfThePit {
+
+    public LordOfThePit(UUID ownerId) {
+        super(ownerId);
+        this.cardNumber = 23;
+        this.expansionSetCode = "2ED";
+        this.rarity = Rarity.RARE;
+    }
+
+    public LordOfThePit(final LordOfThePit card) {
+        super(card);
+    }
+
+    @Override
+    public LordOfThePit copy() {
+        return new LordOfThePit(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/urzassaga/ArcaneLaboratory.java b/Mage.Sets/src/mage/sets/urzassaga/ArcaneLaboratory.java
new file mode 100644
index 0000000000..01b264583a
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/urzassaga/ArcaneLaboratory.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.urzassaga;
+
+import java.util.UUID;
+
+import mage.abilities.common.SimpleStaticAbility;
+import mage.abilities.effects.common.continious.CantCastMoreThanOneSpellEffect;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+import mage.constants.TargetController;
+import mage.constants.Zone;
+
+/**
+ *
+ * @author dustinconrad
+ */
+public class ArcaneLaboratory extends CardImpl {
+
+    public ArcaneLaboratory(UUID ownerId) {
+        super(ownerId, 60, "Arcane Laboratory", Rarity.UNCOMMON, new CardType[]{CardType.ENCHANTMENT}, "{2}{U}");
+        this.expansionSetCode = "USG";
+
+        this.color.setBlue(true);
+
+        // Each player can't cast more than one spell each turn.
+        this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantCastMoreThanOneSpellEffect(TargetController.ANY)));
+    }
+
+    public ArcaneLaboratory(final ArcaneLaboratory card) {
+        super(card);
+    }
+
+    @Override
+    public ArcaneLaboratory copy() {
+        return new ArcaneLaboratory(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/urzassaga/Oppression.java b/Mage.Sets/src/mage/sets/urzassaga/Oppression.java
new file mode 100644
index 0000000000..21ccb305f0
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/urzassaga/Oppression.java
@@ -0,0 +1,98 @@
+/*
+ *  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.urzassaga;
+
+import java.util.UUID;
+
+import mage.abilities.Ability;
+import mage.abilities.TriggeredAbilityImpl;
+import mage.abilities.common.SpellCastAllTriggeredAbility;
+import mage.abilities.effects.common.discard.DiscardTargetEffect;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+import mage.constants.Zone;
+import mage.filter.FilterSpell;
+import mage.game.Game;
+import mage.game.events.GameEvent;
+import mage.game.stack.Spell;
+import mage.target.targetpointer.FixedTarget;
+
+/**
+ *
+ * @author dustinconrad
+ */
+public class Oppression extends CardImpl {
+
+    public Oppression(UUID ownerId) {
+        super(ownerId, 143, "Oppression", Rarity.RARE, new CardType[]{CardType.ENCHANTMENT}, "{1}{B}{B}");
+        this.expansionSetCode = "USG";
+
+        this.color.setBlack(true);
+
+        // Whenever a player casts a spell, that player discards a card.
+        this.addAbility(new OppressionTriggeredAbility());
+    }
+
+    public Oppression(final Oppression card) {
+        super(card);
+    }
+
+    @Override
+    public Oppression copy() {
+        return new Oppression(this);
+    }
+}
+
+class OppressionTriggeredAbility extends SpellCastAllTriggeredAbility {
+
+    public OppressionTriggeredAbility() {
+        super(new DiscardTargetEffect(1), false);
+    }
+
+    public OppressionTriggeredAbility(OppressionTriggeredAbility ability) {
+        super(ability);
+    }
+
+    @Override
+    public boolean checkTrigger(GameEvent event, Game game) {
+        if (event.getType() == GameEvent.EventType.SPELL_CAST) {
+            Spell spell = game.getStack().getSpell(event.getTargetId());
+            if (spell != null && filter.match(spell, getControllerId(), game)) {
+                this.getEffects().get(0).setTargetPointer(new FixedTarget(event.getPlayerId()));
+                return true;
+            }
+        }
+        return false;
+    }
+
+    @Override
+    public OppressionTriggeredAbility copy() {
+        return new OppressionTriggeredAbility(this);
+    }
+}
\ No newline at end of file