diff --git a/Mage.Client/src/main/resources/card/icons/original/bootstrap/reply-fill.svg b/Mage.Client/src/main/resources/card/icons/original/bootstrap/reply-fill.svg new file mode 100644 index 00000000000..b5a87228d89 --- /dev/null +++ b/Mage.Client/src/main/resources/card/icons/original/bootstrap/reply-fill.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/Mage.Client/src/main/resources/card/icons/prepared/reply-fill.svg b/Mage.Client/src/main/resources/card/icons/prepared/reply-fill.svg new file mode 100644 index 00000000000..daa1b3d23e0 --- /dev/null +++ b/Mage.Client/src/main/resources/card/icons/prepared/reply-fill.svg @@ -0,0 +1,7 @@ + + + + + diff --git a/Mage.Common/src/main/java/mage/view/CardView.java b/Mage.Common/src/main/java/mage/view/CardView.java index c76b68a24db..b4347a29094 100644 --- a/Mage.Common/src/main/java/mage/view/CardView.java +++ b/Mage.Common/src/main/java/mage/view/CardView.java @@ -10,6 +10,7 @@ import mage.abilities.SpellAbility; import mage.abilities.effects.Effect; import mage.abilities.effects.Effects; import mage.abilities.icon.CardIcon; +import mage.abilities.icon.other.FaceDownStatusIcon; import mage.abilities.keyword.AftermathAbility; import mage.cards.*; import mage.cards.mock.MockCard; @@ -415,9 +416,15 @@ public class CardView extends SimpleCardView { } // card icons for permanents on battlefield + // abilities permanent.getAbilities(game).forEach(ability -> { this.cardIcons.addAll(ability.getIcons(game)); }); + // other + if (permanent.isFaceDown(game)) { + this.cardIcons.add(FaceDownStatusIcon.instance); + } + } else { if (card.isCopy()) { this.mageObjectType = MageObjectType.COPY_CARD; diff --git a/Mage/src/main/java/mage/abilities/icon/CardIconCategory.java b/Mage/src/main/java/mage/abilities/icon/CardIconCategory.java index fa1f4ad2f52..0f35c5f0d05 100644 --- a/Mage/src/main/java/mage/abilities/icon/CardIconCategory.java +++ b/Mage/src/main/java/mage/abilities/icon/CardIconCategory.java @@ -1,6 +1,8 @@ package mage.abilities.icon; /** + * For GUI: different icons category can go to different position/panels on the card + * * @author JayDi85 */ public enum CardIconCategory { diff --git a/Mage/src/main/java/mage/abilities/icon/CardIconType.java b/Mage/src/main/java/mage/abilities/icon/CardIconType.java index 42e3b0160ea..483ebf5f911 100644 --- a/Mage/src/main/java/mage/abilities/icon/CardIconType.java +++ b/Mage/src/main/java/mage/abilities/icon/CardIconType.java @@ -31,6 +31,8 @@ public enum CardIconType { ABILITY_VIGILANCE("prepared/eye.svg", CardIconCategory.ABILITY, 100), ABILITY_CLASS_LEVEL("prepared/hexagon-fill.svg", CardIconCategory.ABILITY, 100), // + OTHER_FACEDOWN("prepared/reply-fill.svg", CardIconCategory.ABILITY, 100), + // SYSTEM_COMBINED("prepared/square-fill.svg", CardIconCategory.SYSTEM, 1000), // inner usage, must use last order SYSTEM_DEBUG("prepared/link.svg", CardIconCategory.SYSTEM, 1000); // used for test render dialog diff --git a/Mage/src/main/java/mage/abilities/icon/other/FaceDownStatusIcon.java b/Mage/src/main/java/mage/abilities/icon/other/FaceDownStatusIcon.java new file mode 100644 index 00000000000..e6f0d6a2eed --- /dev/null +++ b/Mage/src/main/java/mage/abilities/icon/other/FaceDownStatusIcon.java @@ -0,0 +1,31 @@ +package mage.abilities.icon.other; + +import mage.abilities.icon.CardIcon; +import mage.abilities.icon.CardIconType; + +/** + * @author JayDi85 + */ +public enum FaceDownStatusIcon implements CardIcon { + instance; + + @Override + public CardIconType getIconType() { + return CardIconType.OTHER_FACEDOWN; + } + + @Override + public String getText() { + return ""; + } + + @Override + public String getHint() { + return "Card is face down"; + } + + @Override + public CardIcon copy() { + return instance; + } +}