Add new methods to Target and TargetPointer to help generate card rules text. Currently only used by ExileUntilSourceLeavesEffect

This commit is contained in:
Alex W. Jackson 2022-09-04 05:15:12 -04:00
parent c6e1ce6697
commit addfd5166e
38 changed files with 156 additions and 208 deletions

View file

@ -97,6 +97,24 @@ public abstract class TargetImpl implements Target {
this.maxNumberOfTargets = maxNumberOftargets;
}
@Override
public String getDescription() {
// target description for ability text
StringBuilder sb = new StringBuilder();
if (getNumberOfTargets() != 1 || getMaxNumberOfTargets() != 1) {
if (getNumberOfTargets() < getMaxNumberOfTargets() && getMaxNumberOfTargets() != Integer.MAX_VALUE) {
sb.append("up to ");
}
sb.append(CardUtil.numberToText(getMaxNumberOfTargets()));
sb.append(' ');
}
if (!isNotTarget() && !getTargetName().contains("target")) {
sb.append("target ");
}
sb.append(getTargetName());
return sb.toString();
}
@Override
public String getMessage() {
// UI choose message