[Simulated AI] Fix printing of target string and check in a change I forgot in last commit.

This commit is contained in:
Myrd
2017-01-08 17:24:29 +00:00
parent 1208736f36
commit add8a1d24e
2 changed files with 17 additions and 8 deletions

View File

@@ -49,7 +49,7 @@ public class Plan {
this.saCount = saList.size();
SpellAbility sa = saList.get(saIndex);
this.saStr = sa.toString();
this.saHumanStr = SpellAbilityPicker.abilityToString(sa);
this.saHumanStr = SpellAbilityPicker.abilityToString(sa, false);
}
public SpellAbility findReferencedAbility(List<SpellAbility> availableSAs) {

View File

@@ -176,6 +176,10 @@ public class SpellAbilityPicker {
return plan != null && plan.hasNextDecision();
}
public Plan getPlan() {
return plan;
}
private void printPlannedActionFailure(Plan.Decision decision, String cause) {
print("Failed to continue planned action (" + decision.saRef + "). Cause:");
print(" " + cause + "!");
@@ -214,6 +218,9 @@ public class SpellAbilityPicker {
}
public static String abilityToString(SpellAbility sa) {
return abilityToString(sa, true);
}
public static String abilityToString(SpellAbility sa, boolean withTargets) {
String saString = "N/A";
if (sa != null) {
saString = sa.toString();
@@ -224,13 +231,15 @@ public class SpellAbilityPicker {
if (saString.length() > 40) {
saString = saString.substring(0, 40) + "...";
}
SpellAbility saOrSubSa = sa;
do {
if (saOrSubSa.usesTargeting()) {
saString += " (targets: " + saOrSubSa.getTargets().getTargetedString() + ")";
}
saOrSubSa = saOrSubSa.getSubAbility();
} while (saOrSubSa != null);
if (withTargets) {
SpellAbility saOrSubSa = sa;
do {
if (saOrSubSa.usesTargeting()) {
saString += " (targets: " + saOrSubSa.getTargets().getTargetedString() + ")";
}
saOrSubSa = saOrSubSa.getSubAbility();
} while (saOrSubSa != null);
}
saString = sa.getHostCard() + " -> " + saString;
}
return saString;