mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 03:08:02 +00:00
AiController: only do verifyTransitivity when sort failed
This commit is contained in:
committed by
Michael Kamensky
parent
a07158181e
commit
44bcc72662
@@ -59,6 +59,7 @@ import forge.item.PaperCard;
|
|||||||
import forge.util.Aggregates;
|
import forge.util.Aggregates;
|
||||||
import forge.util.Expressions;
|
import forge.util.Expressions;
|
||||||
import forge.util.MyRandom;
|
import forge.util.MyRandom;
|
||||||
|
import forge.util.ComparatorUtil;
|
||||||
import forge.util.collect.FCollectionView;
|
import forge.util.collect.FCollectionView;
|
||||||
import io.sentry.Sentry;
|
import io.sentry.Sentry;
|
||||||
import io.sentry.event.BreadcrumbBuilder;
|
import io.sentry.event.BreadcrumbBuilder;
|
||||||
@@ -609,8 +610,14 @@ public class AiController {
|
|||||||
ComputerUtilAbility.getAvailableCards(game, player);
|
ComputerUtilAbility.getAvailableCards(game, player);
|
||||||
|
|
||||||
List<SpellAbility> all = ComputerUtilAbility.getSpellAbilities(cards, player);
|
List<SpellAbility> all = ComputerUtilAbility.getSpellAbilities(cards, player);
|
||||||
//ComparatorUtil.verifyTransitivity(saComparator, all); // FIXME: only use this for testing, it lags too much
|
|
||||||
|
try {
|
||||||
Collections.sort(all, saComparator); // put best spells first
|
Collections.sort(all, saComparator); // put best spells first
|
||||||
|
}
|
||||||
|
catch (IllegalArgumentException ex) {
|
||||||
|
System.err.println(ex.getMessage());
|
||||||
|
ComparatorUtil.verifyTransitivity(saComparator, all);
|
||||||
|
}
|
||||||
|
|
||||||
for (final SpellAbility sa : ComputerUtilAbility.getOriginalAndAltCostAbilities(all, player)) {
|
for (final SpellAbility sa : ComputerUtilAbility.getOriginalAndAltCostAbilities(all, player)) {
|
||||||
ApiType saApi = sa.getApi();
|
ApiType saApi = sa.getApi();
|
||||||
@@ -1573,8 +1580,13 @@ public class AiController {
|
|||||||
if (all == null || all.isEmpty())
|
if (all == null || all.isEmpty())
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
//ComparatorUtil.verifyTransitivity(saComparator, all); // FIXME: only use this for testing, otherwise it lags too much
|
try {
|
||||||
Collections.sort(all, saComparator); // put best spells first
|
Collections.sort(all, saComparator); // put best spells first
|
||||||
|
}
|
||||||
|
catch (IllegalArgumentException ex) {
|
||||||
|
System.err.println(ex.getMessage());
|
||||||
|
ComparatorUtil.verifyTransitivity(saComparator, all);
|
||||||
|
}
|
||||||
|
|
||||||
for (final SpellAbility sa : ComputerUtilAbility.getOriginalAndAltCostAbilities(all, player)) {
|
for (final SpellAbility sa : ComputerUtilAbility.getOriginalAndAltCostAbilities(all, player)) {
|
||||||
// Don't add Counterspells to the "normal" playcard lookups
|
// Don't add Counterspells to the "normal" playcard lookups
|
||||||
|
|||||||
Reference in New Issue
Block a user