返回提交历史
Modified
src/services/serversideVendorsService.ts
+59
-37
Modified
src/types/vendorTypes.ts
+1
-1
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
代码差异
2 个文件
+60
-38
@@ -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"> {
@@ -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.