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
|
||||
|
||||
|
@ -27,7 +27,6 @@ import { LocalisationService } from "../services/LocalisationService";
|
||||
import { OpenZoneService } from "../services/OpenZoneService";
|
||||
import { ProfileFixerService } from "../services/ProfileFixerService";
|
||||
import { SeasonalEventService } from "../services/SeasonalEventService";
|
||||
import { HashUtil } from "../utils/HashUtil";
|
||||
import { JsonUtil } from "../utils/JsonUtil";
|
||||
import { RandomUtil } from "../utils/RandomUtil";
|
||||
import { TimeUtil } from "../utils/TimeUtil";
|
||||
@ -36,7 +35,6 @@ export declare class GameController {
|
||||
protected databaseServer: DatabaseServer;
|
||||
protected jsonUtil: JsonUtil;
|
||||
protected timeUtil: TimeUtil;
|
||||
protected hashUtil: HashUtil;
|
||||
protected preAkiModLoader: PreAkiModLoader;
|
||||
protected httpServerHelper: HttpServerHelper;
|
||||
protected randomUtil: RandomUtil;
|
||||
@ -58,7 +56,7 @@ export declare class GameController {
|
||||
protected ragfairConfig: IRagfairConfig;
|
||||
protected pmcConfig: IPmcConfig;
|
||||
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;
|
||||
/**
|
||||
* Handle client/game/start
|
||||
@ -67,12 +65,6 @@ export declare class GameController {
|
||||
protected addCustomLooseLootPositions(): void;
|
||||
protected adjustLooseLootSpawnProbabilities(): 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 */
|
||||
protected adjustMapBotLimits(): void;
|
||||
/**
|
||||
|
@ -1,4 +1,5 @@
|
||||
import { DependencyContainer } from "tsyringe";
|
||||
import { ModDetails } from "../models/eft/profile/IAkiProfile";
|
||||
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
||||
import { IModLoader } from "../models/spt/mod/IModLoader";
|
||||
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
||||
@ -35,6 +36,7 @@ export declare class PreAkiModLoader implements IModLoader {
|
||||
*/
|
||||
getImportedModsNames(): string[];
|
||||
getImportedModDetails(): Record<string, IPackageJsonData>;
|
||||
getProfileModsGroupedByModName(profileMods: ModDetails[]): ModDetails[];
|
||||
getModPath(mod: string): string;
|
||||
protected importMods(): Promise<void>;
|
||||
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
||||
|
@ -6,8 +6,19 @@ export interface IRepairConfig extends IBaseConfig {
|
||||
applyRandomizeDurabilityLoss: boolean;
|
||||
weaponSkillRepairGain: number;
|
||||
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
||||
/** INT gain multiplier per repaired item type */
|
||||
repairKitIntellectGainMultiplier: IIntellectGainValues;
|
||||
maxIntellectGainPerRepair: IMaxIntellectGainValues;
|
||||
repairKit: RepairKit;
|
||||
}
|
||||
export interface IIntellectGainValues {
|
||||
weapon: number;
|
||||
armor: number;
|
||||
}
|
||||
export interface IMaxIntellectGainValues {
|
||||
kit: number;
|
||||
trader: number;
|
||||
}
|
||||
export interface RepairKit {
|
||||
armor: 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
|
||||
* @param traderData server data for traders
|
||||
* @returns
|
||||
* @returns dict of trader id + 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 { ConfigServer } from "../servers/ConfigServer";
|
||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||
import { HashUtil } from "../utils/HashUtil";
|
||||
import { JsonUtil } from "../utils/JsonUtil";
|
||||
import { TimeUtil } from "../utils/TimeUtil";
|
||||
import { Watermark } from "../utils/Watermark";
|
||||
@ -29,11 +30,12 @@ export declare class ProfileFixerService {
|
||||
protected localisationService: LocalisationService;
|
||||
protected timeUtil: TimeUtil;
|
||||
protected jsonUtil: JsonUtil;
|
||||
protected hashUtil: HashUtil;
|
||||
protected databaseServer: DatabaseServer;
|
||||
protected configServer: ConfigServer;
|
||||
protected coreConfig: ICoreConfig;
|
||||
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
|
||||
* @param pmcProfile profile to check and fix
|
||||
@ -129,6 +131,17 @@ export declare class ProfileFixerService {
|
||||
* @param pmcProfile Profile to update
|
||||
*/
|
||||
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
|
||||
* @param pmcProfile Profile to add missing IDs to
|
||||
@ -136,7 +149,7 @@ export declare class ProfileFixerService {
|
||||
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* 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;
|
||||
}
|
||||
|
@ -27,7 +27,6 @@ import { LocalisationService } from "../services/LocalisationService";
|
||||
import { OpenZoneService } from "../services/OpenZoneService";
|
||||
import { ProfileFixerService } from "../services/ProfileFixerService";
|
||||
import { SeasonalEventService } from "../services/SeasonalEventService";
|
||||
import { HashUtil } from "../utils/HashUtil";
|
||||
import { JsonUtil } from "../utils/JsonUtil";
|
||||
import { RandomUtil } from "../utils/RandomUtil";
|
||||
import { TimeUtil } from "../utils/TimeUtil";
|
||||
@ -36,7 +35,6 @@ export declare class GameController {
|
||||
protected databaseServer: DatabaseServer;
|
||||
protected jsonUtil: JsonUtil;
|
||||
protected timeUtil: TimeUtil;
|
||||
protected hashUtil: HashUtil;
|
||||
protected preAkiModLoader: PreAkiModLoader;
|
||||
protected httpServerHelper: HttpServerHelper;
|
||||
protected randomUtil: RandomUtil;
|
||||
@ -58,7 +56,7 @@ export declare class GameController {
|
||||
protected ragfairConfig: IRagfairConfig;
|
||||
protected pmcConfig: IPmcConfig;
|
||||
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;
|
||||
/**
|
||||
* Handle client/game/start
|
||||
@ -67,12 +65,6 @@ export declare class GameController {
|
||||
protected addCustomLooseLootPositions(): void;
|
||||
protected adjustLooseLootSpawnProbabilities(): 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 */
|
||||
protected adjustMapBotLimits(): void;
|
||||
/**
|
||||
|
@ -1,4 +1,5 @@
|
||||
import { DependencyContainer } from "tsyringe";
|
||||
import { ModDetails } from "../models/eft/profile/IAkiProfile";
|
||||
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
||||
import { IModLoader } from "../models/spt/mod/IModLoader";
|
||||
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
||||
@ -35,6 +36,7 @@ export declare class PreAkiModLoader implements IModLoader {
|
||||
*/
|
||||
getImportedModsNames(): string[];
|
||||
getImportedModDetails(): Record<string, IPackageJsonData>;
|
||||
getProfileModsGroupedByModName(profileMods: ModDetails[]): ModDetails[];
|
||||
getModPath(mod: string): string;
|
||||
protected importMods(): Promise<void>;
|
||||
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
||||
|
@ -6,8 +6,19 @@ export interface IRepairConfig extends IBaseConfig {
|
||||
applyRandomizeDurabilityLoss: boolean;
|
||||
weaponSkillRepairGain: number;
|
||||
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
||||
/** INT gain multiplier per repaired item type */
|
||||
repairKitIntellectGainMultiplier: IIntellectGainValues;
|
||||
maxIntellectGainPerRepair: IMaxIntellectGainValues;
|
||||
repairKit: RepairKit;
|
||||
}
|
||||
export interface IIntellectGainValues {
|
||||
weapon: number;
|
||||
armor: number;
|
||||
}
|
||||
export interface IMaxIntellectGainValues {
|
||||
kit: number;
|
||||
trader: number;
|
||||
}
|
||||
export interface RepairKit {
|
||||
armor: 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
|
||||
* @param traderData server data for traders
|
||||
* @returns
|
||||
* @returns dict of trader id + 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 { ConfigServer } from "../servers/ConfigServer";
|
||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||
import { HashUtil } from "../utils/HashUtil";
|
||||
import { JsonUtil } from "../utils/JsonUtil";
|
||||
import { TimeUtil } from "../utils/TimeUtil";
|
||||
import { Watermark } from "../utils/Watermark";
|
||||
@ -29,11 +30,12 @@ export declare class ProfileFixerService {
|
||||
protected localisationService: LocalisationService;
|
||||
protected timeUtil: TimeUtil;
|
||||
protected jsonUtil: JsonUtil;
|
||||
protected hashUtil: HashUtil;
|
||||
protected databaseServer: DatabaseServer;
|
||||
protected configServer: ConfigServer;
|
||||
protected coreConfig: ICoreConfig;
|
||||
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
|
||||
* @param pmcProfile profile to check and fix
|
||||
@ -129,6 +131,17 @@ export declare class ProfileFixerService {
|
||||
* @param pmcProfile Profile to update
|
||||
*/
|
||||
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
|
||||
* @param pmcProfile Profile to add missing IDs to
|
||||
@ -136,7 +149,7 @@ export declare class ProfileFixerService {
|
||||
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* 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;
|
||||
}
|
||||
|
@ -27,7 +27,6 @@ import { LocalisationService } from "../services/LocalisationService";
|
||||
import { OpenZoneService } from "../services/OpenZoneService";
|
||||
import { ProfileFixerService } from "../services/ProfileFixerService";
|
||||
import { SeasonalEventService } from "../services/SeasonalEventService";
|
||||
import { HashUtil } from "../utils/HashUtil";
|
||||
import { JsonUtil } from "../utils/JsonUtil";
|
||||
import { RandomUtil } from "../utils/RandomUtil";
|
||||
import { TimeUtil } from "../utils/TimeUtil";
|
||||
@ -36,7 +35,6 @@ export declare class GameController {
|
||||
protected databaseServer: DatabaseServer;
|
||||
protected jsonUtil: JsonUtil;
|
||||
protected timeUtil: TimeUtil;
|
||||
protected hashUtil: HashUtil;
|
||||
protected preAkiModLoader: PreAkiModLoader;
|
||||
protected httpServerHelper: HttpServerHelper;
|
||||
protected randomUtil: RandomUtil;
|
||||
@ -58,7 +56,7 @@ export declare class GameController {
|
||||
protected ragfairConfig: IRagfairConfig;
|
||||
protected pmcConfig: IPmcConfig;
|
||||
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;
|
||||
/**
|
||||
* Handle client/game/start
|
||||
@ -67,12 +65,6 @@ export declare class GameController {
|
||||
protected addCustomLooseLootPositions(): void;
|
||||
protected adjustLooseLootSpawnProbabilities(): 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 */
|
||||
protected adjustMapBotLimits(): void;
|
||||
/**
|
||||
|
@ -1,4 +1,5 @@
|
||||
import { DependencyContainer } from "tsyringe";
|
||||
import { ModDetails } from "../models/eft/profile/IAkiProfile";
|
||||
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
||||
import { IModLoader } from "../models/spt/mod/IModLoader";
|
||||
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
||||
@ -35,6 +36,7 @@ export declare class PreAkiModLoader implements IModLoader {
|
||||
*/
|
||||
getImportedModsNames(): string[];
|
||||
getImportedModDetails(): Record<string, IPackageJsonData>;
|
||||
getProfileModsGroupedByModName(profileMods: ModDetails[]): ModDetails[];
|
||||
getModPath(mod: string): string;
|
||||
protected importMods(): Promise<void>;
|
||||
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
||||
|
@ -6,8 +6,19 @@ export interface IRepairConfig extends IBaseConfig {
|
||||
applyRandomizeDurabilityLoss: boolean;
|
||||
weaponSkillRepairGain: number;
|
||||
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
||||
/** INT gain multiplier per repaired item type */
|
||||
repairKitIntellectGainMultiplier: IIntellectGainValues;
|
||||
maxIntellectGainPerRepair: IMaxIntellectGainValues;
|
||||
repairKit: RepairKit;
|
||||
}
|
||||
export interface IIntellectGainValues {
|
||||
weapon: number;
|
||||
armor: number;
|
||||
}
|
||||
export interface IMaxIntellectGainValues {
|
||||
kit: number;
|
||||
trader: number;
|
||||
}
|
||||
export interface RepairKit {
|
||||
armor: 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
|
||||
* @param traderData server data for traders
|
||||
* @returns
|
||||
* @returns dict of trader id + 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 { ConfigServer } from "../servers/ConfigServer";
|
||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||
import { HashUtil } from "../utils/HashUtil";
|
||||
import { JsonUtil } from "../utils/JsonUtil";
|
||||
import { TimeUtil } from "../utils/TimeUtil";
|
||||
import { Watermark } from "../utils/Watermark";
|
||||
@ -29,11 +30,12 @@ export declare class ProfileFixerService {
|
||||
protected localisationService: LocalisationService;
|
||||
protected timeUtil: TimeUtil;
|
||||
protected jsonUtil: JsonUtil;
|
||||
protected hashUtil: HashUtil;
|
||||
protected databaseServer: DatabaseServer;
|
||||
protected configServer: ConfigServer;
|
||||
protected coreConfig: ICoreConfig;
|
||||
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
|
||||
* @param pmcProfile profile to check and fix
|
||||
@ -129,6 +131,17 @@ export declare class ProfileFixerService {
|
||||
* @param pmcProfile Profile to update
|
||||
*/
|
||||
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
|
||||
* @param pmcProfile Profile to add missing IDs to
|
||||
@ -136,7 +149,7 @@ export declare class ProfileFixerService {
|
||||
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* 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;
|
||||
}
|
||||
|
@ -27,7 +27,6 @@ import { LocalisationService } from "../services/LocalisationService";
|
||||
import { OpenZoneService } from "../services/OpenZoneService";
|
||||
import { ProfileFixerService } from "../services/ProfileFixerService";
|
||||
import { SeasonalEventService } from "../services/SeasonalEventService";
|
||||
import { HashUtil } from "../utils/HashUtil";
|
||||
import { JsonUtil } from "../utils/JsonUtil";
|
||||
import { RandomUtil } from "../utils/RandomUtil";
|
||||
import { TimeUtil } from "../utils/TimeUtil";
|
||||
@ -36,7 +35,6 @@ export declare class GameController {
|
||||
protected databaseServer: DatabaseServer;
|
||||
protected jsonUtil: JsonUtil;
|
||||
protected timeUtil: TimeUtil;
|
||||
protected hashUtil: HashUtil;
|
||||
protected preAkiModLoader: PreAkiModLoader;
|
||||
protected httpServerHelper: HttpServerHelper;
|
||||
protected randomUtil: RandomUtil;
|
||||
@ -58,7 +56,7 @@ export declare class GameController {
|
||||
protected ragfairConfig: IRagfairConfig;
|
||||
protected pmcConfig: IPmcConfig;
|
||||
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;
|
||||
/**
|
||||
* Handle client/game/start
|
||||
@ -67,12 +65,6 @@ export declare class GameController {
|
||||
protected addCustomLooseLootPositions(): void;
|
||||
protected adjustLooseLootSpawnProbabilities(): 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 */
|
||||
protected adjustMapBotLimits(): void;
|
||||
/**
|
||||
|
@ -1,4 +1,5 @@
|
||||
import { DependencyContainer } from "tsyringe";
|
||||
import { ModDetails } from "../models/eft/profile/IAkiProfile";
|
||||
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
||||
import { IModLoader } from "../models/spt/mod/IModLoader";
|
||||
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
||||
@ -35,6 +36,7 @@ export declare class PreAkiModLoader implements IModLoader {
|
||||
*/
|
||||
getImportedModsNames(): string[];
|
||||
getImportedModDetails(): Record<string, IPackageJsonData>;
|
||||
getProfileModsGroupedByModName(profileMods: ModDetails[]): ModDetails[];
|
||||
getModPath(mod: string): string;
|
||||
protected importMods(): Promise<void>;
|
||||
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
||||
|
@ -6,8 +6,19 @@ export interface IRepairConfig extends IBaseConfig {
|
||||
applyRandomizeDurabilityLoss: boolean;
|
||||
weaponSkillRepairGain: number;
|
||||
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
||||
/** INT gain multiplier per repaired item type */
|
||||
repairKitIntellectGainMultiplier: IIntellectGainValues;
|
||||
maxIntellectGainPerRepair: IMaxIntellectGainValues;
|
||||
repairKit: RepairKit;
|
||||
}
|
||||
export interface IIntellectGainValues {
|
||||
weapon: number;
|
||||
armor: number;
|
||||
}
|
||||
export interface IMaxIntellectGainValues {
|
||||
kit: number;
|
||||
trader: number;
|
||||
}
|
||||
export interface RepairKit {
|
||||
armor: 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
|
||||
* @param traderData server data for traders
|
||||
* @returns
|
||||
* @returns dict of trader id + 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 { ConfigServer } from "../servers/ConfigServer";
|
||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||
import { HashUtil } from "../utils/HashUtil";
|
||||
import { JsonUtil } from "../utils/JsonUtil";
|
||||
import { TimeUtil } from "../utils/TimeUtil";
|
||||
import { Watermark } from "../utils/Watermark";
|
||||
@ -29,11 +30,12 @@ export declare class ProfileFixerService {
|
||||
protected localisationService: LocalisationService;
|
||||
protected timeUtil: TimeUtil;
|
||||
protected jsonUtil: JsonUtil;
|
||||
protected hashUtil: HashUtil;
|
||||
protected databaseServer: DatabaseServer;
|
||||
protected configServer: ConfigServer;
|
||||
protected coreConfig: ICoreConfig;
|
||||
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
|
||||
* @param pmcProfile profile to check and fix
|
||||
@ -129,6 +131,17 @@ export declare class ProfileFixerService {
|
||||
* @param pmcProfile Profile to update
|
||||
*/
|
||||
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
|
||||
* @param pmcProfile Profile to add missing IDs to
|
||||
@ -136,7 +149,7 @@ export declare class ProfileFixerService {
|
||||
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* 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;
|
||||
}
|
||||
|
@ -27,7 +27,6 @@ import { LocalisationService } from "../services/LocalisationService";
|
||||
import { OpenZoneService } from "../services/OpenZoneService";
|
||||
import { ProfileFixerService } from "../services/ProfileFixerService";
|
||||
import { SeasonalEventService } from "../services/SeasonalEventService";
|
||||
import { HashUtil } from "../utils/HashUtil";
|
||||
import { JsonUtil } from "../utils/JsonUtil";
|
||||
import { RandomUtil } from "../utils/RandomUtil";
|
||||
import { TimeUtil } from "../utils/TimeUtil";
|
||||
@ -36,7 +35,6 @@ export declare class GameController {
|
||||
protected databaseServer: DatabaseServer;
|
||||
protected jsonUtil: JsonUtil;
|
||||
protected timeUtil: TimeUtil;
|
||||
protected hashUtil: HashUtil;
|
||||
protected preAkiModLoader: PreAkiModLoader;
|
||||
protected httpServerHelper: HttpServerHelper;
|
||||
protected randomUtil: RandomUtil;
|
||||
@ -58,7 +56,7 @@ export declare class GameController {
|
||||
protected ragfairConfig: IRagfairConfig;
|
||||
protected pmcConfig: IPmcConfig;
|
||||
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;
|
||||
/**
|
||||
* Handle client/game/start
|
||||
@ -67,12 +65,6 @@ export declare class GameController {
|
||||
protected addCustomLooseLootPositions(): void;
|
||||
protected adjustLooseLootSpawnProbabilities(): 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 */
|
||||
protected adjustMapBotLimits(): void;
|
||||
/**
|
||||
|
@ -1,4 +1,5 @@
|
||||
import { DependencyContainer } from "tsyringe";
|
||||
import { ModDetails } from "../models/eft/profile/IAkiProfile";
|
||||
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
||||
import { IModLoader } from "../models/spt/mod/IModLoader";
|
||||
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
||||
@ -35,6 +36,7 @@ export declare class PreAkiModLoader implements IModLoader {
|
||||
*/
|
||||
getImportedModsNames(): string[];
|
||||
getImportedModDetails(): Record<string, IPackageJsonData>;
|
||||
getProfileModsGroupedByModName(profileMods: ModDetails[]): ModDetails[];
|
||||
getModPath(mod: string): string;
|
||||
protected importMods(): Promise<void>;
|
||||
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
||||
|
@ -6,8 +6,19 @@ export interface IRepairConfig extends IBaseConfig {
|
||||
applyRandomizeDurabilityLoss: boolean;
|
||||
weaponSkillRepairGain: number;
|
||||
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
||||
/** INT gain multiplier per repaired item type */
|
||||
repairKitIntellectGainMultiplier: IIntellectGainValues;
|
||||
maxIntellectGainPerRepair: IMaxIntellectGainValues;
|
||||
repairKit: RepairKit;
|
||||
}
|
||||
export interface IIntellectGainValues {
|
||||
weapon: number;
|
||||
armor: number;
|
||||
}
|
||||
export interface IMaxIntellectGainValues {
|
||||
kit: number;
|
||||
trader: number;
|
||||
}
|
||||
export interface RepairKit {
|
||||
armor: 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
|
||||
* @param traderData server data for traders
|
||||
* @returns
|
||||
* @returns dict of trader id + 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 { ConfigServer } from "../servers/ConfigServer";
|
||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||
import { HashUtil } from "../utils/HashUtil";
|
||||
import { JsonUtil } from "../utils/JsonUtil";
|
||||
import { TimeUtil } from "../utils/TimeUtil";
|
||||
import { Watermark } from "../utils/Watermark";
|
||||
@ -29,11 +30,12 @@ export declare class ProfileFixerService {
|
||||
protected localisationService: LocalisationService;
|
||||
protected timeUtil: TimeUtil;
|
||||
protected jsonUtil: JsonUtil;
|
||||
protected hashUtil: HashUtil;
|
||||
protected databaseServer: DatabaseServer;
|
||||
protected configServer: ConfigServer;
|
||||
protected coreConfig: ICoreConfig;
|
||||
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
|
||||
* @param pmcProfile profile to check and fix
|
||||
@ -129,6 +131,17 @@ export declare class ProfileFixerService {
|
||||
* @param pmcProfile Profile to update
|
||||
*/
|
||||
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
|
||||
* @param pmcProfile Profile to add missing IDs to
|
||||
@ -136,7 +149,7 @@ export declare class ProfileFixerService {
|
||||
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* 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;
|
||||
}
|
||||
|
@ -27,7 +27,6 @@ import { LocalisationService } from "../services/LocalisationService";
|
||||
import { OpenZoneService } from "../services/OpenZoneService";
|
||||
import { ProfileFixerService } from "../services/ProfileFixerService";
|
||||
import { SeasonalEventService } from "../services/SeasonalEventService";
|
||||
import { HashUtil } from "../utils/HashUtil";
|
||||
import { JsonUtil } from "../utils/JsonUtil";
|
||||
import { RandomUtil } from "../utils/RandomUtil";
|
||||
import { TimeUtil } from "../utils/TimeUtil";
|
||||
@ -36,7 +35,6 @@ export declare class GameController {
|
||||
protected databaseServer: DatabaseServer;
|
||||
protected jsonUtil: JsonUtil;
|
||||
protected timeUtil: TimeUtil;
|
||||
protected hashUtil: HashUtil;
|
||||
protected preAkiModLoader: PreAkiModLoader;
|
||||
protected httpServerHelper: HttpServerHelper;
|
||||
protected randomUtil: RandomUtil;
|
||||
@ -58,7 +56,7 @@ export declare class GameController {
|
||||
protected ragfairConfig: IRagfairConfig;
|
||||
protected pmcConfig: IPmcConfig;
|
||||
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;
|
||||
/**
|
||||
* Handle client/game/start
|
||||
@ -67,12 +65,6 @@ export declare class GameController {
|
||||
protected addCustomLooseLootPositions(): void;
|
||||
protected adjustLooseLootSpawnProbabilities(): 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 */
|
||||
protected adjustMapBotLimits(): void;
|
||||
/**
|
||||
|
@ -1,4 +1,5 @@
|
||||
import { DependencyContainer } from "tsyringe";
|
||||
import { ModDetails } from "../models/eft/profile/IAkiProfile";
|
||||
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
||||
import { IModLoader } from "../models/spt/mod/IModLoader";
|
||||
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
||||
@ -35,6 +36,7 @@ export declare class PreAkiModLoader implements IModLoader {
|
||||
*/
|
||||
getImportedModsNames(): string[];
|
||||
getImportedModDetails(): Record<string, IPackageJsonData>;
|
||||
getProfileModsGroupedByModName(profileMods: ModDetails[]): ModDetails[];
|
||||
getModPath(mod: string): string;
|
||||
protected importMods(): Promise<void>;
|
||||
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
||||
|
@ -6,8 +6,19 @@ export interface IRepairConfig extends IBaseConfig {
|
||||
applyRandomizeDurabilityLoss: boolean;
|
||||
weaponSkillRepairGain: number;
|
||||
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
||||
/** INT gain multiplier per repaired item type */
|
||||
repairKitIntellectGainMultiplier: IIntellectGainValues;
|
||||
maxIntellectGainPerRepair: IMaxIntellectGainValues;
|
||||
repairKit: RepairKit;
|
||||
}
|
||||
export interface IIntellectGainValues {
|
||||
weapon: number;
|
||||
armor: number;
|
||||
}
|
||||
export interface IMaxIntellectGainValues {
|
||||
kit: number;
|
||||
trader: number;
|
||||
}
|
||||
export interface RepairKit {
|
||||
armor: 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
|
||||
* @param traderData server data for traders
|
||||
* @returns
|
||||
* @returns dict of trader id + 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 { ConfigServer } from "../servers/ConfigServer";
|
||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||
import { HashUtil } from "../utils/HashUtil";
|
||||
import { JsonUtil } from "../utils/JsonUtil";
|
||||
import { TimeUtil } from "../utils/TimeUtil";
|
||||
import { Watermark } from "../utils/Watermark";
|
||||
@ -29,11 +30,12 @@ export declare class ProfileFixerService {
|
||||
protected localisationService: LocalisationService;
|
||||
protected timeUtil: TimeUtil;
|
||||
protected jsonUtil: JsonUtil;
|
||||
protected hashUtil: HashUtil;
|
||||
protected databaseServer: DatabaseServer;
|
||||
protected configServer: ConfigServer;
|
||||
protected coreConfig: ICoreConfig;
|
||||
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
|
||||
* @param pmcProfile profile to check and fix
|
||||
@ -129,6 +131,17 @@ export declare class ProfileFixerService {
|
||||
* @param pmcProfile Profile to update
|
||||
*/
|
||||
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
|
||||
* @param pmcProfile Profile to add missing IDs to
|
||||
@ -136,7 +149,7 @@ export declare class ProfileFixerService {
|
||||
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* 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;
|
||||
}
|
||||
|
@ -27,7 +27,6 @@ import { LocalisationService } from "../services/LocalisationService";
|
||||
import { OpenZoneService } from "../services/OpenZoneService";
|
||||
import { ProfileFixerService } from "../services/ProfileFixerService";
|
||||
import { SeasonalEventService } from "../services/SeasonalEventService";
|
||||
import { HashUtil } from "../utils/HashUtil";
|
||||
import { JsonUtil } from "../utils/JsonUtil";
|
||||
import { RandomUtil } from "../utils/RandomUtil";
|
||||
import { TimeUtil } from "../utils/TimeUtil";
|
||||
@ -36,7 +35,6 @@ export declare class GameController {
|
||||
protected databaseServer: DatabaseServer;
|
||||
protected jsonUtil: JsonUtil;
|
||||
protected timeUtil: TimeUtil;
|
||||
protected hashUtil: HashUtil;
|
||||
protected preAkiModLoader: PreAkiModLoader;
|
||||
protected httpServerHelper: HttpServerHelper;
|
||||
protected randomUtil: RandomUtil;
|
||||
@ -58,7 +56,7 @@ export declare class GameController {
|
||||
protected ragfairConfig: IRagfairConfig;
|
||||
protected pmcConfig: IPmcConfig;
|
||||
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;
|
||||
/**
|
||||
* Handle client/game/start
|
||||
@ -67,12 +65,6 @@ export declare class GameController {
|
||||
protected addCustomLooseLootPositions(): void;
|
||||
protected adjustLooseLootSpawnProbabilities(): 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 */
|
||||
protected adjustMapBotLimits(): void;
|
||||
/**
|
||||
|
@ -1,4 +1,5 @@
|
||||
import { DependencyContainer } from "tsyringe";
|
||||
import { ModDetails } from "../models/eft/profile/IAkiProfile";
|
||||
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
||||
import { IModLoader } from "../models/spt/mod/IModLoader";
|
||||
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
||||
@ -35,6 +36,7 @@ export declare class PreAkiModLoader implements IModLoader {
|
||||
*/
|
||||
getImportedModsNames(): string[];
|
||||
getImportedModDetails(): Record<string, IPackageJsonData>;
|
||||
getProfileModsGroupedByModName(profileMods: ModDetails[]): ModDetails[];
|
||||
getModPath(mod: string): string;
|
||||
protected importMods(): Promise<void>;
|
||||
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
||||
|
@ -6,8 +6,19 @@ export interface IRepairConfig extends IBaseConfig {
|
||||
applyRandomizeDurabilityLoss: boolean;
|
||||
weaponSkillRepairGain: number;
|
||||
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
||||
/** INT gain multiplier per repaired item type */
|
||||
repairKitIntellectGainMultiplier: IIntellectGainValues;
|
||||
maxIntellectGainPerRepair: IMaxIntellectGainValues;
|
||||
repairKit: RepairKit;
|
||||
}
|
||||
export interface IIntellectGainValues {
|
||||
weapon: number;
|
||||
armor: number;
|
||||
}
|
||||
export interface IMaxIntellectGainValues {
|
||||
kit: number;
|
||||
trader: number;
|
||||
}
|
||||
export interface RepairKit {
|
||||
armor: 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
|
||||
* @param traderData server data for traders
|
||||
* @returns
|
||||
* @returns dict of trader id + 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 { ConfigServer } from "../servers/ConfigServer";
|
||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||
import { HashUtil } from "../utils/HashUtil";
|
||||
import { JsonUtil } from "../utils/JsonUtil";
|
||||
import { TimeUtil } from "../utils/TimeUtil";
|
||||
import { Watermark } from "../utils/Watermark";
|
||||
@ -29,11 +30,12 @@ export declare class ProfileFixerService {
|
||||
protected localisationService: LocalisationService;
|
||||
protected timeUtil: TimeUtil;
|
||||
protected jsonUtil: JsonUtil;
|
||||
protected hashUtil: HashUtil;
|
||||
protected databaseServer: DatabaseServer;
|
||||
protected configServer: ConfigServer;
|
||||
protected coreConfig: ICoreConfig;
|
||||
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
|
||||
* @param pmcProfile profile to check and fix
|
||||
@ -129,6 +131,17 @@ export declare class ProfileFixerService {
|
||||
* @param pmcProfile Profile to update
|
||||
*/
|
||||
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
|
||||
* @param pmcProfile Profile to add missing IDs to
|
||||
@ -136,7 +149,7 @@ export declare class ProfileFixerService {
|
||||
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* 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;
|
||||
}
|
||||
|
@ -27,7 +27,6 @@ import { LocalisationService } from "../services/LocalisationService";
|
||||
import { OpenZoneService } from "../services/OpenZoneService";
|
||||
import { ProfileFixerService } from "../services/ProfileFixerService";
|
||||
import { SeasonalEventService } from "../services/SeasonalEventService";
|
||||
import { HashUtil } from "../utils/HashUtil";
|
||||
import { JsonUtil } from "../utils/JsonUtil";
|
||||
import { RandomUtil } from "../utils/RandomUtil";
|
||||
import { TimeUtil } from "../utils/TimeUtil";
|
||||
@ -36,7 +35,6 @@ export declare class GameController {
|
||||
protected databaseServer: DatabaseServer;
|
||||
protected jsonUtil: JsonUtil;
|
||||
protected timeUtil: TimeUtil;
|
||||
protected hashUtil: HashUtil;
|
||||
protected preAkiModLoader: PreAkiModLoader;
|
||||
protected httpServerHelper: HttpServerHelper;
|
||||
protected randomUtil: RandomUtil;
|
||||
@ -58,7 +56,7 @@ export declare class GameController {
|
||||
protected ragfairConfig: IRagfairConfig;
|
||||
protected pmcConfig: IPmcConfig;
|
||||
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;
|
||||
/**
|
||||
* Handle client/game/start
|
||||
@ -67,12 +65,6 @@ export declare class GameController {
|
||||
protected addCustomLooseLootPositions(): void;
|
||||
protected adjustLooseLootSpawnProbabilities(): 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 */
|
||||
protected adjustMapBotLimits(): void;
|
||||
/**
|
||||
|
@ -1,4 +1,5 @@
|
||||
import { DependencyContainer } from "tsyringe";
|
||||
import { ModDetails } from "../models/eft/profile/IAkiProfile";
|
||||
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
||||
import { IModLoader } from "../models/spt/mod/IModLoader";
|
||||
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
||||
@ -35,6 +36,7 @@ export declare class PreAkiModLoader implements IModLoader {
|
||||
*/
|
||||
getImportedModsNames(): string[];
|
||||
getImportedModDetails(): Record<string, IPackageJsonData>;
|
||||
getProfileModsGroupedByModName(profileMods: ModDetails[]): ModDetails[];
|
||||
getModPath(mod: string): string;
|
||||
protected importMods(): Promise<void>;
|
||||
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
||||
|
@ -6,8 +6,19 @@ export interface IRepairConfig extends IBaseConfig {
|
||||
applyRandomizeDurabilityLoss: boolean;
|
||||
weaponSkillRepairGain: number;
|
||||
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
||||
/** INT gain multiplier per repaired item type */
|
||||
repairKitIntellectGainMultiplier: IIntellectGainValues;
|
||||
maxIntellectGainPerRepair: IMaxIntellectGainValues;
|
||||
repairKit: RepairKit;
|
||||
}
|
||||
export interface IIntellectGainValues {
|
||||
weapon: number;
|
||||
armor: number;
|
||||
}
|
||||
export interface IMaxIntellectGainValues {
|
||||
kit: number;
|
||||
trader: number;
|
||||
}
|
||||
export interface RepairKit {
|
||||
armor: 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
|
||||
* @param traderData server data for traders
|
||||
* @returns
|
||||
* @returns dict of trader id + 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 { ConfigServer } from "../servers/ConfigServer";
|
||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||
import { HashUtil } from "../utils/HashUtil";
|
||||
import { JsonUtil } from "../utils/JsonUtil";
|
||||
import { TimeUtil } from "../utils/TimeUtil";
|
||||
import { Watermark } from "../utils/Watermark";
|
||||
@ -29,11 +30,12 @@ export declare class ProfileFixerService {
|
||||
protected localisationService: LocalisationService;
|
||||
protected timeUtil: TimeUtil;
|
||||
protected jsonUtil: JsonUtil;
|
||||
protected hashUtil: HashUtil;
|
||||
protected databaseServer: DatabaseServer;
|
||||
protected configServer: ConfigServer;
|
||||
protected coreConfig: ICoreConfig;
|
||||
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
|
||||
* @param pmcProfile profile to check and fix
|
||||
@ -129,6 +131,17 @@ export declare class ProfileFixerService {
|
||||
* @param pmcProfile Profile to update
|
||||
*/
|
||||
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
|
||||
* @param pmcProfile Profile to add missing IDs to
|
||||
@ -136,7 +149,7 @@ export declare class ProfileFixerService {
|
||||
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* 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;
|
||||
}
|
||||
|
@ -27,7 +27,6 @@ import { LocalisationService } from "../services/LocalisationService";
|
||||
import { OpenZoneService } from "../services/OpenZoneService";
|
||||
import { ProfileFixerService } from "../services/ProfileFixerService";
|
||||
import { SeasonalEventService } from "../services/SeasonalEventService";
|
||||
import { HashUtil } from "../utils/HashUtil";
|
||||
import { JsonUtil } from "../utils/JsonUtil";
|
||||
import { RandomUtil } from "../utils/RandomUtil";
|
||||
import { TimeUtil } from "../utils/TimeUtil";
|
||||
@ -36,7 +35,6 @@ export declare class GameController {
|
||||
protected databaseServer: DatabaseServer;
|
||||
protected jsonUtil: JsonUtil;
|
||||
protected timeUtil: TimeUtil;
|
||||
protected hashUtil: HashUtil;
|
||||
protected preAkiModLoader: PreAkiModLoader;
|
||||
protected httpServerHelper: HttpServerHelper;
|
||||
protected randomUtil: RandomUtil;
|
||||
@ -58,7 +56,7 @@ export declare class GameController {
|
||||
protected ragfairConfig: IRagfairConfig;
|
||||
protected pmcConfig: IPmcConfig;
|
||||
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;
|
||||
/**
|
||||
* Handle client/game/start
|
||||
@ -67,12 +65,6 @@ export declare class GameController {
|
||||
protected addCustomLooseLootPositions(): void;
|
||||
protected adjustLooseLootSpawnProbabilities(): 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 */
|
||||
protected adjustMapBotLimits(): void;
|
||||
/**
|
||||
|
@ -1,4 +1,5 @@
|
||||
import { DependencyContainer } from "tsyringe";
|
||||
import { ModDetails } from "../models/eft/profile/IAkiProfile";
|
||||
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
||||
import { IModLoader } from "../models/spt/mod/IModLoader";
|
||||
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
||||
@ -35,6 +36,7 @@ export declare class PreAkiModLoader implements IModLoader {
|
||||
*/
|
||||
getImportedModsNames(): string[];
|
||||
getImportedModDetails(): Record<string, IPackageJsonData>;
|
||||
getProfileModsGroupedByModName(profileMods: ModDetails[]): ModDetails[];
|
||||
getModPath(mod: string): string;
|
||||
protected importMods(): Promise<void>;
|
||||
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
||||
|
@ -6,8 +6,19 @@ export interface IRepairConfig extends IBaseConfig {
|
||||
applyRandomizeDurabilityLoss: boolean;
|
||||
weaponSkillRepairGain: number;
|
||||
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
||||
/** INT gain multiplier per repaired item type */
|
||||
repairKitIntellectGainMultiplier: IIntellectGainValues;
|
||||
maxIntellectGainPerRepair: IMaxIntellectGainValues;
|
||||
repairKit: RepairKit;
|
||||
}
|
||||
export interface IIntellectGainValues {
|
||||
weapon: number;
|
||||
armor: number;
|
||||
}
|
||||
export interface IMaxIntellectGainValues {
|
||||
kit: number;
|
||||
trader: number;
|
||||
}
|
||||
export interface RepairKit {
|
||||
armor: 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
|
||||
* @param traderData server data for traders
|
||||
* @returns
|
||||
* @returns dict of trader id + 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 { ConfigServer } from "../servers/ConfigServer";
|
||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||
import { HashUtil } from "../utils/HashUtil";
|
||||
import { JsonUtil } from "../utils/JsonUtil";
|
||||
import { TimeUtil } from "../utils/TimeUtil";
|
||||
import { Watermark } from "../utils/Watermark";
|
||||
@ -29,11 +30,12 @@ export declare class ProfileFixerService {
|
||||
protected localisationService: LocalisationService;
|
||||
protected timeUtil: TimeUtil;
|
||||
protected jsonUtil: JsonUtil;
|
||||
protected hashUtil: HashUtil;
|
||||
protected databaseServer: DatabaseServer;
|
||||
protected configServer: ConfigServer;
|
||||
protected coreConfig: ICoreConfig;
|
||||
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
|
||||
* @param pmcProfile profile to check and fix
|
||||
@ -129,6 +131,17 @@ export declare class ProfileFixerService {
|
||||
* @param pmcProfile Profile to update
|
||||
*/
|
||||
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
|
||||
* @param pmcProfile Profile to add missing IDs to
|
||||
@ -136,7 +149,7 @@ export declare class ProfileFixerService {
|
||||
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* 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;
|
||||
}
|
||||
|
@ -27,7 +27,6 @@ import { LocalisationService } from "../services/LocalisationService";
|
||||
import { OpenZoneService } from "../services/OpenZoneService";
|
||||
import { ProfileFixerService } from "../services/ProfileFixerService";
|
||||
import { SeasonalEventService } from "../services/SeasonalEventService";
|
||||
import { HashUtil } from "../utils/HashUtil";
|
||||
import { JsonUtil } from "../utils/JsonUtil";
|
||||
import { RandomUtil } from "../utils/RandomUtil";
|
||||
import { TimeUtil } from "../utils/TimeUtil";
|
||||
@ -36,7 +35,6 @@ export declare class GameController {
|
||||
protected databaseServer: DatabaseServer;
|
||||
protected jsonUtil: JsonUtil;
|
||||
protected timeUtil: TimeUtil;
|
||||
protected hashUtil: HashUtil;
|
||||
protected preAkiModLoader: PreAkiModLoader;
|
||||
protected httpServerHelper: HttpServerHelper;
|
||||
protected randomUtil: RandomUtil;
|
||||
@ -58,7 +56,7 @@ export declare class GameController {
|
||||
protected ragfairConfig: IRagfairConfig;
|
||||
protected pmcConfig: IPmcConfig;
|
||||
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;
|
||||
/**
|
||||
* Handle client/game/start
|
||||
@ -67,12 +65,6 @@ export declare class GameController {
|
||||
protected addCustomLooseLootPositions(): void;
|
||||
protected adjustLooseLootSpawnProbabilities(): 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 */
|
||||
protected adjustMapBotLimits(): void;
|
||||
/**
|
||||
|
@ -1,4 +1,5 @@
|
||||
import { DependencyContainer } from "tsyringe";
|
||||
import { ModDetails } from "../models/eft/profile/IAkiProfile";
|
||||
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
||||
import { IModLoader } from "../models/spt/mod/IModLoader";
|
||||
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
||||
@ -35,6 +36,7 @@ export declare class PreAkiModLoader implements IModLoader {
|
||||
*/
|
||||
getImportedModsNames(): string[];
|
||||
getImportedModDetails(): Record<string, IPackageJsonData>;
|
||||
getProfileModsGroupedByModName(profileMods: ModDetails[]): ModDetails[];
|
||||
getModPath(mod: string): string;
|
||||
protected importMods(): Promise<void>;
|
||||
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
||||
|
@ -6,8 +6,19 @@ export interface IRepairConfig extends IBaseConfig {
|
||||
applyRandomizeDurabilityLoss: boolean;
|
||||
weaponSkillRepairGain: number;
|
||||
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
||||
/** INT gain multiplier per repaired item type */
|
||||
repairKitIntellectGainMultiplier: IIntellectGainValues;
|
||||
maxIntellectGainPerRepair: IMaxIntellectGainValues;
|
||||
repairKit: RepairKit;
|
||||
}
|
||||
export interface IIntellectGainValues {
|
||||
weapon: number;
|
||||
armor: number;
|
||||
}
|
||||
export interface IMaxIntellectGainValues {
|
||||
kit: number;
|
||||
trader: number;
|
||||
}
|
||||
export interface RepairKit {
|
||||
armor: 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
|
||||
* @param traderData server data for traders
|
||||
* @returns
|
||||
* @returns dict of trader id + 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 { ConfigServer } from "../servers/ConfigServer";
|
||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||
import { HashUtil } from "../utils/HashUtil";
|
||||
import { JsonUtil } from "../utils/JsonUtil";
|
||||
import { TimeUtil } from "../utils/TimeUtil";
|
||||
import { Watermark } from "../utils/Watermark";
|
||||
@ -29,11 +30,12 @@ export declare class ProfileFixerService {
|
||||
protected localisationService: LocalisationService;
|
||||
protected timeUtil: TimeUtil;
|
||||
protected jsonUtil: JsonUtil;
|
||||
protected hashUtil: HashUtil;
|
||||
protected databaseServer: DatabaseServer;
|
||||
protected configServer: ConfigServer;
|
||||
protected coreConfig: ICoreConfig;
|
||||
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
|
||||
* @param pmcProfile profile to check and fix
|
||||
@ -129,6 +131,17 @@ export declare class ProfileFixerService {
|
||||
* @param pmcProfile Profile to update
|
||||
*/
|
||||
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
|
||||
* @param pmcProfile Profile to add missing IDs to
|
||||
@ -136,7 +149,7 @@ export declare class ProfileFixerService {
|
||||
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* 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;
|
||||
}
|
||||
|
@ -27,7 +27,6 @@ import { LocalisationService } from "../services/LocalisationService";
|
||||
import { OpenZoneService } from "../services/OpenZoneService";
|
||||
import { ProfileFixerService } from "../services/ProfileFixerService";
|
||||
import { SeasonalEventService } from "../services/SeasonalEventService";
|
||||
import { HashUtil } from "../utils/HashUtil";
|
||||
import { JsonUtil } from "../utils/JsonUtil";
|
||||
import { RandomUtil } from "../utils/RandomUtil";
|
||||
import { TimeUtil } from "../utils/TimeUtil";
|
||||
@ -36,7 +35,6 @@ export declare class GameController {
|
||||
protected databaseServer: DatabaseServer;
|
||||
protected jsonUtil: JsonUtil;
|
||||
protected timeUtil: TimeUtil;
|
||||
protected hashUtil: HashUtil;
|
||||
protected preAkiModLoader: PreAkiModLoader;
|
||||
protected httpServerHelper: HttpServerHelper;
|
||||
protected randomUtil: RandomUtil;
|
||||
@ -58,7 +56,7 @@ export declare class GameController {
|
||||
protected ragfairConfig: IRagfairConfig;
|
||||
protected pmcConfig: IPmcConfig;
|
||||
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;
|
||||
/**
|
||||
* Handle client/game/start
|
||||
@ -67,12 +65,6 @@ export declare class GameController {
|
||||
protected addCustomLooseLootPositions(): void;
|
||||
protected adjustLooseLootSpawnProbabilities(): 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 */
|
||||
protected adjustMapBotLimits(): void;
|
||||
/**
|
||||
|
@ -1,4 +1,5 @@
|
||||
import { DependencyContainer } from "tsyringe";
|
||||
import { ModDetails } from "../models/eft/profile/IAkiProfile";
|
||||
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
||||
import { IModLoader } from "../models/spt/mod/IModLoader";
|
||||
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
||||
@ -35,6 +36,7 @@ export declare class PreAkiModLoader implements IModLoader {
|
||||
*/
|
||||
getImportedModsNames(): string[];
|
||||
getImportedModDetails(): Record<string, IPackageJsonData>;
|
||||
getProfileModsGroupedByModName(profileMods: ModDetails[]): ModDetails[];
|
||||
getModPath(mod: string): string;
|
||||
protected importMods(): Promise<void>;
|
||||
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
||||
|
@ -6,8 +6,19 @@ export interface IRepairConfig extends IBaseConfig {
|
||||
applyRandomizeDurabilityLoss: boolean;
|
||||
weaponSkillRepairGain: number;
|
||||
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
||||
/** INT gain multiplier per repaired item type */
|
||||
repairKitIntellectGainMultiplier: IIntellectGainValues;
|
||||
maxIntellectGainPerRepair: IMaxIntellectGainValues;
|
||||
repairKit: RepairKit;
|
||||
}
|
||||
export interface IIntellectGainValues {
|
||||
weapon: number;
|
||||
armor: number;
|
||||
}
|
||||
export interface IMaxIntellectGainValues {
|
||||
kit: number;
|
||||
trader: number;
|
||||
}
|
||||
export interface RepairKit {
|
||||
armor: 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
|
||||
* @param traderData server data for traders
|
||||
* @returns
|
||||
* @returns dict of trader id + 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 { ConfigServer } from "../servers/ConfigServer";
|
||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||
import { HashUtil } from "../utils/HashUtil";
|
||||
import { JsonUtil } from "../utils/JsonUtil";
|
||||
import { TimeUtil } from "../utils/TimeUtil";
|
||||
import { Watermark } from "../utils/Watermark";
|
||||
@ -29,11 +30,12 @@ export declare class ProfileFixerService {
|
||||
protected localisationService: LocalisationService;
|
||||
protected timeUtil: TimeUtil;
|
||||
protected jsonUtil: JsonUtil;
|
||||
protected hashUtil: HashUtil;
|
||||
protected databaseServer: DatabaseServer;
|
||||
protected configServer: ConfigServer;
|
||||
protected coreConfig: ICoreConfig;
|
||||
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
|
||||
* @param pmcProfile profile to check and fix
|
||||
@ -129,6 +131,17 @@ export declare class ProfileFixerService {
|
||||
* @param pmcProfile Profile to update
|
||||
*/
|
||||
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
|
||||
* @param pmcProfile Profile to add missing IDs to
|
||||
@ -136,7 +149,7 @@ export declare class ProfileFixerService {
|
||||
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* 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;
|
||||
}
|
||||
|
@ -27,7 +27,6 @@ import { LocalisationService } from "../services/LocalisationService";
|
||||
import { OpenZoneService } from "../services/OpenZoneService";
|
||||
import { ProfileFixerService } from "../services/ProfileFixerService";
|
||||
import { SeasonalEventService } from "../services/SeasonalEventService";
|
||||
import { HashUtil } from "../utils/HashUtil";
|
||||
import { JsonUtil } from "../utils/JsonUtil";
|
||||
import { RandomUtil } from "../utils/RandomUtil";
|
||||
import { TimeUtil } from "../utils/TimeUtil";
|
||||
@ -36,7 +35,6 @@ export declare class GameController {
|
||||
protected databaseServer: DatabaseServer;
|
||||
protected jsonUtil: JsonUtil;
|
||||
protected timeUtil: TimeUtil;
|
||||
protected hashUtil: HashUtil;
|
||||
protected preAkiModLoader: PreAkiModLoader;
|
||||
protected httpServerHelper: HttpServerHelper;
|
||||
protected randomUtil: RandomUtil;
|
||||
@ -58,7 +56,7 @@ export declare class GameController {
|
||||
protected ragfairConfig: IRagfairConfig;
|
||||
protected pmcConfig: IPmcConfig;
|
||||
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;
|
||||
/**
|
||||
* Handle client/game/start
|
||||
@ -67,12 +65,6 @@ export declare class GameController {
|
||||
protected addCustomLooseLootPositions(): void;
|
||||
protected adjustLooseLootSpawnProbabilities(): 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 */
|
||||
protected adjustMapBotLimits(): void;
|
||||
/**
|
||||
|
@ -1,4 +1,5 @@
|
||||
import { DependencyContainer } from "tsyringe";
|
||||
import { ModDetails } from "../models/eft/profile/IAkiProfile";
|
||||
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
||||
import { IModLoader } from "../models/spt/mod/IModLoader";
|
||||
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
||||
@ -35,6 +36,7 @@ export declare class PreAkiModLoader implements IModLoader {
|
||||
*/
|
||||
getImportedModsNames(): string[];
|
||||
getImportedModDetails(): Record<string, IPackageJsonData>;
|
||||
getProfileModsGroupedByModName(profileMods: ModDetails[]): ModDetails[];
|
||||
getModPath(mod: string): string;
|
||||
protected importMods(): Promise<void>;
|
||||
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
||||
|
@ -6,8 +6,19 @@ export interface IRepairConfig extends IBaseConfig {
|
||||
applyRandomizeDurabilityLoss: boolean;
|
||||
weaponSkillRepairGain: number;
|
||||
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
||||
/** INT gain multiplier per repaired item type */
|
||||
repairKitIntellectGainMultiplier: IIntellectGainValues;
|
||||
maxIntellectGainPerRepair: IMaxIntellectGainValues;
|
||||
repairKit: RepairKit;
|
||||
}
|
||||
export interface IIntellectGainValues {
|
||||
weapon: number;
|
||||
armor: number;
|
||||
}
|
||||
export interface IMaxIntellectGainValues {
|
||||
kit: number;
|
||||
trader: number;
|
||||
}
|
||||
export interface RepairKit {
|
||||
armor: 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
|
||||
* @param traderData server data for traders
|
||||
* @returns
|
||||
* @returns dict of trader id + 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 { ConfigServer } from "../servers/ConfigServer";
|
||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||
import { HashUtil } from "../utils/HashUtil";
|
||||
import { JsonUtil } from "../utils/JsonUtil";
|
||||
import { TimeUtil } from "../utils/TimeUtil";
|
||||
import { Watermark } from "../utils/Watermark";
|
||||
@ -29,11 +30,12 @@ export declare class ProfileFixerService {
|
||||
protected localisationService: LocalisationService;
|
||||
protected timeUtil: TimeUtil;
|
||||
protected jsonUtil: JsonUtil;
|
||||
protected hashUtil: HashUtil;
|
||||
protected databaseServer: DatabaseServer;
|
||||
protected configServer: ConfigServer;
|
||||
protected coreConfig: ICoreConfig;
|
||||
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
|
||||
* @param pmcProfile profile to check and fix
|
||||
@ -129,6 +131,17 @@ export declare class ProfileFixerService {
|
||||
* @param pmcProfile Profile to update
|
||||
*/
|
||||
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
|
||||
* @param pmcProfile Profile to add missing IDs to
|
||||
@ -136,7 +149,7 @@ export declare class ProfileFixerService {
|
||||
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* 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;
|
||||
}
|
||||
|
@ -27,7 +27,6 @@ import { LocalisationService } from "../services/LocalisationService";
|
||||
import { OpenZoneService } from "../services/OpenZoneService";
|
||||
import { ProfileFixerService } from "../services/ProfileFixerService";
|
||||
import { SeasonalEventService } from "../services/SeasonalEventService";
|
||||
import { HashUtil } from "../utils/HashUtil";
|
||||
import { JsonUtil } from "../utils/JsonUtil";
|
||||
import { RandomUtil } from "../utils/RandomUtil";
|
||||
import { TimeUtil } from "../utils/TimeUtil";
|
||||
@ -36,7 +35,6 @@ export declare class GameController {
|
||||
protected databaseServer: DatabaseServer;
|
||||
protected jsonUtil: JsonUtil;
|
||||
protected timeUtil: TimeUtil;
|
||||
protected hashUtil: HashUtil;
|
||||
protected preAkiModLoader: PreAkiModLoader;
|
||||
protected httpServerHelper: HttpServerHelper;
|
||||
protected randomUtil: RandomUtil;
|
||||
@ -58,7 +56,7 @@ export declare class GameController {
|
||||
protected ragfairConfig: IRagfairConfig;
|
||||
protected pmcConfig: IPmcConfig;
|
||||
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;
|
||||
/**
|
||||
* Handle client/game/start
|
||||
@ -67,12 +65,6 @@ export declare class GameController {
|
||||
protected addCustomLooseLootPositions(): void;
|
||||
protected adjustLooseLootSpawnProbabilities(): 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 */
|
||||
protected adjustMapBotLimits(): void;
|
||||
/**
|
||||
|
@ -1,4 +1,5 @@
|
||||
import { DependencyContainer } from "tsyringe";
|
||||
import { ModDetails } from "../models/eft/profile/IAkiProfile";
|
||||
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
||||
import { IModLoader } from "../models/spt/mod/IModLoader";
|
||||
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
||||
@ -35,6 +36,7 @@ export declare class PreAkiModLoader implements IModLoader {
|
||||
*/
|
||||
getImportedModsNames(): string[];
|
||||
getImportedModDetails(): Record<string, IPackageJsonData>;
|
||||
getProfileModsGroupedByModName(profileMods: ModDetails[]): ModDetails[];
|
||||
getModPath(mod: string): string;
|
||||
protected importMods(): Promise<void>;
|
||||
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
||||
|
@ -6,8 +6,19 @@ export interface IRepairConfig extends IBaseConfig {
|
||||
applyRandomizeDurabilityLoss: boolean;
|
||||
weaponSkillRepairGain: number;
|
||||
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
||||
/** INT gain multiplier per repaired item type */
|
||||
repairKitIntellectGainMultiplier: IIntellectGainValues;
|
||||
maxIntellectGainPerRepair: IMaxIntellectGainValues;
|
||||
repairKit: RepairKit;
|
||||
}
|
||||
export interface IIntellectGainValues {
|
||||
weapon: number;
|
||||
armor: number;
|
||||
}
|
||||
export interface IMaxIntellectGainValues {
|
||||
kit: number;
|
||||
trader: number;
|
||||
}
|
||||
export interface RepairKit {
|
||||
armor: 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
|
||||
* @param traderData server data for traders
|
||||
* @returns
|
||||
* @returns dict of trader id + 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 { ConfigServer } from "../servers/ConfigServer";
|
||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||
import { HashUtil } from "../utils/HashUtil";
|
||||
import { JsonUtil } from "../utils/JsonUtil";
|
||||
import { TimeUtil } from "../utils/TimeUtil";
|
||||
import { Watermark } from "../utils/Watermark";
|
||||
@ -29,11 +30,12 @@ export declare class ProfileFixerService {
|
||||
protected localisationService: LocalisationService;
|
||||
protected timeUtil: TimeUtil;
|
||||
protected jsonUtil: JsonUtil;
|
||||
protected hashUtil: HashUtil;
|
||||
protected databaseServer: DatabaseServer;
|
||||
protected configServer: ConfigServer;
|
||||
protected coreConfig: ICoreConfig;
|
||||
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
|
||||
* @param pmcProfile profile to check and fix
|
||||
@ -129,6 +131,17 @@ export declare class ProfileFixerService {
|
||||
* @param pmcProfile Profile to update
|
||||
*/
|
||||
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
|
||||
* @param pmcProfile Profile to add missing IDs to
|
||||
@ -136,7 +149,7 @@ export declare class ProfileFixerService {
|
||||
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* 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;
|
||||
}
|
||||
|
@ -27,7 +27,6 @@ import { LocalisationService } from "../services/LocalisationService";
|
||||
import { OpenZoneService } from "../services/OpenZoneService";
|
||||
import { ProfileFixerService } from "../services/ProfileFixerService";
|
||||
import { SeasonalEventService } from "../services/SeasonalEventService";
|
||||
import { HashUtil } from "../utils/HashUtil";
|
||||
import { JsonUtil } from "../utils/JsonUtil";
|
||||
import { RandomUtil } from "../utils/RandomUtil";
|
||||
import { TimeUtil } from "../utils/TimeUtil";
|
||||
@ -36,7 +35,6 @@ export declare class GameController {
|
||||
protected databaseServer: DatabaseServer;
|
||||
protected jsonUtil: JsonUtil;
|
||||
protected timeUtil: TimeUtil;
|
||||
protected hashUtil: HashUtil;
|
||||
protected preAkiModLoader: PreAkiModLoader;
|
||||
protected httpServerHelper: HttpServerHelper;
|
||||
protected randomUtil: RandomUtil;
|
||||
@ -58,7 +56,7 @@ export declare class GameController {
|
||||
protected ragfairConfig: IRagfairConfig;
|
||||
protected pmcConfig: IPmcConfig;
|
||||
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;
|
||||
/**
|
||||
* Handle client/game/start
|
||||
@ -67,12 +65,6 @@ export declare class GameController {
|
||||
protected addCustomLooseLootPositions(): void;
|
||||
protected adjustLooseLootSpawnProbabilities(): 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 */
|
||||
protected adjustMapBotLimits(): void;
|
||||
/**
|
||||
|
@ -1,4 +1,5 @@
|
||||
import { DependencyContainer } from "tsyringe";
|
||||
import { ModDetails } from "../models/eft/profile/IAkiProfile";
|
||||
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
||||
import { IModLoader } from "../models/spt/mod/IModLoader";
|
||||
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
||||
@ -35,6 +36,7 @@ export declare class PreAkiModLoader implements IModLoader {
|
||||
*/
|
||||
getImportedModsNames(): string[];
|
||||
getImportedModDetails(): Record<string, IPackageJsonData>;
|
||||
getProfileModsGroupedByModName(profileMods: ModDetails[]): ModDetails[];
|
||||
getModPath(mod: string): string;
|
||||
protected importMods(): Promise<void>;
|
||||
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
||||
|
@ -6,8 +6,19 @@ export interface IRepairConfig extends IBaseConfig {
|
||||
applyRandomizeDurabilityLoss: boolean;
|
||||
weaponSkillRepairGain: number;
|
||||
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
||||
/** INT gain multiplier per repaired item type */
|
||||
repairKitIntellectGainMultiplier: IIntellectGainValues;
|
||||
maxIntellectGainPerRepair: IMaxIntellectGainValues;
|
||||
repairKit: RepairKit;
|
||||
}
|
||||
export interface IIntellectGainValues {
|
||||
weapon: number;
|
||||
armor: number;
|
||||
}
|
||||
export interface IMaxIntellectGainValues {
|
||||
kit: number;
|
||||
trader: number;
|
||||
}
|
||||
export interface RepairKit {
|
||||
armor: 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
|
||||
* @param traderData server data for traders
|
||||
* @returns
|
||||
* @returns dict of trader id + 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 { ConfigServer } from "../servers/ConfigServer";
|
||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||
import { HashUtil } from "../utils/HashUtil";
|
||||
import { JsonUtil } from "../utils/JsonUtil";
|
||||
import { TimeUtil } from "../utils/TimeUtil";
|
||||
import { Watermark } from "../utils/Watermark";
|
||||
@ -29,11 +30,12 @@ export declare class ProfileFixerService {
|
||||
protected localisationService: LocalisationService;
|
||||
protected timeUtil: TimeUtil;
|
||||
protected jsonUtil: JsonUtil;
|
||||
protected hashUtil: HashUtil;
|
||||
protected databaseServer: DatabaseServer;
|
||||
protected configServer: ConfigServer;
|
||||
protected coreConfig: ICoreConfig;
|
||||
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
|
||||
* @param pmcProfile profile to check and fix
|
||||
@ -129,6 +131,17 @@ export declare class ProfileFixerService {
|
||||
* @param pmcProfile Profile to update
|
||||
*/
|
||||
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
|
||||
* @param pmcProfile Profile to add missing IDs to
|
||||
@ -136,7 +149,7 @@ export declare class ProfileFixerService {
|
||||
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* 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;
|
||||
}
|
||||
|
@ -27,7 +27,6 @@ import { LocalisationService } from "../services/LocalisationService";
|
||||
import { OpenZoneService } from "../services/OpenZoneService";
|
||||
import { ProfileFixerService } from "../services/ProfileFixerService";
|
||||
import { SeasonalEventService } from "../services/SeasonalEventService";
|
||||
import { HashUtil } from "../utils/HashUtil";
|
||||
import { JsonUtil } from "../utils/JsonUtil";
|
||||
import { RandomUtil } from "../utils/RandomUtil";
|
||||
import { TimeUtil } from "../utils/TimeUtil";
|
||||
@ -36,7 +35,6 @@ export declare class GameController {
|
||||
protected databaseServer: DatabaseServer;
|
||||
protected jsonUtil: JsonUtil;
|
||||
protected timeUtil: TimeUtil;
|
||||
protected hashUtil: HashUtil;
|
||||
protected preAkiModLoader: PreAkiModLoader;
|
||||
protected httpServerHelper: HttpServerHelper;
|
||||
protected randomUtil: RandomUtil;
|
||||
@ -58,7 +56,7 @@ export declare class GameController {
|
||||
protected ragfairConfig: IRagfairConfig;
|
||||
protected pmcConfig: IPmcConfig;
|
||||
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;
|
||||
/**
|
||||
* Handle client/game/start
|
||||
@ -67,12 +65,6 @@ export declare class GameController {
|
||||
protected addCustomLooseLootPositions(): void;
|
||||
protected adjustLooseLootSpawnProbabilities(): 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 */
|
||||
protected adjustMapBotLimits(): void;
|
||||
/**
|
||||
|
@ -1,4 +1,5 @@
|
||||
import { DependencyContainer } from "tsyringe";
|
||||
import { ModDetails } from "../models/eft/profile/IAkiProfile";
|
||||
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
||||
import { IModLoader } from "../models/spt/mod/IModLoader";
|
||||
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
||||
@ -35,6 +36,7 @@ export declare class PreAkiModLoader implements IModLoader {
|
||||
*/
|
||||
getImportedModsNames(): string[];
|
||||
getImportedModDetails(): Record<string, IPackageJsonData>;
|
||||
getProfileModsGroupedByModName(profileMods: ModDetails[]): ModDetails[];
|
||||
getModPath(mod: string): string;
|
||||
protected importMods(): Promise<void>;
|
||||
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
||||
|
@ -6,8 +6,19 @@ export interface IRepairConfig extends IBaseConfig {
|
||||
applyRandomizeDurabilityLoss: boolean;
|
||||
weaponSkillRepairGain: number;
|
||||
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
||||
/** INT gain multiplier per repaired item type */
|
||||
repairKitIntellectGainMultiplier: IIntellectGainValues;
|
||||
maxIntellectGainPerRepair: IMaxIntellectGainValues;
|
||||
repairKit: RepairKit;
|
||||
}
|
||||
export interface IIntellectGainValues {
|
||||
weapon: number;
|
||||
armor: number;
|
||||
}
|
||||
export interface IMaxIntellectGainValues {
|
||||
kit: number;
|
||||
trader: number;
|
||||
}
|
||||
export interface RepairKit {
|
||||
armor: 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
|
||||
* @param traderData server data for traders
|
||||
* @returns
|
||||
* @returns dict of trader id + 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 { ConfigServer } from "../servers/ConfigServer";
|
||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||
import { HashUtil } from "../utils/HashUtil";
|
||||
import { JsonUtil } from "../utils/JsonUtil";
|
||||
import { TimeUtil } from "../utils/TimeUtil";
|
||||
import { Watermark } from "../utils/Watermark";
|
||||
@ -29,11 +30,12 @@ export declare class ProfileFixerService {
|
||||
protected localisationService: LocalisationService;
|
||||
protected timeUtil: TimeUtil;
|
||||
protected jsonUtil: JsonUtil;
|
||||
protected hashUtil: HashUtil;
|
||||
protected databaseServer: DatabaseServer;
|
||||
protected configServer: ConfigServer;
|
||||
protected coreConfig: ICoreConfig;
|
||||
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
|
||||
* @param pmcProfile profile to check and fix
|
||||
@ -129,6 +131,17 @@ export declare class ProfileFixerService {
|
||||
* @param pmcProfile Profile to update
|
||||
*/
|
||||
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
|
||||
* @param pmcProfile Profile to add missing IDs to
|
||||
@ -136,7 +149,7 @@ export declare class ProfileFixerService {
|
||||
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* 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;
|
||||
}
|
||||
|
@ -27,7 +27,6 @@ import { LocalisationService } from "../services/LocalisationService";
|
||||
import { OpenZoneService } from "../services/OpenZoneService";
|
||||
import { ProfileFixerService } from "../services/ProfileFixerService";
|
||||
import { SeasonalEventService } from "../services/SeasonalEventService";
|
||||
import { HashUtil } from "../utils/HashUtil";
|
||||
import { JsonUtil } from "../utils/JsonUtil";
|
||||
import { RandomUtil } from "../utils/RandomUtil";
|
||||
import { TimeUtil } from "../utils/TimeUtil";
|
||||
@ -36,7 +35,6 @@ export declare class GameController {
|
||||
protected databaseServer: DatabaseServer;
|
||||
protected jsonUtil: JsonUtil;
|
||||
protected timeUtil: TimeUtil;
|
||||
protected hashUtil: HashUtil;
|
||||
protected preAkiModLoader: PreAkiModLoader;
|
||||
protected httpServerHelper: HttpServerHelper;
|
||||
protected randomUtil: RandomUtil;
|
||||
@ -58,7 +56,7 @@ export declare class GameController {
|
||||
protected ragfairConfig: IRagfairConfig;
|
||||
protected pmcConfig: IPmcConfig;
|
||||
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;
|
||||
/**
|
||||
* Handle client/game/start
|
||||
@ -67,12 +65,6 @@ export declare class GameController {
|
||||
protected addCustomLooseLootPositions(): void;
|
||||
protected adjustLooseLootSpawnProbabilities(): 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 */
|
||||
protected adjustMapBotLimits(): void;
|
||||
/**
|
||||
|
@ -1,4 +1,5 @@
|
||||
import { DependencyContainer } from "tsyringe";
|
||||
import { ModDetails } from "../models/eft/profile/IAkiProfile";
|
||||
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
||||
import { IModLoader } from "../models/spt/mod/IModLoader";
|
||||
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
||||
@ -35,6 +36,7 @@ export declare class PreAkiModLoader implements IModLoader {
|
||||
*/
|
||||
getImportedModsNames(): string[];
|
||||
getImportedModDetails(): Record<string, IPackageJsonData>;
|
||||
getProfileModsGroupedByModName(profileMods: ModDetails[]): ModDetails[];
|
||||
getModPath(mod: string): string;
|
||||
protected importMods(): Promise<void>;
|
||||
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
||||
|
@ -6,8 +6,19 @@ export interface IRepairConfig extends IBaseConfig {
|
||||
applyRandomizeDurabilityLoss: boolean;
|
||||
weaponSkillRepairGain: number;
|
||||
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
||||
/** INT gain multiplier per repaired item type */
|
||||
repairKitIntellectGainMultiplier: IIntellectGainValues;
|
||||
maxIntellectGainPerRepair: IMaxIntellectGainValues;
|
||||
repairKit: RepairKit;
|
||||
}
|
||||
export interface IIntellectGainValues {
|
||||
weapon: number;
|
||||
armor: number;
|
||||
}
|
||||
export interface IMaxIntellectGainValues {
|
||||
kit: number;
|
||||
trader: number;
|
||||
}
|
||||
export interface RepairKit {
|
||||
armor: 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
|
||||
* @param traderData server data for traders
|
||||
* @returns
|
||||
* @returns dict of trader id + 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 { ConfigServer } from "../servers/ConfigServer";
|
||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||
import { HashUtil } from "../utils/HashUtil";
|
||||
import { JsonUtil } from "../utils/JsonUtil";
|
||||
import { TimeUtil } from "../utils/TimeUtil";
|
||||
import { Watermark } from "../utils/Watermark";
|
||||
@ -29,11 +30,12 @@ export declare class ProfileFixerService {
|
||||
protected localisationService: LocalisationService;
|
||||
protected timeUtil: TimeUtil;
|
||||
protected jsonUtil: JsonUtil;
|
||||
protected hashUtil: HashUtil;
|
||||
protected databaseServer: DatabaseServer;
|
||||
protected configServer: ConfigServer;
|
||||
protected coreConfig: ICoreConfig;
|
||||
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
|
||||
* @param pmcProfile profile to check and fix
|
||||
@ -129,6 +131,17 @@ export declare class ProfileFixerService {
|
||||
* @param pmcProfile Profile to update
|
||||
*/
|
||||
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
|
||||
* @param pmcProfile Profile to add missing IDs to
|
||||
@ -136,7 +149,7 @@ export declare class ProfileFixerService {
|
||||
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* 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;
|
||||
}
|
||||
|
@ -27,7 +27,6 @@ import { LocalisationService } from "../services/LocalisationService";
|
||||
import { OpenZoneService } from "../services/OpenZoneService";
|
||||
import { ProfileFixerService } from "../services/ProfileFixerService";
|
||||
import { SeasonalEventService } from "../services/SeasonalEventService";
|
||||
import { HashUtil } from "../utils/HashUtil";
|
||||
import { JsonUtil } from "../utils/JsonUtil";
|
||||
import { RandomUtil } from "../utils/RandomUtil";
|
||||
import { TimeUtil } from "../utils/TimeUtil";
|
||||
@ -36,7 +35,6 @@ export declare class GameController {
|
||||
protected databaseServer: DatabaseServer;
|
||||
protected jsonUtil: JsonUtil;
|
||||
protected timeUtil: TimeUtil;
|
||||
protected hashUtil: HashUtil;
|
||||
protected preAkiModLoader: PreAkiModLoader;
|
||||
protected httpServerHelper: HttpServerHelper;
|
||||
protected randomUtil: RandomUtil;
|
||||
@ -58,7 +56,7 @@ export declare class GameController {
|
||||
protected ragfairConfig: IRagfairConfig;
|
||||
protected pmcConfig: IPmcConfig;
|
||||
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;
|
||||
/**
|
||||
* Handle client/game/start
|
||||
@ -67,12 +65,6 @@ export declare class GameController {
|
||||
protected addCustomLooseLootPositions(): void;
|
||||
protected adjustLooseLootSpawnProbabilities(): 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 */
|
||||
protected adjustMapBotLimits(): void;
|
||||
/**
|
||||
|
@ -1,4 +1,5 @@
|
||||
import { DependencyContainer } from "tsyringe";
|
||||
import { ModDetails } from "../models/eft/profile/IAkiProfile";
|
||||
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
||||
import { IModLoader } from "../models/spt/mod/IModLoader";
|
||||
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
||||
@ -35,6 +36,7 @@ export declare class PreAkiModLoader implements IModLoader {
|
||||
*/
|
||||
getImportedModsNames(): string[];
|
||||
getImportedModDetails(): Record<string, IPackageJsonData>;
|
||||
getProfileModsGroupedByModName(profileMods: ModDetails[]): ModDetails[];
|
||||
getModPath(mod: string): string;
|
||||
protected importMods(): Promise<void>;
|
||||
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
||||
|
@ -6,8 +6,19 @@ export interface IRepairConfig extends IBaseConfig {
|
||||
applyRandomizeDurabilityLoss: boolean;
|
||||
weaponSkillRepairGain: number;
|
||||
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
||||
/** INT gain multiplier per repaired item type */
|
||||
repairKitIntellectGainMultiplier: IIntellectGainValues;
|
||||
maxIntellectGainPerRepair: IMaxIntellectGainValues;
|
||||
repairKit: RepairKit;
|
||||
}
|
||||
export interface IIntellectGainValues {
|
||||
weapon: number;
|
||||
armor: number;
|
||||
}
|
||||
export interface IMaxIntellectGainValues {
|
||||
kit: number;
|
||||
trader: number;
|
||||
}
|
||||
export interface RepairKit {
|
||||
armor: 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
|
||||
* @param traderData server data for traders
|
||||
* @returns
|
||||
* @returns dict of trader id + 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 { ConfigServer } from "../servers/ConfigServer";
|
||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||
import { HashUtil } from "../utils/HashUtil";
|
||||
import { JsonUtil } from "../utils/JsonUtil";
|
||||
import { TimeUtil } from "../utils/TimeUtil";
|
||||
import { Watermark } from "../utils/Watermark";
|
||||
@ -29,11 +30,12 @@ export declare class ProfileFixerService {
|
||||
protected localisationService: LocalisationService;
|
||||
protected timeUtil: TimeUtil;
|
||||
protected jsonUtil: JsonUtil;
|
||||
protected hashUtil: HashUtil;
|
||||
protected databaseServer: DatabaseServer;
|
||||
protected configServer: ConfigServer;
|
||||
protected coreConfig: ICoreConfig;
|
||||
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
|
||||
* @param pmcProfile profile to check and fix
|
||||
@ -129,6 +131,17 @@ export declare class ProfileFixerService {
|
||||
* @param pmcProfile Profile to update
|
||||
*/
|
||||
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
|
||||
* @param pmcProfile Profile to add missing IDs to
|
||||
@ -136,7 +149,7 @@ export declare class ProfileFixerService {
|
||||
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* 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;
|
||||
}
|
||||
|
@ -27,7 +27,6 @@ import { LocalisationService } from "../services/LocalisationService";
|
||||
import { OpenZoneService } from "../services/OpenZoneService";
|
||||
import { ProfileFixerService } from "../services/ProfileFixerService";
|
||||
import { SeasonalEventService } from "../services/SeasonalEventService";
|
||||
import { HashUtil } from "../utils/HashUtil";
|
||||
import { JsonUtil } from "../utils/JsonUtil";
|
||||
import { RandomUtil } from "../utils/RandomUtil";
|
||||
import { TimeUtil } from "../utils/TimeUtil";
|
||||
@ -36,7 +35,6 @@ export declare class GameController {
|
||||
protected databaseServer: DatabaseServer;
|
||||
protected jsonUtil: JsonUtil;
|
||||
protected timeUtil: TimeUtil;
|
||||
protected hashUtil: HashUtil;
|
||||
protected preAkiModLoader: PreAkiModLoader;
|
||||
protected httpServerHelper: HttpServerHelper;
|
||||
protected randomUtil: RandomUtil;
|
||||
@ -58,7 +56,7 @@ export declare class GameController {
|
||||
protected ragfairConfig: IRagfairConfig;
|
||||
protected pmcConfig: IPmcConfig;
|
||||
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;
|
||||
/**
|
||||
* Handle client/game/start
|
||||
@ -67,12 +65,6 @@ export declare class GameController {
|
||||
protected addCustomLooseLootPositions(): void;
|
||||
protected adjustLooseLootSpawnProbabilities(): 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 */
|
||||
protected adjustMapBotLimits(): void;
|
||||
/**
|
||||
|
@ -1,4 +1,5 @@
|
||||
import { DependencyContainer } from "tsyringe";
|
||||
import { ModDetails } from "../models/eft/profile/IAkiProfile";
|
||||
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
||||
import { IModLoader } from "../models/spt/mod/IModLoader";
|
||||
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
||||
@ -35,6 +36,7 @@ export declare class PreAkiModLoader implements IModLoader {
|
||||
*/
|
||||
getImportedModsNames(): string[];
|
||||
getImportedModDetails(): Record<string, IPackageJsonData>;
|
||||
getProfileModsGroupedByModName(profileMods: ModDetails[]): ModDetails[];
|
||||
getModPath(mod: string): string;
|
||||
protected importMods(): Promise<void>;
|
||||
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
||||
|
@ -6,8 +6,19 @@ export interface IRepairConfig extends IBaseConfig {
|
||||
applyRandomizeDurabilityLoss: boolean;
|
||||
weaponSkillRepairGain: number;
|
||||
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
||||
/** INT gain multiplier per repaired item type */
|
||||
repairKitIntellectGainMultiplier: IIntellectGainValues;
|
||||
maxIntellectGainPerRepair: IMaxIntellectGainValues;
|
||||
repairKit: RepairKit;
|
||||
}
|
||||
export interface IIntellectGainValues {
|
||||
weapon: number;
|
||||
armor: number;
|
||||
}
|
||||
export interface IMaxIntellectGainValues {
|
||||
kit: number;
|
||||
trader: number;
|
||||
}
|
||||
export interface RepairKit {
|
||||
armor: 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
|
||||
* @param traderData server data for traders
|
||||
* @returns
|
||||
* @returns dict of trader id + 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 { ConfigServer } from "../servers/ConfigServer";
|
||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||
import { HashUtil } from "../utils/HashUtil";
|
||||
import { JsonUtil } from "../utils/JsonUtil";
|
||||
import { TimeUtil } from "../utils/TimeUtil";
|
||||
import { Watermark } from "../utils/Watermark";
|
||||
@ -29,11 +30,12 @@ export declare class ProfileFixerService {
|
||||
protected localisationService: LocalisationService;
|
||||
protected timeUtil: TimeUtil;
|
||||
protected jsonUtil: JsonUtil;
|
||||
protected hashUtil: HashUtil;
|
||||
protected databaseServer: DatabaseServer;
|
||||
protected configServer: ConfigServer;
|
||||
protected coreConfig: ICoreConfig;
|
||||
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
|
||||
* @param pmcProfile profile to check and fix
|
||||
@ -129,6 +131,17 @@ export declare class ProfileFixerService {
|
||||
* @param pmcProfile Profile to update
|
||||
*/
|
||||
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
|
||||
* @param pmcProfile Profile to add missing IDs to
|
||||
@ -136,7 +149,7 @@ export declare class ProfileFixerService {
|
||||
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* 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;
|
||||
}
|
||||
|
@ -27,7 +27,6 @@ import { LocalisationService } from "../services/LocalisationService";
|
||||
import { OpenZoneService } from "../services/OpenZoneService";
|
||||
import { ProfileFixerService } from "../services/ProfileFixerService";
|
||||
import { SeasonalEventService } from "../services/SeasonalEventService";
|
||||
import { HashUtil } from "../utils/HashUtil";
|
||||
import { JsonUtil } from "../utils/JsonUtil";
|
||||
import { RandomUtil } from "../utils/RandomUtil";
|
||||
import { TimeUtil } from "../utils/TimeUtil";
|
||||
@ -36,7 +35,6 @@ export declare class GameController {
|
||||
protected databaseServer: DatabaseServer;
|
||||
protected jsonUtil: JsonUtil;
|
||||
protected timeUtil: TimeUtil;
|
||||
protected hashUtil: HashUtil;
|
||||
protected preAkiModLoader: PreAkiModLoader;
|
||||
protected httpServerHelper: HttpServerHelper;
|
||||
protected randomUtil: RandomUtil;
|
||||
@ -58,7 +56,7 @@ export declare class GameController {
|
||||
protected ragfairConfig: IRagfairConfig;
|
||||
protected pmcConfig: IPmcConfig;
|
||||
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;
|
||||
/**
|
||||
* Handle client/game/start
|
||||
@ -67,12 +65,6 @@ export declare class GameController {
|
||||
protected addCustomLooseLootPositions(): void;
|
||||
protected adjustLooseLootSpawnProbabilities(): 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 */
|
||||
protected adjustMapBotLimits(): void;
|
||||
/**
|
||||
|
@ -1,4 +1,5 @@
|
||||
import { DependencyContainer } from "tsyringe";
|
||||
import { ModDetails } from "../models/eft/profile/IAkiProfile";
|
||||
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
||||
import { IModLoader } from "../models/spt/mod/IModLoader";
|
||||
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
||||
@ -35,6 +36,7 @@ export declare class PreAkiModLoader implements IModLoader {
|
||||
*/
|
||||
getImportedModsNames(): string[];
|
||||
getImportedModDetails(): Record<string, IPackageJsonData>;
|
||||
getProfileModsGroupedByModName(profileMods: ModDetails[]): ModDetails[];
|
||||
getModPath(mod: string): string;
|
||||
protected importMods(): Promise<void>;
|
||||
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
||||
|
@ -6,8 +6,19 @@ export interface IRepairConfig extends IBaseConfig {
|
||||
applyRandomizeDurabilityLoss: boolean;
|
||||
weaponSkillRepairGain: number;
|
||||
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
||||
/** INT gain multiplier per repaired item type */
|
||||
repairKitIntellectGainMultiplier: IIntellectGainValues;
|
||||
maxIntellectGainPerRepair: IMaxIntellectGainValues;
|
||||
repairKit: RepairKit;
|
||||
}
|
||||
export interface IIntellectGainValues {
|
||||
weapon: number;
|
||||
armor: number;
|
||||
}
|
||||
export interface IMaxIntellectGainValues {
|
||||
kit: number;
|
||||
trader: number;
|
||||
}
|
||||
export interface RepairKit {
|
||||
armor: 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
|
||||
* @param traderData server data for traders
|
||||
* @returns
|
||||
* @returns dict of trader id + 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 { ConfigServer } from "../servers/ConfigServer";
|
||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||
import { HashUtil } from "../utils/HashUtil";
|
||||
import { JsonUtil } from "../utils/JsonUtil";
|
||||
import { TimeUtil } from "../utils/TimeUtil";
|
||||
import { Watermark } from "../utils/Watermark";
|
||||
@ -29,11 +30,12 @@ export declare class ProfileFixerService {
|
||||
protected localisationService: LocalisationService;
|
||||
protected timeUtil: TimeUtil;
|
||||
protected jsonUtil: JsonUtil;
|
||||
protected hashUtil: HashUtil;
|
||||
protected databaseServer: DatabaseServer;
|
||||
protected configServer: ConfigServer;
|
||||
protected coreConfig: ICoreConfig;
|
||||
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
|
||||
* @param pmcProfile profile to check and fix
|
||||
@ -129,6 +131,17 @@ export declare class ProfileFixerService {
|
||||
* @param pmcProfile Profile to update
|
||||
*/
|
||||
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
|
||||
* @param pmcProfile Profile to add missing IDs to
|
||||
@ -136,7 +149,7 @@ export declare class ProfileFixerService {
|
||||
addMissingIdsToBonuses(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* 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;
|
||||
}
|
||||
|
@ -27,7 +27,6 @@ import { LocalisationService } from "../services/LocalisationService";
|
||||
import { OpenZoneService } from "../services/OpenZoneService";
|
||||
import { ProfileFixerService } from "../services/ProfileFixerService";
|
||||
import { SeasonalEventService } from "../services/SeasonalEventService";
|
||||
import { HashUtil } from "../utils/HashUtil";
|
||||
import { JsonUtil } from "../utils/JsonUtil";
|
||||
import { RandomUtil } from "../utils/RandomUtil";
|
||||
import { TimeUtil } from "../utils/TimeUtil";
|
||||
@ -36,7 +35,6 @@ export declare class GameController {
|
||||
protected databaseServer: DatabaseServer;
|
||||
protected jsonUtil: JsonUtil;
|
||||
protected timeUtil: TimeUtil;
|
||||
protected hashUtil: HashUtil;
|
||||
protected preAkiModLoader: PreAkiModLoader;
|
||||
protected httpServerHelper: HttpServerHelper;
|
||||
protected randomUtil: RandomUtil;
|
||||
@ -58,7 +56,7 @@ export declare class GameController {
|
||||
protected ragfairConfig: IRagfairConfig;
|
||||
protected pmcConfig: IPmcConfig;
|
||||
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;
|
||||
/**
|
||||
* Handle client/game/start
|
||||
@ -67,12 +65,6 @@ export declare class GameController {
|
||||
protected addCustomLooseLootPositions(): void;
|
||||
protected adjustLooseLootSpawnProbabilities(): 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 */
|
||||
protected adjustMapBotLimits(): void;
|
||||
/**
|
||||
|
@ -1,4 +1,5 @@
|
||||
import { DependencyContainer } from "tsyringe";
|
||||
import { ModDetails } from "../models/eft/profile/IAkiProfile";
|
||||
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
||||
import { IModLoader } from "../models/spt/mod/IModLoader";
|
||||
import { IPackageJsonData } from "../models/spt/mod/IPackageJsonData";
|
||||
@ -35,6 +36,7 @@ export declare class PreAkiModLoader implements IModLoader {
|
||||
*/
|
||||
getImportedModsNames(): string[];
|
||||
getImportedModDetails(): Record<string, IPackageJsonData>;
|
||||
getProfileModsGroupedByModName(profileMods: ModDetails[]): ModDetails[];
|
||||
getModPath(mod: string): string;
|
||||
protected importMods(): Promise<void>;
|
||||
protected sortMods(prev: string, next: string, missingFromOrderJSON: Record<string, boolean>): number;
|
||||
|
@ -6,8 +6,19 @@ export interface IRepairConfig extends IBaseConfig {
|
||||
applyRandomizeDurabilityLoss: boolean;
|
||||
weaponSkillRepairGain: number;
|
||||
armorKitSkillPointGainPerRepairPointMultiplier: number;
|
||||
/** INT gain multiplier per repaired item type */
|
||||
repairKitIntellectGainMultiplier: IIntellectGainValues;
|
||||
maxIntellectGainPerRepair: IMaxIntellectGainValues;
|
||||
repairKit: RepairKit;
|
||||
}
|
||||
export interface IIntellectGainValues {
|
||||
weapon: number;
|
||||
armor: number;
|
||||
}
|
||||
export interface IMaxIntellectGainValues {
|
||||
kit: number;
|
||||
trader: number;
|
||||
}
|
||||
export interface RepairKit {
|
||||
armor: 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
|
||||
* @param traderData server data for traders
|
||||
* @returns
|
||||
* @returns dict of trader id + 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