* Karador, Ghost Chieftain - Fixed not correct usage detection, simplified/fixed asThoughtAs effect handling.

This commit is contained in:
LevelX2 2020-08-20 14:37:36 +02:00
parent 22e6fee101
commit 89639f5e9b
2 changed files with 66 additions and 58 deletions

View file

@ -14,10 +14,12 @@ public class KaradorGhostChieftainTest extends CardTestPlayerBase {
@Test
public void castReducedTwo() {
setStrictChooseMode(true);
addCard(Zone.BATTLEFIELD, playerA, "Swamp", 1);
addCard(Zone.BATTLEFIELD, playerA, "Forest", 1);
addCard(Zone.BATTLEFIELD, playerA, "Plains", 1);
addCard(Zone.BATTLEFIELD, playerA, "Island", 5);
addCard(Zone.BATTLEFIELD, playerA, "Island", 3);
addCard(Zone.GRAVEYARD, playerA, "Silvercoat Lion", 2);
// Karador, Ghost Chieftain costs {1} less to cast for each creature card in your graveyard.
// During each of your turns, you may cast one creature card from your graveyard.
@ -26,7 +28,7 @@ public class KaradorGhostChieftainTest extends CardTestPlayerBase {
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Karador, Ghost Chieftain");
setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute();
assertTappedCount("Island", false, 2);
assertAllCommandsUsed();
assertPermanentCount(playerA, "Karador, Ghost Chieftain", 1);
}
@ -41,10 +43,11 @@ public class KaradorGhostChieftainTest extends CardTestPlayerBase {
*/
@Test
public void castReducedSeven() {
setStrictChooseMode(true);
addCard(Zone.BATTLEFIELD, playerA, "Swamp", 1);
addCard(Zone.BATTLEFIELD, playerA, "Forest", 1);
addCard(Zone.BATTLEFIELD, playerA, "Plains", 1);
addCard(Zone.BATTLEFIELD, playerA, "Island", 5);
addCard(Zone.GRAVEYARD, playerA, "Silvercoat Lion", 7);
// Karador, Ghost Chieftain costs {1} less to cast for each creature card in your graveyard.
// During each of your turns, you may cast one creature card from your graveyard.
@ -53,8 +56,41 @@ public class KaradorGhostChieftainTest extends CardTestPlayerBase {
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Karador, Ghost Chieftain");
setStopAt(1, PhaseStep.BEGIN_COMBAT);
execute();
assertTappedCount("Island", false, 5);
assertAllCommandsUsed();
assertPermanentCount(playerA, "Karador, Ghost Chieftain", 1);
}
@Test
public void castCastTwiceFromGraveyard() {
setStrictChooseMode(true);
addCard(Zone.BATTLEFIELD, playerA, "Swamp", 1);
addCard(Zone.BATTLEFIELD, playerA, "Forest", 1);
addCard(Zone.BATTLEFIELD, playerA, "Plains", 3);
addCard(Zone.GRAVEYARD, playerA, "Silvercoat Lion", 7);
// Exile target creature you control, then return that card to the battlefield under your control.
addCard(Zone.HAND, playerA, "Cloudshift");// Instant {W}
// Karador, Ghost Chieftain costs {1} less to cast for each creature card in your graveyard.
// During each of your turns, you may cast one creature card from your graveyard.
addCard(Zone.HAND, playerA, "Karador, Ghost Chieftain");// {5}{B}{G}{W}
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Karador, Ghost Chieftain");
castSpell(3, PhaseStep.PRECOMBAT_MAIN, playerA, "Silvercoat Lion");
castSpell(3, PhaseStep.PRECOMBAT_MAIN, playerA, "Cloudshift", "Karador, Ghost Chieftain");
castSpell(3, PhaseStep.PRECOMBAT_MAIN, playerA, "Silvercoat Lion");
setStopAt(3, PhaseStep.BEGIN_COMBAT);
execute();
assertAllCommandsUsed();
assertPermanentCount(playerA, "Silvercoat Lion", 2);
assertGraveyardCount(activePlayer, "Cloudshift", 1);
assertPermanentCount(playerA, "Karador, Ghost Chieftain", 1);
}
}