Merge branch 'karn' into 'master'

RestartGameAi: Improve filtering

See merge request core-developers/forge!5848
This commit is contained in:
Michael Kamensky
2021-11-17 15:27:02 +00:00

View File

@@ -1,16 +1,13 @@
package forge.ai.ability; package forge.ai.ability;
import com.google.common.collect.Iterables;
import forge.ai.ComputerUtil; import forge.ai.ComputerUtil;
import forge.ai.ComputerUtilCard; import forge.ai.ComputerUtilCard;
import forge.ai.SpellAbilityAi; import forge.ai.SpellAbilityAi;
import forge.game.card.Card;
import forge.game.card.CardCollection; import forge.game.card.CardCollection;
import forge.game.card.CardLists; import forge.game.card.CardLists;
import forge.game.card.CardPredicates.Presets;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.spellability.SpellAbility; import forge.game.spellability.SpellAbility;
import forge.game.zone.ZoneType;
public class RestartGameAi extends SpellAbilityAi { public class RestartGameAi extends SpellAbilityAi {
@@ -29,8 +26,7 @@ public class RestartGameAi extends SpellAbilityAi {
} }
// check if enough good permanents will be available to be returned, so AI can "autowin" // check if enough good permanents will be available to be returned, so AI can "autowin"
CardCollection exiled = new CardCollection(Iterables.filter(sa.getHostCard().getRemembered(), Card.class)); CardCollection exiled = CardLists.getValidCards(ai.getGame().getCardsIn(ZoneType.Exile), "Permanent.nonAura+IsRemembered", ai, sa.getHostCard(), sa);
exiled = CardLists.filter(exiled, Presets.PERMANENTS);
if (ComputerUtilCard.evaluatePermanentList(exiled) > 20) { if (ComputerUtilCard.evaluatePermanentList(exiled) > 20) {
return true; return true;
} }