fix Mardu Siegebreaker

This commit is contained in:
xenohedron 2025-09-06 23:24:51 -04:00
parent 199652463c
commit 457a5303f3

View file

@ -18,12 +18,12 @@ import mage.cards.Cards;
import mage.constants.CardType; import mage.constants.CardType;
import mage.constants.Outcome; import mage.constants.Outcome;
import mage.constants.SubType; import mage.constants.SubType;
import mage.constants.TargetController;
import mage.filter.FilterPermanent; import mage.filter.FilterPermanent;
import mage.filter.StaticFilters; import mage.filter.StaticFilters;
import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.predicate.mageobject.AnotherPredicate; import mage.filter.predicate.mageobject.AnotherPredicate;
import mage.game.Game; import mage.game.Game;
import mage.game.GameState;
import mage.game.permanent.token.Token; import mage.game.permanent.token.Token;
import mage.target.TargetCard; import mage.target.TargetCard;
import mage.target.TargetPermanent; import mage.target.TargetPermanent;
@ -100,12 +100,7 @@ class MarduSiegebreakerEffect extends OneShotEffect {
@Override @Override
public boolean apply(Game game, Ability source) { public boolean apply(Game game, Ability source) {
Cards cards = Optional Cards cards = game.getState().getExile().getExileZone(CardUtil.getExileZoneId(game, source));
.ofNullable(game)
.map(Game::getState)
.map(GameState::getExile)
.map(exile -> exile.getExileZone(CardUtil.getExileZoneId(game, source)))
.orElse(null);
if (cards == null) { if (cards == null) {
return false; return false;
} }
@ -138,7 +133,7 @@ class MarduSiegebreakerEffect extends OneShotEffect {
.forEach(addedTokens::add); .forEach(addedTokens::add);
} }
game.addDelayedTriggeredAbility(new AtTheBeginOfNextEndStepDelayedTriggeredAbility( game.addDelayedTriggeredAbility(new AtTheBeginOfNextEndStepDelayedTriggeredAbility(
new SacrificeTargetEffect().setTargetPointer(new FixedTargets(addedTokens)) new SacrificeTargetEffect().setTargetPointer(new FixedTargets(addedTokens)), TargetController.YOU
), source); ), source);
return true; return true;
} }