mirror of
https://github.com/sp-tarkov/server.git
synced 2025-02-13 09:50:43 -05:00
Implemented hideoutCustomizationSetMannequinPose
endpoint
This commit is contained in:
parent
180af283be
commit
57a56440f7
@ -6,6 +6,7 @@ import type { IHideoutCancelProductionRequestData } from "@spt/models/eft/hideou
|
||||
import type { IHideoutCircleOfCultistProductionStartRequestData } from "@spt/models/eft/hideout/IHideoutCircleOfCultistProductionStartRequestData";
|
||||
import type { IHideoutContinuousProductionStartRequestData } from "@spt/models/eft/hideout/IHideoutContinuousProductionStartRequestData";
|
||||
import type { IHideoutCustomizationApplyRequestData } from "@spt/models/eft/hideout/IHideoutCustomizationApplyRequestData";
|
||||
import { IHideoutCustomizationSetMannequinPoseRequest } from "@spt/models/eft/hideout/IHideoutCustomizationSetMannequinPoseRequest";
|
||||
import type { IHideoutDeleteProductionRequestData } from "@spt/models/eft/hideout/IHideoutDeleteProductionRequestData";
|
||||
import type { IHideoutImproveAreaRequestData } from "@spt/models/eft/hideout/IHideoutImproveAreaRequestData";
|
||||
import type { IHideoutPutItemInRequestData } from "@spt/models/eft/hideout/IHideoutPutItemInRequestData";
|
||||
@ -222,6 +223,17 @@ export class HideoutCallbacks implements OnUpdate {
|
||||
return this.hideoutController.hideoutCustomizationApply(sessionId, pmcData, request);
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle client/game/profile/items/moving - hideoutCustomizationSetMannequinPose
|
||||
*/
|
||||
public hideoutCustomizationSetMannequinPose(
|
||||
pmcData: IPmcData,
|
||||
request: IHideoutCustomizationSetMannequinPoseRequest,
|
||||
sessionId: string,
|
||||
): IItemEventRouterResponse {
|
||||
return this.hideoutController.hideoutCustomizationSetMannequinPose(sessionId, pmcData, request);
|
||||
}
|
||||
|
||||
public async onUpdate(timeSinceLastRun: number): Promise<boolean> {
|
||||
if (timeSinceLastRun > this.hideoutConfig.runIntervalSeconds) {
|
||||
this.hideoutController.update();
|
||||
|
@ -19,6 +19,7 @@ import type { IHideoutCancelProductionRequestData } from "@spt/models/eft/hideou
|
||||
import type { IHideoutCircleOfCultistProductionStartRequestData } from "@spt/models/eft/hideout/IHideoutCircleOfCultistProductionStartRequestData";
|
||||
import type { IHideoutContinuousProductionStartRequestData } from "@spt/models/eft/hideout/IHideoutContinuousProductionStartRequestData";
|
||||
import type { IHideoutCustomizationApplyRequestData } from "@spt/models/eft/hideout/IHideoutCustomizationApplyRequestData";
|
||||
import { IHideoutCustomizationSetMannequinPoseRequest } from "@spt/models/eft/hideout/IHideoutCustomizationSetMannequinPoseRequest";
|
||||
import type { IHideoutDeleteProductionRequestData } from "@spt/models/eft/hideout/IHideoutDeleteProductionRequestData";
|
||||
import type { IHideoutImproveAreaRequestData } from "@spt/models/eft/hideout/IHideoutImproveAreaRequestData";
|
||||
import type { IHideoutProduction } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
@ -1425,6 +1426,25 @@ export class HideoutController {
|
||||
return output;
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle HideoutCustomizationSetMannequinPose event
|
||||
* @param sessionId Session id
|
||||
* @param pmcData Player profile
|
||||
* @param request Client request data
|
||||
* @returns Client response
|
||||
*/
|
||||
public hideoutCustomizationSetMannequinPose(
|
||||
sessionId: string,
|
||||
pmcData: IPmcData,
|
||||
request: IHideoutCustomizationSetMannequinPoseRequest,
|
||||
): IItemEventRouterResponse {
|
||||
for (const [key, value] of Object.entries(request.poses)) {
|
||||
pmcData.Hideout.MannequinPoses[key] = value;
|
||||
}
|
||||
|
||||
return this.eventOutputHolder.getOutput(sessionId);
|
||||
}
|
||||
|
||||
protected getHideoutCustomisationType(type: string): string {
|
||||
switch (type) {
|
||||
case "wall":
|
||||
|
@ -351,7 +351,7 @@ export interface IHideout {
|
||||
HideoutCounters: IHideoutCounters;
|
||||
Seed: number;
|
||||
Customization: Record<string, string>;
|
||||
MannequinPoses: string[];
|
||||
MannequinPoses: Record<string, string>;
|
||||
sptUpdateLastRunTimestamp: number;
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,5 @@
|
||||
export interface IHideoutCustomizationSetMannequinPoseRequest {
|
||||
Action: "HideoutCustomizationSetMannequinPose";
|
||||
poses: Record<string, string>;
|
||||
timestamp: number;
|
||||
}
|
@ -14,4 +14,5 @@ export enum HideoutEventActions {
|
||||
HIDEOUT_CIRCLE_OF_CULTIST_PRODUCTION_START = "HideoutCircleOfCultistProductionStart",
|
||||
HIDEOUT_DELETE_PRODUCTION_COMMAND = "HideoutDeleteProductionCommand",
|
||||
HIDEOUT_CUSTOMIZATION_APPLY_COMMAND = "HideoutCustomizationApply",
|
||||
HIDEOUT_CUSTOMIZATION_SET_MANNEQUIN_POSE = "HideoutCustomizationSetMannequinPose",
|
||||
}
|
||||
|
@ -28,6 +28,7 @@ export class HideoutItemEventRouter extends ItemEventRouterDefinition {
|
||||
new HandledRoute(HideoutEventActions.HIDEOUT_CIRCLE_OF_CULTIST_PRODUCTION_START, false),
|
||||
new HandledRoute(HideoutEventActions.HIDEOUT_DELETE_PRODUCTION_COMMAND, false),
|
||||
new HandledRoute(HideoutEventActions.HIDEOUT_CUSTOMIZATION_APPLY_COMMAND, false),
|
||||
new HandledRoute(HideoutEventActions.HIDEOUT_CUSTOMIZATION_SET_MANNEQUIN_POSE, false),
|
||||
];
|
||||
}
|
||||
|
||||
@ -69,6 +70,8 @@ export class HideoutItemEventRouter extends ItemEventRouterDefinition {
|
||||
return this.hideoutCallbacks.hideoutDeleteProductionCommand(pmcData, body, sessionID);
|
||||
case HideoutEventActions.HIDEOUT_CUSTOMIZATION_APPLY_COMMAND:
|
||||
return this.hideoutCallbacks.hideoutCustomizationApplyCommand(pmcData, body, sessionID);
|
||||
case HideoutEventActions.HIDEOUT_CUSTOMIZATION_SET_MANNEQUIN_POSE:
|
||||
return this.hideoutCallbacks.hideoutCustomizationSetMannequinPose(pmcData, body, sessionID);
|
||||
default:
|
||||
throw new Error(`Unhandled event ${url} request: ${JSON.stringify(body)}`);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user