From 4938f38083cdc397a445adbcb87ca667efc91c6e Mon Sep 17 00:00:00 2001 From: Chomp Date: Fri, 27 Dec 2024 10:39:53 +0000 Subject: [PATCH] Updated transit-related properties - TODO: check if `request.transition` is hydrated now --- .../models/eft/match/IStartLocalRaidRequestData.ts | 14 +++++--------- .../eft/match/IStartLocalRaidResponseData.ts | 5 +++-- project/src/services/LocationLifecycleService.ts | 6 ++++-- 3 files changed, 12 insertions(+), 13 deletions(-) diff --git a/project/src/models/eft/match/IStartLocalRaidRequestData.ts b/project/src/models/eft/match/IStartLocalRaidRequestData.ts index f0c923c7..8bbc1ff6 100644 --- a/project/src/models/eft/match/IStartLocalRaidRequestData.ts +++ b/project/src/models/eft/match/IStartLocalRaidRequestData.ts @@ -1,18 +1,14 @@ +import type { ITransition } from "@spt/models/eft/match/IStartLocalRaidResponseData"; +import type { TransitionType } from "@spt/models/enums/TransitionType"; + export interface IStartLocalRaidRequestData { serverId: string; location: string; timeVariant: string; mode: string; playerSide: string; - isLocationTransition: boolean; - transition: IStartLocalRaidTransition; + transitionType: TransitionType; + transition: ITransition; /** Should loot generation be skipped, default false */ sptSkipLootGeneration?: boolean; } - -export interface IStartLocalRaidTransition { - isLocationTransition: boolean; - transitionRaidId: string; - transitionCount: number; - visitedLocations: string[]; -} diff --git a/project/src/models/eft/match/IStartLocalRaidResponseData.ts b/project/src/models/eft/match/IStartLocalRaidResponseData.ts index b9457774..20365101 100644 --- a/project/src/models/eft/match/IStartLocalRaidResponseData.ts +++ b/project/src/models/eft/match/IStartLocalRaidResponseData.ts @@ -1,13 +1,14 @@ import type { ILocationBase } from "@spt/models/eft/common/ILocationBase"; import type { IInsuredItem } from "@spt/models/eft/common/tables/IBotBase"; import type { ILocationServices } from "@spt/models/eft/common/tables/ILocationServices"; +import type { TransitionType } from "@spt/models/enums/TransitionType"; export interface IStartLocalRaidResponseData { serverId: string; serverSettings: ILocationServices; profile: IProfileInsuredItems; locationLoot: ILocationBase; - transitionType: string; + transitionType: TransitionType; transition: ITransition; } @@ -16,7 +17,7 @@ export interface IProfileInsuredItems { } export interface ITransition { - isLocationTransition: boolean; + transitionType: TransitionType; transitionRaidId: string; transitionCount: number; visitedLocations: string[]; diff --git a/project/src/services/LocationLifecycleService.ts b/project/src/services/LocationLifecycleService.ts index 5e53cf05..ac6a0ad5 100644 --- a/project/src/services/LocationLifecycleService.ts +++ b/project/src/services/LocationLifecycleService.ts @@ -49,6 +49,7 @@ import { RandomUtil } from "@spt/utils/RandomUtil"; import { TimeUtil } from "@spt/utils/TimeUtil"; import type { ICloner } from "@spt/utils/cloners/ICloner"; import { inject, injectable } from "tsyringe"; +import { TransitionType } from "../models/enums/TransitionType"; @injectable() export class LocationLifecycleService { @@ -106,8 +107,9 @@ export class LocationLifecycleService { serverSettings: this.databaseService.getLocationServices(), // TODO - is this per map or global? profile: { insuredItems: playerProfile.InsuredItems }, locationLoot: this.generateLocationAndLoot(request.location, !request.sptSkipLootGeneration), + transitionType: TransitionType.None, transition: { - isLocationTransition: false, + transitionType: TransitionType.None, transitionRaidId: this.hashUtil.generate(), transitionCount: 0, visitedLocations: [], @@ -126,7 +128,7 @@ export class LocationLifecycleService { ?.getValue(); if (transitionData) { this.logger.success(`Player: ${sessionId} is in transit to ${request.location}`); - result.transition.isLocationTransition = true; + result.transition.transitionType = TransitionType.Common; result.transition.transitionRaidId = transitionData.transitionRaidId; result.transition.transitionCount += 1;