From eee1e26bc2c076cb48f8f7aae21d05fd990549b7 Mon Sep 17 00:00:00 2001 From: Hanmac Date: Tue, 26 Jul 2016 07:52:16 +0000 Subject: [PATCH] CardFactoryUtil: Strive is a keyword now using better raise cost --- .../src/main/java/forge/game/card/Card.java | 1 + .../java/forge/game/card/CardFactoryUtil.java | 16 +++++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) 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);