Updated types
This commit is contained in:
parent
43e6e21516
commit
e23289e57e
@ -148,11 +148,12 @@ export declare class RepeatableQuestController {
|
|||||||
changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse;
|
changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse;
|
||||||
protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest;
|
protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest;
|
||||||
/**
|
/**
|
||||||
* Some accounts have access to repeatable quest refreshes for free
|
* Some accounts have access to free repeatable quest refreshes
|
||||||
* Track the usage of them inside players profile
|
* Track the usage of them inside players profile
|
||||||
* @param fullProfile Profile of player
|
* @param fullProfile Player profile
|
||||||
* @param repeatableSubType Can be daily/weekly/scav repeatables
|
* @param repeatableSubType Can be daily / weekly / scav repeatable
|
||||||
* @param repeatableTypeName Subtype of repeatables: daily / weekly / scav
|
* @param repeatableTypeName Subtype of repeatable quest: daily / weekly / scav
|
||||||
|
* @returns Is the repeatable being replaced for free
|
||||||
*/
|
*/
|
||||||
protected handleFreeRefreshUses(fullProfile: ISptProfile, repeatableSubType: IPmcDataRepeatableQuest, repeatableTypeName: string): void;
|
protected useFreeRefreshIfAvailable(fullProfile: ISptProfile, repeatableSubType: IPmcDataRepeatableQuest, repeatableTypeName: string): boolean;
|
||||||
}
|
}
|
||||||
|
@ -170,7 +170,7 @@ export declare class RagfairOfferGenerator {
|
|||||||
* @param tpl Item to look for matching condition object
|
* @param tpl Item to look for matching condition object
|
||||||
* @returns condition id
|
* @returns condition id
|
||||||
*/
|
*/
|
||||||
protected getDynamicConditionIdForTpl(tpl: string): string;
|
protected getDynamicConditionIdForTpl(tpl: string): string | undefined;
|
||||||
/**
|
/**
|
||||||
* Alter an items condition based on its item base type
|
* Alter an items condition based on its item base type
|
||||||
* @param conditionSettingsId also the parentId of item being altered
|
* @param conditionSettingsId also the parentId of item being altered
|
||||||
|
@ -22,12 +22,12 @@ export declare class HealthHelper {
|
|||||||
*/
|
*/
|
||||||
resetVitality(sessionID: string): ISptProfile;
|
resetVitality(sessionID: string): ISptProfile;
|
||||||
/**
|
/**
|
||||||
* Update player profile with changes from request object
|
* Update player profile vitality values with changes from client request object
|
||||||
* @param pmcData Player profile
|
* @param pmcData Player profile
|
||||||
* @param request Heal request
|
* @param request Heal request
|
||||||
* @param sessionID Session id
|
* @param sessionID Session id
|
||||||
* @param addEffects Should effects be added or removed (default - add)
|
* @param addEffects Should effects be added to profile (default - true)
|
||||||
* @param deleteExistingEffects Should all prior effects be removed before apply new ones
|
* @param deleteExistingEffects Should all prior effects be removed before apply new ones (default - true)
|
||||||
*/
|
*/
|
||||||
saveVitality(pmcData: IPmcData, request: ISyncHealthRequestData, sessionID: string, addEffects?: boolean, deleteExistingEffects?: boolean): void;
|
saveVitality(pmcData: IPmcData, request: ISyncHealthRequestData, sessionID: string, addEffects?: boolean, deleteExistingEffects?: boolean): void;
|
||||||
/**
|
/**
|
||||||
|
@ -9,9 +9,7 @@ import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
|||||||
import { Inventory } from "@spt/models/eft/common/tables/IBotBase";
|
import { Inventory } from "@spt/models/eft/common/tables/IBotBase";
|
||||||
import { Item, Upd } from "@spt/models/eft/common/tables/IItem";
|
import { Item, Upd } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { IAddItemDirectRequest } from "@spt/models/eft/inventory/IAddItemDirectRequest";
|
import { IAddItemDirectRequest } from "@spt/models/eft/inventory/IAddItemDirectRequest";
|
||||||
import { AddItem } from "@spt/models/eft/inventory/IAddItemRequestData";
|
|
||||||
import { IAddItemsDirectRequest } from "@spt/models/eft/inventory/IAddItemsDirectRequest";
|
import { IAddItemsDirectRequest } from "@spt/models/eft/inventory/IAddItemsDirectRequest";
|
||||||
import { IAddItemTempObject } from "@spt/models/eft/inventory/IAddItemTempObject";
|
|
||||||
import { IInventoryMergeRequestData } from "@spt/models/eft/inventory/IInventoryMergeRequestData";
|
import { IInventoryMergeRequestData } from "@spt/models/eft/inventory/IInventoryMergeRequestData";
|
||||||
import { IInventoryMoveRequestData } from "@spt/models/eft/inventory/IInventoryMoveRequestData";
|
import { IInventoryMoveRequestData } from "@spt/models/eft/inventory/IInventoryMoveRequestData";
|
||||||
import { IInventoryRemoveRequestData } from "@spt/models/eft/inventory/IInventoryRemoveRequestData";
|
import { IInventoryRemoveRequestData } from "@spt/models/eft/inventory/IInventoryRemoveRequestData";
|
||||||
@ -106,19 +104,12 @@ export declare class InventoryHelper {
|
|||||||
* Find a location to place an item into inventory and place it
|
* Find a location to place an item into inventory and place it
|
||||||
* @param stashFS2D 2-dimensional representation of the container slots
|
* @param stashFS2D 2-dimensional representation of the container slots
|
||||||
* @param sortingTableFS2D 2-dimensional representation of the sorting table slots
|
* @param sortingTableFS2D 2-dimensional representation of the sorting table slots
|
||||||
* @param itemWithChildren Item to place
|
* @param itemWithChildren Item to place with children
|
||||||
* @param playerInventory
|
* @param playerInventory Players inventory
|
||||||
* @param useSortingTable Should sorting table to be used if main stash has no space
|
* @param useSortingTable Should sorting table to be used if main stash has no space
|
||||||
* @param output output to send back to client
|
* @param output output to send back to client
|
||||||
*/
|
*/
|
||||||
protected placeItemInInventory(stashFS2D: number[][], sortingTableFS2D: number[][], itemWithChildren: Item[], playerInventory: Inventory, useSortingTable: boolean, output: IItemEventRouterResponse): void;
|
protected placeItemInInventory(stashFS2D: number[][], sortingTableFS2D: number[][], itemWithChildren: Item[], playerInventory: Inventory, useSortingTable: boolean, output: IItemEventRouterResponse): void;
|
||||||
/**
|
|
||||||
* Split an items stack size based on its StackMaxSize value
|
|
||||||
* @param assortItems Items to add to inventory
|
|
||||||
* @param requestItem Details of purchased item to add to inventory
|
|
||||||
* @param result Array split stacks are appended to
|
|
||||||
*/
|
|
||||||
protected splitStackIntoSmallerChildStacks(assortItems: Item[], requestItem: AddItem, result: IAddItemTempObject[]): void;
|
|
||||||
/**
|
/**
|
||||||
* Handle Remove event
|
* Handle Remove event
|
||||||
* Remove item from player inventory + insured items array
|
* Remove item from player inventory + insured items array
|
||||||
@ -154,6 +145,14 @@ export declare class InventoryHelper {
|
|||||||
* @returns [width, height]
|
* @returns [width, height]
|
||||||
*/
|
*/
|
||||||
getItemSize(itemTpl: string, itemID: string, inventoryItems: Item[]): number[];
|
getItemSize(itemTpl: string, itemID: string, inventoryItems: Item[]): number[];
|
||||||
|
/**
|
||||||
|
* Calculates the size of an item including attachements
|
||||||
|
* takes into account if item is folded
|
||||||
|
* @param itemTpl Items template id
|
||||||
|
* @param itemID Items id
|
||||||
|
* @param inventoryItemHash Hashmap of inventory items
|
||||||
|
* @returns An array representing the [width, height] of the item
|
||||||
|
*/
|
||||||
protected getSizeByInventoryItemHash(itemTpl: string, itemID: string, inventoryItemHash: InventoryHelper.InventoryItemHash): number[];
|
protected getSizeByInventoryItemHash(itemTpl: string, itemID: string, inventoryItemHash: InventoryHelper.InventoryItemHash): number[];
|
||||||
/**
|
/**
|
||||||
* Get a blank two-dimentional representation of a container
|
* Get a blank two-dimentional representation of a container
|
||||||
|
@ -27,7 +27,8 @@ export interface FenceConfig {
|
|||||||
presetPriceMult: number;
|
presetPriceMult: number;
|
||||||
armorMaxDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
armorMaxDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
||||||
weaponDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
weaponDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
||||||
chancePlateExistsInArmorPercent: number;
|
/** Keyed to plate protection level */
|
||||||
|
chancePlateExistsInArmorPercent: Record<string, number>;
|
||||||
/** Key: item tpl */
|
/** Key: item tpl */
|
||||||
itemStackSizeOverrideMinMax: Record<string, MinMax>;
|
itemStackSizeOverrideMinMax: Record<string, MinMax>;
|
||||||
itemTypeLimits: Record<string, number>;
|
itemTypeLimits: Record<string, number>;
|
||||||
|
@ -4,7 +4,7 @@ import { PresetHelper } from "@spt/helpers/PresetHelper";
|
|||||||
import { IFenceLevel } from "@spt/models/eft/common/IGlobals";
|
import { IFenceLevel } from "@spt/models/eft/common/IGlobals";
|
||||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||||
import { Item, Repairable } from "@spt/models/eft/common/tables/IItem";
|
import { Item, Repairable } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
import { ITemplateItem, Slot } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||||
import { IBarterScheme, ITraderAssort } from "@spt/models/eft/common/tables/ITrader";
|
import { IBarterScheme, ITraderAssort } from "@spt/models/eft/common/tables/ITrader";
|
||||||
import { IItemDurabilityCurrentMax, ITraderConfig } from "@spt/models/spt/config/ITraderConfig";
|
import { IItemDurabilityCurrentMax, ITraderConfig } from "@spt/models/spt/config/ITraderConfig";
|
||||||
import { ICreateFenceAssortsResult } from "@spt/models/spt/fence/ICreateFenceAssortsResult";
|
import { ICreateFenceAssortsResult } from "@spt/models/spt/fence/ICreateFenceAssortsResult";
|
||||||
@ -254,6 +254,19 @@ export declare class FenceService {
|
|||||||
* @param itemDbDetails Armor items db template
|
* @param itemDbDetails Armor items db template
|
||||||
*/
|
*/
|
||||||
protected randomiseArmorModDurability(armor: Item[], itemDbDetails: ITemplateItem): void;
|
protected randomiseArmorModDurability(armor: Item[], itemDbDetails: ITemplateItem): void;
|
||||||
|
/**
|
||||||
|
* Randomise the durability values of items on armor with a passed in slot
|
||||||
|
* @param softInsertSlots Slots of items to randomise
|
||||||
|
* @param armorItemAndMods Array of armor + inserts to get items from
|
||||||
|
*/
|
||||||
|
protected randomiseArmorSoftInsertDurabilities(softInsertSlots: Slot[], armorItemAndMods: Item[]): void;
|
||||||
|
/**
|
||||||
|
* Randomise the durability values of plate items in armor
|
||||||
|
* Has chance to remove plate
|
||||||
|
* @param plateSlots Slots of items to randomise
|
||||||
|
* @param armorItemAndMods Array of armor + inserts to get items from
|
||||||
|
*/
|
||||||
|
protected randomiseArmorInsertsDurabilities(plateSlots: Slot[], armorItemAndMods: Item[]): void;
|
||||||
/**
|
/**
|
||||||
* Get stack size of a singular item (no mods)
|
* Get stack size of a singular item (no mods)
|
||||||
* @param itemDbDetails item being added to fence
|
* @param itemDbDetails item being added to fence
|
||||||
|
@ -148,11 +148,12 @@ export declare class RepeatableQuestController {
|
|||||||
changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse;
|
changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse;
|
||||||
protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest;
|
protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest;
|
||||||
/**
|
/**
|
||||||
* Some accounts have access to repeatable quest refreshes for free
|
* Some accounts have access to free repeatable quest refreshes
|
||||||
* Track the usage of them inside players profile
|
* Track the usage of them inside players profile
|
||||||
* @param fullProfile Profile of player
|
* @param fullProfile Player profile
|
||||||
* @param repeatableSubType Can be daily/weekly/scav repeatables
|
* @param repeatableSubType Can be daily / weekly / scav repeatable
|
||||||
* @param repeatableTypeName Subtype of repeatables: daily / weekly / scav
|
* @param repeatableTypeName Subtype of repeatable quest: daily / weekly / scav
|
||||||
|
* @returns Is the repeatable being replaced for free
|
||||||
*/
|
*/
|
||||||
protected handleFreeRefreshUses(fullProfile: ISptProfile, repeatableSubType: IPmcDataRepeatableQuest, repeatableTypeName: string): void;
|
protected useFreeRefreshIfAvailable(fullProfile: ISptProfile, repeatableSubType: IPmcDataRepeatableQuest, repeatableTypeName: string): boolean;
|
||||||
}
|
}
|
||||||
|
@ -170,7 +170,7 @@ export declare class RagfairOfferGenerator {
|
|||||||
* @param tpl Item to look for matching condition object
|
* @param tpl Item to look for matching condition object
|
||||||
* @returns condition id
|
* @returns condition id
|
||||||
*/
|
*/
|
||||||
protected getDynamicConditionIdForTpl(tpl: string): string;
|
protected getDynamicConditionIdForTpl(tpl: string): string | undefined;
|
||||||
/**
|
/**
|
||||||
* Alter an items condition based on its item base type
|
* Alter an items condition based on its item base type
|
||||||
* @param conditionSettingsId also the parentId of item being altered
|
* @param conditionSettingsId also the parentId of item being altered
|
||||||
|
@ -22,12 +22,12 @@ export declare class HealthHelper {
|
|||||||
*/
|
*/
|
||||||
resetVitality(sessionID: string): ISptProfile;
|
resetVitality(sessionID: string): ISptProfile;
|
||||||
/**
|
/**
|
||||||
* Update player profile with changes from request object
|
* Update player profile vitality values with changes from client request object
|
||||||
* @param pmcData Player profile
|
* @param pmcData Player profile
|
||||||
* @param request Heal request
|
* @param request Heal request
|
||||||
* @param sessionID Session id
|
* @param sessionID Session id
|
||||||
* @param addEffects Should effects be added or removed (default - add)
|
* @param addEffects Should effects be added to profile (default - true)
|
||||||
* @param deleteExistingEffects Should all prior effects be removed before apply new ones
|
* @param deleteExistingEffects Should all prior effects be removed before apply new ones (default - true)
|
||||||
*/
|
*/
|
||||||
saveVitality(pmcData: IPmcData, request: ISyncHealthRequestData, sessionID: string, addEffects?: boolean, deleteExistingEffects?: boolean): void;
|
saveVitality(pmcData: IPmcData, request: ISyncHealthRequestData, sessionID: string, addEffects?: boolean, deleteExistingEffects?: boolean): void;
|
||||||
/**
|
/**
|
||||||
|
@ -9,9 +9,7 @@ import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
|||||||
import { Inventory } from "@spt/models/eft/common/tables/IBotBase";
|
import { Inventory } from "@spt/models/eft/common/tables/IBotBase";
|
||||||
import { Item, Upd } from "@spt/models/eft/common/tables/IItem";
|
import { Item, Upd } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { IAddItemDirectRequest } from "@spt/models/eft/inventory/IAddItemDirectRequest";
|
import { IAddItemDirectRequest } from "@spt/models/eft/inventory/IAddItemDirectRequest";
|
||||||
import { AddItem } from "@spt/models/eft/inventory/IAddItemRequestData";
|
|
||||||
import { IAddItemsDirectRequest } from "@spt/models/eft/inventory/IAddItemsDirectRequest";
|
import { IAddItemsDirectRequest } from "@spt/models/eft/inventory/IAddItemsDirectRequest";
|
||||||
import { IAddItemTempObject } from "@spt/models/eft/inventory/IAddItemTempObject";
|
|
||||||
import { IInventoryMergeRequestData } from "@spt/models/eft/inventory/IInventoryMergeRequestData";
|
import { IInventoryMergeRequestData } from "@spt/models/eft/inventory/IInventoryMergeRequestData";
|
||||||
import { IInventoryMoveRequestData } from "@spt/models/eft/inventory/IInventoryMoveRequestData";
|
import { IInventoryMoveRequestData } from "@spt/models/eft/inventory/IInventoryMoveRequestData";
|
||||||
import { IInventoryRemoveRequestData } from "@spt/models/eft/inventory/IInventoryRemoveRequestData";
|
import { IInventoryRemoveRequestData } from "@spt/models/eft/inventory/IInventoryRemoveRequestData";
|
||||||
@ -106,19 +104,12 @@ export declare class InventoryHelper {
|
|||||||
* Find a location to place an item into inventory and place it
|
* Find a location to place an item into inventory and place it
|
||||||
* @param stashFS2D 2-dimensional representation of the container slots
|
* @param stashFS2D 2-dimensional representation of the container slots
|
||||||
* @param sortingTableFS2D 2-dimensional representation of the sorting table slots
|
* @param sortingTableFS2D 2-dimensional representation of the sorting table slots
|
||||||
* @param itemWithChildren Item to place
|
* @param itemWithChildren Item to place with children
|
||||||
* @param playerInventory
|
* @param playerInventory Players inventory
|
||||||
* @param useSortingTable Should sorting table to be used if main stash has no space
|
* @param useSortingTable Should sorting table to be used if main stash has no space
|
||||||
* @param output output to send back to client
|
* @param output output to send back to client
|
||||||
*/
|
*/
|
||||||
protected placeItemInInventory(stashFS2D: number[][], sortingTableFS2D: number[][], itemWithChildren: Item[], playerInventory: Inventory, useSortingTable: boolean, output: IItemEventRouterResponse): void;
|
protected placeItemInInventory(stashFS2D: number[][], sortingTableFS2D: number[][], itemWithChildren: Item[], playerInventory: Inventory, useSortingTable: boolean, output: IItemEventRouterResponse): void;
|
||||||
/**
|
|
||||||
* Split an items stack size based on its StackMaxSize value
|
|
||||||
* @param assortItems Items to add to inventory
|
|
||||||
* @param requestItem Details of purchased item to add to inventory
|
|
||||||
* @param result Array split stacks are appended to
|
|
||||||
*/
|
|
||||||
protected splitStackIntoSmallerChildStacks(assortItems: Item[], requestItem: AddItem, result: IAddItemTempObject[]): void;
|
|
||||||
/**
|
/**
|
||||||
* Handle Remove event
|
* Handle Remove event
|
||||||
* Remove item from player inventory + insured items array
|
* Remove item from player inventory + insured items array
|
||||||
@ -154,6 +145,14 @@ export declare class InventoryHelper {
|
|||||||
* @returns [width, height]
|
* @returns [width, height]
|
||||||
*/
|
*/
|
||||||
getItemSize(itemTpl: string, itemID: string, inventoryItems: Item[]): number[];
|
getItemSize(itemTpl: string, itemID: string, inventoryItems: Item[]): number[];
|
||||||
|
/**
|
||||||
|
* Calculates the size of an item including attachements
|
||||||
|
* takes into account if item is folded
|
||||||
|
* @param itemTpl Items template id
|
||||||
|
* @param itemID Items id
|
||||||
|
* @param inventoryItemHash Hashmap of inventory items
|
||||||
|
* @returns An array representing the [width, height] of the item
|
||||||
|
*/
|
||||||
protected getSizeByInventoryItemHash(itemTpl: string, itemID: string, inventoryItemHash: InventoryHelper.InventoryItemHash): number[];
|
protected getSizeByInventoryItemHash(itemTpl: string, itemID: string, inventoryItemHash: InventoryHelper.InventoryItemHash): number[];
|
||||||
/**
|
/**
|
||||||
* Get a blank two-dimentional representation of a container
|
* Get a blank two-dimentional representation of a container
|
||||||
|
@ -27,7 +27,8 @@ export interface FenceConfig {
|
|||||||
presetPriceMult: number;
|
presetPriceMult: number;
|
||||||
armorMaxDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
armorMaxDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
||||||
weaponDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
weaponDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
||||||
chancePlateExistsInArmorPercent: number;
|
/** Keyed to plate protection level */
|
||||||
|
chancePlateExistsInArmorPercent: Record<string, number>;
|
||||||
/** Key: item tpl */
|
/** Key: item tpl */
|
||||||
itemStackSizeOverrideMinMax: Record<string, MinMax>;
|
itemStackSizeOverrideMinMax: Record<string, MinMax>;
|
||||||
itemTypeLimits: Record<string, number>;
|
itemTypeLimits: Record<string, number>;
|
||||||
|
@ -4,7 +4,7 @@ import { PresetHelper } from "@spt/helpers/PresetHelper";
|
|||||||
import { IFenceLevel } from "@spt/models/eft/common/IGlobals";
|
import { IFenceLevel } from "@spt/models/eft/common/IGlobals";
|
||||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||||
import { Item, Repairable } from "@spt/models/eft/common/tables/IItem";
|
import { Item, Repairable } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
import { ITemplateItem, Slot } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||||
import { IBarterScheme, ITraderAssort } from "@spt/models/eft/common/tables/ITrader";
|
import { IBarterScheme, ITraderAssort } from "@spt/models/eft/common/tables/ITrader";
|
||||||
import { IItemDurabilityCurrentMax, ITraderConfig } from "@spt/models/spt/config/ITraderConfig";
|
import { IItemDurabilityCurrentMax, ITraderConfig } from "@spt/models/spt/config/ITraderConfig";
|
||||||
import { ICreateFenceAssortsResult } from "@spt/models/spt/fence/ICreateFenceAssortsResult";
|
import { ICreateFenceAssortsResult } from "@spt/models/spt/fence/ICreateFenceAssortsResult";
|
||||||
@ -254,6 +254,19 @@ export declare class FenceService {
|
|||||||
* @param itemDbDetails Armor items db template
|
* @param itemDbDetails Armor items db template
|
||||||
*/
|
*/
|
||||||
protected randomiseArmorModDurability(armor: Item[], itemDbDetails: ITemplateItem): void;
|
protected randomiseArmorModDurability(armor: Item[], itemDbDetails: ITemplateItem): void;
|
||||||
|
/**
|
||||||
|
* Randomise the durability values of items on armor with a passed in slot
|
||||||
|
* @param softInsertSlots Slots of items to randomise
|
||||||
|
* @param armorItemAndMods Array of armor + inserts to get items from
|
||||||
|
*/
|
||||||
|
protected randomiseArmorSoftInsertDurabilities(softInsertSlots: Slot[], armorItemAndMods: Item[]): void;
|
||||||
|
/**
|
||||||
|
* Randomise the durability values of plate items in armor
|
||||||
|
* Has chance to remove plate
|
||||||
|
* @param plateSlots Slots of items to randomise
|
||||||
|
* @param armorItemAndMods Array of armor + inserts to get items from
|
||||||
|
*/
|
||||||
|
protected randomiseArmorInsertsDurabilities(plateSlots: Slot[], armorItemAndMods: Item[]): void;
|
||||||
/**
|
/**
|
||||||
* Get stack size of a singular item (no mods)
|
* Get stack size of a singular item (no mods)
|
||||||
* @param itemDbDetails item being added to fence
|
* @param itemDbDetails item being added to fence
|
||||||
|
@ -148,11 +148,12 @@ export declare class RepeatableQuestController {
|
|||||||
changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse;
|
changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse;
|
||||||
protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest;
|
protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest;
|
||||||
/**
|
/**
|
||||||
* Some accounts have access to repeatable quest refreshes for free
|
* Some accounts have access to free repeatable quest refreshes
|
||||||
* Track the usage of them inside players profile
|
* Track the usage of them inside players profile
|
||||||
* @param fullProfile Profile of player
|
* @param fullProfile Player profile
|
||||||
* @param repeatableSubType Can be daily/weekly/scav repeatables
|
* @param repeatableSubType Can be daily / weekly / scav repeatable
|
||||||
* @param repeatableTypeName Subtype of repeatables: daily / weekly / scav
|
* @param repeatableTypeName Subtype of repeatable quest: daily / weekly / scav
|
||||||
|
* @returns Is the repeatable being replaced for free
|
||||||
*/
|
*/
|
||||||
protected handleFreeRefreshUses(fullProfile: ISptProfile, repeatableSubType: IPmcDataRepeatableQuest, repeatableTypeName: string): void;
|
protected useFreeRefreshIfAvailable(fullProfile: ISptProfile, repeatableSubType: IPmcDataRepeatableQuest, repeatableTypeName: string): boolean;
|
||||||
}
|
}
|
||||||
|
@ -170,7 +170,7 @@ export declare class RagfairOfferGenerator {
|
|||||||
* @param tpl Item to look for matching condition object
|
* @param tpl Item to look for matching condition object
|
||||||
* @returns condition id
|
* @returns condition id
|
||||||
*/
|
*/
|
||||||
protected getDynamicConditionIdForTpl(tpl: string): string;
|
protected getDynamicConditionIdForTpl(tpl: string): string | undefined;
|
||||||
/**
|
/**
|
||||||
* Alter an items condition based on its item base type
|
* Alter an items condition based on its item base type
|
||||||
* @param conditionSettingsId also the parentId of item being altered
|
* @param conditionSettingsId also the parentId of item being altered
|
||||||
|
@ -22,12 +22,12 @@ export declare class HealthHelper {
|
|||||||
*/
|
*/
|
||||||
resetVitality(sessionID: string): ISptProfile;
|
resetVitality(sessionID: string): ISptProfile;
|
||||||
/**
|
/**
|
||||||
* Update player profile with changes from request object
|
* Update player profile vitality values with changes from client request object
|
||||||
* @param pmcData Player profile
|
* @param pmcData Player profile
|
||||||
* @param request Heal request
|
* @param request Heal request
|
||||||
* @param sessionID Session id
|
* @param sessionID Session id
|
||||||
* @param addEffects Should effects be added or removed (default - add)
|
* @param addEffects Should effects be added to profile (default - true)
|
||||||
* @param deleteExistingEffects Should all prior effects be removed before apply new ones
|
* @param deleteExistingEffects Should all prior effects be removed before apply new ones (default - true)
|
||||||
*/
|
*/
|
||||||
saveVitality(pmcData: IPmcData, request: ISyncHealthRequestData, sessionID: string, addEffects?: boolean, deleteExistingEffects?: boolean): void;
|
saveVitality(pmcData: IPmcData, request: ISyncHealthRequestData, sessionID: string, addEffects?: boolean, deleteExistingEffects?: boolean): void;
|
||||||
/**
|
/**
|
||||||
|
@ -9,9 +9,7 @@ import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
|||||||
import { Inventory } from "@spt/models/eft/common/tables/IBotBase";
|
import { Inventory } from "@spt/models/eft/common/tables/IBotBase";
|
||||||
import { Item, Upd } from "@spt/models/eft/common/tables/IItem";
|
import { Item, Upd } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { IAddItemDirectRequest } from "@spt/models/eft/inventory/IAddItemDirectRequest";
|
import { IAddItemDirectRequest } from "@spt/models/eft/inventory/IAddItemDirectRequest";
|
||||||
import { AddItem } from "@spt/models/eft/inventory/IAddItemRequestData";
|
|
||||||
import { IAddItemsDirectRequest } from "@spt/models/eft/inventory/IAddItemsDirectRequest";
|
import { IAddItemsDirectRequest } from "@spt/models/eft/inventory/IAddItemsDirectRequest";
|
||||||
import { IAddItemTempObject } from "@spt/models/eft/inventory/IAddItemTempObject";
|
|
||||||
import { IInventoryMergeRequestData } from "@spt/models/eft/inventory/IInventoryMergeRequestData";
|
import { IInventoryMergeRequestData } from "@spt/models/eft/inventory/IInventoryMergeRequestData";
|
||||||
import { IInventoryMoveRequestData } from "@spt/models/eft/inventory/IInventoryMoveRequestData";
|
import { IInventoryMoveRequestData } from "@spt/models/eft/inventory/IInventoryMoveRequestData";
|
||||||
import { IInventoryRemoveRequestData } from "@spt/models/eft/inventory/IInventoryRemoveRequestData";
|
import { IInventoryRemoveRequestData } from "@spt/models/eft/inventory/IInventoryRemoveRequestData";
|
||||||
@ -106,19 +104,12 @@ export declare class InventoryHelper {
|
|||||||
* Find a location to place an item into inventory and place it
|
* Find a location to place an item into inventory and place it
|
||||||
* @param stashFS2D 2-dimensional representation of the container slots
|
* @param stashFS2D 2-dimensional representation of the container slots
|
||||||
* @param sortingTableFS2D 2-dimensional representation of the sorting table slots
|
* @param sortingTableFS2D 2-dimensional representation of the sorting table slots
|
||||||
* @param itemWithChildren Item to place
|
* @param itemWithChildren Item to place with children
|
||||||
* @param playerInventory
|
* @param playerInventory Players inventory
|
||||||
* @param useSortingTable Should sorting table to be used if main stash has no space
|
* @param useSortingTable Should sorting table to be used if main stash has no space
|
||||||
* @param output output to send back to client
|
* @param output output to send back to client
|
||||||
*/
|
*/
|
||||||
protected placeItemInInventory(stashFS2D: number[][], sortingTableFS2D: number[][], itemWithChildren: Item[], playerInventory: Inventory, useSortingTable: boolean, output: IItemEventRouterResponse): void;
|
protected placeItemInInventory(stashFS2D: number[][], sortingTableFS2D: number[][], itemWithChildren: Item[], playerInventory: Inventory, useSortingTable: boolean, output: IItemEventRouterResponse): void;
|
||||||
/**
|
|
||||||
* Split an items stack size based on its StackMaxSize value
|
|
||||||
* @param assortItems Items to add to inventory
|
|
||||||
* @param requestItem Details of purchased item to add to inventory
|
|
||||||
* @param result Array split stacks are appended to
|
|
||||||
*/
|
|
||||||
protected splitStackIntoSmallerChildStacks(assortItems: Item[], requestItem: AddItem, result: IAddItemTempObject[]): void;
|
|
||||||
/**
|
/**
|
||||||
* Handle Remove event
|
* Handle Remove event
|
||||||
* Remove item from player inventory + insured items array
|
* Remove item from player inventory + insured items array
|
||||||
@ -154,6 +145,14 @@ export declare class InventoryHelper {
|
|||||||
* @returns [width, height]
|
* @returns [width, height]
|
||||||
*/
|
*/
|
||||||
getItemSize(itemTpl: string, itemID: string, inventoryItems: Item[]): number[];
|
getItemSize(itemTpl: string, itemID: string, inventoryItems: Item[]): number[];
|
||||||
|
/**
|
||||||
|
* Calculates the size of an item including attachements
|
||||||
|
* takes into account if item is folded
|
||||||
|
* @param itemTpl Items template id
|
||||||
|
* @param itemID Items id
|
||||||
|
* @param inventoryItemHash Hashmap of inventory items
|
||||||
|
* @returns An array representing the [width, height] of the item
|
||||||
|
*/
|
||||||
protected getSizeByInventoryItemHash(itemTpl: string, itemID: string, inventoryItemHash: InventoryHelper.InventoryItemHash): number[];
|
protected getSizeByInventoryItemHash(itemTpl: string, itemID: string, inventoryItemHash: InventoryHelper.InventoryItemHash): number[];
|
||||||
/**
|
/**
|
||||||
* Get a blank two-dimentional representation of a container
|
* Get a blank two-dimentional representation of a container
|
||||||
|
@ -27,7 +27,8 @@ export interface FenceConfig {
|
|||||||
presetPriceMult: number;
|
presetPriceMult: number;
|
||||||
armorMaxDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
armorMaxDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
||||||
weaponDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
weaponDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
||||||
chancePlateExistsInArmorPercent: number;
|
/** Keyed to plate protection level */
|
||||||
|
chancePlateExistsInArmorPercent: Record<string, number>;
|
||||||
/** Key: item tpl */
|
/** Key: item tpl */
|
||||||
itemStackSizeOverrideMinMax: Record<string, MinMax>;
|
itemStackSizeOverrideMinMax: Record<string, MinMax>;
|
||||||
itemTypeLimits: Record<string, number>;
|
itemTypeLimits: Record<string, number>;
|
||||||
|
@ -4,7 +4,7 @@ import { PresetHelper } from "@spt/helpers/PresetHelper";
|
|||||||
import { IFenceLevel } from "@spt/models/eft/common/IGlobals";
|
import { IFenceLevel } from "@spt/models/eft/common/IGlobals";
|
||||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||||
import { Item, Repairable } from "@spt/models/eft/common/tables/IItem";
|
import { Item, Repairable } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
import { ITemplateItem, Slot } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||||
import { IBarterScheme, ITraderAssort } from "@spt/models/eft/common/tables/ITrader";
|
import { IBarterScheme, ITraderAssort } from "@spt/models/eft/common/tables/ITrader";
|
||||||
import { IItemDurabilityCurrentMax, ITraderConfig } from "@spt/models/spt/config/ITraderConfig";
|
import { IItemDurabilityCurrentMax, ITraderConfig } from "@spt/models/spt/config/ITraderConfig";
|
||||||
import { ICreateFenceAssortsResult } from "@spt/models/spt/fence/ICreateFenceAssortsResult";
|
import { ICreateFenceAssortsResult } from "@spt/models/spt/fence/ICreateFenceAssortsResult";
|
||||||
@ -254,6 +254,19 @@ export declare class FenceService {
|
|||||||
* @param itemDbDetails Armor items db template
|
* @param itemDbDetails Armor items db template
|
||||||
*/
|
*/
|
||||||
protected randomiseArmorModDurability(armor: Item[], itemDbDetails: ITemplateItem): void;
|
protected randomiseArmorModDurability(armor: Item[], itemDbDetails: ITemplateItem): void;
|
||||||
|
/**
|
||||||
|
* Randomise the durability values of items on armor with a passed in slot
|
||||||
|
* @param softInsertSlots Slots of items to randomise
|
||||||
|
* @param armorItemAndMods Array of armor + inserts to get items from
|
||||||
|
*/
|
||||||
|
protected randomiseArmorSoftInsertDurabilities(softInsertSlots: Slot[], armorItemAndMods: Item[]): void;
|
||||||
|
/**
|
||||||
|
* Randomise the durability values of plate items in armor
|
||||||
|
* Has chance to remove plate
|
||||||
|
* @param plateSlots Slots of items to randomise
|
||||||
|
* @param armorItemAndMods Array of armor + inserts to get items from
|
||||||
|
*/
|
||||||
|
protected randomiseArmorInsertsDurabilities(plateSlots: Slot[], armorItemAndMods: Item[]): void;
|
||||||
/**
|
/**
|
||||||
* Get stack size of a singular item (no mods)
|
* Get stack size of a singular item (no mods)
|
||||||
* @param itemDbDetails item being added to fence
|
* @param itemDbDetails item being added to fence
|
||||||
|
@ -148,11 +148,12 @@ export declare class RepeatableQuestController {
|
|||||||
changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse;
|
changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse;
|
||||||
protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest;
|
protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest;
|
||||||
/**
|
/**
|
||||||
* Some accounts have access to repeatable quest refreshes for free
|
* Some accounts have access to free repeatable quest refreshes
|
||||||
* Track the usage of them inside players profile
|
* Track the usage of them inside players profile
|
||||||
* @param fullProfile Profile of player
|
* @param fullProfile Player profile
|
||||||
* @param repeatableSubType Can be daily/weekly/scav repeatables
|
* @param repeatableSubType Can be daily / weekly / scav repeatable
|
||||||
* @param repeatableTypeName Subtype of repeatables: daily / weekly / scav
|
* @param repeatableTypeName Subtype of repeatable quest: daily / weekly / scav
|
||||||
|
* @returns Is the repeatable being replaced for free
|
||||||
*/
|
*/
|
||||||
protected handleFreeRefreshUses(fullProfile: ISptProfile, repeatableSubType: IPmcDataRepeatableQuest, repeatableTypeName: string): void;
|
protected useFreeRefreshIfAvailable(fullProfile: ISptProfile, repeatableSubType: IPmcDataRepeatableQuest, repeatableTypeName: string): boolean;
|
||||||
}
|
}
|
||||||
|
@ -170,7 +170,7 @@ export declare class RagfairOfferGenerator {
|
|||||||
* @param tpl Item to look for matching condition object
|
* @param tpl Item to look for matching condition object
|
||||||
* @returns condition id
|
* @returns condition id
|
||||||
*/
|
*/
|
||||||
protected getDynamicConditionIdForTpl(tpl: string): string;
|
protected getDynamicConditionIdForTpl(tpl: string): string | undefined;
|
||||||
/**
|
/**
|
||||||
* Alter an items condition based on its item base type
|
* Alter an items condition based on its item base type
|
||||||
* @param conditionSettingsId also the parentId of item being altered
|
* @param conditionSettingsId also the parentId of item being altered
|
||||||
|
@ -22,12 +22,12 @@ export declare class HealthHelper {
|
|||||||
*/
|
*/
|
||||||
resetVitality(sessionID: string): ISptProfile;
|
resetVitality(sessionID: string): ISptProfile;
|
||||||
/**
|
/**
|
||||||
* Update player profile with changes from request object
|
* Update player profile vitality values with changes from client request object
|
||||||
* @param pmcData Player profile
|
* @param pmcData Player profile
|
||||||
* @param request Heal request
|
* @param request Heal request
|
||||||
* @param sessionID Session id
|
* @param sessionID Session id
|
||||||
* @param addEffects Should effects be added or removed (default - add)
|
* @param addEffects Should effects be added to profile (default - true)
|
||||||
* @param deleteExistingEffects Should all prior effects be removed before apply new ones
|
* @param deleteExistingEffects Should all prior effects be removed before apply new ones (default - true)
|
||||||
*/
|
*/
|
||||||
saveVitality(pmcData: IPmcData, request: ISyncHealthRequestData, sessionID: string, addEffects?: boolean, deleteExistingEffects?: boolean): void;
|
saveVitality(pmcData: IPmcData, request: ISyncHealthRequestData, sessionID: string, addEffects?: boolean, deleteExistingEffects?: boolean): void;
|
||||||
/**
|
/**
|
||||||
|
@ -9,9 +9,7 @@ import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
|||||||
import { Inventory } from "@spt/models/eft/common/tables/IBotBase";
|
import { Inventory } from "@spt/models/eft/common/tables/IBotBase";
|
||||||
import { Item, Upd } from "@spt/models/eft/common/tables/IItem";
|
import { Item, Upd } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { IAddItemDirectRequest } from "@spt/models/eft/inventory/IAddItemDirectRequest";
|
import { IAddItemDirectRequest } from "@spt/models/eft/inventory/IAddItemDirectRequest";
|
||||||
import { AddItem } from "@spt/models/eft/inventory/IAddItemRequestData";
|
|
||||||
import { IAddItemsDirectRequest } from "@spt/models/eft/inventory/IAddItemsDirectRequest";
|
import { IAddItemsDirectRequest } from "@spt/models/eft/inventory/IAddItemsDirectRequest";
|
||||||
import { IAddItemTempObject } from "@spt/models/eft/inventory/IAddItemTempObject";
|
|
||||||
import { IInventoryMergeRequestData } from "@spt/models/eft/inventory/IInventoryMergeRequestData";
|
import { IInventoryMergeRequestData } from "@spt/models/eft/inventory/IInventoryMergeRequestData";
|
||||||
import { IInventoryMoveRequestData } from "@spt/models/eft/inventory/IInventoryMoveRequestData";
|
import { IInventoryMoveRequestData } from "@spt/models/eft/inventory/IInventoryMoveRequestData";
|
||||||
import { IInventoryRemoveRequestData } from "@spt/models/eft/inventory/IInventoryRemoveRequestData";
|
import { IInventoryRemoveRequestData } from "@spt/models/eft/inventory/IInventoryRemoveRequestData";
|
||||||
@ -106,19 +104,12 @@ export declare class InventoryHelper {
|
|||||||
* Find a location to place an item into inventory and place it
|
* Find a location to place an item into inventory and place it
|
||||||
* @param stashFS2D 2-dimensional representation of the container slots
|
* @param stashFS2D 2-dimensional representation of the container slots
|
||||||
* @param sortingTableFS2D 2-dimensional representation of the sorting table slots
|
* @param sortingTableFS2D 2-dimensional representation of the sorting table slots
|
||||||
* @param itemWithChildren Item to place
|
* @param itemWithChildren Item to place with children
|
||||||
* @param playerInventory
|
* @param playerInventory Players inventory
|
||||||
* @param useSortingTable Should sorting table to be used if main stash has no space
|
* @param useSortingTable Should sorting table to be used if main stash has no space
|
||||||
* @param output output to send back to client
|
* @param output output to send back to client
|
||||||
*/
|
*/
|
||||||
protected placeItemInInventory(stashFS2D: number[][], sortingTableFS2D: number[][], itemWithChildren: Item[], playerInventory: Inventory, useSortingTable: boolean, output: IItemEventRouterResponse): void;
|
protected placeItemInInventory(stashFS2D: number[][], sortingTableFS2D: number[][], itemWithChildren: Item[], playerInventory: Inventory, useSortingTable: boolean, output: IItemEventRouterResponse): void;
|
||||||
/**
|
|
||||||
* Split an items stack size based on its StackMaxSize value
|
|
||||||
* @param assortItems Items to add to inventory
|
|
||||||
* @param requestItem Details of purchased item to add to inventory
|
|
||||||
* @param result Array split stacks are appended to
|
|
||||||
*/
|
|
||||||
protected splitStackIntoSmallerChildStacks(assortItems: Item[], requestItem: AddItem, result: IAddItemTempObject[]): void;
|
|
||||||
/**
|
/**
|
||||||
* Handle Remove event
|
* Handle Remove event
|
||||||
* Remove item from player inventory + insured items array
|
* Remove item from player inventory + insured items array
|
||||||
@ -154,6 +145,14 @@ export declare class InventoryHelper {
|
|||||||
* @returns [width, height]
|
* @returns [width, height]
|
||||||
*/
|
*/
|
||||||
getItemSize(itemTpl: string, itemID: string, inventoryItems: Item[]): number[];
|
getItemSize(itemTpl: string, itemID: string, inventoryItems: Item[]): number[];
|
||||||
|
/**
|
||||||
|
* Calculates the size of an item including attachements
|
||||||
|
* takes into account if item is folded
|
||||||
|
* @param itemTpl Items template id
|
||||||
|
* @param itemID Items id
|
||||||
|
* @param inventoryItemHash Hashmap of inventory items
|
||||||
|
* @returns An array representing the [width, height] of the item
|
||||||
|
*/
|
||||||
protected getSizeByInventoryItemHash(itemTpl: string, itemID: string, inventoryItemHash: InventoryHelper.InventoryItemHash): number[];
|
protected getSizeByInventoryItemHash(itemTpl: string, itemID: string, inventoryItemHash: InventoryHelper.InventoryItemHash): number[];
|
||||||
/**
|
/**
|
||||||
* Get a blank two-dimentional representation of a container
|
* Get a blank two-dimentional representation of a container
|
||||||
|
@ -27,7 +27,8 @@ export interface FenceConfig {
|
|||||||
presetPriceMult: number;
|
presetPriceMult: number;
|
||||||
armorMaxDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
armorMaxDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
||||||
weaponDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
weaponDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
||||||
chancePlateExistsInArmorPercent: number;
|
/** Keyed to plate protection level */
|
||||||
|
chancePlateExistsInArmorPercent: Record<string, number>;
|
||||||
/** Key: item tpl */
|
/** Key: item tpl */
|
||||||
itemStackSizeOverrideMinMax: Record<string, MinMax>;
|
itemStackSizeOverrideMinMax: Record<string, MinMax>;
|
||||||
itemTypeLimits: Record<string, number>;
|
itemTypeLimits: Record<string, number>;
|
||||||
|
@ -4,7 +4,7 @@ import { PresetHelper } from "@spt/helpers/PresetHelper";
|
|||||||
import { IFenceLevel } from "@spt/models/eft/common/IGlobals";
|
import { IFenceLevel } from "@spt/models/eft/common/IGlobals";
|
||||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||||
import { Item, Repairable } from "@spt/models/eft/common/tables/IItem";
|
import { Item, Repairable } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
import { ITemplateItem, Slot } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||||
import { IBarterScheme, ITraderAssort } from "@spt/models/eft/common/tables/ITrader";
|
import { IBarterScheme, ITraderAssort } from "@spt/models/eft/common/tables/ITrader";
|
||||||
import { IItemDurabilityCurrentMax, ITraderConfig } from "@spt/models/spt/config/ITraderConfig";
|
import { IItemDurabilityCurrentMax, ITraderConfig } from "@spt/models/spt/config/ITraderConfig";
|
||||||
import { ICreateFenceAssortsResult } from "@spt/models/spt/fence/ICreateFenceAssortsResult";
|
import { ICreateFenceAssortsResult } from "@spt/models/spt/fence/ICreateFenceAssortsResult";
|
||||||
@ -254,6 +254,19 @@ export declare class FenceService {
|
|||||||
* @param itemDbDetails Armor items db template
|
* @param itemDbDetails Armor items db template
|
||||||
*/
|
*/
|
||||||
protected randomiseArmorModDurability(armor: Item[], itemDbDetails: ITemplateItem): void;
|
protected randomiseArmorModDurability(armor: Item[], itemDbDetails: ITemplateItem): void;
|
||||||
|
/**
|
||||||
|
* Randomise the durability values of items on armor with a passed in slot
|
||||||
|
* @param softInsertSlots Slots of items to randomise
|
||||||
|
* @param armorItemAndMods Array of armor + inserts to get items from
|
||||||
|
*/
|
||||||
|
protected randomiseArmorSoftInsertDurabilities(softInsertSlots: Slot[], armorItemAndMods: Item[]): void;
|
||||||
|
/**
|
||||||
|
* Randomise the durability values of plate items in armor
|
||||||
|
* Has chance to remove plate
|
||||||
|
* @param plateSlots Slots of items to randomise
|
||||||
|
* @param armorItemAndMods Array of armor + inserts to get items from
|
||||||
|
*/
|
||||||
|
protected randomiseArmorInsertsDurabilities(plateSlots: Slot[], armorItemAndMods: Item[]): void;
|
||||||
/**
|
/**
|
||||||
* Get stack size of a singular item (no mods)
|
* Get stack size of a singular item (no mods)
|
||||||
* @param itemDbDetails item being added to fence
|
* @param itemDbDetails item being added to fence
|
||||||
|
@ -148,11 +148,12 @@ export declare class RepeatableQuestController {
|
|||||||
changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse;
|
changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse;
|
||||||
protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest;
|
protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest;
|
||||||
/**
|
/**
|
||||||
* Some accounts have access to repeatable quest refreshes for free
|
* Some accounts have access to free repeatable quest refreshes
|
||||||
* Track the usage of them inside players profile
|
* Track the usage of them inside players profile
|
||||||
* @param fullProfile Profile of player
|
* @param fullProfile Player profile
|
||||||
* @param repeatableSubType Can be daily/weekly/scav repeatables
|
* @param repeatableSubType Can be daily / weekly / scav repeatable
|
||||||
* @param repeatableTypeName Subtype of repeatables: daily / weekly / scav
|
* @param repeatableTypeName Subtype of repeatable quest: daily / weekly / scav
|
||||||
|
* @returns Is the repeatable being replaced for free
|
||||||
*/
|
*/
|
||||||
protected handleFreeRefreshUses(fullProfile: ISptProfile, repeatableSubType: IPmcDataRepeatableQuest, repeatableTypeName: string): void;
|
protected useFreeRefreshIfAvailable(fullProfile: ISptProfile, repeatableSubType: IPmcDataRepeatableQuest, repeatableTypeName: string): boolean;
|
||||||
}
|
}
|
||||||
|
@ -170,7 +170,7 @@ export declare class RagfairOfferGenerator {
|
|||||||
* @param tpl Item to look for matching condition object
|
* @param tpl Item to look for matching condition object
|
||||||
* @returns condition id
|
* @returns condition id
|
||||||
*/
|
*/
|
||||||
protected getDynamicConditionIdForTpl(tpl: string): string;
|
protected getDynamicConditionIdForTpl(tpl: string): string | undefined;
|
||||||
/**
|
/**
|
||||||
* Alter an items condition based on its item base type
|
* Alter an items condition based on its item base type
|
||||||
* @param conditionSettingsId also the parentId of item being altered
|
* @param conditionSettingsId also the parentId of item being altered
|
||||||
|
@ -22,12 +22,12 @@ export declare class HealthHelper {
|
|||||||
*/
|
*/
|
||||||
resetVitality(sessionID: string): ISptProfile;
|
resetVitality(sessionID: string): ISptProfile;
|
||||||
/**
|
/**
|
||||||
* Update player profile with changes from request object
|
* Update player profile vitality values with changes from client request object
|
||||||
* @param pmcData Player profile
|
* @param pmcData Player profile
|
||||||
* @param request Heal request
|
* @param request Heal request
|
||||||
* @param sessionID Session id
|
* @param sessionID Session id
|
||||||
* @param addEffects Should effects be added or removed (default - add)
|
* @param addEffects Should effects be added to profile (default - true)
|
||||||
* @param deleteExistingEffects Should all prior effects be removed before apply new ones
|
* @param deleteExistingEffects Should all prior effects be removed before apply new ones (default - true)
|
||||||
*/
|
*/
|
||||||
saveVitality(pmcData: IPmcData, request: ISyncHealthRequestData, sessionID: string, addEffects?: boolean, deleteExistingEffects?: boolean): void;
|
saveVitality(pmcData: IPmcData, request: ISyncHealthRequestData, sessionID: string, addEffects?: boolean, deleteExistingEffects?: boolean): void;
|
||||||
/**
|
/**
|
||||||
|
@ -9,9 +9,7 @@ import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
|||||||
import { Inventory } from "@spt/models/eft/common/tables/IBotBase";
|
import { Inventory } from "@spt/models/eft/common/tables/IBotBase";
|
||||||
import { Item, Upd } from "@spt/models/eft/common/tables/IItem";
|
import { Item, Upd } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { IAddItemDirectRequest } from "@spt/models/eft/inventory/IAddItemDirectRequest";
|
import { IAddItemDirectRequest } from "@spt/models/eft/inventory/IAddItemDirectRequest";
|
||||||
import { AddItem } from "@spt/models/eft/inventory/IAddItemRequestData";
|
|
||||||
import { IAddItemsDirectRequest } from "@spt/models/eft/inventory/IAddItemsDirectRequest";
|
import { IAddItemsDirectRequest } from "@spt/models/eft/inventory/IAddItemsDirectRequest";
|
||||||
import { IAddItemTempObject } from "@spt/models/eft/inventory/IAddItemTempObject";
|
|
||||||
import { IInventoryMergeRequestData } from "@spt/models/eft/inventory/IInventoryMergeRequestData";
|
import { IInventoryMergeRequestData } from "@spt/models/eft/inventory/IInventoryMergeRequestData";
|
||||||
import { IInventoryMoveRequestData } from "@spt/models/eft/inventory/IInventoryMoveRequestData";
|
import { IInventoryMoveRequestData } from "@spt/models/eft/inventory/IInventoryMoveRequestData";
|
||||||
import { IInventoryRemoveRequestData } from "@spt/models/eft/inventory/IInventoryRemoveRequestData";
|
import { IInventoryRemoveRequestData } from "@spt/models/eft/inventory/IInventoryRemoveRequestData";
|
||||||
@ -106,19 +104,12 @@ export declare class InventoryHelper {
|
|||||||
* Find a location to place an item into inventory and place it
|
* Find a location to place an item into inventory and place it
|
||||||
* @param stashFS2D 2-dimensional representation of the container slots
|
* @param stashFS2D 2-dimensional representation of the container slots
|
||||||
* @param sortingTableFS2D 2-dimensional representation of the sorting table slots
|
* @param sortingTableFS2D 2-dimensional representation of the sorting table slots
|
||||||
* @param itemWithChildren Item to place
|
* @param itemWithChildren Item to place with children
|
||||||
* @param playerInventory
|
* @param playerInventory Players inventory
|
||||||
* @param useSortingTable Should sorting table to be used if main stash has no space
|
* @param useSortingTable Should sorting table to be used if main stash has no space
|
||||||
* @param output output to send back to client
|
* @param output output to send back to client
|
||||||
*/
|
*/
|
||||||
protected placeItemInInventory(stashFS2D: number[][], sortingTableFS2D: number[][], itemWithChildren: Item[], playerInventory: Inventory, useSortingTable: boolean, output: IItemEventRouterResponse): void;
|
protected placeItemInInventory(stashFS2D: number[][], sortingTableFS2D: number[][], itemWithChildren: Item[], playerInventory: Inventory, useSortingTable: boolean, output: IItemEventRouterResponse): void;
|
||||||
/**
|
|
||||||
* Split an items stack size based on its StackMaxSize value
|
|
||||||
* @param assortItems Items to add to inventory
|
|
||||||
* @param requestItem Details of purchased item to add to inventory
|
|
||||||
* @param result Array split stacks are appended to
|
|
||||||
*/
|
|
||||||
protected splitStackIntoSmallerChildStacks(assortItems: Item[], requestItem: AddItem, result: IAddItemTempObject[]): void;
|
|
||||||
/**
|
/**
|
||||||
* Handle Remove event
|
* Handle Remove event
|
||||||
* Remove item from player inventory + insured items array
|
* Remove item from player inventory + insured items array
|
||||||
@ -154,6 +145,14 @@ export declare class InventoryHelper {
|
|||||||
* @returns [width, height]
|
* @returns [width, height]
|
||||||
*/
|
*/
|
||||||
getItemSize(itemTpl: string, itemID: string, inventoryItems: Item[]): number[];
|
getItemSize(itemTpl: string, itemID: string, inventoryItems: Item[]): number[];
|
||||||
|
/**
|
||||||
|
* Calculates the size of an item including attachements
|
||||||
|
* takes into account if item is folded
|
||||||
|
* @param itemTpl Items template id
|
||||||
|
* @param itemID Items id
|
||||||
|
* @param inventoryItemHash Hashmap of inventory items
|
||||||
|
* @returns An array representing the [width, height] of the item
|
||||||
|
*/
|
||||||
protected getSizeByInventoryItemHash(itemTpl: string, itemID: string, inventoryItemHash: InventoryHelper.InventoryItemHash): number[];
|
protected getSizeByInventoryItemHash(itemTpl: string, itemID: string, inventoryItemHash: InventoryHelper.InventoryItemHash): number[];
|
||||||
/**
|
/**
|
||||||
* Get a blank two-dimentional representation of a container
|
* Get a blank two-dimentional representation of a container
|
||||||
|
@ -27,7 +27,8 @@ export interface FenceConfig {
|
|||||||
presetPriceMult: number;
|
presetPriceMult: number;
|
||||||
armorMaxDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
armorMaxDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
||||||
weaponDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
weaponDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
||||||
chancePlateExistsInArmorPercent: number;
|
/** Keyed to plate protection level */
|
||||||
|
chancePlateExistsInArmorPercent: Record<string, number>;
|
||||||
/** Key: item tpl */
|
/** Key: item tpl */
|
||||||
itemStackSizeOverrideMinMax: Record<string, MinMax>;
|
itemStackSizeOverrideMinMax: Record<string, MinMax>;
|
||||||
itemTypeLimits: Record<string, number>;
|
itemTypeLimits: Record<string, number>;
|
||||||
|
@ -4,7 +4,7 @@ import { PresetHelper } from "@spt/helpers/PresetHelper";
|
|||||||
import { IFenceLevel } from "@spt/models/eft/common/IGlobals";
|
import { IFenceLevel } from "@spt/models/eft/common/IGlobals";
|
||||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||||
import { Item, Repairable } from "@spt/models/eft/common/tables/IItem";
|
import { Item, Repairable } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
import { ITemplateItem, Slot } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||||
import { IBarterScheme, ITraderAssort } from "@spt/models/eft/common/tables/ITrader";
|
import { IBarterScheme, ITraderAssort } from "@spt/models/eft/common/tables/ITrader";
|
||||||
import { IItemDurabilityCurrentMax, ITraderConfig } from "@spt/models/spt/config/ITraderConfig";
|
import { IItemDurabilityCurrentMax, ITraderConfig } from "@spt/models/spt/config/ITraderConfig";
|
||||||
import { ICreateFenceAssortsResult } from "@spt/models/spt/fence/ICreateFenceAssortsResult";
|
import { ICreateFenceAssortsResult } from "@spt/models/spt/fence/ICreateFenceAssortsResult";
|
||||||
@ -254,6 +254,19 @@ export declare class FenceService {
|
|||||||
* @param itemDbDetails Armor items db template
|
* @param itemDbDetails Armor items db template
|
||||||
*/
|
*/
|
||||||
protected randomiseArmorModDurability(armor: Item[], itemDbDetails: ITemplateItem): void;
|
protected randomiseArmorModDurability(armor: Item[], itemDbDetails: ITemplateItem): void;
|
||||||
|
/**
|
||||||
|
* Randomise the durability values of items on armor with a passed in slot
|
||||||
|
* @param softInsertSlots Slots of items to randomise
|
||||||
|
* @param armorItemAndMods Array of armor + inserts to get items from
|
||||||
|
*/
|
||||||
|
protected randomiseArmorSoftInsertDurabilities(softInsertSlots: Slot[], armorItemAndMods: Item[]): void;
|
||||||
|
/**
|
||||||
|
* Randomise the durability values of plate items in armor
|
||||||
|
* Has chance to remove plate
|
||||||
|
* @param plateSlots Slots of items to randomise
|
||||||
|
* @param armorItemAndMods Array of armor + inserts to get items from
|
||||||
|
*/
|
||||||
|
protected randomiseArmorInsertsDurabilities(plateSlots: Slot[], armorItemAndMods: Item[]): void;
|
||||||
/**
|
/**
|
||||||
* Get stack size of a singular item (no mods)
|
* Get stack size of a singular item (no mods)
|
||||||
* @param itemDbDetails item being added to fence
|
* @param itemDbDetails item being added to fence
|
||||||
|
@ -148,11 +148,12 @@ export declare class RepeatableQuestController {
|
|||||||
changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse;
|
changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse;
|
||||||
protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest;
|
protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest;
|
||||||
/**
|
/**
|
||||||
* Some accounts have access to repeatable quest refreshes for free
|
* Some accounts have access to free repeatable quest refreshes
|
||||||
* Track the usage of them inside players profile
|
* Track the usage of them inside players profile
|
||||||
* @param fullProfile Profile of player
|
* @param fullProfile Player profile
|
||||||
* @param repeatableSubType Can be daily/weekly/scav repeatables
|
* @param repeatableSubType Can be daily / weekly / scav repeatable
|
||||||
* @param repeatableTypeName Subtype of repeatables: daily / weekly / scav
|
* @param repeatableTypeName Subtype of repeatable quest: daily / weekly / scav
|
||||||
|
* @returns Is the repeatable being replaced for free
|
||||||
*/
|
*/
|
||||||
protected handleFreeRefreshUses(fullProfile: ISptProfile, repeatableSubType: IPmcDataRepeatableQuest, repeatableTypeName: string): void;
|
protected useFreeRefreshIfAvailable(fullProfile: ISptProfile, repeatableSubType: IPmcDataRepeatableQuest, repeatableTypeName: string): boolean;
|
||||||
}
|
}
|
||||||
|
@ -170,7 +170,7 @@ export declare class RagfairOfferGenerator {
|
|||||||
* @param tpl Item to look for matching condition object
|
* @param tpl Item to look for matching condition object
|
||||||
* @returns condition id
|
* @returns condition id
|
||||||
*/
|
*/
|
||||||
protected getDynamicConditionIdForTpl(tpl: string): string;
|
protected getDynamicConditionIdForTpl(tpl: string): string | undefined;
|
||||||
/**
|
/**
|
||||||
* Alter an items condition based on its item base type
|
* Alter an items condition based on its item base type
|
||||||
* @param conditionSettingsId also the parentId of item being altered
|
* @param conditionSettingsId also the parentId of item being altered
|
||||||
|
@ -22,12 +22,12 @@ export declare class HealthHelper {
|
|||||||
*/
|
*/
|
||||||
resetVitality(sessionID: string): ISptProfile;
|
resetVitality(sessionID: string): ISptProfile;
|
||||||
/**
|
/**
|
||||||
* Update player profile with changes from request object
|
* Update player profile vitality values with changes from client request object
|
||||||
* @param pmcData Player profile
|
* @param pmcData Player profile
|
||||||
* @param request Heal request
|
* @param request Heal request
|
||||||
* @param sessionID Session id
|
* @param sessionID Session id
|
||||||
* @param addEffects Should effects be added or removed (default - add)
|
* @param addEffects Should effects be added to profile (default - true)
|
||||||
* @param deleteExistingEffects Should all prior effects be removed before apply new ones
|
* @param deleteExistingEffects Should all prior effects be removed before apply new ones (default - true)
|
||||||
*/
|
*/
|
||||||
saveVitality(pmcData: IPmcData, request: ISyncHealthRequestData, sessionID: string, addEffects?: boolean, deleteExistingEffects?: boolean): void;
|
saveVitality(pmcData: IPmcData, request: ISyncHealthRequestData, sessionID: string, addEffects?: boolean, deleteExistingEffects?: boolean): void;
|
||||||
/**
|
/**
|
||||||
|
@ -9,9 +9,7 @@ import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
|||||||
import { Inventory } from "@spt/models/eft/common/tables/IBotBase";
|
import { Inventory } from "@spt/models/eft/common/tables/IBotBase";
|
||||||
import { Item, Upd } from "@spt/models/eft/common/tables/IItem";
|
import { Item, Upd } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { IAddItemDirectRequest } from "@spt/models/eft/inventory/IAddItemDirectRequest";
|
import { IAddItemDirectRequest } from "@spt/models/eft/inventory/IAddItemDirectRequest";
|
||||||
import { AddItem } from "@spt/models/eft/inventory/IAddItemRequestData";
|
|
||||||
import { IAddItemsDirectRequest } from "@spt/models/eft/inventory/IAddItemsDirectRequest";
|
import { IAddItemsDirectRequest } from "@spt/models/eft/inventory/IAddItemsDirectRequest";
|
||||||
import { IAddItemTempObject } from "@spt/models/eft/inventory/IAddItemTempObject";
|
|
||||||
import { IInventoryMergeRequestData } from "@spt/models/eft/inventory/IInventoryMergeRequestData";
|
import { IInventoryMergeRequestData } from "@spt/models/eft/inventory/IInventoryMergeRequestData";
|
||||||
import { IInventoryMoveRequestData } from "@spt/models/eft/inventory/IInventoryMoveRequestData";
|
import { IInventoryMoveRequestData } from "@spt/models/eft/inventory/IInventoryMoveRequestData";
|
||||||
import { IInventoryRemoveRequestData } from "@spt/models/eft/inventory/IInventoryRemoveRequestData";
|
import { IInventoryRemoveRequestData } from "@spt/models/eft/inventory/IInventoryRemoveRequestData";
|
||||||
@ -106,19 +104,12 @@ export declare class InventoryHelper {
|
|||||||
* Find a location to place an item into inventory and place it
|
* Find a location to place an item into inventory and place it
|
||||||
* @param stashFS2D 2-dimensional representation of the container slots
|
* @param stashFS2D 2-dimensional representation of the container slots
|
||||||
* @param sortingTableFS2D 2-dimensional representation of the sorting table slots
|
* @param sortingTableFS2D 2-dimensional representation of the sorting table slots
|
||||||
* @param itemWithChildren Item to place
|
* @param itemWithChildren Item to place with children
|
||||||
* @param playerInventory
|
* @param playerInventory Players inventory
|
||||||
* @param useSortingTable Should sorting table to be used if main stash has no space
|
* @param useSortingTable Should sorting table to be used if main stash has no space
|
||||||
* @param output output to send back to client
|
* @param output output to send back to client
|
||||||
*/
|
*/
|
||||||
protected placeItemInInventory(stashFS2D: number[][], sortingTableFS2D: number[][], itemWithChildren: Item[], playerInventory: Inventory, useSortingTable: boolean, output: IItemEventRouterResponse): void;
|
protected placeItemInInventory(stashFS2D: number[][], sortingTableFS2D: number[][], itemWithChildren: Item[], playerInventory: Inventory, useSortingTable: boolean, output: IItemEventRouterResponse): void;
|
||||||
/**
|
|
||||||
* Split an items stack size based on its StackMaxSize value
|
|
||||||
* @param assortItems Items to add to inventory
|
|
||||||
* @param requestItem Details of purchased item to add to inventory
|
|
||||||
* @param result Array split stacks are appended to
|
|
||||||
*/
|
|
||||||
protected splitStackIntoSmallerChildStacks(assortItems: Item[], requestItem: AddItem, result: IAddItemTempObject[]): void;
|
|
||||||
/**
|
/**
|
||||||
* Handle Remove event
|
* Handle Remove event
|
||||||
* Remove item from player inventory + insured items array
|
* Remove item from player inventory + insured items array
|
||||||
@ -154,6 +145,14 @@ export declare class InventoryHelper {
|
|||||||
* @returns [width, height]
|
* @returns [width, height]
|
||||||
*/
|
*/
|
||||||
getItemSize(itemTpl: string, itemID: string, inventoryItems: Item[]): number[];
|
getItemSize(itemTpl: string, itemID: string, inventoryItems: Item[]): number[];
|
||||||
|
/**
|
||||||
|
* Calculates the size of an item including attachements
|
||||||
|
* takes into account if item is folded
|
||||||
|
* @param itemTpl Items template id
|
||||||
|
* @param itemID Items id
|
||||||
|
* @param inventoryItemHash Hashmap of inventory items
|
||||||
|
* @returns An array representing the [width, height] of the item
|
||||||
|
*/
|
||||||
protected getSizeByInventoryItemHash(itemTpl: string, itemID: string, inventoryItemHash: InventoryHelper.InventoryItemHash): number[];
|
protected getSizeByInventoryItemHash(itemTpl: string, itemID: string, inventoryItemHash: InventoryHelper.InventoryItemHash): number[];
|
||||||
/**
|
/**
|
||||||
* Get a blank two-dimentional representation of a container
|
* Get a blank two-dimentional representation of a container
|
||||||
|
@ -27,7 +27,8 @@ export interface FenceConfig {
|
|||||||
presetPriceMult: number;
|
presetPriceMult: number;
|
||||||
armorMaxDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
armorMaxDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
||||||
weaponDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
weaponDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
||||||
chancePlateExistsInArmorPercent: number;
|
/** Keyed to plate protection level */
|
||||||
|
chancePlateExistsInArmorPercent: Record<string, number>;
|
||||||
/** Key: item tpl */
|
/** Key: item tpl */
|
||||||
itemStackSizeOverrideMinMax: Record<string, MinMax>;
|
itemStackSizeOverrideMinMax: Record<string, MinMax>;
|
||||||
itemTypeLimits: Record<string, number>;
|
itemTypeLimits: Record<string, number>;
|
||||||
|
@ -4,7 +4,7 @@ import { PresetHelper } from "@spt/helpers/PresetHelper";
|
|||||||
import { IFenceLevel } from "@spt/models/eft/common/IGlobals";
|
import { IFenceLevel } from "@spt/models/eft/common/IGlobals";
|
||||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||||
import { Item, Repairable } from "@spt/models/eft/common/tables/IItem";
|
import { Item, Repairable } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
import { ITemplateItem, Slot } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||||
import { IBarterScheme, ITraderAssort } from "@spt/models/eft/common/tables/ITrader";
|
import { IBarterScheme, ITraderAssort } from "@spt/models/eft/common/tables/ITrader";
|
||||||
import { IItemDurabilityCurrentMax, ITraderConfig } from "@spt/models/spt/config/ITraderConfig";
|
import { IItemDurabilityCurrentMax, ITraderConfig } from "@spt/models/spt/config/ITraderConfig";
|
||||||
import { ICreateFenceAssortsResult } from "@spt/models/spt/fence/ICreateFenceAssortsResult";
|
import { ICreateFenceAssortsResult } from "@spt/models/spt/fence/ICreateFenceAssortsResult";
|
||||||
@ -254,6 +254,19 @@ export declare class FenceService {
|
|||||||
* @param itemDbDetails Armor items db template
|
* @param itemDbDetails Armor items db template
|
||||||
*/
|
*/
|
||||||
protected randomiseArmorModDurability(armor: Item[], itemDbDetails: ITemplateItem): void;
|
protected randomiseArmorModDurability(armor: Item[], itemDbDetails: ITemplateItem): void;
|
||||||
|
/**
|
||||||
|
* Randomise the durability values of items on armor with a passed in slot
|
||||||
|
* @param softInsertSlots Slots of items to randomise
|
||||||
|
* @param armorItemAndMods Array of armor + inserts to get items from
|
||||||
|
*/
|
||||||
|
protected randomiseArmorSoftInsertDurabilities(softInsertSlots: Slot[], armorItemAndMods: Item[]): void;
|
||||||
|
/**
|
||||||
|
* Randomise the durability values of plate items in armor
|
||||||
|
* Has chance to remove plate
|
||||||
|
* @param plateSlots Slots of items to randomise
|
||||||
|
* @param armorItemAndMods Array of armor + inserts to get items from
|
||||||
|
*/
|
||||||
|
protected randomiseArmorInsertsDurabilities(plateSlots: Slot[], armorItemAndMods: Item[]): void;
|
||||||
/**
|
/**
|
||||||
* Get stack size of a singular item (no mods)
|
* Get stack size of a singular item (no mods)
|
||||||
* @param itemDbDetails item being added to fence
|
* @param itemDbDetails item being added to fence
|
||||||
|
@ -148,11 +148,12 @@ export declare class RepeatableQuestController {
|
|||||||
changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse;
|
changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse;
|
||||||
protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest;
|
protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest;
|
||||||
/**
|
/**
|
||||||
* Some accounts have access to repeatable quest refreshes for free
|
* Some accounts have access to free repeatable quest refreshes
|
||||||
* Track the usage of them inside players profile
|
* Track the usage of them inside players profile
|
||||||
* @param fullProfile Profile of player
|
* @param fullProfile Player profile
|
||||||
* @param repeatableSubType Can be daily/weekly/scav repeatables
|
* @param repeatableSubType Can be daily / weekly / scav repeatable
|
||||||
* @param repeatableTypeName Subtype of repeatables: daily / weekly / scav
|
* @param repeatableTypeName Subtype of repeatable quest: daily / weekly / scav
|
||||||
|
* @returns Is the repeatable being replaced for free
|
||||||
*/
|
*/
|
||||||
protected handleFreeRefreshUses(fullProfile: ISptProfile, repeatableSubType: IPmcDataRepeatableQuest, repeatableTypeName: string): void;
|
protected useFreeRefreshIfAvailable(fullProfile: ISptProfile, repeatableSubType: IPmcDataRepeatableQuest, repeatableTypeName: string): boolean;
|
||||||
}
|
}
|
||||||
|
@ -170,7 +170,7 @@ export declare class RagfairOfferGenerator {
|
|||||||
* @param tpl Item to look for matching condition object
|
* @param tpl Item to look for matching condition object
|
||||||
* @returns condition id
|
* @returns condition id
|
||||||
*/
|
*/
|
||||||
protected getDynamicConditionIdForTpl(tpl: string): string;
|
protected getDynamicConditionIdForTpl(tpl: string): string | undefined;
|
||||||
/**
|
/**
|
||||||
* Alter an items condition based on its item base type
|
* Alter an items condition based on its item base type
|
||||||
* @param conditionSettingsId also the parentId of item being altered
|
* @param conditionSettingsId also the parentId of item being altered
|
||||||
|
@ -22,12 +22,12 @@ export declare class HealthHelper {
|
|||||||
*/
|
*/
|
||||||
resetVitality(sessionID: string): ISptProfile;
|
resetVitality(sessionID: string): ISptProfile;
|
||||||
/**
|
/**
|
||||||
* Update player profile with changes from request object
|
* Update player profile vitality values with changes from client request object
|
||||||
* @param pmcData Player profile
|
* @param pmcData Player profile
|
||||||
* @param request Heal request
|
* @param request Heal request
|
||||||
* @param sessionID Session id
|
* @param sessionID Session id
|
||||||
* @param addEffects Should effects be added or removed (default - add)
|
* @param addEffects Should effects be added to profile (default - true)
|
||||||
* @param deleteExistingEffects Should all prior effects be removed before apply new ones
|
* @param deleteExistingEffects Should all prior effects be removed before apply new ones (default - true)
|
||||||
*/
|
*/
|
||||||
saveVitality(pmcData: IPmcData, request: ISyncHealthRequestData, sessionID: string, addEffects?: boolean, deleteExistingEffects?: boolean): void;
|
saveVitality(pmcData: IPmcData, request: ISyncHealthRequestData, sessionID: string, addEffects?: boolean, deleteExistingEffects?: boolean): void;
|
||||||
/**
|
/**
|
||||||
|
@ -9,9 +9,7 @@ import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
|||||||
import { Inventory } from "@spt/models/eft/common/tables/IBotBase";
|
import { Inventory } from "@spt/models/eft/common/tables/IBotBase";
|
||||||
import { Item, Upd } from "@spt/models/eft/common/tables/IItem";
|
import { Item, Upd } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { IAddItemDirectRequest } from "@spt/models/eft/inventory/IAddItemDirectRequest";
|
import { IAddItemDirectRequest } from "@spt/models/eft/inventory/IAddItemDirectRequest";
|
||||||
import { AddItem } from "@spt/models/eft/inventory/IAddItemRequestData";
|
|
||||||
import { IAddItemsDirectRequest } from "@spt/models/eft/inventory/IAddItemsDirectRequest";
|
import { IAddItemsDirectRequest } from "@spt/models/eft/inventory/IAddItemsDirectRequest";
|
||||||
import { IAddItemTempObject } from "@spt/models/eft/inventory/IAddItemTempObject";
|
|
||||||
import { IInventoryMergeRequestData } from "@spt/models/eft/inventory/IInventoryMergeRequestData";
|
import { IInventoryMergeRequestData } from "@spt/models/eft/inventory/IInventoryMergeRequestData";
|
||||||
import { IInventoryMoveRequestData } from "@spt/models/eft/inventory/IInventoryMoveRequestData";
|
import { IInventoryMoveRequestData } from "@spt/models/eft/inventory/IInventoryMoveRequestData";
|
||||||
import { IInventoryRemoveRequestData } from "@spt/models/eft/inventory/IInventoryRemoveRequestData";
|
import { IInventoryRemoveRequestData } from "@spt/models/eft/inventory/IInventoryRemoveRequestData";
|
||||||
@ -106,19 +104,12 @@ export declare class InventoryHelper {
|
|||||||
* Find a location to place an item into inventory and place it
|
* Find a location to place an item into inventory and place it
|
||||||
* @param stashFS2D 2-dimensional representation of the container slots
|
* @param stashFS2D 2-dimensional representation of the container slots
|
||||||
* @param sortingTableFS2D 2-dimensional representation of the sorting table slots
|
* @param sortingTableFS2D 2-dimensional representation of the sorting table slots
|
||||||
* @param itemWithChildren Item to place
|
* @param itemWithChildren Item to place with children
|
||||||
* @param playerInventory
|
* @param playerInventory Players inventory
|
||||||
* @param useSortingTable Should sorting table to be used if main stash has no space
|
* @param useSortingTable Should sorting table to be used if main stash has no space
|
||||||
* @param output output to send back to client
|
* @param output output to send back to client
|
||||||
*/
|
*/
|
||||||
protected placeItemInInventory(stashFS2D: number[][], sortingTableFS2D: number[][], itemWithChildren: Item[], playerInventory: Inventory, useSortingTable: boolean, output: IItemEventRouterResponse): void;
|
protected placeItemInInventory(stashFS2D: number[][], sortingTableFS2D: number[][], itemWithChildren: Item[], playerInventory: Inventory, useSortingTable: boolean, output: IItemEventRouterResponse): void;
|
||||||
/**
|
|
||||||
* Split an items stack size based on its StackMaxSize value
|
|
||||||
* @param assortItems Items to add to inventory
|
|
||||||
* @param requestItem Details of purchased item to add to inventory
|
|
||||||
* @param result Array split stacks are appended to
|
|
||||||
*/
|
|
||||||
protected splitStackIntoSmallerChildStacks(assortItems: Item[], requestItem: AddItem, result: IAddItemTempObject[]): void;
|
|
||||||
/**
|
/**
|
||||||
* Handle Remove event
|
* Handle Remove event
|
||||||
* Remove item from player inventory + insured items array
|
* Remove item from player inventory + insured items array
|
||||||
@ -154,6 +145,14 @@ export declare class InventoryHelper {
|
|||||||
* @returns [width, height]
|
* @returns [width, height]
|
||||||
*/
|
*/
|
||||||
getItemSize(itemTpl: string, itemID: string, inventoryItems: Item[]): number[];
|
getItemSize(itemTpl: string, itemID: string, inventoryItems: Item[]): number[];
|
||||||
|
/**
|
||||||
|
* Calculates the size of an item including attachements
|
||||||
|
* takes into account if item is folded
|
||||||
|
* @param itemTpl Items template id
|
||||||
|
* @param itemID Items id
|
||||||
|
* @param inventoryItemHash Hashmap of inventory items
|
||||||
|
* @returns An array representing the [width, height] of the item
|
||||||
|
*/
|
||||||
protected getSizeByInventoryItemHash(itemTpl: string, itemID: string, inventoryItemHash: InventoryHelper.InventoryItemHash): number[];
|
protected getSizeByInventoryItemHash(itemTpl: string, itemID: string, inventoryItemHash: InventoryHelper.InventoryItemHash): number[];
|
||||||
/**
|
/**
|
||||||
* Get a blank two-dimentional representation of a container
|
* Get a blank two-dimentional representation of a container
|
||||||
|
@ -27,7 +27,8 @@ export interface FenceConfig {
|
|||||||
presetPriceMult: number;
|
presetPriceMult: number;
|
||||||
armorMaxDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
armorMaxDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
||||||
weaponDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
weaponDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
||||||
chancePlateExistsInArmorPercent: number;
|
/** Keyed to plate protection level */
|
||||||
|
chancePlateExistsInArmorPercent: Record<string, number>;
|
||||||
/** Key: item tpl */
|
/** Key: item tpl */
|
||||||
itemStackSizeOverrideMinMax: Record<string, MinMax>;
|
itemStackSizeOverrideMinMax: Record<string, MinMax>;
|
||||||
itemTypeLimits: Record<string, number>;
|
itemTypeLimits: Record<string, number>;
|
||||||
|
@ -4,7 +4,7 @@ import { PresetHelper } from "@spt/helpers/PresetHelper";
|
|||||||
import { IFenceLevel } from "@spt/models/eft/common/IGlobals";
|
import { IFenceLevel } from "@spt/models/eft/common/IGlobals";
|
||||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||||
import { Item, Repairable } from "@spt/models/eft/common/tables/IItem";
|
import { Item, Repairable } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
import { ITemplateItem, Slot } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||||
import { IBarterScheme, ITraderAssort } from "@spt/models/eft/common/tables/ITrader";
|
import { IBarterScheme, ITraderAssort } from "@spt/models/eft/common/tables/ITrader";
|
||||||
import { IItemDurabilityCurrentMax, ITraderConfig } from "@spt/models/spt/config/ITraderConfig";
|
import { IItemDurabilityCurrentMax, ITraderConfig } from "@spt/models/spt/config/ITraderConfig";
|
||||||
import { ICreateFenceAssortsResult } from "@spt/models/spt/fence/ICreateFenceAssortsResult";
|
import { ICreateFenceAssortsResult } from "@spt/models/spt/fence/ICreateFenceAssortsResult";
|
||||||
@ -254,6 +254,19 @@ export declare class FenceService {
|
|||||||
* @param itemDbDetails Armor items db template
|
* @param itemDbDetails Armor items db template
|
||||||
*/
|
*/
|
||||||
protected randomiseArmorModDurability(armor: Item[], itemDbDetails: ITemplateItem): void;
|
protected randomiseArmorModDurability(armor: Item[], itemDbDetails: ITemplateItem): void;
|
||||||
|
/**
|
||||||
|
* Randomise the durability values of items on armor with a passed in slot
|
||||||
|
* @param softInsertSlots Slots of items to randomise
|
||||||
|
* @param armorItemAndMods Array of armor + inserts to get items from
|
||||||
|
*/
|
||||||
|
protected randomiseArmorSoftInsertDurabilities(softInsertSlots: Slot[], armorItemAndMods: Item[]): void;
|
||||||
|
/**
|
||||||
|
* Randomise the durability values of plate items in armor
|
||||||
|
* Has chance to remove plate
|
||||||
|
* @param plateSlots Slots of items to randomise
|
||||||
|
* @param armorItemAndMods Array of armor + inserts to get items from
|
||||||
|
*/
|
||||||
|
protected randomiseArmorInsertsDurabilities(plateSlots: Slot[], armorItemAndMods: Item[]): void;
|
||||||
/**
|
/**
|
||||||
* Get stack size of a singular item (no mods)
|
* Get stack size of a singular item (no mods)
|
||||||
* @param itemDbDetails item being added to fence
|
* @param itemDbDetails item being added to fence
|
||||||
|
@ -148,11 +148,12 @@ export declare class RepeatableQuestController {
|
|||||||
changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse;
|
changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse;
|
||||||
protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest;
|
protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest;
|
||||||
/**
|
/**
|
||||||
* Some accounts have access to repeatable quest refreshes for free
|
* Some accounts have access to free repeatable quest refreshes
|
||||||
* Track the usage of them inside players profile
|
* Track the usage of them inside players profile
|
||||||
* @param fullProfile Profile of player
|
* @param fullProfile Player profile
|
||||||
* @param repeatableSubType Can be daily/weekly/scav repeatables
|
* @param repeatableSubType Can be daily / weekly / scav repeatable
|
||||||
* @param repeatableTypeName Subtype of repeatables: daily / weekly / scav
|
* @param repeatableTypeName Subtype of repeatable quest: daily / weekly / scav
|
||||||
|
* @returns Is the repeatable being replaced for free
|
||||||
*/
|
*/
|
||||||
protected handleFreeRefreshUses(fullProfile: ISptProfile, repeatableSubType: IPmcDataRepeatableQuest, repeatableTypeName: string): void;
|
protected useFreeRefreshIfAvailable(fullProfile: ISptProfile, repeatableSubType: IPmcDataRepeatableQuest, repeatableTypeName: string): boolean;
|
||||||
}
|
}
|
||||||
|
@ -170,7 +170,7 @@ export declare class RagfairOfferGenerator {
|
|||||||
* @param tpl Item to look for matching condition object
|
* @param tpl Item to look for matching condition object
|
||||||
* @returns condition id
|
* @returns condition id
|
||||||
*/
|
*/
|
||||||
protected getDynamicConditionIdForTpl(tpl: string): string;
|
protected getDynamicConditionIdForTpl(tpl: string): string | undefined;
|
||||||
/**
|
/**
|
||||||
* Alter an items condition based on its item base type
|
* Alter an items condition based on its item base type
|
||||||
* @param conditionSettingsId also the parentId of item being altered
|
* @param conditionSettingsId also the parentId of item being altered
|
||||||
|
@ -22,12 +22,12 @@ export declare class HealthHelper {
|
|||||||
*/
|
*/
|
||||||
resetVitality(sessionID: string): ISptProfile;
|
resetVitality(sessionID: string): ISptProfile;
|
||||||
/**
|
/**
|
||||||
* Update player profile with changes from request object
|
* Update player profile vitality values with changes from client request object
|
||||||
* @param pmcData Player profile
|
* @param pmcData Player profile
|
||||||
* @param request Heal request
|
* @param request Heal request
|
||||||
* @param sessionID Session id
|
* @param sessionID Session id
|
||||||
* @param addEffects Should effects be added or removed (default - add)
|
* @param addEffects Should effects be added to profile (default - true)
|
||||||
* @param deleteExistingEffects Should all prior effects be removed before apply new ones
|
* @param deleteExistingEffects Should all prior effects be removed before apply new ones (default - true)
|
||||||
*/
|
*/
|
||||||
saveVitality(pmcData: IPmcData, request: ISyncHealthRequestData, sessionID: string, addEffects?: boolean, deleteExistingEffects?: boolean): void;
|
saveVitality(pmcData: IPmcData, request: ISyncHealthRequestData, sessionID: string, addEffects?: boolean, deleteExistingEffects?: boolean): void;
|
||||||
/**
|
/**
|
||||||
|
@ -9,9 +9,7 @@ import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
|||||||
import { Inventory } from "@spt/models/eft/common/tables/IBotBase";
|
import { Inventory } from "@spt/models/eft/common/tables/IBotBase";
|
||||||
import { Item, Upd } from "@spt/models/eft/common/tables/IItem";
|
import { Item, Upd } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { IAddItemDirectRequest } from "@spt/models/eft/inventory/IAddItemDirectRequest";
|
import { IAddItemDirectRequest } from "@spt/models/eft/inventory/IAddItemDirectRequest";
|
||||||
import { AddItem } from "@spt/models/eft/inventory/IAddItemRequestData";
|
|
||||||
import { IAddItemsDirectRequest } from "@spt/models/eft/inventory/IAddItemsDirectRequest";
|
import { IAddItemsDirectRequest } from "@spt/models/eft/inventory/IAddItemsDirectRequest";
|
||||||
import { IAddItemTempObject } from "@spt/models/eft/inventory/IAddItemTempObject";
|
|
||||||
import { IInventoryMergeRequestData } from "@spt/models/eft/inventory/IInventoryMergeRequestData";
|
import { IInventoryMergeRequestData } from "@spt/models/eft/inventory/IInventoryMergeRequestData";
|
||||||
import { IInventoryMoveRequestData } from "@spt/models/eft/inventory/IInventoryMoveRequestData";
|
import { IInventoryMoveRequestData } from "@spt/models/eft/inventory/IInventoryMoveRequestData";
|
||||||
import { IInventoryRemoveRequestData } from "@spt/models/eft/inventory/IInventoryRemoveRequestData";
|
import { IInventoryRemoveRequestData } from "@spt/models/eft/inventory/IInventoryRemoveRequestData";
|
||||||
@ -106,19 +104,12 @@ export declare class InventoryHelper {
|
|||||||
* Find a location to place an item into inventory and place it
|
* Find a location to place an item into inventory and place it
|
||||||
* @param stashFS2D 2-dimensional representation of the container slots
|
* @param stashFS2D 2-dimensional representation of the container slots
|
||||||
* @param sortingTableFS2D 2-dimensional representation of the sorting table slots
|
* @param sortingTableFS2D 2-dimensional representation of the sorting table slots
|
||||||
* @param itemWithChildren Item to place
|
* @param itemWithChildren Item to place with children
|
||||||
* @param playerInventory
|
* @param playerInventory Players inventory
|
||||||
* @param useSortingTable Should sorting table to be used if main stash has no space
|
* @param useSortingTable Should sorting table to be used if main stash has no space
|
||||||
* @param output output to send back to client
|
* @param output output to send back to client
|
||||||
*/
|
*/
|
||||||
protected placeItemInInventory(stashFS2D: number[][], sortingTableFS2D: number[][], itemWithChildren: Item[], playerInventory: Inventory, useSortingTable: boolean, output: IItemEventRouterResponse): void;
|
protected placeItemInInventory(stashFS2D: number[][], sortingTableFS2D: number[][], itemWithChildren: Item[], playerInventory: Inventory, useSortingTable: boolean, output: IItemEventRouterResponse): void;
|
||||||
/**
|
|
||||||
* Split an items stack size based on its StackMaxSize value
|
|
||||||
* @param assortItems Items to add to inventory
|
|
||||||
* @param requestItem Details of purchased item to add to inventory
|
|
||||||
* @param result Array split stacks are appended to
|
|
||||||
*/
|
|
||||||
protected splitStackIntoSmallerChildStacks(assortItems: Item[], requestItem: AddItem, result: IAddItemTempObject[]): void;
|
|
||||||
/**
|
/**
|
||||||
* Handle Remove event
|
* Handle Remove event
|
||||||
* Remove item from player inventory + insured items array
|
* Remove item from player inventory + insured items array
|
||||||
@ -154,6 +145,14 @@ export declare class InventoryHelper {
|
|||||||
* @returns [width, height]
|
* @returns [width, height]
|
||||||
*/
|
*/
|
||||||
getItemSize(itemTpl: string, itemID: string, inventoryItems: Item[]): number[];
|
getItemSize(itemTpl: string, itemID: string, inventoryItems: Item[]): number[];
|
||||||
|
/**
|
||||||
|
* Calculates the size of an item including attachements
|
||||||
|
* takes into account if item is folded
|
||||||
|
* @param itemTpl Items template id
|
||||||
|
* @param itemID Items id
|
||||||
|
* @param inventoryItemHash Hashmap of inventory items
|
||||||
|
* @returns An array representing the [width, height] of the item
|
||||||
|
*/
|
||||||
protected getSizeByInventoryItemHash(itemTpl: string, itemID: string, inventoryItemHash: InventoryHelper.InventoryItemHash): number[];
|
protected getSizeByInventoryItemHash(itemTpl: string, itemID: string, inventoryItemHash: InventoryHelper.InventoryItemHash): number[];
|
||||||
/**
|
/**
|
||||||
* Get a blank two-dimentional representation of a container
|
* Get a blank two-dimentional representation of a container
|
||||||
|
@ -27,7 +27,8 @@ export interface FenceConfig {
|
|||||||
presetPriceMult: number;
|
presetPriceMult: number;
|
||||||
armorMaxDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
armorMaxDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
||||||
weaponDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
weaponDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
||||||
chancePlateExistsInArmorPercent: number;
|
/** Keyed to plate protection level */
|
||||||
|
chancePlateExistsInArmorPercent: Record<string, number>;
|
||||||
/** Key: item tpl */
|
/** Key: item tpl */
|
||||||
itemStackSizeOverrideMinMax: Record<string, MinMax>;
|
itemStackSizeOverrideMinMax: Record<string, MinMax>;
|
||||||
itemTypeLimits: Record<string, number>;
|
itemTypeLimits: Record<string, number>;
|
||||||
|
@ -4,7 +4,7 @@ import { PresetHelper } from "@spt/helpers/PresetHelper";
|
|||||||
import { IFenceLevel } from "@spt/models/eft/common/IGlobals";
|
import { IFenceLevel } from "@spt/models/eft/common/IGlobals";
|
||||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||||
import { Item, Repairable } from "@spt/models/eft/common/tables/IItem";
|
import { Item, Repairable } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
import { ITemplateItem, Slot } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||||
import { IBarterScheme, ITraderAssort } from "@spt/models/eft/common/tables/ITrader";
|
import { IBarterScheme, ITraderAssort } from "@spt/models/eft/common/tables/ITrader";
|
||||||
import { IItemDurabilityCurrentMax, ITraderConfig } from "@spt/models/spt/config/ITraderConfig";
|
import { IItemDurabilityCurrentMax, ITraderConfig } from "@spt/models/spt/config/ITraderConfig";
|
||||||
import { ICreateFenceAssortsResult } from "@spt/models/spt/fence/ICreateFenceAssortsResult";
|
import { ICreateFenceAssortsResult } from "@spt/models/spt/fence/ICreateFenceAssortsResult";
|
||||||
@ -254,6 +254,19 @@ export declare class FenceService {
|
|||||||
* @param itemDbDetails Armor items db template
|
* @param itemDbDetails Armor items db template
|
||||||
*/
|
*/
|
||||||
protected randomiseArmorModDurability(armor: Item[], itemDbDetails: ITemplateItem): void;
|
protected randomiseArmorModDurability(armor: Item[], itemDbDetails: ITemplateItem): void;
|
||||||
|
/**
|
||||||
|
* Randomise the durability values of items on armor with a passed in slot
|
||||||
|
* @param softInsertSlots Slots of items to randomise
|
||||||
|
* @param armorItemAndMods Array of armor + inserts to get items from
|
||||||
|
*/
|
||||||
|
protected randomiseArmorSoftInsertDurabilities(softInsertSlots: Slot[], armorItemAndMods: Item[]): void;
|
||||||
|
/**
|
||||||
|
* Randomise the durability values of plate items in armor
|
||||||
|
* Has chance to remove plate
|
||||||
|
* @param plateSlots Slots of items to randomise
|
||||||
|
* @param armorItemAndMods Array of armor + inserts to get items from
|
||||||
|
*/
|
||||||
|
protected randomiseArmorInsertsDurabilities(plateSlots: Slot[], armorItemAndMods: Item[]): void;
|
||||||
/**
|
/**
|
||||||
* Get stack size of a singular item (no mods)
|
* Get stack size of a singular item (no mods)
|
||||||
* @param itemDbDetails item being added to fence
|
* @param itemDbDetails item being added to fence
|
||||||
|
@ -148,11 +148,12 @@ export declare class RepeatableQuestController {
|
|||||||
changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse;
|
changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse;
|
||||||
protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest;
|
protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest;
|
||||||
/**
|
/**
|
||||||
* Some accounts have access to repeatable quest refreshes for free
|
* Some accounts have access to free repeatable quest refreshes
|
||||||
* Track the usage of them inside players profile
|
* Track the usage of them inside players profile
|
||||||
* @param fullProfile Profile of player
|
* @param fullProfile Player profile
|
||||||
* @param repeatableSubType Can be daily/weekly/scav repeatables
|
* @param repeatableSubType Can be daily / weekly / scav repeatable
|
||||||
* @param repeatableTypeName Subtype of repeatables: daily / weekly / scav
|
* @param repeatableTypeName Subtype of repeatable quest: daily / weekly / scav
|
||||||
|
* @returns Is the repeatable being replaced for free
|
||||||
*/
|
*/
|
||||||
protected handleFreeRefreshUses(fullProfile: ISptProfile, repeatableSubType: IPmcDataRepeatableQuest, repeatableTypeName: string): void;
|
protected useFreeRefreshIfAvailable(fullProfile: ISptProfile, repeatableSubType: IPmcDataRepeatableQuest, repeatableTypeName: string): boolean;
|
||||||
}
|
}
|
||||||
|
@ -170,7 +170,7 @@ export declare class RagfairOfferGenerator {
|
|||||||
* @param tpl Item to look for matching condition object
|
* @param tpl Item to look for matching condition object
|
||||||
* @returns condition id
|
* @returns condition id
|
||||||
*/
|
*/
|
||||||
protected getDynamicConditionIdForTpl(tpl: string): string;
|
protected getDynamicConditionIdForTpl(tpl: string): string | undefined;
|
||||||
/**
|
/**
|
||||||
* Alter an items condition based on its item base type
|
* Alter an items condition based on its item base type
|
||||||
* @param conditionSettingsId also the parentId of item being altered
|
* @param conditionSettingsId also the parentId of item being altered
|
||||||
|
@ -22,12 +22,12 @@ export declare class HealthHelper {
|
|||||||
*/
|
*/
|
||||||
resetVitality(sessionID: string): ISptProfile;
|
resetVitality(sessionID: string): ISptProfile;
|
||||||
/**
|
/**
|
||||||
* Update player profile with changes from request object
|
* Update player profile vitality values with changes from client request object
|
||||||
* @param pmcData Player profile
|
* @param pmcData Player profile
|
||||||
* @param request Heal request
|
* @param request Heal request
|
||||||
* @param sessionID Session id
|
* @param sessionID Session id
|
||||||
* @param addEffects Should effects be added or removed (default - add)
|
* @param addEffects Should effects be added to profile (default - true)
|
||||||
* @param deleteExistingEffects Should all prior effects be removed before apply new ones
|
* @param deleteExistingEffects Should all prior effects be removed before apply new ones (default - true)
|
||||||
*/
|
*/
|
||||||
saveVitality(pmcData: IPmcData, request: ISyncHealthRequestData, sessionID: string, addEffects?: boolean, deleteExistingEffects?: boolean): void;
|
saveVitality(pmcData: IPmcData, request: ISyncHealthRequestData, sessionID: string, addEffects?: boolean, deleteExistingEffects?: boolean): void;
|
||||||
/**
|
/**
|
||||||
|
@ -9,9 +9,7 @@ import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
|||||||
import { Inventory } from "@spt/models/eft/common/tables/IBotBase";
|
import { Inventory } from "@spt/models/eft/common/tables/IBotBase";
|
||||||
import { Item, Upd } from "@spt/models/eft/common/tables/IItem";
|
import { Item, Upd } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { IAddItemDirectRequest } from "@spt/models/eft/inventory/IAddItemDirectRequest";
|
import { IAddItemDirectRequest } from "@spt/models/eft/inventory/IAddItemDirectRequest";
|
||||||
import { AddItem } from "@spt/models/eft/inventory/IAddItemRequestData";
|
|
||||||
import { IAddItemsDirectRequest } from "@spt/models/eft/inventory/IAddItemsDirectRequest";
|
import { IAddItemsDirectRequest } from "@spt/models/eft/inventory/IAddItemsDirectRequest";
|
||||||
import { IAddItemTempObject } from "@spt/models/eft/inventory/IAddItemTempObject";
|
|
||||||
import { IInventoryMergeRequestData } from "@spt/models/eft/inventory/IInventoryMergeRequestData";
|
import { IInventoryMergeRequestData } from "@spt/models/eft/inventory/IInventoryMergeRequestData";
|
||||||
import { IInventoryMoveRequestData } from "@spt/models/eft/inventory/IInventoryMoveRequestData";
|
import { IInventoryMoveRequestData } from "@spt/models/eft/inventory/IInventoryMoveRequestData";
|
||||||
import { IInventoryRemoveRequestData } from "@spt/models/eft/inventory/IInventoryRemoveRequestData";
|
import { IInventoryRemoveRequestData } from "@spt/models/eft/inventory/IInventoryRemoveRequestData";
|
||||||
@ -106,19 +104,12 @@ export declare class InventoryHelper {
|
|||||||
* Find a location to place an item into inventory and place it
|
* Find a location to place an item into inventory and place it
|
||||||
* @param stashFS2D 2-dimensional representation of the container slots
|
* @param stashFS2D 2-dimensional representation of the container slots
|
||||||
* @param sortingTableFS2D 2-dimensional representation of the sorting table slots
|
* @param sortingTableFS2D 2-dimensional representation of the sorting table slots
|
||||||
* @param itemWithChildren Item to place
|
* @param itemWithChildren Item to place with children
|
||||||
* @param playerInventory
|
* @param playerInventory Players inventory
|
||||||
* @param useSortingTable Should sorting table to be used if main stash has no space
|
* @param useSortingTable Should sorting table to be used if main stash has no space
|
||||||
* @param output output to send back to client
|
* @param output output to send back to client
|
||||||
*/
|
*/
|
||||||
protected placeItemInInventory(stashFS2D: number[][], sortingTableFS2D: number[][], itemWithChildren: Item[], playerInventory: Inventory, useSortingTable: boolean, output: IItemEventRouterResponse): void;
|
protected placeItemInInventory(stashFS2D: number[][], sortingTableFS2D: number[][], itemWithChildren: Item[], playerInventory: Inventory, useSortingTable: boolean, output: IItemEventRouterResponse): void;
|
||||||
/**
|
|
||||||
* Split an items stack size based on its StackMaxSize value
|
|
||||||
* @param assortItems Items to add to inventory
|
|
||||||
* @param requestItem Details of purchased item to add to inventory
|
|
||||||
* @param result Array split stacks are appended to
|
|
||||||
*/
|
|
||||||
protected splitStackIntoSmallerChildStacks(assortItems: Item[], requestItem: AddItem, result: IAddItemTempObject[]): void;
|
|
||||||
/**
|
/**
|
||||||
* Handle Remove event
|
* Handle Remove event
|
||||||
* Remove item from player inventory + insured items array
|
* Remove item from player inventory + insured items array
|
||||||
@ -154,6 +145,14 @@ export declare class InventoryHelper {
|
|||||||
* @returns [width, height]
|
* @returns [width, height]
|
||||||
*/
|
*/
|
||||||
getItemSize(itemTpl: string, itemID: string, inventoryItems: Item[]): number[];
|
getItemSize(itemTpl: string, itemID: string, inventoryItems: Item[]): number[];
|
||||||
|
/**
|
||||||
|
* Calculates the size of an item including attachements
|
||||||
|
* takes into account if item is folded
|
||||||
|
* @param itemTpl Items template id
|
||||||
|
* @param itemID Items id
|
||||||
|
* @param inventoryItemHash Hashmap of inventory items
|
||||||
|
* @returns An array representing the [width, height] of the item
|
||||||
|
*/
|
||||||
protected getSizeByInventoryItemHash(itemTpl: string, itemID: string, inventoryItemHash: InventoryHelper.InventoryItemHash): number[];
|
protected getSizeByInventoryItemHash(itemTpl: string, itemID: string, inventoryItemHash: InventoryHelper.InventoryItemHash): number[];
|
||||||
/**
|
/**
|
||||||
* Get a blank two-dimentional representation of a container
|
* Get a blank two-dimentional representation of a container
|
||||||
|
@ -27,7 +27,8 @@ export interface FenceConfig {
|
|||||||
presetPriceMult: number;
|
presetPriceMult: number;
|
||||||
armorMaxDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
armorMaxDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
||||||
weaponDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
weaponDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
||||||
chancePlateExistsInArmorPercent: number;
|
/** Keyed to plate protection level */
|
||||||
|
chancePlateExistsInArmorPercent: Record<string, number>;
|
||||||
/** Key: item tpl */
|
/** Key: item tpl */
|
||||||
itemStackSizeOverrideMinMax: Record<string, MinMax>;
|
itemStackSizeOverrideMinMax: Record<string, MinMax>;
|
||||||
itemTypeLimits: Record<string, number>;
|
itemTypeLimits: Record<string, number>;
|
||||||
|
@ -4,7 +4,7 @@ import { PresetHelper } from "@spt/helpers/PresetHelper";
|
|||||||
import { IFenceLevel } from "@spt/models/eft/common/IGlobals";
|
import { IFenceLevel } from "@spt/models/eft/common/IGlobals";
|
||||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||||
import { Item, Repairable } from "@spt/models/eft/common/tables/IItem";
|
import { Item, Repairable } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
import { ITemplateItem, Slot } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||||
import { IBarterScheme, ITraderAssort } from "@spt/models/eft/common/tables/ITrader";
|
import { IBarterScheme, ITraderAssort } from "@spt/models/eft/common/tables/ITrader";
|
||||||
import { IItemDurabilityCurrentMax, ITraderConfig } from "@spt/models/spt/config/ITraderConfig";
|
import { IItemDurabilityCurrentMax, ITraderConfig } from "@spt/models/spt/config/ITraderConfig";
|
||||||
import { ICreateFenceAssortsResult } from "@spt/models/spt/fence/ICreateFenceAssortsResult";
|
import { ICreateFenceAssortsResult } from "@spt/models/spt/fence/ICreateFenceAssortsResult";
|
||||||
@ -254,6 +254,19 @@ export declare class FenceService {
|
|||||||
* @param itemDbDetails Armor items db template
|
* @param itemDbDetails Armor items db template
|
||||||
*/
|
*/
|
||||||
protected randomiseArmorModDurability(armor: Item[], itemDbDetails: ITemplateItem): void;
|
protected randomiseArmorModDurability(armor: Item[], itemDbDetails: ITemplateItem): void;
|
||||||
|
/**
|
||||||
|
* Randomise the durability values of items on armor with a passed in slot
|
||||||
|
* @param softInsertSlots Slots of items to randomise
|
||||||
|
* @param armorItemAndMods Array of armor + inserts to get items from
|
||||||
|
*/
|
||||||
|
protected randomiseArmorSoftInsertDurabilities(softInsertSlots: Slot[], armorItemAndMods: Item[]): void;
|
||||||
|
/**
|
||||||
|
* Randomise the durability values of plate items in armor
|
||||||
|
* Has chance to remove plate
|
||||||
|
* @param plateSlots Slots of items to randomise
|
||||||
|
* @param armorItemAndMods Array of armor + inserts to get items from
|
||||||
|
*/
|
||||||
|
protected randomiseArmorInsertsDurabilities(plateSlots: Slot[], armorItemAndMods: Item[]): void;
|
||||||
/**
|
/**
|
||||||
* Get stack size of a singular item (no mods)
|
* Get stack size of a singular item (no mods)
|
||||||
* @param itemDbDetails item being added to fence
|
* @param itemDbDetails item being added to fence
|
||||||
|
@ -148,11 +148,12 @@ export declare class RepeatableQuestController {
|
|||||||
changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse;
|
changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse;
|
||||||
protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest;
|
protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest;
|
||||||
/**
|
/**
|
||||||
* Some accounts have access to repeatable quest refreshes for free
|
* Some accounts have access to free repeatable quest refreshes
|
||||||
* Track the usage of them inside players profile
|
* Track the usage of them inside players profile
|
||||||
* @param fullProfile Profile of player
|
* @param fullProfile Player profile
|
||||||
* @param repeatableSubType Can be daily/weekly/scav repeatables
|
* @param repeatableSubType Can be daily / weekly / scav repeatable
|
||||||
* @param repeatableTypeName Subtype of repeatables: daily / weekly / scav
|
* @param repeatableTypeName Subtype of repeatable quest: daily / weekly / scav
|
||||||
|
* @returns Is the repeatable being replaced for free
|
||||||
*/
|
*/
|
||||||
protected handleFreeRefreshUses(fullProfile: ISptProfile, repeatableSubType: IPmcDataRepeatableQuest, repeatableTypeName: string): void;
|
protected useFreeRefreshIfAvailable(fullProfile: ISptProfile, repeatableSubType: IPmcDataRepeatableQuest, repeatableTypeName: string): boolean;
|
||||||
}
|
}
|
||||||
|
@ -170,7 +170,7 @@ export declare class RagfairOfferGenerator {
|
|||||||
* @param tpl Item to look for matching condition object
|
* @param tpl Item to look for matching condition object
|
||||||
* @returns condition id
|
* @returns condition id
|
||||||
*/
|
*/
|
||||||
protected getDynamicConditionIdForTpl(tpl: string): string;
|
protected getDynamicConditionIdForTpl(tpl: string): string | undefined;
|
||||||
/**
|
/**
|
||||||
* Alter an items condition based on its item base type
|
* Alter an items condition based on its item base type
|
||||||
* @param conditionSettingsId also the parentId of item being altered
|
* @param conditionSettingsId also the parentId of item being altered
|
||||||
|
@ -22,12 +22,12 @@ export declare class HealthHelper {
|
|||||||
*/
|
*/
|
||||||
resetVitality(sessionID: string): ISptProfile;
|
resetVitality(sessionID: string): ISptProfile;
|
||||||
/**
|
/**
|
||||||
* Update player profile with changes from request object
|
* Update player profile vitality values with changes from client request object
|
||||||
* @param pmcData Player profile
|
* @param pmcData Player profile
|
||||||
* @param request Heal request
|
* @param request Heal request
|
||||||
* @param sessionID Session id
|
* @param sessionID Session id
|
||||||
* @param addEffects Should effects be added or removed (default - add)
|
* @param addEffects Should effects be added to profile (default - true)
|
||||||
* @param deleteExistingEffects Should all prior effects be removed before apply new ones
|
* @param deleteExistingEffects Should all prior effects be removed before apply new ones (default - true)
|
||||||
*/
|
*/
|
||||||
saveVitality(pmcData: IPmcData, request: ISyncHealthRequestData, sessionID: string, addEffects?: boolean, deleteExistingEffects?: boolean): void;
|
saveVitality(pmcData: IPmcData, request: ISyncHealthRequestData, sessionID: string, addEffects?: boolean, deleteExistingEffects?: boolean): void;
|
||||||
/**
|
/**
|
||||||
|
@ -9,9 +9,7 @@ import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
|||||||
import { Inventory } from "@spt/models/eft/common/tables/IBotBase";
|
import { Inventory } from "@spt/models/eft/common/tables/IBotBase";
|
||||||
import { Item, Upd } from "@spt/models/eft/common/tables/IItem";
|
import { Item, Upd } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { IAddItemDirectRequest } from "@spt/models/eft/inventory/IAddItemDirectRequest";
|
import { IAddItemDirectRequest } from "@spt/models/eft/inventory/IAddItemDirectRequest";
|
||||||
import { AddItem } from "@spt/models/eft/inventory/IAddItemRequestData";
|
|
||||||
import { IAddItemsDirectRequest } from "@spt/models/eft/inventory/IAddItemsDirectRequest";
|
import { IAddItemsDirectRequest } from "@spt/models/eft/inventory/IAddItemsDirectRequest";
|
||||||
import { IAddItemTempObject } from "@spt/models/eft/inventory/IAddItemTempObject";
|
|
||||||
import { IInventoryMergeRequestData } from "@spt/models/eft/inventory/IInventoryMergeRequestData";
|
import { IInventoryMergeRequestData } from "@spt/models/eft/inventory/IInventoryMergeRequestData";
|
||||||
import { IInventoryMoveRequestData } from "@spt/models/eft/inventory/IInventoryMoveRequestData";
|
import { IInventoryMoveRequestData } from "@spt/models/eft/inventory/IInventoryMoveRequestData";
|
||||||
import { IInventoryRemoveRequestData } from "@spt/models/eft/inventory/IInventoryRemoveRequestData";
|
import { IInventoryRemoveRequestData } from "@spt/models/eft/inventory/IInventoryRemoveRequestData";
|
||||||
@ -106,19 +104,12 @@ export declare class InventoryHelper {
|
|||||||
* Find a location to place an item into inventory and place it
|
* Find a location to place an item into inventory and place it
|
||||||
* @param stashFS2D 2-dimensional representation of the container slots
|
* @param stashFS2D 2-dimensional representation of the container slots
|
||||||
* @param sortingTableFS2D 2-dimensional representation of the sorting table slots
|
* @param sortingTableFS2D 2-dimensional representation of the sorting table slots
|
||||||
* @param itemWithChildren Item to place
|
* @param itemWithChildren Item to place with children
|
||||||
* @param playerInventory
|
* @param playerInventory Players inventory
|
||||||
* @param useSortingTable Should sorting table to be used if main stash has no space
|
* @param useSortingTable Should sorting table to be used if main stash has no space
|
||||||
* @param output output to send back to client
|
* @param output output to send back to client
|
||||||
*/
|
*/
|
||||||
protected placeItemInInventory(stashFS2D: number[][], sortingTableFS2D: number[][], itemWithChildren: Item[], playerInventory: Inventory, useSortingTable: boolean, output: IItemEventRouterResponse): void;
|
protected placeItemInInventory(stashFS2D: number[][], sortingTableFS2D: number[][], itemWithChildren: Item[], playerInventory: Inventory, useSortingTable: boolean, output: IItemEventRouterResponse): void;
|
||||||
/**
|
|
||||||
* Split an items stack size based on its StackMaxSize value
|
|
||||||
* @param assortItems Items to add to inventory
|
|
||||||
* @param requestItem Details of purchased item to add to inventory
|
|
||||||
* @param result Array split stacks are appended to
|
|
||||||
*/
|
|
||||||
protected splitStackIntoSmallerChildStacks(assortItems: Item[], requestItem: AddItem, result: IAddItemTempObject[]): void;
|
|
||||||
/**
|
/**
|
||||||
* Handle Remove event
|
* Handle Remove event
|
||||||
* Remove item from player inventory + insured items array
|
* Remove item from player inventory + insured items array
|
||||||
@ -154,6 +145,14 @@ export declare class InventoryHelper {
|
|||||||
* @returns [width, height]
|
* @returns [width, height]
|
||||||
*/
|
*/
|
||||||
getItemSize(itemTpl: string, itemID: string, inventoryItems: Item[]): number[];
|
getItemSize(itemTpl: string, itemID: string, inventoryItems: Item[]): number[];
|
||||||
|
/**
|
||||||
|
* Calculates the size of an item including attachements
|
||||||
|
* takes into account if item is folded
|
||||||
|
* @param itemTpl Items template id
|
||||||
|
* @param itemID Items id
|
||||||
|
* @param inventoryItemHash Hashmap of inventory items
|
||||||
|
* @returns An array representing the [width, height] of the item
|
||||||
|
*/
|
||||||
protected getSizeByInventoryItemHash(itemTpl: string, itemID: string, inventoryItemHash: InventoryHelper.InventoryItemHash): number[];
|
protected getSizeByInventoryItemHash(itemTpl: string, itemID: string, inventoryItemHash: InventoryHelper.InventoryItemHash): number[];
|
||||||
/**
|
/**
|
||||||
* Get a blank two-dimentional representation of a container
|
* Get a blank two-dimentional representation of a container
|
||||||
|
@ -27,7 +27,8 @@ export interface FenceConfig {
|
|||||||
presetPriceMult: number;
|
presetPriceMult: number;
|
||||||
armorMaxDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
armorMaxDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
||||||
weaponDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
weaponDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
||||||
chancePlateExistsInArmorPercent: number;
|
/** Keyed to plate protection level */
|
||||||
|
chancePlateExistsInArmorPercent: Record<string, number>;
|
||||||
/** Key: item tpl */
|
/** Key: item tpl */
|
||||||
itemStackSizeOverrideMinMax: Record<string, MinMax>;
|
itemStackSizeOverrideMinMax: Record<string, MinMax>;
|
||||||
itemTypeLimits: Record<string, number>;
|
itemTypeLimits: Record<string, number>;
|
||||||
|
@ -4,7 +4,7 @@ import { PresetHelper } from "@spt/helpers/PresetHelper";
|
|||||||
import { IFenceLevel } from "@spt/models/eft/common/IGlobals";
|
import { IFenceLevel } from "@spt/models/eft/common/IGlobals";
|
||||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||||
import { Item, Repairable } from "@spt/models/eft/common/tables/IItem";
|
import { Item, Repairable } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
import { ITemplateItem, Slot } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||||
import { IBarterScheme, ITraderAssort } from "@spt/models/eft/common/tables/ITrader";
|
import { IBarterScheme, ITraderAssort } from "@spt/models/eft/common/tables/ITrader";
|
||||||
import { IItemDurabilityCurrentMax, ITraderConfig } from "@spt/models/spt/config/ITraderConfig";
|
import { IItemDurabilityCurrentMax, ITraderConfig } from "@spt/models/spt/config/ITraderConfig";
|
||||||
import { ICreateFenceAssortsResult } from "@spt/models/spt/fence/ICreateFenceAssortsResult";
|
import { ICreateFenceAssortsResult } from "@spt/models/spt/fence/ICreateFenceAssortsResult";
|
||||||
@ -254,6 +254,19 @@ export declare class FenceService {
|
|||||||
* @param itemDbDetails Armor items db template
|
* @param itemDbDetails Armor items db template
|
||||||
*/
|
*/
|
||||||
protected randomiseArmorModDurability(armor: Item[], itemDbDetails: ITemplateItem): void;
|
protected randomiseArmorModDurability(armor: Item[], itemDbDetails: ITemplateItem): void;
|
||||||
|
/**
|
||||||
|
* Randomise the durability values of items on armor with a passed in slot
|
||||||
|
* @param softInsertSlots Slots of items to randomise
|
||||||
|
* @param armorItemAndMods Array of armor + inserts to get items from
|
||||||
|
*/
|
||||||
|
protected randomiseArmorSoftInsertDurabilities(softInsertSlots: Slot[], armorItemAndMods: Item[]): void;
|
||||||
|
/**
|
||||||
|
* Randomise the durability values of plate items in armor
|
||||||
|
* Has chance to remove plate
|
||||||
|
* @param plateSlots Slots of items to randomise
|
||||||
|
* @param armorItemAndMods Array of armor + inserts to get items from
|
||||||
|
*/
|
||||||
|
protected randomiseArmorInsertsDurabilities(plateSlots: Slot[], armorItemAndMods: Item[]): void;
|
||||||
/**
|
/**
|
||||||
* Get stack size of a singular item (no mods)
|
* Get stack size of a singular item (no mods)
|
||||||
* @param itemDbDetails item being added to fence
|
* @param itemDbDetails item being added to fence
|
||||||
|
@ -148,11 +148,12 @@ export declare class RepeatableQuestController {
|
|||||||
changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse;
|
changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse;
|
||||||
protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest;
|
protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest;
|
||||||
/**
|
/**
|
||||||
* Some accounts have access to repeatable quest refreshes for free
|
* Some accounts have access to free repeatable quest refreshes
|
||||||
* Track the usage of them inside players profile
|
* Track the usage of them inside players profile
|
||||||
* @param fullProfile Profile of player
|
* @param fullProfile Player profile
|
||||||
* @param repeatableSubType Can be daily/weekly/scav repeatables
|
* @param repeatableSubType Can be daily / weekly / scav repeatable
|
||||||
* @param repeatableTypeName Subtype of repeatables: daily / weekly / scav
|
* @param repeatableTypeName Subtype of repeatable quest: daily / weekly / scav
|
||||||
|
* @returns Is the repeatable being replaced for free
|
||||||
*/
|
*/
|
||||||
protected handleFreeRefreshUses(fullProfile: ISptProfile, repeatableSubType: IPmcDataRepeatableQuest, repeatableTypeName: string): void;
|
protected useFreeRefreshIfAvailable(fullProfile: ISptProfile, repeatableSubType: IPmcDataRepeatableQuest, repeatableTypeName: string): boolean;
|
||||||
}
|
}
|
||||||
|
@ -170,7 +170,7 @@ export declare class RagfairOfferGenerator {
|
|||||||
* @param tpl Item to look for matching condition object
|
* @param tpl Item to look for matching condition object
|
||||||
* @returns condition id
|
* @returns condition id
|
||||||
*/
|
*/
|
||||||
protected getDynamicConditionIdForTpl(tpl: string): string;
|
protected getDynamicConditionIdForTpl(tpl: string): string | undefined;
|
||||||
/**
|
/**
|
||||||
* Alter an items condition based on its item base type
|
* Alter an items condition based on its item base type
|
||||||
* @param conditionSettingsId also the parentId of item being altered
|
* @param conditionSettingsId also the parentId of item being altered
|
||||||
|
@ -22,12 +22,12 @@ export declare class HealthHelper {
|
|||||||
*/
|
*/
|
||||||
resetVitality(sessionID: string): ISptProfile;
|
resetVitality(sessionID: string): ISptProfile;
|
||||||
/**
|
/**
|
||||||
* Update player profile with changes from request object
|
* Update player profile vitality values with changes from client request object
|
||||||
* @param pmcData Player profile
|
* @param pmcData Player profile
|
||||||
* @param request Heal request
|
* @param request Heal request
|
||||||
* @param sessionID Session id
|
* @param sessionID Session id
|
||||||
* @param addEffects Should effects be added or removed (default - add)
|
* @param addEffects Should effects be added to profile (default - true)
|
||||||
* @param deleteExistingEffects Should all prior effects be removed before apply new ones
|
* @param deleteExistingEffects Should all prior effects be removed before apply new ones (default - true)
|
||||||
*/
|
*/
|
||||||
saveVitality(pmcData: IPmcData, request: ISyncHealthRequestData, sessionID: string, addEffects?: boolean, deleteExistingEffects?: boolean): void;
|
saveVitality(pmcData: IPmcData, request: ISyncHealthRequestData, sessionID: string, addEffects?: boolean, deleteExistingEffects?: boolean): void;
|
||||||
/**
|
/**
|
||||||
|
@ -9,9 +9,7 @@ import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
|||||||
import { Inventory } from "@spt/models/eft/common/tables/IBotBase";
|
import { Inventory } from "@spt/models/eft/common/tables/IBotBase";
|
||||||
import { Item, Upd } from "@spt/models/eft/common/tables/IItem";
|
import { Item, Upd } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { IAddItemDirectRequest } from "@spt/models/eft/inventory/IAddItemDirectRequest";
|
import { IAddItemDirectRequest } from "@spt/models/eft/inventory/IAddItemDirectRequest";
|
||||||
import { AddItem } from "@spt/models/eft/inventory/IAddItemRequestData";
|
|
||||||
import { IAddItemsDirectRequest } from "@spt/models/eft/inventory/IAddItemsDirectRequest";
|
import { IAddItemsDirectRequest } from "@spt/models/eft/inventory/IAddItemsDirectRequest";
|
||||||
import { IAddItemTempObject } from "@spt/models/eft/inventory/IAddItemTempObject";
|
|
||||||
import { IInventoryMergeRequestData } from "@spt/models/eft/inventory/IInventoryMergeRequestData";
|
import { IInventoryMergeRequestData } from "@spt/models/eft/inventory/IInventoryMergeRequestData";
|
||||||
import { IInventoryMoveRequestData } from "@spt/models/eft/inventory/IInventoryMoveRequestData";
|
import { IInventoryMoveRequestData } from "@spt/models/eft/inventory/IInventoryMoveRequestData";
|
||||||
import { IInventoryRemoveRequestData } from "@spt/models/eft/inventory/IInventoryRemoveRequestData";
|
import { IInventoryRemoveRequestData } from "@spt/models/eft/inventory/IInventoryRemoveRequestData";
|
||||||
@ -106,19 +104,12 @@ export declare class InventoryHelper {
|
|||||||
* Find a location to place an item into inventory and place it
|
* Find a location to place an item into inventory and place it
|
||||||
* @param stashFS2D 2-dimensional representation of the container slots
|
* @param stashFS2D 2-dimensional representation of the container slots
|
||||||
* @param sortingTableFS2D 2-dimensional representation of the sorting table slots
|
* @param sortingTableFS2D 2-dimensional representation of the sorting table slots
|
||||||
* @param itemWithChildren Item to place
|
* @param itemWithChildren Item to place with children
|
||||||
* @param playerInventory
|
* @param playerInventory Players inventory
|
||||||
* @param useSortingTable Should sorting table to be used if main stash has no space
|
* @param useSortingTable Should sorting table to be used if main stash has no space
|
||||||
* @param output output to send back to client
|
* @param output output to send back to client
|
||||||
*/
|
*/
|
||||||
protected placeItemInInventory(stashFS2D: number[][], sortingTableFS2D: number[][], itemWithChildren: Item[], playerInventory: Inventory, useSortingTable: boolean, output: IItemEventRouterResponse): void;
|
protected placeItemInInventory(stashFS2D: number[][], sortingTableFS2D: number[][], itemWithChildren: Item[], playerInventory: Inventory, useSortingTable: boolean, output: IItemEventRouterResponse): void;
|
||||||
/**
|
|
||||||
* Split an items stack size based on its StackMaxSize value
|
|
||||||
* @param assortItems Items to add to inventory
|
|
||||||
* @param requestItem Details of purchased item to add to inventory
|
|
||||||
* @param result Array split stacks are appended to
|
|
||||||
*/
|
|
||||||
protected splitStackIntoSmallerChildStacks(assortItems: Item[], requestItem: AddItem, result: IAddItemTempObject[]): void;
|
|
||||||
/**
|
/**
|
||||||
* Handle Remove event
|
* Handle Remove event
|
||||||
* Remove item from player inventory + insured items array
|
* Remove item from player inventory + insured items array
|
||||||
@ -154,6 +145,14 @@ export declare class InventoryHelper {
|
|||||||
* @returns [width, height]
|
* @returns [width, height]
|
||||||
*/
|
*/
|
||||||
getItemSize(itemTpl: string, itemID: string, inventoryItems: Item[]): number[];
|
getItemSize(itemTpl: string, itemID: string, inventoryItems: Item[]): number[];
|
||||||
|
/**
|
||||||
|
* Calculates the size of an item including attachements
|
||||||
|
* takes into account if item is folded
|
||||||
|
* @param itemTpl Items template id
|
||||||
|
* @param itemID Items id
|
||||||
|
* @param inventoryItemHash Hashmap of inventory items
|
||||||
|
* @returns An array representing the [width, height] of the item
|
||||||
|
*/
|
||||||
protected getSizeByInventoryItemHash(itemTpl: string, itemID: string, inventoryItemHash: InventoryHelper.InventoryItemHash): number[];
|
protected getSizeByInventoryItemHash(itemTpl: string, itemID: string, inventoryItemHash: InventoryHelper.InventoryItemHash): number[];
|
||||||
/**
|
/**
|
||||||
* Get a blank two-dimentional representation of a container
|
* Get a blank two-dimentional representation of a container
|
||||||
|
@ -27,7 +27,8 @@ export interface FenceConfig {
|
|||||||
presetPriceMult: number;
|
presetPriceMult: number;
|
||||||
armorMaxDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
armorMaxDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
||||||
weaponDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
weaponDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
||||||
chancePlateExistsInArmorPercent: number;
|
/** Keyed to plate protection level */
|
||||||
|
chancePlateExistsInArmorPercent: Record<string, number>;
|
||||||
/** Key: item tpl */
|
/** Key: item tpl */
|
||||||
itemStackSizeOverrideMinMax: Record<string, MinMax>;
|
itemStackSizeOverrideMinMax: Record<string, MinMax>;
|
||||||
itemTypeLimits: Record<string, number>;
|
itemTypeLimits: Record<string, number>;
|
||||||
|
@ -4,7 +4,7 @@ import { PresetHelper } from "@spt/helpers/PresetHelper";
|
|||||||
import { IFenceLevel } from "@spt/models/eft/common/IGlobals";
|
import { IFenceLevel } from "@spt/models/eft/common/IGlobals";
|
||||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||||
import { Item, Repairable } from "@spt/models/eft/common/tables/IItem";
|
import { Item, Repairable } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
import { ITemplateItem, Slot } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||||
import { IBarterScheme, ITraderAssort } from "@spt/models/eft/common/tables/ITrader";
|
import { IBarterScheme, ITraderAssort } from "@spt/models/eft/common/tables/ITrader";
|
||||||
import { IItemDurabilityCurrentMax, ITraderConfig } from "@spt/models/spt/config/ITraderConfig";
|
import { IItemDurabilityCurrentMax, ITraderConfig } from "@spt/models/spt/config/ITraderConfig";
|
||||||
import { ICreateFenceAssortsResult } from "@spt/models/spt/fence/ICreateFenceAssortsResult";
|
import { ICreateFenceAssortsResult } from "@spt/models/spt/fence/ICreateFenceAssortsResult";
|
||||||
@ -254,6 +254,19 @@ export declare class FenceService {
|
|||||||
* @param itemDbDetails Armor items db template
|
* @param itemDbDetails Armor items db template
|
||||||
*/
|
*/
|
||||||
protected randomiseArmorModDurability(armor: Item[], itemDbDetails: ITemplateItem): void;
|
protected randomiseArmorModDurability(armor: Item[], itemDbDetails: ITemplateItem): void;
|
||||||
|
/**
|
||||||
|
* Randomise the durability values of items on armor with a passed in slot
|
||||||
|
* @param softInsertSlots Slots of items to randomise
|
||||||
|
* @param armorItemAndMods Array of armor + inserts to get items from
|
||||||
|
*/
|
||||||
|
protected randomiseArmorSoftInsertDurabilities(softInsertSlots: Slot[], armorItemAndMods: Item[]): void;
|
||||||
|
/**
|
||||||
|
* Randomise the durability values of plate items in armor
|
||||||
|
* Has chance to remove plate
|
||||||
|
* @param plateSlots Slots of items to randomise
|
||||||
|
* @param armorItemAndMods Array of armor + inserts to get items from
|
||||||
|
*/
|
||||||
|
protected randomiseArmorInsertsDurabilities(plateSlots: Slot[], armorItemAndMods: Item[]): void;
|
||||||
/**
|
/**
|
||||||
* Get stack size of a singular item (no mods)
|
* Get stack size of a singular item (no mods)
|
||||||
* @param itemDbDetails item being added to fence
|
* @param itemDbDetails item being added to fence
|
||||||
|
@ -148,11 +148,12 @@ export declare class RepeatableQuestController {
|
|||||||
changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse;
|
changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse;
|
||||||
protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest;
|
protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest;
|
||||||
/**
|
/**
|
||||||
* Some accounts have access to repeatable quest refreshes for free
|
* Some accounts have access to free repeatable quest refreshes
|
||||||
* Track the usage of them inside players profile
|
* Track the usage of them inside players profile
|
||||||
* @param fullProfile Profile of player
|
* @param fullProfile Player profile
|
||||||
* @param repeatableSubType Can be daily/weekly/scav repeatables
|
* @param repeatableSubType Can be daily / weekly / scav repeatable
|
||||||
* @param repeatableTypeName Subtype of repeatables: daily / weekly / scav
|
* @param repeatableTypeName Subtype of repeatable quest: daily / weekly / scav
|
||||||
|
* @returns Is the repeatable being replaced for free
|
||||||
*/
|
*/
|
||||||
protected handleFreeRefreshUses(fullProfile: ISptProfile, repeatableSubType: IPmcDataRepeatableQuest, repeatableTypeName: string): void;
|
protected useFreeRefreshIfAvailable(fullProfile: ISptProfile, repeatableSubType: IPmcDataRepeatableQuest, repeatableTypeName: string): boolean;
|
||||||
}
|
}
|
||||||
|
@ -170,7 +170,7 @@ export declare class RagfairOfferGenerator {
|
|||||||
* @param tpl Item to look for matching condition object
|
* @param tpl Item to look for matching condition object
|
||||||
* @returns condition id
|
* @returns condition id
|
||||||
*/
|
*/
|
||||||
protected getDynamicConditionIdForTpl(tpl: string): string;
|
protected getDynamicConditionIdForTpl(tpl: string): string | undefined;
|
||||||
/**
|
/**
|
||||||
* Alter an items condition based on its item base type
|
* Alter an items condition based on its item base type
|
||||||
* @param conditionSettingsId also the parentId of item being altered
|
* @param conditionSettingsId also the parentId of item being altered
|
||||||
|
@ -22,12 +22,12 @@ export declare class HealthHelper {
|
|||||||
*/
|
*/
|
||||||
resetVitality(sessionID: string): ISptProfile;
|
resetVitality(sessionID: string): ISptProfile;
|
||||||
/**
|
/**
|
||||||
* Update player profile with changes from request object
|
* Update player profile vitality values with changes from client request object
|
||||||
* @param pmcData Player profile
|
* @param pmcData Player profile
|
||||||
* @param request Heal request
|
* @param request Heal request
|
||||||
* @param sessionID Session id
|
* @param sessionID Session id
|
||||||
* @param addEffects Should effects be added or removed (default - add)
|
* @param addEffects Should effects be added to profile (default - true)
|
||||||
* @param deleteExistingEffects Should all prior effects be removed before apply new ones
|
* @param deleteExistingEffects Should all prior effects be removed before apply new ones (default - true)
|
||||||
*/
|
*/
|
||||||
saveVitality(pmcData: IPmcData, request: ISyncHealthRequestData, sessionID: string, addEffects?: boolean, deleteExistingEffects?: boolean): void;
|
saveVitality(pmcData: IPmcData, request: ISyncHealthRequestData, sessionID: string, addEffects?: boolean, deleteExistingEffects?: boolean): void;
|
||||||
/**
|
/**
|
||||||
|
@ -9,9 +9,7 @@ import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
|||||||
import { Inventory } from "@spt/models/eft/common/tables/IBotBase";
|
import { Inventory } from "@spt/models/eft/common/tables/IBotBase";
|
||||||
import { Item, Upd } from "@spt/models/eft/common/tables/IItem";
|
import { Item, Upd } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { IAddItemDirectRequest } from "@spt/models/eft/inventory/IAddItemDirectRequest";
|
import { IAddItemDirectRequest } from "@spt/models/eft/inventory/IAddItemDirectRequest";
|
||||||
import { AddItem } from "@spt/models/eft/inventory/IAddItemRequestData";
|
|
||||||
import { IAddItemsDirectRequest } from "@spt/models/eft/inventory/IAddItemsDirectRequest";
|
import { IAddItemsDirectRequest } from "@spt/models/eft/inventory/IAddItemsDirectRequest";
|
||||||
import { IAddItemTempObject } from "@spt/models/eft/inventory/IAddItemTempObject";
|
|
||||||
import { IInventoryMergeRequestData } from "@spt/models/eft/inventory/IInventoryMergeRequestData";
|
import { IInventoryMergeRequestData } from "@spt/models/eft/inventory/IInventoryMergeRequestData";
|
||||||
import { IInventoryMoveRequestData } from "@spt/models/eft/inventory/IInventoryMoveRequestData";
|
import { IInventoryMoveRequestData } from "@spt/models/eft/inventory/IInventoryMoveRequestData";
|
||||||
import { IInventoryRemoveRequestData } from "@spt/models/eft/inventory/IInventoryRemoveRequestData";
|
import { IInventoryRemoveRequestData } from "@spt/models/eft/inventory/IInventoryRemoveRequestData";
|
||||||
@ -106,19 +104,12 @@ export declare class InventoryHelper {
|
|||||||
* Find a location to place an item into inventory and place it
|
* Find a location to place an item into inventory and place it
|
||||||
* @param stashFS2D 2-dimensional representation of the container slots
|
* @param stashFS2D 2-dimensional representation of the container slots
|
||||||
* @param sortingTableFS2D 2-dimensional representation of the sorting table slots
|
* @param sortingTableFS2D 2-dimensional representation of the sorting table slots
|
||||||
* @param itemWithChildren Item to place
|
* @param itemWithChildren Item to place with children
|
||||||
* @param playerInventory
|
* @param playerInventory Players inventory
|
||||||
* @param useSortingTable Should sorting table to be used if main stash has no space
|
* @param useSortingTable Should sorting table to be used if main stash has no space
|
||||||
* @param output output to send back to client
|
* @param output output to send back to client
|
||||||
*/
|
*/
|
||||||
protected placeItemInInventory(stashFS2D: number[][], sortingTableFS2D: number[][], itemWithChildren: Item[], playerInventory: Inventory, useSortingTable: boolean, output: IItemEventRouterResponse): void;
|
protected placeItemInInventory(stashFS2D: number[][], sortingTableFS2D: number[][], itemWithChildren: Item[], playerInventory: Inventory, useSortingTable: boolean, output: IItemEventRouterResponse): void;
|
||||||
/**
|
|
||||||
* Split an items stack size based on its StackMaxSize value
|
|
||||||
* @param assortItems Items to add to inventory
|
|
||||||
* @param requestItem Details of purchased item to add to inventory
|
|
||||||
* @param result Array split stacks are appended to
|
|
||||||
*/
|
|
||||||
protected splitStackIntoSmallerChildStacks(assortItems: Item[], requestItem: AddItem, result: IAddItemTempObject[]): void;
|
|
||||||
/**
|
/**
|
||||||
* Handle Remove event
|
* Handle Remove event
|
||||||
* Remove item from player inventory + insured items array
|
* Remove item from player inventory + insured items array
|
||||||
@ -154,6 +145,14 @@ export declare class InventoryHelper {
|
|||||||
* @returns [width, height]
|
* @returns [width, height]
|
||||||
*/
|
*/
|
||||||
getItemSize(itemTpl: string, itemID: string, inventoryItems: Item[]): number[];
|
getItemSize(itemTpl: string, itemID: string, inventoryItems: Item[]): number[];
|
||||||
|
/**
|
||||||
|
* Calculates the size of an item including attachements
|
||||||
|
* takes into account if item is folded
|
||||||
|
* @param itemTpl Items template id
|
||||||
|
* @param itemID Items id
|
||||||
|
* @param inventoryItemHash Hashmap of inventory items
|
||||||
|
* @returns An array representing the [width, height] of the item
|
||||||
|
*/
|
||||||
protected getSizeByInventoryItemHash(itemTpl: string, itemID: string, inventoryItemHash: InventoryHelper.InventoryItemHash): number[];
|
protected getSizeByInventoryItemHash(itemTpl: string, itemID: string, inventoryItemHash: InventoryHelper.InventoryItemHash): number[];
|
||||||
/**
|
/**
|
||||||
* Get a blank two-dimentional representation of a container
|
* Get a blank two-dimentional representation of a container
|
||||||
|
@ -27,7 +27,8 @@ export interface FenceConfig {
|
|||||||
presetPriceMult: number;
|
presetPriceMult: number;
|
||||||
armorMaxDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
armorMaxDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
||||||
weaponDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
weaponDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
||||||
chancePlateExistsInArmorPercent: number;
|
/** Keyed to plate protection level */
|
||||||
|
chancePlateExistsInArmorPercent: Record<string, number>;
|
||||||
/** Key: item tpl */
|
/** Key: item tpl */
|
||||||
itemStackSizeOverrideMinMax: Record<string, MinMax>;
|
itemStackSizeOverrideMinMax: Record<string, MinMax>;
|
||||||
itemTypeLimits: Record<string, number>;
|
itemTypeLimits: Record<string, number>;
|
||||||
|
@ -4,7 +4,7 @@ import { PresetHelper } from "@spt/helpers/PresetHelper";
|
|||||||
import { IFenceLevel } from "@spt/models/eft/common/IGlobals";
|
import { IFenceLevel } from "@spt/models/eft/common/IGlobals";
|
||||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||||
import { Item, Repairable } from "@spt/models/eft/common/tables/IItem";
|
import { Item, Repairable } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
import { ITemplateItem, Slot } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||||
import { IBarterScheme, ITraderAssort } from "@spt/models/eft/common/tables/ITrader";
|
import { IBarterScheme, ITraderAssort } from "@spt/models/eft/common/tables/ITrader";
|
||||||
import { IItemDurabilityCurrentMax, ITraderConfig } from "@spt/models/spt/config/ITraderConfig";
|
import { IItemDurabilityCurrentMax, ITraderConfig } from "@spt/models/spt/config/ITraderConfig";
|
||||||
import { ICreateFenceAssortsResult } from "@spt/models/spt/fence/ICreateFenceAssortsResult";
|
import { ICreateFenceAssortsResult } from "@spt/models/spt/fence/ICreateFenceAssortsResult";
|
||||||
@ -254,6 +254,19 @@ export declare class FenceService {
|
|||||||
* @param itemDbDetails Armor items db template
|
* @param itemDbDetails Armor items db template
|
||||||
*/
|
*/
|
||||||
protected randomiseArmorModDurability(armor: Item[], itemDbDetails: ITemplateItem): void;
|
protected randomiseArmorModDurability(armor: Item[], itemDbDetails: ITemplateItem): void;
|
||||||
|
/**
|
||||||
|
* Randomise the durability values of items on armor with a passed in slot
|
||||||
|
* @param softInsertSlots Slots of items to randomise
|
||||||
|
* @param armorItemAndMods Array of armor + inserts to get items from
|
||||||
|
*/
|
||||||
|
protected randomiseArmorSoftInsertDurabilities(softInsertSlots: Slot[], armorItemAndMods: Item[]): void;
|
||||||
|
/**
|
||||||
|
* Randomise the durability values of plate items in armor
|
||||||
|
* Has chance to remove plate
|
||||||
|
* @param plateSlots Slots of items to randomise
|
||||||
|
* @param armorItemAndMods Array of armor + inserts to get items from
|
||||||
|
*/
|
||||||
|
protected randomiseArmorInsertsDurabilities(plateSlots: Slot[], armorItemAndMods: Item[]): void;
|
||||||
/**
|
/**
|
||||||
* Get stack size of a singular item (no mods)
|
* Get stack size of a singular item (no mods)
|
||||||
* @param itemDbDetails item being added to fence
|
* @param itemDbDetails item being added to fence
|
||||||
|
@ -148,11 +148,12 @@ export declare class RepeatableQuestController {
|
|||||||
changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse;
|
changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse;
|
||||||
protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest;
|
protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest;
|
||||||
/**
|
/**
|
||||||
* Some accounts have access to repeatable quest refreshes for free
|
* Some accounts have access to free repeatable quest refreshes
|
||||||
* Track the usage of them inside players profile
|
* Track the usage of them inside players profile
|
||||||
* @param fullProfile Profile of player
|
* @param fullProfile Player profile
|
||||||
* @param repeatableSubType Can be daily/weekly/scav repeatables
|
* @param repeatableSubType Can be daily / weekly / scav repeatable
|
||||||
* @param repeatableTypeName Subtype of repeatables: daily / weekly / scav
|
* @param repeatableTypeName Subtype of repeatable quest: daily / weekly / scav
|
||||||
|
* @returns Is the repeatable being replaced for free
|
||||||
*/
|
*/
|
||||||
protected handleFreeRefreshUses(fullProfile: ISptProfile, repeatableSubType: IPmcDataRepeatableQuest, repeatableTypeName: string): void;
|
protected useFreeRefreshIfAvailable(fullProfile: ISptProfile, repeatableSubType: IPmcDataRepeatableQuest, repeatableTypeName: string): boolean;
|
||||||
}
|
}
|
||||||
|
@ -170,7 +170,7 @@ export declare class RagfairOfferGenerator {
|
|||||||
* @param tpl Item to look for matching condition object
|
* @param tpl Item to look for matching condition object
|
||||||
* @returns condition id
|
* @returns condition id
|
||||||
*/
|
*/
|
||||||
protected getDynamicConditionIdForTpl(tpl: string): string;
|
protected getDynamicConditionIdForTpl(tpl: string): string | undefined;
|
||||||
/**
|
/**
|
||||||
* Alter an items condition based on its item base type
|
* Alter an items condition based on its item base type
|
||||||
* @param conditionSettingsId also the parentId of item being altered
|
* @param conditionSettingsId also the parentId of item being altered
|
||||||
|
@ -22,12 +22,12 @@ export declare class HealthHelper {
|
|||||||
*/
|
*/
|
||||||
resetVitality(sessionID: string): ISptProfile;
|
resetVitality(sessionID: string): ISptProfile;
|
||||||
/**
|
/**
|
||||||
* Update player profile with changes from request object
|
* Update player profile vitality values with changes from client request object
|
||||||
* @param pmcData Player profile
|
* @param pmcData Player profile
|
||||||
* @param request Heal request
|
* @param request Heal request
|
||||||
* @param sessionID Session id
|
* @param sessionID Session id
|
||||||
* @param addEffects Should effects be added or removed (default - add)
|
* @param addEffects Should effects be added to profile (default - true)
|
||||||
* @param deleteExistingEffects Should all prior effects be removed before apply new ones
|
* @param deleteExistingEffects Should all prior effects be removed before apply new ones (default - true)
|
||||||
*/
|
*/
|
||||||
saveVitality(pmcData: IPmcData, request: ISyncHealthRequestData, sessionID: string, addEffects?: boolean, deleteExistingEffects?: boolean): void;
|
saveVitality(pmcData: IPmcData, request: ISyncHealthRequestData, sessionID: string, addEffects?: boolean, deleteExistingEffects?: boolean): void;
|
||||||
/**
|
/**
|
||||||
|
@ -9,9 +9,7 @@ import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
|||||||
import { Inventory } from "@spt/models/eft/common/tables/IBotBase";
|
import { Inventory } from "@spt/models/eft/common/tables/IBotBase";
|
||||||
import { Item, Upd } from "@spt/models/eft/common/tables/IItem";
|
import { Item, Upd } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { IAddItemDirectRequest } from "@spt/models/eft/inventory/IAddItemDirectRequest";
|
import { IAddItemDirectRequest } from "@spt/models/eft/inventory/IAddItemDirectRequest";
|
||||||
import { AddItem } from "@spt/models/eft/inventory/IAddItemRequestData";
|
|
||||||
import { IAddItemsDirectRequest } from "@spt/models/eft/inventory/IAddItemsDirectRequest";
|
import { IAddItemsDirectRequest } from "@spt/models/eft/inventory/IAddItemsDirectRequest";
|
||||||
import { IAddItemTempObject } from "@spt/models/eft/inventory/IAddItemTempObject";
|
|
||||||
import { IInventoryMergeRequestData } from "@spt/models/eft/inventory/IInventoryMergeRequestData";
|
import { IInventoryMergeRequestData } from "@spt/models/eft/inventory/IInventoryMergeRequestData";
|
||||||
import { IInventoryMoveRequestData } from "@spt/models/eft/inventory/IInventoryMoveRequestData";
|
import { IInventoryMoveRequestData } from "@spt/models/eft/inventory/IInventoryMoveRequestData";
|
||||||
import { IInventoryRemoveRequestData } from "@spt/models/eft/inventory/IInventoryRemoveRequestData";
|
import { IInventoryRemoveRequestData } from "@spt/models/eft/inventory/IInventoryRemoveRequestData";
|
||||||
@ -106,19 +104,12 @@ export declare class InventoryHelper {
|
|||||||
* Find a location to place an item into inventory and place it
|
* Find a location to place an item into inventory and place it
|
||||||
* @param stashFS2D 2-dimensional representation of the container slots
|
* @param stashFS2D 2-dimensional representation of the container slots
|
||||||
* @param sortingTableFS2D 2-dimensional representation of the sorting table slots
|
* @param sortingTableFS2D 2-dimensional representation of the sorting table slots
|
||||||
* @param itemWithChildren Item to place
|
* @param itemWithChildren Item to place with children
|
||||||
* @param playerInventory
|
* @param playerInventory Players inventory
|
||||||
* @param useSortingTable Should sorting table to be used if main stash has no space
|
* @param useSortingTable Should sorting table to be used if main stash has no space
|
||||||
* @param output output to send back to client
|
* @param output output to send back to client
|
||||||
*/
|
*/
|
||||||
protected placeItemInInventory(stashFS2D: number[][], sortingTableFS2D: number[][], itemWithChildren: Item[], playerInventory: Inventory, useSortingTable: boolean, output: IItemEventRouterResponse): void;
|
protected placeItemInInventory(stashFS2D: number[][], sortingTableFS2D: number[][], itemWithChildren: Item[], playerInventory: Inventory, useSortingTable: boolean, output: IItemEventRouterResponse): void;
|
||||||
/**
|
|
||||||
* Split an items stack size based on its StackMaxSize value
|
|
||||||
* @param assortItems Items to add to inventory
|
|
||||||
* @param requestItem Details of purchased item to add to inventory
|
|
||||||
* @param result Array split stacks are appended to
|
|
||||||
*/
|
|
||||||
protected splitStackIntoSmallerChildStacks(assortItems: Item[], requestItem: AddItem, result: IAddItemTempObject[]): void;
|
|
||||||
/**
|
/**
|
||||||
* Handle Remove event
|
* Handle Remove event
|
||||||
* Remove item from player inventory + insured items array
|
* Remove item from player inventory + insured items array
|
||||||
@ -154,6 +145,14 @@ export declare class InventoryHelper {
|
|||||||
* @returns [width, height]
|
* @returns [width, height]
|
||||||
*/
|
*/
|
||||||
getItemSize(itemTpl: string, itemID: string, inventoryItems: Item[]): number[];
|
getItemSize(itemTpl: string, itemID: string, inventoryItems: Item[]): number[];
|
||||||
|
/**
|
||||||
|
* Calculates the size of an item including attachements
|
||||||
|
* takes into account if item is folded
|
||||||
|
* @param itemTpl Items template id
|
||||||
|
* @param itemID Items id
|
||||||
|
* @param inventoryItemHash Hashmap of inventory items
|
||||||
|
* @returns An array representing the [width, height] of the item
|
||||||
|
*/
|
||||||
protected getSizeByInventoryItemHash(itemTpl: string, itemID: string, inventoryItemHash: InventoryHelper.InventoryItemHash): number[];
|
protected getSizeByInventoryItemHash(itemTpl: string, itemID: string, inventoryItemHash: InventoryHelper.InventoryItemHash): number[];
|
||||||
/**
|
/**
|
||||||
* Get a blank two-dimentional representation of a container
|
* Get a blank two-dimentional representation of a container
|
||||||
|
@ -27,7 +27,8 @@ export interface FenceConfig {
|
|||||||
presetPriceMult: number;
|
presetPriceMult: number;
|
||||||
armorMaxDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
armorMaxDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
||||||
weaponDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
weaponDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
||||||
chancePlateExistsInArmorPercent: number;
|
/** Keyed to plate protection level */
|
||||||
|
chancePlateExistsInArmorPercent: Record<string, number>;
|
||||||
/** Key: item tpl */
|
/** Key: item tpl */
|
||||||
itemStackSizeOverrideMinMax: Record<string, MinMax>;
|
itemStackSizeOverrideMinMax: Record<string, MinMax>;
|
||||||
itemTypeLimits: Record<string, number>;
|
itemTypeLimits: Record<string, number>;
|
||||||
|
@ -4,7 +4,7 @@ import { PresetHelper } from "@spt/helpers/PresetHelper";
|
|||||||
import { IFenceLevel } from "@spt/models/eft/common/IGlobals";
|
import { IFenceLevel } from "@spt/models/eft/common/IGlobals";
|
||||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||||
import { Item, Repairable } from "@spt/models/eft/common/tables/IItem";
|
import { Item, Repairable } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
import { ITemplateItem, Slot } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||||
import { IBarterScheme, ITraderAssort } from "@spt/models/eft/common/tables/ITrader";
|
import { IBarterScheme, ITraderAssort } from "@spt/models/eft/common/tables/ITrader";
|
||||||
import { IItemDurabilityCurrentMax, ITraderConfig } from "@spt/models/spt/config/ITraderConfig";
|
import { IItemDurabilityCurrentMax, ITraderConfig } from "@spt/models/spt/config/ITraderConfig";
|
||||||
import { ICreateFenceAssortsResult } from "@spt/models/spt/fence/ICreateFenceAssortsResult";
|
import { ICreateFenceAssortsResult } from "@spt/models/spt/fence/ICreateFenceAssortsResult";
|
||||||
@ -254,6 +254,19 @@ export declare class FenceService {
|
|||||||
* @param itemDbDetails Armor items db template
|
* @param itemDbDetails Armor items db template
|
||||||
*/
|
*/
|
||||||
protected randomiseArmorModDurability(armor: Item[], itemDbDetails: ITemplateItem): void;
|
protected randomiseArmorModDurability(armor: Item[], itemDbDetails: ITemplateItem): void;
|
||||||
|
/**
|
||||||
|
* Randomise the durability values of items on armor with a passed in slot
|
||||||
|
* @param softInsertSlots Slots of items to randomise
|
||||||
|
* @param armorItemAndMods Array of armor + inserts to get items from
|
||||||
|
*/
|
||||||
|
protected randomiseArmorSoftInsertDurabilities(softInsertSlots: Slot[], armorItemAndMods: Item[]): void;
|
||||||
|
/**
|
||||||
|
* Randomise the durability values of plate items in armor
|
||||||
|
* Has chance to remove plate
|
||||||
|
* @param plateSlots Slots of items to randomise
|
||||||
|
* @param armorItemAndMods Array of armor + inserts to get items from
|
||||||
|
*/
|
||||||
|
protected randomiseArmorInsertsDurabilities(plateSlots: Slot[], armorItemAndMods: Item[]): void;
|
||||||
/**
|
/**
|
||||||
* Get stack size of a singular item (no mods)
|
* Get stack size of a singular item (no mods)
|
||||||
* @param itemDbDetails item being added to fence
|
* @param itemDbDetails item being added to fence
|
||||||
|
@ -148,11 +148,12 @@ export declare class RepeatableQuestController {
|
|||||||
changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse;
|
changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse;
|
||||||
protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest;
|
protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest;
|
||||||
/**
|
/**
|
||||||
* Some accounts have access to repeatable quest refreshes for free
|
* Some accounts have access to free repeatable quest refreshes
|
||||||
* Track the usage of them inside players profile
|
* Track the usage of them inside players profile
|
||||||
* @param fullProfile Profile of player
|
* @param fullProfile Player profile
|
||||||
* @param repeatableSubType Can be daily/weekly/scav repeatables
|
* @param repeatableSubType Can be daily / weekly / scav repeatable
|
||||||
* @param repeatableTypeName Subtype of repeatables: daily / weekly / scav
|
* @param repeatableTypeName Subtype of repeatable quest: daily / weekly / scav
|
||||||
|
* @returns Is the repeatable being replaced for free
|
||||||
*/
|
*/
|
||||||
protected handleFreeRefreshUses(fullProfile: ISptProfile, repeatableSubType: IPmcDataRepeatableQuest, repeatableTypeName: string): void;
|
protected useFreeRefreshIfAvailable(fullProfile: ISptProfile, repeatableSubType: IPmcDataRepeatableQuest, repeatableTypeName: string): boolean;
|
||||||
}
|
}
|
||||||
|
@ -170,7 +170,7 @@ export declare class RagfairOfferGenerator {
|
|||||||
* @param tpl Item to look for matching condition object
|
* @param tpl Item to look for matching condition object
|
||||||
* @returns condition id
|
* @returns condition id
|
||||||
*/
|
*/
|
||||||
protected getDynamicConditionIdForTpl(tpl: string): string;
|
protected getDynamicConditionIdForTpl(tpl: string): string | undefined;
|
||||||
/**
|
/**
|
||||||
* Alter an items condition based on its item base type
|
* Alter an items condition based on its item base type
|
||||||
* @param conditionSettingsId also the parentId of item being altered
|
* @param conditionSettingsId also the parentId of item being altered
|
||||||
|
@ -22,12 +22,12 @@ export declare class HealthHelper {
|
|||||||
*/
|
*/
|
||||||
resetVitality(sessionID: string): ISptProfile;
|
resetVitality(sessionID: string): ISptProfile;
|
||||||
/**
|
/**
|
||||||
* Update player profile with changes from request object
|
* Update player profile vitality values with changes from client request object
|
||||||
* @param pmcData Player profile
|
* @param pmcData Player profile
|
||||||
* @param request Heal request
|
* @param request Heal request
|
||||||
* @param sessionID Session id
|
* @param sessionID Session id
|
||||||
* @param addEffects Should effects be added or removed (default - add)
|
* @param addEffects Should effects be added to profile (default - true)
|
||||||
* @param deleteExistingEffects Should all prior effects be removed before apply new ones
|
* @param deleteExistingEffects Should all prior effects be removed before apply new ones (default - true)
|
||||||
*/
|
*/
|
||||||
saveVitality(pmcData: IPmcData, request: ISyncHealthRequestData, sessionID: string, addEffects?: boolean, deleteExistingEffects?: boolean): void;
|
saveVitality(pmcData: IPmcData, request: ISyncHealthRequestData, sessionID: string, addEffects?: boolean, deleteExistingEffects?: boolean): void;
|
||||||
/**
|
/**
|
||||||
|
@ -9,9 +9,7 @@ import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
|||||||
import { Inventory } from "@spt/models/eft/common/tables/IBotBase";
|
import { Inventory } from "@spt/models/eft/common/tables/IBotBase";
|
||||||
import { Item, Upd } from "@spt/models/eft/common/tables/IItem";
|
import { Item, Upd } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { IAddItemDirectRequest } from "@spt/models/eft/inventory/IAddItemDirectRequest";
|
import { IAddItemDirectRequest } from "@spt/models/eft/inventory/IAddItemDirectRequest";
|
||||||
import { AddItem } from "@spt/models/eft/inventory/IAddItemRequestData";
|
|
||||||
import { IAddItemsDirectRequest } from "@spt/models/eft/inventory/IAddItemsDirectRequest";
|
import { IAddItemsDirectRequest } from "@spt/models/eft/inventory/IAddItemsDirectRequest";
|
||||||
import { IAddItemTempObject } from "@spt/models/eft/inventory/IAddItemTempObject";
|
|
||||||
import { IInventoryMergeRequestData } from "@spt/models/eft/inventory/IInventoryMergeRequestData";
|
import { IInventoryMergeRequestData } from "@spt/models/eft/inventory/IInventoryMergeRequestData";
|
||||||
import { IInventoryMoveRequestData } from "@spt/models/eft/inventory/IInventoryMoveRequestData";
|
import { IInventoryMoveRequestData } from "@spt/models/eft/inventory/IInventoryMoveRequestData";
|
||||||
import { IInventoryRemoveRequestData } from "@spt/models/eft/inventory/IInventoryRemoveRequestData";
|
import { IInventoryRemoveRequestData } from "@spt/models/eft/inventory/IInventoryRemoveRequestData";
|
||||||
@ -106,19 +104,12 @@ export declare class InventoryHelper {
|
|||||||
* Find a location to place an item into inventory and place it
|
* Find a location to place an item into inventory and place it
|
||||||
* @param stashFS2D 2-dimensional representation of the container slots
|
* @param stashFS2D 2-dimensional representation of the container slots
|
||||||
* @param sortingTableFS2D 2-dimensional representation of the sorting table slots
|
* @param sortingTableFS2D 2-dimensional representation of the sorting table slots
|
||||||
* @param itemWithChildren Item to place
|
* @param itemWithChildren Item to place with children
|
||||||
* @param playerInventory
|
* @param playerInventory Players inventory
|
||||||
* @param useSortingTable Should sorting table to be used if main stash has no space
|
* @param useSortingTable Should sorting table to be used if main stash has no space
|
||||||
* @param output output to send back to client
|
* @param output output to send back to client
|
||||||
*/
|
*/
|
||||||
protected placeItemInInventory(stashFS2D: number[][], sortingTableFS2D: number[][], itemWithChildren: Item[], playerInventory: Inventory, useSortingTable: boolean, output: IItemEventRouterResponse): void;
|
protected placeItemInInventory(stashFS2D: number[][], sortingTableFS2D: number[][], itemWithChildren: Item[], playerInventory: Inventory, useSortingTable: boolean, output: IItemEventRouterResponse): void;
|
||||||
/**
|
|
||||||
* Split an items stack size based on its StackMaxSize value
|
|
||||||
* @param assortItems Items to add to inventory
|
|
||||||
* @param requestItem Details of purchased item to add to inventory
|
|
||||||
* @param result Array split stacks are appended to
|
|
||||||
*/
|
|
||||||
protected splitStackIntoSmallerChildStacks(assortItems: Item[], requestItem: AddItem, result: IAddItemTempObject[]): void;
|
|
||||||
/**
|
/**
|
||||||
* Handle Remove event
|
* Handle Remove event
|
||||||
* Remove item from player inventory + insured items array
|
* Remove item from player inventory + insured items array
|
||||||
@ -154,6 +145,14 @@ export declare class InventoryHelper {
|
|||||||
* @returns [width, height]
|
* @returns [width, height]
|
||||||
*/
|
*/
|
||||||
getItemSize(itemTpl: string, itemID: string, inventoryItems: Item[]): number[];
|
getItemSize(itemTpl: string, itemID: string, inventoryItems: Item[]): number[];
|
||||||
|
/**
|
||||||
|
* Calculates the size of an item including attachements
|
||||||
|
* takes into account if item is folded
|
||||||
|
* @param itemTpl Items template id
|
||||||
|
* @param itemID Items id
|
||||||
|
* @param inventoryItemHash Hashmap of inventory items
|
||||||
|
* @returns An array representing the [width, height] of the item
|
||||||
|
*/
|
||||||
protected getSizeByInventoryItemHash(itemTpl: string, itemID: string, inventoryItemHash: InventoryHelper.InventoryItemHash): number[];
|
protected getSizeByInventoryItemHash(itemTpl: string, itemID: string, inventoryItemHash: InventoryHelper.InventoryItemHash): number[];
|
||||||
/**
|
/**
|
||||||
* Get a blank two-dimentional representation of a container
|
* Get a blank two-dimentional representation of a container
|
||||||
|
@ -27,7 +27,8 @@ export interface FenceConfig {
|
|||||||
presetPriceMult: number;
|
presetPriceMult: number;
|
||||||
armorMaxDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
armorMaxDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
||||||
weaponDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
weaponDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
||||||
chancePlateExistsInArmorPercent: number;
|
/** Keyed to plate protection level */
|
||||||
|
chancePlateExistsInArmorPercent: Record<string, number>;
|
||||||
/** Key: item tpl */
|
/** Key: item tpl */
|
||||||
itemStackSizeOverrideMinMax: Record<string, MinMax>;
|
itemStackSizeOverrideMinMax: Record<string, MinMax>;
|
||||||
itemTypeLimits: Record<string, number>;
|
itemTypeLimits: Record<string, number>;
|
||||||
|
@ -4,7 +4,7 @@ import { PresetHelper } from "@spt/helpers/PresetHelper";
|
|||||||
import { IFenceLevel } from "@spt/models/eft/common/IGlobals";
|
import { IFenceLevel } from "@spt/models/eft/common/IGlobals";
|
||||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||||
import { Item, Repairable } from "@spt/models/eft/common/tables/IItem";
|
import { Item, Repairable } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
import { ITemplateItem, Slot } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||||
import { IBarterScheme, ITraderAssort } from "@spt/models/eft/common/tables/ITrader";
|
import { IBarterScheme, ITraderAssort } from "@spt/models/eft/common/tables/ITrader";
|
||||||
import { IItemDurabilityCurrentMax, ITraderConfig } from "@spt/models/spt/config/ITraderConfig";
|
import { IItemDurabilityCurrentMax, ITraderConfig } from "@spt/models/spt/config/ITraderConfig";
|
||||||
import { ICreateFenceAssortsResult } from "@spt/models/spt/fence/ICreateFenceAssortsResult";
|
import { ICreateFenceAssortsResult } from "@spt/models/spt/fence/ICreateFenceAssortsResult";
|
||||||
@ -254,6 +254,19 @@ export declare class FenceService {
|
|||||||
* @param itemDbDetails Armor items db template
|
* @param itemDbDetails Armor items db template
|
||||||
*/
|
*/
|
||||||
protected randomiseArmorModDurability(armor: Item[], itemDbDetails: ITemplateItem): void;
|
protected randomiseArmorModDurability(armor: Item[], itemDbDetails: ITemplateItem): void;
|
||||||
|
/**
|
||||||
|
* Randomise the durability values of items on armor with a passed in slot
|
||||||
|
* @param softInsertSlots Slots of items to randomise
|
||||||
|
* @param armorItemAndMods Array of armor + inserts to get items from
|
||||||
|
*/
|
||||||
|
protected randomiseArmorSoftInsertDurabilities(softInsertSlots: Slot[], armorItemAndMods: Item[]): void;
|
||||||
|
/**
|
||||||
|
* Randomise the durability values of plate items in armor
|
||||||
|
* Has chance to remove plate
|
||||||
|
* @param plateSlots Slots of items to randomise
|
||||||
|
* @param armorItemAndMods Array of armor + inserts to get items from
|
||||||
|
*/
|
||||||
|
protected randomiseArmorInsertsDurabilities(plateSlots: Slot[], armorItemAndMods: Item[]): void;
|
||||||
/**
|
/**
|
||||||
* Get stack size of a singular item (no mods)
|
* Get stack size of a singular item (no mods)
|
||||||
* @param itemDbDetails item being added to fence
|
* @param itemDbDetails item being added to fence
|
||||||
|
@ -148,11 +148,12 @@ export declare class RepeatableQuestController {
|
|||||||
changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse;
|
changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse;
|
||||||
protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest;
|
protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest;
|
||||||
/**
|
/**
|
||||||
* Some accounts have access to repeatable quest refreshes for free
|
* Some accounts have access to free repeatable quest refreshes
|
||||||
* Track the usage of them inside players profile
|
* Track the usage of them inside players profile
|
||||||
* @param fullProfile Profile of player
|
* @param fullProfile Player profile
|
||||||
* @param repeatableSubType Can be daily/weekly/scav repeatables
|
* @param repeatableSubType Can be daily / weekly / scav repeatable
|
||||||
* @param repeatableTypeName Subtype of repeatables: daily / weekly / scav
|
* @param repeatableTypeName Subtype of repeatable quest: daily / weekly / scav
|
||||||
|
* @returns Is the repeatable being replaced for free
|
||||||
*/
|
*/
|
||||||
protected handleFreeRefreshUses(fullProfile: ISptProfile, repeatableSubType: IPmcDataRepeatableQuest, repeatableTypeName: string): void;
|
protected useFreeRefreshIfAvailable(fullProfile: ISptProfile, repeatableSubType: IPmcDataRepeatableQuest, repeatableTypeName: string): boolean;
|
||||||
}
|
}
|
||||||
|
@ -170,7 +170,7 @@ export declare class RagfairOfferGenerator {
|
|||||||
* @param tpl Item to look for matching condition object
|
* @param tpl Item to look for matching condition object
|
||||||
* @returns condition id
|
* @returns condition id
|
||||||
*/
|
*/
|
||||||
protected getDynamicConditionIdForTpl(tpl: string): string;
|
protected getDynamicConditionIdForTpl(tpl: string): string | undefined;
|
||||||
/**
|
/**
|
||||||
* Alter an items condition based on its item base type
|
* Alter an items condition based on its item base type
|
||||||
* @param conditionSettingsId also the parentId of item being altered
|
* @param conditionSettingsId also the parentId of item being altered
|
||||||
|
@ -22,12 +22,12 @@ export declare class HealthHelper {
|
|||||||
*/
|
*/
|
||||||
resetVitality(sessionID: string): ISptProfile;
|
resetVitality(sessionID: string): ISptProfile;
|
||||||
/**
|
/**
|
||||||
* Update player profile with changes from request object
|
* Update player profile vitality values with changes from client request object
|
||||||
* @param pmcData Player profile
|
* @param pmcData Player profile
|
||||||
* @param request Heal request
|
* @param request Heal request
|
||||||
* @param sessionID Session id
|
* @param sessionID Session id
|
||||||
* @param addEffects Should effects be added or removed (default - add)
|
* @param addEffects Should effects be added to profile (default - true)
|
||||||
* @param deleteExistingEffects Should all prior effects be removed before apply new ones
|
* @param deleteExistingEffects Should all prior effects be removed before apply new ones (default - true)
|
||||||
*/
|
*/
|
||||||
saveVitality(pmcData: IPmcData, request: ISyncHealthRequestData, sessionID: string, addEffects?: boolean, deleteExistingEffects?: boolean): void;
|
saveVitality(pmcData: IPmcData, request: ISyncHealthRequestData, sessionID: string, addEffects?: boolean, deleteExistingEffects?: boolean): void;
|
||||||
/**
|
/**
|
||||||
|
@ -9,9 +9,7 @@ import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
|||||||
import { Inventory } from "@spt/models/eft/common/tables/IBotBase";
|
import { Inventory } from "@spt/models/eft/common/tables/IBotBase";
|
||||||
import { Item, Upd } from "@spt/models/eft/common/tables/IItem";
|
import { Item, Upd } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { IAddItemDirectRequest } from "@spt/models/eft/inventory/IAddItemDirectRequest";
|
import { IAddItemDirectRequest } from "@spt/models/eft/inventory/IAddItemDirectRequest";
|
||||||
import { AddItem } from "@spt/models/eft/inventory/IAddItemRequestData";
|
|
||||||
import { IAddItemsDirectRequest } from "@spt/models/eft/inventory/IAddItemsDirectRequest";
|
import { IAddItemsDirectRequest } from "@spt/models/eft/inventory/IAddItemsDirectRequest";
|
||||||
import { IAddItemTempObject } from "@spt/models/eft/inventory/IAddItemTempObject";
|
|
||||||
import { IInventoryMergeRequestData } from "@spt/models/eft/inventory/IInventoryMergeRequestData";
|
import { IInventoryMergeRequestData } from "@spt/models/eft/inventory/IInventoryMergeRequestData";
|
||||||
import { IInventoryMoveRequestData } from "@spt/models/eft/inventory/IInventoryMoveRequestData";
|
import { IInventoryMoveRequestData } from "@spt/models/eft/inventory/IInventoryMoveRequestData";
|
||||||
import { IInventoryRemoveRequestData } from "@spt/models/eft/inventory/IInventoryRemoveRequestData";
|
import { IInventoryRemoveRequestData } from "@spt/models/eft/inventory/IInventoryRemoveRequestData";
|
||||||
@ -106,19 +104,12 @@ export declare class InventoryHelper {
|
|||||||
* Find a location to place an item into inventory and place it
|
* Find a location to place an item into inventory and place it
|
||||||
* @param stashFS2D 2-dimensional representation of the container slots
|
* @param stashFS2D 2-dimensional representation of the container slots
|
||||||
* @param sortingTableFS2D 2-dimensional representation of the sorting table slots
|
* @param sortingTableFS2D 2-dimensional representation of the sorting table slots
|
||||||
* @param itemWithChildren Item to place
|
* @param itemWithChildren Item to place with children
|
||||||
* @param playerInventory
|
* @param playerInventory Players inventory
|
||||||
* @param useSortingTable Should sorting table to be used if main stash has no space
|
* @param useSortingTable Should sorting table to be used if main stash has no space
|
||||||
* @param output output to send back to client
|
* @param output output to send back to client
|
||||||
*/
|
*/
|
||||||
protected placeItemInInventory(stashFS2D: number[][], sortingTableFS2D: number[][], itemWithChildren: Item[], playerInventory: Inventory, useSortingTable: boolean, output: IItemEventRouterResponse): void;
|
protected placeItemInInventory(stashFS2D: number[][], sortingTableFS2D: number[][], itemWithChildren: Item[], playerInventory: Inventory, useSortingTable: boolean, output: IItemEventRouterResponse): void;
|
||||||
/**
|
|
||||||
* Split an items stack size based on its StackMaxSize value
|
|
||||||
* @param assortItems Items to add to inventory
|
|
||||||
* @param requestItem Details of purchased item to add to inventory
|
|
||||||
* @param result Array split stacks are appended to
|
|
||||||
*/
|
|
||||||
protected splitStackIntoSmallerChildStacks(assortItems: Item[], requestItem: AddItem, result: IAddItemTempObject[]): void;
|
|
||||||
/**
|
/**
|
||||||
* Handle Remove event
|
* Handle Remove event
|
||||||
* Remove item from player inventory + insured items array
|
* Remove item from player inventory + insured items array
|
||||||
@ -154,6 +145,14 @@ export declare class InventoryHelper {
|
|||||||
* @returns [width, height]
|
* @returns [width, height]
|
||||||
*/
|
*/
|
||||||
getItemSize(itemTpl: string, itemID: string, inventoryItems: Item[]): number[];
|
getItemSize(itemTpl: string, itemID: string, inventoryItems: Item[]): number[];
|
||||||
|
/**
|
||||||
|
* Calculates the size of an item including attachements
|
||||||
|
* takes into account if item is folded
|
||||||
|
* @param itemTpl Items template id
|
||||||
|
* @param itemID Items id
|
||||||
|
* @param inventoryItemHash Hashmap of inventory items
|
||||||
|
* @returns An array representing the [width, height] of the item
|
||||||
|
*/
|
||||||
protected getSizeByInventoryItemHash(itemTpl: string, itemID: string, inventoryItemHash: InventoryHelper.InventoryItemHash): number[];
|
protected getSizeByInventoryItemHash(itemTpl: string, itemID: string, inventoryItemHash: InventoryHelper.InventoryItemHash): number[];
|
||||||
/**
|
/**
|
||||||
* Get a blank two-dimentional representation of a container
|
* Get a blank two-dimentional representation of a container
|
||||||
|
@ -27,7 +27,8 @@ export interface FenceConfig {
|
|||||||
presetPriceMult: number;
|
presetPriceMult: number;
|
||||||
armorMaxDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
armorMaxDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
||||||
weaponDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
weaponDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
||||||
chancePlateExistsInArmorPercent: number;
|
/** Keyed to plate protection level */
|
||||||
|
chancePlateExistsInArmorPercent: Record<string, number>;
|
||||||
/** Key: item tpl */
|
/** Key: item tpl */
|
||||||
itemStackSizeOverrideMinMax: Record<string, MinMax>;
|
itemStackSizeOverrideMinMax: Record<string, MinMax>;
|
||||||
itemTypeLimits: Record<string, number>;
|
itemTypeLimits: Record<string, number>;
|
||||||
|
@ -4,7 +4,7 @@ import { PresetHelper } from "@spt/helpers/PresetHelper";
|
|||||||
import { IFenceLevel } from "@spt/models/eft/common/IGlobals";
|
import { IFenceLevel } from "@spt/models/eft/common/IGlobals";
|
||||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||||
import { Item, Repairable } from "@spt/models/eft/common/tables/IItem";
|
import { Item, Repairable } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
import { ITemplateItem, Slot } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||||
import { IBarterScheme, ITraderAssort } from "@spt/models/eft/common/tables/ITrader";
|
import { IBarterScheme, ITraderAssort } from "@spt/models/eft/common/tables/ITrader";
|
||||||
import { IItemDurabilityCurrentMax, ITraderConfig } from "@spt/models/spt/config/ITraderConfig";
|
import { IItemDurabilityCurrentMax, ITraderConfig } from "@spt/models/spt/config/ITraderConfig";
|
||||||
import { ICreateFenceAssortsResult } from "@spt/models/spt/fence/ICreateFenceAssortsResult";
|
import { ICreateFenceAssortsResult } from "@spt/models/spt/fence/ICreateFenceAssortsResult";
|
||||||
@ -254,6 +254,19 @@ export declare class FenceService {
|
|||||||
* @param itemDbDetails Armor items db template
|
* @param itemDbDetails Armor items db template
|
||||||
*/
|
*/
|
||||||
protected randomiseArmorModDurability(armor: Item[], itemDbDetails: ITemplateItem): void;
|
protected randomiseArmorModDurability(armor: Item[], itemDbDetails: ITemplateItem): void;
|
||||||
|
/**
|
||||||
|
* Randomise the durability values of items on armor with a passed in slot
|
||||||
|
* @param softInsertSlots Slots of items to randomise
|
||||||
|
* @param armorItemAndMods Array of armor + inserts to get items from
|
||||||
|
*/
|
||||||
|
protected randomiseArmorSoftInsertDurabilities(softInsertSlots: Slot[], armorItemAndMods: Item[]): void;
|
||||||
|
/**
|
||||||
|
* Randomise the durability values of plate items in armor
|
||||||
|
* Has chance to remove plate
|
||||||
|
* @param plateSlots Slots of items to randomise
|
||||||
|
* @param armorItemAndMods Array of armor + inserts to get items from
|
||||||
|
*/
|
||||||
|
protected randomiseArmorInsertsDurabilities(plateSlots: Slot[], armorItemAndMods: Item[]): void;
|
||||||
/**
|
/**
|
||||||
* Get stack size of a singular item (no mods)
|
* Get stack size of a singular item (no mods)
|
||||||
* @param itemDbDetails item being added to fence
|
* @param itemDbDetails item being added to fence
|
||||||
|
@ -148,11 +148,12 @@ export declare class RepeatableQuestController {
|
|||||||
changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse;
|
changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse;
|
||||||
protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest;
|
protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest;
|
||||||
/**
|
/**
|
||||||
* Some accounts have access to repeatable quest refreshes for free
|
* Some accounts have access to free repeatable quest refreshes
|
||||||
* Track the usage of them inside players profile
|
* Track the usage of them inside players profile
|
||||||
* @param fullProfile Profile of player
|
* @param fullProfile Player profile
|
||||||
* @param repeatableSubType Can be daily/weekly/scav repeatables
|
* @param repeatableSubType Can be daily / weekly / scav repeatable
|
||||||
* @param repeatableTypeName Subtype of repeatables: daily / weekly / scav
|
* @param repeatableTypeName Subtype of repeatable quest: daily / weekly / scav
|
||||||
|
* @returns Is the repeatable being replaced for free
|
||||||
*/
|
*/
|
||||||
protected handleFreeRefreshUses(fullProfile: ISptProfile, repeatableSubType: IPmcDataRepeatableQuest, repeatableTypeName: string): void;
|
protected useFreeRefreshIfAvailable(fullProfile: ISptProfile, repeatableSubType: IPmcDataRepeatableQuest, repeatableTypeName: string): boolean;
|
||||||
}
|
}
|
||||||
|
@ -170,7 +170,7 @@ export declare class RagfairOfferGenerator {
|
|||||||
* @param tpl Item to look for matching condition object
|
* @param tpl Item to look for matching condition object
|
||||||
* @returns condition id
|
* @returns condition id
|
||||||
*/
|
*/
|
||||||
protected getDynamicConditionIdForTpl(tpl: string): string;
|
protected getDynamicConditionIdForTpl(tpl: string): string | undefined;
|
||||||
/**
|
/**
|
||||||
* Alter an items condition based on its item base type
|
* Alter an items condition based on its item base type
|
||||||
* @param conditionSettingsId also the parentId of item being altered
|
* @param conditionSettingsId also the parentId of item being altered
|
||||||
|
@ -22,12 +22,12 @@ export declare class HealthHelper {
|
|||||||
*/
|
*/
|
||||||
resetVitality(sessionID: string): ISptProfile;
|
resetVitality(sessionID: string): ISptProfile;
|
||||||
/**
|
/**
|
||||||
* Update player profile with changes from request object
|
* Update player profile vitality values with changes from client request object
|
||||||
* @param pmcData Player profile
|
* @param pmcData Player profile
|
||||||
* @param request Heal request
|
* @param request Heal request
|
||||||
* @param sessionID Session id
|
* @param sessionID Session id
|
||||||
* @param addEffects Should effects be added or removed (default - add)
|
* @param addEffects Should effects be added to profile (default - true)
|
||||||
* @param deleteExistingEffects Should all prior effects be removed before apply new ones
|
* @param deleteExistingEffects Should all prior effects be removed before apply new ones (default - true)
|
||||||
*/
|
*/
|
||||||
saveVitality(pmcData: IPmcData, request: ISyncHealthRequestData, sessionID: string, addEffects?: boolean, deleteExistingEffects?: boolean): void;
|
saveVitality(pmcData: IPmcData, request: ISyncHealthRequestData, sessionID: string, addEffects?: boolean, deleteExistingEffects?: boolean): void;
|
||||||
/**
|
/**
|
||||||
|
@ -9,9 +9,7 @@ import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
|||||||
import { Inventory } from "@spt/models/eft/common/tables/IBotBase";
|
import { Inventory } from "@spt/models/eft/common/tables/IBotBase";
|
||||||
import { Item, Upd } from "@spt/models/eft/common/tables/IItem";
|
import { Item, Upd } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { IAddItemDirectRequest } from "@spt/models/eft/inventory/IAddItemDirectRequest";
|
import { IAddItemDirectRequest } from "@spt/models/eft/inventory/IAddItemDirectRequest";
|
||||||
import { AddItem } from "@spt/models/eft/inventory/IAddItemRequestData";
|
|
||||||
import { IAddItemsDirectRequest } from "@spt/models/eft/inventory/IAddItemsDirectRequest";
|
import { IAddItemsDirectRequest } from "@spt/models/eft/inventory/IAddItemsDirectRequest";
|
||||||
import { IAddItemTempObject } from "@spt/models/eft/inventory/IAddItemTempObject";
|
|
||||||
import { IInventoryMergeRequestData } from "@spt/models/eft/inventory/IInventoryMergeRequestData";
|
import { IInventoryMergeRequestData } from "@spt/models/eft/inventory/IInventoryMergeRequestData";
|
||||||
import { IInventoryMoveRequestData } from "@spt/models/eft/inventory/IInventoryMoveRequestData";
|
import { IInventoryMoveRequestData } from "@spt/models/eft/inventory/IInventoryMoveRequestData";
|
||||||
import { IInventoryRemoveRequestData } from "@spt/models/eft/inventory/IInventoryRemoveRequestData";
|
import { IInventoryRemoveRequestData } from "@spt/models/eft/inventory/IInventoryRemoveRequestData";
|
||||||
@ -106,19 +104,12 @@ export declare class InventoryHelper {
|
|||||||
* Find a location to place an item into inventory and place it
|
* Find a location to place an item into inventory and place it
|
||||||
* @param stashFS2D 2-dimensional representation of the container slots
|
* @param stashFS2D 2-dimensional representation of the container slots
|
||||||
* @param sortingTableFS2D 2-dimensional representation of the sorting table slots
|
* @param sortingTableFS2D 2-dimensional representation of the sorting table slots
|
||||||
* @param itemWithChildren Item to place
|
* @param itemWithChildren Item to place with children
|
||||||
* @param playerInventory
|
* @param playerInventory Players inventory
|
||||||
* @param useSortingTable Should sorting table to be used if main stash has no space
|
* @param useSortingTable Should sorting table to be used if main stash has no space
|
||||||
* @param output output to send back to client
|
* @param output output to send back to client
|
||||||
*/
|
*/
|
||||||
protected placeItemInInventory(stashFS2D: number[][], sortingTableFS2D: number[][], itemWithChildren: Item[], playerInventory: Inventory, useSortingTable: boolean, output: IItemEventRouterResponse): void;
|
protected placeItemInInventory(stashFS2D: number[][], sortingTableFS2D: number[][], itemWithChildren: Item[], playerInventory: Inventory, useSortingTable: boolean, output: IItemEventRouterResponse): void;
|
||||||
/**
|
|
||||||
* Split an items stack size based on its StackMaxSize value
|
|
||||||
* @param assortItems Items to add to inventory
|
|
||||||
* @param requestItem Details of purchased item to add to inventory
|
|
||||||
* @param result Array split stacks are appended to
|
|
||||||
*/
|
|
||||||
protected splitStackIntoSmallerChildStacks(assortItems: Item[], requestItem: AddItem, result: IAddItemTempObject[]): void;
|
|
||||||
/**
|
/**
|
||||||
* Handle Remove event
|
* Handle Remove event
|
||||||
* Remove item from player inventory + insured items array
|
* Remove item from player inventory + insured items array
|
||||||
@ -154,6 +145,14 @@ export declare class InventoryHelper {
|
|||||||
* @returns [width, height]
|
* @returns [width, height]
|
||||||
*/
|
*/
|
||||||
getItemSize(itemTpl: string, itemID: string, inventoryItems: Item[]): number[];
|
getItemSize(itemTpl: string, itemID: string, inventoryItems: Item[]): number[];
|
||||||
|
/**
|
||||||
|
* Calculates the size of an item including attachements
|
||||||
|
* takes into account if item is folded
|
||||||
|
* @param itemTpl Items template id
|
||||||
|
* @param itemID Items id
|
||||||
|
* @param inventoryItemHash Hashmap of inventory items
|
||||||
|
* @returns An array representing the [width, height] of the item
|
||||||
|
*/
|
||||||
protected getSizeByInventoryItemHash(itemTpl: string, itemID: string, inventoryItemHash: InventoryHelper.InventoryItemHash): number[];
|
protected getSizeByInventoryItemHash(itemTpl: string, itemID: string, inventoryItemHash: InventoryHelper.InventoryItemHash): number[];
|
||||||
/**
|
/**
|
||||||
* Get a blank two-dimentional representation of a container
|
* Get a blank two-dimentional representation of a container
|
||||||
|
@ -27,7 +27,8 @@ export interface FenceConfig {
|
|||||||
presetPriceMult: number;
|
presetPriceMult: number;
|
||||||
armorMaxDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
armorMaxDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
||||||
weaponDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
weaponDurabilityPercentMinMax: IItemDurabilityCurrentMax;
|
||||||
chancePlateExistsInArmorPercent: number;
|
/** Keyed to plate protection level */
|
||||||
|
chancePlateExistsInArmorPercent: Record<string, number>;
|
||||||
/** Key: item tpl */
|
/** Key: item tpl */
|
||||||
itemStackSizeOverrideMinMax: Record<string, MinMax>;
|
itemStackSizeOverrideMinMax: Record<string, MinMax>;
|
||||||
itemTypeLimits: Record<string, number>;
|
itemTypeLimits: Record<string, number>;
|
||||||
|
@ -4,7 +4,7 @@ import { PresetHelper } from "@spt/helpers/PresetHelper";
|
|||||||
import { IFenceLevel } from "@spt/models/eft/common/IGlobals";
|
import { IFenceLevel } from "@spt/models/eft/common/IGlobals";
|
||||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||||
import { Item, Repairable } from "@spt/models/eft/common/tables/IItem";
|
import { Item, Repairable } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
|
import { ITemplateItem, Slot } from "@spt/models/eft/common/tables/ITemplateItem";
|
||||||
import { IBarterScheme, ITraderAssort } from "@spt/models/eft/common/tables/ITrader";
|
import { IBarterScheme, ITraderAssort } from "@spt/models/eft/common/tables/ITrader";
|
||||||
import { IItemDurabilityCurrentMax, ITraderConfig } from "@spt/models/spt/config/ITraderConfig";
|
import { IItemDurabilityCurrentMax, ITraderConfig } from "@spt/models/spt/config/ITraderConfig";
|
||||||
import { ICreateFenceAssortsResult } from "@spt/models/spt/fence/ICreateFenceAssortsResult";
|
import { ICreateFenceAssortsResult } from "@spt/models/spt/fence/ICreateFenceAssortsResult";
|
||||||
@ -254,6 +254,19 @@ export declare class FenceService {
|
|||||||
* @param itemDbDetails Armor items db template
|
* @param itemDbDetails Armor items db template
|
||||||
*/
|
*/
|
||||||
protected randomiseArmorModDurability(armor: Item[], itemDbDetails: ITemplateItem): void;
|
protected randomiseArmorModDurability(armor: Item[], itemDbDetails: ITemplateItem): void;
|
||||||
|
/**
|
||||||
|
* Randomise the durability values of items on armor with a passed in slot
|
||||||
|
* @param softInsertSlots Slots of items to randomise
|
||||||
|
* @param armorItemAndMods Array of armor + inserts to get items from
|
||||||
|
*/
|
||||||
|
protected randomiseArmorSoftInsertDurabilities(softInsertSlots: Slot[], armorItemAndMods: Item[]): void;
|
||||||
|
/**
|
||||||
|
* Randomise the durability values of plate items in armor
|
||||||
|
* Has chance to remove plate
|
||||||
|
* @param plateSlots Slots of items to randomise
|
||||||
|
* @param armorItemAndMods Array of armor + inserts to get items from
|
||||||
|
*/
|
||||||
|
protected randomiseArmorInsertsDurabilities(plateSlots: Slot[], armorItemAndMods: Item[]): void;
|
||||||
/**
|
/**
|
||||||
* Get stack size of a singular item (no mods)
|
* Get stack size of a singular item (no mods)
|
||||||
* @param itemDbDetails item being added to fence
|
* @param itemDbDetails item being added to fence
|
||||||
|
@ -148,11 +148,12 @@ export declare class RepeatableQuestController {
|
|||||||
changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse;
|
changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse;
|
||||||
protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest;
|
protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest;
|
||||||
/**
|
/**
|
||||||
* Some accounts have access to repeatable quest refreshes for free
|
* Some accounts have access to free repeatable quest refreshes
|
||||||
* Track the usage of them inside players profile
|
* Track the usage of them inside players profile
|
||||||
* @param fullProfile Profile of player
|
* @param fullProfile Player profile
|
||||||
* @param repeatableSubType Can be daily/weekly/scav repeatables
|
* @param repeatableSubType Can be daily / weekly / scav repeatable
|
||||||
* @param repeatableTypeName Subtype of repeatables: daily / weekly / scav
|
* @param repeatableTypeName Subtype of repeatable quest: daily / weekly / scav
|
||||||
|
* @returns Is the repeatable being replaced for free
|
||||||
*/
|
*/
|
||||||
protected handleFreeRefreshUses(fullProfile: ISptProfile, repeatableSubType: IPmcDataRepeatableQuest, repeatableTypeName: string): void;
|
protected useFreeRefreshIfAvailable(fullProfile: ISptProfile, repeatableSubType: IPmcDataRepeatableQuest, repeatableTypeName: string): boolean;
|
||||||
}
|
}
|
||||||
|
@ -170,7 +170,7 @@ export declare class RagfairOfferGenerator {
|
|||||||
* @param tpl Item to look for matching condition object
|
* @param tpl Item to look for matching condition object
|
||||||
* @returns condition id
|
* @returns condition id
|
||||||
*/
|
*/
|
||||||
protected getDynamicConditionIdForTpl(tpl: string): string;
|
protected getDynamicConditionIdForTpl(tpl: string): string | undefined;
|
||||||
/**
|
/**
|
||||||
* Alter an items condition based on its item base type
|
* Alter an items condition based on its item base type
|
||||||
* @param conditionSettingsId also the parentId of item being altered
|
* @param conditionSettingsId also the parentId of item being altered
|
||||||
|
@ -22,12 +22,12 @@ export declare class HealthHelper {
|
|||||||
*/
|
*/
|
||||||
resetVitality(sessionID: string): ISptProfile;
|
resetVitality(sessionID: string): ISptProfile;
|
||||||
/**
|
/**
|
||||||
* Update player profile with changes from request object
|
* Update player profile vitality values with changes from client request object
|
||||||
* @param pmcData Player profile
|
* @param pmcData Player profile
|
||||||
* @param request Heal request
|
* @param request Heal request
|
||||||
* @param sessionID Session id
|
* @param sessionID Session id
|
||||||
* @param addEffects Should effects be added or removed (default - add)
|
* @param addEffects Should effects be added to profile (default - true)
|
||||||
* @param deleteExistingEffects Should all prior effects be removed before apply new ones
|
* @param deleteExistingEffects Should all prior effects be removed before apply new ones (default - true)
|
||||||
*/
|
*/
|
||||||
saveVitality(pmcData: IPmcData, request: ISyncHealthRequestData, sessionID: string, addEffects?: boolean, deleteExistingEffects?: boolean): void;
|
saveVitality(pmcData: IPmcData, request: ISyncHealthRequestData, sessionID: string, addEffects?: boolean, deleteExistingEffects?: boolean): void;
|
||||||
/**
|
/**
|
||||||
|
@ -9,9 +9,7 @@ import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
|||||||
import { Inventory } from "@spt/models/eft/common/tables/IBotBase";
|
import { Inventory } from "@spt/models/eft/common/tables/IBotBase";
|
||||||
import { Item, Upd } from "@spt/models/eft/common/tables/IItem";
|
import { Item, Upd } from "@spt/models/eft/common/tables/IItem";
|
||||||
import { IAddItemDirectRequest } from "@spt/models/eft/inventory/IAddItemDirectRequest";
|
import { IAddItemDirectRequest } from "@spt/models/eft/inventory/IAddItemDirectRequest";
|
||||||
import { AddItem } from "@spt/models/eft/inventory/IAddItemRequestData";
|
|
||||||
import { IAddItemsDirectRequest } from "@spt/models/eft/inventory/IAddItemsDirectRequest";
|
import { IAddItemsDirectRequest } from "@spt/models/eft/inventory/IAddItemsDirectRequest";
|
||||||
import { IAddItemTempObject } from "@spt/models/eft/inventory/IAddItemTempObject";
|
|
||||||
import { IInventoryMergeRequestData } from "@spt/models/eft/inventory/IInventoryMergeRequestData";
|
import { IInventoryMergeRequestData } from "@spt/models/eft/inventory/IInventoryMergeRequestData";
|
||||||
import { IInventoryMoveRequestData } from "@spt/models/eft/inventory/IInventoryMoveRequestData";
|
import { IInventoryMoveRequestData } from "@spt/models/eft/inventory/IInventoryMoveRequestData";
|
||||||
import { IInventoryRemoveRequestData } from "@spt/models/eft/inventory/IInventoryRemoveRequestData";
|
import { IInventoryRemoveRequestData } from "@spt/models/eft/inventory/IInventoryRemoveRequestData";
|
||||||
@ -106,19 +104,12 @@ export declare class InventoryHelper {
|
|||||||
* Find a location to place an item into inventory and place it
|
* Find a location to place an item into inventory and place it
|
||||||
* @param stashFS2D 2-dimensional representation of the container slots
|
* @param stashFS2D 2-dimensional representation of the container slots
|
||||||
* @param sortingTableFS2D 2-dimensional representation of the sorting table slots
|
* @param sortingTableFS2D 2-dimensional representation of the sorting table slots
|
||||||
* @param itemWithChildren Item to place
|
* @param itemWithChildren Item to place with children
|
||||||
* @param playerInventory
|
* @param playerInventory Players inventory
|
||||||
* @param useSortingTable Should sorting table to be used if main stash has no space
|
* @param useSortingTable Should sorting table to be used if main stash has no space
|
||||||
* @param output output to send back to client
|
* @param output output to send back to client
|
||||||
*/
|
*/
|
||||||
protected placeItemInInventory(stashFS2D: number[][], sortingTableFS2D: number[][], itemWithChildren: Item[], playerInventory: Inventory, useSortingTable: boolean, output: IItemEventRouterResponse): void;
|
protected placeItemInInventory(stashFS2D: number[][], sortingTableFS2D: number[][], itemWithChildren: Item[], playerInventory: Inventory, useSortingTable: boolean, output: IItemEventRouterResponse): void;
|
||||||
/**
|
|
||||||
* Split an items stack size based on its StackMaxSize value
|
|
||||||
* @param assortItems Items to add to inventory
|
|
||||||
* @param requestItem Details of purchased item to add to inventory
|
|
||||||
* @param result Array split stacks are appended to
|
|
||||||
*/
|
|
||||||
protected splitStackIntoSmallerChildStacks(assortItems: Item[], requestItem: AddItem, result: IAddItemTempObject[]): void;
|
|
||||||
/**
|
/**
|
||||||
* Handle Remove event
|
* Handle Remove event
|
||||||
* Remove item from player inventory + insured items array
|
* Remove item from player inventory + insured items array
|
||||||
@ -154,6 +145,14 @@ export declare class InventoryHelper {
|
|||||||
* @returns [width, height]
|
* @returns [width, height]
|
||||||
*/
|
*/
|
||||||
getItemSize(itemTpl: string, itemID: string, inventoryItems: Item[]): number[];
|
getItemSize(itemTpl: string, itemID: string, inventoryItems: Item[]): number[];
|
||||||
|
/**
|
||||||
|
* Calculates the size of an item including attachements
|
||||||
|
* takes into account if item is folded
|
||||||
|
* @param itemTpl Items template id
|
||||||
|
* @param itemID Items id
|
||||||
|
* @param inventoryItemHash Hashmap of inventory items
|
||||||
|
* @returns An array representing the [width, height] of the item
|
||||||
|
*/
|
||||||
protected getSizeByInventoryItemHash(itemTpl: string, itemID: string, inventoryItemHash: InventoryHelper.InventoryItemHash): number[];
|
protected getSizeByInventoryItemHash(itemTpl: string, itemID: string, inventoryItemHash: InventoryHelper.InventoryItemHash): number[];
|
||||||
/**
|
/**
|
||||||
* Get a blank two-dimentional representation of a container
|
* Get a blank two-dimentional representation of a container
|
||||||
|
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