Refactor to single constructor with CardType enum

This commit is contained in:
xenohedron 2023-05-21 22:51:04 -04:00
parent 00ca915581
commit aecdde421b
119 changed files with 167 additions and 182 deletions

View file

@ -29,7 +29,7 @@ public final class AngelsTomb extends CardImpl {
.withColor("W")
.withSubType(SubType.ANGEL)
.withAbility(FlyingAbility.getInstance()),
"", Duration.EndOfTurn)
CardType.ARTIFACT, Duration.EndOfTurn)
.setText("have {this} become a 3/3 white Angel artifact creature with flying until end of turn");
this.addAbility(new EntersBattlefieldControlledTriggeredAbility(
Zone.BATTLEFIELD,
@ -47,4 +47,4 @@ public final class AngelsTomb extends CardImpl {
public AngelsTomb copy() {
return new AngelsTomb(this);
}
}
}

View file

@ -72,7 +72,7 @@ class AnsweredPrayersEffect extends OneShotEffect {
return true;
}
game.addEffect(new BecomesCreatureSourceEffect(
new AnsweredPrayersToken(), "enchantment", Duration.EndOfTurn
new AnsweredPrayersToken(), CardType.ENCHANTMENT, Duration.EndOfTurn
), source);
return true;
}

View file

@ -36,7 +36,7 @@ public final class AtarkaMonument extends CardImpl {
.withSubType(SubType.DRAGON)
.withType(CardType.ARTIFACT)
.withAbility(FlyingAbility.getInstance()),
"", Duration.EndOfTurn), new ManaCostsImpl<>("{4}{R}{G}")));
CardType.ARTIFACT, Duration.EndOfTurn), new ManaCostsImpl<>("{4}{R}{G}")));
}
private AtarkaMonument(final AtarkaMonument card) {

View file

@ -36,7 +36,7 @@ public final class AzoriusKeyrune extends CardImpl {
.withSubType(SubType.BIRD)
.withType(CardType.ARTIFACT)
.withAbility(FlyingAbility.getInstance()),
"", Duration.EndOfTurn), new ManaCostsImpl<>("{W}{U}")));
CardType.ARTIFACT, Duration.EndOfTurn), new ManaCostsImpl<>("{W}{U}")));
}
private AzoriusKeyrune(final AzoriusKeyrune card) {

View file

@ -45,7 +45,7 @@ public final class BlinkmothNexus extends CardImpl {
.withSubType(SubType.BLINKMOTH)
.withType(CardType.ARTIFACT)
.withAbility(FlyingAbility.getInstance()),
"land", Duration.EndOfTurn), new GenericManaCost(1)));
CardType.LAND, Duration.EndOfTurn), new GenericManaCost(1)));
// {1}, {T}: Target Blinkmoth creature gets +1/+1 until end of turn.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(1, 1, Duration.EndOfTurn), new GenericManaCost(1));

View file

@ -32,7 +32,7 @@ public final class BogardanDragonheart extends CardImpl {
// Sacrifice another creature: Until end of turn, Bogardan Dragonheart becomes a Dragon with base power and toughness 4/4, flying, and haste.
this.addAbility(new SimpleActivatedAbility(new BecomesCreatureSourceEffect(
new BogardanDragonheartToken(), null, Duration.EndOfTurn
new BogardanDragonheartToken(), CardType.CREATURE, Duration.EndOfTurn
).withDurationRuleAtStart(true), new SacrificeTargetCost(new TargetControlledPermanent(StaticFilters.FILTER_CONTROLLED_ANOTHER_CREATURE))));
}

View file

@ -36,7 +36,7 @@ public final class BorosKeyrune extends CardImpl {
.withSubType(SubType.SOLDIER)
.withType(CardType.ARTIFACT)
.withAbility(DoubleStrikeAbility.getInstance()),
"", Duration.EndOfTurn), new ManaCostsImpl<>("{R}{W}")));
CardType.ARTIFACT, Duration.EndOfTurn), new ManaCostsImpl<>("{R}{W}")));
}
private BorosKeyrune(final BorosKeyrune card) {

View file

@ -49,7 +49,7 @@ public final class CaveOfTheFrostDragon extends CardImpl {
.withColor("W")
.withSubType(SubType.DRAGON)
.withAbility(FlyingAbility.getInstance()),
"land", Duration.EndOfTurn), new ManaCostsImpl<>("{4}{W}")));
CardType.LAND, Duration.EndOfTurn), new ManaCostsImpl<>("{4}{W}")));
}
private CaveOfTheFrostDragon(final CaveOfTheFrostDragon card) {

View file

@ -41,7 +41,7 @@ public final class CelestialColonnade extends CardImpl {
.withSubType(SubType.ELEMENTAL)
.withAbility(FlyingAbility.getInstance())
.withAbility(VigilanceAbility.getInstance()),
"land", Duration.EndOfTurn).withDurationRuleAtStart(true), new ManaCostsImpl<>("{3}{W}{U}")));
CardType.LAND, Duration.EndOfTurn).withDurationRuleAtStart(true), new ManaCostsImpl<>("{3}{W}{U}")));
}
private CelestialColonnade(final CelestialColonnade card) {

View file

@ -45,7 +45,7 @@ public final class ChimericEgg extends CardImpl {
.withSubType(SubType.CONSTRUCT)
.withType(CardType.ARTIFACT)
.withAbility(TrampleAbility.getInstance()),
"", Duration.EndOfTurn), new RemoveCountersSourceCost(new Counter(CounterType.CHARGE.getName(), 3))));
CardType.ARTIFACT, Duration.EndOfTurn), new RemoveCountersSourceCost(new Counter(CounterType.CHARGE.getName(), 3))));
}
private ChimericEgg(final ChimericEgg card) {

View file

@ -31,7 +31,7 @@ public final class ChimericIdol extends CardImpl {
new CreatureToken(3, 3, "3/3 Turtle artifact creature")
.withSubType(SubType.TURTLE)
.withType(CardType.ARTIFACT),
"", Duration.EndOfTurn));
CardType.ARTIFACT, Duration.EndOfTurn));
this.addAbility(ability);
}
@ -44,4 +44,4 @@ public final class ChimericIdol extends CardImpl {
public ChimericIdol copy() {
return new ChimericIdol(this);
}
}
}

View file

@ -38,7 +38,7 @@ public final class ChimericMass extends CardImpl {
.withType(CardType.ARTIFACT)
.withSubType(SubType.CONSTRUCT)
.withAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SetBasePowerToughnessSourceEffect(new CountersSourceCount(CounterType.CHARGE)))),
"", Duration.EndOfTurn).withDurationRuleAtStart(true), new GenericManaCost(1)));
CardType.ARTIFACT, Duration.EndOfTurn).withDurationRuleAtStart(true), new GenericManaCost(1)));
}
private ChimericMass(final ChimericMass card) {

View file

@ -29,14 +29,14 @@ public final class ChimericSphere extends CardImpl {
.withSubType(SubType.CONSTRUCT)
.withType(CardType.ARTIFACT)
.withAbility(FlyingAbility.getInstance()),
"", Duration.EndOfTurn).withDurationRuleAtStart(true), new ManaCostsImpl<>("{2}")));
CardType.ARTIFACT, Duration.EndOfTurn).withDurationRuleAtStart(true), new ManaCostsImpl<>("{2}")));
// {2}: Until end of turn, Chimeric Sphere becomes a 3/2 Construct artifact creature without flying.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(
new CreatureToken(3, 2, "3/2 Construct artifact creature and loses flying")
.withSubType(SubType.CONSTRUCT)
.withType(CardType.ARTIFACT),
"", Duration.EndOfTurn).withDurationRuleAtStart(true), new ManaCostsImpl<>("{2}")));
CardType.ARTIFACT, Duration.EndOfTurn).withDurationRuleAtStart(true), new ManaCostsImpl<>("{2}")));
}
private ChimericSphere(final ChimericSphere card) {

View file

@ -46,7 +46,7 @@ public final class ChromiumTheMutable extends CardImpl {
// Discard a card: Until end of turn, Chromium, the Mutable becomes a Human with base power and toughness 1/1, loses all abilities, and gains hexproof. It can't be blocked this turn.
Ability ability = new SimpleActivatedAbility(
new BecomesCreatureSourceEffect(
new ChromiumTheMutableToken(), null, Duration.EndOfTurn
new ChromiumTheMutableToken(), CardType.CREATURE, Duration.EndOfTurn
).andLoseAbilities(true).setText("Until end of turn, {this} becomes "
+ "a Human with base power and toughness 1/1, "
+ "loses all abilities, and gains hexproof"),

View file

@ -39,7 +39,7 @@ public final class ChronatogTotem extends CardImpl {
.withColor("U")
.withSubType(SubType.ATOG)
.withType(CardType.ARTIFACT),
"", Duration.EndOfTurn
CardType.ARTIFACT, Duration.EndOfTurn
), new ManaCostsImpl<>("{1}{U}")));
// {0}: Chronatog Totem gets +3/+3 until end of turn. You skip your next turn. Activate this ability only once each turn and only if Chronatog Totem is a creature.

View file

@ -73,7 +73,7 @@ class CrawlingBarrensEffect extends OneShotEffect {
}
game.addEffect(new BecomesCreatureSourceEffect(new CreatureToken(
0, 0, "0/0 Elemental creature"
).withSubType(SubType.ELEMENTAL), "land", Duration.EndOfTurn), source);
).withSubType(SubType.ELEMENTAL), CardType.LAND, Duration.EndOfTurn), source);
return true;
}
}

