- Committed a change to allow the simulatenous SAs coming from different cards to be detected as different (by pfps), reverted a previous change with faulty logic.

This commit is contained in:
Agetian
2017-01-06 04:59:46 +00:00
parent 95c925a236
commit 505b8c1c74
3 changed files with 17 additions and 9 deletions

View File

@@ -146,13 +146,17 @@ public abstract class Trigger extends TriggerReplacementBase {
*/ */
@Override @Override
public final String toString() { public final String toString() {
return toString(false);
}
public final String toString(boolean active) {
if (this.mapParams.containsKey("TriggerDescription") && !this.isSuppressed()) { if (this.mapParams.containsKey("TriggerDescription") && !this.isSuppressed()) {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
String desc = this.mapParams.get("TriggerDescription"); String desc = this.mapParams.get("TriggerDescription");
desc = desc.replace("CARDNAME", getHostCard().getName()); desc = desc.replace("CARDNAME", active ? getHostCard().toString() : getHostCard().getName());
if (getHostCard().getEffectSource() != null) { if (getHostCard().getEffectSource() != null) {
desc = desc.replace("EFFECTSOURCE", getHostCard().getEffectSource().getName()); desc = desc.replace("EFFECTSOURCE", active ? getHostCard().getEffectSource().toString() : getHostCard().getEffectSource().getName());
} }
sb.append(desc); sb.append(desc);
if (!this.triggerRemembered.isEmpty()) { if (!this.triggerRemembered.isEmpty()) {

View File

@@ -191,12 +191,20 @@ public class WrappedAbility extends Ability {
@Override @Override
public String toUnsuppressedString() { public String toUnsuppressedString() {
return regtrig.toString(); String strg = this.getStackDescription();
/* use augmented stack description as string for wrapped things */
String card = regtrig.getHostCard().toString();
if (!strg.contains(card) && strg.contains(" this ")) {
/* a hack for Evolve and similar that don't have CARDNAME */
return card + ": " + strg;
} else {
return strg;
}
} }
@Override @Override
public String getStackDescription() { public String getStackDescription() {
final StringBuilder sb = new StringBuilder(regtrig.replaceAbilityText(toUnsuppressedString(), this)); final StringBuilder sb = new StringBuilder(regtrig.replaceAbilityText(regtrig.toString(true), this));
if (usesTargeting()) { if (usesTargeting()) {
sb.append(" (Targeting "); sb.append(" (Targeting ");
for (final GameObject o : this.getTargets().getTargets()) { for (final GameObject o : this.getTargets().getTargets()) {

View File

@@ -1202,11 +1202,7 @@ public class PlayerControllerHuman
String saLookupKey = firstStr; String saLookupKey = firstStr;
char delim = (char)5; char delim = (char)5;
for (int i = 1; i < orderedSAs.size(); i++) { for (int i = 1; i < orderedSAs.size(); i++) {
SpellAbility currentSa = orderedSAs.get(i); final String saStr = orderedSAs.get(i).toString();
String saStr = currentSa.toString();
if (currentSa.getHostCard() != null) {
saStr += " - " + currentSa.getHostCard().getId();
}
if (!needPrompt && !saStr.equals(firstStr)) { if (!needPrompt && !saStr.equals(firstStr)) {
needPrompt = true; //prompt by default unless all abilities are the same needPrompt = true; //prompt by default unless all abilities are the same
} }