Updated types
This commit is contained in:
parent
67b3fe203f
commit
c2a1fba795
@ -1,4 +1,4 @@
|
||||
# Mod examples for v3.10.0
|
||||
# Mod examples for v3.10.1
|
||||
|
||||
A collection of example mods that perform typical actions in SPT
|
||||
|
||||
|
@ -10,6 +10,7 @@ import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { Common, IQuestStatus } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||
import { IQuest, IQuestCondition, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IHideoutProduction } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
|
||||
import { IAcceptQuestRequestData } from "@spt/models/eft/quests/IAcceptQuestRequestData";
|
||||
import { ICompleteQuestRequestData } from "@spt/models/eft/quests/ICompleteQuestRequestData";
|
||||
@ -280,6 +281,13 @@ export declare class QuestHelper {
|
||||
* @param response Response to send back to client
|
||||
*/
|
||||
protected findAndAddHideoutProductionIdToProfile(pmcData: IPmcData, craftUnlockReward: IQuestReward, questDetails: IQuest, sessionID: string, response: IItemEventRouterResponse): void;
|
||||
/**
|
||||
* Find hideout craft id for the specified quest reward
|
||||
* @param craftUnlockReward
|
||||
* @param questDetails
|
||||
* @returns
|
||||
*/
|
||||
getRewardProductionMatch(craftUnlockReward: IQuestReward, questDetails: IQuest): IHideoutProduction[];
|
||||
/**
|
||||
* Get players money reward bonus from profile
|
||||
* @param pmcData player profile
|
||||
|
@ -1,6 +1,5 @@
|
||||
export interface IWorkoutData extends Record<string, any> {
|
||||
skills: IWorkoutSkills;
|
||||
effects: IWorkoutEffects;
|
||||
}
|
||||
export interface IWorkoutSkills {
|
||||
Common: IWorkoutSkillCommon[];
|
||||
|
@ -2,9 +2,11 @@ import { HideoutHelper } from "@spt/helpers/HideoutHelper";
|
||||
import { InventoryHelper } from "@spt/helpers/InventoryHelper";
|
||||
import { ItemHelper } from "@spt/helpers/ItemHelper";
|
||||
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||
import { QuestHelper } from "@spt/helpers/QuestHelper";
|
||||
import { TraderHelper } from "@spt/helpers/TraderHelper";
|
||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { IBonus, IHideoutSlot } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IQuest, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests";
|
||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||
import { IStageBonus } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
@ -36,9 +38,10 @@ export declare class ProfileFixerService {
|
||||
protected hashUtil: HashUtil;
|
||||
protected configServer: ConfigServer;
|
||||
protected cloner: ICloner;
|
||||
protected questHelper: QuestHelper;
|
||||
protected coreConfig: ICoreConfig;
|
||||
protected ragfairConfig: IRagfairConfig;
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner);
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner, questHelper: QuestHelper);
|
||||
/**
|
||||
* Find issues in the pmc profile data that may cause issues and fix them
|
||||
* @param pmcProfile profile to check and fix
|
||||
@ -71,6 +74,19 @@ export declare class ProfileFixerService {
|
||||
* @param pmcProfile Profile to remove dead quests from
|
||||
*/
|
||||
protected removeOrphanedQuests(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Verify that all quest production unlocks have been applied to the PMC Profile
|
||||
* @param pmcProfile The profile to validate quest productions for
|
||||
*/
|
||||
protected verifyQuestProductionUnlocks(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Validate that the given profile has the given quest reward production scheme unlocked, and add it if not
|
||||
* @param pmcProfile Profile to check
|
||||
* @param productionUnlockReward The quest reward to validate
|
||||
* @param questDetails The quest the reward belongs to
|
||||
* @returns
|
||||
*/
|
||||
protected verifyQuestProductionUnlock(pmcProfile: IPmcData, productionUnlockReward: IQuestReward, questDetails: IQuest): void;
|
||||
/**
|
||||
* If the profile has elite Hideout Managment skill, add the additional slots from globals
|
||||
* NOTE: This seems redundant, but we will leave it here just incase.
|
||||
|
38
TypeScript/10ScopesAndTypes/types/utils/DatabaseDecompressionUtil.d.ts
vendored
Normal file
38
TypeScript/10ScopesAndTypes/types/utils/DatabaseDecompressionUtil.d.ts
vendored
Normal file
@ -0,0 +1,38 @@
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
export declare class DatabaseDecompressionUtil {
|
||||
protected logger: ILogger;
|
||||
private compressedDir;
|
||||
private assetsDir;
|
||||
private compiled;
|
||||
constructor(logger: ILogger);
|
||||
/**
|
||||
* Checks if the application is running in a compiled environment. A simple check is done to see if the relative
|
||||
* assets directory exists. If it does not, the application is assumed to be running in a compiled environment. All
|
||||
* relative asset paths are different within a compiled environment, so this simple check is sufficient.
|
||||
*/
|
||||
private isCompiled;
|
||||
/**
|
||||
* Initializes the database compression utility.
|
||||
*
|
||||
* This method will decompress all 7-zip archives within the compressed database directory. The decompressed files
|
||||
* are placed in their respective directories based on the name and location of the compressed file.
|
||||
*/
|
||||
initialize(): Promise<void>;
|
||||
/**
|
||||
* Retrieves a list of all 7-zip archives within the compressed database directory.
|
||||
*/
|
||||
private getCompressedFiles;
|
||||
/**
|
||||
* Processes a compressed file by checking if the target directory is empty, and if so, decompressing the file into
|
||||
* the target directory.
|
||||
*/
|
||||
private processCompressedFile;
|
||||
/**
|
||||
* Checks if a directory exists and is empty.
|
||||
*/
|
||||
private isDirectoryEmpty;
|
||||
/**
|
||||
* Decompresses a 7-zip archive to the target directory.
|
||||
*/
|
||||
private decompressFile;
|
||||
}
|
@ -10,6 +10,7 @@ import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { Common, IQuestStatus } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||
import { IQuest, IQuestCondition, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IHideoutProduction } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
|
||||
import { IAcceptQuestRequestData } from "@spt/models/eft/quests/IAcceptQuestRequestData";
|
||||
import { ICompleteQuestRequestData } from "@spt/models/eft/quests/ICompleteQuestRequestData";
|
||||
@ -280,6 +281,13 @@ export declare class QuestHelper {
|
||||
* @param response Response to send back to client
|
||||
*/
|
||||
protected findAndAddHideoutProductionIdToProfile(pmcData: IPmcData, craftUnlockReward: IQuestReward, questDetails: IQuest, sessionID: string, response: IItemEventRouterResponse): void;
|
||||
/**
|
||||
* Find hideout craft id for the specified quest reward
|
||||
* @param craftUnlockReward
|
||||
* @param questDetails
|
||||
* @returns
|
||||
*/
|
||||
getRewardProductionMatch(craftUnlockReward: IQuestReward, questDetails: IQuest): IHideoutProduction[];
|
||||
/**
|
||||
* Get players money reward bonus from profile
|
||||
* @param pmcData player profile
|
||||
|
@ -1,6 +1,5 @@
|
||||
export interface IWorkoutData extends Record<string, any> {
|
||||
skills: IWorkoutSkills;
|
||||
effects: IWorkoutEffects;
|
||||
}
|
||||
export interface IWorkoutSkills {
|
||||
Common: IWorkoutSkillCommon[];
|
||||
|
@ -2,9 +2,11 @@ import { HideoutHelper } from "@spt/helpers/HideoutHelper";
|
||||
import { InventoryHelper } from "@spt/helpers/InventoryHelper";
|
||||
import { ItemHelper } from "@spt/helpers/ItemHelper";
|
||||
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||
import { QuestHelper } from "@spt/helpers/QuestHelper";
|
||||
import { TraderHelper } from "@spt/helpers/TraderHelper";
|
||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { IBonus, IHideoutSlot } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IQuest, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests";
|
||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||
import { IStageBonus } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
@ -36,9 +38,10 @@ export declare class ProfileFixerService {
|
||||
protected hashUtil: HashUtil;
|
||||
protected configServer: ConfigServer;
|
||||
protected cloner: ICloner;
|
||||
protected questHelper: QuestHelper;
|
||||
protected coreConfig: ICoreConfig;
|
||||
protected ragfairConfig: IRagfairConfig;
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner);
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner, questHelper: QuestHelper);
|
||||
/**
|
||||
* Find issues in the pmc profile data that may cause issues and fix them
|
||||
* @param pmcProfile profile to check and fix
|
||||
@ -71,6 +74,19 @@ export declare class ProfileFixerService {
|
||||
* @param pmcProfile Profile to remove dead quests from
|
||||
*/
|
||||
protected removeOrphanedQuests(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Verify that all quest production unlocks have been applied to the PMC Profile
|
||||
* @param pmcProfile The profile to validate quest productions for
|
||||
*/
|
||||
protected verifyQuestProductionUnlocks(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Validate that the given profile has the given quest reward production scheme unlocked, and add it if not
|
||||
* @param pmcProfile Profile to check
|
||||
* @param productionUnlockReward The quest reward to validate
|
||||
* @param questDetails The quest the reward belongs to
|
||||
* @returns
|
||||
*/
|
||||
protected verifyQuestProductionUnlock(pmcProfile: IPmcData, productionUnlockReward: IQuestReward, questDetails: IQuest): void;
|
||||
/**
|
||||
* If the profile has elite Hideout Managment skill, add the additional slots from globals
|
||||
* NOTE: This seems redundant, but we will leave it here just incase.
|
||||
|
38
TypeScript/11BundleLoadingSample/types/utils/DatabaseDecompressionUtil.d.ts
vendored
Normal file
38
TypeScript/11BundleLoadingSample/types/utils/DatabaseDecompressionUtil.d.ts
vendored
Normal file
@ -0,0 +1,38 @@
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
export declare class DatabaseDecompressionUtil {
|
||||
protected logger: ILogger;
|
||||
private compressedDir;
|
||||
private assetsDir;
|
||||
private compiled;
|
||||
constructor(logger: ILogger);
|
||||
/**
|
||||
* Checks if the application is running in a compiled environment. A simple check is done to see if the relative
|
||||
* assets directory exists. If it does not, the application is assumed to be running in a compiled environment. All
|
||||
* relative asset paths are different within a compiled environment, so this simple check is sufficient.
|
||||
*/
|
||||
private isCompiled;
|
||||
/**
|
||||
* Initializes the database compression utility.
|
||||
*
|
||||
* This method will decompress all 7-zip archives within the compressed database directory. The decompressed files
|
||||
* are placed in their respective directories based on the name and location of the compressed file.
|
||||
*/
|
||||
initialize(): Promise<void>;
|
||||
/**
|
||||
* Retrieves a list of all 7-zip archives within the compressed database directory.
|
||||
*/
|
||||
private getCompressedFiles;
|
||||
/**
|
||||
* Processes a compressed file by checking if the target directory is empty, and if so, decompressing the file into
|
||||
* the target directory.
|
||||
*/
|
||||
private processCompressedFile;
|
||||
/**
|
||||
* Checks if a directory exists and is empty.
|
||||
*/
|
||||
private isDirectoryEmpty;
|
||||
/**
|
||||
* Decompresses a 7-zip archive to the target directory.
|
||||
*/
|
||||
private decompressFile;
|
||||
}
|
@ -10,6 +10,7 @@ import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { Common, IQuestStatus } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||
import { IQuest, IQuestCondition, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IHideoutProduction } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
|
||||
import { IAcceptQuestRequestData } from "@spt/models/eft/quests/IAcceptQuestRequestData";
|
||||
import { ICompleteQuestRequestData } from "@spt/models/eft/quests/ICompleteQuestRequestData";
|
||||
@ -280,6 +281,13 @@ export declare class QuestHelper {
|
||||
* @param response Response to send back to client
|
||||
*/
|
||||
protected findAndAddHideoutProductionIdToProfile(pmcData: IPmcData, craftUnlockReward: IQuestReward, questDetails: IQuest, sessionID: string, response: IItemEventRouterResponse): void;
|
||||
/**
|
||||
* Find hideout craft id for the specified quest reward
|
||||
* @param craftUnlockReward
|
||||
* @param questDetails
|
||||
* @returns
|
||||
*/
|
||||
getRewardProductionMatch(craftUnlockReward: IQuestReward, questDetails: IQuest): IHideoutProduction[];
|
||||
/**
|
||||
* Get players money reward bonus from profile
|
||||
* @param pmcData player profile
|
||||
|
@ -1,6 +1,5 @@
|
||||
export interface IWorkoutData extends Record<string, any> {
|
||||
skills: IWorkoutSkills;
|
||||
effects: IWorkoutEffects;
|
||||
}
|
||||
export interface IWorkoutSkills {
|
||||
Common: IWorkoutSkillCommon[];
|
||||
|
@ -2,9 +2,11 @@ import { HideoutHelper } from "@spt/helpers/HideoutHelper";
|
||||
import { InventoryHelper } from "@spt/helpers/InventoryHelper";
|
||||
import { ItemHelper } from "@spt/helpers/ItemHelper";
|
||||
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||
import { QuestHelper } from "@spt/helpers/QuestHelper";
|
||||
import { TraderHelper } from "@spt/helpers/TraderHelper";
|
||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { IBonus, IHideoutSlot } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IQuest, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests";
|
||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||
import { IStageBonus } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
@ -36,9 +38,10 @@ export declare class ProfileFixerService {
|
||||
protected hashUtil: HashUtil;
|
||||
protected configServer: ConfigServer;
|
||||
protected cloner: ICloner;
|
||||
protected questHelper: QuestHelper;
|
||||
protected coreConfig: ICoreConfig;
|
||||
protected ragfairConfig: IRagfairConfig;
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner);
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner, questHelper: QuestHelper);
|
||||
/**
|
||||
* Find issues in the pmc profile data that may cause issues and fix them
|
||||
* @param pmcProfile profile to check and fix
|
||||
@ -71,6 +74,19 @@ export declare class ProfileFixerService {
|
||||
* @param pmcProfile Profile to remove dead quests from
|
||||
*/
|
||||
protected removeOrphanedQuests(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Verify that all quest production unlocks have been applied to the PMC Profile
|
||||
* @param pmcProfile The profile to validate quest productions for
|
||||
*/
|
||||
protected verifyQuestProductionUnlocks(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Validate that the given profile has the given quest reward production scheme unlocked, and add it if not
|
||||
* @param pmcProfile Profile to check
|
||||
* @param productionUnlockReward The quest reward to validate
|
||||
* @param questDetails The quest the reward belongs to
|
||||
* @returns
|
||||
*/
|
||||
protected verifyQuestProductionUnlock(pmcProfile: IPmcData, productionUnlockReward: IQuestReward, questDetails: IQuest): void;
|
||||
/**
|
||||
* If the profile has elite Hideout Managment skill, add the additional slots from globals
|
||||
* NOTE: This seems redundant, but we will leave it here just incase.
|
||||
|
38
TypeScript/12ClassExtensionOverride/types/utils/DatabaseDecompressionUtil.d.ts
vendored
Normal file
38
TypeScript/12ClassExtensionOverride/types/utils/DatabaseDecompressionUtil.d.ts
vendored
Normal file
@ -0,0 +1,38 @@
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
export declare class DatabaseDecompressionUtil {
|
||||
protected logger: ILogger;
|
||||
private compressedDir;
|
||||
private assetsDir;
|
||||
private compiled;
|
||||
constructor(logger: ILogger);
|
||||
/**
|
||||
* Checks if the application is running in a compiled environment. A simple check is done to see if the relative
|
||||
* assets directory exists. If it does not, the application is assumed to be running in a compiled environment. All
|
||||
* relative asset paths are different within a compiled environment, so this simple check is sufficient.
|
||||
*/
|
||||
private isCompiled;
|
||||
/**
|
||||
* Initializes the database compression utility.
|
||||
*
|
||||
* This method will decompress all 7-zip archives within the compressed database directory. The decompressed files
|
||||
* are placed in their respective directories based on the name and location of the compressed file.
|
||||
*/
|
||||
initialize(): Promise<void>;
|
||||
/**
|
||||
* Retrieves a list of all 7-zip archives within the compressed database directory.
|
||||
*/
|
||||
private getCompressedFiles;
|
||||
/**
|
||||
* Processes a compressed file by checking if the target directory is empty, and if so, decompressing the file into
|
||||
* the target directory.
|
||||
*/
|
||||
private processCompressedFile;
|
||||
/**
|
||||
* Checks if a directory exists and is empty.
|
||||
*/
|
||||
private isDirectoryEmpty;
|
||||
/**
|
||||
* Decompresses a 7-zip archive to the target directory.
|
||||
*/
|
||||
private decompressFile;
|
||||
}
|
@ -10,6 +10,7 @@ import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { Common, IQuestStatus } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||
import { IQuest, IQuestCondition, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IHideoutProduction } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
|
||||
import { IAcceptQuestRequestData } from "@spt/models/eft/quests/IAcceptQuestRequestData";
|
||||
import { ICompleteQuestRequestData } from "@spt/models/eft/quests/ICompleteQuestRequestData";
|
||||
@ -280,6 +281,13 @@ export declare class QuestHelper {
|
||||
* @param response Response to send back to client
|
||||
*/
|
||||
protected findAndAddHideoutProductionIdToProfile(pmcData: IPmcData, craftUnlockReward: IQuestReward, questDetails: IQuest, sessionID: string, response: IItemEventRouterResponse): void;
|
||||
/**
|
||||
* Find hideout craft id for the specified quest reward
|
||||
* @param craftUnlockReward
|
||||
* @param questDetails
|
||||
* @returns
|
||||
*/
|
||||
getRewardProductionMatch(craftUnlockReward: IQuestReward, questDetails: IQuest): IHideoutProduction[];
|
||||
/**
|
||||
* Get players money reward bonus from profile
|
||||
* @param pmcData player profile
|
||||
|
@ -1,6 +1,5 @@
|
||||
export interface IWorkoutData extends Record<string, any> {
|
||||
skills: IWorkoutSkills;
|
||||
effects: IWorkoutEffects;
|
||||
}
|
||||
export interface IWorkoutSkills {
|
||||
Common: IWorkoutSkillCommon[];
|
||||
|
@ -2,9 +2,11 @@ import { HideoutHelper } from "@spt/helpers/HideoutHelper";
|
||||
import { InventoryHelper } from "@spt/helpers/InventoryHelper";
|
||||
import { ItemHelper } from "@spt/helpers/ItemHelper";
|
||||
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||
import { QuestHelper } from "@spt/helpers/QuestHelper";
|
||||
import { TraderHelper } from "@spt/helpers/TraderHelper";
|
||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { IBonus, IHideoutSlot } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IQuest, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests";
|
||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||
import { IStageBonus } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
@ -36,9 +38,10 @@ export declare class ProfileFixerService {
|
||||
protected hashUtil: HashUtil;
|
||||
protected configServer: ConfigServer;
|
||||
protected cloner: ICloner;
|
||||
protected questHelper: QuestHelper;
|
||||
protected coreConfig: ICoreConfig;
|
||||
protected ragfairConfig: IRagfairConfig;
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner);
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner, questHelper: QuestHelper);
|
||||
/**
|
||||
* Find issues in the pmc profile data that may cause issues and fix them
|
||||
* @param pmcProfile profile to check and fix
|
||||
@ -71,6 +74,19 @@ export declare class ProfileFixerService {
|
||||
* @param pmcProfile Profile to remove dead quests from
|
||||
*/
|
||||
protected removeOrphanedQuests(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Verify that all quest production unlocks have been applied to the PMC Profile
|
||||
* @param pmcProfile The profile to validate quest productions for
|
||||
*/
|
||||
protected verifyQuestProductionUnlocks(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Validate that the given profile has the given quest reward production scheme unlocked, and add it if not
|
||||
* @param pmcProfile Profile to check
|
||||
* @param productionUnlockReward The quest reward to validate
|
||||
* @param questDetails The quest the reward belongs to
|
||||
* @returns
|
||||
*/
|
||||
protected verifyQuestProductionUnlock(pmcProfile: IPmcData, productionUnlockReward: IQuestReward, questDetails: IQuest): void;
|
||||
/**
|
||||
* If the profile has elite Hideout Managment skill, add the additional slots from globals
|
||||
* NOTE: This seems redundant, but we will leave it here just incase.
|
||||
|
38
TypeScript/13.1AddTraderWithAssortJSON/types/utils/DatabaseDecompressionUtil.d.ts
vendored
Normal file
38
TypeScript/13.1AddTraderWithAssortJSON/types/utils/DatabaseDecompressionUtil.d.ts
vendored
Normal file
@ -0,0 +1,38 @@
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
export declare class DatabaseDecompressionUtil {
|
||||
protected logger: ILogger;
|
||||
private compressedDir;
|
||||
private assetsDir;
|
||||
private compiled;
|
||||
constructor(logger: ILogger);
|
||||
/**
|
||||
* Checks if the application is running in a compiled environment. A simple check is done to see if the relative
|
||||
* assets directory exists. If it does not, the application is assumed to be running in a compiled environment. All
|
||||
* relative asset paths are different within a compiled environment, so this simple check is sufficient.
|
||||
*/
|
||||
private isCompiled;
|
||||
/**
|
||||
* Initializes the database compression utility.
|
||||
*
|
||||
* This method will decompress all 7-zip archives within the compressed database directory. The decompressed files
|
||||
* are placed in their respective directories based on the name and location of the compressed file.
|
||||
*/
|
||||
initialize(): Promise<void>;
|
||||
/**
|
||||
* Retrieves a list of all 7-zip archives within the compressed database directory.
|
||||
*/
|
||||
private getCompressedFiles;
|
||||
/**
|
||||
* Processes a compressed file by checking if the target directory is empty, and if so, decompressing the file into
|
||||
* the target directory.
|
||||
*/
|
||||
private processCompressedFile;
|
||||
/**
|
||||
* Checks if a directory exists and is empty.
|
||||
*/
|
||||
private isDirectoryEmpty;
|
||||
/**
|
||||
* Decompresses a 7-zip archive to the target directory.
|
||||
*/
|
||||
private decompressFile;
|
||||
}
|
@ -10,6 +10,7 @@ import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { Common, IQuestStatus } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||
import { IQuest, IQuestCondition, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IHideoutProduction } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
|
||||
import { IAcceptQuestRequestData } from "@spt/models/eft/quests/IAcceptQuestRequestData";
|
||||
import { ICompleteQuestRequestData } from "@spt/models/eft/quests/ICompleteQuestRequestData";
|
||||
@ -280,6 +281,13 @@ export declare class QuestHelper {
|
||||
* @param response Response to send back to client
|
||||
*/
|
||||
protected findAndAddHideoutProductionIdToProfile(pmcData: IPmcData, craftUnlockReward: IQuestReward, questDetails: IQuest, sessionID: string, response: IItemEventRouterResponse): void;
|
||||
/**
|
||||
* Find hideout craft id for the specified quest reward
|
||||
* @param craftUnlockReward
|
||||
* @param questDetails
|
||||
* @returns
|
||||
*/
|
||||
getRewardProductionMatch(craftUnlockReward: IQuestReward, questDetails: IQuest): IHideoutProduction[];
|
||||
/**
|
||||
* Get players money reward bonus from profile
|
||||
* @param pmcData player profile
|
||||
|
@ -1,6 +1,5 @@
|
||||
export interface IWorkoutData extends Record<string, any> {
|
||||
skills: IWorkoutSkills;
|
||||
effects: IWorkoutEffects;
|
||||
}
|
||||
export interface IWorkoutSkills {
|
||||
Common: IWorkoutSkillCommon[];
|
||||
|
@ -2,9 +2,11 @@ import { HideoutHelper } from "@spt/helpers/HideoutHelper";
|
||||
import { InventoryHelper } from "@spt/helpers/InventoryHelper";
|
||||
import { ItemHelper } from "@spt/helpers/ItemHelper";
|
||||
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||
import { QuestHelper } from "@spt/helpers/QuestHelper";
|
||||
import { TraderHelper } from "@spt/helpers/TraderHelper";
|
||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { IBonus, IHideoutSlot } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IQuest, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests";
|
||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||
import { IStageBonus } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
@ -36,9 +38,10 @@ export declare class ProfileFixerService {
|
||||
protected hashUtil: HashUtil;
|
||||
protected configServer: ConfigServer;
|
||||
protected cloner: ICloner;
|
||||
protected questHelper: QuestHelper;
|
||||
protected coreConfig: ICoreConfig;
|
||||
protected ragfairConfig: IRagfairConfig;
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner);
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner, questHelper: QuestHelper);
|
||||
/**
|
||||
* Find issues in the pmc profile data that may cause issues and fix them
|
||||
* @param pmcProfile profile to check and fix
|
||||
@ -71,6 +74,19 @@ export declare class ProfileFixerService {
|
||||
* @param pmcProfile Profile to remove dead quests from
|
||||
*/
|
||||
protected removeOrphanedQuests(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Verify that all quest production unlocks have been applied to the PMC Profile
|
||||
* @param pmcProfile The profile to validate quest productions for
|
||||
*/
|
||||
protected verifyQuestProductionUnlocks(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Validate that the given profile has the given quest reward production scheme unlocked, and add it if not
|
||||
* @param pmcProfile Profile to check
|
||||
* @param productionUnlockReward The quest reward to validate
|
||||
* @param questDetails The quest the reward belongs to
|
||||
* @returns
|
||||
*/
|
||||
protected verifyQuestProductionUnlock(pmcProfile: IPmcData, productionUnlockReward: IQuestReward, questDetails: IQuest): void;
|
||||
/**
|
||||
* If the profile has elite Hideout Managment skill, add the additional slots from globals
|
||||
* NOTE: This seems redundant, but we will leave it here just incase.
|
||||
|
38
TypeScript/13AddTrader/types/utils/DatabaseDecompressionUtil.d.ts
vendored
Normal file
38
TypeScript/13AddTrader/types/utils/DatabaseDecompressionUtil.d.ts
vendored
Normal file
@ -0,0 +1,38 @@
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
export declare class DatabaseDecompressionUtil {
|
||||
protected logger: ILogger;
|
||||
private compressedDir;
|
||||
private assetsDir;
|
||||
private compiled;
|
||||
constructor(logger: ILogger);
|
||||
/**
|
||||
* Checks if the application is running in a compiled environment. A simple check is done to see if the relative
|
||||
* assets directory exists. If it does not, the application is assumed to be running in a compiled environment. All
|
||||
* relative asset paths are different within a compiled environment, so this simple check is sufficient.
|
||||
*/
|
||||
private isCompiled;
|
||||
/**
|
||||
* Initializes the database compression utility.
|
||||
*
|
||||
* This method will decompress all 7-zip archives within the compressed database directory. The decompressed files
|
||||
* are placed in their respective directories based on the name and location of the compressed file.
|
||||
*/
|
||||
initialize(): Promise<void>;
|
||||
/**
|
||||
* Retrieves a list of all 7-zip archives within the compressed database directory.
|
||||
*/
|
||||
private getCompressedFiles;
|
||||
/**
|
||||
* Processes a compressed file by checking if the target directory is empty, and if so, decompressing the file into
|
||||
* the target directory.
|
||||
*/
|
||||
private processCompressedFile;
|
||||
/**
|
||||
* Checks if a directory exists and is empty.
|
||||
*/
|
||||
private isDirectoryEmpty;
|
||||
/**
|
||||
* Decompresses a 7-zip archive to the target directory.
|
||||
*/
|
||||
private decompressFile;
|
||||
}
|
@ -10,6 +10,7 @@ import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { Common, IQuestStatus } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||
import { IQuest, IQuestCondition, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IHideoutProduction } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
|
||||
import { IAcceptQuestRequestData } from "@spt/models/eft/quests/IAcceptQuestRequestData";
|
||||
import { ICompleteQuestRequestData } from "@spt/models/eft/quests/ICompleteQuestRequestData";
|
||||
@ -280,6 +281,13 @@ export declare class QuestHelper {
|
||||
* @param response Response to send back to client
|
||||
*/
|
||||
protected findAndAddHideoutProductionIdToProfile(pmcData: IPmcData, craftUnlockReward: IQuestReward, questDetails: IQuest, sessionID: string, response: IItemEventRouterResponse): void;
|
||||
/**
|
||||
* Find hideout craft id for the specified quest reward
|
||||
* @param craftUnlockReward
|
||||
* @param questDetails
|
||||
* @returns
|
||||
*/
|
||||
getRewardProductionMatch(craftUnlockReward: IQuestReward, questDetails: IQuest): IHideoutProduction[];
|
||||
/**
|
||||
* Get players money reward bonus from profile
|
||||
* @param pmcData player profile
|
||||
|
@ -1,6 +1,5 @@
|
||||
export interface IWorkoutData extends Record<string, any> {
|
||||
skills: IWorkoutSkills;
|
||||
effects: IWorkoutEffects;
|
||||
}
|
||||
export interface IWorkoutSkills {
|
||||
Common: IWorkoutSkillCommon[];
|
||||
|
@ -2,9 +2,11 @@ import { HideoutHelper } from "@spt/helpers/HideoutHelper";
|
||||
import { InventoryHelper } from "@spt/helpers/InventoryHelper";
|
||||
import { ItemHelper } from "@spt/helpers/ItemHelper";
|
||||
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||
import { QuestHelper } from "@spt/helpers/QuestHelper";
|
||||
import { TraderHelper } from "@spt/helpers/TraderHelper";
|
||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { IBonus, IHideoutSlot } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IQuest, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests";
|
||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||
import { IStageBonus } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
@ -36,9 +38,10 @@ export declare class ProfileFixerService {
|
||||
protected hashUtil: HashUtil;
|
||||
protected configServer: ConfigServer;
|
||||
protected cloner: ICloner;
|
||||
protected questHelper: QuestHelper;
|
||||
protected coreConfig: ICoreConfig;
|
||||
protected ragfairConfig: IRagfairConfig;
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner);
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner, questHelper: QuestHelper);
|
||||
/**
|
||||
* Find issues in the pmc profile data that may cause issues and fix them
|
||||
* @param pmcProfile profile to check and fix
|
||||
@ -71,6 +74,19 @@ export declare class ProfileFixerService {
|
||||
* @param pmcProfile Profile to remove dead quests from
|
||||
*/
|
||||
protected removeOrphanedQuests(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Verify that all quest production unlocks have been applied to the PMC Profile
|
||||
* @param pmcProfile The profile to validate quest productions for
|
||||
*/
|
||||
protected verifyQuestProductionUnlocks(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Validate that the given profile has the given quest reward production scheme unlocked, and add it if not
|
||||
* @param pmcProfile Profile to check
|
||||
* @param productionUnlockReward The quest reward to validate
|
||||
* @param questDetails The quest the reward belongs to
|
||||
* @returns
|
||||
*/
|
||||
protected verifyQuestProductionUnlock(pmcProfile: IPmcData, productionUnlockReward: IQuestReward, questDetails: IQuest): void;
|
||||
/**
|
||||
* If the profile has elite Hideout Managment skill, add the additional slots from globals
|
||||
* NOTE: This seems redundant, but we will leave it here just incase.
|
||||
|
38
TypeScript/14AfterDBLoadHook/types/utils/DatabaseDecompressionUtil.d.ts
vendored
Normal file
38
TypeScript/14AfterDBLoadHook/types/utils/DatabaseDecompressionUtil.d.ts
vendored
Normal file
@ -0,0 +1,38 @@
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
export declare class DatabaseDecompressionUtil {
|
||||
protected logger: ILogger;
|
||||
private compressedDir;
|
||||
private assetsDir;
|
||||
private compiled;
|
||||
constructor(logger: ILogger);
|
||||
/**
|
||||
* Checks if the application is running in a compiled environment. A simple check is done to see if the relative
|
||||
* assets directory exists. If it does not, the application is assumed to be running in a compiled environment. All
|
||||
* relative asset paths are different within a compiled environment, so this simple check is sufficient.
|
||||
*/
|
||||
private isCompiled;
|
||||
/**
|
||||
* Initializes the database compression utility.
|
||||
*
|
||||
* This method will decompress all 7-zip archives within the compressed database directory. The decompressed files
|
||||
* are placed in their respective directories based on the name and location of the compressed file.
|
||||
*/
|
||||
initialize(): Promise<void>;
|
||||
/**
|
||||
* Retrieves a list of all 7-zip archives within the compressed database directory.
|
||||
*/
|
||||
private getCompressedFiles;
|
||||
/**
|
||||
* Processes a compressed file by checking if the target directory is empty, and if so, decompressing the file into
|
||||
* the target directory.
|
||||
*/
|
||||
private processCompressedFile;
|
||||
/**
|
||||
* Checks if a directory exists and is empty.
|
||||
*/
|
||||
private isDirectoryEmpty;
|
||||
/**
|
||||
* Decompresses a 7-zip archive to the target directory.
|
||||
*/
|
||||
private decompressFile;
|
||||
}
|
@ -10,6 +10,7 @@ import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { Common, IQuestStatus } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||
import { IQuest, IQuestCondition, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IHideoutProduction } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
|
||||
import { IAcceptQuestRequestData } from "@spt/models/eft/quests/IAcceptQuestRequestData";
|
||||
import { ICompleteQuestRequestData } from "@spt/models/eft/quests/ICompleteQuestRequestData";
|
||||
@ -280,6 +281,13 @@ export declare class QuestHelper {
|
||||
* @param response Response to send back to client
|
||||
*/
|
||||
protected findAndAddHideoutProductionIdToProfile(pmcData: IPmcData, craftUnlockReward: IQuestReward, questDetails: IQuest, sessionID: string, response: IItemEventRouterResponse): void;
|
||||
/**
|
||||
* Find hideout craft id for the specified quest reward
|
||||
* @param craftUnlockReward
|
||||
* @param questDetails
|
||||
* @returns
|
||||
*/
|
||||
getRewardProductionMatch(craftUnlockReward: IQuestReward, questDetails: IQuest): IHideoutProduction[];
|
||||
/**
|
||||
* Get players money reward bonus from profile
|
||||
* @param pmcData player profile
|
||||
|
@ -1,6 +1,5 @@
|
||||
export interface IWorkoutData extends Record<string, any> {
|
||||
skills: IWorkoutSkills;
|
||||
effects: IWorkoutEffects;
|
||||
}
|
||||
export interface IWorkoutSkills {
|
||||
Common: IWorkoutSkillCommon[];
|
||||
|
@ -2,9 +2,11 @@ import { HideoutHelper } from "@spt/helpers/HideoutHelper";
|
||||
import { InventoryHelper } from "@spt/helpers/InventoryHelper";
|
||||
import { ItemHelper } from "@spt/helpers/ItemHelper";
|
||||
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||
import { QuestHelper } from "@spt/helpers/QuestHelper";
|
||||
import { TraderHelper } from "@spt/helpers/TraderHelper";
|
||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { IBonus, IHideoutSlot } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IQuest, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests";
|
||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||
import { IStageBonus } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
@ -36,9 +38,10 @@ export declare class ProfileFixerService {
|
||||
protected hashUtil: HashUtil;
|
||||
protected configServer: ConfigServer;
|
||||
protected cloner: ICloner;
|
||||
protected questHelper: QuestHelper;
|
||||
protected coreConfig: ICoreConfig;
|
||||
protected ragfairConfig: IRagfairConfig;
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner);
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner, questHelper: QuestHelper);
|
||||
/**
|
||||
* Find issues in the pmc profile data that may cause issues and fix them
|
||||
* @param pmcProfile profile to check and fix
|
||||
@ -71,6 +74,19 @@ export declare class ProfileFixerService {
|
||||
* @param pmcProfile Profile to remove dead quests from
|
||||
*/
|
||||
protected removeOrphanedQuests(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Verify that all quest production unlocks have been applied to the PMC Profile
|
||||
* @param pmcProfile The profile to validate quest productions for
|
||||
*/
|
||||
protected verifyQuestProductionUnlocks(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Validate that the given profile has the given quest reward production scheme unlocked, and add it if not
|
||||
* @param pmcProfile Profile to check
|
||||
* @param productionUnlockReward The quest reward to validate
|
||||
* @param questDetails The quest the reward belongs to
|
||||
* @returns
|
||||
*/
|
||||
protected verifyQuestProductionUnlock(pmcProfile: IPmcData, productionUnlockReward: IQuestReward, questDetails: IQuest): void;
|
||||
/**
|
||||
* If the profile has elite Hideout Managment skill, add the additional slots from globals
|
||||
* NOTE: This seems redundant, but we will leave it here just incase.
|
||||
|
38
TypeScript/15HttpListenerExample/types/utils/DatabaseDecompressionUtil.d.ts
vendored
Normal file
38
TypeScript/15HttpListenerExample/types/utils/DatabaseDecompressionUtil.d.ts
vendored
Normal file
@ -0,0 +1,38 @@
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
export declare class DatabaseDecompressionUtil {
|
||||
protected logger: ILogger;
|
||||
private compressedDir;
|
||||
private assetsDir;
|
||||
private compiled;
|
||||
constructor(logger: ILogger);
|
||||
/**
|
||||
* Checks if the application is running in a compiled environment. A simple check is done to see if the relative
|
||||
* assets directory exists. If it does not, the application is assumed to be running in a compiled environment. All
|
||||
* relative asset paths are different within a compiled environment, so this simple check is sufficient.
|
||||
*/
|
||||
private isCompiled;
|
||||
/**
|
||||
* Initializes the database compression utility.
|
||||
*
|
||||
* This method will decompress all 7-zip archives within the compressed database directory. The decompressed files
|
||||
* are placed in their respective directories based on the name and location of the compressed file.
|
||||
*/
|
||||
initialize(): Promise<void>;
|
||||
/**
|
||||
* Retrieves a list of all 7-zip archives within the compressed database directory.
|
||||
*/
|
||||
private getCompressedFiles;
|
||||
/**
|
||||
* Processes a compressed file by checking if the target directory is empty, and if so, decompressing the file into
|
||||
* the target directory.
|
||||
*/
|
||||
private processCompressedFile;
|
||||
/**
|
||||
* Checks if a directory exists and is empty.
|
||||
*/
|
||||
private isDirectoryEmpty;
|
||||
/**
|
||||
* Decompresses a 7-zip archive to the target directory.
|
||||
*/
|
||||
private decompressFile;
|
||||
}
|
@ -10,6 +10,7 @@ import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { Common, IQuestStatus } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||
import { IQuest, IQuestCondition, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IHideoutProduction } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
|
||||
import { IAcceptQuestRequestData } from "@spt/models/eft/quests/IAcceptQuestRequestData";
|
||||
import { ICompleteQuestRequestData } from "@spt/models/eft/quests/ICompleteQuestRequestData";
|
||||
@ -280,6 +281,13 @@ export declare class QuestHelper {
|
||||
* @param response Response to send back to client
|
||||
*/
|
||||
protected findAndAddHideoutProductionIdToProfile(pmcData: IPmcData, craftUnlockReward: IQuestReward, questDetails: IQuest, sessionID: string, response: IItemEventRouterResponse): void;
|
||||
/**
|
||||
* Find hideout craft id for the specified quest reward
|
||||
* @param craftUnlockReward
|
||||
* @param questDetails
|
||||
* @returns
|
||||
*/
|
||||
getRewardProductionMatch(craftUnlockReward: IQuestReward, questDetails: IQuest): IHideoutProduction[];
|
||||
/**
|
||||
* Get players money reward bonus from profile
|
||||
* @param pmcData player profile
|
||||
|
@ -1,6 +1,5 @@
|
||||
export interface IWorkoutData extends Record<string, any> {
|
||||
skills: IWorkoutSkills;
|
||||
effects: IWorkoutEffects;
|
||||
}
|
||||
export interface IWorkoutSkills {
|
||||
Common: IWorkoutSkillCommon[];
|
||||
|
@ -2,9 +2,11 @@ import { HideoutHelper } from "@spt/helpers/HideoutHelper";
|
||||
import { InventoryHelper } from "@spt/helpers/InventoryHelper";
|
||||
import { ItemHelper } from "@spt/helpers/ItemHelper";
|
||||
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||
import { QuestHelper } from "@spt/helpers/QuestHelper";
|
||||
import { TraderHelper } from "@spt/helpers/TraderHelper";
|
||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { IBonus, IHideoutSlot } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IQuest, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests";
|
||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||
import { IStageBonus } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
@ -36,9 +38,10 @@ export declare class ProfileFixerService {
|
||||
protected hashUtil: HashUtil;
|
||||
protected configServer: ConfigServer;
|
||||
protected cloner: ICloner;
|
||||
protected questHelper: QuestHelper;
|
||||
protected coreConfig: ICoreConfig;
|
||||
protected ragfairConfig: IRagfairConfig;
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner);
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner, questHelper: QuestHelper);
|
||||
/**
|
||||
* Find issues in the pmc profile data that may cause issues and fix them
|
||||
* @param pmcProfile profile to check and fix
|
||||
@ -71,6 +74,19 @@ export declare class ProfileFixerService {
|
||||
* @param pmcProfile Profile to remove dead quests from
|
||||
*/
|
||||
protected removeOrphanedQuests(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Verify that all quest production unlocks have been applied to the PMC Profile
|
||||
* @param pmcProfile The profile to validate quest productions for
|
||||
*/
|
||||
protected verifyQuestProductionUnlocks(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Validate that the given profile has the given quest reward production scheme unlocked, and add it if not
|
||||
* @param pmcProfile Profile to check
|
||||
* @param productionUnlockReward The quest reward to validate
|
||||
* @param questDetails The quest the reward belongs to
|
||||
* @returns
|
||||
*/
|
||||
protected verifyQuestProductionUnlock(pmcProfile: IPmcData, productionUnlockReward: IQuestReward, questDetails: IQuest): void;
|
||||
/**
|
||||
* If the profile has elite Hideout Managment skill, add the additional slots from globals
|
||||
* NOTE: This seems redundant, but we will leave it here just incase.
|
||||
|
38
TypeScript/16ImporterUtil/types/utils/DatabaseDecompressionUtil.d.ts
vendored
Normal file
38
TypeScript/16ImporterUtil/types/utils/DatabaseDecompressionUtil.d.ts
vendored
Normal file
@ -0,0 +1,38 @@
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
export declare class DatabaseDecompressionUtil {
|
||||
protected logger: ILogger;
|
||||
private compressedDir;
|
||||
private assetsDir;
|
||||
private compiled;
|
||||
constructor(logger: ILogger);
|
||||
/**
|
||||
* Checks if the application is running in a compiled environment. A simple check is done to see if the relative
|
||||
* assets directory exists. If it does not, the application is assumed to be running in a compiled environment. All
|
||||
* relative asset paths are different within a compiled environment, so this simple check is sufficient.
|
||||
*/
|
||||
private isCompiled;
|
||||
/**
|
||||
* Initializes the database compression utility.
|
||||
*
|
||||
* This method will decompress all 7-zip archives within the compressed database directory. The decompressed files
|
||||
* are placed in their respective directories based on the name and location of the compressed file.
|
||||
*/
|
||||
initialize(): Promise<void>;
|
||||
/**
|
||||
* Retrieves a list of all 7-zip archives within the compressed database directory.
|
||||
*/
|
||||
private getCompressedFiles;
|
||||
/**
|
||||
* Processes a compressed file by checking if the target directory is empty, and if so, decompressing the file into
|
||||
* the target directory.
|
||||
*/
|
||||
private processCompressedFile;
|
||||
/**
|
||||
* Checks if a directory exists and is empty.
|
||||
*/
|
||||
private isDirectoryEmpty;
|
||||
/**
|
||||
* Decompresses a 7-zip archive to the target directory.
|
||||
*/
|
||||
private decompressFile;
|
||||
}
|
@ -10,6 +10,7 @@ import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { Common, IQuestStatus } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||
import { IQuest, IQuestCondition, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IHideoutProduction } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
|
||||
import { IAcceptQuestRequestData } from "@spt/models/eft/quests/IAcceptQuestRequestData";
|
||||
import { ICompleteQuestRequestData } from "@spt/models/eft/quests/ICompleteQuestRequestData";
|
||||
@ -280,6 +281,13 @@ export declare class QuestHelper {
|
||||
* @param response Response to send back to client
|
||||
*/
|
||||
protected findAndAddHideoutProductionIdToProfile(pmcData: IPmcData, craftUnlockReward: IQuestReward, questDetails: IQuest, sessionID: string, response: IItemEventRouterResponse): void;
|
||||
/**
|
||||
* Find hideout craft id for the specified quest reward
|
||||
* @param craftUnlockReward
|
||||
* @param questDetails
|
||||
* @returns
|
||||
*/
|
||||
getRewardProductionMatch(craftUnlockReward: IQuestReward, questDetails: IQuest): IHideoutProduction[];
|
||||
/**
|
||||
* Get players money reward bonus from profile
|
||||
* @param pmcData player profile
|
||||
|
@ -1,6 +1,5 @@
|
||||
export interface IWorkoutData extends Record<string, any> {
|
||||
skills: IWorkoutSkills;
|
||||
effects: IWorkoutEffects;
|
||||
}
|
||||
export interface IWorkoutSkills {
|
||||
Common: IWorkoutSkillCommon[];
|
||||
|
@ -2,9 +2,11 @@ import { HideoutHelper } from "@spt/helpers/HideoutHelper";
|
||||
import { InventoryHelper } from "@spt/helpers/InventoryHelper";
|
||||
import { ItemHelper } from "@spt/helpers/ItemHelper";
|
||||
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||
import { QuestHelper } from "@spt/helpers/QuestHelper";
|
||||
import { TraderHelper } from "@spt/helpers/TraderHelper";
|
||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { IBonus, IHideoutSlot } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IQuest, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests";
|
||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||
import { IStageBonus } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
@ -36,9 +38,10 @@ export declare class ProfileFixerService {
|
||||
protected hashUtil: HashUtil;
|
||||
protected configServer: ConfigServer;
|
||||
protected cloner: ICloner;
|
||||
protected questHelper: QuestHelper;
|
||||
protected coreConfig: ICoreConfig;
|
||||
protected ragfairConfig: IRagfairConfig;
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner);
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner, questHelper: QuestHelper);
|
||||
/**
|
||||
* Find issues in the pmc profile data that may cause issues and fix them
|
||||
* @param pmcProfile profile to check and fix
|
||||
@ -71,6 +74,19 @@ export declare class ProfileFixerService {
|
||||
* @param pmcProfile Profile to remove dead quests from
|
||||
*/
|
||||
protected removeOrphanedQuests(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Verify that all quest production unlocks have been applied to the PMC Profile
|
||||
* @param pmcProfile The profile to validate quest productions for
|
||||
*/
|
||||
protected verifyQuestProductionUnlocks(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Validate that the given profile has the given quest reward production scheme unlocked, and add it if not
|
||||
* @param pmcProfile Profile to check
|
||||
* @param productionUnlockReward The quest reward to validate
|
||||
* @param questDetails The quest the reward belongs to
|
||||
* @returns
|
||||
*/
|
||||
protected verifyQuestProductionUnlock(pmcProfile: IPmcData, productionUnlockReward: IQuestReward, questDetails: IQuest): void;
|
||||
/**
|
||||
* If the profile has elite Hideout Managment skill, add the additional slots from globals
|
||||
* NOTE: This seems redundant, but we will leave it here just incase.
|
||||
|
38
TypeScript/17AsyncImporterWithDependency1/types/utils/DatabaseDecompressionUtil.d.ts
vendored
Normal file
38
TypeScript/17AsyncImporterWithDependency1/types/utils/DatabaseDecompressionUtil.d.ts
vendored
Normal file
@ -0,0 +1,38 @@
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
export declare class DatabaseDecompressionUtil {
|
||||
protected logger: ILogger;
|
||||
private compressedDir;
|
||||
private assetsDir;
|
||||
private compiled;
|
||||
constructor(logger: ILogger);
|
||||
/**
|
||||
* Checks if the application is running in a compiled environment. A simple check is done to see if the relative
|
||||
* assets directory exists. If it does not, the application is assumed to be running in a compiled environment. All
|
||||
* relative asset paths are different within a compiled environment, so this simple check is sufficient.
|
||||
*/
|
||||
private isCompiled;
|
||||
/**
|
||||
* Initializes the database compression utility.
|
||||
*
|
||||
* This method will decompress all 7-zip archives within the compressed database directory. The decompressed files
|
||||
* are placed in their respective directories based on the name and location of the compressed file.
|
||||
*/
|
||||
initialize(): Promise<void>;
|
||||
/**
|
||||
* Retrieves a list of all 7-zip archives within the compressed database directory.
|
||||
*/
|
||||
private getCompressedFiles;
|
||||
/**
|
||||
* Processes a compressed file by checking if the target directory is empty, and if so, decompressing the file into
|
||||
* the target directory.
|
||||
*/
|
||||
private processCompressedFile;
|
||||
/**
|
||||
* Checks if a directory exists and is empty.
|
||||
*/
|
||||
private isDirectoryEmpty;
|
||||
/**
|
||||
* Decompresses a 7-zip archive to the target directory.
|
||||
*/
|
||||
private decompressFile;
|
||||
}
|
@ -10,6 +10,7 @@ import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { Common, IQuestStatus } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||
import { IQuest, IQuestCondition, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IHideoutProduction } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
|
||||
import { IAcceptQuestRequestData } from "@spt/models/eft/quests/IAcceptQuestRequestData";
|
||||
import { ICompleteQuestRequestData } from "@spt/models/eft/quests/ICompleteQuestRequestData";
|
||||
@ -280,6 +281,13 @@ export declare class QuestHelper {
|
||||
* @param response Response to send back to client
|
||||
*/
|
||||
protected findAndAddHideoutProductionIdToProfile(pmcData: IPmcData, craftUnlockReward: IQuestReward, questDetails: IQuest, sessionID: string, response: IItemEventRouterResponse): void;
|
||||
/**
|
||||
* Find hideout craft id for the specified quest reward
|
||||
* @param craftUnlockReward
|
||||
* @param questDetails
|
||||
* @returns
|
||||
*/
|
||||
getRewardProductionMatch(craftUnlockReward: IQuestReward, questDetails: IQuest): IHideoutProduction[];
|
||||
/**
|
||||
* Get players money reward bonus from profile
|
||||
* @param pmcData player profile
|
||||
|
@ -1,6 +1,5 @@
|
||||
export interface IWorkoutData extends Record<string, any> {
|
||||
skills: IWorkoutSkills;
|
||||
effects: IWorkoutEffects;
|
||||
}
|
||||
export interface IWorkoutSkills {
|
||||
Common: IWorkoutSkillCommon[];
|
||||
|
@ -2,9 +2,11 @@ import { HideoutHelper } from "@spt/helpers/HideoutHelper";
|
||||
import { InventoryHelper } from "@spt/helpers/InventoryHelper";
|
||||
import { ItemHelper } from "@spt/helpers/ItemHelper";
|
||||
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||
import { QuestHelper } from "@spt/helpers/QuestHelper";
|
||||
import { TraderHelper } from "@spt/helpers/TraderHelper";
|
||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { IBonus, IHideoutSlot } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IQuest, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests";
|
||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||
import { IStageBonus } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
@ -36,9 +38,10 @@ export declare class ProfileFixerService {
|
||||
protected hashUtil: HashUtil;
|
||||
protected configServer: ConfigServer;
|
||||
protected cloner: ICloner;
|
||||
protected questHelper: QuestHelper;
|
||||
protected coreConfig: ICoreConfig;
|
||||
protected ragfairConfig: IRagfairConfig;
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner);
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner, questHelper: QuestHelper);
|
||||
/**
|
||||
* Find issues in the pmc profile data that may cause issues and fix them
|
||||
* @param pmcProfile profile to check and fix
|
||||
@ -71,6 +74,19 @@ export declare class ProfileFixerService {
|
||||
* @param pmcProfile Profile to remove dead quests from
|
||||
*/
|
||||
protected removeOrphanedQuests(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Verify that all quest production unlocks have been applied to the PMC Profile
|
||||
* @param pmcProfile The profile to validate quest productions for
|
||||
*/
|
||||
protected verifyQuestProductionUnlocks(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Validate that the given profile has the given quest reward production scheme unlocked, and add it if not
|
||||
* @param pmcProfile Profile to check
|
||||
* @param productionUnlockReward The quest reward to validate
|
||||
* @param questDetails The quest the reward belongs to
|
||||
* @returns
|
||||
*/
|
||||
protected verifyQuestProductionUnlock(pmcProfile: IPmcData, productionUnlockReward: IQuestReward, questDetails: IQuest): void;
|
||||
/**
|
||||
* If the profile has elite Hideout Managment skill, add the additional slots from globals
|
||||
* NOTE: This seems redundant, but we will leave it here just incase.
|
||||
|
38
TypeScript/17AsyncImporterWithDependency2/types/utils/DatabaseDecompressionUtil.d.ts
vendored
Normal file
38
TypeScript/17AsyncImporterWithDependency2/types/utils/DatabaseDecompressionUtil.d.ts
vendored
Normal file
@ -0,0 +1,38 @@
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
export declare class DatabaseDecompressionUtil {
|
||||
protected logger: ILogger;
|
||||
private compressedDir;
|
||||
private assetsDir;
|
||||
private compiled;
|
||||
constructor(logger: ILogger);
|
||||
/**
|
||||
* Checks if the application is running in a compiled environment. A simple check is done to see if the relative
|
||||
* assets directory exists. If it does not, the application is assumed to be running in a compiled environment. All
|
||||
* relative asset paths are different within a compiled environment, so this simple check is sufficient.
|
||||
*/
|
||||
private isCompiled;
|
||||
/**
|
||||
* Initializes the database compression utility.
|
||||
*
|
||||
* This method will decompress all 7-zip archives within the compressed database directory. The decompressed files
|
||||
* are placed in their respective directories based on the name and location of the compressed file.
|
||||
*/
|
||||
initialize(): Promise<void>;
|
||||
/**
|
||||
* Retrieves a list of all 7-zip archives within the compressed database directory.
|
||||
*/
|
||||
private getCompressedFiles;
|
||||
/**
|
||||
* Processes a compressed file by checking if the target directory is empty, and if so, decompressing the file into
|
||||
* the target directory.
|
||||
*/
|
||||
private processCompressedFile;
|
||||
/**
|
||||
* Checks if a directory exists and is empty.
|
||||
*/
|
||||
private isDirectoryEmpty;
|
||||
/**
|
||||
* Decompresses a 7-zip archive to the target directory.
|
||||
*/
|
||||
private decompressFile;
|
||||
}
|
@ -10,6 +10,7 @@ import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { Common, IQuestStatus } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||
import { IQuest, IQuestCondition, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IHideoutProduction } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
|
||||
import { IAcceptQuestRequestData } from "@spt/models/eft/quests/IAcceptQuestRequestData";
|
||||
import { ICompleteQuestRequestData } from "@spt/models/eft/quests/ICompleteQuestRequestData";
|
||||
@ -280,6 +281,13 @@ export declare class QuestHelper {
|
||||
* @param response Response to send back to client
|
||||
*/
|
||||
protected findAndAddHideoutProductionIdToProfile(pmcData: IPmcData, craftUnlockReward: IQuestReward, questDetails: IQuest, sessionID: string, response: IItemEventRouterResponse): void;
|
||||
/**
|
||||
* Find hideout craft id for the specified quest reward
|
||||
* @param craftUnlockReward
|
||||
* @param questDetails
|
||||
* @returns
|
||||
*/
|
||||
getRewardProductionMatch(craftUnlockReward: IQuestReward, questDetails: IQuest): IHideoutProduction[];
|
||||
/**
|
||||
* Get players money reward bonus from profile
|
||||
* @param pmcData player profile
|
||||
|
@ -1,6 +1,5 @@
|
||||
export interface IWorkoutData extends Record<string, any> {
|
||||
skills: IWorkoutSkills;
|
||||
effects: IWorkoutEffects;
|
||||
}
|
||||
export interface IWorkoutSkills {
|
||||
Common: IWorkoutSkillCommon[];
|
||||
|
@ -2,9 +2,11 @@ import { HideoutHelper } from "@spt/helpers/HideoutHelper";
|
||||
import { InventoryHelper } from "@spt/helpers/InventoryHelper";
|
||||
import { ItemHelper } from "@spt/helpers/ItemHelper";
|
||||
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||
import { QuestHelper } from "@spt/helpers/QuestHelper";
|
||||
import { TraderHelper } from "@spt/helpers/TraderHelper";
|
||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { IBonus, IHideoutSlot } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IQuest, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests";
|
||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||
import { IStageBonus } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
@ -36,9 +38,10 @@ export declare class ProfileFixerService {
|
||||
protected hashUtil: HashUtil;
|
||||
protected configServer: ConfigServer;
|
||||
protected cloner: ICloner;
|
||||
protected questHelper: QuestHelper;
|
||||
protected coreConfig: ICoreConfig;
|
||||
protected ragfairConfig: IRagfairConfig;
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner);
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner, questHelper: QuestHelper);
|
||||
/**
|
||||
* Find issues in the pmc profile data that may cause issues and fix them
|
||||
* @param pmcProfile profile to check and fix
|
||||
@ -71,6 +74,19 @@ export declare class ProfileFixerService {
|
||||
* @param pmcProfile Profile to remove dead quests from
|
||||
*/
|
||||
protected removeOrphanedQuests(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Verify that all quest production unlocks have been applied to the PMC Profile
|
||||
* @param pmcProfile The profile to validate quest productions for
|
||||
*/
|
||||
protected verifyQuestProductionUnlocks(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Validate that the given profile has the given quest reward production scheme unlocked, and add it if not
|
||||
* @param pmcProfile Profile to check
|
||||
* @param productionUnlockReward The quest reward to validate
|
||||
* @param questDetails The quest the reward belongs to
|
||||
* @returns
|
||||
*/
|
||||
protected verifyQuestProductionUnlock(pmcProfile: IPmcData, productionUnlockReward: IQuestReward, questDetails: IQuest): void;
|
||||
/**
|
||||
* If the profile has elite Hideout Managment skill, add the additional slots from globals
|
||||
* NOTE: This seems redundant, but we will leave it here just incase.
|
||||
|
38
TypeScript/18.1CustomItemServiceLootBox/types/utils/DatabaseDecompressionUtil.d.ts
vendored
Normal file
38
TypeScript/18.1CustomItemServiceLootBox/types/utils/DatabaseDecompressionUtil.d.ts
vendored
Normal file
@ -0,0 +1,38 @@
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
export declare class DatabaseDecompressionUtil {
|
||||
protected logger: ILogger;
|
||||
private compressedDir;
|
||||
private assetsDir;
|
||||
private compiled;
|
||||
constructor(logger: ILogger);
|
||||
/**
|
||||
* Checks if the application is running in a compiled environment. A simple check is done to see if the relative
|
||||
* assets directory exists. If it does not, the application is assumed to be running in a compiled environment. All
|
||||
* relative asset paths are different within a compiled environment, so this simple check is sufficient.
|
||||
*/
|
||||
private isCompiled;
|
||||
/**
|
||||
* Initializes the database compression utility.
|
||||
*
|
||||
* This method will decompress all 7-zip archives within the compressed database directory. The decompressed files
|
||||
* are placed in their respective directories based on the name and location of the compressed file.
|
||||
*/
|
||||
initialize(): Promise<void>;
|
||||
/**
|
||||
* Retrieves a list of all 7-zip archives within the compressed database directory.
|
||||
*/
|
||||
private getCompressedFiles;
|
||||
/**
|
||||
* Processes a compressed file by checking if the target directory is empty, and if so, decompressing the file into
|
||||
* the target directory.
|
||||
*/
|
||||
private processCompressedFile;
|
||||
/**
|
||||
* Checks if a directory exists and is empty.
|
||||
*/
|
||||
private isDirectoryEmpty;
|
||||
/**
|
||||
* Decompresses a 7-zip archive to the target directory.
|
||||
*/
|
||||
private decompressFile;
|
||||
}
|
@ -10,6 +10,7 @@ import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { Common, IQuestStatus } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||
import { IQuest, IQuestCondition, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IHideoutProduction } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
|
||||
import { IAcceptQuestRequestData } from "@spt/models/eft/quests/IAcceptQuestRequestData";
|
||||
import { ICompleteQuestRequestData } from "@spt/models/eft/quests/ICompleteQuestRequestData";
|
||||
@ -280,6 +281,13 @@ export declare class QuestHelper {
|
||||
* @param response Response to send back to client
|
||||
*/
|
||||
protected findAndAddHideoutProductionIdToProfile(pmcData: IPmcData, craftUnlockReward: IQuestReward, questDetails: IQuest, sessionID: string, response: IItemEventRouterResponse): void;
|
||||
/**
|
||||
* Find hideout craft id for the specified quest reward
|
||||
* @param craftUnlockReward
|
||||
* @param questDetails
|
||||
* @returns
|
||||
*/
|
||||
getRewardProductionMatch(craftUnlockReward: IQuestReward, questDetails: IQuest): IHideoutProduction[];
|
||||
/**
|
||||
* Get players money reward bonus from profile
|
||||
* @param pmcData player profile
|
||||
|
@ -1,6 +1,5 @@
|
||||
export interface IWorkoutData extends Record<string, any> {
|
||||
skills: IWorkoutSkills;
|
||||
effects: IWorkoutEffects;
|
||||
}
|
||||
export interface IWorkoutSkills {
|
||||
Common: IWorkoutSkillCommon[];
|
||||
|
@ -2,9 +2,11 @@ import { HideoutHelper } from "@spt/helpers/HideoutHelper";
|
||||
import { InventoryHelper } from "@spt/helpers/InventoryHelper";
|
||||
import { ItemHelper } from "@spt/helpers/ItemHelper";
|
||||
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||
import { QuestHelper } from "@spt/helpers/QuestHelper";
|
||||
import { TraderHelper } from "@spt/helpers/TraderHelper";
|
||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { IBonus, IHideoutSlot } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IQuest, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests";
|
||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||
import { IStageBonus } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
@ -36,9 +38,10 @@ export declare class ProfileFixerService {
|
||||
protected hashUtil: HashUtil;
|
||||
protected configServer: ConfigServer;
|
||||
protected cloner: ICloner;
|
||||
protected questHelper: QuestHelper;
|
||||
protected coreConfig: ICoreConfig;
|
||||
protected ragfairConfig: IRagfairConfig;
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner);
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner, questHelper: QuestHelper);
|
||||
/**
|
||||
* Find issues in the pmc profile data that may cause issues and fix them
|
||||
* @param pmcProfile profile to check and fix
|
||||
@ -71,6 +74,19 @@ export declare class ProfileFixerService {
|
||||
* @param pmcProfile Profile to remove dead quests from
|
||||
*/
|
||||
protected removeOrphanedQuests(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Verify that all quest production unlocks have been applied to the PMC Profile
|
||||
* @param pmcProfile The profile to validate quest productions for
|
||||
*/
|
||||
protected verifyQuestProductionUnlocks(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Validate that the given profile has the given quest reward production scheme unlocked, and add it if not
|
||||
* @param pmcProfile Profile to check
|
||||
* @param productionUnlockReward The quest reward to validate
|
||||
* @param questDetails The quest the reward belongs to
|
||||
* @returns
|
||||
*/
|
||||
protected verifyQuestProductionUnlock(pmcProfile: IPmcData, productionUnlockReward: IQuestReward, questDetails: IQuest): void;
|
||||
/**
|
||||
* If the profile has elite Hideout Managment skill, add the additional slots from globals
|
||||
* NOTE: This seems redundant, but we will leave it here just incase.
|
||||
|
38
TypeScript/18CustomItemService/types/utils/DatabaseDecompressionUtil.d.ts
vendored
Normal file
38
TypeScript/18CustomItemService/types/utils/DatabaseDecompressionUtil.d.ts
vendored
Normal file
@ -0,0 +1,38 @@
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
export declare class DatabaseDecompressionUtil {
|
||||
protected logger: ILogger;
|
||||
private compressedDir;
|
||||
private assetsDir;
|
||||
private compiled;
|
||||
constructor(logger: ILogger);
|
||||
/**
|
||||
* Checks if the application is running in a compiled environment. A simple check is done to see if the relative
|
||||
* assets directory exists. If it does not, the application is assumed to be running in a compiled environment. All
|
||||
* relative asset paths are different within a compiled environment, so this simple check is sufficient.
|
||||
*/
|
||||
private isCompiled;
|
||||
/**
|
||||
* Initializes the database compression utility.
|
||||
*
|
||||
* This method will decompress all 7-zip archives within the compressed database directory. The decompressed files
|
||||
* are placed in their respective directories based on the name and location of the compressed file.
|
||||
*/
|
||||
initialize(): Promise<void>;
|
||||
/**
|
||||
* Retrieves a list of all 7-zip archives within the compressed database directory.
|
||||
*/
|
||||
private getCompressedFiles;
|
||||
/**
|
||||
* Processes a compressed file by checking if the target directory is empty, and if so, decompressing the file into
|
||||
* the target directory.
|
||||
*/
|
||||
private processCompressedFile;
|
||||
/**
|
||||
* Checks if a directory exists and is empty.
|
||||
*/
|
||||
private isDirectoryEmpty;
|
||||
/**
|
||||
* Decompresses a 7-zip archive to the target directory.
|
||||
*/
|
||||
private decompressFile;
|
||||
}
|
@ -10,6 +10,7 @@ import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { Common, IQuestStatus } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||
import { IQuest, IQuestCondition, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IHideoutProduction } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
|
||||
import { IAcceptQuestRequestData } from "@spt/models/eft/quests/IAcceptQuestRequestData";
|
||||
import { ICompleteQuestRequestData } from "@spt/models/eft/quests/ICompleteQuestRequestData";
|
||||
@ -280,6 +281,13 @@ export declare class QuestHelper {
|
||||
* @param response Response to send back to client
|
||||
*/
|
||||
protected findAndAddHideoutProductionIdToProfile(pmcData: IPmcData, craftUnlockReward: IQuestReward, questDetails: IQuest, sessionID: string, response: IItemEventRouterResponse): void;
|
||||
/**
|
||||
* Find hideout craft id for the specified quest reward
|
||||
* @param craftUnlockReward
|
||||
* @param questDetails
|
||||
* @returns
|
||||
*/
|
||||
getRewardProductionMatch(craftUnlockReward: IQuestReward, questDetails: IQuest): IHideoutProduction[];
|
||||
/**
|
||||
* Get players money reward bonus from profile
|
||||
* @param pmcData player profile
|
||||
|
@ -1,6 +1,5 @@
|
||||
export interface IWorkoutData extends Record<string, any> {
|
||||
skills: IWorkoutSkills;
|
||||
effects: IWorkoutEffects;
|
||||
}
|
||||
export interface IWorkoutSkills {
|
||||
Common: IWorkoutSkillCommon[];
|
||||
|
@ -2,9 +2,11 @@ import { HideoutHelper } from "@spt/helpers/HideoutHelper";
|
||||
import { InventoryHelper } from "@spt/helpers/InventoryHelper";
|
||||
import { ItemHelper } from "@spt/helpers/ItemHelper";
|
||||
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||
import { QuestHelper } from "@spt/helpers/QuestHelper";
|
||||
import { TraderHelper } from "@spt/helpers/TraderHelper";
|
||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { IBonus, IHideoutSlot } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IQuest, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests";
|
||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||
import { IStageBonus } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
@ -36,9 +38,10 @@ export declare class ProfileFixerService {
|
||||
protected hashUtil: HashUtil;
|
||||
protected configServer: ConfigServer;
|
||||
protected cloner: ICloner;
|
||||
protected questHelper: QuestHelper;
|
||||
protected coreConfig: ICoreConfig;
|
||||
protected ragfairConfig: IRagfairConfig;
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner);
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner, questHelper: QuestHelper);
|
||||
/**
|
||||
* Find issues in the pmc profile data that may cause issues and fix them
|
||||
* @param pmcProfile profile to check and fix
|
||||
@ -71,6 +74,19 @@ export declare class ProfileFixerService {
|
||||
* @param pmcProfile Profile to remove dead quests from
|
||||
*/
|
||||
protected removeOrphanedQuests(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Verify that all quest production unlocks have been applied to the PMC Profile
|
||||
* @param pmcProfile The profile to validate quest productions for
|
||||
*/
|
||||
protected verifyQuestProductionUnlocks(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Validate that the given profile has the given quest reward production scheme unlocked, and add it if not
|
||||
* @param pmcProfile Profile to check
|
||||
* @param productionUnlockReward The quest reward to validate
|
||||
* @param questDetails The quest the reward belongs to
|
||||
* @returns
|
||||
*/
|
||||
protected verifyQuestProductionUnlock(pmcProfile: IPmcData, productionUnlockReward: IQuestReward, questDetails: IQuest): void;
|
||||
/**
|
||||
* If the profile has elite Hideout Managment skill, add the additional slots from globals
|
||||
* NOTE: This seems redundant, but we will leave it here just incase.
|
||||
|
38
TypeScript/19UseExternalLibraries/types/utils/DatabaseDecompressionUtil.d.ts
vendored
Normal file
38
TypeScript/19UseExternalLibraries/types/utils/DatabaseDecompressionUtil.d.ts
vendored
Normal file
@ -0,0 +1,38 @@
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
export declare class DatabaseDecompressionUtil {
|
||||
protected logger: ILogger;
|
||||
private compressedDir;
|
||||
private assetsDir;
|
||||
private compiled;
|
||||
constructor(logger: ILogger);
|
||||
/**
|
||||
* Checks if the application is running in a compiled environment. A simple check is done to see if the relative
|
||||
* assets directory exists. If it does not, the application is assumed to be running in a compiled environment. All
|
||||
* relative asset paths are different within a compiled environment, so this simple check is sufficient.
|
||||
*/
|
||||
private isCompiled;
|
||||
/**
|
||||
* Initializes the database compression utility.
|
||||
*
|
||||
* This method will decompress all 7-zip archives within the compressed database directory. The decompressed files
|
||||
* are placed in their respective directories based on the name and location of the compressed file.
|
||||
*/
|
||||
initialize(): Promise<void>;
|
||||
/**
|
||||
* Retrieves a list of all 7-zip archives within the compressed database directory.
|
||||
*/
|
||||
private getCompressedFiles;
|
||||
/**
|
||||
* Processes a compressed file by checking if the target directory is empty, and if so, decompressing the file into
|
||||
* the target directory.
|
||||
*/
|
||||
private processCompressedFile;
|
||||
/**
|
||||
* Checks if a directory exists and is empty.
|
||||
*/
|
||||
private isDirectoryEmpty;
|
||||
/**
|
||||
* Decompresses a 7-zip archive to the target directory.
|
||||
*/
|
||||
private decompressFile;
|
||||
}
|
@ -10,6 +10,7 @@ import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { Common, IQuestStatus } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||
import { IQuest, IQuestCondition, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IHideoutProduction } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
|
||||
import { IAcceptQuestRequestData } from "@spt/models/eft/quests/IAcceptQuestRequestData";
|
||||
import { ICompleteQuestRequestData } from "@spt/models/eft/quests/ICompleteQuestRequestData";
|
||||
@ -280,6 +281,13 @@ export declare class QuestHelper {
|
||||
* @param response Response to send back to client
|
||||
*/
|
||||
protected findAndAddHideoutProductionIdToProfile(pmcData: IPmcData, craftUnlockReward: IQuestReward, questDetails: IQuest, sessionID: string, response: IItemEventRouterResponse): void;
|
||||
/**
|
||||
* Find hideout craft id for the specified quest reward
|
||||
* @param craftUnlockReward
|
||||
* @param questDetails
|
||||
* @returns
|
||||
*/
|
||||
getRewardProductionMatch(craftUnlockReward: IQuestReward, questDetails: IQuest): IHideoutProduction[];
|
||||
/**
|
||||
* Get players money reward bonus from profile
|
||||
* @param pmcData player profile
|
||||
|
@ -1,6 +1,5 @@
|
||||
export interface IWorkoutData extends Record<string, any> {
|
||||
skills: IWorkoutSkills;
|
||||
effects: IWorkoutEffects;
|
||||
}
|
||||
export interface IWorkoutSkills {
|
||||
Common: IWorkoutSkillCommon[];
|
||||
|
@ -2,9 +2,11 @@ import { HideoutHelper } from "@spt/helpers/HideoutHelper";
|
||||
import { InventoryHelper } from "@spt/helpers/InventoryHelper";
|
||||
import { ItemHelper } from "@spt/helpers/ItemHelper";
|
||||
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||
import { QuestHelper } from "@spt/helpers/QuestHelper";
|
||||
import { TraderHelper } from "@spt/helpers/TraderHelper";
|
||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { IBonus, IHideoutSlot } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IQuest, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests";
|
||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||
import { IStageBonus } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
@ -36,9 +38,10 @@ export declare class ProfileFixerService {
|
||||
protected hashUtil: HashUtil;
|
||||
protected configServer: ConfigServer;
|
||||
protected cloner: ICloner;
|
||||
protected questHelper: QuestHelper;
|
||||
protected coreConfig: ICoreConfig;
|
||||
protected ragfairConfig: IRagfairConfig;
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner);
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner, questHelper: QuestHelper);
|
||||
/**
|
||||
* Find issues in the pmc profile data that may cause issues and fix them
|
||||
* @param pmcProfile profile to check and fix
|
||||
@ -71,6 +74,19 @@ export declare class ProfileFixerService {
|
||||
* @param pmcProfile Profile to remove dead quests from
|
||||
*/
|
||||
protected removeOrphanedQuests(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Verify that all quest production unlocks have been applied to the PMC Profile
|
||||
* @param pmcProfile The profile to validate quest productions for
|
||||
*/
|
||||
protected verifyQuestProductionUnlocks(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Validate that the given profile has the given quest reward production scheme unlocked, and add it if not
|
||||
* @param pmcProfile Profile to check
|
||||
* @param productionUnlockReward The quest reward to validate
|
||||
* @param questDetails The quest the reward belongs to
|
||||
* @returns
|
||||
*/
|
||||
protected verifyQuestProductionUnlock(pmcProfile: IPmcData, productionUnlockReward: IQuestReward, questDetails: IQuest): void;
|
||||
/**
|
||||
* If the profile has elite Hideout Managment skill, add the additional slots from globals
|
||||
* NOTE: This seems redundant, but we will leave it here just incase.
|
||||
|
38
TypeScript/1LogToConsole/types/utils/DatabaseDecompressionUtil.d.ts
vendored
Normal file
38
TypeScript/1LogToConsole/types/utils/DatabaseDecompressionUtil.d.ts
vendored
Normal file
@ -0,0 +1,38 @@
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
export declare class DatabaseDecompressionUtil {
|
||||
protected logger: ILogger;
|
||||
private compressedDir;
|
||||
private assetsDir;
|
||||
private compiled;
|
||||
constructor(logger: ILogger);
|
||||
/**
|
||||
* Checks if the application is running in a compiled environment. A simple check is done to see if the relative
|
||||
* assets directory exists. If it does not, the application is assumed to be running in a compiled environment. All
|
||||
* relative asset paths are different within a compiled environment, so this simple check is sufficient.
|
||||
*/
|
||||
private isCompiled;
|
||||
/**
|
||||
* Initializes the database compression utility.
|
||||
*
|
||||
* This method will decompress all 7-zip archives within the compressed database directory. The decompressed files
|
||||
* are placed in their respective directories based on the name and location of the compressed file.
|
||||
*/
|
||||
initialize(): Promise<void>;
|
||||
/**
|
||||
* Retrieves a list of all 7-zip archives within the compressed database directory.
|
||||
*/
|
||||
private getCompressedFiles;
|
||||
/**
|
||||
* Processes a compressed file by checking if the target directory is empty, and if so, decompressing the file into
|
||||
* the target directory.
|
||||
*/
|
||||
private processCompressedFile;
|
||||
/**
|
||||
* Checks if a directory exists and is empty.
|
||||
*/
|
||||
private isDirectoryEmpty;
|
||||
/**
|
||||
* Decompresses a 7-zip archive to the target directory.
|
||||
*/
|
||||
private decompressFile;
|
||||
}
|
@ -10,6 +10,7 @@ import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { Common, IQuestStatus } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||
import { IQuest, IQuestCondition, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IHideoutProduction } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
|
||||
import { IAcceptQuestRequestData } from "@spt/models/eft/quests/IAcceptQuestRequestData";
|
||||
import { ICompleteQuestRequestData } from "@spt/models/eft/quests/ICompleteQuestRequestData";
|
||||
@ -280,6 +281,13 @@ export declare class QuestHelper {
|
||||
* @param response Response to send back to client
|
||||
*/
|
||||
protected findAndAddHideoutProductionIdToProfile(pmcData: IPmcData, craftUnlockReward: IQuestReward, questDetails: IQuest, sessionID: string, response: IItemEventRouterResponse): void;
|
||||
/**
|
||||
* Find hideout craft id for the specified quest reward
|
||||
* @param craftUnlockReward
|
||||
* @param questDetails
|
||||
* @returns
|
||||
*/
|
||||
getRewardProductionMatch(craftUnlockReward: IQuestReward, questDetails: IQuest): IHideoutProduction[];
|
||||
/**
|
||||
* Get players money reward bonus from profile
|
||||
* @param pmcData player profile
|
||||
|
@ -1,6 +1,5 @@
|
||||
export interface IWorkoutData extends Record<string, any> {
|
||||
skills: IWorkoutSkills;
|
||||
effects: IWorkoutEffects;
|
||||
}
|
||||
export interface IWorkoutSkills {
|
||||
Common: IWorkoutSkillCommon[];
|
||||
|
@ -2,9 +2,11 @@ import { HideoutHelper } from "@spt/helpers/HideoutHelper";
|
||||
import { InventoryHelper } from "@spt/helpers/InventoryHelper";
|
||||
import { ItemHelper } from "@spt/helpers/ItemHelper";
|
||||
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||
import { QuestHelper } from "@spt/helpers/QuestHelper";
|
||||
import { TraderHelper } from "@spt/helpers/TraderHelper";
|
||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { IBonus, IHideoutSlot } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IQuest, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests";
|
||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||
import { IStageBonus } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
@ -36,9 +38,10 @@ export declare class ProfileFixerService {
|
||||
protected hashUtil: HashUtil;
|
||||
protected configServer: ConfigServer;
|
||||
protected cloner: ICloner;
|
||||
protected questHelper: QuestHelper;
|
||||
protected coreConfig: ICoreConfig;
|
||||
protected ragfairConfig: IRagfairConfig;
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner);
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner, questHelper: QuestHelper);
|
||||
/**
|
||||
* Find issues in the pmc profile data that may cause issues and fix them
|
||||
* @param pmcProfile profile to check and fix
|
||||
@ -71,6 +74,19 @@ export declare class ProfileFixerService {
|
||||
* @param pmcProfile Profile to remove dead quests from
|
||||
*/
|
||||
protected removeOrphanedQuests(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Verify that all quest production unlocks have been applied to the PMC Profile
|
||||
* @param pmcProfile The profile to validate quest productions for
|
||||
*/
|
||||
protected verifyQuestProductionUnlocks(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Validate that the given profile has the given quest reward production scheme unlocked, and add it if not
|
||||
* @param pmcProfile Profile to check
|
||||
* @param productionUnlockReward The quest reward to validate
|
||||
* @param questDetails The quest the reward belongs to
|
||||
* @returns
|
||||
*/
|
||||
protected verifyQuestProductionUnlock(pmcProfile: IPmcData, productionUnlockReward: IQuestReward, questDetails: IQuest): void;
|
||||
/**
|
||||
* If the profile has elite Hideout Managment skill, add the additional slots from globals
|
||||
* NOTE: This seems redundant, but we will leave it here just incase.
|
||||
|
38
TypeScript/20CustomChatBot/types/utils/DatabaseDecompressionUtil.d.ts
vendored
Normal file
38
TypeScript/20CustomChatBot/types/utils/DatabaseDecompressionUtil.d.ts
vendored
Normal file
@ -0,0 +1,38 @@
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
export declare class DatabaseDecompressionUtil {
|
||||
protected logger: ILogger;
|
||||
private compressedDir;
|
||||
private assetsDir;
|
||||
private compiled;
|
||||
constructor(logger: ILogger);
|
||||
/**
|
||||
* Checks if the application is running in a compiled environment. A simple check is done to see if the relative
|
||||
* assets directory exists. If it does not, the application is assumed to be running in a compiled environment. All
|
||||
* relative asset paths are different within a compiled environment, so this simple check is sufficient.
|
||||
*/
|
||||
private isCompiled;
|
||||
/**
|
||||
* Initializes the database compression utility.
|
||||
*
|
||||
* This method will decompress all 7-zip archives within the compressed database directory. The decompressed files
|
||||
* are placed in their respective directories based on the name and location of the compressed file.
|
||||
*/
|
||||
initialize(): Promise<void>;
|
||||
/**
|
||||
* Retrieves a list of all 7-zip archives within the compressed database directory.
|
||||
*/
|
||||
private getCompressedFiles;
|
||||
/**
|
||||
* Processes a compressed file by checking if the target directory is empty, and if so, decompressing the file into
|
||||
* the target directory.
|
||||
*/
|
||||
private processCompressedFile;
|
||||
/**
|
||||
* Checks if a directory exists and is empty.
|
||||
*/
|
||||
private isDirectoryEmpty;
|
||||
/**
|
||||
* Decompresses a 7-zip archive to the target directory.
|
||||
*/
|
||||
private decompressFile;
|
||||
}
|
@ -10,6 +10,7 @@ import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { Common, IQuestStatus } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||
import { IQuest, IQuestCondition, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IHideoutProduction } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
|
||||
import { IAcceptQuestRequestData } from "@spt/models/eft/quests/IAcceptQuestRequestData";
|
||||
import { ICompleteQuestRequestData } from "@spt/models/eft/quests/ICompleteQuestRequestData";
|
||||
@ -280,6 +281,13 @@ export declare class QuestHelper {
|
||||
* @param response Response to send back to client
|
||||
*/
|
||||
protected findAndAddHideoutProductionIdToProfile(pmcData: IPmcData, craftUnlockReward: IQuestReward, questDetails: IQuest, sessionID: string, response: IItemEventRouterResponse): void;
|
||||
/**
|
||||
* Find hideout craft id for the specified quest reward
|
||||
* @param craftUnlockReward
|
||||
* @param questDetails
|
||||
* @returns
|
||||
*/
|
||||
getRewardProductionMatch(craftUnlockReward: IQuestReward, questDetails: IQuest): IHideoutProduction[];
|
||||
/**
|
||||
* Get players money reward bonus from profile
|
||||
* @param pmcData player profile
|
||||
|
@ -1,6 +1,5 @@
|
||||
export interface IWorkoutData extends Record<string, any> {
|
||||
skills: IWorkoutSkills;
|
||||
effects: IWorkoutEffects;
|
||||
}
|
||||
export interface IWorkoutSkills {
|
||||
Common: IWorkoutSkillCommon[];
|
||||
|
@ -2,9 +2,11 @@ import { HideoutHelper } from "@spt/helpers/HideoutHelper";
|
||||
import { InventoryHelper } from "@spt/helpers/InventoryHelper";
|
||||
import { ItemHelper } from "@spt/helpers/ItemHelper";
|
||||
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||
import { QuestHelper } from "@spt/helpers/QuestHelper";
|
||||
import { TraderHelper } from "@spt/helpers/TraderHelper";
|
||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { IBonus, IHideoutSlot } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IQuest, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests";
|
||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||
import { IStageBonus } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
@ -36,9 +38,10 @@ export declare class ProfileFixerService {
|
||||
protected hashUtil: HashUtil;
|
||||
protected configServer: ConfigServer;
|
||||
protected cloner: ICloner;
|
||||
protected questHelper: QuestHelper;
|
||||
protected coreConfig: ICoreConfig;
|
||||
protected ragfairConfig: IRagfairConfig;
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner);
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner, questHelper: QuestHelper);
|
||||
/**
|
||||
* Find issues in the pmc profile data that may cause issues and fix them
|
||||
* @param pmcProfile profile to check and fix
|
||||
@ -71,6 +74,19 @@ export declare class ProfileFixerService {
|
||||
* @param pmcProfile Profile to remove dead quests from
|
||||
*/
|
||||
protected removeOrphanedQuests(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Verify that all quest production unlocks have been applied to the PMC Profile
|
||||
* @param pmcProfile The profile to validate quest productions for
|
||||
*/
|
||||
protected verifyQuestProductionUnlocks(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Validate that the given profile has the given quest reward production scheme unlocked, and add it if not
|
||||
* @param pmcProfile Profile to check
|
||||
* @param productionUnlockReward The quest reward to validate
|
||||
* @param questDetails The quest the reward belongs to
|
||||
* @returns
|
||||
*/
|
||||
protected verifyQuestProductionUnlock(pmcProfile: IPmcData, productionUnlockReward: IQuestReward, questDetails: IQuest): void;
|
||||
/**
|
||||
* If the profile has elite Hideout Managment skill, add the additional slots from globals
|
||||
* NOTE: This seems redundant, but we will leave it here just incase.
|
||||
|
38
TypeScript/21CustomCommandoCommand/types/utils/DatabaseDecompressionUtil.d.ts
vendored
Normal file
38
TypeScript/21CustomCommandoCommand/types/utils/DatabaseDecompressionUtil.d.ts
vendored
Normal file
@ -0,0 +1,38 @@
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
export declare class DatabaseDecompressionUtil {
|
||||
protected logger: ILogger;
|
||||
private compressedDir;
|
||||
private assetsDir;
|
||||
private compiled;
|
||||
constructor(logger: ILogger);
|
||||
/**
|
||||
* Checks if the application is running in a compiled environment. A simple check is done to see if the relative
|
||||
* assets directory exists. If it does not, the application is assumed to be running in a compiled environment. All
|
||||
* relative asset paths are different within a compiled environment, so this simple check is sufficient.
|
||||
*/
|
||||
private isCompiled;
|
||||
/**
|
||||
* Initializes the database compression utility.
|
||||
*
|
||||
* This method will decompress all 7-zip archives within the compressed database directory. The decompressed files
|
||||
* are placed in their respective directories based on the name and location of the compressed file.
|
||||
*/
|
||||
initialize(): Promise<void>;
|
||||
/**
|
||||
* Retrieves a list of all 7-zip archives within the compressed database directory.
|
||||
*/
|
||||
private getCompressedFiles;
|
||||
/**
|
||||
* Processes a compressed file by checking if the target directory is empty, and if so, decompressing the file into
|
||||
* the target directory.
|
||||
*/
|
||||
private processCompressedFile;
|
||||
/**
|
||||
* Checks if a directory exists and is empty.
|
||||
*/
|
||||
private isDirectoryEmpty;
|
||||
/**
|
||||
* Decompresses a 7-zip archive to the target directory.
|
||||
*/
|
||||
private decompressFile;
|
||||
}
|
@ -10,6 +10,7 @@ import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { Common, IQuestStatus } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||
import { IQuest, IQuestCondition, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IHideoutProduction } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
|
||||
import { IAcceptQuestRequestData } from "@spt/models/eft/quests/IAcceptQuestRequestData";
|
||||
import { ICompleteQuestRequestData } from "@spt/models/eft/quests/ICompleteQuestRequestData";
|
||||
@ -280,6 +281,13 @@ export declare class QuestHelper {
|
||||
* @param response Response to send back to client
|
||||
*/
|
||||
protected findAndAddHideoutProductionIdToProfile(pmcData: IPmcData, craftUnlockReward: IQuestReward, questDetails: IQuest, sessionID: string, response: IItemEventRouterResponse): void;
|
||||
/**
|
||||
* Find hideout craft id for the specified quest reward
|
||||
* @param craftUnlockReward
|
||||
* @param questDetails
|
||||
* @returns
|
||||
*/
|
||||
getRewardProductionMatch(craftUnlockReward: IQuestReward, questDetails: IQuest): IHideoutProduction[];
|
||||
/**
|
||||
* Get players money reward bonus from profile
|
||||
* @param pmcData player profile
|
||||
|
@ -1,6 +1,5 @@
|
||||
export interface IWorkoutData extends Record<string, any> {
|
||||
skills: IWorkoutSkills;
|
||||
effects: IWorkoutEffects;
|
||||
}
|
||||
export interface IWorkoutSkills {
|
||||
Common: IWorkoutSkillCommon[];
|
||||
|
@ -2,9 +2,11 @@ import { HideoutHelper } from "@spt/helpers/HideoutHelper";
|
||||
import { InventoryHelper } from "@spt/helpers/InventoryHelper";
|
||||
import { ItemHelper } from "@spt/helpers/ItemHelper";
|
||||
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||
import { QuestHelper } from "@spt/helpers/QuestHelper";
|
||||
import { TraderHelper } from "@spt/helpers/TraderHelper";
|
||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { IBonus, IHideoutSlot } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IQuest, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests";
|
||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||
import { IStageBonus } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
@ -36,9 +38,10 @@ export declare class ProfileFixerService {
|
||||
protected hashUtil: HashUtil;
|
||||
protected configServer: ConfigServer;
|
||||
protected cloner: ICloner;
|
||||
protected questHelper: QuestHelper;
|
||||
protected coreConfig: ICoreConfig;
|
||||
protected ragfairConfig: IRagfairConfig;
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner);
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner, questHelper: QuestHelper);
|
||||
/**
|
||||
* Find issues in the pmc profile data that may cause issues and fix them
|
||||
* @param pmcProfile profile to check and fix
|
||||
@ -71,6 +74,19 @@ export declare class ProfileFixerService {
|
||||
* @param pmcProfile Profile to remove dead quests from
|
||||
*/
|
||||
protected removeOrphanedQuests(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Verify that all quest production unlocks have been applied to the PMC Profile
|
||||
* @param pmcProfile The profile to validate quest productions for
|
||||
*/
|
||||
protected verifyQuestProductionUnlocks(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Validate that the given profile has the given quest reward production scheme unlocked, and add it if not
|
||||
* @param pmcProfile Profile to check
|
||||
* @param productionUnlockReward The quest reward to validate
|
||||
* @param questDetails The quest the reward belongs to
|
||||
* @returns
|
||||
*/
|
||||
protected verifyQuestProductionUnlock(pmcProfile: IPmcData, productionUnlockReward: IQuestReward, questDetails: IQuest): void;
|
||||
/**
|
||||
* If the profile has elite Hideout Managment skill, add the additional slots from globals
|
||||
* NOTE: This seems redundant, but we will leave it here just incase.
|
||||
|
38
TypeScript/22CustomSptCommand/types/utils/DatabaseDecompressionUtil.d.ts
vendored
Normal file
38
TypeScript/22CustomSptCommand/types/utils/DatabaseDecompressionUtil.d.ts
vendored
Normal file
@ -0,0 +1,38 @@
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
export declare class DatabaseDecompressionUtil {
|
||||
protected logger: ILogger;
|
||||
private compressedDir;
|
||||
private assetsDir;
|
||||
private compiled;
|
||||
constructor(logger: ILogger);
|
||||
/**
|
||||
* Checks if the application is running in a compiled environment. A simple check is done to see if the relative
|
||||
* assets directory exists. If it does not, the application is assumed to be running in a compiled environment. All
|
||||
* relative asset paths are different within a compiled environment, so this simple check is sufficient.
|
||||
*/
|
||||
private isCompiled;
|
||||
/**
|
||||
* Initializes the database compression utility.
|
||||
*
|
||||
* This method will decompress all 7-zip archives within the compressed database directory. The decompressed files
|
||||
* are placed in their respective directories based on the name and location of the compressed file.
|
||||
*/
|
||||
initialize(): Promise<void>;
|
||||
/**
|
||||
* Retrieves a list of all 7-zip archives within the compressed database directory.
|
||||
*/
|
||||
private getCompressedFiles;
|
||||
/**
|
||||
* Processes a compressed file by checking if the target directory is empty, and if so, decompressing the file into
|
||||
* the target directory.
|
||||
*/
|
||||
private processCompressedFile;
|
||||
/**
|
||||
* Checks if a directory exists and is empty.
|
||||
*/
|
||||
private isDirectoryEmpty;
|
||||
/**
|
||||
* Decompresses a 7-zip archive to the target directory.
|
||||
*/
|
||||
private decompressFile;
|
||||
}
|
@ -10,6 +10,7 @@ import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { Common, IQuestStatus } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||
import { IQuest, IQuestCondition, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IHideoutProduction } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
|
||||
import { IAcceptQuestRequestData } from "@spt/models/eft/quests/IAcceptQuestRequestData";
|
||||
import { ICompleteQuestRequestData } from "@spt/models/eft/quests/ICompleteQuestRequestData";
|
||||
@ -280,6 +281,13 @@ export declare class QuestHelper {
|
||||
* @param response Response to send back to client
|
||||
*/
|
||||
protected findAndAddHideoutProductionIdToProfile(pmcData: IPmcData, craftUnlockReward: IQuestReward, questDetails: IQuest, sessionID: string, response: IItemEventRouterResponse): void;
|
||||
/**
|
||||
* Find hideout craft id for the specified quest reward
|
||||
* @param craftUnlockReward
|
||||
* @param questDetails
|
||||
* @returns
|
||||
*/
|
||||
getRewardProductionMatch(craftUnlockReward: IQuestReward, questDetails: IQuest): IHideoutProduction[];
|
||||
/**
|
||||
* Get players money reward bonus from profile
|
||||
* @param pmcData player profile
|
||||
|
@ -1,6 +1,5 @@
|
||||
export interface IWorkoutData extends Record<string, any> {
|
||||
skills: IWorkoutSkills;
|
||||
effects: IWorkoutEffects;
|
||||
}
|
||||
export interface IWorkoutSkills {
|
||||
Common: IWorkoutSkillCommon[];
|
||||
|
@ -2,9 +2,11 @@ import { HideoutHelper } from "@spt/helpers/HideoutHelper";
|
||||
import { InventoryHelper } from "@spt/helpers/InventoryHelper";
|
||||
import { ItemHelper } from "@spt/helpers/ItemHelper";
|
||||
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||
import { QuestHelper } from "@spt/helpers/QuestHelper";
|
||||
import { TraderHelper } from "@spt/helpers/TraderHelper";
|
||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { IBonus, IHideoutSlot } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IQuest, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests";
|
||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||
import { IStageBonus } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
@ -36,9 +38,10 @@ export declare class ProfileFixerService {
|
||||
protected hashUtil: HashUtil;
|
||||
protected configServer: ConfigServer;
|
||||
protected cloner: ICloner;
|
||||
protected questHelper: QuestHelper;
|
||||
protected coreConfig: ICoreConfig;
|
||||
protected ragfairConfig: IRagfairConfig;
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner);
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner, questHelper: QuestHelper);
|
||||
/**
|
||||
* Find issues in the pmc profile data that may cause issues and fix them
|
||||
* @param pmcProfile profile to check and fix
|
||||
@ -71,6 +74,19 @@ export declare class ProfileFixerService {
|
||||
* @param pmcProfile Profile to remove dead quests from
|
||||
*/
|
||||
protected removeOrphanedQuests(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Verify that all quest production unlocks have been applied to the PMC Profile
|
||||
* @param pmcProfile The profile to validate quest productions for
|
||||
*/
|
||||
protected verifyQuestProductionUnlocks(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Validate that the given profile has the given quest reward production scheme unlocked, and add it if not
|
||||
* @param pmcProfile Profile to check
|
||||
* @param productionUnlockReward The quest reward to validate
|
||||
* @param questDetails The quest the reward belongs to
|
||||
* @returns
|
||||
*/
|
||||
protected verifyQuestProductionUnlock(pmcProfile: IPmcData, productionUnlockReward: IQuestReward, questDetails: IQuest): void;
|
||||
/**
|
||||
* If the profile has elite Hideout Managment skill, add the additional slots from globals
|
||||
* NOTE: This seems redundant, but we will leave it here just incase.
|
||||
|
38
TypeScript/23CustomAbstractChatBot/types/utils/DatabaseDecompressionUtil.d.ts
vendored
Normal file
38
TypeScript/23CustomAbstractChatBot/types/utils/DatabaseDecompressionUtil.d.ts
vendored
Normal file
@ -0,0 +1,38 @@
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
export declare class DatabaseDecompressionUtil {
|
||||
protected logger: ILogger;
|
||||
private compressedDir;
|
||||
private assetsDir;
|
||||
private compiled;
|
||||
constructor(logger: ILogger);
|
||||
/**
|
||||
* Checks if the application is running in a compiled environment. A simple check is done to see if the relative
|
||||
* assets directory exists. If it does not, the application is assumed to be running in a compiled environment. All
|
||||
* relative asset paths are different within a compiled environment, so this simple check is sufficient.
|
||||
*/
|
||||
private isCompiled;
|
||||
/**
|
||||
* Initializes the database compression utility.
|
||||
*
|
||||
* This method will decompress all 7-zip archives within the compressed database directory. The decompressed files
|
||||
* are placed in their respective directories based on the name and location of the compressed file.
|
||||
*/
|
||||
initialize(): Promise<void>;
|
||||
/**
|
||||
* Retrieves a list of all 7-zip archives within the compressed database directory.
|
||||
*/
|
||||
private getCompressedFiles;
|
||||
/**
|
||||
* Processes a compressed file by checking if the target directory is empty, and if so, decompressing the file into
|
||||
* the target directory.
|
||||
*/
|
||||
private processCompressedFile;
|
||||
/**
|
||||
* Checks if a directory exists and is empty.
|
||||
*/
|
||||
private isDirectoryEmpty;
|
||||
/**
|
||||
* Decompresses a 7-zip archive to the target directory.
|
||||
*/
|
||||
private decompressFile;
|
||||
}
|
@ -10,6 +10,7 @@ import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { Common, IQuestStatus } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||
import { IQuest, IQuestCondition, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IHideoutProduction } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
|
||||
import { IAcceptQuestRequestData } from "@spt/models/eft/quests/IAcceptQuestRequestData";
|
||||
import { ICompleteQuestRequestData } from "@spt/models/eft/quests/ICompleteQuestRequestData";
|
||||
@ -280,6 +281,13 @@ export declare class QuestHelper {
|
||||
* @param response Response to send back to client
|
||||
*/
|
||||
protected findAndAddHideoutProductionIdToProfile(pmcData: IPmcData, craftUnlockReward: IQuestReward, questDetails: IQuest, sessionID: string, response: IItemEventRouterResponse): void;
|
||||
/**
|
||||
* Find hideout craft id for the specified quest reward
|
||||
* @param craftUnlockReward
|
||||
* @param questDetails
|
||||
* @returns
|
||||
*/
|
||||
getRewardProductionMatch(craftUnlockReward: IQuestReward, questDetails: IQuest): IHideoutProduction[];
|
||||
/**
|
||||
* Get players money reward bonus from profile
|
||||
* @param pmcData player profile
|
||||
|
@ -1,6 +1,5 @@
|
||||
export interface IWorkoutData extends Record<string, any> {
|
||||
skills: IWorkoutSkills;
|
||||
effects: IWorkoutEffects;
|
||||
}
|
||||
export interface IWorkoutSkills {
|
||||
Common: IWorkoutSkillCommon[];
|
||||
|
@ -2,9 +2,11 @@ import { HideoutHelper } from "@spt/helpers/HideoutHelper";
|
||||
import { InventoryHelper } from "@spt/helpers/InventoryHelper";
|
||||
import { ItemHelper } from "@spt/helpers/ItemHelper";
|
||||
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||
import { QuestHelper } from "@spt/helpers/QuestHelper";
|
||||
import { TraderHelper } from "@spt/helpers/TraderHelper";
|
||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { IBonus, IHideoutSlot } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IQuest, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests";
|
||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||
import { IStageBonus } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
@ -36,9 +38,10 @@ export declare class ProfileFixerService {
|
||||
protected hashUtil: HashUtil;
|
||||
protected configServer: ConfigServer;
|
||||
protected cloner: ICloner;
|
||||
protected questHelper: QuestHelper;
|
||||
protected coreConfig: ICoreConfig;
|
||||
protected ragfairConfig: IRagfairConfig;
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner);
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner, questHelper: QuestHelper);
|
||||
/**
|
||||
* Find issues in the pmc profile data that may cause issues and fix them
|
||||
* @param pmcProfile profile to check and fix
|
||||
@ -71,6 +74,19 @@ export declare class ProfileFixerService {
|
||||
* @param pmcProfile Profile to remove dead quests from
|
||||
*/
|
||||
protected removeOrphanedQuests(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Verify that all quest production unlocks have been applied to the PMC Profile
|
||||
* @param pmcProfile The profile to validate quest productions for
|
||||
*/
|
||||
protected verifyQuestProductionUnlocks(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Validate that the given profile has the given quest reward production scheme unlocked, and add it if not
|
||||
* @param pmcProfile Profile to check
|
||||
* @param productionUnlockReward The quest reward to validate
|
||||
* @param questDetails The quest the reward belongs to
|
||||
* @returns
|
||||
*/
|
||||
protected verifyQuestProductionUnlock(pmcProfile: IPmcData, productionUnlockReward: IQuestReward, questDetails: IQuest): void;
|
||||
/**
|
||||
* If the profile has elite Hideout Managment skill, add the additional slots from globals
|
||||
* NOTE: This seems redundant, but we will leave it here just incase.
|
||||
|
38
TypeScript/24WebSocket/types/utils/DatabaseDecompressionUtil.d.ts
vendored
Normal file
38
TypeScript/24WebSocket/types/utils/DatabaseDecompressionUtil.d.ts
vendored
Normal file
@ -0,0 +1,38 @@
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
export declare class DatabaseDecompressionUtil {
|
||||
protected logger: ILogger;
|
||||
private compressedDir;
|
||||
private assetsDir;
|
||||
private compiled;
|
||||
constructor(logger: ILogger);
|
||||
/**
|
||||
* Checks if the application is running in a compiled environment. A simple check is done to see if the relative
|
||||
* assets directory exists. If it does not, the application is assumed to be running in a compiled environment. All
|
||||
* relative asset paths are different within a compiled environment, so this simple check is sufficient.
|
||||
*/
|
||||
private isCompiled;
|
||||
/**
|
||||
* Initializes the database compression utility.
|
||||
*
|
||||
* This method will decompress all 7-zip archives within the compressed database directory. The decompressed files
|
||||
* are placed in their respective directories based on the name and location of the compressed file.
|
||||
*/
|
||||
initialize(): Promise<void>;
|
||||
/**
|
||||
* Retrieves a list of all 7-zip archives within the compressed database directory.
|
||||
*/
|
||||
private getCompressedFiles;
|
||||
/**
|
||||
* Processes a compressed file by checking if the target directory is empty, and if so, decompressing the file into
|
||||
* the target directory.
|
||||
*/
|
||||
private processCompressedFile;
|
||||
/**
|
||||
* Checks if a directory exists and is empty.
|
||||
*/
|
||||
private isDirectoryEmpty;
|
||||
/**
|
||||
* Decompresses a 7-zip archive to the target directory.
|
||||
*/
|
||||
private decompressFile;
|
||||
}
|
@ -10,6 +10,7 @@ import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { Common, IQuestStatus } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||
import { IQuest, IQuestCondition, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IHideoutProduction } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
|
||||
import { IAcceptQuestRequestData } from "@spt/models/eft/quests/IAcceptQuestRequestData";
|
||||
import { ICompleteQuestRequestData } from "@spt/models/eft/quests/ICompleteQuestRequestData";
|
||||
@ -280,6 +281,13 @@ export declare class QuestHelper {
|
||||
* @param response Response to send back to client
|
||||
*/
|
||||
protected findAndAddHideoutProductionIdToProfile(pmcData: IPmcData, craftUnlockReward: IQuestReward, questDetails: IQuest, sessionID: string, response: IItemEventRouterResponse): void;
|
||||
/**
|
||||
* Find hideout craft id for the specified quest reward
|
||||
* @param craftUnlockReward
|
||||
* @param questDetails
|
||||
* @returns
|
||||
*/
|
||||
getRewardProductionMatch(craftUnlockReward: IQuestReward, questDetails: IQuest): IHideoutProduction[];
|
||||
/**
|
||||
* Get players money reward bonus from profile
|
||||
* @param pmcData player profile
|
||||
|
@ -1,6 +1,5 @@
|
||||
export interface IWorkoutData extends Record<string, any> {
|
||||
skills: IWorkoutSkills;
|
||||
effects: IWorkoutEffects;
|
||||
}
|
||||
export interface IWorkoutSkills {
|
||||
Common: IWorkoutSkillCommon[];
|
||||
|
@ -2,9 +2,11 @@ import { HideoutHelper } from "@spt/helpers/HideoutHelper";
|
||||
import { InventoryHelper } from "@spt/helpers/InventoryHelper";
|
||||
import { ItemHelper } from "@spt/helpers/ItemHelper";
|
||||
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||
import { QuestHelper } from "@spt/helpers/QuestHelper";
|
||||
import { TraderHelper } from "@spt/helpers/TraderHelper";
|
||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { IBonus, IHideoutSlot } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IQuest, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests";
|
||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||
import { IStageBonus } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
@ -36,9 +38,10 @@ export declare class ProfileFixerService {
|
||||
protected hashUtil: HashUtil;
|
||||
protected configServer: ConfigServer;
|
||||
protected cloner: ICloner;
|
||||
protected questHelper: QuestHelper;
|
||||
protected coreConfig: ICoreConfig;
|
||||
protected ragfairConfig: IRagfairConfig;
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner);
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner, questHelper: QuestHelper);
|
||||
/**
|
||||
* Find issues in the pmc profile data that may cause issues and fix them
|
||||
* @param pmcProfile profile to check and fix
|
||||
@ -71,6 +74,19 @@ export declare class ProfileFixerService {
|
||||
* @param pmcProfile Profile to remove dead quests from
|
||||
*/
|
||||
protected removeOrphanedQuests(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Verify that all quest production unlocks have been applied to the PMC Profile
|
||||
* @param pmcProfile The profile to validate quest productions for
|
||||
*/
|
||||
protected verifyQuestProductionUnlocks(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Validate that the given profile has the given quest reward production scheme unlocked, and add it if not
|
||||
* @param pmcProfile Profile to check
|
||||
* @param productionUnlockReward The quest reward to validate
|
||||
* @param questDetails The quest the reward belongs to
|
||||
* @returns
|
||||
*/
|
||||
protected verifyQuestProductionUnlock(pmcProfile: IPmcData, productionUnlockReward: IQuestReward, questDetails: IQuest): void;
|
||||
/**
|
||||
* If the profile has elite Hideout Managment skill, add the additional slots from globals
|
||||
* NOTE: This seems redundant, but we will leave it here just incase.
|
||||
|
38
TypeScript/2EditDatabase/types/utils/DatabaseDecompressionUtil.d.ts
vendored
Normal file
38
TypeScript/2EditDatabase/types/utils/DatabaseDecompressionUtil.d.ts
vendored
Normal file
@ -0,0 +1,38 @@
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
export declare class DatabaseDecompressionUtil {
|
||||
protected logger: ILogger;
|
||||
private compressedDir;
|
||||
private assetsDir;
|
||||
private compiled;
|
||||
constructor(logger: ILogger);
|
||||
/**
|
||||
* Checks if the application is running in a compiled environment. A simple check is done to see if the relative
|
||||
* assets directory exists. If it does not, the application is assumed to be running in a compiled environment. All
|
||||
* relative asset paths are different within a compiled environment, so this simple check is sufficient.
|
||||
*/
|
||||
private isCompiled;
|
||||
/**
|
||||
* Initializes the database compression utility.
|
||||
*
|
||||
* This method will decompress all 7-zip archives within the compressed database directory. The decompressed files
|
||||
* are placed in their respective directories based on the name and location of the compressed file.
|
||||
*/
|
||||
initialize(): Promise<void>;
|
||||
/**
|
||||
* Retrieves a list of all 7-zip archives within the compressed database directory.
|
||||
*/
|
||||
private getCompressedFiles;
|
||||
/**
|
||||
* Processes a compressed file by checking if the target directory is empty, and if so, decompressing the file into
|
||||
* the target directory.
|
||||
*/
|
||||
private processCompressedFile;
|
||||
/**
|
||||
* Checks if a directory exists and is empty.
|
||||
*/
|
||||
private isDirectoryEmpty;
|
||||
/**
|
||||
* Decompresses a 7-zip archive to the target directory.
|
||||
*/
|
||||
private decompressFile;
|
||||
}
|
@ -10,6 +10,7 @@ import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { Common, IQuestStatus } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||
import { IQuest, IQuestCondition, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IHideoutProduction } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
|
||||
import { IAcceptQuestRequestData } from "@spt/models/eft/quests/IAcceptQuestRequestData";
|
||||
import { ICompleteQuestRequestData } from "@spt/models/eft/quests/ICompleteQuestRequestData";
|
||||
@ -280,6 +281,13 @@ export declare class QuestHelper {
|
||||
* @param response Response to send back to client
|
||||
*/
|
||||
protected findAndAddHideoutProductionIdToProfile(pmcData: IPmcData, craftUnlockReward: IQuestReward, questDetails: IQuest, sessionID: string, response: IItemEventRouterResponse): void;
|
||||
/**
|
||||
* Find hideout craft id for the specified quest reward
|
||||
* @param craftUnlockReward
|
||||
* @param questDetails
|
||||
* @returns
|
||||
*/
|
||||
getRewardProductionMatch(craftUnlockReward: IQuestReward, questDetails: IQuest): IHideoutProduction[];
|
||||
/**
|
||||
* Get players money reward bonus from profile
|
||||
* @param pmcData player profile
|
||||
|
@ -1,6 +1,5 @@
|
||||
export interface IWorkoutData extends Record<string, any> {
|
||||
skills: IWorkoutSkills;
|
||||
effects: IWorkoutEffects;
|
||||
}
|
||||
export interface IWorkoutSkills {
|
||||
Common: IWorkoutSkillCommon[];
|
||||
|
@ -2,9 +2,11 @@ import { HideoutHelper } from "@spt/helpers/HideoutHelper";
|
||||
import { InventoryHelper } from "@spt/helpers/InventoryHelper";
|
||||
import { ItemHelper } from "@spt/helpers/ItemHelper";
|
||||
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||
import { QuestHelper } from "@spt/helpers/QuestHelper";
|
||||
import { TraderHelper } from "@spt/helpers/TraderHelper";
|
||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { IBonus, IHideoutSlot } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IQuest, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests";
|
||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||
import { IStageBonus } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
@ -36,9 +38,10 @@ export declare class ProfileFixerService {
|
||||
protected hashUtil: HashUtil;
|
||||
protected configServer: ConfigServer;
|
||||
protected cloner: ICloner;
|
||||
protected questHelper: QuestHelper;
|
||||
protected coreConfig: ICoreConfig;
|
||||
protected ragfairConfig: IRagfairConfig;
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner);
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner, questHelper: QuestHelper);
|
||||
/**
|
||||
* Find issues in the pmc profile data that may cause issues and fix them
|
||||
* @param pmcProfile profile to check and fix
|
||||
@ -71,6 +74,19 @@ export declare class ProfileFixerService {
|
||||
* @param pmcProfile Profile to remove dead quests from
|
||||
*/
|
||||
protected removeOrphanedQuests(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Verify that all quest production unlocks have been applied to the PMC Profile
|
||||
* @param pmcProfile The profile to validate quest productions for
|
||||
*/
|
||||
protected verifyQuestProductionUnlocks(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Validate that the given profile has the given quest reward production scheme unlocked, and add it if not
|
||||
* @param pmcProfile Profile to check
|
||||
* @param productionUnlockReward The quest reward to validate
|
||||
* @param questDetails The quest the reward belongs to
|
||||
* @returns
|
||||
*/
|
||||
protected verifyQuestProductionUnlock(pmcProfile: IPmcData, productionUnlockReward: IQuestReward, questDetails: IQuest): void;
|
||||
/**
|
||||
* If the profile has elite Hideout Managment skill, add the additional slots from globals
|
||||
* NOTE: This seems redundant, but we will leave it here just incase.
|
||||
|
38
TypeScript/3GetSptConfigFile/types/utils/DatabaseDecompressionUtil.d.ts
vendored
Normal file
38
TypeScript/3GetSptConfigFile/types/utils/DatabaseDecompressionUtil.d.ts
vendored
Normal file
@ -0,0 +1,38 @@
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
export declare class DatabaseDecompressionUtil {
|
||||
protected logger: ILogger;
|
||||
private compressedDir;
|
||||
private assetsDir;
|
||||
private compiled;
|
||||
constructor(logger: ILogger);
|
||||
/**
|
||||
* Checks if the application is running in a compiled environment. A simple check is done to see if the relative
|
||||
* assets directory exists. If it does not, the application is assumed to be running in a compiled environment. All
|
||||
* relative asset paths are different within a compiled environment, so this simple check is sufficient.
|
||||
*/
|
||||
private isCompiled;
|
||||
/**
|
||||
* Initializes the database compression utility.
|
||||
*
|
||||
* This method will decompress all 7-zip archives within the compressed database directory. The decompressed files
|
||||
* are placed in their respective directories based on the name and location of the compressed file.
|
||||
*/
|
||||
initialize(): Promise<void>;
|
||||
/**
|
||||
* Retrieves a list of all 7-zip archives within the compressed database directory.
|
||||
*/
|
||||
private getCompressedFiles;
|
||||
/**
|
||||
* Processes a compressed file by checking if the target directory is empty, and if so, decompressing the file into
|
||||
* the target directory.
|
||||
*/
|
||||
private processCompressedFile;
|
||||
/**
|
||||
* Checks if a directory exists and is empty.
|
||||
*/
|
||||
private isDirectoryEmpty;
|
||||
/**
|
||||
* Decompresses a 7-zip archive to the target directory.
|
||||
*/
|
||||
private decompressFile;
|
||||
}
|
@ -10,6 +10,7 @@ import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { Common, IQuestStatus } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||
import { IQuest, IQuestCondition, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IHideoutProduction } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
|
||||
import { IAcceptQuestRequestData } from "@spt/models/eft/quests/IAcceptQuestRequestData";
|
||||
import { ICompleteQuestRequestData } from "@spt/models/eft/quests/ICompleteQuestRequestData";
|
||||
@ -280,6 +281,13 @@ export declare class QuestHelper {
|
||||
* @param response Response to send back to client
|
||||
*/
|
||||
protected findAndAddHideoutProductionIdToProfile(pmcData: IPmcData, craftUnlockReward: IQuestReward, questDetails: IQuest, sessionID: string, response: IItemEventRouterResponse): void;
|
||||
/**
|
||||
* Find hideout craft id for the specified quest reward
|
||||
* @param craftUnlockReward
|
||||
* @param questDetails
|
||||
* @returns
|
||||
*/
|
||||
getRewardProductionMatch(craftUnlockReward: IQuestReward, questDetails: IQuest): IHideoutProduction[];
|
||||
/**
|
||||
* Get players money reward bonus from profile
|
||||
* @param pmcData player profile
|
||||
|
@ -1,6 +1,5 @@
|
||||
export interface IWorkoutData extends Record<string, any> {
|
||||
skills: IWorkoutSkills;
|
||||
effects: IWorkoutEffects;
|
||||
}
|
||||
export interface IWorkoutSkills {
|
||||
Common: IWorkoutSkillCommon[];
|
||||
|
@ -2,9 +2,11 @@ import { HideoutHelper } from "@spt/helpers/HideoutHelper";
|
||||
import { InventoryHelper } from "@spt/helpers/InventoryHelper";
|
||||
import { ItemHelper } from "@spt/helpers/ItemHelper";
|
||||
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||
import { QuestHelper } from "@spt/helpers/QuestHelper";
|
||||
import { TraderHelper } from "@spt/helpers/TraderHelper";
|
||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { IBonus, IHideoutSlot } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IQuest, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests";
|
||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||
import { IStageBonus } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
@ -36,9 +38,10 @@ export declare class ProfileFixerService {
|
||||
protected hashUtil: HashUtil;
|
||||
protected configServer: ConfigServer;
|
||||
protected cloner: ICloner;
|
||||
protected questHelper: QuestHelper;
|
||||
protected coreConfig: ICoreConfig;
|
||||
protected ragfairConfig: IRagfairConfig;
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner);
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner, questHelper: QuestHelper);
|
||||
/**
|
||||
* Find issues in the pmc profile data that may cause issues and fix them
|
||||
* @param pmcProfile profile to check and fix
|
||||
@ -71,6 +74,19 @@ export declare class ProfileFixerService {
|
||||
* @param pmcProfile Profile to remove dead quests from
|
||||
*/
|
||||
protected removeOrphanedQuests(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Verify that all quest production unlocks have been applied to the PMC Profile
|
||||
* @param pmcProfile The profile to validate quest productions for
|
||||
*/
|
||||
protected verifyQuestProductionUnlocks(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Validate that the given profile has the given quest reward production scheme unlocked, and add it if not
|
||||
* @param pmcProfile Profile to check
|
||||
* @param productionUnlockReward The quest reward to validate
|
||||
* @param questDetails The quest the reward belongs to
|
||||
* @returns
|
||||
*/
|
||||
protected verifyQuestProductionUnlock(pmcProfile: IPmcData, productionUnlockReward: IQuestReward, questDetails: IQuest): void;
|
||||
/**
|
||||
* If the profile has elite Hideout Managment skill, add the additional slots from globals
|
||||
* NOTE: This seems redundant, but we will leave it here just incase.
|
||||
|
38
TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/utils/DatabaseDecompressionUtil.d.ts
vendored
Normal file
38
TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/utils/DatabaseDecompressionUtil.d.ts
vendored
Normal file
@ -0,0 +1,38 @@
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
export declare class DatabaseDecompressionUtil {
|
||||
protected logger: ILogger;
|
||||
private compressedDir;
|
||||
private assetsDir;
|
||||
private compiled;
|
||||
constructor(logger: ILogger);
|
||||
/**
|
||||
* Checks if the application is running in a compiled environment. A simple check is done to see if the relative
|
||||
* assets directory exists. If it does not, the application is assumed to be running in a compiled environment. All
|
||||
* relative asset paths are different within a compiled environment, so this simple check is sufficient.
|
||||
*/
|
||||
private isCompiled;
|
||||
/**
|
||||
* Initializes the database compression utility.
|
||||
*
|
||||
* This method will decompress all 7-zip archives within the compressed database directory. The decompressed files
|
||||
* are placed in their respective directories based on the name and location of the compressed file.
|
||||
*/
|
||||
initialize(): Promise<void>;
|
||||
/**
|
||||
* Retrieves a list of all 7-zip archives within the compressed database directory.
|
||||
*/
|
||||
private getCompressedFiles;
|
||||
/**
|
||||
* Processes a compressed file by checking if the target directory is empty, and if so, decompressing the file into
|
||||
* the target directory.
|
||||
*/
|
||||
private processCompressedFile;
|
||||
/**
|
||||
* Checks if a directory exists and is empty.
|
||||
*/
|
||||
private isDirectoryEmpty;
|
||||
/**
|
||||
* Decompresses a 7-zip archive to the target directory.
|
||||
*/
|
||||
private decompressFile;
|
||||
}
|
@ -10,6 +10,7 @@ import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { Common, IQuestStatus } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||
import { IQuest, IQuestCondition, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IHideoutProduction } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
|
||||
import { IAcceptQuestRequestData } from "@spt/models/eft/quests/IAcceptQuestRequestData";
|
||||
import { ICompleteQuestRequestData } from "@spt/models/eft/quests/ICompleteQuestRequestData";
|
||||
@ -280,6 +281,13 @@ export declare class QuestHelper {
|
||||
* @param response Response to send back to client
|
||||
*/
|
||||
protected findAndAddHideoutProductionIdToProfile(pmcData: IPmcData, craftUnlockReward: IQuestReward, questDetails: IQuest, sessionID: string, response: IItemEventRouterResponse): void;
|
||||
/**
|
||||
* Find hideout craft id for the specified quest reward
|
||||
* @param craftUnlockReward
|
||||
* @param questDetails
|
||||
* @returns
|
||||
*/
|
||||
getRewardProductionMatch(craftUnlockReward: IQuestReward, questDetails: IQuest): IHideoutProduction[];
|
||||
/**
|
||||
* Get players money reward bonus from profile
|
||||
* @param pmcData player profile
|
||||
|
@ -1,6 +1,5 @@
|
||||
export interface IWorkoutData extends Record<string, any> {
|
||||
skills: IWorkoutSkills;
|
||||
effects: IWorkoutEffects;
|
||||
}
|
||||
export interface IWorkoutSkills {
|
||||
Common: IWorkoutSkillCommon[];
|
||||
|
@ -2,9 +2,11 @@ import { HideoutHelper } from "@spt/helpers/HideoutHelper";
|
||||
import { InventoryHelper } from "@spt/helpers/InventoryHelper";
|
||||
import { ItemHelper } from "@spt/helpers/ItemHelper";
|
||||
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||
import { QuestHelper } from "@spt/helpers/QuestHelper";
|
||||
import { TraderHelper } from "@spt/helpers/TraderHelper";
|
||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { IBonus, IHideoutSlot } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IQuest, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests";
|
||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||
import { IStageBonus } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
@ -36,9 +38,10 @@ export declare class ProfileFixerService {
|
||||
protected hashUtil: HashUtil;
|
||||
protected configServer: ConfigServer;
|
||||
protected cloner: ICloner;
|
||||
protected questHelper: QuestHelper;
|
||||
protected coreConfig: ICoreConfig;
|
||||
protected ragfairConfig: IRagfairConfig;
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner);
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner, questHelper: QuestHelper);
|
||||
/**
|
||||
* Find issues in the pmc profile data that may cause issues and fix them
|
||||
* @param pmcProfile profile to check and fix
|
||||
@ -71,6 +74,19 @@ export declare class ProfileFixerService {
|
||||
* @param pmcProfile Profile to remove dead quests from
|
||||
*/
|
||||
protected removeOrphanedQuests(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Verify that all quest production unlocks have been applied to the PMC Profile
|
||||
* @param pmcProfile The profile to validate quest productions for
|
||||
*/
|
||||
protected verifyQuestProductionUnlocks(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Validate that the given profile has the given quest reward production scheme unlocked, and add it if not
|
||||
* @param pmcProfile Profile to check
|
||||
* @param productionUnlockReward The quest reward to validate
|
||||
* @param questDetails The quest the reward belongs to
|
||||
* @returns
|
||||
*/
|
||||
protected verifyQuestProductionUnlock(pmcProfile: IPmcData, productionUnlockReward: IQuestReward, questDetails: IQuest): void;
|
||||
/**
|
||||
* If the profile has elite Hideout Managment skill, add the additional slots from globals
|
||||
* NOTE: This seems redundant, but we will leave it here just incase.
|
||||
|
38
TypeScript/4UseACustomConfigFile/types/utils/DatabaseDecompressionUtil.d.ts
vendored
Normal file
38
TypeScript/4UseACustomConfigFile/types/utils/DatabaseDecompressionUtil.d.ts
vendored
Normal file
@ -0,0 +1,38 @@
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
export declare class DatabaseDecompressionUtil {
|
||||
protected logger: ILogger;
|
||||
private compressedDir;
|
||||
private assetsDir;
|
||||
private compiled;
|
||||
constructor(logger: ILogger);
|
||||
/**
|
||||
* Checks if the application is running in a compiled environment. A simple check is done to see if the relative
|
||||
* assets directory exists. If it does not, the application is assumed to be running in a compiled environment. All
|
||||
* relative asset paths are different within a compiled environment, so this simple check is sufficient.
|
||||
*/
|
||||
private isCompiled;
|
||||
/**
|
||||
* Initializes the database compression utility.
|
||||
*
|
||||
* This method will decompress all 7-zip archives within the compressed database directory. The decompressed files
|
||||
* are placed in their respective directories based on the name and location of the compressed file.
|
||||
*/
|
||||
initialize(): Promise<void>;
|
||||
/**
|
||||
* Retrieves a list of all 7-zip archives within the compressed database directory.
|
||||
*/
|
||||
private getCompressedFiles;
|
||||
/**
|
||||
* Processes a compressed file by checking if the target directory is empty, and if so, decompressing the file into
|
||||
* the target directory.
|
||||
*/
|
||||
private processCompressedFile;
|
||||
/**
|
||||
* Checks if a directory exists and is empty.
|
||||
*/
|
||||
private isDirectoryEmpty;
|
||||
/**
|
||||
* Decompresses a 7-zip archive to the target directory.
|
||||
*/
|
||||
private decompressFile;
|
||||
}
|
@ -10,6 +10,7 @@ import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { Common, IQuestStatus } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||
import { IQuest, IQuestCondition, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IHideoutProduction } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
|
||||
import { IAcceptQuestRequestData } from "@spt/models/eft/quests/IAcceptQuestRequestData";
|
||||
import { ICompleteQuestRequestData } from "@spt/models/eft/quests/ICompleteQuestRequestData";
|
||||
@ -280,6 +281,13 @@ export declare class QuestHelper {
|
||||
* @param response Response to send back to client
|
||||
*/
|
||||
protected findAndAddHideoutProductionIdToProfile(pmcData: IPmcData, craftUnlockReward: IQuestReward, questDetails: IQuest, sessionID: string, response: IItemEventRouterResponse): void;
|
||||
/**
|
||||
* Find hideout craft id for the specified quest reward
|
||||
* @param craftUnlockReward
|
||||
* @param questDetails
|
||||
* @returns
|
||||
*/
|
||||
getRewardProductionMatch(craftUnlockReward: IQuestReward, questDetails: IQuest): IHideoutProduction[];
|
||||
/**
|
||||
* Get players money reward bonus from profile
|
||||
* @param pmcData player profile
|
||||
|
@ -1,6 +1,5 @@
|
||||
export interface IWorkoutData extends Record<string, any> {
|
||||
skills: IWorkoutSkills;
|
||||
effects: IWorkoutEffects;
|
||||
}
|
||||
export interface IWorkoutSkills {
|
||||
Common: IWorkoutSkillCommon[];
|
||||
|
@ -2,9 +2,11 @@ import { HideoutHelper } from "@spt/helpers/HideoutHelper";
|
||||
import { InventoryHelper } from "@spt/helpers/InventoryHelper";
|
||||
import { ItemHelper } from "@spt/helpers/ItemHelper";
|
||||
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||
import { QuestHelper } from "@spt/helpers/QuestHelper";
|
||||
import { TraderHelper } from "@spt/helpers/TraderHelper";
|
||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { IBonus, IHideoutSlot } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IQuest, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests";
|
||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||
import { IStageBonus } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
@ -36,9 +38,10 @@ export declare class ProfileFixerService {
|
||||
protected hashUtil: HashUtil;
|
||||
protected configServer: ConfigServer;
|
||||
protected cloner: ICloner;
|
||||
protected questHelper: QuestHelper;
|
||||
protected coreConfig: ICoreConfig;
|
||||
protected ragfairConfig: IRagfairConfig;
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner);
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner, questHelper: QuestHelper);
|
||||
/**
|
||||
* Find issues in the pmc profile data that may cause issues and fix them
|
||||
* @param pmcProfile profile to check and fix
|
||||
@ -71,6 +74,19 @@ export declare class ProfileFixerService {
|
||||
* @param pmcProfile Profile to remove dead quests from
|
||||
*/
|
||||
protected removeOrphanedQuests(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Verify that all quest production unlocks have been applied to the PMC Profile
|
||||
* @param pmcProfile The profile to validate quest productions for
|
||||
*/
|
||||
protected verifyQuestProductionUnlocks(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Validate that the given profile has the given quest reward production scheme unlocked, and add it if not
|
||||
* @param pmcProfile Profile to check
|
||||
* @param productionUnlockReward The quest reward to validate
|
||||
* @param questDetails The quest the reward belongs to
|
||||
* @returns
|
||||
*/
|
||||
protected verifyQuestProductionUnlock(pmcProfile: IPmcData, productionUnlockReward: IQuestReward, questDetails: IQuest): void;
|
||||
/**
|
||||
* If the profile has elite Hideout Managment skill, add the additional slots from globals
|
||||
* NOTE: This seems redundant, but we will leave it here just incase.
|
||||
|
38
TypeScript/5ReplaceMethod/types/utils/DatabaseDecompressionUtil.d.ts
vendored
Normal file
38
TypeScript/5ReplaceMethod/types/utils/DatabaseDecompressionUtil.d.ts
vendored
Normal file
@ -0,0 +1,38 @@
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
export declare class DatabaseDecompressionUtil {
|
||||
protected logger: ILogger;
|
||||
private compressedDir;
|
||||
private assetsDir;
|
||||
private compiled;
|
||||
constructor(logger: ILogger);
|
||||
/**
|
||||
* Checks if the application is running in a compiled environment. A simple check is done to see if the relative
|
||||
* assets directory exists. If it does not, the application is assumed to be running in a compiled environment. All
|
||||
* relative asset paths are different within a compiled environment, so this simple check is sufficient.
|
||||
*/
|
||||
private isCompiled;
|
||||
/**
|
||||
* Initializes the database compression utility.
|
||||
*
|
||||
* This method will decompress all 7-zip archives within the compressed database directory. The decompressed files
|
||||
* are placed in their respective directories based on the name and location of the compressed file.
|
||||
*/
|
||||
initialize(): Promise<void>;
|
||||
/**
|
||||
* Retrieves a list of all 7-zip archives within the compressed database directory.
|
||||
*/
|
||||
private getCompressedFiles;
|
||||
/**
|
||||
* Processes a compressed file by checking if the target directory is empty, and if so, decompressing the file into
|
||||
* the target directory.
|
||||
*/
|
||||
private processCompressedFile;
|
||||
/**
|
||||
* Checks if a directory exists and is empty.
|
||||
*/
|
||||
private isDirectoryEmpty;
|
||||
/**
|
||||
* Decompresses a 7-zip archive to the target directory.
|
||||
*/
|
||||
private decompressFile;
|
||||
}
|
@ -10,6 +10,7 @@ import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { Common, IQuestStatus } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||
import { IQuest, IQuestCondition, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IHideoutProduction } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
|
||||
import { IAcceptQuestRequestData } from "@spt/models/eft/quests/IAcceptQuestRequestData";
|
||||
import { ICompleteQuestRequestData } from "@spt/models/eft/quests/ICompleteQuestRequestData";
|
||||
@ -280,6 +281,13 @@ export declare class QuestHelper {
|
||||
* @param response Response to send back to client
|
||||
*/
|
||||
protected findAndAddHideoutProductionIdToProfile(pmcData: IPmcData, craftUnlockReward: IQuestReward, questDetails: IQuest, sessionID: string, response: IItemEventRouterResponse): void;
|
||||
/**
|
||||
* Find hideout craft id for the specified quest reward
|
||||
* @param craftUnlockReward
|
||||
* @param questDetails
|
||||
* @returns
|
||||
*/
|
||||
getRewardProductionMatch(craftUnlockReward: IQuestReward, questDetails: IQuest): IHideoutProduction[];
|
||||
/**
|
||||
* Get players money reward bonus from profile
|
||||
* @param pmcData player profile
|
||||
|
@ -1,6 +1,5 @@
|
||||
export interface IWorkoutData extends Record<string, any> {
|
||||
skills: IWorkoutSkills;
|
||||
effects: IWorkoutEffects;
|
||||
}
|
||||
export interface IWorkoutSkills {
|
||||
Common: IWorkoutSkillCommon[];
|
||||
|
@ -2,9 +2,11 @@ import { HideoutHelper } from "@spt/helpers/HideoutHelper";
|
||||
import { InventoryHelper } from "@spt/helpers/InventoryHelper";
|
||||
import { ItemHelper } from "@spt/helpers/ItemHelper";
|
||||
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||
import { QuestHelper } from "@spt/helpers/QuestHelper";
|
||||
import { TraderHelper } from "@spt/helpers/TraderHelper";
|
||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { IBonus, IHideoutSlot } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IQuest, IQuestReward } from "@spt/models/eft/common/tables/IQuest";
|
||||
import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests";
|
||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||
import { IStageBonus } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
@ -36,9 +38,10 @@ export declare class ProfileFixerService {
|
||||
protected hashUtil: HashUtil;
|
||||
protected configServer: ConfigServer;
|
||||
protected cloner: ICloner;
|
||||
protected questHelper: QuestHelper;
|
||||
protected coreConfig: ICoreConfig;
|
||||
protected ragfairConfig: IRagfairConfig;
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner);
|
||||
constructor(logger: ILogger, watermark: Watermark, databaseService: DatabaseService, hideoutHelper: HideoutHelper, inventoryHelper: InventoryHelper, traderHelper: TraderHelper, profileHelper: ProfileHelper, itemHelper: ItemHelper, localisationService: LocalisationService, timeUtil: TimeUtil, jsonUtil: JsonUtil, hashUtil: HashUtil, configServer: ConfigServer, cloner: ICloner, questHelper: QuestHelper);
|
||||
/**
|
||||
* Find issues in the pmc profile data that may cause issues and fix them
|
||||
* @param pmcProfile profile to check and fix
|
||||
@ -71,6 +74,19 @@ export declare class ProfileFixerService {
|
||||
* @param pmcProfile Profile to remove dead quests from
|
||||
*/
|
||||
protected removeOrphanedQuests(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Verify that all quest production unlocks have been applied to the PMC Profile
|
||||
* @param pmcProfile The profile to validate quest productions for
|
||||
*/
|
||||
protected verifyQuestProductionUnlocks(pmcProfile: IPmcData): void;
|
||||
/**
|
||||
* Validate that the given profile has the given quest reward production scheme unlocked, and add it if not
|
||||
* @param pmcProfile Profile to check
|
||||
* @param productionUnlockReward The quest reward to validate
|
||||
* @param questDetails The quest the reward belongs to
|
||||
* @returns
|
||||
*/
|
||||
protected verifyQuestProductionUnlock(pmcProfile: IPmcData, productionUnlockReward: IQuestReward, questDetails: IQuest): void;
|
||||
/**
|
||||
* If the profile has elite Hideout Managment skill, add the additional slots from globals
|
||||
* NOTE: This seems redundant, but we will leave it here just incase.
|
||||
|
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