diff --git a/forge-game/src/main/java/forge/game/GameEntity.java b/forge-game/src/main/java/forge/game/GameEntity.java index 8396405f6ed..90db4ec3e17 100644 --- a/forge-game/src/main/java/forge/game/GameEntity.java +++ b/forge-game/src/main/java/forge/game/GameEntity.java @@ -19,6 +19,7 @@ package forge.game; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; import org.apache.commons.lang3.tuple.Pair; @@ -280,7 +281,10 @@ public abstract class GameEntity extends GameObject implements IIdentifiable { // Counters! public boolean hasCounters() { - return !counters.isEmpty(); + if (counters.isEmpty()) + return false; + int size = counters.entrySet().stream().filter(ct -> !ct.getKey().is(CounterEnumType.MANASHARDS)).collect(Collectors.toList()).size(); + return size > 0; } // get all counters from a card diff --git a/forge-game/src/main/java/forge/game/ability/effects/CountersProliferateEffect.java b/forge-game/src/main/java/forge/game/ability/effects/CountersProliferateEffect.java index 3a8f0540670..93548cbc65d 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/CountersProliferateEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/CountersProliferateEffect.java @@ -9,10 +9,7 @@ import forge.game.GameEntityCounterTable; import forge.game.ability.AbilityKey; import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; -import forge.game.card.Card; -import forge.game.card.CardLists; -import forge.game.card.CardPredicates; -import forge.game.card.CounterType; +import forge.game.card.*; import forge.game.player.Player; import forge.game.player.PlayerController; import forge.game.player.PlayerPredicates; @@ -68,6 +65,8 @@ public class CountersProliferateEffect extends SpellAbilityEffect { GameEntityCounterTable table = new GameEntityCounterTable(); for (final GameEntity ge : result) { for (final CounterType ct : ge.getCounters().keySet()) { + if (ct.is(CounterEnumType.MANASHARDS)) + continue; ge.addCounter(ct, 1, p, table); } }