message: Made amour 2.0 ignore mods when calculating builds stat tiers.
diff: @@ -9,6 +9,7 @@ import {
  LockedMap
  } from './types';
  import { statTier } from './generated-sets/utils';
  +import { DimStat } from 'app/inventory/item-types';
  export const statHashes: { [type in StatTypes]: number } = {
  Mobility: 2996146975,
  @@ -292,7 +293,9 @@ export function generateMixesFromPerks(
  }
  const statsByHash = _.keyBy(stats, (stat) => stat.statHash);
  - const mixes: number[][] = [statValues.map((statHash) => statsByHash[statHash].value)];
  + const mixes: number[][] = [
  + statValues.map((statHash) => getBaseStatValue(statsByHash[statHash], item))
  + ];
  const altPerks: (DimPlug[] | null)[] = [null];
  @@ -331,6 +334,27 @@ export function generateMixesFromPerks(
  return mixes;
  }
  +function getBaseStatValue(stat: DimStat, item: DimItem) {
  + let baseStatValue = stat.value;
  +
  + // Checking energy tells us if it is Armour 2.0
  + if (item.isDestiny2() && item.sockets && item.energy) {
  + for (const socket of item.sockets.sockets) {
  + if (socket.plug && socket.plug.plugItem.investmentStats) {
  + for (const plugStat of socket.plug.plugItem.investmentStats) {
  + if (plugStat.statTypeHash === stat.statHash) {
  + const useablePlugStatValue = plugStat.value || 0;
  + // This is additive in event that more than one mod is stacking
  + baseStatValue -= useablePlugStatValue;
  + }
  + }
  + }
  + }
  + }
  +
  + return baseStatValue;
  +}
  +
  /**
  * Get the loadout permutation for this stat mix that has the highest power, assuming the
  * items in each slot are already sorted by power. This respects the rule that two exotics
  