prevent proliferate affecting manashards

This commit is contained in:
Anthony Calosa
2023-03-26 14:22:54 +08:00
parent f5ec35fe97
commit f18c525fe1
2 changed files with 8 additions and 5 deletions

View File

@@ -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

View File

@@ -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);
}
}