PeekAndRevealEffect resolve() tweaks

This commit is contained in:
Northmoc
2022-05-01 20:43:02 -04:00
parent 1b5b05b26c
commit ae0cdcd5c4

View File

@@ -55,11 +55,12 @@ public class PeekAndRevealEffect extends SpellAbilityEffect {
final Card source = sa.getHostCard(); final Card source = sa.getHostCard();
final boolean rememberRevealed = sa.hasParam("RememberRevealed"); final boolean rememberRevealed = sa.hasParam("RememberRevealed");
final boolean imprintRevealed = sa.hasParam("ImprintRevealed"); final boolean imprintRevealed = sa.hasParam("ImprintRevealed");
final boolean noPeek = sa.hasParam("NoPeek");
String revealValid = sa.getParamOrDefault("RevealValid", "Card"); String revealValid = sa.getParamOrDefault("RevealValid", "Card");
String peekAmount = sa.getParamOrDefault("PeekAmount", "1"); String peekAmount = sa.getParamOrDefault("PeekAmount", "1");
int numPeek = AbilityUtils.calculateAmount(source, peekAmount, sa); int numPeek = AbilityUtils.calculateAmount(source, peekAmount, sa);
List<Player> libraryPlayers = AbilityUtils.getDefinedPlayers(source, sa.getParam("Defined"), sa); List<Player> libraryPlayers = getDefinedPlayersOrTargeted(sa);
Player peekingPlayer = sa.getActivatingPlayer(); Player peekingPlayer = sa.getActivatingPlayer();
for (Player libraryToPeek : libraryPlayers) { for (Player libraryToPeek : libraryPlayers) {
@@ -74,17 +75,19 @@ public class PeekAndRevealEffect extends SpellAbilityEffect {
CardCollectionView revealableCards = CardLists.getValidCards(peekCards, revealValid, CardCollectionView revealableCards = CardLists.getValidCards(peekCards, revealValid,
sa.getActivatingPlayer(), source, sa); sa.getActivatingPlayer(), source, sa);
boolean doReveal = !sa.hasParam("NoReveal") && !revealableCards.isEmpty(); boolean doReveal = !sa.hasParam("NoReveal") && !revealableCards.isEmpty();
if (!sa.hasParam("NoPeek")) { if (!noPeek) {
peekingPlayer.getController().reveal(peekCards, ZoneType.Library, libraryToPeek, peekingPlayer.getController().reveal(peekCards, ZoneType.Library, libraryToPeek,
CardTranslation.getTranslatedName(source.getName()) + " - " + CardTranslation.getTranslatedName(source.getName()) + " - " +
Localizer.getInstance().getMessage("lblRevealingCardFrom")); Localizer.getInstance().getMessage("lblLookingCardFrom"));
} }
if (doReveal && sa.hasParam("RevealOptional")) if (doReveal && sa.hasParam("RevealOptional"))
doReveal = peekingPlayer.getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblRevealCardToOtherPlayers")); doReveal = peekingPlayer.getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblRevealCardToOtherPlayers"));
if (doReveal) { if (doReveal) {
peekingPlayer.getGame().getAction().reveal(revealableCards, peekingPlayer); peekingPlayer.getGame().getAction().reveal(revealableCards, ZoneType.Library, libraryToPeek, !noPeek,
CardTranslation.getTranslatedName(source.getName()) + " - " +
Localizer.getInstance().getMessage("lblRevealingCardFrom"));
if (rememberRevealed) { if (rememberRevealed) {
Map<Integer, Card> cachedMap = Maps.newHashMap(); Map<Integer, Card> cachedMap = Maps.newHashMap();