diff --git a/forge-ai/src/main/java/forge/ai/ability/CountersMoveAi.java b/forge-ai/src/main/java/forge/ai/ability/CountersMoveAi.java index 6c8699fbf87..4c4466ebe7e 100644 --- a/forge-ai/src/main/java/forge/ai/ability/CountersMoveAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/CountersMoveAi.java @@ -214,7 +214,7 @@ public class CountersMoveAi extends SpellAbilityAi { private static int calcAmount(final SpellAbility sa, final CounterType cType) { final Card host = sa.getHostCard(); - final String amountStr = sa.getParam("CounterNum"); + final String amountStr = sa.getParamOrDefault("CounterNum", "1"); // TODO handle proper calculation of X values based on Cost int amount = 0; diff --git a/forge-ai/src/main/java/forge/ai/ability/CountersRemoveAi.java b/forge-ai/src/main/java/forge/ai/ability/CountersRemoveAi.java index 2b68e99df54..1421489b691 100644 --- a/forge-ai/src/main/java/forge/ai/ability/CountersRemoveAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/CountersRemoveAi.java @@ -102,7 +102,7 @@ public class CountersRemoveAi extends SpellAbilityAi { final Game game = ai.getGame(); final String type = sa.getParam("CounterType"); - final String amountStr = sa.getParam("CounterNum"); + final String amountStr = sa.getParamOrDefault("CounterNum", "1"); // remove counter with Time might use Exile Zone too final TargetRestrictions tgt = sa.getTargetRestrictions(); diff --git a/forge-game/src/main/java/forge/game/ability/effects/CountersMoveEffect.java b/forge-game/src/main/java/forge/game/ability/effects/CountersMoveEffect.java index 78ddb488af3..3f8587eda36 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/CountersMoveEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/CountersMoveEffect.java @@ -45,10 +45,10 @@ public class CountersMoveEffect extends SpellAbilityEffect { } } final String countername = sa.getParam("CounterType"); - final String counterAmount = sa.getParam("CounterNum"); + final String counterAmount = sa.getParamOrDefault("CounterNum", "1"); int amount = 0; if (!"Any".equals(counterAmount) && !"All".equals(counterAmount)) { - amount = AbilityUtils.calculateAmount(sa.getHostCard(), sa.getParam("CounterNum"), sa); + amount = AbilityUtils.calculateAmount(sa.getHostCard(), counterAmount, sa); } sb.append("Move "); @@ -81,7 +81,7 @@ public class CountersMoveEffect extends SpellAbilityEffect { public void resolve(SpellAbility sa) { final Card host = sa.getHostCard(); final String counterName = sa.getParam("CounterType"); - final String counterNum = sa.getParam("CounterNum"); + final String counterNum = sa.getParamOrDefault("CounterNum", "1"); final Player player = sa.getActivatingPlayer(); final PlayerController pc = player.getController(); final Game game = host.getGame(); @@ -320,7 +320,6 @@ public class CountersMoveEffect extends SpellAbilityEffect { protected void removeCounter(SpellAbility sa, final Card src, final Card dest, CounterType cType, String counterNum, Map countersToAdd) { final Card host = sa.getHostCard(); - //final String counterNum = sa.getParam("CounterNum"); final Player player = sa.getActivatingPlayer(); final PlayerController pc = player.getController(); final Game game = host.getGame(); diff --git a/forge-game/src/main/java/forge/game/ability/effects/CountersRemoveEffect.java b/forge-game/src/main/java/forge/game/ability/effects/CountersRemoveEffect.java index d3e8f2eb09a..6cab599bf64 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/CountersRemoveEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/CountersRemoveEffect.java @@ -29,7 +29,7 @@ public class CountersRemoveEffect extends SpellAbilityEffect { final StringBuilder sb = new StringBuilder(); final String counterName = sa.getParam("CounterType"); - final String num = sa.getParam("CounterNum"); + final String num = sa.getParamOrDefault("CounterNum", "1"); int amount = 0; if (!num.equals("All") && !num.equals("Any")) { @@ -77,7 +77,7 @@ public class CountersRemoveEffect extends SpellAbilityEffect { PlayerController pc = player.getController(); final String type = sa.getParam("CounterType"); - final String num = sa.getParam("CounterNum"); + final String num = sa.getParamOrDefault("CounterNum", "1"); int cntToRemove = 0; if (!num.equals("All") && !num.equals("Any")) { diff --git a/forge-gui/res/cardsfolder/l/leech_bonder.txt b/forge-gui/res/cardsfolder/l/leech_bonder.txt index 73945e21dc1..b997b700a9f 100644 --- a/forge-gui/res/cardsfolder/l/leech_bonder.txt +++ b/forge-gui/res/cardsfolder/l/leech_bonder.txt @@ -3,7 +3,6 @@ ManaCost:2 U Types:Creature Merfolk Soldier PT:3/3 K:etbCounter:M1M1:2 -A:AB$ Pump | Cost$ U Q | ValidTgts$ Creature | TgtPrompt$ Select target creature to remove counters | SubAbility$ DBMove | StackDescription$ None | SpellDescription$ Move a counter from target creature onto a second target creature. -SVar:DBMove:DB$ MoveCounter | Source$ ParentTarget | ValidTgts$ Creature | TgtPrompt$ Select target creature to add counters | TargetUnique$ True | CounterType$ Any | CounterNum$ 1 +A:AB$ MoveCounter | Cost$ U Q | ValidTgts$ Creature | TgtPrompt$ Select target creature to remove counters | ValidTgts$ Creature | TargetMin$ 2 | TargetMax$ 2 | CounterType$ Any | SpellDescription$ Move a counter from target creature onto a second target creature. AI:RemoveDeck:All Oracle:Leech Bonder enters the battlefield with two -1/-1 counters on it.\n{U}, {Q}: Move a counter from target creature onto a second target creature. ({Q} is the untap symbol.)