implement preference in getAbilityText

This commit is contained in:
Northmoc
2021-09-30 22:01:05 -04:00
parent aa0b390cde
commit c2dfde32fb

View File

@@ -2223,9 +2223,12 @@ public class Card extends GameEntity implements Comparable<Card>, IHasSVars {
public String getAbilityText(final CardState state) {
final String linebreak = "\r\n\r\n";
//TODO magic needs to happen here
final String grayTag = "<span style=\"color:gray;\">";
final String endTag = "</span>";
boolean useGrayTag = true;
if (getGame() != null && getController() != null && game.getAge() != GameStage.Play) {
useGrayTag = game.getRules().useGrayText();
}
final CardTypeView type = state.getType();
final StringBuilder sb = new StringBuilder();
@@ -2333,9 +2336,9 @@ public class Card extends GameEntity implements Comparable<Card>, IHasSVars {
disabled = getGame() != null && !trig.requirementsCheck(getGame());
}
String trigStr = trig.replaceAbilityText(trig.toString(), state);
if (disabled) sb.append(grayTag);
if (disabled && useGrayTag) sb.append(grayTag);
sb.append(trigStr.replaceAll("\\\\r\\\\n", "\r\n"));
if (disabled) sb.append(endTag);
if (disabled && useGrayTag) sb.append(endTag);
sb.append(linebreak);
}
}
@@ -2349,9 +2352,9 @@ public class Card extends GameEntity implements Comparable<Card>, IHasSVars {
final String stAbD = stAb.toString();
if (!stAbD.equals("")) {
boolean disabled = getGame() != null && getController() != null && game.getAge() != GameStage.Play && !stAb.checkConditions();
if (disabled) sb.append(grayTag);
if (disabled && useGrayTag) sb.append(grayTag);
sb.append(stAbD);
if (disabled) sb.append(endTag);
if (disabled && useGrayTag) sb.append(endTag);
sb.append(linebreak);
}
}
@@ -2452,9 +2455,9 @@ public class Card extends GameEntity implements Comparable<Card>, IHasSVars {
// Class second part is a static ability that grants the other abilities
for (final StaticAbility st : state.getStaticAbilities()) {
if (st.isClassLevelNAbility(level) && !st.isSecondary()) {
if (disabled) sb.append(grayTag);
if (disabled && useGrayTag) sb.append(grayTag);
sb.append(st.toString());
if (disabled) sb.append(endTag);
if (disabled && useGrayTag) sb.append(endTag);
sb.append(linebreak);
}
}