Skip to main content
The Deno 2 Release Candidate is here
Learn more
Latest
class BotGenerator
Re-export
import { BotGenerator } from "https://deno.land/x/sptaki@1.2.0/generators/mod.ts";

Constructors

new
BotGenerator(
logger: ILogger,
hashUtil: HashUtil,
randomUtil: RandomUtil,
timeUtil: TimeUtil,
jsonUtil: JsonUtil,
profileHelper: ProfileHelper,
databaseServer: DatabaseServer,
botInventoryGenerator: BotInventoryGenerator,
botLevelGenerator: BotLevelGenerator,
botEquipmentFilterService: BotEquipmentFilterService,
weightedRandomHelper: WeightedRandomHelper,
botHelper: BotHelper,
botDifficultyHelper: BotDifficultyHelper,
seasonalEventService: SeasonalEventService,
localisationService: LocalisationService,
configServer: ConfigServer,
)

Properties

protected
botConfig: IBotConfig
protected
botDifficultyHelper: BotDifficultyHelper
protected
botEquipmentFilterService: BotEquipmentFilterService
protected
botHelper: BotHelper
protected
botInventoryGenerator: BotInventoryGenerator
protected
botLevelGenerator: BotLevelGenerator
protected
configServer: ConfigServer
protected
databaseServer: DatabaseServer
protected
hashUtil: HashUtil
protected
jsonUtil: JsonUtil
protected
localisationService: LocalisationService
protected
logger: ILogger
protected
pmcConfig: IPmcConfig
protected
profileHelper: ProfileHelper
protected
randomUtil: RandomUtil
protected
seasonalEventService: SeasonalEventService
protected
timeUtil: TimeUtil
protected
weightedRandomHelper: WeightedRandomHelper

Methods

protected
addDogtagToBot(bot: IBotBase): void

Add a side-specific (usec/bear) dogtag item to a bots inventory

protected
generateBot(
sessionId: string,
bot: IBotBase,
botJsonTemplate: IBotType,
botGenerationDetails: BotGenerationDetails,
): IBotBase

Create a IBotBase object with equipment/loot/exp etc

protected
generateBotNickname(
botJsonTemplate: IBotType,
botGenerationDetails: BotGenerationDetails,
botRole: string,
sessionId?: string,
): string

Create a bot nickname

protected
generateHealth(healthObj: Health, playerScav?: boolean): PmcHealth

Converts health object to the required format

protected
generateId(bot: IBotBase): void

Generate a random Id for a bot and apply to bots _id and aid value

protected
generateInventoryID(profile: IBotBase): void

Get a bots skills with randomsied progress value between the min and max values

Get a clone of the database\bots\base.json file

protected
getRandomisedGameVersionAndCategory(botInfo: Info): void

Randomise a bots game version and account category Chooses from all the game versions (standard, eod etc) Chooses account type (default, Sherpa, etc)

protected
getSkillsWithRandomisedProgressValue(skills: Record<string, IBaseSkill>, isCommonSkills: boolean): IBaseSkill[]

Randomise the progress value of passed in skills based on the min/max value

protected
logPmcGeneratedCount(output: IBotBase[]): void

Log the number of PMCs generated to the debug console

protected
setBotAppearance(
bot: IBotBase,
appearance: Appearance,
botGenerationDetails: BotGenerationDetails,
): void

Choose various appearance settings for a bot using weights

generatePlayerScav(
sessionId: string,
role: string,
difficulty: string,
botTemplate: IBotType,
): IBotBase

Generate a player scav bot object

prepareAndGenerateBot(sessionId: string, botGenerationDetails: BotGenerationDetails): IBotBase

Create 1 bots of the type/side/difficulty defined in botGenerationDetails