From 4b785fd75bd3e94ec83368f84186c9e6cf7b4429 Mon Sep 17 00:00:00 2001 From: tool4EvEr Date: Sun, 11 Jul 2021 09:45:14 +0200 Subject: [PATCH] Fix Scavenge for CDA --- forge-ai/src/main/java/forge/ai/ComputerUtilMana.java | 2 +- forge-ai/src/main/java/forge/ai/ability/UntapAi.java | 2 +- .../game/ability/effects/CopyPermanentEffect.java | 2 -- .../java/forge/game/ability/effects/PlayEffect.java | 2 +- .../src/main/java/forge/game/card/CardFactoryUtil.java | 2 +- forge-game/src/main/java/forge/game/cost/Cost.java | 4 ++-- .../src/main/java/forge/game/cost/CostExile.java | 1 - .../src/main/java/forge/game/cost/CostPartMana.java | 10 +++++----- forge-gui/src/main/java/forge/player/HumanPlay.java | 2 +- 9 files changed, 12 insertions(+), 15 deletions(-) diff --git a/forge-ai/src/main/java/forge/ai/ComputerUtilMana.java b/forge-ai/src/main/java/forge/ai/ComputerUtilMana.java index c7f6a1a36ab..ae0f0251c90 100644 --- a/forge-ai/src/main/java/forge/ai/ComputerUtilMana.java +++ b/forge-ai/src/main/java/forge/ai/ComputerUtilMana.java @@ -1482,7 +1482,7 @@ public class ComputerUtilMana { String restriction = null; if (payCosts != null && payCosts.getCostMana() != null) { - restriction = payCosts.getCostMana().getRestiction(); + restriction = payCosts.getCostMana().getRestriction(); } ManaCostBeingPaid cost = new ManaCostBeingPaid(mana, restriction); diff --git a/forge-ai/src/main/java/forge/ai/ability/UntapAi.java b/forge-ai/src/main/java/forge/ai/ability/UntapAi.java index 8816b0a5506..4b75a426036 100644 --- a/forge-ai/src/main/java/forge/ai/ability/UntapAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/UntapAi.java @@ -374,7 +374,7 @@ public class UntapAi extends SpellAbilityAi { if (!ComputerUtilMana.hasEnoughManaSourcesToCast(ab, ai)) { // TODO: Currently limited to predicting something that can be paid with any color, // can ideally be improved to work by color. - ManaCostBeingPaid reduced = new ManaCostBeingPaid(ab.getPayCosts().getCostMana().getManaCostFor(ab), ab.getPayCosts().getCostMana().getRestiction()); + ManaCostBeingPaid reduced = new ManaCostBeingPaid(ab.getPayCosts().getCostMana().getManaCostFor(ab), ab.getPayCosts().getCostMana().getRestriction()); reduced.decreaseShard(ManaCostShard.GENERIC, untappingCards.size()); if (ComputerUtilMana.canPayManaCost(reduced, ab, ai)) { CardCollection manaLandsTapped = CardLists.filter(ai.getCardsIn(ZoneType.Battlefield), diff --git a/forge-game/src/main/java/forge/game/ability/effects/CopyPermanentEffect.java b/forge-game/src/main/java/forge/game/ability/effects/CopyPermanentEffect.java index e6abc6b6fcd..8061522ea74 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/CopyPermanentEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/CopyPermanentEffect.java @@ -220,5 +220,3 @@ public class CopyPermanentEffect extends TokenEffectBase { return copy; } } - - diff --git a/forge-game/src/main/java/forge/game/ability/effects/PlayEffect.java b/forge-game/src/main/java/forge/game/ability/effects/PlayEffect.java index 3e5a0a4d5fd..e69173083a6 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/PlayEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/PlayEffect.java @@ -322,7 +322,7 @@ public class PlayEffect extends SpellAbilityEffect { if (controlledByPlayer != null) { tgtSA.setControlledByPlayer(controlledByTimeStamp, controlledByPlayer); activator.pushPaidForSA(tgtSA); - tgtSA.setManaCostBeingPaid(new ManaCostBeingPaid(tgtSA.getPayCosts().getCostMana().getManaCostFor(tgtSA), tgtSA.getPayCosts().getCostMana().getRestiction())); + tgtSA.setManaCostBeingPaid(new ManaCostBeingPaid(tgtSA.getPayCosts().getCostMana().getManaCostFor(tgtSA), tgtSA.getPayCosts().getCostMana().getRestriction())); } if (controller.getController().playSaFromPlayEffect(tgtSA)) { 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 d1a66f88c5b..1636bf05610 100644 --- a/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java +++ b/forge-game/src/main/java/forge/game/card/CardFactoryUtil.java @@ -3000,7 +3000,7 @@ public class CardFactoryUtil { "| SpellDescription$ (" + inst.getReminderText() + ")"; final SpellAbility sa = AbilityFactory.getAbility(effect, card); - sa.setSVar("ScavengeX", "Count$CardPower"); + sa.setSVar("ScavengeX", "Exiled$CardPower"); sa.setIntrinsic(intrinsic); inst.addSpellAbility(sa); diff --git a/forge-game/src/main/java/forge/game/cost/Cost.java b/forge-game/src/main/java/forge/game/cost/Cost.java index a74bbdaed24..28cf15de4df 100644 --- a/forge-game/src/main/java/forge/game/cost/Cost.java +++ b/forge-game/src/main/java/forge/game/cost/Cost.java @@ -864,8 +864,8 @@ public class Cost implements Serializable { CostPartMana mPart = (CostPartMana) part; ManaCostBeingPaid oldManaCost = new ManaCostBeingPaid(mPart.getMana()); oldManaCost.addManaCost(costPart2.getMana()); - String r2 = costPart2.getRestiction(); - String r1 = mPart.getRestiction(); + String r2 = costPart2.getRestriction(); + String r1 = mPart.getRestriction(); String r = r1 == null ? r2 : ( r2 == null ? r1 : r1 + "." + r2); costParts.remove(costPart2); boolean XCantBe0 = !mPart.canXbe0() || !costPart2.canXbe0(); diff --git a/forge-game/src/main/java/forge/game/cost/CostExile.java b/forge-game/src/main/java/forge/game/cost/CostExile.java index a08efb3f9bf..5abbc55c82f 100644 --- a/forge-game/src/main/java/forge/game/cost/CostExile.java +++ b/forge-game/src/main/java/forge/game/cost/CostExile.java @@ -59,7 +59,6 @@ public class CostExile extends CostPartWithList { this.sameZone = sameZone; } - @Override public Integer getMaxAmountX(SpellAbility ability, Player payer) { final Card source = ability.getHostCard(); diff --git a/forge-game/src/main/java/forge/game/cost/CostPartMana.java b/forge-game/src/main/java/forge/game/cost/CostPartMana.java index 19d7d609d93..270515175b2 100644 --- a/forge-game/src/main/java/forge/game/cost/CostPartMana.java +++ b/forge-game/src/main/java/forge/game/cost/CostPartMana.java @@ -124,7 +124,7 @@ public class CostPartMana extends CostPart { return true; } - public String getRestiction() { + public String getRestriction() { return restriction; } @@ -136,11 +136,11 @@ public class CostPartMana extends CostPart { if (isExiledCreatureCost() && sa.getPaidList(CostExile.HashLKIListKey)!= null && !sa.getPaidList(CostExile.HashLKIListKey).isEmpty()) { // back from the brink return sa.getPaidList(CostExile.HashLKIListKey).get(0).getManaCost(); - } if (isEnchantedCreatureCost() && sa.getHostCard().getEnchantingCard() != null) { - return sa.getHostCard().getEnchantingCard().getManaCost(); - } else { - return getManaToPay(); } + if (isEnchantedCreatureCost() && sa.getHostCard().getEnchantingCard() != null) { + return sa.getHostCard().getEnchantingCard().getManaCost(); + } + return getManaToPay(); } @Override diff --git a/forge-gui/src/main/java/forge/player/HumanPlay.java b/forge-gui/src/main/java/forge/player/HumanPlay.java index 150f56c50ea..f7e120b8e51 100644 --- a/forge-gui/src/main/java/forge/player/HumanPlay.java +++ b/forge-gui/src/main/java/forge/player/HumanPlay.java @@ -702,7 +702,7 @@ public class HumanPlay { public static boolean payManaCost(final PlayerControllerHuman controller, final ManaCost realCost, final CostPartMana mc, final SpellAbility ability, final Player activator, String prompt, ManaConversionMatrix matrix, boolean isActivatedSa) { final Card source = ability.getHostCard(); - ManaCostBeingPaid toPay = new ManaCostBeingPaid(realCost, mc.getRestiction()); + ManaCostBeingPaid toPay = new ManaCostBeingPaid(realCost, mc.getRestriction()); String xInCard = source.getSVar("X"); String xColor = ability.getParam("XColor");