From 3bdc2101e64f878d352bb24d1dcbc09974cd47e4 Mon Sep 17 00:00:00 2001 From: Hanmac Date: Mon, 12 Dec 2016 06:04:29 +0000 Subject: [PATCH] CardFactoryUtil: moved Echo to new Format --- .../java/forge/game/card/CardFactoryUtil.java | 33 +++++++++++-------- 1 file changed, 20 insertions(+), 13 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 49ba07eed32..854a5f3f300 100644 --- a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java +++ b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java @@ -2170,19 +2170,7 @@ public class CardFactoryUtil { card.setSVar("GraveyardToLibrary", ab); } else if (keyword.startsWith("Echo")) { - final String[] k = keyword.split(":"); - final String cost = k[1]; - - String upkeepTrig = "Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield " + - " | Execute$ TrigUpkeepEcho | IsPresent$ Card.Self+cameUnderControlSinceLastUpkeep | Secondary$ True | " + - "TriggerDescription$ Echo: At the beginning of your upkeep, if CARDNAME came under your control since the " + - "beginning of your last upkeep, sacrifice it unless you pay the Echo cost"; - String ref = "X".equals(cost) ? " | References$ X" : ""; - card.setSVar("TrigUpkeepEcho", "AB$ Sacrifice | Cost$ 0 | SacValid$ Self | " - + "Echo$ " + cost + ref); - - final Trigger parsedUpkeepTrig = TriggerHandler.parseTrigger(upkeepTrig, card, true); - card.addTrigger(parsedUpkeepTrig); + addTriggerAbility(keyword, card, null); } else if (keyword.startsWith("Suspend")) { card.setSuspend(true); @@ -2708,6 +2696,25 @@ public class CardFactoryUtil { final Trigger cardTrigger = card.addTrigger(dethroneTrigger); + if (!intrinsic) { + kws.addTrigger(cardTrigger); + } + } else if (keyword.startsWith("Echo")) { + final String[] k = keyword.split(":"); + final String cost = k[1]; + + String upkeepTrig = "Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield " + + " | IsPresent$ Card.Self+cameUnderControlSinceLastUpkeep | Secondary$ True | " + + "TriggerDescription$ " + Keyword.getInstance(keyword).getReminderText(); + + String ref = "X".equals(cost) ? " | References$ X" : ""; + String effect = "DB$ Sacrifice | SacValid$ Self | " + + "Echo$ " + cost + ref; + + final Trigger trigger = TriggerHandler.parseTrigger(upkeepTrig, card, intrinsic); + trigger.setOverridingAbility(AbilityFactory.getAbility(effect, card)); + final Trigger cardTrigger = card.addTrigger(trigger); + if (!intrinsic) { kws.addTrigger(cardTrigger); }