Add location services json

This commit is contained in:
Dev 2024-07-05 09:38:27 +01:00
parent d3357be9e6
commit 5cd919a7d7
4 changed files with 114 additions and 89 deletions

View File

@ -0,0 +1,90 @@
import { Ixyz } from "@spt/models/eft/common/Ixyz";
export interface ILocationServices
{
TraderServerSettings: ITraderServerSettings
BTRServerSettings: IBtrServerSettings
}
export interface ITraderServerSettings
{
TraderServices: TraderServices
}
export interface TraderServices
{
ExUsecLoyalty: ITraderService
ZryachiyAid: ITraderService
CultistsAid: ITraderService
PlayerTaxi: ITraderService
BtrItemsDelivery: ITraderService
BtrBotCover: ITraderService
}
export interface ITraderService
{
TraderId: string
TraderServiceType: string
Requirements: IServiceRequirements
ServiceItemCost: Record<string, IServiceItemCostDetails>
UniqueItems: string[]
}
export interface IServiceRequirements
{
CompletedQuests: ICompletedQuest[]
Standings: Record<string, IStandingRequirement>
}
export interface ICompletedQuest
{
QuestId: string
}
export interface IStandingRequirement
{
Value: number
}
export interface IServiceItemCostDetails
{
Count: number
}
export interface IBtrServerSettings
{
ChanceSpawn: number
SpawnPeriod: Ixyz
MoveSpeed: number
ReadyToDepartureTime: number
CheckTurnDistanceTime: number
TurnCheckSensitivity: number
DecreaseSpeedOnTurnLimit: number
EndSplineDecelerationDistance: number
AccelerationSpeed: number
DecelerationSpeed: number
PauseDurationRange: Ixyz
BodySwingReturnSpeed: number
BodySwingDamping: number
BodySwingIntensity: number
ServerMapBTRSettings: Record<string, IServerMapBtrsettings>
}
export interface IServerMapBtrsettings
{
MapID: string
ChanceSpawn: number
SpawnPeriod: Ixyz
MoveSpeed: number
ReadyToDepartureTime: number
CheckTurnDistanceTime: number
TurnCheckSensitivity: number
DecreaseSpeedOnTurnLimit: number
EndSplineDecelerationDistance: number
AccelerationSpeed: number
DecelerationSpeed: number
PauseDurationRange: Ixyz
BodySwingReturnSpeed: number
BodySwingDamping: number
BodySwingIntensity: number
}

View File

@ -1,99 +1,16 @@
import { ILocationBase } from "@spt/models/eft/common/ILocationBase";
import { Ixyz } from "../common/Ixyz";
import { IInsuredItem } from "@spt/models/eft/common/tables/IBotBase";
import { ILocationServices } from "@spt/models/eft/common/tables/ILocationServices";
export interface IStartLocalRaidResponseData
{
serverId: string
serverSettings: IServerSettings
profile: any
serverSettings: ILocationServices
profile: IProfileInsuredItems
locationLoot: ILocationBase
}
export interface IServerSettings
export interface IProfileInsuredItems
{
TraderServerSettings: ITraderServerSettings
BTRServerSettings: IBtrServerSettings
}
export interface ITraderServerSettings
{
TraderServices: TraderServices
}
export interface TraderServices
{
ExUsecLoyalty: ITraderService
ZryachiyAid: ITraderService
CultistsAid: ITraderService
PlayerTaxi: ITraderService
BtrItemsDelivery: ITraderService
BtrBotCover: ITraderService
}
export interface ITraderService
{
TraderId: string
TraderServiceType: string
Requirements: IServiceRequirements
ServiceItemCost: Record<string, IServiceItemCostDetails>
UniqueItems: string[]
}
export interface IServiceRequirements
{
CompletedQuests: ICompletedQuest[]
Standings: Record<string, IStandingRequirement>
}
export interface ICompletedQuest
{
QuestId: string
}
export interface IStandingRequirement
{
Value: number
}
export interface IServiceItemCostDetails
{
Count: number
}
export interface IBtrServerSettings
{
ChanceSpawn: number
SpawnPeriod: Ixyz
MoveSpeed: number
ReadyToDepartureTime: number
CheckTurnDistanceTime: number
TurnCheckSensitivity: number
DecreaseSpeedOnTurnLimit: number
EndSplineDecelerationDistance: number
AccelerationSpeed: number
DecelerationSpeed: number
PauseDurationRange: Ixyz
BodySwingReturnSpeed: number
BodySwingDamping: number
BodySwingIntensity: number
ServerMapBTRSettings: Record<string, IServerMapBtrsettings>
}
export interface IServerMapBtrsettings
{
MapID: string
ChanceSpawn: number
SpawnPeriod: Ixyz
MoveSpeed: number
ReadyToDepartureTime: number
CheckTurnDistanceTime: number
TurnCheckSensitivity: number
DecreaseSpeedOnTurnLimit: number
EndSplineDecelerationDistance: number
AccelerationSpeed: number
DecelerationSpeed: number
PauseDurationRange: Ixyz
BodySwingReturnSpeed: number
BodySwingDamping: number
BodySwingIntensity: number
insuredItems: IInsuredItem[]
}

View File

@ -1,6 +1,7 @@
import { IAchievement } from "@spt/models/eft/common/tables/IAchievement";
import { ICustomizationItem } from "@spt/models/eft/common/tables/ICustomizationItem";
import { IHandbookBase } from "@spt/models/eft/common/tables/IHandbookBase";
import { ILocationServices } from "@spt/models/eft/common/tables/ILocationServices";
import { IProfileTemplates } from "@spt/models/eft/common/tables/IProfileTemplate";
import { IQuest } from "@spt/models/eft/common/tables/IQuest";
import { IRepeatableQuestDatabase } from "@spt/models/eft/common/tables/IRepeatableQuests";
@ -27,4 +28,7 @@ export interface ITemplates
/** Achievements */
achievements: IAchievement[]
/** Location services data */
locationServices: ILocationServices
}

View File

@ -4,6 +4,7 @@ import { ILocation } from "@spt/models/eft/common/ILocation";
import { IAchievement } from "@spt/models/eft/common/tables/IAchievement";
import { ICustomizationItem } from "@spt/models/eft/common/tables/ICustomizationItem";
import { IHandbookBase } from "@spt/models/eft/common/tables/IHandbookBase";
import { ILocationServices } from "@spt/models/eft/common/tables/ILocationServices";
import { IMatch } from "@spt/models/eft/common/tables/IMatch";
import { IProfileTemplates } from "@spt/models/eft/common/tables/IProfileTemplate";
import { IQuest } from "@spt/models/eft/common/tables/IQuest";
@ -297,4 +298,17 @@ export class DatabaseService
return desiredTrader!;
}
/**
* @returns assets/database/locationServices/
*/
public getLocationServices(): ILocationServices
{
if (!this.databaseServer.getTables().templates!.locationServices)
{
throw new Error(this.localisationService.getText("database-data_at_path_missing", "assets/database/locationServices"));
}
return this.databaseServer.getTables().templates!.locationServices!;
}
}