From a5cd541490da0748d81a9f86107f24ea62974223 Mon Sep 17 00:00:00 2001 From: xenohedron <12538125+xenohedron@users.noreply.github.com> Date: Wed, 16 Apr 2025 21:25:48 -0400 Subject: [PATCH] fix #13547 When drawing from the bottom of the library, don't reveal the card just because the top card is revealed --- Mage/src/main/java/mage/players/PlayerImpl.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Mage/src/main/java/mage/players/PlayerImpl.java b/Mage/src/main/java/mage/players/PlayerImpl.java index 88e36b7c3fb..1ec2badc1b7 100644 --- a/Mage/src/main/java/mage/players/PlayerImpl.java +++ b/Mage/src/main/java/mage/players/PlayerImpl.java @@ -781,15 +781,17 @@ public abstract class PlayerImpl implements Player, Serializable { Card card = isDrawsFromBottom() ? getLibrary().drawFromBottom(game) : getLibrary().drawFromTop(game); if (card != null) { card.moveToZone(Zone.HAND, source, game, false); // if you want to use event.getSourceId() here then thinks x10 times - if (isTopCardRevealed()) { + if (isTopCardRevealed() && !isDrawsFromBottom()) { game.fireInformEvent(getLogName() + " draws a revealed card (" + card.getLogName() + ')'); } game.fireEvent(new DrewCardEvent(card.getId(), getId(), source, event)); numDrawn++; } } - if (!isTopCardRevealed() && numDrawn > 0) { - game.fireInformEvent(getLogName() + " draws " + CardUtil.numberToText(numDrawn, "a") + " card" + (numDrawn > 1 ? "s" : "")); + if ((!isTopCardRevealed() || isDrawsFromBottom()) && numDrawn > 0) { + game.fireInformEvent(getLogName() + " draws " + CardUtil.numberToText(numDrawn, "a") + + " card" + (numDrawn > 1 ? "s" : "") + + (isDrawsFromBottom() ? " from the bottom of their library" : "")); } // if this method was called from a replacement event, pass the number of cards back through // (uncomment conditions if correct ruling is to only count cards drawn by the same player)