BecomesCreatureAllEffect text adjust / simplify

This commit is contained in:
xenohedron 2023-11-23 00:17:23 -05:00
parent 1c6c68e1a4
commit a7de73723f
3 changed files with 13 additions and 21 deletions

View file

@ -7,7 +7,7 @@ import mage.abilities.effects.common.continuous.BecomesCreatureAllEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterLandPermanent;
import mage.game.permanent.token.custom.CreatureToken;
/**
@ -17,15 +17,17 @@ import mage.game.permanent.token.custom.CreatureToken;
*/
public final class KormusBell extends CardImpl {
private static final FilterLandPermanent filter = new FilterLandPermanent(SubType.SWAMP, "All Swamps");
public KormusBell(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{4}");
// All Swamps are 1/1 black creatures that are still lands.
ContinuousEffect effect = new BecomesCreatureAllEffect(
new CreatureToken(1, 1, "1/1 black creature").withColor("B"),
"lands", new FilterPermanent(SubType.SWAMP, "Swamps"),
new CreatureToken(1, 1, "1/1 black creatures").withColor("B"),
"lands", filter,
Duration.WhileOnBattlefield, true);
effect.addDependedToType(DependencyType.BecomeSwamp);
effect.addDependedToType(DependencyType.BecomeSwamp); // TODO: are these dependencies correct/complete?
effect.addDependedToType(DependencyType.BecomeIsland);
effect.addDependedToType(DependencyType.BecomeForest);
effect.addDependedToType(DependencyType.BecomeMountain);

View file

@ -1,4 +1,3 @@
package mage.cards.l;
import mage.abilities.common.SimpleStaticAbility;
@ -18,20 +17,16 @@ import java.util.UUID;
*/
public final class LivingLands extends CardImpl {
private static final FilterLandPermanent filter = new FilterLandPermanent("Forests");
static {
filter.add(SubType.FOREST.getPredicate());
}
private static final FilterLandPermanent filter = new FilterLandPermanent(SubType.FOREST, "All Forests");
public LivingLands(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{G}");
// All Forests are 1/1 creatures that are still lands.
ContinuousEffect effect = new BecomesCreatureAllEffect(
new CreatureToken(1, 1),
new CreatureToken(1, 1, "1/1 creatures"),
"lands", filter, Duration.WhileOnBattlefield, false);
effect.getDependencyTypes().add(DependencyType.BecomeForest);
effect.getDependencyTypes().add(DependencyType.BecomeForest); // TODO: are these dependencies correct/complete?
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
}

View file

@ -21,20 +21,15 @@ public class BecomesCreatureAllEffect extends ContinuousEffectImpl {
protected Token token;
protected String theyAreStillType;
private final FilterPermanent filter;
private boolean loseColor = true;
private boolean loseTypes = false;
protected boolean loseName = false;
private final boolean loseColor;
private final boolean loseTypes;
private final boolean loseName;
public BecomesCreatureAllEffect(Token token, String theyAreStillType,
FilterPermanent filter, Duration duration, boolean loseColor) {
this(token, theyAreStillType, filter, duration, loseColor, false, false);
}
public BecomesCreatureAllEffect(Token token, String theyAreStillType,
FilterPermanent filter, Duration duration, boolean loseColor, boolean loseName) {
this(token, theyAreStillType, filter, duration, loseColor, loseName, false);
}
public BecomesCreatureAllEffect(Token token, String theyAreStillType,
FilterPermanent filter, Duration duration, boolean loseColor, boolean loseName, boolean loseTypes) {
super(duration, Outcome.BecomeCreature);
@ -179,7 +174,7 @@ public class BecomesCreatureAllEffect extends ContinuousEffectImpl {
}
sb.append(token.getDescription());
if (theyAreStillType != null && !theyAreStillType.isEmpty()) {
sb.append(". They're still ").append(theyAreStillType);
sb.append(" that are still ").append(theyAreStillType);
}
return sb.toString();
}