diff --git a/forge-game/src/main/java/forge/game/card/Card.java b/forge-game/src/main/java/forge/game/card/Card.java index 28d638f68a5..71069288a77 100644 --- a/forge-game/src/main/java/forge/game/card/Card.java +++ b/forge-game/src/main/java/forge/game/card/Card.java @@ -1400,6 +1400,7 @@ public class Card extends GameEntity implements Comparable { sbLong.append(keyword).append("\r\n"); } else if (keyword.startsWith("Sunburst") && hasStartOfKeyword("Modular")) { } else if (keyword.startsWith("Modular") || keyword.startsWith("Soulshift") || keyword.startsWith("Bloodthirst") + || keyword.startsWith("Strive") || keyword.startsWith("ETBReplacement") || keyword.startsWith("MayEffectFromOpeningHand")) { } else if (keyword.startsWith("Provoke") || keyword.startsWith("Devour") || keyword.equals("Unleash")) { sbLong.append(keyword + " (" + Keyword.getInstance(keyword).getReminderText() + ")"); 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 2daac961174..f97b8dc0784 100644 --- a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java +++ b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java @@ -2532,6 +2532,9 @@ public class CardFactoryUtil { else if (keyword.startsWith("Rampage")) { addTriggerAbility(keyword, card, null); } + else if (keyword.startsWith("Strive")) { + addStaticAbility(keyword, card, null); + } else if (keyword.startsWith("Bushido")) { addTriggerAbility(keyword, card, null); } @@ -3274,7 +3277,18 @@ public class CardFactoryUtil { public static void addStaticAbility(final String keyword, final Card card, final KeywordsChange kws) { final boolean intrinsic = kws == null; - if (keyword.equals("Unleash")) { + if (keyword.startsWith("Strive")) { + final String[] k = keyword.split(":"); + final String manacost = k[1]; + + final String effect = "Mode$ RaiseCost | ValidCard$ Card.Self | Type$ Spell | Amount$ Strive | Cost$ "+ manacost +" | EffectZone$ All" + + " | Description$ Strive - CARDNAME costs " + ManaCostParser.parse(manacost) + " more to cast for each target beyond the first."; + StaticAbility st = card.addStaticAbility(effect); + st.setIntrinsic(intrinsic); + if (!intrinsic) { + kws.addStaticAbility(st); + } + } else if (keyword.equals("Unleash")) { final String effect = "Mode$ Continuous | Affected$ Card.Self+counters_GE1_P1P1 | AddHiddenKeyword$ CARDNAME can't block."; StaticAbility st = card.addStaticAbility(effect);