Update types
This commit is contained in:
parent
91636817ae
commit
57b1a22381
@ -1,6 +1,7 @@
|
||||
import { GameController } from "../controllers/GameController";
|
||||
import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData";
|
||||
import { ICheckVersionResponse } from "../models/eft/game/ICheckVersionResponse";
|
||||
import { ICurrentGroupResponse } from "../models/eft/game/ICurrentGroupResponse";
|
||||
import { IGameConfigResponse } from "../models/eft/game/IGameConfigResponse";
|
||||
import { IGameEmptyCrcRequestData } from "../models/eft/game/IGameEmptyCrcRequestData";
|
||||
import { IGameKeepAliveResponse } from "../models/eft/game/IGameKeepAliveResponse";
|
||||
@ -48,7 +49,7 @@ declare class GameCallbacks {
|
||||
/**
|
||||
* Handle client/match/group/current
|
||||
*/
|
||||
getCurrentGroup(url: string, info: IEmptyRequestData, sessionID: string): any;
|
||||
getCurrentGroup(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<ICurrentGroupResponse>;
|
||||
/**
|
||||
* Handle client/checkVersion
|
||||
*/
|
||||
|
@ -44,6 +44,7 @@ export declare class MatchCallbacks {
|
||||
transferGroup(url: string, info: ITransferGroupRequest, sessionID: string): IGetBodyResponseData<boolean>;
|
||||
/** Handle client/match/group/invite/cancel-all */
|
||||
cancelAllGroupInvite(url: string, info: any, sessionID: string): INullResponseData;
|
||||
/** @deprecated - not called on raid start/end or game start/exit */
|
||||
putMetrics(url: string, info: IPutMetricsRequestData, sessionID: string): INullResponseData;
|
||||
/** Handle raid/profile/list */
|
||||
getProfile(url: string, info: IGetProfileRequestData, sessionID: string): IGetBodyResponseData<IPmcData[]>;
|
||||
@ -53,6 +54,7 @@ export declare class MatchCallbacks {
|
||||
/** Handle client/getMetricsConfig */
|
||||
getMetrics(url: string, info: any, sessionID: string): IGetBodyResponseData<string>;
|
||||
/**
|
||||
* @deprecated - not called on raid start/end or game start/exit
|
||||
* Handle client/match/group/status
|
||||
* @returns
|
||||
*/
|
||||
|
@ -51,6 +51,7 @@ export declare class GameController {
|
||||
* Handle client/game/start
|
||||
*/
|
||||
gameStart(_url: string, _info: IEmptyRequestData, sessionID: string, startTimeStampMS: number): void;
|
||||
protected adjustMapBotLimits(): void;
|
||||
/**
|
||||
* Handle client/game/config
|
||||
*/
|
||||
|
@ -60,7 +60,7 @@ export declare class MatchController {
|
||||
/** Handle client/match/offline/end */
|
||||
endOfflineRaid(info: IEndOfflineRaidRequestData, sessionId: string): void;
|
||||
/**
|
||||
* Is extract by car
|
||||
* Was extract by car
|
||||
* @param extractName name of extract
|
||||
* @returns true if car extract
|
||||
*/
|
||||
|
@ -1,6 +1,6 @@
|
||||
import { MinMax } from "../models/common/MinMax";
|
||||
import { IRandomisedBotLevelResult } from "../models/eft/bot/IRandomisedBotLevelResult";
|
||||
import { ExpTable } from "../models/eft/common/IGlobals";
|
||||
import { IExpTable } from "../models/eft/common/IGlobals";
|
||||
import { IBotBase } from "../models/eft/common/tables/IBotBase";
|
||||
import { BotGenerationDetails } from "../models/spt/bots/BotGenerationDetails";
|
||||
import { ILogger } from "../models/spt/utils/ILogger";
|
||||
@ -25,5 +25,5 @@ export declare class BotLevelGenerator {
|
||||
* @param relativeDeltaMax max delta above player level to go
|
||||
* @returns highest level possible for bot
|
||||
*/
|
||||
protected getHighestRelativeBotLevel(playerLevel: number, relativeDeltaMax: number, levelDetails: MinMax, expTable: ExpTable[]): number;
|
||||
protected getHighestRelativeBotLevel(playerLevel: number, relativeDeltaMax: number, levelDetails: MinMax, expTable: IExpTable[]): number;
|
||||
}
|
||||
|
@ -2,7 +2,7 @@ import { InventoryHelper } from "../helpers/InventoryHelper";
|
||||
import { ItemHelper } from "../helpers/ItemHelper";
|
||||
import { PresetHelper } from "../helpers/PresetHelper";
|
||||
import { WeightedRandomHelper } from "../helpers/WeightedRandomHelper";
|
||||
import { Preset } from "../models/eft/common/IGlobals";
|
||||
import { IPreset } from "../models/eft/common/IGlobals";
|
||||
import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem";
|
||||
import { AddItem } from "../models/eft/inventory/IAddItemRequestData";
|
||||
import { ISealedAirdropContainerSettings, RewardDetails } from "../models/spt/config/IInventoryConfig";
|
||||
@ -71,7 +71,7 @@ export declare class LootGenerator {
|
||||
* @param result array to add found preset to
|
||||
* @returns true if preset was valid and added to pool
|
||||
*/
|
||||
protected findAndAddRandomPresetToLoot(globalDefaultPresets: [string, Preset][], itemTypeCounts: Record<string, {
|
||||
protected findAndAddRandomPresetToLoot(globalDefaultPresets: [string, IPreset][], itemTypeCounts: Record<string, {
|
||||
current: number;
|
||||
max: number;
|
||||
}>, itemBlacklist: string[], result: LootItem[]): boolean;
|
||||
@ -95,7 +95,7 @@ export declare class LootGenerator {
|
||||
* @param chosenWeaponPreset The weapon preset given to player as reward
|
||||
* @returns AddItem array
|
||||
*/
|
||||
protected getSealedContainerWeaponModRewards(containerSettings: ISealedAirdropContainerSettings, linkedItemsToWeapon: ITemplateItem[], chosenWeaponPreset: Preset): AddItem[];
|
||||
protected getSealedContainerWeaponModRewards(containerSettings: ISealedAirdropContainerSettings, linkedItemsToWeapon: ITemplateItem[], chosenWeaponPreset: IPreset): AddItem[];
|
||||
/**
|
||||
* Handle event-related loot containers - currently just the halloween jack-o-lanterns that give food rewards
|
||||
* @param rewardContainerDetails
|
||||
|
@ -1,5 +1,5 @@
|
||||
import { ItemHelper } from "../helpers/ItemHelper";
|
||||
import { Preset } from "../models/eft/common/IGlobals";
|
||||
import { IPreset } from "../models/eft/common/IGlobals";
|
||||
import { Item } from "../models/eft/common/tables/IItem";
|
||||
import { IRagfairConfig } from "../models/spt/config/IRagfairConfig";
|
||||
import { ConfigServer } from "../servers/ConfigServer";
|
||||
@ -36,12 +36,12 @@ export declare class RagfairAssortGenerator {
|
||||
* Get presets from globals.json
|
||||
* @returns Preset object array
|
||||
*/
|
||||
protected getPresets(): Preset[];
|
||||
protected getPresets(): IPreset[];
|
||||
/**
|
||||
* Get default presets from globals.json
|
||||
* @returns Preset object array
|
||||
*/
|
||||
protected getDefaultPresets(): Preset[];
|
||||
protected getDefaultPresets(): IPreset[];
|
||||
/**
|
||||
* Create a base assort item and return it with populated values + 999999 stack count + unlimited count = true
|
||||
* @param tplId tplid to add to item
|
||||
|
@ -1,5 +1,6 @@
|
||||
import { ItemHelper } from "../helpers/ItemHelper";
|
||||
import { Product } from "../models/eft/common/tables/IBotBase";
|
||||
import { Upd } from "../models/eft/common/tables/IItem";
|
||||
import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem";
|
||||
import { IHideoutScavCase } from "../models/eft/hideout/IHideoutScavCase";
|
||||
import { IScavCaseConfig } from "../models/spt/config/IScavCaseConfig";
|
||||
@ -78,7 +79,7 @@ export declare class ScavCaseRewardGenerator {
|
||||
protected addStackCountToAmmoAndMoney(item: ITemplateItem, resultItem: {
|
||||
_id: string;
|
||||
_tpl: string;
|
||||
upd: any;
|
||||
upd: Upd;
|
||||
}, rarity: string): void;
|
||||
/**
|
||||
*
|
||||
|
@ -53,5 +53,7 @@ export declare class HealthHelper {
|
||||
* @param duration How long the effect has left in seconds (-1 by default, no duration).
|
||||
*/
|
||||
protected addEffect(pmcData: IPmcData, effectBodyPart: string, effectType: string, duration?: number): void;
|
||||
protected isEmpty(map: any): boolean;
|
||||
protected isEmpty(map: Record<string, {
|
||||
Time: number;
|
||||
}>): boolean;
|
||||
}
|
||||
|
@ -1,18 +1,18 @@
|
||||
import { Preset } from "../models/eft/common/IGlobals";
|
||||
import { IPreset } from "../models/eft/common/IGlobals";
|
||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||
import { JsonUtil } from "../utils/JsonUtil";
|
||||
export declare class PresetHelper {
|
||||
protected jsonUtil: JsonUtil;
|
||||
protected databaseServer: DatabaseServer;
|
||||
protected lookup: Record<string, string[]>;
|
||||
protected defaultPresets: Record<string, Preset>;
|
||||
protected defaultPresets: Record<string, IPreset>;
|
||||
constructor(jsonUtil: JsonUtil, databaseServer: DatabaseServer);
|
||||
hydratePresetStore(input: Record<string, string[]>): void;
|
||||
getDefaultPresets(): Record<string, Preset>;
|
||||
getDefaultPresets(): Record<string, IPreset>;
|
||||
isPreset(id: string): boolean;
|
||||
hasPreset(templateId: string): boolean;
|
||||
getPreset(id: string): Preset;
|
||||
getPresets(templateId: string): Preset[];
|
||||
getDefaultPreset(templateId: string): Preset;
|
||||
getPreset(id: string): IPreset;
|
||||
getPresets(templateId: string): IPreset[];
|
||||
getDefaultPreset(templateId: string): IPreset;
|
||||
getBaseItemTpl(presetId: string): string;
|
||||
}
|
||||
|
@ -68,6 +68,10 @@ export declare class ProfileHelper {
|
||||
getFullProfile(sessionID: string): IAkiProfile;
|
||||
getPmcProfile(sessionID: string): IPmcData;
|
||||
getScavProfile(sessionID: string): IPmcData;
|
||||
/**
|
||||
* Get baseline counter values for a fresh profile
|
||||
* @returns Stats
|
||||
*/
|
||||
getDefaultCounters(): Stats;
|
||||
protected isWiped(sessionID: string): boolean;
|
||||
protected getServerVersion(): string;
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,3 +1,5 @@
|
||||
import { MinMax } from "../../../models/common/MinMax";
|
||||
import { Ixyz } from "./Ixyz";
|
||||
export interface ILocationBase {
|
||||
AccessKeys: string[];
|
||||
AirdropParameters: AirdropParameter[];
|
||||
@ -81,9 +83,7 @@ export interface ILocationBase {
|
||||
users_summon_seconds: number;
|
||||
waves: Wave[];
|
||||
}
|
||||
export interface ILimit {
|
||||
min: number;
|
||||
max: number;
|
||||
export interface ILimit extends MinMax {
|
||||
items: any[];
|
||||
}
|
||||
export interface AirdropParameter {
|
||||
@ -140,10 +140,8 @@ export interface BotLocationModifier {
|
||||
Scattering: number;
|
||||
VisibleDistance: number;
|
||||
}
|
||||
export interface MinMaxBot {
|
||||
WildSpawnType: WildSpawnType;
|
||||
max: number;
|
||||
min: number;
|
||||
export interface MinMaxBot extends MinMax {
|
||||
WildSpawnType: WildSpawnType | string;
|
||||
}
|
||||
export interface Preview {
|
||||
path: string;
|
||||
@ -160,7 +158,7 @@ export interface SpawnPointParam {
|
||||
DelayToCanSpawnSec: number;
|
||||
Id: string;
|
||||
Infiltration: string;
|
||||
Position: xyz;
|
||||
Position: Ixyz;
|
||||
Rotation: number;
|
||||
Sides: string[];
|
||||
}
|
||||
@ -169,14 +167,9 @@ export interface ColliderParams {
|
||||
_props: Props;
|
||||
}
|
||||
export interface Props {
|
||||
Center: xyz;
|
||||
Center: Ixyz;
|
||||
Radius: number;
|
||||
}
|
||||
export interface xyz {
|
||||
x: number;
|
||||
y: number;
|
||||
z: number;
|
||||
}
|
||||
export interface Exit {
|
||||
Chance: number;
|
||||
Count: number;
|
||||
@ -211,5 +204,6 @@ export interface Wave {
|
||||
}
|
||||
export declare enum WildSpawnType {
|
||||
ASSAULT = "assault",
|
||||
MARKSMAN = "marksman"
|
||||
MARKSMAN = "marksman",
|
||||
PMCBOT = "pmcbot"
|
||||
}
|
||||
|
@ -1,3 +1,4 @@
|
||||
import { Ixyz } from "./Ixyz";
|
||||
import { Item } from "./tables/IItem";
|
||||
export interface ILooseLoot {
|
||||
spawnpointCount: SpawnpointCount;
|
||||
@ -18,11 +19,11 @@ export interface SpawnpointTemplate {
|
||||
IsStatic: boolean;
|
||||
useGravity: boolean;
|
||||
randomRotation: boolean;
|
||||
Position: Xyz;
|
||||
Rotation: Xyz;
|
||||
Position: Ixyz;
|
||||
Rotation: Ixyz;
|
||||
IsGroupPosition: boolean;
|
||||
GroupPositions: any[];
|
||||
Root: any;
|
||||
Root: string;
|
||||
Items: Item[];
|
||||
}
|
||||
export interface Spawnpoint {
|
||||
@ -31,11 +32,6 @@ export interface Spawnpoint {
|
||||
template: SpawnpointTemplate;
|
||||
itemDistribution: ItemDistribution[];
|
||||
}
|
||||
export interface Xyz {
|
||||
x: number;
|
||||
y: number;
|
||||
z: number;
|
||||
}
|
||||
export interface ItemDistribution {
|
||||
composedKey: ComposedKey;
|
||||
relativeProbability: number;
|
||||
|
5
TypeScript/13AddTrader/types/models/eft/common/Ixyz.d.ts
vendored
Normal file
5
TypeScript/13AddTrader/types/models/eft/common/Ixyz.d.ts
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
export interface Ixyz {
|
||||
x: number;
|
||||
y: number;
|
||||
z: number;
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
import { Ixyz } from "../Ixyz";
|
||||
export interface ICustomizationItem {
|
||||
_id: string;
|
||||
_name: string;
|
||||
@ -19,15 +20,10 @@ export interface Props {
|
||||
Prefab: Prefab;
|
||||
WatchPrefab: Prefab;
|
||||
IntegratedArmorVest: boolean;
|
||||
WatchPosition: Xyz;
|
||||
WatchRotation: Xyz;
|
||||
WatchPosition: Ixyz;
|
||||
WatchRotation: Ixyz;
|
||||
}
|
||||
export interface Prefab {
|
||||
path: string;
|
||||
rcid: string;
|
||||
}
|
||||
export interface Xyz {
|
||||
x: number;
|
||||
y: number;
|
||||
z: number;
|
||||
}
|
||||
|
@ -1,3 +1,4 @@
|
||||
import { Ixyz } from "../Ixyz";
|
||||
import { Item } from "./IItem";
|
||||
export interface ILootBase {
|
||||
staticAmmo: Record<string, IStaticAmmoDetails[]>;
|
||||
@ -18,8 +19,8 @@ export interface IStaticWeaponProps {
|
||||
IsStatic: boolean;
|
||||
useGravity: boolean;
|
||||
randomRotation: boolean;
|
||||
Position: Xyz;
|
||||
Rotation: Xyz;
|
||||
Position: Ixyz;
|
||||
Rotation: Ixyz;
|
||||
IsGroupPosition: boolean;
|
||||
GroupPositions: any[];
|
||||
Root: string;
|
||||
@ -30,20 +31,15 @@ export interface IStaticContainerProps {
|
||||
IsStatic: boolean;
|
||||
useGravity: boolean;
|
||||
randomRotation: boolean;
|
||||
Position: Xyz;
|
||||
Rotation: Xyz;
|
||||
Position: Ixyz;
|
||||
Rotation: Ixyz;
|
||||
IsGroupPosition: boolean;
|
||||
GroupPositions: any[];
|
||||
Root: any;
|
||||
Root: string;
|
||||
Items: StaticItem[];
|
||||
}
|
||||
export interface Xyz {
|
||||
x: number;
|
||||
y: number;
|
||||
z: number;
|
||||
}
|
||||
export interface StaticItem {
|
||||
_id: any;
|
||||
_id: string;
|
||||
_tpl: string;
|
||||
}
|
||||
export interface IStaticForcedProps {
|
||||
|
@ -1,7 +1,9 @@
|
||||
import { QuestRewardType } from "../../../enums/QuestRewardType";
|
||||
import { QuestStatus } from "../../../enums/QuestStatus";
|
||||
import { QuestTypeEnum } from "../../../enums/QuestTypeEnum";
|
||||
import { Item } from "./IItem";
|
||||
export interface IQuest {
|
||||
/** SPT addition - human readable quest name */
|
||||
QuestName?: string;
|
||||
_id: string;
|
||||
canShowNotificationsInGame: boolean;
|
||||
@ -13,9 +15,10 @@ export interface IQuest {
|
||||
traderId: string;
|
||||
location: string;
|
||||
image: string;
|
||||
type: string;
|
||||
type: QuestTypeEnum;
|
||||
isKey: boolean;
|
||||
questStatus: any;
|
||||
/** @deprecated - Likely not used, use 'status' instead */
|
||||
questStatus: QuestStatus;
|
||||
restartable: boolean;
|
||||
instantComplete: boolean;
|
||||
secretQuest: boolean;
|
||||
@ -23,9 +26,11 @@ export interface IQuest {
|
||||
successMessageText: string;
|
||||
templateId: string;
|
||||
rewards: Rewards;
|
||||
/** Becomes 'AppearStatus' inside client */
|
||||
status: string | number;
|
||||
KeyQuest: boolean;
|
||||
changeQuestMessageText: string;
|
||||
/** "Pmc" or "Scav" */
|
||||
side: string;
|
||||
}
|
||||
export interface Conditions {
|
||||
|
@ -1,3 +1,4 @@
|
||||
import { Ixyz } from "../Ixyz";
|
||||
export interface ITemplateItem {
|
||||
_id: string;
|
||||
_name: string;
|
||||
@ -201,11 +202,11 @@ export interface Props {
|
||||
CameraSnap?: number;
|
||||
ReloadMode?: string;
|
||||
AimPlane?: number;
|
||||
TacticalReloadStiffnes?: Xyz;
|
||||
TacticalReloadStiffnes?: Ixyz;
|
||||
TacticalReloadFixation?: number;
|
||||
RecoilCenter?: Xyz;
|
||||
RotationCenter?: Xyz;
|
||||
RotationCenterNoStock?: Xyz;
|
||||
RecoilCenter?: Ixyz;
|
||||
RotationCenter?: Ixyz;
|
||||
RotationCenterNoStock?: Ixyz;
|
||||
FoldedSlot?: string;
|
||||
CompactHandling?: boolean;
|
||||
MinRepairDegradation?: number;
|
||||
@ -247,7 +248,7 @@ export interface Props {
|
||||
FaceShieldComponent?: boolean;
|
||||
FaceShieldMask?: string;
|
||||
MaterialType?: string;
|
||||
RicochetParams?: Xyz;
|
||||
RicochetParams?: Ixyz;
|
||||
DeafStrength?: string;
|
||||
BlindnessProtection?: number;
|
||||
Distortion?: number;
|
||||
@ -283,12 +284,12 @@ export interface Props {
|
||||
PrimaryConsumption?: number;
|
||||
SecondryConsumption?: number;
|
||||
DeflectionConsumption?: number;
|
||||
AppliedTrunkRotation?: Xyz;
|
||||
AppliedHeadRotation?: Xyz;
|
||||
AppliedTrunkRotation?: Ixyz;
|
||||
AppliedHeadRotation?: Ixyz;
|
||||
DisplayOnModel?: boolean;
|
||||
AdditionalAnimationLayer?: number;
|
||||
StaminaBurnRate?: number;
|
||||
ColliderScaleMultiplier?: Xyz;
|
||||
ColliderScaleMultiplier?: Ixyz;
|
||||
ConfigPathStr?: string;
|
||||
MaxMarkersCount?: number;
|
||||
scaleMin?: number;
|
||||
@ -353,9 +354,9 @@ export interface Props {
|
||||
ShowHitEffectOnExplode?: boolean;
|
||||
ExplosionType?: string;
|
||||
AmmoLifeTimeSec?: number;
|
||||
Contusion?: Xyz;
|
||||
ArmorDistanceDistanceDamage?: Xyz;
|
||||
Blindness?: Xyz;
|
||||
Contusion?: Ixyz;
|
||||
ArmorDistanceDistanceDamage?: Ixyz;
|
||||
Blindness?: Ixyz;
|
||||
IsLightAndSoundShot?: boolean;
|
||||
LightAndSoundShotAngle?: number;
|
||||
LightAndSoundShotSelfContusionTime?: number;
|
||||
@ -427,11 +428,6 @@ export interface SlotFilter {
|
||||
Filter: string[];
|
||||
AnimationIndex?: number;
|
||||
}
|
||||
export interface Xyz {
|
||||
x: number;
|
||||
y: number;
|
||||
z: number;
|
||||
}
|
||||
export interface StackSlot {
|
||||
_name?: string;
|
||||
_id: string;
|
||||
|
@ -1,6 +1,6 @@
|
||||
import { Message } from "../profile/IAkiProfile";
|
||||
import { IUserDialogInfo, Message } from "../profile/IAkiProfile";
|
||||
export interface IGetMailDialogViewResponseData {
|
||||
messages: Message[];
|
||||
profiles: any[];
|
||||
profiles: IUserDialogInfo[];
|
||||
hasMessagesWithRewards: boolean;
|
||||
}
|
||||
|
@ -1,5 +1,4 @@
|
||||
export interface IGetItemPriceResult {
|
||||
import { MinMax } from "../../../models/common/MinMax";
|
||||
export interface IGetItemPriceResult extends MinMax {
|
||||
avg: number;
|
||||
min: number;
|
||||
max: number;
|
||||
}
|
||||
|
@ -5,5 +5,7 @@ export declare enum QuestRewardType {
|
||||
TRADER_UNLOCK = "TraderUnlock",
|
||||
ITEM = "Item",
|
||||
ASSORTMENT_UNLOCK = "AssortmentUnlock",
|
||||
PRODUCTIONS_SCHEME = "ProductionScheme"
|
||||
PRODUCTIONS_SCHEME = "ProductionScheme",
|
||||
TRADER_STANDING_RESET = "TraderStandingReset",
|
||||
TRADER_STANDING_RESTORE = "TraderStandingRestore"
|
||||
}
|
||||
|
15
TypeScript/13AddTrader/types/models/enums/QuestTypeEnum.d.ts
vendored
Normal file
15
TypeScript/13AddTrader/types/models/enums/QuestTypeEnum.d.ts
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
export declare enum QuestTypeEnum {
|
||||
PICKUP = "PickUp",
|
||||
ELIMINATION = "Elimination",
|
||||
DISCOVER = "Discover",
|
||||
COMPLETION = "Completion",
|
||||
EXPLORATION = "Exploration",
|
||||
LEVELLING = "Levelling",
|
||||
EXPERIENCE = "Experience",
|
||||
STANDING = "Standing",
|
||||
LOYALTY = "Loyalty",
|
||||
MERCHANT = "Merchant",
|
||||
SKILL = "Skill",
|
||||
MULTI = "Multi",
|
||||
WEAPON_ASSEMBLY = "WeaponAssembly"
|
||||
}
|
@ -5,16 +5,26 @@ export interface IAirdropConfig extends IBaseConfig {
|
||||
kind: "aki-airdrop";
|
||||
airdropChancePercent: AirdropChancePercent;
|
||||
airdropTypeWeightings: Record<AirdropTypeEnum, number>;
|
||||
/** Lowest point plane will fly at */
|
||||
planeMinFlyHeight: number;
|
||||
/** Highest point plane will fly at */
|
||||
planeMaxFlyHeight: number;
|
||||
/** Loudness of plane engine */
|
||||
planeVolume: number;
|
||||
/** Speed plane flies overhead */
|
||||
planeSpeed: number;
|
||||
/** Speed loot crate falls after being dropped */
|
||||
crateFallSpeed: number;
|
||||
/** Container tpls to use when spawning crate - affects container size, keyed by drop type e.g. mixed/weaponArmor/foodMedical/barter */
|
||||
containerIds: Record<string, string>;
|
||||
/** Earliest time aircraft will spawn in raid */
|
||||
airdropMinStartTimeSeconds: number;
|
||||
/** Latest time aircraft will spawn in raid */
|
||||
airdropMaxStartTimeSeconds: number;
|
||||
/** What rewards will the loot crate contain, keyed by drop type e.g. mixed/weaponArmor/foodMedical/barter */
|
||||
loot: Record<string, AirdropLoot>;
|
||||
}
|
||||
/** Chance map will have an airdrop occur out of 100 - locations not included count as 0% */
|
||||
export interface AirdropChancePercent {
|
||||
bigmap: number;
|
||||
woods: number;
|
||||
@ -24,14 +34,22 @@ export interface AirdropChancePercent {
|
||||
reserve: number;
|
||||
tarkovStreets: number;
|
||||
}
|
||||
/** Loot inside crate */
|
||||
export interface AirdropLoot {
|
||||
/** Min/max of weapons inside crate */
|
||||
presetCount?: MinMax;
|
||||
/** Min/max of items inside crate */
|
||||
itemCount: MinMax;
|
||||
/** Min/max of sealed weapon boxes inside crate */
|
||||
weaponCrateCount: MinMax;
|
||||
/** Items to never allow - tpls */
|
||||
itemBlacklist: string[];
|
||||
/** Item type (parentId) to allow inside crate */
|
||||
itemTypeWhitelist: string[];
|
||||
/** key: item base type: value: max count */
|
||||
/** Item type/ item tpls to limit count of inside crate - key: item base type: value: max count */
|
||||
itemLimits: Record<string, number>;
|
||||
/** Items to limit stack size of key: item tpl value: min/max stack size */
|
||||
itemStackLimits: Record<string, MinMax>;
|
||||
/** Armor levels to allow inside crate e.g. [4,5,6] */
|
||||
armorLevelWhitelist?: number[];
|
||||
}
|
||||
|
@ -32,6 +32,7 @@ export interface IBotConfig extends IBaseConfig {
|
||||
/** Batch generation size when type not available in cache */
|
||||
botGenerationBatchSizePerType: number;
|
||||
}
|
||||
/** Number of bots to generate and store in cache on raid start per bot type */
|
||||
export interface PresetBatch {
|
||||
assault: number;
|
||||
bossBully: number;
|
||||
@ -67,7 +68,9 @@ export interface LootNvalue {
|
||||
pmc: number;
|
||||
}
|
||||
export interface EquipmentFilters {
|
||||
/** Limits for mod types per weapon .e.g. scopes */
|
||||
weaponModLimits: ModLimits;
|
||||
/** Whitelsit for weapons allowed per gun */
|
||||
weaponSightWhitelist: Record<string, string[]>;
|
||||
faceShieldIsActiveChancePercent?: number;
|
||||
lightIsActiveDayChancePercent?: number;
|
||||
@ -75,10 +78,14 @@ export interface EquipmentFilters {
|
||||
laserIsActiveChancePercent?: number;
|
||||
nvgIsActiveChanceDayPercent?: number;
|
||||
nvgIsActiveChanceNightPercent?: number;
|
||||
/** Adjust weighting/chances of items on bot by level of bot */
|
||||
randomisation: RandomisationDetails[];
|
||||
/** Blacklist equipment by level of bot */
|
||||
blacklist: EquipmentFilterDetails[];
|
||||
/** Whitelist equipment by level of bot */
|
||||
whitelist: EquipmentFilterDetails[];
|
||||
clothing: WeightingAdjustmentDetails[];
|
||||
/** Adjust clothing choice weighting by level of bot */
|
||||
weightingAdjustments: WeightingAdjustmentDetails[];
|
||||
}
|
||||
export interface ModLimits {
|
||||
@ -88,24 +95,34 @@ export interface ModLimits {
|
||||
lightLaserLimit?: number;
|
||||
}
|
||||
export interface RandomisationDetails {
|
||||
/** Between what levels do these randomisation setting apply to */
|
||||
levelRange: MinMax;
|
||||
generation?: Record<string, MinMaxWithWhitelist>;
|
||||
/** Mod slots that should be fully randomisate -ignores mods from bottype.json */
|
||||
randomisedWeaponModSlots?: string[];
|
||||
/** Armor slots that should be randomised e.g. 'Headwear, Armband' */
|
||||
randomisedArmorSlots?: string[];
|
||||
/** Equipment chances */
|
||||
equipment?: Record<string, number>;
|
||||
/** Modc chances */
|
||||
/** Mod chances */
|
||||
mods?: Record<string, number>;
|
||||
}
|
||||
export interface EquipmentFilterDetails {
|
||||
/** Between what levels do these equipment filter setting apply to */
|
||||
levelRange: MinMax;
|
||||
/** Key: mod slot name e.g. mod_magazine, value: item tpls */
|
||||
equipment: Record<string, string[]>;
|
||||
/** Key: cartridge type e.g. Caliber23x75, value: item tpls */
|
||||
cartridge: Record<string, string[]>;
|
||||
}
|
||||
export interface WeightingAdjustmentDetails {
|
||||
/** Between what levels do these weight settings apply to */
|
||||
levelRange: MinMax;
|
||||
/** Key: ammo type e.g. Caliber556x45NATO, value: item tpl + weight */
|
||||
ammo?: AdjustmentDetails;
|
||||
/** Key: equipment slot e.g. TacticalVest, value: item tpl + weight */
|
||||
equipment?: AdjustmentDetails;
|
||||
/** Key: clothing slor e.g. feet, value: item tpl + weight */
|
||||
clothing?: AdjustmentDetails;
|
||||
}
|
||||
export interface AdjustmentDetails {
|
||||
|
@ -2,10 +2,15 @@ import { IBaseConfig } from "./IBaseConfig";
|
||||
export interface IInRaidConfig extends IBaseConfig {
|
||||
kind: "aki-inraid";
|
||||
MIAOnRaidEnd: boolean;
|
||||
/** Overrides to apply to the pre-raid settings screen */
|
||||
raidMenuSettings: RaidMenuSettings;
|
||||
/** What effects should be saved post-raid */
|
||||
save: Save;
|
||||
/** Names of car extracts */
|
||||
carExtracts: string[];
|
||||
/** Fene rep gain from a single car extract */
|
||||
carExtractBaseStandingGain: number;
|
||||
/** Fence rep gain when successfully extracting as pscav */
|
||||
scavExtractGain: number;
|
||||
}
|
||||
export interface RaidMenuSettings {
|
||||
@ -17,6 +22,7 @@ export interface RaidMenuSettings {
|
||||
enablePve: boolean;
|
||||
}
|
||||
export interface Save {
|
||||
/** Should loot gained from raid be saved */
|
||||
loot: boolean;
|
||||
durability: boolean;
|
||||
}
|
||||
|
@ -1,10 +1,16 @@
|
||||
import { IBaseConfig } from "./IBaseConfig";
|
||||
export interface IInsuranceConfig extends IBaseConfig {
|
||||
kind: "aki-insurance";
|
||||
/** Insurance price multiplier */
|
||||
insuranceMultiplier: Record<string, number>;
|
||||
/** Chance item is returned as insurance, keyed by trader id */
|
||||
returnChancePercent: Record<string, number>;
|
||||
/** Item slots that should never be returned as insurance */
|
||||
blacklistedEquipment: string[];
|
||||
/** Names of equipment slots that could not be returned as insurance */
|
||||
slotIdsWithChanceOfNotReturning: string[];
|
||||
/** Override to control how quickly insurance is processed/returned in second */
|
||||
returnTimeOverrideSeconds: number;
|
||||
/** How often server should process insurance in seconds */
|
||||
runIntervalSeconds: number;
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ import { MinMax } from "../../../models/common/MinMax";
|
||||
import { IBaseConfig } from "./IBaseConfig";
|
||||
export interface IInventoryConfig extends IBaseConfig {
|
||||
kind: "aki-inventory";
|
||||
/** Should new items purchased by flagged as found in raid */
|
||||
newItemsMarkedFound: boolean;
|
||||
randomLootContainers: Record<string, RewardDetails>;
|
||||
sealedAirdropContainer: ISealedAirdropContainerSettings;
|
||||
@ -17,6 +18,7 @@ export interface RewardDetails {
|
||||
export interface ISealedAirdropContainerSettings {
|
||||
weaponRewardWeight: Record<string, number>;
|
||||
defaultPresetsOnly: boolean;
|
||||
/** Should contents be flagged as found in raid when opened */
|
||||
foundInRaid: boolean;
|
||||
weaponModRewardLimits: Record<string, MinMax>;
|
||||
rewardTypeLimits: Record<string, MinMax>;
|
||||
|
@ -1,12 +1,17 @@
|
||||
import { MinMax } from "../../../models/common/MinMax";
|
||||
import { BossLocationSpawn, Wave } from "../../../models/eft/common/ILocationBase";
|
||||
import { IBaseConfig } from "./IBaseConfig";
|
||||
export interface ILocationConfig extends IBaseConfig {
|
||||
kind: "aki-location";
|
||||
/** Waves with a min/max of the same value don't spawn any bots, bsg only spawn the difference between min and max */
|
||||
fixEmptyBotWavesSettings: IFixEmptyBotWavesSettings;
|
||||
/** Rogues are classified as bosses and spawn immediatly, this can result in no scavs spawning, delay rogues spawning to allow scavs to spawn first */
|
||||
rogueLighthouseSpawnTimeSettings: IRogueLighthouseSpawnTimeSettings;
|
||||
/** When a map has hit max alive bots, any wave that should spawn will be reduced to 1 bot in size and placed in a spawn queue, this splits waves into smaller sizes to reduce the impact of this behaviour */
|
||||
splitWaveIntoSingleSpawnsSettings: ISplitWaveSettings;
|
||||
looseLootMultiplier: LootMultiplier;
|
||||
staticLootMultiplier: LootMultiplier;
|
||||
/** Custom bot waves to add to a locations base json on game start if addCustomBotWavesToMaps is true */
|
||||
customWaves: CustomWaves;
|
||||
/** Open zones to add to map */
|
||||
openZones: Record<string, string[]>;
|
||||
@ -18,6 +23,10 @@ export interface ILocationConfig extends IBaseConfig {
|
||||
addOpenZonesToAllMaps: boolean;
|
||||
/** Allow addition of custom bot waves designed by SPT to be added to maps - defined in configs/location.json.customWaves*/
|
||||
addCustomBotWavesToMaps: boolean;
|
||||
/** Should the limits defined inside botTypeLimits to appled to locations on game start */
|
||||
enableBotTypeLimits: boolean;
|
||||
/** Add limits to a locations base.MinMaxBots array if enableBotTypeLimits is true*/
|
||||
botTypeLimits: Record<string, IBotTypeLimit[]>;
|
||||
}
|
||||
export interface IFixEmptyBotWavesSettings {
|
||||
enabled: boolean;
|
||||
@ -33,9 +42,14 @@ export interface ISplitWaveSettings {
|
||||
waveSizeThreshold: number;
|
||||
}
|
||||
export interface CustomWaves {
|
||||
/** Bosses spawn on raid start */
|
||||
boss: Record<string, BossLocationSpawn[]>;
|
||||
normal: Record<string, Wave[]>;
|
||||
}
|
||||
export interface IBotTypeLimit extends MinMax {
|
||||
type: string;
|
||||
}
|
||||
/** Multiplier to apply to the loot count for a given map */
|
||||
export interface LootMultiplier {
|
||||
bigmap: number;
|
||||
develop: number;
|
||||
|
@ -1,8 +1,11 @@
|
||||
import { IBaseConfig } from "./IBaseConfig";
|
||||
export interface ILostOnDeathConfig extends IBaseConfig {
|
||||
kind: "aki-lostondeath";
|
||||
/** What equipment in each slot should be lost on death */
|
||||
equipment: Equipment;
|
||||
/** Should special slot items be removed from quest inventory on death e.g. wifi camera/markers */
|
||||
specialSlotItems: boolean;
|
||||
/** Should quest items be removed from quest inventory on death */
|
||||
questItems: boolean;
|
||||
}
|
||||
export interface Equipment {
|
||||
|
@ -12,21 +12,31 @@ export interface IPmcConfig {
|
||||
/** Global whitelist/blacklist of backpack loot for PMCs */
|
||||
backpackLoot: SlotLootSettings;
|
||||
dynamicLoot: DynamicLoot;
|
||||
/** Use difficulty defined in config/bot.json/difficulty instead of chosen difficulty dropdown value */
|
||||
useDifficultyOverride: boolean;
|
||||
/** Difficulty override e.g. "AsOnline/Hard" */
|
||||
difficulty: string;
|
||||
/** Chance out of 100 to have a complete gun in backpack */
|
||||
looseWeaponInBackpackChancePercent: number;
|
||||
/** MinMax count of weapons to have in backpack */
|
||||
looseWeaponInBackpackLootMinMax: MinMax;
|
||||
/** Percentage chance PMC will be USEC */
|
||||
isUsec: number;
|
||||
/** WildSpawnType enum value USEC PMCs use */
|
||||
usecType: string;
|
||||
/** WildSpawnType enum value BEAR PMCs use */
|
||||
bearType: string;
|
||||
chanceSameSideIsHostilePercent: number;
|
||||
/** key: location, value: type for usec/bear */
|
||||
/** What 'brain' does a PMC use, keyed by map and side (USEC/BEAR) key: map location, value: type for usec/bear */
|
||||
pmcType: Record<string, Record<string, Record<string, number>>>;
|
||||
maxBackpackLootTotalRub: number;
|
||||
maxPocketLootTotalRub: number;
|
||||
maxVestLootTotalRub: number;
|
||||
/** Percentage chance a bot from a wave is converted into a PMC, key = bot wildspawn tpye (assault/exusec), value: min+max chance to be converted */
|
||||
convertIntoPmcChance: Record<string, MinMax>;
|
||||
/** WildSpawnType bots PMCs should see as hostile */
|
||||
enemyTypes: string[];
|
||||
/** How many levels above player level can a PMC be */
|
||||
botRelativeLevelDeltaMax: number;
|
||||
}
|
||||
export interface PmcTypes {
|
||||
|
@ -29,10 +29,8 @@ export interface Chance {
|
||||
overpriced: number;
|
||||
underpriced: number;
|
||||
}
|
||||
export interface Time {
|
||||
export interface Time extends MinMax {
|
||||
base: number;
|
||||
min: number;
|
||||
max: number;
|
||||
}
|
||||
export interface Reputation {
|
||||
gain: number;
|
||||
@ -100,11 +98,9 @@ export interface OfferAdjustment {
|
||||
/** What is the minimum rouble price to consider adjusting price of item */
|
||||
priceThreshholdRub: number;
|
||||
}
|
||||
export interface Condition {
|
||||
export interface Condition extends MinMax {
|
||||
/** Percentage change durability is altered */
|
||||
conditionChance: number;
|
||||
min: number;
|
||||
max: number;
|
||||
}
|
||||
export interface Blacklist {
|
||||
/** Damaged ammo packs */
|
||||
|
@ -6,6 +6,7 @@ export interface ITraderConfig extends IBaseConfig {
|
||||
purchasesAreFoundInRaid: boolean;
|
||||
updateTimeDefault: number;
|
||||
traderPriceMultipler: number;
|
||||
/** Keep track of purchased trader-limited items beyond server restarts to prevent server-restart item scumming */
|
||||
persistPurchaseDataInProfile: boolean;
|
||||
fence: FenceConfig;
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
import { Preset } from "../../eft/common/IGlobals";
|
||||
import { IPreset } from "../../eft/common/IGlobals";
|
||||
export interface CustomPreset {
|
||||
key: string;
|
||||
preset: Preset;
|
||||
preset: IPreset;
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
import { HandbookHelper } from "../helpers/HandbookHelper";
|
||||
import { ItemHelper } from "../helpers/ItemHelper";
|
||||
import { PresetHelper } from "../helpers/PresetHelper";
|
||||
import { FenceLevel, Preset } from "../models/eft/common/IGlobals";
|
||||
import { IFenceLevel, IPreset } from "../models/eft/common/IGlobals";
|
||||
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||
import { Item } from "../models/eft/common/tables/IItem";
|
||||
import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem";
|
||||
@ -146,7 +146,7 @@ export declare class FenceService {
|
||||
* @param assorts object to add presets to
|
||||
* @param loyaltyLevel loyalty level to requre item at
|
||||
*/
|
||||
protected addPresets(desiredPresetCount: number, defaultWeaponPresets: Record<string, Preset>, assorts: ITraderAssort, loyaltyLevel: number): void;
|
||||
protected addPresets(desiredPresetCount: number, defaultWeaponPresets: Record<string, IPreset>, assorts: ITraderAssort, loyaltyLevel: number): void;
|
||||
/**
|
||||
* Randomise items' upd properties e.g. med packs/weapons/armor
|
||||
* @param itemDetails Item being randomised
|
||||
@ -176,7 +176,7 @@ export declare class FenceService {
|
||||
* @param pmcData Player profile
|
||||
* @returns FenceLevel object
|
||||
*/
|
||||
getFenceInfo(pmcData: IPmcData): FenceLevel;
|
||||
getFenceInfo(pmcData: IPmcData): IFenceLevel;
|
||||
/**
|
||||
* Remove an assort from fence by id
|
||||
* @param assortIdToRemove assort id to remove from fence assorts
|
||||
|
@ -3,7 +3,7 @@ import { HandbookHelper } from "../helpers/HandbookHelper";
|
||||
import { ItemHelper } from "../helpers/ItemHelper";
|
||||
import { PresetHelper } from "../helpers/PresetHelper";
|
||||
import { TraderHelper } from "../helpers/TraderHelper";
|
||||
import { Preset } from "../models/eft/common/IGlobals";
|
||||
import { IPreset } from "../models/eft/common/IGlobals";
|
||||
import { Item } from "../models/eft/common/tables/IItem";
|
||||
import { IBarterScheme } from "../models/eft/common/tables/ITrader";
|
||||
import { IRagfairConfig } from "../models/spt/config/IRagfairConfig";
|
||||
@ -126,8 +126,8 @@ export declare class RagfairPriceService implements OnLoad {
|
||||
* @param presets weapon presets to choose from
|
||||
* @returns Default preset object
|
||||
*/
|
||||
protected getWeaponPreset(presets: Preset[], weapon: Item): {
|
||||
protected getWeaponPreset(presets: IPreset[], weapon: Item): {
|
||||
isDefault: boolean;
|
||||
preset: Preset;
|
||||
preset: IPreset;
|
||||
};
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
import { BotHelper } from "../helpers/BotHelper";
|
||||
import { Config } from "../models/eft/common/IGlobals";
|
||||
import { IConfig } from "../models/eft/common/IGlobals";
|
||||
import { Inventory } from "../models/eft/common/tables/IBotType";
|
||||
import { SeasonalEventType } from "../models/enums/SeasonalEventType";
|
||||
import { IHttpConfig } from "../models/spt/config/IHttpConfig";
|
||||
@ -105,7 +105,7 @@ export declare class SeasonalEventService {
|
||||
* @param globalConfig globals.json
|
||||
* @param eventName Name of the event to enable. e.g. Christmas
|
||||
*/
|
||||
protected updateGlobalEvents(globalConfig: Config, eventType: SeasonalEventType): void;
|
||||
protected updateGlobalEvents(globalConfig: IConfig, eventType: SeasonalEventType): void;
|
||||
/**
|
||||
* Change trader icons to be more event themed (Halloween only so far)
|
||||
* @param eventType What event is active
|
||||
|
Loading…
x
Reference in New Issue
Block a user