- Attempting to fix a potential ConcurrentModificationException in ChangeZone AI.

This commit is contained in:
Agetian
2017-05-16 04:39:38 +00:00
parent 968c4542b0
commit f8d84f0d60

View File

@@ -1098,12 +1098,16 @@ public class ChangeZoneAi extends SpellAbilityAi {
// vs. two cards in the second player's graveyard, which cards are more relevant to be targeted, etc.). Consider improving. // vs. two cards in the second player's graveyard, which cards are more relevant to be targeted, etc.). Consider improving.
if (sa.getTargetRestrictions().isSingleZone()) { if (sa.getTargetRestrictions().isSingleZone()) {
Card firstTgt = sa.getTargets().getFirstTargetedCard(); Card firstTgt = sa.getTargets().getFirstTargetedCard();
CardCollection toRemove = new CardCollection();
if (firstTgt != null) { if (firstTgt != null) {
for (Card t : sa.getTargets().getTargetCards()) { for (Card t : sa.getTargets().getTargetCards()) {
if (!t.getController().equals(firstTgt.getController())) { if (!t.getController().equals(firstTgt.getController())) {
sa.getTargets().remove(t); toRemove.add(t);
} }
} }
for (Card dontTarget : toRemove) {
sa.getTargets().remove(dontTarget);
}
} }
} }