From 06ec08e2beb9007d0935d28a218525de1fbd4814 Mon Sep 17 00:00:00 2001 From: Northmoc Date: Wed, 25 Nov 2020 07:57:30 -0500 Subject: [PATCH] multi-Averna fix --- .../java/forge/game/card/CardFactoryUtil.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 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 de67cd42e1d..62dd67f34a0 100644 --- a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java +++ b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java @@ -1176,9 +1176,14 @@ public class CardFactoryUtil { return doXMath(Integer.parseInt(sq[cc.hasThreshold() ? 1 : 2]), m, c); } if (sq[0].contains("Averna")) { - if (cc.hasKeyword("As you cascade, you may put a land card from among the exiled cards onto the" + - " battlefield tapped.")) { return 1; } - else return 0; + int kwcount = 0; + for (String kw : cc.getKeywords()) { + if (kw.equals("As you cascade, you may put a land card from among the exiled cards onto the " + + "battlefield tapped.")) { + kwcount++; + } + } + return kwcount; } if (sq[0].startsWith("Kicked")) { return doXMath(Integer.parseInt(sq[c.getKickerMagnitude() > 0 ? 1 : 2]), m, c); @@ -2368,9 +2373,9 @@ public class CardFactoryUtil { SpellAbility dig = AbilityFactory.getAbility(abString, card); dig.setSVar("CascadeX", "Count$CardManaCost"); - final String dbLandPut = "DB$ ChangeZone | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ1" + + final String dbLandPut = "DB$ ChangeZone | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1" + " | Hidden$ True | Origin$ Exile | Destination$ Battlefield | ChangeType$ Land.IsRemembered" + - " | ChangeNum$ 1 | Tapped$ True | ForgetChanged$ True" + + " | ChangeNum$ X | Tapped$ True | ForgetChanged$ True" + " | SelectPrompt$ You may select a land to put on the battlefield tapped"; AbilitySub landPut = (AbilitySub)AbilityFactory.getAbility(dbLandPut, card); landPut.setSVar("X", "Count$Averna");