0
0
mirror of https://github.com/sp-tarkov/server.git synced 2025-02-13 09:50:43 -05:00

Updated getCustomisationStorage endpoint to take into account calling profiles game version

This commit is contained in:
Chomp 2024-12-29 20:11:14 +00:00
parent 80abf1c868
commit d32638cd7d

View File

@ -1,4 +1,5 @@
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
import { IEmptyRequestData } from "@spt/models/eft/common/IEmptyRequestData";
import type { IPmcData } from "@spt/models/eft/common/IPmcData";
import type { ICustomisationStorage } from "@spt/models/eft/common/tables/ICustomisationStorage";
import type { ISuit } from "@spt/models/eft/common/tables/ITrader";
@ -10,11 +11,14 @@ import type { ICustomizationSetRequest } from "@spt/models/eft/customization/ICu
import type { IWearClothingRequestData } from "@spt/models/eft/customization/IWearClothingRequestData";
import type { IHideoutCustomisation } from "@spt/models/eft/hideout/IHideoutCustomisation";
import type { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
import { GameEditions } from "@spt/models/enums/GameEditions";
import { ItemTpl } from "@spt/models/enums/ItemTpl";
import type { ILogger } from "@spt/models/spt/utils/ILogger";
import { EventOutputHolder } from "@spt/routers/EventOutputHolder";
import { SaveServer } from "@spt/servers/SaveServer";
import { DatabaseService } from "@spt/services/DatabaseService";
import { LocalisationService } from "@spt/services/LocalisationService";
import { ICloner } from "@spt/utils/cloners/ICloner";
import { inject, injectable } from "tsyringe";
@injectable()
@ -31,6 +35,7 @@ export class CustomizationController {
@inject("SaveServer") protected saveServer: SaveServer,
@inject("LocalisationService") protected localisationService: LocalisationService,
@inject("ProfileHelper") protected profileHelper: ProfileHelper,
@inject("PrimaryCloner") protected cloner: ICloner,
) {}
/**
@ -242,12 +247,48 @@ export class CustomizationController {
return result;
}
public getHideoutCustomisation(sessionID: string, info: any): IHideoutCustomisation {
/** Handle client/hideout/customization/offer/list */
public getHideoutCustomisation(sessionID: string, info: IEmptyRequestData): IHideoutCustomisation {
return this.databaseService.getHideout().customisation;
}
public getCustomisationStorage(sessionID: string, info: any): ICustomisationStorage[] {
return this.databaseService.getTemplates().customisationStorage;
/** Handle client/customization/storage */
public getCustomisationStorage(sessionID: string, info: IEmptyRequestData): ICustomisationStorage[] {
const customisationResultsClone = this.cloner.clone(this.databaseService.getTemplates().customisationStorage);
// Some game versions have additional dogtag variants, add them
const profile = this.profileHelper.getPmcProfile(sessionID);
switch (profile.Info.GameVersion) {
case GameEditions.EDGE_OF_DARKNESS:
customisationResultsClone.push({
id: ItemTpl.BARTER_DOGTAG_BEAR_EOD,
type: "dogTag",
source: "default",
});
customisationResultsClone.push({
id: ItemTpl.BARTER_DOGTAG_USEC_EOD,
type: "dogTag",
source: "default",
});
break;
case GameEditions.UNHEARD:
customisationResultsClone.push({
id: ItemTpl.BARTER_DOGTAG_BEAR_TUE,
type: "dogTag",
source: "default",
});
customisationResultsClone.push({
id: ItemTpl.BARTER_DOGTAG_USEC_TUE,
type: "dogTag",
source: "default",
});
break;
}
return customisationResultsClone;
}
/** Handle CustomizationSet event */