diff --git a/project/assets/database/traders/54cb50c76803fa8b248b4571/base.json b/project/assets/database/traders/54cb50c76803fa8b248b4571/base.json index 08c8f28e..de0c2831 100644 --- a/project/assets/database/traders/54cb50c76803fa8b248b4571/base.json +++ b/project/assets/database/traders/54cb50c76803fa8b248b4571/base.json @@ -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": { diff --git a/project/assets/database/traders/54cb57776803fa99248b456e/base.json b/project/assets/database/traders/54cb57776803fa99248b456e/base.json index 197d12b0..5c284938 100644 --- a/project/assets/database/traders/54cb57776803fa99248b456e/base.json +++ b/project/assets/database/traders/54cb57776803fa99248b456e/base.json @@ -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": { diff --git a/project/assets/database/traders/579dc571d53a0658a154fbec/base.json b/project/assets/database/traders/579dc571d53a0658a154fbec/base.json index 3ad19ccd..1ab8b92e 100644 --- a/project/assets/database/traders/579dc571d53a0658a154fbec/base.json +++ b/project/assets/database/traders/579dc571d53a0658a154fbec/base.json @@ -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": { diff --git a/project/assets/database/traders/58330581ace78e27b8b10cee/base.json b/project/assets/database/traders/58330581ace78e27b8b10cee/base.json index 1900eefa..b686f795 100644 --- a/project/assets/database/traders/58330581ace78e27b8b10cee/base.json +++ b/project/assets/database/traders/58330581ace78e27b8b10cee/base.json @@ -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": { diff --git a/project/assets/database/traders/5935c25fb3acc3127c3d8cd9/base.json b/project/assets/database/traders/5935c25fb3acc3127c3d8cd9/base.json index 621c6ab7..2786e02b 100644 --- a/project/assets/database/traders/5935c25fb3acc3127c3d8cd9/base.json +++ b/project/assets/database/traders/5935c25fb3acc3127c3d8cd9/base.json @@ -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": { diff --git a/project/assets/database/traders/5a7c2eca46aef81a7ca2145d/base.json b/project/assets/database/traders/5a7c2eca46aef81a7ca2145d/base.json index 57175d8e..d5c4b810 100644 --- a/project/assets/database/traders/5a7c2eca46aef81a7ca2145d/base.json +++ b/project/assets/database/traders/5a7c2eca46aef81a7ca2145d/base.json @@ -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": { diff --git a/project/assets/database/traders/5ac3b934156ae10c4430e83c/base.json b/project/assets/database/traders/5ac3b934156ae10c4430e83c/base.json index e0521324..8dc81fff 100644 --- a/project/assets/database/traders/5ac3b934156ae10c4430e83c/base.json +++ b/project/assets/database/traders/5ac3b934156ae10c4430e83c/base.json @@ -107,9 +107,7 @@ "excluded_id_list": [], "quality": "1" }, - "sell_category": [ - "5b47574386f77428ca22b33f" - ], + "sell_category": [], "sell_modifier_for_prohibited_items": 0, "surname": "Абрамян", "transferableItems": { diff --git a/project/assets/database/traders/5c0647fdd443bc2504c2d371/base.json b/project/assets/database/traders/5c0647fdd443bc2504c2d371/base.json index 97a660f8..006d3745 100644 --- a/project/assets/database/traders/5c0647fdd443bc2504c2d371/base.json +++ b/project/assets/database/traders/5c0647fdd443bc2504c2d371/base.json @@ -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": { diff --git a/project/src/helpers/TraderHelper.ts b/project/src/helpers/TraderHelper.ts index a11d7871..db98e990 100644 --- a/project/src/helpers/TraderHelper.ts +++ b/project/src/helpers/TraderHelper.ts @@ -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; diff --git a/project/src/models/eft/common/tables/ITrader.ts b/project/src/models/eft/common/tables/ITrader.ts index c6070e73..30633a31 100644 --- a/project/src/models/eft/common/tables/ITrader.ts +++ b/project/src/models/eft/common/tables/ITrader.ts @@ -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; }