diff --git a/src/Faction/Faction.ts b/src/Faction/Faction.ts index 217a7c41c..b303340a6 100644 --- a/src/Faction/Faction.ts +++ b/src/Faction/Faction.ts @@ -12,7 +12,7 @@ export class Faction { alreadyInvited = false; /** Holds names of all augmentations that this Faction offers */ - augmentations: Set = new Set(); + augmentations: AugmentationName[] = []; /** Amount of favor the player has with this faction. */ favor = 0; @@ -72,9 +72,7 @@ export class Faction { const faction = Generic_fromJSON(Faction, value.data); // Remove invalid augs from faction. Augs are repopulated with correct augs during any reset. const augHelper = getEnumHelper("AugmentationName"); - faction.augmentations = new Set( - Array.from(faction.augmentations.values()).filter((augName) => augHelper.isMember(augName)), - ); + faction.augmentations = faction.augmentations.filter((augName) => augHelper.isMember(augName)); return faction; } } diff --git a/src/Faction/FactionHelpers.tsx b/src/Faction/FactionHelpers.tsx index 6a5d686a2..580a45e9f 100644 --- a/src/Faction/FactionHelpers.tsx +++ b/src/Faction/FactionHelpers.tsx @@ -153,7 +153,7 @@ export const getFactionAugmentationsFiltered = (faction: Faction): AugmentationN return true; } // Keep all the ones that this faction has anyway. - if (faction.augmentations.has(a.name)) { + if (faction.augmentations.includes(a.name)) { return true; } @@ -164,5 +164,5 @@ export const getFactionAugmentationsFiltered = (faction: Faction): AugmentationN return augs.map((a) => a.name); } - return Array.from(faction.augmentations); + return faction.augmentations.slice(); }; diff --git a/src/Faction/Factions.ts b/src/Faction/Factions.ts index 286b2aeb9..49660d904 100644 --- a/src/Faction/Factions.ts +++ b/src/Faction/Factions.ts @@ -58,7 +58,7 @@ function resetFaction(newFactionObject: Faction): void { console.error(`Faction ${factionName} did not exist while adding augs to factions`); continue; } - faction.augmentations.add(aug.name); + faction.augmentations.push(aug.name); } } } diff --git a/src/Milestones/Milestones.ts b/src/Milestones/Milestones.ts index 96e2b8799..47dac470f 100644 --- a/src/Milestones/Milestones.ts +++ b/src/Milestones/Milestones.ts @@ -7,8 +7,13 @@ import { FactionName } from "@enums"; import { Server } from "../Server/Server"; function allFactionAugs(f: Faction): boolean { - for (const factionAug of f.augmentations) { - if (factionAug !== "NeuroFlux Governor" && !Player.augmentations.some((aug) => aug.name == factionAug)) + const factionAugs = f.augmentations.slice().filter((aug) => aug !== "NeuroFlux Governor"); + for (const factionAug of factionAugs) { + if ( + !Player.augmentations.some((aug) => { + return aug.name == factionAug; + }) + ) return false; } return true;