* Deep Analysis - Fixed that its flashback costs did not work with mana casting cost modification effects (fixes #4677).

This commit is contained in:
LevelX2 2018-04-02 15:30:57 +02:00
parent 8621ecdd6f
commit 1e2e53073c
5 changed files with 81 additions and 16 deletions

View file

@ -30,6 +30,7 @@ package org.mage.test.cards.abilities.keywords;
import mage.abilities.keyword.TrampleAbility;
import mage.constants.PhaseStep;
import mage.constants.Zone;
import mage.counters.CounterType;
import org.junit.Test;
import org.mage.test.serverside.base.CardTestPlayerBase;
@ -580,4 +581,35 @@ public class FlashbackTest extends CardTestPlayerBase {
assertLife(playerA, 20);
}
/**
* Test cost reduction with mixed flashback costs
*/
@Test
public void testReduceMixedFlashbackCosts() {
addCard(Zone.BATTLEFIELD, playerA, "Island", 5);
// 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.
addCard(Zone.BATTLEFIELD, playerA, "Mizzix of the Izmagnus");// 2/2
// Target player draws two cards.
// Flashback-{1}{U}, Pay 3 life.
addCard(Zone.HAND, playerA, "Deep Analysis"); // {3}{U}
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Deep Analysis");
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Flashback");
setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute();
assertGraveyardCount(playerA, "Deep Analysis", 0);
assertExileCount(playerA, "Deep Analysis", 1);
assertHandCount(playerA, 4);
assertCounterCount(playerA, CounterType.EXPERIENCE, 2);
assertLife(playerA, 17);
}
}

View file

@ -120,4 +120,36 @@ public class MizzixOfTheIzmagnusTest extends CardTestPlayerBase {
assertLife(playerB, 17);
}
/**
* Test to reduce Flashback costs
*/
@Test
public void testReduceFlashbackCosts() {
addCard(Zone.BATTLEFIELD, playerA, "Mountain", 4);
// 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.
addCard(Zone.BATTLEFIELD, playerA, "Mizzix of the Izmagnus");// 2/2
// Engulfing Flames deals 1 damage to target creature. It can't be regenerated this turn.
// Flashback {3}{R} (You may cast this card from your graveyard for its flashback cost. Then exile it.)
addCard(Zone.HAND, playerA, "Engulfing Flames"); // {R}
addCard(Zone.BATTLEFIELD, playerB, "Silvercoat Lion");// 2/2
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Engulfing Flames", "Silvercoat Lion");
activateAbility(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Flashback", "Silvercoat Lion");
setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute();
assertGraveyardCount(playerA, "Engulfing Flames", 0);
assertExileCount(playerA, "Engulfing Flames", 1);
assertGraveyardCount(playerB, "Silvercoat Lion", 1);
assertCounterCount(playerA, CounterType.EXPERIENCE, 1);
}
}