View file

@ -40,7 +40,7 @@ public final class CreepingTarPit extends CardImpl {
.withColor("BU")
.withSubType(SubType.ELEMENTAL)
.withAbility(new CantBeBlockedSourceAbility()),
"land", Duration.EndOfTurn)
CardType.LAND, Duration.EndOfTurn)
.setText("{this} becomes a 3/2 blue and black Elemental creature until end of turn and can't be blocked this turn. It's still a land"),
new ManaCostsImpl<>("{1}{U}{B}")));
}

View file

@ -32,7 +32,7 @@ public final class DarksteelBrute extends CardImpl {
new CreatureToken(2, 2, "2/2 Beast artifact creature")
.withSubType(SubType.BEAST)
.withType(CardType.ARTIFACT),
"", Duration.EndOfTurn), new GenericManaCost(3)));
CardType.ARTIFACT, Duration.EndOfTurn), new GenericManaCost(3)));
}
private DarksteelBrute(final DarksteelBrute card) {
@ -44,4 +44,4 @@ public final class DarksteelBrute extends CardImpl {
return new DarksteelBrute(this);
}
}
}

View file

@ -28,7 +28,7 @@ public final class DaxossTorment extends CardImpl {
.withSubType(SubType.DEMON)
.withAbility(FlyingAbility.getInstance())
.withAbility(HasteAbility.getInstance()),
"previous types", Duration.EndOfTurn)
CardType.ENCHANTMENT, Duration.EndOfTurn)
.setText("{this} becomes a 5/5 Demon creature with flying and haste in addition to its other types until end of turn")));
}

View file

@ -57,7 +57,7 @@ public final class DenOfTheBugbear extends CardImpl {
.withColor("R")
.withSubType(SubType.GOBLIN)
.withAbility(ability),
"land", Duration.EndOfTurn).withDurationRuleAtStart(true), new ManaCostsImpl<>("{3}{R}")));
CardType.LAND, Duration.EndOfTurn).withDurationRuleAtStart(true), new ManaCostsImpl<>("{3}{R}")));
}
private DenOfTheBugbear(final DenOfTheBugbear card) {

View file

@ -35,7 +35,7 @@ public final class DimirKeyrune extends CardImpl {
.withColor("UB")
.withSubType(SubType.HORROR)
.withAbility(new CantBeBlockedSourceAbility()),
"", Duration.EndOfTurn).withDurationRuleAtStart(true), new ManaCostsImpl<>("{U}{B}")));
CardType.ARTIFACT, Duration.EndOfTurn).withDurationRuleAtStart(true), new ManaCostsImpl<>("{U}{B}")));
}
private DimirKeyrune(final DimirKeyrune card) {

View file

@ -39,7 +39,7 @@ public final class DireMimic extends CardImpl {
new CreatureToken(
5, 5, "Shapeshifter artifact creature " +
"with base power and toughness 5/5", SubType.SHAPESHIFTER
).withType(CardType.ARTIFACT), "", Duration.EndOfTurn
).withType(CardType.ARTIFACT), CardType.ARTIFACT, Duration.EndOfTurn
), new GenericManaCost(3)));
}

View file

@ -25,7 +25,7 @@ public final class DreadStatuary extends CardImpl {
public DreadStatuary(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.LAND},null);
this.addAbility(new ColorlessManaAbility());
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new DreadStatuaryToken(), "land", Duration.EndOfTurn), new ManaCostsImpl<>("{4}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new DreadStatuaryToken(), CardType.LAND, Duration.EndOfTurn), new ManaCostsImpl<>("{4}")));
}
private DreadStatuary(final DreadStatuary card) {

View file

@ -32,7 +32,7 @@ public final class DromokaMonument extends CardImpl {
// {4}{G}{W}: Dromoka Monument becomes a 4/4 green and white Dragon artifact creature with flying until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect
(new DromokaMonumentToken(), "", Duration.EndOfTurn), new ManaCostsImpl<>("{4}{G}{W}")));
(new DromokaMonumentToken(), CardType.ARTIFACT, Duration.EndOfTurn), new ManaCostsImpl<>("{4}{G}{W}")));
}
private DromokaMonument(final DromokaMonument card) {
@ -44,7 +44,7 @@ public final class DromokaMonument extends CardImpl {
return new DromokaMonument(this);
}
private class DromokaMonumentToken extends TokenImpl {
private static class DromokaMonumentToken extends TokenImpl {
DromokaMonumentToken() {
super("", "4/4 green and white Dragon artifact creature with flying");
cardType.add(CardType.ARTIFACT);

View file

@ -103,7 +103,7 @@ class EbonyFlyEffect extends OneShotEffect {
new CreatureToken(result, result)
.withType(CardType.ARTIFACT)
.withAbility(FlyingAbility.getInstance()),
"", Duration.EndOfTurn
CardType.ARTIFACT, Duration.EndOfTurn
), source);
return true;
}

View file

@ -30,7 +30,7 @@ public final class EnsouledScimitar extends CardImpl {
this.subtype.add(SubType.EQUIPMENT);
// {3}: Ensouled Scimitar becomes a 1/5 Spirit artifact creature with flying until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new EnsouledScimitarToken(), "", Duration.EndOfTurn), new ManaCostsImpl<>("{3}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new EnsouledScimitarToken(), CardType.ARTIFACT, Duration.EndOfTurn), new ManaCostsImpl<>("{3}")));
// Equipped creature gets +1/+5.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(1, 5)));
// Equip {2}
@ -65,4 +65,4 @@ class EnsouledScimitarToken extends TokenImpl {
public EnsouledScimitarToken copy() {
return new EnsouledScimitarToken(this);
}
}
}

View file

@ -28,7 +28,7 @@ public class EyeOfMalcator extends CardImpl {
new BecomesCreatureSourceEffect(
new CreatureToken(
4, 4, "4/4 Phyrexian Eye artifact creature", SubType.PHYREXIAN, SubType.EYE
).withType(CardType.ARTIFACT), "", Duration.EndOfTurn
).withType(CardType.ARTIFACT), CardType.ARTIFACT, Duration.EndOfTurn
).setText("{this} becomes a 4/4 Phyrexian Eye artifact creature until end of turn"),
StaticFilters.FILTER_CONTROLLED_ANOTHER_ARTIFACT
).setTriggerPhrase("Whenever another artifact enters the battlefield under your control, "));

View file

@ -30,7 +30,7 @@ public final class FacelessHaven extends CardImpl {
// {S}{S}{S}: Faceless Haven becomes a 4/3 creature with vigilance and all creature types until end of turn. It's still a land.
this.addAbility(new SimpleActivatedAbility(new BecomesCreatureSourceEffect(
new FacelessHavenToken(), "land", Duration.EndOfTurn
new FacelessHavenToken(), CardType.LAND, Duration.EndOfTurn
).setText("{this} becomes a 4/3 creature with vigilance and all creature types until end of turn. It's still a land"), new ManaCostsImpl<>("{S}{S}{S}")));
}

View file

