diff --git a/Mage.Sets/src/mage/sets/commander2015/CoilingOracle.java b/Mage.Sets/src/mage/sets/commander2015/CoilingOracle.java
new file mode 100644
index 0000000000..43d7eaa164
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/commander2015/CoilingOracle.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.commander2015;
+
+import java.util.UUID;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class CoilingOracle extends mage.sets.dissension.CoilingOracle {
+
+    public CoilingOracle(UUID ownerId) {
+        super(ownerId);
+        this.cardNumber = 213;
+        this.expansionSetCode = "C15";
+    }
+
+    public CoilingOracle(final CoilingOracle card) {
+        super(card);
+    }
+
+    @Override
+    public CoilingOracle copy() {
+        return new CoilingOracle(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/commander2015/Counterflux.java b/Mage.Sets/src/mage/sets/commander2015/Counterflux.java
new file mode 100644
index 0000000000..97bb07599d
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/commander2015/Counterflux.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.commander2015;
+
+import java.util.UUID;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class Counterflux extends mage.sets.returntoravnica.Counterflux {
+
+    public Counterflux(UUID ownerId) {
+        super(ownerId);
+        this.cardNumber = 214;
+        this.expansionSetCode = "C15";
+    }
+
+    public Counterflux(final Counterflux card) {
+        super(card);
+    }
+
+    @Override
+    public Counterflux copy() {
+        return new Counterflux(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/commander2015/DaxosTheReturned.java b/Mage.Sets/src/mage/sets/commander2015/DaxosTheReturned.java
new file mode 100644
index 0000000000..f090928210
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/commander2015/DaxosTheReturned.java
@@ -0,0 +1,147 @@
+/*
+ *  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.commander2015;
+
+import java.util.UUID;
+import mage.MageInt;
+import mage.MageObjectReference;
+import mage.abilities.Ability;
+import mage.abilities.common.SimpleActivatedAbility;
+import mage.abilities.common.SimpleStaticAbility;
+import mage.abilities.common.SpellCastControllerTriggeredAbility;
+import mage.abilities.costs.mana.ManaCostsImpl;
+import mage.abilities.effects.ContinuousEffectImpl;
+import mage.abilities.effects.Effect;
+import mage.abilities.effects.common.CreateTokenEffect;
+import mage.abilities.effects.common.counter.AddCountersControllerEffect;
+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.counters.CounterType;
+import mage.filter.FilterSpell;
+import mage.filter.predicate.mageobject.CardTypePredicate;
+import mage.game.Game;
+import mage.game.permanent.Permanent;
+import mage.game.permanent.token.Token;
+import mage.players.Player;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class DaxosTheReturned extends CardImpl {
+    
+    private static final FilterSpell filter = new FilterSpell("an enchantment spell");
+    static {
+        filter.add(new CardTypePredicate(CardType.ENCHANTMENT));
+    }
+
+    public DaxosTheReturned(UUID ownerId) {
+        super(ownerId, 43, "Daxos the Returned", Rarity.MYTHIC, new CardType[]{CardType.CREATURE}, "{1}{W}{B}");
+        this.expansionSetCode = "C15";
+        this.supertype.add("Legendary");
+        this.subtype.add("Zombie");
+        this.subtype.add("Soldier");
+        this.power = new MageInt(2);
+        this.toughness = new MageInt(2);
+
+        // Whenever you cast an enchantment spell, you get an experience counter.
+        Effect effect = new AddCountersControllerEffect(CounterType.EXPERIENCE.createInstance(1), false);
+        effect.setText("you get an experience counter");
+        Ability ability = new SpellCastControllerTriggeredAbility(effect, filter, false);
+        this.addAbility(ability);
+        
+        // {1}{W}{B}: Put a white and black Spirit enchantment creature token onto the battlefield. It has 
+        // "This creature's power and toughness are each equal to the number of experience counters you have."
+        this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new DaxosSpiritToken(), 1), new ManaCostsImpl("{1}{W}{B}")));        
+    }
+
+    public DaxosTheReturned(final DaxosTheReturned card) {
+        super(card);
+    }
+
+    @Override
+    public DaxosTheReturned copy() {
+        return new DaxosTheReturned(this);
+    }
+}
+
+
+class DaxosSpiritToken extends Token {
+    DaxosSpiritToken() {
+        super("Spirit", "white and black Spirit enchantment creature token with \"This creature's power and toughness are each equal to the number of experience counters you have.\"");
+        this.setOriginalExpansionSetCode("C15");
+        cardType.add(CardType.CREATURE);
+        cardType.add(CardType.ENCHANTMENT);
+        color.setWhite(true);
+        color.setBlack(true);
+        subtype.add("Spirit");
+        power = new MageInt(0);
+        toughness = new MageInt(0);
+        this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DaxosSpiritSetPTEffect()));
+    }
+}
+
+class DaxosSpiritSetPTEffect extends ContinuousEffectImpl {
+
+    public DaxosSpiritSetPTEffect() {
+        super(Duration.WhileOnBattlefield, Layer.PTChangingEffects_7, SubLayer.SetPT_7b, Outcome.BoostCreature);
+        staticText = "This creature's power and toughness are each equal to the number of experience counters you have";
+    }
+
+    public DaxosSpiritSetPTEffect(final DaxosSpiritSetPTEffect effect) {
+        super(effect);
+    }
+
+    @Override
+    public DaxosSpiritSetPTEffect copy() {
+        return new DaxosSpiritSetPTEffect(this);
+    }
+
+    @Override
+    public boolean apply(Game game, Ability source) {
+        Player controller = game.getPlayer(source.getControllerId());
+        if (controller != null) {
+            Permanent permanent = game.getPermanent(source.getSourceId());
+            if (permanent != null && new MageObjectReference(source.getSourceObject(game), game).refersTo(permanent, game)) {
+                int amount = controller.getCounters().getCount(CounterType.EXPERIENCE);
+                permanent.getPower().setValue(amount);
+                permanent.getToughness().setValue(amount);
+                return true;
+            } else {
+                discard();
+            }
+        }
+        return false;
+    }
+}
\ No newline at end of file
diff --git a/Mage.Sets/src/mage/sets/commander2015/DeathGrasp.java b/Mage.Sets/src/mage/sets/commander2015/DeathGrasp.java
new file mode 100644
index 0000000000..55f24816b8
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/commander2015/DeathGrasp.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.commander2015;
+
+import java.util.UUID;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class DeathGrasp extends mage.sets.apocalypse.DeathGrasp {
+
+    public DeathGrasp(UUID ownerId) {
+        super(ownerId);
+        this.cardNumber = 215;
+        this.expansionSetCode = "C15";
+    }
+
+    public DeathGrasp(final DeathGrasp card) {
+        super(card);
+    }
+
+    @Override
+    public DeathGrasp copy() {
+        return new DeathGrasp(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/commander2015/Gigantoplasm.java b/Mage.Sets/src/mage/sets/commander2015/Gigantoplasm.java
new file mode 100644
index 0000000000..b0cbf22133
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/commander2015/Gigantoplasm.java
@@ -0,0 +1,103 @@
+/*
+ *  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.commander2015;
+
+import java.util.UUID;
+import mage.MageInt;
+import mage.MageObject;
+import mage.abilities.Ability;
+import mage.abilities.common.EntersBattlefieldAbility;
+import mage.abilities.common.SimpleActivatedAbility;
+import mage.abilities.costs.mana.ManaCostsImpl;
+import mage.abilities.dynamicvalue.DynamicValue;
+import mage.abilities.dynamicvalue.common.ManacostVariableValue;
+import mage.abilities.effects.Effect;
+import mage.abilities.effects.common.CopyPermanentEffect;
+import mage.abilities.effects.common.continuous.SetPowerToughnessSourceEffect;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Duration;
+import mage.constants.Rarity;
+import mage.constants.Zone;
+import mage.filter.common.FilterCreaturePermanent;
+import mage.game.Game;
+import mage.game.permanent.Permanent;
+import mage.util.functions.ApplyToPermanent;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class Gigantoplasm extends CardImpl {
+
+    public Gigantoplasm(UUID ownerId) {
+        super(ownerId, 11, "Gigantoplasm", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{3}{U}");
+        this.expansionSetCode = "C15";
+        this.subtype.add("Shapeshifter");
+        this.power = new MageInt(0);
+        this.toughness = new MageInt(0);
+
+        // You may have Gigantoplasm enter the battlefield as a copy of any creature on the battlefield except it gains "{X}: This creature has base power and toughness X/X."
+        Effect effect = new CopyPermanentEffect(new FilterCreaturePermanent(), new GigantoplasmApplyToPermanent());
+        effect.setText("a copy of any creature on the battlefield except it gains \"{X}: This creature has base power and toughness X/X.\"");
+        this.addAbility(new EntersBattlefieldAbility(effect, true));
+    }
+
+    public Gigantoplasm(final Gigantoplasm card) {
+        super(card);
+    }
+
+    @Override
+    public Gigantoplasm copy() {
+        return new Gigantoplasm(this);
+    }
+}
+
+class GigantoplasmApplyToPermanent extends ApplyToPermanent {
+
+    @Override
+    public Boolean apply(Game game, Permanent permanent) {
+        DynamicValue variableMana = new ManacostVariableValue();
+        Effect effect = new SetPowerToughnessSourceEffect(variableMana, Duration.WhileOnBattlefield);
+        effect.setText("This creature has base power and toughness X/X");
+        Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,effect, new ManaCostsImpl("{X}"));
+        permanent.getAbilities().add(ability);
+        return true;
+    }
+
+    @Override
+    public Boolean apply(Game game, MageObject mageObject) {
+        DynamicValue variableMana = new ManacostVariableValue();
+        Effect effect = new SetPowerToughnessSourceEffect(variableMana, Duration.WhileOnBattlefield);
+        effect.setText("This creature has base power and toughness X/X");
+        Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD,effect, new ManaCostsImpl("{X}"));
+        mageObject.getAbilities().add(ability);
+        return true;
+    }
+
+}
\ No newline at end of file
diff --git a/Mage.Sets/src/mage/sets/commander2015/GiselaBladeOfGoldnight.java b/Mage.Sets/src/mage/sets/commander2015/GiselaBladeOfGoldnight.java
new file mode 100644
index 0000000000..4f76ad72e2
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/commander2015/GiselaBladeOfGoldnight.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.commander2015;
+
+import java.util.UUID;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class GiselaBladeOfGoldnight extends mage.sets.avacynrestored.GiselaBladeOfGoldnight {
+
+    public GiselaBladeOfGoldnight(UUID ownerId) {
+        super(ownerId);
+        this.cardNumber = 219;
+        this.expansionSetCode = "C15";
+    }
+
+    public GiselaBladeOfGoldnight(final GiselaBladeOfGoldnight card) {
+        super(card);
+    }
+
+    @Override
+    public GiselaBladeOfGoldnight copy() {
+        return new GiselaBladeOfGoldnight(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/commander2015/IllusoryAmbusher.java b/Mage.Sets/src/mage/sets/commander2015/IllusoryAmbusher.java
new file mode 100644
index 0000000000..78cd559b0d
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/commander2015/IllusoryAmbusher.java
@@ -0,0 +1,103 @@
+/*
+ *  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.commander2015;
+
+import java.util.UUID;
+import mage.MageInt;
+import mage.abilities.Ability;
+import mage.abilities.common.DealtDamageToSourceTriggeredAbility;
+import mage.abilities.effects.OneShotEffect;
+import mage.abilities.keyword.FlashAbility;
+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;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class IllusoryAmbusher extends CardImpl {
+
+    public IllusoryAmbusher(UUID ownerId) {
+        super(ownerId, 12, "Illusory Ambusher", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{4}{U}");
+        this.expansionSetCode = "C15";
+        this.subtype.add("Cat");
+        this.subtype.add("Illusion");
+        this.power = new MageInt(4);
+        this.toughness = new MageInt(1);
+
+        // Flash
+        this.addAbility(FlashAbility.getInstance());
+        
+        // Whenever Illusory Ambusher is dealt damage, draw that many cards.
+        this.addAbility(new DealtDamageToSourceTriggeredAbility(Zone.BATTLEFIELD, new IllusoryAmbusherDealtDamageEffect(), false));
+    }
+
+    public IllusoryAmbusher(final IllusoryAmbusher card) {
+        super(card);
+    }
+
+    @Override
+    public IllusoryAmbusher copy() {
+        return new IllusoryAmbusher(this);
+    }
+}
+
+class IllusoryAmbusherDealtDamageEffect extends OneShotEffect {
+
+    public IllusoryAmbusherDealtDamageEffect() {
+        super(Outcome.Damage);
+        this.staticText = "draw that many cards";
+    }
+
+    public IllusoryAmbusherDealtDamageEffect(final IllusoryAmbusherDealtDamageEffect effect) {
+        super(effect);
+    }
+
+    @Override
+    public IllusoryAmbusherDealtDamageEffect copy() {
+        return new IllusoryAmbusherDealtDamageEffect(this);
+    }
+
+    @Override
+    public boolean apply(Game game, Ability source) {
+        Player player = game.getPlayer(source.getControllerId());
+        if (player != null) {
+            int amount = (Integer) getValue("damage");
+            if (amount > 0) {
+                player.drawCards(amount, game);
+            }
+            return true;
+        }
+        return false;
+    }
+}
\ No newline at end of file
diff --git a/Mage.Sets/src/mage/sets/commander2015/KalemnesCaptain.java b/Mage.Sets/src/mage/sets/commander2015/KalemnesCaptain.java
new file mode 100644
index 0000000000..f6db27fa06
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/commander2015/KalemnesCaptain.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.commander2015;
+
+import java.util.UUID;
+import mage.MageInt;
+import mage.abilities.common.BecomesMonstrousSourceTriggeredAbility;
+import mage.abilities.effects.common.ExileAllEffect;
+import mage.abilities.keyword.MonstrosityAbility;
+import mage.abilities.keyword.VigilanceAbility;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+import mage.filter.FilterPermanent;
+import mage.filter.predicate.Predicates;
+import mage.filter.predicate.mageobject.CardTypePredicate;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class KalemnesCaptain extends CardImpl {
+    
+    private static final FilterPermanent filter = new FilterPermanent("artifacts and enchantments");
+
+    static {
+        filter.add(Predicates.or(
+                new CardTypePredicate(CardType.ARTIFACT),
+                new CardTypePredicate(CardType.ENCHANTMENT)));
+    }
+
+    public KalemnesCaptain(UUID ownerId) {
+        super(ownerId, 5, "Kalemne's Captain", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{3}{W}{W}");
+        this.expansionSetCode = "C15";
+        this.subtype.add("Giant");
+        this.subtype.add("Soldier");
+        this.power = new MageInt(5);
+        this.toughness = new MageInt(5);
+
+        // Vigilance
+        this.addAbility(VigilanceAbility.getInstance());
+        
+        // {5}{W}{W}: Monstrosity 3.
+        this.addAbility(new MonstrosityAbility("{5}{W}{W}", 3));
+        
+        // When Kalemne's Captain becomes monstrous, exile all artifacts and enchantments.
+        this.addAbility(new BecomesMonstrousSourceTriggeredAbility(new ExileAllEffect(filter)));
+    }
+
+    public KalemnesCaptain(final KalemnesCaptain card) {
+        super(card);
+    }
+
+    @Override
+    public KalemnesCaptain copy() {
+        return new KalemnesCaptain(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/commander2015/KasetoOrochiArchmage.java b/Mage.Sets/src/mage/sets/commander2015/KasetoOrochiArchmage.java
new file mode 100644
index 0000000000..02f9e11197
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/commander2015/KasetoOrochiArchmage.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.commander2015;
+
+import java.util.UUID;
+import mage.MageInt;
+import mage.abilities.Ability;
+import mage.abilities.common.SimpleActivatedAbility;
+import mage.abilities.costs.mana.ManaCostsImpl;
+import mage.abilities.effects.OneShotEffect;
+import mage.abilities.effects.common.combat.CantBeBlockedTargetEffect;
+import mage.abilities.effects.common.continuous.BoostTargetEffect;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Duration;
+import mage.constants.Outcome;
+import mage.constants.Rarity;
+import mage.constants.Zone;
+import mage.game.Game;
+import mage.game.permanent.Permanent;
+import mage.target.common.TargetCreaturePermanent;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class KasetoOrochiArchmage extends CardImpl {
+
+    public KasetoOrochiArchmage(UUID ownerId) {
+        super(ownerId, 47, "Kaseto, Orochi Archmage", Rarity.MYTHIC, new CardType[]{CardType.CREATURE}, "{1}{G}{U}");
+        this.expansionSetCode = "C15";
+        this.supertype.add("Legendary");
+        this.subtype.add("Snake");
+        this.subtype.add("Wizard");
+        this.power = new MageInt(2);
+        this.toughness = new MageInt(2);
+
+        // {G}{U}: Target creature can't be blocked this turn. If that creature is a Snake, it gets +2/+2 until end of turn.
+        Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new KasetoEffect(), new ManaCostsImpl<>("{G}{U}"));
+        ability.addTarget(new TargetCreaturePermanent());
+        this.addAbility(ability);
+    }
+
+    public KasetoOrochiArchmage(final KasetoOrochiArchmage card) {
+        super(card);
+    }
+
+    @Override
+    public KasetoOrochiArchmage copy() {
+        return new KasetoOrochiArchmage(this);
+    }
+}
+
+class KasetoEffect extends OneShotEffect {
+
+    public KasetoEffect() {
+        super(Outcome.BoostCreature);
+        staticText = "Target creature can't be blocked this turn. If that creature is a Snake, it gets +2/+2 until end of turn";
+    }
+
+    public KasetoEffect(final KasetoEffect effect) {
+        super(effect);
+    }
+
+    @Override
+    public KasetoEffect copy() {
+        return new KasetoEffect(this);
+    }
+
+    @Override
+    public boolean apply(Game game, Ability source) {
+        Permanent permanent = game.getPermanent(getTargetPointer().getFirst(game, source));
+        if (permanent != null) {
+            game.addEffect(new CantBeBlockedTargetEffect(Duration.EndOfTurn), source);
+            if (permanent.getSubtype().contains("Snake")) {
+                game.addEffect(new BoostTargetEffect(2,2,Duration.EndOfTurn), source);
+            }
+            return true;
+        }
+        return false;
+    }
+
+}
\ No newline at end of file
diff --git a/Mage.Sets/src/mage/sets/commander2015/MazirekKraulDeathPriest.java b/Mage.Sets/src/mage/sets/commander2015/MazirekKraulDeathPriest.java
new file mode 100644
index 0000000000..522f1c383f
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/commander2015/MazirekKraulDeathPriest.java
@@ -0,0 +1,109 @@
+/*
+ *  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.commander2015;
+
+import java.util.UUID;
+import mage.MageInt;
+import mage.MageObject;
+import mage.abilities.TriggeredAbilityImpl;
+import mage.abilities.effects.Effect;
+import mage.abilities.effects.common.counter.AddCountersAllEffect;
+import mage.abilities.keyword.FlyingAbility;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+import mage.constants.Zone;
+import mage.counters.CounterType;
+import mage.filter.common.FilterControlledCreaturePermanent;
+import mage.game.Game;
+import mage.game.events.GameEvent;
+import mage.game.events.GameEvent.EventType;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class MazirekKraulDeathPriest extends CardImpl {
+
+    public MazirekKraulDeathPriest(UUID ownerId) {
+        super(ownerId, 48, "Mazirek, Kraul Death Priest", Rarity.MYTHIC, new CardType[]{CardType.CREATURE}, "{3}{B}{G}");
+        this.expansionSetCode = "C15";
+        this.supertype.add("Legendary");
+        this.subtype.add("Insect");
+        this.subtype.add("Shaman");
+        this.power = new MageInt(2);
+        this.toughness = new MageInt(2);
+
+        // Flying
+        this.addAbility(FlyingAbility.getInstance());
+        
+        // Whenever a player sacrifices another permanent, put a +1/+1 counter on each creature you control.
+        this.addAbility(new PlayerSacrificesPermanentTriggeredAbility(new AddCountersAllEffect(CounterType.P1P1.createInstance(), new FilterControlledCreaturePermanent()), false));
+    }
+
+    public MazirekKraulDeathPriest(final MazirekKraulDeathPriest card) {
+        super(card);
+    }
+
+    @Override
+    public MazirekKraulDeathPriest copy() {
+        return new MazirekKraulDeathPriest(this);
+    }
+}
+
+class PlayerSacrificesPermanentTriggeredAbility extends TriggeredAbilityImpl {
+
+    public PlayerSacrificesPermanentTriggeredAbility(Effect effect, boolean optional) {
+        super(Zone.BATTLEFIELD, effect, optional);
+    }
+
+    public PlayerSacrificesPermanentTriggeredAbility(final PlayerSacrificesPermanentTriggeredAbility ability) {
+        super(ability);
+    }
+
+    @Override
+    public boolean checkEventType(GameEvent event, Game game) {
+        return event.getType() == EventType.SACRIFICED_PERMANENT;
+    }
+
+    @Override
+    public boolean checkTrigger(GameEvent event, Game game) {
+        MageObject mageObject = game.getLastKnownInformation(event.getTargetId(), Zone.BATTLEFIELD);
+        return mageObject != null && !event.getTargetId().equals(this.getSourceId());
+    }
+
+    @Override
+    public String getRule() {
+        return "Whenever a player sacrifices a permanent, " + super.getRule();
+    }
+
+    @Override
+    public PlayerSacrificesPermanentTriggeredAbility copy() {
+        return new PlayerSacrificesPermanentTriggeredAbility(this);
+    }
+}
\ No newline at end of file
diff --git a/Mage.Sets/src/mage/sets/commander2015/Scytheclaw.java b/Mage.Sets/src/mage/sets/commander2015/Scytheclaw.java
new file mode 100644
index 0000000000..33aff6d710
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/commander2015/Scytheclaw.java
@@ -0,0 +1,154 @@
+/*
+ *  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.commander2015;
+
+import java.util.UUID;
+import mage.abilities.Ability;
+import mage.abilities.TriggeredAbilityImpl;
+import mage.abilities.common.SimpleStaticAbility;
+import mage.abilities.costs.mana.GenericManaCost;
+import mage.abilities.effects.Effect;
+import mage.abilities.effects.OneShotEffect;
+import mage.abilities.effects.common.continuous.BoostEquippedEffect;
+import mage.abilities.keyword.EquipAbility;
+import mage.abilities.keyword.LivingWeaponAbility;
+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.game.events.DamagedPlayerEvent;
+import mage.game.events.GameEvent;
+import mage.game.events.GameEvent.EventType;
+import mage.game.permanent.Permanent;
+import mage.players.Player;
+import mage.target.targetpointer.FixedTarget;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class Scytheclaw extends CardImpl {
+
+    public Scytheclaw(UUID ownerId) {
+        super(ownerId, 53, "Scytheclaw", Rarity.RARE, new CardType[]{CardType.ARTIFACT}, "{5}");
+        this.expansionSetCode = "C15";
+        this.subtype.add("Equipment");
+
+        // Living weapon
+        this.addAbility(new LivingWeaponAbility());
+        
+        // Equipped creature gets +1/+1.
+        this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(1, 1)));
+        
+        // Whenever equipped creature deals combat damage to a player, that player loses half of his or her life, round up.
+        this.addAbility(new ScytheclawTriggeredAbility());
+        
+        // Equip {3}
+        this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(3)));
+    }
+
+    public Scytheclaw(final Scytheclaw card) {
+        super(card);
+    }
+
+    @Override
+    public Scytheclaw copy() {
+        return new Scytheclaw(this);
+    }
+}
+
+class ScytheclawTriggeredAbility extends TriggeredAbilityImpl {
+
+    public ScytheclawTriggeredAbility() {
+        super(Zone.BATTLEFIELD, new ScytheclawEffect());
+    }
+
+    public ScytheclawTriggeredAbility(final ScytheclawTriggeredAbility ability) {
+        super(ability);
+    }
+
+    @Override
+    public ScytheclawTriggeredAbility copy() {
+        return new ScytheclawTriggeredAbility(this);
+    }
+
+    @Override
+    public boolean checkEventType(GameEvent event, Game game) {
+        return event.getType() == EventType.DAMAGED_PLAYER;
+    }
+
+    @Override
+    public boolean checkTrigger(GameEvent event, Game game) {
+        DamagedPlayerEvent damageEvent = (DamagedPlayerEvent) event;
+        Permanent p = game.getPermanent(event.getSourceId());
+        if (damageEvent.isCombatDamage() && p != null && p.getAttachments().contains(this.getSourceId())) {
+            for (Effect effect : this.getEffects()) {
+                effect.setTargetPointer(new FixedTarget(event.getPlayerId()));
+            }
+            return true;
+        }
+        return false;
+    }
+
+    @Override
+    public String getRule() {
+        return "Whenever equipped creature deals combat damage to a player, " + super.getRule();
+    }
+}
+
+class ScytheclawEffect extends OneShotEffect {
+
+    public ScytheclawEffect() {
+        super(Outcome.Damage);
+        this.staticText = "that player loses half his or her life, rounded up";
+    }
+
+    public ScytheclawEffect(final ScytheclawEffect effect) {
+        super(effect);
+    }
+
+    @Override
+    public ScytheclawEffect copy() {
+        return new ScytheclawEffect(this);
+    }
+
+    @Override
+    public boolean apply(Game game, Ability source) {
+        Player player = game.getPlayer(getTargetPointer().getFirst(game, source));
+        if (player != null) {
+            Integer amount = (int) Math.ceil(player.getLife() / 2f);
+            if (amount > 0) {
+                player.loseLife(amount, game);
+            }
+            return true;
+        }
+        return false;
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/commander2015/SpiderSpawning.java b/Mage.Sets/src/mage/sets/commander2015/SpiderSpawning.java
new file mode 100644
index 0000000000..d91b5c51fe
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/commander2015/SpiderSpawning.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.commander2015;
+
+import java.util.UUID;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class SpiderSpawning extends mage.sets.innistrad.SpiderSpawning {
+
+    public SpiderSpawning(UUID ownerId) {
+        super(ownerId);
+        this.cardNumber = 202;
+        this.expansionSetCode = "C15";
+    }
+
+    public SpiderSpawning(final SpiderSpawning card) {
+        super(card);
+    }
+
+    @Override
+    public SpiderSpawning copy() {
+        return new SpiderSpawning(this);
+    }
+}
diff --git a/Utils/mtg-cards-data.txt b/Utils/mtg-cards-data.txt
index d1d7531390..88fdf29179 100644
--- a/Utils/mtg-cards-data.txt
+++ b/Utils/mtg-cards-data.txt
@@ -27631,17 +27631,32 @@ Swamp|Battle for Zendikar|262|L||Basic Land - Swamp|||<i>({t}: Add {B} to your m
 Swamp|Battle for Zendikar|264|L||Basic Land - Swamp|||<i>({t}: Add {B} to your mana pool.)</i>|
 Swamp|Battle for Zendikar|260|L||Basic Land - Swamp|||<i>({t}: Add {B} to your mana pool.)</i>|
 Swamp|Battle for Zendikar|261|L||Basic Land - Swamp|||<i>({t}: Add {B} to your mana pool.)</i>|
+Dawnbreak Reclaimer|Commander 2015|2|{4}{W}{W}|Creature - Angel|5|5|Flying$At the beginning of your end step, choose a creature card in an opponent's graveyard, then that player chooses a creature card in your graveyard. You may return those cards to the battlefield under their owners' control.|
 Kalemne's Captain|Commander 2015|5|R|{3}{W}{W}|Creature - Giant Soldier|5|5|Vigilance${5}{W}{W}: Monstrosity 3. <i>(If this creature isn't monstrous, put three +1/+1 counters on it and it becomes monstrous.)</i>$When Kalemne's Captain becomes monstrous, exile all artifacts and enchantments.|
+Viper's Brood|Commander 2015|10|U|{4}{U}|Creature - Snake|3|3|Myriad <i>(Whenever this creature attacks, for each opponent other than defending player, you may put a token that's a copy of this creature onto the battlefield tapped and attacking that player or a planeswalker he or she controls. Exile the tokens at end of combat.)</i>$Whenever Viper's Brood deals combat damage to a player, you may draw a card.|
 Gigantoplasm|Commander 2015|11|R|{3}{U}|Creature - Shapeshifter|0|0|You may have Gigantoplasm enter the battlefield as a copy of any creature on the battlefield except it gains "{X}: This creature has base power and toughness X/X."|
 Illusory Ambusher|Commander 2015|12|U|{4}{U}|Creature - Cat Illusion|4|1|Flash <i>(You may cast this spell any time you could cast an instant.)</i>$Whenever Illusory Ambusher is dealt damage, draw that many cards.|
-Banshee of the Dread Choir|16|U|{3}{B}{B}|Creature - Spirit|4|4|Myriad <i>(Whenever this creature attacks, for each opponent other than defending player, you may put a token that's a copy of this creature onto the battlefield tapped and attacking that player or a planeswalker he or she controls. Exile the tokens at end of combat.)</i>$Whenever Banshee of the Dread Choir deals combat damage to a player, that player discards a card.|
+Banshee of the Dread Choir|Commander 2015|16|U|{3}{B}{B}|Creature - Spirit|4|4|Myriad <i>(Whenever this creature attacks, for each opponent other than defending player, you may put a token that's a copy of this creature onto the battlefield tapped and attacking that player or a planeswalker he or she controls. Exile the tokens at end of combat.)</i>$Whenever Banshee of the Dread Choir deals combat damage to a player, that player discards a card.|
+Deadly Tempest|Commander 2015|19|R|{4}{B}{B}|Sorcery|||Destroy all creatures. Each player loses life equal to the number of creatures he or she controlled that were destroyed this way.|
+Awaken the Sky Tyrant|Commander 2015|24|R|{3}{R}|Enchantment|||When a source an oppponent controls deals damage to you, sacrifice Awaken the Sky Tyrant. If you do, put a 5/5 red Dragon creature token with flying onto the battlefield.|
+Dream Pillager|Commander 2015|25|R|{5}{R}{R}|Creature - Dragon|4|4|Flying$Whenever Dream Pillager deals combat damage to a player, exile that many cards from the top of your library. Until end of turn, you may play nonland cards exiled this way.|
 Fiery Confluence|Commander 2015|26|R|{2}{R}{R}|Sorcery|||Choose three. You may choose the same mode more than once. - Fiery Confluence deals 1 damage to each creature; Fiery Confluence deals 2 damage to each opponent; Destroy target artifact.|
+Vine Centaur|Commander 2015|33|R|{3}{G}|Creature - Centaur Plant|1|1|Trample$Vine Centaur enters the battlefield with a +1/+1 counter on it for each land in all graveyards.$Whenever a land is put into a graveyard from anywhere, you may pay {G}{G}. If you do, return Vine Centaur from your graveyard to the battlefield.|
+Ezuri's Predation|Commander 2015|36|{5}{G}{G}{G}|Sorcery|||For each creature your opponents control, put a 4/4 green Beast creature token onto the battlefield. Each of those Beasts fights a different one of those creatures.|
 Skullwinder|Commander 2015|39|U|{2}{G}|Creature - Snake|1|3|Deathtouch <i>(Any amount of damage this creature deals to a creature is enough to destroy it.)</i>$When Skullwinder enters the battlefield, return target card from your graveyard to your hand, then choose an opponent. That player returns a card from his or her graveyard to his or her hand.|
 Daxos the Returned|Commander 2015|43|M|{1}{W}{B}|Legendary Creature - Zombie Soldier|2|2|Whenever you cast an enchantment spell, you get an experience counter.${1}{W}{B}: Put a white and black Spirit enchantment creature token onto the battlefield. It has "This creature's power and toughness are each equal to the number of experience counters you have."|
+Ezuri, Claw of Progress|Commander 2015|44|M|{2}{G}{U}|Legendary Creature - Elf Warrior|3|3|Whenever a creature with power 2 or less enters the battlefield under your control, you get an experience counter.$At the beginning of combat on your turn, put X +1/+1 counters on another target creature you control, where X is the number of experience counters you have.|
 Kalemne, Disciple of Iroas|Commander 2015|45|M|{2}{R}{W}|Legendary Creature - Giant Soldier|3|3|Double strike, vigilance$Whenever you cast a creature spell with converted mana cost 5 or greater, you get an experience counter.$Kalemne, Disciple of Iroas gets +1/+1 for each experience counter you have.|
 Kaseto, Orochi Archmage|Commander 2015|47|M|{1}{G}{U}|Legendary Creature - Snake Wizard|2|2|{G}{U}: Target creature can't be blocked this turn. If that creature is a Snake, it gets +2/+2 until end of turn.|
 Mazirek, Kraul Death Priest|Commander 2015|48|M|{3}{B}{G}|Legendary Creature - Insect Shaman|2|2|Flying$Whenever a player sacrifices another permanent, put a +1/+1 counter on each creature you control.|
 Mizzix of the Izmagnus|Commander 2015|50|M|{2}{U}{R}|Legendary Creature - Goblin Wizard|2|2|Whenever you cast an instant or sorcery spell with converted mana cost greater than the number of experience counters you have, you get an experience counter.$Instant and sorcery spells you cast cost {1} less to cast for each experience counter you have.|
 Blade of Selves|Commander 2015|51|R|{2}|Artifact - Equipment|||Equipped creature has myriad. <i>(Whenever it attacks, for each opponent other than defending player, you may put a token that's a copy of that creature onto the battlefield tapped and attacking that player or a planeswalker he or she controls. Exile the tokens at end of combat.)</i>$Equip {4}|
+Sandstone Oracle|Commander 2015|52|U|{7}|Artifact Creature - Sphinx|4|4|Flying$When Sandstone Oracle enters the battlefield, choose an opponent. If that player has more cards in hand that you, draw cards equal to the difference.|
 Scytheclaw|Commander 2015|53|R|{5}|Artifact - Equipment|||Living weapon <i>(When this Equipment enter the battlefield, put a 0/0 black Germ creature token onto the battlefield, then attach this to it.)</i>$Equipped creature gets +1/+1.$Whenever equipped creature deals combat damage to a player, that player loses half of his or her life, round up.$Equip {3}|
-Eternal Witness|Commander 2015|183|U|{1}{G}{G}|Creature - Human Shaman|2|1|When Eternal Witness enters the battlefield, you may return target card from your graveyard to your hand.|
\ No newline at end of file
+Seal of the Guildpact|Commander 2015|R|{5}|Artifact|||As Seal of the Guildpact enters the battlefield, choose two colors.$Each spell you cast costs {1} less to cast for each of the chosen colors it is.|
+Eternal Witness|Commander 2015|183|U|{1}{G}{G}|Creature - Human Shaman|2|1|When Eternal Witness enters the battlefield, you may return target card from your graveyard to your hand.|
+Spider Spawning|Commander 2015|202|U|{4}{G}|Sorcery|||Put a 1/2 green Spider creature token with reach onto the battlefield for each creature card in your graveyard.$Flashback {6}{B} <i>(You may cast this card from your graveyard for its flashback cost. Then exile it.)</i>|
+Coiling Oracle|Commander 2015|213|C|{U}{G}|Creature - Snake Elf Druid|1|1|When Coiling Oracle enters the battlefield, reveal the top card of your library. If it's a land card, put it onto the battlefield. Otherwise, put that card into your hand.|
+Counterflux|Commander 2015|214|R|{U}{U}{R}|Instant|||Counterflux can't be countered by spells or abilities.$Counter target spell you don't control.$Overload {1}{U}{U}{R} <i>(You may cast this spell for its overload cost. If you do, change its text by replacing all instances of "target" with "each.")</i>|
+Death Grasp|Commander 2015|215|R|{X}{W}{B}|Sorcery|||Death Grasp deals X damage to target creature or player. You gain X life.|
+Gisela, Blade of Goldnight|Commander 2015|219|M|{4}{R}{W}{W}|Legendary Creature - Angel|5|5|Flying, first strike$If a source would deal damage to an opponent or a permanent an opponent controls, that source deals double that damage to that player or permanent instead.$If a source would deal damage to you or a permanent you control, prevent half that damage, rounded up.|
\ No newline at end of file