From a909fc1fa809e4b227bc66fc85307f8c19ef4116 Mon Sep 17 00:00:00 2001 From: Northmoc Date: Wed, 2 Jun 2021 20:53:50 -0400 Subject: [PATCH] CardFactoryUtil expand Devour keyword possibilities --- .../java/forge/game/card/CardFactoryUtil.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 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 f02e5e074df..f1aaeaae705 100644 --- a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java +++ b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java @@ -2038,16 +2038,23 @@ public class CardFactoryUtil { } else if (keyword.startsWith("Devour")) { final String[] k = keyword.split(":"); final String magnitude = k[1]; + String valid = "Creature"; + final String[] s = k[0].split(" "); + if (s.length > 1) { + valid = s[1].substring(0, 1).toUpperCase() + s[1].substring(1); + final StringBuilder d = new StringBuilder(); + } - String sacrificeStr = "DB$ Sacrifice | Defined$ You | Amount$ DevourSacX | " - + "SacValid$ Creature.Other | SacMessage$ another creature (Devour "+ magnitude + ") | " - + "RememberSacrificed$ True | Optional$ True | Devour$ True"; + String sacrificeStr = "DB$ Sacrifice | Defined$ You | Amount$ DevourSacX | SacValid$ " + valid + + ".Other | SacMessage$ another " + valid.toLowerCase() + " (Devour " + magnitude + + ") | RememberSacrificed$ True | Optional$ True | Devour$ True"; String counterStr = "DB$ PutCounter | ETB$ True | Defined$ Self | CounterType$ P1P1 | CounterNum$ DevourX"; String cleanupStr = "DB$ Cleanup | ClearRemembered$ True"; AbilitySub sacrificeSA = (AbilitySub) AbilityFactory.getAbility(sacrificeStr, card); - sacrificeSA.setSVar("DevourSacX", "Count$Valid Creature.YouCtrl+Other"); + String value = "Count$Valid " + valid + ".YouCtrl+Other"; + sacrificeSA.setSVar("DevourSacX", value); AbilitySub counterSA = (AbilitySub) AbilityFactory.getAbility(counterStr, card); counterSA.setSVar("DevourX", "SVar$DevourSize/Times." + magnitude);