Fixed scav exfiltration from location failing due to client profile data being in different format

This commit is contained in:
Dev 2024-11-03 19:55:37 +00:00
parent eac4ea9843
commit 640460dad4
3 changed files with 7 additions and 12 deletions

View File

@ -30,7 +30,7 @@ export class InraidCallbacks {
}
/**
* Handle raid/profile/save
* Handle raid/profile/scavsave
* @param url
* @param info Save progress request
* @param sessionID Session id

View File

@ -55,19 +55,19 @@ export class InraidController {
}
/**
* Handle raid/profile/save
* Handle raid/profile/scavsave
* Save profile state to disk
* Handles pmc/pscav
* @param offraidData post-raid request data
* @param offraidProfileData Post-raid scav profile data
* @param sessionID Session id
*/
public savePostRaidProfileForScav(offraidData: IScavSaveRequestData, sessionID: string): void {
public savePostRaidProfileForScav(offraidProfileData: IScavSaveRequestData, sessionID: string): void {
const serverScavProfile = this.profileHelper.getScavProfile(sessionID);
// If equipment match overwrite existing data from update to date raid data for scavenger screen to work correctly.
// otherwise Scav inventory will be overwritten and break scav regeneration breaking profile.
if (serverScavProfile.Inventory.equipment === offraidData.profile.Inventory.equipment) {
serverScavProfile.Inventory.items = offraidData.profile.Inventory.items;
if (serverScavProfile.Inventory.equipment === offraidProfileData.Inventory.equipment) {
serverScavProfile.Inventory.items = offraidProfileData.Inventory.items;
}
}

View File

@ -1,8 +1,3 @@
import { IPostRaidPmcData } from "@spt/models/eft/common/IPmcData";
import { ISyncHealthRequestData } from "@spt/models/eft/health/ISyncHealthRequestData";
import { IInsuredItemsData } from "@spt/models/eft/inRaid/IInsuredItemsData";
import { PlayerRaidEndState } from "@spt/models/enums/PlayerRaidEndState";
export interface IScavSaveRequestData {
profile: IPostRaidPmcData;
}
export interface IScavSaveRequestData extends IPostRaidPmcData {}