diff --git a/Mage/src/main/java/mage/abilities/effects/Effects.java b/Mage/src/main/java/mage/abilities/effects/Effects.java index fbfdaf7ba5a..3486b664e15 100644 --- a/Mage/src/main/java/mage/abilities/effects/Effects.java +++ b/Mage/src/main/java/mage/abilities/effects/Effects.java @@ -8,6 +8,7 @@ import mage.util.CardUtil; import java.util.ArrayList; import java.util.Arrays; +import java.util.Optional; /** * @author BetaSteward_at_googlemail.com @@ -29,11 +30,21 @@ public class Effects extends ArrayList { } public String getTextStartingUpperCase(Mode mode) { - String text = getText(mode); - if (text.length() > 3) { - return CardUtil.getTextWithFirstCharUpperCase(text); + StringBuilder text = Optional + .of(getText(mode)) + .map(s -> s.length() > 3 ? CardUtil.getTextWithFirstCharUpperCase(s) : s) + .map(StringBuilder::new) + .get(); + // cost + if (mode.getCost() != null) { + text.insert(0, " — "); + text.insert(0, mode.getCost().getText()); } - return text; + // flavor word + if (mode.getFlavorWord() != null) { + text.insert(0, CardUtil.italicizeWithEmDash(mode.getFlavorWord())); + } + return text.toString(); } public String getText(Mode mode) { @@ -115,20 +126,6 @@ public class Effects extends ArrayList { sbText.append('.'); } - - if (mode.getCost() != null || mode.getFlavorWord() != null) { - sbText.replace(0, 1, sbText.substring(0, 1).toUpperCase()); - } - // cost - if (mode.getCost() != null) { - sbText.insert(0, " — "); - sbText.insert(0, mode.getCost().getText()); - } - // flavor word - if (mode.getFlavorWord() != null) { - sbText.insert(0, CardUtil.italicizeWithEmDash(mode.getFlavorWord())); - } - return sbText.toString(); }