@ -27,7 +27,7 @@ public final class FaerieConclave extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.LAND},"");
this.addAbility(new EntersBattlefieldTappedAbility());
this.addAbility(new BlueManaAbility());
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new FaerieConclaveToken(), "land", Duration.EndOfTurn), new ManaCostsImpl<>("{1}{U}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new FaerieConclaveToken(), CardType.LAND, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{U}")));
}
private FaerieConclave(final FaerieConclave card) {

View file

@ -32,7 +32,7 @@ public final class ForbiddingWatchtower extends CardImpl {
this.addAbility(new WhiteManaAbility());
// {1}{W}: Forbidding Watchtower becomes a 1/5 white Soldier creature until end of turn. It's still a land.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new ForbiddingWatchtowerToken(), "land", Duration.EndOfTurn), new ManaCostsImpl<>("{1}{W}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new ForbiddingWatchtowerToken(), CardType.LAND, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{W}")));
}
private ForbiddingWatchtower(final ForbiddingWatchtower card) {

View file

@ -36,7 +36,7 @@ public final class ForiysianTotem extends CardImpl {
this.addAbility(new RedManaAbility());
// {4}{R}: Foriysian Totem becomes a 4/4 red Giant artifact creature with trample until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new ForiysianTotemToken(), "", Duration.EndOfTurn), new ManaCostsImpl<>("{4}{R}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new ForiysianTotemToken(), CardType.ARTIFACT, Duration.EndOfTurn), new ManaCostsImpl<>("{4}{R}")));
// As long as Foriysian Totem is a creature, it can block an additional creature each combat.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect(new CanBlockAdditionalCreatureEffect(1), new SourceMatchesFilterCondition(new FilterCreaturePermanent()), ruleText)));

View file

@ -27,7 +27,7 @@ public final class FountainOfIchor extends CardImpl {
// {3}: Fountain of Ichor becomes a 3/3 Dinosaur artifact creature until end of turn.
this.addAbility(new SimpleActivatedAbility(new BecomesCreatureSourceEffect(
new FountainOfIchorToken(), "", Duration.EndOfTurn
new FountainOfIchorToken(), CardType.ARTIFACT, Duration.EndOfTurn
), new GenericManaCost(3)));
}

View file

@ -34,7 +34,7 @@ public final class FrostwalkBastion extends CardImpl {
// {1}{S}: Until end of turn, Frostwalk Bastion becomes a 2/3 Construct artifact creature. It's still a land.
this.addAbility(new SimpleActivatedAbility(new BecomesCreatureSourceEffect(
new FrostwalkBastionToken(), "land", Duration.EndOfTurn
new FrostwalkBastionToken(), CardType.LAND, Duration.EndOfTurn
).withDurationRuleAtStart(true), new ManaCostsImpl<>("{1}{S}")));
// Whenever Frostwalk Bastion deals combat damage to a creature, tap that creature and it doesn't untap during its controller's next untap step.

View file

@ -29,7 +29,7 @@ public final class GhituEncampment extends CardImpl {
this.addAbility(new EntersBattlefieldTappedAbility());
this.addAbility(new RedManaAbility());
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
new BecomesCreatureSourceEffect(new GhituEncampmentToken(), "land", Duration.EndOfTurn),
new BecomesCreatureSourceEffect(new GhituEncampmentToken(), CardType.LAND, Duration.EndOfTurn),
new ManaCostsImpl<>("{1}{R}")));
}

View file

@ -34,7 +34,7 @@ public final class GideonAllyOfZendikar extends CardImpl {
this.setStartingLoyalty(4);
// +1: Until end of turn, Gideon, Ally of Zendikar becomes a 5/5 Human Soldier Ally creature with indestructible that's still a planeswalker. Prevent all damage that would be dealt to him this turn.
LoyaltyAbility ability = new LoyaltyAbility(new BecomesCreatureSourceEffect(new GideonAllyOfZendikarToken(), "planeswalker", Duration.EndOfTurn), 1);
LoyaltyAbility ability = new LoyaltyAbility(new BecomesCreatureSourceEffect(new GideonAllyOfZendikarToken(), CardType.PLANESWALKER, Duration.EndOfTurn), 1);
Effect effect = new PreventAllDamageToSourceEffect(Duration.EndOfTurn);
effect.setText("Prevent all damage that would be dealt to him this turn");
ability.addEffect(effect);

View file

@ -60,7 +60,7 @@ public final class GideonBattleForged extends CardImpl {
this.addAbility(loyaltyAbility);
// 0: Until end of turn, Gideon, Battle-Forged becomes a 4/4 Human Soldier creature with indestructible that's still a planeswalker. Prevent all damage that would be dealt to him this turn.
LoyaltyAbility ability3 = new LoyaltyAbility(new BecomesCreatureSourceEffect(new GideonBattleForgedToken(), "planeswalker", Duration.EndOfTurn), 0);
LoyaltyAbility ability3 = new LoyaltyAbility(new BecomesCreatureSourceEffect(new GideonBattleForgedToken(), CardType.PLANESWALKER, Duration.EndOfTurn), 0);
effect = new PreventAllDamageToSourceEffect(Duration.EndOfTurn);
effect.setText("Prevent all damage that would be dealt to him this turn");
ability3.addEffect(effect);

View file

@ -57,7 +57,7 @@ public final class GideonBlackblade extends CardImpl {
// As long as it's your turn, Gideon Blackblade is a 4/4 Human Soldier creature with indestructible that's still a planeswalker.
this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect(
new BecomesCreatureSourceEffect(
new GideonBlackbladeToken(), "planeswalker", Duration.WhileOnBattlefield
new GideonBlackbladeToken(), CardType.PLANESWALKER, Duration.WhileOnBattlefield
), MyTurnCondition.instance, "As long as it's your turn, " +
"{this} is a 4/4 Human Soldier creature with indestructible that's still a planeswalker."
)).addHint(MyTurnHint.instance));
@ -165,4 +165,4 @@ class GideonBlackbladeEffect extends OneShotEffect {
}
return true;
}
}
}

View file

@ -49,7 +49,7 @@ public final class GideonChampionOfJustice extends CardImpl {
// 0: Until end of turn, Gideon becomes an indestructible Human Soldier creature with power and toughness each equal to the number of loyalty counters on him. He's still a planeswalker. Prevent all damage that would be dealt to him this turn.
LockedInDynamicValue loyaltyCount = new LockedInDynamicValue(new CountersSourceCount(CounterType.LOYALTY));
LoyaltyAbility ability2 = new LoyaltyAbility(new BecomesCreatureSourceEffect(
new GideonChampionOfJusticeToken(), "planeswalker", Duration.EndOfTurn).withDynamicPT(loyaltyCount, loyaltyCount)
new GideonChampionOfJusticeToken(), CardType.PLANESWALKER, Duration.EndOfTurn).withDynamicPT(loyaltyCount, loyaltyCount)
.setText("Until end of turn, {this} becomes a Human Soldier creature with power and toughness each equal to the number of loyalty counters on him and gains indestructible. He's still a planeswalker."), 0);
ability2.addEffect(new PreventAllDamageToSourceEffect(Duration.EndOfTurn).setText("prevent all damage that would be dealt to him this turn"));
this.addAbility(ability2);

View file

