diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/mana/NykthosShrineToNyxTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/mana/NykthosShrineToNyxTest.java index 2c1a5acd33c..792b0c9678e 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/mana/NykthosShrineToNyxTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/mana/NykthosShrineToNyxTest.java @@ -89,5 +89,35 @@ public class NykthosShrineToNyxTest extends CardTestPlayerBase { Assert.assertEquals("amount of green mana", 10, playerA.getManaPool().getGreen()); // 6G - 2G = 4G + 6G = 10G assertPowerToughness(playerA, "Omnath, Locus of Mana", 11,11); } + /* + Use Nykthos together with Kruphix, God of Horizons to save mana as colorless mana + */ + + @Test + public void testDoubleUseWithKruphix() { + addCard(Zone.BATTLEFIELD, playerA, "Island", 2); // to use Nykthos + addCard(Zone.BATTLEFIELD, playerA, "Nykthos, Shrine to Nyx", 1); + // Kiora's Follower {G}{U} + // Creature - Merfolk + // {T}: Untap another target permanent. + addCard(Zone.BATTLEFIELD, playerA, "Kiora's Follower"); // 1 G devotion + addCard(Zone.BATTLEFIELD, playerA, "Kalonian Tusker", 2); // 4 G devotion + // Kruphix, God of Horizons {3}{G}{U} + // If unused mana would empty from your mana pool, that mana becomes colorless instead. + addCard(Zone.BATTLEFIELD, playerA, "Kruphix, God of Horizons", 1); // 1 G devotion + activateManaAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{2},{T}: Choose a color. Add to your mana pool an amount of mana of that color equal to your devotion to that color. (Your devotion to a color is the number of mana symbols of that color in the mana costs of permanents you control.)."); + setChoice(playerA, "Green"); + + activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{T}: Untap another target permanent.","Nykthos, Shrine to Nyx"); + + activateManaAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "{2},{T}: Choose a color. Add to your mana pool an amount of mana of that color equal to your devotion to that color. (Your devotion to a color is the number of mana symbols of that color in the mana costs of permanents you control.)."); + setChoice(playerA, "Green"); + + setStopAt(1, PhaseStep.BEGIN_COMBAT); + execute(); + + Assert.assertEquals("amount of colorless mana", 10, playerA.getManaPool().getColorless()); // 6 - 2 (2.Activation) = 4 + 6 = 10 colorless mana + assertPowerToughness(playerA, "Kruphix, God of Horizons", 4,7); + } } diff --git a/Mage/src/mage/constants/ManaType.java b/Mage/src/mage/constants/ManaType.java index 16d79386b56..f5a5c2cd35e 100644 --- a/Mage/src/mage/constants/ManaType.java +++ b/Mage/src/mage/constants/ManaType.java @@ -7,7 +7,7 @@ package mage.constants; public enum ManaType { BLACK ("black"), BLUE ("blue"), - GREEN ("greeen"), + GREEN ("green"), RED ("red"), WHITE ("white"), COLORLESS("colorless"); diff --git a/Mage/src/mage/players/ManaPool.java b/Mage/src/mage/players/ManaPool.java index c6c3610a600..18b53262d90 100644 --- a/Mage/src/mage/players/ManaPool.java +++ b/Mage/src/mage/players/ManaPool.java @@ -164,7 +164,9 @@ public class ManaPool implements Serializable { for (ManaType manaType: manaTypeArray) { if (item.get(manaType) > 0) { total += item.get(manaType); - item.remove(manaType); + while (item.get(manaType) > 0) { + item.remove(manaType); + } } } if (item.count() == 0) {