From e34644ce9e69ed292b7e6325507916b6f7a4af0b Mon Sep 17 00:00:00 2001 From: Sainan <63328889+Sainan@users.noreply.github.com> Date: Wed, 7 May 2025 04:30:03 +0200 Subject: [PATCH] turn closure into simple function --- src/services/worldStateService.ts | 44 ++++++++++++++++--------------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/src/services/worldStateService.ts b/src/services/worldStateService.ts index 51fef49a..9b2bbe6e 100644 --- a/src/services/worldStateService.ts +++ b/src/services/worldStateService.ts @@ -212,6 +212,27 @@ const pushSyndicateMissions = ( }); }; +type TSortieTileset = keyof typeof sortieTilesetMissions; + +const pushTilesetModifiers = (modifiers: string[], tileset: TSortieTileset): void => { + switch (tileset) { + case "GrineerForestTileset": + modifiers.push("SORTIE_MODIFIER_HAZARD_FOG"); + break; + case "CorpusShipTileset": + case "GrineerGalleonTileset": + case "InfestedCorpusShipTileset": + modifiers.push("SORTIE_MODIFIER_HAZARD_MAGNETIC"); + modifiers.push("SORTIE_MODIFIER_HAZARD_FIRE"); + modifiers.push("SORTIE_MODIFIER_HAZARD_ICE"); + break; + case "CorpusIcePlanetTileset": + case "CorpusIcePlanetTilesetCaves": + modifiers.push("SORTIE_MODIFIER_HAZARD_COLD"); + break; + } +}; + export const getSortie = (day: number): ISortie => { const seed = new CRng(day).randomInt(0, 0xffff); const rng = new CRng(seed); @@ -257,29 +278,10 @@ export const getSortie = (day: number): ISortie => { "SORTIE_MODIFIER_RIFLE_ONLY", "SORTIE_MODIFIER_BOW_ONLY" ]; - type TSortieTileset = keyof typeof sortieTilesetMissions; - const pushTilesetModifiers = (tileset: TSortieTileset): void => { - switch (tileset) { - case "GrineerForestTileset": - modifiers.push("SORTIE_MODIFIER_HAZARD_FOG"); - break; - case "CorpusShipTileset": - case "GrineerGalleonTileset": - case "InfestedCorpusShipTileset": - modifiers.push("SORTIE_MODIFIER_HAZARD_MAGNETIC"); - modifiers.push("SORTIE_MODIFIER_HAZARD_FIRE"); - modifiers.push("SORTIE_MODIFIER_HAZARD_ICE"); - break; - case "CorpusIcePlanetTileset": - case "CorpusIcePlanetTilesetCaves": - modifiers.push("SORTIE_MODIFIER_HAZARD_COLD"); - break; - } - }; if (i == 2 && boss != "SORTIE_BOSS_CORRUPTED_VOR" && rng.randomInt(0, 2) == 2) { const tileset = sortieTilesets[sortieBossNode[boss] as keyof typeof sortieTilesets] as TSortieTileset; - pushTilesetModifiers(tileset); + pushTilesetModifiers(modifiers, tileset); const modifierType = rng.randomElement(modifiers)!; @@ -293,7 +295,7 @@ export const getSortie = (day: number): ISortie => { } const tileset = sortieTilesets[node as keyof typeof sortieTilesets] as TSortieTileset; - pushTilesetModifiers(tileset); + pushTilesetModifiers(modifiers, tileset); const missionType = rng.randomElement(sortieTilesetMissions[tileset])!;