Implemented Wakeroot Elemental

This commit is contained in:
Evan Kranzler 2019-06-18 10:28:39 -04:00
parent 1a5138d972
commit 274b74a1fb
2 changed files with 78 additions and 0 deletions

View file

@ -0,0 +1,77 @@
package mage.cards.w;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.UntapTargetEffect;
import mage.abilities.effects.common.continuous.BecomesCreatureTargetEffect;
import mage.abilities.keyword.HasteAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
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.target.TargetPermanent;
import java.util.UUID;
/**
* @author TheElk801
*/
public final class WakerootElemental extends CardImpl {
private static final FilterPermanent filter = new FilterControlledLandPermanent();
public WakerootElemental(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{G}{G}");
this.subtype.add(SubType.ELEMENTAL);
this.power = new MageInt(5);
this.toughness = new MageInt(5);
// {G}{G}{G}{G}{G}: Untap target land you control. It becomes a 5/5 Elemental creature with haste. It's still a land.
Ability ability = new SimpleActivatedAbility(
new UntapTargetEffect(), new ManaCostsImpl("{G}{G}{G}{G}{G}")
);
ability.addEffect(new BecomesCreatureTargetEffect(
new WakerootElementalToken(), 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);
}
private WakerootElemental(final WakerootElemental card) {
super(card);
}
@Override
public WakerootElemental copy() {
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);
}
}

View file

@ -60,6 +60,7 @@ public final class CoreSet2020 extends ExpansionSet {
cards.add(new SetCardInfo("Thrashing Brontodon", 197, Rarity.UNCOMMON, mage.cards.t.ThrashingBrontodon.class));
cards.add(new SetCardInfo("Uncaged Fury", 163, Rarity.UNCOMMON, mage.cards.u.UncagedFury.class));
cards.add(new SetCardInfo("Unsummon", 78, Rarity.COMMON, mage.cards.u.Unsummon.class));
cards.add(new SetCardInfo("Wakeroot Elemental", 202, Rarity.RARE, mage.cards.w.WakerootElemental.class));
cards.add(new SetCardInfo("Yarok's Fenlurker", 123, Rarity.UNCOMMON, mage.cards.y.YaroksFenlurker.class));
}
}