* Board the Weatherlight - Fixed that the cards left were not returned in random order.

This commit is contained in:
LevelX2 2018-06-09 17:15:01 +02:00
parent 717308ba12
commit 372ba795d2
7 changed files with 25 additions and 25 deletions

View file

@ -1,4 +1,3 @@
package mage.cards.b;
import java.util.UUID;
@ -13,7 +12,7 @@ import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.FilterPermanent;
import mage.filter.StaticFilters;
/**
*
@ -22,14 +21,14 @@ import mage.filter.FilterPermanent;
public final class BearerOfTheHeavens extends CardImpl {
public BearerOfTheHeavens(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{7}{R}");
super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{7}{R}");
this.subtype.add(SubType.GIANT);
this.power = new MageInt(10);
this.toughness = new MageInt(10);
// When Bearer of the Heavens dies, destroy all permanents at the beginning of the next end step.
DelayedTriggeredAbility delayedAbility = new AtTheBeginOfNextEndStepDelayedTriggeredAbility(new DestroyAllEffect(new FilterPermanent("permanents")));
DelayedTriggeredAbility delayedAbility = new AtTheBeginOfNextEndStepDelayedTriggeredAbility(new DestroyAllEffect(StaticFilters.FILTER_PERMANENT));
Effect effect = new CreateDelayedTriggeredAbilityEffect(delayedAbility);
effect.setText("destroy all permanents at the beginning of the next end step");
this.addAbility(new DiesTriggeredAbility(effect, false));

View file

@ -1,4 +1,3 @@
package mage.cards.b;
import java.util.UUID;
@ -30,10 +29,11 @@ public final class BoardTheWeatherlight extends CardImpl {
this.getSpellAbility().addEffect(
new LookLibraryAndPickControllerEffect(
new StaticValue(5), false, new StaticValue(1), filter,
Zone.LIBRARY, false, true, false, Zone.HAND, true, false, false
).setText("Look at the top five cards of your library. You may reveal a historic card from among them"
+ " and put it into your hand. Put the rest on the bottom of your library in a random order. "
+ "<i>(Artifacts, legendaries, and Sagas are historic.)</i>")
Zone.LIBRARY, false, true, false, Zone.HAND, true, false, false)
.setBackInRandomOrder(true)
.setText("Look at the top five cards of your library. You may reveal a historic card from among them"
+ " and put it into your hand. Put the rest on the bottom of your library in a random order. "
+ "<i>(Artifacts, legendaries, and Sagas are historic.)</i>")
);
}

View file

@ -1,4 +1,3 @@
package mage.cards.m;
import java.util.UUID;
@ -15,6 +14,7 @@ import mage.constants.Outcome;
import mage.constants.TargetController;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.StaticFilters;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.players.Player;
@ -30,7 +30,7 @@ public final class MistOfStagnation extends CardImpl {
super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{U}{U}");
// Permanents don't untap during their controllers' untap steps.
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapInControllersUntapStepAllEffect(Duration.WhileOnBattlefield, TargetController.ANY, new FilterPermanent("permanents"))));
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapInControllersUntapStepAllEffect(Duration.WhileOnBattlefield, TargetController.ANY, StaticFilters.FILTER_PERMANENT)));
// At the beginning of each player's upkeep, that player chooses a permanent for each card in their graveyard, then untaps those permanents.
this.addAbility(new BeginningOfUpkeepTriggeredAbility(new MistOfStagnationEffect(), TargetController.ANY, false));

View file

@ -1,4 +1,3 @@
package mage.cards.u;
import java.util.UUID;
@ -6,23 +5,19 @@ import mage.abilities.effects.common.ReturnToHandFromBattlefieldAllEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.FilterPermanent;
import mage.filter.StaticFilters;
/**
*
* @author cbt33
*/
public final class Upheaval extends CardImpl {
private static final FilterPermanent filter = new FilterPermanent("permanents");
public Upheaval(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{4}{U}{U}");
super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{4}{U}{U}");
// Return all permanents to their owners' hands.
this.getSpellAbility().addEffect(new ReturnToHandFromBattlefieldAllEffect(filter));
this.getSpellAbility().addEffect(new ReturnToHandFromBattlefieldAllEffect(StaticFilters.FILTER_PERMANENT));
}
public Upheaval(final Upheaval card) {

View file

@ -1,4 +1,3 @@
package mage.abilities.effects.common.continuous;
import java.util.HashMap;
@ -16,6 +15,7 @@ import mage.constants.Outcome;
import mage.constants.SubLayer;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.StaticFilters;
import mage.game.Game;
import mage.game.permanent.Permanent;
@ -29,11 +29,11 @@ public class GainAbilityControlledEffect extends ContinuousEffectImpl {
protected FilterPermanent filter;
public GainAbilityControlledEffect(Ability ability, Duration duration) {
this(ability, duration, new FilterPermanent("permanents"));
this(ability, duration, StaticFilters.FILTER_PERMANENT);
}
public GainAbilityControlledEffect(CompoundAbility ability, Duration duration) {
this(ability, duration, new FilterPermanent("permanents"));
this(ability, duration, StaticFilters.FILTER_PERMANENT);
}
public GainAbilityControlledEffect(Ability ability, Duration duration, FilterPermanent filter) {

View file

@ -1,4 +1,3 @@
package mage.abilities.effects.common.continuous;
import java.util.HashMap;
@ -15,6 +14,7 @@ import mage.constants.Outcome;
import mage.constants.SubLayer;
import mage.constants.Zone;
import mage.filter.FilterPermanent;
import mage.filter.StaticFilters;
import mage.game.Game;
import mage.game.permanent.Permanent;
@ -28,11 +28,11 @@ public class LoseAbilityAllEffect extends ContinuousEffectImpl {
protected FilterPermanent filter;
public LoseAbilityAllEffect(Ability ability, Duration duration) {
this(ability, duration, new FilterPermanent("permanents"));
this(ability, duration, StaticFilters.FILTER_PERMANENT);
}
public LoseAbilityAllEffect(CompoundAbility ability, Duration duration) {
this(ability, duration, new FilterPermanent("permanents"));
this(ability, duration, StaticFilters.FILTER_PERMANENT);
}
public LoseAbilityAllEffect(Ability ability, Duration duration, FilterPermanent filter) {

View file

@ -137,6 +137,12 @@ public final class StaticFilters {
FILTER_PERMANENT.setLockedFilter(true);
}
public static final FilterPermanent FILTER_PERMANENTS = new FilterPermanent("permanents");
static {
FILTER_PERMANENTS.setLockedFilter(true);
}
public static final FilterPermanent FILTER_PERMANENT_ARTIFACT_AN = new FilterArtifactPermanent("an artifact");
static {