Implemented missing third activated ability of Stillmoon Cavalier (issue #152). Combined protection abilities.

This commit is contained in:
LevelX2 2013-03-04 00:14:50 +01:00
parent d118981ee2
commit 97031d957e

View file

@ -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<StillmoonCavalier> {
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<StillmoonCavalier> {
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) {