diff --git a/Mage.Server.Plugins/Mage.Deck.Constructed/src/mage/deck/DuelCommander.java b/Mage.Server.Plugins/Mage.Deck.Constructed/src/mage/deck/DuelCommander.java
index 2cad7819012..feb71b5e85a 100644
--- a/Mage.Server.Plugins/Mage.Deck.Constructed/src/mage/deck/DuelCommander.java
+++ b/Mage.Server.Plugins/Mage.Deck.Constructed/src/mage/deck/DuelCommander.java
@@ -64,6 +64,7 @@ public class DuelCommander extends Commander {
banned.add("Mox Pearl");
banned.add("Mox Ruby");
banned.add("Mox Sapphire");
+ banned.add("Mystical Tutor"); // banned effective July 17, 2015
banned.add("Natural Order");
banned.add("Necropotence");
banned.add("Oath of Druids");
diff --git a/Mage.Server.Plugins/Mage.Deck.Constructed/src/mage/deck/TinyLeaders.java b/Mage.Server.Plugins/Mage.Deck.Constructed/src/mage/deck/TinyLeaders.java
index 7144e68b5d8..7817d0be700 100644
--- a/Mage.Server.Plugins/Mage.Deck.Constructed/src/mage/deck/TinyLeaders.java
+++ b/Mage.Server.Plugins/Mage.Deck.Constructed/src/mage/deck/TinyLeaders.java
@@ -65,6 +65,7 @@ public class TinyLeaders extends DeckValidator {
banned.add("Edric, Spymaster of Trest");
banned.add("Fastbond");
banned.add("Goblin Recruiter");
+ banned.add("Grindstone"); // banned effective July 13, 2015
banned.add("Hermit Druid");
banned.add("Imperial Seal");
banned.add("Library of Alexandria");
@@ -81,7 +82,6 @@ public class TinyLeaders extends DeckValidator {
banned.add("Mox Ruby");
banned.add("Mox Sapphire");
banned.add("Necropotence");
- banned.add("Painter's Servant");
banned.add("Shahrazad");
banned.add("Skullclamp");
banned.add("Sol Ring");
diff --git a/Mage.Server.Plugins/Mage.Game.CommanderDuel/src/mage/game/CommanderDuelMatch.java b/Mage.Server.Plugins/Mage.Game.CommanderDuel/src/mage/game/CommanderDuelMatch.java
index b5f40072bc8..c20af5e9bf3 100644
--- a/Mage.Server.Plugins/Mage.Game.CommanderDuel/src/mage/game/CommanderDuelMatch.java
+++ b/Mage.Server.Plugins/Mage.Game.CommanderDuel/src/mage/game/CommanderDuelMatch.java
@@ -48,7 +48,7 @@ public class CommanderDuelMatch extends MatchImpl {
// Don't like it to compare but seems like it's complicated to do it in another way
if (options.getDeckType().equals("Variant Magic - Duel Commander")) {
startLife = 30;
- alsoHand = false;
+ alsoHand = true; // commander going to hand allowed to go to command zone effective July 17, 2015
}
CommanderDuel game = new CommanderDuel(options.getAttackOption(), options.getRange(), options.getFreeMulligans(), startLife);
game.setStartMessage(this.createGameStartMessage());
diff --git a/Mage.Server.Plugins/Mage.Game.CommanderFreeForAll/src/mage/game/CommanderFreeForAllMatch.java b/Mage.Server.Plugins/Mage.Game.CommanderFreeForAll/src/mage/game/CommanderFreeForAllMatch.java
index 1b23d078d99..998017e0613 100644
--- a/Mage.Server.Plugins/Mage.Game.CommanderFreeForAll/src/mage/game/CommanderFreeForAllMatch.java
+++ b/Mage.Server.Plugins/Mage.Game.CommanderFreeForAll/src/mage/game/CommanderFreeForAllMatch.java
@@ -1,60 +1,60 @@
-/*
- * 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.game;
-
-import mage.game.match.MatchImpl;
-import mage.game.match.MatchOptions;
-
-/**
- *
- * @author LevelX2
- */
-public class CommanderFreeForAllMatch extends MatchImpl {
-
- public CommanderFreeForAllMatch(MatchOptions options) {
- super(options);
- }
-
- @Override
- public void startGame() throws GameException {
- int startLife = 40;
- boolean alsoHand = true;
- if (options.getDeckType().equals("Variant Magic - Duel Commander")) {
- startLife = 30;
- alsoHand = false;
- }
- CommanderFreeForAll game = new CommanderFreeForAll(options.getAttackOption(), options.getRange(), options.getFreeMulligans(), startLife);
- game.setStartMessage(this.createGameStartMessage());
- game.setAlsoHand(alsoHand);
- game.setAlsoLibrary(true);
- initGame(game);
- games.add(game);
- }
-
-}
+/*
+ * 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.game;
+
+import mage.game.match.MatchImpl;
+import mage.game.match.MatchOptions;
+
+/**
+ *
+ * @author LevelX2
+ */
+public class CommanderFreeForAllMatch extends MatchImpl {
+
+ public CommanderFreeForAllMatch(MatchOptions options) {
+ super(options);
+ }
+
+ @Override
+ public void startGame() throws GameException {
+ int startLife = 40;
+ boolean alsoHand = true;
+ if (options.getDeckType().equals("Variant Magic - Duel Commander")) {
+ startLife = 30;
+ alsoHand = true; // commander going to hand allowed to go to command zone effective July 17, 2015
+ }
+ CommanderFreeForAll game = new CommanderFreeForAll(options.getAttackOption(), options.getRange(), options.getFreeMulligans(), startLife);
+ game.setStartMessage(this.createGameStartMessage());
+ game.setAlsoHand(alsoHand);
+ game.setAlsoLibrary(true);
+ initGame(game);
+ games.add(game);
+ }
+
+}
diff --git a/Mage.Sets/src/mage/sets/ftvangels/AkromaAngelOfFury.java b/Mage.Sets/src/mage/sets/ftvangels/AkromaAngelOfFury.java
new file mode 100644
index 00000000000..fef9a68257e
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/ftvangels/AkromaAngelOfFury.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.ftvangels;
+
+import java.util.UUID;
+import mage.constants.Rarity;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class AkromaAngelOfFury extends mage.sets.commander.AkromaAngelOfFury {
+
+ public AkromaAngelOfFury(UUID ownerId) {
+ super(ownerId);
+ this.cardNumber = 1;
+ this.expansionSetCode = "V15";
+ this.rarity = Rarity.MYTHIC;
+ }
+
+ public AkromaAngelOfFury(final AkromaAngelOfFury card) {
+ super(card);
+ }
+
+ @Override
+ public AkromaAngelOfFury copy() {
+ return new AkromaAngelOfFury(this);
+ }
+}
diff --git a/Mage.Sets/src/mage/sets/ftvangels/AkromaAngelOfWrath.java b/Mage.Sets/src/mage/sets/ftvangels/AkromaAngelOfWrath.java
new file mode 100644
index 00000000000..79849812f93
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/ftvangels/AkromaAngelOfWrath.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.ftvangels;
+
+import java.util.UUID;
+import mage.constants.Rarity;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class AkromaAngelOfWrath extends mage.sets.timeshifted.AkromaAngelOfWrath {
+
+ public AkromaAngelOfWrath(UUID ownerId) {
+ super(ownerId);
+ this.cardNumber = 2;
+ this.expansionSetCode = "V15";
+ this.rarity = Rarity.MYTHIC;
+ }
+
+ public AkromaAngelOfWrath(final AkromaAngelOfWrath card) {
+ super(card);
+ }
+
+ @Override
+ public AkromaAngelOfWrath copy() {
+ return new AkromaAngelOfWrath(this);
+ }
+}
diff --git a/Utils/mtg-cards-data.txt b/Utils/mtg-cards-data.txt
index b9bf4099936..c93b60b6a73 100644
--- a/Utils/mtg-cards-data.txt
+++ b/Utils/mtg-cards-data.txt
@@ -1,4 +1,4 @@
-Ardent Plea|Alara Reborn|1|U|{1}{W}{U}|Enchantment|||Exalted (Whenever a creature you control attacks alone, that creature gets +1/+1 until end of turn.)$Cascade (When you cast this spell, exile cards from the top of your library until you exile a nonland card that costs less. You may cast it without paying its mana cost. Put the exiled cards on the bottom in a random order.)|
+Ardent Plea|Alara Reborn|1|U|{1}{W}{U}|Enchantment|||Exalted (Whenever a creature you control attacks alone, that creature gets +1/+1 until end of turn.)$Cascade (When you cast this spell, exile cards from the top of your library until you exile a nonland card that costs less. You may cast it without paying its mana cost. Put the exiled cards on the bottom in a random order.)|
Aven Mimeomancer|Alara Reborn|2|R|{1}{W}{U}|Creature - Bird Wizard|3|1|Flying$At the beginning of your upkeep, you may put a feather counter on target creature. If you do, that creature is 3/1 and has flying for as long as it has a feather counter on it.|
Ethercaste Knight|Alara Reborn|3|C|{W}{U}|Artifact Creature - Human Knight|1|3|Exalted (Whenever a creature you control attacks alone, that creature gets +1/+1 until end of turn.)|
Ethersworn Shieldmage|Alara Reborn|4|C|{1}{W}{U}|Artifact Creature - Vedalken Wizard|2|2|Flash$When Ethersworn Shieldmage enters the battlefield, prevent all damage that would be dealt to artifact creatures this turn.|
@@ -27232,3 +27232,5 @@ Island|Premium Deck Series: Slivers|38|L||Basic Land - Island|||U|
Swamp|Premium Deck Series: Slivers|39|L||Basic Land - Swamp|||B|
Mountain|Premium Deck Series: Slivers|40|L||Basic Land - Mountain|||R|
Forest|Premium Deck Series: Slivers|41|L||Basic Land - Forest|||G|
+Akroma, Angel of Fury|From the Vault: Angels|1|M|{5}{R}{R}{R}|Legendary Creature - Angel|6|6|Akroma, Angel of Fury can't be countered.$Flying, trample, protection from white and from blue${R}: Akroma, Angel of Fury gets +1/+0 until end of turn.$Morph {3}{R}{R}{R} You may cast this card face downn as a 2/2 creature for {3}. Turn it face up any time for its morph cost.)|
+Akroma, Angel of Wrath|From the Vault: Angels|2|M|{5}{W}{W}{W}|Legendary Creature - Angel|6|6|Flying, first strike, vigilance, trample, haste, protection from black and from red|
\ No newline at end of file