* Added UT for - Not able to reproduce.
@@ -170,4 +170,59 @@ public class GontiLordOfLuxuryEffectTest extends CardTestPlayerBase {
}
+ /**
+ * An opponent used a Gonti against me, and took my Ob Nixilis Reignited. He
+ * later played it, and I killed my Ob Nixilis. Then later, using Seasons
+ * Past, I got Ob Nixilis back in my hand. However, the Ob Nixilis was now
+ * uncastable. Has anyone else encountered this?
+ */
+ @Test
+ public void testPlaneswalkerCanBeCastLaterFromHand() {
+ addCard(Zone.BATTLEFIELD, playerA, "Swamp", 9);
+ // Deathtouch
+ // When Gonti, Lord of Luxury enters the battlefield, look at the top four cards of target opponent's library, exile one of them face down,
+ // then put the rest on the bottom of that library in a random order. For as long as that card remains exiled,
+ // you may look at it, you may cast it, and you may spend mana as though it were mana of any type to cast it.
+ addCard(Zone.HAND, playerA, "Gonti, Lord of Luxury", 1); // Creature 2/3 {2}{B}{B}
+
+ // +1: You draw a card and you lose 1 life.
+ // -3: Destroy target creature.
+ // -8: Target opponent gets an emblem with "Whenever a player draws a card, you lose 2 life."
+ addCard(Zone.LIBRARY, playerB, "Ob Nixilis Reignited"); // Planeswalker [5] {3}{B}{B}
+ skipInitShuffling();
+
+ addCard(Zone.BATTLEFIELD, playerB, "Swamp", 3);
+ addCard(Zone.BATTLEFIELD, playerB, "Forest", 3);
+
+ // Return any number of cards with different converted mana costs from your graveyard to your hand. Put Seasons Past on the bottom of its owner's library.
+ addCard(Zone.HAND, playerB, "Seasons Past", 1); // Sorcery {4}{G}{G}
+
+ addCard(Zone.BATTLEFIELD, playerB, "Dross Crocodile", 2); // Creature 5/1
+
+ castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Gonti, Lord of Luxury");
+ addTarget(playerA, playerB);
+ setChoice(playerA, "Ob Nixilis Reignited");
+ castSpell(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "Ob Nixilis Reignited");
+ activateAbility(1, PhaseStep.POSTCOMBAT_MAIN, playerA, "-3:", "Dross Crocodile");
+
+ attack(2, playerB, "Dross Crocodile", "Ob Nixilis Reignited");
+
+ castSpell(2, PhaseStep.POSTCOMBAT_MAIN, playerB, "Seasons Past");
+ setChoice(playerB, "Ob Nixilis Reignited");
+
+ castSpell(4, PhaseStep.PRECOMBAT_MAIN, playerB, "Ob Nixilis Reignited");
+
+ setStopAt(4, PhaseStep.BEGIN_COMBAT);
+ execute();
+
+ assertPermanentCount(playerA, "Gonti, Lord of Luxury", 1);
+ assertPermanentCount(playerB, "Dross Crocodile", 1);
+ assertGraveyardCount(playerB, "Dross Crocodile", 1);
+
+ assertGraveyardCount(playerB, "Seasons Past", 0);
+
+ assertHandCount(playerB, "Ob Nixilis Reignited", 0);
+ assertPermanentCount(playerB, "Ob Nixilis Reignited", 1);
+
+ }
}
