From 8c632dc8f798719ad3734826f9b352a74a5de77d Mon Sep 17 00:00:00 2001
From: Daniel Bomar <dbdaniel42@gmail.com>
Date: Mon, 5 Jul 2021 04:44:45 -0500
Subject: [PATCH] [STX] Fixed Verdant Mastery targeting issues (fixes #7971)

---
 Mage.Sets/src/mage/cards/v/VerdantMastery.java | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/Mage.Sets/src/mage/cards/v/VerdantMastery.java b/Mage.Sets/src/mage/cards/v/VerdantMastery.java
index 30e5a0c1d7..4a20593781 100644
--- a/Mage.Sets/src/mage/cards/v/VerdantMastery.java
+++ b/Mage.Sets/src/mage/cards/v/VerdantMastery.java
@@ -70,7 +70,7 @@ class VerdantMasteryEffect extends OneShotEffect {
         if (player == null) {
             return false;
         }
-        TargetCardInLibrary target = new TargetCardInLibrary(4, StaticFilters.FILTER_CARD_BASIC_LAND);
+        TargetCardInLibrary target = new TargetCardInLibrary(0, 4, StaticFilters.FILTER_CARD_BASIC_LAND);
         player.searchLibrary(target, source, game);
         Cards cards = new CardsImpl(target.getTargets());
         player.revealCards(source, cards, game);
@@ -86,6 +86,7 @@ class VerdantMasteryEffect extends OneShotEffect {
             Player opponent = game.getPlayer(targetOpponent.getFirstTarget());
             if (opponent != null) {
                 target = new TargetCardInLibrary(1, StaticFilters.FILTER_CARD_BASIC_LAND);
+                target.setRequired(true);
                 target.withChooseHint("to give to " + opponent.getName());
                 player.choose(outcome, cards, target, game);
                 Card card = game.getCard(target.getFirstTarget());
@@ -100,7 +101,8 @@ class VerdantMasteryEffect extends OneShotEffect {
             player.shuffleLibrary(source, game);
             return true;
         }
-        target = new TargetCardInLibrary(0, 2, StaticFilters.FILTER_CARD_BASIC_LAND);
+        target = new TargetCardInLibrary(Math.min(cards.size(), 2), StaticFilters.FILTER_CARD_BASIC_LAND);
+        target.setRequired(true);
         player.choose(outcome, cards, target, game);
         player.moveCards(
                 new CardsImpl(target.getTargets()).getCards(game), Zone.BATTLEFIELD, source,