@ -51,7 +51,7 @@ public final class GideonJura extends CardImpl {
this.addAbility(ability2);
// 0: Until end of turn, Gideon Jura becomes a 6/6 Human Soldier creature that's still a planeswalker. Prevent all damage that would be dealt to him this turn.
LoyaltyAbility ability3 = new LoyaltyAbility(new BecomesCreatureSourceEffect(new GideonJuraToken(), "planeswalker", Duration.EndOfTurn), 0);
LoyaltyAbility ability3 = new LoyaltyAbility(new BecomesCreatureSourceEffect(new GideonJuraToken(), CardType.PLANESWALKER, Duration.EndOfTurn), 0);
Effect effect = new PreventAllDamageToSourceEffect(Duration.EndOfTurn);
effect.setText("Prevent all damage that would be dealt to him this turn");
ability3.addEffect(effect);

View file

@ -44,7 +44,7 @@ public final class GideonMartialParagon extends CardImpl {
// 0: Until end of turn, Gideon, Martial Paragon, becomes a 5/5 Human Soldier creature with indestructible that's still a planeswalker.
// Prevent all damage that would be dealt to him this turn.
ability = new LoyaltyAbility(new BecomesCreatureSourceEffect(new GideonMartialParagonToken(), "planeswalker", Duration.EndOfTurn), 0);
ability = new LoyaltyAbility(new BecomesCreatureSourceEffect(new GideonMartialParagonToken(), CardType.PLANESWALKER, Duration.EndOfTurn), 0);
effect = new PreventAllDamageToSourceEffect(Duration.EndOfTurn);
effect.setText("Prevent all damage that would be dealt to him this turn");
ability.addEffect(effect);

View file

@ -42,7 +42,7 @@ public final class GideonOfTheTrials extends CardImpl {
this.addAbility(ability);
// 0: Until end of turn, Gideon of the Trials becomes a 4/4 Human Soldier creature with indestructible that's still a planeswalker. Prevent all damage that would be dealt to him this turn.
ability = new LoyaltyAbility(new BecomesCreatureSourceEffect(new GideonOfTheTrialsToken(), "planeswalker", Duration.EndOfTurn), 0);
ability = new LoyaltyAbility(new BecomesCreatureSourceEffect(new GideonOfTheTrialsToken(), CardType.PLANESWALKER, Duration.EndOfTurn), 0);
effect = new PreventAllDamageToSourceEffect(Duration.EndOfTurn);
effect.setText("Prevent all damage that would be dealt to him this turn");
ability.addEffect(effect);

View file

@ -41,7 +41,7 @@ public final class GideonTheOathsworn extends CardImpl {
// +2: Until end of turn, Gideon, the Oathsworn becomes a 5/5 white Soldier creature that's still a planeswalker. Prevent all damage that would be dealt to him this turn.
Ability ability = new LoyaltyAbility(new BecomesCreatureSourceEffect(
new GideonTheOathswornToken(), "planeswalker", Duration.EndOfTurn
new GideonTheOathswornToken(), CardType.PLANESWALKER, Duration.EndOfTurn
), 2);
ability.addEffect(new PreventAllDamageToSourceEffect(
Duration.EndOfTurn

View file

@ -34,10 +34,10 @@ public final class GlintHawkIdol extends CardImpl {
// Whenever another artifact enters the battlefield under your control, you may have {this} become a 2/2 Bird artifact creature with flying until end of turn.
this.addAbility(new EntersBattlefieldControlledTriggeredAbility(
Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new GlintHawkIdolToken(), "", Duration.EndOfTurn), filter, true));
Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new GlintHawkIdolToken(), CardType.ARTIFACT, Duration.EndOfTurn), filter, true));
// {W}: Glint Hawk Idol becomes a 2/2 Bird artifact creature with flying until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new GlintHawkIdolToken(), "", Duration.EndOfTurn), new ColoredManaCost(ColoredManaSymbol.W)));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new GlintHawkIdolToken(), CardType.ARTIFACT, Duration.EndOfTurn), new ColoredManaCost(ColoredManaSymbol.W)));
}
public GlintHawkIdol (final GlintHawkIdol card) {

View file

@ -30,7 +30,7 @@ public final class GolgariKeyrune extends CardImpl {
this.addAbility(new GreenManaAbility());
// {B}{G}: Golgari Keyrune becomes a 2/2 black and green Insect artifact creature with deathtouch until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new GolgariKeyruneToken(), "", Duration.EndOfTurn), new ManaCostsImpl<>("{B}{G}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new GolgariKeyruneToken(), CardType.ARTIFACT, Duration.EndOfTurn), new ManaCostsImpl<>("{B}{G}")));
}
private GolgariKeyrune(final GolgariKeyrune card) {

View file

@ -31,7 +31,7 @@ public final class GruulKeyrune extends CardImpl {
this.addAbility(new GreenManaAbility());
// {R}{G}: Gruul Keyrune becomes a 3/2 red and green Beast artifact creature with trample until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new GruulKeyruneToken(), "", Duration.EndOfTurn), new ManaCostsImpl<>("{R}{G}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new GruulKeyruneToken(), CardType.ARTIFACT, Duration.EndOfTurn), new ManaCostsImpl<>("{R}{G}")));
}
private GruulKeyrune(final GruulKeyrune card) {

View file

@ -30,7 +30,7 @@ public final class GruulWarPlow extends CardImpl {
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(TrampleAbility.getInstance(), Duration.WhileOnBattlefield, StaticFilters.FILTER_PERMANENT_CREATURES)));
// {1}{R}{G}: Gruul War Plow becomes a 4/4 Juggernaut artifact creature until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new GruulWarPlowToken(), "", Duration.EndOfTurn), new ManaCostsImpl<>("{1}{R}{G}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new GruulWarPlowToken(), CardType.ARTIFACT, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{R}{G}")));
}
private GruulWarPlow(final GruulWarPlow card) {

View file

@ -30,7 +30,7 @@ public final class GuardianIdol extends CardImpl {
// {tap}: Add {C}.
this.addAbility(new ColorlessManaAbility());
// {2}: Guardian Idol becomes a 2/2 Golem artifact creature until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new GuardianIdolGolemToken(), "", Duration.EndOfTurn), new ManaCostsImpl<>("{2}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new GuardianIdolGolemToken(), CardType.ARTIFACT, Duration.EndOfTurn), new ManaCostsImpl<>("{2}")));
}
private GuardianIdol(final GuardianIdol card) {

View file

@ -25,7 +25,7 @@ public final class HalcyonGlaze extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{U}{U}");
// Whenever you cast a creature spell, Halcyon Glaze becomes a 4/4 Illusion creature with flying in addition to its other types until end of turn.
Effect effect = new BecomesCreatureSourceEffect(new HalcyonGlazeToken(), "enchantment", Duration.EndOfTurn);
Effect effect = new BecomesCreatureSourceEffect(new HalcyonGlazeToken(), CardType.ENCHANTMENT, Duration.EndOfTurn);
effect.setText("{this} becomes a 4/4 Illusion creature with flying in addition to its other types until end of turn");
this.addAbility(new SpellCastControllerTriggeredAbility(effect, StaticFilters.FILTER_SPELL_A_CREATURE, false));
}

View file

@ -50,7 +50,7 @@ public final class HallOfStormGiants extends CardImpl {
.withColor("U")
.withSubType(SubType.GIANT)
.withAbility(new WardAbility(new GenericManaCost(3))),
"land", Duration.EndOfTurn).setText(
CardType.LAND, Duration.EndOfTurn).setText(
"Until end of turn, Hall of Storm Giants becomes a 7/7 blue Giant creature with ward {3}. " +
"It's still a land. " +
"<i>(Whenever it becomes the target of a spell or ability an opponent controls, " +

View file

@ -37,7 +37,7 @@ public final class HauntedPlateMail extends CardImpl {
// {0}: Until end of turn, Haunted Plate Mail becomes a 4/4 Spirit artifact creature that's no longer an Equipment. Activate this ability only if you control no creatures.
Ability ability = new ConditionalActivatedAbility(
Zone.BATTLEFIELD,
new BecomesCreatureSourceEffect(new HauntedPlateMailToken(), "", Duration.EndOfTurn),
new BecomesCreatureSourceEffect(new HauntedPlateMailToken(), CardType.ARTIFACT, Duration.EndOfTurn),
new ManaCostsImpl<>("{0}"),
new PermanentsOnTheBattlefieldCondition(StaticFilters.FILTER_PERMANENT_CREATURE, ComparisonType.EQUAL_TO, 0),
"{0}: Until end of turn, Haunted Plate Mail becomes a 4/4 Spirit artifact creature that's no longer an Equipment. Activate only if you control no creatures.");

View file

@ -35,7 +35,7 @@ public final class HiddenAncients extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{G}");
// When an opponent casts an enchantment spell, if Hidden Ancients is an enchantment, Hidden Ancients becomes a 5/5 Treefolk creature.
TriggeredAbility ability = new SpellCastOpponentTriggeredAbility(new BecomesCreatureSourceEffect(new HiddenAncientsTreefolkToken(), Duration.WhileOnBattlefield),
TriggeredAbility ability = new SpellCastOpponentTriggeredAbility(new BecomesCreatureSourceEffect(new HiddenAncientsTreefolkToken(), null, Duration.WhileOnBattlefield),
filter, false);
this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new SourceMatchesFilterCondition(StaticFilters.FILTER_PERMANENT_ENCHANTMENT),
"When an opponent casts an enchantment spell, if {this} is an enchantment, {this} becomes a 5/5 Treefolk creature."));

View file

@ -35,7 +35,7 @@ public final class HiddenGibbons extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{G}");
// When an opponent casts an instant spell, if Hidden Gibbons is an enchantment, Hidden Gibbons becomes a 4/4 Ape creature.
TriggeredAbility ability = new SpellCastOpponentTriggeredAbility(new BecomesCreatureSourceEffect(new HiddenGibbonsApe(), Duration.WhileOnBattlefield),
TriggeredAbility ability = new SpellCastOpponentTriggeredAbility(new BecomesCreatureSourceEffect(new HiddenGibbonsApe(), null, Duration.WhileOnBattlefield),
filter, false);
this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new SourceMatchesFilterCondition(StaticFilters.FILTER_PERMANENT_ENCHANTMENT),
"When an opponent casts an instant spell, if {this} is an enchantment, {this} becomes a 4/4 Ape creature."));

View file

@ -30,7 +30,7 @@ public final class HiddenGuerrillas extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{G}");
// When an opponent casts an artifact spell, if Hidden Guerrillas is an enchantment, Hidden Guerrillas becomes a 5/3 Soldier creature with trample.
TriggeredAbility ability = new SpellCastOpponentTriggeredAbility(new BecomesCreatureSourceEffect(new HiddenGuerrillasSoldier(), Duration.WhileOnBattlefield),
TriggeredAbility ability = new SpellCastOpponentTriggeredAbility(new BecomesCreatureSourceEffect(new HiddenGuerrillasSoldier(), null, Duration.WhileOnBattlefield),
new FilterArtifactSpell(), false);
this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new SourceMatchesFilterCondition(StaticFilters.FILTER_PERMANENT_ENCHANTMENT),
"When an opponent casts an artifact spell, if {this} is an enchantment, {this} becomes a 5/3 Soldier creature with trample."));

View file

@ -12,7 +12,6 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.SubType;
import mage.constants.SuperType;
import mage.constants.Zone;
import mage.filter.StaticFilters;
import mage.game.Game;
@ -50,7 +49,7 @@ public final class HiddenHerd extends CardImpl {
class HiddenHerdAbility extends TriggeredAbilityImpl {
public HiddenHerdAbility() {
super(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new HiddenHerdBeast(), Duration.WhileOnBattlefield), false);
super(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new HiddenHerdBeast(), null, Duration.WhileOnBattlefield), false);
}
public HiddenHerdAbility(final HiddenHerdAbility ability) {

View file

@ -46,7 +46,7 @@ class HiddenPredatorsStateTriggeredAbility extends StateTriggeredAbility {
}
public HiddenPredatorsStateTriggeredAbility() {
super(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new HiddenPredatorsToken(), Duration.Custom));
super(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new HiddenPredatorsToken(), null, Duration.Custom));
setTriggerPhrase("When an opponent controls a creature with power 4 or greater, if {this} is an enchantment, ");
}

View file

@ -38,7 +38,7 @@ public final class HiddenSpider extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{G}");
// When an opponent casts a creature spell with flying, if Hidden Spider is an enchantment, Hidden Spider becomes a 3/5 Spider creature with reach.
TriggeredAbility ability = new SpellCastOpponentTriggeredAbility(new BecomesCreatureSourceEffect(new HiddenSpiderToken(), Duration.WhileOnBattlefield),
TriggeredAbility ability = new SpellCastOpponentTriggeredAbility(new BecomesCreatureSourceEffect(new HiddenSpiderToken(), null, Duration.WhileOnBattlefield),
filter, false);
this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new SourceMatchesFilterCondition(StaticFilters.FILTER_PERMANENT_ENCHANTMENT),
"When an opponent casts a creature spell with flying, if {this} is an enchantment, {this} becomes a 3/5 Spider creature with reach."));

View file

@ -29,7 +29,7 @@ public final class HiddenStag extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{G}");
// Whenever an opponent plays a land, if Hidden Stag is an enchantment, Hidden Stag becomes a 3/2 Elk Beast creature.
Effect effect = new BecomesCreatureSourceEffect(new ElkBeastToken(), Duration.WhileOnBattlefield);
Effect effect = new BecomesCreatureSourceEffect(new ElkBeastToken(), null, Duration.WhileOnBattlefield);
TriggeredAbility ability = new OpponentPlaysLandTriggeredAbility(Zone.BATTLEFIELD, effect, false);
this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new SourceMatchesFilterCondition(StaticFilters.FILTER_PERMANENT_ENCHANTMENT),
"Whenever an opponent plays a land, if Hidden Stag is an enchantment, Hidden Stag becomes a 3/2 Elk Beast creature."));

