From 97031d957e426bbaadd8e80a232c648d084c57b2 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Mon, 4 Mar 2013 00:14:50 +0100 Subject: [PATCH] Implemented missing third activated ability of Stillmoon Cavalier (issue #152). Combined protection abilities. --- .../mage/sets/eventide/StillmoonCavalier.java | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/Mage.Sets/src/mage/sets/eventide/StillmoonCavalier.java b/Mage.Sets/src/mage/sets/eventide/StillmoonCavalier.java index 2588c05475..cd610a8cc1 100644 --- a/Mage.Sets/src/mage/sets/eventide/StillmoonCavalier.java +++ b/Mage.Sets/src/mage/sets/eventide/StillmoonCavalier.java @@ -28,20 +28,22 @@ package mage.sets.eventide; import java.util.UUID; - -import mage.Constants; import mage.Constants.CardType; +import mage.Constants.Duration; import mage.Constants.Rarity; +import mage.Constants.Zone; import mage.MageInt; import mage.ObjectColor; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.continious.BoostSourceEffect; import mage.abilities.effects.common.continious.GainAbilitySourceEffect; import mage.abilities.keyword.FirstStrikeAbility; import mage.abilities.keyword.FlyingAbility; import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.filter.FilterCard; +import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.ColorPredicate; /** @@ -49,12 +51,12 @@ import mage.filter.predicate.mageobject.ColorPredicate; * @author Loki */ public class StillmoonCavalier extends CardImpl { - private static final FilterCard filterBlack = new FilterCard("black"); - private static final FilterCard filterWhite = new FilterCard("white"); + private static final FilterCard filter = new FilterCard("white and from black"); static { - filterBlack.add(new ColorPredicate(ObjectColor.BLACK)); - filterWhite.add(new ColorPredicate(ObjectColor.WHITE)); + filter.add(Predicates.or( + new ColorPredicate(ObjectColor.WHITE), + new ColorPredicate(ObjectColor.BLACK))); } public StillmoonCavalier(UUID ownerId) { @@ -69,13 +71,13 @@ public class StillmoonCavalier extends CardImpl { this.toughness = new MageInt(1); // Protection from white and from black - this.addAbility(new ProtectionAbility(filterBlack)); - this.addAbility(new ProtectionAbility(filterWhite)); + this.addAbility(new ProtectionAbility(filter)); // {WB}: Stillmoon Cavalier gains flying until end of turn. - this.addAbility(new SimpleActivatedAbility(Constants.Zone.BATTLEFIELD, new GainAbilitySourceEffect(FlyingAbility.getInstance(), Constants.Duration.EndOfTurn), new ManaCostsImpl("{W/B}"))); + this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{W/B}"))); // {WB}: Stillmoon Cavalier gains first strike until end of turn. - this.addAbility(new SimpleActivatedAbility(Constants.Zone.BATTLEFIELD, new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Constants.Duration.EndOfTurn), new ManaCostsImpl("{W/B}"))); + this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{W/B}"))); // {WB}{WB}: Stillmoon Cavalier gets +1/+0 until end of turn. + this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1,0, Duration.EndOfTurn), new ManaCostsImpl("{W/B}{W/B}"))); } public StillmoonCavalier(final StillmoonCavalier card) {