From ea78fe0ee4a967ac9f7648234ffbb2b64278179c Mon Sep 17 00:00:00 2001 From: Michael Aird Date: Tue, 9 Mar 2021 18:03:58 -0500 Subject: [PATCH] Only add powerful engram recommendations if more than 2 below hardcap --- .../Services/AbstractRecommendations.cs | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/MaxPowerLevel/Services/AbstractRecommendations.cs b/MaxPowerLevel/Services/AbstractRecommendations.cs index 2e05353..bfb7ba6 100644 --- a/MaxPowerLevel/Services/AbstractRecommendations.cs +++ b/MaxPowerLevel/Services/AbstractRecommendations.cs @@ -115,17 +115,20 @@ private IEnumerable GetRecommendations(CharacterRecomendationInf recommendations.Add(recommendation); } - // If any slot is at least two power levels behind, - // a Powerful Engram would increase the max power level. - // Ignore any slots where a season pass reward can be used first. - var trailingSlots = info.Items.Where(item => info.IntPowerLevel - item.PowerLevel >= TrailingPowerLevelDifference) - .OrderBy(item => item.PowerLevel) - .Select(item => (item.Slot, 1)) - .Except(seasonPassRewards, new ItemComparer()); - if(trailingSlots.Any()) + if (info.PowerLevel < HardCap - 2) //powerful engrams only help when more than 2 below hardcap { - var recommendation = new Recommendation(GetDisplayString("Powerful Engrams", trailingSlots)); - recommendations.Add(recommendation); + // If any slot is at least two power levels behind, + // a Powerful Engram would increase the max power level. + // Ignore any slots where a season pass reward can be used first. + var trailingSlots = info.Items.Where(item => info.IntPowerLevel - item.PowerLevel >= TrailingPowerLevelDifference) + .OrderBy(item => item.PowerLevel) + .Select(item => (item.Slot, 1)) + .Except(seasonPassRewards, new ItemComparer()); + if (trailingSlots.Any()) + { + var recommendation = new Recommendation(GetDisplayString("Powerful Engrams", trailingSlots)); + recommendations.Add(recommendation); + } } recommendations.AddRange(CreatePinnacleRecommendations(info.IntPowerLevel, info.Items));