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