From 372ba795d2768cabc9927a2d6e5d73f550bd559a Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Sat, 9 Jun 2018 17:15:01 +0200 Subject: [PATCH] * Board the Weatherlight - Fixed that the cards left were not returned in random order. --- Mage.Sets/src/mage/cards/b/BearerOfTheHeavens.java | 7 +++---- Mage.Sets/src/mage/cards/b/BoardTheWeatherlight.java | 10 +++++----- Mage.Sets/src/mage/cards/m/MistOfStagnation.java | 4 ++-- Mage.Sets/src/mage/cards/u/Upheaval.java | 11 +++-------- .../continuous/GainAbilityControlledEffect.java | 6 +++--- .../common/continuous/LoseAbilityAllEffect.java | 6 +++--- Mage/src/main/java/mage/filter/StaticFilters.java | 6 ++++++ 7 files changed, 25 insertions(+), 25 deletions(-) diff --git a/Mage.Sets/src/mage/cards/b/BearerOfTheHeavens.java b/Mage.Sets/src/mage/cards/b/BearerOfTheHeavens.java index 1b30fac3aeb..d935f234c4a 100644 --- a/Mage.Sets/src/mage/cards/b/BearerOfTheHeavens.java +++ b/Mage.Sets/src/mage/cards/b/BearerOfTheHeavens.java @@ -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)); diff --git a/Mage.Sets/src/mage/cards/b/BoardTheWeatherlight.java b/Mage.Sets/src/mage/cards/b/BoardTheWeatherlight.java index 2394574372e..7b232219997 100644 --- a/Mage.Sets/src/mage/cards/b/BoardTheWeatherlight.java +++ b/Mage.Sets/src/mage/cards/b/BoardTheWeatherlight.java @@ -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. " - + "(Artifacts, legendaries, and Sagas are historic.)") + 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. " + + "(Artifacts, legendaries, and Sagas are historic.)") ); } diff --git a/Mage.Sets/src/mage/cards/m/MistOfStagnation.java b/Mage.Sets/src/mage/cards/m/MistOfStagnation.java index 962cf65d1ab..bd9fbcf5adf 100644 --- a/Mage.Sets/src/mage/cards/m/MistOfStagnation.java +++ b/Mage.Sets/src/mage/cards/m/MistOfStagnation.java @@ -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)); diff --git a/Mage.Sets/src/mage/cards/u/Upheaval.java b/Mage.Sets/src/mage/cards/u/Upheaval.java index 15f24635780..d47a07961fe 100644 --- a/Mage.Sets/src/mage/cards/u/Upheaval.java +++ b/Mage.Sets/src/mage/cards/u/Upheaval.java @@ -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) { diff --git a/Mage/src/main/java/mage/abilities/effects/common/continuous/GainAbilityControlledEffect.java b/Mage/src/main/java/mage/abilities/effects/common/continuous/GainAbilityControlledEffect.java index bc5f1856972..aa2ea4b16c6 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/continuous/GainAbilityControlledEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/continuous/GainAbilityControlledEffect.java @@ -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) { diff --git a/Mage/src/main/java/mage/abilities/effects/common/continuous/LoseAbilityAllEffect.java b/Mage/src/main/java/mage/abilities/effects/common/continuous/LoseAbilityAllEffect.java index 5d56fdf130d..fd56dcee2b9 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/continuous/LoseAbilityAllEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/continuous/LoseAbilityAllEffect.java @@ -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) { diff --git a/Mage/src/main/java/mage/filter/StaticFilters.java b/Mage/src/main/java/mage/filter/StaticFilters.java index 4e9531e8c79..a078551441a 100644 --- a/Mage/src/main/java/mage/filter/StaticFilters.java +++ b/Mage/src/main/java/mage/filter/StaticFilters.java @@ -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 {