From a8f7cfa17d398e2729d66ab454d605754ebcee2d Mon Sep 17 00:00:00 2001 From: Daniel Bomar Date: Fri, 3 Dec 2021 19:10:02 -0600 Subject: [PATCH] Fixed kicker costs not getting reset correctly (fixes #8495) --- .../java/mage/abilities/keyword/KickerAbility.java | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/Mage/src/main/java/mage/abilities/keyword/KickerAbility.java b/Mage/src/main/java/mage/abilities/keyword/KickerAbility.java index 5ad122945e2..cdf4e4ee6fc 100644 --- a/Mage/src/main/java/mage/abilities/keyword/KickerAbility.java +++ b/Mage/src/main/java/mage/abilities/keyword/KickerAbility.java @@ -115,18 +115,11 @@ public class KickerAbility extends StaticAbility implements OptionalAdditionalSo }); } - public void resetKicker(Game game, Ability source) { + private void resetKicker() { for (OptionalAdditionalCost cost : kickerCosts) { cost.reset(); } - String key = getActivationKey(source, "", game); - for (Iterator iterator = activations.keySet().iterator(); iterator.hasNext(); ) { - String activationKey = iterator.next(); - if (activationKey.startsWith(key) - && activations.get(activationKey) > 0) { - activations.put(key, 0); - } - } + activations.clear(); } private int getKickedCounterStrict(Game game, Ability source, String needKickerCost) { @@ -241,7 +234,7 @@ public class KickerAbility extends StaticAbility implements OptionalAdditionalSo if (ability instanceof SpellAbility) { Player player = game.getPlayer(ability.getControllerId()); if (player != null) { - this.resetKicker(game, ability); + this.resetKicker(); for (OptionalAdditionalCost kickerCost : kickerCosts) { boolean again = true; while (player.canRespond() && again) {