Cleaned up trader interfaces

Updated trader base json values from live data dumps
This commit is contained in:
Dev 2024-09-01 12:58:41 +01:00
parent 65a117e7ac
commit aabbdd040b
10 changed files with 38 additions and 164 deletions

View File

@ -115,30 +115,7 @@
"excluded_id_list": [],
"quality": "1.2"
},
"sell_category": [
"5b5f71b386f774093f2ecf11",
"5b5f71c186f77409407a7ec0",
"5b5f71de86f774093f2ecf13",
"5b5f724186f77447ed5636ad",
"5b5f736886f774094242f193",
"5b5f73ec86f774093e6cb4fd",
"5b5f74cc86f77447ec5d770a",
"5b5f750686f774093e6cb503",
"5b5f751486f77447ec5d770c",
"5b5f752e86f774093e6cb505",
"5b5f754a86f774094242f19b",
"5b5f755f86f77447ec5d770e",
"5b5f757486f774093e6cb507",
"5b5f75b986f77447ec5d7710",
"5b5f75c686f774094242f19f",
"5b5f75e486f77447ec5d7712",
"5b5f760586f774093e6cb509",
"5b5f761f86f774094242f1a1",
"5b5f764186f77447ec5d7714",
"5b5f78dc86f77409407a7f8e",
"5b47574386f77428ca22b346",
"5b47574386f77428ca22b345"
],
"sell_category": [],
"sell_modifier_for_prohibited_items": 0,
"surname": "Романенко",
"transferableItems": {

View File

@ -107,17 +107,7 @@
"excluded_id_list": [],
"quality": "0"
},
"sell_category": [
"5b47574386f77428ca22b344",
"5b47574386f77428ca22b2f1",
"5b47574386f77428ca22b340",
"5b47574386f77428ca22b2f4",
"5b47574386f77428ca22b2f3",
"5b47574386f77428ca22b342",
"5b47574386f77428ca22b341",
"5b5f6fa186f77409407a7eb7",
"5b47574386f77428ca22b343"
],
"sell_category": [],
"sell_modifier_for_prohibited_items": 0,
"surname": "Хабибуллина",
"transferableItems": {

View File

@ -118,7 +118,20 @@
"660bbc98c38b837877075e4a",
"660bc341c38b837877075e4c",
"6638a5474e92f038531e210e",
"5d235b4d86f7742e017bc88a"
"5d235b4d86f7742e017bc88a",
"66bc98a01a47be227a5e956e",
"6694f4101ae1778e310f4f8e",
"66a3896972c8e72507028806",
"66a3896de45f71bf1009e45a",
"6694f423909d2322a8073151",
"66a389c0705adefa710cdeaa",
"66a389c60982fc7e4c091c51",
"6694f418c74d8a180f0f78c0",
"66a3898c1df2a447cc0d3c35",
"66a3898f0982fc7e4c091c4d",
"66aa3a180d6ecb50a21a4e1a",
"66aa3a31efb1b8119f0196c7",
"66aa3a3800b2c42adb07d13e"
]
},
"location": "unknown",
@ -160,37 +173,7 @@
"excluded_id_list": [],
"quality": "2"
},
"sell_category": [
"5b47574386f77428ca22b33e",
"5b47574386f77428ca22b33f",
"5b5f78dc86f77409407a7f8e",
"5b47574386f77428ca22b346",
"5b47574386f77428ca22b340",
"5b47574386f77428ca22b344",
"5b47574386f77428ca22b342",
"5b47574386f77428ca22b341",
"5b47574386f77428ca22b345",
"5b47574386f77428ca22b343",
"5b5f71b386f774093f2ecf11",
"5b5f71c186f77409407a7ec0",
"5b5f71de86f774093f2ecf13",
"5b5f724186f77447ed5636ad",
"5b5f736886f774094242f193",
"5b5f73ec86f774093e6cb4fd",
"5b5f74cc86f77447ec5d770a",
"5b5f750686f774093e6cb503",
"5b5f751486f77447ec5d770c",
"5b5f752e86f774093e6cb505",
"5b5f754a86f774094242f19b",
"5b5f755f86f77447ec5d770e",
"5b5f757486f774093e6cb507",
"5b5f75b986f77447ec5d7710",
"5b5f75c686f774094242f19f",
"5b5f75e486f77447ec5d7712",
"5b5f760586f774093e6cb509",
"5b5f761f86f774094242f1a1",
"5b5f764186f77447ec5d7714"
],
"sell_category": [],
"sell_modifier_for_prohibited_items": 0,
"surname": "Fence",
"transferableItems": {

View File

@ -19,6 +19,7 @@
"min_payment": 0,
"min_return_hour": 0
},
"isCanTransferItems": false,
"items_buy": {
"category": [
"543be5f84bdc2dd4348b456a",
@ -106,23 +107,7 @@
"excluded_id_list": [],
"quality": "1"
},
"sell_category": [
"5b5f71b386f774093f2ecf11",
"5b5f71c186f77409407a7ec0",
"5b5f71de86f774093f2ecf13",
"5b5f724186f77447ed5636ad",
"5b5f736886f774094242f193",
"5b5f73ec86f774093e6cb4fd",
"5b5f74cc86f77447ec5d770a",
"5b5f750686f774093e6cb503",
"5b5f751486f77447ec5d770c",
"5b5f752e86f774093e6cb505",
"5b5f754a86f774094242f19b",
"5b5f755f86f77447ec5d770e",
"5b5f757486f774093e6cb507",
"5b5f78e986f77447ed5636b1",
"5b5f78fc86f77409407a7f90"
],
"sell_category": [],
"sell_modifier_for_prohibited_items": 0,
"surname": "Киселёв",
"transferableItems": {

View File

@ -45,7 +45,8 @@
"660312cc4d6cdfa6f500c703",
"660bbc98c38b837877075e4a",
"660bc341c38b837877075e4c",
"6638a5474e92f038531e210e"
"6638a5474e92f038531e210e",
"66bc98a01a47be227a5e956e"
]
},
"location": "Предпортовая",
@ -105,33 +106,7 @@
"excluded_id_list": [],
"quality": "2"
},
"sell_category": [
"5b47574386f77428ca22b33f",
"5b5f78dc86f77409407a7f8e",
"5b5f71b386f774093f2ecf11",
"5b5f71c186f77409407a7ec0",
"5b5f71de86f774093f2ecf13",
"5b5f724186f77447ed5636ad",
"5b5f736886f774094242f193",
"5b5f73ec86f774093e6cb4fd",
"5b5f74cc86f77447ec5d770a",
"5b5f750686f774093e6cb503",
"5b5f751486f77447ec5d770c",
"5b5f752e86f774093e6cb505",
"5b5f754a86f774094242f19b",
"5b5f755f86f77447ec5d770e",
"5b5f757486f774093e6cb507",
"5b5f75b986f77447ec5d7710",
"5b5f75c686f774094242f19f",
"5b5f75e486f77447ec5d7712",
"5b5f760586f774093e6cb509",
"5b5f761f86f774094242f1a1",
"5b5f764186f77447ec5d7714",
"5b47574386f77428ca22b346",
"5b47574386f77428ca22b340",
"5b47574386f77428ca22b344",
"5b47574386f77428ca22b341"
],
"sell_category": [],
"sell_modifier_for_prohibited_items": 0,
"surname": "Пилсудский",
"transferableItems": {

View File

@ -108,33 +108,7 @@
"excluded_id_list": [],
"quality": "0.7"
},
"sell_category": [
"5b5f78dc86f77409407a7f8e",
"5b5f71b386f774093f2ecf11",
"5b5f71c186f77409407a7ec0",
"5b5f71de86f774093f2ecf13",
"5b5f724186f77447ed5636ad",
"5b5f736886f774094242f193",
"5b5f73ec86f774093e6cb4fd",
"5b5f74cc86f77447ec5d770a",
"5b5f750686f774093e6cb503",
"5b5f751486f77447ec5d770c",
"5b5f752e86f774093e6cb505",
"5b5f754a86f774094242f19b",
"5b5f755f86f77447ec5d770e",
"5b5f757486f774093e6cb507",
"5b5f75b986f77447ec5d7710",
"5b5f75c686f774094242f19f",
"5b5f75e486f77447ec5d7712",
"5b5f760586f774093e6cb509",
"5b5f761f86f774094242f1a1",
"5b5f764186f77447ec5d7714",
"5b47574386f77428ca22b33e",
"5b47574386f77428ca22b341",
"5b47574386f77428ca22b345",
"5b47574386f77428ca22b2ef",
"5b47574386f77428ca22b343"
],
"sell_category": [],
"sell_modifier_for_prohibited_items": 0,
"surname": "Самойлов",
"transferableItems": {

View File

@ -107,9 +107,7 @@
"excluded_id_list": [],
"quality": "1"
},
"sell_category": [
"5b47574386f77428ca22b33f"
],
"sell_category": [],
"sell_modifier_for_prohibited_items": 0,
"surname": "Абрамян",
"transferableItems": {

View File

@ -120,19 +120,7 @@
"excluded_id_list": [],
"quality": "0.7"
},
"sell_category": [
"5b5f78e986f77447ed5636b1",
"5b5f791486f774093f2ed3be",
"5b5f792486f77447ed5636b3",
"5b5f794b86f77409407a7f92",
"5b5f798886f77447ed5636b5",
"5b5f7a0886f77409407a7f96",
"5b5f75b986f77447ec5d7710",
"5b47574386f77428ca22b346",
"5b47574386f77428ca22b340",
"5b47574386f77428ca22b2ed",
"5b47574386f77428ca22b2f2"
],
"sell_category": [],
"sell_modifier_for_prohibited_items": 0,
"surname": "Егерь",
"transferableItems": {

View File

@ -6,7 +6,7 @@ import { IPmcData } from "@spt/models/eft/common/IPmcData";
import { BanType } from "@spt/models/eft/common/tables/IBotBase";
import { Item } from "@spt/models/eft/common/tables/IItem";
import { ProfileTraderTemplate } from "@spt/models/eft/common/tables/IProfileTemplate";
import { ITraderAssort, ITraderBase, LoyaltyLevel } from "@spt/models/eft/common/tables/ITrader";
import { ITraderAssort, ITraderBase, ITraderLoyaltyLevel } from "@spt/models/eft/common/tables/ITrader";
import { ISptProfile } from "@spt/models/eft/profile/ISptProfile";
import { ConfigTypes } from "@spt/models/enums/ConfigTypes";
import { GameEditions } from "@spt/models/enums/GameEditions";
@ -339,7 +339,7 @@ export class TraderHelper {
return this.randomUtil.getInt(traderDetails.seconds.min, traderDetails.seconds.max);
}
public getLoyaltyLevel(traderID: string, pmcData: IPmcData): LoyaltyLevel {
public getLoyaltyLevel(traderID: string, pmcData: IPmcData): ITraderLoyaltyLevel {
const traderBase = this.databaseService.getTrader(traderID).base;
let loyaltyLevel = pmcData.TradersInfo[traderID].loyaltyLevel;

View File

@ -25,16 +25,20 @@ export interface ITraderBase {
discount: number;
discount_end: number;
gridHeight: number;
insurance: Insurance;
sell_modifier_for_prohibited_items?: number;
insurance: ITraderInsurance;
items_buy: IItemBuyData;
items_buy_prohibited: IItemBuyData;
isCanTransferItems?: boolean;
transferableItems?: IItemBuyData;
prohibitedTransferableItems?: IItemBuyData;
location: string;
loyaltyLevels: LoyaltyLevel[];
loyaltyLevels: ITraderLoyaltyLevel[];
medic: boolean;
name: string;
nextResupply: number;
nickname: string;
repair: Repair;
repair: ITraderRepair;
sell_category: string[];
surname: string;
unlockedByDefault: boolean;
@ -45,7 +49,7 @@ export interface IItemBuyData {
id_list: string[];
}
export interface Insurance {
export interface ITraderInsurance {
availability: boolean;
excluded_category: string[];
max_return_hour: number;
@ -54,7 +58,7 @@ export interface Insurance {
min_return_hour: number;
}
export interface LoyaltyLevel {
export interface ITraderLoyaltyLevel {
buy_price_coef: number;
exchange_price_coef: number;
heal_price_coef: number;
@ -65,13 +69,13 @@ export interface LoyaltyLevel {
repair_price_coef: number;
}
export interface Repair {
export interface ITraderRepair {
availability: boolean;
currency: string;
currency_coefficient: number;
excluded_category: string[];
/** Doesn't exist in client object */
excluded_id_list: any[];
excluded_id_list: string[];
quality: number;
}