feat: apply QuantityMultiplier for server-side vendor offers (#605)
This commit is contained in:
		
							parent
							
								
									2175e003cc
								
							
						
					
					
						commit
						d1d221bb58
					
				@ -1,138 +1,14 @@
 | 
				
			|||||||
import { RequestHandler } from "express";
 | 
					import { RequestHandler } from "express";
 | 
				
			||||||
import ArchimedeanVendorManifest from "@/static/fixed_responses/getVendorInfo/ArchimedeanVendorManifest.json";
 | 
					import { getVendorManifestByTypeName } from "@/src/services/serversideVendorsService";
 | 
				
			||||||
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 HubsIronwakeDondaVendorManifest from "@/static/fixed_responses/getVendorInfo/HubsIronwakeDondaVendorManifest.json";
 | 
					 | 
				
			||||||
import HubsRailjackCrewMemberVendorManifest from "@/static/fixed_responses/getVendorInfo/HubsRailjackCrewMemberVendorManifest.json";
 | 
					 | 
				
			||||||
import HubsPerrinSequenceWeaponVendorManifest from "@/static/fixed_responses/getVendorInfo/HubsPerrinSequenceWeaponVendorManifest.json";
 | 
					 | 
				
			||||||
import MaskSalesmanManifest from "@/static/fixed_responses/getVendorInfo/MaskSalesmanManifest.json";
 | 
					 | 
				
			||||||
import OstronFishmongerVendorManifest from "@/static/fixed_responses/getVendorInfo/OstronFishmongerVendorManifest.json";
 | 
					 | 
				
			||||||
import OstronProspectorVendorManifest from "@/static/fixed_responses/getVendorInfo/OstronProspectorVendorManifest.json";
 | 
					 | 
				
			||||||
import OstronPetVendorManifest from "@/static/fixed_responses/getVendorInfo/OstronPetVendorManifest.json";
 | 
					 | 
				
			||||||
import SolarisFishmongerVendorManifest from "@/static/fixed_responses/getVendorInfo/SolarisFishmongerVendorManifest.json";
 | 
					 | 
				
			||||||
import SolarisProspectorVendorManifest from "@/static/fixed_responses/getVendorInfo/SolarisProspectorVendorManifest.json";
 | 
					 | 
				
			||||||
import SolarisDebtTokenVendorManifest from "@/static/fixed_responses/getVendorInfo/SolarisDebtTokenVendorManifest.json";
 | 
					 | 
				
			||||||
import SolarisDebtTokenVendorRepossessionsManifest from "@/static/fixed_responses/getVendorInfo/SolarisDebtTokenVendorRepossessionsManifest.json";
 | 
					 | 
				
			||||||
import ZarimanCommisionsManifestArchimedean from "@/static/fixed_responses/getVendorInfo/ZarimanCommisionsManifestArchimedean.json";
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
export const getVendorInfoController: RequestHandler = (req, res) => {
 | 
					export const getVendorInfoController: RequestHandler = (req, res) => {
 | 
				
			||||||
    switch (req.query.vendor as string) {
 | 
					    if (typeof req.query.vendor == "string") {
 | 
				
			||||||
        case "/Lotus/Types/Game/VendorManifests/Ostron/FishmongerVendorManifest":
 | 
					        const manifest = getVendorManifestByTypeName(req.query.vendor);
 | 
				
			||||||
            res.json(OstronFishmongerVendorManifest);
 | 
					        if (!manifest) {
 | 
				
			||||||
            break;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        case "/Lotus/Types/Game/VendorManifests/Ostron/ProspectorVendorManifest":
 | 
					 | 
				
			||||||
            res.json(OstronProspectorVendorManifest);
 | 
					 | 
				
			||||||
            break;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        case "/Lotus/Types/Game/VendorManifests/Ostron/PetVendorManifest":
 | 
					 | 
				
			||||||
            res.json(OstronPetVendorManifest);
 | 
					 | 
				
			||||||
            break;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        case "/Lotus/Types/Game/VendorManifests/Ostron/MaskSalesmanManifest":
 | 
					 | 
				
			||||||
            res.json(MaskSalesmanManifest);
 | 
					 | 
				
			||||||
            break;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        case "/Lotus/Types/Game/VendorManifests/Solaris/FishmongerVendorManifest":
 | 
					 | 
				
			||||||
            res.json(SolarisFishmongerVendorManifest);
 | 
					 | 
				
			||||||
            break;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        case "/Lotus/Types/Game/VendorManifests/Solaris/ProspectorVendorManifest":
 | 
					 | 
				
			||||||
            res.json(SolarisProspectorVendorManifest);
 | 
					 | 
				
			||||||
            break;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        case "/Lotus/Types/Game/VendorManifests/Solaris/DebtTokenVendorManifest":
 | 
					 | 
				
			||||||
            res.json(SolarisDebtTokenVendorManifest);
 | 
					 | 
				
			||||||
            break;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        case "/Lotus/Types/Game/VendorManifests/Solaris/DebtTokenVendorRepossessionsManifest":
 | 
					 | 
				
			||||||
            res.json(SolarisDebtTokenVendorRepossessionsManifest);
 | 
					 | 
				
			||||||
            break;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        case "/Lotus/Types/Game/VendorManifests/Hubs/PerrinSequenceWeaponVendorManifest":
 | 
					 | 
				
			||||||
            res.json(HubsPerrinSequenceWeaponVendorManifest);
 | 
					 | 
				
			||||||
            break;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        case "/Lotus/Types/Game/VendorManifests/Hubs/RailjackCrewMemberVendorManifest":
 | 
					 | 
				
			||||||
            res.json(HubsRailjackCrewMemberVendorManifest);
 | 
					 | 
				
			||||||
            break;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        case "/Lotus/Types/Game/VendorManifests/Deimos/HivemindCommisionsManifestWeaponsmith":
 | 
					 | 
				
			||||||
            res.json(DeimosHivemindCommisionsManifestWeaponsmith);
 | 
					 | 
				
			||||||
            break;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        case "/Lotus/Types/Game/VendorManifests/Deimos/HivemindCommisionsManifestFishmonger":
 | 
					 | 
				
			||||||
            res.json(DeimosHivemindCommisionsManifestFishmonger);
 | 
					 | 
				
			||||||
            break;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        case "/Lotus/Types/Game/VendorManifests/Deimos/FishmongerVendorManifest":
 | 
					 | 
				
			||||||
            res.json(DeimosFishmongerVendorManifest);
 | 
					 | 
				
			||||||
            break;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        case "/Lotus/Types/Game/VendorManifests/Deimos/HivemindCommisionsManifestProspector":
 | 
					 | 
				
			||||||
            res.json(DeimosHivemindCommisionsManifestProspector);
 | 
					 | 
				
			||||||
            break;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        case "/Lotus/Types/Game/VendorManifests/Deimos/ProspectorVendorManifest":
 | 
					 | 
				
			||||||
            res.json(DeimosProspectorVendorManifest);
 | 
					 | 
				
			||||||
            break;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        case "/Lotus/Types/Game/VendorManifests/Deimos/HivemindCommisionsManifestPetVendor":
 | 
					 | 
				
			||||||
            res.json(DeimosHivemindCommisionsManifestPetVendor);
 | 
					 | 
				
			||||||
            break;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        case "/Lotus/Types/Game/VendorManifests/Deimos/PetVendorManifest":
 | 
					 | 
				
			||||||
            res.json(DeimosPetVendorManifest);
 | 
					 | 
				
			||||||
            break;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        case "/Lotus/Types/Game/VendorManifests/Deimos/HivemindCommisionsManifestTokenVendor":
 | 
					 | 
				
			||||||
            res.json(DeimosHivemindCommisionsManifestTokenVendor);
 | 
					 | 
				
			||||||
            break;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        case "/Lotus/Types/Game/VendorManifests/Deimos/EntratiFragmentVendorProductsManifest":
 | 
					 | 
				
			||||||
            res.json(DeimosEntratiFragmentVendorProductsManifest);
 | 
					 | 
				
			||||||
            break;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        case "/Lotus/Types/Game/VendorManifests/Deimos/HivemindTokenVendorManifest":
 | 
					 | 
				
			||||||
            res.json(DeimosHivemindTokenVendorManifest);
 | 
					 | 
				
			||||||
            break;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        case "/Lotus/Types/Game/VendorManifests/Hubs/IronwakeDondaVendorManifest":
 | 
					 | 
				
			||||||
            res.json(HubsIronwakeDondaVendorManifest);
 | 
					 | 
				
			||||||
            break;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        case "/Lotus/Types/Game/VendorManifests/Zariman/ArchimedeanVendorManifest":
 | 
					 | 
				
			||||||
            res.json(ArchimedeanVendorManifest);
 | 
					 | 
				
			||||||
            break;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        case "/Lotus/Types/Game/VendorManifests/Duviri/AcrithisVendorManifest":
 | 
					 | 
				
			||||||
            res.json(DuviriAcrithisVendorManifest);
 | 
					 | 
				
			||||||
            break;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        case "/Lotus/Types/Game/VendorManifests/Zariman/ZarimanCommisionsManifestArchimedean":
 | 
					 | 
				
			||||||
            res.json(ZarimanCommisionsManifestArchimedean);
 | 
					 | 
				
			||||||
            break;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        case "/Lotus/Types/Game/VendorManifests/EntratiLabs/EntratiLabVendorManifest":
 | 
					 | 
				
			||||||
            res.json(EntratiLabsEntratiLabVendorManifest);
 | 
					 | 
				
			||||||
            break;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        case "/Lotus/Types/Game/VendorManifests/EntratiLabs/EntratiLabsCommisionsManifest":
 | 
					 | 
				
			||||||
            res.json(EntratiLabsEntratiLabsCommisionsManifest);
 | 
					 | 
				
			||||||
            break;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        default:
 | 
					 | 
				
			||||||
            throw new Error(`Unknown vendor: ${req.query.vendor}`);
 | 
					            throw new Error(`Unknown vendor: ${req.query.vendor}`);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					        res.json(manifest);
 | 
				
			||||||
 | 
					    } else {
 | 
				
			||||||
 | 
					        res.status(400).end();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
				
			|||||||
@ -9,6 +9,7 @@ import {
 | 
				
			|||||||
    updateCurrency,
 | 
					    updateCurrency,
 | 
				
			||||||
    updateSlots
 | 
					    updateSlots
 | 
				
			||||||
} from "@/src/services/inventoryService";
 | 
					} from "@/src/services/inventoryService";
 | 
				
			||||||
 | 
					import { getVendorManifestByOid } from "@/src/services/serversideVendorsService";
 | 
				
			||||||
import { IMiscItem } from "@/src/types/inventoryTypes/inventoryTypes";
 | 
					import { IMiscItem } from "@/src/types/inventoryTypes/inventoryTypes";
 | 
				
			||||||
import { IPurchaseRequest, SlotPurchase, IInventoryChanges } from "@/src/types/purchaseTypes";
 | 
					import { IPurchaseRequest, SlotPurchase, IInventoryChanges } from "@/src/types/purchaseTypes";
 | 
				
			||||||
import { logger } from "@/src/utils/logger";
 | 
					import { logger } from "@/src/utils/logger";
 | 
				
			||||||
@ -32,6 +33,18 @@ export const getStoreItemTypesCategory = (typesItem: string) => {
 | 
				
			|||||||
export const handlePurchase = async (purchaseRequest: IPurchaseRequest, accountId: string) => {
 | 
					export const handlePurchase = async (purchaseRequest: IPurchaseRequest, accountId: string) => {
 | 
				
			||||||
    logger.debug("purchase request", purchaseRequest);
 | 
					    logger.debug("purchase request", purchaseRequest);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (purchaseRequest.PurchaseParams.Source == 7) {
 | 
				
			||||||
 | 
					        const manifest = getVendorManifestByOid(purchaseRequest.PurchaseParams.SourceId!);
 | 
				
			||||||
 | 
					        if (manifest) {
 | 
				
			||||||
 | 
					            const offer = manifest.VendorInfo.ItemManifest.find(
 | 
				
			||||||
 | 
					                x => x.StoreItem == purchaseRequest.PurchaseParams.StoreItem
 | 
				
			||||||
 | 
					            );
 | 
				
			||||||
 | 
					            if (offer) {
 | 
				
			||||||
 | 
					                purchaseRequest.PurchaseParams.Quantity *= offer.QuantityMultiplier;
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    const purchaseResponse = await handleStoreItemAcquisition(
 | 
					    const purchaseResponse = await handleStoreItemAcquisition(
 | 
				
			||||||
        purchaseRequest.PurchaseParams.StoreItem,
 | 
					        purchaseRequest.PurchaseParams.StoreItem,
 | 
				
			||||||
        accountId,
 | 
					        accountId,
 | 
				
			||||||
@ -53,11 +66,8 @@ export const handlePurchase = async (purchaseRequest: IPurchaseRequest, accountI
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    switch (purchaseRequest.PurchaseParams.Source) {
 | 
					    switch (purchaseRequest.PurchaseParams.Source) {
 | 
				
			||||||
        case 7:
 | 
					        case 7:
 | 
				
			||||||
            if (!purchaseRequest.PurchaseParams.SourceId) {
 | 
					            if (purchaseRequest.PurchaseParams.SourceId! in ExportVendors) {
 | 
				
			||||||
                throw new Error("invalid request source");
 | 
					                const vendor = ExportVendors[purchaseRequest.PurchaseParams.SourceId!];
 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            if (ExportVendors[purchaseRequest.PurchaseParams.SourceId]) {
 | 
					 | 
				
			||||||
                const vendor = ExportVendors[purchaseRequest.PurchaseParams.SourceId];
 | 
					 | 
				
			||||||
                const offer = vendor.items.find(x => x.storeItem == purchaseRequest.PurchaseParams.StoreItem);
 | 
					                const offer = vendor.items.find(x => x.storeItem == purchaseRequest.PurchaseParams.StoreItem);
 | 
				
			||||||
                if (offer) {
 | 
					                if (offer) {
 | 
				
			||||||
                    const inventory = await getInventory(accountId);
 | 
					                    const inventory = await getInventory(accountId);
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										87
									
								
								src/services/serversideVendorsService.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										87
									
								
								src/services/serversideVendorsService.ts
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,87 @@
 | 
				
			|||||||
 | 
					import { IOid } from "@/src/types/commonTypes";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import ArchimedeanVendorManifest from "@/static/fixed_responses/getVendorInfo/ArchimedeanVendorManifest.json";
 | 
				
			||||||
 | 
					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 HubsIronwakeDondaVendorManifest from "@/static/fixed_responses/getVendorInfo/HubsIronwakeDondaVendorManifest.json";
 | 
				
			||||||
 | 
					import HubsRailjackCrewMemberVendorManifest from "@/static/fixed_responses/getVendorInfo/HubsRailjackCrewMemberVendorManifest.json";
 | 
				
			||||||
 | 
					import HubsPerrinSequenceWeaponVendorManifest from "@/static/fixed_responses/getVendorInfo/HubsPerrinSequenceWeaponVendorManifest.json";
 | 
				
			||||||
 | 
					import MaskSalesmanManifest from "@/static/fixed_responses/getVendorInfo/MaskSalesmanManifest.json";
 | 
				
			||||||
 | 
					import OstronFishmongerVendorManifest from "@/static/fixed_responses/getVendorInfo/OstronFishmongerVendorManifest.json";
 | 
				
			||||||
 | 
					import OstronProspectorVendorManifest from "@/static/fixed_responses/getVendorInfo/OstronProspectorVendorManifest.json";
 | 
				
			||||||
 | 
					import OstronPetVendorManifest from "@/static/fixed_responses/getVendorInfo/OstronPetVendorManifest.json";
 | 
				
			||||||
 | 
					import SolarisFishmongerVendorManifest from "@/static/fixed_responses/getVendorInfo/SolarisFishmongerVendorManifest.json";
 | 
				
			||||||
 | 
					import SolarisProspectorVendorManifest from "@/static/fixed_responses/getVendorInfo/SolarisProspectorVendorManifest.json";
 | 
				
			||||||
 | 
					import SolarisDebtTokenVendorManifest from "@/static/fixed_responses/getVendorInfo/SolarisDebtTokenVendorManifest.json";
 | 
				
			||||||
 | 
					import SolarisDebtTokenVendorRepossessionsManifest from "@/static/fixed_responses/getVendorInfo/SolarisDebtTokenVendorRepossessionsManifest.json";
 | 
				
			||||||
 | 
					import ZarimanCommisionsManifestArchimedean from "@/static/fixed_responses/getVendorInfo/ZarimanCommisionsManifestArchimedean.json";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					interface IVendorManifest {
 | 
				
			||||||
 | 
					    VendorInfo: {
 | 
				
			||||||
 | 
					        _id: IOid;
 | 
				
			||||||
 | 
					        TypeName: string;
 | 
				
			||||||
 | 
					        ItemManifest: {
 | 
				
			||||||
 | 
					            StoreItem: string;
 | 
				
			||||||
 | 
					            QuantityMultiplier: number;
 | 
				
			||||||
 | 
					            // has a few more fields but we don't care about those right now
 | 
				
			||||||
 | 
					        }[];
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const vendorManifests: IVendorManifest[] = [
 | 
				
			||||||
 | 
					    ArchimedeanVendorManifest,
 | 
				
			||||||
 | 
					    DeimosEntratiFragmentVendorProductsManifest,
 | 
				
			||||||
 | 
					    DeimosFishmongerVendorManifest,
 | 
				
			||||||
 | 
					    DeimosHivemindCommisionsManifestFishmonger,
 | 
				
			||||||
 | 
					    DeimosHivemindCommisionsManifestPetVendor,
 | 
				
			||||||
 | 
					    DeimosHivemindCommisionsManifestProspector,
 | 
				
			||||||
 | 
					    DeimosHivemindCommisionsManifestTokenVendor,
 | 
				
			||||||
 | 
					    DeimosHivemindCommisionsManifestWeaponsmith,
 | 
				
			||||||
 | 
					    DeimosHivemindTokenVendorManifest,
 | 
				
			||||||
 | 
					    DeimosPetVendorManifest,
 | 
				
			||||||
 | 
					    DeimosProspectorVendorManifest,
 | 
				
			||||||
 | 
					    DuviriAcrithisVendorManifest,
 | 
				
			||||||
 | 
					    EntratiLabsEntratiLabsCommisionsManifest,
 | 
				
			||||||
 | 
					    EntratiLabsEntratiLabVendorManifest,
 | 
				
			||||||
 | 
					    HubsIronwakeDondaVendorManifest,
 | 
				
			||||||
 | 
					    HubsRailjackCrewMemberVendorManifest,
 | 
				
			||||||
 | 
					    HubsPerrinSequenceWeaponVendorManifest,
 | 
				
			||||||
 | 
					    MaskSalesmanManifest,
 | 
				
			||||||
 | 
					    OstronFishmongerVendorManifest,
 | 
				
			||||||
 | 
					    OstronProspectorVendorManifest,
 | 
				
			||||||
 | 
					    OstronPetVendorManifest,
 | 
				
			||||||
 | 
					    SolarisFishmongerVendorManifest,
 | 
				
			||||||
 | 
					    SolarisProspectorVendorManifest,
 | 
				
			||||||
 | 
					    SolarisDebtTokenVendorManifest,
 | 
				
			||||||
 | 
					    SolarisDebtTokenVendorRepossessionsManifest,
 | 
				
			||||||
 | 
					    ZarimanCommisionsManifestArchimedean
 | 
				
			||||||
 | 
					];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export const getVendorManifestByTypeName = (typeName: string): IVendorManifest | undefined => {
 | 
				
			||||||
 | 
					    for (const vendorManifest of vendorManifests) {
 | 
				
			||||||
 | 
					        if (vendorManifest.VendorInfo.TypeName == typeName) {
 | 
				
			||||||
 | 
					            return vendorManifest;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    return undefined;
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export const getVendorManifestByOid = (oid: string): IVendorManifest | undefined => {
 | 
				
			||||||
 | 
					    for (const vendorManifest of vendorManifests) {
 | 
				
			||||||
 | 
					        if (vendorManifest.VendorInfo._id.$oid == oid) {
 | 
				
			||||||
 | 
					            return vendorManifest;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    return undefined;
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user