Implemented Molderhulk

This commit is contained in:
Evan Kranzler 2018-09-12 12:45:03 -04:00
parent 3e1641b93b
commit 8c0d7b35e4
4 changed files with 63 additions and 4 deletions

View file

@ -1,4 +1,3 @@
package mage.cards.g;
import java.util.UUID;
@ -10,7 +9,7 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.constants.Zone;
import mage.filter.common.FilterCreatureCard;
import mage.filter.StaticFilters;
/**
*
@ -27,7 +26,7 @@ public final class Ghoultree extends CardImpl {
this.toughness = new MageInt(10);
// Ghoultree costs {1} less to cast for each creature card in your graveyard.
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SourceCostReductionForEachCardInGraveyardEffect(new FilterCreatureCard())));
this.addAbility(new SimpleStaticAbility(Zone.ALL, new SourceCostReductionForEachCardInGraveyardEffect(StaticFilters.FILTER_CARD_CREATURE)));
}
public Ghoultree(final Ghoultree card) {

View file

@ -0,0 +1,59 @@
package mage.cards.m;
import java.util.UUID;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffect;
import mage.abilities.effects.common.cost.SourceCostReductionForEachCardInGraveyardEffect;
import mage.constants.SubType;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.AbilityWord;
import mage.constants.CardType;
import mage.constants.Zone;
import mage.filter.FilterCard;
import mage.filter.StaticFilters;
import mage.filter.common.FilterLandCard;
import mage.target.common.TargetCardInYourGraveyard;
/**
*
* @author TheElk801
*/
public final class Molderhulk extends CardImpl {
private static final FilterCard filter
= new FilterLandCard("land card from your graveyard");
public Molderhulk(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{7}{B}{G}");
this.subtype.add(SubType.FUNGUS);
this.subtype.add(SubType.ZOMBIE);
this.power = new MageInt(6);
this.toughness = new MageInt(6);
// Undergrowth This spell costs {1} less to cast for each creature card in your graveyard.
Ability ability = new SimpleStaticAbility(Zone.ALL, new SourceCostReductionForEachCardInGraveyardEffect(StaticFilters.FILTER_CARD_CREATURE));
ability.setAbilityWord(AbilityWord.UNDERGROWTH);
this.addAbility(ability);
// When Molderhulk enters the battlefield, return target land card from your graveyard to the battlefield.
ability = new EntersBattlefieldTriggeredAbility(
new ReturnFromGraveyardToBattlefieldTargetEffect(), false
);
ability.addTarget(new TargetCardInYourGraveyard(filter));
this.addAbility(ability);
}
public Molderhulk(final Molderhulk card) {
super(card);
}
@Override
public Molderhulk copy() {
return new Molderhulk(this);
}
}

View file

@ -41,7 +41,7 @@ public final class TitaniaProtectorOfArgoth extends CardImpl {
this.toughness = new MageInt(3);
// When Titania, Protector of Argoth enters the battlefield, return target land card from your graveyard to the battlefield.
Ability ability = new EntersBattlefieldTriggeredAbility(new ReturnFromGraveyardToBattlefieldTargetEffect(), true);
Ability ability = new EntersBattlefieldTriggeredAbility(new ReturnFromGraveyardToBattlefieldTargetEffect(), false);
ability.addTarget(new TargetCardInYourGraveyard(new FilterLandCard("land card from your graveyard")));
this.addAbility(ability);

View file

@ -78,6 +78,7 @@ public final class GuildsOfRavnica extends ExpansionSet {
cards.add(new SetCardInfo("Mausoleum Secrets", 75, Rarity.RARE, mage.cards.m.MausoleumSecrets.class));
cards.add(new SetCardInfo("Maximize Altitude", 43, Rarity.COMMON, mage.cards.m.MaximizeAltitude.class));
cards.add(new SetCardInfo("Midnight Reaper", 77, Rarity.RARE, mage.cards.m.MidnightReaper.class));
cards.add(new SetCardInfo("Molderhulk", 190, Rarity.UNCOMMON, mage.cards.m.Molderhulk.class));
cards.add(new SetCardInfo("Moodmark Painter", 78, Rarity.COMMON, mage.cards.m.MoodmarkPainter.class));
cards.add(new SetCardInfo("Mountain", 263, Rarity.LAND, mage.cards.basiclands.Mountain.class, NON_FULL_USE_VARIOUS));
cards.add(new SetCardInfo("Murmuring Mystic", 45, Rarity.UNCOMMON, mage.cards.m.MurmuringMystic.class));