* Faerie count - Fixed some abilities that did not count non creature Faeries permanents (e.g. Spellslutter Sprite).

This commit is contained in:
LevelX2 2014-04-05 16:21:10 +02:00
parent c770c6c500
commit 26cd7246ee
4 changed files with 14 additions and 10 deletions

View file

@ -41,6 +41,7 @@ import mage.abilities.keyword.FlashAbility;
import mage.abilities.keyword.FlyingAbility;
import mage.abilities.keyword.ShroudAbility;
import mage.cards.CardImpl;
import mage.filter.FilterPermanent;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
@ -51,11 +52,14 @@ import mage.filter.predicate.permanent.ControllerPredicate;
*/
public class ScionOfOona extends CardImpl<ScionOfOona> {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Faeries");
private static final FilterPermanent filter = new FilterPermanent("Faeries");
private static final FilterCreaturePermanent filterCreature = new FilterCreaturePermanent("Faeries");
static {
filter.add(new SubtypePredicate("Faerie"));
filter.add(new ControllerPredicate(TargetController.YOU));
filterCreature.add(new SubtypePredicate("Faerie"));
filterCreature.add(new ControllerPredicate(TargetController.YOU));
}
public ScionOfOona(UUID ownerId) {
@ -72,7 +76,7 @@ public class ScionOfOona extends CardImpl<ScionOfOona> {
// Flying
this.addAbility(FlyingAbility.getInstance());
// Other Faerie creatures you control get +1/+1.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filter, true)));
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filterCreature, true)));
// Other Faeries you control have shroud.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(ShroudAbility.getInstance(), Duration.WhileOnBattlefield, filter, true)));
}

View file

@ -42,8 +42,8 @@ import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
import mage.constants.TargetController;
import mage.filter.Filter;
import mage.filter.FilterPermanent;
import mage.filter.FilterSpell;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.mageobject.ConvertedManaCostPredicate;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.permanent.ControllerPredicate;
@ -57,7 +57,7 @@ import mage.target.TargetSpell;
*/
public class SpellstutterSprite extends CardImpl<SpellstutterSprite> {
public static final FilterCreaturePermanent filter = new FilterCreaturePermanent("number of Faeries you control");
public static final FilterPermanent filter = new FilterPermanent("number of Faeries you control");
static {
filter.add(new ControllerPredicate(TargetController.YOU));
filter.add(new SubtypePredicate("Faerie"));
@ -130,7 +130,6 @@ class SpellstutterSpriteCounterTargetEffect extends OneShotEffect<SpellstutterSp
StackObject stackObject = game.getStack().getStackObject(source.getFirstTarget());
if (stackObject.getManaCost().convertedManaCost() <= numberFaeries) {
if (game.getStack().counter(source.getFirstTarget(), source.getSourceId(), game)) {
game.informPlayers(new StringBuilder(stackObject.getName()).append(" was countered").toString());
return true;
}
}

View file

@ -36,7 +36,7 @@ import mage.abilities.decorator.ConditionalOneShotEffect;
import mage.abilities.effects.common.DrawCardSourceControllerEffect;
import mage.abilities.effects.common.continious.BoostTargetEffect;
import mage.cards.CardImpl;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.FilterPermanent;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.target.common.TargetCreaturePermanent;
@ -46,7 +46,7 @@ import mage.target.common.TargetCreaturePermanent;
*/
public class Peppersmoke extends CardImpl<Peppersmoke> {
private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("If you control a Faerie,");
private static final FilterPermanent filter = new FilterPermanent("If you control a Faerie,");
static {
filter.add(new SubtypePredicate("Faerie"));
}

View file

@ -28,9 +28,6 @@
package mage.sets.morningtide;
import java.util.UUID;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
@ -38,6 +35,8 @@ import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.LoseLifeSourceControllerEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
import mage.constants.CardType;
import mage.constants.Rarity;
import mage.constants.TargetController;
import mage.game.permanent.token.Token;
@ -53,6 +52,8 @@ public class Bitterblossom extends CardImpl<Bitterblossom> {
this.supertype.add("Tribal");
this.subtype.add("Faerie");
this.color.setBlack(true);
// At the beginning of your upkeep, you lose 1 life and put a 1/1 black Faerie Rogue creature token with flying onto the battlefield.
Ability ability = new BeginningOfUpkeepTriggeredAbility(new LoseLifeSourceControllerEffect(1), TargetController.YOU, false);
ability.addEffect(new CreateTokenEffect(new FaerieToken(), 1));
this.addAbility(ability);