mirror of
https://github.com/magefree/mage.git
synced 2026-01-26 21:29:17 -08:00
Merge e42c1a7561 into 96ec1a65c1
This commit is contained in:
commit
7f5a332719
7 changed files with 67 additions and 170 deletions
|
|
@ -1,7 +1,6 @@
|
|||
|
||||
package mage.cards.t;
|
||||
|
||||
import mage.MageInt;
|
||||
import mage.abilities.effects.Effect;
|
||||
import mage.abilities.effects.common.DamageTargetEffect;
|
||||
import mage.abilities.effects.common.continuous.BecomesCreatureTargetEffect;
|
||||
|
|
@ -11,7 +10,7 @@ import mage.constants.CardType;
|
|||
import mage.constants.Duration;
|
||||
import mage.constants.SpellAbilityType;
|
||||
import mage.constants.SubType;
|
||||
import mage.game.permanent.token.TokenImpl;
|
||||
import mage.game.permanent.token.custom.CreatureToken;
|
||||
import mage.target.common.TargetAnyTarget;
|
||||
import mage.target.common.TargetCreaturePermanent;
|
||||
|
||||
|
|
@ -28,8 +27,12 @@ public final class TurnBurn extends SplitCard {
|
|||
|
||||
// Turn
|
||||
// Until end of turn, target creature loses all abilities and becomes a red Weird with base power and toughness 0/1.
|
||||
Effect effect = new BecomesCreatureTargetEffect(new WeirdToken(), true, false, Duration.EndOfTurn)
|
||||
.withDurationRuleAtStart(true);
|
||||
Effect effect = new BecomesCreatureTargetEffect(
|
||||
new CreatureToken(0, 1, "red Weird with base power and toughness 0/1", SubType.WEIRD).withColor("R"),
|
||||
true,
|
||||
false,
|
||||
Duration.EndOfTurn
|
||||
).withDurationRuleAtStart(true);
|
||||
getLeftHalfCard().getSpellAbility().addEffect(effect);
|
||||
getLeftHalfCard().getSpellAbility().addTarget(new TargetCreaturePermanent().withChooseHint("becomes a Weird"));
|
||||
|
||||
|
|
@ -48,25 +51,4 @@ public final class TurnBurn extends SplitCard {
|
|||
public TurnBurn copy() {
|
||||
return new TurnBurn(this);
|
||||
}
|
||||
|
||||
private static class WeirdToken extends TokenImpl {
|
||||
|
||||
private WeirdToken() {
|
||||
super("Weird", "red Weird with base power and toughness 0/1");
|
||||
cardType.add(CardType.CREATURE);
|
||||
color.setRed(true);
|
||||
subtype.add(SubType.WEIRD);
|
||||
power = new MageInt(0);
|
||||
toughness = new MageInt(1);
|
||||
}
|
||||
private WeirdToken(final WeirdToken token) {
|
||||
super(token);
|
||||
}
|
||||
|
||||
public WeirdToken copy() {
|
||||
return new WeirdToken(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,11 +12,14 @@ import mage.abilities.effects.OneShotEffect;
|
|||
import mage.abilities.effects.common.continuous.BecomesCreatureTargetEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.*;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.SubType;
|
||||
import mage.filter.common.FilterControlledLandPermanent;
|
||||
import mage.filter.common.FilterControlledPermanent;
|
||||
import mage.game.Game;
|
||||
import mage.game.permanent.token.TokenImpl;
|
||||
import mage.game.permanent.token.custom.CreatureToken;
|
||||
import mage.target.common.TargetControlledPermanent;
|
||||
|
||||
/**
|
||||
|
|
@ -34,7 +37,7 @@ public final class VastwoodAnimist extends CardImpl {
|
|||
this.power = new MageInt(1);
|
||||
this.toughness = new MageInt(1);
|
||||
|
||||
// {tap}: Target land you control becomes an X/X Elemental creature until end of turn, where X is the number of Allies you control. It's still a land.
|
||||
// {T}: Target land you control becomes an X/X Elemental creature until end of turn, where X is the number of Allies you control. It's still a land.
|
||||
Ability ability = new SimpleActivatedAbility(new VastwoodAnimistEffect(), new TapSourceCost());
|
||||
ability.addTarget(new TargetControlledPermanent(new FilterControlledLandPermanent()));
|
||||
this.addAbility(ability);
|
||||
|
|
@ -52,14 +55,10 @@ public final class VastwoodAnimist extends CardImpl {
|
|||
|
||||
class VastwoodAnimistEffect extends OneShotEffect {
|
||||
|
||||
static final FilterControlledPermanent filterAllies = new FilterControlledPermanent("allies you control");
|
||||
|
||||
static {
|
||||
filterAllies.add(SubType.ALLY.getPredicate());
|
||||
}
|
||||
static final FilterControlledPermanent filterAllies = new FilterControlledPermanent(SubType.ALLY);
|
||||
|
||||
public VastwoodAnimistEffect() {
|
||||
super(Outcome.Benefit);
|
||||
super(Outcome.BecomeCreature);
|
||||
this.staticText = "Target land you control becomes an X/X Elemental creature until end of turn, where X is the number of Allies you control. It's still a land.";
|
||||
}
|
||||
|
||||
|
|
@ -75,27 +74,14 @@ class VastwoodAnimistEffect extends OneShotEffect {
|
|||
@Override
|
||||
public boolean apply(Game game, Ability source) {
|
||||
int amount = new PermanentsOnBattlefieldCount(filterAllies).calculate(game, source, this);
|
||||
ContinuousEffect effect = new BecomesCreatureTargetEffect(new VastwoodAnimistElementalToken(amount), false, true, Duration.EndOfTurn);
|
||||
ContinuousEffect effect = new BecomesCreatureTargetEffect(
|
||||
new CreatureToken(amount, amount, "X/X Elemental creature, where X is the number of Allies you control", SubType.ELEMENTAL),
|
||||
false,
|
||||
true,
|
||||
Duration.EndOfTurn
|
||||
);
|
||||
effect.setTargetPointer(this.getTargetPointer().copy());
|
||||
game.addEffect(effect, source);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
class VastwoodAnimistElementalToken extends TokenImpl {
|
||||
|
||||
VastwoodAnimistElementalToken(int amount) {
|
||||
super("", "X/X Elemental creature, where X is the number of Allies you control");
|
||||
cardType.add(CardType.CREATURE);
|
||||
subtype.add(SubType.ELEMENTAL);
|
||||
power = new MageInt(amount);
|
||||
toughness = new MageInt(amount);
|
||||
}
|
||||
private VastwoodAnimistElementalToken(final VastwoodAnimistElementalToken token) {
|
||||
super(token);
|
||||
}
|
||||
|
||||
public VastwoodAnimistElementalToken copy() {
|
||||
return new VastwoodAnimistElementalToken(this);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ import mage.constants.Duration;
|
|||
import mage.constants.SubType;
|
||||
import mage.filter.FilterPermanent;
|
||||
import mage.filter.common.FilterControlledLandPermanent;
|
||||
import mage.game.permanent.token.TokenImpl;
|
||||
import mage.game.permanent.token.custom.CreatureToken;
|
||||
import mage.target.TargetPermanent;
|
||||
|
||||
import java.util.UUID;
|
||||
|
|
@ -38,7 +38,11 @@ public final class WakerootElemental extends CardImpl {
|
|||
new UntapTargetEffect(), new ManaCostsImpl<>("{G}{G}{G}{G}{G}")
|
||||
);
|
||||
ability.addEffect(new BecomesCreatureTargetEffect(
|
||||
new WakerootElementalToken(), false, true, Duration.Custom
|
||||
new CreatureToken(5, 5, "Elemental creature with haste", SubType.ELEMENTAL)
|
||||
.withAbility(HasteAbility.getInstance()),
|
||||
false,
|
||||
true,
|
||||
Duration.Custom
|
||||
).setText("It becomes a 5/5 Elemental creature with haste. It's still a land."));
|
||||
ability.addTarget(new TargetPermanent(filter));
|
||||
this.addAbility(ability);
|
||||
|
|
@ -53,25 +57,3 @@ public final class WakerootElemental extends CardImpl {
|
|||
return new WakerootElemental(this);
|
||||
}
|
||||
}
|
||||
|
||||
class WakerootElementalToken extends TokenImpl {
|
||||
|
||||
WakerootElementalToken() {
|
||||
super("", "5/5 Elemental creature with haste");
|
||||
this.cardType.add(CardType.CREATURE);
|
||||
this.subtype.add(SubType.ELEMENTAL);
|
||||
|
||||
this.power = new MageInt(5);
|
||||
this.toughness = new MageInt(5);
|
||||
|
||||
this.addAbility(HasteAbility.getInstance());
|
||||
}
|
||||
|
||||
private WakerootElementalToken(final WakerootElementalToken token) {
|
||||
super(token);
|
||||
}
|
||||
|
||||
public WakerootElementalToken copy() {
|
||||
return new WakerootElementalToken(this);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,6 @@
|
|||
package mage.cards.w;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.Ability;
|
||||
import mage.abilities.common.DiesAttachedTriggeredAbility;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.effects.common.AttachEffect;
|
||||
|
|
@ -12,9 +10,11 @@ import mage.abilities.keyword.EnchantAbility;
|
|||
import mage.abilities.keyword.FlyingAbility;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.*;
|
||||
import mage.game.permanent.token.TokenImpl;
|
||||
import mage.target.TargetPermanent;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.Outcome;
|
||||
import mage.constants.SubType;
|
||||
import mage.game.permanent.token.custom.CreatureToken;
|
||||
import mage.target.common.TargetLandPermanent;
|
||||
|
||||
/**
|
||||
|
|
@ -27,24 +27,25 @@ public final class WindZendikon extends CardImpl {
|
|||
super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{U}");
|
||||
this.subtype.add(SubType.AURA);
|
||||
|
||||
|
||||
// Enchant land
|
||||
// Enchanted land is a 2/2 blue Elemental creature with flying. It's still a land.
|
||||
// When enchanted land dies, return that card to its owner's hand.
|
||||
|
||||
TargetPermanent auraTarget = new TargetLandPermanent();
|
||||
|
||||
TargetLandPermanent auraTarget = new TargetLandPermanent();
|
||||
this.getSpellAbility().addTarget(auraTarget);
|
||||
this.getSpellAbility().addEffect(new AttachEffect(Outcome.PutCreatureInPlay));
|
||||
Ability ability = new EnchantAbility(auraTarget);
|
||||
this.addAbility(ability);
|
||||
|
||||
Ability ability2 = new SimpleStaticAbility(new BecomesCreatureAttachedEffect(
|
||||
new WindZendikonElementalToken(), "Enchanted land is a 2/2 blue Elemental creature with flying. It's still a land",
|
||||
Duration.WhileOnBattlefield, BecomesCreatureAttachedEffect.LoseType.COLOR));
|
||||
this.addAbility(ability2);
|
||||
|
||||
Ability ability3 = new DiesAttachedTriggeredAbility(new ReturnToHandAttachedEffect(), "enchanted land", false);
|
||||
this.addAbility(ability3);
|
||||
this.getSpellAbility().addEffect(new AttachEffect(Outcome.BecomeCreature));
|
||||
this.addAbility(new EnchantAbility(auraTarget));
|
||||
|
||||
this.addAbility(new SimpleStaticAbility(new BecomesCreatureAttachedEffect(
|
||||
new CreatureToken(
|
||||
2, 2, "2/2 blue Elemental creature with flying", SubType.ELEMENTAL
|
||||
).withColor("U").withAbility(FlyingAbility.getInstance()),
|
||||
"Enchanted land is a 2/2 blue Elemental creature with flying. It's still a land",
|
||||
Duration.WhileOnBattlefield,
|
||||
BecomesCreatureAttachedEffect.LoseType.COLOR
|
||||
)));
|
||||
|
||||
this.addAbility(new DiesAttachedTriggeredAbility(new ReturnToHandAttachedEffect(), "enchanted land"));
|
||||
}
|
||||
|
||||
private WindZendikon(final WindZendikon card) {
|
||||
|
|
@ -55,25 +56,4 @@ public final class WindZendikon extends CardImpl {
|
|||
public WindZendikon copy() {
|
||||
return new WindZendikon(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class WindZendikonElementalToken extends TokenImpl {
|
||||
|
||||
WindZendikonElementalToken() {
|
||||
super("", "2/2 blue Elemental creature with flying");
|
||||
cardType.add(CardType.CREATURE);
|
||||
color.setBlue(true);
|
||||
subtype.add(SubType.ELEMENTAL);
|
||||
power = new MageInt(2);
|
||||
toughness = new MageInt(2);
|
||||
addAbility(FlyingAbility.getInstance());
|
||||
}
|
||||
private WindZendikonElementalToken(final WindZendikonElementalToken token) {
|
||||
super(token);
|
||||
}
|
||||
|
||||
public WindZendikonElementalToken copy() {
|
||||
return new WindZendikonElementalToken(this);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,9 +14,8 @@ import mage.cards.CardSetInfo;
|
|||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.SubType;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.common.FilterLandPermanent;
|
||||
import mage.game.permanent.token.TokenImpl;
|
||||
import mage.game.permanent.token.custom.CreatureToken;
|
||||
import mage.target.TargetPermanent;
|
||||
|
||||
/**
|
||||
|
|
@ -40,7 +39,13 @@ public final class WoodwraithCorrupter extends CardImpl {
|
|||
this.toughness = new MageInt(6);
|
||||
|
||||
// {1}{B}{G}, {T}: Target Forest becomes a 4/4 black and green Elemental Horror creature. It's still a land.
|
||||
Effect effect = new BecomesCreatureTargetEffect(new WoodwraithCorrupterToken(), false, true, Duration.Custom);
|
||||
Effect effect = new BecomesCreatureTargetEffect(
|
||||
new CreatureToken(4, 4, "4/4 black and green Elemental Horror creature", SubType.ELEMENTAL, SubType.HORROR)
|
||||
.withColor("BG"),
|
||||
false,
|
||||
true,
|
||||
Duration.Custom
|
||||
);
|
||||
Ability ability = new SimpleActivatedAbility(effect, new ManaCostsImpl<>("{1}{B}{G}"));
|
||||
ability.addTarget(new TargetPermanent(filter));
|
||||
ability.addCost(new TapSourceCost());
|
||||
|
|
@ -56,26 +61,3 @@ public final class WoodwraithCorrupter extends CardImpl {
|
|||
return new WoodwraithCorrupter(this);
|
||||
}
|
||||
}
|
||||
|
||||
class WoodwraithCorrupterToken extends TokenImpl {
|
||||
|
||||
public WoodwraithCorrupterToken() {
|
||||
super("", "4/4 black and green Elemental Horror creature");
|
||||
cardType.add(CardType.CREATURE);
|
||||
|
||||
color.setBlack(true);
|
||||
color.setGreen(true);
|
||||
subtype.add(SubType.ELEMENTAL);
|
||||
subtype.add(SubType.HORROR);
|
||||
|
||||
power = new MageInt(4);
|
||||
toughness = new MageInt(4);
|
||||
}
|
||||
private WoodwraithCorrupterToken(final WoodwraithCorrupterToken token) {
|
||||
super(token);
|
||||
}
|
||||
|
||||
public WoodwraithCorrupterToken copy() {
|
||||
return new WoodwraithCorrupterToken(this);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@
|
|||
package mage.cards.x;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.SimpleActivatedAbility;
|
||||
import mage.abilities.costs.mana.ManaCostsImpl;
|
||||
import mage.abilities.effects.common.continuous.BecomesCreatureSourceEffect;
|
||||
|
|
@ -11,8 +10,8 @@ import mage.cards.CardImpl;
|
|||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.Zone;
|
||||
import mage.game.permanent.token.TokenImpl;
|
||||
import mage.constants.SubType;
|
||||
import mage.game.permanent.token.custom.CreatureToken;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
@ -24,9 +23,15 @@ public final class XanthicStatue extends CardImpl {
|
|||
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{8}");
|
||||
|
||||
// {5}: Until end of turn, Xanthic Statue becomes an 8/8 Golem artifact creature with trample.
|
||||
this.addAbility(new SimpleActivatedAbility(new BecomesCreatureSourceEffect(new XanthicStatueCreature(), CardType.ARTIFACT, Duration.EndOfTurn)
|
||||
.setText("until end of turn, {this} becomes an 8/8 Golem artifact creature with trample")
|
||||
, new ManaCostsImpl<>("{5}")));
|
||||
this.addAbility(new SimpleActivatedAbility(
|
||||
new BecomesCreatureSourceEffect(
|
||||
new CreatureToken(8, 8, "8/8 Golem artifact creature with trample", SubType.GOLEM)
|
||||
.withAbility(TrampleAbility.getInstance()),
|
||||
CardType.ARTIFACT,
|
||||
Duration.EndOfTurn
|
||||
).setText("until end of turn, {this} becomes an 8/8 Golem artifact creature with trample"),
|
||||
new ManaCostsImpl<>("{5}")
|
||||
));
|
||||
}
|
||||
|
||||
private XanthicStatue(final XanthicStatue card) {
|
||||
|
|
@ -38,23 +43,3 @@ public final class XanthicStatue extends CardImpl {
|
|||
return new XanthicStatue(this);
|
||||
}
|
||||
}
|
||||
|
||||
class XanthicStatueCreature extends TokenImpl {
|
||||
|
||||
public XanthicStatueCreature() {
|
||||
super("Xanthic Statue", "8/8 Golem artifact creature with trample");
|
||||
cardType.add(CardType.ARTIFACT);
|
||||
cardType.add(CardType.CREATURE);
|
||||
power = new MageInt(8);
|
||||
toughness = new MageInt(8);
|
||||
|
||||
this.addAbility(TrampleAbility.getInstance());
|
||||
}
|
||||
private XanthicStatueCreature(final XanthicStatueCreature token) {
|
||||
super(token);
|
||||
}
|
||||
|
||||
public XanthicStatueCreature copy() {
|
||||
return new XanthicStatueCreature(this);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27190,7 +27190,7 @@ Snapping Creeper|Worldwake|112|C|{2}{G}|Creature - Plant|2|3|Landfall - Whenever
|
|||
Strength of the Tajuru|Worldwake|113|R|{X}{G}{G}|Instant|||Multikicker {1} <i>(You may pay an additional {1} any number of times as you cast this spell.)</i>$Choose target creature, then choose another target creature for each time Strength of the Tajuru was kicked. Put X +1/+1 counters on each of them.|
|
||||
Summit Apes|Worldwake|114|U|{3}{G}|Creature - Ape|5|2|As long as you control a Mountain, Summit Apes can't be blocked except by two or more creatures.|
|
||||
Terastodon|Worldwake|115|R|{6}{G}{G}|Creature - Elephant|9|9|When Terastodon enters the battlefield, you may destroy up to three target noncreature permanents. For each permanent put into a graveyard this way, its controller puts a 3/3 green Elephant creature token onto the battlefield.|
|
||||
Vastwood Animist|Worldwake|116|U|{2}{G}|Creature - Elf Shaman Ally|1|1|{tap}: Target land you control becomes an X/X Elemental creature until end of turn, where X is the number of Allies you control. It's still a land.|
|
||||
Vastwood Animist|Worldwake|116|U|{2}{G}|Creature - Elf Shaman Ally|1|1|{T}: Target land you control becomes an X/X Elemental creature until end of turn, where X is the number of Allies you control. It's still a land.|
|
||||
Vastwood Zendikon|Worldwake|117|C|{4}{G}|Enchantment - Aura|||Enchant land$Enchanted land is a 6/4 green Elemental creature. It's still a land.$When enchanted land dies, return that card to its owner's hand.|
|
||||
Wolfbriar Elemental|Worldwake|118|R|{2}{G}{G}|Creature - Elemental|4|4|Multikicker {G} <i>(You may pay an additional {G} any number of times as you cast this spell.)</i>$When Wolfbriar Elemental enters the battlefield, put a 2/2 green Wolf creature token onto the battlefield for each time it was kicked.|
|
||||
Novablast Wurm|Worldwake|119|M|{3}{G}{G}{W}{W}|Creature - Wurm|7|7|Whenever Novablast Wurm attacks, destroy all other creatures.|
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue