XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFESpaceNinjaServer

A simple server for a small space ninja game

公开
关注 0 Fork 0 Star 0
返回提交历史

XFEstudio/XFESpaceNinjaServer

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: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/1725 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>

37ac10ac
Sainan <63328889+Sainan@users.noreply.github.com>
提交于

代码差异

2 个文件 +60 -38
Modified src/services/serversideVendorsService.ts +59 -37
@@ -1,6 +1,4 @@
1 import fs from "fs";
2 import path from "path";
3 import { repoDir } from "@/src/helpers/pathHelper";
1 import { unixTimesInMs } from "@/src/constants/timeConstants";
4 2 import { CRng, mixSeeds } from "@/src/services/rngService";
5 3 import { IMongoDate } from "@/src/types/commonTypes";
6 4 import {
@@ -9,44 +7,68 @@ import {
9 7 IVendorInfo,
10 8 IVendorManifestPreprocessed
11 9 } from "@/src/types/vendorTypes";
12 import { JSONParse } from "json-with-bigint";
13 10 import { ExportVendors } from "warframe-public-export-plus";
14 import { unixTimesInMs } from "../constants/timeConstants";
15 11
16 const getVendorManifestJson = (name: string): IRawVendorManifest => {
17 return JSONParse(fs.readFileSync(path.join(repoDir, `static/fixed_responses/getVendorInfo/${name}.json`), "utf-8"));
18 };
12 import ArchimedeanVendorManifest from "@/static/fixed_responses/getVendorInfo/ArchimedeanVendorManifest.json";
13 import DeimosEntratiFragmentVendorProductsManifest from "@/static/fixed_responses/getVendorInfo/DeimosEntratiFragmentVendorProductsManifest.json";
14 import DeimosFishmongerVendorManifest from "@/static/fixed_responses/getVendorInfo/DeimosFishmongerVendorManifest.json";
15 import DeimosHivemindCommisionsManifestFishmonger from "@/static/fixed_responses/getVendorInfo/DeimosHivemindCommisionsManifestFishmonger.json";
16 import DeimosHivemindCommisionsManifestPetVendor from "@/static/fixed_responses/getVendorInfo/DeimosHivemindCommisionsManifestPetVendor.json";
17 import DeimosHivemindCommisionsManifestProspector from "@/static/fixed_responses/getVendorInfo/DeimosHivemindCommisionsManifestProspector.json";
18 import DeimosHivemindCommisionsManifestTokenVendor from "@/static/fixed_responses/getVendorInfo/DeimosHivemindCommisionsManifestTokenVendor.json";
19 import DeimosHivemindCommisionsManifestWeaponsmith from "@/static/fixed_responses/getVendorInfo/DeimosHivemindCommisionsManifestWeaponsmith.json";
20 import DeimosHivemindTokenVendorManifest from "@/static/fixed_responses/getVendorInfo/DeimosHivemindTokenVendorManifest.json";
21 import DeimosPetVendorManifest from "@/static/fixed_responses/getVendorInfo/DeimosPetVendorManifest.json";
22 import DeimosProspectorVendorManifest from "@/static/fixed_responses/getVendorInfo/DeimosProspectorVendorManifest.json";
23 import DuviriAcrithisVendorManifest from "@/static/fixed_responses/getVendorInfo/DuviriAcrithisVendorManifest.json";
24 import EntratiLabsEntratiLabsCommisionsManifest from "@/static/fixed_responses/getVendorInfo/EntratiLabsEntratiLabsCommisionsManifest.json";
25 import EntratiLabsEntratiLabVendorManifest from "@/static/fixed_responses/getVendorInfo/EntratiLabsEntratiLabVendorManifest.json";
26 import GuildAdvertisementVendorManifest from "@/static/fixed_responses/getVendorInfo/GuildAdvertisementVendorManifest.json";
27 import HubsIronwakeDondaVendorManifest from "@/static/fixed_responses/getVendorInfo/HubsIronwakeDondaVendorManifest.json";
28 import HubsRailjackCrewMemberVendorManifest from "@/static/fixed_responses/getVendorInfo/HubsRailjackCrewMemberVendorManifest.json";
29 import MaskSalesmanManifest from "@/static/fixed_responses/getVendorInfo/MaskSalesmanManifest.json";
30 import Nova1999ConquestShopManifest from "@/static/fixed_responses/getVendorInfo/Nova1999ConquestShopManifest.json";
31 import OstronFishmongerVendorManifest from "@/static/fixed_responses/getVendorInfo/OstronFishmongerVendorManifest.json";
32 import OstronPetVendorManifest from "@/static/fixed_responses/getVendorInfo/OstronPetVendorManifest.json";
33 import OstronProspectorVendorManifest from "@/static/fixed_responses/getVendorInfo/OstronProspectorVendorManifest.json";
34 import RadioLegionIntermission12VendorManifest from "@/static/fixed_responses/getVendorInfo/RadioLegionIntermission12VendorManifest.json";
35 import SolarisDebtTokenVendorManifest from "@/static/fixed_responses/getVendorInfo/SolarisDebtTokenVendorManifest.json";
36 import SolarisDebtTokenVendorRepossessionsManifest from "@/static/fixed_responses/getVendorInfo/SolarisDebtTokenVendorRepossessionsManifest.json";
37 import SolarisFishmongerVendorManifest from "@/static/fixed_responses/getVendorInfo/SolarisFishmongerVendorManifest.json";
38 import SolarisProspectorVendorManifest from "@/static/fixed_responses/getVendorInfo/SolarisProspectorVendorManifest.json";
39 import TeshinHardModeVendorManifest from "@/static/fixed_responses/getVendorInfo/TeshinHardModeVendorManifest.json";
40 import ZarimanCommisionsManifestArchimedean from "@/static/fixed_responses/getVendorInfo/ZarimanCommisionsManifestArchimedean.json";
19 41
20 42 const rawVendorManifests: IRawVendorManifest[] = [
21 getVendorManifestJson("ArchimedeanVendorManifest"),
22 getVendorManifestJson("DeimosEntratiFragmentVendorProductsManifest"),
23 getVendorManifestJson("DeimosFishmongerVendorManifest"),
24 getVendorManifestJson("DeimosHivemindCommisionsManifestFishmonger"),
25 getVendorManifestJson("DeimosHivemindCommisionsManifestPetVendor"),
26 getVendorManifestJson("DeimosHivemindCommisionsManifestProspector"),
27 getVendorManifestJson("DeimosHivemindCommisionsManifestTokenVendor"),
28 getVendorManifestJson("DeimosHivemindCommisionsManifestWeaponsmith"),
29 getVendorManifestJson("DeimosHivemindTokenVendorManifest"),
30 getVendorManifestJson("DeimosPetVendorManifest"),
31 getVendorManifestJson("DeimosProspectorVendorManifest"),
32 getVendorManifestJson("DuviriAcrithisVendorManifest"),
33 getVendorManifestJson("EntratiLabsEntratiLabsCommisionsManifest"),
34 getVendorManifestJson("EntratiLabsEntratiLabVendorManifest"),
35 getVendorManifestJson("GuildAdvertisementVendorManifest"), // uses preprocessing
36 getVendorManifestJson("HubsIronwakeDondaVendorManifest"), // uses preprocessing
37 getVendorManifestJson("HubsRailjackCrewMemberVendorManifest"),
38 getVendorManifestJson("MaskSalesmanManifest"),
39 getVendorManifestJson("Nova1999ConquestShopManifest"),
40 getVendorManifestJson("OstronFishmongerVendorManifest"),
41 getVendorManifestJson("OstronPetVendorManifest"),
42 getVendorManifestJson("OstronProspectorVendorManifest"),
43 getVendorManifestJson("RadioLegionIntermission12VendorManifest"),
44 getVendorManifestJson("SolarisDebtTokenVendorManifest"),
45 getVendorManifestJson("SolarisDebtTokenVendorRepossessionsManifest"),
46 getVendorManifestJson("SolarisFishmongerVendorManifest"),
47 getVendorManifestJson("SolarisProspectorVendorManifest"),
48 getVendorManifestJson("TeshinHardModeVendorManifest"), // uses preprocessing
49 getVendorManifestJson("ZarimanCommisionsManifestArchimedean")
43 ArchimedeanVendorManifest,
44 DeimosEntratiFragmentVendorProductsManifest,
45 DeimosFishmongerVendorManifest,
46 DeimosHivemindCommisionsManifestFishmonger,
47 DeimosHivemindCommisionsManifestPetVendor,
48 DeimosHivemindCommisionsManifestProspector,
49 DeimosHivemindCommisionsManifestTokenVendor,
50 DeimosHivemindCommisionsManifestWeaponsmith,
51 DeimosHivemindTokenVendorManifest,
52 DeimosPetVendorManifest,
53 DeimosProspectorVendorManifest,
54 DuviriAcrithisVendorManifest,
55 EntratiLabsEntratiLabsCommisionsManifest,
56 EntratiLabsEntratiLabVendorManifest,
57 GuildAdvertisementVendorManifest, // uses preprocessing
58 HubsIronwakeDondaVendorManifest, // uses preprocessing
59 HubsRailjackCrewMemberVendorManifest,
60 MaskSalesmanManifest,
61 Nova1999ConquestShopManifest,
62 OstronFishmongerVendorManifest,
63 OstronPetVendorManifest,
64 OstronProspectorVendorManifest,
65 RadioLegionIntermission12VendorManifest,
66 SolarisDebtTokenVendorManifest,
67 SolarisDebtTokenVendorRepossessionsManifest,
68 SolarisFishmongerVendorManifest,
69 SolarisProspectorVendorManifest,
70 TeshinHardModeVendorManifest, // uses preprocessing
71 ZarimanCommisionsManifestArchimedean
50 72 ];
51 73
52 74 interface IGeneratableVendorInfo extends Omit<IVendorInfo, "ItemManifest" | "Expiry"> {
Modified src/types/vendorTypes.ts +1 -1
@@ -32,7 +32,7 @@ export interface IVendorInfo {
32 32 TypeName: string;
33 33 ItemManifest: IItemManifest[];
34 34 PropertyTextHash?: string;
35 RandomSeedType?: "VRST_WEAPON";
35 RandomSeedType?: string;
36 36 RequiredGoalTag?: string;
37 37 WeaponUpgradeValueAttenuationExponent?: number;
38 38 Expiry: IMongoDate; // Either a date in the distant future or a period in milliseconds for preprocessing.