View file

@ -36,7 +36,7 @@ public final class HissingQuagmire extends CardImpl {
this.addAbility(new GreenManaAbility());
// {1}{B}{G}: Hissing Quagmire becomes a 2/2 black and green Elemental creature with deathtouch until end of turn. It's still a land.
Effect effect = new BecomesCreatureSourceEffect(new HissingQuagmireToken(), "land", Duration.EndOfTurn);
Effect effect = new BecomesCreatureSourceEffect(new HissingQuagmireToken(), CardType.LAND, Duration.EndOfTurn);
effect.setText("{this} becomes a 2/2 black and green Elemental creature with deathtouch until end of turn. It's still a land");
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{1}{B}{G}")));
}

View file

@ -63,7 +63,7 @@ public final class HiveOfTheEyeTyrant extends CardImpl {
3, 3, "3/3 black Beholder creature with menace and " +
"\"Whenever this creature attacks, exile target card from defending player's graveyard.\""
).withSubType(SubType.BEHOLDER).withColor("B").withAbility(new MenaceAbility()).withAbility(ability),
"land", Duration.EndOfTurn
CardType.LAND, Duration.EndOfTurn
).withDurationRuleAtStart(true), new ManaCostsImpl<>("{3}{B}")));
}

View file

@ -34,7 +34,7 @@ public final class HostileDesert extends CardImpl {
// {2}, Exile a land card from your graveyard: Hostile Desert becomes a 3/4 Elemental creature until end of turn. It's still a land.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(
new CreatureToken(3, 4, "3/4 Elemental creature", SubType.ELEMENTAL),
"land", Duration.EndOfTurn), new GenericManaCost(2));
CardType.LAND, Duration.EndOfTurn), new GenericManaCost(2));
ability.addCost(new ExileFromGraveCost(new TargetCardInYourGraveyard(new FilterLandCard("land card from your graveyard"))));
addAbility(ability);
}
@ -47,4 +47,4 @@ public final class HostileDesert extends CardImpl {
public HostileDesert copy() {
return new HostileDesert(this);
}
}
}

View file

@ -32,7 +32,7 @@ public final class InkmothNexus extends CardImpl {
this.addAbility(new ColorlessManaAbility());
// {1}: Inkmoth Nexus becomes a 1/1 Blinkmoth artifact creature with flying and infect until end of turn. It's still a land. (It deals damage to creatures in the form of -1/-1 counters and to players in the form of poison counters.)
Effect effect = new BecomesCreatureSourceEffect(new InkmothNexusToken(), "land", Duration.EndOfTurn);
Effect effect = new BecomesCreatureSourceEffect(new InkmothNexusToken(), CardType.LAND, Duration.EndOfTurn);
effect.setText("{this} becomes a 1/1 Phyrexian Blinkmoth artifact creature with flying and infect until end of turn. It's still a land. <i>(It deals damage to creatures in the form of -1/-1 counters and to players in the form of poison counters.)</i>");
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new GenericManaCost(1)));
}

View file

