From 4a9bbef535cf1ff9a01d2626618d2e224317a9b3 Mon Sep 17 00:00:00 2001
From: fireshoes <fireshoes@fireshoes-PC>
Date: Fri, 4 Dec 2015 01:18:46 -0600
Subject: [PATCH] Added some HML, FEM, and other cards.

---
 .../mage/sets/fallenempires/ConchHorn.java    | 112 ++++++++++++++++++
 .../sets/fallenempires/DraconianCylix.java    |  69 +++++++++++
 .../sets/fallenempires/HandOfJustice.java     |  52 ++++++++
 .../fallenempires/HomaridSpawningBed.java     |  91 ++++++++++++++
 .../sets/fallenempires/OrcishVeteran1.java    |  52 ++++++++
 .../sets/fallenempires/OrcishVeteran2.java    |  52 ++++++++
 .../sets/fallenempires/OrcishVeteran3.java    |  52 ++++++++
 .../sets/fallenempires/OrcishVeteran4.java    |  52 ++++++++
 .../sets/fallenempires/SvyelunitePriest.java  |  77 ++++++++++++
 .../sets/fifthedition/AnHavvaConstable.java   | 108 +++++++++++++++++
 Mage.Sets/src/mage/sets/homelands/Ambush.java |  63 ++++++++++
 .../mage/sets/homelands/AnHavvaConstable.java |  52 ++++++++
 .../src/mage/sets/homelands/AnHavvaInn.java   |  95 +++++++++++++++
 .../mage/sets/homelands/BlackCarriage.java    |  80 +++++++++++++
 .../src/mage/sets/homelands/DrudgeSpell.java  | 102 ++++++++++++++++
 .../src/mage/sets/homelands/Evaporate.java    |  69 +++++++++++
 .../src/mage/sets/homelands/IriniSengir.java  |  76 ++++++++++++
 .../src/mage/sets/homelands/KoskunFalls.java  |  82 +++++++++++++
 .../src/mage/sets/homelands/RootSpider.java   |  74 ++++++++++++
 .../src/mage/sets/homelands/SengirBats1.java  |  52 ++++++++
 .../src/mage/sets/homelands/SengirBats2.java  |  67 +++++++++++
 .../mage/sets/homelands/WillowPriestess.java  |  98 +++++++++++++++
 .../src/mage/sets/limitedalpha/Farmstead.java |  52 ++++++++
 .../src/mage/sets/limitedalpha/Lance.java     |  76 ++++++++++++
 .../src/mage/sets/limitedbeta/Farmstead.java  |  52 ++++++++
 .../src/mage/sets/limitedbeta/Lance.java      |  52 ++++++++
 .../sets/mastersedition/HandOfJustice.java    |  84 +++++++++++++
 .../mastersedition/HomaridSpawningBed.java    |  52 ++++++++
 .../sets/mastersedition/TivadarsCrusade.java  |  52 ++++++++
 .../sets/masterseditionii/OrcishVeteran.java  |  84 +++++++++++++
 .../sets/masterseditioniii/BoneFlute.java     |  66 +++++++++++
 .../sets/masterseditioniii/CoalGolem.java     |  70 +++++++++++
 .../masterseditioniii/WillowPriestess.java    |  54 +++++++++
 .../mage/sets/mercadianmasques/HighSeas.java  |  70 +++++++++++
 .../mage/sets/revisededition/Farmstead.java   |  52 ++++++++
 .../src/mage/sets/revisededition/Lance.java   |  52 ++++++++
 .../src/mage/sets/thedark/BoneFlute.java      |  54 +++++++++
 .../src/mage/sets/thedark/CoalGolem.java      |  54 +++++++++
 .../mage/sets/thedark/TivadarsCrusade.java    |  66 +++++++++++
 .../mage/sets/timespiral/GazeOfJustice.java   |  83 +++++++++++++
 .../mage/sets/unlimitededition/Farmstead.java |  86 ++++++++++++++
 .../src/mage/sets/unlimitededition/Lance.java |  52 ++++++++
 42 files changed, 2890 insertions(+)
 create mode 100644 Mage.Sets/src/mage/sets/fallenempires/ConchHorn.java
 create mode 100644 Mage.Sets/src/mage/sets/fallenempires/DraconianCylix.java
 create mode 100644 Mage.Sets/src/mage/sets/fallenempires/HandOfJustice.java
 create mode 100644 Mage.Sets/src/mage/sets/fallenempires/HomaridSpawningBed.java
 create mode 100644 Mage.Sets/src/mage/sets/fallenempires/OrcishVeteran1.java
 create mode 100644 Mage.Sets/src/mage/sets/fallenempires/OrcishVeteran2.java
 create mode 100644 Mage.Sets/src/mage/sets/fallenempires/OrcishVeteran3.java
 create mode 100644 Mage.Sets/src/mage/sets/fallenempires/OrcishVeteran4.java
 create mode 100644 Mage.Sets/src/mage/sets/fallenempires/SvyelunitePriest.java
 create mode 100644 Mage.Sets/src/mage/sets/fifthedition/AnHavvaConstable.java
 create mode 100644 Mage.Sets/src/mage/sets/homelands/Ambush.java
 create mode 100644 Mage.Sets/src/mage/sets/homelands/AnHavvaConstable.java
 create mode 100644 Mage.Sets/src/mage/sets/homelands/AnHavvaInn.java
 create mode 100644 Mage.Sets/src/mage/sets/homelands/BlackCarriage.java
 create mode 100644 Mage.Sets/src/mage/sets/homelands/DrudgeSpell.java
 create mode 100644 Mage.Sets/src/mage/sets/homelands/Evaporate.java
 create mode 100644 Mage.Sets/src/mage/sets/homelands/IriniSengir.java
 create mode 100644 Mage.Sets/src/mage/sets/homelands/KoskunFalls.java
 create mode 100644 Mage.Sets/src/mage/sets/homelands/RootSpider.java
 create mode 100644 Mage.Sets/src/mage/sets/homelands/SengirBats1.java
 create mode 100644 Mage.Sets/src/mage/sets/homelands/SengirBats2.java
 create mode 100644 Mage.Sets/src/mage/sets/homelands/WillowPriestess.java
 create mode 100644 Mage.Sets/src/mage/sets/limitedalpha/Farmstead.java
 create mode 100644 Mage.Sets/src/mage/sets/limitedalpha/Lance.java
 create mode 100644 Mage.Sets/src/mage/sets/limitedbeta/Farmstead.java
 create mode 100644 Mage.Sets/src/mage/sets/limitedbeta/Lance.java
 create mode 100644 Mage.Sets/src/mage/sets/mastersedition/HandOfJustice.java
 create mode 100644 Mage.Sets/src/mage/sets/mastersedition/HomaridSpawningBed.java
 create mode 100644 Mage.Sets/src/mage/sets/mastersedition/TivadarsCrusade.java
 create mode 100644 Mage.Sets/src/mage/sets/masterseditionii/OrcishVeteran.java
 create mode 100644 Mage.Sets/src/mage/sets/masterseditioniii/BoneFlute.java
 create mode 100644 Mage.Sets/src/mage/sets/masterseditioniii/CoalGolem.java
 create mode 100644 Mage.Sets/src/mage/sets/masterseditioniii/WillowPriestess.java
 create mode 100644 Mage.Sets/src/mage/sets/mercadianmasques/HighSeas.java
 create mode 100644 Mage.Sets/src/mage/sets/revisededition/Farmstead.java
 create mode 100644 Mage.Sets/src/mage/sets/revisededition/Lance.java
 create mode 100644 Mage.Sets/src/mage/sets/thedark/BoneFlute.java
 create mode 100644 Mage.Sets/src/mage/sets/thedark/CoalGolem.java
 create mode 100644 Mage.Sets/src/mage/sets/thedark/TivadarsCrusade.java
 create mode 100644 Mage.Sets/src/mage/sets/timespiral/GazeOfJustice.java
 create mode 100644 Mage.Sets/src/mage/sets/unlimitededition/Farmstead.java
 create mode 100644 Mage.Sets/src/mage/sets/unlimitededition/Lance.java

