diff --git a/Mage.Client/src/main/java/mage/client/game/PlayerPanelExt.java b/Mage.Client/src/main/java/mage/client/game/PlayerPanelExt.java index 2ac0690b541..5722b74785d 100644 --- a/Mage.Client/src/main/java/mage/client/game/PlayerPanelExt.java +++ b/Mage.Client/src/main/java/mage/client/game/PlayerPanelExt.java @@ -76,6 +76,7 @@ import static mage.constants.Constants.MIN_AVATAR_ID; import mage.constants.ManaType; import mage.counters.Counter; import mage.counters.CounterType; +import mage.designations.DesignationType; import mage.remote.Session; import mage.utils.timer.PriorityTimer; import mage.view.CardView; @@ -333,11 +334,15 @@ public class PlayerPanelExt extends javax.swing.JPanel { } // Extend tooltip StringBuilder tooltipText = new StringBuilder(basicTooltipText); + this.avatar.setTopTextImageRight(null); + for (String name : player.getDesignationNames()) { + tooltipText.append("
").append(name); + if (DesignationType.CITYS_BLESSING.toString().equals(name)) { + this.avatar.setTopTextImageRight(ImageHelper.getImageFromResources("/info/city_blessing.png")); + } + } if (player.isMonarch()) { - tooltipText.append("
Monarch"); this.avatar.setTopTextImageRight(ImageHelper.getImageFromResources("/info/crown.png")); - } else { - this.avatar.setTopTextImageRight(null); } for (Counter counter : player.getCounters().values()) { tooltipText.append("
").append(counter.getName()).append(" counters: ").append(counter.getCount()); diff --git a/Mage.Client/src/main/resources/info/city_blessing.png b/Mage.Client/src/main/resources/info/city_blessing.png new file mode 100644 index 00000000000..4cbc973a36e Binary files /dev/null and b/Mage.Client/src/main/resources/info/city_blessing.png differ diff --git a/Mage.Common/src/main/java/mage/view/PlayerView.java b/Mage.Common/src/main/java/mage/view/PlayerView.java index 70e4238a1fc..1dcb1f796a2 100644 --- a/Mage.Common/src/main/java/mage/view/PlayerView.java +++ b/Mage.Common/src/main/java/mage/view/PlayerView.java @@ -34,9 +34,9 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.UUID; - import mage.cards.Card; import mage.counters.Counters; +import mage.designations.Designation; import mage.game.ExileZone; import mage.game.Game; import mage.game.GameState; @@ -84,6 +84,7 @@ public class PlayerView implements Serializable { private final boolean passedAllTurns; // F9 private final boolean passedUntilEndStepBeforeMyTurn; // F11 private final boolean monarch; + private final List designationNames = new ArrayList<>(); public PlayerView(Player player, GameState state, Game game, UUID createdForPlayerId, UUID watcherUserId) { this.playerId = player.getId(); @@ -164,6 +165,9 @@ public class PlayerView implements Serializable { this.passedUntilStackResolved = player.getPassedUntilStackResolved(); this.passedUntilEndStepBeforeMyTurn = player.getPassedUntilEndStepBeforeMyTurn(); this.monarch = player.getId().equals(game.getMonarchId()); + for (Designation designation : player.getDesignations()) { + this.designationNames.add(designation.getName()); + } } private boolean showInBattlefield(Permanent permanent, GameState state) { @@ -305,4 +309,8 @@ public class PlayerView implements Serializable { return monarch; } + public List getDesignationNames() { + return designationNames; + } + } diff --git a/Mage/src/main/java/mage/designations/Designation.java b/Mage/src/main/java/mage/designations/Designation.java index ffd52dd4f04..44d7ba62ab7 100644 --- a/Mage/src/main/java/mage/designations/Designation.java +++ b/Mage/src/main/java/mage/designations/Designation.java @@ -52,7 +52,7 @@ public abstract class Designation implements MageObject { } public Designation(DesignationType designationType, String expansionSetCode, boolean unique) { - this.name = designationType.name(); + this.name = designationType.toString(); this.designationType = designationType; this.id = UUID.randomUUID(); this.frameStyle = FrameStyle.M15_NORMAL;