chore: use import for static vendor manifest json files again (#1725)

This was changed because for VRST_WEAPON, the LocTagRandSeed is too big to be read without precision loss, but both vendors using it are now auto-generated, so we can have hot-reloading again when these files are changed.

Reviewed-on: OpenWF/SpaceNinjaServer#1725
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
This commit is contained in:
Sainan 2025-04-19 09:03:53 -07:00 committed by Sainan
parent 8b0ba0b84a
commit 37ac10acd2
2 changed files with 60 additions and 38 deletions

View File

@ -1,6 +1,4 @@
import fs from "fs"; import { unixTimesInMs } from "@/src/constants/timeConstants";
import path from "path";
import { repoDir } from "@/src/helpers/pathHelper";
import { CRng, mixSeeds } from "@/src/services/rngService"; import { CRng, mixSeeds } from "@/src/services/rngService";
import { IMongoDate } from "@/src/types/commonTypes"; import { IMongoDate } from "@/src/types/commonTypes";
import { import {
@ -9,44 +7,68 @@ import {
IVendorInfo, IVendorInfo,
IVendorManifestPreprocessed IVendorManifestPreprocessed
} from "@/src/types/vendorTypes"; } from "@/src/types/vendorTypes";
import { JSONParse } from "json-with-bigint";
import { ExportVendors } from "warframe-public-export-plus"; import { ExportVendors } from "warframe-public-export-plus";
import { unixTimesInMs } from "../constants/timeConstants";
const getVendorManifestJson = (name: string): IRawVendorManifest => { import ArchimedeanVendorManifest from "@/static/fixed_responses/getVendorInfo/ArchimedeanVendorManifest.json";
return JSONParse(fs.readFileSync(path.join(repoDir, `static/fixed_responses/getVendorInfo/${name}.json`), "utf-8")); import DeimosEntratiFragmentVendorProductsManifest from "@/static/fixed_responses/getVendorInfo/DeimosEntratiFragmentVendorProductsManifest.json";
}; import DeimosFishmongerVendorManifest from "@/static/fixed_responses/getVendorInfo/DeimosFishmongerVendorManifest.json";
import DeimosHivemindCommisionsManifestFishmonger from "@/static/fixed_responses/getVendorInfo/DeimosHivemindCommisionsManifestFishmonger.json";
import DeimosHivemindCommisionsManifestPetVendor from "@/static/fixed_responses/getVendorInfo/DeimosHivemindCommisionsManifestPetVendor.json";
import DeimosHivemindCommisionsManifestProspector from "@/static/fixed_responses/getVendorInfo/DeimosHivemindCommisionsManifestProspector.json";
import DeimosHivemindCommisionsManifestTokenVendor from "@/static/fixed_responses/getVendorInfo/DeimosHivemindCommisionsManifestTokenVendor.json";
import DeimosHivemindCommisionsManifestWeaponsmith from "@/static/fixed_responses/getVendorInfo/DeimosHivemindCommisionsManifestWeaponsmith.json";
import DeimosHivemindTokenVendorManifest from "@/static/fixed_responses/getVendorInfo/DeimosHivemindTokenVendorManifest.json";
import DeimosPetVendorManifest from "@/static/fixed_responses/getVendorInfo/DeimosPetVendorManifest.json";
import DeimosProspectorVendorManifest from "@/static/fixed_responses/getVendorInfo/DeimosProspectorVendorManifest.json";
import DuviriAcrithisVendorManifest from "@/static/fixed_responses/getVendorInfo/DuviriAcrithisVendorManifest.json";
import EntratiLabsEntratiLabsCommisionsManifest from "@/static/fixed_responses/getVendorInfo/EntratiLabsEntratiLabsCommisionsManifest.json";
import EntratiLabsEntratiLabVendorManifest from "@/static/fixed_responses/getVendorInfo/EntratiLabsEntratiLabVendorManifest.json";
import GuildAdvertisementVendorManifest from "@/static/fixed_responses/getVendorInfo/GuildAdvertisementVendorManifest.json";
import HubsIronwakeDondaVendorManifest from "@/static/fixed_responses/getVendorInfo/HubsIronwakeDondaVendorManifest.json";
import HubsRailjackCrewMemberVendorManifest from "@/static/fixed_responses/getVendorInfo/HubsRailjackCrewMemberVendorManifest.json";
import MaskSalesmanManifest from "@/static/fixed_responses/getVendorInfo/MaskSalesmanManifest.json";
import Nova1999ConquestShopManifest from "@/static/fixed_responses/getVendorInfo/Nova1999ConquestShopManifest.json";
import OstronFishmongerVendorManifest from "@/static/fixed_responses/getVendorInfo/OstronFishmongerVendorManifest.json";
import OstronPetVendorManifest from "@/static/fixed_responses/getVendorInfo/OstronPetVendorManifest.json";
import OstronProspectorVendorManifest from "@/static/fixed_responses/getVendorInfo/OstronProspectorVendorManifest.json";
import RadioLegionIntermission12VendorManifest from "@/static/fixed_responses/getVendorInfo/RadioLegionIntermission12VendorManifest.json";
import SolarisDebtTokenVendorManifest from "@/static/fixed_responses/getVendorInfo/SolarisDebtTokenVendorManifest.json";
import SolarisDebtTokenVendorRepossessionsManifest from "@/static/fixed_responses/getVendorInfo/SolarisDebtTokenVendorRepossessionsManifest.json";
import SolarisFishmongerVendorManifest from "@/static/fixed_responses/getVendorInfo/SolarisFishmongerVendorManifest.json";
import SolarisProspectorVendorManifest from "@/static/fixed_responses/getVendorInfo/SolarisProspectorVendorManifest.json";
import TeshinHardModeVendorManifest from "@/static/fixed_responses/getVendorInfo/TeshinHardModeVendorManifest.json";
import ZarimanCommisionsManifestArchimedean from "@/static/fixed_responses/getVendorInfo/ZarimanCommisionsManifestArchimedean.json";
const rawVendorManifests: IRawVendorManifest[] = [ const rawVendorManifests: IRawVendorManifest[] = [
getVendorManifestJson("ArchimedeanVendorManifest"), ArchimedeanVendorManifest,
getVendorManifestJson("DeimosEntratiFragmentVendorProductsManifest"), DeimosEntratiFragmentVendorProductsManifest,
getVendorManifestJson("DeimosFishmongerVendorManifest"), DeimosFishmongerVendorManifest,
getVendorManifestJson("DeimosHivemindCommisionsManifestFishmonger"), DeimosHivemindCommisionsManifestFishmonger,
getVendorManifestJson("DeimosHivemindCommisionsManifestPetVendor"), DeimosHivemindCommisionsManifestPetVendor,
getVendorManifestJson("DeimosHivemindCommisionsManifestProspector"), DeimosHivemindCommisionsManifestProspector,
getVendorManifestJson("DeimosHivemindCommisionsManifestTokenVendor"), DeimosHivemindCommisionsManifestTokenVendor,
getVendorManifestJson("DeimosHivemindCommisionsManifestWeaponsmith"), DeimosHivemindCommisionsManifestWeaponsmith,
getVendorManifestJson("DeimosHivemindTokenVendorManifest"), DeimosHivemindTokenVendorManifest,
getVendorManifestJson("DeimosPetVendorManifest"), DeimosPetVendorManifest,
getVendorManifestJson("DeimosProspectorVendorManifest"), DeimosProspectorVendorManifest,
getVendorManifestJson("DuviriAcrithisVendorManifest"), DuviriAcrithisVendorManifest,
getVendorManifestJson("EntratiLabsEntratiLabsCommisionsManifest"), EntratiLabsEntratiLabsCommisionsManifest,
getVendorManifestJson("EntratiLabsEntratiLabVendorManifest"), EntratiLabsEntratiLabVendorManifest,
getVendorManifestJson("GuildAdvertisementVendorManifest"), // uses preprocessing GuildAdvertisementVendorManifest, // uses preprocessing
getVendorManifestJson("HubsIronwakeDondaVendorManifest"), // uses preprocessing HubsIronwakeDondaVendorManifest, // uses preprocessing
getVendorManifestJson("HubsRailjackCrewMemberVendorManifest"), HubsRailjackCrewMemberVendorManifest,
getVendorManifestJson("MaskSalesmanManifest"), MaskSalesmanManifest,
getVendorManifestJson("Nova1999ConquestShopManifest"), Nova1999ConquestShopManifest,
getVendorManifestJson("OstronFishmongerVendorManifest"), OstronFishmongerVendorManifest,
getVendorManifestJson("OstronPetVendorManifest"), OstronPetVendorManifest,
getVendorManifestJson("OstronProspectorVendorManifest"), OstronProspectorVendorManifest,
getVendorManifestJson("RadioLegionIntermission12VendorManifest"), RadioLegionIntermission12VendorManifest,
getVendorManifestJson("SolarisDebtTokenVendorManifest"), SolarisDebtTokenVendorManifest,
getVendorManifestJson("SolarisDebtTokenVendorRepossessionsManifest"), SolarisDebtTokenVendorRepossessionsManifest,
getVendorManifestJson("SolarisFishmongerVendorManifest"), SolarisFishmongerVendorManifest,
getVendorManifestJson("SolarisProspectorVendorManifest"), SolarisProspectorVendorManifest,
getVendorManifestJson("TeshinHardModeVendorManifest"), // uses preprocessing TeshinHardModeVendorManifest, // uses preprocessing
getVendorManifestJson("ZarimanCommisionsManifestArchimedean") ZarimanCommisionsManifestArchimedean
]; ];
interface IGeneratableVendorInfo extends Omit<IVendorInfo, "ItemManifest" | "Expiry"> { interface IGeneratableVendorInfo extends Omit<IVendorInfo, "ItemManifest" | "Expiry"> {

View File

@ -32,7 +32,7 @@ export interface IVendorInfo {
TypeName: string; TypeName: string;
ItemManifest: IItemManifest[]; ItemManifest: IItemManifest[];
PropertyTextHash?: string; PropertyTextHash?: string;
RandomSeedType?: "VRST_WEAPON"; RandomSeedType?: string;
RequiredGoalTag?: string; RequiredGoalTag?: string;
WeaponUpgradeValueAttenuationExponent?: number; WeaponUpgradeValueAttenuationExponent?: number;
Expiry: IMongoDate; // Either a date in the distant future or a period in milliseconds for preprocessing. Expiry: IMongoDate; // Either a date in the distant future or a period in milliseconds for preprocessing.