From b704618f324c1ccc9049e9fc59920247c578e347 Mon Sep 17 00:00:00 2001 From: Ingmar Goudt Date: Thu, 11 Jul 2019 15:44:46 +0200 Subject: [PATCH] small complexity rewrite --- .../dynamicvalue/common/GetKickerXValue.java | 12 ++++-------- Mage/src/main/java/mage/players/PlayerImpl.java | 11 ++++------- 2 files changed, 8 insertions(+), 15 deletions(-) diff --git a/Mage/src/main/java/mage/abilities/dynamicvalue/common/GetKickerXValue.java b/Mage/src/main/java/mage/abilities/dynamicvalue/common/GetKickerXValue.java index 66d94f89bbf..fe7203deaff 100644 --- a/Mage/src/main/java/mage/abilities/dynamicvalue/common/GetKickerXValue.java +++ b/Mage/src/main/java/mage/abilities/dynamicvalue/common/GetKickerXValue.java @@ -35,14 +35,10 @@ public enum GetKickerXValue implements DynamicValue { // search that kicker used X value KickerAbility kickerAbility = (KickerAbility) ability; - boolean haveVarCost = false; - for (OptionalAdditionalCost cost : kickerAbility.getKickerCosts()) { - List varCosts = ((OptionalAdditionalCostImpl) cost).getVariableCosts(); - if (!varCosts.isEmpty()) { - haveVarCost = true; - break; - } - } + boolean haveVarCost = kickerAbility.getKickerCosts() + .stream() + .anyMatch(varCost -> !((OptionalAdditionalCostImpl) varCost).getVariableCosts().isEmpty()); + if (haveVarCost) { int kickedCount = ((KickerAbility) ability).getKickedCounter(game, source); diff --git a/Mage/src/main/java/mage/players/PlayerImpl.java b/Mage/src/main/java/mage/players/PlayerImpl.java index f8c1e404737..0057e1dbc71 100644 --- a/Mage/src/main/java/mage/players/PlayerImpl.java +++ b/Mage/src/main/java/mage/players/PlayerImpl.java @@ -3049,13 +3049,10 @@ public abstract class PlayerImpl implements Player, Serializable { protected boolean canLandPlayAlternateSourceCostsAbility(Card sourceObject, ManaOptions available, Ability ability, Game game) { if (!(sourceObject instanceof Permanent)) { - Ability sourceAbility = null; - for (Ability landAbility : sourceObject.getAbilities()) { - if (landAbility.getAbilityType() == AbilityType.PLAY_LAND) { - sourceAbility = landAbility; - break; - } - } + Ability sourceAbility = sourceObject.getAbilities().stream() + .filter(landAbility -> landAbility.getAbilityType() == AbilityType.PLAY_LAND) + .findFirst().orElse(null); + if (sourceAbility != null && ((AlternativeSourceCosts) ability).isAvailable(sourceAbility, game)) { if (ability.getCosts().canPay(ability, sourceObject.getId(), this.getId(), game)) { ManaCostsImpl manaCosts = new ManaCostsImpl();