Compare commits

...

1 Commits

Author SHA1 Message Date
2e5d252aee fix: check if sortie modifier is unique
All checks were successful
Build / build (pull_request) Successful in 1m47s
Closes: #2026
2025-05-08 18:59:28 +02:00

View File

@ -252,10 +252,12 @@ export const getSortie = (day: number): ISortie => {
const selectedNodes: ISortieMission[] = [];
const missionTypes = new Set();
const modifierTypes = new Set();
for (let i = 0; i < 3; i++) {
const randomIndex = rng.randomInt(0, nodes.length - 1);
const node = nodes[randomIndex];
let modifierType: string;
const modifiers = [
"SORTIE_MODIFIER_LOW_ENERGY",
@ -283,7 +285,9 @@ export const getSortie = (day: number): ISortie => {
const tileset = sortieTilesets[sortieBossNode[boss] as keyof typeof sortieTilesets] as TSortieTileset;
pushTilesetModifiers(modifiers, tileset);
const modifierType = rng.randomElement(modifiers)!;
do {
modifierType = rng.randomElement(modifiers)!;
} while (modifierTypes.has(modifierType));
selectedNodes.push({
missionType: "MT_ASSASSINATION",
@ -318,7 +322,9 @@ export const getSortie = (day: number): ISortie => {
modifiers.push("SORTIE_MODIFIER_SHIELDS");
}
const modifierType = rng.randomElement(modifiers)!;
do {
modifierType = rng.randomElement(modifiers)!;
} while (modifierTypes.has(modifierType));
selectedNodes.push({
missionType,
@ -328,6 +334,7 @@ export const getSortie = (day: number): ISortie => {
});
nodes.splice(randomIndex, 1);
missionTypes.add(missionType);
modifierTypes.add(modifierType);
}
const dayStart = getSortieTime(day);