Cover non-universal type change effects that also say 'land'.

This commit is contained in:
Grath 2025-08-22 22:53:48 -04:00
parent c7f92a093b
commit 370ce47303
5 changed files with 10 additions and 11 deletions

View file

@ -3,12 +3,14 @@ package mage.cards.n;
import mage.ObjectColor;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.ContinuousEffect;
import mage.abilities.effects.common.ReturnToHandChosenControlledPermanentEffect;
import mage.abilities.effects.common.continuous.BecomesCreatureAllEffect;
import mage.abilities.keyword.FirstStrikeAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.DependencyType;
import mage.constants.Duration;
import mage.filter.StaticFilters;
import mage.filter.common.FilterControlledEnchantmentPermanent;
@ -37,12 +39,14 @@ public final class NaturalEmergence extends CardImpl {
this.addAbility(new EntersBattlefieldTriggeredAbility(new ReturnToHandChosenControlledPermanentEffect(filter), false));
// Lands you control are 2/2 creatures with first strike. They're still lands.
this.addAbility(new SimpleStaticAbility(new BecomesCreatureAllEffect(
ContinuousEffect effect = new BecomesCreatureAllEffect(
new CreatureToken(
2, 2, "2/2 creatures with first strike"
).withAbility(FirstStrikeAbility.getInstance()), "lands",
StaticFilters.FILTER_CONTROLLED_PERMANENT_LANDS, Duration.WhileOnBattlefield, false
)));
);
effect.getDependedToTypes().add(DependencyType.BecomeNonbasicLand);
this.addAbility(new SimpleStaticAbility(effect));
}
private NaturalEmergence(final NaturalEmergence card) {

View file

@ -50,6 +50,7 @@ class BecomesColorlessForestLandEffect extends ContinuousEffectImpl {
BecomesColorlessForestLandEffect() {
super(Duration.WhileOnBattlefield, Outcome.Detriment);
this.staticText = "Enchanted permanent is a colorless Forest land";
dependencyTypes.add(DependencyType.BecomeNonbasicLand);
dependencyTypes.add(DependencyType.BecomeForest);
}

View file

@ -1,7 +1,6 @@
package mage.cards.u;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.ContinuousEffect;
import mage.abilities.effects.common.continuous.AddBasicLandTypeAllLandsEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
@ -19,9 +18,7 @@ public final class UrborgTombOfYawgmoth extends CardImpl {
this.supertype.add(SuperType.LEGENDARY);
// Each land is a Swamp in addition to its other land types.
ContinuousEffect effect = new AddBasicLandTypeAllLandsEffect(SubType.SWAMP);
effect.getDependedToTypes().add(DependencyType.BecomeNonbasicLand);
this.addAbility(new SimpleStaticAbility(effect));
this.addAbility(new SimpleStaticAbility(new AddBasicLandTypeAllLandsEffect(SubType.SWAMP)));
}
private UrborgTombOfYawgmoth(final UrborgTombOfYawgmoth card) {

View file

@ -1,12 +1,10 @@
package mage.cards.y;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.ContinuousEffect;
import mage.abilities.effects.common.continuous.AddBasicLandTypeAllLandsEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.DependencyType;
import mage.constants.SubType;
import mage.constants.SuperType;
@ -23,9 +21,7 @@ public final class YavimayaCradleOfGrowth extends CardImpl {
this.supertype.add(SuperType.LEGENDARY);
// Each land is a Forest in addition to its other land types.
ContinuousEffect effect = new AddBasicLandTypeAllLandsEffect(SubType.FOREST);
effect.getDependedToTypes().add(DependencyType.BecomeNonbasicLand);
this.addAbility(new SimpleStaticAbility(effect));
this.addAbility(new SimpleStaticAbility(new AddBasicLandTypeAllLandsEffect(SubType.FOREST)));
}
private YavimayaCradleOfGrowth(final YavimayaCradleOfGrowth card) {

View file

@ -20,6 +20,7 @@ public class AddBasicLandTypeAllLandsEffect extends ContinuousEffectImpl {
this.subType = subType;
this.staticText = "Each land is " + subType.getIndefiniteArticle() + " "
+ subType.getDescription() + " in addition to its other land types";
this.dependendToTypes.add(DependencyType.BecomeNonbasicLand);
switch (subType) {
case PLAINS:
this.dependencyTypes.add(DependencyType.BecomePlains);