Update types
This commit is contained in:
parent
7907d533ae
commit
ea559bd4aa
@ -1,4 +1,4 @@
|
|||||||
# Mod examples for v3.7.0
|
# Mod examples for v3.7.1
|
||||||
|
|
||||||
A collection of example mods that perform typical actions in SPT
|
A collection of example mods that perform typical actions in SPT
|
||||||
|
|
||||||
|
@ -27,7 +27,6 @@ import { LocalisationService } from "../services/LocalisationService";
|
|||||||
import { OpenZoneService } from "../services/OpenZoneService";
|
import { OpenZoneService } from "../services/OpenZoneService";
|
||||||
import { ProfileFixerService } from "../services/ProfileFixerService";
|
import { ProfileFixerService } from "../services/ProfileFixerService";
|
||||||
import { SeasonalEventService } from "../services/SeasonalEventService";
|
import { SeasonalEventService } from "../services/SeasonalEventService";
|
||||||
import { HashUtil } from "../utils/HashUtil";
|
|
||||||
import { JsonUtil } from "../utils/JsonUtil";
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
import { RandomUtil } from "../utils/RandomUtil";
|
import { RandomUtil } from "../utils/RandomUtil";
|
||||||
import { TimeUtil } from "../utils/TimeUtil";
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
@ -36,7 +35,6 @@ export declare class GameController {
|
|||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected jsonUtil: JsonUtil;
|
protected jsonUtil: JsonUtil;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
protected hashUtil: HashUtil;
|
|
||||||
protected preAkiModLoader: PreAkiModLoader;
|
protected preAkiModLoader: PreAkiModLoader;
|
||||||
protected httpServerHelper: HttpServerHelper;
|
protected httpServerHelper: HttpServerHelper;
|
||||||
protected randomUtil: RandomUtil;
|
protected randomUtil: RandomUtil;
|
||||||
@ -58,7 +56,7 @@ export declare class GameController {
|
|||||||
protected ragfairConfig: IRagfairConfig;
|
protected ragfairConfig: IRagfairConfig;
|
||||||
protected pmcConfig: IPmcConfig;
|
protected pmcConfig: IPmcConfig;
|
||||||
protected lootConfig: ILootConfig;
|
protected lootConfig: ILootConfig;
|
||||||
constructor(logger: ILogger, databaseServer: DatabaseServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, hashUtil: HashUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, randomUtil: RandomUtil, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, itemBaseClassService: ItemBaseClassService, giftService: GiftService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
constructor(logger: ILogger, databaseServer: DatabaseServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, randomUtil: RandomUtil, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, itemBaseClassService: ItemBaseClassService, giftService: GiftService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
||||||
load(): void;
|
load(): void;
|
||||||
/**
|
/**
|
||||||
* Handle client/game/start
|
* Handle client/game/start
|
||||||
@ -67,12 +65,6 @@ export declare class GameController {
|
|||||||
protected addCustomLooseLootPositions(): void;
|
protected addCustomLooseLootPositions(): void;
|
||||||
protected adjustLooseLootSpawnProbabilities(): void;
|
protected adjustLooseLootSpawnProbabilities(): void;
|
||||||
protected setHideoutAreasAndCraftsTo40Secs(): void;
|
protected setHideoutAreasAndCraftsTo40Secs(): void;
|
||||||
/**
|
|
||||||
* 3.7.0 moved AIDs to be numeric, old profiles need to be migrated
|
|
||||||
* We store the old AID value in new field `sessionId`
|
|
||||||
* @param fullProfile Profile to update
|
|
||||||
*/
|
|
||||||
protected fixIncorrectAidValue(fullProfile: IAkiProfile): void;
|
|
||||||
/** Apply custom limits on bot types as defined in configs/location.json/botTypeLimits */
|
/** Apply custom limits on bot types as defined in configs/location.json/botTypeLimits */
|
||||||
protected adjustMapBotLimits(): void;
|
protected adjustMapBotLimits(): void;
|
||||||
/**
|
/**
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
import { DependencyContainer } from "tsyringe";
|
import { DependencyContainer } from "tsyringe";
|
||||||
|
import { ModDetails } from "../models/eft/profile/IAkiProfile";
|
||||||
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
||||||
import { IModLoader } from "../models/spt/mod/IModLoader";
|
import { IModLoader } from "../models/spt/mod/IModLoader";
|
||||||
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
||||||
@ -35,6 +36,7 @@ export declare class PreAkiModLoader implements IModLoader {
|
|||||||
*/
|
*/
|
||||||
getImportedModsNames(): string[];
|
getImportedModsNames(): string[];
|
||||||
getImportedModDetails(): Record<string, IPackageJsonData>;
|
getImportedModDetails(): Record<string, IPackageJsonData>;
|
||||||
|
getProfileModsGroupedByModName(profileMods: ModDetails[]): ModDetails[];
|
||||||
getModPath(mod: string): string;
|
getModPath(mod: string): string;
|
||||||
protected importMods(): Promise<void>;
|
protected importMods(): Promise<void>;
|
||||||
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
||||||
|
@ -6,8 +6,19 @@ export interface IRepairConfig extends IBaseConfig {
|
|||||||
applyRandomizeDurabilityLoss: boolean;
|
applyRandomizeDurabilityLoss: boolean;
|
||||||
weaponSkillRepairGain: number;
|
weaponSkillRepairGain: number;
|
||||||
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
||||||
|
/** INT gain multiplier per repaired item type */
|
||||||
|
repairKitIntellectGainMultiplier: IIntellectGainValues;
|
||||||
|
maxIntellectGainPerRepair: IMaxIntellectGainValues;
|
||||||
repairKit: RepairKit;
|
repairKit: RepairKit;
|
||||||
}
|
}
|
||||||
|
export interface IIntellectGainValues {
|
||||||
|
weapon: number;
|
||||||
|
armor: number;
|
||||||
|
}
|
||||||
|
export interface IMaxIntellectGainValues {
|
||||||
|
kit: number;
|
||||||
|
trader: number;
|
||||||
|
}
|
||||||
export interface RepairKit {
|
export interface RepairKit {
|
||||||
armor: BonusSettings;
|
armor: BonusSettings;
|
||||||
weapon: BonusSettings;
|
weapon: BonusSettings;
|
||||||
|
@ -29,7 +29,7 @@ export declare class EventOutputHolder {
|
|||||||
/**
|
/**
|
||||||
* Convert the internal trader data object into an object we can send to the client
|
* Convert the internal trader data object into an object we can send to the client
|
||||||
* @param traderData server data for traders
|
* @param traderData server data for traders
|
||||||
* @returns
|
* @returns dict of trader id + TraderData
|
||||||
*/
|
*/
|
||||||
protected constructTraderRelations(traderData: Record<string, TraderInfo>): Record<string, TraderData>;
|
protected constructTraderRelations(traderData: Record<string, TraderInfo>): Record<string, TraderData>;
|
||||||
/**
|
/**
|
||||||
|
@ -14,6 +14,7 @@ import { IRagfairConfig } from "../models/spt/config/IRagfairConfig";
|
|||||||
import { ILogger } from "../models/spt/utils/ILogger";
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
import { ConfigServer } from "../servers/ConfigServer";
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
import { HashUtil } from "../utils/HashUtil";
|
||||||
import { JsonUtil } from "../utils/JsonUtil";
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
import { TimeUtil } from "../utils/TimeUtil";
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
import { Watermark } from "../utils/Watermark";
|
import { Watermark } from "../utils/Watermark";
|
||||||
@ -29,11 +30,12 @@ export declare class ProfileFixerService {
|
|||||||
protected localisationService: LocalisationService;
|
protected localisationService: LocalisationService;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
protected jsonUtil: JsonUtil;
|
protected jsonUtil: JsonUtil;
|
||||||
|
protected hashUtil: HashUtil;
|
||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected configServer: ConfigServer;
|
protected configServer: ConfigServer;
|
||||||
protected coreConfig: ICoreConfig;
|
protected coreConfig: ICoreConfig;
|
||||||
protected ragfairConfig: IRagfairConfig;
|
protected ragfairConfig: IRagfairConfig;
|
||||||
constructor(logger: ILogger, watermark: Watermark, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, configServer: ConfigServer);
|
constructor(logger: ILogger, watermark: Watermark, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, databaseServer: DatabaseServer, configServer: ConfigServer);
|
||||||
/**
|
/**
|
||||||
* Find issues in the pmc profile data that may cause issues and fix them
|
* Find issues in the pmc profile data that may cause issues and fix them
|
||||||
* @param pmcProfile profile to check and fix
|
* @param pmcProfile profile to check and fix
|
||||||
@ -129,6 +131,17 @@ export declare class ProfileFixerService {
|
|||||||
* @param pmcProfile Profile to update
|
* @param pmcProfile Profile to update
|
||||||
*/
|
*/
|
||||||
removeLegacyScavCaseProductionCrafts(pmcProfile: IPmcData): void;
|
removeLegacyScavCaseProductionCrafts(pmcProfile: IPmcData): void;
|
||||||
|
/**
|
||||||
|
* 3.7.0 moved AIDs to be numeric, old profiles need to be migrated
|
||||||
|
* We store the old AID value in new field `sessionId`
|
||||||
|
* @param fullProfile Profile to update
|
||||||
|
*/
|
||||||
|
fixIncorrectAidValue(fullProfile: IAkiProfile): void;
|
||||||
|
/**
|
||||||
|
* Bsg nested `stats` into a sub object called 'eft'
|
||||||
|
* @param fullProfile Profile to check for and migrate stats data
|
||||||
|
*/
|
||||||
|
migrateStatsToNewStructure(fullProfile: IAkiProfile): void;
|
||||||
/**
|
/**
|
||||||
* 26126 (7th August) requires bonuses to have an ID, these were not included in the default profile presets
|
* 26126 (7th August) requires bonuses to have an ID, these were not included in the default profile presets
|
||||||
* @param pmcProfile Profile to add missing IDs to
|
* @param pmcProfile Profile to add missing IDs to
|
||||||
@ -136,7 +149,7 @@ export declare class ProfileFixerService {
|
|||||||
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
||||||
/**
|
/**
|
||||||
* At some point the property name was changed,migrate data across to new name
|
* At some point the property name was changed,migrate data across to new name
|
||||||
* @param pmcProfile
|
* @param pmcProfile Profile to migrate improvements in
|
||||||
*/
|
*/
|
||||||
protected migrateImprovements(pmcProfile: IPmcData): void;
|
protected migrateImprovements(pmcProfile: IPmcData): void;
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,6 @@ import { LocalisationService } from "../services/LocalisationService";
|
|||||||
import { OpenZoneService } from "../services/OpenZoneService";
|
import { OpenZoneService } from "../services/OpenZoneService";
|
||||||
import { ProfileFixerService } from "../services/ProfileFixerService";
|
import { ProfileFixerService } from "../services/ProfileFixerService";
|
||||||
import { SeasonalEventService } from "../services/SeasonalEventService";
|
import { SeasonalEventService } from "../services/SeasonalEventService";
|
||||||
import { HashUtil } from "../utils/HashUtil";
|
|
||||||
import { JsonUtil } from "../utils/JsonUtil";
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
import { RandomUtil } from "../utils/RandomUtil";
|
import { RandomUtil } from "../utils/RandomUtil";
|
||||||
import { TimeUtil } from "../utils/TimeUtil";
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
@ -36,7 +35,6 @@ export declare class GameController {
|
|||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected jsonUtil: JsonUtil;
|
protected jsonUtil: JsonUtil;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
protected hashUtil: HashUtil;
|
|
||||||
protected preAkiModLoader: PreAkiModLoader;
|
protected preAkiModLoader: PreAkiModLoader;
|
||||||
protected httpServerHelper: HttpServerHelper;
|
protected httpServerHelper: HttpServerHelper;
|
||||||
protected randomUtil: RandomUtil;
|
protected randomUtil: RandomUtil;
|
||||||
@ -58,7 +56,7 @@ export declare class GameController {
|
|||||||
protected ragfairConfig: IRagfairConfig;
|
protected ragfairConfig: IRagfairConfig;
|
||||||
protected pmcConfig: IPmcConfig;
|
protected pmcConfig: IPmcConfig;
|
||||||
protected lootConfig: ILootConfig;
|
protected lootConfig: ILootConfig;
|
||||||
constructor(logger: ILogger, databaseServer: DatabaseServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, hashUtil: HashUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, randomUtil: RandomUtil, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, itemBaseClassService: ItemBaseClassService, giftService: GiftService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
constructor(logger: ILogger, databaseServer: DatabaseServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, randomUtil: RandomUtil, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, itemBaseClassService: ItemBaseClassService, giftService: GiftService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
||||||
load(): void;
|
load(): void;
|
||||||
/**
|
/**
|
||||||
* Handle client/game/start
|
* Handle client/game/start
|
||||||
@ -67,12 +65,6 @@ export declare class GameController {
|
|||||||
protected addCustomLooseLootPositions(): void;
|
protected addCustomLooseLootPositions(): void;
|
||||||
protected adjustLooseLootSpawnProbabilities(): void;
|
protected adjustLooseLootSpawnProbabilities(): void;
|
||||||
protected setHideoutAreasAndCraftsTo40Secs(): void;
|
protected setHideoutAreasAndCraftsTo40Secs(): void;
|
||||||
/**
|
|
||||||
* 3.7.0 moved AIDs to be numeric, old profiles need to be migrated
|
|
||||||
* We store the old AID value in new field `sessionId`
|
|
||||||
* @param fullProfile Profile to update
|
|
||||||
*/
|
|
||||||
protected fixIncorrectAidValue(fullProfile: IAkiProfile): void;
|
|
||||||
/** Apply custom limits on bot types as defined in configs/location.json/botTypeLimits */
|
/** Apply custom limits on bot types as defined in configs/location.json/botTypeLimits */
|
||||||
protected adjustMapBotLimits(): void;
|
protected adjustMapBotLimits(): void;
|
||||||
/**
|
/**
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
import { DependencyContainer } from "tsyringe";
|
import { DependencyContainer } from "tsyringe";
|
||||||
|
import { ModDetails } from "../models/eft/profile/IAkiProfile";
|
||||||
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
||||||
import { IModLoader } from "../models/spt/mod/IModLoader";
|
import { IModLoader } from "../models/spt/mod/IModLoader";
|
||||||
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
||||||
@ -35,6 +36,7 @@ export declare class PreAkiModLoader implements IModLoader {
|
|||||||
*/
|
*/
|
||||||
getImportedModsNames(): string[];
|
getImportedModsNames(): string[];
|
||||||
getImportedModDetails(): Record<string, IPackageJsonData>;
|
getImportedModDetails(): Record<string, IPackageJsonData>;
|
||||||
|
getProfileModsGroupedByModName(profileMods: ModDetails[]): ModDetails[];
|
||||||
getModPath(mod: string): string;
|
getModPath(mod: string): string;
|
||||||
protected importMods(): Promise<void>;
|
protected importMods(): Promise<void>;
|
||||||
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
||||||
|
@ -6,8 +6,19 @@ export interface IRepairConfig extends IBaseConfig {
|
|||||||
applyRandomizeDurabilityLoss: boolean;
|
applyRandomizeDurabilityLoss: boolean;
|
||||||
weaponSkillRepairGain: number;
|
weaponSkillRepairGain: number;
|
||||||
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
||||||
|
/** INT gain multiplier per repaired item type */
|
||||||
|
repairKitIntellectGainMultiplier: IIntellectGainValues;
|
||||||
|
maxIntellectGainPerRepair: IMaxIntellectGainValues;
|
||||||
repairKit: RepairKit;
|
repairKit: RepairKit;
|
||||||
}
|
}
|
||||||
|
export interface IIntellectGainValues {
|
||||||
|
weapon: number;
|
||||||
|
armor: number;
|
||||||
|
}
|
||||||
|
export interface IMaxIntellectGainValues {
|
||||||
|
kit: number;
|
||||||
|
trader: number;
|
||||||
|
}
|
||||||
export interface RepairKit {
|
export interface RepairKit {
|
||||||
armor: BonusSettings;
|
armor: BonusSettings;
|
||||||
weapon: BonusSettings;
|
weapon: BonusSettings;
|
||||||
|
@ -29,7 +29,7 @@ export declare class EventOutputHolder {
|
|||||||
/**
|
/**
|
||||||
* Convert the internal trader data object into an object we can send to the client
|
* Convert the internal trader data object into an object we can send to the client
|
||||||
* @param traderData server data for traders
|
* @param traderData server data for traders
|
||||||
* @returns
|
* @returns dict of trader id + TraderData
|
||||||
*/
|
*/
|
||||||
protected constructTraderRelations(traderData: Record<string, TraderInfo>): Record<string, TraderData>;
|
protected constructTraderRelations(traderData: Record<string, TraderInfo>): Record<string, TraderData>;
|
||||||
/**
|
/**
|
||||||
|
@ -14,6 +14,7 @@ import { IRagfairConfig } from "../models/spt/config/IRagfairConfig";
|
|||||||
import { ILogger } from "../models/spt/utils/ILogger";
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
import { ConfigServer } from "../servers/ConfigServer";
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
import { HashUtil } from "../utils/HashUtil";
|
||||||
import { JsonUtil } from "../utils/JsonUtil";
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
import { TimeUtil } from "../utils/TimeUtil";
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
import { Watermark } from "../utils/Watermark";
|
import { Watermark } from "../utils/Watermark";
|
||||||
@ -29,11 +30,12 @@ export declare class ProfileFixerService {
|
|||||||
protected localisationService: LocalisationService;
|
protected localisationService: LocalisationService;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
protected jsonUtil: JsonUtil;
|
protected jsonUtil: JsonUtil;
|
||||||
|
protected hashUtil: HashUtil;
|
||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected configServer: ConfigServer;
|
protected configServer: ConfigServer;
|
||||||
protected coreConfig: ICoreConfig;
|
protected coreConfig: ICoreConfig;
|
||||||
protected ragfairConfig: IRagfairConfig;
|
protected ragfairConfig: IRagfairConfig;
|
||||||
constructor(logger: ILogger, watermark: Watermark, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, configServer: ConfigServer);
|
constructor(logger: ILogger, watermark: Watermark, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, databaseServer: DatabaseServer, configServer: ConfigServer);
|
||||||
/**
|
/**
|
||||||
* Find issues in the pmc profile data that may cause issues and fix them
|
* Find issues in the pmc profile data that may cause issues and fix them
|
||||||
* @param pmcProfile profile to check and fix
|
* @param pmcProfile profile to check and fix
|
||||||
@ -129,6 +131,17 @@ export declare class ProfileFixerService {
|
|||||||
* @param pmcProfile Profile to update
|
* @param pmcProfile Profile to update
|
||||||
*/
|
*/
|
||||||
removeLegacyScavCaseProductionCrafts(pmcProfile: IPmcData): void;
|
removeLegacyScavCaseProductionCrafts(pmcProfile: IPmcData): void;
|
||||||
|
/**
|
||||||
|
* 3.7.0 moved AIDs to be numeric, old profiles need to be migrated
|
||||||
|
* We store the old AID value in new field `sessionId`
|
||||||
|
* @param fullProfile Profile to update
|
||||||
|
*/
|
||||||
|
fixIncorrectAidValue(fullProfile: IAkiProfile): void;
|
||||||
|
/**
|
||||||
|
* Bsg nested `stats` into a sub object called 'eft'
|
||||||
|
* @param fullProfile Profile to check for and migrate stats data
|
||||||
|
*/
|
||||||
|
migrateStatsToNewStructure(fullProfile: IAkiProfile): void;
|
||||||
/**
|
/**
|
||||||
* 26126 (7th August) requires bonuses to have an ID, these were not included in the default profile presets
|
* 26126 (7th August) requires bonuses to have an ID, these were not included in the default profile presets
|
||||||
* @param pmcProfile Profile to add missing IDs to
|
* @param pmcProfile Profile to add missing IDs to
|
||||||
@ -136,7 +149,7 @@ export declare class ProfileFixerService {
|
|||||||
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
||||||
/**
|
/**
|
||||||
* At some point the property name was changed,migrate data across to new name
|
* At some point the property name was changed,migrate data across to new name
|
||||||
* @param pmcProfile
|
* @param pmcProfile Profile to migrate improvements in
|
||||||
*/
|
*/
|
||||||
protected migrateImprovements(pmcProfile: IPmcData): void;
|
protected migrateImprovements(pmcProfile: IPmcData): void;
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,6 @@ import { LocalisationService } from "../services/LocalisationService";
|
|||||||
import { OpenZoneService } from "../services/OpenZoneService";
|
import { OpenZoneService } from "../services/OpenZoneService";
|
||||||
import { ProfileFixerService } from "../services/ProfileFixerService";
|
import { ProfileFixerService } from "../services/ProfileFixerService";
|
||||||
import { SeasonalEventService } from "../services/SeasonalEventService";
|
import { SeasonalEventService } from "../services/SeasonalEventService";
|
||||||
import { HashUtil } from "../utils/HashUtil";
|
|
||||||
import { JsonUtil } from "../utils/JsonUtil";
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
import { RandomUtil } from "../utils/RandomUtil";
|
import { RandomUtil } from "../utils/RandomUtil";
|
||||||
import { TimeUtil } from "../utils/TimeUtil";
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
@ -36,7 +35,6 @@ export declare class GameController {
|
|||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected jsonUtil: JsonUtil;
|
protected jsonUtil: JsonUtil;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
protected hashUtil: HashUtil;
|
|
||||||
protected preAkiModLoader: PreAkiModLoader;
|
protected preAkiModLoader: PreAkiModLoader;
|
||||||
protected httpServerHelper: HttpServerHelper;
|
protected httpServerHelper: HttpServerHelper;
|
||||||
protected randomUtil: RandomUtil;
|
protected randomUtil: RandomUtil;
|
||||||
@ -58,7 +56,7 @@ export declare class GameController {
|
|||||||
protected ragfairConfig: IRagfairConfig;
|
protected ragfairConfig: IRagfairConfig;
|
||||||
protected pmcConfig: IPmcConfig;
|
protected pmcConfig: IPmcConfig;
|
||||||
protected lootConfig: ILootConfig;
|
protected lootConfig: ILootConfig;
|
||||||
constructor(logger: ILogger, databaseServer: DatabaseServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, hashUtil: HashUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, randomUtil: RandomUtil, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, itemBaseClassService: ItemBaseClassService, giftService: GiftService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
constructor(logger: ILogger, databaseServer: DatabaseServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, randomUtil: RandomUtil, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, itemBaseClassService: ItemBaseClassService, giftService: GiftService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
||||||
load(): void;
|
load(): void;
|
||||||
/**
|
/**
|
||||||
* Handle client/game/start
|
* Handle client/game/start
|
||||||
@ -67,12 +65,6 @@ export declare class GameController {
|
|||||||
protected addCustomLooseLootPositions(): void;
|
protected addCustomLooseLootPositions(): void;
|
||||||
protected adjustLooseLootSpawnProbabilities(): void;
|
protected adjustLooseLootSpawnProbabilities(): void;
|
||||||
protected setHideoutAreasAndCraftsTo40Secs(): void;
|
protected setHideoutAreasAndCraftsTo40Secs(): void;
|
||||||
/**
|
|
||||||
* 3.7.0 moved AIDs to be numeric, old profiles need to be migrated
|
|
||||||
* We store the old AID value in new field `sessionId`
|
|
||||||
* @param fullProfile Profile to update
|
|
||||||
*/
|
|
||||||
protected fixIncorrectAidValue(fullProfile: IAkiProfile): void;
|
|
||||||
/** Apply custom limits on bot types as defined in configs/location.json/botTypeLimits */
|
/** Apply custom limits on bot types as defined in configs/location.json/botTypeLimits */
|
||||||
protected adjustMapBotLimits(): void;
|
protected adjustMapBotLimits(): void;
|
||||||
/**
|
/**
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
import { DependencyContainer } from "tsyringe";
|
import { DependencyContainer } from "tsyringe";
|
||||||
|
import { ModDetails } from "../models/eft/profile/IAkiProfile";
|
||||||
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
||||||
import { IModLoader } from "../models/spt/mod/IModLoader";
|
import { IModLoader } from "../models/spt/mod/IModLoader";
|
||||||
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
||||||
@ -35,6 +36,7 @@ export declare class PreAkiModLoader implements IModLoader {
|
|||||||
*/
|
*/
|
||||||
getImportedModsNames(): string[];
|
getImportedModsNames(): string[];
|
||||||
getImportedModDetails(): Record<string, IPackageJsonData>;
|
getImportedModDetails(): Record<string, IPackageJsonData>;
|
||||||
|
getProfileModsGroupedByModName(profileMods: ModDetails[]): ModDetails[];
|
||||||
getModPath(mod: string): string;
|
getModPath(mod: string): string;
|
||||||
protected importMods(): Promise<void>;
|
protected importMods(): Promise<void>;
|
||||||
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
||||||
|
@ -6,8 +6,19 @@ export interface IRepairConfig extends IBaseConfig {
|
|||||||
applyRandomizeDurabilityLoss: boolean;
|
applyRandomizeDurabilityLoss: boolean;
|
||||||
weaponSkillRepairGain: number;
|
weaponSkillRepairGain: number;
|
||||||
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
||||||
|
/** INT gain multiplier per repaired item type */
|
||||||
|
repairKitIntellectGainMultiplier: IIntellectGainValues;
|
||||||
|
maxIntellectGainPerRepair: IMaxIntellectGainValues;
|
||||||
repairKit: RepairKit;
|
repairKit: RepairKit;
|
||||||
}
|
}
|
||||||
|
export interface IIntellectGainValues {
|
||||||
|
weapon: number;
|
||||||
|
armor: number;
|
||||||
|
}
|
||||||
|
export interface IMaxIntellectGainValues {
|
||||||
|
kit: number;
|
||||||
|
trader: number;
|
||||||
|
}
|
||||||
export interface RepairKit {
|
export interface RepairKit {
|
||||||
armor: BonusSettings;
|
armor: BonusSettings;
|
||||||
weapon: BonusSettings;
|
weapon: BonusSettings;
|
||||||
|
@ -29,7 +29,7 @@ export declare class EventOutputHolder {
|
|||||||
/**
|
/**
|
||||||
* Convert the internal trader data object into an object we can send to the client
|
* Convert the internal trader data object into an object we can send to the client
|
||||||
* @param traderData server data for traders
|
* @param traderData server data for traders
|
||||||
* @returns
|
* @returns dict of trader id + TraderData
|
||||||
*/
|
*/
|
||||||
protected constructTraderRelations(traderData: Record<string, TraderInfo>): Record<string, TraderData>;
|
protected constructTraderRelations(traderData: Record<string, TraderInfo>): Record<string, TraderData>;
|
||||||
/**
|
/**
|
||||||
|
@ -14,6 +14,7 @@ import { IRagfairConfig } from "../models/spt/config/IRagfairConfig";
|
|||||||
import { ILogger } from "../models/spt/utils/ILogger";
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
import { ConfigServer } from "../servers/ConfigServer";
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
import { HashUtil } from "../utils/HashUtil";
|
||||||
import { JsonUtil } from "../utils/JsonUtil";
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
import { TimeUtil } from "../utils/TimeUtil";
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
import { Watermark } from "../utils/Watermark";
|
import { Watermark } from "../utils/Watermark";
|
||||||
@ -29,11 +30,12 @@ export declare class ProfileFixerService {
|
|||||||
protected localisationService: LocalisationService;
|
protected localisationService: LocalisationService;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
protected jsonUtil: JsonUtil;
|
protected jsonUtil: JsonUtil;
|
||||||
|
protected hashUtil: HashUtil;
|
||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected configServer: ConfigServer;
|
protected configServer: ConfigServer;
|
||||||
protected coreConfig: ICoreConfig;
|
protected coreConfig: ICoreConfig;
|
||||||
protected ragfairConfig: IRagfairConfig;
|
protected ragfairConfig: IRagfairConfig;
|
||||||
constructor(logger: ILogger, watermark: Watermark, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, configServer: ConfigServer);
|
constructor(logger: ILogger, watermark: Watermark, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, databaseServer: DatabaseServer, configServer: ConfigServer);
|
||||||
/**
|
/**
|
||||||
* Find issues in the pmc profile data that may cause issues and fix them
|
* Find issues in the pmc profile data that may cause issues and fix them
|
||||||
* @param pmcProfile profile to check and fix
|
* @param pmcProfile profile to check and fix
|
||||||
@ -129,6 +131,17 @@ export declare class ProfileFixerService {
|
|||||||
* @param pmcProfile Profile to update
|
* @param pmcProfile Profile to update
|
||||||
*/
|
*/
|
||||||
removeLegacyScavCaseProductionCrafts(pmcProfile: IPmcData): void;
|
removeLegacyScavCaseProductionCrafts(pmcProfile: IPmcData): void;
|
||||||
|
/**
|
||||||
|
* 3.7.0 moved AIDs to be numeric, old profiles need to be migrated
|
||||||
|
* We store the old AID value in new field `sessionId`
|
||||||
|
* @param fullProfile Profile to update
|
||||||
|
*/
|
||||||
|
fixIncorrectAidValue(fullProfile: IAkiProfile): void;
|
||||||
|
/**
|
||||||
|
* Bsg nested `stats` into a sub object called 'eft'
|
||||||
|
* @param fullProfile Profile to check for and migrate stats data
|
||||||
|
*/
|
||||||
|
migrateStatsToNewStructure(fullProfile: IAkiProfile): void;
|
||||||
/**
|
/**
|
||||||
* 26126 (7th August) requires bonuses to have an ID, these were not included in the default profile presets
|
* 26126 (7th August) requires bonuses to have an ID, these were not included in the default profile presets
|
||||||
* @param pmcProfile Profile to add missing IDs to
|
* @param pmcProfile Profile to add missing IDs to
|
||||||
@ -136,7 +149,7 @@ export declare class ProfileFixerService {
|
|||||||
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
||||||
/**
|
/**
|
||||||
* At some point the property name was changed,migrate data across to new name
|
* At some point the property name was changed,migrate data across to new name
|
||||||
* @param pmcProfile
|
* @param pmcProfile Profile to migrate improvements in
|
||||||
*/
|
*/
|
||||||
protected migrateImprovements(pmcProfile: IPmcData): void;
|
protected migrateImprovements(pmcProfile: IPmcData): void;
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,6 @@ import { LocalisationService } from "../services/LocalisationService";
|
|||||||
import { OpenZoneService } from "../services/OpenZoneService";
|
import { OpenZoneService } from "../services/OpenZoneService";
|
||||||
import { ProfileFixerService } from "../services/ProfileFixerService";
|
import { ProfileFixerService } from "../services/ProfileFixerService";
|
||||||
import { SeasonalEventService } from "../services/SeasonalEventService";
|
import { SeasonalEventService } from "../services/SeasonalEventService";
|
||||||
import { HashUtil } from "../utils/HashUtil";
|
|
||||||
import { JsonUtil } from "../utils/JsonUtil";
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
import { RandomUtil } from "../utils/RandomUtil";
|
import { RandomUtil } from "../utils/RandomUtil";
|
||||||
import { TimeUtil } from "../utils/TimeUtil";
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
@ -36,7 +35,6 @@ export declare class GameController {
|
|||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected jsonUtil: JsonUtil;
|
protected jsonUtil: JsonUtil;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
protected hashUtil: HashUtil;
|
|
||||||
protected preAkiModLoader: PreAkiModLoader;
|
protected preAkiModLoader: PreAkiModLoader;
|
||||||
protected httpServerHelper: HttpServerHelper;
|
protected httpServerHelper: HttpServerHelper;
|
||||||
protected randomUtil: RandomUtil;
|
protected randomUtil: RandomUtil;
|
||||||
@ -58,7 +56,7 @@ export declare class GameController {
|
|||||||
protected ragfairConfig: IRagfairConfig;
|
protected ragfairConfig: IRagfairConfig;
|
||||||
protected pmcConfig: IPmcConfig;
|
protected pmcConfig: IPmcConfig;
|
||||||
protected lootConfig: ILootConfig;
|
protected lootConfig: ILootConfig;
|
||||||
constructor(logger: ILogger, databaseServer: DatabaseServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, hashUtil: HashUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, randomUtil: RandomUtil, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, itemBaseClassService: ItemBaseClassService, giftService: GiftService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
constructor(logger: ILogger, databaseServer: DatabaseServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, randomUtil: RandomUtil, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, itemBaseClassService: ItemBaseClassService, giftService: GiftService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
||||||
load(): void;
|
load(): void;
|
||||||
/**
|
/**
|
||||||
* Handle client/game/start
|
* Handle client/game/start
|
||||||
@ -67,12 +65,6 @@ export declare class GameController {
|
|||||||
protected addCustomLooseLootPositions(): void;
|
protected addCustomLooseLootPositions(): void;
|
||||||
protected adjustLooseLootSpawnProbabilities(): void;
|
protected adjustLooseLootSpawnProbabilities(): void;
|
||||||
protected setHideoutAreasAndCraftsTo40Secs(): void;
|
protected setHideoutAreasAndCraftsTo40Secs(): void;
|
||||||
/**
|
|
||||||
* 3.7.0 moved AIDs to be numeric, old profiles need to be migrated
|
|
||||||
* We store the old AID value in new field `sessionId`
|
|
||||||
* @param fullProfile Profile to update
|
|
||||||
*/
|
|
||||||
protected fixIncorrectAidValue(fullProfile: IAkiProfile): void;
|
|
||||||
/** Apply custom limits on bot types as defined in configs/location.json/botTypeLimits */
|
/** Apply custom limits on bot types as defined in configs/location.json/botTypeLimits */
|
||||||
protected adjustMapBotLimits(): void;
|
protected adjustMapBotLimits(): void;
|
||||||
/**
|
/**
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
import { DependencyContainer } from "tsyringe";
|
import { DependencyContainer } from "tsyringe";
|
||||||
|
import { ModDetails } from "../models/eft/profile/IAkiProfile";
|
||||||
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
||||||
import { IModLoader } from "../models/spt/mod/IModLoader";
|
import { IModLoader } from "../models/spt/mod/IModLoader";
|
||||||
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
||||||
@ -35,6 +36,7 @@ export declare class PreAkiModLoader implements IModLoader {
|
|||||||
*/
|
*/
|
||||||
getImportedModsNames(): string[];
|
getImportedModsNames(): string[];
|
||||||
getImportedModDetails(): Record<string, IPackageJsonData>;
|
getImportedModDetails(): Record<string, IPackageJsonData>;
|
||||||
|
getProfileModsGroupedByModName(profileMods: ModDetails[]): ModDetails[];
|
||||||
getModPath(mod: string): string;
|
getModPath(mod: string): string;
|
||||||
protected importMods(): Promise<void>;
|
protected importMods(): Promise<void>;
|
||||||
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
||||||
|
@ -6,8 +6,19 @@ export interface IRepairConfig extends IBaseConfig {
|
|||||||
applyRandomizeDurabilityLoss: boolean;
|
applyRandomizeDurabilityLoss: boolean;
|
||||||
weaponSkillRepairGain: number;
|
weaponSkillRepairGain: number;
|
||||||
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
||||||
|
/** INT gain multiplier per repaired item type */
|
||||||
|
repairKitIntellectGainMultiplier: IIntellectGainValues;
|
||||||
|
maxIntellectGainPerRepair: IMaxIntellectGainValues;
|
||||||
repairKit: RepairKit;
|
repairKit: RepairKit;
|
||||||
}
|
}
|
||||||
|
export interface IIntellectGainValues {
|
||||||
|
weapon: number;
|
||||||
|
armor: number;
|
||||||
|
}
|
||||||
|
export interface IMaxIntellectGainValues {
|
||||||
|
kit: number;
|
||||||
|
trader: number;
|
||||||
|
}
|
||||||
export interface RepairKit {
|
export interface RepairKit {
|
||||||
armor: BonusSettings;
|
armor: BonusSettings;
|
||||||
weapon: BonusSettings;
|
weapon: BonusSettings;
|
||||||
|
@ -29,7 +29,7 @@ export declare class EventOutputHolder {
|
|||||||
/**
|
/**
|
||||||
* Convert the internal trader data object into an object we can send to the client
|
* Convert the internal trader data object into an object we can send to the client
|
||||||
* @param traderData server data for traders
|
* @param traderData server data for traders
|
||||||
* @returns
|
* @returns dict of trader id + TraderData
|
||||||
*/
|
*/
|
||||||
protected constructTraderRelations(traderData: Record<string, TraderInfo>): Record<string, TraderData>;
|
protected constructTraderRelations(traderData: Record<string, TraderInfo>): Record<string, TraderData>;
|
||||||
/**
|
/**
|
||||||
|
@ -14,6 +14,7 @@ import { IRagfairConfig } from "../models/spt/config/IRagfairConfig";
|
|||||||
import { ILogger } from "../models/spt/utils/ILogger";
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
import { ConfigServer } from "../servers/ConfigServer";
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
import { HashUtil } from "../utils/HashUtil";
|
||||||
import { JsonUtil } from "../utils/JsonUtil";
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
import { TimeUtil } from "../utils/TimeUtil";
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
import { Watermark } from "../utils/Watermark";
|
import { Watermark } from "../utils/Watermark";
|
||||||
@ -29,11 +30,12 @@ export declare class ProfileFixerService {
|
|||||||
protected localisationService: LocalisationService;
|
protected localisationService: LocalisationService;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
protected jsonUtil: JsonUtil;
|
protected jsonUtil: JsonUtil;
|
||||||
|
protected hashUtil: HashUtil;
|
||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected configServer: ConfigServer;
|
protected configServer: ConfigServer;
|
||||||
protected coreConfig: ICoreConfig;
|
protected coreConfig: ICoreConfig;
|
||||||
protected ragfairConfig: IRagfairConfig;
|
protected ragfairConfig: IRagfairConfig;
|
||||||
constructor(logger: ILogger, watermark: Watermark, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, configServer: ConfigServer);
|
constructor(logger: ILogger, watermark: Watermark, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, databaseServer: DatabaseServer, configServer: ConfigServer);
|
||||||
/**
|
/**
|
||||||
* Find issues in the pmc profile data that may cause issues and fix them
|
* Find issues in the pmc profile data that may cause issues and fix them
|
||||||
* @param pmcProfile profile to check and fix
|
* @param pmcProfile profile to check and fix
|
||||||
@ -129,6 +131,17 @@ export declare class ProfileFixerService {
|
|||||||
* @param pmcProfile Profile to update
|
* @param pmcProfile Profile to update
|
||||||
*/
|
*/
|
||||||
removeLegacyScavCaseProductionCrafts(pmcProfile: IPmcData): void;
|
removeLegacyScavCaseProductionCrafts(pmcProfile: IPmcData): void;
|
||||||
|
/**
|
||||||
|
* 3.7.0 moved AIDs to be numeric, old profiles need to be migrated
|
||||||
|
* We store the old AID value in new field `sessionId`
|
||||||
|
* @param fullProfile Profile to update
|
||||||
|
*/
|
||||||
|
fixIncorrectAidValue(fullProfile: IAkiProfile): void;
|
||||||
|
/**
|
||||||
|
* Bsg nested `stats` into a sub object called 'eft'
|
||||||
|
* @param fullProfile Profile to check for and migrate stats data
|
||||||
|
*/
|
||||||
|
migrateStatsToNewStructure(fullProfile: IAkiProfile): void;
|
||||||
/**
|
/**
|
||||||
* 26126 (7th August) requires bonuses to have an ID, these were not included in the default profile presets
|
* 26126 (7th August) requires bonuses to have an ID, these were not included in the default profile presets
|
||||||
* @param pmcProfile Profile to add missing IDs to
|
* @param pmcProfile Profile to add missing IDs to
|
||||||
@ -136,7 +149,7 @@ export declare class ProfileFixerService {
|
|||||||
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
||||||
/**
|
/**
|
||||||
* At some point the property name was changed,migrate data across to new name
|
* At some point the property name was changed,migrate data across to new name
|
||||||
* @param pmcProfile
|
* @param pmcProfile Profile to migrate improvements in
|
||||||
*/
|
*/
|
||||||
protected migrateImprovements(pmcProfile: IPmcData): void;
|
protected migrateImprovements(pmcProfile: IPmcData): void;
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,6 @@ import { LocalisationService } from "../services/LocalisationService";
|
|||||||
import { OpenZoneService } from "../services/OpenZoneService";
|
import { OpenZoneService } from "../services/OpenZoneService";
|
||||||
import { ProfileFixerService } from "../services/ProfileFixerService";
|
import { ProfileFixerService } from "../services/ProfileFixerService";
|
||||||
import { SeasonalEventService } from "../services/SeasonalEventService";
|
import { SeasonalEventService } from "../services/SeasonalEventService";
|
||||||
import { HashUtil } from "../utils/HashUtil";
|
|
||||||
import { JsonUtil } from "../utils/JsonUtil";
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
import { RandomUtil } from "../utils/RandomUtil";
|
import { RandomUtil } from "../utils/RandomUtil";
|
||||||
import { TimeUtil } from "../utils/TimeUtil";
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
@ -36,7 +35,6 @@ export declare class GameController {
|
|||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected jsonUtil: JsonUtil;
|
protected jsonUtil: JsonUtil;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
protected hashUtil: HashUtil;
|
|
||||||
protected preAkiModLoader: PreAkiModLoader;
|
protected preAkiModLoader: PreAkiModLoader;
|
||||||
protected httpServerHelper: HttpServerHelper;
|
protected httpServerHelper: HttpServerHelper;
|
||||||
protected randomUtil: RandomUtil;
|
protected randomUtil: RandomUtil;
|
||||||
@ -58,7 +56,7 @@ export declare class GameController {
|
|||||||
protected ragfairConfig: IRagfairConfig;
|
protected ragfairConfig: IRagfairConfig;
|
||||||
protected pmcConfig: IPmcConfig;
|
protected pmcConfig: IPmcConfig;
|
||||||
protected lootConfig: ILootConfig;
|
protected lootConfig: ILootConfig;
|
||||||
constructor(logger: ILogger, databaseServer: DatabaseServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, hashUtil: HashUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, randomUtil: RandomUtil, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, itemBaseClassService: ItemBaseClassService, giftService: GiftService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
constructor(logger: ILogger, databaseServer: DatabaseServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, randomUtil: RandomUtil, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, itemBaseClassService: ItemBaseClassService, giftService: GiftService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
||||||
load(): void;
|
load(): void;
|
||||||
/**
|
/**
|
||||||
* Handle client/game/start
|
* Handle client/game/start
|
||||||
@ -67,12 +65,6 @@ export declare class GameController {
|
|||||||
protected addCustomLooseLootPositions(): void;
|
protected addCustomLooseLootPositions(): void;
|
||||||
protected adjustLooseLootSpawnProbabilities(): void;
|
protected adjustLooseLootSpawnProbabilities(): void;
|
||||||
protected setHideoutAreasAndCraftsTo40Secs(): void;
|
protected setHideoutAreasAndCraftsTo40Secs(): void;
|
||||||
/**
|
|
||||||
* 3.7.0 moved AIDs to be numeric, old profiles need to be migrated
|
|
||||||
* We store the old AID value in new field `sessionId`
|
|
||||||
* @param fullProfile Profile to update
|
|
||||||
*/
|
|
||||||
protected fixIncorrectAidValue(fullProfile: IAkiProfile): void;
|
|
||||||
/** Apply custom limits on bot types as defined in configs/location.json/botTypeLimits */
|
/** Apply custom limits on bot types as defined in configs/location.json/botTypeLimits */
|
||||||
protected adjustMapBotLimits(): void;
|
protected adjustMapBotLimits(): void;
|
||||||
/**
|
/**
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
import { DependencyContainer } from "tsyringe";
|
import { DependencyContainer } from "tsyringe";
|
||||||
|
import { ModDetails } from "../models/eft/profile/IAkiProfile";
|
||||||
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
||||||
import { IModLoader } from "../models/spt/mod/IModLoader";
|
import { IModLoader } from "../models/spt/mod/IModLoader";
|
||||||
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
||||||
@ -35,6 +36,7 @@ export declare class PreAkiModLoader implements IModLoader {
|
|||||||
*/
|
*/
|
||||||
getImportedModsNames(): string[];
|
getImportedModsNames(): string[];
|
||||||
getImportedModDetails(): Record<string, IPackageJsonData>;
|
getImportedModDetails(): Record<string, IPackageJsonData>;
|
||||||
|
getProfileModsGroupedByModName(profileMods: ModDetails[]): ModDetails[];
|
||||||
getModPath(mod: string): string;
|
getModPath(mod: string): string;
|
||||||
protected importMods(): Promise<void>;
|
protected importMods(): Promise<void>;
|
||||||
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
||||||
|
@ -6,8 +6,19 @@ export interface IRepairConfig extends IBaseConfig {
|
|||||||
applyRandomizeDurabilityLoss: boolean;
|
applyRandomizeDurabilityLoss: boolean;
|
||||||
weaponSkillRepairGain: number;
|
weaponSkillRepairGain: number;
|
||||||
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
||||||
|
/** INT gain multiplier per repaired item type */
|
||||||
|
repairKitIntellectGainMultiplier: IIntellectGainValues;
|
||||||
|
maxIntellectGainPerRepair: IMaxIntellectGainValues;
|
||||||
repairKit: RepairKit;
|
repairKit: RepairKit;
|
||||||
}
|
}
|
||||||
|
export interface IIntellectGainValues {
|
||||||
|
weapon: number;
|
||||||
|
armor: number;
|
||||||
|
}
|
||||||
|
export interface IMaxIntellectGainValues {
|
||||||
|
kit: number;
|
||||||
|
trader: number;
|
||||||
|
}
|
||||||
export interface RepairKit {
|
export interface RepairKit {
|
||||||
armor: BonusSettings;
|
armor: BonusSettings;
|
||||||
weapon: BonusSettings;
|
weapon: BonusSettings;
|
||||||
|
@ -29,7 +29,7 @@ export declare class EventOutputHolder {
|
|||||||
/**
|
/**
|
||||||
* Convert the internal trader data object into an object we can send to the client
|
* Convert the internal trader data object into an object we can send to the client
|
||||||
* @param traderData server data for traders
|
* @param traderData server data for traders
|
||||||
* @returns
|
* @returns dict of trader id + TraderData
|
||||||
*/
|
*/
|
||||||
protected constructTraderRelations(traderData: Record<string, TraderInfo>): Record<string, TraderData>;
|
protected constructTraderRelations(traderData: Record<string, TraderInfo>): Record<string, TraderData>;
|
||||||
/**
|
/**
|
||||||
|
@ -14,6 +14,7 @@ import { IRagfairConfig } from "../models/spt/config/IRagfairConfig";
|
|||||||
import { ILogger } from "../models/spt/utils/ILogger";
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
import { ConfigServer } from "../servers/ConfigServer";
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
import { HashUtil } from "../utils/HashUtil";
|
||||||
import { JsonUtil } from "../utils/JsonUtil";
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
import { TimeUtil } from "../utils/TimeUtil";
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
import { Watermark } from "../utils/Watermark";
|
import { Watermark } from "../utils/Watermark";
|
||||||
@ -29,11 +30,12 @@ export declare class ProfileFixerService {
|
|||||||
protected localisationService: LocalisationService;
|
protected localisationService: LocalisationService;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
protected jsonUtil: JsonUtil;
|
protected jsonUtil: JsonUtil;
|
||||||
|
protected hashUtil: HashUtil;
|
||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected configServer: ConfigServer;
|
protected configServer: ConfigServer;
|
||||||
protected coreConfig: ICoreConfig;
|
protected coreConfig: ICoreConfig;
|
||||||
protected ragfairConfig: IRagfairConfig;
|
protected ragfairConfig: IRagfairConfig;
|
||||||
constructor(logger: ILogger, watermark: Watermark, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, configServer: ConfigServer);
|
constructor(logger: ILogger, watermark: Watermark, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, databaseServer: DatabaseServer, configServer: ConfigServer);
|
||||||
/**
|
/**
|
||||||
* Find issues in the pmc profile data that may cause issues and fix them
|
* Find issues in the pmc profile data that may cause issues and fix them
|
||||||
* @param pmcProfile profile to check and fix
|
* @param pmcProfile profile to check and fix
|
||||||
@ -129,6 +131,17 @@ export declare class ProfileFixerService {
|
|||||||
* @param pmcProfile Profile to update
|
* @param pmcProfile Profile to update
|
||||||
*/
|
*/
|
||||||
removeLegacyScavCaseProductionCrafts(pmcProfile: IPmcData): void;
|
removeLegacyScavCaseProductionCrafts(pmcProfile: IPmcData): void;
|
||||||
|
/**
|
||||||
|
* 3.7.0 moved AIDs to be numeric, old profiles need to be migrated
|
||||||
|
* We store the old AID value in new field `sessionId`
|
||||||
|
* @param fullProfile Profile to update
|
||||||
|
*/
|
||||||
|
fixIncorrectAidValue(fullProfile: IAkiProfile): void;
|
||||||
|
/**
|
||||||
|
* Bsg nested `stats` into a sub object called 'eft'
|
||||||
|
* @param fullProfile Profile to check for and migrate stats data
|
||||||
|
*/
|
||||||
|
migrateStatsToNewStructure(fullProfile: IAkiProfile): void;
|
||||||
/**
|
/**
|
||||||
* 26126 (7th August) requires bonuses to have an ID, these were not included in the default profile presets
|
* 26126 (7th August) requires bonuses to have an ID, these were not included in the default profile presets
|
||||||
* @param pmcProfile Profile to add missing IDs to
|
* @param pmcProfile Profile to add missing IDs to
|
||||||
@ -136,7 +149,7 @@ export declare class ProfileFixerService {
|
|||||||
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
||||||
/**
|
/**
|
||||||
* At some point the property name was changed,migrate data across to new name
|
* At some point the property name was changed,migrate data across to new name
|
||||||
* @param pmcProfile
|
* @param pmcProfile Profile to migrate improvements in
|
||||||
*/
|
*/
|
||||||
protected migrateImprovements(pmcProfile: IPmcData): void;
|
protected migrateImprovements(pmcProfile: IPmcData): void;
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,6 @@ import { LocalisationService } from "../services/LocalisationService";
|
|||||||
import { OpenZoneService } from "../services/OpenZoneService";
|
import { OpenZoneService } from "../services/OpenZoneService";
|
||||||
import { ProfileFixerService } from "../services/ProfileFixerService";
|
import { ProfileFixerService } from "../services/ProfileFixerService";
|
||||||
import { SeasonalEventService } from "../services/SeasonalEventService";
|
import { SeasonalEventService } from "../services/SeasonalEventService";
|
||||||
import { HashUtil } from "../utils/HashUtil";
|
|
||||||
import { JsonUtil } from "../utils/JsonUtil";
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
import { RandomUtil } from "../utils/RandomUtil";
|
import { RandomUtil } from "../utils/RandomUtil";
|
||||||
import { TimeUtil } from "../utils/TimeUtil";
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
@ -36,7 +35,6 @@ export declare class GameController {
|
|||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected jsonUtil: JsonUtil;
|
protected jsonUtil: JsonUtil;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
protected hashUtil: HashUtil;
|
|
||||||
protected preAkiModLoader: PreAkiModLoader;
|
protected preAkiModLoader: PreAkiModLoader;
|
||||||
protected httpServerHelper: HttpServerHelper;
|
protected httpServerHelper: HttpServerHelper;
|
||||||
protected randomUtil: RandomUtil;
|
protected randomUtil: RandomUtil;
|
||||||
@ -58,7 +56,7 @@ export declare class GameController {
|
|||||||
protected ragfairConfig: IRagfairConfig;
|
protected ragfairConfig: IRagfairConfig;
|
||||||
protected pmcConfig: IPmcConfig;
|
protected pmcConfig: IPmcConfig;
|
||||||
protected lootConfig: ILootConfig;
|
protected lootConfig: ILootConfig;
|
||||||
constructor(logger: ILogger, databaseServer: DatabaseServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, hashUtil: HashUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, randomUtil: RandomUtil, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, itemBaseClassService: ItemBaseClassService, giftService: GiftService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
constructor(logger: ILogger, databaseServer: DatabaseServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, randomUtil: RandomUtil, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, itemBaseClassService: ItemBaseClassService, giftService: GiftService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
||||||
load(): void;
|
load(): void;
|
||||||
/**
|
/**
|
||||||
* Handle client/game/start
|
* Handle client/game/start
|
||||||
@ -67,12 +65,6 @@ export declare class GameController {
|
|||||||
protected addCustomLooseLootPositions(): void;
|
protected addCustomLooseLootPositions(): void;
|
||||||
protected adjustLooseLootSpawnProbabilities(): void;
|
protected adjustLooseLootSpawnProbabilities(): void;
|
||||||
protected setHideoutAreasAndCraftsTo40Secs(): void;
|
protected setHideoutAreasAndCraftsTo40Secs(): void;
|
||||||
/**
|
|
||||||
* 3.7.0 moved AIDs to be numeric, old profiles need to be migrated
|
|
||||||
* We store the old AID value in new field `sessionId`
|
|
||||||
* @param fullProfile Profile to update
|
|
||||||
*/
|
|
||||||
protected fixIncorrectAidValue(fullProfile: IAkiProfile): void;
|
|
||||||
/** Apply custom limits on bot types as defined in configs/location.json/botTypeLimits */
|
/** Apply custom limits on bot types as defined in configs/location.json/botTypeLimits */
|
||||||
protected adjustMapBotLimits(): void;
|
protected adjustMapBotLimits(): void;
|
||||||
/**
|
/**
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
import { DependencyContainer } from "tsyringe";
|
import { DependencyContainer } from "tsyringe";
|
||||||
|
import { ModDetails } from "../models/eft/profile/IAkiProfile";
|
||||||
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
||||||
import { IModLoader } from "../models/spt/mod/IModLoader";
|
import { IModLoader } from "../models/spt/mod/IModLoader";
|
||||||
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
||||||
@ -35,6 +36,7 @@ export declare class PreAkiModLoader implements IModLoader {
|
|||||||
*/
|
*/
|
||||||
getImportedModsNames(): string[];
|
getImportedModsNames(): string[];
|
||||||
getImportedModDetails(): Record<string, IPackageJsonData>;
|
getImportedModDetails(): Record<string, IPackageJsonData>;
|
||||||
|
getProfileModsGroupedByModName(profileMods: ModDetails[]): ModDetails[];
|
||||||
getModPath(mod: string): string;
|
getModPath(mod: string): string;
|
||||||
protected importMods(): Promise<void>;
|
protected importMods(): Promise<void>;
|
||||||
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
||||||
|
@ -6,8 +6,19 @@ export interface IRepairConfig extends IBaseConfig {
|
|||||||
applyRandomizeDurabilityLoss: boolean;
|
applyRandomizeDurabilityLoss: boolean;
|
||||||
weaponSkillRepairGain: number;
|
weaponSkillRepairGain: number;
|
||||||
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
||||||
|
/** INT gain multiplier per repaired item type */
|
||||||
|
repairKitIntellectGainMultiplier: IIntellectGainValues;
|
||||||
|
maxIntellectGainPerRepair: IMaxIntellectGainValues;
|
||||||
repairKit: RepairKit;
|
repairKit: RepairKit;
|
||||||
}
|
}
|
||||||
|
export interface IIntellectGainValues {
|
||||||
|
weapon: number;
|
||||||
|
armor: number;
|
||||||
|
}
|
||||||
|
export interface IMaxIntellectGainValues {
|
||||||
|
kit: number;
|
||||||
|
trader: number;
|
||||||
|
}
|
||||||
export interface RepairKit {
|
export interface RepairKit {
|
||||||
armor: BonusSettings;
|
armor: BonusSettings;
|
||||||
weapon: BonusSettings;
|
weapon: BonusSettings;
|
||||||
|
@ -29,7 +29,7 @@ export declare class EventOutputHolder {
|
|||||||
/**
|
/**
|
||||||
* Convert the internal trader data object into an object we can send to the client
|
* Convert the internal trader data object into an object we can send to the client
|
||||||
* @param traderData server data for traders
|
* @param traderData server data for traders
|
||||||
* @returns
|
* @returns dict of trader id + TraderData
|
||||||
*/
|
*/
|
||||||
protected constructTraderRelations(traderData: Record<string, TraderInfo>): Record<string, TraderData>;
|
protected constructTraderRelations(traderData: Record<string, TraderInfo>): Record<string, TraderData>;
|
||||||
/**
|
/**
|
||||||
|
@ -14,6 +14,7 @@ import { IRagfairConfig } from "../models/spt/config/IRagfairConfig";
|
|||||||
import { ILogger } from "../models/spt/utils/ILogger";
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
import { ConfigServer } from "../servers/ConfigServer";
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
import { HashUtil } from "../utils/HashUtil";
|
||||||
import { JsonUtil } from "../utils/JsonUtil";
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
import { TimeUtil } from "../utils/TimeUtil";
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
import { Watermark } from "../utils/Watermark";
|
import { Watermark } from "../utils/Watermark";
|
||||||
@ -29,11 +30,12 @@ export declare class ProfileFixerService {
|
|||||||
protected localisationService: LocalisationService;
|
protected localisationService: LocalisationService;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
protected jsonUtil: JsonUtil;
|
protected jsonUtil: JsonUtil;
|
||||||
|
protected hashUtil: HashUtil;
|
||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected configServer: ConfigServer;
|
protected configServer: ConfigServer;
|
||||||
protected coreConfig: ICoreConfig;
|
protected coreConfig: ICoreConfig;
|
||||||
protected ragfairConfig: IRagfairConfig;
|
protected ragfairConfig: IRagfairConfig;
|
||||||
constructor(logger: ILogger, watermark: Watermark, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, configServer: ConfigServer);
|
constructor(logger: ILogger, watermark: Watermark, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, databaseServer: DatabaseServer, configServer: ConfigServer);
|
||||||
/**
|
/**
|
||||||
* Find issues in the pmc profile data that may cause issues and fix them
|
* Find issues in the pmc profile data that may cause issues and fix them
|
||||||
* @param pmcProfile profile to check and fix
|
* @param pmcProfile profile to check and fix
|
||||||
@ -129,6 +131,17 @@ export declare class ProfileFixerService {
|
|||||||
* @param pmcProfile Profile to update
|
* @param pmcProfile Profile to update
|
||||||
*/
|
*/
|
||||||
removeLegacyScavCaseProductionCrafts(pmcProfile: IPmcData): void;
|
removeLegacyScavCaseProductionCrafts(pmcProfile: IPmcData): void;
|
||||||
|
/**
|
||||||
|
* 3.7.0 moved AIDs to be numeric, old profiles need to be migrated
|
||||||
|
* We store the old AID value in new field `sessionId`
|
||||||
|
* @param fullProfile Profile to update
|
||||||
|
*/
|
||||||
|
fixIncorrectAidValue(fullProfile: IAkiProfile): void;
|
||||||
|
/**
|
||||||
|
* Bsg nested `stats` into a sub object called 'eft'
|
||||||
|
* @param fullProfile Profile to check for and migrate stats data
|
||||||
|
*/
|
||||||
|
migrateStatsToNewStructure(fullProfile: IAkiProfile): void;
|
||||||
/**
|
/**
|
||||||
* 26126 (7th August) requires bonuses to have an ID, these were not included in the default profile presets
|
* 26126 (7th August) requires bonuses to have an ID, these were not included in the default profile presets
|
||||||
* @param pmcProfile Profile to add missing IDs to
|
* @param pmcProfile Profile to add missing IDs to
|
||||||
@ -136,7 +149,7 @@ export declare class ProfileFixerService {
|
|||||||
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
||||||
/**
|
/**
|
||||||
* At some point the property name was changed,migrate data across to new name
|
* At some point the property name was changed,migrate data across to new name
|
||||||
* @param pmcProfile
|
* @param pmcProfile Profile to migrate improvements in
|
||||||
*/
|
*/
|
||||||
protected migrateImprovements(pmcProfile: IPmcData): void;
|
protected migrateImprovements(pmcProfile: IPmcData): void;
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,6 @@ import { LocalisationService } from "../services/LocalisationService";
|
|||||||
import { OpenZoneService } from "../services/OpenZoneService";
|
import { OpenZoneService } from "../services/OpenZoneService";
|
||||||
import { ProfileFixerService } from "../services/ProfileFixerService";
|
import { ProfileFixerService } from "../services/ProfileFixerService";
|
||||||
import { SeasonalEventService } from "../services/SeasonalEventService";
|
import { SeasonalEventService } from "../services/SeasonalEventService";
|
||||||
import { HashUtil } from "../utils/HashUtil";
|
|
||||||
import { JsonUtil } from "../utils/JsonUtil";
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
import { RandomUtil } from "../utils/RandomUtil";
|
import { RandomUtil } from "../utils/RandomUtil";
|
||||||
import { TimeUtil } from "../utils/TimeUtil";
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
@ -36,7 +35,6 @@ export declare class GameController {
|
|||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected jsonUtil: JsonUtil;
|
protected jsonUtil: JsonUtil;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
protected hashUtil: HashUtil;
|
|
||||||
protected preAkiModLoader: PreAkiModLoader;
|
protected preAkiModLoader: PreAkiModLoader;
|
||||||
protected httpServerHelper: HttpServerHelper;
|
protected httpServerHelper: HttpServerHelper;
|
||||||
protected randomUtil: RandomUtil;
|
protected randomUtil: RandomUtil;
|
||||||
@ -58,7 +56,7 @@ export declare class GameController {
|
|||||||
protected ragfairConfig: IRagfairConfig;
|
protected ragfairConfig: IRagfairConfig;
|
||||||
protected pmcConfig: IPmcConfig;
|
protected pmcConfig: IPmcConfig;
|
||||||
protected lootConfig: ILootConfig;
|
protected lootConfig: ILootConfig;
|
||||||
constructor(logger: ILogger, databaseServer: DatabaseServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, hashUtil: HashUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, randomUtil: RandomUtil, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, itemBaseClassService: ItemBaseClassService, giftService: GiftService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
constructor(logger: ILogger, databaseServer: DatabaseServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, randomUtil: RandomUtil, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, itemBaseClassService: ItemBaseClassService, giftService: GiftService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
||||||
load(): void;
|
load(): void;
|
||||||
/**
|
/**
|
||||||
* Handle client/game/start
|
* Handle client/game/start
|
||||||
@ -67,12 +65,6 @@ export declare class GameController {
|
|||||||
protected addCustomLooseLootPositions(): void;
|
protected addCustomLooseLootPositions(): void;
|
||||||
protected adjustLooseLootSpawnProbabilities(): void;
|
protected adjustLooseLootSpawnProbabilities(): void;
|
||||||
protected setHideoutAreasAndCraftsTo40Secs(): void;
|
protected setHideoutAreasAndCraftsTo40Secs(): void;
|
||||||
/**
|
|
||||||
* 3.7.0 moved AIDs to be numeric, old profiles need to be migrated
|
|
||||||
* We store the old AID value in new field `sessionId`
|
|
||||||
* @param fullProfile Profile to update
|
|
||||||
*/
|
|
||||||
protected fixIncorrectAidValue(fullProfile: IAkiProfile): void;
|
|
||||||
/** Apply custom limits on bot types as defined in configs/location.json/botTypeLimits */
|
/** Apply custom limits on bot types as defined in configs/location.json/botTypeLimits */
|
||||||
protected adjustMapBotLimits(): void;
|
protected adjustMapBotLimits(): void;
|
||||||
/**
|
/**
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
import { DependencyContainer } from "tsyringe";
|
import { DependencyContainer } from "tsyringe";
|
||||||
|
import { ModDetails } from "../models/eft/profile/IAkiProfile";
|
||||||
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
||||||
import { IModLoader } from "../models/spt/mod/IModLoader";
|
import { IModLoader } from "../models/spt/mod/IModLoader";
|
||||||
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
||||||
@ -35,6 +36,7 @@ export declare class PreAkiModLoader implements IModLoader {
|
|||||||
*/
|
*/
|
||||||
getImportedModsNames(): string[];
|
getImportedModsNames(): string[];
|
||||||
getImportedModDetails(): Record<string, IPackageJsonData>;
|
getImportedModDetails(): Record<string, IPackageJsonData>;
|
||||||
|
getProfileModsGroupedByModName(profileMods: ModDetails[]): ModDetails[];
|
||||||
getModPath(mod: string): string;
|
getModPath(mod: string): string;
|
||||||
protected importMods(): Promise<void>;
|
protected importMods(): Promise<void>;
|
||||||
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
||||||
|
@ -6,8 +6,19 @@ export interface IRepairConfig extends IBaseConfig {
|
|||||||
applyRandomizeDurabilityLoss: boolean;
|
applyRandomizeDurabilityLoss: boolean;
|
||||||
weaponSkillRepairGain: number;
|
weaponSkillRepairGain: number;
|
||||||
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
||||||
|
/** INT gain multiplier per repaired item type */
|
||||||
|
repairKitIntellectGainMultiplier: IIntellectGainValues;
|
||||||
|
maxIntellectGainPerRepair: IMaxIntellectGainValues;
|
||||||
repairKit: RepairKit;
|
repairKit: RepairKit;
|
||||||
}
|
}
|
||||||
|
export interface IIntellectGainValues {
|
||||||
|
weapon: number;
|
||||||
|
armor: number;
|
||||||
|
}
|
||||||
|
export interface IMaxIntellectGainValues {
|
||||||
|
kit: number;
|
||||||
|
trader: number;
|
||||||
|
}
|
||||||
export interface RepairKit {
|
export interface RepairKit {
|
||||||
armor: BonusSettings;
|
armor: BonusSettings;
|
||||||
weapon: BonusSettings;
|
weapon: BonusSettings;
|
||||||
|
@ -29,7 +29,7 @@ export declare class EventOutputHolder {
|
|||||||
/**
|
/**
|
||||||
* Convert the internal trader data object into an object we can send to the client
|
* Convert the internal trader data object into an object we can send to the client
|
||||||
* @param traderData server data for traders
|
* @param traderData server data for traders
|
||||||
* @returns
|
* @returns dict of trader id + TraderData
|
||||||
*/
|
*/
|
||||||
protected constructTraderRelations(traderData: Record<string, TraderInfo>): Record<string, TraderData>;
|
protected constructTraderRelations(traderData: Record<string, TraderInfo>): Record<string, TraderData>;
|
||||||
/**
|
/**
|
||||||
|
@ -14,6 +14,7 @@ import { IRagfairConfig } from "../models/spt/config/IRagfairConfig";
|
|||||||
import { ILogger } from "../models/spt/utils/ILogger";
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
import { ConfigServer } from "../servers/ConfigServer";
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
import { HashUtil } from "../utils/HashUtil";
|
||||||
import { JsonUtil } from "../utils/JsonUtil";
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
import { TimeUtil } from "../utils/TimeUtil";
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
import { Watermark } from "../utils/Watermark";
|
import { Watermark } from "../utils/Watermark";
|
||||||
@ -29,11 +30,12 @@ export declare class ProfileFixerService {
|
|||||||
protected localisationService: LocalisationService;
|
protected localisationService: LocalisationService;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
protected jsonUtil: JsonUtil;
|
protected jsonUtil: JsonUtil;
|
||||||
|
protected hashUtil: HashUtil;
|
||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected configServer: ConfigServer;
|
protected configServer: ConfigServer;
|
||||||
protected coreConfig: ICoreConfig;
|
protected coreConfig: ICoreConfig;
|
||||||
protected ragfairConfig: IRagfairConfig;
|
protected ragfairConfig: IRagfairConfig;
|
||||||
constructor(logger: ILogger, watermark: Watermark, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, configServer: ConfigServer);
|
constructor(logger: ILogger, watermark: Watermark, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, databaseServer: DatabaseServer, configServer: ConfigServer);
|
||||||
/**
|
/**
|
||||||
* Find issues in the pmc profile data that may cause issues and fix them
|
* Find issues in the pmc profile data that may cause issues and fix them
|
||||||
* @param pmcProfile profile to check and fix
|
* @param pmcProfile profile to check and fix
|
||||||
@ -129,6 +131,17 @@ export declare class ProfileFixerService {
|
|||||||
* @param pmcProfile Profile to update
|
* @param pmcProfile Profile to update
|
||||||
*/
|
*/
|
||||||
removeLegacyScavCaseProductionCrafts(pmcProfile: IPmcData): void;
|
removeLegacyScavCaseProductionCrafts(pmcProfile: IPmcData): void;
|
||||||
|
/**
|
||||||
|
* 3.7.0 moved AIDs to be numeric, old profiles need to be migrated
|
||||||
|
* We store the old AID value in new field `sessionId`
|
||||||
|
* @param fullProfile Profile to update
|
||||||
|
*/
|
||||||
|
fixIncorrectAidValue(fullProfile: IAkiProfile): void;
|
||||||
|
/**
|
||||||
|
* Bsg nested `stats` into a sub object called 'eft'
|
||||||
|
* @param fullProfile Profile to check for and migrate stats data
|
||||||
|
*/
|
||||||
|
migrateStatsToNewStructure(fullProfile: IAkiProfile): void;
|
||||||
/**
|
/**
|
||||||
* 26126 (7th August) requires bonuses to have an ID, these were not included in the default profile presets
|
* 26126 (7th August) requires bonuses to have an ID, these were not included in the default profile presets
|
||||||
* @param pmcProfile Profile to add missing IDs to
|
* @param pmcProfile Profile to add missing IDs to
|
||||||
@ -136,7 +149,7 @@ export declare class ProfileFixerService {
|
|||||||
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
||||||
/**
|
/**
|
||||||
* At some point the property name was changed,migrate data across to new name
|
* At some point the property name was changed,migrate data across to new name
|
||||||
* @param pmcProfile
|
* @param pmcProfile Profile to migrate improvements in
|
||||||
*/
|
*/
|
||||||
protected migrateImprovements(pmcProfile: IPmcData): void;
|
protected migrateImprovements(pmcProfile: IPmcData): void;
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,6 @@ import { LocalisationService } from "../services/LocalisationService";
|
|||||||
import { OpenZoneService } from "../services/OpenZoneService";
|
import { OpenZoneService } from "../services/OpenZoneService";
|
||||||
import { ProfileFixerService } from "../services/ProfileFixerService";
|
import { ProfileFixerService } from "../services/ProfileFixerService";
|
||||||
import { SeasonalEventService } from "../services/SeasonalEventService";
|
import { SeasonalEventService } from "../services/SeasonalEventService";
|
||||||
import { HashUtil } from "../utils/HashUtil";
|
|
||||||
import { JsonUtil } from "../utils/JsonUtil";
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
import { RandomUtil } from "../utils/RandomUtil";
|
import { RandomUtil } from "../utils/RandomUtil";
|
||||||
import { TimeUtil } from "../utils/TimeUtil";
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
@ -36,7 +35,6 @@ export declare class GameController {
|
|||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected jsonUtil: JsonUtil;
|
protected jsonUtil: JsonUtil;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
protected hashUtil: HashUtil;
|
|
||||||
protected preAkiModLoader: PreAkiModLoader;
|
protected preAkiModLoader: PreAkiModLoader;
|
||||||
protected httpServerHelper: HttpServerHelper;
|
protected httpServerHelper: HttpServerHelper;
|
||||||
protected randomUtil: RandomUtil;
|
protected randomUtil: RandomUtil;
|
||||||
@ -58,7 +56,7 @@ export declare class GameController {
|
|||||||
protected ragfairConfig: IRagfairConfig;
|
protected ragfairConfig: IRagfairConfig;
|
||||||
protected pmcConfig: IPmcConfig;
|
protected pmcConfig: IPmcConfig;
|
||||||
protected lootConfig: ILootConfig;
|
protected lootConfig: ILootConfig;
|
||||||
constructor(logger: ILogger, databaseServer: DatabaseServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, hashUtil: HashUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, randomUtil: RandomUtil, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, itemBaseClassService: ItemBaseClassService, giftService: GiftService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
constructor(logger: ILogger, databaseServer: DatabaseServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, randomUtil: RandomUtil, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, itemBaseClassService: ItemBaseClassService, giftService: GiftService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
||||||
load(): void;
|
load(): void;
|
||||||
/**
|
/**
|
||||||
* Handle client/game/start
|
* Handle client/game/start
|
||||||
@ -67,12 +65,6 @@ export declare class GameController {
|
|||||||
protected addCustomLooseLootPositions(): void;
|
protected addCustomLooseLootPositions(): void;
|
||||||
protected adjustLooseLootSpawnProbabilities(): void;
|
protected adjustLooseLootSpawnProbabilities(): void;
|
||||||
protected setHideoutAreasAndCraftsTo40Secs(): void;
|
protected setHideoutAreasAndCraftsTo40Secs(): void;
|
||||||
/**
|
|
||||||
* 3.7.0 moved AIDs to be numeric, old profiles need to be migrated
|
|
||||||
* We store the old AID value in new field `sessionId`
|
|
||||||
* @param fullProfile Profile to update
|
|
||||||
*/
|
|
||||||
protected fixIncorrectAidValue(fullProfile: IAkiProfile): void;
|
|
||||||
/** Apply custom limits on bot types as defined in configs/location.json/botTypeLimits */
|
/** Apply custom limits on bot types as defined in configs/location.json/botTypeLimits */
|
||||||
protected adjustMapBotLimits(): void;
|
protected adjustMapBotLimits(): void;
|
||||||
/**
|
/**
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
import { DependencyContainer } from "tsyringe";
|
import { DependencyContainer } from "tsyringe";
|
||||||
|
import { ModDetails } from "../models/eft/profile/IAkiProfile";
|
||||||
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
||||||
import { IModLoader } from "../models/spt/mod/IModLoader";
|
import { IModLoader } from "../models/spt/mod/IModLoader";
|
||||||
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
||||||
@ -35,6 +36,7 @@ export declare class PreAkiModLoader implements IModLoader {
|
|||||||
*/
|
*/
|
||||||
getImportedModsNames(): string[];
|
getImportedModsNames(): string[];
|
||||||
getImportedModDetails(): Record<string, IPackageJsonData>;
|
getImportedModDetails(): Record<string, IPackageJsonData>;
|
||||||
|
getProfileModsGroupedByModName(profileMods: ModDetails[]): ModDetails[];
|
||||||
getModPath(mod: string): string;
|
getModPath(mod: string): string;
|
||||||
protected importMods(): Promise<void>;
|
protected importMods(): Promise<void>;
|
||||||
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
||||||
|
@ -6,8 +6,19 @@ export interface IRepairConfig extends IBaseConfig {
|
|||||||
applyRandomizeDurabilityLoss: boolean;
|
applyRandomizeDurabilityLoss: boolean;
|
||||||
weaponSkillRepairGain: number;
|
weaponSkillRepairGain: number;
|
||||||
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
||||||
|
/** INT gain multiplier per repaired item type */
|
||||||
|
repairKitIntellectGainMultiplier: IIntellectGainValues;
|
||||||
|
maxIntellectGainPerRepair: IMaxIntellectGainValues;
|
||||||
repairKit: RepairKit;
|
repairKit: RepairKit;
|
||||||
}
|
}
|
||||||
|
export interface IIntellectGainValues {
|
||||||
|
weapon: number;
|
||||||
|
armor: number;
|
||||||
|
}
|
||||||
|
export interface IMaxIntellectGainValues {
|
||||||
|
kit: number;
|
||||||
|
trader: number;
|
||||||
|
}
|
||||||
export interface RepairKit {
|
export interface RepairKit {
|
||||||
armor: BonusSettings;
|
armor: BonusSettings;
|
||||||
weapon: BonusSettings;
|
weapon: BonusSettings;
|
||||||
|
@ -29,7 +29,7 @@ export declare class EventOutputHolder {
|
|||||||
/**
|
/**
|
||||||
* Convert the internal trader data object into an object we can send to the client
|
* Convert the internal trader data object into an object we can send to the client
|
||||||
* @param traderData server data for traders
|
* @param traderData server data for traders
|
||||||
* @returns
|
* @returns dict of trader id + TraderData
|
||||||
*/
|
*/
|
||||||
protected constructTraderRelations(traderData: Record<string, TraderInfo>): Record<string, TraderData>;
|
protected constructTraderRelations(traderData: Record<string, TraderInfo>): Record<string, TraderData>;
|
||||||
/**
|
/**
|
||||||
|
@ -14,6 +14,7 @@ import { IRagfairConfig } from "../models/spt/config/IRagfairConfig";
|
|||||||
import { ILogger } from "../models/spt/utils/ILogger";
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
import { ConfigServer } from "../servers/ConfigServer";
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
import { HashUtil } from "../utils/HashUtil";
|
||||||
import { JsonUtil } from "../utils/JsonUtil";
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
import { TimeUtil } from "../utils/TimeUtil";
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
import { Watermark } from "../utils/Watermark";
|
import { Watermark } from "../utils/Watermark";
|
||||||
@ -29,11 +30,12 @@ export declare class ProfileFixerService {
|
|||||||
protected localisationService: LocalisationService;
|
protected localisationService: LocalisationService;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
protected jsonUtil: JsonUtil;
|
protected jsonUtil: JsonUtil;
|
||||||
|
protected hashUtil: HashUtil;
|
||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected configServer: ConfigServer;
|
protected configServer: ConfigServer;
|
||||||
protected coreConfig: ICoreConfig;
|
protected coreConfig: ICoreConfig;
|
||||||
protected ragfairConfig: IRagfairConfig;
|
protected ragfairConfig: IRagfairConfig;
|
||||||
constructor(logger: ILogger, watermark: Watermark, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, configServer: ConfigServer);
|
constructor(logger: ILogger, watermark: Watermark, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, databaseServer: DatabaseServer, configServer: ConfigServer);
|
||||||
/**
|
/**
|
||||||
* Find issues in the pmc profile data that may cause issues and fix them
|
* Find issues in the pmc profile data that may cause issues and fix them
|
||||||
* @param pmcProfile profile to check and fix
|
* @param pmcProfile profile to check and fix
|
||||||
@ -129,6 +131,17 @@ export declare class ProfileFixerService {
|
|||||||
* @param pmcProfile Profile to update
|
* @param pmcProfile Profile to update
|
||||||
*/
|
*/
|
||||||
removeLegacyScavCaseProductionCrafts(pmcProfile: IPmcData): void;
|
removeLegacyScavCaseProductionCrafts(pmcProfile: IPmcData): void;
|
||||||
|
/**
|
||||||
|
* 3.7.0 moved AIDs to be numeric, old profiles need to be migrated
|
||||||
|
* We store the old AID value in new field `sessionId`
|
||||||
|
* @param fullProfile Profile to update
|
||||||
|
*/
|
||||||
|
fixIncorrectAidValue(fullProfile: IAkiProfile): void;
|
||||||
|
/**
|
||||||
|
* Bsg nested `stats` into a sub object called 'eft'
|
||||||
|
* @param fullProfile Profile to check for and migrate stats data
|
||||||
|
*/
|
||||||
|
migrateStatsToNewStructure(fullProfile: IAkiProfile): void;
|
||||||
/**
|
/**
|
||||||
* 26126 (7th August) requires bonuses to have an ID, these were not included in the default profile presets
|
* 26126 (7th August) requires bonuses to have an ID, these were not included in the default profile presets
|
||||||
* @param pmcProfile Profile to add missing IDs to
|
* @param pmcProfile Profile to add missing IDs to
|
||||||
@ -136,7 +149,7 @@ export declare class ProfileFixerService {
|
|||||||
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
||||||
/**
|
/**
|
||||||
* At some point the property name was changed,migrate data across to new name
|
* At some point the property name was changed,migrate data across to new name
|
||||||
* @param pmcProfile
|
* @param pmcProfile Profile to migrate improvements in
|
||||||
*/
|
*/
|
||||||
protected migrateImprovements(pmcProfile: IPmcData): void;
|
protected migrateImprovements(pmcProfile: IPmcData): void;
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,6 @@ import { LocalisationService } from "../services/LocalisationService";
|
|||||||
import { OpenZoneService } from "../services/OpenZoneService";
|
import { OpenZoneService } from "../services/OpenZoneService";
|
||||||
import { ProfileFixerService } from "../services/ProfileFixerService";
|
import { ProfileFixerService } from "../services/ProfileFixerService";
|
||||||
import { SeasonalEventService } from "../services/SeasonalEventService";
|
import { SeasonalEventService } from "../services/SeasonalEventService";
|
||||||
import { HashUtil } from "../utils/HashUtil";
|
|
||||||
import { JsonUtil } from "../utils/JsonUtil";
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
import { RandomUtil } from "../utils/RandomUtil";
|
import { RandomUtil } from "../utils/RandomUtil";
|
||||||
import { TimeUtil } from "../utils/TimeUtil";
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
@ -36,7 +35,6 @@ export declare class GameController {
|
|||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected jsonUtil: JsonUtil;
|
protected jsonUtil: JsonUtil;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
protected hashUtil: HashUtil;
|
|
||||||
protected preAkiModLoader: PreAkiModLoader;
|
protected preAkiModLoader: PreAkiModLoader;
|
||||||
protected httpServerHelper: HttpServerHelper;
|
protected httpServerHelper: HttpServerHelper;
|
||||||
protected randomUtil: RandomUtil;
|
protected randomUtil: RandomUtil;
|
||||||
@ -58,7 +56,7 @@ export declare class GameController {
|
|||||||
protected ragfairConfig: IRagfairConfig;
|
protected ragfairConfig: IRagfairConfig;
|
||||||
protected pmcConfig: IPmcConfig;
|
protected pmcConfig: IPmcConfig;
|
||||||
protected lootConfig: ILootConfig;
|
protected lootConfig: ILootConfig;
|
||||||
constructor(logger: ILogger, databaseServer: DatabaseServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, hashUtil: HashUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, randomUtil: RandomUtil, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, itemBaseClassService: ItemBaseClassService, giftService: GiftService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
constructor(logger: ILogger, databaseServer: DatabaseServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, randomUtil: RandomUtil, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, itemBaseClassService: ItemBaseClassService, giftService: GiftService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
||||||
load(): void;
|
load(): void;
|
||||||
/**
|
/**
|
||||||
* Handle client/game/start
|
* Handle client/game/start
|
||||||
@ -67,12 +65,6 @@ export declare class GameController {
|
|||||||
protected addCustomLooseLootPositions(): void;
|
protected addCustomLooseLootPositions(): void;
|
||||||
protected adjustLooseLootSpawnProbabilities(): void;
|
protected adjustLooseLootSpawnProbabilities(): void;
|
||||||
protected setHideoutAreasAndCraftsTo40Secs(): void;
|
protected setHideoutAreasAndCraftsTo40Secs(): void;
|
||||||
/**
|
|
||||||
* 3.7.0 moved AIDs to be numeric, old profiles need to be migrated
|
|
||||||
* We store the old AID value in new field `sessionId`
|
|
||||||
* @param fullProfile Profile to update
|
|
||||||
*/
|
|
||||||
protected fixIncorrectAidValue(fullProfile: IAkiProfile): void;
|
|
||||||
/** Apply custom limits on bot types as defined in configs/location.json/botTypeLimits */
|
/** Apply custom limits on bot types as defined in configs/location.json/botTypeLimits */
|
||||||
protected adjustMapBotLimits(): void;
|
protected adjustMapBotLimits(): void;
|
||||||
/**
|
/**
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
import { DependencyContainer } from "tsyringe";
|
import { DependencyContainer } from "tsyringe";
|
||||||
|
import { ModDetails } from "../models/eft/profile/IAkiProfile";
|
||||||
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
||||||
import { IModLoader } from "../models/spt/mod/IModLoader";
|
import { IModLoader } from "../models/spt/mod/IModLoader";
|
||||||
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
||||||
@ -35,6 +36,7 @@ export declare class PreAkiModLoader implements IModLoader {
|
|||||||
*/
|
*/
|
||||||
getImportedModsNames(): string[];
|
getImportedModsNames(): string[];
|
||||||
getImportedModDetails(): Record<string, IPackageJsonData>;
|
getImportedModDetails(): Record<string, IPackageJsonData>;
|
||||||
|
getProfileModsGroupedByModName(profileMods: ModDetails[]): ModDetails[];
|
||||||
getModPath(mod: string): string;
|
getModPath(mod: string): string;
|
||||||
protected importMods(): Promise<void>;
|
protected importMods(): Promise<void>;
|
||||||
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
||||||
|
@ -6,8 +6,19 @@ export interface IRepairConfig extends IBaseConfig {
|
|||||||
applyRandomizeDurabilityLoss: boolean;
|
applyRandomizeDurabilityLoss: boolean;
|
||||||
weaponSkillRepairGain: number;
|
weaponSkillRepairGain: number;
|
||||||
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
||||||
|
/** INT gain multiplier per repaired item type */
|
||||||
|
repairKitIntellectGainMultiplier: IIntellectGainValues;
|
||||||
|
maxIntellectGainPerRepair: IMaxIntellectGainValues;
|
||||||
repairKit: RepairKit;
|
repairKit: RepairKit;
|
||||||
}
|
}
|
||||||
|
export interface IIntellectGainValues {
|
||||||
|
weapon: number;
|
||||||
|
armor: number;
|
||||||
|
}
|
||||||
|
export interface IMaxIntellectGainValues {
|
||||||
|
kit: number;
|
||||||
|
trader: number;
|
||||||
|
}
|
||||||
export interface RepairKit {
|
export interface RepairKit {
|
||||||
armor: BonusSettings;
|
armor: BonusSettings;
|
||||||
weapon: BonusSettings;
|
weapon: BonusSettings;
|
||||||
|
@ -29,7 +29,7 @@ export declare class EventOutputHolder {
|
|||||||
/**
|
/**
|
||||||
* Convert the internal trader data object into an object we can send to the client
|
* Convert the internal trader data object into an object we can send to the client
|
||||||
* @param traderData server data for traders
|
* @param traderData server data for traders
|
||||||
* @returns
|
* @returns dict of trader id + TraderData
|
||||||
*/
|
*/
|
||||||
protected constructTraderRelations(traderData: Record<string, TraderInfo>): Record<string, TraderData>;
|
protected constructTraderRelations(traderData: Record<string, TraderInfo>): Record<string, TraderData>;
|
||||||
/**
|
/**
|
||||||
|
@ -14,6 +14,7 @@ import { IRagfairConfig } from "../models/spt/config/IRagfairConfig";
|
|||||||
import { ILogger } from "../models/spt/utils/ILogger";
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
import { ConfigServer } from "../servers/ConfigServer";
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
import { HashUtil } from "../utils/HashUtil";
|
||||||
import { JsonUtil } from "../utils/JsonUtil";
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
import { TimeUtil } from "../utils/TimeUtil";
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
import { Watermark } from "../utils/Watermark";
|
import { Watermark } from "../utils/Watermark";
|
||||||
@ -29,11 +30,12 @@ export declare class ProfileFixerService {
|
|||||||
protected localisationService: LocalisationService;
|
protected localisationService: LocalisationService;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
protected jsonUtil: JsonUtil;
|
protected jsonUtil: JsonUtil;
|
||||||
|
protected hashUtil: HashUtil;
|
||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected configServer: ConfigServer;
|
protected configServer: ConfigServer;
|
||||||
protected coreConfig: ICoreConfig;
|
protected coreConfig: ICoreConfig;
|
||||||
protected ragfairConfig: IRagfairConfig;
|
protected ragfairConfig: IRagfairConfig;
|
||||||
constructor(logger: ILogger, watermark: Watermark, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, configServer: ConfigServer);
|
constructor(logger: ILogger, watermark: Watermark, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, databaseServer: DatabaseServer, configServer: ConfigServer);
|
||||||
/**
|
/**
|
||||||
* Find issues in the pmc profile data that may cause issues and fix them
|
* Find issues in the pmc profile data that may cause issues and fix them
|
||||||
* @param pmcProfile profile to check and fix
|
* @param pmcProfile profile to check and fix
|
||||||
@ -129,6 +131,17 @@ export declare class ProfileFixerService {
|
|||||||
* @param pmcProfile Profile to update
|
* @param pmcProfile Profile to update
|
||||||
*/
|
*/
|
||||||
removeLegacyScavCaseProductionCrafts(pmcProfile: IPmcData): void;
|
removeLegacyScavCaseProductionCrafts(pmcProfile: IPmcData): void;
|
||||||
|
/**
|
||||||
|
* 3.7.0 moved AIDs to be numeric, old profiles need to be migrated
|
||||||
|
* We store the old AID value in new field `sessionId`
|
||||||
|
* @param fullProfile Profile to update
|
||||||
|
*/
|
||||||
|
fixIncorrectAidValue(fullProfile: IAkiProfile): void;
|
||||||
|
/**
|
||||||
|
* Bsg nested `stats` into a sub object called 'eft'
|
||||||
|
* @param fullProfile Profile to check for and migrate stats data
|
||||||
|
*/
|
||||||
|
migrateStatsToNewStructure(fullProfile: IAkiProfile): void;
|
||||||
/**
|
/**
|
||||||
* 26126 (7th August) requires bonuses to have an ID, these were not included in the default profile presets
|
* 26126 (7th August) requires bonuses to have an ID, these were not included in the default profile presets
|
||||||
* @param pmcProfile Profile to add missing IDs to
|
* @param pmcProfile Profile to add missing IDs to
|
||||||
@ -136,7 +149,7 @@ export declare class ProfileFixerService {
|
|||||||
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
||||||
/**
|
/**
|
||||||
* At some point the property name was changed,migrate data across to new name
|
* At some point the property name was changed,migrate data across to new name
|
||||||
* @param pmcProfile
|
* @param pmcProfile Profile to migrate improvements in
|
||||||
*/
|
*/
|
||||||
protected migrateImprovements(pmcProfile: IPmcData): void;
|
protected migrateImprovements(pmcProfile: IPmcData): void;
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,6 @@ import { LocalisationService } from "../services/LocalisationService";
|
|||||||
import { OpenZoneService } from "../services/OpenZoneService";
|
import { OpenZoneService } from "../services/OpenZoneService";
|
||||||
import { ProfileFixerService } from "../services/ProfileFixerService";
|
import { ProfileFixerService } from "../services/ProfileFixerService";
|
||||||
import { SeasonalEventService } from "../services/SeasonalEventService";
|
import { SeasonalEventService } from "../services/SeasonalEventService";
|
||||||
import { HashUtil } from "../utils/HashUtil";
|
|
||||||
import { JsonUtil } from "../utils/JsonUtil";
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
import { RandomUtil } from "../utils/RandomUtil";
|
import { RandomUtil } from "../utils/RandomUtil";
|
||||||
import { TimeUtil } from "../utils/TimeUtil";
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
@ -36,7 +35,6 @@ export declare class GameController {
|
|||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected jsonUtil: JsonUtil;
|
protected jsonUtil: JsonUtil;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
protected hashUtil: HashUtil;
|
|
||||||
protected preAkiModLoader: PreAkiModLoader;
|
protected preAkiModLoader: PreAkiModLoader;
|
||||||
protected httpServerHelper: HttpServerHelper;
|
protected httpServerHelper: HttpServerHelper;
|
||||||
protected randomUtil: RandomUtil;
|
protected randomUtil: RandomUtil;
|
||||||
@ -58,7 +56,7 @@ export declare class GameController {
|
|||||||
protected ragfairConfig: IRagfairConfig;
|
protected ragfairConfig: IRagfairConfig;
|
||||||
protected pmcConfig: IPmcConfig;
|
protected pmcConfig: IPmcConfig;
|
||||||
protected lootConfig: ILootConfig;
|
protected lootConfig: ILootConfig;
|
||||||
constructor(logger: ILogger, databaseServer: DatabaseServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, hashUtil: HashUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, randomUtil: RandomUtil, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, itemBaseClassService: ItemBaseClassService, giftService: GiftService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
constructor(logger: ILogger, databaseServer: DatabaseServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, randomUtil: RandomUtil, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, itemBaseClassService: ItemBaseClassService, giftService: GiftService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
||||||
load(): void;
|
load(): void;
|
||||||
/**
|
/**
|
||||||
* Handle client/game/start
|
* Handle client/game/start
|
||||||
@ -67,12 +65,6 @@ export declare class GameController {
|
|||||||
protected addCustomLooseLootPositions(): void;
|
protected addCustomLooseLootPositions(): void;
|
||||||
protected adjustLooseLootSpawnProbabilities(): void;
|
protected adjustLooseLootSpawnProbabilities(): void;
|
||||||
protected setHideoutAreasAndCraftsTo40Secs(): void;
|
protected setHideoutAreasAndCraftsTo40Secs(): void;
|
||||||
/**
|
|
||||||
* 3.7.0 moved AIDs to be numeric, old profiles need to be migrated
|
|
||||||
* We store the old AID value in new field `sessionId`
|
|
||||||
* @param fullProfile Profile to update
|
|
||||||
*/
|
|
||||||
protected fixIncorrectAidValue(fullProfile: IAkiProfile): void;
|
|
||||||
/** Apply custom limits on bot types as defined in configs/location.json/botTypeLimits */
|
/** Apply custom limits on bot types as defined in configs/location.json/botTypeLimits */
|
||||||
protected adjustMapBotLimits(): void;
|
protected adjustMapBotLimits(): void;
|
||||||
/**
|
/**
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
import { DependencyContainer } from "tsyringe";
|
import { DependencyContainer } from "tsyringe";
|
||||||
|
import { ModDetails } from "../models/eft/profile/IAkiProfile";
|
||||||
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
||||||
import { IModLoader } from "../models/spt/mod/IModLoader";
|
import { IModLoader } from "../models/spt/mod/IModLoader";
|
||||||
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
||||||
@ -35,6 +36,7 @@ export declare class PreAkiModLoader implements IModLoader {
|
|||||||
*/
|
*/
|
||||||
getImportedModsNames(): string[];
|
getImportedModsNames(): string[];
|
||||||
getImportedModDetails(): Record<string, IPackageJsonData>;
|
getImportedModDetails(): Record<string, IPackageJsonData>;
|
||||||
|
getProfileModsGroupedByModName(profileMods: ModDetails[]): ModDetails[];
|
||||||
getModPath(mod: string): string;
|
getModPath(mod: string): string;
|
||||||
protected importMods(): Promise<void>;
|
protected importMods(): Promise<void>;
|
||||||
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
||||||
|
@ -6,8 +6,19 @@ export interface IRepairConfig extends IBaseConfig {
|
|||||||
applyRandomizeDurabilityLoss: boolean;
|
applyRandomizeDurabilityLoss: boolean;
|
||||||
weaponSkillRepairGain: number;
|
weaponSkillRepairGain: number;
|
||||||
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
||||||
|
/** INT gain multiplier per repaired item type */
|
||||||
|
repairKitIntellectGainMultiplier: IIntellectGainValues;
|
||||||
|
maxIntellectGainPerRepair: IMaxIntellectGainValues;
|
||||||
repairKit: RepairKit;
|
repairKit: RepairKit;
|
||||||
}
|
}
|
||||||
|
export interface IIntellectGainValues {
|
||||||
|
weapon: number;
|
||||||
|
armor: number;
|
||||||
|
}
|
||||||
|
export interface IMaxIntellectGainValues {
|
||||||
|
kit: number;
|
||||||
|
trader: number;
|
||||||
|
}
|
||||||
export interface RepairKit {
|
export interface RepairKit {
|
||||||
armor: BonusSettings;
|
armor: BonusSettings;
|
||||||
weapon: BonusSettings;
|
weapon: BonusSettings;
|
||||||
|
@ -29,7 +29,7 @@ export declare class EventOutputHolder {
|
|||||||
/**
|
/**
|
||||||
* Convert the internal trader data object into an object we can send to the client
|
* Convert the internal trader data object into an object we can send to the client
|
||||||
* @param traderData server data for traders
|
* @param traderData server data for traders
|
||||||
* @returns
|
* @returns dict of trader id + TraderData
|
||||||
*/
|
*/
|
||||||
protected constructTraderRelations(traderData: Record<string, TraderInfo>): Record<string, TraderData>;
|
protected constructTraderRelations(traderData: Record<string, TraderInfo>): Record<string, TraderData>;
|
||||||
/**
|
/**
|
||||||
|
@ -14,6 +14,7 @@ import { IRagfairConfig } from "../models/spt/config/IRagfairConfig";
|
|||||||
import { ILogger } from "../models/spt/utils/ILogger";
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
import { ConfigServer } from "../servers/ConfigServer";
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
import { HashUtil } from "../utils/HashUtil";
|
||||||
import { JsonUtil } from "../utils/JsonUtil";
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
import { TimeUtil } from "../utils/TimeUtil";
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
import { Watermark } from "../utils/Watermark";
|
import { Watermark } from "../utils/Watermark";
|
||||||
@ -29,11 +30,12 @@ export declare class ProfileFixerService {
|
|||||||
protected localisationService: LocalisationService;
|
protected localisationService: LocalisationService;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
protected jsonUtil: JsonUtil;
|
protected jsonUtil: JsonUtil;
|
||||||
|
protected hashUtil: HashUtil;
|
||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected configServer: ConfigServer;
|
protected configServer: ConfigServer;
|
||||||
protected coreConfig: ICoreConfig;
|
protected coreConfig: ICoreConfig;
|
||||||
protected ragfairConfig: IRagfairConfig;
|
protected ragfairConfig: IRagfairConfig;
|
||||||
constructor(logger: ILogger, watermark: Watermark, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, configServer: ConfigServer);
|
constructor(logger: ILogger, watermark: Watermark, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, databaseServer: DatabaseServer, configServer: ConfigServer);
|
||||||
/**
|
/**
|
||||||
* Find issues in the pmc profile data that may cause issues and fix them
|
* Find issues in the pmc profile data that may cause issues and fix them
|
||||||
* @param pmcProfile profile to check and fix
|
* @param pmcProfile profile to check and fix
|
||||||
@ -129,6 +131,17 @@ export declare class ProfileFixerService {
|
|||||||
* @param pmcProfile Profile to update
|
* @param pmcProfile Profile to update
|
||||||
*/
|
*/
|
||||||
removeLegacyScavCaseProductionCrafts(pmcProfile: IPmcData): void;
|
removeLegacyScavCaseProductionCrafts(pmcProfile: IPmcData): void;
|
||||||
|
/**
|
||||||
|
* 3.7.0 moved AIDs to be numeric, old profiles need to be migrated
|
||||||
|
* We store the old AID value in new field `sessionId`
|
||||||
|
* @param fullProfile Profile to update
|
||||||
|
*/
|
||||||
|
fixIncorrectAidValue(fullProfile: IAkiProfile): void;
|
||||||
|
/**
|
||||||
|
* Bsg nested `stats` into a sub object called 'eft'
|
||||||
|
* @param fullProfile Profile to check for and migrate stats data
|
||||||
|
*/
|
||||||
|
migrateStatsToNewStructure(fullProfile: IAkiProfile): void;
|
||||||
/**
|
/**
|
||||||
* 26126 (7th August) requires bonuses to have an ID, these were not included in the default profile presets
|
* 26126 (7th August) requires bonuses to have an ID, these were not included in the default profile presets
|
||||||
* @param pmcProfile Profile to add missing IDs to
|
* @param pmcProfile Profile to add missing IDs to
|
||||||
@ -136,7 +149,7 @@ export declare class ProfileFixerService {
|
|||||||
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
||||||
/**
|
/**
|
||||||
* At some point the property name was changed,migrate data across to new name
|
* At some point the property name was changed,migrate data across to new name
|
||||||
* @param pmcProfile
|
* @param pmcProfile Profile to migrate improvements in
|
||||||
*/
|
*/
|
||||||
protected migrateImprovements(pmcProfile: IPmcData): void;
|
protected migrateImprovements(pmcProfile: IPmcData): void;
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,6 @@ import { LocalisationService } from "../services/LocalisationService";
|
|||||||
import { OpenZoneService } from "../services/OpenZoneService";
|
import { OpenZoneService } from "../services/OpenZoneService";
|
||||||
import { ProfileFixerService } from "../services/ProfileFixerService";
|
import { ProfileFixerService } from "../services/ProfileFixerService";
|
||||||
import { SeasonalEventService } from "../services/SeasonalEventService";
|
import { SeasonalEventService } from "../services/SeasonalEventService";
|
||||||
import { HashUtil } from "../utils/HashUtil";
|
|
||||||
import { JsonUtil } from "../utils/JsonUtil";
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
import { RandomUtil } from "../utils/RandomUtil";
|
import { RandomUtil } from "../utils/RandomUtil";
|
||||||
import { TimeUtil } from "../utils/TimeUtil";
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
@ -36,7 +35,6 @@ export declare class GameController {
|
|||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected jsonUtil: JsonUtil;
|
protected jsonUtil: JsonUtil;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
protected hashUtil: HashUtil;
|
|
||||||
protected preAkiModLoader: PreAkiModLoader;
|
protected preAkiModLoader: PreAkiModLoader;
|
||||||
protected httpServerHelper: HttpServerHelper;
|
protected httpServerHelper: HttpServerHelper;
|
||||||
protected randomUtil: RandomUtil;
|
protected randomUtil: RandomUtil;
|
||||||
@ -58,7 +56,7 @@ export declare class GameController {
|
|||||||
protected ragfairConfig: IRagfairConfig;
|
protected ragfairConfig: IRagfairConfig;
|
||||||
protected pmcConfig: IPmcConfig;
|
protected pmcConfig: IPmcConfig;
|
||||||
protected lootConfig: ILootConfig;
|
protected lootConfig: ILootConfig;
|
||||||
constructor(logger: ILogger, databaseServer: DatabaseServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, hashUtil: HashUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, randomUtil: RandomUtil, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, itemBaseClassService: ItemBaseClassService, giftService: GiftService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
constructor(logger: ILogger, databaseServer: DatabaseServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, randomUtil: RandomUtil, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, itemBaseClassService: ItemBaseClassService, giftService: GiftService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
||||||
load(): void;
|
load(): void;
|
||||||
/**
|
/**
|
||||||
* Handle client/game/start
|
* Handle client/game/start
|
||||||
@ -67,12 +65,6 @@ export declare class GameController {
|
|||||||
protected addCustomLooseLootPositions(): void;
|
protected addCustomLooseLootPositions(): void;
|
||||||
protected adjustLooseLootSpawnProbabilities(): void;
|
protected adjustLooseLootSpawnProbabilities(): void;
|
||||||
protected setHideoutAreasAndCraftsTo40Secs(): void;
|
protected setHideoutAreasAndCraftsTo40Secs(): void;
|
||||||
/**
|
|
||||||
* 3.7.0 moved AIDs to be numeric, old profiles need to be migrated
|
|
||||||
* We store the old AID value in new field `sessionId`
|
|
||||||
* @param fullProfile Profile to update
|
|
||||||
*/
|
|
||||||
protected fixIncorrectAidValue(fullProfile: IAkiProfile): void;
|
|
||||||
/** Apply custom limits on bot types as defined in configs/location.json/botTypeLimits */
|
/** Apply custom limits on bot types as defined in configs/location.json/botTypeLimits */
|
||||||
protected adjustMapBotLimits(): void;
|
protected adjustMapBotLimits(): void;
|
||||||
/**
|
/**
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
import { DependencyContainer } from "tsyringe";
|
import { DependencyContainer } from "tsyringe";
|
||||||
|
import { ModDetails } from "../models/eft/profile/IAkiProfile";
|
||||||
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
||||||
import { IModLoader } from "../models/spt/mod/IModLoader";
|
import { IModLoader } from "../models/spt/mod/IModLoader";
|
||||||
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
||||||
@ -35,6 +36,7 @@ export declare class PreAkiModLoader implements IModLoader {
|
|||||||
*/
|
*/
|
||||||
getImportedModsNames(): string[];
|
getImportedModsNames(): string[];
|
||||||
getImportedModDetails(): Record<string, IPackageJsonData>;
|
getImportedModDetails(): Record<string, IPackageJsonData>;
|
||||||
|
getProfileModsGroupedByModName(profileMods: ModDetails[]): ModDetails[];
|
||||||
getModPath(mod: string): string;
|
getModPath(mod: string): string;
|
||||||
protected importMods(): Promise<void>;
|
protected importMods(): Promise<void>;
|
||||||
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
||||||
|
@ -6,8 +6,19 @@ export interface IRepairConfig extends IBaseConfig {
|
|||||||
applyRandomizeDurabilityLoss: boolean;
|
applyRandomizeDurabilityLoss: boolean;
|
||||||
weaponSkillRepairGain: number;
|
weaponSkillRepairGain: number;
|
||||||
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
||||||
|
/** INT gain multiplier per repaired item type */
|
||||||
|
repairKitIntellectGainMultiplier: IIntellectGainValues;
|
||||||
|
maxIntellectGainPerRepair: IMaxIntellectGainValues;
|
||||||
repairKit: RepairKit;
|
repairKit: RepairKit;
|
||||||
}
|
}
|
||||||
|
export interface IIntellectGainValues {
|
||||||
|
weapon: number;
|
||||||
|
armor: number;
|
||||||
|
}
|
||||||
|
export interface IMaxIntellectGainValues {
|
||||||
|
kit: number;
|
||||||
|
trader: number;
|
||||||
|
}
|
||||||
export interface RepairKit {
|
export interface RepairKit {
|
||||||
armor: BonusSettings;
|
armor: BonusSettings;
|
||||||
weapon: BonusSettings;
|
weapon: BonusSettings;
|
||||||
|
@ -29,7 +29,7 @@ export declare class EventOutputHolder {
|
|||||||
/**
|
/**
|
||||||
* Convert the internal trader data object into an object we can send to the client
|
* Convert the internal trader data object into an object we can send to the client
|
||||||
* @param traderData server data for traders
|
* @param traderData server data for traders
|
||||||
* @returns
|
* @returns dict of trader id + TraderData
|
||||||
*/
|
*/
|
||||||
protected constructTraderRelations(traderData: Record<string, TraderInfo>): Record<string, TraderData>;
|
protected constructTraderRelations(traderData: Record<string, TraderInfo>): Record<string, TraderData>;
|
||||||
/**
|
/**
|
||||||
|
@ -14,6 +14,7 @@ import { IRagfairConfig } from "../models/spt/config/IRagfairConfig";
|
|||||||
import { ILogger } from "../models/spt/utils/ILogger";
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
import { ConfigServer } from "../servers/ConfigServer";
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
import { HashUtil } from "../utils/HashUtil";
|
||||||
import { JsonUtil } from "../utils/JsonUtil";
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
import { TimeUtil } from "../utils/TimeUtil";
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
import { Watermark } from "../utils/Watermark";
|
import { Watermark } from "../utils/Watermark";
|
||||||
@ -29,11 +30,12 @@ export declare class ProfileFixerService {
|
|||||||
protected localisationService: LocalisationService;
|
protected localisationService: LocalisationService;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
protected jsonUtil: JsonUtil;
|
protected jsonUtil: JsonUtil;
|
||||||
|
protected hashUtil: HashUtil;
|
||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected configServer: ConfigServer;
|
protected configServer: ConfigServer;
|
||||||
protected coreConfig: ICoreConfig;
|
protected coreConfig: ICoreConfig;
|
||||||
protected ragfairConfig: IRagfairConfig;
|
protected ragfairConfig: IRagfairConfig;
|
||||||
constructor(logger: ILogger, watermark: Watermark, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, configServer: ConfigServer);
|
constructor(logger: ILogger, watermark: Watermark, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, databaseServer: DatabaseServer, configServer: ConfigServer);
|
||||||
/**
|
/**
|
||||||
* Find issues in the pmc profile data that may cause issues and fix them
|
* Find issues in the pmc profile data that may cause issues and fix them
|
||||||
* @param pmcProfile profile to check and fix
|
* @param pmcProfile profile to check and fix
|
||||||
@ -129,6 +131,17 @@ export declare class ProfileFixerService {
|
|||||||
* @param pmcProfile Profile to update
|
* @param pmcProfile Profile to update
|
||||||
*/
|
*/
|
||||||
removeLegacyScavCaseProductionCrafts(pmcProfile: IPmcData): void;
|
removeLegacyScavCaseProductionCrafts(pmcProfile: IPmcData): void;
|
||||||
|
/**
|
||||||
|
* 3.7.0 moved AIDs to be numeric, old profiles need to be migrated
|
||||||
|
* We store the old AID value in new field `sessionId`
|
||||||
|
* @param fullProfile Profile to update
|
||||||
|
*/
|
||||||
|
fixIncorrectAidValue(fullProfile: IAkiProfile): void;
|
||||||
|
/**
|
||||||
|
* Bsg nested `stats` into a sub object called 'eft'
|
||||||
|
* @param fullProfile Profile to check for and migrate stats data
|
||||||
|
*/
|
||||||
|
migrateStatsToNewStructure(fullProfile: IAkiProfile): void;
|
||||||
/**
|
/**
|
||||||
* 26126 (7th August) requires bonuses to have an ID, these were not included in the default profile presets
|
* 26126 (7th August) requires bonuses to have an ID, these were not included in the default profile presets
|
||||||
* @param pmcProfile Profile to add missing IDs to
|
* @param pmcProfile Profile to add missing IDs to
|
||||||
@ -136,7 +149,7 @@ export declare class ProfileFixerService {
|
|||||||
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
||||||
/**
|
/**
|
||||||
* At some point the property name was changed,migrate data across to new name
|
* At some point the property name was changed,migrate data across to new name
|
||||||
* @param pmcProfile
|
* @param pmcProfile Profile to migrate improvements in
|
||||||
*/
|
*/
|
||||||
protected migrateImprovements(pmcProfile: IPmcData): void;
|
protected migrateImprovements(pmcProfile: IPmcData): void;
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,6 @@ import { LocalisationService } from "../services/LocalisationService";
|
|||||||
import { OpenZoneService } from "../services/OpenZoneService";
|
import { OpenZoneService } from "../services/OpenZoneService";
|
||||||
import { ProfileFixerService } from "../services/ProfileFixerService";
|
import { ProfileFixerService } from "../services/ProfileFixerService";
|
||||||
import { SeasonalEventService } from "../services/SeasonalEventService";
|
import { SeasonalEventService } from "../services/SeasonalEventService";
|
||||||
import { HashUtil } from "../utils/HashUtil";
|
|
||||||
import { JsonUtil } from "../utils/JsonUtil";
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
import { RandomUtil } from "../utils/RandomUtil";
|
import { RandomUtil } from "../utils/RandomUtil";
|
||||||
import { TimeUtil } from "../utils/TimeUtil";
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
@ -36,7 +35,6 @@ export declare class GameController {
|
|||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected jsonUtil: JsonUtil;
|
protected jsonUtil: JsonUtil;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
protected hashUtil: HashUtil;
|
|
||||||
protected preAkiModLoader: PreAkiModLoader;
|
protected preAkiModLoader: PreAkiModLoader;
|
||||||
protected httpServerHelper: HttpServerHelper;
|
protected httpServerHelper: HttpServerHelper;
|
||||||
protected randomUtil: RandomUtil;
|
protected randomUtil: RandomUtil;
|
||||||
@ -58,7 +56,7 @@ export declare class GameController {
|
|||||||
protected ragfairConfig: IRagfairConfig;
|
protected ragfairConfig: IRagfairConfig;
|
||||||
protected pmcConfig: IPmcConfig;
|
protected pmcConfig: IPmcConfig;
|
||||||
protected lootConfig: ILootConfig;
|
protected lootConfig: ILootConfig;
|
||||||
constructor(logger: ILogger, databaseServer: DatabaseServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, hashUtil: HashUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, randomUtil: RandomUtil, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, itemBaseClassService: ItemBaseClassService, giftService: GiftService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
constructor(logger: ILogger, databaseServer: DatabaseServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, randomUtil: RandomUtil, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, itemBaseClassService: ItemBaseClassService, giftService: GiftService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
||||||
load(): void;
|
load(): void;
|
||||||
/**
|
/**
|
||||||
* Handle client/game/start
|
* Handle client/game/start
|
||||||
@ -67,12 +65,6 @@ export declare class GameController {
|
|||||||
protected addCustomLooseLootPositions(): void;
|
protected addCustomLooseLootPositions(): void;
|
||||||
protected adjustLooseLootSpawnProbabilities(): void;
|
protected adjustLooseLootSpawnProbabilities(): void;
|
||||||
protected setHideoutAreasAndCraftsTo40Secs(): void;
|
protected setHideoutAreasAndCraftsTo40Secs(): void;
|
||||||
/**
|
|
||||||
* 3.7.0 moved AIDs to be numeric, old profiles need to be migrated
|
|
||||||
* We store the old AID value in new field `sessionId`
|
|
||||||
* @param fullProfile Profile to update
|
|
||||||
*/
|
|
||||||
protected fixIncorrectAidValue(fullProfile: IAkiProfile): void;
|
|
||||||
/** Apply custom limits on bot types as defined in configs/location.json/botTypeLimits */
|
/** Apply custom limits on bot types as defined in configs/location.json/botTypeLimits */
|
||||||
protected adjustMapBotLimits(): void;
|
protected adjustMapBotLimits(): void;
|
||||||
/**
|
/**
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
import { DependencyContainer } from "tsyringe";
|
import { DependencyContainer } from "tsyringe";
|
||||||
|
import { ModDetails } from "../models/eft/profile/IAkiProfile";
|
||||||
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
||||||
import { IModLoader } from "../models/spt/mod/IModLoader";
|
import { IModLoader } from "../models/spt/mod/IModLoader";
|
||||||
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
||||||
@ -35,6 +36,7 @@ export declare class PreAkiModLoader implements IModLoader {
|
|||||||
*/
|
*/
|
||||||
getImportedModsNames(): string[];
|
getImportedModsNames(): string[];
|
||||||
getImportedModDetails(): Record<string, IPackageJsonData>;
|
getImportedModDetails(): Record<string, IPackageJsonData>;
|
||||||
|
getProfileModsGroupedByModName(profileMods: ModDetails[]): ModDetails[];
|
||||||
getModPath(mod: string): string;
|
getModPath(mod: string): string;
|
||||||
protected importMods(): Promise<void>;
|
protected importMods(): Promise<void>;
|
||||||
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
||||||
|
@ -6,8 +6,19 @@ export interface IRepairConfig extends IBaseConfig {
|
|||||||
applyRandomizeDurabilityLoss: boolean;
|
applyRandomizeDurabilityLoss: boolean;
|
||||||
weaponSkillRepairGain: number;
|
weaponSkillRepairGain: number;
|
||||||
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
||||||
|
/** INT gain multiplier per repaired item type */
|
||||||
|
repairKitIntellectGainMultiplier: IIntellectGainValues;
|
||||||
|
maxIntellectGainPerRepair: IMaxIntellectGainValues;
|
||||||
repairKit: RepairKit;
|
repairKit: RepairKit;
|
||||||
}
|
}
|
||||||
|
export interface IIntellectGainValues {
|
||||||
|
weapon: number;
|
||||||
|
armor: number;
|
||||||
|
}
|
||||||
|
export interface IMaxIntellectGainValues {
|
||||||
|
kit: number;
|
||||||
|
trader: number;
|
||||||
|
}
|
||||||
export interface RepairKit {
|
export interface RepairKit {
|
||||||
armor: BonusSettings;
|
armor: BonusSettings;
|
||||||
weapon: BonusSettings;
|
weapon: BonusSettings;
|
||||||
|
@ -29,7 +29,7 @@ export declare class EventOutputHolder {
|
|||||||
/**
|
/**
|
||||||
* Convert the internal trader data object into an object we can send to the client
|
* Convert the internal trader data object into an object we can send to the client
|
||||||
* @param traderData server data for traders
|
* @param traderData server data for traders
|
||||||
* @returns
|
* @returns dict of trader id + TraderData
|
||||||
*/
|
*/
|
||||||
protected constructTraderRelations(traderData: Record<string, TraderInfo>): Record<string, TraderData>;
|
protected constructTraderRelations(traderData: Record<string, TraderInfo>): Record<string, TraderData>;
|
||||||
/**
|
/**
|
||||||
|
@ -14,6 +14,7 @@ import { IRagfairConfig } from "../models/spt/config/IRagfairConfig";
|
|||||||
import { ILogger } from "../models/spt/utils/ILogger";
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
import { ConfigServer } from "../servers/ConfigServer";
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
import { HashUtil } from "../utils/HashUtil";
|
||||||
import { JsonUtil } from "../utils/JsonUtil";
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
import { TimeUtil } from "../utils/TimeUtil";
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
import { Watermark } from "../utils/Watermark";
|
import { Watermark } from "../utils/Watermark";
|
||||||
@ -29,11 +30,12 @@ export declare class ProfileFixerService {
|
|||||||
protected localisationService: LocalisationService;
|
protected localisationService: LocalisationService;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
protected jsonUtil: JsonUtil;
|
protected jsonUtil: JsonUtil;
|
||||||
|
protected hashUtil: HashUtil;
|
||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected configServer: ConfigServer;
|
protected configServer: ConfigServer;
|
||||||
protected coreConfig: ICoreConfig;
|
protected coreConfig: ICoreConfig;
|
||||||
protected ragfairConfig: IRagfairConfig;
|
protected ragfairConfig: IRagfairConfig;
|
||||||
constructor(logger: ILogger, watermark: Watermark, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, configServer: ConfigServer);
|
constructor(logger: ILogger, watermark: Watermark, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, databaseServer: DatabaseServer, configServer: ConfigServer);
|
||||||
/**
|
/**
|
||||||
* Find issues in the pmc profile data that may cause issues and fix them
|
* Find issues in the pmc profile data that may cause issues and fix them
|
||||||
* @param pmcProfile profile to check and fix
|
* @param pmcProfile profile to check and fix
|
||||||
@ -129,6 +131,17 @@ export declare class ProfileFixerService {
|
|||||||
* @param pmcProfile Profile to update
|
* @param pmcProfile Profile to update
|
||||||
*/
|
*/
|
||||||
removeLegacyScavCaseProductionCrafts(pmcProfile: IPmcData): void;
|
removeLegacyScavCaseProductionCrafts(pmcProfile: IPmcData): void;
|
||||||
|
/**
|
||||||
|
* 3.7.0 moved AIDs to be numeric, old profiles need to be migrated
|
||||||
|
* We store the old AID value in new field `sessionId`
|
||||||
|
* @param fullProfile Profile to update
|
||||||
|
*/
|
||||||
|
fixIncorrectAidValue(fullProfile: IAkiProfile): void;
|
||||||
|
/**
|
||||||
|
* Bsg nested `stats` into a sub object called 'eft'
|
||||||
|
* @param fullProfile Profile to check for and migrate stats data
|
||||||
|
*/
|
||||||
|
migrateStatsToNewStructure(fullProfile: IAkiProfile): void;
|
||||||
/**
|
/**
|
||||||
* 26126 (7th August) requires bonuses to have an ID, these were not included in the default profile presets
|
* 26126 (7th August) requires bonuses to have an ID, these were not included in the default profile presets
|
||||||
* @param pmcProfile Profile to add missing IDs to
|
* @param pmcProfile Profile to add missing IDs to
|
||||||
@ -136,7 +149,7 @@ export declare class ProfileFixerService {
|
|||||||
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
||||||
/**
|
/**
|
||||||
* At some point the property name was changed,migrate data across to new name
|
* At some point the property name was changed,migrate data across to new name
|
||||||
* @param pmcProfile
|
* @param pmcProfile Profile to migrate improvements in
|
||||||
*/
|
*/
|
||||||
protected migrateImprovements(pmcProfile: IPmcData): void;
|
protected migrateImprovements(pmcProfile: IPmcData): void;
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,6 @@ import { LocalisationService } from "../services/LocalisationService";
|
|||||||
import { OpenZoneService } from "../services/OpenZoneService";
|
import { OpenZoneService } from "../services/OpenZoneService";
|
||||||
import { ProfileFixerService } from "../services/ProfileFixerService";
|
import { ProfileFixerService } from "../services/ProfileFixerService";
|
||||||
import { SeasonalEventService } from "../services/SeasonalEventService";
|
import { SeasonalEventService } from "../services/SeasonalEventService";
|
||||||
import { HashUtil } from "../utils/HashUtil";
|
|
||||||
import { JsonUtil } from "../utils/JsonUtil";
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
import { RandomUtil } from "../utils/RandomUtil";
|
import { RandomUtil } from "../utils/RandomUtil";
|
||||||
import { TimeUtil } from "../utils/TimeUtil";
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
@ -36,7 +35,6 @@ export declare class GameController {
|
|||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected jsonUtil: JsonUtil;
|
protected jsonUtil: JsonUtil;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
protected hashUtil: HashUtil;
|
|
||||||
protected preAkiModLoader: PreAkiModLoader;
|
protected preAkiModLoader: PreAkiModLoader;
|
||||||
protected httpServerHelper: HttpServerHelper;
|
protected httpServerHelper: HttpServerHelper;
|
||||||
protected randomUtil: RandomUtil;
|
protected randomUtil: RandomUtil;
|
||||||
@ -58,7 +56,7 @@ export declare class GameController {
|
|||||||
protected ragfairConfig: IRagfairConfig;
|
protected ragfairConfig: IRagfairConfig;
|
||||||
protected pmcConfig: IPmcConfig;
|
protected pmcConfig: IPmcConfig;
|
||||||
protected lootConfig: ILootConfig;
|
protected lootConfig: ILootConfig;
|
||||||
constructor(logger: ILogger, databaseServer: DatabaseServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, hashUtil: HashUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, randomUtil: RandomUtil, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, itemBaseClassService: ItemBaseClassService, giftService: GiftService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
constructor(logger: ILogger, databaseServer: DatabaseServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, randomUtil: RandomUtil, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, itemBaseClassService: ItemBaseClassService, giftService: GiftService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
||||||
load(): void;
|
load(): void;
|
||||||
/**
|
/**
|
||||||
* Handle client/game/start
|
* Handle client/game/start
|
||||||
@ -67,12 +65,6 @@ export declare class GameController {
|
|||||||
protected addCustomLooseLootPositions(): void;
|
protected addCustomLooseLootPositions(): void;
|
||||||
protected adjustLooseLootSpawnProbabilities(): void;
|
protected adjustLooseLootSpawnProbabilities(): void;
|
||||||
protected setHideoutAreasAndCraftsTo40Secs(): void;
|
protected setHideoutAreasAndCraftsTo40Secs(): void;
|
||||||
/**
|
|
||||||
* 3.7.0 moved AIDs to be numeric, old profiles need to be migrated
|
|
||||||
* We store the old AID value in new field `sessionId`
|
|
||||||
* @param fullProfile Profile to update
|
|
||||||
*/
|
|
||||||
protected fixIncorrectAidValue(fullProfile: IAkiProfile): void;
|
|
||||||
/** Apply custom limits on bot types as defined in configs/location.json/botTypeLimits */
|
/** Apply custom limits on bot types as defined in configs/location.json/botTypeLimits */
|
||||||
protected adjustMapBotLimits(): void;
|
protected adjustMapBotLimits(): void;
|
||||||
/**
|
/**
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
import { DependencyContainer } from "tsyringe";
|
import { DependencyContainer } from "tsyringe";
|
||||||
|
import { ModDetails } from "../models/eft/profile/IAkiProfile";
|
||||||
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
||||||
import { IModLoader } from "../models/spt/mod/IModLoader";
|
import { IModLoader } from "../models/spt/mod/IModLoader";
|
||||||
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
||||||
@ -35,6 +36,7 @@ export declare class PreAkiModLoader implements IModLoader {
|
|||||||
*/
|
*/
|
||||||
getImportedModsNames(): string[];
|
getImportedModsNames(): string[];
|
||||||
getImportedModDetails(): Record<string, IPackageJsonData>;
|
getImportedModDetails(): Record<string, IPackageJsonData>;
|
||||||
|
getProfileModsGroupedByModName(profileMods: ModDetails[]): ModDetails[];
|
||||||
getModPath(mod: string): string;
|
getModPath(mod: string): string;
|
||||||
protected importMods(): Promise<void>;
|
protected importMods(): Promise<void>;
|
||||||
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
||||||
|
@ -6,8 +6,19 @@ export interface IRepairConfig extends IBaseConfig {
|
|||||||
applyRandomizeDurabilityLoss: boolean;
|
applyRandomizeDurabilityLoss: boolean;
|
||||||
weaponSkillRepairGain: number;
|
weaponSkillRepairGain: number;
|
||||||
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
||||||
|
/** INT gain multiplier per repaired item type */
|
||||||
|
repairKitIntellectGainMultiplier: IIntellectGainValues;
|
||||||
|
maxIntellectGainPerRepair: IMaxIntellectGainValues;
|
||||||
repairKit: RepairKit;
|
repairKit: RepairKit;
|
||||||
}
|
}
|
||||||
|
export interface IIntellectGainValues {
|
||||||
|
weapon: number;
|
||||||
|
armor: number;
|
||||||
|
}
|
||||||
|
export interface IMaxIntellectGainValues {
|
||||||
|
kit: number;
|
||||||
|
trader: number;
|
||||||
|
}
|
||||||
export interface RepairKit {
|
export interface RepairKit {
|
||||||
armor: BonusSettings;
|
armor: BonusSettings;
|
||||||
weapon: BonusSettings;
|
weapon: BonusSettings;
|
||||||
|
@ -29,7 +29,7 @@ export declare class EventOutputHolder {
|
|||||||
/**
|
/**
|
||||||
* Convert the internal trader data object into an object we can send to the client
|
* Convert the internal trader data object into an object we can send to the client
|
||||||
* @param traderData server data for traders
|
* @param traderData server data for traders
|
||||||
* @returns
|
* @returns dict of trader id + TraderData
|
||||||
*/
|
*/
|
||||||
protected constructTraderRelations(traderData: Record<string, TraderInfo>): Record<string, TraderData>;
|
protected constructTraderRelations(traderData: Record<string, TraderInfo>): Record<string, TraderData>;
|
||||||
/**
|
/**
|
||||||
|
@ -14,6 +14,7 @@ import { IRagfairConfig } from "../models/spt/config/IRagfairConfig";
|
|||||||
import { ILogger } from "../models/spt/utils/ILogger";
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
import { ConfigServer } from "../servers/ConfigServer";
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
import { HashUtil } from "../utils/HashUtil";
|
||||||
import { JsonUtil } from "../utils/JsonUtil";
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
import { TimeUtil } from "../utils/TimeUtil";
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
import { Watermark } from "../utils/Watermark";
|
import { Watermark } from "../utils/Watermark";
|
||||||
@ -29,11 +30,12 @@ export declare class ProfileFixerService {
|
|||||||
protected localisationService: LocalisationService;
|
protected localisationService: LocalisationService;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
protected jsonUtil: JsonUtil;
|
protected jsonUtil: JsonUtil;
|
||||||
|
protected hashUtil: HashUtil;
|
||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected configServer: ConfigServer;
|
protected configServer: ConfigServer;
|
||||||
protected coreConfig: ICoreConfig;
|
protected coreConfig: ICoreConfig;
|
||||||
protected ragfairConfig: IRagfairConfig;
|
protected ragfairConfig: IRagfairConfig;
|
||||||
constructor(logger: ILogger, watermark: Watermark, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, configServer: ConfigServer);
|
constructor(logger: ILogger, watermark: Watermark, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, databaseServer: DatabaseServer, configServer: ConfigServer);
|
||||||
/**
|
/**
|
||||||
* Find issues in the pmc profile data that may cause issues and fix them
|
* Find issues in the pmc profile data that may cause issues and fix them
|
||||||
* @param pmcProfile profile to check and fix
|
* @param pmcProfile profile to check and fix
|
||||||
@ -129,6 +131,17 @@ export declare class ProfileFixerService {
|
|||||||
* @param pmcProfile Profile to update
|
* @param pmcProfile Profile to update
|
||||||
*/
|
*/
|
||||||
removeLegacyScavCaseProductionCrafts(pmcProfile: IPmcData): void;
|
removeLegacyScavCaseProductionCrafts(pmcProfile: IPmcData): void;
|
||||||
|
/**
|
||||||
|
* 3.7.0 moved AIDs to be numeric, old profiles need to be migrated
|
||||||
|
* We store the old AID value in new field `sessionId`
|
||||||
|
* @param fullProfile Profile to update
|
||||||
|
*/
|
||||||
|
fixIncorrectAidValue(fullProfile: IAkiProfile): void;
|
||||||
|
/**
|
||||||
|
* Bsg nested `stats` into a sub object called 'eft'
|
||||||
|
* @param fullProfile Profile to check for and migrate stats data
|
||||||
|
*/
|
||||||
|
migrateStatsToNewStructure(fullProfile: IAkiProfile): void;
|
||||||
/**
|
/**
|
||||||
* 26126 (7th August) requires bonuses to have an ID, these were not included in the default profile presets
|
* 26126 (7th August) requires bonuses to have an ID, these were not included in the default profile presets
|
||||||
* @param pmcProfile Profile to add missing IDs to
|
* @param pmcProfile Profile to add missing IDs to
|
||||||
@ -136,7 +149,7 @@ export declare class ProfileFixerService {
|
|||||||
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
||||||
/**
|
/**
|
||||||
* At some point the property name was changed,migrate data across to new name
|
* At some point the property name was changed,migrate data across to new name
|
||||||
* @param pmcProfile
|
* @param pmcProfile Profile to migrate improvements in
|
||||||
*/
|
*/
|
||||||
protected migrateImprovements(pmcProfile: IPmcData): void;
|
protected migrateImprovements(pmcProfile: IPmcData): void;
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,6 @@ import { LocalisationService } from "../services/LocalisationService";
|
|||||||
import { OpenZoneService } from "../services/OpenZoneService";
|
import { OpenZoneService } from "../services/OpenZoneService";
|
||||||
import { ProfileFixerService } from "../services/ProfileFixerService";
|
import { ProfileFixerService } from "../services/ProfileFixerService";
|
||||||
import { SeasonalEventService } from "../services/SeasonalEventService";
|
import { SeasonalEventService } from "../services/SeasonalEventService";
|
||||||
import { HashUtil } from "../utils/HashUtil";
|
|
||||||
import { JsonUtil } from "../utils/JsonUtil";
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
import { RandomUtil } from "../utils/RandomUtil";
|
import { RandomUtil } from "../utils/RandomUtil";
|
||||||
import { TimeUtil } from "../utils/TimeUtil";
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
@ -36,7 +35,6 @@ export declare class GameController {
|
|||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected jsonUtil: JsonUtil;
|
protected jsonUtil: JsonUtil;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
protected hashUtil: HashUtil;
|
|
||||||
protected preAkiModLoader: PreAkiModLoader;
|
protected preAkiModLoader: PreAkiModLoader;
|
||||||
protected httpServerHelper: HttpServerHelper;
|
protected httpServerHelper: HttpServerHelper;
|
||||||
protected randomUtil: RandomUtil;
|
protected randomUtil: RandomUtil;
|
||||||
@ -58,7 +56,7 @@ export declare class GameController {
|
|||||||
protected ragfairConfig: IRagfairConfig;
|
protected ragfairConfig: IRagfairConfig;
|
||||||
protected pmcConfig: IPmcConfig;
|
protected pmcConfig: IPmcConfig;
|
||||||
protected lootConfig: ILootConfig;
|
protected lootConfig: ILootConfig;
|
||||||
constructor(logger: ILogger, databaseServer: DatabaseServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, hashUtil: HashUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, randomUtil: RandomUtil, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, itemBaseClassService: ItemBaseClassService, giftService: GiftService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
constructor(logger: ILogger, databaseServer: DatabaseServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, randomUtil: RandomUtil, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, itemBaseClassService: ItemBaseClassService, giftService: GiftService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
||||||
load(): void;
|
load(): void;
|
||||||
/**
|
/**
|
||||||
* Handle client/game/start
|
* Handle client/game/start
|
||||||
@ -67,12 +65,6 @@ export declare class GameController {
|
|||||||
protected addCustomLooseLootPositions(): void;
|
protected addCustomLooseLootPositions(): void;
|
||||||
protected adjustLooseLootSpawnProbabilities(): void;
|
protected adjustLooseLootSpawnProbabilities(): void;
|
||||||
protected setHideoutAreasAndCraftsTo40Secs(): void;
|
protected setHideoutAreasAndCraftsTo40Secs(): void;
|
||||||
/**
|
|
||||||
* 3.7.0 moved AIDs to be numeric, old profiles need to be migrated
|
|
||||||
* We store the old AID value in new field `sessionId`
|
|
||||||
* @param fullProfile Profile to update
|
|
||||||
*/
|
|
||||||
protected fixIncorrectAidValue(fullProfile: IAkiProfile): void;
|
|
||||||
/** Apply custom limits on bot types as defined in configs/location.json/botTypeLimits */
|
/** Apply custom limits on bot types as defined in configs/location.json/botTypeLimits */
|
||||||
protected adjustMapBotLimits(): void;
|
protected adjustMapBotLimits(): void;
|
||||||
/**
|
/**
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
import { DependencyContainer } from "tsyringe";
|
import { DependencyContainer } from "tsyringe";
|
||||||
|
import { ModDetails } from "../models/eft/profile/IAkiProfile";
|
||||||
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
||||||
import { IModLoader } from "../models/spt/mod/IModLoader";
|
import { IModLoader } from "../models/spt/mod/IModLoader";
|
||||||
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
||||||
@ -35,6 +36,7 @@ export declare class PreAkiModLoader implements IModLoader {
|
|||||||
*/
|
*/
|
||||||
getImportedModsNames(): string[];
|
getImportedModsNames(): string[];
|
||||||
getImportedModDetails(): Record<string, IPackageJsonData>;
|
getImportedModDetails(): Record<string, IPackageJsonData>;
|
||||||
|
getProfileModsGroupedByModName(profileMods: ModDetails[]): ModDetails[];
|
||||||
getModPath(mod: string): string;
|
getModPath(mod: string): string;
|
||||||
protected importMods(): Promise<void>;
|
protected importMods(): Promise<void>;
|
||||||
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
||||||
|
@ -6,8 +6,19 @@ export interface IRepairConfig extends IBaseConfig {
|
|||||||
applyRandomizeDurabilityLoss: boolean;
|
applyRandomizeDurabilityLoss: boolean;
|
||||||
weaponSkillRepairGain: number;
|
weaponSkillRepairGain: number;
|
||||||
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
||||||
|
/** INT gain multiplier per repaired item type */
|
||||||
|
repairKitIntellectGainMultiplier: IIntellectGainValues;
|
||||||
|
maxIntellectGainPerRepair: IMaxIntellectGainValues;
|
||||||
repairKit: RepairKit;
|
repairKit: RepairKit;
|
||||||
}
|
}
|
||||||
|
export interface IIntellectGainValues {
|
||||||
|
weapon: number;
|
||||||
|
armor: number;
|
||||||
|
}
|
||||||
|
export interface IMaxIntellectGainValues {
|
||||||
|
kit: number;
|
||||||
|
trader: number;
|
||||||
|
}
|
||||||
export interface RepairKit {
|
export interface RepairKit {
|
||||||
armor: BonusSettings;
|
armor: BonusSettings;
|
||||||
weapon: BonusSettings;
|
weapon: BonusSettings;
|
||||||
|
@ -29,7 +29,7 @@ export declare class EventOutputHolder {
|
|||||||
/**
|
/**
|
||||||
* Convert the internal trader data object into an object we can send to the client
|
* Convert the internal trader data object into an object we can send to the client
|
||||||
* @param traderData server data for traders
|
* @param traderData server data for traders
|
||||||
* @returns
|
* @returns dict of trader id + TraderData
|
||||||
*/
|
*/
|
||||||
protected constructTraderRelations(traderData: Record<string, TraderInfo>): Record<string, TraderData>;
|
protected constructTraderRelations(traderData: Record<string, TraderInfo>): Record<string, TraderData>;
|
||||||
/**
|
/**
|
||||||
|
@ -14,6 +14,7 @@ import { IRagfairConfig } from "../models/spt/config/IRagfairConfig";
|
|||||||
import { ILogger } from "../models/spt/utils/ILogger";
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
import { ConfigServer } from "../servers/ConfigServer";
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
import { HashUtil } from "../utils/HashUtil";
|
||||||
import { JsonUtil } from "../utils/JsonUtil";
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
import { TimeUtil } from "../utils/TimeUtil";
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
import { Watermark } from "../utils/Watermark";
|
import { Watermark } from "../utils/Watermark";
|
||||||
@ -29,11 +30,12 @@ export declare class ProfileFixerService {
|
|||||||
protected localisationService: LocalisationService;
|
protected localisationService: LocalisationService;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
protected jsonUtil: JsonUtil;
|
protected jsonUtil: JsonUtil;
|
||||||
|
protected hashUtil: HashUtil;
|
||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected configServer: ConfigServer;
|
protected configServer: ConfigServer;
|
||||||
protected coreConfig: ICoreConfig;
|
protected coreConfig: ICoreConfig;
|
||||||
protected ragfairConfig: IRagfairConfig;
|
protected ragfairConfig: IRagfairConfig;
|
||||||
constructor(logger: ILogger, watermark: Watermark, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, configServer: ConfigServer);
|
constructor(logger: ILogger, watermark: Watermark, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, databaseServer: DatabaseServer, configServer: ConfigServer);
|
||||||
/**
|
/**
|
||||||
* Find issues in the pmc profile data that may cause issues and fix them
|
* Find issues in the pmc profile data that may cause issues and fix them
|
||||||
* @param pmcProfile profile to check and fix
|
* @param pmcProfile profile to check and fix
|
||||||
@ -129,6 +131,17 @@ export declare class ProfileFixerService {
|
|||||||
* @param pmcProfile Profile to update
|
* @param pmcProfile Profile to update
|
||||||
*/
|
*/
|
||||||
removeLegacyScavCaseProductionCrafts(pmcProfile: IPmcData): void;
|
removeLegacyScavCaseProductionCrafts(pmcProfile: IPmcData): void;
|
||||||
|
/**
|
||||||
|
* 3.7.0 moved AIDs to be numeric, old profiles need to be migrated
|
||||||
|
* We store the old AID value in new field `sessionId`
|
||||||
|
* @param fullProfile Profile to update
|
||||||
|
*/
|
||||||
|
fixIncorrectAidValue(fullProfile: IAkiProfile): void;
|
||||||
|
/**
|
||||||
|
* Bsg nested `stats` into a sub object called 'eft'
|
||||||
|
* @param fullProfile Profile to check for and migrate stats data
|
||||||
|
*/
|
||||||
|
migrateStatsToNewStructure(fullProfile: IAkiProfile): void;
|
||||||
/**
|
/**
|
||||||
* 26126 (7th August) requires bonuses to have an ID, these were not included in the default profile presets
|
* 26126 (7th August) requires bonuses to have an ID, these were not included in the default profile presets
|
||||||
* @param pmcProfile Profile to add missing IDs to
|
* @param pmcProfile Profile to add missing IDs to
|
||||||
@ -136,7 +149,7 @@ export declare class ProfileFixerService {
|
|||||||
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
||||||
/**
|
/**
|
||||||
* At some point the property name was changed,migrate data across to new name
|
* At some point the property name was changed,migrate data across to new name
|
||||||
* @param pmcProfile
|
* @param pmcProfile Profile to migrate improvements in
|
||||||
*/
|
*/
|
||||||
protected migrateImprovements(pmcProfile: IPmcData): void;
|
protected migrateImprovements(pmcProfile: IPmcData): void;
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,6 @@ import { LocalisationService } from "../services/LocalisationService";
|
|||||||
import { OpenZoneService } from "../services/OpenZoneService";
|
import { OpenZoneService } from "../services/OpenZoneService";
|
||||||
import { ProfileFixerService } from "../services/ProfileFixerService";
|
import { ProfileFixerService } from "../services/ProfileFixerService";
|
||||||
import { SeasonalEventService } from "../services/SeasonalEventService";
|
import { SeasonalEventService } from "../services/SeasonalEventService";
|
||||||
import { HashUtil } from "../utils/HashUtil";
|
|
||||||
import { JsonUtil } from "../utils/JsonUtil";
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
import { RandomUtil } from "../utils/RandomUtil";
|
import { RandomUtil } from "../utils/RandomUtil";
|
||||||
import { TimeUtil } from "../utils/TimeUtil";
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
@ -36,7 +35,6 @@ export declare class GameController {
|
|||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected jsonUtil: JsonUtil;
|
protected jsonUtil: JsonUtil;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
protected hashUtil: HashUtil;
|
|
||||||
protected preAkiModLoader: PreAkiModLoader;
|
protected preAkiModLoader: PreAkiModLoader;
|
||||||
protected httpServerHelper: HttpServerHelper;
|
protected httpServerHelper: HttpServerHelper;
|
||||||
protected randomUtil: RandomUtil;
|
protected randomUtil: RandomUtil;
|
||||||
@ -58,7 +56,7 @@ export declare class GameController {
|
|||||||
protected ragfairConfig: IRagfairConfig;
|
protected ragfairConfig: IRagfairConfig;
|
||||||
protected pmcConfig: IPmcConfig;
|
protected pmcConfig: IPmcConfig;
|
||||||
protected lootConfig: ILootConfig;
|
protected lootConfig: ILootConfig;
|
||||||
constructor(logger: ILogger, databaseServer: DatabaseServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, hashUtil: HashUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, randomUtil: RandomUtil, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, itemBaseClassService: ItemBaseClassService, giftService: GiftService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
constructor(logger: ILogger, databaseServer: DatabaseServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, randomUtil: RandomUtil, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, itemBaseClassService: ItemBaseClassService, giftService: GiftService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
||||||
load(): void;
|
load(): void;
|
||||||
/**
|
/**
|
||||||
* Handle client/game/start
|
* Handle client/game/start
|
||||||
@ -67,12 +65,6 @@ export declare class GameController {
|
|||||||
protected addCustomLooseLootPositions(): void;
|
protected addCustomLooseLootPositions(): void;
|
||||||
protected adjustLooseLootSpawnProbabilities(): void;
|
protected adjustLooseLootSpawnProbabilities(): void;
|
||||||
protected setHideoutAreasAndCraftsTo40Secs(): void;
|
protected setHideoutAreasAndCraftsTo40Secs(): void;
|
||||||
/**
|
|
||||||
* 3.7.0 moved AIDs to be numeric, old profiles need to be migrated
|
|
||||||
* We store the old AID value in new field `sessionId`
|
|
||||||
* @param fullProfile Profile to update
|
|
||||||
*/
|
|
||||||
protected fixIncorrectAidValue(fullProfile: IAkiProfile): void;
|
|
||||||
/** Apply custom limits on bot types as defined in configs/location.json/botTypeLimits */
|
/** Apply custom limits on bot types as defined in configs/location.json/botTypeLimits */
|
||||||
protected adjustMapBotLimits(): void;
|
protected adjustMapBotLimits(): void;
|
||||||
/**
|
/**
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
import { DependencyContainer } from "tsyringe";
|
import { DependencyContainer } from "tsyringe";
|
||||||
|
import { ModDetails } from "../models/eft/profile/IAkiProfile";
|
||||||
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
||||||
import { IModLoader } from "../models/spt/mod/IModLoader";
|
import { IModLoader } from "../models/spt/mod/IModLoader";
|
||||||
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
||||||
@ -35,6 +36,7 @@ export declare class PreAkiModLoader implements IModLoader {
|
|||||||
*/
|
*/
|
||||||
getImportedModsNames(): string[];
|
getImportedModsNames(): string[];
|
||||||
getImportedModDetails(): Record<string, IPackageJsonData>;
|
getImportedModDetails(): Record<string, IPackageJsonData>;
|
||||||
|
getProfileModsGroupedByModName(profileMods: ModDetails[]): ModDetails[];
|
||||||
getModPath(mod: string): string;
|
getModPath(mod: string): string;
|
||||||
protected importMods(): Promise<void>;
|
protected importMods(): Promise<void>;
|
||||||
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
||||||
|
@ -6,8 +6,19 @@ export interface IRepairConfig extends IBaseConfig {
|
|||||||
applyRandomizeDurabilityLoss: boolean;
|
applyRandomizeDurabilityLoss: boolean;
|
||||||
weaponSkillRepairGain: number;
|
weaponSkillRepairGain: number;
|
||||||
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
||||||
|
/** INT gain multiplier per repaired item type */
|
||||||
|
repairKitIntellectGainMultiplier: IIntellectGainValues;
|
||||||
|
maxIntellectGainPerRepair: IMaxIntellectGainValues;
|
||||||
repairKit: RepairKit;
|
repairKit: RepairKit;
|
||||||
}
|
}
|
||||||
|
export interface IIntellectGainValues {
|
||||||
|
weapon: number;
|
||||||
|
armor: number;
|
||||||
|
}
|
||||||
|
export interface IMaxIntellectGainValues {
|
||||||
|
kit: number;
|
||||||
|
trader: number;
|
||||||
|
}
|
||||||
export interface RepairKit {
|
export interface RepairKit {
|
||||||
armor: BonusSettings;
|
armor: BonusSettings;
|
||||||
weapon: BonusSettings;
|
weapon: BonusSettings;
|
||||||
|
@ -29,7 +29,7 @@ export declare class EventOutputHolder {
|
|||||||
/**
|
/**
|
||||||
* Convert the internal trader data object into an object we can send to the client
|
* Convert the internal trader data object into an object we can send to the client
|
||||||
* @param traderData server data for traders
|
* @param traderData server data for traders
|
||||||
* @returns
|
* @returns dict of trader id + TraderData
|
||||||
*/
|
*/
|
||||||
protected constructTraderRelations(traderData: Record<string, TraderInfo>): Record<string, TraderData>;
|
protected constructTraderRelations(traderData: Record<string, TraderInfo>): Record<string, TraderData>;
|
||||||
/**
|
/**
|
||||||
|
@ -14,6 +14,7 @@ import { IRagfairConfig } from "../models/spt/config/IRagfairConfig";
|
|||||||
import { ILogger } from "../models/spt/utils/ILogger";
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
import { ConfigServer } from "../servers/ConfigServer";
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
import { HashUtil } from "../utils/HashUtil";
|
||||||
import { JsonUtil } from "../utils/JsonUtil";
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
import { TimeUtil } from "../utils/TimeUtil";
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
import { Watermark } from "../utils/Watermark";
|
import { Watermark } from "../utils/Watermark";
|
||||||
@ -29,11 +30,12 @@ export declare class ProfileFixerService {
|
|||||||
protected localisationService: LocalisationService;
|
protected localisationService: LocalisationService;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
protected jsonUtil: JsonUtil;
|
protected jsonUtil: JsonUtil;
|
||||||
|
protected hashUtil: HashUtil;
|
||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected configServer: ConfigServer;
|
protected configServer: ConfigServer;
|
||||||
protected coreConfig: ICoreConfig;
|
protected coreConfig: ICoreConfig;
|
||||||
protected ragfairConfig: IRagfairConfig;
|
protected ragfairConfig: IRagfairConfig;
|
||||||
constructor(logger: ILogger, watermark: Watermark, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, configServer: ConfigServer);
|
constructor(logger: ILogger, watermark: Watermark, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, databaseServer: DatabaseServer, configServer: ConfigServer);
|
||||||
/**
|
/**
|
||||||
* Find issues in the pmc profile data that may cause issues and fix them
|
* Find issues in the pmc profile data that may cause issues and fix them
|
||||||
* @param pmcProfile profile to check and fix
|
* @param pmcProfile profile to check and fix
|
||||||
@ -129,6 +131,17 @@ export declare class ProfileFixerService {
|
|||||||
* @param pmcProfile Profile to update
|
* @param pmcProfile Profile to update
|
||||||
*/
|
*/
|
||||||
removeLegacyScavCaseProductionCrafts(pmcProfile: IPmcData): void;
|
removeLegacyScavCaseProductionCrafts(pmcProfile: IPmcData): void;
|
||||||
|
/**
|
||||||
|
* 3.7.0 moved AIDs to be numeric, old profiles need to be migrated
|
||||||
|
* We store the old AID value in new field `sessionId`
|
||||||
|
* @param fullProfile Profile to update
|
||||||
|
*/
|
||||||
|
fixIncorrectAidValue(fullProfile: IAkiProfile): void;
|
||||||
|
/**
|
||||||
|
* Bsg nested `stats` into a sub object called 'eft'
|
||||||
|
* @param fullProfile Profile to check for and migrate stats data
|
||||||
|
*/
|
||||||
|
migrateStatsToNewStructure(fullProfile: IAkiProfile): void;
|
||||||
/**
|
/**
|
||||||
* 26126 (7th August) requires bonuses to have an ID, these were not included in the default profile presets
|
* 26126 (7th August) requires bonuses to have an ID, these were not included in the default profile presets
|
||||||
* @param pmcProfile Profile to add missing IDs to
|
* @param pmcProfile Profile to add missing IDs to
|
||||||
@ -136,7 +149,7 @@ export declare class ProfileFixerService {
|
|||||||
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
||||||
/**
|
/**
|
||||||
* At some point the property name was changed,migrate data across to new name
|
* At some point the property name was changed,migrate data across to new name
|
||||||
* @param pmcProfile
|
* @param pmcProfile Profile to migrate improvements in
|
||||||
*/
|
*/
|
||||||
protected migrateImprovements(pmcProfile: IPmcData): void;
|
protected migrateImprovements(pmcProfile: IPmcData): void;
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,6 @@ import { LocalisationService } from "../services/LocalisationService";
|
|||||||
import { OpenZoneService } from "../services/OpenZoneService";
|
import { OpenZoneService } from "../services/OpenZoneService";
|
||||||
import { ProfileFixerService } from "../services/ProfileFixerService";
|
import { ProfileFixerService } from "../services/ProfileFixerService";
|
||||||
import { SeasonalEventService } from "../services/SeasonalEventService";
|
import { SeasonalEventService } from "../services/SeasonalEventService";
|
||||||
import { HashUtil } from "../utils/HashUtil";
|
|
||||||
import { JsonUtil } from "../utils/JsonUtil";
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
import { RandomUtil } from "../utils/RandomUtil";
|
import { RandomUtil } from "../utils/RandomUtil";
|
||||||
import { TimeUtil } from "../utils/TimeUtil";
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
@ -36,7 +35,6 @@ export declare class GameController {
|
|||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected jsonUtil: JsonUtil;
|
protected jsonUtil: JsonUtil;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
protected hashUtil: HashUtil;
|
|
||||||
protected preAkiModLoader: PreAkiModLoader;
|
protected preAkiModLoader: PreAkiModLoader;
|
||||||
protected httpServerHelper: HttpServerHelper;
|
protected httpServerHelper: HttpServerHelper;
|
||||||
protected randomUtil: RandomUtil;
|
protected randomUtil: RandomUtil;
|
||||||
@ -58,7 +56,7 @@ export declare class GameController {
|
|||||||
protected ragfairConfig: IRagfairConfig;
|
protected ragfairConfig: IRagfairConfig;
|
||||||
protected pmcConfig: IPmcConfig;
|
protected pmcConfig: IPmcConfig;
|
||||||
protected lootConfig: ILootConfig;
|
protected lootConfig: ILootConfig;
|
||||||
constructor(logger: ILogger, databaseServer: DatabaseServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, hashUtil: HashUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, randomUtil: RandomUtil, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, itemBaseClassService: ItemBaseClassService, giftService: GiftService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
constructor(logger: ILogger, databaseServer: DatabaseServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, randomUtil: RandomUtil, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, itemBaseClassService: ItemBaseClassService, giftService: GiftService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
||||||
load(): void;
|
load(): void;
|
||||||
/**
|
/**
|
||||||
* Handle client/game/start
|
* Handle client/game/start
|
||||||
@ -67,12 +65,6 @@ export declare class GameController {
|
|||||||
protected addCustomLooseLootPositions(): void;
|
protected addCustomLooseLootPositions(): void;
|
||||||
protected adjustLooseLootSpawnProbabilities(): void;
|
protected adjustLooseLootSpawnProbabilities(): void;
|
||||||
protected setHideoutAreasAndCraftsTo40Secs(): void;
|
protected setHideoutAreasAndCraftsTo40Secs(): void;
|
||||||
/**
|
|
||||||
* 3.7.0 moved AIDs to be numeric, old profiles need to be migrated
|
|
||||||
* We store the old AID value in new field `sessionId`
|
|
||||||
* @param fullProfile Profile to update
|
|
||||||
*/
|
|
||||||
protected fixIncorrectAidValue(fullProfile: IAkiProfile): void;
|
|
||||||
/** Apply custom limits on bot types as defined in configs/location.json/botTypeLimits */
|
/** Apply custom limits on bot types as defined in configs/location.json/botTypeLimits */
|
||||||
protected adjustMapBotLimits(): void;
|
protected adjustMapBotLimits(): void;
|
||||||
/**
|
/**
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
import { DependencyContainer } from "tsyringe";
|
import { DependencyContainer } from "tsyringe";
|
||||||
|
import { ModDetails } from "../models/eft/profile/IAkiProfile";
|
||||||
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
||||||
import { IModLoader } from "../models/spt/mod/IModLoader";
|
import { IModLoader } from "../models/spt/mod/IModLoader";
|
||||||
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
||||||
@ -35,6 +36,7 @@ export declare class PreAkiModLoader implements IModLoader {
|
|||||||
*/
|
*/
|
||||||
getImportedModsNames(): string[];
|
getImportedModsNames(): string[];
|
||||||
getImportedModDetails(): Record<string, IPackageJsonData>;
|
getImportedModDetails(): Record<string, IPackageJsonData>;
|
||||||
|
getProfileModsGroupedByModName(profileMods: ModDetails[]): ModDetails[];
|
||||||
getModPath(mod: string): string;
|
getModPath(mod: string): string;
|
||||||
protected importMods(): Promise<void>;
|
protected importMods(): Promise<void>;
|
||||||
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
||||||
|
@ -6,8 +6,19 @@ export interface IRepairConfig extends IBaseConfig {
|
|||||||
applyRandomizeDurabilityLoss: boolean;
|
applyRandomizeDurabilityLoss: boolean;
|
||||||
weaponSkillRepairGain: number;
|
weaponSkillRepairGain: number;
|
||||||
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
||||||
|
/** INT gain multiplier per repaired item type */
|
||||||
|
repairKitIntellectGainMultiplier: IIntellectGainValues;
|
||||||
|
maxIntellectGainPerRepair: IMaxIntellectGainValues;
|
||||||
repairKit: RepairKit;
|
repairKit: RepairKit;
|
||||||
}
|
}
|
||||||
|
export interface IIntellectGainValues {
|
||||||
|
weapon: number;
|
||||||
|
armor: number;
|
||||||
|
}
|
||||||
|
export interface IMaxIntellectGainValues {
|
||||||
|
kit: number;
|
||||||
|
trader: number;
|
||||||
|
}
|
||||||
export interface RepairKit {
|
export interface RepairKit {
|
||||||
armor: BonusSettings;
|
armor: BonusSettings;
|
||||||
weapon: BonusSettings;
|
weapon: BonusSettings;
|
||||||
|
@ -29,7 +29,7 @@ export declare class EventOutputHolder {
|
|||||||
/**
|
/**
|
||||||
* Convert the internal trader data object into an object we can send to the client
|
* Convert the internal trader data object into an object we can send to the client
|
||||||
* @param traderData server data for traders
|
* @param traderData server data for traders
|
||||||
* @returns
|
* @returns dict of trader id + TraderData
|
||||||
*/
|
*/
|
||||||
protected constructTraderRelations(traderData: Record<string, TraderInfo>): Record<string, TraderData>;
|
protected constructTraderRelations(traderData: Record<string, TraderInfo>): Record<string, TraderData>;
|
||||||
/**
|
/**
|
||||||
|
@ -14,6 +14,7 @@ import { IRagfairConfig } from "../models/spt/config/IRagfairConfig";
|
|||||||
import { ILogger } from "../models/spt/utils/ILogger";
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
import { ConfigServer } from "../servers/ConfigServer";
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
import { HashUtil } from "../utils/HashUtil";
|
||||||
import { JsonUtil } from "../utils/JsonUtil";
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
import { TimeUtil } from "../utils/TimeUtil";
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
import { Watermark } from "../utils/Watermark";
|
import { Watermark } from "../utils/Watermark";
|
||||||
@ -29,11 +30,12 @@ export declare class ProfileFixerService {
|
|||||||
protected localisationService: LocalisationService;
|
protected localisationService: LocalisationService;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
protected jsonUtil: JsonUtil;
|
protected jsonUtil: JsonUtil;
|
||||||
|
protected hashUtil: HashUtil;
|
||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected configServer: ConfigServer;
|
protected configServer: ConfigServer;
|
||||||
protected coreConfig: ICoreConfig;
|
protected coreConfig: ICoreConfig;
|
||||||
protected ragfairConfig: IRagfairConfig;
|
protected ragfairConfig: IRagfairConfig;
|
||||||
constructor(logger: ILogger, watermark: Watermark, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, configServer: ConfigServer);
|
constructor(logger: ILogger, watermark: Watermark, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, databaseServer: DatabaseServer, configServer: ConfigServer);
|
||||||
/**
|
/**
|
||||||
* Find issues in the pmc profile data that may cause issues and fix them
|
* Find issues in the pmc profile data that may cause issues and fix them
|
||||||
* @param pmcProfile profile to check and fix
|
* @param pmcProfile profile to check and fix
|
||||||
@ -129,6 +131,17 @@ export declare class ProfileFixerService {
|
|||||||
* @param pmcProfile Profile to update
|
* @param pmcProfile Profile to update
|
||||||
*/
|
*/
|
||||||
removeLegacyScavCaseProductionCrafts(pmcProfile: IPmcData): void;
|
removeLegacyScavCaseProductionCrafts(pmcProfile: IPmcData): void;
|
||||||
|
/**
|
||||||
|
* 3.7.0 moved AIDs to be numeric, old profiles need to be migrated
|
||||||
|
* We store the old AID value in new field `sessionId`
|
||||||
|
* @param fullProfile Profile to update
|
||||||
|
*/
|
||||||
|
fixIncorrectAidValue(fullProfile: IAkiProfile): void;
|
||||||
|
/**
|
||||||
|
* Bsg nested `stats` into a sub object called 'eft'
|
||||||
|
* @param fullProfile Profile to check for and migrate stats data
|
||||||
|
*/
|
||||||
|
migrateStatsToNewStructure(fullProfile: IAkiProfile): void;
|
||||||
/**
|
/**
|
||||||
* 26126 (7th August) requires bonuses to have an ID, these were not included in the default profile presets
|
* 26126 (7th August) requires bonuses to have an ID, these were not included in the default profile presets
|
||||||
* @param pmcProfile Profile to add missing IDs to
|
* @param pmcProfile Profile to add missing IDs to
|
||||||
@ -136,7 +149,7 @@ export declare class ProfileFixerService {
|
|||||||
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
||||||
/**
|
/**
|
||||||
* At some point the property name was changed,migrate data across to new name
|
* At some point the property name was changed,migrate data across to new name
|
||||||
* @param pmcProfile
|
* @param pmcProfile Profile to migrate improvements in
|
||||||
*/
|
*/
|
||||||
protected migrateImprovements(pmcProfile: IPmcData): void;
|
protected migrateImprovements(pmcProfile: IPmcData): void;
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,6 @@ import { LocalisationService } from "../services/LocalisationService";
|
|||||||
import { OpenZoneService } from "../services/OpenZoneService";
|
import { OpenZoneService } from "../services/OpenZoneService";
|
||||||
import { ProfileFixerService } from "../services/ProfileFixerService";
|
import { ProfileFixerService } from "../services/ProfileFixerService";
|
||||||
import { SeasonalEventService } from "../services/SeasonalEventService";
|
import { SeasonalEventService } from "../services/SeasonalEventService";
|
||||||
import { HashUtil } from "../utils/HashUtil";
|
|
||||||
import { JsonUtil } from "../utils/JsonUtil";
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
import { RandomUtil } from "../utils/RandomUtil";
|
import { RandomUtil } from "../utils/RandomUtil";
|
||||||
import { TimeUtil } from "../utils/TimeUtil";
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
@ -36,7 +35,6 @@ export declare class GameController {
|
|||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected jsonUtil: JsonUtil;
|
protected jsonUtil: JsonUtil;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
protected hashUtil: HashUtil;
|
|
||||||
protected preAkiModLoader: PreAkiModLoader;
|
protected preAkiModLoader: PreAkiModLoader;
|
||||||
protected httpServerHelper: HttpServerHelper;
|
protected httpServerHelper: HttpServerHelper;
|
||||||
protected randomUtil: RandomUtil;
|
protected randomUtil: RandomUtil;
|
||||||
@ -58,7 +56,7 @@ export declare class GameController {
|
|||||||
protected ragfairConfig: IRagfairConfig;
|
protected ragfairConfig: IRagfairConfig;
|
||||||
protected pmcConfig: IPmcConfig;
|
protected pmcConfig: IPmcConfig;
|
||||||
protected lootConfig: ILootConfig;
|
protected lootConfig: ILootConfig;
|
||||||
constructor(logger: ILogger, databaseServer: DatabaseServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, hashUtil: HashUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, randomUtil: RandomUtil, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, itemBaseClassService: ItemBaseClassService, giftService: GiftService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
constructor(logger: ILogger, databaseServer: DatabaseServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, randomUtil: RandomUtil, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, itemBaseClassService: ItemBaseClassService, giftService: GiftService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
||||||
load(): void;
|
load(): void;
|
||||||
/**
|
/**
|
||||||
* Handle client/game/start
|
* Handle client/game/start
|
||||||
@ -67,12 +65,6 @@ export declare class GameController {
|
|||||||
protected addCustomLooseLootPositions(): void;
|
protected addCustomLooseLootPositions(): void;
|
||||||
protected adjustLooseLootSpawnProbabilities(): void;
|
protected adjustLooseLootSpawnProbabilities(): void;
|
||||||
protected setHideoutAreasAndCraftsTo40Secs(): void;
|
protected setHideoutAreasAndCraftsTo40Secs(): void;
|
||||||
/**
|
|
||||||
* 3.7.0 moved AIDs to be numeric, old profiles need to be migrated
|
|
||||||
* We store the old AID value in new field `sessionId`
|
|
||||||
* @param fullProfile Profile to update
|
|
||||||
*/
|
|
||||||
protected fixIncorrectAidValue(fullProfile: IAkiProfile): void;
|
|
||||||
/** Apply custom limits on bot types as defined in configs/location.json/botTypeLimits */
|
/** Apply custom limits on bot types as defined in configs/location.json/botTypeLimits */
|
||||||
protected adjustMapBotLimits(): void;
|
protected adjustMapBotLimits(): void;
|
||||||
/**
|
/**
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
import { DependencyContainer } from "tsyringe";
|
import { DependencyContainer } from "tsyringe";
|
||||||
|
import { ModDetails } from "../models/eft/profile/IAkiProfile";
|
||||||
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
||||||
import { IModLoader } from "../models/spt/mod/IModLoader";
|
import { IModLoader } from "../models/spt/mod/IModLoader";
|
||||||
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
||||||
@ -35,6 +36,7 @@ export declare class PreAkiModLoader implements IModLoader {
|
|||||||
*/
|
*/
|
||||||
getImportedModsNames(): string[];
|
getImportedModsNames(): string[];
|
||||||
getImportedModDetails(): Record<string, IPackageJsonData>;
|
getImportedModDetails(): Record<string, IPackageJsonData>;
|
||||||
|
getProfileModsGroupedByModName(profileMods: ModDetails[]): ModDetails[];
|
||||||
getModPath(mod: string): string;
|
getModPath(mod: string): string;
|
||||||
protected importMods(): Promise<void>;
|
protected importMods(): Promise<void>;
|
||||||
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
||||||
|
@ -6,8 +6,19 @@ export interface IRepairConfig extends IBaseConfig {
|
|||||||
applyRandomizeDurabilityLoss: boolean;
|
applyRandomizeDurabilityLoss: boolean;
|
||||||
weaponSkillRepairGain: number;
|
weaponSkillRepairGain: number;
|
||||||
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
||||||
|
/** INT gain multiplier per repaired item type */
|
||||||
|
repairKitIntellectGainMultiplier: IIntellectGainValues;
|
||||||
|
maxIntellectGainPerRepair: IMaxIntellectGainValues;
|
||||||
repairKit: RepairKit;
|
repairKit: RepairKit;
|
||||||
}
|
}
|
||||||
|
export interface IIntellectGainValues {
|
||||||
|
weapon: number;
|
||||||
|
armor: number;
|
||||||
|
}
|
||||||
|
export interface IMaxIntellectGainValues {
|
||||||
|
kit: number;
|
||||||
|
trader: number;
|
||||||
|
}
|
||||||
export interface RepairKit {
|
export interface RepairKit {
|
||||||
armor: BonusSettings;
|
armor: BonusSettings;
|
||||||
weapon: BonusSettings;
|
weapon: BonusSettings;
|
||||||
|
@ -29,7 +29,7 @@ export declare class EventOutputHolder {
|
|||||||
/**
|
/**
|
||||||
* Convert the internal trader data object into an object we can send to the client
|
* Convert the internal trader data object into an object we can send to the client
|
||||||
* @param traderData server data for traders
|
* @param traderData server data for traders
|
||||||
* @returns
|
* @returns dict of trader id + TraderData
|
||||||
*/
|
*/
|
||||||
protected constructTraderRelations(traderData: Record<string, TraderInfo>): Record<string, TraderData>;
|
protected constructTraderRelations(traderData: Record<string, TraderInfo>): Record<string, TraderData>;
|
||||||
/**
|
/**
|
||||||
|
@ -14,6 +14,7 @@ import { IRagfairConfig } from "../models/spt/config/IRagfairConfig";
|
|||||||
import { ILogger } from "../models/spt/utils/ILogger";
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
import { ConfigServer } from "../servers/ConfigServer";
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
import { HashUtil } from "../utils/HashUtil";
|
||||||
import { JsonUtil } from "../utils/JsonUtil";
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
import { TimeUtil } from "../utils/TimeUtil";
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
import { Watermark } from "../utils/Watermark";
|
import { Watermark } from "../utils/Watermark";
|
||||||
@ -29,11 +30,12 @@ export declare class ProfileFixerService {
|
|||||||
protected localisationService: LocalisationService;
|
protected localisationService: LocalisationService;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
protected jsonUtil: JsonUtil;
|
protected jsonUtil: JsonUtil;
|
||||||
|
protected hashUtil: HashUtil;
|
||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected configServer: ConfigServer;
|
protected configServer: ConfigServer;
|
||||||
protected coreConfig: ICoreConfig;
|
protected coreConfig: ICoreConfig;
|
||||||
protected ragfairConfig: IRagfairConfig;
|
protected ragfairConfig: IRagfairConfig;
|
||||||
constructor(logger: ILogger, watermark: Watermark, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, configServer: ConfigServer);
|
constructor(logger: ILogger, watermark: Watermark, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, databaseServer: DatabaseServer, configServer: ConfigServer);
|
||||||
/**
|
/**
|
||||||
* Find issues in the pmc profile data that may cause issues and fix them
|
* Find issues in the pmc profile data that may cause issues and fix them
|
||||||
* @param pmcProfile profile to check and fix
|
* @param pmcProfile profile to check and fix
|
||||||
@ -129,6 +131,17 @@ export declare class ProfileFixerService {
|
|||||||
* @param pmcProfile Profile to update
|
* @param pmcProfile Profile to update
|
||||||
*/
|
*/
|
||||||
removeLegacyScavCaseProductionCrafts(pmcProfile: IPmcData): void;
|
removeLegacyScavCaseProductionCrafts(pmcProfile: IPmcData): void;
|
||||||
|
/**
|
||||||
|
* 3.7.0 moved AIDs to be numeric, old profiles need to be migrated
|
||||||
|
* We store the old AID value in new field `sessionId`
|
||||||
|
* @param fullProfile Profile to update
|
||||||
|
*/
|
||||||
|
fixIncorrectAidValue(fullProfile: IAkiProfile): void;
|
||||||
|
/**
|
||||||
|
* Bsg nested `stats` into a sub object called 'eft'
|
||||||
|
* @param fullProfile Profile to check for and migrate stats data
|
||||||
|
*/
|
||||||
|
migrateStatsToNewStructure(fullProfile: IAkiProfile): void;
|
||||||
/**
|
/**
|
||||||
* 26126 (7th August) requires bonuses to have an ID, these were not included in the default profile presets
|
* 26126 (7th August) requires bonuses to have an ID, these were not included in the default profile presets
|
||||||
* @param pmcProfile Profile to add missing IDs to
|
* @param pmcProfile Profile to add missing IDs to
|
||||||
@ -136,7 +149,7 @@ export declare class ProfileFixerService {
|
|||||||
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
||||||
/**
|
/**
|
||||||
* At some point the property name was changed,migrate data across to new name
|
* At some point the property name was changed,migrate data across to new name
|
||||||
* @param pmcProfile
|
* @param pmcProfile Profile to migrate improvements in
|
||||||
*/
|
*/
|
||||||
protected migrateImprovements(pmcProfile: IPmcData): void;
|
protected migrateImprovements(pmcProfile: IPmcData): void;
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,6 @@ import { LocalisationService } from "../services/LocalisationService";
|
|||||||
import { OpenZoneService } from "../services/OpenZoneService";
|
import { OpenZoneService } from "../services/OpenZoneService";
|
||||||
import { ProfileFixerService } from "../services/ProfileFixerService";
|
import { ProfileFixerService } from "../services/ProfileFixerService";
|
||||||
import { SeasonalEventService } from "../services/SeasonalEventService";
|
import { SeasonalEventService } from "../services/SeasonalEventService";
|
||||||
import { HashUtil } from "../utils/HashUtil";
|
|
||||||
import { JsonUtil } from "../utils/JsonUtil";
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
import { RandomUtil } from "../utils/RandomUtil";
|
import { RandomUtil } from "../utils/RandomUtil";
|
||||||
import { TimeUtil } from "../utils/TimeUtil";
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
@ -36,7 +35,6 @@ export declare class GameController {
|
|||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected jsonUtil: JsonUtil;
|
protected jsonUtil: JsonUtil;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
protected hashUtil: HashUtil;
|
|
||||||
protected preAkiModLoader: PreAkiModLoader;
|
protected preAkiModLoader: PreAkiModLoader;
|
||||||
protected httpServerHelper: HttpServerHelper;
|
protected httpServerHelper: HttpServerHelper;
|
||||||
protected randomUtil: RandomUtil;
|
protected randomUtil: RandomUtil;
|
||||||
@ -58,7 +56,7 @@ export declare class GameController {
|
|||||||
protected ragfairConfig: IRagfairConfig;
|
protected ragfairConfig: IRagfairConfig;
|
||||||
protected pmcConfig: IPmcConfig;
|
protected pmcConfig: IPmcConfig;
|
||||||
protected lootConfig: ILootConfig;
|
protected lootConfig: ILootConfig;
|
||||||
constructor(logger: ILogger, databaseServer: DatabaseServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, hashUtil: HashUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, randomUtil: RandomUtil, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, itemBaseClassService: ItemBaseClassService, giftService: GiftService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
constructor(logger: ILogger, databaseServer: DatabaseServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, randomUtil: RandomUtil, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, itemBaseClassService: ItemBaseClassService, giftService: GiftService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
||||||
load(): void;
|
load(): void;
|
||||||
/**
|
/**
|
||||||
* Handle client/game/start
|
* Handle client/game/start
|
||||||
@ -67,12 +65,6 @@ export declare class GameController {
|
|||||||
protected addCustomLooseLootPositions(): void;
|
protected addCustomLooseLootPositions(): void;
|
||||||
protected adjustLooseLootSpawnProbabilities(): void;
|
protected adjustLooseLootSpawnProbabilities(): void;
|
||||||
protected setHideoutAreasAndCraftsTo40Secs(): void;
|
protected setHideoutAreasAndCraftsTo40Secs(): void;
|
||||||
/**
|
|
||||||
* 3.7.0 moved AIDs to be numeric, old profiles need to be migrated
|
|
||||||
* We store the old AID value in new field `sessionId`
|
|
||||||
* @param fullProfile Profile to update
|
|
||||||
*/
|
|
||||||
protected fixIncorrectAidValue(fullProfile: IAkiProfile): void;
|
|
||||||
/** Apply custom limits on bot types as defined in configs/location.json/botTypeLimits */
|
/** Apply custom limits on bot types as defined in configs/location.json/botTypeLimits */
|
||||||
protected adjustMapBotLimits(): void;
|
protected adjustMapBotLimits(): void;
|
||||||
/**
|
/**
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
import { DependencyContainer } from "tsyringe";
|
import { DependencyContainer } from "tsyringe";
|
||||||
|
import { ModDetails } from "../models/eft/profile/IAkiProfile";
|
||||||
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
||||||
import { IModLoader } from "../models/spt/mod/IModLoader";
|
import { IModLoader } from "../models/spt/mod/IModLoader";
|
||||||
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
||||||
@ -35,6 +36,7 @@ export declare class PreAkiModLoader implements IModLoader {
|
|||||||
*/
|
*/
|
||||||
getImportedModsNames(): string[];
|
getImportedModsNames(): string[];
|
||||||
getImportedModDetails(): Record<string, IPackageJsonData>;
|
getImportedModDetails(): Record<string, IPackageJsonData>;
|
||||||
|
getProfileModsGroupedByModName(profileMods: ModDetails[]): ModDetails[];
|
||||||
getModPath(mod: string): string;
|
getModPath(mod: string): string;
|
||||||
protected importMods(): Promise<void>;
|
protected importMods(): Promise<void>;
|
||||||
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
||||||
|
@ -6,8 +6,19 @@ export interface IRepairConfig extends IBaseConfig {
|
|||||||
applyRandomizeDurabilityLoss: boolean;
|
applyRandomizeDurabilityLoss: boolean;
|
||||||
weaponSkillRepairGain: number;
|
weaponSkillRepairGain: number;
|
||||||
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
||||||
|
/** INT gain multiplier per repaired item type */
|
||||||
|
repairKitIntellectGainMultiplier: IIntellectGainValues;
|
||||||
|
maxIntellectGainPerRepair: IMaxIntellectGainValues;
|
||||||
repairKit: RepairKit;
|
repairKit: RepairKit;
|
||||||
}
|
}
|
||||||
|
export interface IIntellectGainValues {
|
||||||
|
weapon: number;
|
||||||
|
armor: number;
|
||||||
|
}
|
||||||
|
export interface IMaxIntellectGainValues {
|
||||||
|
kit: number;
|
||||||
|
trader: number;
|
||||||
|
}
|
||||||
export interface RepairKit {
|
export interface RepairKit {
|
||||||
armor: BonusSettings;
|
armor: BonusSettings;
|
||||||
weapon: BonusSettings;
|
weapon: BonusSettings;
|
||||||
|
@ -29,7 +29,7 @@ export declare class EventOutputHolder {
|
|||||||
/**
|
/**
|
||||||
* Convert the internal trader data object into an object we can send to the client
|
* Convert the internal trader data object into an object we can send to the client
|
||||||
* @param traderData server data for traders
|
* @param traderData server data for traders
|
||||||
* @returns
|
* @returns dict of trader id + TraderData
|
||||||
*/
|
*/
|
||||||
protected constructTraderRelations(traderData: Record<string, TraderInfo>): Record<string, TraderData>;
|
protected constructTraderRelations(traderData: Record<string, TraderInfo>): Record<string, TraderData>;
|
||||||
/**
|
/**
|
||||||
|
@ -14,6 +14,7 @@ import { IRagfairConfig } from "../models/spt/config/IRagfairConfig";
|
|||||||
import { ILogger } from "../models/spt/utils/ILogger";
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
import { ConfigServer } from "../servers/ConfigServer";
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
import { HashUtil } from "../utils/HashUtil";
|
||||||
import { JsonUtil } from "../utils/JsonUtil";
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
import { TimeUtil } from "../utils/TimeUtil";
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
import { Watermark } from "../utils/Watermark";
|
import { Watermark } from "../utils/Watermark";
|
||||||
@ -29,11 +30,12 @@ export declare class ProfileFixerService {
|
|||||||
protected localisationService: LocalisationService;
|
protected localisationService: LocalisationService;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
protected jsonUtil: JsonUtil;
|
protected jsonUtil: JsonUtil;
|
||||||
|
protected hashUtil: HashUtil;
|
||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected configServer: ConfigServer;
|
protected configServer: ConfigServer;
|
||||||
protected coreConfig: ICoreConfig;
|
protected coreConfig: ICoreConfig;
|
||||||
protected ragfairConfig: IRagfairConfig;
|
protected ragfairConfig: IRagfairConfig;
|
||||||
constructor(logger: ILogger, watermark: Watermark, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, configServer: ConfigServer);
|
constructor(logger: ILogger, watermark: Watermark, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, databaseServer: DatabaseServer, configServer: ConfigServer);
|
||||||
/**
|
/**
|
||||||
* Find issues in the pmc profile data that may cause issues and fix them
|
* Find issues in the pmc profile data that may cause issues and fix them
|
||||||
* @param pmcProfile profile to check and fix
|
* @param pmcProfile profile to check and fix
|
||||||
@ -129,6 +131,17 @@ export declare class ProfileFixerService {
|
|||||||
* @param pmcProfile Profile to update
|
* @param pmcProfile Profile to update
|
||||||
*/
|
*/
|
||||||
removeLegacyScavCaseProductionCrafts(pmcProfile: IPmcData): void;
|
removeLegacyScavCaseProductionCrafts(pmcProfile: IPmcData): void;
|
||||||
|
/**
|
||||||
|
* 3.7.0 moved AIDs to be numeric, old profiles need to be migrated
|
||||||
|
* We store the old AID value in new field `sessionId`
|
||||||
|
* @param fullProfile Profile to update
|
||||||
|
*/
|
||||||
|
fixIncorrectAidValue(fullProfile: IAkiProfile): void;
|
||||||
|
/**
|
||||||
|
* Bsg nested `stats` into a sub object called 'eft'
|
||||||
|
* @param fullProfile Profile to check for and migrate stats data
|
||||||
|
*/
|
||||||
|
migrateStatsToNewStructure(fullProfile: IAkiProfile): void;
|
||||||
/**
|
/**
|
||||||
* 26126 (7th August) requires bonuses to have an ID, these were not included in the default profile presets
|
* 26126 (7th August) requires bonuses to have an ID, these were not included in the default profile presets
|
||||||
* @param pmcProfile Profile to add missing IDs to
|
* @param pmcProfile Profile to add missing IDs to
|
||||||
@ -136,7 +149,7 @@ export declare class ProfileFixerService {
|
|||||||
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
||||||
/**
|
/**
|
||||||
* At some point the property name was changed,migrate data across to new name
|
* At some point the property name was changed,migrate data across to new name
|
||||||
* @param pmcProfile
|
* @param pmcProfile Profile to migrate improvements in
|
||||||
*/
|
*/
|
||||||
protected migrateImprovements(pmcProfile: IPmcData): void;
|
protected migrateImprovements(pmcProfile: IPmcData): void;
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,6 @@ import { LocalisationService } from "../services/LocalisationService";
|
|||||||
import { OpenZoneService } from "../services/OpenZoneService";
|
import { OpenZoneService } from "../services/OpenZoneService";
|
||||||
import { ProfileFixerService } from "../services/ProfileFixerService";
|
import { ProfileFixerService } from "../services/ProfileFixerService";
|
||||||
import { SeasonalEventService } from "../services/SeasonalEventService";
|
import { SeasonalEventService } from "../services/SeasonalEventService";
|
||||||
import { HashUtil } from "../utils/HashUtil";
|
|
||||||
import { JsonUtil } from "../utils/JsonUtil";
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
import { RandomUtil } from "../utils/RandomUtil";
|
import { RandomUtil } from "../utils/RandomUtil";
|
||||||
import { TimeUtil } from "../utils/TimeUtil";
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
@ -36,7 +35,6 @@ export declare class GameController {
|
|||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected jsonUtil: JsonUtil;
|
protected jsonUtil: JsonUtil;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
protected hashUtil: HashUtil;
|
|
||||||
protected preAkiModLoader: PreAkiModLoader;
|
protected preAkiModLoader: PreAkiModLoader;
|
||||||
protected httpServerHelper: HttpServerHelper;
|
protected httpServerHelper: HttpServerHelper;
|
||||||
protected randomUtil: RandomUtil;
|
protected randomUtil: RandomUtil;
|
||||||
@ -58,7 +56,7 @@ export declare class GameController {
|
|||||||
protected ragfairConfig: IRagfairConfig;
|
protected ragfairConfig: IRagfairConfig;
|
||||||
protected pmcConfig: IPmcConfig;
|
protected pmcConfig: IPmcConfig;
|
||||||
protected lootConfig: ILootConfig;
|
protected lootConfig: ILootConfig;
|
||||||
constructor(logger: ILogger, databaseServer: DatabaseServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, hashUtil: HashUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, randomUtil: RandomUtil, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, itemBaseClassService: ItemBaseClassService, giftService: GiftService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
constructor(logger: ILogger, databaseServer: DatabaseServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, randomUtil: RandomUtil, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, itemBaseClassService: ItemBaseClassService, giftService: GiftService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
||||||
load(): void;
|
load(): void;
|
||||||
/**
|
/**
|
||||||
* Handle client/game/start
|
* Handle client/game/start
|
||||||
@ -67,12 +65,6 @@ export declare class GameController {
|
|||||||
protected addCustomLooseLootPositions(): void;
|
protected addCustomLooseLootPositions(): void;
|
||||||
protected adjustLooseLootSpawnProbabilities(): void;
|
protected adjustLooseLootSpawnProbabilities(): void;
|
||||||
protected setHideoutAreasAndCraftsTo40Secs(): void;
|
protected setHideoutAreasAndCraftsTo40Secs(): void;
|
||||||
/**
|
|
||||||
* 3.7.0 moved AIDs to be numeric, old profiles need to be migrated
|
|
||||||
* We store the old AID value in new field `sessionId`
|
|
||||||
* @param fullProfile Profile to update
|
|
||||||
*/
|
|
||||||
protected fixIncorrectAidValue(fullProfile: IAkiProfile): void;
|
|
||||||
/** Apply custom limits on bot types as defined in configs/location.json/botTypeLimits */
|
/** Apply custom limits on bot types as defined in configs/location.json/botTypeLimits */
|
||||||
protected adjustMapBotLimits(): void;
|
protected adjustMapBotLimits(): void;
|
||||||
/**
|
/**
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
import { DependencyContainer } from "tsyringe";
|
import { DependencyContainer } from "tsyringe";
|
||||||
|
import { ModDetails } from "../models/eft/profile/IAkiProfile";
|
||||||
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
||||||
import { IModLoader } from "../models/spt/mod/IModLoader";
|
import { IModLoader } from "../models/spt/mod/IModLoader";
|
||||||
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
||||||
@ -35,6 +36,7 @@ export declare class PreAkiModLoader implements IModLoader {
|
|||||||
*/
|
*/
|
||||||
getImportedModsNames(): string[];
|
getImportedModsNames(): string[];
|
||||||
getImportedModDetails(): Record<string, IPackageJsonData>;
|
getImportedModDetails(): Record<string, IPackageJsonData>;
|
||||||
|
getProfileModsGroupedByModName(profileMods: ModDetails[]): ModDetails[];
|
||||||
getModPath(mod: string): string;
|
getModPath(mod: string): string;
|
||||||
protected importMods(): Promise<void>;
|
protected importMods(): Promise<void>;
|
||||||
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
||||||
|
@ -6,8 +6,19 @@ export interface IRepairConfig extends IBaseConfig {
|
|||||||
applyRandomizeDurabilityLoss: boolean;
|
applyRandomizeDurabilityLoss: boolean;
|
||||||
weaponSkillRepairGain: number;
|
weaponSkillRepairGain: number;
|
||||||
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
||||||
|
/** INT gain multiplier per repaired item type */
|
||||||
|
repairKitIntellectGainMultiplier: IIntellectGainValues;
|
||||||
|
maxIntellectGainPerRepair: IMaxIntellectGainValues;
|
||||||
repairKit: RepairKit;
|
repairKit: RepairKit;
|
||||||
}
|
}
|
||||||
|
export interface IIntellectGainValues {
|
||||||
|
weapon: number;
|
||||||
|
armor: number;
|
||||||
|
}
|
||||||
|
export interface IMaxIntellectGainValues {
|
||||||
|
kit: number;
|
||||||
|
trader: number;
|
||||||
|
}
|
||||||
export interface RepairKit {
|
export interface RepairKit {
|
||||||
armor: BonusSettings;
|
armor: BonusSettings;
|
||||||
weapon: BonusSettings;
|
weapon: BonusSettings;
|
||||||
|
@ -29,7 +29,7 @@ export declare class EventOutputHolder {
|
|||||||
/**
|
/**
|
||||||
* Convert the internal trader data object into an object we can send to the client
|
* Convert the internal trader data object into an object we can send to the client
|
||||||
* @param traderData server data for traders
|
* @param traderData server data for traders
|
||||||
* @returns
|
* @returns dict of trader id + TraderData
|
||||||
*/
|
*/
|
||||||
protected constructTraderRelations(traderData: Record<string, TraderInfo>): Record<string, TraderData>;
|
protected constructTraderRelations(traderData: Record<string, TraderInfo>): Record<string, TraderData>;
|
||||||
/**
|
/**
|
||||||
|
@ -14,6 +14,7 @@ import { IRagfairConfig } from "../models/spt/config/IRagfairConfig";
|
|||||||
import { ILogger } from "../models/spt/utils/ILogger";
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
import { ConfigServer } from "../servers/ConfigServer";
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
import { HashUtil } from "../utils/HashUtil";
|
||||||
import { JsonUtil } from "../utils/JsonUtil";
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
import { TimeUtil } from "../utils/TimeUtil";
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
import { Watermark } from "../utils/Watermark";
|
import { Watermark } from "../utils/Watermark";
|
||||||
@ -29,11 +30,12 @@ export declare class ProfileFixerService {
|
|||||||
protected localisationService: LocalisationService;
|
protected localisationService: LocalisationService;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
protected jsonUtil: JsonUtil;
|
protected jsonUtil: JsonUtil;
|
||||||
|
protected hashUtil: HashUtil;
|
||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected configServer: ConfigServer;
|
protected configServer: ConfigServer;
|
||||||
protected coreConfig: ICoreConfig;
|
protected coreConfig: ICoreConfig;
|
||||||
protected ragfairConfig: IRagfairConfig;
|
protected ragfairConfig: IRagfairConfig;
|
||||||
constructor(logger: ILogger, watermark: Watermark, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, configServer: ConfigServer);
|
constructor(logger: ILogger, watermark: Watermark, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, databaseServer: DatabaseServer, configServer: ConfigServer);
|
||||||
/**
|
/**
|
||||||
* Find issues in the pmc profile data that may cause issues and fix them
|
* Find issues in the pmc profile data that may cause issues and fix them
|
||||||
* @param pmcProfile profile to check and fix
|
* @param pmcProfile profile to check and fix
|
||||||
@ -129,6 +131,17 @@ export declare class ProfileFixerService {
|
|||||||
* @param pmcProfile Profile to update
|
* @param pmcProfile Profile to update
|
||||||
*/
|
*/
|
||||||
removeLegacyScavCaseProductionCrafts(pmcProfile: IPmcData): void;
|
removeLegacyScavCaseProductionCrafts(pmcProfile: IPmcData): void;
|
||||||
|
/**
|
||||||
|
* 3.7.0 moved AIDs to be numeric, old profiles need to be migrated
|
||||||
|
* We store the old AID value in new field `sessionId`
|
||||||
|
* @param fullProfile Profile to update
|
||||||
|
*/
|
||||||
|
fixIncorrectAidValue(fullProfile: IAkiProfile): void;
|
||||||
|
/**
|
||||||
|
* Bsg nested `stats` into a sub object called 'eft'
|
||||||
|
* @param fullProfile Profile to check for and migrate stats data
|
||||||
|
*/
|
||||||
|
migrateStatsToNewStructure(fullProfile: IAkiProfile): void;
|
||||||
/**
|
/**
|
||||||
* 26126 (7th August) requires bonuses to have an ID, these were not included in the default profile presets
|
* 26126 (7th August) requires bonuses to have an ID, these were not included in the default profile presets
|
||||||
* @param pmcProfile Profile to add missing IDs to
|
* @param pmcProfile Profile to add missing IDs to
|
||||||
@ -136,7 +149,7 @@ export declare class ProfileFixerService {
|
|||||||
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
||||||
/**
|
/**
|
||||||
* At some point the property name was changed,migrate data across to new name
|
* At some point the property name was changed,migrate data across to new name
|
||||||
* @param pmcProfile
|
* @param pmcProfile Profile to migrate improvements in
|
||||||
*/
|
*/
|
||||||
protected migrateImprovements(pmcProfile: IPmcData): void;
|
protected migrateImprovements(pmcProfile: IPmcData): void;
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,6 @@ import { LocalisationService } from "../services/LocalisationService";
|
|||||||
import { OpenZoneService } from "../services/OpenZoneService";
|
import { OpenZoneService } from "../services/OpenZoneService";
|
||||||
import { ProfileFixerService } from "../services/ProfileFixerService";
|
import { ProfileFixerService } from "../services/ProfileFixerService";
|
||||||
import { SeasonalEventService } from "../services/SeasonalEventService";
|
import { SeasonalEventService } from "../services/SeasonalEventService";
|
||||||
import { HashUtil } from "../utils/HashUtil";
|
|
||||||
import { JsonUtil } from "../utils/JsonUtil";
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
import { RandomUtil } from "../utils/RandomUtil";
|
import { RandomUtil } from "../utils/RandomUtil";
|
||||||
import { TimeUtil } from "../utils/TimeUtil";
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
@ -36,7 +35,6 @@ export declare class GameController {
|
|||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected jsonUtil: JsonUtil;
|
protected jsonUtil: JsonUtil;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
protected hashUtil: HashUtil;
|
|
||||||
protected preAkiModLoader: PreAkiModLoader;
|
protected preAkiModLoader: PreAkiModLoader;
|
||||||
protected httpServerHelper: HttpServerHelper;
|
protected httpServerHelper: HttpServerHelper;
|
||||||
protected randomUtil: RandomUtil;
|
protected randomUtil: RandomUtil;
|
||||||
@ -58,7 +56,7 @@ export declare class GameController {
|
|||||||
protected ragfairConfig: IRagfairConfig;
|
protected ragfairConfig: IRagfairConfig;
|
||||||
protected pmcConfig: IPmcConfig;
|
protected pmcConfig: IPmcConfig;
|
||||||
protected lootConfig: ILootConfig;
|
protected lootConfig: ILootConfig;
|
||||||
constructor(logger: ILogger, databaseServer: DatabaseServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, hashUtil: HashUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, randomUtil: RandomUtil, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, itemBaseClassService: ItemBaseClassService, giftService: GiftService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
constructor(logger: ILogger, databaseServer: DatabaseServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, randomUtil: RandomUtil, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, itemBaseClassService: ItemBaseClassService, giftService: GiftService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
||||||
load(): void;
|
load(): void;
|
||||||
/**
|
/**
|
||||||
* Handle client/game/start
|
* Handle client/game/start
|
||||||
@ -67,12 +65,6 @@ export declare class GameController {
|
|||||||
protected addCustomLooseLootPositions(): void;
|
protected addCustomLooseLootPositions(): void;
|
||||||
protected adjustLooseLootSpawnProbabilities(): void;
|
protected adjustLooseLootSpawnProbabilities(): void;
|
||||||
protected setHideoutAreasAndCraftsTo40Secs(): void;
|
protected setHideoutAreasAndCraftsTo40Secs(): void;
|
||||||
/**
|
|
||||||
* 3.7.0 moved AIDs to be numeric, old profiles need to be migrated
|
|
||||||
* We store the old AID value in new field `sessionId`
|
|
||||||
* @param fullProfile Profile to update
|
|
||||||
*/
|
|
||||||
protected fixIncorrectAidValue(fullProfile: IAkiProfile): void;
|
|
||||||
/** Apply custom limits on bot types as defined in configs/location.json/botTypeLimits */
|
/** Apply custom limits on bot types as defined in configs/location.json/botTypeLimits */
|
||||||
protected adjustMapBotLimits(): void;
|
protected adjustMapBotLimits(): void;
|
||||||
/**
|
/**
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
import { DependencyContainer } from "tsyringe";
|
import { DependencyContainer } from "tsyringe";
|
||||||
|
import { ModDetails } from "../models/eft/profile/IAkiProfile";
|
||||||
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
||||||
import { IModLoader } from "../models/spt/mod/IModLoader";
|
import { IModLoader } from "../models/spt/mod/IModLoader";
|
||||||
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
||||||
@ -35,6 +36,7 @@ export declare class PreAkiModLoader implements IModLoader {
|
|||||||
*/
|
*/
|
||||||
getImportedModsNames(): string[];
|
getImportedModsNames(): string[];
|
||||||
getImportedModDetails(): Record<string, IPackageJsonData>;
|
getImportedModDetails(): Record<string, IPackageJsonData>;
|
||||||
|
getProfileModsGroupedByModName(profileMods: ModDetails[]): ModDetails[];
|
||||||
getModPath(mod: string): string;
|
getModPath(mod: string): string;
|
||||||
protected importMods(): Promise<void>;
|
protected importMods(): Promise<void>;
|
||||||
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
||||||
|
@ -6,8 +6,19 @@ export interface IRepairConfig extends IBaseConfig {
|
|||||||
applyRandomizeDurabilityLoss: boolean;
|
applyRandomizeDurabilityLoss: boolean;
|
||||||
weaponSkillRepairGain: number;
|
weaponSkillRepairGain: number;
|
||||||
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
||||||
|
/** INT gain multiplier per repaired item type */
|
||||||
|
repairKitIntellectGainMultiplier: IIntellectGainValues;
|
||||||
|
maxIntellectGainPerRepair: IMaxIntellectGainValues;
|
||||||
repairKit: RepairKit;
|
repairKit: RepairKit;
|
||||||
}
|
}
|
||||||
|
export interface IIntellectGainValues {
|
||||||
|
weapon: number;
|
||||||
|
armor: number;
|
||||||
|
}
|
||||||
|
export interface IMaxIntellectGainValues {
|
||||||
|
kit: number;
|
||||||
|
trader: number;
|
||||||
|
}
|
||||||
export interface RepairKit {
|
export interface RepairKit {
|
||||||
armor: BonusSettings;
|
armor: BonusSettings;
|
||||||
weapon: BonusSettings;
|
weapon: BonusSettings;
|
||||||
|
@ -29,7 +29,7 @@ export declare class EventOutputHolder {
|
|||||||
/**
|
/**
|
||||||
* Convert the internal trader data object into an object we can send to the client
|
* Convert the internal trader data object into an object we can send to the client
|
||||||
* @param traderData server data for traders
|
* @param traderData server data for traders
|
||||||
* @returns
|
* @returns dict of trader id + TraderData
|
||||||
*/
|
*/
|
||||||
protected constructTraderRelations(traderData: Record<string, TraderInfo>): Record<string, TraderData>;
|
protected constructTraderRelations(traderData: Record<string, TraderInfo>): Record<string, TraderData>;
|
||||||
/**
|
/**
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user