From a5038f2409aff6c17259d5200b00c2a9c3b7b7f5 Mon Sep 17 00:00:00 2001
From: Daniel Bomar <dbdaniel42@gmail.com>
Date: Tue, 14 Sep 2021 18:48:04 -0500
Subject: [PATCH] [ALL] Sheltered Valley - Fixed intervening if ability (fixes
 #8265)

---
 Mage.Sets/src/mage/cards/s/ShelteredValley.java | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/Mage.Sets/src/mage/cards/s/ShelteredValley.java b/Mage.Sets/src/mage/cards/s/ShelteredValley.java
index a5721941a6..51176f197a 100644
--- a/Mage.Sets/src/mage/cards/s/ShelteredValley.java
+++ b/Mage.Sets/src/mage/cards/s/ShelteredValley.java
@@ -5,10 +5,9 @@ import java.util.UUID;
 import mage.abilities.Ability;
 import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
 import mage.abilities.common.SimpleStaticAbility;
-import mage.abilities.condition.Condition;
 import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
 import mage.abilities.costs.common.SacrificeAllCost;
-import mage.abilities.decorator.ConditionalOneShotEffect;
+import mage.abilities.decorator.ConditionalInterveningIfTriggeredAbility;
 import mage.abilities.effects.Effect;
 import mage.abilities.effects.common.EnterBattlefieldPayCostOrPutGraveyardEffect;
 import mage.abilities.effects.common.GainLifeEffect;
@@ -30,7 +29,7 @@ import mage.filter.predicate.mageobject.NamePredicate;
 public final class ShelteredValley extends CardImpl {
 
     private static final FilterPermanent filterShelteredValley = new FilterPermanent("permanent named Sheltered Valley");
-    
+
     static {
         filterShelteredValley.add(new NamePredicate("Sheltered Valley"));
     }
@@ -43,13 +42,13 @@ public final class ShelteredValley extends CardImpl {
         effect.setText("If {this} would enter the battlefield, instead sacrifice each other permanent named {this} you control, then put {this} onto the battlefield.");
         Ability ability = new SimpleStaticAbility(Zone.ALL, effect);
         this.addAbility(ability);
-        
+
         // At the beginning of your upkeep, if you control three or fewer lands, you gain 1 life.
-        Condition controls = new PermanentsOnTheBattlefieldCondition(StaticFilters.FILTER_LANDS, ComparisonType.FEWER_THAN, 4);
-        effect = new ConditionalOneShotEffect(new GainLifeEffect(1), controls);
-        effect.setText("if you control three or fewer lands, you gain 1 life");
-        ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, effect, TargetController.YOU, false);
-        this.addAbility(ability);
+        this.addAbility(new ConditionalInterveningIfTriggeredAbility(
+                new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new GainLifeEffect(1), TargetController.YOU, false),
+                new PermanentsOnTheBattlefieldCondition(StaticFilters.FILTER_LANDS, ComparisonType.FEWER_THAN, 4),
+                "At the beginning of your upkeep, if you control three or fewer lands, you gain 1 life."
+        ));
         // {tap}: Add {C}.
         this.addAbility(new ColorlessManaAbility());
     }