From 20453be5ffce028c3c8fe0c1d9db56cf88794f48 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Mon, 17 Mar 2014 16:57:55 +0100 Subject: [PATCH] * Game logging - Added target information to log of triggered ability. --- Mage/src/mage/abilities/AbilityImpl.java | 16 +++++++++------- .../src/mage/abilities/TriggeredAbilityImpl.java | 12 ++++++++---- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/Mage/src/mage/abilities/AbilityImpl.java b/Mage/src/mage/abilities/AbilityImpl.java index 5909baac941..f2282b787fe 100644 --- a/Mage/src/mage/abilities/AbilityImpl.java +++ b/Mage/src/mage/abilities/AbilityImpl.java @@ -828,7 +828,7 @@ public abstract class AbilityImpl> implements Ability { sb.append(spellAbility.name); } } - appendTargetDescriptionForLog(sb, spellAbility.getTargets(), game); + sb.append(getTargetDescriptionForLog(spellAbility.getTargets(), game)); } } } else if (object instanceof Spell && ((Spell) object).getSpellAbility().getModes().size() > 1) { @@ -839,19 +839,17 @@ public abstract class AbilityImpl> implements Ability { if (spellModes.getSelectedModes().contains(mode.getId())) { spellModes.setMode(mode); sb.append(" (mode ").append(item).append(")"); - appendTargetDescriptionForLog(sb, getTargets(), game); + sb.append(getTargetDescriptionForLog(getTargets(), game)); } } } else { - appendTargetDescriptionForLog(sb, getTargets(), game); - } - for (Choice choice :this.getChoices()) { - sb.append(" - ").append(choice.getMessage()).append(": ").append(choice.getChoice()); + sb.append(getTargetDescriptionForLog(getTargets(), game)); } return sb.toString(); } - protected void appendTargetDescriptionForLog(StringBuilder sb, Targets targets, Game game) { + protected String getTargetDescriptionForLog(Targets targets, Game game) { + StringBuilder sb = new StringBuilder(); if (targets.size() > 0) { String usedVerb = null; for (Target target : targets) { @@ -867,6 +865,10 @@ public abstract class AbilityImpl> implements Ability { sb.append(target.getTargetedName(game)); } } + for (Choice choice :this.getChoices()) { + sb.append(" - ").append(choice.getMessage()).append(": ").append(choice.getChoice()); + } + return sb.toString(); } private String getOptionalTextSuffix(Game game, Spell spell) { diff --git a/Mage/src/mage/abilities/TriggeredAbilityImpl.java b/Mage/src/mage/abilities/TriggeredAbilityImpl.java index 022d1be4031..d098626e3d0 100644 --- a/Mage/src/mage/abilities/TriggeredAbilityImpl.java +++ b/Mage/src/mage/abilities/TriggeredAbilityImpl.java @@ -57,7 +57,7 @@ public abstract class TriggeredAbilityImpl> ex this.optional = optional; } - public TriggeredAbilityImpl(final TriggeredAbilityImpl ability) { + public TriggeredAbilityImpl(final TriggeredAbilityImpl ability) { super(ability); this.optional = ability.optional; } @@ -105,10 +105,14 @@ public abstract class TriggeredAbilityImpl> ex MageObject object = game.getObject(sourceId); StringBuilder sb = new StringBuilder(); if (object != null) { - sb.append(object.getName()).append(" - ability triggered: ").append(this.getRule(object.getName())); + sb.append("Ability triggers: ").append(object.getName()).append(" - ").append(this.getRule(object.getName())); } else { - sb.append("Ability triggered: ").append(this.getRule()); - } + sb.append("Ability triggers: ").append(this.getRule()); + } + String targetText = getTargetDescriptionForLog(getTargets(), game); + if (!targetText.isEmpty()) { + sb.append(" - ").append(targetText); + } return sb.toString(); }