From 06df4451d29cf7e1caf38f297e2b228480c23319 Mon Sep 17 00:00:00 2001 From: tool4ever Date: Wed, 3 May 2023 19:18:37 +0200 Subject: [PATCH] Fix Multiple Choice (#3057) Co-authored-by: TRT <> --- .../java/forge/game/ability/effects/ChoosePlayerEffect.java | 2 +- forge-gui/res/cardsfolder/m/multiple_choice.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/forge-game/src/main/java/forge/game/ability/effects/ChoosePlayerEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ChoosePlayerEffect.java index 0ea30ea79d7..3c2f21bd3b6 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ChoosePlayerEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ChoosePlayerEffect.java @@ -41,7 +41,7 @@ public class ChoosePlayerEffect extends SpellAbilityEffect { if (random) { chosen = choices.isEmpty() ? null : Aggregates.random(choices); } else { - chosen = choices.isEmpty() ? null : p.getController().chooseSingleEntityForEffect(choices, sa, choiceDesc, null); + chosen = choices.isEmpty() ? null : p.getController().chooseSingleEntityForEffect(choices, sa, choiceDesc, sa.hasParam("Optional"), null); } if (null != chosen) { if (sa.hasParam("Secretly")) { diff --git a/forge-gui/res/cardsfolder/m/multiple_choice.txt b/forge-gui/res/cardsfolder/m/multiple_choice.txt index 9de33db2a60..8720bea93fa 100644 --- a/forge-gui/res/cardsfolder/m/multiple_choice.txt +++ b/forge-gui/res/cardsfolder/m/multiple_choice.txt @@ -3,7 +3,7 @@ ManaCost:X U Types:Sorcery A:SP$ Scry | Cost$ X U | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ1 | OrOtherConditionSVarCompare$ GE4 | SubAbility$ DBDraw | AILogic$ MultipleChoice | AICheckCanPlayWithDefinedX$ True | StackDescription$ SpellDescription | SpellDescription$ If X is 1, scry 1, SVar:DBDraw:DB$ Draw | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ1 | OrOtherConditionSVarCompare$ GE4 | SubAbility$ DBChoosePlayer | StackDescription$ SpellDescription | SpellDescription$ then draw a card. -SVar:DBChoosePlayer:DB$ ChoosePlayer | Defined$ You | Choices$ Player | AILogic$ Curse | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ2 | OrOtherConditionSVarCompare$ GE4 | SubAbility$ DBChangeZone | StackDescription$ SpellDescription | SpellDescription$ If X is 2, you may choose a player. +SVar:DBChoosePlayer:DB$ ChoosePlayer | Defined$ You | Choices$ Player | Optional$ True | AILogic$ Curse | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ2 | OrOtherConditionSVarCompare$ GE4 | SubAbility$ DBChangeZone | StackDescription$ SpellDescription | SpellDescription$ If X is 2, you may choose a player. SVar:DBChangeZone:DB$ ChangeZone | DefinedPlayer$ ChosenPlayer | Chooser$ ChosenPlayer | Origin$ Battlefield | Destination$ Hand | Hidden$ True | Mandatory$ True | ChangeType$ Creature.ChosenCtrl | ChangeNum$ 1 | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ2 | OrOtherConditionSVarCompare$ GE4 | SubAbility$ DBToken | StackDescription$ SpellDescription | SpellDescription$ They return a creature they control to its owner's hand. SVar:DBToken:DB$ Token | TokenScript$ ur_4_4_elemental | ConditionCheckSVar$ X | ConditionSVarCompare$ GE3 | SpellDescription$ If X is 3, create a 4/4 blue and red Elemental creature token. If X is 4 or more, do all of the above. SVar:X:Count$xPaid