Card text: only print reminder text once for some basic keywords

This commit is contained in:
tool4EvEr
2021-02-26 18:17:44 +01:00
parent d6badf3b1e
commit 7bb267818a

View File

@@ -1806,6 +1806,8 @@ public class Card extends GameEntity implements Comparable<Card>, IHasSVars {
final Set<Entry<String, String>> textChanges = Sets.union( final Set<Entry<String, String>> textChanges = Sets.union(
changedTextColors.toMap().entrySet(), changedTextTypes.toMap().entrySet()); changedTextColors.toMap().entrySet(), changedTextTypes.toMap().entrySet());
List<String> printedKW = new ArrayList<String>();
int i = 0; int i = 0;
for (KeywordInterface inst : keywords) { for (KeywordInterface inst : keywords) {
String keyword = inst.getOriginal(); String keyword = inst.getOriginal();
@@ -1999,7 +2001,11 @@ public class Card extends GameEntity implements Comparable<Card>, IHasSVars {
if (sb.length() != 0) { if (sb.length() != 0) {
sb.append("\r\n"); sb.append("\r\n");
} }
sb.append(keyword).append(" (").append(inst.getReminderText()).append(")"); sb.append(keyword);
if (!printedKW.contains(keyword)) {
sb.append(" (").append(inst.getReminderText()).append(")");
printedKW.add(keyword);
}
} else if (keyword.endsWith(" offering")) { } else if (keyword.endsWith(" offering")) {
String offeringType = keyword.split(" ")[0]; String offeringType = keyword.split(" ")[0];
if (sb.length() != 0) { if (sb.length() != 0) {