@ -31,7 +31,7 @@ public final class IzzetKeyrune extends CardImpl {
// {U}{R}: Until end of turn, Izzet Keyrune becomes a 2/1 blue and red Elemental artifact creature.
this.addAbility(new SimpleActivatedAbility(new BecomesCreatureSourceEffect(
new IzzetKeyruneToken(), "", Duration.EndOfTurn
new IzzetKeyruneToken(), CardType.ARTIFACT, Duration.EndOfTurn
).withDurationRuleAtStart(true), new ManaCostsImpl<>("{U}{R}")));
// Whenever Izzet Keyrune deals combat damage to a player, you may draw a card. If you do, discard a card.

View file

@ -21,7 +21,7 @@ public final class JadeIdol extends CardImpl {
public JadeIdol(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{4}");
this.addAbility(new SpellCastControllerTriggeredAbility(new BecomesCreatureSourceEffect(new JadeIdolToken(), "", Duration.EndOfTurn), StaticFilters.FILTER_SPIRIT_OR_ARCANE_CARD, false));
this.addAbility(new SpellCastControllerTriggeredAbility(new BecomesCreatureSourceEffect(new JadeIdolToken(), CardType.ARTIFACT, Duration.EndOfTurn), StaticFilters.FILTER_SPIRIT_OR_ARCANE_CARD, false));
}
private JadeIdol(final JadeIdol card) {
@ -51,4 +51,4 @@ class JadeIdolToken extends TokenImpl {
public JadeIdolToken copy() {
return new JadeIdolToken(this);
}
}
}

View file

@ -27,7 +27,7 @@ public final class JadeStatue extends CardImpl {
// {2}: Jade Statue becomes a 3/6 Golem artifact creature until end of combat. Activate this ability only during combat.
this.addAbility(new ConditionalActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect (new JadeStatueToken(), "", Duration.EndOfCombat), new ManaCostsImpl<>("{2}"), new IsPhaseCondition(TurnPhase.COMBAT), "{2}: {this} becomes a 3/6 Golem artifact creature until end of combat. Activate only during combat."));
this.addAbility(new ConditionalActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect (new JadeStatueToken(), CardType.ARTIFACT, Duration.EndOfCombat), new ManaCostsImpl<>("{2}"), new IsPhaseCondition(TurnPhase.COMBAT), "{2}: {this} becomes a 3/6 Golem artifact creature until end of combat. Activate only during combat."));
}
private JadeStatue(final JadeStatue card) {

View file

@ -32,7 +32,7 @@ public final class KolaghanMonument extends CardImpl {
// {4}{B}{R}: Kolaghan Monument becomes a 4/4 black and red Dragon artifact creature with flying until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect
(new KolaghanMonumentToken(), "", Duration.EndOfTurn), new ManaCostsImpl<>("{4}{B}{R}")));
(new KolaghanMonumentToken(), CardType.ARTIFACT, Duration.EndOfTurn), new ManaCostsImpl<>("{4}{B}{R}")));
}
private KolaghanMonument(final KolaghanMonument card) {
@ -44,7 +44,7 @@ public final class KolaghanMonument extends CardImpl {
return new KolaghanMonument(this);
}
private class KolaghanMonumentToken extends TokenImpl {
private static class KolaghanMonumentToken extends TokenImpl {
KolaghanMonumentToken() {
super("", "4/4 black and red Dragon artifact creature with flying");
cardType.add(CardType.ARTIFACT);

View file

@ -89,7 +89,7 @@ class LairOfTheHydraEffect extends OneShotEffect {
new CreatureToken(xValue, xValue, "X/X green Hydra creature")
.withColor("G")
.withSubType(SubType.HYDRA),
"land", Duration.EndOfTurn), source
CardType.LAND, Duration.EndOfTurn), source
);
return true;
}

View file

@ -36,7 +36,7 @@ public final class LavaclawReaches extends CardImpl {
this.addAbility(new RedManaAbility());
// {1}{B}{R}: Until end of turn, Lavaclaw Reaches becomes a 2/2 black and red Elemental creature with ": This creature gets +X/+0 until end of turn." It's still a land.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new LavaclawReachesToken(), "land", Duration.EndOfTurn).withDurationRuleAtStart(true), new ManaCostsImpl<>("{1}{B}{R}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new LavaclawReachesToken(), CardType.LAND, Duration.EndOfTurn).withDurationRuleAtStart(true), new ManaCostsImpl<>("{1}{B}{R}")));
}
private LavaclawReaches(final LavaclawReaches card) {

View file

@ -38,7 +38,7 @@ public final class LevitatingStatue extends CardImpl {
this.addAbility(new SimpleActivatedAbility(new BecomesCreatureSourceEffect(
new CreatureToken(
1, 1, "1/1 Construct artifact creature", SubType.CONSTRUCT
).withType(CardType.ARTIFACT), "", Duration.EndOfTurn
).withType(CardType.ARTIFACT), CardType.ARTIFACT, Duration.EndOfTurn
), new GenericManaCost(2)));
}

View file

@ -35,7 +35,7 @@ public final class LumberingFalls extends CardImpl {
this.addAbility(new GreenManaAbility());
// {2}{G}{U}: Lumbering Falls becomes a 3/3 green and blue Elemental creature with hexproof until end of turn. It's still a land.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new LumberingFallsToken(), "land", Duration.EndOfTurn), new ManaCostsImpl<>("{2}{G}{U}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new LumberingFallsToken(), CardType.LAND, Duration.EndOfTurn), new ManaCostsImpl<>("{2}{G}{U}")));
}
private LumberingFalls(final LumberingFalls card) {

View file

@ -17,7 +17,6 @@ import mage.constants.SubType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.game.Game;
import mage.game.events.GameEvent;
import mage.game.permanent.token.TokenImpl;
import mage.players.Player;
import mage.util.CardUtil;
@ -32,7 +31,7 @@ public final class LurkingEvil extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{B}{B}{B}");
// Pay half your life, rounded up: Lurking Evil becomes a 4/4 Horror creature with flying.
Effect effect = new BecomesCreatureSourceEffect(new LurkingEvilToken(), Duration.EndOfGame);
Effect effect = new BecomesCreatureSourceEffect(new LurkingEvilToken(), null, Duration.EndOfGame);
effect.setText("{this} becomes a 4/4 Phyrexian Horror creature with flying");
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new LurkingEvilCost()));
}

View file

@ -40,7 +40,7 @@ public final class LurkingJackals extends CardImpl {
class LurkingJackalsStateTriggeredAbility extends StateTriggeredAbility {
public LurkingJackalsStateTriggeredAbility() {
super(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new LurkingJackalsToken(), Duration.Custom));
super(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new LurkingJackalsToken(), null, Duration.Custom));
setTriggerPhrase("When an opponent has 10 or less life, if {this} is an enchantment, ");
}

View file

@ -34,7 +34,7 @@ public final class LurkingSkirge extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{B}");
// When a creature is put into an opponent's graveyard from the battlefield, if Lurking Skirge is an enchantment, Lurking Skirge becomes a 3/2 Imp creature with flying.
TriggeredAbility ability = new PutIntoGraveFromBattlefieldAllTriggeredAbility(new BecomesCreatureSourceEffect(new LurkingSkirgeToken(), Duration.WhileOnBattlefield), false, filter, false);
TriggeredAbility ability = new PutIntoGraveFromBattlefieldAllTriggeredAbility(new BecomesCreatureSourceEffect(new LurkingSkirgeToken(), null, Duration.WhileOnBattlefield), false, filter, false);
this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new SourceMatchesFilterCondition(StaticFilters.FILTER_PERMANENT_ENCHANTMENT),
"When a creature is put into an opponent's graveyard from the battlefield, if {this} is an enchantment, {this} becomes a 3/2 Phyrexian Imp creature with flying."));
}

View file

@ -39,7 +39,7 @@ public final class MishrasFactory extends CardImpl {
2, 2,
"2/2 Assembly-Worker artifact creature",
SubType.ASSEMBLY_WORKER
).withType(CardType.ARTIFACT), "land", Duration.EndOfTurn
).withType(CardType.ARTIFACT), CardType.LAND, Duration.EndOfTurn
), new GenericManaCost(1)));
// {tap}: Target Assembly-Worker creature gets +1/+1 until end of turn.

View file

@ -42,7 +42,7 @@ public final class MishrasFoundry extends CardImpl {
2, 2,
"2/2 Assembly-Worker artifact creature",
SubType.ASSEMBLY_WORKER
).withType(CardType.ARTIFACT), "land", Duration.EndOfTurn
).withType(CardType.ARTIFACT), CardType.LAND, Duration.EndOfTurn
), new GenericManaCost(2)));
// {1}, {T}: Target attacking Assembly-Worker gets +2/+2 until end of turn.

View file

@ -37,7 +37,7 @@ public final class MobilizedDistrict extends CardImpl {
// {4}: Mobilized District becomes a 3/3 Citizen creature with vigilance until end of turn. It's still a land. This ability costs {1} less to activate for each legendary creature and planeswalker you control.
Ability ability = new SimpleActivatedAbility(new BecomesCreatureSourceEffect(
new MobilizedDistrictToken(), "land", Duration.EndOfTurn
new MobilizedDistrictToken(), CardType.LAND, Duration.EndOfTurn
).setText("{this} becomes a 3/3 Citizen creature with vigilance until end of turn. " +
"It's still a land. This ability costs {1} less to activate " +
"for each legendary creature and planeswalker you control."

View file

@ -63,7 +63,7 @@ public final class MonumentToPerfection extends CardImpl {
).withType(CardType.ARTIFACT)
.withAbility(IndestructibleAbility.getInstance())
.withAbility(new ToxicAbility(9)),
"", Duration.Custom
CardType.ARTIFACT, Duration.Custom
).andLoseAbilities(true), new GenericManaCost(3), MonumentToPerfectionCondition.instance
).addHint(MonumentToPerfectionValue.getHint()));
}

View file

@ -27,7 +27,7 @@ public final class Mutavault extends CardImpl {
this.addAbility(new ColorlessManaAbility());
// {1}: Mutavault becomes a 2/2 creature with all creature types until end of turn. It's still a land.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD,
new BecomesCreatureSourceEffect(new MutavaultToken(), "land", Duration.EndOfTurn),
new BecomesCreatureSourceEffect(new MutavaultToken(), CardType.LAND, Duration.EndOfTurn),
new ManaCostsImpl<>("{1}")));
}

