Update to SPT 3.10.0 #38
@ -8,7 +8,6 @@ import { IHandbookBase } from "@spt/models/eft/common/tables/IHandbookBase";
|
|||||||
import { IGetItemPricesResponse } from "@spt/models/eft/game/IGetItemPricesResponse";
|
import { IGetItemPricesResponse } from "@spt/models/eft/game/IGetItemPricesResponse";
|
||||||
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
||||||
import { IHideoutProductionData } from "@spt/models/eft/hideout/IHideoutProduction";
|
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 { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase";
|
||||||
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
|
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
|
||||||
import { ISettingsBase } from "@spt/models/spt/server/ISettingsBase";
|
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>;
|
getHideoutSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutSettingsBase>;
|
||||||
getHideoutAreas(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutArea[]>;
|
getHideoutAreas(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutArea[]>;
|
||||||
getHideoutProduction(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutProductionData>;
|
getHideoutProduction(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutProductionData>;
|
||||||
getHideoutScavcase(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutScavCase[]>;
|
|
||||||
/**
|
/**
|
||||||
* Handle client/languages
|
* Handle client/languages
|
||||||
*/
|
*/
|
||||||
|
@ -18,11 +18,6 @@ export declare class WeatherController {
|
|||||||
constructor(weatherGenerator: WeatherGenerator, logger: ILogger, configServer: ConfigServer, seasonalEventService: SeasonalEventService, raidWeatherService: RaidWeatherService, weatherHelper: WeatherHelper);
|
constructor(weatherGenerator: WeatherGenerator, logger: ILogger, configServer: ConfigServer, seasonalEventService: SeasonalEventService, raidWeatherService: RaidWeatherService, weatherHelper: WeatherHelper);
|
||||||
/** Handle client/weather */
|
/** Handle client/weather */
|
||||||
generate(): IWeatherData;
|
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 */
|
/** Handle client/localGame/weather */
|
||||||
generateLocal(sesssionId: string): IGetLocalWeatherResponseData;
|
generateLocal(sesssionId: string): IGetLocalWeatherResponseData;
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@ import { ItemHelper } from "@spt/helpers/ItemHelper";
|
|||||||
import { PresetHelper } from "@spt/helpers/PresetHelper";
|
import { PresetHelper } from "@spt/helpers/PresetHelper";
|
||||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
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 { IScavCaseConfig } from "@spt/models/spt/config/IScavCaseConfig";
|
||||||
import { IRewardCountAndPriceDetails, IScavCaseRewardCountsAndPrices } from "@spt/models/spt/hideout/ScavCaseRewardCountsAndPrices";
|
import { IRewardCountAndPriceDetails, IScavCaseRewardCountsAndPrices } from "@spt/models/spt/hideout/ScavCaseRewardCountsAndPrices";
|
||||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||||
@ -84,10 +84,10 @@ export declare class ScavCaseRewardGenerator {
|
|||||||
protected getFilteredItemsByPrice(dbItems: ITemplateItem[], itemFilters: IRewardCountAndPriceDetails): ITemplateItem[];
|
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
|
* 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
|
* @returns ScavCaseRewardCountsAndPrices object
|
||||||
*/
|
*/
|
||||||
protected getScavCaseRewardCountsAndPrices(scavCaseDetails: IHideoutScavCase): IScavCaseRewardCountsAndPrices;
|
protected getScavCaseRewardCountsAndPrices(scavCaseDetails: IScavRecipe): IScavCaseRewardCountsAndPrices;
|
||||||
/**
|
/**
|
||||||
* Randomises the size of ammo and money stacks
|
* Randomises the size of ammo and money stacks
|
||||||
* @param itemToCalculate ammo or money item
|
* @param itemToCalculate ammo or money item
|
||||||
|
@ -113,12 +113,12 @@ export declare class QuestHelper {
|
|||||||
*/
|
*/
|
||||||
protected generateArmorRewardChildSlots(originalRewardRootItem: IItem, questReward: IQuestReward): void;
|
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 quest quest to get rewards for
|
||||||
* @param status Quest status that holds the items (Started, Success, Fail)
|
* @param status Quest status that holds the items (Started, Success, Fail)
|
||||||
* @returns array of items with the correct maxStack
|
* @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
|
* Look up quest in db by accepted quest id and construct a profile-ready object ready to store in profile
|
||||||
* @param pmcData Player profile
|
* @param pmcData Player profile
|
||||||
@ -321,6 +321,15 @@ export declare class QuestHelper {
|
|||||||
* @returns array of IQuest
|
* @returns array of IQuest
|
||||||
*/
|
*/
|
||||||
getClientQuests(sessionID: string): 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
|
* Return a list of quests that would fail when supplied quest is completed
|
||||||
* @param completedQuestId quest completed id
|
* @param completedQuestId quest completed id
|
||||||
|
@ -10,7 +10,7 @@ export declare class WeatherHelper {
|
|||||||
protected weatherConfig: IWeatherConfig;
|
protected weatherConfig: IWeatherConfig;
|
||||||
constructor(logger: ILogger, timeUtil: TimeUtil, configServer: ConfigServer);
|
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())
|
* @param currentDate (new Date())
|
||||||
* @returns Date object of current in-raid time
|
* @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;
|
fixShotgunDispersion: boolean;
|
||||||
/** Remove items added by mods when the mod no longer exists - can fix dead profiles stuck at game load */
|
/** Remove items added by mods when the mod no longer exists - can fix dead profiles stuck at game load */
|
||||||
removeModItemsFromProfile: boolean;
|
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 */
|
/** Fix issues that cause the game to not start due to inventory item issues */
|
||||||
fixProfileBreakingInventoryItemIssues: boolean;
|
fixProfileBreakingInventoryItemIssues: boolean;
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
||||||
import { IHideoutProductionData } from "@spt/models/eft/hideout/IHideoutProduction";
|
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 { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase";
|
||||||
import { IQteData } from "@spt/models/eft/hideout/IQteData";
|
import { IQteData } from "@spt/models/eft/hideout/IQteData";
|
||||||
export interface IHideout {
|
export interface IHideout {
|
||||||
areas: IHideoutArea[];
|
areas: IHideoutArea[];
|
||||||
production: IHideoutProductionData;
|
production: IHideoutProductionData;
|
||||||
scavcase: IHideoutScavCase[];
|
|
||||||
settings: IHideoutSettingsBase;
|
settings: IHideoutSettingsBase;
|
||||||
qte: IQteData[];
|
qte: IQteData[];
|
||||||
}
|
}
|
||||||
|
@ -120,4 +120,5 @@ export declare class ProfileFixerService {
|
|||||||
* @returns matching bonus
|
* @returns matching bonus
|
||||||
*/
|
*/
|
||||||
protected getBonusFromProfile(profileBonuses: IBonus[], bonus: IStageBonus): IBonus | undefined;
|
protected getBonusFromProfile(profileBonuses: IBonus[], bonus: IStageBonus): IBonus | undefined;
|
||||||
|
checkForAndRemoveInvalidTraders(fullProfile: ISptProfile): void;
|
||||||
}
|
}
|
||||||
|
@ -138,6 +138,12 @@ export declare class SeasonalEventService {
|
|||||||
*/
|
*/
|
||||||
protected enableHalloweenSummonEvent(): void;
|
protected enableHalloweenSummonEvent(): void;
|
||||||
protected configureZombies(zombieSettings: IZombieSettings): 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;
|
protected addEventWavesToMaps(eventType: string): void;
|
||||||
/**
|
/**
|
||||||
* Add event bosses to maps
|
* 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 { IGetItemPricesResponse } from "@spt/models/eft/game/IGetItemPricesResponse";
|
||||||
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
||||||
import { IHideoutProductionData } from "@spt/models/eft/hideout/IHideoutProduction";
|
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 { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase";
|
||||||
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
|
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
|
||||||
import { ISettingsBase } from "@spt/models/spt/server/ISettingsBase";
|
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>;
|
getHideoutSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutSettingsBase>;
|
||||||
getHideoutAreas(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutArea[]>;
|
getHideoutAreas(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutArea[]>;
|
||||||
getHideoutProduction(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutProductionData>;
|
getHideoutProduction(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutProductionData>;
|
||||||
getHideoutScavcase(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutScavCase[]>;
|
|
||||||
/**
|
/**
|
||||||
* Handle client/languages
|
* Handle client/languages
|
||||||
*/
|
*/
|
||||||
|
@ -18,11 +18,6 @@ export declare class WeatherController {
|
|||||||
constructor(weatherGenerator: WeatherGenerator, logger: ILogger, configServer: ConfigServer, seasonalEventService: SeasonalEventService, raidWeatherService: RaidWeatherService, weatherHelper: WeatherHelper);
|
constructor(weatherGenerator: WeatherGenerator, logger: ILogger, configServer: ConfigServer, seasonalEventService: SeasonalEventService, raidWeatherService: RaidWeatherService, weatherHelper: WeatherHelper);
|
||||||
/** Handle client/weather */
|
/** Handle client/weather */
|
||||||
generate(): IWeatherData;
|
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 */
|
/** Handle client/localGame/weather */
|
||||||
generateLocal(sesssionId: string): IGetLocalWeatherResponseData;
|
generateLocal(sesssionId: string): IGetLocalWeatherResponseData;
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@ import { ItemHelper } from "@spt/helpers/ItemHelper";
|
|||||||
import { PresetHelper } from "@spt/helpers/PresetHelper";
|
import { PresetHelper } from "@spt/helpers/PresetHelper";
|
||||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
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 { IScavCaseConfig } from "@spt/models/spt/config/IScavCaseConfig";
|
||||||
import { IRewardCountAndPriceDetails, IScavCaseRewardCountsAndPrices } from "@spt/models/spt/hideout/ScavCaseRewardCountsAndPrices";
|
import { IRewardCountAndPriceDetails, IScavCaseRewardCountsAndPrices } from "@spt/models/spt/hideout/ScavCaseRewardCountsAndPrices";
|
||||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||||
@ -84,10 +84,10 @@ export declare class ScavCaseRewardGenerator {
|
|||||||
protected getFilteredItemsByPrice(dbItems: ITemplateItem[], itemFilters: IRewardCountAndPriceDetails): ITemplateItem[];
|
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
|
* 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
|
* @returns ScavCaseRewardCountsAndPrices object
|
||||||
*/
|
*/
|
||||||
protected getScavCaseRewardCountsAndPrices(scavCaseDetails: IHideoutScavCase): IScavCaseRewardCountsAndPrices;
|
protected getScavCaseRewardCountsAndPrices(scavCaseDetails: IScavRecipe): IScavCaseRewardCountsAndPrices;
|
||||||
/**
|
/**
|
||||||
* Randomises the size of ammo and money stacks
|
* Randomises the size of ammo and money stacks
|
||||||
* @param itemToCalculate ammo or money item
|
* @param itemToCalculate ammo or money item
|
||||||
|
@ -113,12 +113,12 @@ export declare class QuestHelper {
|
|||||||
*/
|
*/
|
||||||
protected generateArmorRewardChildSlots(originalRewardRootItem: IItem, questReward: IQuestReward): void;
|
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 quest quest to get rewards for
|
||||||
* @param status Quest status that holds the items (Started, Success, Fail)
|
* @param status Quest status that holds the items (Started, Success, Fail)
|
||||||
* @returns array of items with the correct maxStack
|
* @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
|
* Look up quest in db by accepted quest id and construct a profile-ready object ready to store in profile
|
||||||
* @param pmcData Player profile
|
* @param pmcData Player profile
|
||||||
@ -321,6 +321,15 @@ export declare class QuestHelper {
|
|||||||
* @returns array of IQuest
|
* @returns array of IQuest
|
||||||
*/
|
*/
|
||||||
getClientQuests(sessionID: string): 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
|
* Return a list of quests that would fail when supplied quest is completed
|
||||||
* @param completedQuestId quest completed id
|
* @param completedQuestId quest completed id
|
||||||
|
@ -10,7 +10,7 @@ export declare class WeatherHelper {
|
|||||||
protected weatherConfig: IWeatherConfig;
|
protected weatherConfig: IWeatherConfig;
|
||||||
constructor(logger: ILogger, timeUtil: TimeUtil, configServer: ConfigServer);
|
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())
|
* @param currentDate (new Date())
|
||||||
* @returns Date object of current in-raid time
|
* @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;
|
fixShotgunDispersion: boolean;
|
||||||
/** Remove items added by mods when the mod no longer exists - can fix dead profiles stuck at game load */
|
/** Remove items added by mods when the mod no longer exists - can fix dead profiles stuck at game load */
|
||||||
removeModItemsFromProfile: boolean;
|
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 */
|
/** Fix issues that cause the game to not start due to inventory item issues */
|
||||||
fixProfileBreakingInventoryItemIssues: boolean;
|
fixProfileBreakingInventoryItemIssues: boolean;
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
||||||
import { IHideoutProductionData } from "@spt/models/eft/hideout/IHideoutProduction";
|
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 { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase";
|
||||||
import { IQteData } from "@spt/models/eft/hideout/IQteData";
|
import { IQteData } from "@spt/models/eft/hideout/IQteData";
|
||||||
export interface IHideout {
|
export interface IHideout {
|
||||||
areas: IHideoutArea[];
|
areas: IHideoutArea[];
|
||||||
production: IHideoutProductionData;
|
production: IHideoutProductionData;
|
||||||
scavcase: IHideoutScavCase[];
|
|
||||||
settings: IHideoutSettingsBase;
|
settings: IHideoutSettingsBase;
|
||||||
qte: IQteData[];
|
qte: IQteData[];
|
||||||
}
|
}
|
||||||
|
@ -120,4 +120,5 @@ export declare class ProfileFixerService {
|
|||||||
* @returns matching bonus
|
* @returns matching bonus
|
||||||
*/
|
*/
|
||||||
protected getBonusFromProfile(profileBonuses: IBonus[], bonus: IStageBonus): IBonus | undefined;
|
protected getBonusFromProfile(profileBonuses: IBonus[], bonus: IStageBonus): IBonus | undefined;
|
||||||
|
checkForAndRemoveInvalidTraders(fullProfile: ISptProfile): void;
|
||||||
}
|
}
|
||||||
|
@ -138,6 +138,12 @@ export declare class SeasonalEventService {
|
|||||||
*/
|
*/
|
||||||
protected enableHalloweenSummonEvent(): void;
|
protected enableHalloweenSummonEvent(): void;
|
||||||
protected configureZombies(zombieSettings: IZombieSettings): 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;
|
protected addEventWavesToMaps(eventType: string): void;
|
||||||
/**
|
/**
|
||||||
* Add event bosses to maps
|
* 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 { IGetItemPricesResponse } from "@spt/models/eft/game/IGetItemPricesResponse";
|
||||||
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
||||||
import { IHideoutProductionData } from "@spt/models/eft/hideout/IHideoutProduction";
|
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 { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase";
|
||||||
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
|
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
|
||||||
import { ISettingsBase } from "@spt/models/spt/server/ISettingsBase";
|
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>;
|
getHideoutSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutSettingsBase>;
|
||||||
getHideoutAreas(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutArea[]>;
|
getHideoutAreas(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutArea[]>;
|
||||||
getHideoutProduction(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutProductionData>;
|
getHideoutProduction(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutProductionData>;
|
||||||
getHideoutScavcase(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutScavCase[]>;
|
|
||||||
/**
|
/**
|
||||||
* Handle client/languages
|
* Handle client/languages
|
||||||
*/
|
*/
|
||||||
|
@ -18,11 +18,6 @@ export declare class WeatherController {
|
|||||||
constructor(weatherGenerator: WeatherGenerator, logger: ILogger, configServer: ConfigServer, seasonalEventService: SeasonalEventService, raidWeatherService: RaidWeatherService, weatherHelper: WeatherHelper);
|
constructor(weatherGenerator: WeatherGenerator, logger: ILogger, configServer: ConfigServer, seasonalEventService: SeasonalEventService, raidWeatherService: RaidWeatherService, weatherHelper: WeatherHelper);
|
||||||
/** Handle client/weather */
|
/** Handle client/weather */
|
||||||
generate(): IWeatherData;
|
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 */
|
/** Handle client/localGame/weather */
|
||||||
generateLocal(sesssionId: string): IGetLocalWeatherResponseData;
|
generateLocal(sesssionId: string): IGetLocalWeatherResponseData;
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@ import { ItemHelper } from "@spt/helpers/ItemHelper";
|
|||||||
import { PresetHelper } from "@spt/helpers/PresetHelper";
|
import { PresetHelper } from "@spt/helpers/PresetHelper";
|
||||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
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 { IScavCaseConfig } from "@spt/models/spt/config/IScavCaseConfig";
|
||||||
import { IRewardCountAndPriceDetails, IScavCaseRewardCountsAndPrices } from "@spt/models/spt/hideout/ScavCaseRewardCountsAndPrices";
|
import { IRewardCountAndPriceDetails, IScavCaseRewardCountsAndPrices } from "@spt/models/spt/hideout/ScavCaseRewardCountsAndPrices";
|
||||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||||
@ -84,10 +84,10 @@ export declare class ScavCaseRewardGenerator {
|
|||||||
protected getFilteredItemsByPrice(dbItems: ITemplateItem[], itemFilters: IRewardCountAndPriceDetails): ITemplateItem[];
|
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
|
* 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
|
* @returns ScavCaseRewardCountsAndPrices object
|
||||||
*/
|
*/
|
||||||
protected getScavCaseRewardCountsAndPrices(scavCaseDetails: IHideoutScavCase): IScavCaseRewardCountsAndPrices;
|
protected getScavCaseRewardCountsAndPrices(scavCaseDetails: IScavRecipe): IScavCaseRewardCountsAndPrices;
|
||||||
/**
|
/**
|
||||||
* Randomises the size of ammo and money stacks
|
* Randomises the size of ammo and money stacks
|
||||||
* @param itemToCalculate ammo or money item
|
* @param itemToCalculate ammo or money item
|
||||||
|
@ -113,12 +113,12 @@ export declare class QuestHelper {
|
|||||||
*/
|
*/
|
||||||
protected generateArmorRewardChildSlots(originalRewardRootItem: IItem, questReward: IQuestReward): void;
|
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 quest quest to get rewards for
|
||||||
* @param status Quest status that holds the items (Started, Success, Fail)
|
* @param status Quest status that holds the items (Started, Success, Fail)
|
||||||
* @returns array of items with the correct maxStack
|
* @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
|
* Look up quest in db by accepted quest id and construct a profile-ready object ready to store in profile
|
||||||
* @param pmcData Player profile
|
* @param pmcData Player profile
|
||||||
@ -321,6 +321,15 @@ export declare class QuestHelper {
|
|||||||
* @returns array of IQuest
|
* @returns array of IQuest
|
||||||
*/
|
*/
|
||||||
getClientQuests(sessionID: string): 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
|
* Return a list of quests that would fail when supplied quest is completed
|
||||||
* @param completedQuestId quest completed id
|
* @param completedQuestId quest completed id
|
||||||
|
@ -10,7 +10,7 @@ export declare class WeatherHelper {
|
|||||||
protected weatherConfig: IWeatherConfig;
|
protected weatherConfig: IWeatherConfig;
|
||||||
constructor(logger: ILogger, timeUtil: TimeUtil, configServer: ConfigServer);
|
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())
|
* @param currentDate (new Date())
|
||||||
* @returns Date object of current in-raid time
|
* @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;
|
fixShotgunDispersion: boolean;
|
||||||
/** Remove items added by mods when the mod no longer exists - can fix dead profiles stuck at game load */
|
/** Remove items added by mods when the mod no longer exists - can fix dead profiles stuck at game load */
|
||||||
removeModItemsFromProfile: boolean;
|
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 */
|
/** Fix issues that cause the game to not start due to inventory item issues */
|
||||||
fixProfileBreakingInventoryItemIssues: boolean;
|
fixProfileBreakingInventoryItemIssues: boolean;
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
||||||
import { IHideoutProductionData } from "@spt/models/eft/hideout/IHideoutProduction";
|
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 { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase";
|
||||||
import { IQteData } from "@spt/models/eft/hideout/IQteData";
|
import { IQteData } from "@spt/models/eft/hideout/IQteData";
|
||||||
export interface IHideout {
|
export interface IHideout {
|
||||||
areas: IHideoutArea[];
|
areas: IHideoutArea[];
|
||||||
production: IHideoutProductionData;
|
production: IHideoutProductionData;
|
||||||
scavcase: IHideoutScavCase[];
|
|
||||||
settings: IHideoutSettingsBase;
|
settings: IHideoutSettingsBase;
|
||||||
qte: IQteData[];
|
qte: IQteData[];
|
||||||
}
|
}
|
||||||
|
@ -120,4 +120,5 @@ export declare class ProfileFixerService {
|
|||||||
* @returns matching bonus
|
* @returns matching bonus
|
||||||
*/
|
*/
|
||||||
protected getBonusFromProfile(profileBonuses: IBonus[], bonus: IStageBonus): IBonus | undefined;
|
protected getBonusFromProfile(profileBonuses: IBonus[], bonus: IStageBonus): IBonus | undefined;
|
||||||
|
checkForAndRemoveInvalidTraders(fullProfile: ISptProfile): void;
|
||||||
}
|
}
|
||||||
|
@ -138,6 +138,12 @@ export declare class SeasonalEventService {
|
|||||||
*/
|
*/
|
||||||
protected enableHalloweenSummonEvent(): void;
|
protected enableHalloweenSummonEvent(): void;
|
||||||
protected configureZombies(zombieSettings: IZombieSettings): 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;
|
protected addEventWavesToMaps(eventType: string): void;
|
||||||
/**
|
/**
|
||||||
* Add event bosses to maps
|
* 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 { IGetItemPricesResponse } from "@spt/models/eft/game/IGetItemPricesResponse";
|
||||||
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
||||||
import { IHideoutProductionData } from "@spt/models/eft/hideout/IHideoutProduction";
|
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 { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase";
|
||||||
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
|
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
|
||||||
import { ISettingsBase } from "@spt/models/spt/server/ISettingsBase";
|
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>;
|
getHideoutSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutSettingsBase>;
|
||||||
getHideoutAreas(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutArea[]>;
|
getHideoutAreas(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutArea[]>;
|
||||||
getHideoutProduction(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutProductionData>;
|
getHideoutProduction(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutProductionData>;
|
||||||
getHideoutScavcase(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutScavCase[]>;
|
|
||||||
/**
|
/**
|
||||||
* Handle client/languages
|
* Handle client/languages
|
||||||
*/
|
*/
|
||||||
|
@ -18,11 +18,6 @@ export declare class WeatherController {
|
|||||||
constructor(weatherGenerator: WeatherGenerator, logger: ILogger, configServer: ConfigServer, seasonalEventService: SeasonalEventService, raidWeatherService: RaidWeatherService, weatherHelper: WeatherHelper);
|
constructor(weatherGenerator: WeatherGenerator, logger: ILogger, configServer: ConfigServer, seasonalEventService: SeasonalEventService, raidWeatherService: RaidWeatherService, weatherHelper: WeatherHelper);
|
||||||
/** Handle client/weather */
|
/** Handle client/weather */
|
||||||
generate(): IWeatherData;
|
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 */
|
/** Handle client/localGame/weather */
|
||||||
generateLocal(sesssionId: string): IGetLocalWeatherResponseData;
|
generateLocal(sesssionId: string): IGetLocalWeatherResponseData;
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@ import { ItemHelper } from "@spt/helpers/ItemHelper";
|
|||||||
import { PresetHelper } from "@spt/helpers/PresetHelper";
|
import { PresetHelper } from "@spt/helpers/PresetHelper";
|
||||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
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 { IScavCaseConfig } from "@spt/models/spt/config/IScavCaseConfig";
|
||||||
import { IRewardCountAndPriceDetails, IScavCaseRewardCountsAndPrices } from "@spt/models/spt/hideout/ScavCaseRewardCountsAndPrices";
|
import { IRewardCountAndPriceDetails, IScavCaseRewardCountsAndPrices } from "@spt/models/spt/hideout/ScavCaseRewardCountsAndPrices";
|
||||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||||
@ -84,10 +84,10 @@ export declare class ScavCaseRewardGenerator {
|
|||||||
protected getFilteredItemsByPrice(dbItems: ITemplateItem[], itemFilters: IRewardCountAndPriceDetails): ITemplateItem[];
|
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
|
* 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
|
* @returns ScavCaseRewardCountsAndPrices object
|
||||||
*/
|
*/
|
||||||
protected getScavCaseRewardCountsAndPrices(scavCaseDetails: IHideoutScavCase): IScavCaseRewardCountsAndPrices;
|
protected getScavCaseRewardCountsAndPrices(scavCaseDetails: IScavRecipe): IScavCaseRewardCountsAndPrices;
|
||||||
/**
|
/**
|
||||||
* Randomises the size of ammo and money stacks
|
* Randomises the size of ammo and money stacks
|
||||||
* @param itemToCalculate ammo or money item
|
* @param itemToCalculate ammo or money item
|
||||||
|
@ -113,12 +113,12 @@ export declare class QuestHelper {
|
|||||||
*/
|
*/
|
||||||
protected generateArmorRewardChildSlots(originalRewardRootItem: IItem, questReward: IQuestReward): void;
|
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 quest quest to get rewards for
|
||||||
* @param status Quest status that holds the items (Started, Success, Fail)
|
* @param status Quest status that holds the items (Started, Success, Fail)
|
||||||
* @returns array of items with the correct maxStack
|
* @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
|
* Look up quest in db by accepted quest id and construct a profile-ready object ready to store in profile
|
||||||
* @param pmcData Player profile
|
* @param pmcData Player profile
|
||||||
@ -321,6 +321,15 @@ export declare class QuestHelper {
|
|||||||
* @returns array of IQuest
|
* @returns array of IQuest
|
||||||
*/
|
*/
|
||||||
getClientQuests(sessionID: string): 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
|
* Return a list of quests that would fail when supplied quest is completed
|
||||||
* @param completedQuestId quest completed id
|
* @param completedQuestId quest completed id
|
||||||
|
@ -10,7 +10,7 @@ export declare class WeatherHelper {
|
|||||||
protected weatherConfig: IWeatherConfig;
|
protected weatherConfig: IWeatherConfig;
|
||||||
constructor(logger: ILogger, timeUtil: TimeUtil, configServer: ConfigServer);
|
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())
|
* @param currentDate (new Date())
|
||||||
* @returns Date object of current in-raid time
|
* @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;
|
fixShotgunDispersion: boolean;
|
||||||
/** Remove items added by mods when the mod no longer exists - can fix dead profiles stuck at game load */
|
/** Remove items added by mods when the mod no longer exists - can fix dead profiles stuck at game load */
|
||||||
removeModItemsFromProfile: boolean;
|
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 */
|
/** Fix issues that cause the game to not start due to inventory item issues */
|
||||||
fixProfileBreakingInventoryItemIssues: boolean;
|
fixProfileBreakingInventoryItemIssues: boolean;
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
||||||
import { IHideoutProductionData } from "@spt/models/eft/hideout/IHideoutProduction";
|
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 { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase";
|
||||||
import { IQteData } from "@spt/models/eft/hideout/IQteData";
|
import { IQteData } from "@spt/models/eft/hideout/IQteData";
|
||||||
export interface IHideout {
|
export interface IHideout {
|
||||||
areas: IHideoutArea[];
|
areas: IHideoutArea[];
|
||||||
production: IHideoutProductionData;
|
production: IHideoutProductionData;
|
||||||
scavcase: IHideoutScavCase[];
|
|
||||||
settings: IHideoutSettingsBase;
|
settings: IHideoutSettingsBase;
|
||||||
qte: IQteData[];
|
qte: IQteData[];
|
||||||
}
|
}
|
||||||
|
@ -120,4 +120,5 @@ export declare class ProfileFixerService {
|
|||||||
* @returns matching bonus
|
* @returns matching bonus
|
||||||
*/
|
*/
|
||||||
protected getBonusFromProfile(profileBonuses: IBonus[], bonus: IStageBonus): IBonus | undefined;
|
protected getBonusFromProfile(profileBonuses: IBonus[], bonus: IStageBonus): IBonus | undefined;
|
||||||
|
checkForAndRemoveInvalidTraders(fullProfile: ISptProfile): void;
|
||||||
}
|
}
|
||||||
|
@ -138,6 +138,12 @@ export declare class SeasonalEventService {
|
|||||||
*/
|
*/
|
||||||
protected enableHalloweenSummonEvent(): void;
|
protected enableHalloweenSummonEvent(): void;
|
||||||
protected configureZombies(zombieSettings: IZombieSettings): 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;
|
protected addEventWavesToMaps(eventType: string): void;
|
||||||
/**
|
/**
|
||||||
* Add event bosses to maps
|
* 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 { IGetItemPricesResponse } from "@spt/models/eft/game/IGetItemPricesResponse";
|
||||||
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
||||||
import { IHideoutProductionData } from "@spt/models/eft/hideout/IHideoutProduction";
|
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 { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase";
|
||||||
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
|
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
|
||||||
import { ISettingsBase } from "@spt/models/spt/server/ISettingsBase";
|
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>;
|
getHideoutSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutSettingsBase>;
|
||||||
getHideoutAreas(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutArea[]>;
|
getHideoutAreas(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutArea[]>;
|
||||||
getHideoutProduction(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutProductionData>;
|
getHideoutProduction(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutProductionData>;
|
||||||
getHideoutScavcase(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutScavCase[]>;
|
|
||||||
/**
|
/**
|
||||||
* Handle client/languages
|
* Handle client/languages
|
||||||
*/
|
*/
|
||||||
|
@ -18,11 +18,6 @@ export declare class WeatherController {
|
|||||||
constructor(weatherGenerator: WeatherGenerator, logger: ILogger, configServer: ConfigServer, seasonalEventService: SeasonalEventService, raidWeatherService: RaidWeatherService, weatherHelper: WeatherHelper);
|
constructor(weatherGenerator: WeatherGenerator, logger: ILogger, configServer: ConfigServer, seasonalEventService: SeasonalEventService, raidWeatherService: RaidWeatherService, weatherHelper: WeatherHelper);
|
||||||
/** Handle client/weather */
|
/** Handle client/weather */
|
||||||
generate(): IWeatherData;
|
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 */
|
/** Handle client/localGame/weather */
|
||||||
generateLocal(sesssionId: string): IGetLocalWeatherResponseData;
|
generateLocal(sesssionId: string): IGetLocalWeatherResponseData;
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@ import { ItemHelper } from "@spt/helpers/ItemHelper";
|
|||||||
import { PresetHelper } from "@spt/helpers/PresetHelper";
|
import { PresetHelper } from "@spt/helpers/PresetHelper";
|
||||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
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 { IScavCaseConfig } from "@spt/models/spt/config/IScavCaseConfig";
|
||||||
import { IRewardCountAndPriceDetails, IScavCaseRewardCountsAndPrices } from "@spt/models/spt/hideout/ScavCaseRewardCountsAndPrices";
|
import { IRewardCountAndPriceDetails, IScavCaseRewardCountsAndPrices } from "@spt/models/spt/hideout/ScavCaseRewardCountsAndPrices";
|
||||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||||
@ -84,10 +84,10 @@ export declare class ScavCaseRewardGenerator {
|
|||||||
protected getFilteredItemsByPrice(dbItems: ITemplateItem[], itemFilters: IRewardCountAndPriceDetails): ITemplateItem[];
|
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
|
* 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
|
* @returns ScavCaseRewardCountsAndPrices object
|
||||||
*/
|
*/
|
||||||
protected getScavCaseRewardCountsAndPrices(scavCaseDetails: IHideoutScavCase): IScavCaseRewardCountsAndPrices;
|
protected getScavCaseRewardCountsAndPrices(scavCaseDetails: IScavRecipe): IScavCaseRewardCountsAndPrices;
|
||||||
/**
|
/**
|
||||||
* Randomises the size of ammo and money stacks
|
* Randomises the size of ammo and money stacks
|
||||||
* @param itemToCalculate ammo or money item
|
* @param itemToCalculate ammo or money item
|
||||||
|
@ -113,12 +113,12 @@ export declare class QuestHelper {
|
|||||||
*/
|
*/
|
||||||
protected generateArmorRewardChildSlots(originalRewardRootItem: IItem, questReward: IQuestReward): void;
|
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 quest quest to get rewards for
|
||||||
* @param status Quest status that holds the items (Started, Success, Fail)
|
* @param status Quest status that holds the items (Started, Success, Fail)
|
||||||
* @returns array of items with the correct maxStack
|
* @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
|
* Look up quest in db by accepted quest id and construct a profile-ready object ready to store in profile
|
||||||
* @param pmcData Player profile
|
* @param pmcData Player profile
|
||||||
@ -321,6 +321,15 @@ export declare class QuestHelper {
|
|||||||
* @returns array of IQuest
|
* @returns array of IQuest
|
||||||
*/
|
*/
|
||||||
getClientQuests(sessionID: string): 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
|
* Return a list of quests that would fail when supplied quest is completed
|
||||||
* @param completedQuestId quest completed id
|
* @param completedQuestId quest completed id
|
||||||
|
@ -10,7 +10,7 @@ export declare class WeatherHelper {
|
|||||||
protected weatherConfig: IWeatherConfig;
|
protected weatherConfig: IWeatherConfig;
|
||||||
constructor(logger: ILogger, timeUtil: TimeUtil, configServer: ConfigServer);
|
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())
|
* @param currentDate (new Date())
|
||||||
* @returns Date object of current in-raid time
|
* @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;
|
fixShotgunDispersion: boolean;
|
||||||
/** Remove items added by mods when the mod no longer exists - can fix dead profiles stuck at game load */
|
/** Remove items added by mods when the mod no longer exists - can fix dead profiles stuck at game load */
|
||||||
removeModItemsFromProfile: boolean;
|
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 */
|
/** Fix issues that cause the game to not start due to inventory item issues */
|
||||||
fixProfileBreakingInventoryItemIssues: boolean;
|
fixProfileBreakingInventoryItemIssues: boolean;
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
||||||
import { IHideoutProductionData } from "@spt/models/eft/hideout/IHideoutProduction";
|
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 { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase";
|
||||||
import { IQteData } from "@spt/models/eft/hideout/IQteData";
|
import { IQteData } from "@spt/models/eft/hideout/IQteData";
|
||||||
export interface IHideout {
|
export interface IHideout {
|
||||||
areas: IHideoutArea[];
|
areas: IHideoutArea[];
|
||||||
production: IHideoutProductionData;
|
production: IHideoutProductionData;
|
||||||
scavcase: IHideoutScavCase[];
|
|
||||||
settings: IHideoutSettingsBase;
|
settings: IHideoutSettingsBase;
|
||||||
qte: IQteData[];
|
qte: IQteData[];
|
||||||
}
|
}
|
||||||
|
@ -120,4 +120,5 @@ export declare class ProfileFixerService {
|
|||||||
* @returns matching bonus
|
* @returns matching bonus
|
||||||
*/
|
*/
|
||||||
protected getBonusFromProfile(profileBonuses: IBonus[], bonus: IStageBonus): IBonus | undefined;
|
protected getBonusFromProfile(profileBonuses: IBonus[], bonus: IStageBonus): IBonus | undefined;
|
||||||
|
checkForAndRemoveInvalidTraders(fullProfile: ISptProfile): void;
|
||||||
}
|
}
|
||||||
|
@ -138,6 +138,12 @@ export declare class SeasonalEventService {
|
|||||||
*/
|
*/
|
||||||
protected enableHalloweenSummonEvent(): void;
|
protected enableHalloweenSummonEvent(): void;
|
||||||
protected configureZombies(zombieSettings: IZombieSettings): 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;
|
protected addEventWavesToMaps(eventType: string): void;
|
||||||
/**
|
/**
|
||||||
* Add event bosses to maps
|
* 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 { IGetItemPricesResponse } from "@spt/models/eft/game/IGetItemPricesResponse";
|
||||||
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
||||||
import { IHideoutProductionData } from "@spt/models/eft/hideout/IHideoutProduction";
|
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 { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase";
|
||||||
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
|
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
|
||||||
import { ISettingsBase } from "@spt/models/spt/server/ISettingsBase";
|
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>;
|
getHideoutSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutSettingsBase>;
|
||||||
getHideoutAreas(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutArea[]>;
|
getHideoutAreas(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutArea[]>;
|
||||||
getHideoutProduction(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutProductionData>;
|
getHideoutProduction(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutProductionData>;
|
||||||
getHideoutScavcase(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutScavCase[]>;
|
|
||||||
/**
|
/**
|
||||||
* Handle client/languages
|
* Handle client/languages
|
||||||
*/
|
*/
|
||||||
|
@ -18,11 +18,6 @@ export declare class WeatherController {
|
|||||||
constructor(weatherGenerator: WeatherGenerator, logger: ILogger, configServer: ConfigServer, seasonalEventService: SeasonalEventService, raidWeatherService: RaidWeatherService, weatherHelper: WeatherHelper);
|
constructor(weatherGenerator: WeatherGenerator, logger: ILogger, configServer: ConfigServer, seasonalEventService: SeasonalEventService, raidWeatherService: RaidWeatherService, weatherHelper: WeatherHelper);
|
||||||
/** Handle client/weather */
|
/** Handle client/weather */
|
||||||
generate(): IWeatherData;
|
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 */
|
/** Handle client/localGame/weather */
|
||||||
generateLocal(sesssionId: string): IGetLocalWeatherResponseData;
|
generateLocal(sesssionId: string): IGetLocalWeatherResponseData;
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@ import { ItemHelper } from "@spt/helpers/ItemHelper";
|
|||||||
import { PresetHelper } from "@spt/helpers/PresetHelper";
|
import { PresetHelper } from "@spt/helpers/PresetHelper";
|
||||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
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 { IScavCaseConfig } from "@spt/models/spt/config/IScavCaseConfig";
|
||||||
import { IRewardCountAndPriceDetails, IScavCaseRewardCountsAndPrices } from "@spt/models/spt/hideout/ScavCaseRewardCountsAndPrices";
|
import { IRewardCountAndPriceDetails, IScavCaseRewardCountsAndPrices } from "@spt/models/spt/hideout/ScavCaseRewardCountsAndPrices";
|
||||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||||
@ -84,10 +84,10 @@ export declare class ScavCaseRewardGenerator {
|
|||||||
protected getFilteredItemsByPrice(dbItems: ITemplateItem[], itemFilters: IRewardCountAndPriceDetails): ITemplateItem[];
|
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
|
* 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
|
* @returns ScavCaseRewardCountsAndPrices object
|
||||||
*/
|
*/
|
||||||
protected getScavCaseRewardCountsAndPrices(scavCaseDetails: IHideoutScavCase): IScavCaseRewardCountsAndPrices;
|
protected getScavCaseRewardCountsAndPrices(scavCaseDetails: IScavRecipe): IScavCaseRewardCountsAndPrices;
|
||||||
/**
|
/**
|
||||||
* Randomises the size of ammo and money stacks
|
* Randomises the size of ammo and money stacks
|
||||||
* @param itemToCalculate ammo or money item
|
* @param itemToCalculate ammo or money item
|
||||||
|
@ -113,12 +113,12 @@ export declare class QuestHelper {
|
|||||||
*/
|
*/
|
||||||
protected generateArmorRewardChildSlots(originalRewardRootItem: IItem, questReward: IQuestReward): void;
|
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 quest quest to get rewards for
|
||||||
* @param status Quest status that holds the items (Started, Success, Fail)
|
* @param status Quest status that holds the items (Started, Success, Fail)
|
||||||
* @returns array of items with the correct maxStack
|
* @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
|
* Look up quest in db by accepted quest id and construct a profile-ready object ready to store in profile
|
||||||
* @param pmcData Player profile
|
* @param pmcData Player profile
|
||||||
@ -321,6 +321,15 @@ export declare class QuestHelper {
|
|||||||
* @returns array of IQuest
|
* @returns array of IQuest
|
||||||
*/
|
*/
|
||||||
getClientQuests(sessionID: string): 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
|
* Return a list of quests that would fail when supplied quest is completed
|
||||||
* @param completedQuestId quest completed id
|
* @param completedQuestId quest completed id
|
||||||
|
@ -10,7 +10,7 @@ export declare class WeatherHelper {
|
|||||||
protected weatherConfig: IWeatherConfig;
|
protected weatherConfig: IWeatherConfig;
|
||||||
constructor(logger: ILogger, timeUtil: TimeUtil, configServer: ConfigServer);
|
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())
|
* @param currentDate (new Date())
|
||||||
* @returns Date object of current in-raid time
|
* @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;
|
fixShotgunDispersion: boolean;
|
||||||
/** Remove items added by mods when the mod no longer exists - can fix dead profiles stuck at game load */
|
/** Remove items added by mods when the mod no longer exists - can fix dead profiles stuck at game load */
|
||||||
removeModItemsFromProfile: boolean;
|
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 */
|
/** Fix issues that cause the game to not start due to inventory item issues */
|
||||||
fixProfileBreakingInventoryItemIssues: boolean;
|
fixProfileBreakingInventoryItemIssues: boolean;
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
||||||
import { IHideoutProductionData } from "@spt/models/eft/hideout/IHideoutProduction";
|
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 { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase";
|
||||||
import { IQteData } from "@spt/models/eft/hideout/IQteData";
|
import { IQteData } from "@spt/models/eft/hideout/IQteData";
|
||||||
export interface IHideout {
|
export interface IHideout {
|
||||||
areas: IHideoutArea[];
|
areas: IHideoutArea[];
|
||||||
production: IHideoutProductionData;
|
production: IHideoutProductionData;
|
||||||
scavcase: IHideoutScavCase[];
|
|
||||||
settings: IHideoutSettingsBase;
|
settings: IHideoutSettingsBase;
|
||||||
qte: IQteData[];
|
qte: IQteData[];
|
||||||
}
|
}
|
||||||
|
@ -120,4 +120,5 @@ export declare class ProfileFixerService {
|
|||||||
* @returns matching bonus
|
* @returns matching bonus
|
||||||
*/
|
*/
|
||||||
protected getBonusFromProfile(profileBonuses: IBonus[], bonus: IStageBonus): IBonus | undefined;
|
protected getBonusFromProfile(profileBonuses: IBonus[], bonus: IStageBonus): IBonus | undefined;
|
||||||
|
checkForAndRemoveInvalidTraders(fullProfile: ISptProfile): void;
|
||||||
}
|
}
|
||||||
|
@ -138,6 +138,12 @@ export declare class SeasonalEventService {
|
|||||||
*/
|
*/
|
||||||
protected enableHalloweenSummonEvent(): void;
|
protected enableHalloweenSummonEvent(): void;
|
||||||
protected configureZombies(zombieSettings: IZombieSettings): 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;
|
protected addEventWavesToMaps(eventType: string): void;
|
||||||
/**
|
/**
|
||||||
* Add event bosses to maps
|
* 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 { IGetItemPricesResponse } from "@spt/models/eft/game/IGetItemPricesResponse";
|
||||||
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
||||||
import { IHideoutProductionData } from "@spt/models/eft/hideout/IHideoutProduction";
|
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 { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase";
|
||||||
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
|
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
|
||||||
import { ISettingsBase } from "@spt/models/spt/server/ISettingsBase";
|
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>;
|
getHideoutSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutSettingsBase>;
|
||||||
getHideoutAreas(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutArea[]>;
|
getHideoutAreas(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutArea[]>;
|
||||||
getHideoutProduction(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutProductionData>;
|
getHideoutProduction(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutProductionData>;
|
||||||
getHideoutScavcase(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutScavCase[]>;
|
|
||||||
/**
|
/**
|
||||||
* Handle client/languages
|
* Handle client/languages
|
||||||
*/
|
*/
|
||||||
|
@ -18,11 +18,6 @@ export declare class WeatherController {
|
|||||||
constructor(weatherGenerator: WeatherGenerator, logger: ILogger, configServer: ConfigServer, seasonalEventService: SeasonalEventService, raidWeatherService: RaidWeatherService, weatherHelper: WeatherHelper);
|
constructor(weatherGenerator: WeatherGenerator, logger: ILogger, configServer: ConfigServer, seasonalEventService: SeasonalEventService, raidWeatherService: RaidWeatherService, weatherHelper: WeatherHelper);
|
||||||
/** Handle client/weather */
|
/** Handle client/weather */
|
||||||
generate(): IWeatherData;
|
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 */
|
/** Handle client/localGame/weather */
|
||||||
generateLocal(sesssionId: string): IGetLocalWeatherResponseData;
|
generateLocal(sesssionId: string): IGetLocalWeatherResponseData;
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@ import { ItemHelper } from "@spt/helpers/ItemHelper";
|
|||||||
import { PresetHelper } from "@spt/helpers/PresetHelper";
|
import { PresetHelper } from "@spt/helpers/PresetHelper";
|
||||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
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 { IScavCaseConfig } from "@spt/models/spt/config/IScavCaseConfig";
|
||||||
import { IRewardCountAndPriceDetails, IScavCaseRewardCountsAndPrices } from "@spt/models/spt/hideout/ScavCaseRewardCountsAndPrices";
|
import { IRewardCountAndPriceDetails, IScavCaseRewardCountsAndPrices } from "@spt/models/spt/hideout/ScavCaseRewardCountsAndPrices";
|
||||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||||
@ -84,10 +84,10 @@ export declare class ScavCaseRewardGenerator {
|
|||||||
protected getFilteredItemsByPrice(dbItems: ITemplateItem[], itemFilters: IRewardCountAndPriceDetails): ITemplateItem[];
|
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
|
* 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
|
* @returns ScavCaseRewardCountsAndPrices object
|
||||||
*/
|
*/
|
||||||
protected getScavCaseRewardCountsAndPrices(scavCaseDetails: IHideoutScavCase): IScavCaseRewardCountsAndPrices;
|
protected getScavCaseRewardCountsAndPrices(scavCaseDetails: IScavRecipe): IScavCaseRewardCountsAndPrices;
|
||||||
/**
|
/**
|
||||||
* Randomises the size of ammo and money stacks
|
* Randomises the size of ammo and money stacks
|
||||||
* @param itemToCalculate ammo or money item
|
* @param itemToCalculate ammo or money item
|
||||||
|
@ -113,12 +113,12 @@ export declare class QuestHelper {
|
|||||||
*/
|
*/
|
||||||
protected generateArmorRewardChildSlots(originalRewardRootItem: IItem, questReward: IQuestReward): void;
|
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 quest quest to get rewards for
|
||||||
* @param status Quest status that holds the items (Started, Success, Fail)
|
* @param status Quest status that holds the items (Started, Success, Fail)
|
||||||
* @returns array of items with the correct maxStack
|
* @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
|
* Look up quest in db by accepted quest id and construct a profile-ready object ready to store in profile
|
||||||
* @param pmcData Player profile
|
* @param pmcData Player profile
|
||||||
@ -321,6 +321,15 @@ export declare class QuestHelper {
|
|||||||
* @returns array of IQuest
|
* @returns array of IQuest
|
||||||
*/
|
*/
|
||||||
getClientQuests(sessionID: string): 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
|
* Return a list of quests that would fail when supplied quest is completed
|
||||||
* @param completedQuestId quest completed id
|
* @param completedQuestId quest completed id
|
||||||
|
@ -10,7 +10,7 @@ export declare class WeatherHelper {
|
|||||||
protected weatherConfig: IWeatherConfig;
|
protected weatherConfig: IWeatherConfig;
|
||||||
constructor(logger: ILogger, timeUtil: TimeUtil, configServer: ConfigServer);
|
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())
|
* @param currentDate (new Date())
|
||||||
* @returns Date object of current in-raid time
|
* @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;
|
fixShotgunDispersion: boolean;
|
||||||
/** Remove items added by mods when the mod no longer exists - can fix dead profiles stuck at game load */
|
/** Remove items added by mods when the mod no longer exists - can fix dead profiles stuck at game load */
|
||||||
removeModItemsFromProfile: boolean;
|
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 */
|
/** Fix issues that cause the game to not start due to inventory item issues */
|
||||||
fixProfileBreakingInventoryItemIssues: boolean;
|
fixProfileBreakingInventoryItemIssues: boolean;
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
||||||
import { IHideoutProductionData } from "@spt/models/eft/hideout/IHideoutProduction";
|
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 { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase";
|
||||||
import { IQteData } from "@spt/models/eft/hideout/IQteData";
|
import { IQteData } from "@spt/models/eft/hideout/IQteData";
|
||||||
export interface IHideout {
|
export interface IHideout {
|
||||||
areas: IHideoutArea[];
|
areas: IHideoutArea[];
|
||||||
production: IHideoutProductionData;
|
production: IHideoutProductionData;
|
||||||
scavcase: IHideoutScavCase[];
|
|
||||||
settings: IHideoutSettingsBase;
|
settings: IHideoutSettingsBase;
|
||||||
qte: IQteData[];
|
qte: IQteData[];
|
||||||
}
|
}
|
||||||
|
@ -120,4 +120,5 @@ export declare class ProfileFixerService {
|
|||||||
* @returns matching bonus
|
* @returns matching bonus
|
||||||
*/
|
*/
|
||||||
protected getBonusFromProfile(profileBonuses: IBonus[], bonus: IStageBonus): IBonus | undefined;
|
protected getBonusFromProfile(profileBonuses: IBonus[], bonus: IStageBonus): IBonus | undefined;
|
||||||
|
checkForAndRemoveInvalidTraders(fullProfile: ISptProfile): void;
|
||||||
}
|
}
|
||||||
|
@ -138,6 +138,12 @@ export declare class SeasonalEventService {
|
|||||||
*/
|
*/
|
||||||
protected enableHalloweenSummonEvent(): void;
|
protected enableHalloweenSummonEvent(): void;
|
||||||
protected configureZombies(zombieSettings: IZombieSettings): 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;
|
protected addEventWavesToMaps(eventType: string): void;
|
||||||
/**
|
/**
|
||||||
* Add event bosses to maps
|
* 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 { IGetItemPricesResponse } from "@spt/models/eft/game/IGetItemPricesResponse";
|
||||||
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
||||||
import { IHideoutProductionData } from "@spt/models/eft/hideout/IHideoutProduction";
|
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 { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase";
|
||||||
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
|
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
|
||||||
import { ISettingsBase } from "@spt/models/spt/server/ISettingsBase";
|
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>;
|
getHideoutSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutSettingsBase>;
|
||||||
getHideoutAreas(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutArea[]>;
|
getHideoutAreas(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutArea[]>;
|
||||||
getHideoutProduction(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutProductionData>;
|
getHideoutProduction(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutProductionData>;
|
||||||
getHideoutScavcase(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutScavCase[]>;
|
|
||||||
/**
|
/**
|
||||||
* Handle client/languages
|
* Handle client/languages
|
||||||
*/
|
*/
|
||||||
|
@ -18,11 +18,6 @@ export declare class WeatherController {
|
|||||||
constructor(weatherGenerator: WeatherGenerator, logger: ILogger, configServer: ConfigServer, seasonalEventService: SeasonalEventService, raidWeatherService: RaidWeatherService, weatherHelper: WeatherHelper);
|
constructor(weatherGenerator: WeatherGenerator, logger: ILogger, configServer: ConfigServer, seasonalEventService: SeasonalEventService, raidWeatherService: RaidWeatherService, weatherHelper: WeatherHelper);
|
||||||
/** Handle client/weather */
|
/** Handle client/weather */
|
||||||
generate(): IWeatherData;
|
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 */
|
/** Handle client/localGame/weather */
|
||||||
generateLocal(sesssionId: string): IGetLocalWeatherResponseData;
|
generateLocal(sesssionId: string): IGetLocalWeatherResponseData;
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@ import { ItemHelper } from "@spt/helpers/ItemHelper";
|
|||||||
import { PresetHelper } from "@spt/helpers/PresetHelper";
|
import { PresetHelper } from "@spt/helpers/PresetHelper";
|
||||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
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 { IScavCaseConfig } from "@spt/models/spt/config/IScavCaseConfig";
|
||||||
import { IRewardCountAndPriceDetails, IScavCaseRewardCountsAndPrices } from "@spt/models/spt/hideout/ScavCaseRewardCountsAndPrices";
|
import { IRewardCountAndPriceDetails, IScavCaseRewardCountsAndPrices } from "@spt/models/spt/hideout/ScavCaseRewardCountsAndPrices";
|
||||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||||
@ -84,10 +84,10 @@ export declare class ScavCaseRewardGenerator {
|
|||||||
protected getFilteredItemsByPrice(dbItems: ITemplateItem[], itemFilters: IRewardCountAndPriceDetails): ITemplateItem[];
|
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
|
* 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
|
* @returns ScavCaseRewardCountsAndPrices object
|
||||||
*/
|
*/
|
||||||
protected getScavCaseRewardCountsAndPrices(scavCaseDetails: IHideoutScavCase): IScavCaseRewardCountsAndPrices;
|
protected getScavCaseRewardCountsAndPrices(scavCaseDetails: IScavRecipe): IScavCaseRewardCountsAndPrices;
|
||||||
/**
|
/**
|
||||||
* Randomises the size of ammo and money stacks
|
* Randomises the size of ammo and money stacks
|
||||||
* @param itemToCalculate ammo or money item
|
* @param itemToCalculate ammo or money item
|
||||||
|
@ -113,12 +113,12 @@ export declare class QuestHelper {
|
|||||||
*/
|
*/
|
||||||
protected generateArmorRewardChildSlots(originalRewardRootItem: IItem, questReward: IQuestReward): void;
|
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 quest quest to get rewards for
|
||||||
* @param status Quest status that holds the items (Started, Success, Fail)
|
* @param status Quest status that holds the items (Started, Success, Fail)
|
||||||
* @returns array of items with the correct maxStack
|
* @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
|
* Look up quest in db by accepted quest id and construct a profile-ready object ready to store in profile
|
||||||
* @param pmcData Player profile
|
* @param pmcData Player profile
|
||||||
@ -321,6 +321,15 @@ export declare class QuestHelper {
|
|||||||
* @returns array of IQuest
|
* @returns array of IQuest
|
||||||
*/
|
*/
|
||||||
getClientQuests(sessionID: string): 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
|
* Return a list of quests that would fail when supplied quest is completed
|
||||||
* @param completedQuestId quest completed id
|
* @param completedQuestId quest completed id
|
||||||
|
@ -10,7 +10,7 @@ export declare class WeatherHelper {
|
|||||||
protected weatherConfig: IWeatherConfig;
|
protected weatherConfig: IWeatherConfig;
|
||||||
constructor(logger: ILogger, timeUtil: TimeUtil, configServer: ConfigServer);
|
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())
|
* @param currentDate (new Date())
|
||||||
* @returns Date object of current in-raid time
|
* @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;
|
fixShotgunDispersion: boolean;
|
||||||
/** Remove items added by mods when the mod no longer exists - can fix dead profiles stuck at game load */
|
/** Remove items added by mods when the mod no longer exists - can fix dead profiles stuck at game load */
|
||||||
removeModItemsFromProfile: boolean;
|
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 */
|
/** Fix issues that cause the game to not start due to inventory item issues */
|
||||||
fixProfileBreakingInventoryItemIssues: boolean;
|
fixProfileBreakingInventoryItemIssues: boolean;
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
||||||
import { IHideoutProductionData } from "@spt/models/eft/hideout/IHideoutProduction";
|
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 { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase";
|
||||||
import { IQteData } from "@spt/models/eft/hideout/IQteData";
|
import { IQteData } from "@spt/models/eft/hideout/IQteData";
|
||||||
export interface IHideout {
|
export interface IHideout {
|
||||||
areas: IHideoutArea[];
|
areas: IHideoutArea[];
|
||||||
production: IHideoutProductionData;
|
production: IHideoutProductionData;
|
||||||
scavcase: IHideoutScavCase[];
|
|
||||||
settings: IHideoutSettingsBase;
|
settings: IHideoutSettingsBase;
|
||||||
qte: IQteData[];
|
qte: IQteData[];
|
||||||
}
|
}
|
||||||
|
@ -120,4 +120,5 @@ export declare class ProfileFixerService {
|
|||||||
* @returns matching bonus
|
* @returns matching bonus
|
||||||
*/
|
*/
|
||||||
protected getBonusFromProfile(profileBonuses: IBonus[], bonus: IStageBonus): IBonus | undefined;
|
protected getBonusFromProfile(profileBonuses: IBonus[], bonus: IStageBonus): IBonus | undefined;
|
||||||
|
checkForAndRemoveInvalidTraders(fullProfile: ISptProfile): void;
|
||||||
}
|
}
|
||||||
|
@ -138,6 +138,12 @@ export declare class SeasonalEventService {
|
|||||||
*/
|
*/
|
||||||
protected enableHalloweenSummonEvent(): void;
|
protected enableHalloweenSummonEvent(): void;
|
||||||
protected configureZombies(zombieSettings: IZombieSettings): 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;
|
protected addEventWavesToMaps(eventType: string): void;
|
||||||
/**
|
/**
|
||||||
* Add event bosses to maps
|
* 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 { IGetItemPricesResponse } from "@spt/models/eft/game/IGetItemPricesResponse";
|
||||||
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
||||||
import { IHideoutProductionData } from "@spt/models/eft/hideout/IHideoutProduction";
|
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 { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase";
|
||||||
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
|
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
|
||||||
import { ISettingsBase } from "@spt/models/spt/server/ISettingsBase";
|
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>;
|
getHideoutSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutSettingsBase>;
|
||||||
getHideoutAreas(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutArea[]>;
|
getHideoutAreas(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutArea[]>;
|
||||||
getHideoutProduction(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutProductionData>;
|
getHideoutProduction(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutProductionData>;
|
||||||
getHideoutScavcase(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutScavCase[]>;
|
|
||||||
/**
|
/**
|
||||||
* Handle client/languages
|
* Handle client/languages
|
||||||
*/
|
*/
|
||||||
|
@ -18,11 +18,6 @@ export declare class WeatherController {
|
|||||||
constructor(weatherGenerator: WeatherGenerator, logger: ILogger, configServer: ConfigServer, seasonalEventService: SeasonalEventService, raidWeatherService: RaidWeatherService, weatherHelper: WeatherHelper);
|
constructor(weatherGenerator: WeatherGenerator, logger: ILogger, configServer: ConfigServer, seasonalEventService: SeasonalEventService, raidWeatherService: RaidWeatherService, weatherHelper: WeatherHelper);
|
||||||
/** Handle client/weather */
|
/** Handle client/weather */
|
||||||
generate(): IWeatherData;
|
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 */
|
/** Handle client/localGame/weather */
|
||||||
generateLocal(sesssionId: string): IGetLocalWeatherResponseData;
|
generateLocal(sesssionId: string): IGetLocalWeatherResponseData;
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@ import { ItemHelper } from "@spt/helpers/ItemHelper";
|
|||||||
import { PresetHelper } from "@spt/helpers/PresetHelper";
|
import { PresetHelper } from "@spt/helpers/PresetHelper";
|
||||||
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
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 { IScavCaseConfig } from "@spt/models/spt/config/IScavCaseConfig";
|
||||||
import { IRewardCountAndPriceDetails, IScavCaseRewardCountsAndPrices } from "@spt/models/spt/hideout/ScavCaseRewardCountsAndPrices";
|
import { IRewardCountAndPriceDetails, IScavCaseRewardCountsAndPrices } from "@spt/models/spt/hideout/ScavCaseRewardCountsAndPrices";
|
||||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||||
@ -84,10 +84,10 @@ export declare class ScavCaseRewardGenerator {
|
|||||||
protected getFilteredItemsByPrice(dbItems: ITemplateItem[], itemFilters: IRewardCountAndPriceDetails): ITemplateItem[];
|
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
|
* 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
|
* @returns ScavCaseRewardCountsAndPrices object
|
||||||
*/
|
*/
|
||||||
protected getScavCaseRewardCountsAndPrices(scavCaseDetails: IHideoutScavCase): IScavCaseRewardCountsAndPrices;
|
protected getScavCaseRewardCountsAndPrices(scavCaseDetails: IScavRecipe): IScavCaseRewardCountsAndPrices;
|
||||||
/**
|
/**
|
||||||
* Randomises the size of ammo and money stacks
|
* Randomises the size of ammo and money stacks
|
||||||
* @param itemToCalculate ammo or money item
|
* @param itemToCalculate ammo or money item
|
||||||
|
@ -113,12 +113,12 @@ export declare class QuestHelper {
|
|||||||
*/
|
*/
|
||||||
protected generateArmorRewardChildSlots(originalRewardRootItem: IItem, questReward: IQuestReward): void;
|
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 quest quest to get rewards for
|
||||||
* @param status Quest status that holds the items (Started, Success, Fail)
|
* @param status Quest status that holds the items (Started, Success, Fail)
|
||||||
* @returns array of items with the correct maxStack
|
* @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
|
* Look up quest in db by accepted quest id and construct a profile-ready object ready to store in profile
|
||||||
* @param pmcData Player profile
|
* @param pmcData Player profile
|
||||||
@ -321,6 +321,15 @@ export declare class QuestHelper {
|
|||||||
* @returns array of IQuest
|
* @returns array of IQuest
|
||||||
*/
|
*/
|
||||||
getClientQuests(sessionID: string): 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
|
* Return a list of quests that would fail when supplied quest is completed
|
||||||
* @param completedQuestId quest completed id
|
* @param completedQuestId quest completed id
|
||||||
|
@ -10,7 +10,7 @@ export declare class WeatherHelper {
|
|||||||
protected weatherConfig: IWeatherConfig;
|
protected weatherConfig: IWeatherConfig;
|
||||||
constructor(logger: ILogger, timeUtil: TimeUtil, configServer: ConfigServer);
|
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())
|
* @param currentDate (new Date())
|
||||||
* @returns Date object of current in-raid time
|
* @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;
|
fixShotgunDispersion: boolean;
|
||||||
/** Remove items added by mods when the mod no longer exists - can fix dead profiles stuck at game load */
|
/** Remove items added by mods when the mod no longer exists - can fix dead profiles stuck at game load */
|
||||||
removeModItemsFromProfile: boolean;
|
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 */
|
/** Fix issues that cause the game to not start due to inventory item issues */
|
||||||
fixProfileBreakingInventoryItemIssues: boolean;
|
fixProfileBreakingInventoryItemIssues: boolean;
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
||||||
import { IHideoutProductionData } from "@spt/models/eft/hideout/IHideoutProduction";
|
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 { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase";
|
||||||
import { IQteData } from "@spt/models/eft/hideout/IQteData";
|
import { IQteData } from "@spt/models/eft/hideout/IQteData";
|
||||||
export interface IHideout {
|
export interface IHideout {
|
||||||
areas: IHideoutArea[];
|
areas: IHideoutArea[];
|
||||||
production: IHideoutProductionData;
|
production: IHideoutProductionData;
|
||||||
scavcase: IHideoutScavCase[];
|
|
||||||
settings: IHideoutSettingsBase;
|
settings: IHideoutSettingsBase;
|
||||||
qte: IQteData[];
|
qte: IQteData[];
|
||||||
}
|
}
|
||||||
|
@ -120,4 +120,5 @@ export declare class ProfileFixerService {
|
|||||||
* @returns matching bonus
|
* @returns matching bonus
|
||||||
*/
|
*/
|
||||||
protected getBonusFromProfile(profileBonuses: IBonus[], bonus: IStageBonus): IBonus | undefined;
|
protected getBonusFromProfile(profileBonuses: IBonus[], bonus: IStageBonus): IBonus | undefined;
|
||||||
|
checkForAndRemoveInvalidTraders(fullProfile: ISptProfile): void;
|
||||||
}
|
}
|
||||||
|
@ -138,6 +138,12 @@ export declare class SeasonalEventService {
|
|||||||
*/
|
*/
|
||||||
protected enableHalloweenSummonEvent(): void;
|
protected enableHalloweenSummonEvent(): void;
|
||||||
protected configureZombies(zombieSettings: IZombieSettings): 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;
|
protected addEventWavesToMaps(eventType: string): void;
|
||||||
/**
|
/**
|
||||||
* Add event bosses to maps
|
* 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 { IGetItemPricesResponse } from "@spt/models/eft/game/IGetItemPricesResponse";
|
||||||
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
import { IHideoutArea } from "@spt/models/eft/hideout/IHideoutArea";
|
||||||
import { IHideoutProductionData } from "@spt/models/eft/hideout/IHideoutProduction";
|
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 { IHideoutSettingsBase } from "@spt/models/eft/hideout/IHideoutSettingsBase";
|
||||||
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
|
import { IGetBodyResponseData } from "@spt/models/eft/httpResponse/IGetBodyResponseData";
|
||||||
import { ISettingsBase } from "@spt/models/spt/server/ISettingsBase";
|
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>;
|
getHideoutSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutSettingsBase>;
|
||||||
getHideoutAreas(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutArea[]>;
|
getHideoutAreas(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutArea[]>;
|
||||||
getHideoutProduction(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutProductionData>;
|
getHideoutProduction(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutProductionData>;
|
||||||
getHideoutScavcase(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutScavCase[]>;
|
|
||||||
/**
|
/**
|
||||||
* Handle client/languages
|
* 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