avoid CME in cleanUpTemporaryReplacements()

Signed-off-by: Jamin W. Collins <jamin.collins@gmail.com>
This commit is contained in:
Jamin W. Collins
2018-09-25 21:26:43 -06:00
parent b7f5d6e85e
commit 701418ab63

View File

@@ -309,13 +309,15 @@ public class ReplacementHandler {
game.forEachCardInGame(new Visitor<Card>() { game.forEachCardInGame(new Visitor<Card>() {
@Override @Override
public boolean visit(Card c) { public boolean visit(Card c) {
for (int i = 0; i < c.getReplacementEffects().size(); i++) { List<ReplacementEffect> toRemove = Lists.newArrayList();
ReplacementEffect rep = c.getReplacementEffects().get(i); for (ReplacementEffect rep : c.getReplacementEffects()) {
if (rep.isTemporary()) { if (rep.isTemporary()) {
c.removeReplacementEffect(rep); toRemove.add(rep);
i--;
} }
} }
for (ReplacementEffect rep : toRemove) {
c.removeReplacementEffect(rep);
}
return true; return true;
} }
}); });