View file

@ -44,7 +44,7 @@ public final class MythRealized extends CardImpl {
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.LORE.createInstance()), new ManaCostsImpl<>("{2}{W}")));
// {W}: Until end of turn, Myth Realized becomes a Monk Avatar creature in addition to its other types and gains "This creature's power and toughness are each equal to the number of lore counters on it."
Effect effect = new BecomesCreatureSourceEffect(new MythRealizedToken(), null, Duration.EndOfTurn);
Effect effect = new BecomesCreatureSourceEffect(new MythRealizedToken(), CardType.ENCHANTMENT, Duration.EndOfTurn);
effect.setText("Until end of turn, {this} becomes a Monk Avatar creature in addition to its other types ");
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{W}"));
ability.addEffect(new SetBasePowerToughnessSourceEffect(loreCounterCount, loreCounterCount, Duration.EndOfTurn, SubLayer.SetPT_7b).setText("and gains \"This creature's power and toughness are each equal to the number of lore counters on it.\""));

View file

@ -32,7 +32,7 @@ public final class NantukoMonastery extends CardImpl {
this.addAbility(new ColorlessManaAbility());
// Threshold - {G}{W}: Nantuko Monastery becomes a 4/4 green and white Insect Monk creature with first strike until end of turn. It's still a land. Activate this ability only if seven or more cards are in your graveyard.
Ability ability = new ConditionalActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(
new NantukoMonasteryToken(), "land", Duration.EndOfTurn), new ManaCostsImpl<>("{G}{W}"),
new NantukoMonasteryToken(), CardType.LAND, Duration.EndOfTurn), new ManaCostsImpl<>("{G}{W}"),
new CardsInControllerGraveyardCondition(7));
ability.setAbilityWord(AbilityWord.THRESHOLD);
this.addAbility(ability);

View file

@ -36,7 +36,7 @@ public final class NeedleSpires extends CardImpl {
this.addAbility(new WhiteManaAbility());
// {2}{R}{W}: Needle Spires becomes a 2/1 red and white Elemental creature with double strike until end of turn. It's still a land.
Effect effect = new BecomesCreatureSourceEffect(new NeedleSpiresToken(), "land", Duration.EndOfTurn);
Effect effect = new BecomesCreatureSourceEffect(new NeedleSpiresToken(), CardType.LAND, Duration.EndOfTurn);
effect.setText("{this} becomes a 2/1 red and white Elemental creature with double strike until end of turn. It's still a land");
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{2}{R}{W}")));
}

View file

@ -59,7 +59,7 @@ public final class NogiDracoZealot extends CardImpl {
new CreatureToken(5, 5, "Dragon with base power and toughness 5/5 and gains flying")
.withSubType(SubType.DRAGON)
.withAbility(FlyingAbility.getInstance()),
"", Duration.EndOfTurn), false
CardType.CREATURE, Duration.EndOfTurn), false
), condition, "Whenever {this} attacks, if you control three or more Dragons, until end of turn, " +
"{this} becomes a Dragon with base power and toughness 5/5 and gains flying"
);

View file

@ -32,7 +32,7 @@ public final class OjutaiMonument extends CardImpl {
// {4}{W}{U}: Ojutai Monument becomes a 4/4 white and blue Dragon artifact creature with flying until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect
(new OjutaiMonumentToken(), "", Duration.EndOfTurn), new ManaCostsImpl<>("{4}{W}{U}")));
(new OjutaiMonumentToken(), CardType.ARTIFACT, Duration.EndOfTurn), new ManaCostsImpl<>("{4}{W}{U}")));
}
private OjutaiMonument(final OjutaiMonument card) {

View file

@ -36,7 +36,7 @@ public final class OpalAcrolith extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{W}");
// Whenever an opponent casts a creature spell, if Opal Acrolith is an enchantment, Opal Acrolith becomes a 2/4 Soldier creature.
TriggeredAbility ability = new SpellCastOpponentTriggeredAbility(new BecomesCreatureSourceEffect(new OpalAcrolithToken(), Duration.WhileOnBattlefield),
TriggeredAbility ability = new SpellCastOpponentTriggeredAbility(new BecomesCreatureSourceEffect(new OpalAcrolithToken(), null, Duration.WhileOnBattlefield),
filter, false);
this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new SourceMatchesFilterCondition(StaticFilters.FILTER_PERMANENT_ENCHANTMENT),
"Whenever an opponent casts a creature spell, if Opal Acrolith is an enchantment, Opal Acrolith becomes a 2/4 Soldier creature."));

View file

@ -31,7 +31,7 @@ public final class OpalArchangel extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{4}{W}");
// When an opponent casts a creature spell, if Opal Archangel is an enchantment, Opal Archangel becomes a 5/5 Angel creature with flying and vigilance.
TriggeredAbility ability = new SpellCastOpponentTriggeredAbility(new BecomesCreatureSourceEffect(new OpalArchangelToken(), Duration.WhileOnBattlefield),
TriggeredAbility ability = new SpellCastOpponentTriggeredAbility(new BecomesCreatureSourceEffect(new OpalArchangelToken(), null, Duration.WhileOnBattlefield),
new FilterCreatureSpell(), false);
this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new SourceMatchesFilterCondition(StaticFilters.FILTER_PERMANENT_ENCHANTMENT),
"When an opponent casts a creature spell, if {this} is an enchantment, {this} becomes a 5/5 Angel creature with flying and vigilance."));

View file

@ -40,7 +40,7 @@ public final class OpalAvenger extends CardImpl {
class OpalAvengerStateTriggeredAbility extends StateTriggeredAbility {
public OpalAvengerStateTriggeredAbility() {
super(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new OpalAvengerToken(), Duration.Custom));
super(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new OpalAvengerToken(), null, Duration.Custom));
setTriggerPhrase("When you have 10 or less life, if {this} is an enchantment, ");
}

View file

@ -29,7 +29,7 @@ public final class OpalCaryatid extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{W}");
// When an opponent casts a creature spell, if Opal Caryatid is an enchantment, Opal Caryatid becomes a 2/2 Soldier creature.
TriggeredAbility ability = new SpellCastOpponentTriggeredAbility(new BecomesCreatureSourceEffect(new OpalCaryatidSoldierToken(), Duration.WhileOnBattlefield),
TriggeredAbility ability = new SpellCastOpponentTriggeredAbility(new BecomesCreatureSourceEffect(new OpalCaryatidSoldierToken(), null, Duration.WhileOnBattlefield),
new FilterCreatureSpell(), false);
this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new SourceMatchesFilterCondition(StaticFilters.FILTER_PERMANENT_ENCHANTMENT),
"When an opponent casts a creature spell, if {this} is an enchantment, {this} becomes a 2/2 Soldier creature."));

View file

@ -30,7 +30,7 @@ public final class OpalChampion extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{W}");
// When an opponent casts a creature spell, if Opal Champion is an enchantment, Opal Champion becomes a 3/3 Knight creature with first strike.
TriggeredAbility ability = new SpellCastOpponentTriggeredAbility(new BecomesCreatureSourceEffect(new OpalChampionKnight(), Duration.WhileOnBattlefield),
TriggeredAbility ability = new SpellCastOpponentTriggeredAbility(new BecomesCreatureSourceEffect(new OpalChampionKnight(), null, Duration.WhileOnBattlefield),
new FilterCreatureSpell(), false);
this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new SourceMatchesFilterCondition(StaticFilters.FILTER_PERMANENT_ENCHANTMENT),
"When an opponent casts a creature spell, if {this} is an enchantment, {this} becomes a 3/3 Knight creature with first strike."));

View file

@ -30,7 +30,7 @@ public final class OpalGargoyle extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}");
// When an opponent casts a creature spell, if Opal Gargoyle is an enchantment, Opal Gargoyle becomes a 2/2 Gargoyle creature with flying.
TriggeredAbility ability = new SpellCastOpponentTriggeredAbility(new BecomesCreatureSourceEffect(new OpalGargoyleToken(), Duration.WhileOnBattlefield),
TriggeredAbility ability = new SpellCastOpponentTriggeredAbility(new BecomesCreatureSourceEffect(new OpalGargoyleToken(), null, Duration.WhileOnBattlefield),
new FilterCreatureSpell(), false);
this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new SourceMatchesFilterCondition(StaticFilters.FILTER_PERMANENT_ENCHANTMENT),
"When an opponent casts a creature spell, if {this} is an enchantment, {this} becomes a 2/2 Gargoyle creature with flying."));

View file

