use of mage.abilities.mana.ManaOptions in project mage by magefree.
the class TappedForManaRelatedTest method TestCradleWithWildGrowthNoCreatures.
/**
* This is a new rule that slightly changes how we resolve abilities that
* trigger whenever a permanent is tapped for mana or for mana of a
* specified type. Now, you look at what was actually produced after the
* activated mana ability resolves. So, tapping a Gaea's Cradle while you no
* control no creatures won't cause a Wild Growth attached to it to trigger.
*/
@Test
public void TestCradleWithWildGrowthNoCreatures() {
// {T}: Add {G} for each creature you control.
addCard(Zone.BATTLEFIELD, playerA, "Gaea's Cradle", 1);
addCard(Zone.BATTLEFIELD, playerA, "Forest", 1);
// Enchant land
// Whenever enchanted land is tapped for mana, its controller adds {G}.
// Enchantment {G}
addCard(Zone.HAND, playerA, "Wild Growth", 1);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Wild Growth", "Gaea's Cradle");
setStopAt(3, PhaseStep.BEGIN_COMBAT);
execute();
assertPermanentCount(playerA, "Wild Growth", 1);
ManaOptions manaOptions = playerA.getAvailableManaTest(currentGame);
Assert.assertEquals("mana variations don't fit", 1, manaOptions.size());
assertManaOptions("{G}{G}", manaOptions);
}
use of mage.abilities.mana.ManaOptions in project mage by magefree.
the class TappedForManaRelatedTest method TestCradleWithWildGrowthTwoCreatures.
@Test
public void TestCradleWithWildGrowthTwoCreatures() {
// {T}: Add {G} for each creature you control.
addCard(Zone.BATTLEFIELD, playerA, "Gaea's Cradle", 1);
addCard(Zone.BATTLEFIELD, playerA, "Silvercoat Lion", 2);
addCard(Zone.BATTLEFIELD, playerA, "Forest", 1);
// Enchant land
// Whenever enchanted land is tapped for mana, its controller adds {G}.
// Enchantment {G}
addCard(Zone.HAND, playerA, "Wild Growth", 1);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Wild Growth", "Gaea's Cradle");
setStopAt(3, PhaseStep.BEGIN_COMBAT);
execute();
assertPermanentCount(playerA, "Wild Growth", 1);
ManaOptions manaOptions = playerA.getAvailableManaTest(currentGame);
Assert.assertEquals("mana variations don't fit", 1, manaOptions.size());
assertManaOptions("{G}{G}{G}{G}", manaOptions);
}
use of mage.abilities.mana.ManaOptions in project mage by magefree.
the class TappedForManaRelatedTest method TestCastleSengir.
@Test
public void TestCastleSengir() {
setStrictChooseMode(true);
// {T}: Add Colorless.
// {1}, {T}: Add Black.
// {2}, {T}: Add Blue or Red.
addCard(Zone.BATTLEFIELD, playerA, "Castle Sengir", 1);
addCard(Zone.BATTLEFIELD, playerA, "Mountain", 1);
setStopAt(1, PhaseStep.UPKEEP);
execute();
assertAllCommandsUsed();
ManaOptions manaOptions = playerA.getAvailableManaTest(currentGame);
Assert.assertEquals("mana variations don't fit", 2, manaOptions.size());
assertManaOptions("{C}{R}", manaOptions);
assertManaOptions("{B}", manaOptions);
}
use of mage.abilities.mana.ManaOptions in project mage by magefree.
the class TappedForManaRelatedTest method TestDeathriteShaman.
@Test
// Because this is no mana ability, this mana will not be calculated during available mana calculation
@Ignore
public void TestDeathriteShaman() {
setStrictChooseMode(true);
// {T}: Exile target land card from a graveyard. Add one mana of any color.
// {B}, {T}: Exile target instant or sorcery card from a graveyard. Each opponent loses 2 life.
// {G}, {T}: Exile target creature card from a graveyard. You gain 2 life.
addCard(Zone.BATTLEFIELD, playerA, "Deathrite Shaman", 1);
addCard(Zone.GRAVEYARD, playerA, "Mountain", 3);
setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute();
assertAllCommandsUsed();
ManaOptions manaOptions = playerA.getAvailableManaTest(currentGame);
Assert.assertEquals("mana variations don't fit", 1, manaOptions.size());
assertManaOptions("{Any}", manaOptions);
}
use of mage.abilities.mana.ManaOptions in project mage by magefree.
the class TappedForManaRelatedTest method TestChromaticOrrery.
@Test
public void TestChromaticOrrery() {
setStrictChooseMode(true);
// You may spend mana as though it were mana of any color.
// {T}: Add {C}{C}{C}{C}{C}.
// {5}, {T}: Draw a card for each color among permanents you control.
addCard(Zone.BATTLEFIELD, playerA, "Chromatic Orrery", 1);
setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute();
assertAllCommandsUsed();
ManaOptions manaOptions = playerA.getAvailableManaTest(currentGame);
Assert.assertEquals("mana variations don't fit", 1, manaOptions.size());
assertManaOptions("{C}{C}{C}{C}{C}", manaOptions);
}
Aggregations