Fixed kicker costs not getting reset correctly (fixes
@@ -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<String> 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) {
