update types

This commit is contained in:
Chomp 2022-06-01 23:54:46 +01:00
parent 7c812fcbf8
commit 2d9618eea3
319 changed files with 1298 additions and 1232 deletions

View File

@ -1,13 +1,13 @@
import { DatabaseServer } from "../servers/DatabaseServer";
import { SaveServer } from "../servers/SaveServer";
import { ProfileHelper } from "../helpers/ProfileHelper";
import { IPmcData } from "../models/eft/common/IPmcData";
import { IWearClothingRequestData } from "../models/eft/customization/IWearClothingRequestData";
import { IBuyClothingRequestData } from "../models/eft/customization/IBuyClothingRequestData";
import { ISuit } from "../models/eft/common/tables/ITrader";
import { IBuyClothingRequestData } from "../models/eft/customization/IBuyClothingRequestData";
import { IWearClothingRequestData } from "../models/eft/customization/IWearClothingRequestData";
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
import { ItemEventRouter } from "../routers/ItemEventRouter";
import { ILogger } from "../models/spt/utils/ILogger";
import { ItemEventRouter } from "../routers/ItemEventRouter";
import { DatabaseServer } from "../servers/DatabaseServer";
import { SaveServer } from "../servers/SaveServer";
export declare class CustomizationController {
private logger;
private itemEventRouter;

View File

@ -19,6 +19,7 @@ export declare class DialogueController {
setDialoguePin(dialogueID: string, shouldPin: boolean, sessionID: string): void;
setRead(dialogueIDs: string[], sessionID: string): void;
getAllAttachments(dialogueID: string, sessionID: string): IGetAllAttachmentsResponse;
private messagesHaveUncollectedRewards;
private removeExpiredItems;
update(): void;
}

View File

@ -13,7 +13,15 @@ export declare class GameController {
private configServer;
private httpConfig;
constructor(logger: ILogger, watermark: Watermark, httpServerHelper: HttpServerHelper, profileHelper: ProfileHelper, configServer: ConfigServer);
gameStart(url: string, info: IEmptyRequestData, sessionID: string): void;
gameStart(_url: string, _info: IEmptyRequestData, sessionID: string): void;
private addMissingBonusesProperty;
private addMissingRepeatableQuestsProperty;
private addMissingWeaponRepairSkill;
private addMissingAkiVersionTagToProfile;
private addMissingArmorRepairSkill;
private fixNullTraderSalesSums;
private removeDanglingConditionCounters;
private removeDanglingBackendCounters;
getGameConfig(sessionID: string): IGameConfigResponse;
getServer(): any[];
private getActiveRepeatableQuests;

View File

@ -1,5 +1,5 @@
import { DatabaseServer } from "../servers/DatabaseServer";
import { HandbookHelper } from "../helpers/HandbookHelper";
import { DatabaseServer } from "../servers/DatabaseServer";
export declare class HandbookController {
private databaseServer;
private handbookHelper;

View File

@ -1,10 +1,10 @@
import { DatabaseServer } from "../servers/DatabaseServer";
import { LocationGenerator } from "../generators/LocationGenerator";
import { ILocationBase } from "../models/eft/common/ILocationBase";
import { ILocationsGenerateAllResponse } from "../models/eft/common/ILocationsSourceDestinationBase";
import { ILogger } from "../models/spt/utils/ILogger";
import { DatabaseServer } from "../servers/DatabaseServer";
import { JsonUtil } from "../utils/JsonUtil";
import { TimeUtil } from "../utils/TimeUtil";
import { ILogger } from "../models/spt/utils/ILogger";
export declare class LocationController {
private jsonUtil;
private logger;

View File

@ -1,6 +1,6 @@
import { IPmcData } from "../models/eft/common/IPmcData";
import { INoteActionData } from "../models/eft/notes/INoteActionData";
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
import { INoteActionData } from "../models/eft/notes/INoteActionData";
import { ItemEventRouter } from "../routers/ItemEventRouter";
declare class NoteController {
private itemEventRouter;

View File

@ -1,11 +1,11 @@
import { ItemHelper } from "../helpers/ItemHelper";
import { SaveServer } from "../servers/SaveServer";
import { IPmcData } from "../models/eft/common/IPmcData";
import { IPresetBuildActionRequestData } from "../models/eft/presetBuild/IPresetBuildActionRequestData";
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
import { IPresetBuildActionRequestData } from "../models/eft/presetBuild/IPresetBuildActionRequestData";
import { WeaponBuild } from "../models/eft/profile/IAkiProfile";
import { HashUtil } from "../utils/HashUtil";
import { ItemEventRouter } from "../routers/ItemEventRouter";
import { SaveServer } from "../servers/SaveServer";
import { HashUtil } from "../utils/HashUtil";
export declare class PresetBuildController {
private hashUtil;
private itemEventRouter;

View File

@ -1,18 +1,18 @@
import { SaveServer } from "../servers/SaveServer";
import { DatabaseServer } from "../servers/DatabaseServer";
import { ExtendedProfileHelper } from "../helpers/ExtendedProfileHelper";
import { ItemHelper } from "../helpers/ItemHelper";
import { TraderHelper } from "../helpers/TraderHelper";
import { IPmcData } from "../models/eft/common/IPmcData";
import { IMiniProfile } from "../models/eft/launcher/IMiniProfile";
import { IProfileChangeNicknameRequestData } from "../models/eft/profile/IProfileChangeNicknameRequestData";
import { IProfileChangeVoiceRequestData } from "../models/eft/profile/IProfileChangeVoiceRequestData";
import { IProfileCreateRequestData } from "../models/eft/profile/IProfileCreateRequestData";
import { IValidateNicknameRequestData } from "../models/eft/profile/IValidateNicknameRequestData";
import { ISearchFriendRequestData } from "../models/eft/profile/ISearchFriendRequestData";
import { ISearchFriendResponse } from "../models/eft/profile/ISearchFriendResponse";
import { IValidateNicknameRequestData } from "../models/eft/profile/IValidateNicknameRequestData";
import { DatabaseServer } from "../servers/DatabaseServer";
import { SaveServer } from "../servers/SaveServer";
import { HashUtil } from "../utils/HashUtil";
import { TimeUtil } from "../utils/TimeUtil";
import { IMiniProfile } from "../models/eft/launcher/IMiniProfile";
import { ExtendedProfileHelper } from "../helpers/ExtendedProfileHelper";
export declare class ProfileController {
private hashUtil;
private timeUtil;

View File

@ -89,7 +89,7 @@ export declare class RepeatableQuestController {
* @param {string} sessionId Player's session id
* @returns {array} array of "repeatableQuestObjects" as descibed above
*/
getClientRepeatableQuests(info: IEmptyRequestData, sessionID: string): IPmcDataRepeatableQuest[];
getClientRepeatableQuests(_info: IEmptyRequestData, sessionID: string): IPmcDataRepeatableQuest[];
/**
* This method is called by GetClientRepeatableQuests and creates one element of quest type format (see assets/database/templates/repeatableQuests.json).
* It randomly draws a quest type (currently Elimination, Completion or Exploration) as well as a trader who is providing the quest

View File

@ -1,4 +0,0 @@
export declare class OnSaveLoad {
onSaveLoad(): void;
getRoute(): string;
}

View File

@ -10,8 +10,16 @@ export declare class RagfairAssortGenerator {
private databaseServer;
private generatedAssortItems;
constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, itemHelper: ItemHelper, databaseServer: DatabaseServer);
/**
* Get an array of unique items that can be sold on the flea
* @returns array of unique items
*/
getAssortItems(): Item[];
private assortsAreGenerated;
/**
* Generate an array of items the flea can sell
* @returns array of unique items
*/
private generateRagfairAssortItems;
private createRagfairAssortItem;
}

View File

@ -39,6 +39,10 @@ export declare class RagfairOfferGenerator {
private getRating;
private getRatingGrowing;
private getOfferEndTime;
/**
* Create multiple offers for items by using a unique list of items we've generated previously
* @param expiredOffers
*/
generateDynamicOffers(expiredOffers?: Item[]): void;
generateTraderOffers(traderID: string): void;
private getItemCondition;

View File

@ -48,6 +48,8 @@ export declare class HideoutHelper {
applyPlayerUpgradesBonuses(pmcData: IPmcData, bonus: StageBonus): void;
private applySkillXPBoost;
updatePlayerHideout(sessionID: string): void;
private updateWaterCollector;
private doesWaterCollectorHaveFilter;
private updateFuel;
private updateWaterFilters;
private getAreaUpdObject;

View File

@ -24,8 +24,13 @@ export declare class RagfairServerHelper {
private questConfig;
private static TPL_GOODS_RETURNED;
constructor(randomUtil: RandomUtil, hashUtil: HashUtil, saveServer: SaveServer, databaseServer: DatabaseServer, profileHelper: ProfileHelper, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, jsonUtil: JsonUtil, configServer: ConfigServer);
/**
* Is item valid / on blacklist / quest item
* @param itemDetails
* @returns boolean
*/
isItemValidRagfairItem(itemDetails: [boolean, ITemplateItem]): boolean;
isItemBlacklisted(itemTemplateId: string): boolean;
private isItemBlacklisted;
isTrader(userID: string): boolean;
isPlayer(userID: string): boolean;
returnItems(sessionID: string, items: any[]): void;

View File

@ -21,9 +21,22 @@ export declare class TradeHelper {
private inventoryHelper;
private ragfairServer;
constructor(logger: ILogger, itemEventRouter: ItemEventRouter, traderHelper: TraderHelper, itemHelper: ItemHelper, paymentService: PaymentService, fenceService: FenceService, inventoryHelper: InventoryHelper, ragfairServer: RagfairServer);
/**
* Buy item from flea or trader
* @param pmcData
* @param buyRequestData data from client
* @param sessionID
* @param foundInRaid
* @param upd optional item details used when buying from flea
* @returns
*/
buyItem(pmcData: IPmcData, buyRequestData: IProcessBuyTradeRequestData, sessionID: string, foundInRaid: boolean, upd: Upd): IItemEventRouterResponse;
/**
* Selling item to trader
* Sell item to trader
* @param pmcData
* @param body
* @param sessionID
* @returns
*/
sellItem(pmcData: IPmcData, body: IProcessSellTradeRequestData, sessionID: string): IItemEventRouterResponse;
private incrementAssortBuyCount;

View File

@ -0,0 +1 @@
import "reflect-metadata";

View File

@ -2,12 +2,12 @@ import { HttpServerHelper } from "../helpers/HttpServerHelper";
import { JsonUtil } from "../utils/JsonUtil";
import { VFS } from "../utils/VFS";
declare class BundleInfo {
private httpServerHelper;
modPath: string;
key: string;
path: string;
filepath: string;
dependencyKeys: string[];
constructor(modpath: string, bundle: any, httpServerHelper: HttpServerHelper);
constructor(modpath: string, bundle: any, bundlePath: string, bundleFilepath: string);
}
export declare class BundleLoader {
private httpServerHelper;

View File

@ -1,5 +1,4 @@
import { DependencyContainer } from "tsyringe";
import { ModLoader } from "../models/spt/mod/IMod";
import { IModLoader } from "../models/spt/mod/IModLoader";
import { ILogger } from "../models/spt/utils/ILogger";
import { ConfigServer } from "../servers/ConfigServer";
@ -23,11 +22,29 @@ export declare class InitialModLoader implements IModLoader {
load(container: DependencyContainer): Promise<void>;
getBundles(local: boolean): string;
getBundle(key: string, local: boolean): void;
getMods(): Record<string, ModLoader.IMod>;
getImportedModsNames(): string[];
getModPath(mod: string): string;
private importClass;
private importMods;
/**
*
* @param mods Get an array of broken/invalid mods by name
* @returns Mod names array
*/
private getBrokenMods;
/**
* Get packageJson data for mods
* @param mods mods to get packageJson for
* @returns dictionary <modName - package.json>
*/
private getModsPackageData;
/**
* Does mod have "delayedLoad(" string in its entry class
* @param modFolderName folder name
* @param modToValidate package.json details
* @returns boolean
*/
private isModSpt300Compatible;
private isModCombatibleWithAki;
private executeMods;
private sortModsLoadOrder;

View File

@ -1,13 +0,0 @@
export declare enum MemberCategory {
Default = 0,
Developer = 1,
UniqueId = 2,
Trader = 4,
Group = 8,
System = 16,
ChatModerator = 32,
ChatModeratorWithPermanentBan = 64,
UnitTest = 128,
Sherpa = 256,
Emissary = 512
}

View File

@ -1,25 +0,0 @@
export declare enum HideoutAreasEnum {
NOTSET = -1,
VENTS = 0,
SECURITY = 1,
LAVATORY = 2,
STASH = 3,
GENERATOR = 4,
HEATING = 5,
WATER_COLLECTOR = 6,
MEDSTATION = 7,
NUTRITION_UNIT = 8,
REST_SPACE = 9,
WORKBENCH = 10,
INTEL_CENTER = 11,
SHOOTING_RANGE = 12,
LIBRARY = 13,
SCAV_CASE = 14,
ILLUMINATION = 15,
PLACE_OF_FAME = 16,
AIR_FILTERING = 17,
SOLAR_POWER = 18,
BOOZE_GENERATOR = 19,
BITCOIN_FARM = 20,
CHRISTMAS_TREE = 21
}

View File

@ -1,10 +0,0 @@
export declare enum Traders {
PRAPOR = "54cb50c76803fa8b248b4571",
THERAPIST = "54cb57776803fa99248b456e",
FENCE = "579dc571d53a0658a154fbec",
SKIER = "58330581ace78e27b8b10cee",
PEACEKEEPER = "5935c25fb3acc3127c3d8cd9",
MECHANIC = "5a7c2eca46aef81a7ca2145d",
RAGMAN = "5ac3b934156ae10c4430e83c",
JAEGER = "5c0647fdd443bc2504c2d371"
}

View File

@ -1,7 +1,7 @@
/// <reference types="node" />
import { IncomingMessage, ServerResponse } from "http";
import { IHttpServer } from "../models/spt/server/IHttpServer";
import { ImageRouteService } from "../services/mod/image/imageRouteService";
import { ImageRouteService } from "../services/mod/image/ImageRouteService";
import { VFS } from "../utils/VFS";
export declare class ImageRouter {
private vfs;

View File

@ -1,7 +1,7 @@
import { IHttpServer } from "../../models/spt/server/IHttpServer";
import { ILogger } from "../../models/spt/utils/ILogger";
import { Serializer } from "../../di/Serializer";
import { BundleLoader } from "../../loaders/BundleLoader";
import { IHttpServer } from "../../models/spt/server/IHttpServer";
import { ILogger } from "../../models/spt/utils/ILogger";
export declare class BundleSerializer extends Serializer {
private logger;
private bundleLoader;

View File

@ -1,38 +1,21 @@
import { RagfairOfferGenerator } from "../generators/RagfairOfferGenerator";
import { ProfileHelper } from "../helpers/ProfileHelper";
import { RagfairServerHelper } from "../helpers/RagfairServerHelper";
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer";
import { ILogger } from "../models/spt/utils/ILogger";
import { ItemEventRouter } from "../routers/ItemEventRouter";
import { RagfairCategoriesService } from "../services/RagfairCategoriesService";
import { RagfairLinkedItemService } from "../services/RagfairLinkedItemService";
import { RagfairOfferService } from "../services/RagfairOfferService";
import { RagfairPriceService } from "../services/RagfairPriceService";
import { RagfairRequiredItemsService } from "../services/RagfairRequiredItemsService";
import { HttpResponseUtil } from "../utils/HttpResponseUtil";
import { ConfigServer } from "./ConfigServer";
import { SaveServer } from "./SaveServer";
export declare class RagfairServer {
private logger;
private ragfairOfferGenerator;
private ragfairServerHelper;
private profileHelper;
private itemEventRouter;
private httpResponse;
private saveServer;
private ragfairPriceService;
private ragfairOfferService;
private ragfairLinkedItemService;
private ragfairCategoriesService;
private ragfairRequiredItemsService;
private configServer;
private ragfairConfig;
constructor(logger: ILogger, ragfairOfferGenerator: RagfairOfferGenerator, ragfairServerHelper: RagfairServerHelper, profileHelper: ProfileHelper, itemEventRouter: ItemEventRouter, httpResponse: HttpResponseUtil, saveServer: SaveServer, ragfairPriceService: RagfairPriceService, ragfairOfferService: RagfairOfferService, ragfairLinkedItemService: RagfairLinkedItemService, ragfairCategoriesService: RagfairCategoriesService, ragfairRequiredItemsService: RagfairRequiredItemsService, configServer: ConfigServer);
constructor(logger: ILogger, ragfairOfferGenerator: RagfairOfferGenerator, ragfairOfferService: RagfairOfferService, ragfairCategoriesService: RagfairCategoriesService, ragfairRequiredItemsService: RagfairRequiredItemsService, configServer: ConfigServer);
load(): void;
update(): void;
private processExpiredOffer;
returnPlayerOffer(offer: IRagfairOffer): IItemEventRouterResponse;
getCategories(): Record<string, number>;
/**
* Disable/Hide an offer from flea
@ -40,6 +23,7 @@ export declare class RagfairServer {
*/
hideOffer(offerId: string): void;
getOffer(offerID: string): IRagfairOffer;
getOffers(): IRagfairOffer[];
removeOfferStack(offerID: string, amount: number): void;
doesOfferExist(offerId: string): boolean;
addPlayerOffers(): void;

View File

@ -6,8 +6,10 @@ export declare class ModCompilerService {
private hashCacheService;
private vfs;
constructor(logger: ILogger, hashCacheService: HashCacheService, vfs: VFS);
compileMod(modName: string, path: string, modTypeScriptFiles: string[]): Promise<void>;
compileMod(modName: string, modPath: string, modTypeScriptFiles: string[]): Promise<void>;
private compile;
private buildDepth;
private calculateDepth;
private areFilesReady;
private delay;
}

View File

@ -4,6 +4,6 @@ export declare class RagfairLinkedItemService {
private linkedItemsCache;
constructor(databaseServer: DatabaseServer);
getLinkedItems(linkedSearchId: string): Iterable<string>;
buildLinkedItemTable(): void;
private buildLinkedItemTable;
private getFilters;
}

View File

@ -1,20 +1,30 @@
import { ProfileHelper } from "../helpers/ProfileHelper";
import { RagfairServerHelper } from "../helpers/RagfairServerHelper";
import { Item } from "../models/eft/common/tables/IItem";
import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer";
import { ILogger } from "../models/spt/utils/ILogger";
import { ItemEventRouter } from "../routers/ItemEventRouter";
import { ConfigServer } from "../servers/ConfigServer";
import { DatabaseServer } from "../servers/DatabaseServer";
import { SaveServer } from "../servers/SaveServer";
import { HttpResponseUtil } from "../utils/HttpResponseUtil";
import { TimeUtil } from "../utils/TimeUtil";
import { Item } from "../models/eft/common/tables/IItem";
import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer";
export declare class RagfairOfferService {
private logger;
private timeUtil;
private databaseServer;
private saveServer;
private ragfairServerHelper;
private profileHelper;
private itemEventRouter;
private httpResponse;
private configServer;
private playerOffersLoaded;
private toUpdate;
private expiredOffers;
private offers;
private ragfairConfig;
constructor(timeUtil: TimeUtil, databaseServer: DatabaseServer, saveServer: SaveServer, configServer: ConfigServer);
constructor(logger: ILogger, timeUtil: TimeUtil, databaseServer: DatabaseServer, saveServer: SaveServer, ragfairServerHelper: RagfairServerHelper, profileHelper: ProfileHelper, itemEventRouter: ItemEventRouter, httpResponse: HttpResponseUtil, configServer: ConfigServer);
getOffers(): IRagfairOffer[];
getOfferByOfferId(offerId: string): IRagfairOffer;
getOffersOfType(templateId: string): IRagfairOffer[];
@ -22,20 +32,13 @@ export declare class RagfairOfferService {
addOfferToExpired(offer: Item): void;
setTraderUpdateStatus(traderId: string, shouldUpdate: boolean): void;
shouldTraderBeUpdated(traderID: string): boolean;
/**
* Get an array of expired offers that are still shown to player
* @returns IRagfairOffer array
*/
getExpiredActiveOffers(): IRagfairOffer[];
getExpiredOfferCount(): number;
getOfferIndexByOfferId(offerId: string): number;
/**
* Get an array of expired items not yet processed into new offers
* @returns items that need to be turned into offers
*/
getExpiredOffers(): Item[];
resetExpiredOffers(): void;
private isExpired;
/**
* Does the offer exist on the ragfair
* @param offerId offer id to check for
@ -44,9 +47,18 @@ export declare class RagfairOfferService {
doesOfferExist(offerId: string): boolean;
getTraders(): Record<string, boolean>;
flagTraderForUpdate(expiredOfferUserId: string): void;
removeOffer(globalOfferIndex: number, countToRemove: number): void;
removeOfferById(offerId: string): void;
removeOfferStack(offerID: string, amount: number): void;
removeAllOffersByTrader(traderId: string): void;
addTradersToUpdateList(): void;
addPlayerOffers(): void;
expireStaleOffers(): void;
/**
* Get an array of stale offers that are still shown to player
* @returns IRagfairOffer array
*/
private getStaleOffers;
private isStale;
private processStaleOffer;
private returnPlayerOffer;
}

View File

@ -30,7 +30,7 @@ export declare class VFS {
copyAsync(filepath: fs.PathLike, target: fs.PathLike): Promise<void>;
createDir(filepath: string): void;
createDirAsync(filepath: string): Promise<void>;
copyDir(filepath: string, target: string, fileExtensions: string | string[]): void;
copyDir(filepath: string, target: string, fileExtensions?: string | string[]): void;
copyDirAsync(filepath: string, target: string, fileExtensions: string | string[]): Promise<void>;
readFile(filepath: string): any;
readFileAsync(filepath: string): Promise<any>;

View File

@ -5,6 +5,7 @@ export declare class WatermarkLocale {
getLocale(): string;
getDescription(): string[];
getWarning(): string[];
getModding(): string[];
}
export declare class Watermark {
private logger;

View File

@ -1,13 +1,13 @@
import { DatabaseServer } from "../servers/DatabaseServer";
import { SaveServer } from "../servers/SaveServer";
import { ProfileHelper } from "../helpers/ProfileHelper";
import { IPmcData } from "../models/eft/common/IPmcData";
import { IWearClothingRequestData } from "../models/eft/customization/IWearClothingRequestData";
import { IBuyClothingRequestData } from "../models/eft/customization/IBuyClothingRequestData";
import { ISuit } from "../models/eft/common/tables/ITrader";
import { IBuyClothingRequestData } from "../models/eft/customization/IBuyClothingRequestData";
import { IWearClothingRequestData } from "../models/eft/customization/IWearClothingRequestData";
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
import { ItemEventRouter } from "../routers/ItemEventRouter";
import { ILogger } from "../models/spt/utils/ILogger";
import { ItemEventRouter } from "../routers/ItemEventRouter";
import { DatabaseServer } from "../servers/DatabaseServer";
import { SaveServer } from "../servers/SaveServer";
export declare class CustomizationController {
private logger;
private itemEventRouter;

View File

@ -19,6 +19,7 @@ export declare class DialogueController {
setDialoguePin(dialogueID: string, shouldPin: boolean, sessionID: string): void;
setRead(dialogueIDs: string[], sessionID: string): void;
getAllAttachments(dialogueID: string, sessionID: string): IGetAllAttachmentsResponse;
private messagesHaveUncollectedRewards;
private removeExpiredItems;
update(): void;
}

View File

@ -13,7 +13,15 @@ export declare class GameController {
private configServer;
private httpConfig;
constructor(logger: ILogger, watermark: Watermark, httpServerHelper: HttpServerHelper, profileHelper: ProfileHelper, configServer: ConfigServer);
gameStart(url: string, info: IEmptyRequestData, sessionID: string): void;
gameStart(_url: string, _info: IEmptyRequestData, sessionID: string): void;
private addMissingBonusesProperty;
private addMissingRepeatableQuestsProperty;
private addMissingWeaponRepairSkill;
private addMissingAkiVersionTagToProfile;
private addMissingArmorRepairSkill;
private fixNullTraderSalesSums;
private removeDanglingConditionCounters;
private removeDanglingBackendCounters;
getGameConfig(sessionID: string): IGameConfigResponse;
getServer(): any[];
private getActiveRepeatableQuests;

View File

@ -1,5 +1,5 @@
import { DatabaseServer } from "../servers/DatabaseServer";
import { HandbookHelper } from "../helpers/HandbookHelper";
import { DatabaseServer } from "../servers/DatabaseServer";
export declare class HandbookController {
private databaseServer;
private handbookHelper;

View File

@ -1,10 +1,10 @@
import { DatabaseServer } from "../servers/DatabaseServer";
import { LocationGenerator } from "../generators/LocationGenerator";
import { ILocationBase } from "../models/eft/common/ILocationBase";
import { ILocationsGenerateAllResponse } from "../models/eft/common/ILocationsSourceDestinationBase";
import { ILogger } from "../models/spt/utils/ILogger";
import { DatabaseServer } from "../servers/DatabaseServer";
import { JsonUtil } from "../utils/JsonUtil";
import { TimeUtil } from "../utils/TimeUtil";
import { ILogger } from "../models/spt/utils/ILogger";
export declare class LocationController {
private jsonUtil;
private logger;

View File

@ -1,6 +1,6 @@
import { IPmcData } from "../models/eft/common/IPmcData";
import { INoteActionData } from "../models/eft/notes/INoteActionData";
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
import { INoteActionData } from "../models/eft/notes/INoteActionData";
import { ItemEventRouter } from "../routers/ItemEventRouter";
declare class NoteController {
private itemEventRouter;

View File

@ -1,11 +1,11 @@
import { ItemHelper } from "../helpers/ItemHelper";
import { SaveServer } from "../servers/SaveServer";
import { IPmcData } from "../models/eft/common/IPmcData";
import { IPresetBuildActionRequestData } from "../models/eft/presetBuild/IPresetBuildActionRequestData";
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
import { IPresetBuildActionRequestData } from "../models/eft/presetBuild/IPresetBuildActionRequestData";
import { WeaponBuild } from "../models/eft/profile/IAkiProfile";
import { HashUtil } from "../utils/HashUtil";
import { ItemEventRouter } from "../routers/ItemEventRouter";
import { SaveServer } from "../servers/SaveServer";
import { HashUtil } from "../utils/HashUtil";
export declare class PresetBuildController {
private hashUtil;
private itemEventRouter;

View File

@ -1,18 +1,18 @@
import { SaveServer } from "../servers/SaveServer";
import { DatabaseServer } from "../servers/DatabaseServer";
import { ExtendedProfileHelper } from "../helpers/ExtendedProfileHelper";
import { ItemHelper } from "../helpers/ItemHelper";
import { TraderHelper } from "../helpers/TraderHelper";
import { IPmcData } from "../models/eft/common/IPmcData";
import { IMiniProfile } from "../models/eft/launcher/IMiniProfile";
import { IProfileChangeNicknameRequestData } from "../models/eft/profile/IProfileChangeNicknameRequestData";
import { IProfileChangeVoiceRequestData } from "../models/eft/profile/IProfileChangeVoiceRequestData";
import { IProfileCreateRequestData } from "../models/eft/profile/IProfileCreateRequestData";
import { IValidateNicknameRequestData } from "../models/eft/profile/IValidateNicknameRequestData";
import { ISearchFriendRequestData } from "../models/eft/profile/ISearchFriendRequestData";
import { ISearchFriendResponse } from "../models/eft/profile/ISearchFriendResponse";
import { IValidateNicknameRequestData } from "../models/eft/profile/IValidateNicknameRequestData";
import { DatabaseServer } from "../servers/DatabaseServer";
import { SaveServer } from "../servers/SaveServer";
import { HashUtil } from "../utils/HashUtil";
import { TimeUtil } from "../utils/TimeUtil";
import { IMiniProfile } from "../models/eft/launcher/IMiniProfile";
import { ExtendedProfileHelper } from "../helpers/ExtendedProfileHelper";
export declare class ProfileController {
private hashUtil;
private timeUtil;

View File

@ -89,7 +89,7 @@ export declare class RepeatableQuestController {
* @param {string} sessionId Player's session id
* @returns {array} array of "repeatableQuestObjects" as descibed above
*/
getClientRepeatableQuests(info: IEmptyRequestData, sessionID: string): IPmcDataRepeatableQuest[];
getClientRepeatableQuests(_info: IEmptyRequestData, sessionID: string): IPmcDataRepeatableQuest[];
/**
* This method is called by GetClientRepeatableQuests and creates one element of quest type format (see assets/database/templates/repeatableQuests.json).
* It randomly draws a quest type (currently Elimination, Completion or Exploration) as well as a trader who is providing the quest

View File

@ -1,4 +0,0 @@
export declare class OnSaveLoad {
onSaveLoad(): void;
getRoute(): string;
}

View File

@ -10,8 +10,16 @@ export declare class RagfairAssortGenerator {
private databaseServer;
private generatedAssortItems;
constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, itemHelper: ItemHelper, databaseServer: DatabaseServer);
/**
* Get an array of unique items that can be sold on the flea
* @returns array of unique items
*/
getAssortItems(): Item[];
private assortsAreGenerated;
/**
* Generate an array of items the flea can sell
* @returns array of unique items
*/
private generateRagfairAssortItems;
private createRagfairAssortItem;
}

View File

@ -39,6 +39,10 @@ export declare class RagfairOfferGenerator {
private getRating;
private getRatingGrowing;
private getOfferEndTime;
/**
* Create multiple offers for items by using a unique list of items we've generated previously
* @param expiredOffers
*/
generateDynamicOffers(expiredOffers?: Item[]): void;
generateTraderOffers(traderID: string): void;
private getItemCondition;

View File

@ -48,6 +48,8 @@ export declare class HideoutHelper {
applyPlayerUpgradesBonuses(pmcData: IPmcData, bonus: StageBonus): void;
private applySkillXPBoost;
updatePlayerHideout(sessionID: string): void;
private updateWaterCollector;
private doesWaterCollectorHaveFilter;
private updateFuel;
private updateWaterFilters;
private getAreaUpdObject;

View File

@ -24,8 +24,13 @@ export declare class RagfairServerHelper {
private questConfig;
private static TPL_GOODS_RETURNED;
constructor(randomUtil: RandomUtil, hashUtil: HashUtil, saveServer: SaveServer, databaseServer: DatabaseServer, profileHelper: ProfileHelper, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, jsonUtil: JsonUtil, configServer: ConfigServer);
/**
* Is item valid / on blacklist / quest item
* @param itemDetails
* @returns boolean
*/
isItemValidRagfairItem(itemDetails: [boolean, ITemplateItem]): boolean;
isItemBlacklisted(itemTemplateId: string): boolean;
private isItemBlacklisted;
isTrader(userID: string): boolean;
isPlayer(userID: string): boolean;
returnItems(sessionID: string, items: any[]): void;

View File

@ -21,9 +21,22 @@ export declare class TradeHelper {
private inventoryHelper;
private ragfairServer;
constructor(logger: ILogger, itemEventRouter: ItemEventRouter, traderHelper: TraderHelper, itemHelper: ItemHelper, paymentService: PaymentService, fenceService: FenceService, inventoryHelper: InventoryHelper, ragfairServer: RagfairServer);
/**
* Buy item from flea or trader
* @param pmcData
* @param buyRequestData data from client
* @param sessionID
* @param foundInRaid
* @param upd optional item details used when buying from flea
* @returns
*/
buyItem(pmcData: IPmcData, buyRequestData: IProcessBuyTradeRequestData, sessionID: string, foundInRaid: boolean, upd: Upd): IItemEventRouterResponse;
/**
* Selling item to trader
* Sell item to trader
* @param pmcData
* @param body
* @param sessionID
* @returns
*/
sellItem(pmcData: IPmcData, body: IProcessSellTradeRequestData, sessionID: string): IItemEventRouterResponse;
private incrementAssortBuyCount;

View File

@ -0,0 +1 @@
import "reflect-metadata";

View File

@ -2,12 +2,12 @@ import { HttpServerHelper } from "../helpers/HttpServerHelper";
import { JsonUtil } from "../utils/JsonUtil";
import { VFS } from "../utils/VFS";
declare class BundleInfo {
private httpServerHelper;
modPath: string;
key: string;
path: string;
filepath: string;
dependencyKeys: string[];
constructor(modpath: string, bundle: any, httpServerHelper: HttpServerHelper);
constructor(modpath: string, bundle: any, bundlePath: string, bundleFilepath: string);
}
export declare class BundleLoader {
private httpServerHelper;

View File

@ -1,5 +1,4 @@
import { DependencyContainer } from "tsyringe";
import { ModLoader } from "../models/spt/mod/IMod";
import { IModLoader } from "../models/spt/mod/IModLoader";
import { ILogger } from "../models/spt/utils/ILogger";
import { ConfigServer } from "../servers/ConfigServer";
@ -23,11 +22,29 @@ export declare class InitialModLoader implements IModLoader {
load(container: DependencyContainer): Promise<void>;
getBundles(local: boolean): string;
getBundle(key: string, local: boolean): void;
getMods(): Record<string, ModLoader.IMod>;
getImportedModsNames(): string[];
getModPath(mod: string): string;
private importClass;
private importMods;
/**
*
* @param mods Get an array of broken/invalid mods by name
* @returns Mod names array
*/
private getBrokenMods;
/**
* Get packageJson data for mods
* @param mods mods to get packageJson for
* @returns dictionary <modName - package.json>
*/
private getModsPackageData;
/**
* Does mod have "delayedLoad(" string in its entry class
* @param modFolderName folder name
* @param modToValidate package.json details
* @returns boolean
*/
private isModSpt300Compatible;
private isModCombatibleWithAki;
private executeMods;
private sortModsLoadOrder;

View File

@ -1,13 +0,0 @@
export declare enum MemberCategory {
Default = 0,
Developer = 1,
UniqueId = 2,
Trader = 4,
Group = 8,
System = 16,
ChatModerator = 32,
ChatModeratorWithPermanentBan = 64,
UnitTest = 128,
Sherpa = 256,
Emissary = 512
}

View File

@ -1,25 +0,0 @@
export declare enum HideoutAreasEnum {
NOTSET = -1,
VENTS = 0,
SECURITY = 1,
LAVATORY = 2,
STASH = 3,
GENERATOR = 4,
HEATING = 5,
WATER_COLLECTOR = 6,
MEDSTATION = 7,
NUTRITION_UNIT = 8,
REST_SPACE = 9,
WORKBENCH = 10,
INTEL_CENTER = 11,
SHOOTING_RANGE = 12,
LIBRARY = 13,
SCAV_CASE = 14,
ILLUMINATION = 15,
PLACE_OF_FAME = 16,
AIR_FILTERING = 17,
SOLAR_POWER = 18,
BOOZE_GENERATOR = 19,
BITCOIN_FARM = 20,
CHRISTMAS_TREE = 21
}

View File

@ -1,10 +0,0 @@
export declare enum Traders {
PRAPOR = "54cb50c76803fa8b248b4571",
THERAPIST = "54cb57776803fa99248b456e",
FENCE = "579dc571d53a0658a154fbec",
SKIER = "58330581ace78e27b8b10cee",
PEACEKEEPER = "5935c25fb3acc3127c3d8cd9",
MECHANIC = "5a7c2eca46aef81a7ca2145d",
RAGMAN = "5ac3b934156ae10c4430e83c",
JAEGER = "5c0647fdd443bc2504c2d371"
}

View File

@ -1,7 +1,7 @@
/// <reference types="node" />
import { IncomingMessage, ServerResponse } from "http";
import { IHttpServer } from "../models/spt/server/IHttpServer";
import { ImageRouteService } from "../services/mod/image/imageRouteService";
import { ImageRouteService } from "../services/mod/image/ImageRouteService";
import { VFS } from "../utils/VFS";
export declare class ImageRouter {
private vfs;

View File

@ -1,7 +1,7 @@
import { IHttpServer } from "../../models/spt/server/IHttpServer";
import { ILogger } from "../../models/spt/utils/ILogger";
import { Serializer } from "../../di/Serializer";
import { BundleLoader } from "../../loaders/BundleLoader";
import { IHttpServer } from "../../models/spt/server/IHttpServer";
import { ILogger } from "../../models/spt/utils/ILogger";
export declare class BundleSerializer extends Serializer {
private logger;
private bundleLoader;

View File

@ -1,38 +1,21 @@
import { RagfairOfferGenerator } from "../generators/RagfairOfferGenerator";
import { ProfileHelper } from "../helpers/ProfileHelper";
import { RagfairServerHelper } from "../helpers/RagfairServerHelper";
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer";
import { ILogger } from "../models/spt/utils/ILogger";
import { ItemEventRouter } from "../routers/ItemEventRouter";
import { RagfairCategoriesService } from "../services/RagfairCategoriesService";
import { RagfairLinkedItemService } from "../services/RagfairLinkedItemService";
import { RagfairOfferService } from "../services/RagfairOfferService";
import { RagfairPriceService } from "../services/RagfairPriceService";
import { RagfairRequiredItemsService } from "../services/RagfairRequiredItemsService";
import { HttpResponseUtil } from "../utils/HttpResponseUtil";
import { ConfigServer } from "./ConfigServer";
import { SaveServer } from "./SaveServer";
export declare class RagfairServer {
private logger;
private ragfairOfferGenerator;
private ragfairServerHelper;
private profileHelper;
private itemEventRouter;
private httpResponse;
private saveServer;
private ragfairPriceService;
private ragfairOfferService;
private ragfairLinkedItemService;
private ragfairCategoriesService;
private ragfairRequiredItemsService;
private configServer;
private ragfairConfig;
constructor(logger: ILogger, ragfairOfferGenerator: RagfairOfferGenerator, ragfairServerHelper: RagfairServerHelper, profileHelper: ProfileHelper, itemEventRouter: ItemEventRouter, httpResponse: HttpResponseUtil, saveServer: SaveServer, ragfairPriceService: RagfairPriceService, ragfairOfferService: RagfairOfferService, ragfairLinkedItemService: RagfairLinkedItemService, ragfairCategoriesService: RagfairCategoriesService, ragfairRequiredItemsService: RagfairRequiredItemsService, configServer: ConfigServer);
constructor(logger: ILogger, ragfairOfferGenerator: RagfairOfferGenerator, ragfairOfferService: RagfairOfferService, ragfairCategoriesService: RagfairCategoriesService, ragfairRequiredItemsService: RagfairRequiredItemsService, configServer: ConfigServer);
load(): void;
update(): void;
private processExpiredOffer;
returnPlayerOffer(offer: IRagfairOffer): IItemEventRouterResponse;
getCategories(): Record<string, number>;
/**
* Disable/Hide an offer from flea
@ -40,6 +23,7 @@ export declare class RagfairServer {
*/
hideOffer(offerId: string): void;
getOffer(offerID: string): IRagfairOffer;
getOffers(): IRagfairOffer[];
removeOfferStack(offerID: string, amount: number): void;
doesOfferExist(offerId: string): boolean;
addPlayerOffers(): void;

View File

@ -6,8 +6,10 @@ export declare class ModCompilerService {
private hashCacheService;
private vfs;
constructor(logger: ILogger, hashCacheService: HashCacheService, vfs: VFS);
compileMod(modName: string, path: string, modTypeScriptFiles: string[]): Promise<void>;
compileMod(modName: string, modPath: string, modTypeScriptFiles: string[]): Promise<void>;
private compile;
private buildDepth;
private calculateDepth;
private areFilesReady;
private delay;
}

View File

@ -4,6 +4,6 @@ export declare class RagfairLinkedItemService {
private linkedItemsCache;
constructor(databaseServer: DatabaseServer);
getLinkedItems(linkedSearchId: string): Iterable<string>;
buildLinkedItemTable(): void;
private buildLinkedItemTable;
private getFilters;
}

View File

@ -1,20 +1,30 @@
import { ProfileHelper } from "../helpers/ProfileHelper";
import { RagfairServerHelper } from "../helpers/RagfairServerHelper";
import { Item } from "../models/eft/common/tables/IItem";
import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer";
import { ILogger } from "../models/spt/utils/ILogger";
import { ItemEventRouter } from "../routers/ItemEventRouter";
import { ConfigServer } from "../servers/ConfigServer";
import { DatabaseServer } from "../servers/DatabaseServer";
import { SaveServer } from "../servers/SaveServer";
import { HttpResponseUtil } from "../utils/HttpResponseUtil";
import { TimeUtil } from "../utils/TimeUtil";
import { Item } from "../models/eft/common/tables/IItem";
import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer";
export declare class RagfairOfferService {
private logger;
private timeUtil;
private databaseServer;
private saveServer;
private ragfairServerHelper;
private profileHelper;
private itemEventRouter;
private httpResponse;
private configServer;
private playerOffersLoaded;
private toUpdate;
private expiredOffers;
private offers;
private ragfairConfig;
constructor(timeUtil: TimeUtil, databaseServer: DatabaseServer, saveServer: SaveServer, configServer: ConfigServer);
constructor(logger: ILogger, timeUtil: TimeUtil, databaseServer: DatabaseServer, saveServer: SaveServer, ragfairServerHelper: RagfairServerHelper, profileHelper: ProfileHelper, itemEventRouter: ItemEventRouter, httpResponse: HttpResponseUtil, configServer: ConfigServer);
getOffers(): IRagfairOffer[];
getOfferByOfferId(offerId: string): IRagfairOffer;
getOffersOfType(templateId: string): IRagfairOffer[];
@ -22,20 +32,13 @@ export declare class RagfairOfferService {
addOfferToExpired(offer: Item): void;
setTraderUpdateStatus(traderId: string, shouldUpdate: boolean): void;
shouldTraderBeUpdated(traderID: string): boolean;
/**
* Get an array of expired offers that are still shown to player
* @returns IRagfairOffer array
*/
getExpiredActiveOffers(): IRagfairOffer[];
getExpiredOfferCount(): number;
getOfferIndexByOfferId(offerId: string): number;
/**
* Get an array of expired items not yet processed into new offers
* @returns items that need to be turned into offers
*/
getExpiredOffers(): Item[];
resetExpiredOffers(): void;
private isExpired;
/**
* Does the offer exist on the ragfair
* @param offerId offer id to check for
@ -44,9 +47,18 @@ export declare class RagfairOfferService {
doesOfferExist(offerId: string): boolean;
getTraders(): Record<string, boolean>;
flagTraderForUpdate(expiredOfferUserId: string): void;
removeOffer(globalOfferIndex: number, countToRemove: number): void;
removeOfferById(offerId: string): void;
removeOfferStack(offerID: string, amount: number): void;
removeAllOffersByTrader(traderId: string): void;
addTradersToUpdateList(): void;
addPlayerOffers(): void;
expireStaleOffers(): void;
/**
* Get an array of stale offers that are still shown to player
* @returns IRagfairOffer array
*/
private getStaleOffers;
private isStale;
private processStaleOffer;
private returnPlayerOffer;
}

View File

@ -30,7 +30,7 @@ export declare class VFS {
copyAsync(filepath: fs.PathLike, target: fs.PathLike): Promise<void>;
createDir(filepath: string): void;
createDirAsync(filepath: string): Promise<void>;
copyDir(filepath: string, target: string, fileExtensions: string | string[]): void;
copyDir(filepath: string, target: string, fileExtensions?: string | string[]): void;
copyDirAsync(filepath: string, target: string, fileExtensions: string | string[]): Promise<void>;
readFile(filepath: string): any;
readFileAsync(filepath: string): Promise<any>;

View File

@ -5,6 +5,7 @@ export declare class WatermarkLocale {
getLocale(): string;
getDescription(): string[];
getWarning(): string[];
getModding(): string[];
}
export declare class Watermark {
private logger;

View File

@ -1,13 +1,13 @@
import { DatabaseServer } from "../servers/DatabaseServer";
import { SaveServer } from "../servers/SaveServer";
import { ProfileHelper } from "../helpers/ProfileHelper";
import { IPmcData } from "../models/eft/common/IPmcData";
import { IWearClothingRequestData } from "../models/eft/customization/IWearClothingRequestData";
import { IBuyClothingRequestData } from "../models/eft/customization/IBuyClothingRequestData";
import { ISuit } from "../models/eft/common/tables/ITrader";
import { IBuyClothingRequestData } from "../models/eft/customization/IBuyClothingRequestData";
import { IWearClothingRequestData } from "../models/eft/customization/IWearClothingRequestData";
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
import { ItemEventRouter } from "../routers/ItemEventRouter";
import { ILogger } from "../models/spt/utils/ILogger";
import { ItemEventRouter } from "../routers/ItemEventRouter";
import { DatabaseServer } from "../servers/DatabaseServer";
import { SaveServer } from "../servers/SaveServer";
export declare class CustomizationController {
private logger;
private itemEventRouter;

View File

@ -19,6 +19,7 @@ export declare class DialogueController {
setDialoguePin(dialogueID: string, shouldPin: boolean, sessionID: string): void;
setRead(dialogueIDs: string[], sessionID: string): void;
getAllAttachments(dialogueID: string, sessionID: string): IGetAllAttachmentsResponse;
private messagesHaveUncollectedRewards;
private removeExpiredItems;
update(): void;
}

View File

@ -13,7 +13,15 @@ export declare class GameController {
private configServer;
private httpConfig;
constructor(logger: ILogger, watermark: Watermark, httpServerHelper: HttpServerHelper, profileHelper: ProfileHelper, configServer: ConfigServer);
gameStart(url: string, info: IEmptyRequestData, sessionID: string): void;
gameStart(_url: string, _info: IEmptyRequestData, sessionID: string): void;
private addMissingBonusesProperty;
private addMissingRepeatableQuestsProperty;
private addMissingWeaponRepairSkill;
private addMissingAkiVersionTagToProfile;
private addMissingArmorRepairSkill;
private fixNullTraderSalesSums;
private removeDanglingConditionCounters;
private removeDanglingBackendCounters;
getGameConfig(sessionID: string): IGameConfigResponse;
getServer(): any[];
private getActiveRepeatableQuests;

View File

@ -1,5 +1,5 @@
import { DatabaseServer } from "../servers/DatabaseServer";
import { HandbookHelper } from "../helpers/HandbookHelper";
import { DatabaseServer } from "../servers/DatabaseServer";
export declare class HandbookController {
private databaseServer;
private handbookHelper;

View File

@ -1,10 +1,10 @@
import { DatabaseServer } from "../servers/DatabaseServer";
import { LocationGenerator } from "../generators/LocationGenerator";
import { ILocationBase } from "../models/eft/common/ILocationBase";
import { ILocationsGenerateAllResponse } from "../models/eft/common/ILocationsSourceDestinationBase";
import { ILogger } from "../models/spt/utils/ILogger";
import { DatabaseServer } from "../servers/DatabaseServer";
import { JsonUtil } from "../utils/JsonUtil";
import { TimeUtil } from "../utils/TimeUtil";
import { ILogger } from "../models/spt/utils/ILogger";
export declare class LocationController {
private jsonUtil;
private logger;

View File

@ -1,6 +1,6 @@
import { IPmcData } from "../models/eft/common/IPmcData";
import { INoteActionData } from "../models/eft/notes/INoteActionData";
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
import { INoteActionData } from "../models/eft/notes/INoteActionData";
import { ItemEventRouter } from "../routers/ItemEventRouter";
declare class NoteController {
private itemEventRouter;

View File

@ -1,11 +1,11 @@
import { ItemHelper } from "../helpers/ItemHelper";
import { SaveServer } from "../servers/SaveServer";
import { IPmcData } from "../models/eft/common/IPmcData";
import { IPresetBuildActionRequestData } from "../models/eft/presetBuild/IPresetBuildActionRequestData";
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
import { IPresetBuildActionRequestData } from "../models/eft/presetBuild/IPresetBuildActionRequestData";
import { WeaponBuild } from "../models/eft/profile/IAkiProfile";
import { HashUtil } from "../utils/HashUtil";
import { ItemEventRouter } from "../routers/ItemEventRouter";
import { SaveServer } from "../servers/SaveServer";
import { HashUtil } from "../utils/HashUtil";
export declare class PresetBuildController {
private hashUtil;
private itemEventRouter;

View File

@ -1,18 +1,18 @@
import { SaveServer } from "../servers/SaveServer";
import { DatabaseServer } from "../servers/DatabaseServer";
import { ExtendedProfileHelper } from "../helpers/ExtendedProfileHelper";
import { ItemHelper } from "../helpers/ItemHelper";
import { TraderHelper } from "../helpers/TraderHelper";
import { IPmcData } from "../models/eft/common/IPmcData";
import { IMiniProfile } from "../models/eft/launcher/IMiniProfile";
import { IProfileChangeNicknameRequestData } from "../models/eft/profile/IProfileChangeNicknameRequestData";
import { IProfileChangeVoiceRequestData } from "../models/eft/profile/IProfileChangeVoiceRequestData";
import { IProfileCreateRequestData } from "../models/eft/profile/IProfileCreateRequestData";
import { IValidateNicknameRequestData } from "../models/eft/profile/IValidateNicknameRequestData";
import { ISearchFriendRequestData } from "../models/eft/profile/ISearchFriendRequestData";
import { ISearchFriendResponse } from "../models/eft/profile/ISearchFriendResponse";
import { IValidateNicknameRequestData } from "../models/eft/profile/IValidateNicknameRequestData";
import { DatabaseServer } from "../servers/DatabaseServer";
import { SaveServer } from "../servers/SaveServer";
import { HashUtil } from "../utils/HashUtil";
import { TimeUtil } from "../utils/TimeUtil";
import { IMiniProfile } from "../models/eft/launcher/IMiniProfile";
import { ExtendedProfileHelper } from "../helpers/ExtendedProfileHelper";
export declare class ProfileController {
private hashUtil;
private timeUtil;

View File

@ -89,7 +89,7 @@ export declare class RepeatableQuestController {
* @param {string} sessionId Player's session id
* @returns {array} array of "repeatableQuestObjects" as descibed above
*/
getClientRepeatableQuests(info: IEmptyRequestData, sessionID: string): IPmcDataRepeatableQuest[];
getClientRepeatableQuests(_info: IEmptyRequestData, sessionID: string): IPmcDataRepeatableQuest[];
/**
* This method is called by GetClientRepeatableQuests and creates one element of quest type format (see assets/database/templates/repeatableQuests.json).
* It randomly draws a quest type (currently Elimination, Completion or Exploration) as well as a trader who is providing the quest

View File

@ -1,4 +0,0 @@
export declare class OnSaveLoad {
onSaveLoad(): void;
getRoute(): string;
}

View File

@ -10,8 +10,16 @@ export declare class RagfairAssortGenerator {
private databaseServer;
private generatedAssortItems;
constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, itemHelper: ItemHelper, databaseServer: DatabaseServer);
/**
* Get an array of unique items that can be sold on the flea
* @returns array of unique items
*/
getAssortItems(): Item[];
private assortsAreGenerated;
/**
* Generate an array of items the flea can sell
* @returns array of unique items
*/
private generateRagfairAssortItems;
private createRagfairAssortItem;
}

View File

@ -39,6 +39,10 @@ export declare class RagfairOfferGenerator {
private getRating;
private getRatingGrowing;
private getOfferEndTime;
/**
* Create multiple offers for items by using a unique list of items we've generated previously
* @param expiredOffers
*/
generateDynamicOffers(expiredOffers?: Item[]): void;
generateTraderOffers(traderID: string): void;
private getItemCondition;

View File

@ -48,6 +48,8 @@ export declare class HideoutHelper {
applyPlayerUpgradesBonuses(pmcData: IPmcData, bonus: StageBonus): void;
private applySkillXPBoost;
updatePlayerHideout(sessionID: string): void;
private updateWaterCollector;
private doesWaterCollectorHaveFilter;
private updateFuel;
private updateWaterFilters;
private getAreaUpdObject;

View File

@ -24,8 +24,13 @@ export declare class RagfairServerHelper {
private questConfig;
private static TPL_GOODS_RETURNED;
constructor(randomUtil: RandomUtil, hashUtil: HashUtil, saveServer: SaveServer, databaseServer: DatabaseServer, profileHelper: ProfileHelper, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, jsonUtil: JsonUtil, configServer: ConfigServer);
/**
* Is item valid / on blacklist / quest item
* @param itemDetails
* @returns boolean
*/
isItemValidRagfairItem(itemDetails: [boolean, ITemplateItem]): boolean;
isItemBlacklisted(itemTemplateId: string): boolean;
private isItemBlacklisted;
isTrader(userID: string): boolean;
isPlayer(userID: string): boolean;
returnItems(sessionID: string, items: any[]): void;

View File

@ -21,9 +21,22 @@ export declare class TradeHelper {
private inventoryHelper;
private ragfairServer;
constructor(logger: ILogger, itemEventRouter: ItemEventRouter, traderHelper: TraderHelper, itemHelper: ItemHelper, paymentService: PaymentService, fenceService: FenceService, inventoryHelper: InventoryHelper, ragfairServer: RagfairServer);
/**
* Buy item from flea or trader
* @param pmcData
* @param buyRequestData data from client
* @param sessionID
* @param foundInRaid
* @param upd optional item details used when buying from flea
* @returns
*/
buyItem(pmcData: IPmcData, buyRequestData: IProcessBuyTradeRequestData, sessionID: string, foundInRaid: boolean, upd: Upd): IItemEventRouterResponse;
/**
* Selling item to trader
* Sell item to trader
* @param pmcData
* @param body
* @param sessionID
* @returns
*/
sellItem(pmcData: IPmcData, body: IProcessSellTradeRequestData, sessionID: string): IItemEventRouterResponse;
private incrementAssortBuyCount;

View File

@ -0,0 +1 @@
import "reflect-metadata";

View File

@ -2,12 +2,12 @@ import { HttpServerHelper } from "../helpers/HttpServerHelper";
import { JsonUtil } from "../utils/JsonUtil";
import { VFS } from "../utils/VFS";
declare class BundleInfo {
private httpServerHelper;
modPath: string;
key: string;
path: string;
filepath: string;
dependencyKeys: string[];
constructor(modpath: string, bundle: any, httpServerHelper: HttpServerHelper);
constructor(modpath: string, bundle: any, bundlePath: string, bundleFilepath: string);
}
export declare class BundleLoader {
private httpServerHelper;

View File

@ -1,5 +1,4 @@
import { DependencyContainer } from "tsyringe";
import { ModLoader } from "../models/spt/mod/IMod";
import { IModLoader } from "../models/spt/mod/IModLoader";
import { ILogger } from "../models/spt/utils/ILogger";
import { ConfigServer } from "../servers/ConfigServer";
@ -23,11 +22,29 @@ export declare class InitialModLoader implements IModLoader {
load(container: DependencyContainer): Promise<void>;
getBundles(local: boolean): string;
getBundle(key: string, local: boolean): void;
getMods(): Record<string, ModLoader.IMod>;
getImportedModsNames(): string[];
getModPath(mod: string): string;
private importClass;
private importMods;
/**
*
* @param mods Get an array of broken/invalid mods by name
* @returns Mod names array
*/
private getBrokenMods;
/**
* Get packageJson data for mods
* @param mods mods to get packageJson for
* @returns dictionary <modName - package.json>
*/
private getModsPackageData;
/**
* Does mod have "delayedLoad(" string in its entry class
* @param modFolderName folder name
* @param modToValidate package.json details
* @returns boolean
*/
private isModSpt300Compatible;
private isModCombatibleWithAki;
private executeMods;
private sortModsLoadOrder;

View File

@ -1,13 +0,0 @@
export declare enum MemberCategory {
Default = 0,
Developer = 1,
UniqueId = 2,
Trader = 4,
Group = 8,
System = 16,
ChatModerator = 32,
ChatModeratorWithPermanentBan = 64,
UnitTest = 128,
Sherpa = 256,
Emissary = 512
}

View File

@ -1,25 +0,0 @@
export declare enum HideoutAreasEnum {
NOTSET = -1,
VENTS = 0,
SECURITY = 1,
LAVATORY = 2,
STASH = 3,
GENERATOR = 4,
HEATING = 5,
WATER_COLLECTOR = 6,
MEDSTATION = 7,
NUTRITION_UNIT = 8,
REST_SPACE = 9,
WORKBENCH = 10,
INTEL_CENTER = 11,
SHOOTING_RANGE = 12,
LIBRARY = 13,
SCAV_CASE = 14,
ILLUMINATION = 15,
PLACE_OF_FAME = 16,
AIR_FILTERING = 17,
SOLAR_POWER = 18,
BOOZE_GENERATOR = 19,
BITCOIN_FARM = 20,
CHRISTMAS_TREE = 21
}

View File

@ -1,10 +0,0 @@
export declare enum Traders {
PRAPOR = "54cb50c76803fa8b248b4571",
THERAPIST = "54cb57776803fa99248b456e",
FENCE = "579dc571d53a0658a154fbec",
SKIER = "58330581ace78e27b8b10cee",
PEACEKEEPER = "5935c25fb3acc3127c3d8cd9",
MECHANIC = "5a7c2eca46aef81a7ca2145d",
RAGMAN = "5ac3b934156ae10c4430e83c",
JAEGER = "5c0647fdd443bc2504c2d371"
}

View File

@ -1,7 +1,7 @@
/// <reference types="node" />
import { IncomingMessage, ServerResponse } from "http";
import { IHttpServer } from "../models/spt/server/IHttpServer";
import { ImageRouteService } from "../services/mod/image/imageRouteService";
import { ImageRouteService } from "../services/mod/image/ImageRouteService";
import { VFS } from "../utils/VFS";
export declare class ImageRouter {
private vfs;

View File

@ -1,7 +1,7 @@
import { IHttpServer } from "../../models/spt/server/IHttpServer";
import { ILogger } from "../../models/spt/utils/ILogger";
import { Serializer } from "../../di/Serializer";
import { BundleLoader } from "../../loaders/BundleLoader";
import { IHttpServer } from "../../models/spt/server/IHttpServer";
import { ILogger } from "../../models/spt/utils/ILogger";
export declare class BundleSerializer extends Serializer {
private logger;
private bundleLoader;

View File

@ -1,38 +1,21 @@
import { RagfairOfferGenerator } from "../generators/RagfairOfferGenerator";
import { ProfileHelper } from "../helpers/ProfileHelper";
import { RagfairServerHelper } from "../helpers/RagfairServerHelper";
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer";
import { ILogger } from "../models/spt/utils/ILogger";
import { ItemEventRouter } from "../routers/ItemEventRouter";
import { RagfairCategoriesService } from "../services/RagfairCategoriesService";
import { RagfairLinkedItemService } from "../services/RagfairLinkedItemService";
import { RagfairOfferService } from "../services/RagfairOfferService";
import { RagfairPriceService } from "../services/RagfairPriceService";
import { RagfairRequiredItemsService } from "../services/RagfairRequiredItemsService";
import { HttpResponseUtil } from "../utils/HttpResponseUtil";
import { ConfigServer } from "./ConfigServer";
import { SaveServer } from "./SaveServer";
export declare class RagfairServer {
private logger;
private ragfairOfferGenerator;
private ragfairServerHelper;
private profileHelper;
private itemEventRouter;
private httpResponse;
private saveServer;
private ragfairPriceService;
private ragfairOfferService;
private ragfairLinkedItemService;
private ragfairCategoriesService;
private ragfairRequiredItemsService;
private configServer;
private ragfairConfig;
constructor(logger: ILogger, ragfairOfferGenerator: RagfairOfferGenerator, ragfairServerHelper: RagfairServerHelper, profileHelper: ProfileHelper, itemEventRouter: ItemEventRouter, httpResponse: HttpResponseUtil, saveServer: SaveServer, ragfairPriceService: RagfairPriceService, ragfairOfferService: RagfairOfferService, ragfairLinkedItemService: RagfairLinkedItemService, ragfairCategoriesService: RagfairCategoriesService, ragfairRequiredItemsService: RagfairRequiredItemsService, configServer: ConfigServer);
constructor(logger: ILogger, ragfairOfferGenerator: RagfairOfferGenerator, ragfairOfferService: RagfairOfferService, ragfairCategoriesService: RagfairCategoriesService, ragfairRequiredItemsService: RagfairRequiredItemsService, configServer: ConfigServer);
load(): void;
update(): void;
private processExpiredOffer;
returnPlayerOffer(offer: IRagfairOffer): IItemEventRouterResponse;
getCategories(): Record<string, number>;
/**
* Disable/Hide an offer from flea
@ -40,6 +23,7 @@ export declare class RagfairServer {
*/
hideOffer(offerId: string): void;
getOffer(offerID: string): IRagfairOffer;
getOffers(): IRagfairOffer[];
removeOfferStack(offerID: string, amount: number): void;
doesOfferExist(offerId: string): boolean;
addPlayerOffers(): void;

View File

@ -6,8 +6,10 @@ export declare class ModCompilerService {
private hashCacheService;
private vfs;
constructor(logger: ILogger, hashCacheService: HashCacheService, vfs: VFS);
compileMod(modName: string, path: string, modTypeScriptFiles: string[]): Promise<void>;
compileMod(modName: string, modPath: string, modTypeScriptFiles: string[]): Promise<void>;
private compile;
private buildDepth;
private calculateDepth;
private areFilesReady;
private delay;
}

View File

@ -4,6 +4,6 @@ export declare class RagfairLinkedItemService {
private linkedItemsCache;
constructor(databaseServer: DatabaseServer);
getLinkedItems(linkedSearchId: string): Iterable<string>;
buildLinkedItemTable(): void;
private buildLinkedItemTable;
private getFilters;
}

View File

@ -1,20 +1,30 @@
import { ProfileHelper } from "../helpers/ProfileHelper";
import { RagfairServerHelper } from "../helpers/RagfairServerHelper";
import { Item } from "../models/eft/common/tables/IItem";
import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer";
import { ILogger } from "../models/spt/utils/ILogger";
import { ItemEventRouter } from "../routers/ItemEventRouter";
import { ConfigServer } from "../servers/ConfigServer";
import { DatabaseServer } from "../servers/DatabaseServer";
import { SaveServer } from "../servers/SaveServer";
import { HttpResponseUtil } from "../utils/HttpResponseUtil";
import { TimeUtil } from "../utils/TimeUtil";
import { Item } from "../models/eft/common/tables/IItem";
import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer";
export declare class RagfairOfferService {
private logger;
private timeUtil;
private databaseServer;
private saveServer;
private ragfairServerHelper;
private profileHelper;
private itemEventRouter;
private httpResponse;
private configServer;
private playerOffersLoaded;
private toUpdate;
private expiredOffers;
private offers;
private ragfairConfig;
constructor(timeUtil: TimeUtil, databaseServer: DatabaseServer, saveServer: SaveServer, configServer: ConfigServer);
constructor(logger: ILogger, timeUtil: TimeUtil, databaseServer: DatabaseServer, saveServer: SaveServer, ragfairServerHelper: RagfairServerHelper, profileHelper: ProfileHelper, itemEventRouter: ItemEventRouter, httpResponse: HttpResponseUtil, configServer: ConfigServer);
getOffers(): IRagfairOffer[];
getOfferByOfferId(offerId: string): IRagfairOffer;
getOffersOfType(templateId: string): IRagfairOffer[];
@ -22,20 +32,13 @@ export declare class RagfairOfferService {
addOfferToExpired(offer: Item): void;
setTraderUpdateStatus(traderId: string, shouldUpdate: boolean): void;
shouldTraderBeUpdated(traderID: string): boolean;
/**
* Get an array of expired offers that are still shown to player
* @returns IRagfairOffer array
*/
getExpiredActiveOffers(): IRagfairOffer[];
getExpiredOfferCount(): number;
getOfferIndexByOfferId(offerId: string): number;
/**
* Get an array of expired items not yet processed into new offers
* @returns items that need to be turned into offers
*/
getExpiredOffers(): Item[];
resetExpiredOffers(): void;
private isExpired;
/**
* Does the offer exist on the ragfair
* @param offerId offer id to check for
@ -44,9 +47,18 @@ export declare class RagfairOfferService {
doesOfferExist(offerId: string): boolean;
getTraders(): Record<string, boolean>;
flagTraderForUpdate(expiredOfferUserId: string): void;
removeOffer(globalOfferIndex: number, countToRemove: number): void;
removeOfferById(offerId: string): void;
removeOfferStack(offerID: string, amount: number): void;
removeAllOffersByTrader(traderId: string): void;
addTradersToUpdateList(): void;
addPlayerOffers(): void;
expireStaleOffers(): void;
/**
* Get an array of stale offers that are still shown to player
* @returns IRagfairOffer array
*/
private getStaleOffers;
private isStale;
private processStaleOffer;
private returnPlayerOffer;
}

View File

@ -30,7 +30,7 @@ export declare class VFS {
copyAsync(filepath: fs.PathLike, target: fs.PathLike): Promise<void>;
createDir(filepath: string): void;
createDirAsync(filepath: string): Promise<void>;
copyDir(filepath: string, target: string, fileExtensions: string | string[]): void;
copyDir(filepath: string, target: string, fileExtensions?: string | string[]): void;
copyDirAsync(filepath: string, target: string, fileExtensions: string | string[]): Promise<void>;
readFile(filepath: string): any;
readFileAsync(filepath: string): Promise<any>;

View File

@ -5,6 +5,7 @@ export declare class WatermarkLocale {
getLocale(): string;
getDescription(): string[];
getWarning(): string[];
getModding(): string[];
}
export declare class Watermark {
private logger;

View File

@ -1,13 +1,13 @@
import { DatabaseServer } from "../servers/DatabaseServer";
import { SaveServer } from "../servers/SaveServer";
import { ProfileHelper } from "../helpers/ProfileHelper";
import { IPmcData } from "../models/eft/common/IPmcData";
import { IWearClothingRequestData } from "../models/eft/customization/IWearClothingRequestData";
import { IBuyClothingRequestData } from "../models/eft/customization/IBuyClothingRequestData";
import { ISuit } from "../models/eft/common/tables/ITrader";
import { IBuyClothingRequestData } from "../models/eft/customization/IBuyClothingRequestData";
import { IWearClothingRequestData } from "../models/eft/customization/IWearClothingRequestData";
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
import { ItemEventRouter } from "../routers/ItemEventRouter";
import { ILogger } from "../models/spt/utils/ILogger";
import { ItemEventRouter } from "../routers/ItemEventRouter";
import { DatabaseServer } from "../servers/DatabaseServer";
import { SaveServer } from "../servers/SaveServer";
export declare class CustomizationController {
private logger;
private itemEventRouter;

View File

@ -19,6 +19,7 @@ export declare class DialogueController {
setDialoguePin(dialogueID: string, shouldPin: boolean, sessionID: string): void;
setRead(dialogueIDs: string[], sessionID: string): void;
getAllAttachments(dialogueID: string, sessionID: string): IGetAllAttachmentsResponse;
private messagesHaveUncollectedRewards;
private removeExpiredItems;
update(): void;
}

View File

@ -13,7 +13,15 @@ export declare class GameController {
private configServer;
private httpConfig;
constructor(logger: ILogger, watermark: Watermark, httpServerHelper: HttpServerHelper, profileHelper: ProfileHelper, configServer: ConfigServer);
gameStart(url: string, info: IEmptyRequestData, sessionID: string): void;
gameStart(_url: string, _info: IEmptyRequestData, sessionID: string): void;
private addMissingBonusesProperty;
private addMissingRepeatableQuestsProperty;
private addMissingWeaponRepairSkill;
private addMissingAkiVersionTagToProfile;
private addMissingArmorRepairSkill;
private fixNullTraderSalesSums;
private removeDanglingConditionCounters;
private removeDanglingBackendCounters;
getGameConfig(sessionID: string): IGameConfigResponse;
getServer(): any[];
private getActiveRepeatableQuests;

View File

@ -1,5 +1,5 @@
import { DatabaseServer } from "../servers/DatabaseServer";
import { HandbookHelper } from "../helpers/HandbookHelper";
import { DatabaseServer } from "../servers/DatabaseServer";
export declare class HandbookController {
private databaseServer;
private handbookHelper;

View File

@ -1,10 +1,10 @@
import { DatabaseServer } from "../servers/DatabaseServer";
import { LocationGenerator } from "../generators/LocationGenerator";
import { ILocationBase } from "../models/eft/common/ILocationBase";
import { ILocationsGenerateAllResponse } from "../models/eft/common/ILocationsSourceDestinationBase";
import { ILogger } from "../models/spt/utils/ILogger";
import { DatabaseServer } from "../servers/DatabaseServer";
import { JsonUtil } from "../utils/JsonUtil";
import { TimeUtil } from "../utils/TimeUtil";
import { ILogger } from "../models/spt/utils/ILogger";
export declare class LocationController {
private jsonUtil;
private logger;

View File

@ -1,6 +1,6 @@
import { IPmcData } from "../models/eft/common/IPmcData";
import { INoteActionData } from "../models/eft/notes/INoteActionData";
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
import { INoteActionData } from "../models/eft/notes/INoteActionData";
import { ItemEventRouter } from "../routers/ItemEventRouter";
declare class NoteController {
private itemEventRouter;

View File

@ -1,11 +1,11 @@
import { ItemHelper } from "../helpers/ItemHelper";
import { SaveServer } from "../servers/SaveServer";
import { IPmcData } from "../models/eft/common/IPmcData";
import { IPresetBuildActionRequestData } from "../models/eft/presetBuild/IPresetBuildActionRequestData";
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
import { IPresetBuildActionRequestData } from "../models/eft/presetBuild/IPresetBuildActionRequestData";
import { WeaponBuild } from "../models/eft/profile/IAkiProfile";
import { HashUtil } from "../utils/HashUtil";
import { ItemEventRouter } from "../routers/ItemEventRouter";
import { SaveServer } from "../servers/SaveServer";
import { HashUtil } from "../utils/HashUtil";
export declare class PresetBuildController {
private hashUtil;
private itemEventRouter;

View File

@ -1,18 +1,18 @@
import { SaveServer } from "../servers/SaveServer";
import { DatabaseServer } from "../servers/DatabaseServer";
import { ExtendedProfileHelper } from "../helpers/ExtendedProfileHelper";
import { ItemHelper } from "../helpers/ItemHelper";
import { TraderHelper } from "../helpers/TraderHelper";
import { IPmcData } from "../models/eft/common/IPmcData";
import { IMiniProfile } from "../models/eft/launcher/IMiniProfile";
import { IProfileChangeNicknameRequestData } from "../models/eft/profile/IProfileChangeNicknameRequestData";
import { IProfileChangeVoiceRequestData } from "../models/eft/profile/IProfileChangeVoiceRequestData";
import { IProfileCreateRequestData } from "../models/eft/profile/IProfileCreateRequestData";
import { IValidateNicknameRequestData } from "../models/eft/profile/IValidateNicknameRequestData";
import { ISearchFriendRequestData } from "../models/eft/profile/ISearchFriendRequestData";
import { ISearchFriendResponse } from "../models/eft/profile/ISearchFriendResponse";
import { IValidateNicknameRequestData } from "../models/eft/profile/IValidateNicknameRequestData";
import { DatabaseServer } from "../servers/DatabaseServer";
import { SaveServer } from "../servers/SaveServer";
import { HashUtil } from "../utils/HashUtil";
import { TimeUtil } from "../utils/TimeUtil";
import { IMiniProfile } from "../models/eft/launcher/IMiniProfile";
import { ExtendedProfileHelper } from "../helpers/ExtendedProfileHelper";
export declare class ProfileController {
private hashUtil;
private timeUtil;

View File

@ -89,7 +89,7 @@ export declare class RepeatableQuestController {
* @param {string} sessionId Player's session id
* @returns {array} array of "repeatableQuestObjects" as descibed above
*/
getClientRepeatableQuests(info: IEmptyRequestData, sessionID: string): IPmcDataRepeatableQuest[];
getClientRepeatableQuests(_info: IEmptyRequestData, sessionID: string): IPmcDataRepeatableQuest[];
/**
* This method is called by GetClientRepeatableQuests and creates one element of quest type format (see assets/database/templates/repeatableQuests.json).
* It randomly draws a quest type (currently Elimination, Completion or Exploration) as well as a trader who is providing the quest

View File

@ -1,4 +0,0 @@
export declare class OnSaveLoad {
onSaveLoad(): void;
getRoute(): string;
}

View File

@ -10,8 +10,16 @@ export declare class RagfairAssortGenerator {
private databaseServer;
private generatedAssortItems;
constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, itemHelper: ItemHelper, databaseServer: DatabaseServer);
/**
* Get an array of unique items that can be sold on the flea
* @returns array of unique items
*/
getAssortItems(): Item[];
private assortsAreGenerated;
/**
* Generate an array of items the flea can sell
* @returns array of unique items
*/
private generateRagfairAssortItems;
private createRagfairAssortItem;
}

View File

@ -39,6 +39,10 @@ export declare class RagfairOfferGenerator {
private getRating;
private getRatingGrowing;
private getOfferEndTime;
/**
* Create multiple offers for items by using a unique list of items we've generated previously
* @param expiredOffers
*/
generateDynamicOffers(expiredOffers?: Item[]): void;
generateTraderOffers(traderID: string): void;
private getItemCondition;

View File

@ -48,6 +48,8 @@ export declare class HideoutHelper {
applyPlayerUpgradesBonuses(pmcData: IPmcData, bonus: StageBonus): void;
private applySkillXPBoost;
updatePlayerHideout(sessionID: string): void;
private updateWaterCollector;
private doesWaterCollectorHaveFilter;
private updateFuel;
private updateWaterFilters;
private getAreaUpdObject;

Some files were not shown because too many files have changed in this diff Show More