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

Constructors

new
PlayerScavGenerator(
logger: ILogger,
randomUtil: RandomUtil,
databaseServer: DatabaseServer,
hashUtil: HashUtil,
itemHelper: ItemHelper,
botGeneratorHelper: BotGeneratorHelper,
saveServer: SaveServer,
profileHelper: ProfileHelper,
botHelper: BotHelper,
jsonUtil: JsonUtil,
fenceService: FenceService,
botLootCacheService: BotLootCacheService,
localisationService: LocalisationService,
botGenerator: BotGenerator,
configServer: ConfigServer,
)

Properties

protected
botGenerator: BotGenerator
protected
botGeneratorHelper: BotGeneratorHelper
protected
botHelper: BotHelper
protected
botLootCacheService: BotLootCacheService
protected
configServer: ConfigServer
protected
databaseServer: DatabaseServer
protected
fenceService: FenceService
protected
hashUtil: HashUtil
protected
itemHelper: ItemHelper
protected
jsonUtil: JsonUtil
protected
localisationService: LocalisationService
protected
logger: ILogger
protected
playerScavConfig: IPlayerScavConfig
protected
profileHelper: ProfileHelper
protected
randomUtil: RandomUtil
protected
saveServer: SaveServer

Methods

protected
addAdditionalLootToPlayerScavContainers(
possibleItemsToAdd: Record<string, number>,
scavData: IBotBase,
containersToAddTo: string[],
): void

Add items picked from playerscav.lootItemsToAddChancePercent

protected
adjustBotTemplateWithKarmaSpecificSettings(karmaSettings: KarmaLevel, baseBotNode: IBotType): void

Adjust equipment/mod/item generation values based on scav karma levels

protected
constructBotBaseTemplate(botTypeForLoot: string): IBotType

Get a baseBot template If the parameter doesnt match "assault", take parts from the loot type and apply to the return bot template

protected
getScavExperience(scavProfile: IPmcData): number
protected
getScavKarmaLevel(pmcData: IPmcData): number

Get the scav karama level for a profile Is also the fence trader rep level

protected
getScavLevel(scavProfile: IPmcData): number
protected
getScavSkills(scavProfile: IPmcData): Skills
protected
getScavStats(scavProfile: IPmcData): Stats
protected
setScavCooldownTimer(scavData: IPmcData, pmcData: IPmcData): IPmcData

Set cooldown till pscav is playable take into account scav cooldown bonus

generate(sessionID: string): IPmcData

Update a player profile to include a new player scav profile