diff --git a/Mage.Sets/src/mage/sets/fallenempires/ConchHorn.java b/Mage.Sets/src/mage/sets/fallenempires/ConchHorn.java
new file mode 100644
index 0000000000..8ea3bb8d81
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/fallenempires/ConchHorn.java
@@ -0,0 +1,112 @@
+/*
+ *  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.fallenempires;
+
+import java.util.UUID;
+import mage.abilities.Ability;
+import mage.abilities.common.SimpleActivatedAbility;
+import mage.abilities.costs.common.SacrificeSourceCost;
+import mage.abilities.costs.common.TapSourceCost;
+import mage.abilities.costs.mana.GenericManaCost;
+import mage.abilities.effects.OneShotEffect;
+import mage.cards.Card;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Outcome;
+import mage.constants.Rarity;
+import mage.constants.Zone;
+import mage.game.Game;
+import mage.players.Player;
+import mage.target.common.TargetCardInHand;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class ConchHorn extends CardImpl {
+
+    public ConchHorn(UUID ownerId) {
+        super(ownerId, 168, "Conch Horn", Rarity.RARE, new CardType[]{CardType.ARTIFACT}, "{2}");
+        this.expansionSetCode = "FEM";
+
+        // {1}, {tap}, Sacrifice Conch Horn: Draw two cards, then put a card from your hand on top of your library.
+        Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ConchHornEffect(), new GenericManaCost(1));
+        ability.addCost(new TapSourceCost());
+        ability.addCost(new SacrificeSourceCost());
+        this.addAbility(ability);
+    }
+
+    public ConchHorn(final ConchHorn card) {
+        super(card);
+    }
+
+    @Override
+    public ConchHorn copy() {
+        return new ConchHorn(this);
+    }
+}
+
+class ConchHornEffect extends OneShotEffect {
+
+    public ConchHornEffect() {
+        super(Outcome.DrawCard);
+        staticText = "Draw two cards, then put a card from your hand on top of your library";
+    }
+
+    public ConchHornEffect(final ConchHornEffect effect) {
+        super(effect);
+    }
+
+    @Override
+    public ConchHornEffect copy() {
+        return new ConchHornEffect(this);
+    }
+
+    @Override
+    public boolean apply(Game game, Ability source) {
+        Player player = game.getPlayer(source.getControllerId());
+        if (player != null) {
+            player.drawCards(2, game);
+            putOnLibrary(player, source, game);
+            return true;
+        }
+        return false;
+    }
+
+    private boolean putOnLibrary(Player player, Ability source, Game game) {
+        TargetCardInHand target = new TargetCardInHand();
+        if (target.canChoose(source.getSourceId(), player.getId(), game)) {
+            player.chooseTarget(Outcome.ReturnToHand, target, source, game);
+            Card card = player.getHand().get(target.getFirstTarget(), game);
+            if (card != null) {
+                return player.moveCardToLibraryWithInfo(card, source.getSourceId(), game, Zone.HAND, true, false);
+            }
+        }
+        return false;
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/fallenempires/DraconianCylix.java b/Mage.Sets/src/mage/sets/fallenempires/DraconianCylix.java
new file mode 100644
index 0000000000..0a0c3a0fea
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/fallenempires/DraconianCylix.java
@@ -0,0 +1,69 @@
+/*
+ *  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.fallenempires;
+
+import java.util.UUID;
+import mage.abilities.Ability;
+import mage.abilities.common.SimpleActivatedAbility;
+import mage.abilities.costs.common.DiscardCardCost;
+import mage.abilities.costs.common.TapSourceCost;
+import mage.abilities.costs.mana.GenericManaCost;
+import mage.abilities.effects.common.RegenerateTargetEffect;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+import mage.constants.Zone;
+import mage.target.common.TargetCreaturePermanent;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class DraconianCylix extends CardImpl {
+
+    public DraconianCylix(UUID ownerId) {
+        super(ownerId, 171, "Draconian Cylix", Rarity.RARE, new CardType[]{CardType.ARTIFACT}, "{3}");
+        this.expansionSetCode = "FEM";
+
+        // {2}, {tap}, Discard a card at random: Regenerate target creature.
+        Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateTargetEffect(), new GenericManaCost(2));
+        ability.addCost(new TapSourceCost());
+        ability.addCost(new DiscardCardCost(true));
+        ability.addTarget(new TargetCreaturePermanent());
+        this.addAbility(ability);
+    }
+
+    public DraconianCylix(final DraconianCylix card) {
+        super(card);
+    }
+
+    @Override
+    public DraconianCylix copy() {
+        return new DraconianCylix(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/fallenempires/HandOfJustice.java b/Mage.Sets/src/mage/sets/fallenempires/HandOfJustice.java
new file mode 100644
index 0000000000..a5365457f2
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/fallenempires/HandOfJustice.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.fallenempires;
+
+import java.util.UUID;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class HandOfJustice extends mage.sets.mastersedition.HandOfJustice {
+
+    public HandOfJustice(UUID ownerId) {
+        super(ownerId);
+        this.cardNumber = 142;
+        this.expansionSetCode = "FEM";
+    }
+
+    public HandOfJustice(final HandOfJustice card) {
+        super(card);
+    }
+
+    @Override
+    public HandOfJustice copy() {
+        return new HandOfJustice(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/fallenempires/HomaridSpawningBed.java b/Mage.Sets/src/mage/sets/fallenempires/HomaridSpawningBed.java
new file mode 100644
index 0000000000..9fc07352c2
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/fallenempires/HomaridSpawningBed.java
@@ -0,0 +1,91 @@
+/*
+ *  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.fallenempires;
+
+import java.util.UUID;
+import mage.ObjectColor;
+import mage.abilities.Ability;
+import mage.abilities.common.SimpleActivatedAbility;
+import mage.abilities.costs.common.SacrificeTargetCost;
+import mage.abilities.costs.mana.ManaCostsImpl;
+import mage.abilities.dynamicvalue.common.SacrificeCostConvertedMana;
+import mage.abilities.effects.common.CreateTokenEffect;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+import mage.constants.Zone;
+import mage.filter.common.FilterControlledCreaturePermanent;
+import mage.filter.predicate.mageobject.ColorPredicate;
+import mage.game.permanent.token.Token;
+import mage.target.common.TargetControlledCreaturePermanent;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class HomaridSpawningBed extends CardImpl {
+    
+    private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("a blue creature");
+    
+    static {
+        filter.add(new ColorPredicate(ObjectColor.BLUE));
+    }
+
+    public HomaridSpawningBed(UUID ownerId) {
+        super(ownerId, 43, "Homarid Spawning Bed", Rarity.UNCOMMON, new CardType[]{CardType.ENCHANTMENT}, "{U}{U}");
+        this.expansionSetCode = "FEM";
+
+        // {1}{U}{U}, Sacrifice a blue creature: Put X 1/1 blue Camarid creature tokens onto the battlefield, where X is the sacrificed creature's converted mana cost.
+        Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new CamaridToken(), new SacrificeCostConvertedMana("creature")), 
+                new ManaCostsImpl("{1}{U}{U}"));
+        ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(filter)));
+        this.addAbility(ability);
+    }
+
+    public HomaridSpawningBed(final HomaridSpawningBed card) {
+        super(card);
+    }
+
+    @Override
+    public HomaridSpawningBed copy() {
+        return new HomaridSpawningBed(this);
+    }
+}
+
+class CamaridToken extends Token {
+
+    CamaridToken() {
+        super("Camarid", "1/1 blue Camarid creature tokens");
+        this.setOriginalExpansionSetCode("FEM");
+        this.getPower().initValue(1);
+        this.getToughness().initValue(1);
+        this.color.setBlue(true);
+        this.getSubtype().add("Camarid");
+        this.getCardType().add(CardType.CREATURE);
+    }
+}
\ No newline at end of file
diff --git a/Mage.Sets/src/mage/sets/fallenempires/OrcishVeteran1.java b/Mage.Sets/src/mage/sets/fallenempires/OrcishVeteran1.java
new file mode 100644
index 0000000000..7aeb359ee3
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/fallenempires/OrcishVeteran1.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.fallenempires;
+
+import java.util.UUID;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class OrcishVeteran1 extends mage.sets.masterseditionii.OrcishVeteran {
+
+    public OrcishVeteran1(UUID ownerId) {
+        super(ownerId);
+        this.cardNumber = 127;
+        this.expansionSetCode = "FEM";
+    }
+
+    public OrcishVeteran1(final OrcishVeteran1 card) {
+        super(card);
+    }
+
+    @Override
+    public OrcishVeteran1 copy() {
+        return new OrcishVeteran1(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/fallenempires/OrcishVeteran2.java b/Mage.Sets/src/mage/sets/fallenempires/OrcishVeteran2.java
new file mode 100644
index 0000000000..f3220d1c45
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/fallenempires/OrcishVeteran2.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.fallenempires;
+
+import java.util.UUID;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class OrcishVeteran2 extends mage.sets.masterseditionii.OrcishVeteran {
+
+    public OrcishVeteran2(UUID ownerId) {
+        super(ownerId);
+        this.cardNumber = 128;
+        this.expansionSetCode = "FEM";
+    }
+
+    public OrcishVeteran2(final OrcishVeteran2 card) {
+        super(card);
+    }
+
+    @Override
+    public OrcishVeteran2 copy() {
+        return new OrcishVeteran2(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/fallenempires/OrcishVeteran3.java b/Mage.Sets/src/mage/sets/fallenempires/OrcishVeteran3.java
new file mode 100644
index 0000000000..9acf5b5e29
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/fallenempires/OrcishVeteran3.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.fallenempires;
+
+import java.util.UUID;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class OrcishVeteran3 extends mage.sets.masterseditionii.OrcishVeteran {
+
+    public OrcishVeteran3(UUID ownerId) {
+        super(ownerId);
+        this.cardNumber = 129;
+        this.expansionSetCode = "FEM";
+    }
+
+    public OrcishVeteran3(final OrcishVeteran3 card) {
+        super(card);
+    }
+
+    @Override
+    public OrcishVeteran3 copy() {
+        return new OrcishVeteran3(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/fallenempires/OrcishVeteran4.java b/Mage.Sets/src/mage/sets/fallenempires/OrcishVeteran4.java
new file mode 100644
index 0000000000..b8aa762950
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/fallenempires/OrcishVeteran4.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.fallenempires;
+
+import java.util.UUID;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class OrcishVeteran4 extends mage.sets.masterseditionii.OrcishVeteran {
+
+    public OrcishVeteran4(UUID ownerId) {
+        super(ownerId);
+        this.cardNumber = 130;
+        this.expansionSetCode = "FEM";
+    }
+
+    public OrcishVeteran4(final OrcishVeteran4 card) {
+        super(card);
+    }
+
+    @Override
+    public OrcishVeteran4 copy() {
+        return new OrcishVeteran4(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/fallenempires/SvyelunitePriest.java b/Mage.Sets/src/mage/sets/fallenempires/SvyelunitePriest.java
new file mode 100644
index 0000000000..3034d1d4eb
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/fallenempires/SvyelunitePriest.java
@@ -0,0 +1,77 @@
+/*
+ *  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.fallenempires;
+
+import java.util.UUID;
+import mage.MageInt;
+import mage.abilities.Ability;
+import mage.abilities.condition.common.IsStepCondition;
+import mage.abilities.costs.common.TapSourceCost;
+import mage.abilities.costs.mana.ManaCostsImpl;
+import mage.abilities.decorator.ConditionalActivatedAbility;
+import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
+import mage.abilities.keyword.ShroudAbility;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Duration;
+import mage.constants.PhaseStep;
+import mage.constants.Rarity;
+import mage.constants.Zone;
+import mage.target.common.TargetCreaturePermanent;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class SvyelunitePriest extends CardImpl {
+
+    public SvyelunitePriest(UUID ownerId) {
+        super(ownerId, 53, "Svyelunite Priest", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{1}{U}");
+        this.expansionSetCode = "FEM";
+        this.subtype.add("Merfolk");
+        this.subtype.add("Cleric");
+        this.power = new MageInt(1);
+        this.toughness = new MageInt(1);
+
+        // {U}{U}, {tap}: Target creature gains shroud until end of turn. Activate this ability only during your upkeep.
+        Ability ability = new ConditionalActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(ShroudAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{U}{U}"), 
+                new IsStepCondition(PhaseStep.UPKEEP), null);
+        ability.addCost(new TapSourceCost());
+        ability.addTarget(new TargetCreaturePermanent());
+        this.addAbility(ability);
+    }
+
+    public SvyelunitePriest(final SvyelunitePriest card) {
+        super(card);
+    }
+
+    @Override
+    public SvyelunitePriest copy() {
+        return new SvyelunitePriest(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/fifthedition/AnHavvaConstable.java b/Mage.Sets/src/mage/sets/fifthedition/AnHavvaConstable.java
new file mode 100644
index 0000000000..99c5506c20
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/fifthedition/AnHavvaConstable.java
@@ -0,0 +1,108 @@
+/*
+ *  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.MageInt;
+import mage.MageObject;
+import mage.ObjectColor;
+import mage.abilities.Ability;
+import mage.abilities.common.SimpleStaticAbility;
+import mage.abilities.effects.ContinuousEffectImpl;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Duration;
+import mage.constants.Layer;
+import mage.constants.Outcome;
+import mage.constants.Rarity;
+import mage.constants.SubLayer;
+import mage.constants.Zone;
+import mage.filter.common.FilterCreaturePermanent;
+import mage.filter.predicate.mageobject.ColorPredicate;
+import mage.game.Game;
+import mage.players.Player;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class AnHavvaConstable extends CardImpl {
+
+    public AnHavvaConstable(UUID ownerId) {
+        super(ownerId, 139, "An-Havva Constable", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{1}{G}{G}");
+        this.expansionSetCode = "5ED";
+        this.subtype.add("Human");
+        this.power = new MageInt(2);
+        this.toughness = new MageInt(1);
+
+        // An-Havva Constable's toughness is equal to 1 plus the number of green creatures on the battlefield.
+        this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new AnHavvaConstableEffect()));
+    }
+
+    public AnHavvaConstable(final AnHavvaConstable card) {
+        super(card);
+    }
+
+    @Override
+    public AnHavvaConstable copy() {
+        return new AnHavvaConstable(this);
+    }
+}
+
+class AnHavvaConstableEffect extends ContinuousEffectImpl {
+
+    public AnHavvaConstableEffect() {
+        super(Duration.WhileOnBattlefield, Layer.PTChangingEffects_7, SubLayer.CharacteristicDefining_7a, Outcome.BoostCreature);
+        staticText = "{this}'s toughness is equal to 1 plus the number of green creatures on the battlefield";
+    }
+
+    public AnHavvaConstableEffect(final AnHavvaConstableEffect effect) {
+        super(effect);
+    }
+
+    @Override
+    public AnHavvaConstableEffect copy() {
+        return new AnHavvaConstableEffect(this);
+    }
+
+    @Override
+    public boolean apply(Game game, Ability source) {
+        Player controller = game.getPlayer(source.getControllerId());
+        if (controller != null) {
+            MageObject mageObject = game.getObject(source.getSourceId());
+            if (mageObject != null) {
+                FilterCreaturePermanent filter = new FilterCreaturePermanent("green creatures");
+                filter.add(new ColorPredicate(ObjectColor.GREEN));
+                int number = game.getBattlefield().count(filter, source.getSourceId(), source.getControllerId(), game);
+                mageObject.getToughness().setValue(number + 1);
+                return true;
+            }
+        }
+        return false;
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/homelands/Ambush.java b/Mage.Sets/src/mage/sets/homelands/Ambush.java
new file mode 100644
index 0000000000..f88b612063
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/homelands/Ambush.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.homelands;
+
+import java.util.UUID;
+import mage.abilities.effects.common.continuous.GainAbilityAllEffect;
+import mage.abilities.keyword.FirstStrikeAbility;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Duration;
+import mage.constants.Rarity;
+import mage.filter.common.FilterBlockingCreature;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class Ambush extends CardImpl {
+    
+    private static final FilterBlockingCreature filter = new FilterBlockingCreature("Blocking creatures");
+
+    public Ambush(UUID ownerId) {
+        super(ownerId, 78, "Ambush", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{3}{R}");
+        this.expansionSetCode = "HML";
+
+        // Blocking creatures gain first strike until end of turn.
+        this.getSpellAbility().addEffect(new GainAbilityAllEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn, filter, false));
+    }
+
+    public Ambush(final Ambush card) {
+        super(card);
+    }
+
+    @Override
+    public Ambush copy() {
+        return new Ambush(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/homelands/AnHavvaConstable.java b/Mage.Sets/src/mage/sets/homelands/AnHavvaConstable.java
new file mode 100644
index 0000000000..8f3aaa655e
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/homelands/AnHavvaConstable.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.homelands;
+
+import java.util.UUID;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class AnHavvaConstable extends mage.sets.fifthedition.AnHavvaConstable {
+
+    public AnHavvaConstable(UUID ownerId) {
+        super(ownerId);
+        this.cardNumber = 51;
+        this.expansionSetCode = "HML";
+    }
+
+    public AnHavvaConstable(final AnHavvaConstable card) {
+        super(card);
+    }
+
+    @Override
+    public AnHavvaConstable copy() {
+        return new AnHavvaConstable(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/homelands/AnHavvaInn.java b/Mage.Sets/src/mage/sets/homelands/AnHavvaInn.java
new file mode 100644
index 0000000000..ddd417783a
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/homelands/AnHavvaInn.java
@@ -0,0 +1,95 @@
+/*
+ *  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.homelands;
+
+import java.util.UUID;
+import mage.ObjectColor;
+import mage.abilities.Ability;
+import mage.abilities.effects.OneShotEffect;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Outcome;
+import mage.constants.Rarity;
+import mage.filter.common.FilterCreaturePermanent;
+import mage.filter.predicate.mageobject.ColorPredicate;
+import mage.game.Game;
+import mage.players.Player;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class AnHavvaInn extends CardImpl {
+
+    public AnHavvaInn(UUID ownerId) {
+        super(ownerId, 52, "An-Havva Inn", Rarity.UNCOMMON, new CardType[]{CardType.SORCERY}, "{1}{G}{G}");
+        this.expansionSetCode = "HML";
+
+        // You gain X plus 1 life, where X is the number of green creatures on the battlefield.
+        this.getSpellAbility().addEffect(new AnHavvaInnEffect());
+    }
+
+    public AnHavvaInn(final AnHavvaInn card) {
+        super(card);
+    }
+
+    @Override
+    public AnHavvaInn copy() {
+        return new AnHavvaInn(this);
+    }
+}
+
+class AnHavvaInnEffect extends OneShotEffect {
+
+    public AnHavvaInnEffect() {
+        super(Outcome.GainLife);
+        staticText = "You gain X plus 1 life, where X is the number of green creatures on the battlefield";
+    }
+
+    public AnHavvaInnEffect(final AnHavvaInnEffect effect) {
+        super(effect);
+    }
+
+    @Override
+    public AnHavvaInnEffect copy() {
+        return new AnHavvaInnEffect(this);
+    }
+
+    @Override
+    public boolean apply(Game game, Ability source) {
+        Player player = game.getPlayer(source.getControllerId());
+        if (player != null) {
+            FilterCreaturePermanent filter = new FilterCreaturePermanent("green creatures");
+            filter.add(new ColorPredicate(ObjectColor.GREEN));
+            int greenCreatures = game.getBattlefield().count(filter, source.getSourceId(), source.getControllerId(), game);
+            player.gainLife(greenCreatures+1, game);
+        }
+        return true;
+    }
+
+}
diff --git a/Mage.Sets/src/mage/sets/homelands/BlackCarriage.java b/Mage.Sets/src/mage/sets/homelands/BlackCarriage.java
new file mode 100644
index 0000000000..a4d24e4ff6
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/homelands/BlackCarriage.java
@@ -0,0 +1,80 @@
+/*
+ *  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.homelands;
+
+import java.util.UUID;
+import mage.MageInt;
+import mage.abilities.common.SimpleStaticAbility;
+import mage.abilities.condition.common.IsStepCondition;
+import mage.abilities.costs.common.SacrificeTargetCost;
+import mage.abilities.decorator.ConditionalActivatedAbility;
+import mage.abilities.effects.common.DontUntapInControllersUntapStepSourceEffect;
+import mage.abilities.effects.common.UntapSourceEffect;
+import mage.abilities.keyword.TrampleAbility;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.PhaseStep;
+import mage.constants.Rarity;
+import mage.constants.Zone;
+import mage.filter.common.FilterControlledCreaturePermanent;
+import mage.target.common.TargetControlledCreaturePermanent;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class BlackCarriage extends CardImpl {
+
+    public BlackCarriage(UUID ownerId) {
+        super(ownerId, 2, "Black Carriage", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{3}{B}{B}");
+        this.expansionSetCode = "HML";
+        this.subtype.add("Horse");
+        this.power = new MageInt(4);
+        this.toughness = new MageInt(4);
+
+        // Trample
+        this.addAbility(TrampleAbility.getInstance());
+        
+        // Black Carriage doesn't untap during your untap step.
+        this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapInControllersUntapStepSourceEffect()));
+        
+        // Sacrifice a creature: Untap Black Carriage. Activate this ability only during your upkeep.
+        this.addAbility(new ConditionalActivatedAbility(Zone.BATTLEFIELD, 
+                new UntapSourceEffect(), new SacrificeTargetCost(new TargetControlledCreaturePermanent(new FilterControlledCreaturePermanent("a creature"))),
+                new IsStepCondition(PhaseStep.UPKEEP), null));
+    }
+
+    public BlackCarriage(final BlackCarriage card) {
+        super(card);
+    }
+
+    @Override
+    public BlackCarriage copy() {
+        return new BlackCarriage(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/homelands/DrudgeSpell.java b/Mage.Sets/src/mage/sets/homelands/DrudgeSpell.java
new file mode 100644
index 0000000000..12b236a2a1
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/homelands/DrudgeSpell.java
@@ -0,0 +1,102 @@
+/*
+ *  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.homelands;
+
+import java.util.UUID;
+import mage.abilities.Ability;
+import mage.abilities.common.LeavesBattlefieldTriggeredAbility;
+import mage.abilities.common.SimpleActivatedAbility;
+import mage.abilities.costs.common.ExileFromGraveCost;
+import mage.abilities.costs.mana.ManaCostsImpl;
+import mage.abilities.effects.Effect;
+import mage.abilities.effects.common.CreateTokenEffect;
+import mage.abilities.effects.common.DestroyAllEffect;
+import mage.abilities.effects.common.RegenerateSourceEffect;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+import mage.constants.Zone;
+import mage.filter.FilterPermanent;
+import mage.filter.common.FilterCreatureCard;
+import mage.filter.predicate.mageobject.SubtypePredicate;
+import mage.filter.predicate.permanent.TokenPredicate;
+import mage.game.permanent.token.Token;
+import mage.target.common.TargetCardInYourGraveyard;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class DrudgeSpell extends CardImpl {
+    
+    private static final FilterPermanent filter = new FilterPermanent("Skeleton tokens");
+    
+    static {
+        filter.add(new SubtypePredicate("Skeleton"));
+        filter.add(new TokenPredicate());
+    }
+
+    public DrudgeSpell(UUID ownerId) {
+        super(ownerId, 6, "Drudge Spell", Rarity.UNCOMMON, new CardType[]{CardType.ENCHANTMENT}, "{B}{B}");
+        this.expansionSetCode = "HML";
+
+        // {B}, Exile two creature cards from your graveyard: Put a 1/1 black Skeleton creature token onto the battlefield. It has "{B}: Regenerate this creature."
+        Effect effect = new CreateTokenEffect(new SkeletonToken());
+        effect.setText("Put a 1/1 black Skeleton creature token onto the battlefield. It has \"{B}: Regenerate this creature.\"");
+        Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{B}"));
+        ability.addCost(new ExileFromGraveCost(new TargetCardInYourGraveyard(2, 2, new FilterCreatureCard("creature cards from your graveyard"))));
+        this.addAbility(ability);
+        
+        // When Drudge Spell leaves the battlefield, destroy all Skeleton tokens. They can't be regenerated.
+        this.addAbility(new LeavesBattlefieldTriggeredAbility(new DestroyAllEffect(filter, true), false));
+    }
+
+    public DrudgeSpell(final DrudgeSpell card) {
+        super(card);
+    }
+
+    @Override
+    public DrudgeSpell copy() {
+        return new DrudgeSpell(this);
+    }
+}
+
+class SkeletonToken extends Token {
+
+    SkeletonToken() {
+        super("Skeleton", "1/1 black Skeleton creature token onto the battlefield. It has \"{B}: Regenerate this creature.\"");
+        this.setOriginalExpansionSetCode("HML");
+        this.getPower().initValue(1);
+        this.getToughness().initValue(1);
+        this.color.setBlack(true);
+        this.getSubtype().add("Skeleton");
+        this.getCardType().add(CardType.CREATURE);
+        
+        this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{B}")));
+    }
+}
\ No newline at end of file
diff --git a/Mage.Sets/src/mage/sets/homelands/Evaporate.java b/Mage.Sets/src/mage/sets/homelands/Evaporate.java
new file mode 100644
index 0000000000..4347187623
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/homelands/Evaporate.java
@@ -0,0 +1,69 @@
+/*
+ *  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.homelands;
+
+import java.util.UUID;
+import mage.ObjectColor;
+import mage.abilities.effects.common.DamageAllEffect;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+import mage.filter.common.FilterCreaturePermanent;
+import mage.filter.predicate.Predicates;
+import mage.filter.predicate.mageobject.ColorPredicate;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class Evaporate extends CardImpl {
+    
+    private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("white and/or blue creature");
+    
+    static {
+        filter.add(Predicates.or(new ColorPredicate(ObjectColor.WHITE),
+                    new ColorPredicate(ObjectColor.BLUE)));
+    }
+
+    public Evaporate(UUID ownerId) {
+        super(ownerId, 94, "Evaporate", Rarity.UNCOMMON, new CardType[]{CardType.SORCERY}, "{2}{R}");
+        this.expansionSetCode = "HML";
+
+        // Evaporate deals 1 damage to each white and/or blue creature.
+        this.getSpellAbility().addEffect(new DamageAllEffect(1, filter));
+    }
+
+    public Evaporate(final Evaporate card) {
+        super(card);
+    }
+
+    @Override
+    public Evaporate copy() {
+        return new Evaporate(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/homelands/IriniSengir.java b/Mage.Sets/src/mage/sets/homelands/IriniSengir.java
new file mode 100644
index 0000000000..9e424237c8
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/homelands/IriniSengir.java
@@ -0,0 +1,76 @@
+/*
+ *  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.homelands;
+
+import java.util.UUID;
+import mage.MageInt;
+import mage.ObjectColor;
+import mage.abilities.common.SimpleStaticAbility;
+import mage.abilities.effects.common.cost.SpellsCostIncreasementAllEffect;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+import mage.constants.Zone;
+import mage.filter.common.FilterEnchantmentCard;
+import mage.filter.predicate.Predicates;
+import mage.filter.predicate.mageobject.ColorPredicate;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class IriniSengir extends CardImpl {
+    
+    private static final FilterEnchantmentCard filter = new FilterEnchantmentCard("Green enchantment spells and white enchantment spells");
+    static {
+        filter.add(Predicates.or(new ColorPredicate(ObjectColor.GREEN),
+                (new ColorPredicate(ObjectColor.WHITE))));
+    }
+
+    public IriniSengir(UUID ownerId) {
+        super(ownerId, 17, "Irini Sengir", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{2}{B}{B}");
+        this.expansionSetCode = "HML";
+        this.supertype.add("Legendary");
+        this.subtype.add("Vampire");
+        this.subtype.add("Dwarf");
+        this.power = new MageInt(2);
+        this.toughness = new MageInt(2);
+
+        // Green enchantment spells and white enchantment spells cost {2} more to cast.
+        this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SpellsCostIncreasementAllEffect(filter, 2)));
+    }
+
+    public IriniSengir(final IriniSengir card) {
+        super(card);
+    }
+
+    @Override
+    public IriniSengir copy() {
+        return new IriniSengir(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/homelands/KoskunFalls.java b/Mage.Sets/src/mage/sets/homelands/KoskunFalls.java
new file mode 100644
index 0000000000..a756d347eb
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/homelands/KoskunFalls.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.homelands;
+
+import java.util.UUID;
+import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
+import mage.abilities.common.SimpleStaticAbility;
+import mage.abilities.costs.common.TapTargetCost;
+import mage.abilities.costs.mana.ManaCostsImpl;
+import mage.abilities.effects.Effect;
+import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect;
+import mage.abilities.effects.common.combat.CantAttackYouUnlessPayManaAllEffect;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+import mage.constants.TargetController;
+import mage.constants.Zone;
+import mage.filter.common.FilterControlledCreaturePermanent;
+import mage.filter.predicate.Predicates;
+import mage.filter.predicate.permanent.TappedPredicate;
+import mage.target.common.TargetControlledCreaturePermanent;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class KoskunFalls extends CardImpl {
+    
+    private static final FilterControlledCreaturePermanent filterCreature = new FilterControlledCreaturePermanent("untapped creature you control");
+    
+    static {
+        filterCreature.add(Predicates.not(new TappedPredicate()));
+    }
+
+    public KoskunFalls(UUID ownerId) {
+        super(ownerId, 18, "Koskun Falls", Rarity.RARE, new CardType[]{CardType.ENCHANTMENT}, "{2}{B}{B}");
+        this.expansionSetCode = "HML";
+        this.supertype.add("World");
+
+        // At the beginning of your upkeep, sacrifice Koskun Falls unless you tap an untapped creature you control.
+        Effect effect = new SacrificeSourceUnlessPaysEffect(new TapTargetCost(new TargetControlledCreaturePermanent(1, 1, filterCreature, true)));
+        effect.setText("sacrifice Koskun Falls unless you tap an untapped creature you control");
+        this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, effect, TargetController.YOU, false));
+        
+        // Creatures can't attack you unless their controller pays {2} for each creature he or she controls that's attacking you.
+        this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantAttackYouUnlessPayManaAllEffect(new ManaCostsImpl("{2}"))));
+    }
+
+    public KoskunFalls(final KoskunFalls card) {
+        super(card);
+    }
+
+    @Override
+    public KoskunFalls copy() {
+        return new KoskunFalls(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/homelands/RootSpider.java b/Mage.Sets/src/mage/sets/homelands/RootSpider.java
new file mode 100644
index 0000000000..c845c0bf2d
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/homelands/RootSpider.java
@@ -0,0 +1,74 @@
+/*
+ *  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.homelands;
+
+import java.util.UUID;
+import mage.MageInt;
+import mage.abilities.Ability;
+import mage.abilities.common.BlocksTriggeredAbility;
+import mage.abilities.effects.Effect;
+import mage.abilities.effects.common.continuous.BoostSourceEffect;
+import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
+import mage.abilities.keyword.FirstStrikeAbility;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Duration;
+import mage.constants.Rarity;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class RootSpider extends CardImpl {
+
+    public RootSpider(UUID ownerId) {
+        super(ownerId, 67, "Root Spider", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{3}{G}");
+        this.expansionSetCode = "HML";
+        this.subtype.add("Spider");
+        this.power = new MageInt(2);
+        this.toughness = new MageInt(2);
+
+        // Whenever Root Spider blocks, it gets +1/+0 and gains first strike until end of turn.
+        Effect effect = new BoostSourceEffect(1, 0, Duration.EndOfTurn);
+        effect.setText("it gets +1/+0");
+        Effect effect2 = new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn);
+        effect2.setText("and gains first strike until end of turn");
+        Ability ability = new BlocksTriggeredAbility(effect, false);
+        ability.addEffect(effect2);
+        this.addAbility(ability);
+    }
+
+    public RootSpider(final RootSpider card) {
+        super(card);
+    }
+
+    @Override
+    public RootSpider copy() {
+        return new RootSpider(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/homelands/SengirBats1.java b/Mage.Sets/src/mage/sets/homelands/SengirBats1.java
new file mode 100644
index 0000000000..fe62e67dab
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/homelands/SengirBats1.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.homelands;
+
+import java.util.UUID;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class SengirBats1 extends mage.sets.homelands.SengirBats2 {
+
+    public SengirBats1(UUID ownerId) {
+        super(ownerId);
+        this.cardNumber = 20;
+        this.expansionSetCode = "HML";
+    }
+
+    public SengirBats1(final SengirBats1 card) {
+        super(card);
+    }
+
+    @Override
+    public SengirBats1 copy() {
+        return new SengirBats1(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/homelands/SengirBats2.java b/Mage.Sets/src/mage/sets/homelands/SengirBats2.java
new file mode 100644
index 0000000000..5838f0086e
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/homelands/SengirBats2.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.homelands;
+
+import java.util.UUID;
+import mage.MageInt;
+import mage.abilities.common.DiesAndDealtDamageThisTurnTriggeredAbility;
+import mage.abilities.effects.common.counter.AddCountersSourceEffect;
+import mage.abilities.keyword.FlyingAbility;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+import mage.counters.CounterType;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class SengirBats2 extends CardImpl {
+
+    public SengirBats2(UUID ownerId) {
+        super(ownerId, 21, "Sengir Bats", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{1}{B}{B}");
+        this.expansionSetCode = "HML";
+        this.subtype.add("Bat");
+        this.power = new MageInt(1);
+        this.toughness = new MageInt(2);
+
+        // Flying
+        this.addAbility(FlyingAbility.getInstance());
+        // Whenever a creature dealt damage by Sengir Bats this turn dies, put a +1/+1 counter on Sengir Bats.
+        this.addAbility(new DiesAndDealtDamageThisTurnTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()), false));
+    }
+
+    public SengirBats2(final SengirBats2 card) {
+        super(card);
+    }
+
+    @Override
+    public SengirBats2 copy() {
+        return new SengirBats2(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/homelands/WillowPriestess.java b/Mage.Sets/src/mage/sets/homelands/WillowPriestess.java
new file mode 100644
index 0000000000..9830ebc9e6
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/homelands/WillowPriestess.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.homelands;
+
+import java.util.UUID;
+import mage.MageInt;
+import mage.ObjectColor;
+import mage.abilities.Ability;
+import mage.abilities.common.SimpleActivatedAbility;
+import mage.abilities.costs.common.TapSourceCost;
+import mage.abilities.costs.mana.ManaCostsImpl;
+import mage.abilities.effects.common.PutPermanentOnBattlefieldEffect;
+import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
+import mage.abilities.keyword.ProtectionAbility;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Duration;
+import mage.constants.Rarity;
+import mage.constants.Zone;
+import mage.filter.FilterCard;
+import mage.filter.common.FilterCreaturePermanent;
+import mage.filter.common.FilterPermanentCard;
+import mage.filter.predicate.mageobject.ColorPredicate;
+import mage.filter.predicate.mageobject.SubtypePredicate;
+import mage.target.Target;
+import mage.target.TargetPermanent;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class WillowPriestess extends CardImpl {
+    
+    private static final FilterPermanentCard filter = new FilterPermanentCard("Faerie");
+    private static final FilterCreaturePermanent greenCreature = new FilterCreaturePermanent("green creature");
+    private static final FilterCard protectionFilter = new FilterCard("black");
+
+    static {
+        filter.add(new SubtypePredicate("Faerie"));
+        greenCreature.add(new ColorPredicate(ObjectColor.GREEN));
+        protectionFilter.add(new ColorPredicate(ObjectColor.BLACK));
+    }
+
+    public WillowPriestess(UUID ownerId) {
+        super(ownerId, 75, "Willow Priestess", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{2}{G}{G}");
+        this.expansionSetCode = "HML";
+        this.subtype.add("Faerie");
+        this.subtype.add("Druid");
+        this.power = new MageInt(2);
+        this.toughness = new MageInt(2);
+
+        // {T}: You may put a Faerie permanent card from your hand onto the battlefield.
+        this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
+                new PutPermanentOnBattlefieldEffect(filter),
+                new TapSourceCost()));
+        
+        // {2}{G}: Target green creature gains protection from black until end of turn.
+        Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,
+                new GainAbilityTargetEffect(new ProtectionAbility(protectionFilter), Duration.EndOfTurn), new ManaCostsImpl("{2}{G}"));
+        Target target = new TargetPermanent(greenCreature);
+        ability.addTarget(target);
+        this.addAbility(ability);
+    }
+
+    public WillowPriestess(final WillowPriestess card) {
+        super(card);
+    }
+
+    @Override
+    public WillowPriestess copy() {
+        return new WillowPriestess(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/limitedalpha/Farmstead.java b/Mage.Sets/src/mage/sets/limitedalpha/Farmstead.java
new file mode 100644
index 0000000000..cfeafba036
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/limitedalpha/Farmstead.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.limitedalpha;
+
+import java.util.UUID;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class Farmstead extends mage.sets.unlimitededition.Farmstead {
+
+    public Farmstead(UUID ownerId) {
+        super(ownerId);
+        this.cardNumber = 203;
+        this.expansionSetCode = "LEA";
+    }
+
+    public Farmstead(final Farmstead card) {
+        super(card);
+    }
+
+    @Override
+    public Farmstead copy() {
+        return new Farmstead(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/limitedalpha/Lance.java b/Mage.Sets/src/mage/sets/limitedalpha/Lance.java
new file mode 100644
index 0000000000..f4cdd3e965
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/limitedalpha/Lance.java
@@ -0,0 +1,76 @@
+/*
+ *  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.abilities.Ability;
+import mage.abilities.common.SimpleStaticAbility;
+import mage.abilities.effects.common.AttachEffect;
+import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect;
+import mage.abilities.keyword.EnchantAbility;
+import mage.abilities.keyword.FirstStrikeAbility;
+import mage.cards.CardImpl;
+import mage.constants.AttachmentType;
+import mage.constants.CardType;
+import mage.constants.Outcome;
+import mage.constants.Rarity;
+import mage.constants.Zone;
+import mage.target.TargetPermanent;
+import mage.target.common.TargetCreaturePermanent;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class Lance extends CardImpl {
+
+    public Lance(UUID ownerId) {
+        super(ownerId, 211, "Lance", Rarity.UNCOMMON, new CardType[]{CardType.ENCHANTMENT}, "{W}");
+        this.expansionSetCode = "LEA";
+        this.subtype.add("Aura");
+
+        // Enchant creature
+        TargetPermanent auraTarget = new TargetCreaturePermanent();
+        this.getSpellAbility().addTarget(auraTarget);
+        this.getSpellAbility().addEffect(new AttachEffect(Outcome.AddAbility));
+        Ability ability = new EnchantAbility(auraTarget.getTargetName());
+        this.addAbility(ability);
+        
+        // Enchanted creature has first strike.
+        this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(FirstStrikeAbility.getInstance(), AttachmentType.AURA)));
+    }
+
+    public Lance(final Lance card) {
+        super(card);
+    }
+
+    @Override
+    public Lance copy() {
+        return new Lance(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/limitedbeta/Farmstead.java b/Mage.Sets/src/mage/sets/limitedbeta/Farmstead.java
new file mode 100644
index 0000000000..a947b6b8de
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/limitedbeta/Farmstead.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.limitedbeta;
+
+import java.util.UUID;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class Farmstead extends mage.sets.unlimitededition.Farmstead {
+
+    public Farmstead(UUID ownerId) {
+        super(ownerId);
+        this.cardNumber = 205;
+        this.expansionSetCode = "LEB";
+    }
+
+    public Farmstead(final Farmstead card) {
+        super(card);
+    }
+
+    @Override
+    public Farmstead copy() {
+        return new Farmstead(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/limitedbeta/Lance.java b/Mage.Sets/src/mage/sets/limitedbeta/Lance.java
new file mode 100644
index 0000000000..d2a1faeea9
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/limitedbeta/Lance.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.limitedbeta;
+
+import java.util.UUID;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class Lance extends mage.sets.limitedalpha.Lance {
+
+    public Lance(UUID ownerId) {
+        super(ownerId);
+        this.cardNumber = 213;
+        this.expansionSetCode = "LEB";
+    }
+
+    public Lance(final Lance card) {
+        super(card);
+    }
+
+    @Override
+    public Lance copy() {
+        return new Lance(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/mastersedition/HandOfJustice.java b/Mage.Sets/src/mage/sets/mastersedition/HandOfJustice.java
new file mode 100644
index 0000000000..23e63ab468
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/mastersedition/HandOfJustice.java
@@ -0,0 +1,84 @@
+/*
+ *  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.mastersedition;
+
+import java.util.UUID;
+import mage.MageInt;
+import mage.ObjectColor;
+import mage.abilities.Ability;
+import mage.abilities.common.SimpleActivatedAbility;
+import mage.abilities.costs.common.TapSourceCost;
+import mage.abilities.costs.common.TapTargetCost;
+import mage.abilities.effects.common.DestroyTargetEffect;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+import mage.constants.Zone;
+import mage.filter.common.FilterControlledCreaturePermanent;
+import mage.filter.predicate.Predicates;
+import mage.filter.predicate.mageobject.ColorPredicate;
+import mage.filter.predicate.permanent.TappedPredicate;
+import mage.target.common.TargetControlledCreaturePermanent;
+import mage.target.common.TargetCreaturePermanent;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class HandOfJustice extends CardImpl {
+    
+    private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped white creatures you control");
+
+    static {
+        filter.add(new ColorPredicate(ObjectColor.WHITE));
+        filter.add(Predicates.not(new TappedPredicate()));
+    }
+
+    public HandOfJustice(UUID ownerId) {
+        super(ownerId, 15, "Hand of Justice", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{5}{W}");
+        this.expansionSetCode = "MED";
+        this.subtype.add("Avatar");
+        this.power = new MageInt(2);
+        this.toughness = new MageInt(6);
+
+        // {tap}, Tap three untapped white creatures you control: Destroy target creature.
+        Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new TapSourceCost());
+        ability.addCost(new TapTargetCost(new TargetControlledCreaturePermanent(3, 3, filter, true)));
+        ability.addTarget(new TargetCreaturePermanent());
+        this.addAbility(ability);
+    }
+
+    public HandOfJustice(final HandOfJustice card) {
+        super(card);
+    }
+
+    @Override
+    public HandOfJustice copy() {
+        return new HandOfJustice(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/mastersedition/HomaridSpawningBed.java b/Mage.Sets/src/mage/sets/mastersedition/HomaridSpawningBed.java
new file mode 100644
index 0000000000..5728fb36e1
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/mastersedition/HomaridSpawningBed.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.mastersedition;
+
+import java.util.UUID;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class HomaridSpawningBed extends mage.sets.fallenempires.HomaridSpawningBed {
+
+    public HomaridSpawningBed(UUID ownerId) {
+        super(ownerId);
+        this.cardNumber = 36;
+        this.expansionSetCode = "MED";
+    }
+
+    public HomaridSpawningBed(final HomaridSpawningBed card) {
+        super(card);
+    }
+
+    @Override
+    public HomaridSpawningBed copy() {
+        return new HomaridSpawningBed(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/mastersedition/TivadarsCrusade.java b/Mage.Sets/src/mage/sets/mastersedition/TivadarsCrusade.java
new file mode 100644
index 0000000000..77e48bdfab
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/mastersedition/TivadarsCrusade.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.mastersedition;
+
+import java.util.UUID;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class TivadarsCrusade extends mage.sets.thedark.TivadarsCrusade {
+
+    public TivadarsCrusade(UUID ownerId) {
+        super(ownerId);
+        this.cardNumber = 28;
+        this.expansionSetCode = "MED";
+    }
+
+    public TivadarsCrusade(final TivadarsCrusade card) {
+        super(card);
+    }
+
+    @Override
+    public TivadarsCrusade copy() {
+        return new TivadarsCrusade(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/masterseditionii/OrcishVeteran.java b/Mage.Sets/src/mage/sets/masterseditionii/OrcishVeteran.java
new file mode 100644
index 0000000000..21b7471191
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/masterseditionii/OrcishVeteran.java
@@ -0,0 +1,84 @@
+/*
+ *  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.masterseditionii;
+
+import java.util.UUID;
+import mage.MageInt;
+import mage.ObjectColor;
+import mage.abilities.common.SimpleActivatedAbility;
+import mage.abilities.common.SimpleStaticAbility;
+import mage.abilities.costs.mana.ManaCostsImpl;
+import mage.abilities.effects.common.combat.CantBlockCreaturesSourceEffect;
+import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
+import mage.abilities.keyword.FirstStrikeAbility;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Duration;
+import mage.constants.Rarity;
+import mage.constants.Zone;
+import mage.filter.Filter;
+import mage.filter.common.FilterCreaturePermanent;
+import mage.filter.predicate.mageobject.ColorPredicate;
+import mage.filter.predicate.mageobject.PowerPredicate;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class OrcishVeteran extends CardImpl {
+    
+    private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("white creatures with power 2 or greater");
+    
+    static {
+        filter.add(new ColorPredicate(ObjectColor.WHITE));
+        filter.add(new PowerPredicate(Filter.ComparisonType.GreaterThan, 1));
+    }
+
+    public OrcishVeteran(UUID ownerId) {
+        super(ownerId, 144, "Orcish Veteran", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{2}{R}");
+        this.expansionSetCode = "ME2";
+        this.subtype.add("Orc");
+        this.power = new MageInt(2);
+        this.toughness = new MageInt(2);
+
+        // Orcish Veteran can't block white creatures with power 2 or greater.
+        this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantBlockCreaturesSourceEffect(filter)));
+        
+        // {R}: Orcish Veteran gains first strike until end of turn.
+        this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{R}")));
+    }
+
+    public OrcishVeteran(final OrcishVeteran card) {
+        super(card);
+    }
+
+    @Override
+    public OrcishVeteran copy() {
+        return new OrcishVeteran(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/masterseditioniii/BoneFlute.java b/Mage.Sets/src/mage/sets/masterseditioniii/BoneFlute.java
new file mode 100644
index 0000000000..00fad778ca
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/masterseditioniii/BoneFlute.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.masterseditioniii;
+
+import java.util.UUID;
+import mage.abilities.Ability;
+import mage.abilities.common.SimpleActivatedAbility;
+import mage.abilities.costs.common.TapSourceCost;
+import mage.abilities.costs.mana.GenericManaCost;
+import mage.abilities.effects.common.continuous.BoostAllEffect;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Duration;
+import mage.constants.Rarity;
+import mage.constants.Zone;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class BoneFlute extends CardImpl {
+
+    public BoneFlute(UUID ownerId) {
+        super(ownerId, 192, "Bone Flute", Rarity.COMMON, new CardType[]{CardType.ARTIFACT}, "{3}");
+        this.expansionSetCode = "ME3";
+
+        // {2}, {tap}: All creatures get -1/-0 until end of turn.
+        Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostAllEffect(-1, -0, Duration.EndOfTurn), new GenericManaCost(2));
+        ability.addCost(new TapSourceCost());
+        this.addAbility(ability);
+    }
+
+    public BoneFlute(final BoneFlute card) {
+        super(card);
+    }
+
+    @Override
+    public BoneFlute copy() {
+        return new BoneFlute(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/masterseditioniii/CoalGolem.java b/Mage.Sets/src/mage/sets/masterseditioniii/CoalGolem.java
new file mode 100644
index 0000000000..f6b7b75345
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/masterseditioniii/CoalGolem.java
@@ -0,0 +1,70 @@
+/*
+ *  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.masterseditioniii;
+
+import java.util.UUID;
+import mage.MageInt;
+import mage.Mana;
+import mage.abilities.Ability;
+import mage.abilities.common.SimpleActivatedAbility;
+import mage.abilities.costs.common.SacrificeSourceCost;
+import mage.abilities.costs.mana.GenericManaCost;
+import mage.abilities.effects.common.BasicManaEffect;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+import mage.constants.Zone;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class CoalGolem extends CardImpl {
+
+    public CoalGolem(UUID ownerId) {
+        super(ownerId, 193, "Coal Golem", Rarity.COMMON, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{5}");
+        this.expansionSetCode = "ME3";
+        this.subtype.add("Golem");
+        this.power = new MageInt(3);
+        this.toughness = new MageInt(3);
+
+        // {3}, Sacrifice Coal Golem: Add {R}{R}{R} to your mana pool.
+        Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BasicManaEffect(Mana.RedMana(3)),new GenericManaCost(3));
+        ability.addCost(new SacrificeSourceCost());
+        this.addAbility(ability);
+    }
+
+    public CoalGolem(final CoalGolem card) {
+        super(card);
+    }
+
+    @Override
+    public CoalGolem copy() {
+        return new CoalGolem(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/masterseditioniii/WillowPriestess.java b/Mage.Sets/src/mage/sets/masterseditioniii/WillowPriestess.java
new file mode 100644
index 0000000000..3a48c9c48d
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/masterseditioniii/WillowPriestess.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.masterseditioniii;
+
+import java.util.UUID;
+import mage.constants.Rarity;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class WillowPriestess extends mage.sets.homelands.WillowPriestess {
+
+    public WillowPriestess(UUID ownerId) {
+        super(ownerId);
+        this.cardNumber = 138;
+        this.expansionSetCode = "ME3";
+        this.rarity = Rarity.UNCOMMON;
+    }
+
+    public WillowPriestess(final WillowPriestess card) {
+        super(card);
+    }
+
+    @Override
+    public WillowPriestess copy() {
+        return new WillowPriestess(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/mercadianmasques/HighSeas.java b/Mage.Sets/src/mage/sets/mercadianmasques/HighSeas.java
new file mode 100644
index 0000000000..fba2d2cc06
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/mercadianmasques/HighSeas.java
@@ -0,0 +1,70 @@
+/*
+ *  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.ObjectColor;
+import mage.abilities.common.SimpleStaticAbility;
+import mage.abilities.effects.common.cost.SpellsCostIncreasementAllEffect;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+import mage.constants.Zone;
+import mage.filter.common.FilterCreatureCard;
+import mage.filter.predicate.Predicates;
+import mage.filter.predicate.mageobject.ColorPredicate;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class HighSeas extends CardImpl {
+    
+    private static final FilterCreatureCard filter = new FilterCreatureCard("Red creature spells and green creature spells");
+    static {
+        filter.add(Predicates.or(new ColorPredicate(ObjectColor.RED),
+                (new ColorPredicate(ObjectColor.GREEN))));
+    }
+
+    public HighSeas(UUID ownerId) {
+        super(ownerId, 83, "High Seas", Rarity.UNCOMMON, new CardType[]{CardType.ENCHANTMENT}, "{2}{U}");
+        this.expansionSetCode = "MMQ";
+
+        // Red creature spells and green creature spells cost {1} more to cast.
+        this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SpellsCostIncreasementAllEffect(filter, 1)));
+    }
+
+    public HighSeas(final HighSeas card) {
+        super(card);
+    }
+
+    @Override
+    public HighSeas copy() {
+        return new HighSeas(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/revisededition/Farmstead.java b/Mage.Sets/src/mage/sets/revisededition/Farmstead.java
new file mode 100644
index 0000000000..ef9ba665e4
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/revisededition/Farmstead.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.revisededition;
+
+import java.util.UUID;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class Farmstead extends mage.sets.unlimitededition.Farmstead {
+
+    public Farmstead(UUID ownerId) {
+        super(ownerId);
+        this.cardNumber = 203;
+        this.expansionSetCode = "3ED";
+    }
+
+    public Farmstead(final Farmstead card) {
+        super(card);
+    }
+
+    @Override
+    public Farmstead copy() {
+        return new Farmstead(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/revisededition/Lance.java b/Mage.Sets/src/mage/sets/revisededition/Lance.java
new file mode 100644
index 0000000000..d318c8a6ff
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/revisededition/Lance.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.revisededition;
+
+import java.util.UUID;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class Lance extends mage.sets.limitedalpha.Lance {
+
+    public Lance(UUID ownerId) {
+        super(ownerId);
+        this.cardNumber = 187;
+        this.expansionSetCode = "3ED";
+    }
+
+    public Lance(final Lance card) {
+        super(card);
+    }
+
+    @Override
+    public Lance copy() {
+        return new Lance(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/thedark/BoneFlute.java b/Mage.Sets/src/mage/sets/thedark/BoneFlute.java
new file mode 100644
index 0000000000..95e29040fb
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/thedark/BoneFlute.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.thedark;
+
+import java.util.UUID;
+import mage.constants.Rarity;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class BoneFlute extends mage.sets.masterseditioniii.BoneFlute {
+
+    public BoneFlute(UUID ownerId) {
+        super(ownerId);
+        this.cardNumber = 94;
+        this.expansionSetCode = "DRK";
+        this.rarity = Rarity.UNCOMMON;
+    }
+
+    public BoneFlute(final BoneFlute card) {
+        super(card);
+    }
+
+    @Override
+    public BoneFlute copy() {
+        return new BoneFlute(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/thedark/CoalGolem.java b/Mage.Sets/src/mage/sets/thedark/CoalGolem.java
new file mode 100644
index 0000000000..373694dd00
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/thedark/CoalGolem.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.thedark;
+
+import java.util.UUID;
+import mage.constants.Rarity;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class CoalGolem extends mage.sets.masterseditioniii.CoalGolem {
+
+    public CoalGolem(UUID ownerId) {
+        super(ownerId);
+        this.cardNumber = 96;
+        this.expansionSetCode = "DRK";
+        this.rarity = Rarity.UNCOMMON;
+    }
+
+    public CoalGolem(final CoalGolem card) {
+        super(card);
+    }
+
+    @Override
+    public CoalGolem copy() {
+        return new CoalGolem(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/thedark/TivadarsCrusade.java b/Mage.Sets/src/mage/sets/thedark/TivadarsCrusade.java
new file mode 100644
index 0000000000..72bf1dc6e4
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/thedark/TivadarsCrusade.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.thedark;
+
+import java.util.UUID;
+import mage.abilities.effects.common.DestroyAllEffect;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+import mage.filter.FilterPermanent;
+import mage.filter.predicate.mageobject.SubtypePredicate;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class TivadarsCrusade extends CardImpl {
+    
+    private static final FilterPermanent filter = new FilterPermanent("Goblins");
+    
+    static {
+        filter.add(new SubtypePredicate("Goblin"));
+    }
+
+    public TivadarsCrusade(UUID ownerId) {
+        super(ownerId, 91, "Tivadar's Crusade", Rarity.UNCOMMON, new CardType[]{CardType.SORCERY}, "{1}{W}{W}");
+        this.expansionSetCode = "DRK";
+
+        // Destroy all Goblins.
+        this.getSpellAbility().addEffect(new DestroyAllEffect(filter));
+    }
+
+    public TivadarsCrusade(final TivadarsCrusade card) {
+        super(card);
+    }
+
+    @Override
+    public TivadarsCrusade copy() {
+        return new TivadarsCrusade(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/timespiral/GazeOfJustice.java b/Mage.Sets/src/mage/sets/timespiral/GazeOfJustice.java
new file mode 100644
index 0000000000..c7fc86b5c3
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/timespiral/GazeOfJustice.java
@@ -0,0 +1,83 @@
+/*
+ *  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.ObjectColor;
+import mage.abilities.costs.common.TapTargetCost;
+import mage.abilities.costs.mana.ManaCostsImpl;
+import mage.abilities.effects.common.ExileTargetEffect;
+import mage.abilities.keyword.FlashbackAbility;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+import mage.constants.TimingRule;
+import mage.filter.common.FilterControlledCreaturePermanent;
+import mage.filter.predicate.Predicates;
+import mage.filter.predicate.mageobject.ColorPredicate;
+import mage.filter.predicate.permanent.TappedPredicate;
+import mage.target.common.TargetControlledCreaturePermanent;
+import mage.target.common.TargetCreaturePermanent;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class GazeOfJustice extends CardImpl {
+    
+    private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped white creatures you control");
+
+    static {
+        filter.add(new ColorPredicate(ObjectColor.WHITE));
+        filter.add(Predicates.not(new TappedPredicate()));
+    }
+
+    public GazeOfJustice(UUID ownerId) {
+        super(ownerId, 20, "Gaze of Justice", Rarity.COMMON, new CardType[]{CardType.SORCERY}, "{W}");
+        this.expansionSetCode = "TSP";
+
+        // As an additional cost to cast Gaze of Justice, tap three untapped white creatures you control.
+        this.getSpellAbility().addCost(new TapTargetCost(new TargetControlledCreaturePermanent(3, 3, filter, true)));
+        
+        // Exile target creature.
+        this.getSpellAbility().addEffect(new ExileTargetEffect());
+        this.getSpellAbility().addTarget(new TargetCreaturePermanent());
+        
+        // Flashback {5}{W}
+        this.addAbility(new FlashbackAbility(new ManaCostsImpl("{5}{W}"), TimingRule.SORCERY));
+    }
+
+    public GazeOfJustice(final GazeOfJustice card) {
+        super(card);
+    }
+
+    @Override
+    public GazeOfJustice copy() {
+        return new GazeOfJustice(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/unlimitededition/Farmstead.java b/Mage.Sets/src/mage/sets/unlimitededition/Farmstead.java
new file mode 100644
index 0000000000..4d98a54fe7
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/unlimitededition/Farmstead.java
@@ -0,0 +1,86 @@
+/*
+ *  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.abilities.Ability;
+import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
+import mage.abilities.common.SimpleStaticAbility;
+import mage.abilities.costs.mana.ManaCostsImpl;
+import mage.abilities.effects.Effect;
+import mage.abilities.effects.common.AttachEffect;
+import mage.abilities.effects.common.DoIfCostPaid;
+import mage.abilities.effects.common.GainLifeEffect;
+import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect;
+import mage.abilities.keyword.EnchantAbility;
+import mage.cards.CardImpl;
+import mage.constants.AttachmentType;
+import mage.constants.CardType;
+import mage.constants.Outcome;
+import mage.constants.Rarity;
+import mage.constants.TargetController;
+import mage.constants.Zone;
+import mage.target.TargetPermanent;
+import mage.target.common.TargetLandPermanent;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class Farmstead extends CardImpl {
+
+    public Farmstead(UUID ownerId) {
+        super(ownerId, 204, "Farmstead", Rarity.RARE, new CardType[]{CardType.ENCHANTMENT}, "{W}{W}{W}");
+        this.expansionSetCode = "2ED";
+        this.subtype.add("Aura");
+
+        // Enchant land
+        TargetPermanent auraTarget = new TargetLandPermanent();
+        this.getSpellAbility().addTarget(auraTarget);
+        this.getSpellAbility().addEffect(new AttachEffect(Outcome.Benefit));
+        Ability ability = new EnchantAbility(auraTarget.getTargetName());
+        this.addAbility(ability);
+        
+        // Enchanted land has "At the beginning of your upkeep, you may pay {W}{W}. If you do, you gain 1 life."
+        ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD,
+                new DoIfCostPaid(new GainLifeEffect(1), new ManaCostsImpl("{W}{W}")),
+                TargetController.YOU, true);
+        Effect effect = new GainAbilityAttachedEffect(ability, AttachmentType.AURA);
+        effect.setText("Enchanted artifact has \"At the beginning of your upkeep, you may pay {W}{W}. If you do, you gain 1 life.\"");
+        this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
+    }
+
+    public Farmstead(final Farmstead card) {
+        super(card);
+    }
+
+    @Override
+    public Farmstead copy() {
+        return new Farmstead(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/unlimitededition/Lance.java b/Mage.Sets/src/mage/sets/unlimitededition/Lance.java
new file mode 100644
index 0000000000..da6cf8e812
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/unlimitededition/Lance.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.unlimitededition;
+
+import java.util.UUID;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class Lance extends mage.sets.limitedalpha.Lance {
+
+    public Lance(UUID ownerId) {
+        super(ownerId);
+        this.cardNumber = 187;
+        this.expansionSetCode = "2ED";
+    }
+
+    public Lance(final Lance card) {
+        super(card);
+    }
+
+    @Override
+    public Lance copy() {
+        return new Lance(this);
+    }
+}