diff --git a/Mage.Sets/src/mage/sets/urzassaga/Telepathy.java b/Mage.Sets/src/mage/sets/urzassaga/Telepathy.java index 7c8e8d6d46..641eb07ade 100644 --- a/Mage.Sets/src/mage/sets/urzassaga/Telepathy.java +++ b/Mage.Sets/src/mage/sets/urzassaga/Telepathy.java @@ -36,6 +36,7 @@ import mage.game.Game; import mage.players.Player; import java.util.UUID; +import mage.MageObject; /** * @@ -76,12 +77,13 @@ class OpponentsPlayWithTheTopCardRevealedEffect extends ContinuousEffectImpl { @Override public boolean apply(Game game, Ability source) { - Player player = game.getPlayer(source.getControllerId()); - if (player != null) { - for (UUID opponentId : game.getOpponents(player.getId())) { + Player controller = game.getPlayer(source.getControllerId()); + MageObject sourceObject = game.getObject(source.getSourceId()); + if (controller != null) { + for (UUID opponentId : game.getOpponents(controller.getId())) { Player opponent = game.getPlayer(opponentId); if (opponent != null) { - opponent.setTopCardRevealed(true); + controller.revealCards(sourceObject.getName() + " " + opponent.getName(), opponent.getHand(), game, false); } } return true; diff --git a/Mage/src/mage/players/Player.java b/Mage/src/mage/players/Player.java index 882656cf2a..5acadf806a 100644 --- a/Mage/src/mage/players/Player.java +++ b/Mage/src/mage/players/Player.java @@ -265,6 +265,7 @@ public interface Player extends MageItem, Copyable { void resetStoredBookmark(Game game); void revealCards(String name, Cards cards, Game game); + void revealCards(String name, Cards cards, Game game, boolean postToLog); void lookAtCards(String name, Cards cards, Game game); @Override diff --git a/Mage/src/mage/players/PlayerImpl.java b/Mage/src/mage/players/PlayerImpl.java index 9eedcb4c8e..05a50e55e3 100644 --- a/Mage/src/mage/players/PlayerImpl.java +++ b/Mage/src/mage/players/PlayerImpl.java @@ -1116,17 +1116,24 @@ public abstract class PlayerImpl implements Player, Serializable { @Override public void revealCards(String name, Cards cards, Game game) { + revealCards(name, cards, game, true); + } + + @Override + public void revealCards(String name, Cards cards, Game game, boolean postToLog) { game.getState().getRevealed().add(name, cards); - StringBuilder sb = new StringBuilder(this.getName()).append(" reveals "); - int current = 0, last = cards.size(); - for (Card card :cards.getCards(game)) { - current++; - sb.append(card.getName()); - if (current < last) { - sb.append(", "); + if (postToLog) { + StringBuilder sb = new StringBuilder(this.getName()).append(" reveals "); + int current = 0, last = cards.size(); + for (Card card :cards.getCards(game)) { + current++; + sb.append(card.getName()); + if (current < last) { + sb.append(", "); + } } + game.informPlayers(sb.toString()); } - game.informPlayers(sb.toString()); } @Override