From adcd86e7d743f03cca5a2200544c02b7ab72bdb1 Mon Sep 17 00:00:00 2001 From: Hans Mackowiak Date: Mon, 6 Jan 2020 06:35:14 +0000 Subject: [PATCH] Dash: fix keyword after AlternativeCost --- .../java/forge/game/card/CardFactoryUtil.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java index 8c166d9addd..feddae6f7b1 100644 --- a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java +++ b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java @@ -3849,10 +3849,21 @@ public class CardFactoryUtil { inst.addSpellAbility(sa); } else if (keyword.startsWith("Dash")) { final String[] k = keyword.split(":"); - final String dashString = "SP$ PermanentCreature | Cost$ " + k[1] + " | StackDescription$ CARDNAME (Dash)" - + " | Dash$ True | SpellDescription$ Dash " + ManaCostParser.parse(k[1]) + " (" + inst.getReminderText() + ")"; + final Cost dashCost = new Cost(k[1], false); + + final SpellAbility newSA = card.getFirstSpellAbility().copyWithDefinedCost(dashCost); + + final StringBuilder desc = new StringBuilder(); + desc.append("Dash ").append(dashCost.toSimpleString()).append(" ("); + desc.append(inst.getReminderText()); + desc.append(")"); + + newSA.setDescription(desc.toString()); + + final StringBuilder sb = new StringBuilder(); + sb.append(card.getName()).append(" (Dash)"); + newSA.setStackDescription(sb.toString()); - final SpellAbility newSA = AbilityFactory.getAbility(dashString, card); newSA.setAlternativeCost(AlternativeCost.Dash); newSA.setIntrinsic(intrinsic); inst.addSpellAbility(newSA);