From 7f281868b09c7a2b53b13ea75742c7b26909d93b Mon Sep 17 00:00:00 2001 From: Jeff Date: Sat, 13 Jul 2013 16:42:06 -0500 Subject: [PATCH] - Little fixes --- .../mage/sets/magic2014/ShadowbornDemon.java | 25 +++++++++++++++++-- .../src/mage/sets/magic2014/Sporemound.java | 4 +-- 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/Mage.Sets/src/mage/sets/magic2014/ShadowbornDemon.java b/Mage.Sets/src/mage/sets/magic2014/ShadowbornDemon.java index 8c66ba42a47..624bbfeaff0 100644 --- a/Mage.Sets/src/mage/sets/magic2014/ShadowbornDemon.java +++ b/Mage.Sets/src/mage/sets/magic2014/ShadowbornDemon.java @@ -33,7 +33,7 @@ import mage.abilities.Ability; import mage.abilities.TriggeredAbility; import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.condition.common.CardsInControllerGraveCondition; +import mage.abilities.condition.Condition; import mage.abilities.condition.common.InvertCondition; import mage.abilities.decorator.ConditionalTriggeredAbility; import mage.abilities.effects.common.DestroyTargetEffect; @@ -43,9 +43,12 @@ import mage.cards.CardImpl; import mage.constants.CardType; import mage.constants.Rarity; import mage.constants.TargetController; +import mage.filter.common.FilterCreatureCard; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.SubtypePredicate; +import mage.game.Game; +import mage.players.Player; import mage.target.Target; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetCreaturePermanent; @@ -85,7 +88,7 @@ public class ShadowbornDemon extends CardImpl { triggeredAbility.addTarget(target); this.addAbility(new ConditionalTriggeredAbility( triggeredAbility, - new InvertCondition(new CardsInControllerGraveCondition(6)), + new InvertCondition(new CreatureCardsInControllerGraveCondition(6)), "At the beginning of your upkeep, if there are fewer than six creature cards in your graveyard, sacrifice a creature")); } @@ -99,3 +102,21 @@ public class ShadowbornDemon extends CardImpl { return new ShadowbornDemon(this); } } + +class CreatureCardsInControllerGraveCondition implements Condition { + private int value; + + public CreatureCardsInControllerGraveCondition(int value) { + this.value = value; + } + + @Override + public boolean apply(Game game, Ability source) { + Player p = game.getPlayer(source.getControllerId()); + if (p != null && p.getGraveyard().count(new FilterCreatureCard(), game) >= value) + { + return true; + } + return false; + } +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/magic2014/Sporemound.java b/Mage.Sets/src/mage/sets/magic2014/Sporemound.java index 8a0910e41ff..0041bdf9efc 100644 --- a/Mage.Sets/src/mage/sets/magic2014/Sporemound.java +++ b/Mage.Sets/src/mage/sets/magic2014/Sporemound.java @@ -35,7 +35,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.constants.CardType; import mage.constants.Rarity; -import mage.filter.common.FilterLandPermanent; +import mage.filter.common.FilterControlledLandPermanent; import mage.game.permanent.token.SaprolingToken; /** @@ -55,7 +55,7 @@ public class Sporemound extends CardImpl { // Whenever a land enters the battlefield under your control, put a 1/1 green Saproling creature token onto the battlefield. Effect effect = new CreateTokenEffect(new SaprolingToken()); - this.addAbility(new EntersBattlefieldControlledTriggeredAbility(effect, new FilterLandPermanent("a land"))); + this.addAbility(new EntersBattlefieldControlledTriggeredAbility(effect, new FilterControlledLandPermanent("a land you control"))); } public Sporemound(final Sporemound card) {