From f36ff1e3a91bcc521d95591ad5733edb08eb1f04 Mon Sep 17 00:00:00 2001 From: Northmoc Date: Wed, 30 Dec 2020 18:57:10 -0500 Subject: [PATCH] EffectEffect.java - add NoteCounterDefined$ param --- .../game/ability/effects/EffectEffect.java | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/forge-game/src/main/java/forge/game/ability/effects/EffectEffect.java b/forge-game/src/main/java/forge/game/ability/effects/EffectEffect.java index 081b0045a23..92f6a45c2a6 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/EffectEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/EffectEffect.java @@ -24,6 +24,7 @@ import forge.game.zone.ZoneType; import java.util.EnumSet; import java.util.List; +import java.util.Map; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; @@ -53,6 +54,7 @@ public class EffectEffect extends SpellAbilityEffect { String[] effectReplacementEffects = null; FCollection rememberList = null; String effectImprinted = null; + String noteCounterDefined = null; List effectOwner = null; boolean imprintOnHost = false; @@ -101,6 +103,10 @@ public class EffectEffect extends SpellAbilityEffect { effectImprinted = sa.getParam("ImprintCards"); } + if (sa.hasParam("NoteCounterDefined")) { + noteCounterDefined = sa.getParam("NoteCounterDefined"); + } + String name = sa.getParam("Name"); if (name == null) { name = hostCard.getName() + "'s Effect"; @@ -224,6 +230,13 @@ public class EffectEffect extends SpellAbilityEffect { } } + // Note counters on defined + if (noteCounterDefined != null) { + for (final Card c : AbilityUtils.getDefinedCards(hostCard, noteCounterDefined, sa)) { + noteCounters(c, eff); + } + } + // Set Chosen Color(s) if (hostCard.hasChosenColor()) { eff.setChosenColors(Lists.newArrayList(hostCard.getChosenColors())); @@ -324,4 +337,12 @@ public class EffectEffect extends SpellAbilityEffect { } } + private void noteCounters(Card notee, Card source) { + for(Map.Entry counter : notee.getCounters().entrySet()) { + StringBuilder sb = new StringBuilder(); + sb.append("NoteCounters").append(counter.getKey().getName()); + source.setSVar(sb.toString(), counter.getValue().toString()); + } + } + }