diff --git a/Mage/src/main/java/mage/abilities/hint/HintUtils.java b/Mage/src/main/java/mage/abilities/hint/HintUtils.java index 62bf14cbf40..d55c2f15217 100644 --- a/Mage/src/main/java/mage/abilities/hint/HintUtils.java +++ b/Mage/src/main/java/mage/abilities/hint/HintUtils.java @@ -1,6 +1,10 @@ package mage.abilities.hint; +import com.sun.istack.internal.NotNull; + import java.awt.*; +import java.util.HashSet; +import java.util.List; /** * @author JayDi85 @@ -40,4 +44,15 @@ public class HintUtils { return res; } + + public static void appendHints(@NotNull List destList, @NotNull List newHints) { + // append only unique hints + HashSet used = new HashSet<>(); + for (String s : newHints) { + if (!used.contains(s)) { + destList.add(s); + used.add(s); + } + } + } } diff --git a/Mage/src/main/java/mage/cards/CardImpl.java b/Mage/src/main/java/mage/cards/CardImpl.java index c8cdb0f0826..23a18ffb6bb 100644 --- a/Mage/src/main/java/mage/cards/CardImpl.java +++ b/Mage/src/main/java/mage/cards/CardImpl.java @@ -274,7 +274,7 @@ public abstract class CardImpl extends MageObjectImpl implements Card { // total hints if (!abilityHints.isEmpty()) { rules.add(HintUtils.HINT_START_MARK); - rules.addAll(abilityHints); + HintUtils.appendHints(rules, abilityHints); } } return rules; diff --git a/Mage/src/main/java/mage/game/permanent/PermanentImpl.java b/Mage/src/main/java/mage/game/permanent/PermanentImpl.java index 03745c65f2c..5f0fd78e500 100644 --- a/Mage/src/main/java/mage/game/permanent/PermanentImpl.java +++ b/Mage/src/main/java/mage/game/permanent/PermanentImpl.java @@ -295,8 +295,8 @@ public abstract class PermanentImpl extends CardImpl implements Permanent { // total hints if (!abilityHints.isEmpty() || !restrictHints.isEmpty()) { rules.add(HintUtils.HINT_START_MARK); - rules.addAll(abilityHints); - rules.addAll(restrictHints); + HintUtils.appendHints(rules, abilityHints); + HintUtils.appendHints(rules, restrictHints); } return rules;