diff --git a/forge-ai/src/main/java/forge/ai/AiController.java b/forge-ai/src/main/java/forge/ai/AiController.java index f439130a65d..e756fb0260a 100644 --- a/forge-ai/src/main/java/forge/ai/AiController.java +++ b/forge-ai/src/main/java/forge/ai/AiController.java @@ -1300,7 +1300,7 @@ public class AiController { return discardList; } - public boolean confirmAction(SpellAbility sa, PlayerActionConfirmMode mode, String message, Map params) { + public boolean confirmAction(SpellAbility sa, PlayerActionConfirmMode mode, String message) { ApiType api = sa.getApi(); // Abilities without api may also use this routine, However they should provide a unique mode value ?? How could this work? @@ -1309,7 +1309,7 @@ public class AiController { mode); throw new IllegalArgumentException(exMsg); } - return SpellApiToAi.Converter.get(api).confirmAction(player, sa, mode, message, params); + return SpellApiToAi.Converter.get(api).confirmAction(player, sa, mode, message); } public boolean confirmBidAction(SpellAbility sa, PlayerActionConfirmMode mode, String message, int bid, Player winner) { diff --git a/forge-ai/src/main/java/forge/ai/PlayerControllerAi.java b/forge-ai/src/main/java/forge/ai/PlayerControllerAi.java index b0f6d4932d8..87ed8cb9fc2 100644 --- a/forge-ai/src/main/java/forge/ai/PlayerControllerAi.java +++ b/forge-ai/src/main/java/forge/ai/PlayerControllerAi.java @@ -237,8 +237,8 @@ public class PlayerControllerAi extends PlayerController { } @Override - public boolean confirmAction(SpellAbility sa, PlayerActionConfirmMode mode, String message, Map params) { - return getAi().confirmAction(sa, mode, message, params); + public boolean confirmAction(SpellAbility sa, PlayerActionConfirmMode mode, String message) { + return getAi().confirmAction(sa, mode, message); } @Override diff --git a/forge-ai/src/main/java/forge/ai/SpellAbilityAi.java b/forge-ai/src/main/java/forge/ai/SpellAbilityAi.java index f089d9cf438..6b65082c41a 100644 --- a/forge-ai/src/main/java/forge/ai/SpellAbilityAi.java +++ b/forge-ai/src/main/java/forge/ai/SpellAbilityAi.java @@ -305,7 +305,7 @@ public abstract class SpellAbilityAi { return SpellApiToAi.Converter.get(ab.getApi()).chkAIDrawback(ab, aiPlayer) && (subAb == null || chkDrawbackWithSubs(aiPlayer, subAb)); } - public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message, Map params) { + public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message) { System.err.println("Warning: default (ie. inherited from base class) implementation of confirmAction is used by " + sa.getHostCard().getName() + " for " + this.getClass().getName() + ". Consider declaring an overloaded method"); return true; } diff --git a/forge-ai/src/main/java/forge/ai/ability/AlwaysPlayAi.java b/forge-ai/src/main/java/forge/ai/ability/AlwaysPlayAi.java index 3c80fd8b35b..331e072aa8e 100644 --- a/forge-ai/src/main/java/forge/ai/ability/AlwaysPlayAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/AlwaysPlayAi.java @@ -1,8 +1,6 @@ package forge.ai.ability; -import java.util.Map; - import forge.ai.SpellAbilityAi; import forge.game.player.Player; import forge.game.player.PlayerActionConfirmMode; @@ -18,7 +16,7 @@ public class AlwaysPlayAi extends SpellAbilityAi { } @Override - public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message, Map params) { + public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message) { return true; } } diff --git a/forge-ai/src/main/java/forge/ai/ability/AmassAi.java b/forge-ai/src/main/java/forge/ai/ability/AmassAi.java index 7703877c6e6..2e8066cb5bd 100644 --- a/forge-ai/src/main/java/forge/ai/ability/AmassAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/AmassAi.java @@ -85,7 +85,7 @@ public class AmassAi extends SpellAbilityAi { } @Override - public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message, Map params) { + public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message) { return true; } diff --git a/forge-ai/src/main/java/forge/ai/ability/AnimateAi.java b/forge-ai/src/main/java/forge/ai/ability/AnimateAi.java index aae0754910e..e398ef82e98 100644 --- a/forge-ai/src/main/java/forge/ai/ability/AnimateAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/AnimateAi.java @@ -245,7 +245,7 @@ public class AnimateAi extends SpellAbilityAi { } @Override - public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message, Map params) { + public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message) { return player.getGame().getPhaseHandler().getPhase().isBefore(PhaseType.MAIN2); } diff --git a/forge-ai/src/main/java/forge/ai/ability/AttachAi.java b/forge-ai/src/main/java/forge/ai/ability/AttachAi.java index e2edae67f9a..99642b44a08 100644 --- a/forge-ai/src/main/java/forge/ai/ability/AttachAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/AttachAi.java @@ -1725,7 +1725,7 @@ public class AttachAi extends SpellAbilityAi { } @Override - public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message, Map params) { + public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message) { return true; } diff --git a/forge-ai/src/main/java/forge/ai/ability/ChangeZoneAi.java b/forge-ai/src/main/java/forge/ai/ability/ChangeZoneAi.java index 4d400aa0ba0..d9c98e14ea3 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ChangeZoneAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ChangeZoneAi.java @@ -1714,7 +1714,7 @@ public class ChangeZoneAi extends SpellAbilityAi { * @see forge.card.ability.SpellAbilityAi#confirmAction(forge.game.player.Player, forge.card.spellability.SpellAbility, forge.game.player.PlayerActionConfirmMode, java.lang.String) */ @Override - public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message, Map params) { + public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message) { // AI was never asked return true; } diff --git a/forge-ai/src/main/java/forge/ai/ability/ChangeZoneAllAi.java b/forge-ai/src/main/java/forge/ai/ability/ChangeZoneAllAi.java index 693de81acd2..68b672e49b8 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ChangeZoneAllAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ChangeZoneAllAi.java @@ -1,7 +1,6 @@ package forge.ai.ability; import java.util.Collections; -import java.util.Map; import com.google.common.base.Predicates; import com.google.common.collect.Iterables; @@ -331,7 +330,7 @@ public class ChangeZoneAllAi extends SpellAbilityAi { * @see forge.card.ability.SpellAbilityAi#confirmAction(forge.game.player.Player, forge.card.spellability.SpellAbility, forge.game.player.PlayerActionConfirmMode, java.lang.String) */ @Override - public boolean confirmAction(Player ai, SpellAbility sa, PlayerActionConfirmMode mode, String message, Map params) { + public boolean confirmAction(Player ai, SpellAbility sa, PlayerActionConfirmMode mode, String message) { final Card source = sa.getHostCard(); final String hostName = source.getName(); final ZoneType origin = ZoneType.listValueOf(sa.getParam("Origin")).get(0); diff --git a/forge-ai/src/main/java/forge/ai/ability/CloneAi.java b/forge-ai/src/main/java/forge/ai/ability/CloneAi.java index bfc459969df..1eac12c1226 100644 --- a/forge-ai/src/main/java/forge/ai/ability/CloneAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/CloneAi.java @@ -155,7 +155,7 @@ public class CloneAi extends SpellAbilityAi { * @see forge.card.ability.SpellAbilityAi#confirmAction(forge.game.player.Player, forge.card.spellability.SpellAbility, forge.game.player.PlayerActionConfirmMode, java.lang.String) */ @Override - public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message, Map params) { + public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message) { if (sa.hasParam("AILogic") && (!sa.usesTargeting() || sa.isTargetNumberValid())) { // Had a special logic for it and managed to target, so confirm if viable if ("CloneBestCreature".equals(sa.getParam("AILogic"))) { diff --git a/forge-ai/src/main/java/forge/ai/ability/CopyPermanentAi.java b/forge-ai/src/main/java/forge/ai/ability/CopyPermanentAi.java index f7993e84b7c..e0f03379bd2 100644 --- a/forge-ai/src/main/java/forge/ai/ability/CopyPermanentAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/CopyPermanentAi.java @@ -209,7 +209,7 @@ public class CopyPermanentAi extends SpellAbilityAi { * @see forge.card.ability.SpellAbilityAi#confirmAction(forge.game.player.Player, forge.card.spellability.SpellAbility, forge.game.player.PlayerActionConfirmMode, java.lang.String) */ @Override - public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message, Map params) { + public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message) { //TODO: add logic here return true; } diff --git a/forge-ai/src/main/java/forge/ai/ability/CopySpellAbilityAi.java b/forge-ai/src/main/java/forge/ai/ability/CopySpellAbilityAi.java index 529b29101c3..2ee98ae00b4 100644 --- a/forge-ai/src/main/java/forge/ai/ability/CopySpellAbilityAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/CopySpellAbilityAi.java @@ -137,7 +137,7 @@ public class CopySpellAbilityAi extends SpellAbilityAi { } @Override - public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message, Map params) { + public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message) { // Chain of Acid requires special attention here since otherwise the AI will confirm the copy and then // run into the necessity of confirming a mandatory Destroy, thus destroying all of its own permanents. if ("ChainOfAcid".equals(sa.getParam("AILogic"))) { diff --git a/forge-ai/src/main/java/forge/ai/ability/CountersPutAi.java b/forge-ai/src/main/java/forge/ai/ability/CountersPutAi.java index e0f9554fd48..c3b3c130950 100644 --- a/forge-ai/src/main/java/forge/ai/ability/CountersPutAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/CountersPutAi.java @@ -890,7 +890,7 @@ public class CountersPutAi extends SpellAbilityAi { } @Override - public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message, Map params) { + public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message) { final Card source = sa.getHostCard(); if (mode == PlayerActionConfirmMode.Tribute) { // add counter if that opponent has a giant creature diff --git a/forge-ai/src/main/java/forge/ai/ability/CountersPutAllAi.java b/forge-ai/src/main/java/forge/ai/ability/CountersPutAllAi.java index 95862b0acc2..6e776717a8a 100644 --- a/forge-ai/src/main/java/forge/ai/ability/CountersPutAllAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/CountersPutAllAi.java @@ -1,7 +1,6 @@ package forge.ai.ability; import java.util.List; -import java.util.Map; import com.google.common.base.Predicate; import com.google.common.collect.Lists; @@ -153,7 +152,7 @@ public class CountersPutAllAi extends SpellAbilityAi { * @see forge.card.ability.SpellAbilityAi#confirmAction(forge.game.player.Player, forge.card.spellability.SpellAbility, forge.game.player.PlayerActionConfirmMode, java.lang.String) */ @Override - public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message, Map params) { + public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message) { return player.getCreaturesInPlay().size() >= player.getWeakestOpponent().getCreaturesInPlay().size(); } diff --git a/forge-ai/src/main/java/forge/ai/ability/DigAi.java b/forge-ai/src/main/java/forge/ai/ability/DigAi.java index a0e2eafe9f1..7ea8b772b97 100644 --- a/forge-ai/src/main/java/forge/ai/ability/DigAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/DigAi.java @@ -184,7 +184,7 @@ public class DigAi extends SpellAbilityAi { * @see forge.card.ability.SpellAbilityAi#confirmAction(forge.card.spellability.SpellAbility, forge.game.player.PlayerActionConfirmMode, java.lang.String) */ @Override - public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message, Map params) { + public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message) { Card topc = player.getZone(ZoneType.Library).get(0); // AI actions for individual cards (until this AI can be generalized) diff --git a/forge-ai/src/main/java/forge/ai/ability/DigMultipleAi.java b/forge-ai/src/main/java/forge/ai/ability/DigMultipleAi.java index 0a205117b97..76cd8df5362 100644 --- a/forge-ai/src/main/java/forge/ai/ability/DigMultipleAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/DigMultipleAi.java @@ -1,7 +1,5 @@ package forge.ai.ability; -import java.util.Map; - import forge.ai.AiAttackController; import forge.ai.ComputerUtil; import forge.ai.SpellAbilityAi; @@ -96,7 +94,7 @@ public class DigMultipleAi extends SpellAbilityAi { * @see forge.card.ability.SpellAbilityAi#confirmAction(forge.card.spellability.SpellAbility, forge.game.player.PlayerActionConfirmMode, java.lang.String) */ @Override - public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message, Map params) { + public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message) { return true; } } diff --git a/forge-ai/src/main/java/forge/ai/ability/DigUntilAi.java b/forge-ai/src/main/java/forge/ai/ability/DigUntilAi.java index bd00b470640..35aa8d58a38 100644 --- a/forge-ai/src/main/java/forge/ai/ability/DigUntilAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/DigUntilAi.java @@ -1,7 +1,6 @@ package forge.ai.ability; import java.util.List; -import java.util.Map; import forge.ai.AiAttackController; import forge.ai.ComputerUtilCost; @@ -123,7 +122,7 @@ public class DigUntilAi extends SpellAbilityAi { * @see forge.card.ability.SpellAbilityAi#confirmAction(forge.card.spellability.SpellAbility, forge.game.player.PlayerActionConfirmMode, java.lang.String) */ @Override - public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message, Map params) { + public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message) { if (sa.hasParam("AILogic")) { final String logic = sa.getParam("AILogic"); if ("OathOfDruids".equals(logic)) { diff --git a/forge-ai/src/main/java/forge/ai/ability/DiscardAi.java b/forge-ai/src/main/java/forge/ai/ability/DiscardAi.java index f281cdce0c6..17d69dcdbc0 100644 --- a/forge-ai/src/main/java/forge/ai/ability/DiscardAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/DiscardAi.java @@ -1,7 +1,6 @@ package forge.ai.ability; import java.util.List; -import java.util.Map; import forge.ai.AiAttackController; import forge.ai.ComputerUtil; @@ -213,11 +212,11 @@ public class DiscardAi extends SpellAbilityAi { } // discardCheckDrawbackAI() - public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message, Map params) { + public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message) { if ( mode == PlayerActionConfirmMode.Random ) { // // TODO For now AI will always discard Random used currently with: Balduvian Horde and similar cards return true; } - return super.confirmAction(player, sa, mode, message, params); + return super.confirmAction(player, sa, mode, message); } } diff --git a/forge-ai/src/main/java/forge/ai/ability/DrawAi.java b/forge-ai/src/main/java/forge/ai/ability/DrawAi.java index 54bb489840f..a2d6433bc8f 100644 --- a/forge-ai/src/main/java/forge/ai/ability/DrawAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/DrawAi.java @@ -18,8 +18,6 @@ */ package forge.ai.ability; -import java.util.Map; - import forge.ai.AiCostDecision; import forge.ai.AiProps; import forge.ai.ComputerUtil; @@ -536,7 +534,7 @@ public class DrawAi extends SpellAbilityAi { * @see forge.card.ability.SpellAbilityAi#confirmAction(forge.game.player.Player, forge.card.spellability.SpellAbility, forge.game.player.PlayerActionConfirmMode, java.lang.String) */ @Override - public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message, Map params) { + public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message) { int numCards = sa.hasParam("NumCards") ? AbilityUtils.calculateAmount(sa.getHostCard(), sa.getParam("NumCards"), sa) : 1; // AI shouldn't mill itself if (numCards < player.getZone(ZoneType.Library).size()) diff --git a/forge-ai/src/main/java/forge/ai/ability/EncodeAi.java b/forge-ai/src/main/java/forge/ai/ability/EncodeAi.java index 44353fed22f..53587f59cd6 100644 --- a/forge-ai/src/main/java/forge/ai/ability/EncodeAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/EncodeAi.java @@ -72,7 +72,7 @@ public final class EncodeAi extends SpellAbilityAi { * forge.game.player.PlayerActionConfirmMode, java.lang.String) */ @Override - public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message, Map params) { + public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message) { // only try to encode if there is a creature it can be used on return chooseCard(player, player.getCreaturesInPlay(), true) != null; } diff --git a/forge-ai/src/main/java/forge/ai/ability/InvestigateAi.java b/forge-ai/src/main/java/forge/ai/ability/InvestigateAi.java index 2ec73d00671..1ae9da74c7b 100644 --- a/forge-ai/src/main/java/forge/ai/ability/InvestigateAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/InvestigateAi.java @@ -1,8 +1,6 @@ package forge.ai.ability; -import java.util.Map; - import forge.ai.SpellAbilityAi; import forge.game.phase.PhaseHandler; import forge.game.phase.PhaseType; @@ -22,7 +20,7 @@ public class InvestigateAi extends SpellAbilityAi { } @Override - public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message, Map params) { + public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message) { return true; } } diff --git a/forge-ai/src/main/java/forge/ai/ability/LearnAi.java b/forge-ai/src/main/java/forge/ai/ability/LearnAi.java index 9d9a2017922..a8b87b8f399 100644 --- a/forge-ai/src/main/java/forge/ai/ability/LearnAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/LearnAi.java @@ -1,8 +1,6 @@ package forge.ai.ability; -import java.util.Map; - import forge.ai.ComputerUtilCard; import forge.ai.PlayerControllerAi; import forge.ai.SpellAbilityAi; @@ -34,7 +32,7 @@ public class LearnAi extends SpellAbilityAi { } @Override - public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message, Map params) { + public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message) { return true; } diff --git a/forge-ai/src/main/java/forge/ai/ability/ManifestAi.java b/forge-ai/src/main/java/forge/ai/ability/ManifestAi.java index 15a3acb36f1..d25fcba5e39 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ManifestAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ManifestAi.java @@ -43,7 +43,7 @@ public class ManifestAi extends SpellAbilityAi { * @see forge.card.ability.SpellAbilityAi#confirmAction(forge.game.player.Player, forge.card.spellability.SpellAbility, forge.game.player.PlayerActionConfirmMode, java.lang.String) */ @Override - public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message, Map params) { + public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message) { return true; } diff --git a/forge-ai/src/main/java/forge/ai/ability/MillAi.java b/forge-ai/src/main/java/forge/ai/ability/MillAi.java index dab39779665..520a54b63df 100644 --- a/forge-ai/src/main/java/forge/ai/ability/MillAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/MillAi.java @@ -194,7 +194,7 @@ public class MillAi extends SpellAbilityAi { * @see forge.card.ability.SpellAbilityAi#confirmAction(forge.game.player.Player, forge.card.spellability.SpellAbility, forge.game.player.PlayerActionConfirmMode, java.lang.String) */ @Override - public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message, Map params) { + public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message) { if ("TimmerianFiends".equals(sa.getParam("AILogic"))) { return SpecialCardAi.TimmerianFiends.consider(player, sa); } diff --git a/forge-ai/src/main/java/forge/ai/ability/MutateAi.java b/forge-ai/src/main/java/forge/ai/ability/MutateAi.java index 9abefe08d4e..c6bb4028e00 100644 --- a/forge-ai/src/main/java/forge/ai/ability/MutateAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/MutateAi.java @@ -63,7 +63,7 @@ public class MutateAi extends SpellAbilityAi { } @Override - public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message, Map params) { + public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message) { return true; } } diff --git a/forge-ai/src/main/java/forge/ai/ability/PeekAndRevealAi.java b/forge-ai/src/main/java/forge/ai/ability/PeekAndRevealAi.java index 91b3acc0e6a..331ee87051c 100644 --- a/forge-ai/src/main/java/forge/ai/ability/PeekAndRevealAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/PeekAndRevealAi.java @@ -1,7 +1,5 @@ package forge.ai.ability; -import java.util.Map; - import forge.ai.SpellAbilityAi; import forge.ai.SpellApiToAi; import forge.game.phase.PhaseHandler; @@ -47,7 +45,7 @@ public class PeekAndRevealAi extends SpellAbilityAi { * @see forge.card.ability.SpellAbilityAi#confirmAction(forge.game.player.Player, forge.card.spellability.SpellAbility, forge.game.player.PlayerActionConfirmMode, java.lang.String) */ @Override - public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message, Map params) { + public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message) { AbilitySub subAb = sa.getSubAbility(); return subAb != null && SpellApiToAi.Converter.get(subAb.getApi()).chkDrawbackWithSubs(player, subAb); } diff --git a/forge-ai/src/main/java/forge/ai/ability/PlayAi.java b/forge-ai/src/main/java/forge/ai/ability/PlayAi.java index f69ecb3a083..9300c5c6e44 100644 --- a/forge-ai/src/main/java/forge/ai/ability/PlayAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/PlayAi.java @@ -158,16 +158,7 @@ public class PlayAi extends SpellAbilityAi { return true; } - - /* (non-Javadoc) - * @see forge.card.ability.SpellAbilityAi#confirmAction(forge.game.player.Player, forge.card.spellability.SpellAbility, forge.game.player.PlayerActionConfirmMode, java.lang.String) - */ - @Override - public boolean confirmAction(Player ai, SpellAbility sa, PlayerActionConfirmMode mode, String message, Map params) { - // as called from PlayEffect - return chooseSingleCard(ai, sa, new CardCollection((Card) params.get("Card")), true, ai, null) != null; - } - + /* (non-Javadoc) * @see forge.card.ability.SpellAbilityAi#chooseSingleCard(forge.game.player.Player, forge.card.spellability.SpellAbility, java.util.List, boolean) */ diff --git a/forge-ai/src/main/java/forge/ai/ability/PumpAi.java b/forge-ai/src/main/java/forge/ai/ability/PumpAi.java index 0e2597addff..43d4e48fe80 100644 --- a/forge-ai/src/main/java/forge/ai/ability/PumpAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/PumpAi.java @@ -2,7 +2,6 @@ package forge.ai.ability; import java.util.Arrays; import java.util.List; -import java.util.Map; import org.apache.commons.lang3.StringUtils; @@ -807,7 +806,7 @@ public class PumpAi extends PumpAiBase { } // pumpDrawbackAI() @Override - public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message, Map params) { + public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message) { //TODO Add logic here if necessary but I think the AI won't cast //the spell in the first place if it would curse its own creature //and the pump isn't mandatory diff --git a/forge-ai/src/main/java/forge/ai/ability/RearrangeTopOfLibraryAi.java b/forge-ai/src/main/java/forge/ai/ability/RearrangeTopOfLibraryAi.java index 0ab4dafbbcc..004591af7a8 100644 --- a/forge-ai/src/main/java/forge/ai/ability/RearrangeTopOfLibraryAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/RearrangeTopOfLibraryAi.java @@ -1,8 +1,6 @@ package forge.ai.ability; -import java.util.Map; - import forge.ai.AiCardMemory; import forge.ai.AiController; import forge.ai.AiProps; @@ -94,7 +92,7 @@ public class RearrangeTopOfLibraryAi extends SpellAbilityAi { * @see forge.card.ability.SpellAbilityAi#confirmAction(forge.game.player.Player, forge.card.spellability.SpellAbility, forge.game.player.PlayerActionConfirmMode, java.lang.String) */ @Override - public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message, Map params) { + public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message) { // Confirming this action means shuffling the library if asked. // First, let's check if we can play the top card of the library diff --git a/forge-ai/src/main/java/forge/ai/ability/RepeatAi.java b/forge-ai/src/main/java/forge/ai/ability/RepeatAi.java index d85aa8c37ec..3ec32296b5b 100644 --- a/forge-ai/src/main/java/forge/ai/ability/RepeatAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/RepeatAi.java @@ -1,8 +1,6 @@ package forge.ai.ability; -import java.util.Map; - import forge.ai.AiAttackController; import forge.ai.AiController; import forge.ai.ComputerUtilCost; @@ -40,7 +38,7 @@ public class RepeatAi extends SpellAbilityAi { } @Override - public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message, Map params) { + public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message) { //TODO add logic to have computer make better choice (ArsenalNut) return false; } diff --git a/forge-ai/src/main/java/forge/ai/ability/RollDiceAi.java b/forge-ai/src/main/java/forge/ai/ability/RollDiceAi.java index 415e02fb611..58056b3f536 100644 --- a/forge-ai/src/main/java/forge/ai/ability/RollDiceAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/RollDiceAi.java @@ -1,8 +1,6 @@ package forge.ai.ability; -import java.util.Map; - import forge.ai.SpellAbilityAi; import forge.game.Game; import forge.game.card.Card; @@ -45,7 +43,7 @@ public class RollDiceAi extends SpellAbilityAi { } @Override - public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message, Map params) { + public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message) { return true; } } diff --git a/forge-ai/src/main/java/forge/ai/ability/SacrificeAi.java b/forge-ai/src/main/java/forge/ai/ability/SacrificeAi.java index 6e3786cc310..36d0fa484c6 100644 --- a/forge-ai/src/main/java/forge/ai/ability/SacrificeAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/SacrificeAi.java @@ -1,7 +1,6 @@ package forge.ai.ability; import java.util.List; -import java.util.Map; import forge.ai.ComputerUtilCard; import forge.ai.ComputerUtilCost; @@ -171,7 +170,7 @@ public class SacrificeAi extends SpellAbilityAi { } @Override - public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message, Map params) { + public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message) { return true; } diff --git a/forge-ai/src/main/java/forge/ai/ability/ScryAi.java b/forge-ai/src/main/java/forge/ai/ability/ScryAi.java index 1f4895eada5..9fd83435a03 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ScryAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ScryAi.java @@ -1,7 +1,5 @@ package forge.ai.ability; -import java.util.Map; - import com.google.common.base.Predicates; import forge.ai.ComputerUtilMana; @@ -135,7 +133,7 @@ public class ScryAi extends SpellAbilityAi { } @Override - public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message, Map params) { + public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message) { return true; } } diff --git a/forge-ai/src/main/java/forge/ai/ability/SetStateAi.java b/forge-ai/src/main/java/forge/ai/ability/SetStateAi.java index 26c2186acef..29ded831c7f 100644 --- a/forge-ai/src/main/java/forge/ai/ability/SetStateAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/SetStateAi.java @@ -1,7 +1,5 @@ package forge.ai.ability; -import java.util.Map; - import com.google.common.base.Predicate; import forge.ai.ComputerUtilCard; @@ -265,7 +263,7 @@ public class SetStateAi extends SpellAbilityAi { return true; } - public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message, Map params) { + public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message) { // TODO: improve the AI for when it may want to transform something that's optional to transform return isSafeToTransformIntoLegendary(player, sa.getHostCard()); } diff --git a/forge-ai/src/main/java/forge/ai/ability/ShuffleAi.java b/forge-ai/src/main/java/forge/ai/ability/ShuffleAi.java index cf66187b55e..e4101790445 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ShuffleAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ShuffleAi.java @@ -1,7 +1,5 @@ package forge.ai.ability; -import java.util.Map; - import forge.ai.SpellAbilityAi; import forge.game.phase.PhaseType; import forge.game.player.Player; @@ -56,7 +54,7 @@ public class ShuffleAi extends SpellAbilityAi { } @Override - public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message, Map params) { + public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message) { // ai could analyze parameter denoting the player to shuffle return true; } diff --git a/forge-ai/src/main/java/forge/ai/ability/SkipPhaseAi.java b/forge-ai/src/main/java/forge/ai/ability/SkipPhaseAi.java index fcf7a493acb..d72eedd0249 100644 --- a/forge-ai/src/main/java/forge/ai/ability/SkipPhaseAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/SkipPhaseAi.java @@ -1,7 +1,5 @@ package forge.ai.ability; -import java.util.Map; - import forge.ai.SpellAbilityAi; import forge.game.player.Player; import forge.game.player.PlayerActionConfirmMode; @@ -19,7 +17,7 @@ public class SkipPhaseAi extends SpellAbilityAi { } @Override - public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message, Map params) { + public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message) { return true; } } diff --git a/forge-ai/src/main/java/forge/ai/ability/SurveilAi.java b/forge-ai/src/main/java/forge/ai/ability/SurveilAi.java index bda70112aec..94c40655dec 100644 --- a/forge-ai/src/main/java/forge/ai/ability/SurveilAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/SurveilAi.java @@ -1,7 +1,5 @@ package forge.ai.ability; -import java.util.Map; - import forge.ai.AiCardMemory; import forge.ai.AiProps; import forge.ai.ComputerUtilCost; @@ -122,7 +120,7 @@ public class SurveilAi extends SpellAbilityAi { } @Override - public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message, Map params) { + public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message) { return true; } } diff --git a/forge-ai/src/main/java/forge/ai/ability/TokenAi.java b/forge-ai/src/main/java/forge/ai/ability/TokenAi.java index 5ed3584dd86..bd9bffded98 100644 --- a/forge-ai/src/main/java/forge/ai/ability/TokenAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/TokenAi.java @@ -297,7 +297,7 @@ public class TokenAi extends SpellAbilityAi { * @see forge.card.ability.SpellAbilityAi#confirmAction(forge.game.player.Player, forge.card.spellability.SpellAbility, forge.game.player.PlayerActionConfirmMode, java.lang.String) */ @Override - public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message, Map params) { + public boolean confirmAction(Player player, SpellAbility sa, PlayerActionConfirmMode mode, String message) { // TODO: AILogic return true; } diff --git a/forge-game/src/main/java/forge/game/GameAction.java b/forge-game/src/main/java/forge/game/GameAction.java index c843ec1710a..6aaefde06a2 100644 --- a/forge-game/src/main/java/forge/game/GameAction.java +++ b/forge-game/src/main/java/forge/game/GameAction.java @@ -1396,7 +1396,7 @@ public class GameAction { private boolean stateBasedAction903_9a(Card c) { if (c.isRealCommander() && c.canMoveToCommandZone()) { c.setMoveToCommandZone(false); - if (c.getOwner().getController().confirmAction(c.getSpellPermanent(), PlayerActionConfirmMode.ChangeZoneToAltDestination, c.getName() + ": If a commander is in a graveyard or in exile and that card was put into that zone since the last time state-based actions were checked, its owner may put it into the command zone.", null)) { + if (c.getOwner().getController().confirmAction(c.getSpellPermanent(), PlayerActionConfirmMode.ChangeZoneToAltDestination, c.getName() + ": If a commander is in a graveyard or in exile and that card was put into that zone since the last time state-based actions were checked, its owner may put it into the command zone.")) { moveTo(c.getOwner().getZone(ZoneType.Command), c, null); return true; } diff --git a/forge-game/src/main/java/forge/game/ability/effects/AbandonEffect.java b/forge-game/src/main/java/forge/game/ability/effects/AbandonEffect.java index 460c67a7df1..7eeffb6afec 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/AbandonEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/AbandonEffect.java @@ -25,7 +25,7 @@ public class AbandonEffect extends SpellAbilityEffect { Player controller = source.getController(); boolean isOptional = sa.hasParam("Optional"); - if (isOptional && !controller.getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblWouldYouLikeAbandonSource", CardTranslation.getTranslatedName(source.getName())), null)) { + if (isOptional && !controller.getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblWouldYouLikeAbandonSource", CardTranslation.getTranslatedName(source.getName())))) { return; } diff --git a/forge-game/src/main/java/forge/game/ability/effects/AnimateEffect.java b/forge-game/src/main/java/forge/game/ability/effects/AnimateEffect.java index a467b01ee84..4436f96c163 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/AnimateEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/AnimateEffect.java @@ -147,7 +147,7 @@ public class AnimateEffect extends AnimateEffectBase { ? TextUtil.fastReplace(sa.getParam("OptionQuestion"), "TARGETS", targets) : getStackDescription(sa); - if (!sa.getActivatingPlayer().getController().confirmAction(sa, null, message, null)) { + if (!sa.getActivatingPlayer().getController().confirmAction(sa, null, message)) { return; } } diff --git a/forge-game/src/main/java/forge/game/ability/effects/AttachEffect.java b/forge-game/src/main/java/forge/game/ability/effects/AttachEffect.java index 46ba6a5d13b..0746c83624a 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/AttachEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/AttachEffect.java @@ -90,7 +90,7 @@ public class AttachEffect extends SpellAbilityEffect { // If Cast Targets will be checked on the Stack for (final Card attachment : attachments) { String message = Localizer.getInstance().getMessage("lblDoYouWantAttachSourceToTarget", CardTranslation.getTranslatedName(attachment.getName()), attachToName); - if ( sa.hasParam("Optional") && !p.getController().confirmAction(sa, null, message, null) ) + if ( sa.hasParam("Optional") && !p.getController().confirmAction(sa, null, message) ) continue; handleAttachment(attachment, attachTo, sa); } diff --git a/forge-game/src/main/java/forge/game/ability/effects/ChangeTargetsEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ChangeTargetsEffect.java index f744ee49a9e..84aeb0ae8c1 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ChangeTargetsEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ChangeTargetsEffect.java @@ -50,7 +50,7 @@ public class ChangeTargetsEffect extends SpellAbilityEffect { // Redirect rules read 'you MAY choose new targets' ... okay! // TODO: Don't even ask to change targets, if the SA and subs don't actually have targets boolean isOptional = sa.hasParam("Optional"); - if (isOptional && !chooser.getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblDoYouWantChangeAbilityTargets", tgtSA.getHostCard().toString()), null)) { + if (isOptional && !chooser.getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblDoYouWantChangeAbilityTargets", tgtSA.getHostCard().toString()))) { continue; } if (sa.hasParam("ChangeSingleTarget")) { diff --git a/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneAllEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneAllEffect.java index b7c3845c2ff..b53383ed315 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneAllEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneAllEffect.java @@ -117,7 +117,7 @@ public class ChangeZoneAllEffect extends SpellAbilityEffect { message = Localizer.getInstance().getMessage("lblMoveTargetFromOriginToDestination", targets, Lang.joinHomogenous(origin, ZoneType.Accessors.GET_TRANSLATED_NAME), destination.getTranslatedName()); } - if (!sa.getActivatingPlayer().getController().confirmAction(sa, null, message, null)) { + if (!sa.getActivatingPlayer().getController().confirmAction(sa, null, message)) { return; } } diff --git a/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneEffect.java index 4e9651709de..727774e2be5 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneEffect.java @@ -462,7 +462,7 @@ public class ChangeZoneEffect extends SpellAbilityEffect { if (sa.hasParam("AlternativeDecider")) { alterDecider = AbilityUtils.getDefinedPlayers(hostCard, sa.getParam("AlternativeDecider"), sa).get(0); } - if (!alterDecider.getController().confirmAction(sa, PlayerActionConfirmMode.ChangeZoneToAltDestination, sb.toString(), null)) { + if (!alterDecider.getController().confirmAction(sa, PlayerActionConfirmMode.ChangeZoneToAltDestination, sb.toString())) { destination = ZoneType.smartValueOf(sa.getParam("DestinationAlternative")); altDest = true; } @@ -521,7 +521,7 @@ public class ChangeZoneEffect extends SpellAbilityEffect { } final String prompt = TextUtil.concatWithSpace(Localizer.getInstance().getMessage("lblDoYouWantMoveTargetFromOriToDest", CardTranslation.getTranslatedName(gameCard.getName()), Lang.joinHomogenous(origin, ZoneType.Accessors.GET_TRANSLATED_NAME), destination.getTranslatedName())); - if (optional && !chooser.getController().confirmAction(sa, null, prompt, null) ) + if (optional && !chooser.getController().confirmAction(sa, null, prompt) ) continue; final Zone originZone = game.getZoneOf(gameCard); @@ -903,7 +903,7 @@ public class ChangeZoneEffect extends SpellAbilityEffect { sb.append(sa.getParam("AlternativeMessage")).append(" "); sb.append(altFetchList.size()).append(" " + Localizer.getInstance().getMessage("lblCardMatchSearchingTypeInAlternateZones")); - if (!decider.getController().confirmAction(sa, PlayerActionConfirmMode.ChangeZoneFromAltSource, sb.toString(), null)) { + if (!decider.getController().confirmAction(sa, PlayerActionConfirmMode.ChangeZoneFromAltSource, sb.toString())) { origin = alt; } } @@ -915,7 +915,7 @@ public class ChangeZoneEffect extends SpellAbilityEffect { final StringBuilder sb = new StringBuilder(); sb.append(sa.getParam("AlternativeDestinationMessage")); - if (!decider.getController().confirmAction(sa, PlayerActionConfirmMode.ChangeZoneToAltDestination, sb.toString(), null)) { + if (!decider.getController().confirmAction(sa, PlayerActionConfirmMode.ChangeZoneToAltDestination, sb.toString())) { destination = ZoneType.smartValueOf(sa.getParam("DestinationAlternative")); libraryPos = sa.hasParam("LibraryPositionAlternative") ? Integer.parseInt(sa.getParam("LibraryPositionAlternative")) : 0; } @@ -933,7 +933,7 @@ public class ChangeZoneEffect extends SpellAbilityEffect { prompt = Localizer.getInstance().getMessage("lblSearchPlayerZoneConfirm", "{player's}", Lang.joinHomogenous(origin, ZoneType.Accessors.GET_TRANSLATED_NAME).toLowerCase()); } String message = MessageUtil.formatMessage(prompt , decider, player); - if (!decider.getController().confirmAction(sa, PlayerActionConfirmMode.ChangeZoneGeneral, message, null)) { + if (!decider.getController().confirmAction(sa, PlayerActionConfirmMode.ChangeZoneGeneral, message)) { return; } } @@ -1016,7 +1016,7 @@ public class ChangeZoneEffect extends SpellAbilityEffect { continue; } SpellAbility tgtSA = decider.getController().getAbilityToPlay(tgtCard, sas); - if (!decider.getController().confirmAction(tgtSA, null, Localizer.getInstance().getMessage("lblDoYouWantPlayCard", CardTranslation.getTranslatedName(tgtCard.getName())), null)) { + if (!decider.getController().confirmAction(tgtSA, null, Localizer.getInstance().getMessage("lblDoYouWantPlayCard", CardTranslation.getTranslatedName(tgtCard.getName())))) { continue; } tgtSA.setSVar("IsCastFromPlayEffect", "True"); @@ -1125,7 +1125,7 @@ public class ChangeZoneEffect extends SpellAbilityEffect { final int num = Math.min(fetchList.size(), changeNum - i); String message = Localizer.getInstance().getMessage("lblCancelSearchUpToSelectNumCards", String.valueOf(num)); - if (fetchList.isEmpty() || decider.getController().confirmAction(sa, PlayerActionConfirmMode.ChangeZoneGeneral, message, null)) { + if (fetchList.isEmpty() || decider.getController().confirmAction(sa, PlayerActionConfirmMode.ChangeZoneGeneral, message)) { break; } i--; diff --git a/forge-game/src/main/java/forge/game/ability/effects/CharmEffect.java b/forge-game/src/main/java/forge/game/ability/effects/CharmEffect.java index 2ec606721a5..7ec25a53304 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/CharmEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/CharmEffect.java @@ -166,7 +166,7 @@ public class CharmEffect extends SpellAbilityEffect { } boolean isOptional = sa.hasParam("Optional"); - if (isOptional && !activator.getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblWouldYouLikeCharm", CardTranslation.getTranslatedName(source.getName())), null)) { + if (isOptional && !activator.getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblWouldYouLikeCharm", CardTranslation.getTranslatedName(source.getName())))) { return false; } diff --git a/forge-game/src/main/java/forge/game/ability/effects/ChooseCardEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ChooseCardEffect.java index 3eb466c1260..ef97d4bf459 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ChooseCardEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ChooseCardEffect.java @@ -101,7 +101,7 @@ public class ChooseCardEffect extends SpellAbilityEffect { Localizer.getInstance().getMessage("lblSelectCreatureWithTotalPowerLessOrEqualTo", (totP - chosenP - negativeNum)) + "\r\n(" + Localizer.getInstance().getMessage("lblSelected") + ":" + chosenPool + ")\r\n(" + Localizer.getInstance().getMessage("lblTotalPowerNum", chosenP) + ")", chosenP <= totP, null); if (c == null) { - if (p.getController().confirmAction(sa, PlayerActionConfirmMode.OptionalChoose, Localizer.getInstance().getMessage("lblCancelChooseConfirm"), null)) { + if (p.getController().confirmAction(sa, PlayerActionConfirmMode.OptionalChoose, Localizer.getInstance().getMessage("lblCancelChooseConfirm"))) { break; } } else { diff --git a/forge-game/src/main/java/forge/game/ability/effects/CloneEffect.java b/forge-game/src/main/java/forge/game/ability/effects/CloneEffect.java index cde1523c19b..5d4ff084e57 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/CloneEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/CloneEffect.java @@ -104,7 +104,7 @@ public class CloneEffect extends SpellAbilityEffect { } final boolean optional = sa.hasParam("Optional"); - if (optional && !host.getController().getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblDoYouWantCopy", CardTranslation.getTranslatedName(cardToCopy.getName())), null)) { + if (optional && !host.getController().getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblDoYouWantCopy", CardTranslation.getTranslatedName(cardToCopy.getName())))) { return; } diff --git a/forge-game/src/main/java/forge/game/ability/effects/ControlExchangeEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ControlExchangeEffect.java index 2bf43a1f520..05c4098b789 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ControlExchangeEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ControlExchangeEffect.java @@ -90,7 +90,7 @@ public class ControlExchangeEffect extends SpellAbilityEffect { if (!sa.getActivatingPlayer().getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblExchangeControl", CardTranslation.getTranslatedName(object1.getName()), - CardTranslation.getTranslatedName(object2.getName())), null)) { + CardTranslation.getTranslatedName(object2.getName())))) { return; } } diff --git a/forge-game/src/main/java/forge/game/ability/effects/CopyPermanentEffect.java b/forge-game/src/main/java/forge/game/ability/effects/CopyPermanentEffect.java index 1846bafa86c..42cccd4b5be 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/CopyPermanentEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/CopyPermanentEffect.java @@ -60,7 +60,7 @@ public class CopyPermanentEffect extends TokenEffectBase { final Game game = host.getGame(); if (sa.hasParam("Optional")) { - if (!activator.getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblCopyPermanentConfirm"), null)) { + if (!activator.getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblCopyPermanentConfirm"))) { return; } } @@ -150,7 +150,7 @@ public class CopyPermanentEffect extends TokenEffectBase { if (choosen != null) { tgtCards.add(choosen); choices = CardLists.filter(choices, Predicates.not(CardPredicates.sharesNameWith(choosen))); - } else if (chooser.getController().confirmAction(sa, PlayerActionConfirmMode.OptionalChoose, Localizer.getInstance().getMessage("lblCancelChooseConfirm"), null)) { + } else if (chooser.getController().confirmAction(sa, PlayerActionConfirmMode.OptionalChoose, Localizer.getInstance().getMessage("lblCancelChooseConfirm"))) { break; } } diff --git a/forge-game/src/main/java/forge/game/ability/effects/CopySpellAbilityEffect.java b/forge-game/src/main/java/forge/game/ability/effects/CopySpellAbilityEffect.java index 69445aa534d..73aa44a4cf0 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/CopySpellAbilityEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/CopySpellAbilityEffect.java @@ -88,7 +88,7 @@ public class CopySpellAbilityEffect extends SpellAbilityEffect { SpellAbility chosenSA = controller.getController().chooseSingleSpellForEffect(tgtSpells, sa, Localizer.getInstance().getMessage("lblSelectASpellCopy"), ImmutableMap.of()); - if (isOptional && !controller.getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblDoyouWantCopyTheSpell", CardTranslation.getTranslatedName(chosenSA.getHostCard().getName())), null)) { + if (isOptional && !controller.getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblDoyouWantCopyTheSpell", CardTranslation.getTranslatedName(chosenSA.getHostCard().getName())))) { continue; } diff --git a/forge-game/src/main/java/forge/game/ability/effects/CountersPutEffect.java b/forge-game/src/main/java/forge/game/ability/effects/CountersPutEffect.java index 02c4e7e157b..f5b35b965d9 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/CountersPutEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/CountersPutEffect.java @@ -192,7 +192,7 @@ public class CountersPutEffect extends SpellAbilityEffect { } if (sa.hasParam("Optional") && !pc.confirmAction - (sa, null, Localizer.getInstance().getMessage("lblDoYouWantPutCounter"), null)) { + (sa, null, Localizer.getInstance().getMessage("lblDoYouWantPutCounter"))) { return; } @@ -327,7 +327,7 @@ public class CountersPutEffect extends SpellAbilityEffect { String message = Localizer.getInstance().getMessage("lblDoYouWantPutTargetP1P1CountersOnCard", String.valueOf(counterAmount), CardTranslation.getTranslatedName(gameCard.getName())); Player chooser = pc.chooseSingleEntityForEffect(activator.getOpponents(), sa, Localizer.getInstance().getMessage("lblChooseAnOpponent"), params); - if (chooser.getController().confirmAction(sa, PlayerActionConfirmMode.Tribute, message, null)) { + if (chooser.getController().confirmAction(sa, PlayerActionConfirmMode.Tribute, message)) { gameCard.setTributed(true); } else { continue; diff --git a/forge-game/src/main/java/forge/game/ability/effects/CountersRemoveEffect.java b/forge-game/src/main/java/forge/game/ability/effects/CountersRemoveEffect.java index 78219e78908..239d59f47d7 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/CountersRemoveEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/CountersRemoveEffect.java @@ -87,7 +87,7 @@ public class CountersRemoveEffect extends SpellAbilityEffect { if (sa.hasParam("Optional")) { String ctrs = cntToRemove > 1 ? Localizer.getInstance().getMessage("lblCounters") : num.equals("All") ? Localizer.getInstance().getMessage("lblAllCounters") : Localizer.getInstance().getMessage("lblACounters"); - if (!sa.getActivatingPlayer().getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblRemove") + " " + ctrs + "?", null)) { + if (!sa.getActivatingPlayer().getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblRemove") + " " + ctrs + "?")) { return; } } diff --git a/forge-game/src/main/java/forge/game/ability/effects/DamageDealEffect.java b/forge-game/src/main/java/forge/game/ability/effects/DamageDealEffect.java index 07909cc8bb5..8485f02f2d7 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/DamageDealEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/DamageDealEffect.java @@ -151,7 +151,7 @@ public class DamageDealEffect extends DamageBaseEffect { List tgts = getTargets(sa); if (sa.hasParam("OptionalDecider")) { Player decider = Iterables.getFirst(AbilityUtils.getDefinedPlayers(hostCard, sa.getParam("OptionalDecider"), sa), null); - if (decider != null && !decider.getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblDoyouWantDealTargetDamageToTarget", String.valueOf(dmg), tgts.toString()), null)) { + if (decider != null && !decider.getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblDoyouWantDealTargetDamageToTarget", String.valueOf(dmg), tgts.toString()))) { return; } } diff --git a/forge-game/src/main/java/forge/game/ability/effects/DigEffect.java b/forge-game/src/main/java/forge/game/ability/effects/DigEffect.java index 9794566ff74..898d56af362 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/DigEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/DigEffect.java @@ -130,7 +130,7 @@ public class DigEffect extends SpellAbilityEffect { else if (sa.hasParam("RevealOptional")) { String question = TextUtil.concatWithSpace(Localizer.getInstance().getMessage("lblReveal") + ":", TextUtil.addSuffix(Lang.joinHomogenous(top),"?")); - hasRevealed = p.getController().confirmAction(sa, null, question, null); + hasRevealed = p.getController().confirmAction(sa, null, question); if (hasRevealed) { game.getAction().reveal(top, p); } @@ -208,7 +208,7 @@ public class DigEffect extends SpellAbilityEffect { // Optional abilities that use a dialog box to prompt the user to skip the ability (e.g. Explorer's Scope, Quest for Ula's Temple) if (optional && mayBeSkipped && !valid.isEmpty()) { String prompt = !optionalAbilityPrompt.isEmpty() ? optionalAbilityPrompt : Localizer.getInstance().getMessage("lblWouldYouLikeProceedWithOptionalAbility") + " " + sa.getHostCard() + "?\n\n(" + sa.getDescription() + ")"; - if (!p.getController().confirmAction(sa, null, TextUtil.fastReplace(prompt, "CARDNAME", CardTranslation.getTranslatedName(sa.getHostCard().getName())), null)) { + if (!p.getController().confirmAction(sa, null, TextUtil.fastReplace(prompt, "CARDNAME", CardTranslation.getTranslatedName(sa.getHostCard().getName())))) { return; } } diff --git a/forge-game/src/main/java/forge/game/ability/effects/DigUntilEffect.java b/forge-game/src/main/java/forge/game/ability/effects/DigUntilEffect.java index 0b557fde2ec..cbe19e79a5b 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/DigUntilEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/DigUntilEffect.java @@ -119,7 +119,7 @@ public class DigUntilEffect extends SpellAbilityEffect { continue; } if (!sa.usesTargeting() || p.canBeTargetedBy(sa)) { - if (optional && !p.getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblDoYouWantDigYourLibrary"), null)) { + if (optional && !p.getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblDoYouWantDigYourLibrary"))) { continue; } CardCollection found = new CardCollection(); @@ -171,7 +171,7 @@ public class DigUntilEffect extends SpellAbilityEffect { final Card c = itr.next(); final ZoneType origin = c.getZone().getZoneType(); if (optionalFound && !p.getController().confirmAction(sa, null, - Localizer.getInstance().getMessage("lblDoYouWantPutCardToZone", foundDest.getTranslatedName()), null)) { + Localizer.getInstance().getMessage("lblDoYouWantPutCardToZone", foundDest.getTranslatedName()))) { continue; } else { Card m = null; diff --git a/forge-game/src/main/java/forge/game/ability/effects/DiscardEffect.java b/forge-game/src/main/java/forge/game/ability/effects/DiscardEffect.java index 83777280679..6de85a53eb1 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/DiscardEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/DiscardEffect.java @@ -140,7 +140,7 @@ public class DiscardEffect extends SpellAbilityEffect { } boolean runDiscard = !sa.hasParam("Optional") - || p.getController().confirmAction(sa, PlayerActionConfirmMode.Random, sa.getParam("DiscardMessage"), null); + || p.getController().confirmAction(sa, PlayerActionConfirmMode.Random, sa.getParam("DiscardMessage")); if (runDiscard) { toBeDiscarded = AbilityUtils.getDefinedCards(source, sa.getParam("DefinedCards"), sa); @@ -182,7 +182,7 @@ public class DiscardEffect extends SpellAbilityEffect { continue; } String message = Localizer.getInstance().getMessage("lblWouldYouLikeRandomDiscardTargetCard", String.valueOf(numCards)); - boolean runDiscard = !sa.hasParam("Optional") || p.getController().confirmAction(sa, PlayerActionConfirmMode.Random, message, null); + boolean runDiscard = !sa.hasParam("Optional") || p.getController().confirmAction(sa, PlayerActionConfirmMode.Random, message); if (runDiscard) { final String valid = sa.hasParam("DiscardValid") ? sa.getParam("DiscardValid") : "Card"; diff --git a/forge-game/src/main/java/forge/game/ability/effects/DrawEffect.java b/forge-game/src/main/java/forge/game/ability/effects/DrawEffect.java index 07e8566313f..9e30ded533f 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/DrawEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/DrawEffect.java @@ -50,7 +50,7 @@ public class DrawEffect extends SpellAbilityEffect { for (final Player p : getDefinedPlayersOrTargeted(sa)) { if ((tgt == null) || p.canBeTargetedBy(sa)) - if (optional && !p.getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblDoYouWantDrawCards", Lang.nounWithAmount(numCards, " card")), null)) + if (optional && !p.getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblDoYouWantDrawCards", Lang.nounWithAmount(numCards, " card")))) continue; int actualNum = numCards; diff --git a/forge-game/src/main/java/forge/game/ability/effects/EncodeEffect.java b/forge-game/src/main/java/forge/game/ability/effects/EncodeEffect.java index 51e8bb9dc21..8d2104b8411 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/EncodeEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/EncodeEffect.java @@ -46,7 +46,7 @@ public class EncodeEffect extends SpellAbilityEffect { // Handle choice of whether or not to encoded - if (!player.getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblDoYouWantExileCardAndEncodeOntoYouCreature", CardTranslation.getTranslatedName(host.getName())), null)) { + if (!player.getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblDoYouWantExileCardAndEncodeOntoYouCreature", CardTranslation.getTranslatedName(host.getName())))) { return; } 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 7c6d689bdcb..882270f1f46 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 @@ -26,7 +26,7 @@ public class EndTurnEffect extends SpellAbilityEffect { 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"), null)) { + if (!ender.getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblDoYouWantEndTurn"))) { return; } } diff --git a/forge-game/src/main/java/forge/game/ability/effects/FightEffect.java b/forge-game/src/main/java/forge/game/ability/effects/FightEffect.java index f8b66c66051..0570993af24 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/FightEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/FightEffect.java @@ -63,7 +63,7 @@ public class FightEffect extends DamageBaseEffect { Player controller = host.getController(); boolean isOptional = sa.hasParam("Optional"); - if (isOptional && !controller.getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblWouldYouLikeFight", CardTranslation.getTranslatedName(fighters.get(0).getName()), CardTranslation.getTranslatedName(fighters.get(1).getName())), null)) { + if (isOptional && !controller.getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblWouldYouLikeFight", CardTranslation.getTranslatedName(fighters.get(0).getName()), CardTranslation.getTranslatedName(fighters.get(1).getName())))) { return; } else { dealDamage(sa, fighters.get(0), fighters.get(1)); diff --git a/forge-game/src/main/java/forge/game/ability/effects/ManaEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ManaEffect.java index ab16d757e83..a12624171d0 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ManaEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ManaEffect.java @@ -41,7 +41,7 @@ public class ManaEffect extends SpellAbilityEffect { final boolean optional = sa.hasParam("Optional"); final Game game = sa.getActivatingPlayer().getGame(); - if (optional && !sa.getActivatingPlayer().getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblDoYouWantAddMana"), null)) { + if (optional && !sa.getActivatingPlayer().getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblDoYouWantAddMana"))) { return; } diff --git a/forge-game/src/main/java/forge/game/ability/effects/MillEffect.java b/forge-game/src/main/java/forge/game/ability/effects/MillEffect.java index f0d3f4e337f..3b0e4e33212 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/MillEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/MillEffect.java @@ -40,7 +40,7 @@ public class MillEffect extends SpellAbilityEffect { if (!sa.usesTargeting() || p.canBeTargetedBy(sa)) { if (sa.hasParam("Optional")) { final String prompt = TextUtil.concatWithSpace(Localizer.getInstance().getMessage("lblDoYouWantPutLibraryCardsTo", destination.getTranslatedName())); - if (!p.getController().confirmAction(sa, null, prompt, null)) { + if (!p.getController().confirmAction(sa, null, prompt)) { continue; } } diff --git a/forge-game/src/main/java/forge/game/ability/effects/PeekAndRevealEffect.java b/forge-game/src/main/java/forge/game/ability/effects/PeekAndRevealEffect.java index 6de0ad5090c..bcba6217b5a 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/PeekAndRevealEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/PeekAndRevealEffect.java @@ -61,7 +61,7 @@ public class PeekAndRevealEffect extends SpellAbilityEffect { } if( doReveal && sa.hasParam("RevealOptional") ) - doReveal = peekingPlayer.getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblRevealCardToOtherPlayers"), null); + doReveal = peekingPlayer.getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblRevealCardToOtherPlayers")); if (doReveal) { peekingPlayer.getGame().getAction().reveal(revealableCards, peekingPlayer); diff --git a/forge-game/src/main/java/forge/game/ability/effects/PlayEffect.java b/forge-game/src/main/java/forge/game/ability/effects/PlayEffect.java index 5837bb7d7d3..2178f3f809f 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/PlayEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/PlayEffect.java @@ -182,34 +182,22 @@ public class PlayEffect extends SpellAbilityEffect { while (!tgtCards.isEmpty() && amount > 0) { activator.getController().tempShowCards(showCards); - Card tgtCard = controller.getController().chooseSingleEntityForEffect(tgtCards, sa, Localizer.getInstance().getMessage("lblSelectCardToPlay"), null); + Card tgtCard = controller.getController().chooseSingleEntityForEffect(tgtCards, sa, Localizer.getInstance().getMessage("lblSelectCardToPlay"), optional, null); activator.getController().endTempShowCards(); if (tgtCard == null) { break; } - final boolean wasFaceDown; + boolean wasFaceDown = false; if (tgtCard.isFaceDown()) { tgtCard.forceTurnFaceUp(); wasFaceDown = true; - } else { - wasFaceDown = false; } if (sa.hasParam("ShowCardToActivator")) { game.getAction().revealTo(tgtCard, activator); } - Map params = Maps.newHashMap(); - params.put("Card", tgtCard); - if (optional && !controller.getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblDoYouWantPlayCard", CardTranslation.getTranslatedName(tgtCard.getName())), params)) { - if (wasFaceDown) { - tgtCard.turnFaceDownNoUpdate(); - } - tgtCards.remove(tgtCard); - continue; - } - if (!sa.hasParam("AllowRepeats")) { tgtCards.remove(tgtCard); } diff --git a/forge-game/src/main/java/forge/game/ability/effects/PumpEffect.java b/forge-game/src/main/java/forge/game/ability/effects/PumpEffect.java index f6066bb346d..ba98dfdccf3 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/PumpEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/PumpEffect.java @@ -315,7 +315,7 @@ public class PumpEffect extends SpellAbilityEffect { ? TextUtil.fastReplace(sa.getParam("OptionQuestion"), "TARGETS", targets) : Localizer.getInstance().getMessage("lblApplyPumpToTarget", targets); - if (!sa.getActivatingPlayer().getController().confirmAction(sa, null, message, null)) { + if (!sa.getActivatingPlayer().getController().confirmAction(sa, null, message)) { return; } } diff --git a/forge-game/src/main/java/forge/game/ability/effects/RearrangeTopOfLibraryEffect.java b/forge-game/src/main/java/forge/game/ability/effects/RearrangeTopOfLibraryEffect.java index 66a73c51756..73983e2ac82 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/RearrangeTopOfLibraryEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/RearrangeTopOfLibraryEffect.java @@ -117,7 +117,7 @@ public class RearrangeTopOfLibraryEffect extends SpellAbilityEffect { Card next = orderedCards.get(i); player.getGame().getAction().moveToLibrary(next, 0, sa); } - if (mayshuffle && activator.getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblDoyouWantShuffleTheLibrary"), null)) { + if (mayshuffle && activator.getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblDoyouWantShuffleTheLibrary"))) { player.shuffle(sa); } } diff --git a/forge-game/src/main/java/forge/game/ability/effects/RepeatEachEffect.java b/forge-game/src/main/java/forge/game/ability/effects/RepeatEachEffect.java index b9e7da63a3d..671139d0049 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/RepeatEachEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/RepeatEachEffect.java @@ -147,7 +147,7 @@ public class RepeatEachEffect extends SpellAbilityEffect { } } for (final Player p : repeatPlayers) { - if (optional && !p.getController().confirmAction(repeat, null, sa.getParam("RepeatOptionalMessage"), null)) { + if (optional && !p.getController().confirmAction(repeat, null, sa.getParam("RepeatOptionalMessage"))) { continue; } if (nextTurn) { diff --git a/forge-game/src/main/java/forge/game/ability/effects/RepeatEffect.java b/forge-game/src/main/java/forge/game/ability/effects/RepeatEffect.java index 9078e4d6e8a..5c384cd1401 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/RepeatEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/RepeatEffect.java @@ -121,7 +121,7 @@ public class RepeatEffect extends SpellAbilityEffect { Player decider = sa.hasParam("RepeatOptionalDecider") ? AbilityUtils.getDefinedPlayers(sa.getHostCard(), sa.getParam("RepeatOptionalDecider"), sa).get(0) : sa.getActivatingPlayer(); - return decider.getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblDoYouWantRepeatProcessAgain"), null); + return decider.getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblDoYouWantRepeatProcessAgain")); } return true; diff --git a/forge-game/src/main/java/forge/game/ability/effects/RevealHandEffect.java b/forge-game/src/main/java/forge/game/ability/effects/RevealHandEffect.java index 2c8d6a9d97c..df7e6aad4e3 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/RevealHandEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/RevealHandEffect.java @@ -42,7 +42,7 @@ public class RevealHandEffect extends SpellAbilityEffect { for (final Player p : getTargetPlayers(sa)) { if ((tgt == null) || p.canBeTargetedBy(sa)) { - if (optional && !p.getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblDoYouWantRevealYourHand"), null)) { + if (optional && !p.getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblDoYouWantRevealYourHand"))) { continue; } final CardCollectionView hand = p.getCardsIn(ZoneType.Hand); diff --git a/forge-game/src/main/java/forge/game/ability/effects/SacrificeEffect.java b/forge-game/src/main/java/forge/game/ability/effects/SacrificeEffect.java index e950f23b48b..197509ff0dd 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/SacrificeEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/SacrificeEffect.java @@ -41,7 +41,7 @@ public class SacrificeEffect extends SpellAbilityEffect { if (sa.hasParam("Echo")) { boolean isPaid; if (activator.hasKeyword("You may pay 0 rather than pay the echo cost for permanents you control.") - && activator.getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblDoYouWantPayEcho") + " {0}?", null)) { + && activator.getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblDoYouWantPayEcho") + " {0}?")) { isPaid = true; } else { isPaid = activator.getController().payManaOptional(card, new Cost(sa.getParam("Echo"), true), @@ -128,7 +128,7 @@ public class SacrificeEffect extends SpellAbilityEffect { if (sa.hasParam("Random")) { choosenToSacrifice = Aggregates.random(validTargets, Math.min(amount, validTargets.size()), new CardCollection()); - } else if (sa.hasParam("OptionalSacrifice") && !p.getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblDoYouWantSacrifice"), null)) { + } else if (sa.hasParam("OptionalSacrifice") && !p.getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblDoYouWantSacrifice"))) { choosenToSacrifice = CardCollection.EMPTY; } else { boolean isOptional = sa.hasParam("Optional"); diff --git a/forge-game/src/main/java/forge/game/ability/effects/ScryEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ScryEffect.java index 313f3beb25a..e60a8f6f07c 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ScryEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ScryEffect.java @@ -43,7 +43,7 @@ public class ScryEffect extends SpellAbilityEffect { // Optional here for spells that have optional multi-player scrying for (final Player p : getTargetPlayers(sa)) { if ( (!sa.usesTargeting() || p.canBeTargetedBy(sa)) && - (!isOptional || p.getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblDoYouWanttoScry"), null)) ) { + (!isOptional || p.getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblDoYouWanttoScry"))) ) { players.add(p); } } diff --git a/forge-game/src/main/java/forge/game/ability/effects/SetStateEffect.java b/forge-game/src/main/java/forge/game/ability/effects/SetStateEffect.java index 8588f0ef574..1989de4d3df 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/SetStateEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/SetStateEffect.java @@ -128,7 +128,7 @@ public class SetStateEffect extends SpellAbilityEffect { if (optional) { String message = TextUtil.concatWithSpace("Transform", gameCard.getName(), "?"); - if (!p.getController().confirmAction(sa, PlayerActionConfirmMode.Random, message, null)) { + if (!p.getController().confirmAction(sa, PlayerActionConfirmMode.Random, message)) { return; } } diff --git a/forge-game/src/main/java/forge/game/ability/effects/ShuffleEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ShuffleEffect.java index 0832d421302..0b438fc57c3 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ShuffleEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ShuffleEffect.java @@ -21,7 +21,7 @@ public class ShuffleEffect extends SpellAbilityEffect { for (final Player p : tgtPlayers) { if ((tgt == null) || p.canBeTargetedBy(sa)) { - boolean mustShuffle = !optional || sa.getActivatingPlayer().getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblHaveTargetShuffle", p.getName()), null); + boolean mustShuffle = !optional || sa.getActivatingPlayer().getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblHaveTargetShuffle", p.getName())); if (mustShuffle) p.shuffle(sa); } diff --git a/forge-game/src/main/java/forge/game/ability/effects/SurveilEffect.java b/forge-game/src/main/java/forge/game/ability/effects/SurveilEffect.java index 9cb797cfd05..5729b4d7191 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/SurveilEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/SurveilEffect.java @@ -34,7 +34,7 @@ public class SurveilEffect extends SpellAbilityEffect { for (final Player p : getTargetPlayers(sa)) { if (!sa.usesTargeting() || p.canBeTargetedBy(sa)) { - if (isOptional && !p.getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblDoYouWantSurveil"), null)) { + if (isOptional && !p.getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblDoYouWantSurveil"))) { continue; } diff --git a/forge-game/src/main/java/forge/game/combat/Combat.java b/forge-game/src/main/java/forge/game/combat/Combat.java index 0b7902c922c..19439cb9363 100644 --- a/forge-game/src/main/java/forge/game/combat/Combat.java +++ b/forge-game/src/main/java/forge/game/combat/Combat.java @@ -761,7 +761,7 @@ public class Combat { "defending player and/or any number of creatures they control.") && attacker.getController().getController().confirmAction(null, null, Localizer.getInstance().getMessage("lblAssignCombatDamageAsChoose", - CardTranslation.getTranslatedName(attacker.getName())), null)); + CardTranslation.getTranslatedName(attacker.getName())))); boolean trampler = attacker.hasKeyword(Keyword.TRAMPLE); orderedBlockers = blockersOrderedForDamageAssignment.get(attacker); if (divideCombatDamageAsChoose) { diff --git a/forge-game/src/main/java/forge/game/player/PlayerController.java b/forge-game/src/main/java/forge/game/player/PlayerController.java index 3e642f27c81..5bd6a56eb29 100644 --- a/forge-game/src/main/java/forge/game/player/PlayerController.java +++ b/forge-game/src/main/java/forge/game/player/PlayerController.java @@ -132,7 +132,7 @@ public abstract class PlayerController { public abstract List chooseEntitiesForEffect(FCollectionView optionList, int min, int max, DelayedReveal delayedReveal, SpellAbility sa, String title, Player relatedPlayer, Map params); - public abstract boolean confirmAction(SpellAbility sa, PlayerActionConfirmMode mode, String message, Map params); + public abstract boolean confirmAction(SpellAbility sa, PlayerActionConfirmMode mode, String message); public abstract boolean confirmBidAction(SpellAbility sa, PlayerActionConfirmMode bidlife, String string, int bid, Player winner); public abstract boolean confirmStaticApplication(Card hostCard, GameEntity affected, String logic, String message); public abstract boolean confirmTrigger(WrappedAbility sa); diff --git a/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/PlayerControllerForTests.java b/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/PlayerControllerForTests.java index c0d2f344ec8..ab95d3e297f 100644 --- a/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/PlayerControllerForTests.java +++ b/forge-gui-desktop/src/test/java/forge/gamesimulationtests/util/PlayerControllerForTests.java @@ -197,7 +197,7 @@ public class PlayerControllerForTests extends PlayerController { } @Override - public boolean confirmAction(SpellAbility sa, PlayerActionConfirmMode mode, String message, Map params) { + public boolean confirmAction(SpellAbility sa, PlayerActionConfirmMode mode, String message) { return true; } diff --git a/forge-gui/src/main/java/forge/player/HumanPlaySpellAbility.java b/forge-gui/src/main/java/forge/player/HumanPlaySpellAbility.java index 6446abd05ee..4bcbdcbf4ab 100644 --- a/forge-gui/src/main/java/forge/player/HumanPlaySpellAbility.java +++ b/forge-gui/src/main/java/forge/player/HumanPlaySpellAbility.java @@ -103,7 +103,7 @@ public class HumanPlaySpellAbility { } final boolean playerManaConversion = human.hasManaConversion() - && human.getController().confirmAction(ability, null, "Do you want to spend mana as though it were mana of any color to pay the cost?", null); + && human.getController().confirmAction(ability, null, "Do you want to spend mana as though it were mana of any color to pay the cost?"); Cost abCost = ability.getPayCosts(); CostPayment payment = new CostPayment(abCost, ability); diff --git a/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java b/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java index c1d5d93300d..42ee406a225 100644 --- a/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java +++ b/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java @@ -675,7 +675,7 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont * SpellAbility, java.lang.String, java.lang.String) */ @Override - public boolean confirmAction(final SpellAbility sa, final PlayerActionConfirmMode mode, final String message, Map params) { + public boolean confirmAction(final SpellAbility sa, final PlayerActionConfirmMode mode, final String message) { if (sa != null && sa.getHostCard() != null && sa.hasParam("ShowCardInPrompt")) { // The card wants another thing displayed in the prompt on mouse over rather than itself Card show = null;