mirror of
https://github.com/correl/mage.git
synced 2024-12-25 03:00:15 +00:00
* Glint-Next Crane - Fixed that it was not optional to reveal an artifact (fixes #2491).
This commit is contained in:
parent
97b872d926
commit
13c8f3263f
4 changed files with 35 additions and 10 deletions
|
@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility;
|
|||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.FilterCard;
|
||||
import mage.filter.predicate.mageobject.CardTypePredicate;
|
||||
|
||||
|
@ -52,7 +53,7 @@ public class GlintNestCrane extends CardImpl {
|
|||
}
|
||||
|
||||
public GlintNestCrane(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}");
|
||||
this.subtype.add("Bird");
|
||||
this.power = new MageInt(1);
|
||||
this.toughness = new MageInt(3);
|
||||
|
@ -62,7 +63,8 @@ public class GlintNestCrane extends CardImpl {
|
|||
|
||||
// When Glint-Nest Crane enters the battlefield, look at the top four cards of your library. You may reveal an artifact card from among them and
|
||||
// put it into your hand. Put the rest on the bottom of your library in any order.
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(new LookLibraryAndPickControllerEffect(new StaticValue(4), false, new StaticValue(1), filter, false)));
|
||||
this.addAbility(new EntersBattlefieldTriggeredAbility(
|
||||
new LookLibraryAndPickControllerEffect(new StaticValue(4), false, new StaticValue(1), filter, Zone.LIBRARY, false, true, false, Zone.HAND, true)));
|
||||
}
|
||||
|
||||
public GlintNestCrane(final GlintNestCrane card) {
|
||||
|
|
|
@ -28,9 +28,6 @@
|
|||
package mage.cards.s;
|
||||
|
||||
import java.util.UUID;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.Zone;
|
||||
import mage.MageInt;
|
||||
import mage.abilities.common.SimpleStaticAbility;
|
||||
import mage.abilities.dynamicvalue.common.CardsInControllerGraveyardCount;
|
||||
|
@ -38,6 +35,9 @@ import mage.abilities.dynamicvalue.common.StaticValue;
|
|||
import mage.abilities.effects.common.continuous.BoostSourceEffect;
|
||||
import mage.cards.CardImpl;
|
||||
import mage.cards.CardSetInfo;
|
||||
import mage.constants.CardType;
|
||||
import mage.constants.Duration;
|
||||
import mage.constants.Zone;
|
||||
import mage.filter.common.FilterArtifactCard;
|
||||
|
||||
/**
|
||||
|
@ -47,13 +47,15 @@ import mage.filter.common.FilterArtifactCard;
|
|||
public class SalvageSlasher extends CardImpl {
|
||||
|
||||
public SalvageSlasher(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{1}{B}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{1}{B}");
|
||||
this.subtype.add("Human");
|
||||
this.subtype.add("Rogue");
|
||||
|
||||
this.power = new MageInt(1);
|
||||
this.toughness = new MageInt(1);
|
||||
BoostSourceEffect effect = new BoostSourceEffect(new CardsInControllerGraveyardCount(new FilterArtifactCard()),
|
||||
|
||||
// Salvage Slasher gets +1/+0 for each artifact card in your graveyard.
|
||||
BoostSourceEffect effect = new BoostSourceEffect(new CardsInControllerGraveyardCount(new FilterArtifactCard("artifact card")),
|
||||
new StaticValue(0),
|
||||
Duration.WhileOnBattlefield);
|
||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
|
||||
|
|
|
@ -63,7 +63,7 @@ import mage.target.common.TargetCardInLibrary;
|
|||
public class TezzeretTheSeeker extends CardImpl {
|
||||
|
||||
public TezzeretTheSeeker(UUID ownerId, CardSetInfo setInfo) {
|
||||
super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{3}{U}{U}");
|
||||
super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{U}{U}");
|
||||
this.subtype.add("Tezzeret");
|
||||
|
||||
this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4));
|
||||
|
@ -118,7 +118,7 @@ class TezzeretTheSeekerEffect2 extends OneShotEffect {
|
|||
}
|
||||
}
|
||||
|
||||
FilterArtifactCard filter = new FilterArtifactCard(new StringBuilder("artifact card with converted mana cost ").append(cmc).append(" or less").toString());
|
||||
FilterArtifactCard filter = new FilterArtifactCard("artifact card with converted mana cost " + cmc + " or less");
|
||||
filter.add(new ConvertedManaCostPredicate(ComparisonType.LessThan, cmc + 1));
|
||||
TargetCardInLibrary target = new TargetCardInLibrary(filter);
|
||||
|
||||
|
|
|
@ -75,12 +75,33 @@ public class LookLibraryAndPickControllerEffect extends LookLibraryControllerEff
|
|||
this(new StaticValue(numberOfCards), false, new StaticValue(numberToPick), pickFilter, Zone.LIBRARY, false, true, upTo);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param numberOfCards
|
||||
* @param numberToPick
|
||||
* @param pickFilter
|
||||
* @param reveal
|
||||
* @param upTo
|
||||
* @param targetZonePickedCards
|
||||
* @param optional
|
||||
*/
|
||||
public LookLibraryAndPickControllerEffect(int numberOfCards, int numberToPick, FilterCard pickFilter, boolean reveal, boolean upTo,
|
||||
Zone targetZonePickedCards, boolean optional) {
|
||||
this(new StaticValue(numberOfCards), false, new StaticValue(numberToPick), pickFilter, Zone.LIBRARY, false, reveal, upTo, targetZonePickedCards, optional);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param numberOfCards
|
||||
* @param mayShuffleAfter
|
||||
* @param numberToPick
|
||||
* @param pickFilter
|
||||
* @param targetZoneLookedCards
|
||||
* @param putOnTop
|
||||
* @param reveal
|
||||
* @param upTo
|
||||
*/
|
||||
public LookLibraryAndPickControllerEffect(DynamicValue numberOfCards, boolean mayShuffleAfter, DynamicValue numberToPick,
|
||||
FilterCard pickFilter, Zone targetZoneLookedCards, boolean putOnTop, boolean reveal, boolean upTo) {
|
||||
this(numberOfCards, mayShuffleAfter, numberToPick, pickFilter, targetZoneLookedCards, putOnTop, reveal, upTo, Zone.HAND, false);
|
||||
|
|
Loading…
Reference in a new issue