mirror of
https://github.com/correl/mage.git
synced 2024-12-24 11:50:45 +00:00
Implemented missing third activated ability of Stillmoon Cavalier (issue #152). Combined protection abilities.
This commit is contained in:
parent
d118981ee2
commit
97031d957e
1 changed files with 12 additions and 10 deletions
|
@ -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) {
|
||||
|
|
Loading…
Reference in a new issue