From a89f2bc1d94eafb3c7f34b8a0ec99568cad8ce95 Mon Sep 17 00:00:00 2001 From: Northmoc Date: Wed, 11 Nov 2020 01:27:11 -0500 Subject: [PATCH] EndTurnEffect - Optional and Defined support --- .../forge/game/ability/effects/EndTurnEffect.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/forge-game/src/main/java/forge/game/ability/effects/EndTurnEffect.java b/forge-game/src/main/java/forge/game/ability/effects/EndTurnEffect.java index f6f51763b03..3e0fb1f391f 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/EndTurnEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/EndTurnEffect.java @@ -6,7 +6,11 @@ import com.google.common.collect.Lists; import forge.game.Game; import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; +import forge.game.player.Player; import forge.game.spellability.SpellAbility; +import forge.util.Localizer; + +import java.util.List; public class EndTurnEffect extends SpellAbilityEffect { @@ -19,7 +23,14 @@ public class EndTurnEffect extends SpellAbilityEffect { */ @Override public void resolve(SpellAbility sa) { - Game game = sa.getActivatingPlayer().getGame(); + final List enders = getDefinedPlayersOrTargeted(sa, "Defined"); + final Player ender = enders.isEmpty() ? sa.getActivatingPlayer() : enders.get(0); + if (sa.hasParam("Optional")) { + if (!ender.getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblDoYouWantEndTurn"))) { + return; + } + } + Game game = ender.getGame(); // Steps taken from gatherer's rulings on Time Stop. // 1) All spells and abilities on the stack are exiled. This includes // Time Stop, though it will continue to resolve. It also includes