Updated types
This commit is contained in:
parent
c51864317b
commit
83c9ad9424
@ -1,4 +1,4 @@
|
||||
# Mod examples for v3.10.3
|
||||
# Mod examples for v3.10.4
|
||||
|
||||
A collection of example mods that perform typical actions in SPT
|
||||
|
||||
|
@ -5,6 +5,7 @@ import { BotHelper } from "@spt/helpers/BotHelper";
|
||||
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||
import { WeightedRandomHelper } from "@spt/helpers/WeightedRandomHelper";
|
||||
import { MinMax } from "@spt/models/common/MinMax";
|
||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { IBaseJsonSkills, IBaseSkill, IBotBase, IInfo, IHealth as PmcHealth, ISkills as botSkills } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IAppearance, IBodyPart, IBotType, IHealth, IInventory } from "@spt/models/eft/common/tables/IBotType";
|
||||
import { IBotGenerationDetails } from "@spt/models/spt/bots/BotGenerationDetails";
|
||||
@ -47,9 +48,10 @@ export declare class BotGenerator {
|
||||
* @param role e.g. assault / pmcbot
|
||||
* @param difficulty easy/normal/hard/impossible
|
||||
* @param botTemplate base bot template to use (e.g. assault/pmcbot)
|
||||
* @returns
|
||||
* profile PMC profile of player generating pscav
|
||||
* @returns IBotBase
|
||||
*/
|
||||
generatePlayerScav(sessionId: string, role: string, difficulty: string, botTemplate: IBotType): IBotBase;
|
||||
generatePlayerScav(sessionId: string, role: string, difficulty: string, botTemplate: IBotType, profile: IPmcData): IBotBase;
|
||||
/**
|
||||
* Create 1 bot of the type/side/difficulty defined in botGenerationDetails
|
||||
* @param sessionId Session id
|
||||
@ -79,6 +81,12 @@ export declare class BotGenerator {
|
||||
* @returns IBotBase object
|
||||
*/
|
||||
protected generateBot(sessionId: string, bot: IBotBase, botJsonTemplate: IBotType, botGenerationDetails: IBotGenerationDetails): IBotBase;
|
||||
/**
|
||||
* Should this bot have a name like "name (Pmc Name)" and be alterd by client patch to be hostile to player
|
||||
* @param botRole Role bot has
|
||||
* @returns True if name should be simulated pscav
|
||||
*/
|
||||
protected shouldSimulatePlayerScav(botRole: string): boolean;
|
||||
/**
|
||||
* Get exp for kill by bot difficulty
|
||||
* @param experience Dict of difficulties and experience
|
||||
|
@ -91,6 +91,12 @@ export declare class RagfairOfferHelper {
|
||||
* @returns IRagfairOffer array
|
||||
*/
|
||||
getOffersForBuild(searchRequest: ISearchRequestData, itemsToAdd: string[], traderAssorts: Record<string, ITraderAssort>, pmcData: IPmcData): IRagfairOffer[];
|
||||
/**
|
||||
* Get offers that have not exceeded buy limits
|
||||
* @param possibleOffers offers to process
|
||||
* @returns Offers
|
||||
*/
|
||||
protected getOffersInsideBuyRestrictionLimits(possibleOffers: IRagfairOffer[]): IRagfairOffer[];
|
||||
/**
|
||||
* Check if offer is from trader standing the player does not have
|
||||
* @param offer Offer to check
|
||||
@ -209,4 +215,10 @@ export declare class RagfairOfferHelper {
|
||||
* @returns True if in range
|
||||
*/
|
||||
protected itemQualityInRange(item: IItem, min: number, max: number): boolean;
|
||||
/**
|
||||
* Does this offer come from a trader
|
||||
* @param offer Offer to check
|
||||
* @returns True = from trader
|
||||
*/
|
||||
offerIsFromTrader(offer: IRagfairOffer): boolean;
|
||||
}
|
||||
|
@ -60,6 +60,7 @@ export interface IUnlockedInfo {
|
||||
export interface IInfo {
|
||||
EntryPoint: string;
|
||||
Nickname: string;
|
||||
MainProfileNickname?: string;
|
||||
LowerNickname: string;
|
||||
Side: string;
|
||||
SquadInviteRestriction: boolean;
|
||||
|
@ -10,6 +10,8 @@ export interface IInventoryConfig extends IBaseConfig {
|
||||
customMoneyTpls: string[];
|
||||
/** Multipliers for skill gain when inside menus, NOT in-game */
|
||||
skillGainMultiplers: Record<string, number>;
|
||||
/** Container Tpls that shoud be deprioritised when choosing where to take money from for payments */
|
||||
deprioritisedMoneyContainers: string[];
|
||||
}
|
||||
export interface IRewardDetails {
|
||||
rewardCount: number;
|
||||
|
@ -66,7 +66,9 @@ export interface IPmcTypes {
|
||||
bear: string;
|
||||
}
|
||||
export interface ISlotLootSettings {
|
||||
/** Item Type whitelist */
|
||||
whitelist: string[];
|
||||
/** item tpl blacklist */
|
||||
blacklist: string[];
|
||||
}
|
||||
export interface IMinMaxLootValue extends MinMax {
|
||||
|
@ -75,6 +75,8 @@ export interface IDynamic {
|
||||
blacklist: IRagfairBlacklist;
|
||||
/** Dict of price limits keyed by item type */
|
||||
unreasonableModPrices: Record<string, IUnreasonableModPrices>;
|
||||
/** Custom rouble prices for items to override values from prices.json */
|
||||
itemPriceOverrideRouble: Record<string, number>;
|
||||
}
|
||||
export interface IPriceRanges {
|
||||
default: MinMax;
|
||||
|
@ -6,6 +6,8 @@ export interface ISeasonalEventConfig extends IBaseConfig {
|
||||
enableSeasonalEventDetection: boolean;
|
||||
/** event / botType / equipSlot / itemid */
|
||||
eventGear: Record<string, Record<string, Record<string, Record<string, number>>>>;
|
||||
/** event / bot type / equipSlot / itemid */
|
||||
eventLoot: Record<string, Record<string, Record<string, Record<string, number>>>>;
|
||||
events: ISeasonalEvent[];
|
||||
eventBotMapping: Record<string, string>;
|
||||
eventBossSpawns: Record<string, Record<string, IBossLocationSpawn[]>>;
|
||||
|
@ -1,5 +1,6 @@
|
||||
import { BotHelper } from "@spt/helpers/BotHelper";
|
||||
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||
import { IBotBase } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IBotType } from "@spt/models/eft/common/tables/IBotType";
|
||||
import { IBotGenerationDetails } from "@spt/models/spt/bots/BotGenerationDetails";
|
||||
import { IBotConfig } from "@spt/models/spt/config/IBotConfig";
|
||||
@ -38,10 +39,13 @@ export declare class BotNameService {
|
||||
*/
|
||||
generateUniqueBotNickname(botJsonTemplate: IBotType, botGenerationDetails: IBotGenerationDetails, botRole: string, uniqueRoles?: string[]): string;
|
||||
/**
|
||||
* Should this bot have a name like "name (Pmc Name)"
|
||||
* @param botRole Role bot has
|
||||
* @returns True if name should be simulated pscav
|
||||
* Add random PMC name to bots MainProfileNickname property
|
||||
* @param bot Bot to update
|
||||
*/
|
||||
protected shouldSimulatePlayerScavName(botRole: string): boolean;
|
||||
protected addPlayerScavNameSimulationSuffix(nickname: string): string;
|
||||
addRandomPmcNameToBotMainProfileNicknameProperty(bot: IBotBase): void;
|
||||
/**
|
||||
* Choose a random PMC name from bear or usec bot jsons
|
||||
* @returns PMC name as string
|
||||
*/
|
||||
protected getRandomPMCName(): string;
|
||||
}
|
||||
|
@ -85,7 +85,7 @@ export declare class DatabaseService {
|
||||
*/
|
||||
getCustomization(): Record<string, ICustomizationItem>;
|
||||
/**
|
||||
* @returns assets/database/templates/items.json
|
||||
* @returns assets/database/templates/handbook.json
|
||||
*/
|
||||
getHandbook(): IHandbookBase;
|
||||
/**
|
||||
@ -101,7 +101,7 @@ export declare class DatabaseService {
|
||||
*/
|
||||
getProfiles(): IProfileTemplates;
|
||||
/**
|
||||
* @returns assets/database/templates/items.json
|
||||
* @returns assets/database/templates/quests.json
|
||||
*/
|
||||
getQuests(): Record<string, IQuest>;
|
||||
/**
|
||||
|
@ -8,7 +8,9 @@ import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
|
||||
import { IProcessBuyTradeRequestData } from "@spt/models/eft/trade/IProcessBuyTradeRequestData";
|
||||
import { IProcessSellTradeRequestData } from "@spt/models/eft/trade/IProcessSellTradeRequestData";
|
||||
import { IInventoryConfig } from "@spt/models/spt/config/IInventoryConfig";
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
import { ConfigServer } from "@spt/servers/ConfigServer";
|
||||
import { DatabaseService } from "@spt/services/DatabaseService";
|
||||
import { LocalisationService } from "@spt/services/LocalisationService";
|
||||
import { HashUtil } from "@spt/utils/HashUtil";
|
||||
@ -24,7 +26,9 @@ export declare class PaymentService {
|
||||
protected inventoryHelper: InventoryHelper;
|
||||
protected localisationService: LocalisationService;
|
||||
protected paymentHelper: PaymentHelper;
|
||||
constructor(logger: ILogger, hashUtil: HashUtil, httpResponse: HttpResponseUtil, databaseService: DatabaseService, handbookHelper: HandbookHelper, traderHelper: TraderHelper, itemHelper: ItemHelper, inventoryHelper: InventoryHelper, localisationService: LocalisationService, paymentHelper: PaymentHelper);
|
||||
protected configServer: ConfigServer;
|
||||
protected inventoryConfig: IInventoryConfig;
|
||||
constructor(logger: ILogger, hashUtil: HashUtil, httpResponse: HttpResponseUtil, databaseService: DatabaseService, handbookHelper: HandbookHelper, traderHelper: TraderHelper, itemHelper: ItemHelper, inventoryHelper: InventoryHelper, localisationService: LocalisationService, paymentHelper: PaymentHelper, configServer: ConfigServer);
|
||||
/**
|
||||
* Take money and insert items into return to server request
|
||||
* @param pmcData Pmc profile
|
||||
|
@ -74,4 +74,6 @@ export declare class PostDbLoadService {
|
||||
*/
|
||||
protected validateQuestAssortUnlocksExist(): void;
|
||||
protected setAllDbItemsAsSellableOnFlea(): void;
|
||||
protected addMissingTraderBuyRestrictionMaxValue(): void;
|
||||
protected applyFleaPriceOverrides(): void;
|
||||
}
|
||||
|
@ -88,6 +88,12 @@ export declare class SeasonalEventService {
|
||||
* @returns bots with equipment changes
|
||||
*/
|
||||
protected getEventBotGear(eventType: SeasonalEventType): Record<string, Record<string, Record<string, number>>>;
|
||||
/**
|
||||
* Get a dictionary of loot changes to apply to bots for a specific event e.g. Christmas/Halloween
|
||||
* @param eventName Name of event to get gear changes for
|
||||
* @returns bots with loot changes
|
||||
*/
|
||||
protected getEventBotLoot(eventType: SeasonalEventType): Record<string, Record<string, Record<string, number>>>;
|
||||
/**
|
||||
* Get the dates each seasonal event starts and ends at
|
||||
* @returns Record with event name + start/end date
|
||||
@ -171,6 +177,11 @@ export declare class SeasonalEventService {
|
||||
* @param eventName Name of the event to read equipment in from config
|
||||
*/
|
||||
protected addEventGearToBots(eventType: SeasonalEventType): void;
|
||||
/**
|
||||
* Read in data from seasonalEvents.json and add found loot items to bots
|
||||
* @param eventName Name of the event to read loot in from config
|
||||
*/
|
||||
protected addEventLootToBots(eventType: SeasonalEventType): void;
|
||||
/**
|
||||
* Add pumpkin loot boxes to scavs
|
||||
*/
|
||||
|
@ -4,10 +4,10 @@ import { ICoreConfig } from "@spt/models/spt/config/ICoreConfig";
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
import { ConfigServer } from "@spt/servers/ConfigServer";
|
||||
import { HttpServer } from "@spt/servers/HttpServer";
|
||||
import { DatabaseService } from "@spt/services/DatabaseService";
|
||||
import { LocalisationService } from "@spt/services/LocalisationService";
|
||||
import { EncodingUtil } from "@spt/utils/EncodingUtil";
|
||||
import { TimeUtil } from "@spt/utils/TimeUtil";
|
||||
import { DatabaseService } from "@spt/services/DatabaseService";
|
||||
export declare class App {
|
||||
protected logger: ILogger;
|
||||
protected timeUtil: TimeUtil;
|
||||
|
13
TypeScript/10ScopesAndTypes/types/utils/ProgressWriter.d.ts
vendored
Normal file
13
TypeScript/10ScopesAndTypes/types/utils/ProgressWriter.d.ts
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
export declare class ProgressWriter {
|
||||
private count;
|
||||
private total?;
|
||||
private done;
|
||||
private barFillChar;
|
||||
private barEmptyChar;
|
||||
private maxBarLength;
|
||||
constructor(total: number, maxBarLength?: number, barFillChar?: string, barEmptyChar?: string);
|
||||
/**
|
||||
* Increment the progress counter and update the progress bar display.
|
||||
*/
|
||||
increment(): void;
|
||||
}
|
@ -5,6 +5,7 @@ import { BotHelper } from "@spt/helpers/BotHelper";
|
||||
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||
import { WeightedRandomHelper } from "@spt/helpers/WeightedRandomHelper";
|
||||
import { MinMax } from "@spt/models/common/MinMax";
|
||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { IBaseJsonSkills, IBaseSkill, IBotBase, IInfo, IHealth as PmcHealth, ISkills as botSkills } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IAppearance, IBodyPart, IBotType, IHealth, IInventory } from "@spt/models/eft/common/tables/IBotType";
|
||||
import { IBotGenerationDetails } from "@spt/models/spt/bots/BotGenerationDetails";
|
||||
@ -47,9 +48,10 @@ export declare class BotGenerator {
|
||||
* @param role e.g. assault / pmcbot
|
||||
* @param difficulty easy/normal/hard/impossible
|
||||
* @param botTemplate base bot template to use (e.g. assault/pmcbot)
|
||||
* @returns
|
||||
* profile PMC profile of player generating pscav
|
||||
* @returns IBotBase
|
||||
*/
|
||||
generatePlayerScav(sessionId: string, role: string, difficulty: string, botTemplate: IBotType): IBotBase;
|
||||
generatePlayerScav(sessionId: string, role: string, difficulty: string, botTemplate: IBotType, profile: IPmcData): IBotBase;
|
||||
/**
|
||||
* Create 1 bot of the type/side/difficulty defined in botGenerationDetails
|
||||
* @param sessionId Session id
|
||||
@ -79,6 +81,12 @@ export declare class BotGenerator {
|
||||
* @returns IBotBase object
|
||||
*/
|
||||
protected generateBot(sessionId: string, bot: IBotBase, botJsonTemplate: IBotType, botGenerationDetails: IBotGenerationDetails): IBotBase;
|
||||
/**
|
||||
* Should this bot have a name like "name (Pmc Name)" and be alterd by client patch to be hostile to player
|
||||
* @param botRole Role bot has
|
||||
* @returns True if name should be simulated pscav
|
||||
*/
|
||||
protected shouldSimulatePlayerScav(botRole: string): boolean;
|
||||
/**
|
||||
* Get exp for kill by bot difficulty
|
||||
* @param experience Dict of difficulties and experience
|
||||
|
@ -91,6 +91,12 @@ export declare class RagfairOfferHelper {
|
||||
* @returns IRagfairOffer array
|
||||
*/
|
||||
getOffersForBuild(searchRequest: ISearchRequestData, itemsToAdd: string[], traderAssorts: Record<string, ITraderAssort>, pmcData: IPmcData): IRagfairOffer[];
|
||||
/**
|
||||
* Get offers that have not exceeded buy limits
|
||||
* @param possibleOffers offers to process
|
||||
* @returns Offers
|
||||
*/
|
||||
protected getOffersInsideBuyRestrictionLimits(possibleOffers: IRagfairOffer[]): IRagfairOffer[];
|
||||
/**
|
||||
* Check if offer is from trader standing the player does not have
|
||||
* @param offer Offer to check
|
||||
@ -209,4 +215,10 @@ export declare class RagfairOfferHelper {
|
||||
* @returns True if in range
|
||||
*/
|
||||
protected itemQualityInRange(item: IItem, min: number, max: number): boolean;
|
||||
/**
|
||||
* Does this offer come from a trader
|
||||
* @param offer Offer to check
|
||||
* @returns True = from trader
|
||||
*/
|
||||
offerIsFromTrader(offer: IRagfairOffer): boolean;
|
||||
}
|
||||
|
@ -60,6 +60,7 @@ export interface IUnlockedInfo {
|
||||
export interface IInfo {
|
||||
EntryPoint: string;
|
||||
Nickname: string;
|
||||
MainProfileNickname?: string;
|
||||
LowerNickname: string;
|
||||
Side: string;
|
||||
SquadInviteRestriction: boolean;
|
||||
|
@ -10,6 +10,8 @@ export interface IInventoryConfig extends IBaseConfig {
|
||||
customMoneyTpls: string[];
|
||||
/** Multipliers for skill gain when inside menus, NOT in-game */
|
||||
skillGainMultiplers: Record<string, number>;
|
||||
/** Container Tpls that shoud be deprioritised when choosing where to take money from for payments */
|
||||
deprioritisedMoneyContainers: string[];
|
||||
}
|
||||
export interface IRewardDetails {
|
||||
rewardCount: number;
|
||||
|
@ -66,7 +66,9 @@ export interface IPmcTypes {
|
||||
bear: string;
|
||||
}
|
||||
export interface ISlotLootSettings {
|
||||
/** Item Type whitelist */
|
||||
whitelist: string[];
|
||||
/** item tpl blacklist */
|
||||
blacklist: string[];
|
||||
}
|
||||
export interface IMinMaxLootValue extends MinMax {
|
||||
|
@ -75,6 +75,8 @@ export interface IDynamic {
|
||||
blacklist: IRagfairBlacklist;
|
||||
/** Dict of price limits keyed by item type */
|
||||
unreasonableModPrices: Record<string, IUnreasonableModPrices>;
|
||||
/** Custom rouble prices for items to override values from prices.json */
|
||||
itemPriceOverrideRouble: Record<string, number>;
|
||||
}
|
||||
export interface IPriceRanges {
|
||||
default: MinMax;
|
||||
|
@ -6,6 +6,8 @@ export interface ISeasonalEventConfig extends IBaseConfig {
|
||||
enableSeasonalEventDetection: boolean;
|
||||
/** event / botType / equipSlot / itemid */
|
||||
eventGear: Record<string, Record<string, Record<string, Record<string, number>>>>;
|
||||
/** event / bot type / equipSlot / itemid */
|
||||
eventLoot: Record<string, Record<string, Record<string, Record<string, number>>>>;
|
||||
events: ISeasonalEvent[];
|
||||
eventBotMapping: Record<string, string>;
|
||||
eventBossSpawns: Record<string, Record<string, IBossLocationSpawn[]>>;
|
||||
|
@ -1,5 +1,6 @@
|
||||
import { BotHelper } from "@spt/helpers/BotHelper";
|
||||
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||
import { IBotBase } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IBotType } from "@spt/models/eft/common/tables/IBotType";
|
||||
import { IBotGenerationDetails } from "@spt/models/spt/bots/BotGenerationDetails";
|
||||
import { IBotConfig } from "@spt/models/spt/config/IBotConfig";
|
||||
@ -38,10 +39,13 @@ export declare class BotNameService {
|
||||
*/
|
||||
generateUniqueBotNickname(botJsonTemplate: IBotType, botGenerationDetails: IBotGenerationDetails, botRole: string, uniqueRoles?: string[]): string;
|
||||
/**
|
||||
* Should this bot have a name like "name (Pmc Name)"
|
||||
* @param botRole Role bot has
|
||||
* @returns True if name should be simulated pscav
|
||||
* Add random PMC name to bots MainProfileNickname property
|
||||
* @param bot Bot to update
|
||||
*/
|
||||
protected shouldSimulatePlayerScavName(botRole: string): boolean;
|
||||
protected addPlayerScavNameSimulationSuffix(nickname: string): string;
|
||||
addRandomPmcNameToBotMainProfileNicknameProperty(bot: IBotBase): void;
|
||||
/**
|
||||
* Choose a random PMC name from bear or usec bot jsons
|
||||
* @returns PMC name as string
|
||||
*/
|
||||
protected getRandomPMCName(): string;
|
||||
}
|
||||
|
@ -85,7 +85,7 @@ export declare class DatabaseService {
|
||||
*/
|
||||
getCustomization(): Record<string, ICustomizationItem>;
|
||||
/**
|
||||
* @returns assets/database/templates/items.json
|
||||
* @returns assets/database/templates/handbook.json
|
||||
*/
|
||||
getHandbook(): IHandbookBase;
|
||||
/**
|
||||
@ -101,7 +101,7 @@ export declare class DatabaseService {
|
||||
*/
|
||||
getProfiles(): IProfileTemplates;
|
||||
/**
|
||||
* @returns assets/database/templates/items.json
|
||||
* @returns assets/database/templates/quests.json
|
||||
*/
|
||||
getQuests(): Record<string, IQuest>;
|
||||
/**
|
||||
|
@ -8,7 +8,9 @@ import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
|
||||
import { IProcessBuyTradeRequestData } from "@spt/models/eft/trade/IProcessBuyTradeRequestData";
|
||||
import { IProcessSellTradeRequestData } from "@spt/models/eft/trade/IProcessSellTradeRequestData";
|
||||
import { IInventoryConfig } from "@spt/models/spt/config/IInventoryConfig";
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
import { ConfigServer } from "@spt/servers/ConfigServer";
|
||||
import { DatabaseService } from "@spt/services/DatabaseService";
|
||||
import { LocalisationService } from "@spt/services/LocalisationService";
|
||||
import { HashUtil } from "@spt/utils/HashUtil";
|
||||
@ -24,7 +26,9 @@ export declare class PaymentService {
|
||||
protected inventoryHelper: InventoryHelper;
|
||||
protected localisationService: LocalisationService;
|
||||
protected paymentHelper: PaymentHelper;
|
||||
constructor(logger: ILogger, hashUtil: HashUtil, httpResponse: HttpResponseUtil, databaseService: DatabaseService, handbookHelper: HandbookHelper, traderHelper: TraderHelper, itemHelper: ItemHelper, inventoryHelper: InventoryHelper, localisationService: LocalisationService, paymentHelper: PaymentHelper);
|
||||
protected configServer: ConfigServer;
|
||||
protected inventoryConfig: IInventoryConfig;
|
||||
constructor(logger: ILogger, hashUtil: HashUtil, httpResponse: HttpResponseUtil, databaseService: DatabaseService, handbookHelper: HandbookHelper, traderHelper: TraderHelper, itemHelper: ItemHelper, inventoryHelper: InventoryHelper, localisationService: LocalisationService, paymentHelper: PaymentHelper, configServer: ConfigServer);
|
||||
/**
|
||||
* Take money and insert items into return to server request
|
||||
* @param pmcData Pmc profile
|
||||
|
@ -74,4 +74,6 @@ export declare class PostDbLoadService {
|
||||
*/
|
||||
protected validateQuestAssortUnlocksExist(): void;
|
||||
protected setAllDbItemsAsSellableOnFlea(): void;
|
||||
protected addMissingTraderBuyRestrictionMaxValue(): void;
|
||||
protected applyFleaPriceOverrides(): void;
|
||||
}
|
||||
|
@ -88,6 +88,12 @@ export declare class SeasonalEventService {
|
||||
* @returns bots with equipment changes
|
||||
*/
|
||||
protected getEventBotGear(eventType: SeasonalEventType): Record<string, Record<string, Record<string, number>>>;
|
||||
/**
|
||||
* Get a dictionary of loot changes to apply to bots for a specific event e.g. Christmas/Halloween
|
||||
* @param eventName Name of event to get gear changes for
|
||||
* @returns bots with loot changes
|
||||
*/
|
||||
protected getEventBotLoot(eventType: SeasonalEventType): Record<string, Record<string, Record<string, number>>>;
|
||||
/**
|
||||
* Get the dates each seasonal event starts and ends at
|
||||
* @returns Record with event name + start/end date
|
||||
@ -171,6 +177,11 @@ export declare class SeasonalEventService {
|
||||
* @param eventName Name of the event to read equipment in from config
|
||||
*/
|
||||
protected addEventGearToBots(eventType: SeasonalEventType): void;
|
||||
/**
|
||||
* Read in data from seasonalEvents.json and add found loot items to bots
|
||||
* @param eventName Name of the event to read loot in from config
|
||||
*/
|
||||
protected addEventLootToBots(eventType: SeasonalEventType): void;
|
||||
/**
|
||||
* Add pumpkin loot boxes to scavs
|
||||
*/
|
||||
|
@ -4,10 +4,10 @@ import { ICoreConfig } from "@spt/models/spt/config/ICoreConfig";
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
import { ConfigServer } from "@spt/servers/ConfigServer";
|
||||
import { HttpServer } from "@spt/servers/HttpServer";
|
||||
import { DatabaseService } from "@spt/services/DatabaseService";
|
||||
import { LocalisationService } from "@spt/services/LocalisationService";
|
||||
import { EncodingUtil } from "@spt/utils/EncodingUtil";
|
||||
import { TimeUtil } from "@spt/utils/TimeUtil";
|
||||
import { DatabaseService } from "@spt/services/DatabaseService";
|
||||
export declare class App {
|
||||
protected logger: ILogger;
|
||||
protected timeUtil: TimeUtil;
|
||||
|
13
TypeScript/11BundleLoadingSample/types/utils/ProgressWriter.d.ts
vendored
Normal file
13
TypeScript/11BundleLoadingSample/types/utils/ProgressWriter.d.ts
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
export declare class ProgressWriter {
|
||||
private count;
|
||||
private total?;
|
||||
private done;
|
||||
private barFillChar;
|
||||
private barEmptyChar;
|
||||
private maxBarLength;
|
||||
constructor(total: number, maxBarLength?: number, barFillChar?: string, barEmptyChar?: string);
|
||||
/**
|
||||
* Increment the progress counter and update the progress bar display.
|
||||
*/
|
||||
increment(): void;
|
||||
}
|
@ -5,6 +5,7 @@ import { BotHelper } from "@spt/helpers/BotHelper";
|
||||
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||
import { WeightedRandomHelper } from "@spt/helpers/WeightedRandomHelper";
|
||||
import { MinMax } from "@spt/models/common/MinMax";
|
||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { IBaseJsonSkills, IBaseSkill, IBotBase, IInfo, IHealth as PmcHealth, ISkills as botSkills } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IAppearance, IBodyPart, IBotType, IHealth, IInventory } from "@spt/models/eft/common/tables/IBotType";
|
||||
import { IBotGenerationDetails } from "@spt/models/spt/bots/BotGenerationDetails";
|
||||
@ -47,9 +48,10 @@ export declare class BotGenerator {
|
||||
* @param role e.g. assault / pmcbot
|
||||
* @param difficulty easy/normal/hard/impossible
|
||||
* @param botTemplate base bot template to use (e.g. assault/pmcbot)
|
||||
* @returns
|
||||
* profile PMC profile of player generating pscav
|
||||
* @returns IBotBase
|
||||
*/
|
||||
generatePlayerScav(sessionId: string, role: string, difficulty: string, botTemplate: IBotType): IBotBase;
|
||||
generatePlayerScav(sessionId: string, role: string, difficulty: string, botTemplate: IBotType, profile: IPmcData): IBotBase;
|
||||
/**
|
||||
* Create 1 bot of the type/side/difficulty defined in botGenerationDetails
|
||||
* @param sessionId Session id
|
||||
@ -79,6 +81,12 @@ export declare class BotGenerator {
|
||||
* @returns IBotBase object
|
||||
*/
|
||||
protected generateBot(sessionId: string, bot: IBotBase, botJsonTemplate: IBotType, botGenerationDetails: IBotGenerationDetails): IBotBase;
|
||||
/**
|
||||
* Should this bot have a name like "name (Pmc Name)" and be alterd by client patch to be hostile to player
|
||||
* @param botRole Role bot has
|
||||
* @returns True if name should be simulated pscav
|
||||
*/
|
||||
protected shouldSimulatePlayerScav(botRole: string): boolean;
|
||||
/**
|
||||
* Get exp for kill by bot difficulty
|
||||
* @param experience Dict of difficulties and experience
|
||||
|
@ -91,6 +91,12 @@ export declare class RagfairOfferHelper {
|
||||
* @returns IRagfairOffer array
|
||||
*/
|
||||
getOffersForBuild(searchRequest: ISearchRequestData, itemsToAdd: string[], traderAssorts: Record<string, ITraderAssort>, pmcData: IPmcData): IRagfairOffer[];
|
||||
/**
|
||||
* Get offers that have not exceeded buy limits
|
||||
* @param possibleOffers offers to process
|
||||
* @returns Offers
|
||||
*/
|
||||
protected getOffersInsideBuyRestrictionLimits(possibleOffers: IRagfairOffer[]): IRagfairOffer[];
|
||||
/**
|
||||
* Check if offer is from trader standing the player does not have
|
||||
* @param offer Offer to check
|
||||
@ -209,4 +215,10 @@ export declare class RagfairOfferHelper {
|
||||
* @returns True if in range
|
||||
*/
|
||||
protected itemQualityInRange(item: IItem, min: number, max: number): boolean;
|
||||
/**
|
||||
* Does this offer come from a trader
|
||||
* @param offer Offer to check
|
||||
* @returns True = from trader
|
||||
*/
|
||||
offerIsFromTrader(offer: IRagfairOffer): boolean;
|
||||
}
|
||||
|
@ -60,6 +60,7 @@ export interface IUnlockedInfo {
|
||||
export interface IInfo {
|
||||
EntryPoint: string;
|
||||
Nickname: string;
|
||||
MainProfileNickname?: string;
|
||||
LowerNickname: string;
|
||||
Side: string;
|
||||
SquadInviteRestriction: boolean;
|
||||
|
@ -10,6 +10,8 @@ export interface IInventoryConfig extends IBaseConfig {
|
||||
customMoneyTpls: string[];
|
||||
/** Multipliers for skill gain when inside menus, NOT in-game */
|
||||
skillGainMultiplers: Record<string, number>;
|
||||
/** Container Tpls that shoud be deprioritised when choosing where to take money from for payments */
|
||||
deprioritisedMoneyContainers: string[];
|
||||
}
|
||||
export interface IRewardDetails {
|
||||
rewardCount: number;
|
||||
|
@ -66,7 +66,9 @@ export interface IPmcTypes {
|
||||
bear: string;
|
||||
}
|
||||
export interface ISlotLootSettings {
|
||||
/** Item Type whitelist */
|
||||
whitelist: string[];
|
||||
/** item tpl blacklist */
|
||||
blacklist: string[];
|
||||
}
|
||||
export interface IMinMaxLootValue extends MinMax {
|
||||
|
@ -75,6 +75,8 @@ export interface IDynamic {
|
||||
blacklist: IRagfairBlacklist;
|
||||
/** Dict of price limits keyed by item type */
|
||||
unreasonableModPrices: Record<string, IUnreasonableModPrices>;
|
||||
/** Custom rouble prices for items to override values from prices.json */
|
||||
itemPriceOverrideRouble: Record<string, number>;
|
||||
}
|
||||
export interface IPriceRanges {
|
||||
default: MinMax;
|
||||
|
@ -6,6 +6,8 @@ export interface ISeasonalEventConfig extends IBaseConfig {
|
||||
enableSeasonalEventDetection: boolean;
|
||||
/** event / botType / equipSlot / itemid */
|
||||
eventGear: Record<string, Record<string, Record<string, Record<string, number>>>>;
|
||||
/** event / bot type / equipSlot / itemid */
|
||||
eventLoot: Record<string, Record<string, Record<string, Record<string, number>>>>;
|
||||
events: ISeasonalEvent[];
|
||||
eventBotMapping: Record<string, string>;
|
||||
eventBossSpawns: Record<string, Record<string, IBossLocationSpawn[]>>;
|
||||
|
@ -1,5 +1,6 @@
|
||||
import { BotHelper } from "@spt/helpers/BotHelper";
|
||||
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||
import { IBotBase } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IBotType } from "@spt/models/eft/common/tables/IBotType";
|
||||
import { IBotGenerationDetails } from "@spt/models/spt/bots/BotGenerationDetails";
|
||||
import { IBotConfig } from "@spt/models/spt/config/IBotConfig";
|
||||
@ -38,10 +39,13 @@ export declare class BotNameService {
|
||||
*/
|
||||
generateUniqueBotNickname(botJsonTemplate: IBotType, botGenerationDetails: IBotGenerationDetails, botRole: string, uniqueRoles?: string[]): string;
|
||||
/**
|
||||
* Should this bot have a name like "name (Pmc Name)"
|
||||
* @param botRole Role bot has
|
||||
* @returns True if name should be simulated pscav
|
||||
* Add random PMC name to bots MainProfileNickname property
|
||||
* @param bot Bot to update
|
||||
*/
|
||||
protected shouldSimulatePlayerScavName(botRole: string): boolean;
|
||||
protected addPlayerScavNameSimulationSuffix(nickname: string): string;
|
||||
addRandomPmcNameToBotMainProfileNicknameProperty(bot: IBotBase): void;
|
||||
/**
|
||||
* Choose a random PMC name from bear or usec bot jsons
|
||||
* @returns PMC name as string
|
||||
*/
|
||||
protected getRandomPMCName(): string;
|
||||
}
|
||||
|
@ -85,7 +85,7 @@ export declare class DatabaseService {
|
||||
*/
|
||||
getCustomization(): Record<string, ICustomizationItem>;
|
||||
/**
|
||||
* @returns assets/database/templates/items.json
|
||||
* @returns assets/database/templates/handbook.json
|
||||
*/
|
||||
getHandbook(): IHandbookBase;
|
||||
/**
|
||||
@ -101,7 +101,7 @@ export declare class DatabaseService {
|
||||
*/
|
||||
getProfiles(): IProfileTemplates;
|
||||
/**
|
||||
* @returns assets/database/templates/items.json
|
||||
* @returns assets/database/templates/quests.json
|
||||
*/
|
||||
getQuests(): Record<string, IQuest>;
|
||||
/**
|
||||
|
@ -8,7 +8,9 @@ import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
|
||||
import { IProcessBuyTradeRequestData } from "@spt/models/eft/trade/IProcessBuyTradeRequestData";
|
||||
import { IProcessSellTradeRequestData } from "@spt/models/eft/trade/IProcessSellTradeRequestData";
|
||||
import { IInventoryConfig } from "@spt/models/spt/config/IInventoryConfig";
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
import { ConfigServer } from "@spt/servers/ConfigServer";
|
||||
import { DatabaseService } from "@spt/services/DatabaseService";
|
||||
import { LocalisationService } from "@spt/services/LocalisationService";
|
||||
import { HashUtil } from "@spt/utils/HashUtil";
|
||||
@ -24,7 +26,9 @@ export declare class PaymentService {
|
||||
protected inventoryHelper: InventoryHelper;
|
||||
protected localisationService: LocalisationService;
|
||||
protected paymentHelper: PaymentHelper;
|
||||
constructor(logger: ILogger, hashUtil: HashUtil, httpResponse: HttpResponseUtil, databaseService: DatabaseService, handbookHelper: HandbookHelper, traderHelper: TraderHelper, itemHelper: ItemHelper, inventoryHelper: InventoryHelper, localisationService: LocalisationService, paymentHelper: PaymentHelper);
|
||||
protected configServer: ConfigServer;
|
||||
protected inventoryConfig: IInventoryConfig;
|
||||
constructor(logger: ILogger, hashUtil: HashUtil, httpResponse: HttpResponseUtil, databaseService: DatabaseService, handbookHelper: HandbookHelper, traderHelper: TraderHelper, itemHelper: ItemHelper, inventoryHelper: InventoryHelper, localisationService: LocalisationService, paymentHelper: PaymentHelper, configServer: ConfigServer);
|
||||
/**
|
||||
* Take money and insert items into return to server request
|
||||
* @param pmcData Pmc profile
|
||||
|
@ -74,4 +74,6 @@ export declare class PostDbLoadService {
|
||||
*/
|
||||
protected validateQuestAssortUnlocksExist(): void;
|
||||
protected setAllDbItemsAsSellableOnFlea(): void;
|
||||
protected addMissingTraderBuyRestrictionMaxValue(): void;
|
||||
protected applyFleaPriceOverrides(): void;
|
||||
}
|
||||
|
@ -88,6 +88,12 @@ export declare class SeasonalEventService {
|
||||
* @returns bots with equipment changes
|
||||
*/
|
||||
protected getEventBotGear(eventType: SeasonalEventType): Record<string, Record<string, Record<string, number>>>;
|
||||
/**
|
||||
* Get a dictionary of loot changes to apply to bots for a specific event e.g. Christmas/Halloween
|
||||
* @param eventName Name of event to get gear changes for
|
||||
* @returns bots with loot changes
|
||||
*/
|
||||
protected getEventBotLoot(eventType: SeasonalEventType): Record<string, Record<string, Record<string, number>>>;
|
||||
/**
|
||||
* Get the dates each seasonal event starts and ends at
|
||||
* @returns Record with event name + start/end date
|
||||
@ -171,6 +177,11 @@ export declare class SeasonalEventService {
|
||||
* @param eventName Name of the event to read equipment in from config
|
||||
*/
|
||||
protected addEventGearToBots(eventType: SeasonalEventType): void;
|
||||
/**
|
||||
* Read in data from seasonalEvents.json and add found loot items to bots
|
||||
* @param eventName Name of the event to read loot in from config
|
||||
*/
|
||||
protected addEventLootToBots(eventType: SeasonalEventType): void;
|
||||
/**
|
||||
* Add pumpkin loot boxes to scavs
|
||||
*/
|
||||
|
@ -4,10 +4,10 @@ import { ICoreConfig } from "@spt/models/spt/config/ICoreConfig";
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
import { ConfigServer } from "@spt/servers/ConfigServer";
|
||||
import { HttpServer } from "@spt/servers/HttpServer";
|
||||
import { DatabaseService } from "@spt/services/DatabaseService";
|
||||
import { LocalisationService } from "@spt/services/LocalisationService";
|
||||
import { EncodingUtil } from "@spt/utils/EncodingUtil";
|
||||
import { TimeUtil } from "@spt/utils/TimeUtil";
|
||||
import { DatabaseService } from "@spt/services/DatabaseService";
|
||||
export declare class App {
|
||||
protected logger: ILogger;
|
||||
protected timeUtil: TimeUtil;
|
||||
|
13
TypeScript/12ClassExtensionOverride/types/utils/ProgressWriter.d.ts
vendored
Normal file
13
TypeScript/12ClassExtensionOverride/types/utils/ProgressWriter.d.ts
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
export declare class ProgressWriter {
|
||||
private count;
|
||||
private total?;
|
||||
private done;
|
||||
private barFillChar;
|
||||
private barEmptyChar;
|
||||
private maxBarLength;
|
||||
constructor(total: number, maxBarLength?: number, barFillChar?: string, barEmptyChar?: string);
|
||||
/**
|
||||
* Increment the progress counter and update the progress bar display.
|
||||
*/
|
||||
increment(): void;
|
||||
}
|
@ -5,6 +5,7 @@ import { BotHelper } from "@spt/helpers/BotHelper";
|
||||
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||
import { WeightedRandomHelper } from "@spt/helpers/WeightedRandomHelper";
|
||||
import { MinMax } from "@spt/models/common/MinMax";
|
||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { IBaseJsonSkills, IBaseSkill, IBotBase, IInfo, IHealth as PmcHealth, ISkills as botSkills } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IAppearance, IBodyPart, IBotType, IHealth, IInventory } from "@spt/models/eft/common/tables/IBotType";
|
||||
import { IBotGenerationDetails } from "@spt/models/spt/bots/BotGenerationDetails";
|
||||
@ -47,9 +48,10 @@ export declare class BotGenerator {
|
||||
* @param role e.g. assault / pmcbot
|
||||
* @param difficulty easy/normal/hard/impossible
|
||||
* @param botTemplate base bot template to use (e.g. assault/pmcbot)
|
||||
* @returns
|
||||
* profile PMC profile of player generating pscav
|
||||
* @returns IBotBase
|
||||
*/
|
||||
generatePlayerScav(sessionId: string, role: string, difficulty: string, botTemplate: IBotType): IBotBase;
|
||||
generatePlayerScav(sessionId: string, role: string, difficulty: string, botTemplate: IBotType, profile: IPmcData): IBotBase;
|
||||
/**
|
||||
* Create 1 bot of the type/side/difficulty defined in botGenerationDetails
|
||||
* @param sessionId Session id
|
||||
@ -79,6 +81,12 @@ export declare class BotGenerator {
|
||||
* @returns IBotBase object
|
||||
*/
|
||||
protected generateBot(sessionId: string, bot: IBotBase, botJsonTemplate: IBotType, botGenerationDetails: IBotGenerationDetails): IBotBase;
|
||||
/**
|
||||
* Should this bot have a name like "name (Pmc Name)" and be alterd by client patch to be hostile to player
|
||||
* @param botRole Role bot has
|
||||
* @returns True if name should be simulated pscav
|
||||
*/
|
||||
protected shouldSimulatePlayerScav(botRole: string): boolean;
|
||||
/**
|
||||
* Get exp for kill by bot difficulty
|
||||
* @param experience Dict of difficulties and experience
|
||||
|
@ -91,6 +91,12 @@ export declare class RagfairOfferHelper {
|
||||
* @returns IRagfairOffer array
|
||||
*/
|
||||
getOffersForBuild(searchRequest: ISearchRequestData, itemsToAdd: string[], traderAssorts: Record<string, ITraderAssort>, pmcData: IPmcData): IRagfairOffer[];
|
||||
/**
|
||||
* Get offers that have not exceeded buy limits
|
||||
* @param possibleOffers offers to process
|
||||
* @returns Offers
|
||||
*/
|
||||
protected getOffersInsideBuyRestrictionLimits(possibleOffers: IRagfairOffer[]): IRagfairOffer[];
|
||||
/**
|
||||
* Check if offer is from trader standing the player does not have
|
||||
* @param offer Offer to check
|
||||
@ -209,4 +215,10 @@ export declare class RagfairOfferHelper {
|
||||
* @returns True if in range
|
||||
*/
|
||||
protected itemQualityInRange(item: IItem, min: number, max: number): boolean;
|
||||
/**
|
||||
* Does this offer come from a trader
|
||||
* @param offer Offer to check
|
||||
* @returns True = from trader
|
||||
*/
|
||||
offerIsFromTrader(offer: IRagfairOffer): boolean;
|
||||
}
|
||||
|
@ -60,6 +60,7 @@ export interface IUnlockedInfo {
|
||||
export interface IInfo {
|
||||
EntryPoint: string;
|
||||
Nickname: string;
|
||||
MainProfileNickname?: string;
|
||||
LowerNickname: string;
|
||||
Side: string;
|
||||
SquadInviteRestriction: boolean;
|
||||
|
@ -10,6 +10,8 @@ export interface IInventoryConfig extends IBaseConfig {
|
||||
customMoneyTpls: string[];
|
||||
/** Multipliers for skill gain when inside menus, NOT in-game */
|
||||
skillGainMultiplers: Record<string, number>;
|
||||
/** Container Tpls that shoud be deprioritised when choosing where to take money from for payments */
|
||||
deprioritisedMoneyContainers: string[];
|
||||
}
|
||||
export interface IRewardDetails {
|
||||
rewardCount: number;
|
||||
|
@ -66,7 +66,9 @@ export interface IPmcTypes {
|
||||
bear: string;
|
||||
}
|
||||
export interface ISlotLootSettings {
|
||||
/** Item Type whitelist */
|
||||
whitelist: string[];
|
||||
/** item tpl blacklist */
|
||||
blacklist: string[];
|
||||
}
|
||||
export interface IMinMaxLootValue extends MinMax {
|
||||
|
@ -75,6 +75,8 @@ export interface IDynamic {
|
||||
blacklist: IRagfairBlacklist;
|
||||
/** Dict of price limits keyed by item type */
|
||||
unreasonableModPrices: Record<string, IUnreasonableModPrices>;
|
||||
/** Custom rouble prices for items to override values from prices.json */
|
||||
itemPriceOverrideRouble: Record<string, number>;
|
||||
}
|
||||
export interface IPriceRanges {
|
||||
default: MinMax;
|
||||
|
@ -6,6 +6,8 @@ export interface ISeasonalEventConfig extends IBaseConfig {
|
||||
enableSeasonalEventDetection: boolean;
|
||||
/** event / botType / equipSlot / itemid */
|
||||
eventGear: Record<string, Record<string, Record<string, Record<string, number>>>>;
|
||||
/** event / bot type / equipSlot / itemid */
|
||||
eventLoot: Record<string, Record<string, Record<string, Record<string, number>>>>;
|
||||
events: ISeasonalEvent[];
|
||||
eventBotMapping: Record<string, string>;
|
||||
eventBossSpawns: Record<string, Record<string, IBossLocationSpawn[]>>;
|
||||
|
@ -1,5 +1,6 @@
|
||||
import { BotHelper } from "@spt/helpers/BotHelper";
|
||||
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||
import { IBotBase } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IBotType } from "@spt/models/eft/common/tables/IBotType";
|
||||
import { IBotGenerationDetails } from "@spt/models/spt/bots/BotGenerationDetails";
|
||||
import { IBotConfig } from "@spt/models/spt/config/IBotConfig";
|
||||
@ -38,10 +39,13 @@ export declare class BotNameService {
|
||||
*/
|
||||
generateUniqueBotNickname(botJsonTemplate: IBotType, botGenerationDetails: IBotGenerationDetails, botRole: string, uniqueRoles?: string[]): string;
|
||||
/**
|
||||
* Should this bot have a name like "name (Pmc Name)"
|
||||
* @param botRole Role bot has
|
||||
* @returns True if name should be simulated pscav
|
||||
* Add random PMC name to bots MainProfileNickname property
|
||||
* @param bot Bot to update
|
||||
*/
|
||||
protected shouldSimulatePlayerScavName(botRole: string): boolean;
|
||||
protected addPlayerScavNameSimulationSuffix(nickname: string): string;
|
||||
addRandomPmcNameToBotMainProfileNicknameProperty(bot: IBotBase): void;
|
||||
/**
|
||||
* Choose a random PMC name from bear or usec bot jsons
|
||||
* @returns PMC name as string
|
||||
*/
|
||||
protected getRandomPMCName(): string;
|
||||
}
|
||||
|
@ -85,7 +85,7 @@ export declare class DatabaseService {
|
||||
*/
|
||||
getCustomization(): Record<string, ICustomizationItem>;
|
||||
/**
|
||||
* @returns assets/database/templates/items.json
|
||||
* @returns assets/database/templates/handbook.json
|
||||
*/
|
||||
getHandbook(): IHandbookBase;
|
||||
/**
|
||||
@ -101,7 +101,7 @@ export declare class DatabaseService {
|
||||
*/
|
||||
getProfiles(): IProfileTemplates;
|
||||
/**
|
||||
* @returns assets/database/templates/items.json
|
||||
* @returns assets/database/templates/quests.json
|
||||
*/
|
||||
getQuests(): Record<string, IQuest>;
|
||||
/**
|
||||
|
@ -8,7 +8,9 @@ import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
|
||||
import { IProcessBuyTradeRequestData } from "@spt/models/eft/trade/IProcessBuyTradeRequestData";
|
||||
import { IProcessSellTradeRequestData } from "@spt/models/eft/trade/IProcessSellTradeRequestData";
|
||||
import { IInventoryConfig } from "@spt/models/spt/config/IInventoryConfig";
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
import { ConfigServer } from "@spt/servers/ConfigServer";
|
||||
import { DatabaseService } from "@spt/services/DatabaseService";
|
||||
import { LocalisationService } from "@spt/services/LocalisationService";
|
||||
import { HashUtil } from "@spt/utils/HashUtil";
|
||||
@ -24,7 +26,9 @@ export declare class PaymentService {
|
||||
protected inventoryHelper: InventoryHelper;
|
||||
protected localisationService: LocalisationService;
|
||||
protected paymentHelper: PaymentHelper;
|
||||
constructor(logger: ILogger, hashUtil: HashUtil, httpResponse: HttpResponseUtil, databaseService: DatabaseService, handbookHelper: HandbookHelper, traderHelper: TraderHelper, itemHelper: ItemHelper, inventoryHelper: InventoryHelper, localisationService: LocalisationService, paymentHelper: PaymentHelper);
|
||||
protected configServer: ConfigServer;
|
||||
protected inventoryConfig: IInventoryConfig;
|
||||
constructor(logger: ILogger, hashUtil: HashUtil, httpResponse: HttpResponseUtil, databaseService: DatabaseService, handbookHelper: HandbookHelper, traderHelper: TraderHelper, itemHelper: ItemHelper, inventoryHelper: InventoryHelper, localisationService: LocalisationService, paymentHelper: PaymentHelper, configServer: ConfigServer);
|
||||
/**
|
||||
* Take money and insert items into return to server request
|
||||
* @param pmcData Pmc profile
|
||||
|
@ -74,4 +74,6 @@ export declare class PostDbLoadService {
|
||||
*/
|
||||
protected validateQuestAssortUnlocksExist(): void;
|
||||
protected setAllDbItemsAsSellableOnFlea(): void;
|
||||
protected addMissingTraderBuyRestrictionMaxValue(): void;
|
||||
protected applyFleaPriceOverrides(): void;
|
||||
}
|
||||
|
@ -88,6 +88,12 @@ export declare class SeasonalEventService {
|
||||
* @returns bots with equipment changes
|
||||
*/
|
||||
protected getEventBotGear(eventType: SeasonalEventType): Record<string, Record<string, Record<string, number>>>;
|
||||
/**
|
||||
* Get a dictionary of loot changes to apply to bots for a specific event e.g. Christmas/Halloween
|
||||
* @param eventName Name of event to get gear changes for
|
||||
* @returns bots with loot changes
|
||||
*/
|
||||
protected getEventBotLoot(eventType: SeasonalEventType): Record<string, Record<string, Record<string, number>>>;
|
||||
/**
|
||||
* Get the dates each seasonal event starts and ends at
|
||||
* @returns Record with event name + start/end date
|
||||
@ -171,6 +177,11 @@ export declare class SeasonalEventService {
|
||||
* @param eventName Name of the event to read equipment in from config
|
||||
*/
|
||||
protected addEventGearToBots(eventType: SeasonalEventType): void;
|
||||
/**
|
||||
* Read in data from seasonalEvents.json and add found loot items to bots
|
||||
* @param eventName Name of the event to read loot in from config
|
||||
*/
|
||||
protected addEventLootToBots(eventType: SeasonalEventType): void;
|
||||
/**
|
||||
* Add pumpkin loot boxes to scavs
|
||||
*/
|
||||
|
@ -4,10 +4,10 @@ import { ICoreConfig } from "@spt/models/spt/config/ICoreConfig";
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
import { ConfigServer } from "@spt/servers/ConfigServer";
|
||||
import { HttpServer } from "@spt/servers/HttpServer";
|
||||
import { DatabaseService } from "@spt/services/DatabaseService";
|
||||
import { LocalisationService } from "@spt/services/LocalisationService";
|
||||
import { EncodingUtil } from "@spt/utils/EncodingUtil";
|
||||
import { TimeUtil } from "@spt/utils/TimeUtil";
|
||||
import { DatabaseService } from "@spt/services/DatabaseService";
|
||||
export declare class App {
|
||||
protected logger: ILogger;
|
||||
protected timeUtil: TimeUtil;
|
||||
|
13
TypeScript/13.1AddTraderWithAssortJSON/types/utils/ProgressWriter.d.ts
vendored
Normal file
13
TypeScript/13.1AddTraderWithAssortJSON/types/utils/ProgressWriter.d.ts
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
export declare class ProgressWriter {
|
||||
private count;
|
||||
private total?;
|
||||
private done;
|
||||
private barFillChar;
|
||||
private barEmptyChar;
|
||||
private maxBarLength;
|
||||
constructor(total: number, maxBarLength?: number, barFillChar?: string, barEmptyChar?: string);
|
||||
/**
|
||||
* Increment the progress counter and update the progress bar display.
|
||||
*/
|
||||
increment(): void;
|
||||
}
|
@ -5,6 +5,7 @@ import { BotHelper } from "@spt/helpers/BotHelper";
|
||||
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||
import { WeightedRandomHelper } from "@spt/helpers/WeightedRandomHelper";
|
||||
import { MinMax } from "@spt/models/common/MinMax";
|
||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { IBaseJsonSkills, IBaseSkill, IBotBase, IInfo, IHealth as PmcHealth, ISkills as botSkills } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IAppearance, IBodyPart, IBotType, IHealth, IInventory } from "@spt/models/eft/common/tables/IBotType";
|
||||
import { IBotGenerationDetails } from "@spt/models/spt/bots/BotGenerationDetails";
|
||||
@ -47,9 +48,10 @@ export declare class BotGenerator {
|
||||
* @param role e.g. assault / pmcbot
|
||||
* @param difficulty easy/normal/hard/impossible
|
||||
* @param botTemplate base bot template to use (e.g. assault/pmcbot)
|
||||
* @returns
|
||||
* profile PMC profile of player generating pscav
|
||||
* @returns IBotBase
|
||||
*/
|
||||
generatePlayerScav(sessionId: string, role: string, difficulty: string, botTemplate: IBotType): IBotBase;
|
||||
generatePlayerScav(sessionId: string, role: string, difficulty: string, botTemplate: IBotType, profile: IPmcData): IBotBase;
|
||||
/**
|
||||
* Create 1 bot of the type/side/difficulty defined in botGenerationDetails
|
||||
* @param sessionId Session id
|
||||
@ -79,6 +81,12 @@ export declare class BotGenerator {
|
||||
* @returns IBotBase object
|
||||
*/
|
||||
protected generateBot(sessionId: string, bot: IBotBase, botJsonTemplate: IBotType, botGenerationDetails: IBotGenerationDetails): IBotBase;
|
||||
/**
|
||||
* Should this bot have a name like "name (Pmc Name)" and be alterd by client patch to be hostile to player
|
||||
* @param botRole Role bot has
|
||||
* @returns True if name should be simulated pscav
|
||||
*/
|
||||
protected shouldSimulatePlayerScav(botRole: string): boolean;
|
||||
/**
|
||||
* Get exp for kill by bot difficulty
|
||||
* @param experience Dict of difficulties and experience
|
||||
|
@ -91,6 +91,12 @@ export declare class RagfairOfferHelper {
|
||||
* @returns IRagfairOffer array
|
||||
*/
|
||||
getOffersForBuild(searchRequest: ISearchRequestData, itemsToAdd: string[], traderAssorts: Record<string, ITraderAssort>, pmcData: IPmcData): IRagfairOffer[];
|
||||
/**
|
||||
* Get offers that have not exceeded buy limits
|
||||
* @param possibleOffers offers to process
|
||||
* @returns Offers
|
||||
*/
|
||||
protected getOffersInsideBuyRestrictionLimits(possibleOffers: IRagfairOffer[]): IRagfairOffer[];
|
||||
/**
|
||||
* Check if offer is from trader standing the player does not have
|
||||
* @param offer Offer to check
|
||||
@ -209,4 +215,10 @@ export declare class RagfairOfferHelper {
|
||||
* @returns True if in range
|
||||
*/
|
||||
protected itemQualityInRange(item: IItem, min: number, max: number): boolean;
|
||||
/**
|
||||
* Does this offer come from a trader
|
||||
* @param offer Offer to check
|
||||
* @returns True = from trader
|
||||
*/
|
||||
offerIsFromTrader(offer: IRagfairOffer): boolean;
|
||||
}
|
||||
|
@ -60,6 +60,7 @@ export interface IUnlockedInfo {
|
||||
export interface IInfo {
|
||||
EntryPoint: string;
|
||||
Nickname: string;
|
||||
MainProfileNickname?: string;
|
||||
LowerNickname: string;
|
||||
Side: string;
|
||||
SquadInviteRestriction: boolean;
|
||||
|
@ -10,6 +10,8 @@ export interface IInventoryConfig extends IBaseConfig {
|
||||
customMoneyTpls: string[];
|
||||
/** Multipliers for skill gain when inside menus, NOT in-game */
|
||||
skillGainMultiplers: Record<string, number>;
|
||||
/** Container Tpls that shoud be deprioritised when choosing where to take money from for payments */
|
||||
deprioritisedMoneyContainers: string[];
|
||||
}
|
||||
export interface IRewardDetails {
|
||||
rewardCount: number;
|
||||
|
@ -66,7 +66,9 @@ export interface IPmcTypes {
|
||||
bear: string;
|
||||
}
|
||||
export interface ISlotLootSettings {
|
||||
/** Item Type whitelist */
|
||||
whitelist: string[];
|
||||
/** item tpl blacklist */
|
||||
blacklist: string[];
|
||||
}
|
||||
export interface IMinMaxLootValue extends MinMax {
|
||||
|
@ -75,6 +75,8 @@ export interface IDynamic {
|
||||
blacklist: IRagfairBlacklist;
|
||||
/** Dict of price limits keyed by item type */
|
||||
unreasonableModPrices: Record<string, IUnreasonableModPrices>;
|
||||
/** Custom rouble prices for items to override values from prices.json */
|
||||
itemPriceOverrideRouble: Record<string, number>;
|
||||
}
|
||||
export interface IPriceRanges {
|
||||
default: MinMax;
|
||||
|
@ -6,6 +6,8 @@ export interface ISeasonalEventConfig extends IBaseConfig {
|
||||
enableSeasonalEventDetection: boolean;
|
||||
/** event / botType / equipSlot / itemid */
|
||||
eventGear: Record<string, Record<string, Record<string, Record<string, number>>>>;
|
||||
/** event / bot type / equipSlot / itemid */
|
||||
eventLoot: Record<string, Record<string, Record<string, Record<string, number>>>>;
|
||||
events: ISeasonalEvent[];
|
||||
eventBotMapping: Record<string, string>;
|
||||
eventBossSpawns: Record<string, Record<string, IBossLocationSpawn[]>>;
|
||||
|
@ -1,5 +1,6 @@
|
||||
import { BotHelper } from "@spt/helpers/BotHelper";
|
||||
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||
import { IBotBase } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IBotType } from "@spt/models/eft/common/tables/IBotType";
|
||||
import { IBotGenerationDetails } from "@spt/models/spt/bots/BotGenerationDetails";
|
||||
import { IBotConfig } from "@spt/models/spt/config/IBotConfig";
|
||||
@ -38,10 +39,13 @@ export declare class BotNameService {
|
||||
*/
|
||||
generateUniqueBotNickname(botJsonTemplate: IBotType, botGenerationDetails: IBotGenerationDetails, botRole: string, uniqueRoles?: string[]): string;
|
||||
/**
|
||||
* Should this bot have a name like "name (Pmc Name)"
|
||||
* @param botRole Role bot has
|
||||
* @returns True if name should be simulated pscav
|
||||
* Add random PMC name to bots MainProfileNickname property
|
||||
* @param bot Bot to update
|
||||
*/
|
||||
protected shouldSimulatePlayerScavName(botRole: string): boolean;
|
||||
protected addPlayerScavNameSimulationSuffix(nickname: string): string;
|
||||
addRandomPmcNameToBotMainProfileNicknameProperty(bot: IBotBase): void;
|
||||
/**
|
||||
* Choose a random PMC name from bear or usec bot jsons
|
||||
* @returns PMC name as string
|
||||
*/
|
||||
protected getRandomPMCName(): string;
|
||||
}
|
||||
|
@ -85,7 +85,7 @@ export declare class DatabaseService {
|
||||
*/
|
||||
getCustomization(): Record<string, ICustomizationItem>;
|
||||
/**
|
||||
* @returns assets/database/templates/items.json
|
||||
* @returns assets/database/templates/handbook.json
|
||||
*/
|
||||
getHandbook(): IHandbookBase;
|
||||
/**
|
||||
@ -101,7 +101,7 @@ export declare class DatabaseService {
|
||||
*/
|
||||
getProfiles(): IProfileTemplates;
|
||||
/**
|
||||
* @returns assets/database/templates/items.json
|
||||
* @returns assets/database/templates/quests.json
|
||||
*/
|
||||
getQuests(): Record<string, IQuest>;
|
||||
/**
|
||||
|
@ -8,7 +8,9 @@ import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
|
||||
import { IProcessBuyTradeRequestData } from "@spt/models/eft/trade/IProcessBuyTradeRequestData";
|
||||
import { IProcessSellTradeRequestData } from "@spt/models/eft/trade/IProcessSellTradeRequestData";
|
||||
import { IInventoryConfig } from "@spt/models/spt/config/IInventoryConfig";
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
import { ConfigServer } from "@spt/servers/ConfigServer";
|
||||
import { DatabaseService } from "@spt/services/DatabaseService";
|
||||
import { LocalisationService } from "@spt/services/LocalisationService";
|
||||
import { HashUtil } from "@spt/utils/HashUtil";
|
||||
@ -24,7 +26,9 @@ export declare class PaymentService {
|
||||
protected inventoryHelper: InventoryHelper;
|
||||
protected localisationService: LocalisationService;
|
||||
protected paymentHelper: PaymentHelper;
|
||||
constructor(logger: ILogger, hashUtil: HashUtil, httpResponse: HttpResponseUtil, databaseService: DatabaseService, handbookHelper: HandbookHelper, traderHelper: TraderHelper, itemHelper: ItemHelper, inventoryHelper: InventoryHelper, localisationService: LocalisationService, paymentHelper: PaymentHelper);
|
||||
protected configServer: ConfigServer;
|
||||
protected inventoryConfig: IInventoryConfig;
|
||||
constructor(logger: ILogger, hashUtil: HashUtil, httpResponse: HttpResponseUtil, databaseService: DatabaseService, handbookHelper: HandbookHelper, traderHelper: TraderHelper, itemHelper: ItemHelper, inventoryHelper: InventoryHelper, localisationService: LocalisationService, paymentHelper: PaymentHelper, configServer: ConfigServer);
|
||||
/**
|
||||
* Take money and insert items into return to server request
|
||||
* @param pmcData Pmc profile
|
||||
|
@ -74,4 +74,6 @@ export declare class PostDbLoadService {
|
||||
*/
|
||||
protected validateQuestAssortUnlocksExist(): void;
|
||||
protected setAllDbItemsAsSellableOnFlea(): void;
|
||||
protected addMissingTraderBuyRestrictionMaxValue(): void;
|
||||
protected applyFleaPriceOverrides(): void;
|
||||
}
|
||||
|
@ -88,6 +88,12 @@ export declare class SeasonalEventService {
|
||||
* @returns bots with equipment changes
|
||||
*/
|
||||
protected getEventBotGear(eventType: SeasonalEventType): Record<string, Record<string, Record<string, number>>>;
|
||||
/**
|
||||
* Get a dictionary of loot changes to apply to bots for a specific event e.g. Christmas/Halloween
|
||||
* @param eventName Name of event to get gear changes for
|
||||
* @returns bots with loot changes
|
||||
*/
|
||||
protected getEventBotLoot(eventType: SeasonalEventType): Record<string, Record<string, Record<string, number>>>;
|
||||
/**
|
||||
* Get the dates each seasonal event starts and ends at
|
||||
* @returns Record with event name + start/end date
|
||||
@ -171,6 +177,11 @@ export declare class SeasonalEventService {
|
||||
* @param eventName Name of the event to read equipment in from config
|
||||
*/
|
||||
protected addEventGearToBots(eventType: SeasonalEventType): void;
|
||||
/**
|
||||
* Read in data from seasonalEvents.json and add found loot items to bots
|
||||
* @param eventName Name of the event to read loot in from config
|
||||
*/
|
||||
protected addEventLootToBots(eventType: SeasonalEventType): void;
|
||||
/**
|
||||
* Add pumpkin loot boxes to scavs
|
||||
*/
|
||||
|
2
TypeScript/13AddTrader/types/utils/App.d.ts
vendored
2
TypeScript/13AddTrader/types/utils/App.d.ts
vendored
@ -4,10 +4,10 @@ import { ICoreConfig } from "@spt/models/spt/config/ICoreConfig";
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
import { ConfigServer } from "@spt/servers/ConfigServer";
|
||||
import { HttpServer } from "@spt/servers/HttpServer";
|
||||
import { DatabaseService } from "@spt/services/DatabaseService";
|
||||
import { LocalisationService } from "@spt/services/LocalisationService";
|
||||
import { EncodingUtil } from "@spt/utils/EncodingUtil";
|
||||
import { TimeUtil } from "@spt/utils/TimeUtil";
|
||||
import { DatabaseService } from "@spt/services/DatabaseService";
|
||||
export declare class App {
|
||||
protected logger: ILogger;
|
||||
protected timeUtil: TimeUtil;
|
||||
|
13
TypeScript/13AddTrader/types/utils/ProgressWriter.d.ts
vendored
Normal file
13
TypeScript/13AddTrader/types/utils/ProgressWriter.d.ts
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
export declare class ProgressWriter {
|
||||
private count;
|
||||
private total?;
|
||||
private done;
|
||||
private barFillChar;
|
||||
private barEmptyChar;
|
||||
private maxBarLength;
|
||||
constructor(total: number, maxBarLength?: number, barFillChar?: string, barEmptyChar?: string);
|
||||
/**
|
||||
* Increment the progress counter and update the progress bar display.
|
||||
*/
|
||||
increment(): void;
|
||||
}
|
@ -5,6 +5,7 @@ import { BotHelper } from "@spt/helpers/BotHelper";
|
||||
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||
import { WeightedRandomHelper } from "@spt/helpers/WeightedRandomHelper";
|
||||
import { MinMax } from "@spt/models/common/MinMax";
|
||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { IBaseJsonSkills, IBaseSkill, IBotBase, IInfo, IHealth as PmcHealth, ISkills as botSkills } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IAppearance, IBodyPart, IBotType, IHealth, IInventory } from "@spt/models/eft/common/tables/IBotType";
|
||||
import { IBotGenerationDetails } from "@spt/models/spt/bots/BotGenerationDetails";
|
||||
@ -47,9 +48,10 @@ export declare class BotGenerator {
|
||||
* @param role e.g. assault / pmcbot
|
||||
* @param difficulty easy/normal/hard/impossible
|
||||
* @param botTemplate base bot template to use (e.g. assault/pmcbot)
|
||||
* @returns
|
||||
* profile PMC profile of player generating pscav
|
||||
* @returns IBotBase
|
||||
*/
|
||||
generatePlayerScav(sessionId: string, role: string, difficulty: string, botTemplate: IBotType): IBotBase;
|
||||
generatePlayerScav(sessionId: string, role: string, difficulty: string, botTemplate: IBotType, profile: IPmcData): IBotBase;
|
||||
/**
|
||||
* Create 1 bot of the type/side/difficulty defined in botGenerationDetails
|
||||
* @param sessionId Session id
|
||||
@ -79,6 +81,12 @@ export declare class BotGenerator {
|
||||
* @returns IBotBase object
|
||||
*/
|
||||
protected generateBot(sessionId: string, bot: IBotBase, botJsonTemplate: IBotType, botGenerationDetails: IBotGenerationDetails): IBotBase;
|
||||
/**
|
||||
* Should this bot have a name like "name (Pmc Name)" and be alterd by client patch to be hostile to player
|
||||
* @param botRole Role bot has
|
||||
* @returns True if name should be simulated pscav
|
||||
*/
|
||||
protected shouldSimulatePlayerScav(botRole: string): boolean;
|
||||
/**
|
||||
* Get exp for kill by bot difficulty
|
||||
* @param experience Dict of difficulties and experience
|
||||
|
@ -91,6 +91,12 @@ export declare class RagfairOfferHelper {
|
||||
* @returns IRagfairOffer array
|
||||
*/
|
||||
getOffersForBuild(searchRequest: ISearchRequestData, itemsToAdd: string[], traderAssorts: Record<string, ITraderAssort>, pmcData: IPmcData): IRagfairOffer[];
|
||||
/**
|
||||
* Get offers that have not exceeded buy limits
|
||||
* @param possibleOffers offers to process
|
||||
* @returns Offers
|
||||
*/
|
||||
protected getOffersInsideBuyRestrictionLimits(possibleOffers: IRagfairOffer[]): IRagfairOffer[];
|
||||
/**
|
||||
* Check if offer is from trader standing the player does not have
|
||||
* @param offer Offer to check
|
||||
@ -209,4 +215,10 @@ export declare class RagfairOfferHelper {
|
||||
* @returns True if in range
|
||||
*/
|
||||
protected itemQualityInRange(item: IItem, min: number, max: number): boolean;
|
||||
/**
|
||||
* Does this offer come from a trader
|
||||
* @param offer Offer to check
|
||||
* @returns True = from trader
|
||||
*/
|
||||
offerIsFromTrader(offer: IRagfairOffer): boolean;
|
||||
}
|
||||
|
@ -60,6 +60,7 @@ export interface IUnlockedInfo {
|
||||
export interface IInfo {
|
||||
EntryPoint: string;
|
||||
Nickname: string;
|
||||
MainProfileNickname?: string;
|
||||
LowerNickname: string;
|
||||
Side: string;
|
||||
SquadInviteRestriction: boolean;
|
||||
|
@ -10,6 +10,8 @@ export interface IInventoryConfig extends IBaseConfig {
|
||||
customMoneyTpls: string[];
|
||||
/** Multipliers for skill gain when inside menus, NOT in-game */
|
||||
skillGainMultiplers: Record<string, number>;
|
||||
/** Container Tpls that shoud be deprioritised when choosing where to take money from for payments */
|
||||
deprioritisedMoneyContainers: string[];
|
||||
}
|
||||
export interface IRewardDetails {
|
||||
rewardCount: number;
|
||||
|
@ -66,7 +66,9 @@ export interface IPmcTypes {
|
||||
bear: string;
|
||||
}
|
||||
export interface ISlotLootSettings {
|
||||
/** Item Type whitelist */
|
||||
whitelist: string[];
|
||||
/** item tpl blacklist */
|
||||
blacklist: string[];
|
||||
}
|
||||
export interface IMinMaxLootValue extends MinMax {
|
||||
|
@ -75,6 +75,8 @@ export interface IDynamic {
|
||||
blacklist: IRagfairBlacklist;
|
||||
/** Dict of price limits keyed by item type */
|
||||
unreasonableModPrices: Record<string, IUnreasonableModPrices>;
|
||||
/** Custom rouble prices for items to override values from prices.json */
|
||||
itemPriceOverrideRouble: Record<string, number>;
|
||||
}
|
||||
export interface IPriceRanges {
|
||||
default: MinMax;
|
||||
|
@ -6,6 +6,8 @@ export interface ISeasonalEventConfig extends IBaseConfig {
|
||||
enableSeasonalEventDetection: boolean;
|
||||
/** event / botType / equipSlot / itemid */
|
||||
eventGear: Record<string, Record<string, Record<string, Record<string, number>>>>;
|
||||
/** event / bot type / equipSlot / itemid */
|
||||
eventLoot: Record<string, Record<string, Record<string, Record<string, number>>>>;
|
||||
events: ISeasonalEvent[];
|
||||
eventBotMapping: Record<string, string>;
|
||||
eventBossSpawns: Record<string, Record<string, IBossLocationSpawn[]>>;
|
||||
|
@ -1,5 +1,6 @@
|
||||
import { BotHelper } from "@spt/helpers/BotHelper";
|
||||
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||
import { IBotBase } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IBotType } from "@spt/models/eft/common/tables/IBotType";
|
||||
import { IBotGenerationDetails } from "@spt/models/spt/bots/BotGenerationDetails";
|
||||
import { IBotConfig } from "@spt/models/spt/config/IBotConfig";
|
||||
@ -38,10 +39,13 @@ export declare class BotNameService {
|
||||
*/
|
||||
generateUniqueBotNickname(botJsonTemplate: IBotType, botGenerationDetails: IBotGenerationDetails, botRole: string, uniqueRoles?: string[]): string;
|
||||
/**
|
||||
* Should this bot have a name like "name (Pmc Name)"
|
||||
* @param botRole Role bot has
|
||||
* @returns True if name should be simulated pscav
|
||||
* Add random PMC name to bots MainProfileNickname property
|
||||
* @param bot Bot to update
|
||||
*/
|
||||
protected shouldSimulatePlayerScavName(botRole: string): boolean;
|
||||
protected addPlayerScavNameSimulationSuffix(nickname: string): string;
|
||||
addRandomPmcNameToBotMainProfileNicknameProperty(bot: IBotBase): void;
|
||||
/**
|
||||
* Choose a random PMC name from bear or usec bot jsons
|
||||
* @returns PMC name as string
|
||||
*/
|
||||
protected getRandomPMCName(): string;
|
||||
}
|
||||
|
@ -85,7 +85,7 @@ export declare class DatabaseService {
|
||||
*/
|
||||
getCustomization(): Record<string, ICustomizationItem>;
|
||||
/**
|
||||
* @returns assets/database/templates/items.json
|
||||
* @returns assets/database/templates/handbook.json
|
||||
*/
|
||||
getHandbook(): IHandbookBase;
|
||||
/**
|
||||
@ -101,7 +101,7 @@ export declare class DatabaseService {
|
||||
*/
|
||||
getProfiles(): IProfileTemplates;
|
||||
/**
|
||||
* @returns assets/database/templates/items.json
|
||||
* @returns assets/database/templates/quests.json
|
||||
*/
|
||||
getQuests(): Record<string, IQuest>;
|
||||
/**
|
||||
|
@ -8,7 +8,9 @@ import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
|
||||
import { IProcessBuyTradeRequestData } from "@spt/models/eft/trade/IProcessBuyTradeRequestData";
|
||||
import { IProcessSellTradeRequestData } from "@spt/models/eft/trade/IProcessSellTradeRequestData";
|
||||
import { IInventoryConfig } from "@spt/models/spt/config/IInventoryConfig";
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
import { ConfigServer } from "@spt/servers/ConfigServer";
|
||||
import { DatabaseService } from "@spt/services/DatabaseService";
|
||||
import { LocalisationService } from "@spt/services/LocalisationService";
|
||||
import { HashUtil } from "@spt/utils/HashUtil";
|
||||
@ -24,7 +26,9 @@ export declare class PaymentService {
|
||||
protected inventoryHelper: InventoryHelper;
|
||||
protected localisationService: LocalisationService;
|
||||
protected paymentHelper: PaymentHelper;
|
||||
constructor(logger: ILogger, hashUtil: HashUtil, httpResponse: HttpResponseUtil, databaseService: DatabaseService, handbookHelper: HandbookHelper, traderHelper: TraderHelper, itemHelper: ItemHelper, inventoryHelper: InventoryHelper, localisationService: LocalisationService, paymentHelper: PaymentHelper);
|
||||
protected configServer: ConfigServer;
|
||||
protected inventoryConfig: IInventoryConfig;
|
||||
constructor(logger: ILogger, hashUtil: HashUtil, httpResponse: HttpResponseUtil, databaseService: DatabaseService, handbookHelper: HandbookHelper, traderHelper: TraderHelper, itemHelper: ItemHelper, inventoryHelper: InventoryHelper, localisationService: LocalisationService, paymentHelper: PaymentHelper, configServer: ConfigServer);
|
||||
/**
|
||||
* Take money and insert items into return to server request
|
||||
* @param pmcData Pmc profile
|
||||
|
@ -74,4 +74,6 @@ export declare class PostDbLoadService {
|
||||
*/
|
||||
protected validateQuestAssortUnlocksExist(): void;
|
||||
protected setAllDbItemsAsSellableOnFlea(): void;
|
||||
protected addMissingTraderBuyRestrictionMaxValue(): void;
|
||||
protected applyFleaPriceOverrides(): void;
|
||||
}
|
||||
|
@ -88,6 +88,12 @@ export declare class SeasonalEventService {
|
||||
* @returns bots with equipment changes
|
||||
*/
|
||||
protected getEventBotGear(eventType: SeasonalEventType): Record<string, Record<string, Record<string, number>>>;
|
||||
/**
|
||||
* Get a dictionary of loot changes to apply to bots for a specific event e.g. Christmas/Halloween
|
||||
* @param eventName Name of event to get gear changes for
|
||||
* @returns bots with loot changes
|
||||
*/
|
||||
protected getEventBotLoot(eventType: SeasonalEventType): Record<string, Record<string, Record<string, number>>>;
|
||||
/**
|
||||
* Get the dates each seasonal event starts and ends at
|
||||
* @returns Record with event name + start/end date
|
||||
@ -171,6 +177,11 @@ export declare class SeasonalEventService {
|
||||
* @param eventName Name of the event to read equipment in from config
|
||||
*/
|
||||
protected addEventGearToBots(eventType: SeasonalEventType): void;
|
||||
/**
|
||||
* Read in data from seasonalEvents.json and add found loot items to bots
|
||||
* @param eventName Name of the event to read loot in from config
|
||||
*/
|
||||
protected addEventLootToBots(eventType: SeasonalEventType): void;
|
||||
/**
|
||||
* Add pumpkin loot boxes to scavs
|
||||
*/
|
||||
|
@ -4,10 +4,10 @@ import { ICoreConfig } from "@spt/models/spt/config/ICoreConfig";
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
import { ConfigServer } from "@spt/servers/ConfigServer";
|
||||
import { HttpServer } from "@spt/servers/HttpServer";
|
||||
import { DatabaseService } from "@spt/services/DatabaseService";
|
||||
import { LocalisationService } from "@spt/services/LocalisationService";
|
||||
import { EncodingUtil } from "@spt/utils/EncodingUtil";
|
||||
import { TimeUtil } from "@spt/utils/TimeUtil";
|
||||
import { DatabaseService } from "@spt/services/DatabaseService";
|
||||
export declare class App {
|
||||
protected logger: ILogger;
|
||||
protected timeUtil: TimeUtil;
|
||||
|
13
TypeScript/14AfterDBLoadHook/types/utils/ProgressWriter.d.ts
vendored
Normal file
13
TypeScript/14AfterDBLoadHook/types/utils/ProgressWriter.d.ts
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
export declare class ProgressWriter {
|
||||
private count;
|
||||
private total?;
|
||||
private done;
|
||||
private barFillChar;
|
||||
private barEmptyChar;
|
||||
private maxBarLength;
|
||||
constructor(total: number, maxBarLength?: number, barFillChar?: string, barEmptyChar?: string);
|
||||
/**
|
||||
* Increment the progress counter and update the progress bar display.
|
||||
*/
|
||||
increment(): void;
|
||||
}
|
@ -5,6 +5,7 @@ import { BotHelper } from "@spt/helpers/BotHelper";
|
||||
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||
import { WeightedRandomHelper } from "@spt/helpers/WeightedRandomHelper";
|
||||
import { MinMax } from "@spt/models/common/MinMax";
|
||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { IBaseJsonSkills, IBaseSkill, IBotBase, IInfo, IHealth as PmcHealth, ISkills as botSkills } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IAppearance, IBodyPart, IBotType, IHealth, IInventory } from "@spt/models/eft/common/tables/IBotType";
|
||||
import { IBotGenerationDetails } from "@spt/models/spt/bots/BotGenerationDetails";
|
||||
@ -47,9 +48,10 @@ export declare class BotGenerator {
|
||||
* @param role e.g. assault / pmcbot
|
||||
* @param difficulty easy/normal/hard/impossible
|
||||
* @param botTemplate base bot template to use (e.g. assault/pmcbot)
|
||||
* @returns
|
||||
* profile PMC profile of player generating pscav
|
||||
* @returns IBotBase
|
||||
*/
|
||||
generatePlayerScav(sessionId: string, role: string, difficulty: string, botTemplate: IBotType): IBotBase;
|
||||
generatePlayerScav(sessionId: string, role: string, difficulty: string, botTemplate: IBotType, profile: IPmcData): IBotBase;
|
||||
/**
|
||||
* Create 1 bot of the type/side/difficulty defined in botGenerationDetails
|
||||
* @param sessionId Session id
|
||||
@ -79,6 +81,12 @@ export declare class BotGenerator {
|
||||
* @returns IBotBase object
|
||||
*/
|
||||
protected generateBot(sessionId: string, bot: IBotBase, botJsonTemplate: IBotType, botGenerationDetails: IBotGenerationDetails): IBotBase;
|
||||
/**
|
||||
* Should this bot have a name like "name (Pmc Name)" and be alterd by client patch to be hostile to player
|
||||
* @param botRole Role bot has
|
||||
* @returns True if name should be simulated pscav
|
||||
*/
|
||||
protected shouldSimulatePlayerScav(botRole: string): boolean;
|
||||
/**
|
||||
* Get exp for kill by bot difficulty
|
||||
* @param experience Dict of difficulties and experience
|
||||
|
@ -91,6 +91,12 @@ export declare class RagfairOfferHelper {
|
||||
* @returns IRagfairOffer array
|
||||
*/
|
||||
getOffersForBuild(searchRequest: ISearchRequestData, itemsToAdd: string[], traderAssorts: Record<string, ITraderAssort>, pmcData: IPmcData): IRagfairOffer[];
|
||||
/**
|
||||
* Get offers that have not exceeded buy limits
|
||||
* @param possibleOffers offers to process
|
||||
* @returns Offers
|
||||
*/
|
||||
protected getOffersInsideBuyRestrictionLimits(possibleOffers: IRagfairOffer[]): IRagfairOffer[];
|
||||
/**
|
||||
* Check if offer is from trader standing the player does not have
|
||||
* @param offer Offer to check
|
||||
@ -209,4 +215,10 @@ export declare class RagfairOfferHelper {
|
||||
* @returns True if in range
|
||||
*/
|
||||
protected itemQualityInRange(item: IItem, min: number, max: number): boolean;
|
||||
/**
|
||||
* Does this offer come from a trader
|
||||
* @param offer Offer to check
|
||||
* @returns True = from trader
|
||||
*/
|
||||
offerIsFromTrader(offer: IRagfairOffer): boolean;
|
||||
}
|
||||
|
@ -60,6 +60,7 @@ export interface IUnlockedInfo {
|
||||
export interface IInfo {
|
||||
EntryPoint: string;
|
||||
Nickname: string;
|
||||
MainProfileNickname?: string;
|
||||
LowerNickname: string;
|
||||
Side: string;
|
||||
SquadInviteRestriction: boolean;
|
||||
|
@ -10,6 +10,8 @@ export interface IInventoryConfig extends IBaseConfig {
|
||||
customMoneyTpls: string[];
|
||||
/** Multipliers for skill gain when inside menus, NOT in-game */
|
||||
skillGainMultiplers: Record<string, number>;
|
||||
/** Container Tpls that shoud be deprioritised when choosing where to take money from for payments */
|
||||
deprioritisedMoneyContainers: string[];
|
||||
}
|
||||
export interface IRewardDetails {
|
||||
rewardCount: number;
|
||||
|
@ -66,7 +66,9 @@ export interface IPmcTypes {
|
||||
bear: string;
|
||||
}
|
||||
export interface ISlotLootSettings {
|
||||
/** Item Type whitelist */
|
||||
whitelist: string[];
|
||||
/** item tpl blacklist */
|
||||
blacklist: string[];
|
||||
}
|
||||
export interface IMinMaxLootValue extends MinMax {
|
||||
|
@ -75,6 +75,8 @@ export interface IDynamic {
|
||||
blacklist: IRagfairBlacklist;
|
||||
/** Dict of price limits keyed by item type */
|
||||
unreasonableModPrices: Record<string, IUnreasonableModPrices>;
|
||||
/** Custom rouble prices for items to override values from prices.json */
|
||||
itemPriceOverrideRouble: Record<string, number>;
|
||||
}
|
||||
export interface IPriceRanges {
|
||||
default: MinMax;
|
||||
|
@ -6,6 +6,8 @@ export interface ISeasonalEventConfig extends IBaseConfig {
|
||||
enableSeasonalEventDetection: boolean;
|
||||
/** event / botType / equipSlot / itemid */
|
||||
eventGear: Record<string, Record<string, Record<string, Record<string, number>>>>;
|
||||
/** event / bot type / equipSlot / itemid */
|
||||
eventLoot: Record<string, Record<string, Record<string, Record<string, number>>>>;
|
||||
events: ISeasonalEvent[];
|
||||
eventBotMapping: Record<string, string>;
|
||||
eventBossSpawns: Record<string, Record<string, IBossLocationSpawn[]>>;
|
||||
|
@ -1,5 +1,6 @@
|
||||
import { BotHelper } from "@spt/helpers/BotHelper";
|
||||
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||
import { IBotBase } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IBotType } from "@spt/models/eft/common/tables/IBotType";
|
||||
import { IBotGenerationDetails } from "@spt/models/spt/bots/BotGenerationDetails";
|
||||
import { IBotConfig } from "@spt/models/spt/config/IBotConfig";
|
||||
@ -38,10 +39,13 @@ export declare class BotNameService {
|
||||
*/
|
||||
generateUniqueBotNickname(botJsonTemplate: IBotType, botGenerationDetails: IBotGenerationDetails, botRole: string, uniqueRoles?: string[]): string;
|
||||
/**
|
||||
* Should this bot have a name like "name (Pmc Name)"
|
||||
* @param botRole Role bot has
|
||||
* @returns True if name should be simulated pscav
|
||||
* Add random PMC name to bots MainProfileNickname property
|
||||
* @param bot Bot to update
|
||||
*/
|
||||
protected shouldSimulatePlayerScavName(botRole: string): boolean;
|
||||
protected addPlayerScavNameSimulationSuffix(nickname: string): string;
|
||||
addRandomPmcNameToBotMainProfileNicknameProperty(bot: IBotBase): void;
|
||||
/**
|
||||
* Choose a random PMC name from bear or usec bot jsons
|
||||
* @returns PMC name as string
|
||||
*/
|
||||
protected getRandomPMCName(): string;
|
||||
}
|
||||
|
@ -85,7 +85,7 @@ export declare class DatabaseService {
|
||||
*/
|
||||
getCustomization(): Record<string, ICustomizationItem>;
|
||||
/**
|
||||
* @returns assets/database/templates/items.json
|
||||
* @returns assets/database/templates/handbook.json
|
||||
*/
|
||||
getHandbook(): IHandbookBase;
|
||||
/**
|
||||
@ -101,7 +101,7 @@ export declare class DatabaseService {
|
||||
*/
|
||||
getProfiles(): IProfileTemplates;
|
||||
/**
|
||||
* @returns assets/database/templates/items.json
|
||||
* @returns assets/database/templates/quests.json
|
||||
*/
|
||||
getQuests(): Record<string, IQuest>;
|
||||
/**
|
||||
|
@ -8,7 +8,9 @@ import { IItem } from "@spt/models/eft/common/tables/IItem";
|
||||
import { IItemEventRouterResponse } from "@spt/models/eft/itemEvent/IItemEventRouterResponse";
|
||||
import { IProcessBuyTradeRequestData } from "@spt/models/eft/trade/IProcessBuyTradeRequestData";
|
||||
import { IProcessSellTradeRequestData } from "@spt/models/eft/trade/IProcessSellTradeRequestData";
|
||||
import { IInventoryConfig } from "@spt/models/spt/config/IInventoryConfig";
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
import { ConfigServer } from "@spt/servers/ConfigServer";
|
||||
import { DatabaseService } from "@spt/services/DatabaseService";
|
||||
import { LocalisationService } from "@spt/services/LocalisationService";
|
||||
import { HashUtil } from "@spt/utils/HashUtil";
|
||||
@ -24,7 +26,9 @@ export declare class PaymentService {
|
||||
protected inventoryHelper: InventoryHelper;
|
||||
protected localisationService: LocalisationService;
|
||||
protected paymentHelper: PaymentHelper;
|
||||
constructor(logger: ILogger, hashUtil: HashUtil, httpResponse: HttpResponseUtil, databaseService: DatabaseService, handbookHelper: HandbookHelper, traderHelper: TraderHelper, itemHelper: ItemHelper, inventoryHelper: InventoryHelper, localisationService: LocalisationService, paymentHelper: PaymentHelper);
|
||||
protected configServer: ConfigServer;
|
||||
protected inventoryConfig: IInventoryConfig;
|
||||
constructor(logger: ILogger, hashUtil: HashUtil, httpResponse: HttpResponseUtil, databaseService: DatabaseService, handbookHelper: HandbookHelper, traderHelper: TraderHelper, itemHelper: ItemHelper, inventoryHelper: InventoryHelper, localisationService: LocalisationService, paymentHelper: PaymentHelper, configServer: ConfigServer);
|
||||
/**
|
||||
* Take money and insert items into return to server request
|
||||
* @param pmcData Pmc profile
|
||||
|
@ -74,4 +74,6 @@ export declare class PostDbLoadService {
|
||||
*/
|
||||
protected validateQuestAssortUnlocksExist(): void;
|
||||
protected setAllDbItemsAsSellableOnFlea(): void;
|
||||
protected addMissingTraderBuyRestrictionMaxValue(): void;
|
||||
protected applyFleaPriceOverrides(): void;
|
||||
}
|
||||
|
@ -88,6 +88,12 @@ export declare class SeasonalEventService {
|
||||
* @returns bots with equipment changes
|
||||
*/
|
||||
protected getEventBotGear(eventType: SeasonalEventType): Record<string, Record<string, Record<string, number>>>;
|
||||
/**
|
||||
* Get a dictionary of loot changes to apply to bots for a specific event e.g. Christmas/Halloween
|
||||
* @param eventName Name of event to get gear changes for
|
||||
* @returns bots with loot changes
|
||||
*/
|
||||
protected getEventBotLoot(eventType: SeasonalEventType): Record<string, Record<string, Record<string, number>>>;
|
||||
/**
|
||||
* Get the dates each seasonal event starts and ends at
|
||||
* @returns Record with event name + start/end date
|
||||
@ -171,6 +177,11 @@ export declare class SeasonalEventService {
|
||||
* @param eventName Name of the event to read equipment in from config
|
||||
*/
|
||||
protected addEventGearToBots(eventType: SeasonalEventType): void;
|
||||
/**
|
||||
* Read in data from seasonalEvents.json and add found loot items to bots
|
||||
* @param eventName Name of the event to read loot in from config
|
||||
*/
|
||||
protected addEventLootToBots(eventType: SeasonalEventType): void;
|
||||
/**
|
||||
* Add pumpkin loot boxes to scavs
|
||||
*/
|
||||
|
@ -4,10 +4,10 @@ import { ICoreConfig } from "@spt/models/spt/config/ICoreConfig";
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
import { ConfigServer } from "@spt/servers/ConfigServer";
|
||||
import { HttpServer } from "@spt/servers/HttpServer";
|
||||
import { DatabaseService } from "@spt/services/DatabaseService";
|
||||
import { LocalisationService } from "@spt/services/LocalisationService";
|
||||
import { EncodingUtil } from "@spt/utils/EncodingUtil";
|
||||
import { TimeUtil } from "@spt/utils/TimeUtil";
|
||||
import { DatabaseService } from "@spt/services/DatabaseService";
|
||||
export declare class App {
|
||||
protected logger: ILogger;
|
||||
protected timeUtil: TimeUtil;
|
||||
|
13
TypeScript/15HttpListenerExample/types/utils/ProgressWriter.d.ts
vendored
Normal file
13
TypeScript/15HttpListenerExample/types/utils/ProgressWriter.d.ts
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
export declare class ProgressWriter {
|
||||
private count;
|
||||
private total?;
|
||||
private done;
|
||||
private barFillChar;
|
||||
private barEmptyChar;
|
||||
private maxBarLength;
|
||||
constructor(total: number, maxBarLength?: number, barFillChar?: string, barEmptyChar?: string);
|
||||
/**
|
||||
* Increment the progress counter and update the progress bar display.
|
||||
*/
|
||||
increment(): void;
|
||||
}
|
@ -5,6 +5,7 @@ import { BotHelper } from "@spt/helpers/BotHelper";
|
||||
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||
import { WeightedRandomHelper } from "@spt/helpers/WeightedRandomHelper";
|
||||
import { MinMax } from "@spt/models/common/MinMax";
|
||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { IBaseJsonSkills, IBaseSkill, IBotBase, IInfo, IHealth as PmcHealth, ISkills as botSkills } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IAppearance, IBodyPart, IBotType, IHealth, IInventory } from "@spt/models/eft/common/tables/IBotType";
|
||||
import { IBotGenerationDetails } from "@spt/models/spt/bots/BotGenerationDetails";
|
||||
@ -47,9 +48,10 @@ export declare class BotGenerator {
|
||||
* @param role e.g. assault / pmcbot
|
||||
* @param difficulty easy/normal/hard/impossible
|
||||
* @param botTemplate base bot template to use (e.g. assault/pmcbot)
|
||||
* @returns
|
||||
* profile PMC profile of player generating pscav
|
||||
* @returns IBotBase
|
||||
*/
|
||||
generatePlayerScav(sessionId: string, role: string, difficulty: string, botTemplate: IBotType): IBotBase;
|
||||
generatePlayerScav(sessionId: string, role: string, difficulty: string, botTemplate: IBotType, profile: IPmcData): IBotBase;
|
||||
/**
|
||||
* Create 1 bot of the type/side/difficulty defined in botGenerationDetails
|
||||
* @param sessionId Session id
|
||||
@ -79,6 +81,12 @@ export declare class BotGenerator {
|
||||
* @returns IBotBase object
|
||||
*/
|
||||
protected generateBot(sessionId: string, bot: IBotBase, botJsonTemplate: IBotType, botGenerationDetails: IBotGenerationDetails): IBotBase;
|
||||
/**
|
||||
* Should this bot have a name like "name (Pmc Name)" and be alterd by client patch to be hostile to player
|
||||
* @param botRole Role bot has
|
||||
* @returns True if name should be simulated pscav
|
||||
*/
|
||||
protected shouldSimulatePlayerScav(botRole: string): boolean;
|
||||
/**
|
||||
* Get exp for kill by bot difficulty
|
||||
* @param experience Dict of difficulties and experience
|
||||
|
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