@ -32,7 +32,7 @@ public final class OpalGuardian extends CardImpl {
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{W}{W}{W}");
// When an opponent casts a creature spell, if Opal Guardian is an enchantment, Opal Guardian becomes a 3/4 Gargoyle creature with flying and protection from red.
TriggeredAbility ability = new SpellCastOpponentTriggeredAbility(new BecomesCreatureSourceEffect(new OpalGuardianGargoyle(), Duration.WhileOnBattlefield),
TriggeredAbility ability = new SpellCastOpponentTriggeredAbility(new BecomesCreatureSourceEffect(new OpalGuardianGargoyle(), null, Duration.WhileOnBattlefield),
new FilterCreatureSpell(), false);
this.addAbility(new ConditionalInterveningIfTriggeredAbility(ability, new SourceMatchesFilterCondition(StaticFilters.FILTER_PERMANENT_ENCHANTMENT),
"When an opponent casts a creature spell, if {this} is an enchantment, {this} becomes a 3/4 Gargoyle creature with flying and protection from red."));

View file

@ -30,7 +30,7 @@ public final class OrzhovKeyrune extends CardImpl {
this.addAbility(new BlackManaAbility());
// {W}{B}: Orzhov Keyrune becomes a 1/4 white and black Thrull artifact creature with lifelink until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new OrzhovKeyruneToken(), "", Duration.EndOfTurn), new ManaCostsImpl<>("{W}{B}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new OrzhovKeyruneToken(), CardType.ARTIFACT, Duration.EndOfTurn), new ManaCostsImpl<>("{W}{B}")));
}
private OrzhovKeyrune(final OrzhovKeyrune card) {

View file

@ -37,7 +37,7 @@ public final class PhyrexianTotem extends CardImpl {
this.addAbility(new BlackManaAbility());
// {2}{B}: {this} becomes a 5/5 black Horror artifact creature with trample until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(
new PhyrexianTotemToken(), "", Duration.EndOfTurn), new ManaCostsImpl<>("{2}{B}")));
new PhyrexianTotemToken(), CardType.ARTIFACT, Duration.EndOfTurn), new ManaCostsImpl<>("{2}{B}")));
// Whenever {this} is dealt damage, if it's a creature, sacrifice that many permanents.
this.addAbility(new PhyrexianTotemTriggeredAbility());
}
@ -116,4 +116,4 @@ class PhyrexianTotemTriggeredAbility extends TriggeredAbilityImpl {
public String getRule() {
return "Whenever {this} is dealt damage, if it's a creature, sacrifice that many permanents.";
}
}
}

View file

@ -40,7 +40,7 @@ public final class RagingRavine extends CardImpl {
this.addAbility(new RedManaAbility());
Effect effect = new BecomesCreatureSourceEffect(
new CreatureToken(3, 3, "3/3 red and green Elemental creature", SubType.ELEMENTAL).withColor("RG"),
"land", Duration.EndOfTurn);
CardType.LAND, Duration.EndOfTurn);
effect.setText("Until end of turn, {this} becomes a 3/3 red and green Elemental creature");
// {2}{R}{G}: Until end of turn, Raging Ravine becomes a 3/3 red and green Elemental creature with "Whenever this creature attacks, put a +1/+1 counter on it." It's still a land.
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{2}{R}{G}"));
@ -59,4 +59,4 @@ public final class RagingRavine extends CardImpl {
return new RagingRavine(this);
}
}
}

View file

@ -30,7 +30,7 @@ public final class RakdosKeyrune extends CardImpl {
this.addAbility(new RedManaAbility());
// {B}{R}: Rakdos Keyrune becomes a 3/1 black and red Devil artifact creature with first strike until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new RakdosKeyruneToken(), "", Duration.EndOfTurn), new ManaCostsImpl<>("{B}{R}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new RakdosKeyruneToken(), CardType.ARTIFACT, Duration.EndOfTurn), new ManaCostsImpl<>("{B}{R}")));
}
private RakdosKeyrune(final RakdosKeyrune card) {

View file

@ -24,7 +24,7 @@ public final class ReptilianReflection extends CardImpl {
// Whenever you cycle a card, Reptilian Reflection becomes a 5/4 Dinosaur creature with trample and haste in addition to its other types until end of turn.
this.addAbility(new CycleControllerTriggeredAbility(new BecomesCreatureSourceEffect(
new ReptilianReflectionToken(), "enchantment", Duration.EndOfTurn
new ReptilianReflectionToken(), CardType.ENCHANTMENT, Duration.EndOfTurn
).setText("have {this} become a 5/4 Dinosaur creature with trample and haste " +
"in addition to its other types until end of turn"), true));
}

View file

@ -37,7 +37,7 @@ public final class Riddleform extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{U}");
// Whenever you cast a noncreature spell, you may have Riddleform become a 3/3 Sphinx creature with flying in addition to its other types until end of turn.
Effect effect = new BecomesCreatureSourceEffect(new RiddleformToken(), "", Duration.EndOfTurn);
Effect effect = new BecomesCreatureSourceEffect(new RiddleformToken(), CardType.ENCHANTMENT, Duration.EndOfTurn);
effect.setText("have {this} become a 3/3 Sphinx creature with flying in addition to its other types until end of turn.");
this.addAbility(new SpellCastControllerTriggeredAbility(Zone.BATTLEFIELD, effect, filterNonCreature, true, true));

View file

@ -24,7 +24,7 @@ public final class RustedRelic extends CardImpl {
// Metalcraft Rusted Relic is a 5/5 Golem artifact creature as long as you control three or more artifacts.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD,
new ConditionalContinuousEffect(
new BecomesCreatureSourceEffect(new RustedRelicToken(), "artifact", Duration.WhileOnBattlefield),
new BecomesCreatureSourceEffect(new RustedRelicToken(), CardType.ARTIFACT, Duration.WhileOnBattlefield),
MetalcraftCondition.instance,
"{this} is a 5/5 Golem artifact creature as long as you control three or more artifacts"))
.setAbilityWord(AbilityWord.METALCRAFT)
@ -59,4 +59,4 @@ class RustedRelicToken extends TokenImpl {
public RustedRelicToken copy() {
return new RustedRelicToken(this);
}
}
}

View file

@ -41,7 +41,7 @@ public final class SanguineStatuette extends CardImpl {
.withType(CardType.ARTIFACT)
.withSubType(SubType.VAMPIRE)
.withAbility(HasteAbility.getInstance()),
"", Duration.EndOfTurn
CardType.ARTIFACT, Duration.EndOfTurn
).setText("have {this} become a 3/3 Vampire artifact creature with haste until end of turn"), filter, false, true));
}

View file

@ -29,7 +29,7 @@ public final class SelesnyaKeyrune extends CardImpl {
this.addAbility(new WhiteManaAbility());
// {G}{W}: Selesnya Keyrune becomes a 3/3 green and white Wolf artifact creature until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new SelesnyaKeyruneToken(), "", Duration.EndOfTurn), new ManaCostsImpl<>("{G}{W}")));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new SelesnyaKeyruneToken(), CardType.ARTIFACT, Duration.EndOfTurn), new ManaCostsImpl<>("{G}{W}")));
}
private SelesnyaKeyrune(final SelesnyaKeyrune card) {

View file

@ -36,7 +36,7 @@ public final class ShamblingVent extends CardImpl {
// {1}{W}{B}: Shambling Vent becomes a 2/3 white and black Elemental creature with lifelink until end of turn. It's still a land.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(
new ShamblingVentToken(), "land", Duration.EndOfTurn), new ManaCostsImpl<>("{1}{W}{B}")));
new ShamblingVentToken(), CardType.LAND, Duration.EndOfTurn), new ManaCostsImpl<>("{1}{W}{B}")));
}
private ShamblingVent(final ShamblingVent card) {
@ -68,4 +68,4 @@ class ShamblingVentToken extends TokenImpl {
public ShamblingVentToken copy() {
return new ShamblingVentToken(this);
}
}
}

View file

@ -32,7 +32,7 @@ public final class SilumgarMonument extends CardImpl {
// {4}{U}{B}: Silumgar Monument becomes a 4/4 blue and black Dragon artifact creature with flying until end of turn.
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect
(new OjutaiMonumentToken(), "", Duration.EndOfTurn), new ManaCostsImpl<>("{4}{U}{B}")));
(new OjutaiMonumentToken(), CardType.ARTIFACT, Duration.EndOfTurn), new ManaCostsImpl<>("{4}{U}{B}")));
}
private SilumgarMonument(final SilumgarMonument card) {

Some files were not shown because too many files have changed in this diff Show more