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;