Add Expert-Level Safe (#4856)

This commit is contained in:
Chris H
2024-03-25 02:50:37 -04:00
committed by GitHub
parent c7f69aea83
commit 7c616c536d
4 changed files with 25 additions and 1 deletions

View File

@@ -53,7 +53,7 @@ public final class AbilityFactory {
public static final List<String> additionalAbilityKeys = Lists.newArrayList(
"WinSubAbility", "OtherwiseSubAbility", // Clash
"BidSubAbility", // BidLifeEffect
"ChooseNumberSubAbility", "Lowest", "Highest", "NotLowest", "GuessCorrect", "GuessWrong", // ChooseNumber
"ChooseNumberSubAbility", "Lowest", "Highest", "NotLowest", "GuessCorrect", "GuessWrong", "MatchedAbility", "UnmatchedAbility", // ChooseNumber
"HeadsSubAbility", "TailsSubAbility", "LoseSubAbility", // FlipCoin
"TrueSubAbility", "FalseSubAbility", // Branch
"ChosenPile", "UnchosenPile", // MultiplePiles & TwoPiles

View File

@@ -141,6 +141,7 @@ public class ChooseNumberEffect extends SpellAbilityEffect {
lowestNum.add(player);
}
}
boolean matched = highestNum.size() == chooseMap.size();
card.getGame().getAction().notifyOfValue(sa, card, sb.toString(), null);
if (sa.hasParam("ChooseNumberSubAbility")) {
SpellAbility sub = sa.getAdditionalAbility("ChooseNumberSubAbility");
@@ -208,6 +209,16 @@ public class ChooseNumberEffect extends SpellAbilityEffect {
card.clearChosenNumber();
card.removeRemembered(guessPair.getKey());
}
if (matched && sa.hasParam("MatchedAbility")) {
SpellAbility sub = sa.getAdditionalAbility("MatchedAbility");
AbilityUtils.resolve(sub);
}
if (!matched && sa.hasParam("UnmatchedAbility")) {
SpellAbility sub = sa.getAdditionalAbility("UnmatchedAbility");
AbilityUtils.resolve(sub);
}
}
if (sa.hasParam("RememberChosen")) card.addRemembered(chooseMap.values());