diff --git a/forge-ai/src/main/java/forge/ai/AiBlockController.java b/forge-ai/src/main/java/forge/ai/AiBlockController.java index 65c334f5f1f..362397a5b72 100644 --- a/forge-ai/src/main/java/forge/ai/AiBlockController.java +++ b/forge-ai/src/main/java/forge/ai/AiBlockController.java @@ -29,9 +29,7 @@ import forge.game.trigger.Trigger; import forge.game.trigger.TriggerType; import forge.util.FCollectionView; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; +import java.util.*; /** @@ -117,14 +115,17 @@ public class AiBlockController { ComputerUtilCard.sortByEvaluateCreature(attackers); CardLists.sortByPowerDesc(attackers); //move cards like Phage the Untouchable to the front - List prioritizedAttackers = new ArrayList<>(); - for (Card attacker : attackers) { - if (attacker.hasSVar("MustBeBlocked")) { - prioritizedAttackers.add(attacker); - } - } - attackers.removeAll((Iterable) prioritizedAttackers); - attackers.addAll(0, prioritizedAttackers); + Collections.sort(attackers, new Comparator() { + @Override + public int compare(final Card o1, final Card o2) { + if (o1.hasSVar("MustBeBlocked") && !o2.hasSVar("MustBeBlocked")) { + return -1; + } else if (!o1.hasSVar("MustBeBlocked") && o2.hasSVar("MustBeBlocked")) { + return 1; + } + return 0; + } + }); return attackers; }