From 94e395b4cd528df6d16d9f22126688f706dbc7c6 Mon Sep 17 00:00:00 2001 From: Northmoc Date: Sat, 9 Apr 2022 11:35:48 -0400 Subject: [PATCH] SacrificeEffect: add (OPTIONAL) tag to StackDesc --- .../java/forge/game/ability/effects/SacrificeEffect.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/forge-game/src/main/java/forge/game/ability/effects/SacrificeEffect.java b/forge-game/src/main/java/forge/game/ability/effects/SacrificeEffect.java index abb1ab3d665..76e8e1c234c 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/SacrificeEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/SacrificeEffect.java @@ -213,6 +213,10 @@ public class SacrificeEffect extends SpellAbilityEffect { String valid = sa.getParamOrDefault("SacValid", "Self"); String num = sa.getParamOrDefault("Amount", "1"); + if (sa.hasParam("Optional")) { // TODO make boolean and handle verb reconjugation throughout + sb.append("(OPTIONAL) "); + } + final int amount = AbilityUtils.calculateAmount(sa.getHostCard(), num, sa); if (valid.equals("Self")) { @@ -228,9 +232,9 @@ public class SacrificeEffect extends SpellAbilityEffect { msg = CardType.CoreType.isValidEnum(msg) ? msg.toLowerCase() : msg; if (sa.hasParam("Destroy")) { - sb.append(oneTgtP ? "destroys " : " destroys "); + sb.append(oneTgtP ? "destroys " : " destroy "); } else { - sb.append(oneTgtP ? "sacrifices " : "sacrifices "); + sb.append(oneTgtP ? "sacrifices " : "sacrifice "); } sb.append(Lang.nounWithNumeralExceptOne(amount, msg)).append("."); }