From ac734dfef8c6bb3f05b0651c48616c5efdd7ed7f Mon Sep 17 00:00:00 2001 From: theelk801 Date: Fri, 23 May 2025 21:34:17 -0400 Subject: [PATCH] [FIN] fix Ultimate Magic: Meteor condition --- Mage.Sets/src/mage/cards/u/UltimateMagicMeteor.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Mage.Sets/src/mage/cards/u/UltimateMagicMeteor.java b/Mage.Sets/src/mage/cards/u/UltimateMagicMeteor.java index e5d8097999f..25baff669e7 100644 --- a/Mage.Sets/src/mage/cards/u/UltimateMagicMeteor.java +++ b/Mage.Sets/src/mage/cards/u/UltimateMagicMeteor.java @@ -8,12 +8,14 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.Outcome; +import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.StaticFilters; import mage.filter.predicate.Predicates; import mage.filter.predicate.permanent.ControllerIdPredicate; import mage.game.Game; import mage.game.permanent.Permanent; +import mage.game.stack.Spell; import mage.players.Player; import mage.target.TargetPermanent; @@ -76,6 +78,15 @@ class UltimateMagicMeteorEffect extends OneShotEffect { @Override public boolean apply(Game game, Ability source) { + if (!Optional + .ofNullable(source) + .map(Ability::getSourceId) + .map(game::getSpell) + .map(Spell::getFromZone) + .map(Zone.EXILED::match) + .orElse(false)) { + return false; + } Player player = game.getPlayer(source.getControllerId()); if (player == null) { return false;