Skip to content

Commit

Permalink
Update to SPT 3.9.0
Browse files Browse the repository at this point in the history
  • Loading branch information
seionmoya committed Jul 8, 2024
1 parent 66040e0 commit 65450e3
Show file tree
Hide file tree
Showing 561 changed files with 9,631 additions and 4,171 deletions.
2 changes: 1 addition & 1 deletion configs/config.jsonc
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
// TODO
]
},
"whitelist": { // Force inclusion of these items (note: Aki might still strip these due to BSG's
"whitelist": { // Force inclusion of these items (note: Spt might still strip these due to BSG's
"items": [
// item ids
],
Expand Down
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"name": "kokohekmatyar",
"version": "1.5.0",
"version": "1.6.0",
"main": "src/mod.js",
"license": "MIT",
"author": "seionmoya",
"akiVersion": "~3.8",
"sptVersion": "~3.9",
"scripts": {
"build": "node ./build.mjs",
"lint": "eslint ./src/**/* --ext .ts"
Expand Down
16 changes: 8 additions & 8 deletions src/KokoHekmatyar.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import path from "node:path";
import { inject, injectable } from "tsyringe";
import { PreAkiModLoader } from "@spt-aki/loaders/PreAkiModLoader";
import { ITraderBase } from "@spt-aki/models/eft/common/tables/ITrader";
import { ILogger } from "@spt-aki/models/spt/utils/ILogger";
import { DatabaseServer } from "@spt-aki/servers/DatabaseServer";
import { VFS } from "@spt-aki/utils/VFS";
import { JsonUtil } from "@spt-aki/utils/JsonUtil";
import { PreSptModLoader } from "@spt/loaders/PreSptModLoader";
import { ITraderBase } from "@spt/models/eft/common/tables/ITrader";
import { ILogger } from "@spt/models/spt/utils/ILogger";
import { DatabaseServer } from "@spt/servers/DatabaseServer";
import { VFS } from "@spt/utils/VFS";
import { JsonUtil } from "@spt/utils/JsonUtil";

import { KokoTraderGenerator } from "./utils/TraderGenerator";
import { KokoAssortGenerator } from "./utils/AssortGenerator";
Expand All @@ -21,7 +21,7 @@ export class KokoHekmatyar
protected baseTrader: ITraderBase;

constructor(
@inject("PreAkiModLoader") protected preAkiModLoader: PreAkiModLoader,
@inject("PreSptModLoader") protected preSptModLoader: PreSptModLoader,
@inject("DatabaseServer") protected databaseServer: DatabaseServer,
@inject("WinstonLogger") protected logger: ILogger,
@inject("VFS") protected vfs: VFS,
Expand All @@ -32,7 +32,7 @@ export class KokoHekmatyar
{
this.modAuthor = packageJson.author;
this.modName = packageJson.name;
this.modPath = this.preAkiModLoader.getModPath(`${this.modAuthor}-${this.modName}`);
this.modPath = this.preSptModLoader.getModPath(`${this.modAuthor}-${this.modName}`);

this.baseTrader = this.jsonUtil.deserializeJsonC(this.vfs.readFile(path.join(this.modPath + "/db/base.jsonc")));
}
Expand Down
10 changes: 5 additions & 5 deletions src/Mod.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
// libraries
import { DependencyContainer, Lifecycle } from "tsyringe";

// aki types
import { IPreAkiLoadMod } from "@spt-aki/models/external/IPreAkiLoadMod";
import { IPostDBLoadMod } from "@spt-aki/models/external/IPostDBLoadMod";
// spt types
import { IPreSptLoadMod } from "@spt/models/external/IPreSptLoadMod";
import { IPostDBLoadMod } from "@spt/models/external/IPostDBLoadMod";

// mod classes
import { KokoConfig } from "./utils/Config";
Expand All @@ -12,9 +12,9 @@ import { KokoItemValidator } from "./utils/ItemValidator";
import { KokoAssortGenerator } from "./utils/AssortGenerator";
import { KokoHekmatyar } from "./KokoHekmatyar";

class Mod implements IPreAkiLoadMod, IPostDBLoadMod
class Mod implements IPreSptLoadMod, IPostDBLoadMod
{
public preAkiLoad(container: DependencyContainer): void
public preSptLoad(container: DependencyContainer): void
{
container.register<KokoConfig>("KokoConfig", KokoConfig, { lifecycle: Lifecycle.Singleton });
container.register<KokoTraderGenerator>("KokoTraderGenerator", KokoTraderGenerator, { lifecycle: Lifecycle.Singleton });
Expand Down
4 changes: 2 additions & 2 deletions src/Models.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// aki types
import { MinMax } from "@spt-aki/models/common/MinMax";
// spt types
import { MinMax } from "@spt/models/common/MinMax";

export interface IItemCategoryList
{
Expand Down
24 changes: 12 additions & 12 deletions src/utils/AssortGenerator.ts
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
import { inject, injectable } from "tsyringe";

import { DatabaseServer } from "@spt-aki/servers/DatabaseServer";
import { ItemHelper } from "@spt-aki/helpers/ItemHelper";
import { HandbookHelper } from "@spt-aki/helpers/HandbookHelper";
import { RandomUtil } from "@spt-aki/utils/RandomUtil";
import { IBarterScheme, ITraderAssort } from "@spt-aki/models/eft/common/tables/ITrader";
import { ITemplateItem } from "@spt-aki/models/eft/common/tables/ITemplateItem";
import { Item, Upd } from "@spt-aki/models/eft/common/tables/IItem";
import { Money } from "@spt-aki/models/enums/Money";
import { PresetHelper } from "@spt-aki/helpers/PresetHelper";
import { DatabaseServer } from "@spt/servers/DatabaseServer";
import { ItemHelper } from "@spt/helpers/ItemHelper";
import { HandbookHelper } from "@spt/helpers/HandbookHelper";
import { RandomUtil } from "@spt/utils/RandomUtil";
import { IBarterScheme, ITraderAssort } from "@spt/models/eft/common/tables/ITrader";
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
import { Item, Upd } from "@spt/models/eft/common/tables/IItem";
import { Money } from "@spt/models/enums/Money";
import { PresetHelper } from "@spt/helpers/PresetHelper";

import { KokoConfig } from "./Config";
import { KokoItemValidator } from "./ItemValidator";
import { IPreset } from "@spt-aki/models/eft/common/IGlobals";
import { HashUtil } from "@spt-aki/utils/HashUtil";
import { PresetController } from "@spt-aki/controllers/PresetController";
import { IPreset } from "@spt/models/eft/common/IGlobals";
import { HashUtil } from "@spt/utils/HashUtil";
import { PresetController } from "@spt/controllers/PresetController";

@injectable()
export class KokoAssortGenerator {
Expand Down
12 changes: 6 additions & 6 deletions src/utils/Config.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import path from "node:path";
import { inject, injectable } from "tsyringe";

import { PreAkiModLoader } from "@spt-aki/loaders/PreAkiModLoader";
import { ConfigServer } from "@spt-aki/servers/ConfigServer";
import { JsonUtil } from "@spt-aki/utils/JsonUtil";
import { PreSptModLoader } from "@spt/loaders/PreSptModLoader";
import { ConfigServer } from "@spt/servers/ConfigServer";
import { JsonUtil } from "@spt/utils/JsonUtil";
import { IKokoConfig } from "../Models";

import packageJson from "../../package.json";
import { VFS } from "@spt-aki/utils/VFS";
import { VFS } from "@spt/utils/VFS";

@injectable()
export class KokoConfig
Expand All @@ -18,14 +18,14 @@ export class KokoConfig
protected config: IKokoConfig;

constructor(
@inject("PreAkiModLoader") protected preAkiModLoader: PreAkiModLoader,
@inject("PreSptModLoader") protected preSptModLoader: PreSptModLoader,
@inject("ConfigServer") protected configServer: ConfigServer,
@inject("VFS") protected vfs: VFS,
@inject("JsonUtil") protected jsonUtil: JsonUtil)
{
this.modAuthor = packageJson.author;
this.modName = packageJson.name;
this.modPath = this.preAkiModLoader.getModPath(`${this.modAuthor}-${this.modName}`);
this.modPath = this.preSptModLoader.getModPath(`${this.modAuthor}-${this.modName}`);

const filepath = path.join(this.modPath, "configs/config.jsonc");
const file = this.vfs.readFile(filepath);
Expand Down
4 changes: 2 additions & 2 deletions src/utils/ItemValidator.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { inject, injectable } from "tsyringe";

import { ITemplateItem } from "@spt-aki/models/eft/common/tables/ITemplateItem";
import { PresetHelper } from "@spt-aki/helpers/PresetHelper";
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
import { PresetHelper } from "@spt/helpers/PresetHelper";

import { KokoConfig } from "./Config";

Expand Down
18 changes: 8 additions & 10 deletions src/utils/TraderGenerator.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import { inject, injectable } from "tsyringe";
import { DatabaseServer } from "@spt-aki/servers/DatabaseServer";
import { ConfigServer } from "@spt-aki/servers/ConfigServer";
import { IRagfairConfig } from "@spt-aki/models/spt/config/IRagfairConfig";
import { IInsuranceConfig } from "@spt-aki/models/spt/config/IInsuranceConfig";
import { ITraderConfig } from "@spt-aki/models/spt/config/ITraderConfig";
import { ConfigTypes } from "@spt-aki/models/enums/ConfigTypes";
import { ImageRouter } from "@spt-aki/routers/ImageRouter";
import { ITrader } from "@spt-aki/models/eft/common/tables/ITrader";
import { DatabaseServer } from "@spt/servers/DatabaseServer";
import { ConfigServer } from "@spt/servers/ConfigServer";
import { IRagfairConfig } from "@spt/models/spt/config/IRagfairConfig";
import { IInsuranceConfig } from "@spt/models/spt/config/IInsuranceConfig";
import { ITraderConfig } from "@spt/models/spt/config/ITraderConfig";
import { ConfigTypes } from "@spt/models/enums/ConfigTypes";
import { ImageRouter } from "@spt/routers/ImageRouter";
import { ITrader } from "@spt/models/eft/common/tables/ITrader";

interface ILocales {
FullName: string;
Expand Down Expand Up @@ -40,8 +40,6 @@ export class KokoTraderGenerator {
public setInsuranceConfig(traderId: string, insurance: { insuranceMultiplier?: number, returnChancePercent?: number })
{
const insuranceConfig = this.configServer.getConfig<IInsuranceConfig>(ConfigTypes.INSURANCE);

insuranceConfig.insuranceMultiplier[traderId] ??= insurance.insuranceMultiplier;
insuranceConfig.returnChancePercent[traderId] ??= insurance.returnChancePercent;
}

Expand Down
2 changes: 1 addition & 1 deletion tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
"outDir": "tmp",
"baseUrl": ".",
"paths": {
"@spt-aki/*": ["./types/*"]
"@spt/*": ["./types/*"]
}
},
"include": [
Expand Down
14 changes: 7 additions & 7 deletions types/callbacks/AchievementCallbacks.d.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import { AchievementController } from "@spt-aki/controllers/AchievementController";
import { ProfileController } from "@spt-aki/controllers/ProfileController";
import { IEmptyRequestData } from "@spt-aki/models/eft/common/IEmptyRequestData";
import { IGetBodyResponseData } from "@spt-aki/models/eft/httpResponse/IGetBodyResponseData";
import { ICompletedAchievementsResponse } from "@spt-aki/models/eft/profile/ICompletedAchievementsResponse";
import { IGetAchievementsResponse } from "@spt-aki/models/eft/profile/IGetAchievementsResponse";
import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil";
import { AchievementController } from "@spt/controllers/AchievementController";
import { ProfileController } from "@spt/controllers/ProfileController";
import { IEmptyRequestData } from "@spt/models/eft/common/IEmptyRequestData";
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
import { ICompletedAchievementsResponse } from "@spt/models/eft/profile/ICompletedAchievementsResponse";
import { IGetAchievementsResponse } from "@spt/models/eft/profile/IGetAchievementsResponse";
import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil";
export declare class AchievementCallbacks {
protected achievementController: AchievementController;
protected profileController: ProfileController;
Expand Down
22 changes: 14 additions & 8 deletions types/callbacks/BotCallbacks.d.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
import { BotController } from "@spt-aki/controllers/BotController";
import { IGenerateBotsRequestData } from "@spt-aki/models/eft/bot/IGenerateBotsRequestData";
import { IEmptyRequestData } from "@spt-aki/models/eft/common/IEmptyRequestData";
import { IBotBase } from "@spt-aki/models/eft/common/tables/IBotBase";
import { IGetBodyResponseData } from "@spt-aki/models/eft/httpResponse/IGetBodyResponseData";
import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil";
import { BotController } from "@spt/controllers/BotController";
import { IGenerateBotsRequestData } from "@spt/models/eft/bot/IGenerateBotsRequestData";
import { IEmptyRequestData } from "@spt/models/eft/common/IEmptyRequestData";
import { IBotBase } from "@spt/models/eft/common/tables/IBotBase";
import { Difficulties } from "@spt/models/eft/common/tables/IBotType";
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil";
export declare class BotCallbacks {
protected botController: BotController;
protected httpResponse: HttpResponseUtil;
Expand All @@ -19,16 +20,21 @@ export declare class BotCallbacks {
* @returns string
*/
getBotDifficulty(url: string, info: IEmptyRequestData, sessionID: string): string;
/**
* Handle singleplayer/settings/bot/difficulties
* @returns dictionary of every bot and its diffiulty settings
*/
getAllBotDifficulties(url: string, info: IEmptyRequestData, sessionID: string): Record<string, Difficulties>;
/**
* Handle client/game/bot/generate
* @returns IGetBodyResponseData
*/
generateBots(url: string, info: IGenerateBotsRequestData, sessionID: string): IGetBodyResponseData<IBotBase[]>;
generateBots(url: string, info: IGenerateBotsRequestData, sessionID: string): Promise<IGetBodyResponseData<IBotBase[]>>;
/**
* Handle singleplayer/settings/bot/maxCap
* @returns string
*/
getBotCap(): string;
getBotCap(url: string, info: any, sessionID: string): string;
/**
* Handle singleplayer/settings/bot/getBotBehaviours
* @returns string
Expand Down
18 changes: 9 additions & 9 deletions types/callbacks/BuildsCallbacks.d.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import { BuildController } from "@spt-aki/controllers/BuildController";
import { ISetMagazineRequest } from "@spt-aki/models/eft/builds/ISetMagazineRequest";
import { IEmptyRequestData } from "@spt-aki/models/eft/common/IEmptyRequestData";
import { IGetBodyResponseData } from "@spt-aki/models/eft/httpResponse/IGetBodyResponseData";
import { INullResponseData } from "@spt-aki/models/eft/httpResponse/INullResponseData";
import { IPresetBuildActionRequestData } from "@spt-aki/models/eft/presetBuild/IPresetBuildActionRequestData";
import { IRemoveBuildRequestData } from "@spt-aki/models/eft/presetBuild/IRemoveBuildRequestData";
import { IUserBuilds } from "@spt-aki/models/eft/profile/IAkiProfile";
import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil";
import { BuildController } from "@spt/controllers/BuildController";
import { ISetMagazineRequest } from "@spt/models/eft/builds/ISetMagazineRequest";
import { IEmptyRequestData } from "@spt/models/eft/common/IEmptyRequestData";
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
import { INullResponseData } from "@spt/models/eft/httpResponse/INullResponseData";
import { IPresetBuildActionRequestData } from "@spt/models/eft/presetBuild/IPresetBuildActionRequestData";
import { IRemoveBuildRequestData } from "@spt/models/eft/presetBuild/IRemoveBuildRequestData";
import { IUserBuilds } from "@spt/models/eft/profile/ISptProfile";
import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil";
export declare class BuildsCallbacks {
protected httpResponse: HttpResponseUtil;
protected buildController: BuildController;
Expand Down
15 changes: 5 additions & 10 deletions types/callbacks/BundleCallbacks.d.ts
Original file line number Diff line number Diff line change
@@ -1,18 +1,13 @@
import { BundleLoader } from "@spt-aki/loaders/BundleLoader";
import { IHttpConfig } from "@spt-aki/models/spt/config/IHttpConfig";
import { ILogger } from "@spt-aki/models/spt/utils/ILogger";
import { ConfigServer } from "@spt-aki/servers/ConfigServer";
import { HttpFileUtil } from "@spt-aki/utils/HttpFileUtil";
import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil";
import { BundleLoader } from "@spt/loaders/BundleLoader";
import { IHttpConfig } from "@spt/models/spt/config/IHttpConfig";
import { ConfigServer } from "@spt/servers/ConfigServer";
import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil";
export declare class BundleCallbacks {
protected logger: ILogger;
protected httpResponse: HttpResponseUtil;
protected httpFileUtil: HttpFileUtil;
protected bundleLoader: BundleLoader;
protected configServer: ConfigServer;
protected httpConfig: IHttpConfig;
constructor(logger: ILogger, httpResponse: HttpResponseUtil, httpFileUtil: HttpFileUtil, bundleLoader: BundleLoader, configServer: ConfigServer);
sendBundle(sessionID: string, req: any, resp: any, body: any): void;
constructor(httpResponse: HttpResponseUtil, bundleLoader: BundleLoader, configServer: ConfigServer);
/**
* Handle singleplayer/bundles
*/
Expand Down
14 changes: 7 additions & 7 deletions types/callbacks/ClientLogCallbacks.d.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import { ClientLogController } from "@spt-aki/controllers/ClientLogController";
import { ModLoadOrder } from "@spt-aki/loaders/ModLoadOrder";
import { INullResponseData } from "@spt-aki/models/eft/httpResponse/INullResponseData";
import { IClientLogRequest } from "@spt-aki/models/spt/logging/IClientLogRequest";
import { ConfigServer } from "@spt-aki/servers/ConfigServer";
import { LocalisationService } from "@spt-aki/services/LocalisationService";
import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil";
import { ClientLogController } from "@spt/controllers/ClientLogController";
import { ModLoadOrder } from "@spt/loaders/ModLoadOrder";
import { INullResponseData } from "@spt/models/eft/httpResponse/INullResponseData";
import { IClientLogRequest } from "@spt/models/spt/logging/IClientLogRequest";
import { ConfigServer } from "@spt/servers/ConfigServer";
import { LocalisationService } from "@spt/services/LocalisationService";
import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil";
/** Handle client logging related events */
export declare class ClientLogCallbacks {
protected httpResponse: HttpResponseUtil;
Expand Down
22 changes: 11 additions & 11 deletions types/callbacks/CustomizationCallbacks.d.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
import { CustomizationController } from "@spt-aki/controllers/CustomizationController";
import { IEmptyRequestData } from "@spt-aki/models/eft/common/IEmptyRequestData";
import { IPmcData } from "@spt-aki/models/eft/common/IPmcData";
import { ISuit } from "@spt-aki/models/eft/common/tables/ITrader";
import { IBuyClothingRequestData } from "@spt-aki/models/eft/customization/IBuyClothingRequestData";
import { IGetSuitsResponse } from "@spt-aki/models/eft/customization/IGetSuitsResponse";
import { IWearClothingRequestData } from "@spt-aki/models/eft/customization/IWearClothingRequestData";
import { IGetBodyResponseData } from "@spt-aki/models/eft/httpResponse/IGetBodyResponseData";
import { IItemEventRouterResponse } from "@spt-aki/models/eft/itemEvent/IItemEventRouterResponse";
import { SaveServer } from "@spt-aki/servers/SaveServer";
import { HttpResponseUtil } from "@spt-aki/utils/HttpResponseUtil";
import { CustomizationController } from "@spt/controllers/CustomizationController";
import { IEmptyRequestData } from "@spt/models/eft/common/IEmptyRequestData";
import { IPmcData } from "@spt/models/eft/common/IPmcData";
import { ISuit } from "@spt/models/eft/common/tables/ITrader";
import { IBuyClothingRequestData } from "@spt/models/eft/customization/IBuyClothingRequestData";
import { IGetSuitsResponse } from "@spt/models/eft/customization/IGetSuitsResponse";
import { IWearClothingRequestData } from "@spt/models/eft/customization/IWearClothingRequestData";
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
import { SaveServer } from "@spt/servers/SaveServer";
import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil";
export declare class CustomizationCallbacks {
protected customizationController: CustomizationController;
protected saveServer: SaveServer;
Expand Down
Loading

0 comments on commit 65450e3

Please sign in to comment.