From c885b87f2edb0fd3cba8c3c6394d32b84d44fb7e Mon Sep 17 00:00:00 2001 From: Hans Mackowiak Date: Thu, 28 Jan 2021 07:49:39 +0100 Subject: [PATCH] add WithCountersType and WithCountersAmount --- .../forge/game/ability/effects/ChangeZoneEffect.java | 11 +++++++++++ .../forge/game/ability/effects/TokenEffectBase.java | 6 ++++++ 2 files changed, 17 insertions(+) diff --git a/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneEffect.java index 7a5763db27d..9173d117ba1 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneEffect.java @@ -553,6 +553,11 @@ public class ChangeZoneEffect extends SpellAbilityEffect { String[] parse = sa.getParam("WithCounters").split("_"); gameCard.addEtbCounter(CounterType.getType(parse[0]), Integer.parseInt(parse[1]), player); } + if (sa.hasParam("WithCountersType")) { + CounterType cType = CounterType.getType(sa.getParam("WithCountersType")); + int cAmount = AbilityUtils.calculateAmount(hostCard, sa.getParamOrDefault("WithCountersAmount", "1"), sa); + gameCard.addEtbCounter(cType, cAmount, player); + } if (sa.hasParam("GainControl")) { if (sa.hasParam("NewController")) { final Player p = Iterables.getFirst(AbilityUtils.getDefinedPlayers(hostCard, sa.getParam("NewController"), sa), null); @@ -1122,6 +1127,12 @@ public class ChangeZoneEffect extends SpellAbilityEffect { String[] parse = sa.getParam("WithCounters").split("_"); c.addEtbCounter(CounterType.getType(parse[0]), Integer.parseInt(parse[1]), player); } + + if (sa.hasParam("WithCountersType")) { + CounterType cType = CounterType.getType(sa.getParam("WithCountersType")); + int cAmount = AbilityUtils.calculateAmount(source, sa.getParamOrDefault("WithCountersAmount", "1"), sa); + c.addEtbCounter(cType, cAmount, player); + } if (sa.hasParam("Transformed")) { if (c.isDoubleFaced()) { c.changeCardState("Transform", null, sa); diff --git a/forge-game/src/main/java/forge/game/ability/effects/TokenEffectBase.java b/forge-game/src/main/java/forge/game/ability/effects/TokenEffectBase.java index 7fcefd02971..7cb85b5eb72 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/TokenEffectBase.java +++ b/forge-game/src/main/java/forge/game/ability/effects/TokenEffectBase.java @@ -50,6 +50,12 @@ public abstract class TokenEffectBase extends SpellAbilityEffect { tok.addEtbCounter(CounterType.getType(parse[0]), Integer.parseInt(parse[1]), creator); } + if (sa.hasParam("WithCountersType")) { + CounterType cType = CounterType.getType(sa.getParam("WithCountersType")); + int cAmount = AbilityUtils.calculateAmount(host, sa.getParamOrDefault("WithCountersAmount", "1"), sa); + tok.addEtbCounter(cType, cAmount, creator); + } + if (clone) { tok.setCopiedPermanent(prototype); }