Update types
This commit is contained in:
parent
ee8dec4596
commit
39505da240
@ -8,7 +8,6 @@ import { IHandbookBase } from "@spt/models/eft/common/tables/IHandbookBase";
|
||||
import { IGetItemPricesResponse } from "@spt/models/eft/game/IGetItemPricesResponse";
|
||||
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
import { IHideoutProductionData } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IHideoutScavCase } from "@spt/models/eft/hideout/IHideoutScavCase";
|
||||
import { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase";
|
||||
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
|
||||
import { ISettingsBase } from "@spt/models/spt/server/ISettingsBase";
|
||||
@ -63,7 +62,6 @@ export declare class DataCallbacks {
|
||||
getHideoutSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutSettingsBase>;
|
||||
getHideoutAreas(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutArea[]>;
|
||||
getHideoutProduction(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutProductionData>;
|
||||
getHideoutScavcase(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutScavCase[]>;
|
||||
/**
|
||||
* Handle client/languages
|
||||
*/
|
||||
|
@ -18,11 +18,6 @@ export declare class WeatherController {
|
||||
constructor(weatherGenerator: WeatherGenerator, logger: ILogger, configServer: ConfigServer, seasonalEventService: SeasonalEventService, raidWeatherService: RaidWeatherService, weatherHelper: WeatherHelper);
|
||||
/** Handle client/weather */
|
||||
generate(): IWeatherData;
|
||||
/**
|
||||
* Get the current in-raid time (MUST HAVE PLAYER LOGGED INTO CLIENT TO WORK)
|
||||
* @returns Date object
|
||||
*/
|
||||
getCurrentInRaidTime(): Date;
|
||||
/** Handle client/localGame/weather */
|
||||
generateLocal(sesssionId: string): IGetLocalWeatherResponseData;
|
||||
}
|
||||
|
@ -2,7 +2,7 @@ import { ItemHelper } from "@spt/helpers/ItemHelper";
|
||||
import { PresetHelper } from "@spt/helpers/PresetHelper";
|
||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||
import { IHideoutScavCase } from "@spt/models/eft/hideout/IHideoutScavCase";
|
||||
import { IScavRecipe } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IScavCaseConfig } from "@spt/models/spt/config/IScavCaseConfig";
|
||||
import { IRewardCountAndPriceDetails, IScavCaseRewardCountsAndPrices } from "@spt/models/spt/hideout/ScavCaseRewardCountsAndPrices";
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
@ -84,10 +84,10 @@ export declare class ScavCaseRewardGenerator {
|
||||
protected getFilteredItemsByPrice(dbItems: ITemplateItem[], itemFilters: IRewardCountAndPriceDetails): ITemplateItem[];
|
||||
/**
|
||||
* Gathers the reward min and max count params for each reward quality level from config and scavcase.json into a single object
|
||||
* @param scavCaseDetails scavcase.json values
|
||||
* @param scavCaseDetails production.json/scavRecipes object
|
||||
* @returns ScavCaseRewardCountsAndPrices object
|
||||
*/
|
||||
protected getScavCaseRewardCountsAndPrices(scavCaseDetails: IHideoutScavCase): IScavCaseRewardCountsAndPrices;
|
||||
protected getScavCaseRewardCountsAndPrices(scavCaseDetails: IScavRecipe): IScavCaseRewardCountsAndPrices;
|
||||
/**
|
||||
* Randomises the size of ammo and money stacks
|
||||
* @param itemToCalculate ammo or money item
|
||||
|
@ -113,12 +113,12 @@ export declare class QuestHelper {
|
||||
*/
|
||||
protected generateArmorRewardChildSlots(originalRewardRootItem: IItem, questReward: IQuestReward): void;
|
||||
/**
|
||||
* Gets a flat list of reward items for the given quest at a specific state (e.g. Fail/Success)
|
||||
* Gets a flat list of reward items for the given quest at a specific state for the specified game version (e.g. Fail/Success)
|
||||
* @param quest quest to get rewards for
|
||||
* @param status Quest status that holds the items (Started, Success, Fail)
|
||||
* @returns array of items with the correct maxStack
|
||||
*/
|
||||
getQuestRewardItems(quest: IQuest, status: QuestStatus): IItem[];
|
||||
getQuestRewardItems(quest: IQuest, status: QuestStatus, gameVersion: string): IItem[];
|
||||
/**
|
||||
* Look up quest in db by accepted quest id and construct a profile-ready object ready to store in profile
|
||||
* @param pmcData Player profile
|
||||
@ -321,6 +321,15 @@ export declare class QuestHelper {
|
||||
* @returns array of IQuest
|
||||
*/
|
||||
getClientQuests(sessionID: string): IQuest[];
|
||||
/**
|
||||
* Create a clone of the given quest array with the rewards updated to reflect the
|
||||
* given game version
|
||||
*
|
||||
* @param quests The list of quests to check
|
||||
* @param gameVersion The game version of the profile
|
||||
* @returns array of IQuest objects with the rewards filtered correctly for the game version
|
||||
*/
|
||||
protected updateQuestsForGameEdition(quests: IQuest[], gameVersion: string): IQuest[];
|
||||
/**
|
||||
* Return a list of quests that would fail when supplied quest is completed
|
||||
* @param completedQuestId quest completed id
|
||||
|
@ -10,7 +10,7 @@ export declare class WeatherHelper {
|
||||
protected weatherConfig: IWeatherConfig;
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, configServer: ConfigServer);
|
||||
/**
|
||||
* Get the current in-raid time
|
||||
* Get the current in-raid time - does not include an accurate date, only time
|
||||
* @param currentDate (new Date())
|
||||
* @returns Date object of current in-raid time
|
||||
*/
|
||||
|
@ -1,18 +0,0 @@
|
||||
import { MinMax } from "@spt/models/common/MinMax";
|
||||
export interface IHideoutScavCase {
|
||||
_id: string;
|
||||
ProductionTime: number;
|
||||
Requirements: IRequirement[];
|
||||
EndProducts: IEndProducts;
|
||||
}
|
||||
export interface IRequirement {
|
||||
templateId: string;
|
||||
count: number;
|
||||
isFunctional: boolean;
|
||||
type: string;
|
||||
}
|
||||
export interface IEndProducts {
|
||||
Common: MinMax;
|
||||
Rare: MinMax;
|
||||
Superrare: MinMax;
|
||||
}
|
@ -1,23 +0,0 @@
|
||||
import { IEmptyRequestData } from "@spt/models/eft/common/IEmptyRequestData";
|
||||
import { IGlobals } from "@spt/models/eft/common/IGlobals";
|
||||
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
import { IHideoutProduction } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IHideoutScavCase } from "@spt/models/eft/hideout/IHideoutScavCase";
|
||||
import { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase";
|
||||
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
|
||||
import { ISettingsBase } from "@spt/models/spt/server/ISettingsBase";
|
||||
export interface IDataCallbacks {
|
||||
getSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<ISettingsBase>;
|
||||
getGlobals(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IGlobals>;
|
||||
getTemplateItems(url: string, info: IEmptyRequestData, sessionID: string): string;
|
||||
getTemplateHandbook(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||
getTemplateSuits(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||
getTemplateCharacter(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<string[]>;
|
||||
getHideoutSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutSettingsBase>;
|
||||
getHideoutAreas(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutArea[]>;
|
||||
gethideoutProduction(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutProduction[]>;
|
||||
getHideoutScavcase(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutScavCase[]>;
|
||||
getLocalesLanguages(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<Record<string, string>>;
|
||||
getLocalesMenu(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||
getLocalesGlobal(url: string, info: IEmptyRequestData, sessionID: string): string;
|
||||
}
|
@ -57,6 +57,8 @@ export interface IGameFixes {
|
||||
fixShotgunDispersion: boolean;
|
||||
/** Remove items added by mods when the mod no longer exists - can fix dead profiles stuck at game load */
|
||||
removeModItemsFromProfile: boolean;
|
||||
/** Remove invalid traders from profile - trader data can be leftover when player removes trader mod */
|
||||
removeInvalidTradersFromProfile: boolean;
|
||||
/** Fix issues that cause the game to not start due to inventory item issues */
|
||||
fixProfileBreakingInventoryItemIssues: boolean;
|
||||
}
|
||||
|
@ -1,12 +1,10 @@
|
||||
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
import { IHideoutProductionData } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IHideoutScavCase } from "@spt/models/eft/hideout/IHideoutScavCase";
|
||||
import { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase";
|
||||
import { IQteData } from "@spt/models/eft/hideout/IQteData";
|
||||
export interface IHideout {
|
||||
areas: IHideoutArea[];
|
||||
production: IHideoutProductionData;
|
||||
scavcase: IHideoutScavCase[];
|
||||
settings: IHideoutSettingsBase;
|
||||
qte: IQteData[];
|
||||
}
|
||||
|
@ -120,4 +120,5 @@ export declare class ProfileFixerService {
|
||||
* @returns matching bonus
|
||||
*/
|
||||
protected getBonusFromProfile(profileBonuses: IBonus[], bonus: IStageBonus): IBonus | undefined;
|
||||
checkForAndRemoveInvalidTraders(fullProfile: ISptProfile): void;
|
||||
}
|
||||
|
@ -138,6 +138,12 @@ export declare class SeasonalEventService {
|
||||
*/
|
||||
protected enableHalloweenSummonEvent(): void;
|
||||
protected configureZombies(zombieSettings: IZombieSettings): void;
|
||||
/**
|
||||
* BSG store the location ids differently inside `LocationInfection`, need to convert to matching location IDs
|
||||
* @param infectedLocationKey Key to convert
|
||||
* @returns Array of locations
|
||||
*/
|
||||
protected getLocationFromInfectedLocation(infectedLocationKey: string): string[];
|
||||
protected addEventWavesToMaps(eventType: string): void;
|
||||
/**
|
||||
* Add event bosses to maps
|
||||
|
@ -8,7 +8,6 @@ import { IHandbookBase } from "@spt/models/eft/common/tables/IHandbookBase";
|
||||
import { IGetItemPricesResponse } from "@spt/models/eft/game/IGetItemPricesResponse";
|
||||
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
import { IHideoutProductionData } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IHideoutScavCase } from "@spt/models/eft/hideout/IHideoutScavCase";
|
||||
import { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase";
|
||||
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
|
||||
import { ISettingsBase } from "@spt/models/spt/server/ISettingsBase";
|
||||
@ -63,7 +62,6 @@ export declare class DataCallbacks {
|
||||
getHideoutSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutSettingsBase>;
|
||||
getHideoutAreas(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutArea[]>;
|
||||
getHideoutProduction(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutProductionData>;
|
||||
getHideoutScavcase(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutScavCase[]>;
|
||||
/**
|
||||
* Handle client/languages
|
||||
*/
|
||||
|
@ -18,11 +18,6 @@ export declare class WeatherController {
|
||||
constructor(weatherGenerator: WeatherGenerator, logger: ILogger, configServer: ConfigServer, seasonalEventService: SeasonalEventService, raidWeatherService: RaidWeatherService, weatherHelper: WeatherHelper);
|
||||
/** Handle client/weather */
|
||||
generate(): IWeatherData;
|
||||
/**
|
||||
* Get the current in-raid time (MUST HAVE PLAYER LOGGED INTO CLIENT TO WORK)
|
||||
* @returns Date object
|
||||
*/
|
||||
getCurrentInRaidTime(): Date;
|
||||
/** Handle client/localGame/weather */
|
||||
generateLocal(sesssionId: string): IGetLocalWeatherResponseData;
|
||||
}
|
||||
|
@ -2,7 +2,7 @@ import { ItemHelper } from "@spt/helpers/ItemHelper";
|
||||
import { PresetHelper } from "@spt/helpers/PresetHelper";
|
||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||
import { IHideoutScavCase } from "@spt/models/eft/hideout/IHideoutScavCase";
|
||||
import { IScavRecipe } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IScavCaseConfig } from "@spt/models/spt/config/IScavCaseConfig";
|
||||
import { IRewardCountAndPriceDetails, IScavCaseRewardCountsAndPrices } from "@spt/models/spt/hideout/ScavCaseRewardCountsAndPrices";
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
@ -84,10 +84,10 @@ export declare class ScavCaseRewardGenerator {
|
||||
protected getFilteredItemsByPrice(dbItems: ITemplateItem[], itemFilters: IRewardCountAndPriceDetails): ITemplateItem[];
|
||||
/**
|
||||
* Gathers the reward min and max count params for each reward quality level from config and scavcase.json into a single object
|
||||
* @param scavCaseDetails scavcase.json values
|
||||
* @param scavCaseDetails production.json/scavRecipes object
|
||||
* @returns ScavCaseRewardCountsAndPrices object
|
||||
*/
|
||||
protected getScavCaseRewardCountsAndPrices(scavCaseDetails: IHideoutScavCase): IScavCaseRewardCountsAndPrices;
|
||||
protected getScavCaseRewardCountsAndPrices(scavCaseDetails: IScavRecipe): IScavCaseRewardCountsAndPrices;
|
||||
/**
|
||||
* Randomises the size of ammo and money stacks
|
||||
* @param itemToCalculate ammo or money item
|
||||
|
@ -113,12 +113,12 @@ export declare class QuestHelper {
|
||||
*/
|
||||
protected generateArmorRewardChildSlots(originalRewardRootItem: IItem, questReward: IQuestReward): void;
|
||||
/**
|
||||
* Gets a flat list of reward items for the given quest at a specific state (e.g. Fail/Success)
|
||||
* Gets a flat list of reward items for the given quest at a specific state for the specified game version (e.g. Fail/Success)
|
||||
* @param quest quest to get rewards for
|
||||
* @param status Quest status that holds the items (Started, Success, Fail)
|
||||
* @returns array of items with the correct maxStack
|
||||
*/
|
||||
getQuestRewardItems(quest: IQuest, status: QuestStatus): IItem[];
|
||||
getQuestRewardItems(quest: IQuest, status: QuestStatus, gameVersion: string): IItem[];
|
||||
/**
|
||||
* Look up quest in db by accepted quest id and construct a profile-ready object ready to store in profile
|
||||
* @param pmcData Player profile
|
||||
@ -321,6 +321,15 @@ export declare class QuestHelper {
|
||||
* @returns array of IQuest
|
||||
*/
|
||||
getClientQuests(sessionID: string): IQuest[];
|
||||
/**
|
||||
* Create a clone of the given quest array with the rewards updated to reflect the
|
||||
* given game version
|
||||
*
|
||||
* @param quests The list of quests to check
|
||||
* @param gameVersion The game version of the profile
|
||||
* @returns array of IQuest objects with the rewards filtered correctly for the game version
|
||||
*/
|
||||
protected updateQuestsForGameEdition(quests: IQuest[], gameVersion: string): IQuest[];
|
||||
/**
|
||||
* Return a list of quests that would fail when supplied quest is completed
|
||||
* @param completedQuestId quest completed id
|
||||
|
@ -10,7 +10,7 @@ export declare class WeatherHelper {
|
||||
protected weatherConfig: IWeatherConfig;
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, configServer: ConfigServer);
|
||||
/**
|
||||
* Get the current in-raid time
|
||||
* Get the current in-raid time - does not include an accurate date, only time
|
||||
* @param currentDate (new Date())
|
||||
* @returns Date object of current in-raid time
|
||||
*/
|
||||
|
@ -1,18 +0,0 @@
|
||||
import { MinMax } from "@spt/models/common/MinMax";
|
||||
export interface IHideoutScavCase {
|
||||
_id: string;
|
||||
ProductionTime: number;
|
||||
Requirements: IRequirement[];
|
||||
EndProducts: IEndProducts;
|
||||
}
|
||||
export interface IRequirement {
|
||||
templateId: string;
|
||||
count: number;
|
||||
isFunctional: boolean;
|
||||
type: string;
|
||||
}
|
||||
export interface IEndProducts {
|
||||
Common: MinMax;
|
||||
Rare: MinMax;
|
||||
Superrare: MinMax;
|
||||
}
|
@ -1,23 +0,0 @@
|
||||
import { IEmptyRequestData } from "@spt/models/eft/common/IEmptyRequestData";
|
||||
import { IGlobals } from "@spt/models/eft/common/IGlobals";
|
||||
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
import { IHideoutProduction } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IHideoutScavCase } from "@spt/models/eft/hideout/IHideoutScavCase";
|
||||
import { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase";
|
||||
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
|
||||
import { ISettingsBase } from "@spt/models/spt/server/ISettingsBase";
|
||||
export interface IDataCallbacks {
|
||||
getSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<ISettingsBase>;
|
||||
getGlobals(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IGlobals>;
|
||||
getTemplateItems(url: string, info: IEmptyRequestData, sessionID: string): string;
|
||||
getTemplateHandbook(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||
getTemplateSuits(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||
getTemplateCharacter(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<string[]>;
|
||||
getHideoutSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutSettingsBase>;
|
||||
getHideoutAreas(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutArea[]>;
|
||||
gethideoutProduction(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutProduction[]>;
|
||||
getHideoutScavcase(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutScavCase[]>;
|
||||
getLocalesLanguages(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<Record<string, string>>;
|
||||
getLocalesMenu(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||
getLocalesGlobal(url: string, info: IEmptyRequestData, sessionID: string): string;
|
||||
}
|
@ -57,6 +57,8 @@ export interface IGameFixes {
|
||||
fixShotgunDispersion: boolean;
|
||||
/** Remove items added by mods when the mod no longer exists - can fix dead profiles stuck at game load */
|
||||
removeModItemsFromProfile: boolean;
|
||||
/** Remove invalid traders from profile - trader data can be leftover when player removes trader mod */
|
||||
removeInvalidTradersFromProfile: boolean;
|
||||
/** Fix issues that cause the game to not start due to inventory item issues */
|
||||
fixProfileBreakingInventoryItemIssues: boolean;
|
||||
}
|
||||
|
@ -1,12 +1,10 @@
|
||||
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
import { IHideoutProductionData } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IHideoutScavCase } from "@spt/models/eft/hideout/IHideoutScavCase";
|
||||
import { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase";
|
||||
import { IQteData } from "@spt/models/eft/hideout/IQteData";
|
||||
export interface IHideout {
|
||||
areas: IHideoutArea[];
|
||||
production: IHideoutProductionData;
|
||||
scavcase: IHideoutScavCase[];
|
||||
settings: IHideoutSettingsBase;
|
||||
qte: IQteData[];
|
||||
}
|
||||
|
@ -120,4 +120,5 @@ export declare class ProfileFixerService {
|
||||
* @returns matching bonus
|
||||
*/
|
||||
protected getBonusFromProfile(profileBonuses: IBonus[], bonus: IStageBonus): IBonus | undefined;
|
||||
checkForAndRemoveInvalidTraders(fullProfile: ISptProfile): void;
|
||||
}
|
||||
|
@ -138,6 +138,12 @@ export declare class SeasonalEventService {
|
||||
*/
|
||||
protected enableHalloweenSummonEvent(): void;
|
||||
protected configureZombies(zombieSettings: IZombieSettings): void;
|
||||
/**
|
||||
* BSG store the location ids differently inside `LocationInfection`, need to convert to matching location IDs
|
||||
* @param infectedLocationKey Key to convert
|
||||
* @returns Array of locations
|
||||
*/
|
||||
protected getLocationFromInfectedLocation(infectedLocationKey: string): string[];
|
||||
protected addEventWavesToMaps(eventType: string): void;
|
||||
/**
|
||||
* Add event bosses to maps
|
||||
|
@ -8,7 +8,6 @@ import { IHandbookBase } from "@spt/models/eft/common/tables/IHandbookBase";
|
||||
import { IGetItemPricesResponse } from "@spt/models/eft/game/IGetItemPricesResponse";
|
||||
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
import { IHideoutProductionData } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IHideoutScavCase } from "@spt/models/eft/hideout/IHideoutScavCase";
|
||||
import { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase";
|
||||
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
|
||||
import { ISettingsBase } from "@spt/models/spt/server/ISettingsBase";
|
||||
@ -63,7 +62,6 @@ export declare class DataCallbacks {
|
||||
getHideoutSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutSettingsBase>;
|
||||
getHideoutAreas(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutArea[]>;
|
||||
getHideoutProduction(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutProductionData>;
|
||||
getHideoutScavcase(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutScavCase[]>;
|
||||
/**
|
||||
* Handle client/languages
|
||||
*/
|
||||
|
@ -18,11 +18,6 @@ export declare class WeatherController {
|
||||
constructor(weatherGenerator: WeatherGenerator, logger: ILogger, configServer: ConfigServer, seasonalEventService: SeasonalEventService, raidWeatherService: RaidWeatherService, weatherHelper: WeatherHelper);
|
||||
/** Handle client/weather */
|
||||
generate(): IWeatherData;
|
||||
/**
|
||||
* Get the current in-raid time (MUST HAVE PLAYER LOGGED INTO CLIENT TO WORK)
|
||||
* @returns Date object
|
||||
*/
|
||||
getCurrentInRaidTime(): Date;
|
||||
/** Handle client/localGame/weather */
|
||||
generateLocal(sesssionId: string): IGetLocalWeatherResponseData;
|
||||
}
|
||||
|
@ -2,7 +2,7 @@ import { ItemHelper } from "@spt/helpers/ItemHelper";
|
||||
import { PresetHelper } from "@spt/helpers/PresetHelper";
|
||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||
import { IHideoutScavCase } from "@spt/models/eft/hideout/IHideoutScavCase";
|
||||
import { IScavRecipe } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IScavCaseConfig } from "@spt/models/spt/config/IScavCaseConfig";
|
||||
import { IRewardCountAndPriceDetails, IScavCaseRewardCountsAndPrices } from "@spt/models/spt/hideout/ScavCaseRewardCountsAndPrices";
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
@ -84,10 +84,10 @@ export declare class ScavCaseRewardGenerator {
|
||||
protected getFilteredItemsByPrice(dbItems: ITemplateItem[], itemFilters: IRewardCountAndPriceDetails): ITemplateItem[];
|
||||
/**
|
||||
* Gathers the reward min and max count params for each reward quality level from config and scavcase.json into a single object
|
||||
* @param scavCaseDetails scavcase.json values
|
||||
* @param scavCaseDetails production.json/scavRecipes object
|
||||
* @returns ScavCaseRewardCountsAndPrices object
|
||||
*/
|
||||
protected getScavCaseRewardCountsAndPrices(scavCaseDetails: IHideoutScavCase): IScavCaseRewardCountsAndPrices;
|
||||
protected getScavCaseRewardCountsAndPrices(scavCaseDetails: IScavRecipe): IScavCaseRewardCountsAndPrices;
|
||||
/**
|
||||
* Randomises the size of ammo and money stacks
|
||||
* @param itemToCalculate ammo or money item
|
||||
|
@ -113,12 +113,12 @@ export declare class QuestHelper {
|
||||
*/
|
||||
protected generateArmorRewardChildSlots(originalRewardRootItem: IItem, questReward: IQuestReward): void;
|
||||
/**
|
||||
* Gets a flat list of reward items for the given quest at a specific state (e.g. Fail/Success)
|
||||
* Gets a flat list of reward items for the given quest at a specific state for the specified game version (e.g. Fail/Success)
|
||||
* @param quest quest to get rewards for
|
||||
* @param status Quest status that holds the items (Started, Success, Fail)
|
||||
* @returns array of items with the correct maxStack
|
||||
*/
|
||||
getQuestRewardItems(quest: IQuest, status: QuestStatus): IItem[];
|
||||
getQuestRewardItems(quest: IQuest, status: QuestStatus, gameVersion: string): IItem[];
|
||||
/**
|
||||
* Look up quest in db by accepted quest id and construct a profile-ready object ready to store in profile
|
||||
* @param pmcData Player profile
|
||||
@ -321,6 +321,15 @@ export declare class QuestHelper {
|
||||
* @returns array of IQuest
|
||||
*/
|
||||
getClientQuests(sessionID: string): IQuest[];
|
||||
/**
|
||||
* Create a clone of the given quest array with the rewards updated to reflect the
|
||||
* given game version
|
||||
*
|
||||
* @param quests The list of quests to check
|
||||
* @param gameVersion The game version of the profile
|
||||
* @returns array of IQuest objects with the rewards filtered correctly for the game version
|
||||
*/
|
||||
protected updateQuestsForGameEdition(quests: IQuest[], gameVersion: string): IQuest[];
|
||||
/**
|
||||
* Return a list of quests that would fail when supplied quest is completed
|
||||
* @param completedQuestId quest completed id
|
||||
|
@ -10,7 +10,7 @@ export declare class WeatherHelper {
|
||||
protected weatherConfig: IWeatherConfig;
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, configServer: ConfigServer);
|
||||
/**
|
||||
* Get the current in-raid time
|
||||
* Get the current in-raid time - does not include an accurate date, only time
|
||||
* @param currentDate (new Date())
|
||||
* @returns Date object of current in-raid time
|
||||
*/
|
||||
|
@ -1,18 +0,0 @@
|
||||
import { MinMax } from "@spt/models/common/MinMax";
|
||||
export interface IHideoutScavCase {
|
||||
_id: string;
|
||||
ProductionTime: number;
|
||||
Requirements: IRequirement[];
|
||||
EndProducts: IEndProducts;
|
||||
}
|
||||
export interface IRequirement {
|
||||
templateId: string;
|
||||
count: number;
|
||||
isFunctional: boolean;
|
||||
type: string;
|
||||
}
|
||||
export interface IEndProducts {
|
||||
Common: MinMax;
|
||||
Rare: MinMax;
|
||||
Superrare: MinMax;
|
||||
}
|
@ -1,23 +0,0 @@
|
||||
import { IEmptyRequestData } from "@spt/models/eft/common/IEmptyRequestData";
|
||||
import { IGlobals } from "@spt/models/eft/common/IGlobals";
|
||||
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
import { IHideoutProduction } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IHideoutScavCase } from "@spt/models/eft/hideout/IHideoutScavCase";
|
||||
import { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase";
|
||||
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
|
||||
import { ISettingsBase } from "@spt/models/spt/server/ISettingsBase";
|
||||
export interface IDataCallbacks {
|
||||
getSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<ISettingsBase>;
|
||||
getGlobals(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IGlobals>;
|
||||
getTemplateItems(url: string, info: IEmptyRequestData, sessionID: string): string;
|
||||
getTemplateHandbook(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||
getTemplateSuits(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||
getTemplateCharacter(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<string[]>;
|
||||
getHideoutSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutSettingsBase>;
|
||||
getHideoutAreas(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutArea[]>;
|
||||
gethideoutProduction(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutProduction[]>;
|
||||
getHideoutScavcase(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutScavCase[]>;
|
||||
getLocalesLanguages(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<Record<string, string>>;
|
||||
getLocalesMenu(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||
getLocalesGlobal(url: string, info: IEmptyRequestData, sessionID: string): string;
|
||||
}
|
@ -57,6 +57,8 @@ export interface IGameFixes {
|
||||
fixShotgunDispersion: boolean;
|
||||
/** Remove items added by mods when the mod no longer exists - can fix dead profiles stuck at game load */
|
||||
removeModItemsFromProfile: boolean;
|
||||
/** Remove invalid traders from profile - trader data can be leftover when player removes trader mod */
|
||||
removeInvalidTradersFromProfile: boolean;
|
||||
/** Fix issues that cause the game to not start due to inventory item issues */
|
||||
fixProfileBreakingInventoryItemIssues: boolean;
|
||||
}
|
||||
|
@ -1,12 +1,10 @@
|
||||
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
import { IHideoutProductionData } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IHideoutScavCase } from "@spt/models/eft/hideout/IHideoutScavCase";
|
||||
import { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase";
|
||||
import { IQteData } from "@spt/models/eft/hideout/IQteData";
|
||||
export interface IHideout {
|
||||
areas: IHideoutArea[];
|
||||
production: IHideoutProductionData;
|
||||
scavcase: IHideoutScavCase[];
|
||||
settings: IHideoutSettingsBase;
|
||||
qte: IQteData[];
|
||||
}
|
||||
|
@ -120,4 +120,5 @@ export declare class ProfileFixerService {
|
||||
* @returns matching bonus
|
||||
*/
|
||||
protected getBonusFromProfile(profileBonuses: IBonus[], bonus: IStageBonus): IBonus | undefined;
|
||||
checkForAndRemoveInvalidTraders(fullProfile: ISptProfile): void;
|
||||
}
|
||||
|
@ -138,6 +138,12 @@ export declare class SeasonalEventService {
|
||||
*/
|
||||
protected enableHalloweenSummonEvent(): void;
|
||||
protected configureZombies(zombieSettings: IZombieSettings): void;
|
||||
/**
|
||||
* BSG store the location ids differently inside `LocationInfection`, need to convert to matching location IDs
|
||||
* @param infectedLocationKey Key to convert
|
||||
* @returns Array of locations
|
||||
*/
|
||||
protected getLocationFromInfectedLocation(infectedLocationKey: string): string[];
|
||||
protected addEventWavesToMaps(eventType: string): void;
|
||||
/**
|
||||
* Add event bosses to maps
|
||||
|
@ -8,7 +8,6 @@ import { IHandbookBase } from "@spt/models/eft/common/tables/IHandbookBase";
|
||||
import { IGetItemPricesResponse } from "@spt/models/eft/game/IGetItemPricesResponse";
|
||||
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
import { IHideoutProductionData } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IHideoutScavCase } from "@spt/models/eft/hideout/IHideoutScavCase";
|
||||
import { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase";
|
||||
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
|
||||
import { ISettingsBase } from "@spt/models/spt/server/ISettingsBase";
|
||||
@ -63,7 +62,6 @@ export declare class DataCallbacks {
|
||||
getHideoutSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutSettingsBase>;
|
||||
getHideoutAreas(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutArea[]>;
|
||||
getHideoutProduction(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutProductionData>;
|
||||
getHideoutScavcase(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutScavCase[]>;
|
||||
/**
|
||||
* Handle client/languages
|
||||
*/
|
||||
|
@ -18,11 +18,6 @@ export declare class WeatherController {
|
||||
constructor(weatherGenerator: WeatherGenerator, logger: ILogger, configServer: ConfigServer, seasonalEventService: SeasonalEventService, raidWeatherService: RaidWeatherService, weatherHelper: WeatherHelper);
|
||||
/** Handle client/weather */
|
||||
generate(): IWeatherData;
|
||||
/**
|
||||
* Get the current in-raid time (MUST HAVE PLAYER LOGGED INTO CLIENT TO WORK)
|
||||
* @returns Date object
|
||||
*/
|
||||
getCurrentInRaidTime(): Date;
|
||||
/** Handle client/localGame/weather */
|
||||
generateLocal(sesssionId: string): IGetLocalWeatherResponseData;
|
||||
}
|
||||
|
@ -2,7 +2,7 @@ import { ItemHelper } from "@spt/helpers/ItemHelper";
|
||||
import { PresetHelper } from "@spt/helpers/PresetHelper";
|
||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||
import { IHideoutScavCase } from "@spt/models/eft/hideout/IHideoutScavCase";
|
||||
import { IScavRecipe } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IScavCaseConfig } from "@spt/models/spt/config/IScavCaseConfig";
|
||||
import { IRewardCountAndPriceDetails, IScavCaseRewardCountsAndPrices } from "@spt/models/spt/hideout/ScavCaseRewardCountsAndPrices";
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
@ -84,10 +84,10 @@ export declare class ScavCaseRewardGenerator {
|
||||
protected getFilteredItemsByPrice(dbItems: ITemplateItem[], itemFilters: IRewardCountAndPriceDetails): ITemplateItem[];
|
||||
/**
|
||||
* Gathers the reward min and max count params for each reward quality level from config and scavcase.json into a single object
|
||||
* @param scavCaseDetails scavcase.json values
|
||||
* @param scavCaseDetails production.json/scavRecipes object
|
||||
* @returns ScavCaseRewardCountsAndPrices object
|
||||
*/
|
||||
protected getScavCaseRewardCountsAndPrices(scavCaseDetails: IHideoutScavCase): IScavCaseRewardCountsAndPrices;
|
||||
protected getScavCaseRewardCountsAndPrices(scavCaseDetails: IScavRecipe): IScavCaseRewardCountsAndPrices;
|
||||
/**
|
||||
* Randomises the size of ammo and money stacks
|
||||
* @param itemToCalculate ammo or money item
|
||||
|
@ -113,12 +113,12 @@ export declare class QuestHelper {
|
||||
*/
|
||||
protected generateArmorRewardChildSlots(originalRewardRootItem: IItem, questReward: IQuestReward): void;
|
||||
/**
|
||||
* Gets a flat list of reward items for the given quest at a specific state (e.g. Fail/Success)
|
||||
* Gets a flat list of reward items for the given quest at a specific state for the specified game version (e.g. Fail/Success)
|
||||
* @param quest quest to get rewards for
|
||||
* @param status Quest status that holds the items (Started, Success, Fail)
|
||||
* @returns array of items with the correct maxStack
|
||||
*/
|
||||
getQuestRewardItems(quest: IQuest, status: QuestStatus): IItem[];
|
||||
getQuestRewardItems(quest: IQuest, status: QuestStatus, gameVersion: string): IItem[];
|
||||
/**
|
||||
* Look up quest in db by accepted quest id and construct a profile-ready object ready to store in profile
|
||||
* @param pmcData Player profile
|
||||
@ -321,6 +321,15 @@ export declare class QuestHelper {
|
||||
* @returns array of IQuest
|
||||
*/
|
||||
getClientQuests(sessionID: string): IQuest[];
|
||||
/**
|
||||
* Create a clone of the given quest array with the rewards updated to reflect the
|
||||
* given game version
|
||||
*
|
||||
* @param quests The list of quests to check
|
||||
* @param gameVersion The game version of the profile
|
||||
* @returns array of IQuest objects with the rewards filtered correctly for the game version
|
||||
*/
|
||||
protected updateQuestsForGameEdition(quests: IQuest[], gameVersion: string): IQuest[];
|
||||
/**
|
||||
* Return a list of quests that would fail when supplied quest is completed
|
||||
* @param completedQuestId quest completed id
|
||||
|
@ -10,7 +10,7 @@ export declare class WeatherHelper {
|
||||
protected weatherConfig: IWeatherConfig;
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, configServer: ConfigServer);
|
||||
/**
|
||||
* Get the current in-raid time
|
||||
* Get the current in-raid time - does not include an accurate date, only time
|
||||
* @param currentDate (new Date())
|
||||
* @returns Date object of current in-raid time
|
||||
*/
|
||||
|
@ -1,18 +0,0 @@
|
||||
import { MinMax } from "@spt/models/common/MinMax";
|
||||
export interface IHideoutScavCase {
|
||||
_id: string;
|
||||
ProductionTime: number;
|
||||
Requirements: IRequirement[];
|
||||
EndProducts: IEndProducts;
|
||||
}
|
||||
export interface IRequirement {
|
||||
templateId: string;
|
||||
count: number;
|
||||
isFunctional: boolean;
|
||||
type: string;
|
||||
}
|
||||
export interface IEndProducts {
|
||||
Common: MinMax;
|
||||
Rare: MinMax;
|
||||
Superrare: MinMax;
|
||||
}
|
@ -1,23 +0,0 @@
|
||||
import { IEmptyRequestData } from "@spt/models/eft/common/IEmptyRequestData";
|
||||
import { IGlobals } from "@spt/models/eft/common/IGlobals";
|
||||
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
import { IHideoutProduction } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IHideoutScavCase } from "@spt/models/eft/hideout/IHideoutScavCase";
|
||||
import { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase";
|
||||
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
|
||||
import { ISettingsBase } from "@spt/models/spt/server/ISettingsBase";
|
||||
export interface IDataCallbacks {
|
||||
getSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<ISettingsBase>;
|
||||
getGlobals(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IGlobals>;
|
||||
getTemplateItems(url: string, info: IEmptyRequestData, sessionID: string): string;
|
||||
getTemplateHandbook(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||
getTemplateSuits(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||
getTemplateCharacter(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<string[]>;
|
||||
getHideoutSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutSettingsBase>;
|
||||
getHideoutAreas(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutArea[]>;
|
||||
gethideoutProduction(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutProduction[]>;
|
||||
getHideoutScavcase(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutScavCase[]>;
|
||||
getLocalesLanguages(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<Record<string, string>>;
|
||||
getLocalesMenu(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||
getLocalesGlobal(url: string, info: IEmptyRequestData, sessionID: string): string;
|
||||
}
|
@ -57,6 +57,8 @@ export interface IGameFixes {
|
||||
fixShotgunDispersion: boolean;
|
||||
/** Remove items added by mods when the mod no longer exists - can fix dead profiles stuck at game load */
|
||||
removeModItemsFromProfile: boolean;
|
||||
/** Remove invalid traders from profile - trader data can be leftover when player removes trader mod */
|
||||
removeInvalidTradersFromProfile: boolean;
|
||||
/** Fix issues that cause the game to not start due to inventory item issues */
|
||||
fixProfileBreakingInventoryItemIssues: boolean;
|
||||
}
|
||||
|
@ -1,12 +1,10 @@
|
||||
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
import { IHideoutProductionData } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IHideoutScavCase } from "@spt/models/eft/hideout/IHideoutScavCase";
|
||||
import { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase";
|
||||
import { IQteData } from "@spt/models/eft/hideout/IQteData";
|
||||
export interface IHideout {
|
||||
areas: IHideoutArea[];
|
||||
production: IHideoutProductionData;
|
||||
scavcase: IHideoutScavCase[];
|
||||
settings: IHideoutSettingsBase;
|
||||
qte: IQteData[];
|
||||
}
|
||||
|
@ -120,4 +120,5 @@ export declare class ProfileFixerService {
|
||||
* @returns matching bonus
|
||||
*/
|
||||
protected getBonusFromProfile(profileBonuses: IBonus[], bonus: IStageBonus): IBonus | undefined;
|
||||
checkForAndRemoveInvalidTraders(fullProfile: ISptProfile): void;
|
||||
}
|
||||
|
@ -138,6 +138,12 @@ export declare class SeasonalEventService {
|
||||
*/
|
||||
protected enableHalloweenSummonEvent(): void;
|
||||
protected configureZombies(zombieSettings: IZombieSettings): void;
|
||||
/**
|
||||
* BSG store the location ids differently inside `LocationInfection`, need to convert to matching location IDs
|
||||
* @param infectedLocationKey Key to convert
|
||||
* @returns Array of locations
|
||||
*/
|
||||
protected getLocationFromInfectedLocation(infectedLocationKey: string): string[];
|
||||
protected addEventWavesToMaps(eventType: string): void;
|
||||
/**
|
||||
* Add event bosses to maps
|
||||
|
@ -8,7 +8,6 @@ import { IHandbookBase } from "@spt/models/eft/common/tables/IHandbookBase";
|
||||
import { IGetItemPricesResponse } from "@spt/models/eft/game/IGetItemPricesResponse";
|
||||
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
import { IHideoutProductionData } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IHideoutScavCase } from "@spt/models/eft/hideout/IHideoutScavCase";
|
||||
import { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase";
|
||||
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
|
||||
import { ISettingsBase } from "@spt/models/spt/server/ISettingsBase";
|
||||
@ -63,7 +62,6 @@ export declare class DataCallbacks {
|
||||
getHideoutSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutSettingsBase>;
|
||||
getHideoutAreas(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutArea[]>;
|
||||
getHideoutProduction(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutProductionData>;
|
||||
getHideoutScavcase(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutScavCase[]>;
|
||||
/**
|
||||
* Handle client/languages
|
||||
*/
|
||||
|
@ -18,11 +18,6 @@ export declare class WeatherController {
|
||||
constructor(weatherGenerator: WeatherGenerator, logger: ILogger, configServer: ConfigServer, seasonalEventService: SeasonalEventService, raidWeatherService: RaidWeatherService, weatherHelper: WeatherHelper);
|
||||
/** Handle client/weather */
|
||||
generate(): IWeatherData;
|
||||
/**
|
||||
* Get the current in-raid time (MUST HAVE PLAYER LOGGED INTO CLIENT TO WORK)
|
||||
* @returns Date object
|
||||
*/
|
||||
getCurrentInRaidTime(): Date;
|
||||
/** Handle client/localGame/weather */
|
||||
generateLocal(sesssionId: string): IGetLocalWeatherResponseData;
|
||||
}
|
||||
|
@ -2,7 +2,7 @@ import { ItemHelper } from "@spt/helpers/ItemHelper";
|
||||
import { PresetHelper } from "@spt/helpers/PresetHelper";
|
||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||
import { IHideoutScavCase } from "@spt/models/eft/hideout/IHideoutScavCase";
|
||||
import { IScavRecipe } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IScavCaseConfig } from "@spt/models/spt/config/IScavCaseConfig";
|
||||
import { IRewardCountAndPriceDetails, IScavCaseRewardCountsAndPrices } from "@spt/models/spt/hideout/ScavCaseRewardCountsAndPrices";
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
@ -84,10 +84,10 @@ export declare class ScavCaseRewardGenerator {
|
||||
protected getFilteredItemsByPrice(dbItems: ITemplateItem[], itemFilters: IRewardCountAndPriceDetails): ITemplateItem[];
|
||||
/**
|
||||
* Gathers the reward min and max count params for each reward quality level from config and scavcase.json into a single object
|
||||
* @param scavCaseDetails scavcase.json values
|
||||
* @param scavCaseDetails production.json/scavRecipes object
|
||||
* @returns ScavCaseRewardCountsAndPrices object
|
||||
*/
|
||||
protected getScavCaseRewardCountsAndPrices(scavCaseDetails: IHideoutScavCase): IScavCaseRewardCountsAndPrices;
|
||||
protected getScavCaseRewardCountsAndPrices(scavCaseDetails: IScavRecipe): IScavCaseRewardCountsAndPrices;
|
||||
/**
|
||||
* Randomises the size of ammo and money stacks
|
||||
* @param itemToCalculate ammo or money item
|
||||
|
@ -113,12 +113,12 @@ export declare class QuestHelper {
|
||||
*/
|
||||
protected generateArmorRewardChildSlots(originalRewardRootItem: IItem, questReward: IQuestReward): void;
|
||||
/**
|
||||
* Gets a flat list of reward items for the given quest at a specific state (e.g. Fail/Success)
|
||||
* Gets a flat list of reward items for the given quest at a specific state for the specified game version (e.g. Fail/Success)
|
||||
* @param quest quest to get rewards for
|
||||
* @param status Quest status that holds the items (Started, Success, Fail)
|
||||
* @returns array of items with the correct maxStack
|
||||
*/
|
||||
getQuestRewardItems(quest: IQuest, status: QuestStatus): IItem[];
|
||||
getQuestRewardItems(quest: IQuest, status: QuestStatus, gameVersion: string): IItem[];
|
||||
/**
|
||||
* Look up quest in db by accepted quest id and construct a profile-ready object ready to store in profile
|
||||
* @param pmcData Player profile
|
||||
@ -321,6 +321,15 @@ export declare class QuestHelper {
|
||||
* @returns array of IQuest
|
||||
*/
|
||||
getClientQuests(sessionID: string): IQuest[];
|
||||
/**
|
||||
* Create a clone of the given quest array with the rewards updated to reflect the
|
||||
* given game version
|
||||
*
|
||||
* @param quests The list of quests to check
|
||||
* @param gameVersion The game version of the profile
|
||||
* @returns array of IQuest objects with the rewards filtered correctly for the game version
|
||||
*/
|
||||
protected updateQuestsForGameEdition(quests: IQuest[], gameVersion: string): IQuest[];
|
||||
/**
|
||||
* Return a list of quests that would fail when supplied quest is completed
|
||||
* @param completedQuestId quest completed id
|
||||
|
@ -10,7 +10,7 @@ export declare class WeatherHelper {
|
||||
protected weatherConfig: IWeatherConfig;
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, configServer: ConfigServer);
|
||||
/**
|
||||
* Get the current in-raid time
|
||||
* Get the current in-raid time - does not include an accurate date, only time
|
||||
* @param currentDate (new Date())
|
||||
* @returns Date object of current in-raid time
|
||||
*/
|
||||
|
@ -1,18 +0,0 @@
|
||||
import { MinMax } from "@spt/models/common/MinMax";
|
||||
export interface IHideoutScavCase {
|
||||
_id: string;
|
||||
ProductionTime: number;
|
||||
Requirements: IRequirement[];
|
||||
EndProducts: IEndProducts;
|
||||
}
|
||||
export interface IRequirement {
|
||||
templateId: string;
|
||||
count: number;
|
||||
isFunctional: boolean;
|
||||
type: string;
|
||||
}
|
||||
export interface IEndProducts {
|
||||
Common: MinMax;
|
||||
Rare: MinMax;
|
||||
Superrare: MinMax;
|
||||
}
|
@ -1,23 +0,0 @@
|
||||
import { IEmptyRequestData } from "@spt/models/eft/common/IEmptyRequestData";
|
||||
import { IGlobals } from "@spt/models/eft/common/IGlobals";
|
||||
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
import { IHideoutProduction } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IHideoutScavCase } from "@spt/models/eft/hideout/IHideoutScavCase";
|
||||
import { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase";
|
||||
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
|
||||
import { ISettingsBase } from "@spt/models/spt/server/ISettingsBase";
|
||||
export interface IDataCallbacks {
|
||||
getSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<ISettingsBase>;
|
||||
getGlobals(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IGlobals>;
|
||||
getTemplateItems(url: string, info: IEmptyRequestData, sessionID: string): string;
|
||||
getTemplateHandbook(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||
getTemplateSuits(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||
getTemplateCharacter(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<string[]>;
|
||||
getHideoutSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutSettingsBase>;
|
||||
getHideoutAreas(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutArea[]>;
|
||||
gethideoutProduction(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutProduction[]>;
|
||||
getHideoutScavcase(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutScavCase[]>;
|
||||
getLocalesLanguages(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<Record<string, string>>;
|
||||
getLocalesMenu(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||
getLocalesGlobal(url: string, info: IEmptyRequestData, sessionID: string): string;
|
||||
}
|
@ -57,6 +57,8 @@ export interface IGameFixes {
|
||||
fixShotgunDispersion: boolean;
|
||||
/** Remove items added by mods when the mod no longer exists - can fix dead profiles stuck at game load */
|
||||
removeModItemsFromProfile: boolean;
|
||||
/** Remove invalid traders from profile - trader data can be leftover when player removes trader mod */
|
||||
removeInvalidTradersFromProfile: boolean;
|
||||
/** Fix issues that cause the game to not start due to inventory item issues */
|
||||
fixProfileBreakingInventoryItemIssues: boolean;
|
||||
}
|
||||
|
@ -1,12 +1,10 @@
|
||||
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
import { IHideoutProductionData } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IHideoutScavCase } from "@spt/models/eft/hideout/IHideoutScavCase";
|
||||
import { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase";
|
||||
import { IQteData } from "@spt/models/eft/hideout/IQteData";
|
||||
export interface IHideout {
|
||||
areas: IHideoutArea[];
|
||||
production: IHideoutProductionData;
|
||||
scavcase: IHideoutScavCase[];
|
||||
settings: IHideoutSettingsBase;
|
||||
qte: IQteData[];
|
||||
}
|
||||
|
@ -120,4 +120,5 @@ export declare class ProfileFixerService {
|
||||
* @returns matching bonus
|
||||
*/
|
||||
protected getBonusFromProfile(profileBonuses: IBonus[], bonus: IStageBonus): IBonus | undefined;
|
||||
checkForAndRemoveInvalidTraders(fullProfile: ISptProfile): void;
|
||||
}
|
||||
|
@ -138,6 +138,12 @@ export declare class SeasonalEventService {
|
||||
*/
|
||||
protected enableHalloweenSummonEvent(): void;
|
||||
protected configureZombies(zombieSettings: IZombieSettings): void;
|
||||
/**
|
||||
* BSG store the location ids differently inside `LocationInfection`, need to convert to matching location IDs
|
||||
* @param infectedLocationKey Key to convert
|
||||
* @returns Array of locations
|
||||
*/
|
||||
protected getLocationFromInfectedLocation(infectedLocationKey: string): string[];
|
||||
protected addEventWavesToMaps(eventType: string): void;
|
||||
/**
|
||||
* Add event bosses to maps
|
||||
|
@ -8,7 +8,6 @@ import { IHandbookBase } from "@spt/models/eft/common/tables/IHandbookBase";
|
||||
import { IGetItemPricesResponse } from "@spt/models/eft/game/IGetItemPricesResponse";
|
||||
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
import { IHideoutProductionData } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IHideoutScavCase } from "@spt/models/eft/hideout/IHideoutScavCase";
|
||||
import { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase";
|
||||
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
|
||||
import { ISettingsBase } from "@spt/models/spt/server/ISettingsBase";
|
||||
@ -63,7 +62,6 @@ export declare class DataCallbacks {
|
||||
getHideoutSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutSettingsBase>;
|
||||
getHideoutAreas(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutArea[]>;
|
||||
getHideoutProduction(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutProductionData>;
|
||||
getHideoutScavcase(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutScavCase[]>;
|
||||
/**
|
||||
* Handle client/languages
|
||||
*/
|
||||
|
@ -18,11 +18,6 @@ export declare class WeatherController {
|
||||
constructor(weatherGenerator: WeatherGenerator, logger: ILogger, configServer: ConfigServer, seasonalEventService: SeasonalEventService, raidWeatherService: RaidWeatherService, weatherHelper: WeatherHelper);
|
||||
/** Handle client/weather */
|
||||
generate(): IWeatherData;
|
||||
/**
|
||||
* Get the current in-raid time (MUST HAVE PLAYER LOGGED INTO CLIENT TO WORK)
|
||||
* @returns Date object
|
||||
*/
|
||||
getCurrentInRaidTime(): Date;
|
||||
/** Handle client/localGame/weather */
|
||||
generateLocal(sesssionId: string): IGetLocalWeatherResponseData;
|
||||
}
|
||||
|
@ -2,7 +2,7 @@ import { ItemHelper } from "@spt/helpers/ItemHelper";
|
||||
import { PresetHelper } from "@spt/helpers/PresetHelper";
|
||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||
import { IHideoutScavCase } from "@spt/models/eft/hideout/IHideoutScavCase";
|
||||
import { IScavRecipe } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IScavCaseConfig } from "@spt/models/spt/config/IScavCaseConfig";
|
||||
import { IRewardCountAndPriceDetails, IScavCaseRewardCountsAndPrices } from "@spt/models/spt/hideout/ScavCaseRewardCountsAndPrices";
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
@ -84,10 +84,10 @@ export declare class ScavCaseRewardGenerator {
|
||||
protected getFilteredItemsByPrice(dbItems: ITemplateItem[], itemFilters: IRewardCountAndPriceDetails): ITemplateItem[];
|
||||
/**
|
||||
* Gathers the reward min and max count params for each reward quality level from config and scavcase.json into a single object
|
||||
* @param scavCaseDetails scavcase.json values
|
||||
* @param scavCaseDetails production.json/scavRecipes object
|
||||
* @returns ScavCaseRewardCountsAndPrices object
|
||||
*/
|
||||
protected getScavCaseRewardCountsAndPrices(scavCaseDetails: IHideoutScavCase): IScavCaseRewardCountsAndPrices;
|
||||
protected getScavCaseRewardCountsAndPrices(scavCaseDetails: IScavRecipe): IScavCaseRewardCountsAndPrices;
|
||||
/**
|
||||
* Randomises the size of ammo and money stacks
|
||||
* @param itemToCalculate ammo or money item
|
||||
|
@ -113,12 +113,12 @@ export declare class QuestHelper {
|
||||
*/
|
||||
protected generateArmorRewardChildSlots(originalRewardRootItem: IItem, questReward: IQuestReward): void;
|
||||
/**
|
||||
* Gets a flat list of reward items for the given quest at a specific state (e.g. Fail/Success)
|
||||
* Gets a flat list of reward items for the given quest at a specific state for the specified game version (e.g. Fail/Success)
|
||||
* @param quest quest to get rewards for
|
||||
* @param status Quest status that holds the items (Started, Success, Fail)
|
||||
* @returns array of items with the correct maxStack
|
||||
*/
|
||||
getQuestRewardItems(quest: IQuest, status: QuestStatus): IItem[];
|
||||
getQuestRewardItems(quest: IQuest, status: QuestStatus, gameVersion: string): IItem[];
|
||||
/**
|
||||
* Look up quest in db by accepted quest id and construct a profile-ready object ready to store in profile
|
||||
* @param pmcData Player profile
|
||||
@ -321,6 +321,15 @@ export declare class QuestHelper {
|
||||
* @returns array of IQuest
|
||||
*/
|
||||
getClientQuests(sessionID: string): IQuest[];
|
||||
/**
|
||||
* Create a clone of the given quest array with the rewards updated to reflect the
|
||||
* given game version
|
||||
*
|
||||
* @param quests The list of quests to check
|
||||
* @param gameVersion The game version of the profile
|
||||
* @returns array of IQuest objects with the rewards filtered correctly for the game version
|
||||
*/
|
||||
protected updateQuestsForGameEdition(quests: IQuest[], gameVersion: string): IQuest[];
|
||||
/**
|
||||
* Return a list of quests that would fail when supplied quest is completed
|
||||
* @param completedQuestId quest completed id
|
||||
|
@ -10,7 +10,7 @@ export declare class WeatherHelper {
|
||||
protected weatherConfig: IWeatherConfig;
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, configServer: ConfigServer);
|
||||
/**
|
||||
* Get the current in-raid time
|
||||
* Get the current in-raid time - does not include an accurate date, only time
|
||||
* @param currentDate (new Date())
|
||||
* @returns Date object of current in-raid time
|
||||
*/
|
||||
|
@ -1,18 +0,0 @@
|
||||
import { MinMax } from "@spt/models/common/MinMax";
|
||||
export interface IHideoutScavCase {
|
||||
_id: string;
|
||||
ProductionTime: number;
|
||||
Requirements: IRequirement[];
|
||||
EndProducts: IEndProducts;
|
||||
}
|
||||
export interface IRequirement {
|
||||
templateId: string;
|
||||
count: number;
|
||||
isFunctional: boolean;
|
||||
type: string;
|
||||
}
|
||||
export interface IEndProducts {
|
||||
Common: MinMax;
|
||||
Rare: MinMax;
|
||||
Superrare: MinMax;
|
||||
}
|
@ -1,23 +0,0 @@
|
||||
import { IEmptyRequestData } from "@spt/models/eft/common/IEmptyRequestData";
|
||||
import { IGlobals } from "@spt/models/eft/common/IGlobals";
|
||||
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
import { IHideoutProduction } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IHideoutScavCase } from "@spt/models/eft/hideout/IHideoutScavCase";
|
||||
import { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase";
|
||||
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
|
||||
import { ISettingsBase } from "@spt/models/spt/server/ISettingsBase";
|
||||
export interface IDataCallbacks {
|
||||
getSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<ISettingsBase>;
|
||||
getGlobals(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IGlobals>;
|
||||
getTemplateItems(url: string, info: IEmptyRequestData, sessionID: string): string;
|
||||
getTemplateHandbook(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||
getTemplateSuits(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||
getTemplateCharacter(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<string[]>;
|
||||
getHideoutSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutSettingsBase>;
|
||||
getHideoutAreas(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutArea[]>;
|
||||
gethideoutProduction(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutProduction[]>;
|
||||
getHideoutScavcase(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutScavCase[]>;
|
||||
getLocalesLanguages(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<Record<string, string>>;
|
||||
getLocalesMenu(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||
getLocalesGlobal(url: string, info: IEmptyRequestData, sessionID: string): string;
|
||||
}
|
@ -57,6 +57,8 @@ export interface IGameFixes {
|
||||
fixShotgunDispersion: boolean;
|
||||
/** Remove items added by mods when the mod no longer exists - can fix dead profiles stuck at game load */
|
||||
removeModItemsFromProfile: boolean;
|
||||
/** Remove invalid traders from profile - trader data can be leftover when player removes trader mod */
|
||||
removeInvalidTradersFromProfile: boolean;
|
||||
/** Fix issues that cause the game to not start due to inventory item issues */
|
||||
fixProfileBreakingInventoryItemIssues: boolean;
|
||||
}
|
||||
|
@ -1,12 +1,10 @@
|
||||
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
import { IHideoutProductionData } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IHideoutScavCase } from "@spt/models/eft/hideout/IHideoutScavCase";
|
||||
import { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase";
|
||||
import { IQteData } from "@spt/models/eft/hideout/IQteData";
|
||||
export interface IHideout {
|
||||
areas: IHideoutArea[];
|
||||
production: IHideoutProductionData;
|
||||
scavcase: IHideoutScavCase[];
|
||||
settings: IHideoutSettingsBase;
|
||||
qte: IQteData[];
|
||||
}
|
||||
|
@ -120,4 +120,5 @@ export declare class ProfileFixerService {
|
||||
* @returns matching bonus
|
||||
*/
|
||||
protected getBonusFromProfile(profileBonuses: IBonus[], bonus: IStageBonus): IBonus | undefined;
|
||||
checkForAndRemoveInvalidTraders(fullProfile: ISptProfile): void;
|
||||
}
|
||||
|
@ -138,6 +138,12 @@ export declare class SeasonalEventService {
|
||||
*/
|
||||
protected enableHalloweenSummonEvent(): void;
|
||||
protected configureZombies(zombieSettings: IZombieSettings): void;
|
||||
/**
|
||||
* BSG store the location ids differently inside `LocationInfection`, need to convert to matching location IDs
|
||||
* @param infectedLocationKey Key to convert
|
||||
* @returns Array of locations
|
||||
*/
|
||||
protected getLocationFromInfectedLocation(infectedLocationKey: string): string[];
|
||||
protected addEventWavesToMaps(eventType: string): void;
|
||||
/**
|
||||
* Add event bosses to maps
|
||||
|
@ -8,7 +8,6 @@ import { IHandbookBase } from "@spt/models/eft/common/tables/IHandbookBase";
|
||||
import { IGetItemPricesResponse } from "@spt/models/eft/game/IGetItemPricesResponse";
|
||||
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
import { IHideoutProductionData } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IHideoutScavCase } from "@spt/models/eft/hideout/IHideoutScavCase";
|
||||
import { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase";
|
||||
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
|
||||
import { ISettingsBase } from "@spt/models/spt/server/ISettingsBase";
|
||||
@ -63,7 +62,6 @@ export declare class DataCallbacks {
|
||||
getHideoutSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutSettingsBase>;
|
||||
getHideoutAreas(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutArea[]>;
|
||||
getHideoutProduction(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutProductionData>;
|
||||
getHideoutScavcase(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutScavCase[]>;
|
||||
/**
|
||||
* Handle client/languages
|
||||
*/
|
||||
|
@ -18,11 +18,6 @@ export declare class WeatherController {
|
||||
constructor(weatherGenerator: WeatherGenerator, logger: ILogger, configServer: ConfigServer, seasonalEventService: SeasonalEventService, raidWeatherService: RaidWeatherService, weatherHelper: WeatherHelper);
|
||||
/** Handle client/weather */
|
||||
generate(): IWeatherData;
|
||||
/**
|
||||
* Get the current in-raid time (MUST HAVE PLAYER LOGGED INTO CLIENT TO WORK)
|
||||
* @returns Date object
|
||||
*/
|
||||
getCurrentInRaidTime(): Date;
|
||||
/** Handle client/localGame/weather */
|
||||
generateLocal(sesssionId: string): IGetLocalWeatherResponseData;
|
||||
}
|
||||
|
@ -2,7 +2,7 @@ import { ItemHelper } from "@spt/helpers/ItemHelper";
|
||||
import { PresetHelper } from "@spt/helpers/PresetHelper";
|
||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||
import { IHideoutScavCase } from "@spt/models/eft/hideout/IHideoutScavCase";
|
||||
import { IScavRecipe } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IScavCaseConfig } from "@spt/models/spt/config/IScavCaseConfig";
|
||||
import { IRewardCountAndPriceDetails, IScavCaseRewardCountsAndPrices } from "@spt/models/spt/hideout/ScavCaseRewardCountsAndPrices";
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
@ -84,10 +84,10 @@ export declare class ScavCaseRewardGenerator {
|
||||
protected getFilteredItemsByPrice(dbItems: ITemplateItem[], itemFilters: IRewardCountAndPriceDetails): ITemplateItem[];
|
||||
/**
|
||||
* Gathers the reward min and max count params for each reward quality level from config and scavcase.json into a single object
|
||||
* @param scavCaseDetails scavcase.json values
|
||||
* @param scavCaseDetails production.json/scavRecipes object
|
||||
* @returns ScavCaseRewardCountsAndPrices object
|
||||
*/
|
||||
protected getScavCaseRewardCountsAndPrices(scavCaseDetails: IHideoutScavCase): IScavCaseRewardCountsAndPrices;
|
||||
protected getScavCaseRewardCountsAndPrices(scavCaseDetails: IScavRecipe): IScavCaseRewardCountsAndPrices;
|
||||
/**
|
||||
* Randomises the size of ammo and money stacks
|
||||
* @param itemToCalculate ammo or money item
|
||||
|
@ -113,12 +113,12 @@ export declare class QuestHelper {
|
||||
*/
|
||||
protected generateArmorRewardChildSlots(originalRewardRootItem: IItem, questReward: IQuestReward): void;
|
||||
/**
|
||||
* Gets a flat list of reward items for the given quest at a specific state (e.g. Fail/Success)
|
||||
* Gets a flat list of reward items for the given quest at a specific state for the specified game version (e.g. Fail/Success)
|
||||
* @param quest quest to get rewards for
|
||||
* @param status Quest status that holds the items (Started, Success, Fail)
|
||||
* @returns array of items with the correct maxStack
|
||||
*/
|
||||
getQuestRewardItems(quest: IQuest, status: QuestStatus): IItem[];
|
||||
getQuestRewardItems(quest: IQuest, status: QuestStatus, gameVersion: string): IItem[];
|
||||
/**
|
||||
* Look up quest in db by accepted quest id and construct a profile-ready object ready to store in profile
|
||||
* @param pmcData Player profile
|
||||
@ -321,6 +321,15 @@ export declare class QuestHelper {
|
||||
* @returns array of IQuest
|
||||
*/
|
||||
getClientQuests(sessionID: string): IQuest[];
|
||||
/**
|
||||
* Create a clone of the given quest array with the rewards updated to reflect the
|
||||
* given game version
|
||||
*
|
||||
* @param quests The list of quests to check
|
||||
* @param gameVersion The game version of the profile
|
||||
* @returns array of IQuest objects with the rewards filtered correctly for the game version
|
||||
*/
|
||||
protected updateQuestsForGameEdition(quests: IQuest[], gameVersion: string): IQuest[];
|
||||
/**
|
||||
* Return a list of quests that would fail when supplied quest is completed
|
||||
* @param completedQuestId quest completed id
|
||||
|
@ -10,7 +10,7 @@ export declare class WeatherHelper {
|
||||
protected weatherConfig: IWeatherConfig;
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, configServer: ConfigServer);
|
||||
/**
|
||||
* Get the current in-raid time
|
||||
* Get the current in-raid time - does not include an accurate date, only time
|
||||
* @param currentDate (new Date())
|
||||
* @returns Date object of current in-raid time
|
||||
*/
|
||||
|
@ -1,18 +0,0 @@
|
||||
import { MinMax } from "@spt/models/common/MinMax";
|
||||
export interface IHideoutScavCase {
|
||||
_id: string;
|
||||
ProductionTime: number;
|
||||
Requirements: IRequirement[];
|
||||
EndProducts: IEndProducts;
|
||||
}
|
||||
export interface IRequirement {
|
||||
templateId: string;
|
||||
count: number;
|
||||
isFunctional: boolean;
|
||||
type: string;
|
||||
}
|
||||
export interface IEndProducts {
|
||||
Common: MinMax;
|
||||
Rare: MinMax;
|
||||
Superrare: MinMax;
|
||||
}
|
@ -1,23 +0,0 @@
|
||||
import { IEmptyRequestData } from "@spt/models/eft/common/IEmptyRequestData";
|
||||
import { IGlobals } from "@spt/models/eft/common/IGlobals";
|
||||
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
import { IHideoutProduction } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IHideoutScavCase } from "@spt/models/eft/hideout/IHideoutScavCase";
|
||||
import { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase";
|
||||
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
|
||||
import { ISettingsBase } from "@spt/models/spt/server/ISettingsBase";
|
||||
export interface IDataCallbacks {
|
||||
getSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<ISettingsBase>;
|
||||
getGlobals(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IGlobals>;
|
||||
getTemplateItems(url: string, info: IEmptyRequestData, sessionID: string): string;
|
||||
getTemplateHandbook(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||
getTemplateSuits(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||
getTemplateCharacter(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<string[]>;
|
||||
getHideoutSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutSettingsBase>;
|
||||
getHideoutAreas(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutArea[]>;
|
||||
gethideoutProduction(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutProduction[]>;
|
||||
getHideoutScavcase(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutScavCase[]>;
|
||||
getLocalesLanguages(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<Record<string, string>>;
|
||||
getLocalesMenu(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||
getLocalesGlobal(url: string, info: IEmptyRequestData, sessionID: string): string;
|
||||
}
|
@ -57,6 +57,8 @@ export interface IGameFixes {
|
||||
fixShotgunDispersion: boolean;
|
||||
/** Remove items added by mods when the mod no longer exists - can fix dead profiles stuck at game load */
|
||||
removeModItemsFromProfile: boolean;
|
||||
/** Remove invalid traders from profile - trader data can be leftover when player removes trader mod */
|
||||
removeInvalidTradersFromProfile: boolean;
|
||||
/** Fix issues that cause the game to not start due to inventory item issues */
|
||||
fixProfileBreakingInventoryItemIssues: boolean;
|
||||
}
|
||||
|
@ -1,12 +1,10 @@
|
||||
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
import { IHideoutProductionData } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IHideoutScavCase } from "@spt/models/eft/hideout/IHideoutScavCase";
|
||||
import { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase";
|
||||
import { IQteData } from "@spt/models/eft/hideout/IQteData";
|
||||
export interface IHideout {
|
||||
areas: IHideoutArea[];
|
||||
production: IHideoutProductionData;
|
||||
scavcase: IHideoutScavCase[];
|
||||
settings: IHideoutSettingsBase;
|
||||
qte: IQteData[];
|
||||
}
|
||||
|
@ -120,4 +120,5 @@ export declare class ProfileFixerService {
|
||||
* @returns matching bonus
|
||||
*/
|
||||
protected getBonusFromProfile(profileBonuses: IBonus[], bonus: IStageBonus): IBonus | undefined;
|
||||
checkForAndRemoveInvalidTraders(fullProfile: ISptProfile): void;
|
||||
}
|
||||
|
@ -138,6 +138,12 @@ export declare class SeasonalEventService {
|
||||
*/
|
||||
protected enableHalloweenSummonEvent(): void;
|
||||
protected configureZombies(zombieSettings: IZombieSettings): void;
|
||||
/**
|
||||
* BSG store the location ids differently inside `LocationInfection`, need to convert to matching location IDs
|
||||
* @param infectedLocationKey Key to convert
|
||||
* @returns Array of locations
|
||||
*/
|
||||
protected getLocationFromInfectedLocation(infectedLocationKey: string): string[];
|
||||
protected addEventWavesToMaps(eventType: string): void;
|
||||
/**
|
||||
* Add event bosses to maps
|
||||
|
@ -8,7 +8,6 @@ import { IHandbookBase } from "@spt/models/eft/common/tables/IHandbookBase";
|
||||
import { IGetItemPricesResponse } from "@spt/models/eft/game/IGetItemPricesResponse";
|
||||
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
import { IHideoutProductionData } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IHideoutScavCase } from "@spt/models/eft/hideout/IHideoutScavCase";
|
||||
import { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase";
|
||||
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
|
||||
import { ISettingsBase } from "@spt/models/spt/server/ISettingsBase";
|
||||
@ -63,7 +62,6 @@ export declare class DataCallbacks {
|
||||
getHideoutSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutSettingsBase>;
|
||||
getHideoutAreas(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutArea[]>;
|
||||
getHideoutProduction(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutProductionData>;
|
||||
getHideoutScavcase(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutScavCase[]>;
|
||||
/**
|
||||
* Handle client/languages
|
||||
*/
|
||||
|
@ -18,11 +18,6 @@ export declare class WeatherController {
|
||||
constructor(weatherGenerator: WeatherGenerator, logger: ILogger, configServer: ConfigServer, seasonalEventService: SeasonalEventService, raidWeatherService: RaidWeatherService, weatherHelper: WeatherHelper);
|
||||
/** Handle client/weather */
|
||||
generate(): IWeatherData;
|
||||
/**
|
||||
* Get the current in-raid time (MUST HAVE PLAYER LOGGED INTO CLIENT TO WORK)
|
||||
* @returns Date object
|
||||
*/
|
||||
getCurrentInRaidTime(): Date;
|
||||
/** Handle client/localGame/weather */
|
||||
generateLocal(sesssionId: string): IGetLocalWeatherResponseData;
|
||||
}
|
||||
|
@ -2,7 +2,7 @@ import { ItemHelper } from "@spt/helpers/ItemHelper";
|
||||
import { PresetHelper } from "@spt/helpers/PresetHelper";
|
||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||
import { IHideoutScavCase } from "@spt/models/eft/hideout/IHideoutScavCase";
|
||||
import { IScavRecipe } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IScavCaseConfig } from "@spt/models/spt/config/IScavCaseConfig";
|
||||
import { IRewardCountAndPriceDetails, IScavCaseRewardCountsAndPrices } from "@spt/models/spt/hideout/ScavCaseRewardCountsAndPrices";
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
@ -84,10 +84,10 @@ export declare class ScavCaseRewardGenerator {
|
||||
protected getFilteredItemsByPrice(dbItems: ITemplateItem[], itemFilters: IRewardCountAndPriceDetails): ITemplateItem[];
|
||||
/**
|
||||
* Gathers the reward min and max count params for each reward quality level from config and scavcase.json into a single object
|
||||
* @param scavCaseDetails scavcase.json values
|
||||
* @param scavCaseDetails production.json/scavRecipes object
|
||||
* @returns ScavCaseRewardCountsAndPrices object
|
||||
*/
|
||||
protected getScavCaseRewardCountsAndPrices(scavCaseDetails: IHideoutScavCase): IScavCaseRewardCountsAndPrices;
|
||||
protected getScavCaseRewardCountsAndPrices(scavCaseDetails: IScavRecipe): IScavCaseRewardCountsAndPrices;
|
||||
/**
|
||||
* Randomises the size of ammo and money stacks
|
||||
* @param itemToCalculate ammo or money item
|
||||
|
@ -113,12 +113,12 @@ export declare class QuestHelper {
|
||||
*/
|
||||
protected generateArmorRewardChildSlots(originalRewardRootItem: IItem, questReward: IQuestReward): void;
|
||||
/**
|
||||
* Gets a flat list of reward items for the given quest at a specific state (e.g. Fail/Success)
|
||||
* Gets a flat list of reward items for the given quest at a specific state for the specified game version (e.g. Fail/Success)
|
||||
* @param quest quest to get rewards for
|
||||
* @param status Quest status that holds the items (Started, Success, Fail)
|
||||
* @returns array of items with the correct maxStack
|
||||
*/
|
||||
getQuestRewardItems(quest: IQuest, status: QuestStatus): IItem[];
|
||||
getQuestRewardItems(quest: IQuest, status: QuestStatus, gameVersion: string): IItem[];
|
||||
/**
|
||||
* Look up quest in db by accepted quest id and construct a profile-ready object ready to store in profile
|
||||
* @param pmcData Player profile
|
||||
@ -321,6 +321,15 @@ export declare class QuestHelper {
|
||||
* @returns array of IQuest
|
||||
*/
|
||||
getClientQuests(sessionID: string): IQuest[];
|
||||
/**
|
||||
* Create a clone of the given quest array with the rewards updated to reflect the
|
||||
* given game version
|
||||
*
|
||||
* @param quests The list of quests to check
|
||||
* @param gameVersion The game version of the profile
|
||||
* @returns array of IQuest objects with the rewards filtered correctly for the game version
|
||||
*/
|
||||
protected updateQuestsForGameEdition(quests: IQuest[], gameVersion: string): IQuest[];
|
||||
/**
|
||||
* Return a list of quests that would fail when supplied quest is completed
|
||||
* @param completedQuestId quest completed id
|
||||
|
@ -10,7 +10,7 @@ export declare class WeatherHelper {
|
||||
protected weatherConfig: IWeatherConfig;
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, configServer: ConfigServer);
|
||||
/**
|
||||
* Get the current in-raid time
|
||||
* Get the current in-raid time - does not include an accurate date, only time
|
||||
* @param currentDate (new Date())
|
||||
* @returns Date object of current in-raid time
|
||||
*/
|
||||
|
@ -1,18 +0,0 @@
|
||||
import { MinMax } from "@spt/models/common/MinMax";
|
||||
export interface IHideoutScavCase {
|
||||
_id: string;
|
||||
ProductionTime: number;
|
||||
Requirements: IRequirement[];
|
||||
EndProducts: IEndProducts;
|
||||
}
|
||||
export interface IRequirement {
|
||||
templateId: string;
|
||||
count: number;
|
||||
isFunctional: boolean;
|
||||
type: string;
|
||||
}
|
||||
export interface IEndProducts {
|
||||
Common: MinMax;
|
||||
Rare: MinMax;
|
||||
Superrare: MinMax;
|
||||
}
|
@ -1,23 +0,0 @@
|
||||
import { IEmptyRequestData } from "@spt/models/eft/common/IEmptyRequestData";
|
||||
import { IGlobals } from "@spt/models/eft/common/IGlobals";
|
||||
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
import { IHideoutProduction } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IHideoutScavCase } from "@spt/models/eft/hideout/IHideoutScavCase";
|
||||
import { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase";
|
||||
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
|
||||
import { ISettingsBase } from "@spt/models/spt/server/ISettingsBase";
|
||||
export interface IDataCallbacks {
|
||||
getSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<ISettingsBase>;
|
||||
getGlobals(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IGlobals>;
|
||||
getTemplateItems(url: string, info: IEmptyRequestData, sessionID: string): string;
|
||||
getTemplateHandbook(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||
getTemplateSuits(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||
getTemplateCharacter(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<string[]>;
|
||||
getHideoutSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutSettingsBase>;
|
||||
getHideoutAreas(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutArea[]>;
|
||||
gethideoutProduction(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutProduction[]>;
|
||||
getHideoutScavcase(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutScavCase[]>;
|
||||
getLocalesLanguages(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<Record<string, string>>;
|
||||
getLocalesMenu(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||
getLocalesGlobal(url: string, info: IEmptyRequestData, sessionID: string): string;
|
||||
}
|
@ -57,6 +57,8 @@ export interface IGameFixes {
|
||||
fixShotgunDispersion: boolean;
|
||||
/** Remove items added by mods when the mod no longer exists - can fix dead profiles stuck at game load */
|
||||
removeModItemsFromProfile: boolean;
|
||||
/** Remove invalid traders from profile - trader data can be leftover when player removes trader mod */
|
||||
removeInvalidTradersFromProfile: boolean;
|
||||
/** Fix issues that cause the game to not start due to inventory item issues */
|
||||
fixProfileBreakingInventoryItemIssues: boolean;
|
||||
}
|
||||
|
@ -1,12 +1,10 @@
|
||||
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
import { IHideoutProductionData } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IHideoutScavCase } from "@spt/models/eft/hideout/IHideoutScavCase";
|
||||
import { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase";
|
||||
import { IQteData } from "@spt/models/eft/hideout/IQteData";
|
||||
export interface IHideout {
|
||||
areas: IHideoutArea[];
|
||||
production: IHideoutProductionData;
|
||||
scavcase: IHideoutScavCase[];
|
||||
settings: IHideoutSettingsBase;
|
||||
qte: IQteData[];
|
||||
}
|
||||
|
@ -120,4 +120,5 @@ export declare class ProfileFixerService {
|
||||
* @returns matching bonus
|
||||
*/
|
||||
protected getBonusFromProfile(profileBonuses: IBonus[], bonus: IStageBonus): IBonus | undefined;
|
||||
checkForAndRemoveInvalidTraders(fullProfile: ISptProfile): void;
|
||||
}
|
||||
|
@ -138,6 +138,12 @@ export declare class SeasonalEventService {
|
||||
*/
|
||||
protected enableHalloweenSummonEvent(): void;
|
||||
protected configureZombies(zombieSettings: IZombieSettings): void;
|
||||
/**
|
||||
* BSG store the location ids differently inside `LocationInfection`, need to convert to matching location IDs
|
||||
* @param infectedLocationKey Key to convert
|
||||
* @returns Array of locations
|
||||
*/
|
||||
protected getLocationFromInfectedLocation(infectedLocationKey: string): string[];
|
||||
protected addEventWavesToMaps(eventType: string): void;
|
||||
/**
|
||||
* Add event bosses to maps
|
||||
|
@ -8,7 +8,6 @@ import { IHandbookBase } from "@spt/models/eft/common/tables/IHandbookBase";
|
||||
import { IGetItemPricesResponse } from "@spt/models/eft/game/IGetItemPricesResponse";
|
||||
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
import { IHideoutProductionData } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IHideoutScavCase } from "@spt/models/eft/hideout/IHideoutScavCase";
|
||||
import { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase";
|
||||
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
|
||||
import { ISettingsBase } from "@spt/models/spt/server/ISettingsBase";
|
||||
@ -63,7 +62,6 @@ export declare class DataCallbacks {
|
||||
getHideoutSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutSettingsBase>;
|
||||
getHideoutAreas(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutArea[]>;
|
||||
getHideoutProduction(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutProductionData>;
|
||||
getHideoutScavcase(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutScavCase[]>;
|
||||
/**
|
||||
* Handle client/languages
|
||||
*/
|
||||
|
@ -18,11 +18,6 @@ export declare class WeatherController {
|
||||
constructor(weatherGenerator: WeatherGenerator, logger: ILogger, configServer: ConfigServer, seasonalEventService: SeasonalEventService, raidWeatherService: RaidWeatherService, weatherHelper: WeatherHelper);
|
||||
/** Handle client/weather */
|
||||
generate(): IWeatherData;
|
||||
/**
|
||||
* Get the current in-raid time (MUST HAVE PLAYER LOGGED INTO CLIENT TO WORK)
|
||||
* @returns Date object
|
||||
*/
|
||||
getCurrentInRaidTime(): Date;
|
||||
/** Handle client/localGame/weather */
|
||||
generateLocal(sesssionId: string): IGetLocalWeatherResponseData;
|
||||
}
|
||||
|
@ -2,7 +2,7 @@ import { ItemHelper } from "@spt/helpers/ItemHelper";
|
||||
import { PresetHelper } from "@spt/helpers/PresetHelper";
|
||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||
import { IHideoutScavCase } from "@spt/models/eft/hideout/IHideoutScavCase";
|
||||
import { IScavRecipe } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IScavCaseConfig } from "@spt/models/spt/config/IScavCaseConfig";
|
||||
import { IRewardCountAndPriceDetails, IScavCaseRewardCountsAndPrices } from "@spt/models/spt/hideout/ScavCaseRewardCountsAndPrices";
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
@ -84,10 +84,10 @@ export declare class ScavCaseRewardGenerator {
|
||||
protected getFilteredItemsByPrice(dbItems: ITemplateItem[], itemFilters: IRewardCountAndPriceDetails): ITemplateItem[];
|
||||
/**
|
||||
* Gathers the reward min and max count params for each reward quality level from config and scavcase.json into a single object
|
||||
* @param scavCaseDetails scavcase.json values
|
||||
* @param scavCaseDetails production.json/scavRecipes object
|
||||
* @returns ScavCaseRewardCountsAndPrices object
|
||||
*/
|
||||
protected getScavCaseRewardCountsAndPrices(scavCaseDetails: IHideoutScavCase): IScavCaseRewardCountsAndPrices;
|
||||
protected getScavCaseRewardCountsAndPrices(scavCaseDetails: IScavRecipe): IScavCaseRewardCountsAndPrices;
|
||||
/**
|
||||
* Randomises the size of ammo and money stacks
|
||||
* @param itemToCalculate ammo or money item
|
||||
|
@ -113,12 +113,12 @@ export declare class QuestHelper {
|
||||
*/
|
||||
protected generateArmorRewardChildSlots(originalRewardRootItem: IItem, questReward: IQuestReward): void;
|
||||
/**
|
||||
* Gets a flat list of reward items for the given quest at a specific state (e.g. Fail/Success)
|
||||
* Gets a flat list of reward items for the given quest at a specific state for the specified game version (e.g. Fail/Success)
|
||||
* @param quest quest to get rewards for
|
||||
* @param status Quest status that holds the items (Started, Success, Fail)
|
||||
* @returns array of items with the correct maxStack
|
||||
*/
|
||||
getQuestRewardItems(quest: IQuest, status: QuestStatus): IItem[];
|
||||
getQuestRewardItems(quest: IQuest, status: QuestStatus, gameVersion: string): IItem[];
|
||||
/**
|
||||
* Look up quest in db by accepted quest id and construct a profile-ready object ready to store in profile
|
||||
* @param pmcData Player profile
|
||||
@ -321,6 +321,15 @@ export declare class QuestHelper {
|
||||
* @returns array of IQuest
|
||||
*/
|
||||
getClientQuests(sessionID: string): IQuest[];
|
||||
/**
|
||||
* Create a clone of the given quest array with the rewards updated to reflect the
|
||||
* given game version
|
||||
*
|
||||
* @param quests The list of quests to check
|
||||
* @param gameVersion The game version of the profile
|
||||
* @returns array of IQuest objects with the rewards filtered correctly for the game version
|
||||
*/
|
||||
protected updateQuestsForGameEdition(quests: IQuest[], gameVersion: string): IQuest[];
|
||||
/**
|
||||
* Return a list of quests that would fail when supplied quest is completed
|
||||
* @param completedQuestId quest completed id
|
||||
|
@ -10,7 +10,7 @@ export declare class WeatherHelper {
|
||||
protected weatherConfig: IWeatherConfig;
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, configServer: ConfigServer);
|
||||
/**
|
||||
* Get the current in-raid time
|
||||
* Get the current in-raid time - does not include an accurate date, only time
|
||||
* @param currentDate (new Date())
|
||||
* @returns Date object of current in-raid time
|
||||
*/
|
||||
|
@ -1,18 +0,0 @@
|
||||
import { MinMax } from "@spt/models/common/MinMax";
|
||||
export interface IHideoutScavCase {
|
||||
_id: string;
|
||||
ProductionTime: number;
|
||||
Requirements: IRequirement[];
|
||||
EndProducts: IEndProducts;
|
||||
}
|
||||
export interface IRequirement {
|
||||
templateId: string;
|
||||
count: number;
|
||||
isFunctional: boolean;
|
||||
type: string;
|
||||
}
|
||||
export interface IEndProducts {
|
||||
Common: MinMax;
|
||||
Rare: MinMax;
|
||||
Superrare: MinMax;
|
||||
}
|
@ -1,23 +0,0 @@
|
||||
import { IEmptyRequestData } from "@spt/models/eft/common/IEmptyRequestData";
|
||||
import { IGlobals } from "@spt/models/eft/common/IGlobals";
|
||||
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
import { IHideoutProduction } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IHideoutScavCase } from "@spt/models/eft/hideout/IHideoutScavCase";
|
||||
import { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase";
|
||||
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
|
||||
import { ISettingsBase } from "@spt/models/spt/server/ISettingsBase";
|
||||
export interface IDataCallbacks {
|
||||
getSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<ISettingsBase>;
|
||||
getGlobals(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IGlobals>;
|
||||
getTemplateItems(url: string, info: IEmptyRequestData, sessionID: string): string;
|
||||
getTemplateHandbook(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||
getTemplateSuits(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||
getTemplateCharacter(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<string[]>;
|
||||
getHideoutSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutSettingsBase>;
|
||||
getHideoutAreas(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutArea[]>;
|
||||
gethideoutProduction(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutProduction[]>;
|
||||
getHideoutScavcase(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutScavCase[]>;
|
||||
getLocalesLanguages(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<Record<string, string>>;
|
||||
getLocalesMenu(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||
getLocalesGlobal(url: string, info: IEmptyRequestData, sessionID: string): string;
|
||||
}
|
@ -57,6 +57,8 @@ export interface IGameFixes {
|
||||
fixShotgunDispersion: boolean;
|
||||
/** Remove items added by mods when the mod no longer exists - can fix dead profiles stuck at game load */
|
||||
removeModItemsFromProfile: boolean;
|
||||
/** Remove invalid traders from profile - trader data can be leftover when player removes trader mod */
|
||||
removeInvalidTradersFromProfile: boolean;
|
||||
/** Fix issues that cause the game to not start due to inventory item issues */
|
||||
fixProfileBreakingInventoryItemIssues: boolean;
|
||||
}
|
||||
|
@ -1,12 +1,10 @@
|
||||
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
import { IHideoutProductionData } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IHideoutScavCase } from "@spt/models/eft/hideout/IHideoutScavCase";
|
||||
import { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase";
|
||||
import { IQteData } from "@spt/models/eft/hideout/IQteData";
|
||||
export interface IHideout {
|
||||
areas: IHideoutArea[];
|
||||
production: IHideoutProductionData;
|
||||
scavcase: IHideoutScavCase[];
|
||||
settings: IHideoutSettingsBase;
|
||||
qte: IQteData[];
|
||||
}
|
||||
|
@ -120,4 +120,5 @@ export declare class ProfileFixerService {
|
||||
* @returns matching bonus
|
||||
*/
|
||||
protected getBonusFromProfile(profileBonuses: IBonus[], bonus: IStageBonus): IBonus | undefined;
|
||||
checkForAndRemoveInvalidTraders(fullProfile: ISptProfile): void;
|
||||
}
|
||||
|
@ -138,6 +138,12 @@ export declare class SeasonalEventService {
|
||||
*/
|
||||
protected enableHalloweenSummonEvent(): void;
|
||||
protected configureZombies(zombieSettings: IZombieSettings): void;
|
||||
/**
|
||||
* BSG store the location ids differently inside `LocationInfection`, need to convert to matching location IDs
|
||||
* @param infectedLocationKey Key to convert
|
||||
* @returns Array of locations
|
||||
*/
|
||||
protected getLocationFromInfectedLocation(infectedLocationKey: string): string[];
|
||||
protected addEventWavesToMaps(eventType: string): void;
|
||||
/**
|
||||
* Add event bosses to maps
|
||||
|
@ -8,7 +8,6 @@ import { IHandbookBase } from "@spt/models/eft/common/tables/IHandbookBase";
|
||||
import { IGetItemPricesResponse } from "@spt/models/eft/game/IGetItemPricesResponse";
|
||||
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
||||
import { IHideoutProductionData } from "@spt/models/eft/hideout/IHideoutProduction";
|
||||
import { IHideoutScavCase } from "@spt/models/eft/hideout/IHideoutScavCase";
|
||||
import { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase";
|
||||
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
|
||||
import { ISettingsBase } from "@spt/models/spt/server/ISettingsBase";
|
||||
@ -63,7 +62,6 @@ export declare class DataCallbacks {
|
||||
getHideoutSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutSettingsBase>;
|
||||
getHideoutAreas(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutArea[]>;
|
||||
getHideoutProduction(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutProductionData>;
|
||||
getHideoutScavcase(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutScavCase[]>;
|
||||
/**
|
||||
* Handle client/languages
|
||||
*/
|
||||
|
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