Improved import consistency + comment improvements
Moved `IGenerateEquipmentProperties` into own file
This commit is contained in:
parent
f7e42cae5d
commit
43a09c29c2
@ -15,6 +15,8 @@ import { BaseClasses } from "@spt/models/enums/BaseClasses";
|
|||||||
import { ConfigTypes } from "@spt/models/enums/ConfigTypes";
|
import { ConfigTypes } from "@spt/models/enums/ConfigTypes";
|
||||||
import { ModSpawn } from "@spt/models/enums/ModSpawn";
|
import { ModSpawn } from "@spt/models/enums/ModSpawn";
|
||||||
import { IChooseRandomCompatibleModResult } from "@spt/models/spt/bots/IChooseRandomCompatibleModResult";
|
import { IChooseRandomCompatibleModResult } from "@spt/models/spt/bots/IChooseRandomCompatibleModResult";
|
||||||
|
import { IFilterPlateModsForSlotByLevelResult, Result } from "@spt/models/spt/bots/IFilterPlateModsForSlotByLevelResult";
|
||||||
|
import { IGenerateEquipmentProperties } from "@spt/models/spt/bots/IGenerateEquipmentProperties";
|
||||||
import { IGenerateWeaponRequest } from "@spt/models/spt/bots/IGenerateWeaponRequest";
|
import { IGenerateWeaponRequest } from "@spt/models/spt/bots/IGenerateWeaponRequest";
|
||||||
import { IModToSpawnRequest } from "@spt/models/spt/bots/IModToSpawnRequest";
|
import { IModToSpawnRequest } from "@spt/models/spt/bots/IModToSpawnRequest";
|
||||||
import { EquipmentFilterDetails, EquipmentFilters, IBotConfig } from "@spt/models/spt/config/IBotConfig";
|
import { EquipmentFilterDetails, EquipmentFilters, IBotConfig } from "@spt/models/spt/config/IBotConfig";
|
||||||
@ -30,8 +32,6 @@ import { LocalisationService } from "@spt/services/LocalisationService";
|
|||||||
import { ICloner } from "@spt/utils/cloners/ICloner";
|
import { ICloner } from "@spt/utils/cloners/ICloner";
|
||||||
import { HashUtil } from "@spt/utils/HashUtil";
|
import { HashUtil } from "@spt/utils/HashUtil";
|
||||||
import { RandomUtil } from "@spt/utils/RandomUtil";
|
import { RandomUtil } from "@spt/utils/RandomUtil";
|
||||||
import { IFilterPlateModsForSlotByLevelResult, Result } from "../models/spt/bots/IFilterPlateModsForSlotByLevelResult";
|
|
||||||
import { IGenerateEquipmentProperties } from "./BotInventoryGenerator";
|
|
||||||
|
|
||||||
@injectable()
|
@injectable()
|
||||||
export class BotEquipmentModGenerator
|
export class BotEquipmentModGenerator
|
||||||
@ -159,7 +159,7 @@ export class BotEquipmentModGenerator
|
|||||||
// Find random mod and check its compatible
|
// Find random mod and check its compatible
|
||||||
let modTpl: string | undefined;
|
let modTpl: string | undefined;
|
||||||
let found = false;
|
let found = false;
|
||||||
const exhaustableModPool = new ExhaustableArray(modPoolToChooseFrom, this.randomUtil, this.cloner);
|
const exhaustableModPool = new ExhaustableArray<string>(modPoolToChooseFrom, this.randomUtil, this.cloner);
|
||||||
while (exhaustableModPool.hasValues())
|
while (exhaustableModPool.hasValues())
|
||||||
{
|
{
|
||||||
modTpl = exhaustableModPool.getRandomValue();
|
modTpl = exhaustableModPool.getRandomValue();
|
||||||
|
@ -7,17 +7,16 @@ import { BotHelper } from "@spt/helpers/BotHelper";
|
|||||||
import { ItemHelper } from "@spt/helpers/ItemHelper";
|
import { ItemHelper } from "@spt/helpers/ItemHelper";
|
||||||
import { WeightedRandomHelper } from "@spt/helpers/WeightedRandomHelper";
|
import { WeightedRandomHelper } from "@spt/helpers/WeightedRandomHelper";
|
||||||
import { Inventory as PmcInventory } from "@spt/models/eft/common/tables/IBotBase";
|
import { Inventory as PmcInventory } from "@spt/models/eft/common/tables/IBotBase";
|
||||||
import { Chances, Generation, IBotType, Inventory, Mods } from "@spt/models/eft/common/tables/IBotType";
|
import { Chances, Equipment, Generation, IBotType, Inventory } from "@spt/models/eft/common/tables/IBotType";
|
||||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||||
import { ConfigTypes } from "@spt/models/enums/ConfigTypes";
|
import { ConfigTypes } from "@spt/models/enums/ConfigTypes";
|
||||||
import { EquipmentSlots } from "@spt/models/enums/EquipmentSlots";
|
import { EquipmentSlots } from "@spt/models/enums/EquipmentSlots";
|
||||||
import { GameEditions } from "@spt/models/enums/GameEditions";
|
import { GameEditions } from "@spt/models/enums/GameEditions";
|
||||||
import { ItemTpl } from "@spt/models/enums/ItemTpl";
|
import { ItemTpl } from "@spt/models/enums/ItemTpl";
|
||||||
|
import { IGenerateEquipmentProperties } from "@spt/models/spt/bots/IGenerateEquipmentProperties";
|
||||||
import {
|
import {
|
||||||
EquipmentFilterDetails,
|
EquipmentFilterDetails,
|
||||||
EquipmentFilters,
|
|
||||||
IBotConfig,
|
IBotConfig,
|
||||||
RandomisationDetails,
|
|
||||||
} from "@spt/models/spt/config/IBotConfig";
|
} from "@spt/models/spt/config/IBotConfig";
|
||||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||||
import { ConfigServer } from "@spt/servers/ConfigServer";
|
import { ConfigServer } from "@spt/servers/ConfigServer";
|
||||||
@ -253,14 +252,14 @@ export class BotInventoryGenerator
|
|||||||
if (botEquipConfig.forceOnlyArmoredRigWhenNoArmor && !hasArmorVest)
|
if (botEquipConfig.forceOnlyArmoredRigWhenNoArmor && !hasArmorVest)
|
||||||
{
|
{
|
||||||
// Filter rigs down to only those with armor
|
// Filter rigs down to only those with armor
|
||||||
this.filterRigsToThoseWithProtection(templateInventory);
|
this.filterRigsToThoseWithProtection(templateInventory.equipment);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Optimisation - Remove armored rigs from pool
|
// Optimisation - Remove armored rigs from pool
|
||||||
if (hasArmorVest)
|
if (hasArmorVest)
|
||||||
{
|
{
|
||||||
// Filter rigs down to only those with armor
|
// Filter rigs down to only those with armor
|
||||||
this.filterRigsToThoseWithoutProtection(templateInventory);
|
this.filterRigsToThoseWithoutProtection(templateInventory.equipment);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.generateEquipment({
|
this.generateEquipment({
|
||||||
@ -278,44 +277,44 @@ export class BotInventoryGenerator
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Remove non-armored rigs from parameter data
|
* Remove non-armored rigs from parameter data
|
||||||
* @param templateInventory
|
* @param templateEquipment Equpiment to filter TacticalVest of
|
||||||
*/
|
*/
|
||||||
protected filterRigsToThoseWithProtection(templateInventory: Inventory): void
|
protected filterRigsToThoseWithProtection(templateEquipment: Equipment): void
|
||||||
{
|
{
|
||||||
const tacVestsWithArmor = Object.entries(templateInventory.equipment.TacticalVest).reduce(
|
const tacVestsWithArmor = Object.entries(templateEquipment.TacticalVest).reduce(
|
||||||
(newVestDictionary, [tplKey]) =>
|
(newVestDictionary, [tplKey]) =>
|
||||||
{
|
{
|
||||||
if (this.itemHelper.itemHasSlots(tplKey))
|
if (this.itemHelper.itemHasSlots(tplKey))
|
||||||
{
|
{
|
||||||
newVestDictionary[tplKey] = templateInventory.equipment.TacticalVest[tplKey];
|
newVestDictionary[tplKey] = templateEquipment.TacticalVest[tplKey];
|
||||||
}
|
}
|
||||||
return newVestDictionary;
|
return newVestDictionary;
|
||||||
},
|
},
|
||||||
{},
|
{},
|
||||||
);
|
);
|
||||||
|
|
||||||
templateInventory.equipment.TacticalVest = tacVestsWithArmor;
|
templateEquipment.TacticalVest = tacVestsWithArmor;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Remove armored rigs from parameter data
|
* Remove armored rigs from parameter data
|
||||||
* @param templateInventory
|
* @param templateEquipment Equpiment to filter TacticalVest of
|
||||||
*/
|
*/
|
||||||
protected filterRigsToThoseWithoutProtection(templateInventory: Inventory): void
|
protected filterRigsToThoseWithoutProtection(templateEquipment: Equipment): void
|
||||||
{
|
{
|
||||||
const tacVestsWithoutArmor = Object.entries(templateInventory.equipment.TacticalVest).reduce(
|
const tacVestsWithoutArmor = Object.entries(templateEquipment.TacticalVest).reduce(
|
||||||
(newVestDictionary, [tplKey]) =>
|
(newVestDictionary, [tplKey]) =>
|
||||||
{
|
{
|
||||||
if (!this.itemHelper.itemHasSlots(tplKey))
|
if (!this.itemHelper.itemHasSlots(tplKey))
|
||||||
{
|
{
|
||||||
newVestDictionary[tplKey] = templateInventory.equipment.TacticalVest[tplKey];
|
newVestDictionary[tplKey] = templateEquipment.TacticalVest[tplKey];
|
||||||
}
|
}
|
||||||
return newVestDictionary;
|
return newVestDictionary;
|
||||||
},
|
},
|
||||||
{},
|
{},
|
||||||
);
|
);
|
||||||
|
|
||||||
templateInventory.equipment.TacticalVest = tacVestsWithoutArmor;
|
templateEquipment.TacticalVest = tacVestsWithoutArmor;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -480,8 +479,8 @@ export class BotInventoryGenerator
|
|||||||
* @param botInventory Inventory to add weapons to
|
* @param botInventory Inventory to add weapons to
|
||||||
* @param botRole assault/pmcBot/bossTagilla etc
|
* @param botRole assault/pmcBot/bossTagilla etc
|
||||||
* @param isPmc Is the bot being generated as a pmc
|
* @param isPmc Is the bot being generated as a pmc
|
||||||
* @param botLevel level of bot having weapon generated
|
|
||||||
* @param itemGenerationLimitsMinMax Limits for items the bot can have
|
* @param itemGenerationLimitsMinMax Limits for items the bot can have
|
||||||
|
* @param botLevel level of bot having weapon generated
|
||||||
*/
|
*/
|
||||||
protected generateAndAddWeaponsToBot(
|
protected generateAndAddWeaponsToBot(
|
||||||
templateInventory: Inventory,
|
templateInventory: Inventory,
|
||||||
@ -584,24 +583,3 @@ export class BotInventoryGenerator
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface IGenerateEquipmentProperties
|
|
||||||
{
|
|
||||||
/** Root Slot being generated */
|
|
||||||
rootEquipmentSlot: string
|
|
||||||
/** Equipment pool for root slot being generated */
|
|
||||||
rootEquipmentPool: Record<string, number>
|
|
||||||
modPool: Mods
|
|
||||||
/** Dictionary of mod items and their chance to spawn for this bot type */
|
|
||||||
spawnChances: Chances
|
|
||||||
/** Role being generated for */
|
|
||||||
botRole: string
|
|
||||||
/** Level of bot being generated */
|
|
||||||
botLevel: number
|
|
||||||
inventory: PmcInventory
|
|
||||||
botEquipmentConfig: EquipmentFilters
|
|
||||||
/** Settings from bot.json to adjust how item is generated */
|
|
||||||
randomisationDetails: RandomisationDetails
|
|
||||||
/** OPTIONAL - Do not generate mods for tpls in this array */
|
|
||||||
generateModsBlacklist?: string[]
|
|
||||||
}
|
|
||||||
|
@ -2,6 +2,7 @@ import { inject, injectable } from "tsyringe";
|
|||||||
import { InventoryHelper } from "@spt/helpers/InventoryHelper";
|
import { InventoryHelper } from "@spt/helpers/InventoryHelper";
|
||||||
import { ItemHelper } from "@spt/helpers/ItemHelper";
|
import { ItemHelper } from "@spt/helpers/ItemHelper";
|
||||||
import { PaymentHelper } from "@spt/helpers/PaymentHelper";
|
import { PaymentHelper } from "@spt/helpers/PaymentHelper";
|
||||||
|
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||||
import { QuestHelper } from "@spt/helpers/QuestHelper";
|
import { QuestHelper } from "@spt/helpers/QuestHelper";
|
||||||
import { IPmcData, IPostRaidPmcData } from "@spt/models/eft/common/IPmcData";
|
import { IPmcData, IPostRaidPmcData } from "@spt/models/eft/common/IPmcData";
|
||||||
import { IQuestStatus, TraderInfo } from "@spt/models/eft/common/tables/IBotBase";
|
import { IQuestStatus, TraderInfo } from "@spt/models/eft/common/tables/IBotBase";
|
||||||
@ -22,7 +23,6 @@ import { ProfileFixerService } from "@spt/services/ProfileFixerService";
|
|||||||
import { ICloner } from "@spt/utils/cloners/ICloner";
|
import { ICloner } from "@spt/utils/cloners/ICloner";
|
||||||
import { RandomUtil } from "@spt/utils/RandomUtil";
|
import { RandomUtil } from "@spt/utils/RandomUtil";
|
||||||
import { TimeUtil } from "@spt/utils/TimeUtil";
|
import { TimeUtil } from "@spt/utils/TimeUtil";
|
||||||
import { ProfileHelper } from "./ProfileHelper";
|
|
||||||
|
|
||||||
@injectable()
|
@injectable()
|
||||||
export class InRaidHelper
|
export class InRaidHelper
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
import { inject, injectable } from "tsyringe";
|
import { inject, injectable } from "tsyringe";
|
||||||
|
import { ItemHelper } from "@spt/helpers/ItemHelper";
|
||||||
import { IPreset } from "@spt/models/eft/common/IGlobals";
|
import { IPreset } from "@spt/models/eft/common/IGlobals";
|
||||||
import { BaseClasses } from "@spt/models/enums/BaseClasses";
|
import { BaseClasses } from "@spt/models/enums/BaseClasses";
|
||||||
import { DatabaseService } from "@spt/services/DatabaseService";
|
import { DatabaseService } from "@spt/services/DatabaseService";
|
||||||
import { ICloner } from "@spt/utils/cloners/ICloner";
|
import { ICloner } from "@spt/utils/cloners/ICloner";
|
||||||
import { ItemHelper } from "./ItemHelper";
|
|
||||||
|
|
||||||
@injectable()
|
@injectable()
|
||||||
export class PresetHelper
|
export class PresetHelper
|
||||||
|
@ -4,6 +4,7 @@ import { ItemHelper } from "@spt/helpers/ItemHelper";
|
|||||||
import { PaymentHelper } from "@spt/helpers/PaymentHelper";
|
import { PaymentHelper } from "@spt/helpers/PaymentHelper";
|
||||||
import { PresetHelper } from "@spt/helpers/PresetHelper";
|
import { PresetHelper } from "@spt/helpers/PresetHelper";
|
||||||
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
import { ProfileHelper } from "@spt/helpers/ProfileHelper";
|
||||||
|
import { QuestHelper } from "@spt/helpers/QuestHelper";
|
||||||
import { RagfairHelper } from "@spt/helpers/RagfairHelper";
|
import { RagfairHelper } from "@spt/helpers/RagfairHelper";
|
||||||
import { RagfairServerHelper } from "@spt/helpers/RagfairServerHelper";
|
import { RagfairServerHelper } from "@spt/helpers/RagfairServerHelper";
|
||||||
import { RagfairSortHelper } from "@spt/helpers/RagfairSortHelper";
|
import { RagfairSortHelper } from "@spt/helpers/RagfairSortHelper";
|
||||||
@ -34,7 +35,6 @@ import { RagfairOfferService } from "@spt/services/RagfairOfferService";
|
|||||||
import { RagfairRequiredItemsService } from "@spt/services/RagfairRequiredItemsService";
|
import { RagfairRequiredItemsService } from "@spt/services/RagfairRequiredItemsService";
|
||||||
import { HashUtil } from "@spt/utils/HashUtil";
|
import { HashUtil } from "@spt/utils/HashUtil";
|
||||||
import { TimeUtil } from "@spt/utils/TimeUtil";
|
import { TimeUtil } from "@spt/utils/TimeUtil";
|
||||||
import { QuestHelper } from "./QuestHelper";
|
|
||||||
|
|
||||||
@injectable()
|
@injectable()
|
||||||
export class RagfairOfferHelper
|
export class RagfairOfferHelper
|
||||||
|
@ -460,7 +460,7 @@ export class TraderHelper
|
|||||||
*/
|
*/
|
||||||
public getAccountTypeAdjustedTraderPurchaseLimit(buyRestrictionMax: number, gameVersion: string): number
|
public getAccountTypeAdjustedTraderPurchaseLimit(buyRestrictionMax: number, gameVersion: string): number
|
||||||
{
|
{
|
||||||
if ([GameEditions.EDGE_OF_DARKNESS, GameEditions.UNHEARD].includes(<any>gameVersion))
|
if (([GameEditions.EDGE_OF_DARKNESS, GameEditions.UNHEARD] as string[]).includes(gameVersion))
|
||||||
{
|
{
|
||||||
return Math.floor(buyRestrictionMax * 1.2);
|
return Math.floor(buyRestrictionMax * 1.2);
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { IMagazineTemplateAmmoItem } from "../profile/ISptProfile";
|
import { IMagazineTemplateAmmoItem } from "@spt/models/eft/profile/ISptProfile";
|
||||||
|
|
||||||
export interface ISetMagazineRequest
|
export interface ISetMagazineRequest
|
||||||
{
|
{
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import { Exit, ILocationBase } from "@spt/models/eft/common/ILocationBase";
|
import { Exit, ILocationBase } from "@spt/models/eft/common/ILocationBase";
|
||||||
import { ILooseLoot } from "@spt/models/eft/common/ILooseLoot";
|
import { ILooseLoot } from "@spt/models/eft/common/ILooseLoot";
|
||||||
import { Ixyz } from "./Ixyz";
|
import { Ixyz } from "@spt/models/eft/common/Ixyz";
|
||||||
import { Item } from "./tables/IItem";
|
import { Item } from "@spt/models/eft/common/tables/IItem";
|
||||||
|
|
||||||
export interface ILocation
|
export interface ILocation
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { IQuestConditionTypes, IQuestRewards } from "./IQuest";
|
import { IQuestConditionTypes, IQuestRewards } from "@spt/models/eft/common/tables/IQuest";
|
||||||
|
|
||||||
export interface IAchievement
|
export interface IAchievement
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { IQuest, IQuestConditionTypes, IQuestRewards } from "./IQuest";
|
import { IQuest, IQuestConditionTypes, IQuestRewards } from "@spt/models/eft/common/tables/IQuest";
|
||||||
|
|
||||||
export interface IRepeatableQuest extends IQuest
|
export interface IRepeatableQuest extends IQuest
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { Item } from "../common/tables/IItem";
|
import { Item } from "@spt/models/eft/common/tables/IItem";
|
||||||
|
|
||||||
export interface IItemDeliveryRequestData
|
export interface IItemDeliveryRequestData
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { Item } from "../common/tables/IItem";
|
import { Item } from "@spt/models/eft/common/tables/IItem";
|
||||||
|
|
||||||
export interface IAddItemDirectRequest
|
export interface IAddItemDirectRequest
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { Item } from "../common/tables/IItem";
|
import { Item } from "@spt/models/eft/common/tables/IItem";
|
||||||
|
|
||||||
export interface IAddItemsDirectRequest
|
export interface IAddItemsDirectRequest
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { IInventoryBaseActionRequestData } from "./IInventoryBaseActionRequestData";
|
import { IInventoryBaseActionRequestData } from "@spt/models/eft/inventory/IInventoryBaseActionRequestData";
|
||||||
|
|
||||||
export interface IRedeemProfileRequestData extends IInventoryBaseActionRequestData
|
export interface IRedeemProfileRequestData extends IInventoryBaseActionRequestData
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { IInventoryBaseActionRequestData } from "./IInventoryBaseActionRequestData";
|
import { IInventoryBaseActionRequestData } from "@spt/models/eft/inventory/IInventoryBaseActionRequestData";
|
||||||
|
|
||||||
export interface ISetFavoriteItems extends IInventoryBaseActionRequestData
|
export interface ISetFavoriteItems extends IInventoryBaseActionRequestData
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { IAchievement } from "../common/tables/IAchievement";
|
import { IAchievement } from "@spt/models/eft/common/tables/IAchievement";
|
||||||
|
|
||||||
export interface IGetAchievementsResponse
|
export interface IGetAchievementsResponse
|
||||||
{
|
{
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
|
import { IGroupCharacter } from "@spt/models/eft/match/IGroupCharacter";
|
||||||
import { Message } from "@spt/models/eft/profile/ISptProfile";
|
import { Message } from "@spt/models/eft/profile/ISptProfile";
|
||||||
import { IWsNotificationEvent } from "@spt/models/eft/ws/IWsNotificationEvent";
|
import { IWsNotificationEvent } from "@spt/models/eft/ws/IWsNotificationEvent";
|
||||||
import { IGroupCharacter } from "../match/IGroupCharacter";
|
|
||||||
|
|
||||||
export interface IWsChatMessageReceived extends IWsNotificationEvent
|
export interface IWsChatMessageReceived extends IWsNotificationEvent
|
||||||
{
|
{
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
|
import { IGroupCharacter } from "@spt/models/eft/match/IGroupCharacter";
|
||||||
import { IWsNotificationEvent } from "@spt/models/eft/ws/IWsNotificationEvent";
|
import { IWsNotificationEvent } from "@spt/models/eft/ws/IWsNotificationEvent";
|
||||||
import { IGroupCharacter } from "../match/IGroupCharacter";
|
|
||||||
|
|
||||||
export interface IWsGroupMatchInviteAccept extends IWsNotificationEvent, IGroupCharacter
|
export interface IWsGroupMatchInviteAccept extends IWsNotificationEvent, IGroupCharacter
|
||||||
{}
|
{}
|
||||||
|
24
project/src/models/spt/bots/IGenerateEquipmentProperties.ts
Normal file
24
project/src/models/spt/bots/IGenerateEquipmentProperties.ts
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
import { Inventory as PmcInventory } from "@spt/models/eft/common/tables/IBotBase";
|
||||||
|
import { Chances, Mods } from "@spt/models/eft/common/tables/IBotType";
|
||||||
|
import { EquipmentFilters, RandomisationDetails } from "@spt/models/spt/config/IBotConfig";
|
||||||
|
|
||||||
|
export interface IGenerateEquipmentProperties
|
||||||
|
{
|
||||||
|
/** Root Slot being generated */
|
||||||
|
rootEquipmentSlot: string
|
||||||
|
/** Equipment pool for root slot being generated */
|
||||||
|
rootEquipmentPool: Record<string, number>
|
||||||
|
modPool: Mods
|
||||||
|
/** Dictionary of mod items and their chance to spawn for this bot type */
|
||||||
|
spawnChances: Chances
|
||||||
|
/** Role being generated for */
|
||||||
|
botRole: string
|
||||||
|
/** Level of bot being generated */
|
||||||
|
botLevel: number
|
||||||
|
inventory: PmcInventory
|
||||||
|
botEquipmentConfig: EquipmentFilters
|
||||||
|
/** Settings from bot.json to adjust how item is generated */
|
||||||
|
randomisationDetails: RandomisationDetails
|
||||||
|
/** OPTIONAL - Do not generate mods for tpls in this array */
|
||||||
|
generateModsBlacklist?: string[]
|
||||||
|
}
|
@ -1,5 +1,5 @@
|
|||||||
import { MinMax } from "@spt/models/common/MinMax";
|
import { MinMax } from "@spt/models/common/MinMax";
|
||||||
import { IBaseConfig } from "./IBaseConfig";
|
import { IBaseConfig } from "@spt/models/spt/config/IBaseConfig";
|
||||||
|
|
||||||
export interface IBTRConfig extends IBaseConfig
|
export interface IBTRConfig extends IBaseConfig
|
||||||
{
|
{
|
||||||
|
@ -4,7 +4,7 @@ import { GiftSenderType } from "@spt/models/enums/GiftSenderType";
|
|||||||
import { SeasonalEventType } from "@spt/models/enums/SeasonalEventType";
|
import { SeasonalEventType } from "@spt/models/enums/SeasonalEventType";
|
||||||
import { Traders } from "@spt/models/enums/Traders";
|
import { Traders } from "@spt/models/enums/Traders";
|
||||||
import { IBaseConfig } from "@spt/models/spt/config/IBaseConfig";
|
import { IBaseConfig } from "@spt/models/spt/config/IBaseConfig";
|
||||||
import { IProfileChangeEvent } from "../dialog/ISendMessageDetails";
|
import { IProfileChangeEvent } from "@spt/models/spt/dialog/ISendMessageDetails";
|
||||||
|
|
||||||
export interface IGiftsConfig extends IBaseConfig
|
export interface IGiftsConfig extends IBaseConfig
|
||||||
{
|
{
|
||||||
|
@ -4,11 +4,11 @@ import { ISptProfile, Info } from "@spt/models/eft/profile/ISptProfile";
|
|||||||
import { ConfigTypes } from "@spt/models/enums/ConfigTypes";
|
import { ConfigTypes } from "@spt/models/enums/ConfigTypes";
|
||||||
import { ICoreConfig } from "@spt/models/spt/config/ICoreConfig";
|
import { ICoreConfig } from "@spt/models/spt/config/ICoreConfig";
|
||||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||||
|
import { ConfigServer } from "@spt/servers/ConfigServer";
|
||||||
import { LocalisationService } from "@spt/services/LocalisationService";
|
import { LocalisationService } from "@spt/services/LocalisationService";
|
||||||
import { HashUtil } from "@spt/utils/HashUtil";
|
import { HashUtil } from "@spt/utils/HashUtil";
|
||||||
import { JsonUtil } from "@spt/utils/JsonUtil";
|
import { JsonUtil } from "@spt/utils/JsonUtil";
|
||||||
import { VFS } from "@spt/utils/VFS";
|
import { VFS } from "@spt/utils/VFS";
|
||||||
import { ConfigServer } from "./ConfigServer";
|
|
||||||
|
|
||||||
@injectable()
|
@injectable()
|
||||||
export class SaveServer
|
export class SaveServer
|
||||||
|
@ -3,10 +3,10 @@ import { inject, injectAll, injectable } from "tsyringe";
|
|||||||
import { WebSocket, Server } from "ws";
|
import { WebSocket, Server } from "ws";
|
||||||
import { HttpServerHelper } from "@spt/helpers/HttpServerHelper";
|
import { HttpServerHelper } from "@spt/helpers/HttpServerHelper";
|
||||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||||
|
import { IWebSocketConnectionHandler } from "@spt/servers/ws/IWebSocketConnectionHandler";
|
||||||
import { LocalisationService } from "@spt/services/LocalisationService";
|
import { LocalisationService } from "@spt/services/LocalisationService";
|
||||||
import { JsonUtil } from "@spt/utils/JsonUtil";
|
import { JsonUtil } from "@spt/utils/JsonUtil";
|
||||||
import { RandomUtil } from "@spt/utils/RandomUtil";
|
import { RandomUtil } from "@spt/utils/RandomUtil";
|
||||||
import { IWebSocketConnectionHandler } from "./ws/IWebSocketConnectionHandler";
|
|
||||||
|
|
||||||
@injectable()
|
@injectable()
|
||||||
export class WebSocketServer
|
export class WebSocketServer
|
||||||
|
@ -9,9 +9,9 @@ import { IHttpConfig } from "@spt/models/spt/config/IHttpConfig";
|
|||||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||||
import { ConfigServer } from "@spt/servers/ConfigServer";
|
import { ConfigServer } from "@spt/servers/ConfigServer";
|
||||||
import { IWebSocketConnectionHandler } from "@spt/servers/ws/IWebSocketConnectionHandler";
|
import { IWebSocketConnectionHandler } from "@spt/servers/ws/IWebSocketConnectionHandler";
|
||||||
|
import { ISptWebSocketMessageHandler } from "@spt/servers/ws/message/ISptWebSocketMessageHandler";
|
||||||
import { LocalisationService } from "@spt/services/LocalisationService";
|
import { LocalisationService } from "@spt/services/LocalisationService";
|
||||||
import { JsonUtil } from "@spt/utils/JsonUtil";
|
import { JsonUtil } from "@spt/utils/JsonUtil";
|
||||||
import { ISptWebSocketMessageHandler } from "./message/ISptWebSocketMessageHandler";
|
|
||||||
|
|
||||||
@injectable()
|
@injectable()
|
||||||
export class SptWebSocketConnectionHandler implements IWebSocketConnectionHandler
|
export class SptWebSocketConnectionHandler implements IWebSocketConnectionHandler
|
||||||
|
@ -20,7 +20,7 @@ import { ISettingsBase } from "@spt/models/spt/server/ISettingsBase";
|
|||||||
import { ITemplates } from "@spt/models/spt/templates/ITemplates";
|
import { ITemplates } from "@spt/models/spt/templates/ITemplates";
|
||||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||||
import { DatabaseServer } from "@spt/servers/DatabaseServer";
|
import { DatabaseServer } from "@spt/servers/DatabaseServer";
|
||||||
import { LocalisationService } from "./LocalisationService";
|
import { LocalisationService } from "@spt/services/LocalisationService";
|
||||||
|
|
||||||
@injectable()
|
@injectable()
|
||||||
export class DatabaseService
|
export class DatabaseService
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { LinkedListNode } from "./Nodes";
|
import { LinkedListNode } from "@spt/utils/collections/lists/Nodes";
|
||||||
|
|
||||||
export class LinkedList<T>
|
export class LinkedList<T>
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { LinkedList } from "../lists/LinkedList";
|
import { LinkedList } from "@spt/utils/collections/lists/LinkedList";
|
||||||
|
|
||||||
export class Queue<T>
|
export class Queue<T>
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user