diff --git a/Mage.Sets/src/mage/cards/r/RagingRiver.java b/Mage.Sets/src/mage/cards/r/RagingRiver.java index fa4ef5f1dbb..17383e43aec 100644 --- a/Mage.Sets/src/mage/cards/r/RagingRiver.java +++ b/Mage.Sets/src/mage/cards/r/RagingRiver.java @@ -27,9 +27,7 @@ */ package mage.cards.r; -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; +import mage.MageObject; import mage.abilities.Ability; import mage.abilities.common.AttacksWithCreaturesTriggeredAbility; import mage.abilities.effects.OneShotEffect; @@ -54,6 +52,11 @@ import mage.target.Target; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.targetpointer.FixedTarget; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; +import java.util.stream.Collectors; + /** * * @author L_J @@ -124,25 +127,13 @@ class RagingRiverEffect extends OneShotEffect { // it could be nice to invoke some graphic indicator of which creature is Left or Right in this spot StringBuilder sb = new StringBuilder("Left pile of ").append(defender.getLogName()).append(": "); - int i = 0; - for (Permanent permanent : leftLog) { - i++; - sb.append(permanent.getLogName()); - if (i < leftLog.size()) { - sb.append(", "); - } - } + sb.append(leftLog.stream().map(MageObject::getLogName).collect(Collectors.joining(", "))); + game.informPlayers(sb.toString()); sb = new StringBuilder("Right pile of ").append(defender.getLogName()).append(": "); - i = 0; - for (Permanent permanent : rightLog) { - i++; - sb.append(permanent.getLogName()); - if (i < rightLog.size()) { - sb.append(", "); - } - } + sb.append(rightLog.stream().map(MageObject::getLogName).collect(Collectors.joining(", "))); + game.informPlayers(sb.toString()); } } @@ -160,19 +151,13 @@ class RagingRiverEffect extends OneShotEffect { // shortcut in case of no labeled blockers available filter.add(Predicates.not(new AbilityPredicate(FlyingAbility.class))); } else { - List leftLog = new ArrayList<>(); - List rightLog = new ArrayList<>(); - - for (Permanent permanent : left) { - if (permanent.getControllerId() == defender.getId()) { - leftLog.add(permanent); - } - } - for (Permanent permanent : right) { - if (permanent.getControllerId() == defender.getId()) { - rightLog.add(permanent); - } - } + List leftLog = left.stream() + .filter(permanent -> permanent.getControllerId().equals(defender.getId())) + .collect(Collectors.toList()); + List rightLog = right.stream() + .filter(permanent -> permanent.getControllerId().equals(defender.getId())) + .collect(Collectors.toList()); + if (controller.choosePile(outcome, attacker.getName() + ": attacking " + defender.getName(), leftLog, rightLog, game)) { filter.add(Predicates.not(Predicates.or(new AbilityPredicate(FlyingAbility.class), new PermanentInListPredicate(left))));