forked from External/mage
Refactor to use DependencyType.BecomesNonbasicLand to track effects which add land type.
This commit is contained in:
parent
b085446d04
commit
c7f92a093b
21 changed files with 60 additions and 26 deletions
|
|
@ -64,6 +64,7 @@ class AshayaSoulOfTheWildEffect extends ContinuousEffectImpl {
|
||||||
staticText = "Nontoken creatures you control are Forest lands in addition to their other types";
|
staticText = "Nontoken creatures you control are Forest lands in addition to their other types";
|
||||||
this.dependendToTypes.add(DependencyType.BecomeCreature);
|
this.dependendToTypes.add(DependencyType.BecomeCreature);
|
||||||
this.dependencyTypes.add(DependencyType.BecomeForest);
|
this.dependencyTypes.add(DependencyType.BecomeForest);
|
||||||
|
this.dependencyTypes.add(DependencyType.BecomeNonbasicLand);
|
||||||
}
|
}
|
||||||
|
|
||||||
private AshayaSoulOfTheWildEffect(final AshayaSoulOfTheWildEffect effect) {
|
private AshayaSoulOfTheWildEffect(final AshayaSoulOfTheWildEffect effect) {
|
||||||
|
|
|
||||||
|
|
@ -63,6 +63,7 @@ class CelestialDawnToPlainsEffect extends ContinuousEffectImpl {
|
||||||
CelestialDawnToPlainsEffect() {
|
CelestialDawnToPlainsEffect() {
|
||||||
super(Duration.WhileOnBattlefield, Outcome.Detriment);
|
super(Duration.WhileOnBattlefield, Outcome.Detriment);
|
||||||
this.staticText = "Lands you control are Plains";
|
this.staticText = "Lands you control are Plains";
|
||||||
|
this.dependendToTypes.add(DependencyType.BecomeNonbasicLand);
|
||||||
}
|
}
|
||||||
|
|
||||||
private CelestialDawnToPlainsEffect(final CelestialDawnToPlainsEffect effect) {
|
private CelestialDawnToPlainsEffect(final CelestialDawnToPlainsEffect effect) {
|
||||||
|
|
@ -126,7 +127,7 @@ class CelestialDawnToWhiteEffect extends ContinuousEffectImpl {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Exile
|
// Exile
|
||||||
for (Card card : game.getExile().getAllCards(game)) {
|
for (Card card : game.getExile().getAllCardsByRange(game, controller.getId())) {
|
||||||
if (card.isOwnedBy(controller.getId())) {
|
if (card.isOwnedBy(controller.getId())) {
|
||||||
setColor(card.getColor(game), game);
|
setColor(card.getColor(game), game);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,13 +3,14 @@ package mage.cards.c;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import mage.abilities.common.SimpleStaticAbility;
|
import mage.abilities.common.SimpleStaticAbility;
|
||||||
|
import mage.abilities.effects.ContinuousEffect;
|
||||||
import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
|
import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
|
||||||
import mage.abilities.mana.AnyColorManaAbility;
|
import mage.abilities.mana.AnyColorManaAbility;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
|
import mage.constants.DependencyType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
import mage.constants.Zone;
|
|
||||||
import mage.filter.StaticFilters;
|
import mage.filter.StaticFilters;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -21,7 +22,10 @@ public final class ChromaticLantern extends CardImpl {
|
||||||
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}");
|
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}");
|
||||||
|
|
||||||
// Lands you control have "{T}: Add one mana of any color."
|
// Lands you control have "{T}: Add one mana of any color."
|
||||||
this.addAbility(new SimpleStaticAbility(new GainAbilityControlledEffect(new AnyColorManaAbility(), Duration.WhileOnBattlefield, StaticFilters.FILTER_LANDS, false)));
|
ContinuousEffect effect = new GainAbilityControlledEffect(new AnyColorManaAbility(), Duration.WhileOnBattlefield, StaticFilters.FILTER_LANDS, false);
|
||||||
|
effect.getDependencyTypes().add(DependencyType.BecomeNonbasicLand);
|
||||||
|
this.addAbility(new SimpleStaticAbility(effect));
|
||||||
|
|
||||||
|
|
||||||
// {T}: Add one mana of any color.
|
// {T}: Add one mana of any color.
|
||||||
this.addAbility(new AnyColorManaAbility());
|
this.addAbility(new AnyColorManaAbility());
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ import mage.abilities.Ability;
|
||||||
import mage.abilities.common.SimpleActivatedAbility;
|
import mage.abilities.common.SimpleActivatedAbility;
|
||||||
import mage.abilities.common.SimpleStaticAbility;
|
import mage.abilities.common.SimpleStaticAbility;
|
||||||
import mage.abilities.costs.common.TapSourceCost;
|
import mage.abilities.costs.common.TapSourceCost;
|
||||||
|
import mage.abilities.effects.ContinuousEffect;
|
||||||
import mage.abilities.effects.ContinuousEffectImpl;
|
import mage.abilities.effects.ContinuousEffectImpl;
|
||||||
import mage.abilities.effects.OneShotEffect;
|
import mage.abilities.effects.OneShotEffect;
|
||||||
import mage.abilities.effects.common.GainLifeEffect;
|
import mage.abilities.effects.common.GainLifeEffect;
|
||||||
|
|
@ -45,10 +46,12 @@ public final class DuneChanter extends CardImpl {
|
||||||
this.addAbility(new SimpleStaticAbility(new DuneChanterContinuousEffect()));
|
this.addAbility(new SimpleStaticAbility(new DuneChanterContinuousEffect()));
|
||||||
|
|
||||||
// Lands you control have "{T}: Add one mana of any color."
|
// Lands you control have "{T}: Add one mana of any color."
|
||||||
this.addAbility(new SimpleStaticAbility(new GainAbilityControlledEffect(
|
ContinuousEffect effect = new GainAbilityControlledEffect(
|
||||||
new AnyColorManaAbility(), Duration.WhileOnBattlefield,
|
new AnyColorManaAbility(), Duration.WhileOnBattlefield,
|
||||||
StaticFilters.FILTER_LANDS, false
|
StaticFilters.FILTER_LANDS, false
|
||||||
)));
|
);
|
||||||
|
effect.getDependencyTypes().add(DependencyType.BecomeNonbasicLand);
|
||||||
|
this.addAbility(new SimpleStaticAbility(effect));
|
||||||
|
|
||||||
// {T}: Mill two cards. You gain 1 life for each land card milled this way.
|
// {T}: Mill two cards. You gain 1 life for each land card milled this way.
|
||||||
this.addAbility(new SimpleActivatedAbility(new DuneChanterEffect(), new TapSourceCost()));
|
this.addAbility(new SimpleActivatedAbility(new DuneChanterEffect(), new TapSourceCost()));
|
||||||
|
|
@ -76,6 +79,7 @@ class DuneChanterContinuousEffect extends ContinuousEffectImpl {
|
||||||
public DuneChanterContinuousEffect() {
|
public DuneChanterContinuousEffect() {
|
||||||
super(Duration.WhileOnBattlefield, Layer.TypeChangingEffects_4, SubLayer.NA, Outcome.Benefit);
|
super(Duration.WhileOnBattlefield, Layer.TypeChangingEffects_4, SubLayer.NA, Outcome.Benefit);
|
||||||
staticText = "Lands you control and land cards you own that aren't on the battlefield are Deserts in addition to their other types";
|
staticText = "Lands you control and land cards you own that aren't on the battlefield are Deserts in addition to their other types";
|
||||||
|
dependendToTypes.add(DependencyType.BecomeNonbasicLand);
|
||||||
}
|
}
|
||||||
|
|
||||||
private DuneChanterContinuousEffect(final DuneChanterContinuousEffect effect) {
|
private DuneChanterContinuousEffect(final DuneChanterContinuousEffect effect) {
|
||||||
|
|
|
||||||
|
|
@ -45,6 +45,7 @@ class EncroachingMycosynthEffect extends ContinuousEffectImpl {
|
||||||
super(Duration.WhileOnBattlefield, Layer.TypeChangingEffects_4, SubLayer.NA, Outcome.Benefit);
|
super(Duration.WhileOnBattlefield, Layer.TypeChangingEffects_4, SubLayer.NA, Outcome.Benefit);
|
||||||
staticText = "Nonland permanents you control are artifacts in addition to their other types. " +
|
staticText = "Nonland permanents you control are artifacts in addition to their other types. " +
|
||||||
"The same is true for permanent spells you control and nonland permanent cards you own that aren't on the battlefield";
|
"The same is true for permanent spells you control and nonland permanent cards you own that aren't on the battlefield";
|
||||||
|
this.dependendToTypes.add(DependencyType.BecomeNonbasicLand);
|
||||||
this.dependencyTypes.add(DependencyType.ArtifactAddingRemoving); // March of the Machines
|
this.dependencyTypes.add(DependencyType.ArtifactAddingRemoving); // March of the Machines
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -54,6 +54,7 @@ class HarbingerOfTheSeasEffect extends ContinuousEffectImpl {
|
||||||
HarbingerOfTheSeasEffect() {
|
HarbingerOfTheSeasEffect() {
|
||||||
super(Duration.WhileOnBattlefield, Outcome.Detriment);
|
super(Duration.WhileOnBattlefield, Outcome.Detriment);
|
||||||
this.staticText = "Nonbasic lands are Islands";
|
this.staticText = "Nonbasic lands are Islands";
|
||||||
|
dependendToTypes.add(DependencyType.BecomeNonbasicLand);
|
||||||
dependencyTypes.add(DependencyType.BecomeIsland);
|
dependencyTypes.add(DependencyType.BecomeIsland);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -27,11 +27,8 @@ public final class KormusBell extends CardImpl {
|
||||||
new CreatureToken(1, 1, "1/1 black creatures").withColor("B"),
|
new CreatureToken(1, 1, "1/1 black creatures").withColor("B"),
|
||||||
"lands", filter,
|
"lands", filter,
|
||||||
Duration.WhileOnBattlefield, true);
|
Duration.WhileOnBattlefield, true);
|
||||||
effect.addDependedToType(DependencyType.BecomeSwamp); // TODO: are these dependencies correct/complete?
|
effect.addDependedToType(DependencyType.BecomeNonbasicLand);
|
||||||
effect.addDependedToType(DependencyType.BecomeIsland);
|
effect.addDependedToType(DependencyType.BecomeSwamp);
|
||||||
effect.addDependedToType(DependencyType.BecomeForest);
|
|
||||||
effect.addDependedToType(DependencyType.BecomeMountain);
|
|
||||||
effect.addDependedToType(DependencyType.BecomePlains);
|
|
||||||
this.addAbility(new SimpleStaticAbility(effect));
|
this.addAbility(new SimpleStaticAbility(effect));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,6 @@ package mage.cards.l;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import mage.abilities.Ability;
|
import mage.abilities.Ability;
|
||||||
import mage.abilities.Mode;
|
|
||||||
import mage.abilities.common.SimpleStaticAbility;
|
import mage.abilities.common.SimpleStaticAbility;
|
||||||
import mage.abilities.effects.ContinuousEffectImpl;
|
import mage.abilities.effects.ContinuousEffectImpl;
|
||||||
import mage.abilities.keyword.LeylineAbility;
|
import mage.abilities.keyword.LeylineAbility;
|
||||||
|
|
@ -47,6 +46,7 @@ class SetSupertypeAllEffect extends ContinuousEffectImpl {
|
||||||
public SetSupertypeAllEffect() {
|
public SetSupertypeAllEffect() {
|
||||||
super(Duration.WhileOnBattlefield, Layer.TypeChangingEffects_4, SubLayer.NA, Outcome.Detriment);
|
super(Duration.WhileOnBattlefield, Layer.TypeChangingEffects_4, SubLayer.NA, Outcome.Detriment);
|
||||||
this.staticText = "All nonland permanents are legendary";
|
this.staticText = "All nonland permanents are legendary";
|
||||||
|
this.dependendToTypes.add(DependencyType.BecomeNonbasicLand);
|
||||||
}
|
}
|
||||||
|
|
||||||
private SetSupertypeAllEffect(final SetSupertypeAllEffect effect) {
|
private SetSupertypeAllEffect(final SetSupertypeAllEffect effect) {
|
||||||
|
|
|
||||||
|
|
@ -50,6 +50,7 @@ class LeylineOfTheGuildpactEffect extends ContinuousEffectImpl {
|
||||||
LeylineOfTheGuildpactEffect() {
|
LeylineOfTheGuildpactEffect() {
|
||||||
super(Duration.WhileOnBattlefield, Layer.ColorChangingEffects_5, SubLayer.NA, Outcome.Benefit);
|
super(Duration.WhileOnBattlefield, Layer.ColorChangingEffects_5, SubLayer.NA, Outcome.Benefit);
|
||||||
staticText = "each nonland permanent you control is all colors";
|
staticText = "each nonland permanent you control is all colors";
|
||||||
|
dependendToTypes.add(DependencyType.BecomeNonbasicLand);
|
||||||
}
|
}
|
||||||
|
|
||||||
private LeylineOfTheGuildpactEffect(final LeylineOfTheGuildpactEffect effect) {
|
private LeylineOfTheGuildpactEffect(final LeylineOfTheGuildpactEffect effect) {
|
||||||
|
|
|
||||||
|
|
@ -50,6 +50,7 @@ class LifeAndLimbEffect extends ContinuousEffectImpl {
|
||||||
super(Duration.WhileOnBattlefield, Outcome.Neutral);
|
super(Duration.WhileOnBattlefield, Outcome.Neutral);
|
||||||
staticText = "All Forests and all Saprolings are 1/1 green Saproling creatures and Forest lands in addition to their other types";
|
staticText = "All Forests and all Saprolings are 1/1 green Saproling creatures and Forest lands in addition to their other types";
|
||||||
|
|
||||||
|
this.dependendToTypes.add(DependencyType.BecomeNonbasicLand);
|
||||||
this.dependendToTypes.add(DependencyType.BecomeForest);
|
this.dependendToTypes.add(DependencyType.BecomeForest);
|
||||||
this.dependendToTypes.add(DependencyType.BecomeCreature);
|
this.dependendToTypes.add(DependencyType.BecomeCreature);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,9 @@ public final class LivingLands extends CardImpl {
|
||||||
ContinuousEffect effect = new BecomesCreatureAllEffect(
|
ContinuousEffect effect = new BecomesCreatureAllEffect(
|
||||||
new CreatureToken(1, 1, "1/1 creatures"),
|
new CreatureToken(1, 1, "1/1 creatures"),
|
||||||
"lands", filter, Duration.WhileOnBattlefield, false);
|
"lands", filter, Duration.WhileOnBattlefield, false);
|
||||||
effect.getDependencyTypes().add(DependencyType.BecomeForest); // TODO: are these dependencies correct/complete?
|
effect.getDependedToTypes().add(DependencyType.BecomeNonbasicLand);
|
||||||
|
effect.getDependedToTypes().add(DependencyType.BecomeForest);
|
||||||
|
effect.getDependencyTypes().add(DependencyType.BecomeCreature);
|
||||||
this.addAbility(new SimpleStaticAbility(effect));
|
this.addAbility(new SimpleStaticAbility(effect));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,13 +2,11 @@ package mage.cards.l;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import mage.abilities.common.SimpleStaticAbility;
|
import mage.abilities.common.SimpleStaticAbility;
|
||||||
|
import mage.abilities.effects.ContinuousEffect;
|
||||||
import mage.abilities.effects.common.continuous.BecomesCreatureAllEffect;
|
import mage.abilities.effects.common.continuous.BecomesCreatureAllEffect;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.*;
|
||||||
import mage.constants.Duration;
|
|
||||||
import mage.constants.SuperType;
|
|
||||||
import mage.constants.Zone;
|
|
||||||
import mage.filter.common.FilterLandPermanent;
|
import mage.filter.common.FilterLandPermanent;
|
||||||
import mage.game.permanent.token.custom.CreatureToken;
|
import mage.game.permanent.token.custom.CreatureToken;
|
||||||
|
|
||||||
|
|
@ -25,9 +23,12 @@ public final class LivingPlane extends CardImpl {
|
||||||
this.supertype.add(SuperType.WORLD);
|
this.supertype.add(SuperType.WORLD);
|
||||||
|
|
||||||
// All lands are 1/1 creatures that are still lands.
|
// All lands are 1/1 creatures that are still lands.
|
||||||
this.addAbility(new SimpleStaticAbility(new BecomesCreatureAllEffect(
|
ContinuousEffect effect = new BecomesCreatureAllEffect(
|
||||||
new CreatureToken(1, 1, "1/1 creatures"),
|
new CreatureToken(1, 1, "1/1 creatures"),
|
||||||
"lands", filter, Duration.WhileOnBattlefield, false)));
|
"lands", filter, Duration.WhileOnBattlefield, false);
|
||||||
|
effect.getDependedToTypes().add(DependencyType.BecomeNonbasicLand);
|
||||||
|
effect.getDependencyTypes().add(DependencyType.BecomeCreature);
|
||||||
|
this.addAbility(new SimpleStaticAbility(effect));
|
||||||
}
|
}
|
||||||
|
|
||||||
private LivingPlane(final LivingPlane card) {
|
private LivingPlane(final LivingPlane card) {
|
||||||
|
|
|
||||||
|
|
@ -54,6 +54,7 @@ class MagusOfTheMoonEffect extends ContinuousEffectImpl {
|
||||||
MagusOfTheMoonEffect() {
|
MagusOfTheMoonEffect() {
|
||||||
super(Duration.WhileOnBattlefield, Outcome.Detriment);
|
super(Duration.WhileOnBattlefield, Outcome.Detriment);
|
||||||
this.staticText = "Nonbasic lands are Mountains";
|
this.staticText = "Nonbasic lands are Mountains";
|
||||||
|
dependendToTypes.add(DependencyType.BecomeNonbasicLand);
|
||||||
dependencyTypes.add(DependencyType.BecomeMountain);
|
dependencyTypes.add(DependencyType.BecomeMountain);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -39,6 +39,7 @@ class MeltingEffect extends ContinuousEffectImpl {
|
||||||
MeltingEffect() {
|
MeltingEffect() {
|
||||||
super(Duration.WhileOnBattlefield, Layer.TypeChangingEffects_4, SubLayer.NA, Outcome.Detriment);
|
super(Duration.WhileOnBattlefield, Layer.TypeChangingEffects_4, SubLayer.NA, Outcome.Detriment);
|
||||||
this.staticText = "All lands are no longer snow";
|
this.staticText = "All lands are no longer snow";
|
||||||
|
this.dependendToTypes.add(DependencyType.BecomeNonbasicLand);
|
||||||
}
|
}
|
||||||
|
|
||||||
private MeltingEffect(final MeltingEffect effect) {
|
private MeltingEffect(final MeltingEffect effect) {
|
||||||
|
|
|
||||||
|
|
@ -2,12 +2,13 @@ package mage.cards.n;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import mage.abilities.common.SimpleStaticAbility;
|
import mage.abilities.common.SimpleStaticAbility;
|
||||||
|
import mage.abilities.effects.ContinuousEffect;
|
||||||
import mage.abilities.effects.common.continuous.BecomesCreatureAllEffect;
|
import mage.abilities.effects.common.continuous.BecomesCreatureAllEffect;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
|
import mage.constants.DependencyType;
|
||||||
import mage.constants.Duration;
|
import mage.constants.Duration;
|
||||||
import mage.constants.Zone;
|
|
||||||
import mage.filter.common.FilterLandPermanent;
|
import mage.filter.common.FilterLandPermanent;
|
||||||
import mage.game.permanent.token.custom.CreatureToken;
|
import mage.game.permanent.token.custom.CreatureToken;
|
||||||
|
|
||||||
|
|
@ -24,9 +25,12 @@ public final class NaturesRevolt extends CardImpl {
|
||||||
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{G}{G}");
|
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{G}{G}");
|
||||||
|
|
||||||
// All lands are 2/2 creatures that are still lands.
|
// All lands are 2/2 creatures that are still lands.
|
||||||
this.addAbility(new SimpleStaticAbility(new BecomesCreatureAllEffect(
|
ContinuousEffect effect = new BecomesCreatureAllEffect(
|
||||||
new CreatureToken(2, 2, "2/2 creatures"),
|
new CreatureToken(2, 2, "2/2 creatures"),
|
||||||
"lands", filter, Duration.WhileOnBattlefield, false)));
|
"lands", filter, Duration.WhileOnBattlefield, false);
|
||||||
|
effect.getDependedToTypes().add(DependencyType.BecomeNonbasicLand);
|
||||||
|
effect.getDependencyTypes().add(DependencyType.BecomeCreature);
|
||||||
|
this.addAbility(new SimpleStaticAbility(effect));
|
||||||
}
|
}
|
||||||
|
|
||||||
private NaturesRevolt(final NaturesRevolt card) {
|
private NaturesRevolt(final NaturesRevolt card) {
|
||||||
|
|
|
||||||
|
|
@ -51,6 +51,12 @@ class RealmwrightEffect extends ContinuousEffectImpl {
|
||||||
RealmwrightEffect() {
|
RealmwrightEffect() {
|
||||||
super(Duration.WhileOnBattlefield, Layer.TypeChangingEffects_4, SubLayer.NA, Outcome.Neutral);
|
super(Duration.WhileOnBattlefield, Layer.TypeChangingEffects_4, SubLayer.NA, Outcome.Neutral);
|
||||||
staticText = "Lands you control are the chosen type in addition to their other types";
|
staticText = "Lands you control are the chosen type in addition to their other types";
|
||||||
|
dependendToTypes.add(DependencyType.BecomeNonbasicLand);
|
||||||
|
dependencyTypes.add(DependencyType.BecomeMountain);
|
||||||
|
dependencyTypes.add(DependencyType.BecomeForest);
|
||||||
|
dependencyTypes.add(DependencyType.BecomeSwamp);
|
||||||
|
dependencyTypes.add(DependencyType.BecomeIsland);
|
||||||
|
dependencyTypes.add(DependencyType.BecomePlains);
|
||||||
}
|
}
|
||||||
|
|
||||||
private RealmwrightEffect(final RealmwrightEffect effect) {
|
private RealmwrightEffect(final RealmwrightEffect effect) {
|
||||||
|
|
|
||||||
|
|
@ -47,6 +47,7 @@ class RootpathPurifierEffect extends ContinuousEffectImpl {
|
||||||
RootpathPurifierEffect() {
|
RootpathPurifierEffect() {
|
||||||
super(Duration.WhileOnBattlefield, Layer.TypeChangingEffects_4, SubLayer.NA, Outcome.Benefit);
|
super(Duration.WhileOnBattlefield, Layer.TypeChangingEffects_4, SubLayer.NA, Outcome.Benefit);
|
||||||
staticText = "lands you control and land cards in your library are basic";
|
staticText = "lands you control and land cards in your library are basic";
|
||||||
|
dependendToTypes.add(DependencyType.BecomeNonbasicLand);
|
||||||
}
|
}
|
||||||
|
|
||||||
private RootpathPurifierEffect(final RootpathPurifierEffect effect) {
|
private RootpathPurifierEffect(final RootpathPurifierEffect effect) {
|
||||||
|
|
|
||||||
|
|
@ -63,6 +63,8 @@ class TophTheFirstMetalbenderEffect extends ContinuousEffectImpl {
|
||||||
TophTheFirstMetalbenderEffect() {
|
TophTheFirstMetalbenderEffect() {
|
||||||
super(Duration.WhileOnBattlefield, Layer.TypeChangingEffects_4, SubLayer.NA, Outcome.Benefit);
|
super(Duration.WhileOnBattlefield, Layer.TypeChangingEffects_4, SubLayer.NA, Outcome.Benefit);
|
||||||
staticText = "nontoken artifacts you control are lands in addition to their other types";
|
staticText = "nontoken artifacts you control are lands in addition to their other types";
|
||||||
|
this.dependendToTypes.add(DependencyType.ArtifactAddingRemoving);
|
||||||
|
this.dependencyTypes.add(DependencyType.BecomeNonbasicLand);
|
||||||
}
|
}
|
||||||
|
|
||||||
private TophTheFirstMetalbenderEffect(final TophTheFirstMetalbenderEffect effect) {
|
private TophTheFirstMetalbenderEffect(final TophTheFirstMetalbenderEffect effect) {
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package mage.cards.u;
|
package mage.cards.u;
|
||||||
|
|
||||||
import mage.abilities.common.SimpleStaticAbility;
|
import mage.abilities.common.SimpleStaticAbility;
|
||||||
|
import mage.abilities.effects.ContinuousEffect;
|
||||||
import mage.abilities.effects.common.continuous.AddBasicLandTypeAllLandsEffect;
|
import mage.abilities.effects.common.continuous.AddBasicLandTypeAllLandsEffect;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
|
|
@ -18,7 +19,9 @@ public final class UrborgTombOfYawgmoth extends CardImpl {
|
||||||
this.supertype.add(SuperType.LEGENDARY);
|
this.supertype.add(SuperType.LEGENDARY);
|
||||||
|
|
||||||
// Each land is a Swamp in addition to its other land types.
|
// Each land is a Swamp in addition to its other land types.
|
||||||
this.addAbility(new SimpleStaticAbility(new AddBasicLandTypeAllLandsEffect(SubType.SWAMP)));
|
ContinuousEffect effect = new AddBasicLandTypeAllLandsEffect(SubType.SWAMP);
|
||||||
|
effect.getDependedToTypes().add(DependencyType.BecomeNonbasicLand);
|
||||||
|
this.addAbility(new SimpleStaticAbility(effect));
|
||||||
}
|
}
|
||||||
|
|
||||||
private UrborgTombOfYawgmoth(final UrborgTombOfYawgmoth card) {
|
private UrborgTombOfYawgmoth(final UrborgTombOfYawgmoth card) {
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,12 @@
|
||||||
package mage.cards.y;
|
package mage.cards.y;
|
||||||
|
|
||||||
import mage.abilities.common.SimpleStaticAbility;
|
import mage.abilities.common.SimpleStaticAbility;
|
||||||
|
import mage.abilities.effects.ContinuousEffect;
|
||||||
import mage.abilities.effects.common.continuous.AddBasicLandTypeAllLandsEffect;
|
import mage.abilities.effects.common.continuous.AddBasicLandTypeAllLandsEffect;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.cards.CardSetInfo;
|
import mage.cards.CardSetInfo;
|
||||||
import mage.constants.CardType;
|
import mage.constants.CardType;
|
||||||
|
import mage.constants.DependencyType;
|
||||||
import mage.constants.SubType;
|
import mage.constants.SubType;
|
||||||
import mage.constants.SuperType;
|
import mage.constants.SuperType;
|
||||||
|
|
||||||
|
|
@ -21,7 +23,9 @@ public final class YavimayaCradleOfGrowth extends CardImpl {
|
||||||
this.supertype.add(SuperType.LEGENDARY);
|
this.supertype.add(SuperType.LEGENDARY);
|
||||||
|
|
||||||
// Each land is a Forest in addition to its other land types.
|
// Each land is a Forest in addition to its other land types.
|
||||||
this.addAbility(new SimpleStaticAbility(new AddBasicLandTypeAllLandsEffect(SubType.FOREST)));
|
ContinuousEffect effect = new AddBasicLandTypeAllLandsEffect(SubType.FOREST);
|
||||||
|
effect.getDependedToTypes().add(DependencyType.BecomeNonbasicLand);
|
||||||
|
this.addAbility(new SimpleStaticAbility(effect));
|
||||||
}
|
}
|
||||||
|
|
||||||
private YavimayaCradleOfGrowth(final YavimayaCradleOfGrowth card) {
|
private YavimayaCradleOfGrowth(final YavimayaCradleOfGrowth card) {
|
||||||
|
|
|
||||||
|
|
@ -8,9 +8,6 @@ import mage.filter.StaticFilters;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
import mage.game.permanent.Permanent;
|
import mage.game.permanent.Permanent;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author TheElk801
|
* @author TheElk801
|
||||||
*/
|
*/
|
||||||
|
|
@ -27,6 +24,7 @@ public class BecomesAllBasicsControlledEffect extends ContinuousEffectImpl {
|
||||||
public BecomesAllBasicsControlledEffect() {
|
public BecomesAllBasicsControlledEffect() {
|
||||||
super(Duration.WhileOnBattlefield, Layer.TypeChangingEffects_4, SubLayer.NA, Outcome.Detriment);
|
super(Duration.WhileOnBattlefield, Layer.TypeChangingEffects_4, SubLayer.NA, Outcome.Detriment);
|
||||||
this.staticText = "Lands you control are every basic land type in addition to their other types";
|
this.staticText = "Lands you control are every basic land type in addition to their other types";
|
||||||
|
dependendToTypes.add(DependencyType.BecomeNonbasicLand);
|
||||||
dependencyTypes.add(DependencyType.BecomeMountain);
|
dependencyTypes.add(DependencyType.BecomeMountain);
|
||||||
dependencyTypes.add(DependencyType.BecomeForest);
|
dependencyTypes.add(DependencyType.BecomeForest);
|
||||||
dependencyTypes.add(DependencyType.BecomeSwamp);
|
dependencyTypes.add(DependencyType.BecomeSwamp);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue