380 #24
@ -13,6 +13,7 @@ import { LootRequest } from "@spt-aki/models/spt/services/LootRequest";
|
|||||||
import { ILogger } from "@spt-aki/models/spt/utils/ILogger";
|
import { ILogger } from "@spt-aki/models/spt/utils/ILogger";
|
||||||
import { ConfigServer } from "@spt-aki/servers/ConfigServer";
|
import { ConfigServer } from "@spt-aki/servers/ConfigServer";
|
||||||
import { DatabaseServer } from "@spt-aki/servers/DatabaseServer";
|
import { DatabaseServer } from "@spt-aki/servers/DatabaseServer";
|
||||||
|
import { ItemFilterService } from "@spt-aki/services/ItemFilterService";
|
||||||
import { LocalisationService } from "@spt-aki/services/LocalisationService";
|
import { LocalisationService } from "@spt-aki/services/LocalisationService";
|
||||||
import { RaidTimeAdjustmentService } from "@spt-aki/services/RaidTimeAdjustmentService";
|
import { RaidTimeAdjustmentService } from "@spt-aki/services/RaidTimeAdjustmentService";
|
||||||
import { HashUtil } from "@spt-aki/utils/HashUtil";
|
import { HashUtil } from "@spt-aki/utils/HashUtil";
|
||||||
@ -28,6 +29,7 @@ export declare class LocationController {
|
|||||||
protected locationGenerator: LocationGenerator;
|
protected locationGenerator: LocationGenerator;
|
||||||
protected localisationService: LocalisationService;
|
protected localisationService: LocalisationService;
|
||||||
protected raidTimeAdjustmentService: RaidTimeAdjustmentService;
|
protected raidTimeAdjustmentService: RaidTimeAdjustmentService;
|
||||||
|
protected itemFilterService: ItemFilterService;
|
||||||
protected lootGenerator: LootGenerator;
|
protected lootGenerator: LootGenerator;
|
||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
@ -35,7 +37,7 @@ export declare class LocationController {
|
|||||||
protected applicationContext: ApplicationContext;
|
protected applicationContext: ApplicationContext;
|
||||||
protected airdropConfig: IAirdropConfig;
|
protected airdropConfig: IAirdropConfig;
|
||||||
protected locationConfig: ILocationConfig;
|
protected locationConfig: ILocationConfig;
|
||||||
constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext);
|
constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, itemFilterService: ItemFilterService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext);
|
||||||
/**
|
/**
|
||||||
* Handle client/location/getLocalloot
|
* Handle client/location/getLocalloot
|
||||||
* Get a location (map) with generated loot data
|
* Get a location (map) with generated loot data
|
||||||
|
@ -105,7 +105,7 @@ export declare class RepeatableQuestGenerator {
|
|||||||
/**
|
/**
|
||||||
* Filter a maps exits to just those for the desired side
|
* Filter a maps exits to just those for the desired side
|
||||||
* @param locationKey Map id (e.g. factory4_day)
|
* @param locationKey Map id (e.g. factory4_day)
|
||||||
* @param playerSide Scav/Bear
|
* @param playerSide Scav/Pmc
|
||||||
* @returns Array of Exit objects
|
* @returns Array of Exit objects
|
||||||
*/
|
*/
|
||||||
protected getLocationExitsForSide(locationKey: string, playerSide: string): Exit[];
|
protected getLocationExitsForSide(locationKey: string, playerSide: string): Exit[];
|
||||||
|
@ -3,7 +3,7 @@ import { ItemHelper } from "@spt-aki/helpers/ItemHelper";
|
|||||||
import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper";
|
import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper";
|
||||||
import { QuestHelper } from "@spt-aki/helpers/QuestHelper";
|
import { QuestHelper } from "@spt-aki/helpers/QuestHelper";
|
||||||
import { IPmcData, IPostRaidPmcData } from "@spt-aki/models/eft/common/IPmcData";
|
import { IPmcData, IPostRaidPmcData } from "@spt-aki/models/eft/common/IPmcData";
|
||||||
import { IQuestStatus, TraderInfo, Victim } from "@spt-aki/models/eft/common/tables/IBotBase";
|
import { IQuestStatus, TraderInfo } from "@spt-aki/models/eft/common/tables/IBotBase";
|
||||||
import { Item } from "@spt-aki/models/eft/common/tables/IItem";
|
import { Item } from "@spt-aki/models/eft/common/tables/IItem";
|
||||||
import { ISaveProgressRequestData } from "@spt-aki/models/eft/inRaid/ISaveProgressRequestData";
|
import { ISaveProgressRequestData } from "@spt-aki/models/eft/inRaid/ISaveProgressRequestData";
|
||||||
import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig";
|
import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig";
|
||||||
@ -47,20 +47,6 @@ export declare class InRaidHelper {
|
|||||||
* @param items Items array to check
|
* @param items Items array to check
|
||||||
*/
|
*/
|
||||||
addUpdToMoneyFromRaid(items: Item[]): void;
|
addUpdToMoneyFromRaid(items: Item[]): void;
|
||||||
/**
|
|
||||||
* Add karma changes up and return the new value
|
|
||||||
* @param existingFenceStanding Current fence standing level
|
|
||||||
* @param victims Array of kills player performed
|
|
||||||
* @returns adjusted karma level after kills are taken into account
|
|
||||||
*/
|
|
||||||
calculateFenceStandingChangeFromKillsAsScav(existingFenceStanding: number, victims: Victim[]): number;
|
|
||||||
protected getAdditionalLossForKill(fenceStanding: number, repChangeForKill: number): number;
|
|
||||||
/**
|
|
||||||
* Get the standing gain/loss for killing an npc
|
|
||||||
* @param victim Who was killed by player
|
|
||||||
* @returns a numerical standing gain or loss
|
|
||||||
*/
|
|
||||||
protected getFenceStandingChangeForKillAsScav(victim: Victim): number;
|
|
||||||
/**
|
/**
|
||||||
* Reset a profile to a baseline, used post-raid
|
* Reset a profile to a baseline, used post-raid
|
||||||
* Reset points earned during session property
|
* Reset points earned during session property
|
||||||
|
@ -59,6 +59,12 @@ export declare class ItemHelper {
|
|||||||
* @returns Does item have the possibility ot need soft inserts
|
* @returns Does item have the possibility ot need soft inserts
|
||||||
*/
|
*/
|
||||||
armorItemCanHoldMods(itemTpl: string): boolean;
|
armorItemCanHoldMods(itemTpl: string): boolean;
|
||||||
|
/**
|
||||||
|
* Does the provided item tpl need soft/removable inserts to function
|
||||||
|
* @param itemTpl Armor item
|
||||||
|
* @returns True if item needs some kind of insert
|
||||||
|
*/
|
||||||
|
armorItemHasRemovableOrSoftInsertSlots(itemTpl: string): boolean;
|
||||||
/**
|
/**
|
||||||
* Does the pased in tpl have ability to hold removable plate items
|
* Does the pased in tpl have ability to hold removable plate items
|
||||||
* @param itemTpl item tpl to check for plate support
|
* @param itemTpl item tpl to check for plate support
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase";
|
import { Exit, ILocationBase } from "@spt-aki/models/eft/common/ILocationBase";
|
||||||
import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot";
|
import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot";
|
||||||
export interface ILocation {
|
export interface ILocation {
|
||||||
base: ILocationBase;
|
base: ILocationBase;
|
||||||
looseLoot: ILooseLoot;
|
looseLoot: ILooseLoot;
|
||||||
statics: IStaticContainer;
|
statics: IStaticContainer;
|
||||||
|
allExtracts: Exit[];
|
||||||
}
|
}
|
||||||
export interface IStaticContainer {
|
export interface IStaticContainer {
|
||||||
containersGroups: Record<string, IContainerMinMax>;
|
containersGroups: Record<string, IContainerMinMax>;
|
||||||
|
@ -205,6 +205,7 @@ export interface Exit {
|
|||||||
PassageRequirement: string;
|
PassageRequirement: string;
|
||||||
PlayersCount: number;
|
PlayersCount: number;
|
||||||
RequirementTip: string;
|
RequirementTip: string;
|
||||||
|
Side?: string;
|
||||||
}
|
}
|
||||||
export interface MaxItemCountInLocation {
|
export interface MaxItemCountInLocation {
|
||||||
TemplateId: string;
|
TemplateId: string;
|
||||||
|
@ -182,6 +182,7 @@ export interface IEftStats {
|
|||||||
LastPlayerState?: LastPlayerState;
|
LastPlayerState?: LastPlayerState;
|
||||||
TotalInGameTime: number;
|
TotalInGameTime: number;
|
||||||
SurvivorClass?: string;
|
SurvivorClass?: string;
|
||||||
|
sptLastRaidFenceRepChange?: number;
|
||||||
}
|
}
|
||||||
export interface IDroppedItem {
|
export interface IDroppedItem {
|
||||||
QuestId: string;
|
QuestId: string;
|
||||||
|
@ -3,6 +3,8 @@ export interface IItemConfig extends IBaseConfig {
|
|||||||
kind: "aki-item";
|
kind: "aki-item";
|
||||||
/** Items that should be globally blacklisted */
|
/** Items that should be globally blacklisted */
|
||||||
blacklist: string[];
|
blacklist: string[];
|
||||||
|
/** items that should not be given as rewards */
|
||||||
|
rewardItemBlacklist: string[];
|
||||||
/** Items that can only be found on bosses */
|
/** Items that can only be found on bosses */
|
||||||
bossItems: string[];
|
bossItems: string[];
|
||||||
handbookPriceOverride: Record<string, number>;
|
handbookPriceOverride: Record<string, number>;
|
||||||
|
@ -7,5 +7,5 @@ export declare enum LogTextColor {
|
|||||||
MAGENTA = "magenta",
|
MAGENTA = "magenta",
|
||||||
CYAN = "cyan",
|
CYAN = "cyan",
|
||||||
WHITE = "white",
|
WHITE = "white",
|
||||||
GRAY = ""
|
GRAY = "gray"
|
||||||
}
|
}
|
||||||
|
@ -1,28 +1,23 @@
|
|||||||
import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase";
|
import { ILocation } from "@spt-aki/models/eft/common/ILocation";
|
||||||
import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot";
|
|
||||||
import { ILocationsBase } from "@spt-aki/models/eft/common/tables/ILocationsBase";
|
import { ILocationsBase } from "@spt-aki/models/eft/common/tables/ILocationsBase";
|
||||||
export interface ILocations {
|
export interface ILocations {
|
||||||
bigmap?: ILocationData;
|
bigmap?: ILocation;
|
||||||
develop?: ILocationData;
|
develop?: ILocation;
|
||||||
factory4_day?: ILocationData;
|
factory4_day?: ILocation;
|
||||||
factory4_night?: ILocationData;
|
factory4_night?: ILocation;
|
||||||
hideout?: ILocationData;
|
hideout?: ILocation;
|
||||||
interchange?: ILocationData;
|
interchange?: ILocation;
|
||||||
laboratory?: ILocationData;
|
laboratory?: ILocation;
|
||||||
lighthouse?: ILocationData;
|
lighthouse?: ILocation;
|
||||||
privatearea?: ILocationData;
|
privatearea?: ILocation;
|
||||||
rezervbase?: ILocationData;
|
rezervbase?: ILocation;
|
||||||
shoreline?: ILocationData;
|
shoreline?: ILocation;
|
||||||
suburbs?: ILocationData;
|
suburbs?: ILocation;
|
||||||
tarkovstreets?: ILocationData;
|
tarkovstreets?: ILocation;
|
||||||
terminal?: ILocationData;
|
terminal?: ILocation;
|
||||||
town?: ILocationData;
|
town?: ILocation;
|
||||||
woods?: ILocationData;
|
woods?: ILocation;
|
||||||
sandbox?: ILocationData;
|
sandbox?: ILocation;
|
||||||
/** Holds a mapping of the linkages between locations on the UI */
|
/** Holds a mapping of the linkages between locations on the UI */
|
||||||
base?: ILocationsBase;
|
base?: ILocationsBase;
|
||||||
}
|
}
|
||||||
export interface ILocationData {
|
|
||||||
base: ILocationBase;
|
|
||||||
looseLoot?: ILooseLoot;
|
|
||||||
}
|
|
||||||
|
@ -15,6 +15,17 @@ export declare class ItemFilterService {
|
|||||||
* @returns true if blacklisted
|
* @returns true if blacklisted
|
||||||
*/
|
*/
|
||||||
isItemBlacklisted(tpl: string): boolean;
|
isItemBlacklisted(tpl: string): boolean;
|
||||||
|
/**
|
||||||
|
* Check if item is blacklisted from being a reward for player
|
||||||
|
* @param tpl item tpl to check is on blacklist
|
||||||
|
* @returns True when blacklisted
|
||||||
|
*/
|
||||||
|
isItemRewardBlacklisted(tpl: string): boolean;
|
||||||
|
/**
|
||||||
|
* Get an array of items that should never be given as a reward to player
|
||||||
|
* @returns string array of item tpls
|
||||||
|
*/
|
||||||
|
getItemRewardBlacklist(): string[];
|
||||||
/**
|
/**
|
||||||
* Return every template id blacklisted in config/item.json
|
* Return every template id blacklisted in config/item.json
|
||||||
* @returns string array of blacklisted tempalte ids
|
* @returns string array of blacklisted tempalte ids
|
||||||
|
@ -40,6 +40,4 @@ export declare class Watermark {
|
|||||||
protected resetCursor(): void;
|
protected resetCursor(): void;
|
||||||
/** Draw the watermark */
|
/** Draw the watermark */
|
||||||
protected draw(): void;
|
protected draw(): void;
|
||||||
/** Caculate text length */
|
|
||||||
protected textLength(s: string): number;
|
|
||||||
}
|
}
|
||||||
|
@ -13,6 +13,7 @@ import { LootRequest } from "@spt-aki/models/spt/services/LootRequest";
|
|||||||
import { ILogger } from "@spt-aki/models/spt/utils/ILogger";
|
import { ILogger } from "@spt-aki/models/spt/utils/ILogger";
|
||||||
import { ConfigServer } from "@spt-aki/servers/ConfigServer";
|
import { ConfigServer } from "@spt-aki/servers/ConfigServer";
|
||||||
import { DatabaseServer } from "@spt-aki/servers/DatabaseServer";
|
import { DatabaseServer } from "@spt-aki/servers/DatabaseServer";
|
||||||
|
import { ItemFilterService } from "@spt-aki/services/ItemFilterService";
|
||||||
import { LocalisationService } from "@spt-aki/services/LocalisationService";
|
import { LocalisationService } from "@spt-aki/services/LocalisationService";
|
||||||
import { RaidTimeAdjustmentService } from "@spt-aki/services/RaidTimeAdjustmentService";
|
import { RaidTimeAdjustmentService } from "@spt-aki/services/RaidTimeAdjustmentService";
|
||||||
import { HashUtil } from "@spt-aki/utils/HashUtil";
|
import { HashUtil } from "@spt-aki/utils/HashUtil";
|
||||||
@ -28,6 +29,7 @@ export declare class LocationController {
|
|||||||
protected locationGenerator: LocationGenerator;
|
protected locationGenerator: LocationGenerator;
|
||||||
protected localisationService: LocalisationService;
|
protected localisationService: LocalisationService;
|
||||||
protected raidTimeAdjustmentService: RaidTimeAdjustmentService;
|
protected raidTimeAdjustmentService: RaidTimeAdjustmentService;
|
||||||
|
protected itemFilterService: ItemFilterService;
|
||||||
protected lootGenerator: LootGenerator;
|
protected lootGenerator: LootGenerator;
|
||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
@ -35,7 +37,7 @@ export declare class LocationController {
|
|||||||
protected applicationContext: ApplicationContext;
|
protected applicationContext: ApplicationContext;
|
||||||
protected airdropConfig: IAirdropConfig;
|
protected airdropConfig: IAirdropConfig;
|
||||||
protected locationConfig: ILocationConfig;
|
protected locationConfig: ILocationConfig;
|
||||||
constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext);
|
constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, itemFilterService: ItemFilterService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext);
|
||||||
/**
|
/**
|
||||||
* Handle client/location/getLocalloot
|
* Handle client/location/getLocalloot
|
||||||
* Get a location (map) with generated loot data
|
* Get a location (map) with generated loot data
|
||||||
|
@ -105,7 +105,7 @@ export declare class RepeatableQuestGenerator {
|
|||||||
/**
|
/**
|
||||||
* Filter a maps exits to just those for the desired side
|
* Filter a maps exits to just those for the desired side
|
||||||
* @param locationKey Map id (e.g. factory4_day)
|
* @param locationKey Map id (e.g. factory4_day)
|
||||||
* @param playerSide Scav/Bear
|
* @param playerSide Scav/Pmc
|
||||||
* @returns Array of Exit objects
|
* @returns Array of Exit objects
|
||||||
*/
|
*/
|
||||||
protected getLocationExitsForSide(locationKey: string, playerSide: string): Exit[];
|
protected getLocationExitsForSide(locationKey: string, playerSide: string): Exit[];
|
||||||
|
@ -3,7 +3,7 @@ import { ItemHelper } from "@spt-aki/helpers/ItemHelper";
|
|||||||
import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper";
|
import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper";
|
||||||
import { QuestHelper } from "@spt-aki/helpers/QuestHelper";
|
import { QuestHelper } from "@spt-aki/helpers/QuestHelper";
|
||||||
import { IPmcData, IPostRaidPmcData } from "@spt-aki/models/eft/common/IPmcData";
|
import { IPmcData, IPostRaidPmcData } from "@spt-aki/models/eft/common/IPmcData";
|
||||||
import { IQuestStatus, TraderInfo, Victim } from "@spt-aki/models/eft/common/tables/IBotBase";
|
import { IQuestStatus, TraderInfo } from "@spt-aki/models/eft/common/tables/IBotBase";
|
||||||
import { Item } from "@spt-aki/models/eft/common/tables/IItem";
|
import { Item } from "@spt-aki/models/eft/common/tables/IItem";
|
||||||
import { ISaveProgressRequestData } from "@spt-aki/models/eft/inRaid/ISaveProgressRequestData";
|
import { ISaveProgressRequestData } from "@spt-aki/models/eft/inRaid/ISaveProgressRequestData";
|
||||||
import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig";
|
import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig";
|
||||||
@ -47,20 +47,6 @@ export declare class InRaidHelper {
|
|||||||
* @param items Items array to check
|
* @param items Items array to check
|
||||||
*/
|
*/
|
||||||
addUpdToMoneyFromRaid(items: Item[]): void;
|
addUpdToMoneyFromRaid(items: Item[]): void;
|
||||||
/**
|
|
||||||
* Add karma changes up and return the new value
|
|
||||||
* @param existingFenceStanding Current fence standing level
|
|
||||||
* @param victims Array of kills player performed
|
|
||||||
* @returns adjusted karma level after kills are taken into account
|
|
||||||
*/
|
|
||||||
calculateFenceStandingChangeFromKillsAsScav(existingFenceStanding: number, victims: Victim[]): number;
|
|
||||||
protected getAdditionalLossForKill(fenceStanding: number, repChangeForKill: number): number;
|
|
||||||
/**
|
|
||||||
* Get the standing gain/loss for killing an npc
|
|
||||||
* @param victim Who was killed by player
|
|
||||||
* @returns a numerical standing gain or loss
|
|
||||||
*/
|
|
||||||
protected getFenceStandingChangeForKillAsScav(victim: Victim): number;
|
|
||||||
/**
|
/**
|
||||||
* Reset a profile to a baseline, used post-raid
|
* Reset a profile to a baseline, used post-raid
|
||||||
* Reset points earned during session property
|
* Reset points earned during session property
|
||||||
|
@ -59,6 +59,12 @@ export declare class ItemHelper {
|
|||||||
* @returns Does item have the possibility ot need soft inserts
|
* @returns Does item have the possibility ot need soft inserts
|
||||||
*/
|
*/
|
||||||
armorItemCanHoldMods(itemTpl: string): boolean;
|
armorItemCanHoldMods(itemTpl: string): boolean;
|
||||||
|
/**
|
||||||
|
* Does the provided item tpl need soft/removable inserts to function
|
||||||
|
* @param itemTpl Armor item
|
||||||
|
* @returns True if item needs some kind of insert
|
||||||
|
*/
|
||||||
|
armorItemHasRemovableOrSoftInsertSlots(itemTpl: string): boolean;
|
||||||
/**
|
/**
|
||||||
* Does the pased in tpl have ability to hold removable plate items
|
* Does the pased in tpl have ability to hold removable plate items
|
||||||
* @param itemTpl item tpl to check for plate support
|
* @param itemTpl item tpl to check for plate support
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase";
|
import { Exit, ILocationBase } from "@spt-aki/models/eft/common/ILocationBase";
|
||||||
import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot";
|
import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot";
|
||||||
export interface ILocation {
|
export interface ILocation {
|
||||||
base: ILocationBase;
|
base: ILocationBase;
|
||||||
looseLoot: ILooseLoot;
|
looseLoot: ILooseLoot;
|
||||||
statics: IStaticContainer;
|
statics: IStaticContainer;
|
||||||
|
allExtracts: Exit[];
|
||||||
}
|
}
|
||||||
export interface IStaticContainer {
|
export interface IStaticContainer {
|
||||||
containersGroups: Record<string, IContainerMinMax>;
|
containersGroups: Record<string, IContainerMinMax>;
|
||||||
|
@ -205,6 +205,7 @@ export interface Exit {
|
|||||||
PassageRequirement: string;
|
PassageRequirement: string;
|
||||||
PlayersCount: number;
|
PlayersCount: number;
|
||||||
RequirementTip: string;
|
RequirementTip: string;
|
||||||
|
Side?: string;
|
||||||
}
|
}
|
||||||
export interface MaxItemCountInLocation {
|
export interface MaxItemCountInLocation {
|
||||||
TemplateId: string;
|
TemplateId: string;
|
||||||
|
@ -182,6 +182,7 @@ export interface IEftStats {
|
|||||||
LastPlayerState?: LastPlayerState;
|
LastPlayerState?: LastPlayerState;
|
||||||
TotalInGameTime: number;
|
TotalInGameTime: number;
|
||||||
SurvivorClass?: string;
|
SurvivorClass?: string;
|
||||||
|
sptLastRaidFenceRepChange?: number;
|
||||||
}
|
}
|
||||||
export interface IDroppedItem {
|
export interface IDroppedItem {
|
||||||
QuestId: string;
|
QuestId: string;
|
||||||
|
@ -3,6 +3,8 @@ export interface IItemConfig extends IBaseConfig {
|
|||||||
kind: "aki-item";
|
kind: "aki-item";
|
||||||
/** Items that should be globally blacklisted */
|
/** Items that should be globally blacklisted */
|
||||||
blacklist: string[];
|
blacklist: string[];
|
||||||
|
/** items that should not be given as rewards */
|
||||||
|
rewardItemBlacklist: string[];
|
||||||
/** Items that can only be found on bosses */
|
/** Items that can only be found on bosses */
|
||||||
bossItems: string[];
|
bossItems: string[];
|
||||||
handbookPriceOverride: Record<string, number>;
|
handbookPriceOverride: Record<string, number>;
|
||||||
|
@ -7,5 +7,5 @@ export declare enum LogTextColor {
|
|||||||
MAGENTA = "magenta",
|
MAGENTA = "magenta",
|
||||||
CYAN = "cyan",
|
CYAN = "cyan",
|
||||||
WHITE = "white",
|
WHITE = "white",
|
||||||
GRAY = ""
|
GRAY = "gray"
|
||||||
}
|
}
|
||||||
|
@ -1,28 +1,23 @@
|
|||||||
import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase";
|
import { ILocation } from "@spt-aki/models/eft/common/ILocation";
|
||||||
import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot";
|
|
||||||
import { ILocationsBase } from "@spt-aki/models/eft/common/tables/ILocationsBase";
|
import { ILocationsBase } from "@spt-aki/models/eft/common/tables/ILocationsBase";
|
||||||
export interface ILocations {
|
export interface ILocations {
|
||||||
bigmap?: ILocationData;
|
bigmap?: ILocation;
|
||||||
develop?: ILocationData;
|
develop?: ILocation;
|
||||||
factory4_day?: ILocationData;
|
factory4_day?: ILocation;
|
||||||
factory4_night?: ILocationData;
|
factory4_night?: ILocation;
|
||||||
hideout?: ILocationData;
|
hideout?: ILocation;
|
||||||
interchange?: ILocationData;
|
interchange?: ILocation;
|
||||||
laboratory?: ILocationData;
|
laboratory?: ILocation;
|
||||||
lighthouse?: ILocationData;
|
lighthouse?: ILocation;
|
||||||
privatearea?: ILocationData;
|
privatearea?: ILocation;
|
||||||
rezervbase?: ILocationData;
|
rezervbase?: ILocation;
|
||||||
shoreline?: ILocationData;
|
shoreline?: ILocation;
|
||||||
suburbs?: ILocationData;
|
suburbs?: ILocation;
|
||||||
tarkovstreets?: ILocationData;
|
tarkovstreets?: ILocation;
|
||||||
terminal?: ILocationData;
|
terminal?: ILocation;
|
||||||
town?: ILocationData;
|
town?: ILocation;
|
||||||
woods?: ILocationData;
|
woods?: ILocation;
|
||||||
sandbox?: ILocationData;
|
sandbox?: ILocation;
|
||||||
/** Holds a mapping of the linkages between locations on the UI */
|
/** Holds a mapping of the linkages between locations on the UI */
|
||||||
base?: ILocationsBase;
|
base?: ILocationsBase;
|
||||||
}
|
}
|
||||||
export interface ILocationData {
|
|
||||||
base: ILocationBase;
|
|
||||||
looseLoot?: ILooseLoot;
|
|
||||||
}
|
|
||||||
|
@ -15,6 +15,17 @@ export declare class ItemFilterService {
|
|||||||
* @returns true if blacklisted
|
* @returns true if blacklisted
|
||||||
*/
|
*/
|
||||||
isItemBlacklisted(tpl: string): boolean;
|
isItemBlacklisted(tpl: string): boolean;
|
||||||
|
/**
|
||||||
|
* Check if item is blacklisted from being a reward for player
|
||||||
|
* @param tpl item tpl to check is on blacklist
|
||||||
|
* @returns True when blacklisted
|
||||||
|
*/
|
||||||
|
isItemRewardBlacklisted(tpl: string): boolean;
|
||||||
|
/**
|
||||||
|
* Get an array of items that should never be given as a reward to player
|
||||||
|
* @returns string array of item tpls
|
||||||
|
*/
|
||||||
|
getItemRewardBlacklist(): string[];
|
||||||
/**
|
/**
|
||||||
* Return every template id blacklisted in config/item.json
|
* Return every template id blacklisted in config/item.json
|
||||||
* @returns string array of blacklisted tempalte ids
|
* @returns string array of blacklisted tempalte ids
|
||||||
|
@ -40,6 +40,4 @@ export declare class Watermark {
|
|||||||
protected resetCursor(): void;
|
protected resetCursor(): void;
|
||||||
/** Draw the watermark */
|
/** Draw the watermark */
|
||||||
protected draw(): void;
|
protected draw(): void;
|
||||||
/** Caculate text length */
|
|
||||||
protected textLength(s: string): number;
|
|
||||||
}
|
}
|
||||||
|
@ -13,6 +13,7 @@ import { LootRequest } from "@spt-aki/models/spt/services/LootRequest";
|
|||||||
import { ILogger } from "@spt-aki/models/spt/utils/ILogger";
|
import { ILogger } from "@spt-aki/models/spt/utils/ILogger";
|
||||||
import { ConfigServer } from "@spt-aki/servers/ConfigServer";
|
import { ConfigServer } from "@spt-aki/servers/ConfigServer";
|
||||||
import { DatabaseServer } from "@spt-aki/servers/DatabaseServer";
|
import { DatabaseServer } from "@spt-aki/servers/DatabaseServer";
|
||||||
|
import { ItemFilterService } from "@spt-aki/services/ItemFilterService";
|
||||||
import { LocalisationService } from "@spt-aki/services/LocalisationService";
|
import { LocalisationService } from "@spt-aki/services/LocalisationService";
|
||||||
import { RaidTimeAdjustmentService } from "@spt-aki/services/RaidTimeAdjustmentService";
|
import { RaidTimeAdjustmentService } from "@spt-aki/services/RaidTimeAdjustmentService";
|
||||||
import { HashUtil } from "@spt-aki/utils/HashUtil";
|
import { HashUtil } from "@spt-aki/utils/HashUtil";
|
||||||
@ -28,6 +29,7 @@ export declare class LocationController {
|
|||||||
protected locationGenerator: LocationGenerator;
|
protected locationGenerator: LocationGenerator;
|
||||||
protected localisationService: LocalisationService;
|
protected localisationService: LocalisationService;
|
||||||
protected raidTimeAdjustmentService: RaidTimeAdjustmentService;
|
protected raidTimeAdjustmentService: RaidTimeAdjustmentService;
|
||||||
|
protected itemFilterService: ItemFilterService;
|
||||||
protected lootGenerator: LootGenerator;
|
protected lootGenerator: LootGenerator;
|
||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
@ -35,7 +37,7 @@ export declare class LocationController {
|
|||||||
protected applicationContext: ApplicationContext;
|
protected applicationContext: ApplicationContext;
|
||||||
protected airdropConfig: IAirdropConfig;
|
protected airdropConfig: IAirdropConfig;
|
||||||
protected locationConfig: ILocationConfig;
|
protected locationConfig: ILocationConfig;
|
||||||
constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext);
|
constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, itemFilterService: ItemFilterService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext);
|
||||||
/**
|
/**
|
||||||
* Handle client/location/getLocalloot
|
* Handle client/location/getLocalloot
|
||||||
* Get a location (map) with generated loot data
|
* Get a location (map) with generated loot data
|
||||||
|
@ -105,7 +105,7 @@ export declare class RepeatableQuestGenerator {
|
|||||||
/**
|
/**
|
||||||
* Filter a maps exits to just those for the desired side
|
* Filter a maps exits to just those for the desired side
|
||||||
* @param locationKey Map id (e.g. factory4_day)
|
* @param locationKey Map id (e.g. factory4_day)
|
||||||
* @param playerSide Scav/Bear
|
* @param playerSide Scav/Pmc
|
||||||
* @returns Array of Exit objects
|
* @returns Array of Exit objects
|
||||||
*/
|
*/
|
||||||
protected getLocationExitsForSide(locationKey: string, playerSide: string): Exit[];
|
protected getLocationExitsForSide(locationKey: string, playerSide: string): Exit[];
|
||||||
|
@ -3,7 +3,7 @@ import { ItemHelper } from "@spt-aki/helpers/ItemHelper";
|
|||||||
import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper";
|
import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper";
|
||||||
import { QuestHelper } from "@spt-aki/helpers/QuestHelper";
|
import { QuestHelper } from "@spt-aki/helpers/QuestHelper";
|
||||||
import { IPmcData, IPostRaidPmcData } from "@spt-aki/models/eft/common/IPmcData";
|
import { IPmcData, IPostRaidPmcData } from "@spt-aki/models/eft/common/IPmcData";
|
||||||
import { IQuestStatus, TraderInfo, Victim } from "@spt-aki/models/eft/common/tables/IBotBase";
|
import { IQuestStatus, TraderInfo } from "@spt-aki/models/eft/common/tables/IBotBase";
|
||||||
import { Item } from "@spt-aki/models/eft/common/tables/IItem";
|
import { Item } from "@spt-aki/models/eft/common/tables/IItem";
|
||||||
import { ISaveProgressRequestData } from "@spt-aki/models/eft/inRaid/ISaveProgressRequestData";
|
import { ISaveProgressRequestData } from "@spt-aki/models/eft/inRaid/ISaveProgressRequestData";
|
||||||
import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig";
|
import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig";
|
||||||
@ -47,20 +47,6 @@ export declare class InRaidHelper {
|
|||||||
* @param items Items array to check
|
* @param items Items array to check
|
||||||
*/
|
*/
|
||||||
addUpdToMoneyFromRaid(items: Item[]): void;
|
addUpdToMoneyFromRaid(items: Item[]): void;
|
||||||
/**
|
|
||||||
* Add karma changes up and return the new value
|
|
||||||
* @param existingFenceStanding Current fence standing level
|
|
||||||
* @param victims Array of kills player performed
|
|
||||||
* @returns adjusted karma level after kills are taken into account
|
|
||||||
*/
|
|
||||||
calculateFenceStandingChangeFromKillsAsScav(existingFenceStanding: number, victims: Victim[]): number;
|
|
||||||
protected getAdditionalLossForKill(fenceStanding: number, repChangeForKill: number): number;
|
|
||||||
/**
|
|
||||||
* Get the standing gain/loss for killing an npc
|
|
||||||
* @param victim Who was killed by player
|
|
||||||
* @returns a numerical standing gain or loss
|
|
||||||
*/
|
|
||||||
protected getFenceStandingChangeForKillAsScav(victim: Victim): number;
|
|
||||||
/**
|
/**
|
||||||
* Reset a profile to a baseline, used post-raid
|
* Reset a profile to a baseline, used post-raid
|
||||||
* Reset points earned during session property
|
* Reset points earned during session property
|
||||||
|
@ -59,6 +59,12 @@ export declare class ItemHelper {
|
|||||||
* @returns Does item have the possibility ot need soft inserts
|
* @returns Does item have the possibility ot need soft inserts
|
||||||
*/
|
*/
|
||||||
armorItemCanHoldMods(itemTpl: string): boolean;
|
armorItemCanHoldMods(itemTpl: string): boolean;
|
||||||
|
/**
|
||||||
|
* Does the provided item tpl need soft/removable inserts to function
|
||||||
|
* @param itemTpl Armor item
|
||||||
|
* @returns True if item needs some kind of insert
|
||||||
|
*/
|
||||||
|
armorItemHasRemovableOrSoftInsertSlots(itemTpl: string): boolean;
|
||||||
/**
|
/**
|
||||||
* Does the pased in tpl have ability to hold removable plate items
|
* Does the pased in tpl have ability to hold removable plate items
|
||||||
* @param itemTpl item tpl to check for plate support
|
* @param itemTpl item tpl to check for plate support
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase";
|
import { Exit, ILocationBase } from "@spt-aki/models/eft/common/ILocationBase";
|
||||||
import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot";
|
import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot";
|
||||||
export interface ILocation {
|
export interface ILocation {
|
||||||
base: ILocationBase;
|
base: ILocationBase;
|
||||||
looseLoot: ILooseLoot;
|
looseLoot: ILooseLoot;
|
||||||
statics: IStaticContainer;
|
statics: IStaticContainer;
|
||||||
|
allExtracts: Exit[];
|
||||||
}
|
}
|
||||||
export interface IStaticContainer {
|
export interface IStaticContainer {
|
||||||
containersGroups: Record<string, IContainerMinMax>;
|
containersGroups: Record<string, IContainerMinMax>;
|
||||||
|
@ -205,6 +205,7 @@ export interface Exit {
|
|||||||
PassageRequirement: string;
|
PassageRequirement: string;
|
||||||
PlayersCount: number;
|
PlayersCount: number;
|
||||||
RequirementTip: string;
|
RequirementTip: string;
|
||||||
|
Side?: string;
|
||||||
}
|
}
|
||||||
export interface MaxItemCountInLocation {
|
export interface MaxItemCountInLocation {
|
||||||
TemplateId: string;
|
TemplateId: string;
|
||||||
|
@ -182,6 +182,7 @@ export interface IEftStats {
|
|||||||
LastPlayerState?: LastPlayerState;
|
LastPlayerState?: LastPlayerState;
|
||||||
TotalInGameTime: number;
|
TotalInGameTime: number;
|
||||||
SurvivorClass?: string;
|
SurvivorClass?: string;
|
||||||
|
sptLastRaidFenceRepChange?: number;
|
||||||
}
|
}
|
||||||
export interface IDroppedItem {
|
export interface IDroppedItem {
|
||||||
QuestId: string;
|
QuestId: string;
|
||||||
|
@ -3,6 +3,8 @@ export interface IItemConfig extends IBaseConfig {
|
|||||||
kind: "aki-item";
|
kind: "aki-item";
|
||||||
/** Items that should be globally blacklisted */
|
/** Items that should be globally blacklisted */
|
||||||
blacklist: string[];
|
blacklist: string[];
|
||||||
|
/** items that should not be given as rewards */
|
||||||
|
rewardItemBlacklist: string[];
|
||||||
/** Items that can only be found on bosses */
|
/** Items that can only be found on bosses */
|
||||||
bossItems: string[];
|
bossItems: string[];
|
||||||
handbookPriceOverride: Record<string, number>;
|
handbookPriceOverride: Record<string, number>;
|
||||||
|
@ -7,5 +7,5 @@ export declare enum LogTextColor {
|
|||||||
MAGENTA = "magenta",
|
MAGENTA = "magenta",
|
||||||
CYAN = "cyan",
|
CYAN = "cyan",
|
||||||
WHITE = "white",
|
WHITE = "white",
|
||||||
GRAY = ""
|
GRAY = "gray"
|
||||||
}
|
}
|
||||||
|
@ -1,28 +1,23 @@
|
|||||||
import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase";
|
import { ILocation } from "@spt-aki/models/eft/common/ILocation";
|
||||||
import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot";
|
|
||||||
import { ILocationsBase } from "@spt-aki/models/eft/common/tables/ILocationsBase";
|
import { ILocationsBase } from "@spt-aki/models/eft/common/tables/ILocationsBase";
|
||||||
export interface ILocations {
|
export interface ILocations {
|
||||||
bigmap?: ILocationData;
|
bigmap?: ILocation;
|
||||||
develop?: ILocationData;
|
develop?: ILocation;
|
||||||
factory4_day?: ILocationData;
|
factory4_day?: ILocation;
|
||||||
factory4_night?: ILocationData;
|
factory4_night?: ILocation;
|
||||||
hideout?: ILocationData;
|
hideout?: ILocation;
|
||||||
interchange?: ILocationData;
|
interchange?: ILocation;
|
||||||
laboratory?: ILocationData;
|
laboratory?: ILocation;
|
||||||
lighthouse?: ILocationData;
|
lighthouse?: ILocation;
|
||||||
privatearea?: ILocationData;
|
privatearea?: ILocation;
|
||||||
rezervbase?: ILocationData;
|
rezervbase?: ILocation;
|
||||||
shoreline?: ILocationData;
|
shoreline?: ILocation;
|
||||||
suburbs?: ILocationData;
|
suburbs?: ILocation;
|
||||||
tarkovstreets?: ILocationData;
|
tarkovstreets?: ILocation;
|
||||||
terminal?: ILocationData;
|
terminal?: ILocation;
|
||||||
town?: ILocationData;
|
town?: ILocation;
|
||||||
woods?: ILocationData;
|
woods?: ILocation;
|
||||||
sandbox?: ILocationData;
|
sandbox?: ILocation;
|
||||||
/** Holds a mapping of the linkages between locations on the UI */
|
/** Holds a mapping of the linkages between locations on the UI */
|
||||||
base?: ILocationsBase;
|
base?: ILocationsBase;
|
||||||
}
|
}
|
||||||
export interface ILocationData {
|
|
||||||
base: ILocationBase;
|
|
||||||
looseLoot?: ILooseLoot;
|
|
||||||
}
|
|
||||||
|
@ -15,6 +15,17 @@ export declare class ItemFilterService {
|
|||||||
* @returns true if blacklisted
|
* @returns true if blacklisted
|
||||||
*/
|
*/
|
||||||
isItemBlacklisted(tpl: string): boolean;
|
isItemBlacklisted(tpl: string): boolean;
|
||||||
|
/**
|
||||||
|
* Check if item is blacklisted from being a reward for player
|
||||||
|
* @param tpl item tpl to check is on blacklist
|
||||||
|
* @returns True when blacklisted
|
||||||
|
*/
|
||||||
|
isItemRewardBlacklisted(tpl: string): boolean;
|
||||||
|
/**
|
||||||
|
* Get an array of items that should never be given as a reward to player
|
||||||
|
* @returns string array of item tpls
|
||||||
|
*/
|
||||||
|
getItemRewardBlacklist(): string[];
|
||||||
/**
|
/**
|
||||||
* Return every template id blacklisted in config/item.json
|
* Return every template id blacklisted in config/item.json
|
||||||
* @returns string array of blacklisted tempalte ids
|
* @returns string array of blacklisted tempalte ids
|
||||||
|
@ -40,6 +40,4 @@ export declare class Watermark {
|
|||||||
protected resetCursor(): void;
|
protected resetCursor(): void;
|
||||||
/** Draw the watermark */
|
/** Draw the watermark */
|
||||||
protected draw(): void;
|
protected draw(): void;
|
||||||
/** Caculate text length */
|
|
||||||
protected textLength(s: string): number;
|
|
||||||
}
|
}
|
||||||
|
@ -13,6 +13,7 @@ import { LootRequest } from "@spt-aki/models/spt/services/LootRequest";
|
|||||||
import { ILogger } from "@spt-aki/models/spt/utils/ILogger";
|
import { ILogger } from "@spt-aki/models/spt/utils/ILogger";
|
||||||
import { ConfigServer } from "@spt-aki/servers/ConfigServer";
|
import { ConfigServer } from "@spt-aki/servers/ConfigServer";
|
||||||
import { DatabaseServer } from "@spt-aki/servers/DatabaseServer";
|
import { DatabaseServer } from "@spt-aki/servers/DatabaseServer";
|
||||||
|
import { ItemFilterService } from "@spt-aki/services/ItemFilterService";
|
||||||
import { LocalisationService } from "@spt-aki/services/LocalisationService";
|
import { LocalisationService } from "@spt-aki/services/LocalisationService";
|
||||||
import { RaidTimeAdjustmentService } from "@spt-aki/services/RaidTimeAdjustmentService";
|
import { RaidTimeAdjustmentService } from "@spt-aki/services/RaidTimeAdjustmentService";
|
||||||
import { HashUtil } from "@spt-aki/utils/HashUtil";
|
import { HashUtil } from "@spt-aki/utils/HashUtil";
|
||||||
@ -28,6 +29,7 @@ export declare class LocationController {
|
|||||||
protected locationGenerator: LocationGenerator;
|
protected locationGenerator: LocationGenerator;
|
||||||
protected localisationService: LocalisationService;
|
protected localisationService: LocalisationService;
|
||||||
protected raidTimeAdjustmentService: RaidTimeAdjustmentService;
|
protected raidTimeAdjustmentService: RaidTimeAdjustmentService;
|
||||||
|
protected itemFilterService: ItemFilterService;
|
||||||
protected lootGenerator: LootGenerator;
|
protected lootGenerator: LootGenerator;
|
||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
@ -35,7 +37,7 @@ export declare class LocationController {
|
|||||||
protected applicationContext: ApplicationContext;
|
protected applicationContext: ApplicationContext;
|
||||||
protected airdropConfig: IAirdropConfig;
|
protected airdropConfig: IAirdropConfig;
|
||||||
protected locationConfig: ILocationConfig;
|
protected locationConfig: ILocationConfig;
|
||||||
constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext);
|
constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, itemFilterService: ItemFilterService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext);
|
||||||
/**
|
/**
|
||||||
* Handle client/location/getLocalloot
|
* Handle client/location/getLocalloot
|
||||||
* Get a location (map) with generated loot data
|
* Get a location (map) with generated loot data
|
||||||
|
@ -105,7 +105,7 @@ export declare class RepeatableQuestGenerator {
|
|||||||
/**
|
/**
|
||||||
* Filter a maps exits to just those for the desired side
|
* Filter a maps exits to just those for the desired side
|
||||||
* @param locationKey Map id (e.g. factory4_day)
|
* @param locationKey Map id (e.g. factory4_day)
|
||||||
* @param playerSide Scav/Bear
|
* @param playerSide Scav/Pmc
|
||||||
* @returns Array of Exit objects
|
* @returns Array of Exit objects
|
||||||
*/
|
*/
|
||||||
protected getLocationExitsForSide(locationKey: string, playerSide: string): Exit[];
|
protected getLocationExitsForSide(locationKey: string, playerSide: string): Exit[];
|
||||||
|
@ -3,7 +3,7 @@ import { ItemHelper } from "@spt-aki/helpers/ItemHelper";
|
|||||||
import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper";
|
import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper";
|
||||||
import { QuestHelper } from "@spt-aki/helpers/QuestHelper";
|
import { QuestHelper } from "@spt-aki/helpers/QuestHelper";
|
||||||
import { IPmcData, IPostRaidPmcData } from "@spt-aki/models/eft/common/IPmcData";
|
import { IPmcData, IPostRaidPmcData } from "@spt-aki/models/eft/common/IPmcData";
|
||||||
import { IQuestStatus, TraderInfo, Victim } from "@spt-aki/models/eft/common/tables/IBotBase";
|
import { IQuestStatus, TraderInfo } from "@spt-aki/models/eft/common/tables/IBotBase";
|
||||||
import { Item } from "@spt-aki/models/eft/common/tables/IItem";
|
import { Item } from "@spt-aki/models/eft/common/tables/IItem";
|
||||||
import { ISaveProgressRequestData } from "@spt-aki/models/eft/inRaid/ISaveProgressRequestData";
|
import { ISaveProgressRequestData } from "@spt-aki/models/eft/inRaid/ISaveProgressRequestData";
|
||||||
import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig";
|
import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig";
|
||||||
@ -47,20 +47,6 @@ export declare class InRaidHelper {
|
|||||||
* @param items Items array to check
|
* @param items Items array to check
|
||||||
*/
|
*/
|
||||||
addUpdToMoneyFromRaid(items: Item[]): void;
|
addUpdToMoneyFromRaid(items: Item[]): void;
|
||||||
/**
|
|
||||||
* Add karma changes up and return the new value
|
|
||||||
* @param existingFenceStanding Current fence standing level
|
|
||||||
* @param victims Array of kills player performed
|
|
||||||
* @returns adjusted karma level after kills are taken into account
|
|
||||||
*/
|
|
||||||
calculateFenceStandingChangeFromKillsAsScav(existingFenceStanding: number, victims: Victim[]): number;
|
|
||||||
protected getAdditionalLossForKill(fenceStanding: number, repChangeForKill: number): number;
|
|
||||||
/**
|
|
||||||
* Get the standing gain/loss for killing an npc
|
|
||||||
* @param victim Who was killed by player
|
|
||||||
* @returns a numerical standing gain or loss
|
|
||||||
*/
|
|
||||||
protected getFenceStandingChangeForKillAsScav(victim: Victim): number;
|
|
||||||
/**
|
/**
|
||||||
* Reset a profile to a baseline, used post-raid
|
* Reset a profile to a baseline, used post-raid
|
||||||
* Reset points earned during session property
|
* Reset points earned during session property
|
||||||
|
@ -59,6 +59,12 @@ export declare class ItemHelper {
|
|||||||
* @returns Does item have the possibility ot need soft inserts
|
* @returns Does item have the possibility ot need soft inserts
|
||||||
*/
|
*/
|
||||||
armorItemCanHoldMods(itemTpl: string): boolean;
|
armorItemCanHoldMods(itemTpl: string): boolean;
|
||||||
|
/**
|
||||||
|
* Does the provided item tpl need soft/removable inserts to function
|
||||||
|
* @param itemTpl Armor item
|
||||||
|
* @returns True if item needs some kind of insert
|
||||||
|
*/
|
||||||
|
armorItemHasRemovableOrSoftInsertSlots(itemTpl: string): boolean;
|
||||||
/**
|
/**
|
||||||
* Does the pased in tpl have ability to hold removable plate items
|
* Does the pased in tpl have ability to hold removable plate items
|
||||||
* @param itemTpl item tpl to check for plate support
|
* @param itemTpl item tpl to check for plate support
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase";
|
import { Exit, ILocationBase } from "@spt-aki/models/eft/common/ILocationBase";
|
||||||
import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot";
|
import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot";
|
||||||
export interface ILocation {
|
export interface ILocation {
|
||||||
base: ILocationBase;
|
base: ILocationBase;
|
||||||
looseLoot: ILooseLoot;
|
looseLoot: ILooseLoot;
|
||||||
statics: IStaticContainer;
|
statics: IStaticContainer;
|
||||||
|
allExtracts: Exit[];
|
||||||
}
|
}
|
||||||
export interface IStaticContainer {
|
export interface IStaticContainer {
|
||||||
containersGroups: Record<string, IContainerMinMax>;
|
containersGroups: Record<string, IContainerMinMax>;
|
||||||
|
@ -205,6 +205,7 @@ export interface Exit {
|
|||||||
PassageRequirement: string;
|
PassageRequirement: string;
|
||||||
PlayersCount: number;
|
PlayersCount: number;
|
||||||
RequirementTip: string;
|
RequirementTip: string;
|
||||||
|
Side?: string;
|
||||||
}
|
}
|
||||||
export interface MaxItemCountInLocation {
|
export interface MaxItemCountInLocation {
|
||||||
TemplateId: string;
|
TemplateId: string;
|
||||||
|
@ -182,6 +182,7 @@ export interface IEftStats {
|
|||||||
LastPlayerState?: LastPlayerState;
|
LastPlayerState?: LastPlayerState;
|
||||||
TotalInGameTime: number;
|
TotalInGameTime: number;
|
||||||
SurvivorClass?: string;
|
SurvivorClass?: string;
|
||||||
|
sptLastRaidFenceRepChange?: number;
|
||||||
}
|
}
|
||||||
export interface IDroppedItem {
|
export interface IDroppedItem {
|
||||||
QuestId: string;
|
QuestId: string;
|
||||||
|
@ -3,6 +3,8 @@ export interface IItemConfig extends IBaseConfig {
|
|||||||
kind: "aki-item";
|
kind: "aki-item";
|
||||||
/** Items that should be globally blacklisted */
|
/** Items that should be globally blacklisted */
|
||||||
blacklist: string[];
|
blacklist: string[];
|
||||||
|
/** items that should not be given as rewards */
|
||||||
|
rewardItemBlacklist: string[];
|
||||||
/** Items that can only be found on bosses */
|
/** Items that can only be found on bosses */
|
||||||
bossItems: string[];
|
bossItems: string[];
|
||||||
handbookPriceOverride: Record<string, number>;
|
handbookPriceOverride: Record<string, number>;
|
||||||
|
@ -7,5 +7,5 @@ export declare enum LogTextColor {
|
|||||||
MAGENTA = "magenta",
|
MAGENTA = "magenta",
|
||||||
CYAN = "cyan",
|
CYAN = "cyan",
|
||||||
WHITE = "white",
|
WHITE = "white",
|
||||||
GRAY = ""
|
GRAY = "gray"
|
||||||
}
|
}
|
||||||
|
@ -1,28 +1,23 @@
|
|||||||
import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase";
|
import { ILocation } from "@spt-aki/models/eft/common/ILocation";
|
||||||
import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot";
|
|
||||||
import { ILocationsBase } from "@spt-aki/models/eft/common/tables/ILocationsBase";
|
import { ILocationsBase } from "@spt-aki/models/eft/common/tables/ILocationsBase";
|
||||||
export interface ILocations {
|
export interface ILocations {
|
||||||
bigmap?: ILocationData;
|
bigmap?: ILocation;
|
||||||
develop?: ILocationData;
|
develop?: ILocation;
|
||||||
factory4_day?: ILocationData;
|
factory4_day?: ILocation;
|
||||||
factory4_night?: ILocationData;
|
factory4_night?: ILocation;
|
||||||
hideout?: ILocationData;
|
hideout?: ILocation;
|
||||||
interchange?: ILocationData;
|
interchange?: ILocation;
|
||||||
laboratory?: ILocationData;
|
laboratory?: ILocation;
|
||||||
lighthouse?: ILocationData;
|
lighthouse?: ILocation;
|
||||||
privatearea?: ILocationData;
|
privatearea?: ILocation;
|
||||||
rezervbase?: ILocationData;
|
rezervbase?: ILocation;
|
||||||
shoreline?: ILocationData;
|
shoreline?: ILocation;
|
||||||
suburbs?: ILocationData;
|
suburbs?: ILocation;
|
||||||
tarkovstreets?: ILocationData;
|
tarkovstreets?: ILocation;
|
||||||
terminal?: ILocationData;
|
terminal?: ILocation;
|
||||||
town?: ILocationData;
|
town?: ILocation;
|
||||||
woods?: ILocationData;
|
woods?: ILocation;
|
||||||
sandbox?: ILocationData;
|
sandbox?: ILocation;
|
||||||
/** Holds a mapping of the linkages between locations on the UI */
|
/** Holds a mapping of the linkages between locations on the UI */
|
||||||
base?: ILocationsBase;
|
base?: ILocationsBase;
|
||||||
}
|
}
|
||||||
export interface ILocationData {
|
|
||||||
base: ILocationBase;
|
|
||||||
looseLoot?: ILooseLoot;
|
|
||||||
}
|
|
||||||
|
@ -15,6 +15,17 @@ export declare class ItemFilterService {
|
|||||||
* @returns true if blacklisted
|
* @returns true if blacklisted
|
||||||
*/
|
*/
|
||||||
isItemBlacklisted(tpl: string): boolean;
|
isItemBlacklisted(tpl: string): boolean;
|
||||||
|
/**
|
||||||
|
* Check if item is blacklisted from being a reward for player
|
||||||
|
* @param tpl item tpl to check is on blacklist
|
||||||
|
* @returns True when blacklisted
|
||||||
|
*/
|
||||||
|
isItemRewardBlacklisted(tpl: string): boolean;
|
||||||
|
/**
|
||||||
|
* Get an array of items that should never be given as a reward to player
|
||||||
|
* @returns string array of item tpls
|
||||||
|
*/
|
||||||
|
getItemRewardBlacklist(): string[];
|
||||||
/**
|
/**
|
||||||
* Return every template id blacklisted in config/item.json
|
* Return every template id blacklisted in config/item.json
|
||||||
* @returns string array of blacklisted tempalte ids
|
* @returns string array of blacklisted tempalte ids
|
||||||
|
@ -40,6 +40,4 @@ export declare class Watermark {
|
|||||||
protected resetCursor(): void;
|
protected resetCursor(): void;
|
||||||
/** Draw the watermark */
|
/** Draw the watermark */
|
||||||
protected draw(): void;
|
protected draw(): void;
|
||||||
/** Caculate text length */
|
|
||||||
protected textLength(s: string): number;
|
|
||||||
}
|
}
|
||||||
|
@ -13,6 +13,7 @@ import { LootRequest } from "@spt-aki/models/spt/services/LootRequest";
|
|||||||
import { ILogger } from "@spt-aki/models/spt/utils/ILogger";
|
import { ILogger } from "@spt-aki/models/spt/utils/ILogger";
|
||||||
import { ConfigServer } from "@spt-aki/servers/ConfigServer";
|
import { ConfigServer } from "@spt-aki/servers/ConfigServer";
|
||||||
import { DatabaseServer } from "@spt-aki/servers/DatabaseServer";
|
import { DatabaseServer } from "@spt-aki/servers/DatabaseServer";
|
||||||
|
import { ItemFilterService } from "@spt-aki/services/ItemFilterService";
|
||||||
import { LocalisationService } from "@spt-aki/services/LocalisationService";
|
import { LocalisationService } from "@spt-aki/services/LocalisationService";
|
||||||
import { RaidTimeAdjustmentService } from "@spt-aki/services/RaidTimeAdjustmentService";
|
import { RaidTimeAdjustmentService } from "@spt-aki/services/RaidTimeAdjustmentService";
|
||||||
import { HashUtil } from "@spt-aki/utils/HashUtil";
|
import { HashUtil } from "@spt-aki/utils/HashUtil";
|
||||||
@ -28,6 +29,7 @@ export declare class LocationController {
|
|||||||
protected locationGenerator: LocationGenerator;
|
protected locationGenerator: LocationGenerator;
|
||||||
protected localisationService: LocalisationService;
|
protected localisationService: LocalisationService;
|
||||||
protected raidTimeAdjustmentService: RaidTimeAdjustmentService;
|
protected raidTimeAdjustmentService: RaidTimeAdjustmentService;
|
||||||
|
protected itemFilterService: ItemFilterService;
|
||||||
protected lootGenerator: LootGenerator;
|
protected lootGenerator: LootGenerator;
|
||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
@ -35,7 +37,7 @@ export declare class LocationController {
|
|||||||
protected applicationContext: ApplicationContext;
|
protected applicationContext: ApplicationContext;
|
||||||
protected airdropConfig: IAirdropConfig;
|
protected airdropConfig: IAirdropConfig;
|
||||||
protected locationConfig: ILocationConfig;
|
protected locationConfig: ILocationConfig;
|
||||||
constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext);
|
constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, itemFilterService: ItemFilterService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext);
|
||||||
/**
|
/**
|
||||||
* Handle client/location/getLocalloot
|
* Handle client/location/getLocalloot
|
||||||
* Get a location (map) with generated loot data
|
* Get a location (map) with generated loot data
|
||||||
|
@ -105,7 +105,7 @@ export declare class RepeatableQuestGenerator {
|
|||||||
/**
|
/**
|
||||||
* Filter a maps exits to just those for the desired side
|
* Filter a maps exits to just those for the desired side
|
||||||
* @param locationKey Map id (e.g. factory4_day)
|
* @param locationKey Map id (e.g. factory4_day)
|
||||||
* @param playerSide Scav/Bear
|
* @param playerSide Scav/Pmc
|
||||||
* @returns Array of Exit objects
|
* @returns Array of Exit objects
|
||||||
*/
|
*/
|
||||||
protected getLocationExitsForSide(locationKey: string, playerSide: string): Exit[];
|
protected getLocationExitsForSide(locationKey: string, playerSide: string): Exit[];
|
||||||
|
@ -3,7 +3,7 @@ import { ItemHelper } from "@spt-aki/helpers/ItemHelper";
|
|||||||
import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper";
|
import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper";
|
||||||
import { QuestHelper } from "@spt-aki/helpers/QuestHelper";
|
import { QuestHelper } from "@spt-aki/helpers/QuestHelper";
|
||||||
import { IPmcData, IPostRaidPmcData } from "@spt-aki/models/eft/common/IPmcData";
|
import { IPmcData, IPostRaidPmcData } from "@spt-aki/models/eft/common/IPmcData";
|
||||||
import { IQuestStatus, TraderInfo, Victim } from "@spt-aki/models/eft/common/tables/IBotBase";
|
import { IQuestStatus, TraderInfo } from "@spt-aki/models/eft/common/tables/IBotBase";
|
||||||
import { Item } from "@spt-aki/models/eft/common/tables/IItem";
|
import { Item } from "@spt-aki/models/eft/common/tables/IItem";
|
||||||
import { ISaveProgressRequestData } from "@spt-aki/models/eft/inRaid/ISaveProgressRequestData";
|
import { ISaveProgressRequestData } from "@spt-aki/models/eft/inRaid/ISaveProgressRequestData";
|
||||||
import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig";
|
import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig";
|
||||||
@ -47,20 +47,6 @@ export declare class InRaidHelper {
|
|||||||
* @param items Items array to check
|
* @param items Items array to check
|
||||||
*/
|
*/
|
||||||
addUpdToMoneyFromRaid(items: Item[]): void;
|
addUpdToMoneyFromRaid(items: Item[]): void;
|
||||||
/**
|
|
||||||
* Add karma changes up and return the new value
|
|
||||||
* @param existingFenceStanding Current fence standing level
|
|
||||||
* @param victims Array of kills player performed
|
|
||||||
* @returns adjusted karma level after kills are taken into account
|
|
||||||
*/
|
|
||||||
calculateFenceStandingChangeFromKillsAsScav(existingFenceStanding: number, victims: Victim[]): number;
|
|
||||||
protected getAdditionalLossForKill(fenceStanding: number, repChangeForKill: number): number;
|
|
||||||
/**
|
|
||||||
* Get the standing gain/loss for killing an npc
|
|
||||||
* @param victim Who was killed by player
|
|
||||||
* @returns a numerical standing gain or loss
|
|
||||||
*/
|
|
||||||
protected getFenceStandingChangeForKillAsScav(victim: Victim): number;
|
|
||||||
/**
|
/**
|
||||||
* Reset a profile to a baseline, used post-raid
|
* Reset a profile to a baseline, used post-raid
|
||||||
* Reset points earned during session property
|
* Reset points earned during session property
|
||||||
|
@ -59,6 +59,12 @@ export declare class ItemHelper {
|
|||||||
* @returns Does item have the possibility ot need soft inserts
|
* @returns Does item have the possibility ot need soft inserts
|
||||||
*/
|
*/
|
||||||
armorItemCanHoldMods(itemTpl: string): boolean;
|
armorItemCanHoldMods(itemTpl: string): boolean;
|
||||||
|
/**
|
||||||
|
* Does the provided item tpl need soft/removable inserts to function
|
||||||
|
* @param itemTpl Armor item
|
||||||
|
* @returns True if item needs some kind of insert
|
||||||
|
*/
|
||||||
|
armorItemHasRemovableOrSoftInsertSlots(itemTpl: string): boolean;
|
||||||
/**
|
/**
|
||||||
* Does the pased in tpl have ability to hold removable plate items
|
* Does the pased in tpl have ability to hold removable plate items
|
||||||
* @param itemTpl item tpl to check for plate support
|
* @param itemTpl item tpl to check for plate support
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase";
|
import { Exit, ILocationBase } from "@spt-aki/models/eft/common/ILocationBase";
|
||||||
import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot";
|
import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot";
|
||||||
export interface ILocation {
|
export interface ILocation {
|
||||||
base: ILocationBase;
|
base: ILocationBase;
|
||||||
looseLoot: ILooseLoot;
|
looseLoot: ILooseLoot;
|
||||||
statics: IStaticContainer;
|
statics: IStaticContainer;
|
||||||
|
allExtracts: Exit[];
|
||||||
}
|
}
|
||||||
export interface IStaticContainer {
|
export interface IStaticContainer {
|
||||||
containersGroups: Record<string, IContainerMinMax>;
|
containersGroups: Record<string, IContainerMinMax>;
|
||||||
|
@ -205,6 +205,7 @@ export interface Exit {
|
|||||||
PassageRequirement: string;
|
PassageRequirement: string;
|
||||||
PlayersCount: number;
|
PlayersCount: number;
|
||||||
RequirementTip: string;
|
RequirementTip: string;
|
||||||
|
Side?: string;
|
||||||
}
|
}
|
||||||
export interface MaxItemCountInLocation {
|
export interface MaxItemCountInLocation {
|
||||||
TemplateId: string;
|
TemplateId: string;
|
||||||
|
@ -182,6 +182,7 @@ export interface IEftStats {
|
|||||||
LastPlayerState?: LastPlayerState;
|
LastPlayerState?: LastPlayerState;
|
||||||
TotalInGameTime: number;
|
TotalInGameTime: number;
|
||||||
SurvivorClass?: string;
|
SurvivorClass?: string;
|
||||||
|
sptLastRaidFenceRepChange?: number;
|
||||||
}
|
}
|
||||||
export interface IDroppedItem {
|
export interface IDroppedItem {
|
||||||
QuestId: string;
|
QuestId: string;
|
||||||
|
@ -3,6 +3,8 @@ export interface IItemConfig extends IBaseConfig {
|
|||||||
kind: "aki-item";
|
kind: "aki-item";
|
||||||
/** Items that should be globally blacklisted */
|
/** Items that should be globally blacklisted */
|
||||||
blacklist: string[];
|
blacklist: string[];
|
||||||
|
/** items that should not be given as rewards */
|
||||||
|
rewardItemBlacklist: string[];
|
||||||
/** Items that can only be found on bosses */
|
/** Items that can only be found on bosses */
|
||||||
bossItems: string[];
|
bossItems: string[];
|
||||||
handbookPriceOverride: Record<string, number>;
|
handbookPriceOverride: Record<string, number>;
|
||||||
|
@ -7,5 +7,5 @@ export declare enum LogTextColor {
|
|||||||
MAGENTA = "magenta",
|
MAGENTA = "magenta",
|
||||||
CYAN = "cyan",
|
CYAN = "cyan",
|
||||||
WHITE = "white",
|
WHITE = "white",
|
||||||
GRAY = ""
|
GRAY = "gray"
|
||||||
}
|
}
|
||||||
|
@ -1,28 +1,23 @@
|
|||||||
import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase";
|
import { ILocation } from "@spt-aki/models/eft/common/ILocation";
|
||||||
import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot";
|
|
||||||
import { ILocationsBase } from "@spt-aki/models/eft/common/tables/ILocationsBase";
|
import { ILocationsBase } from "@spt-aki/models/eft/common/tables/ILocationsBase";
|
||||||
export interface ILocations {
|
export interface ILocations {
|
||||||
bigmap?: ILocationData;
|
bigmap?: ILocation;
|
||||||
develop?: ILocationData;
|
develop?: ILocation;
|
||||||
factory4_day?: ILocationData;
|
factory4_day?: ILocation;
|
||||||
factory4_night?: ILocationData;
|
factory4_night?: ILocation;
|
||||||
hideout?: ILocationData;
|
hideout?: ILocation;
|
||||||
interchange?: ILocationData;
|
interchange?: ILocation;
|
||||||
laboratory?: ILocationData;
|
laboratory?: ILocation;
|
||||||
lighthouse?: ILocationData;
|
lighthouse?: ILocation;
|
||||||
privatearea?: ILocationData;
|
privatearea?: ILocation;
|
||||||
rezervbase?: ILocationData;
|
rezervbase?: ILocation;
|
||||||
shoreline?: ILocationData;
|
shoreline?: ILocation;
|
||||||
suburbs?: ILocationData;
|
suburbs?: ILocation;
|
||||||
tarkovstreets?: ILocationData;
|
tarkovstreets?: ILocation;
|
||||||
terminal?: ILocationData;
|
terminal?: ILocation;
|
||||||
town?: ILocationData;
|
town?: ILocation;
|
||||||
woods?: ILocationData;
|
woods?: ILocation;
|
||||||
sandbox?: ILocationData;
|
sandbox?: ILocation;
|
||||||
/** Holds a mapping of the linkages between locations on the UI */
|
/** Holds a mapping of the linkages between locations on the UI */
|
||||||
base?: ILocationsBase;
|
base?: ILocationsBase;
|
||||||
}
|
}
|
||||||
export interface ILocationData {
|
|
||||||
base: ILocationBase;
|
|
||||||
looseLoot?: ILooseLoot;
|
|
||||||
}
|
|
||||||
|
@ -15,6 +15,17 @@ export declare class ItemFilterService {
|
|||||||
* @returns true if blacklisted
|
* @returns true if blacklisted
|
||||||
*/
|
*/
|
||||||
isItemBlacklisted(tpl: string): boolean;
|
isItemBlacklisted(tpl: string): boolean;
|
||||||
|
/**
|
||||||
|
* Check if item is blacklisted from being a reward for player
|
||||||
|
* @param tpl item tpl to check is on blacklist
|
||||||
|
* @returns True when blacklisted
|
||||||
|
*/
|
||||||
|
isItemRewardBlacklisted(tpl: string): boolean;
|
||||||
|
/**
|
||||||
|
* Get an array of items that should never be given as a reward to player
|
||||||
|
* @returns string array of item tpls
|
||||||
|
*/
|
||||||
|
getItemRewardBlacklist(): string[];
|
||||||
/**
|
/**
|
||||||
* Return every template id blacklisted in config/item.json
|
* Return every template id blacklisted in config/item.json
|
||||||
* @returns string array of blacklisted tempalte ids
|
* @returns string array of blacklisted tempalte ids
|
||||||
|
@ -40,6 +40,4 @@ export declare class Watermark {
|
|||||||
protected resetCursor(): void;
|
protected resetCursor(): void;
|
||||||
/** Draw the watermark */
|
/** Draw the watermark */
|
||||||
protected draw(): void;
|
protected draw(): void;
|
||||||
/** Caculate text length */
|
|
||||||
protected textLength(s: string): number;
|
|
||||||
}
|
}
|
||||||
|
@ -13,6 +13,7 @@ import { LootRequest } from "@spt-aki/models/spt/services/LootRequest";
|
|||||||
import { ILogger } from "@spt-aki/models/spt/utils/ILogger";
|
import { ILogger } from "@spt-aki/models/spt/utils/ILogger";
|
||||||
import { ConfigServer } from "@spt-aki/servers/ConfigServer";
|
import { ConfigServer } from "@spt-aki/servers/ConfigServer";
|
||||||
import { DatabaseServer } from "@spt-aki/servers/DatabaseServer";
|
import { DatabaseServer } from "@spt-aki/servers/DatabaseServer";
|
||||||
|
import { ItemFilterService } from "@spt-aki/services/ItemFilterService";
|
||||||
import { LocalisationService } from "@spt-aki/services/LocalisationService";
|
import { LocalisationService } from "@spt-aki/services/LocalisationService";
|
||||||
import { RaidTimeAdjustmentService } from "@spt-aki/services/RaidTimeAdjustmentService";
|
import { RaidTimeAdjustmentService } from "@spt-aki/services/RaidTimeAdjustmentService";
|
||||||
import { HashUtil } from "@spt-aki/utils/HashUtil";
|
import { HashUtil } from "@spt-aki/utils/HashUtil";
|
||||||
@ -28,6 +29,7 @@ export declare class LocationController {
|
|||||||
protected locationGenerator: LocationGenerator;
|
protected locationGenerator: LocationGenerator;
|
||||||
protected localisationService: LocalisationService;
|
protected localisationService: LocalisationService;
|
||||||
protected raidTimeAdjustmentService: RaidTimeAdjustmentService;
|
protected raidTimeAdjustmentService: RaidTimeAdjustmentService;
|
||||||
|
protected itemFilterService: ItemFilterService;
|
||||||
protected lootGenerator: LootGenerator;
|
protected lootGenerator: LootGenerator;
|
||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
@ -35,7 +37,7 @@ export declare class LocationController {
|
|||||||
protected applicationContext: ApplicationContext;
|
protected applicationContext: ApplicationContext;
|
||||||
protected airdropConfig: IAirdropConfig;
|
protected airdropConfig: IAirdropConfig;
|
||||||
protected locationConfig: ILocationConfig;
|
protected locationConfig: ILocationConfig;
|
||||||
constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext);
|
constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, itemFilterService: ItemFilterService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext);
|
||||||
/**
|
/**
|
||||||
* Handle client/location/getLocalloot
|
* Handle client/location/getLocalloot
|
||||||
* Get a location (map) with generated loot data
|
* Get a location (map) with generated loot data
|
||||||
|
@ -105,7 +105,7 @@ export declare class RepeatableQuestGenerator {
|
|||||||
/**
|
/**
|
||||||
* Filter a maps exits to just those for the desired side
|
* Filter a maps exits to just those for the desired side
|
||||||
* @param locationKey Map id (e.g. factory4_day)
|
* @param locationKey Map id (e.g. factory4_day)
|
||||||
* @param playerSide Scav/Bear
|
* @param playerSide Scav/Pmc
|
||||||
* @returns Array of Exit objects
|
* @returns Array of Exit objects
|
||||||
*/
|
*/
|
||||||
protected getLocationExitsForSide(locationKey: string, playerSide: string): Exit[];
|
protected getLocationExitsForSide(locationKey: string, playerSide: string): Exit[];
|
||||||
|
@ -3,7 +3,7 @@ import { ItemHelper } from "@spt-aki/helpers/ItemHelper";
|
|||||||
import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper";
|
import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper";
|
||||||
import { QuestHelper } from "@spt-aki/helpers/QuestHelper";
|
import { QuestHelper } from "@spt-aki/helpers/QuestHelper";
|
||||||
import { IPmcData, IPostRaidPmcData } from "@spt-aki/models/eft/common/IPmcData";
|
import { IPmcData, IPostRaidPmcData } from "@spt-aki/models/eft/common/IPmcData";
|
||||||
import { IQuestStatus, TraderInfo, Victim } from "@spt-aki/models/eft/common/tables/IBotBase";
|
import { IQuestStatus, TraderInfo } from "@spt-aki/models/eft/common/tables/IBotBase";
|
||||||
import { Item } from "@spt-aki/models/eft/common/tables/IItem";
|
import { Item } from "@spt-aki/models/eft/common/tables/IItem";
|
||||||
import { ISaveProgressRequestData } from "@spt-aki/models/eft/inRaid/ISaveProgressRequestData";
|
import { ISaveProgressRequestData } from "@spt-aki/models/eft/inRaid/ISaveProgressRequestData";
|
||||||
import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig";
|
import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig";
|
||||||
@ -47,20 +47,6 @@ export declare class InRaidHelper {
|
|||||||
* @param items Items array to check
|
* @param items Items array to check
|
||||||
*/
|
*/
|
||||||
addUpdToMoneyFromRaid(items: Item[]): void;
|
addUpdToMoneyFromRaid(items: Item[]): void;
|
||||||
/**
|
|
||||||
* Add karma changes up and return the new value
|
|
||||||
* @param existingFenceStanding Current fence standing level
|
|
||||||
* @param victims Array of kills player performed
|
|
||||||
* @returns adjusted karma level after kills are taken into account
|
|
||||||
*/
|
|
||||||
calculateFenceStandingChangeFromKillsAsScav(existingFenceStanding: number, victims: Victim[]): number;
|
|
||||||
protected getAdditionalLossForKill(fenceStanding: number, repChangeForKill: number): number;
|
|
||||||
/**
|
|
||||||
* Get the standing gain/loss for killing an npc
|
|
||||||
* @param victim Who was killed by player
|
|
||||||
* @returns a numerical standing gain or loss
|
|
||||||
*/
|
|
||||||
protected getFenceStandingChangeForKillAsScav(victim: Victim): number;
|
|
||||||
/**
|
/**
|
||||||
* Reset a profile to a baseline, used post-raid
|
* Reset a profile to a baseline, used post-raid
|
||||||
* Reset points earned during session property
|
* Reset points earned during session property
|
||||||
|
@ -59,6 +59,12 @@ export declare class ItemHelper {
|
|||||||
* @returns Does item have the possibility ot need soft inserts
|
* @returns Does item have the possibility ot need soft inserts
|
||||||
*/
|
*/
|
||||||
armorItemCanHoldMods(itemTpl: string): boolean;
|
armorItemCanHoldMods(itemTpl: string): boolean;
|
||||||
|
/**
|
||||||
|
* Does the provided item tpl need soft/removable inserts to function
|
||||||
|
* @param itemTpl Armor item
|
||||||
|
* @returns True if item needs some kind of insert
|
||||||
|
*/
|
||||||
|
armorItemHasRemovableOrSoftInsertSlots(itemTpl: string): boolean;
|
||||||
/**
|
/**
|
||||||
* Does the pased in tpl have ability to hold removable plate items
|
* Does the pased in tpl have ability to hold removable plate items
|
||||||
* @param itemTpl item tpl to check for plate support
|
* @param itemTpl item tpl to check for plate support
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase";
|
import { Exit, ILocationBase } from "@spt-aki/models/eft/common/ILocationBase";
|
||||||
import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot";
|
import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot";
|
||||||
export interface ILocation {
|
export interface ILocation {
|
||||||
base: ILocationBase;
|
base: ILocationBase;
|
||||||
looseLoot: ILooseLoot;
|
looseLoot: ILooseLoot;
|
||||||
statics: IStaticContainer;
|
statics: IStaticContainer;
|
||||||
|
allExtracts: Exit[];
|
||||||
}
|
}
|
||||||
export interface IStaticContainer {
|
export interface IStaticContainer {
|
||||||
containersGroups: Record<string, IContainerMinMax>;
|
containersGroups: Record<string, IContainerMinMax>;
|
||||||
|
@ -205,6 +205,7 @@ export interface Exit {
|
|||||||
PassageRequirement: string;
|
PassageRequirement: string;
|
||||||
PlayersCount: number;
|
PlayersCount: number;
|
||||||
RequirementTip: string;
|
RequirementTip: string;
|
||||||
|
Side?: string;
|
||||||
}
|
}
|
||||||
export interface MaxItemCountInLocation {
|
export interface MaxItemCountInLocation {
|
||||||
TemplateId: string;
|
TemplateId: string;
|
||||||
|
@ -182,6 +182,7 @@ export interface IEftStats {
|
|||||||
LastPlayerState?: LastPlayerState;
|
LastPlayerState?: LastPlayerState;
|
||||||
TotalInGameTime: number;
|
TotalInGameTime: number;
|
||||||
SurvivorClass?: string;
|
SurvivorClass?: string;
|
||||||
|
sptLastRaidFenceRepChange?: number;
|
||||||
}
|
}
|
||||||
export interface IDroppedItem {
|
export interface IDroppedItem {
|
||||||
QuestId: string;
|
QuestId: string;
|
||||||
|
@ -3,6 +3,8 @@ export interface IItemConfig extends IBaseConfig {
|
|||||||
kind: "aki-item";
|
kind: "aki-item";
|
||||||
/** Items that should be globally blacklisted */
|
/** Items that should be globally blacklisted */
|
||||||
blacklist: string[];
|
blacklist: string[];
|
||||||
|
/** items that should not be given as rewards */
|
||||||
|
rewardItemBlacklist: string[];
|
||||||
/** Items that can only be found on bosses */
|
/** Items that can only be found on bosses */
|
||||||
bossItems: string[];
|
bossItems: string[];
|
||||||
handbookPriceOverride: Record<string, number>;
|
handbookPriceOverride: Record<string, number>;
|
||||||
|
@ -7,5 +7,5 @@ export declare enum LogTextColor {
|
|||||||
MAGENTA = "magenta",
|
MAGENTA = "magenta",
|
||||||
CYAN = "cyan",
|
CYAN = "cyan",
|
||||||
WHITE = "white",
|
WHITE = "white",
|
||||||
GRAY = ""
|
GRAY = "gray"
|
||||||
}
|
}
|
||||||
|
@ -1,28 +1,23 @@
|
|||||||
import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase";
|
import { ILocation } from "@spt-aki/models/eft/common/ILocation";
|
||||||
import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot";
|
|
||||||
import { ILocationsBase } from "@spt-aki/models/eft/common/tables/ILocationsBase";
|
import { ILocationsBase } from "@spt-aki/models/eft/common/tables/ILocationsBase";
|
||||||
export interface ILocations {
|
export interface ILocations {
|
||||||
bigmap?: ILocationData;
|
bigmap?: ILocation;
|
||||||
develop?: ILocationData;
|
develop?: ILocation;
|
||||||
factory4_day?: ILocationData;
|
factory4_day?: ILocation;
|
||||||
factory4_night?: ILocationData;
|
factory4_night?: ILocation;
|
||||||
hideout?: ILocationData;
|
hideout?: ILocation;
|
||||||
interchange?: ILocationData;
|
interchange?: ILocation;
|
||||||
laboratory?: ILocationData;
|
laboratory?: ILocation;
|
||||||
lighthouse?: ILocationData;
|
lighthouse?: ILocation;
|
||||||
privatearea?: ILocationData;
|
privatearea?: ILocation;
|
||||||
rezervbase?: ILocationData;
|
rezervbase?: ILocation;
|
||||||
shoreline?: ILocationData;
|
shoreline?: ILocation;
|
||||||
suburbs?: ILocationData;
|
suburbs?: ILocation;
|
||||||
tarkovstreets?: ILocationData;
|
tarkovstreets?: ILocation;
|
||||||
terminal?: ILocationData;
|
terminal?: ILocation;
|
||||||
town?: ILocationData;
|
town?: ILocation;
|
||||||
woods?: ILocationData;
|
woods?: ILocation;
|
||||||
sandbox?: ILocationData;
|
sandbox?: ILocation;
|
||||||
/** Holds a mapping of the linkages between locations on the UI */
|
/** Holds a mapping of the linkages between locations on the UI */
|
||||||
base?: ILocationsBase;
|
base?: ILocationsBase;
|
||||||
}
|
}
|
||||||
export interface ILocationData {
|
|
||||||
base: ILocationBase;
|
|
||||||
looseLoot?: ILooseLoot;
|
|
||||||
}
|
|
||||||
|
@ -15,6 +15,17 @@ export declare class ItemFilterService {
|
|||||||
* @returns true if blacklisted
|
* @returns true if blacklisted
|
||||||
*/
|
*/
|
||||||
isItemBlacklisted(tpl: string): boolean;
|
isItemBlacklisted(tpl: string): boolean;
|
||||||
|
/**
|
||||||
|
* Check if item is blacklisted from being a reward for player
|
||||||
|
* @param tpl item tpl to check is on blacklist
|
||||||
|
* @returns True when blacklisted
|
||||||
|
*/
|
||||||
|
isItemRewardBlacklisted(tpl: string): boolean;
|
||||||
|
/**
|
||||||
|
* Get an array of items that should never be given as a reward to player
|
||||||
|
* @returns string array of item tpls
|
||||||
|
*/
|
||||||
|
getItemRewardBlacklist(): string[];
|
||||||
/**
|
/**
|
||||||
* Return every template id blacklisted in config/item.json
|
* Return every template id blacklisted in config/item.json
|
||||||
* @returns string array of blacklisted tempalte ids
|
* @returns string array of blacklisted tempalte ids
|
||||||
|
@ -40,6 +40,4 @@ export declare class Watermark {
|
|||||||
protected resetCursor(): void;
|
protected resetCursor(): void;
|
||||||
/** Draw the watermark */
|
/** Draw the watermark */
|
||||||
protected draw(): void;
|
protected draw(): void;
|
||||||
/** Caculate text length */
|
|
||||||
protected textLength(s: string): number;
|
|
||||||
}
|
}
|
||||||
|
@ -13,6 +13,7 @@ import { LootRequest } from "@spt-aki/models/spt/services/LootRequest";
|
|||||||
import { ILogger } from "@spt-aki/models/spt/utils/ILogger";
|
import { ILogger } from "@spt-aki/models/spt/utils/ILogger";
|
||||||
import { ConfigServer } from "@spt-aki/servers/ConfigServer";
|
import { ConfigServer } from "@spt-aki/servers/ConfigServer";
|
||||||
import { DatabaseServer } from "@spt-aki/servers/DatabaseServer";
|
import { DatabaseServer } from "@spt-aki/servers/DatabaseServer";
|
||||||
|
import { ItemFilterService } from "@spt-aki/services/ItemFilterService";
|
||||||
import { LocalisationService } from "@spt-aki/services/LocalisationService";
|
import { LocalisationService } from "@spt-aki/services/LocalisationService";
|
||||||
import { RaidTimeAdjustmentService } from "@spt-aki/services/RaidTimeAdjustmentService";
|
import { RaidTimeAdjustmentService } from "@spt-aki/services/RaidTimeAdjustmentService";
|
||||||
import { HashUtil } from "@spt-aki/utils/HashUtil";
|
import { HashUtil } from "@spt-aki/utils/HashUtil";
|
||||||
@ -28,6 +29,7 @@ export declare class LocationController {
|
|||||||
protected locationGenerator: LocationGenerator;
|
protected locationGenerator: LocationGenerator;
|
||||||
protected localisationService: LocalisationService;
|
protected localisationService: LocalisationService;
|
||||||
protected raidTimeAdjustmentService: RaidTimeAdjustmentService;
|
protected raidTimeAdjustmentService: RaidTimeAdjustmentService;
|
||||||
|
protected itemFilterService: ItemFilterService;
|
||||||
protected lootGenerator: LootGenerator;
|
protected lootGenerator: LootGenerator;
|
||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
@ -35,7 +37,7 @@ export declare class LocationController {
|
|||||||
protected applicationContext: ApplicationContext;
|
protected applicationContext: ApplicationContext;
|
||||||
protected airdropConfig: IAirdropConfig;
|
protected airdropConfig: IAirdropConfig;
|
||||||
protected locationConfig: ILocationConfig;
|
protected locationConfig: ILocationConfig;
|
||||||
constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext);
|
constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, itemFilterService: ItemFilterService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext);
|
||||||
/**
|
/**
|
||||||
* Handle client/location/getLocalloot
|
* Handle client/location/getLocalloot
|
||||||
* Get a location (map) with generated loot data
|
* Get a location (map) with generated loot data
|
||||||
|
@ -105,7 +105,7 @@ export declare class RepeatableQuestGenerator {
|
|||||||
/**
|
/**
|
||||||
* Filter a maps exits to just those for the desired side
|
* Filter a maps exits to just those for the desired side
|
||||||
* @param locationKey Map id (e.g. factory4_day)
|
* @param locationKey Map id (e.g. factory4_day)
|
||||||
* @param playerSide Scav/Bear
|
* @param playerSide Scav/Pmc
|
||||||
* @returns Array of Exit objects
|
* @returns Array of Exit objects
|
||||||
*/
|
*/
|
||||||
protected getLocationExitsForSide(locationKey: string, playerSide: string): Exit[];
|
protected getLocationExitsForSide(locationKey: string, playerSide: string): Exit[];
|
||||||
|
@ -3,7 +3,7 @@ import { ItemHelper } from "@spt-aki/helpers/ItemHelper";
|
|||||||
import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper";
|
import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper";
|
||||||
import { QuestHelper } from "@spt-aki/helpers/QuestHelper";
|
import { QuestHelper } from "@spt-aki/helpers/QuestHelper";
|
||||||
import { IPmcData, IPostRaidPmcData } from "@spt-aki/models/eft/common/IPmcData";
|
import { IPmcData, IPostRaidPmcData } from "@spt-aki/models/eft/common/IPmcData";
|
||||||
import { IQuestStatus, TraderInfo, Victim } from "@spt-aki/models/eft/common/tables/IBotBase";
|
import { IQuestStatus, TraderInfo } from "@spt-aki/models/eft/common/tables/IBotBase";
|
||||||
import { Item } from "@spt-aki/models/eft/common/tables/IItem";
|
import { Item } from "@spt-aki/models/eft/common/tables/IItem";
|
||||||
import { ISaveProgressRequestData } from "@spt-aki/models/eft/inRaid/ISaveProgressRequestData";
|
import { ISaveProgressRequestData } from "@spt-aki/models/eft/inRaid/ISaveProgressRequestData";
|
||||||
import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig";
|
import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig";
|
||||||
@ -47,20 +47,6 @@ export declare class InRaidHelper {
|
|||||||
* @param items Items array to check
|
* @param items Items array to check
|
||||||
*/
|
*/
|
||||||
addUpdToMoneyFromRaid(items: Item[]): void;
|
addUpdToMoneyFromRaid(items: Item[]): void;
|
||||||
/**
|
|
||||||
* Add karma changes up and return the new value
|
|
||||||
* @param existingFenceStanding Current fence standing level
|
|
||||||
* @param victims Array of kills player performed
|
|
||||||
* @returns adjusted karma level after kills are taken into account
|
|
||||||
*/
|
|
||||||
calculateFenceStandingChangeFromKillsAsScav(existingFenceStanding: number, victims: Victim[]): number;
|
|
||||||
protected getAdditionalLossForKill(fenceStanding: number, repChangeForKill: number): number;
|
|
||||||
/**
|
|
||||||
* Get the standing gain/loss for killing an npc
|
|
||||||
* @param victim Who was killed by player
|
|
||||||
* @returns a numerical standing gain or loss
|
|
||||||
*/
|
|
||||||
protected getFenceStandingChangeForKillAsScav(victim: Victim): number;
|
|
||||||
/**
|
/**
|
||||||
* Reset a profile to a baseline, used post-raid
|
* Reset a profile to a baseline, used post-raid
|
||||||
* Reset points earned during session property
|
* Reset points earned during session property
|
||||||
|
@ -59,6 +59,12 @@ export declare class ItemHelper {
|
|||||||
* @returns Does item have the possibility ot need soft inserts
|
* @returns Does item have the possibility ot need soft inserts
|
||||||
*/
|
*/
|
||||||
armorItemCanHoldMods(itemTpl: string): boolean;
|
armorItemCanHoldMods(itemTpl: string): boolean;
|
||||||
|
/**
|
||||||
|
* Does the provided item tpl need soft/removable inserts to function
|
||||||
|
* @param itemTpl Armor item
|
||||||
|
* @returns True if item needs some kind of insert
|
||||||
|
*/
|
||||||
|
armorItemHasRemovableOrSoftInsertSlots(itemTpl: string): boolean;
|
||||||
/**
|
/**
|
||||||
* Does the pased in tpl have ability to hold removable plate items
|
* Does the pased in tpl have ability to hold removable plate items
|
||||||
* @param itemTpl item tpl to check for plate support
|
* @param itemTpl item tpl to check for plate support
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase";
|
import { Exit, ILocationBase } from "@spt-aki/models/eft/common/ILocationBase";
|
||||||
import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot";
|
import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot";
|
||||||
export interface ILocation {
|
export interface ILocation {
|
||||||
base: ILocationBase;
|
base: ILocationBase;
|
||||||
looseLoot: ILooseLoot;
|
looseLoot: ILooseLoot;
|
||||||
statics: IStaticContainer;
|
statics: IStaticContainer;
|
||||||
|
allExtracts: Exit[];
|
||||||
}
|
}
|
||||||
export interface IStaticContainer {
|
export interface IStaticContainer {
|
||||||
containersGroups: Record<string, IContainerMinMax>;
|
containersGroups: Record<string, IContainerMinMax>;
|
||||||
|
@ -205,6 +205,7 @@ export interface Exit {
|
|||||||
PassageRequirement: string;
|
PassageRequirement: string;
|
||||||
PlayersCount: number;
|
PlayersCount: number;
|
||||||
RequirementTip: string;
|
RequirementTip: string;
|
||||||
|
Side?: string;
|
||||||
}
|
}
|
||||||
export interface MaxItemCountInLocation {
|
export interface MaxItemCountInLocation {
|
||||||
TemplateId: string;
|
TemplateId: string;
|
||||||
|
@ -182,6 +182,7 @@ export interface IEftStats {
|
|||||||
LastPlayerState?: LastPlayerState;
|
LastPlayerState?: LastPlayerState;
|
||||||
TotalInGameTime: number;
|
TotalInGameTime: number;
|
||||||
SurvivorClass?: string;
|
SurvivorClass?: string;
|
||||||
|
sptLastRaidFenceRepChange?: number;
|
||||||
}
|
}
|
||||||
export interface IDroppedItem {
|
export interface IDroppedItem {
|
||||||
QuestId: string;
|
QuestId: string;
|
||||||
|
@ -3,6 +3,8 @@ export interface IItemConfig extends IBaseConfig {
|
|||||||
kind: "aki-item";
|
kind: "aki-item";
|
||||||
/** Items that should be globally blacklisted */
|
/** Items that should be globally blacklisted */
|
||||||
blacklist: string[];
|
blacklist: string[];
|
||||||
|
/** items that should not be given as rewards */
|
||||||
|
rewardItemBlacklist: string[];
|
||||||
/** Items that can only be found on bosses */
|
/** Items that can only be found on bosses */
|
||||||
bossItems: string[];
|
bossItems: string[];
|
||||||
handbookPriceOverride: Record<string, number>;
|
handbookPriceOverride: Record<string, number>;
|
||||||
|
@ -7,5 +7,5 @@ export declare enum LogTextColor {
|
|||||||
MAGENTA = "magenta",
|
MAGENTA = "magenta",
|
||||||
CYAN = "cyan",
|
CYAN = "cyan",
|
||||||
WHITE = "white",
|
WHITE = "white",
|
||||||
GRAY = ""
|
GRAY = "gray"
|
||||||
}
|
}
|
||||||
|
@ -1,28 +1,23 @@
|
|||||||
import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase";
|
import { ILocation } from "@spt-aki/models/eft/common/ILocation";
|
||||||
import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot";
|
|
||||||
import { ILocationsBase } from "@spt-aki/models/eft/common/tables/ILocationsBase";
|
import { ILocationsBase } from "@spt-aki/models/eft/common/tables/ILocationsBase";
|
||||||
export interface ILocations {
|
export interface ILocations {
|
||||||
bigmap?: ILocationData;
|
bigmap?: ILocation;
|
||||||
develop?: ILocationData;
|
develop?: ILocation;
|
||||||
factory4_day?: ILocationData;
|
factory4_day?: ILocation;
|
||||||
factory4_night?: ILocationData;
|
factory4_night?: ILocation;
|
||||||
hideout?: ILocationData;
|
hideout?: ILocation;
|
||||||
interchange?: ILocationData;
|
interchange?: ILocation;
|
||||||
laboratory?: ILocationData;
|
laboratory?: ILocation;
|
||||||
lighthouse?: ILocationData;
|
lighthouse?: ILocation;
|
||||||
privatearea?: ILocationData;
|
privatearea?: ILocation;
|
||||||
rezervbase?: ILocationData;
|
rezervbase?: ILocation;
|
||||||
shoreline?: ILocationData;
|
shoreline?: ILocation;
|
||||||
suburbs?: ILocationData;
|
suburbs?: ILocation;
|
||||||
tarkovstreets?: ILocationData;
|
tarkovstreets?: ILocation;
|
||||||
terminal?: ILocationData;
|
terminal?: ILocation;
|
||||||
town?: ILocationData;
|
town?: ILocation;
|
||||||
woods?: ILocationData;
|
woods?: ILocation;
|
||||||
sandbox?: ILocationData;
|
sandbox?: ILocation;
|
||||||
/** Holds a mapping of the linkages between locations on the UI */
|
/** Holds a mapping of the linkages between locations on the UI */
|
||||||
base?: ILocationsBase;
|
base?: ILocationsBase;
|
||||||
}
|
}
|
||||||
export interface ILocationData {
|
|
||||||
base: ILocationBase;
|
|
||||||
looseLoot?: ILooseLoot;
|
|
||||||
}
|
|
||||||
|
@ -15,6 +15,17 @@ export declare class ItemFilterService {
|
|||||||
* @returns true if blacklisted
|
* @returns true if blacklisted
|
||||||
*/
|
*/
|
||||||
isItemBlacklisted(tpl: string): boolean;
|
isItemBlacklisted(tpl: string): boolean;
|
||||||
|
/**
|
||||||
|
* Check if item is blacklisted from being a reward for player
|
||||||
|
* @param tpl item tpl to check is on blacklist
|
||||||
|
* @returns True when blacklisted
|
||||||
|
*/
|
||||||
|
isItemRewardBlacklisted(tpl: string): boolean;
|
||||||
|
/**
|
||||||
|
* Get an array of items that should never be given as a reward to player
|
||||||
|
* @returns string array of item tpls
|
||||||
|
*/
|
||||||
|
getItemRewardBlacklist(): string[];
|
||||||
/**
|
/**
|
||||||
* Return every template id blacklisted in config/item.json
|
* Return every template id blacklisted in config/item.json
|
||||||
* @returns string array of blacklisted tempalte ids
|
* @returns string array of blacklisted tempalte ids
|
||||||
|
@ -40,6 +40,4 @@ export declare class Watermark {
|
|||||||
protected resetCursor(): void;
|
protected resetCursor(): void;
|
||||||
/** Draw the watermark */
|
/** Draw the watermark */
|
||||||
protected draw(): void;
|
protected draw(): void;
|
||||||
/** Caculate text length */
|
|
||||||
protected textLength(s: string): number;
|
|
||||||
}
|
}
|
||||||
|
@ -13,6 +13,7 @@ import { LootRequest } from "@spt-aki/models/spt/services/LootRequest";
|
|||||||
import { ILogger } from "@spt-aki/models/spt/utils/ILogger";
|
import { ILogger } from "@spt-aki/models/spt/utils/ILogger";
|
||||||
import { ConfigServer } from "@spt-aki/servers/ConfigServer";
|
import { ConfigServer } from "@spt-aki/servers/ConfigServer";
|
||||||
import { DatabaseServer } from "@spt-aki/servers/DatabaseServer";
|
import { DatabaseServer } from "@spt-aki/servers/DatabaseServer";
|
||||||
|
import { ItemFilterService } from "@spt-aki/services/ItemFilterService";
|
||||||
import { LocalisationService } from "@spt-aki/services/LocalisationService";
|
import { LocalisationService } from "@spt-aki/services/LocalisationService";
|
||||||
import { RaidTimeAdjustmentService } from "@spt-aki/services/RaidTimeAdjustmentService";
|
import { RaidTimeAdjustmentService } from "@spt-aki/services/RaidTimeAdjustmentService";
|
||||||
import { HashUtil } from "@spt-aki/utils/HashUtil";
|
import { HashUtil } from "@spt-aki/utils/HashUtil";
|
||||||
@ -28,6 +29,7 @@ export declare class LocationController {
|
|||||||
protected locationGenerator: LocationGenerator;
|
protected locationGenerator: LocationGenerator;
|
||||||
protected localisationService: LocalisationService;
|
protected localisationService: LocalisationService;
|
||||||
protected raidTimeAdjustmentService: RaidTimeAdjustmentService;
|
protected raidTimeAdjustmentService: RaidTimeAdjustmentService;
|
||||||
|
protected itemFilterService: ItemFilterService;
|
||||||
protected lootGenerator: LootGenerator;
|
protected lootGenerator: LootGenerator;
|
||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
@ -35,7 +37,7 @@ export declare class LocationController {
|
|||||||
protected applicationContext: ApplicationContext;
|
protected applicationContext: ApplicationContext;
|
||||||
protected airdropConfig: IAirdropConfig;
|
protected airdropConfig: IAirdropConfig;
|
||||||
protected locationConfig: ILocationConfig;
|
protected locationConfig: ILocationConfig;
|
||||||
constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext);
|
constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, itemFilterService: ItemFilterService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext);
|
||||||
/**
|
/**
|
||||||
* Handle client/location/getLocalloot
|
* Handle client/location/getLocalloot
|
||||||
* Get a location (map) with generated loot data
|
* Get a location (map) with generated loot data
|
||||||
|
@ -105,7 +105,7 @@ export declare class RepeatableQuestGenerator {
|
|||||||
/**
|
/**
|
||||||
* Filter a maps exits to just those for the desired side
|
* Filter a maps exits to just those for the desired side
|
||||||
* @param locationKey Map id (e.g. factory4_day)
|
* @param locationKey Map id (e.g. factory4_day)
|
||||||
* @param playerSide Scav/Bear
|
* @param playerSide Scav/Pmc
|
||||||
* @returns Array of Exit objects
|
* @returns Array of Exit objects
|
||||||
*/
|
*/
|
||||||
protected getLocationExitsForSide(locationKey: string, playerSide: string): Exit[];
|
protected getLocationExitsForSide(locationKey: string, playerSide: string): Exit[];
|
||||||
|
@ -3,7 +3,7 @@ import { ItemHelper } from "@spt-aki/helpers/ItemHelper";
|
|||||||
import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper";
|
import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper";
|
||||||
import { QuestHelper } from "@spt-aki/helpers/QuestHelper";
|
import { QuestHelper } from "@spt-aki/helpers/QuestHelper";
|
||||||
import { IPmcData, IPostRaidPmcData } from "@spt-aki/models/eft/common/IPmcData";
|
import { IPmcData, IPostRaidPmcData } from "@spt-aki/models/eft/common/IPmcData";
|
||||||
import { IQuestStatus, TraderInfo, Victim } from "@spt-aki/models/eft/common/tables/IBotBase";
|
import { IQuestStatus, TraderInfo } from "@spt-aki/models/eft/common/tables/IBotBase";
|
||||||
import { Item } from "@spt-aki/models/eft/common/tables/IItem";
|
import { Item } from "@spt-aki/models/eft/common/tables/IItem";
|
||||||
import { ISaveProgressRequestData } from "@spt-aki/models/eft/inRaid/ISaveProgressRequestData";
|
import { ISaveProgressRequestData } from "@spt-aki/models/eft/inRaid/ISaveProgressRequestData";
|
||||||
import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig";
|
import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig";
|
||||||
@ -47,20 +47,6 @@ export declare class InRaidHelper {
|
|||||||
* @param items Items array to check
|
* @param items Items array to check
|
||||||
*/
|
*/
|
||||||
addUpdToMoneyFromRaid(items: Item[]): void;
|
addUpdToMoneyFromRaid(items: Item[]): void;
|
||||||
/**
|
|
||||||
* Add karma changes up and return the new value
|
|
||||||
* @param existingFenceStanding Current fence standing level
|
|
||||||
* @param victims Array of kills player performed
|
|
||||||
* @returns adjusted karma level after kills are taken into account
|
|
||||||
*/
|
|
||||||
calculateFenceStandingChangeFromKillsAsScav(existingFenceStanding: number, victims: Victim[]): number;
|
|
||||||
protected getAdditionalLossForKill(fenceStanding: number, repChangeForKill: number): number;
|
|
||||||
/**
|
|
||||||
* Get the standing gain/loss for killing an npc
|
|
||||||
* @param victim Who was killed by player
|
|
||||||
* @returns a numerical standing gain or loss
|
|
||||||
*/
|
|
||||||
protected getFenceStandingChangeForKillAsScav(victim: Victim): number;
|
|
||||||
/**
|
/**
|
||||||
* Reset a profile to a baseline, used post-raid
|
* Reset a profile to a baseline, used post-raid
|
||||||
* Reset points earned during session property
|
* Reset points earned during session property
|
||||||
|
@ -59,6 +59,12 @@ export declare class ItemHelper {
|
|||||||
* @returns Does item have the possibility ot need soft inserts
|
* @returns Does item have the possibility ot need soft inserts
|
||||||
*/
|
*/
|
||||||
armorItemCanHoldMods(itemTpl: string): boolean;
|
armorItemCanHoldMods(itemTpl: string): boolean;
|
||||||
|
/**
|
||||||
|
* Does the provided item tpl need soft/removable inserts to function
|
||||||
|
* @param itemTpl Armor item
|
||||||
|
* @returns True if item needs some kind of insert
|
||||||
|
*/
|
||||||
|
armorItemHasRemovableOrSoftInsertSlots(itemTpl: string): boolean;
|
||||||
/**
|
/**
|
||||||
* Does the pased in tpl have ability to hold removable plate items
|
* Does the pased in tpl have ability to hold removable plate items
|
||||||
* @param itemTpl item tpl to check for plate support
|
* @param itemTpl item tpl to check for plate support
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase";
|
import { Exit, ILocationBase } from "@spt-aki/models/eft/common/ILocationBase";
|
||||||
import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot";
|
import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot";
|
||||||
export interface ILocation {
|
export interface ILocation {
|
||||||
base: ILocationBase;
|
base: ILocationBase;
|
||||||
looseLoot: ILooseLoot;
|
looseLoot: ILooseLoot;
|
||||||
statics: IStaticContainer;
|
statics: IStaticContainer;
|
||||||
|
allExtracts: Exit[];
|
||||||
}
|
}
|
||||||
export interface IStaticContainer {
|
export interface IStaticContainer {
|
||||||
containersGroups: Record<string, IContainerMinMax>;
|
containersGroups: Record<string, IContainerMinMax>;
|
||||||
|
@ -205,6 +205,7 @@ export interface Exit {
|
|||||||
PassageRequirement: string;
|
PassageRequirement: string;
|
||||||
PlayersCount: number;
|
PlayersCount: number;
|
||||||
RequirementTip: string;
|
RequirementTip: string;
|
||||||
|
Side?: string;
|
||||||
}
|
}
|
||||||
export interface MaxItemCountInLocation {
|
export interface MaxItemCountInLocation {
|
||||||
TemplateId: string;
|
TemplateId: string;
|
||||||
|
@ -182,6 +182,7 @@ export interface IEftStats {
|
|||||||
LastPlayerState?: LastPlayerState;
|
LastPlayerState?: LastPlayerState;
|
||||||
TotalInGameTime: number;
|
TotalInGameTime: number;
|
||||||
SurvivorClass?: string;
|
SurvivorClass?: string;
|
||||||
|
sptLastRaidFenceRepChange?: number;
|
||||||
}
|
}
|
||||||
export interface IDroppedItem {
|
export interface IDroppedItem {
|
||||||
QuestId: string;
|
QuestId: string;
|
||||||
|
@ -3,6 +3,8 @@ export interface IItemConfig extends IBaseConfig {
|
|||||||
kind: "aki-item";
|
kind: "aki-item";
|
||||||
/** Items that should be globally blacklisted */
|
/** Items that should be globally blacklisted */
|
||||||
blacklist: string[];
|
blacklist: string[];
|
||||||
|
/** items that should not be given as rewards */
|
||||||
|
rewardItemBlacklist: string[];
|
||||||
/** Items that can only be found on bosses */
|
/** Items that can only be found on bosses */
|
||||||
bossItems: string[];
|
bossItems: string[];
|
||||||
handbookPriceOverride: Record<string, number>;
|
handbookPriceOverride: Record<string, number>;
|
||||||
|
@ -7,5 +7,5 @@ export declare enum LogTextColor {
|
|||||||
MAGENTA = "magenta",
|
MAGENTA = "magenta",
|
||||||
CYAN = "cyan",
|
CYAN = "cyan",
|
||||||
WHITE = "white",
|
WHITE = "white",
|
||||||
GRAY = ""
|
GRAY = "gray"
|
||||||
}
|
}
|
||||||
|
@ -1,28 +1,23 @@
|
|||||||
import { ILocationBase } from "@spt-aki/models/eft/common/ILocationBase";
|
import { ILocation } from "@spt-aki/models/eft/common/ILocation";
|
||||||
import { ILooseLoot } from "@spt-aki/models/eft/common/ILooseLoot";
|
|
||||||
import { ILocationsBase } from "@spt-aki/models/eft/common/tables/ILocationsBase";
|
import { ILocationsBase } from "@spt-aki/models/eft/common/tables/ILocationsBase";
|
||||||
export interface ILocations {
|
export interface ILocations {
|
||||||
bigmap?: ILocationData;
|
bigmap?: ILocation;
|
||||||
develop?: ILocationData;
|
develop?: ILocation;
|
||||||
factory4_day?: ILocationData;
|
factory4_day?: ILocation;
|
||||||
factory4_night?: ILocationData;
|
factory4_night?: ILocation;
|
||||||
hideout?: ILocationData;
|
hideout?: ILocation;
|
||||||
interchange?: ILocationData;
|
interchange?: ILocation;
|
||||||
laboratory?: ILocationData;
|
laboratory?: ILocation;
|
||||||
lighthouse?: ILocationData;
|
lighthouse?: ILocation;
|
||||||
privatearea?: ILocationData;
|
privatearea?: ILocation;
|
||||||
rezervbase?: ILocationData;
|
rezervbase?: ILocation;
|
||||||
shoreline?: ILocationData;
|
shoreline?: ILocation;
|
||||||
suburbs?: ILocationData;
|
suburbs?: ILocation;
|
||||||
tarkovstreets?: ILocationData;
|
tarkovstreets?: ILocation;
|
||||||
terminal?: ILocationData;
|
terminal?: ILocation;
|
||||||
town?: ILocationData;
|
town?: ILocation;
|
||||||
woods?: ILocationData;
|
woods?: ILocation;
|
||||||
sandbox?: ILocationData;
|
sandbox?: ILocation;
|
||||||
/** Holds a mapping of the linkages between locations on the UI */
|
/** Holds a mapping of the linkages between locations on the UI */
|
||||||
base?: ILocationsBase;
|
base?: ILocationsBase;
|
||||||
}
|
}
|
||||||
export interface ILocationData {
|
|
||||||
base: ILocationBase;
|
|
||||||
looseLoot?: ILooseLoot;
|
|
||||||
}
|
|
||||||
|
@ -15,6 +15,17 @@ export declare class ItemFilterService {
|
|||||||
* @returns true if blacklisted
|
* @returns true if blacklisted
|
||||||
*/
|
*/
|
||||||
isItemBlacklisted(tpl: string): boolean;
|
isItemBlacklisted(tpl: string): boolean;
|
||||||
|
/**
|
||||||
|
* Check if item is blacklisted from being a reward for player
|
||||||
|
* @param tpl item tpl to check is on blacklist
|
||||||
|
* @returns True when blacklisted
|
||||||
|
*/
|
||||||
|
isItemRewardBlacklisted(tpl: string): boolean;
|
||||||
|
/**
|
||||||
|
* Get an array of items that should never be given as a reward to player
|
||||||
|
* @returns string array of item tpls
|
||||||
|
*/
|
||||||
|
getItemRewardBlacklist(): string[];
|
||||||
/**
|
/**
|
||||||
* Return every template id blacklisted in config/item.json
|
* Return every template id blacklisted in config/item.json
|
||||||
* @returns string array of blacklisted tempalte ids
|
* @returns string array of blacklisted tempalte ids
|
||||||
|
@ -40,6 +40,4 @@ export declare class Watermark {
|
|||||||
protected resetCursor(): void;
|
protected resetCursor(): void;
|
||||||
/** Draw the watermark */
|
/** Draw the watermark */
|
||||||
protected draw(): void;
|
protected draw(): void;
|
||||||
/** Caculate text length */
|
|
||||||
protected textLength(s: string): number;
|
|
||||||
}
|
}
|
||||||
|
@ -13,6 +13,7 @@ import { LootRequest } from "@spt-aki/models/spt/services/LootRequest";
|
|||||||
import { ILogger } from "@spt-aki/models/spt/utils/ILogger";
|
import { ILogger } from "@spt-aki/models/spt/utils/ILogger";
|
||||||
import { ConfigServer } from "@spt-aki/servers/ConfigServer";
|
import { ConfigServer } from "@spt-aki/servers/ConfigServer";
|
||||||
import { DatabaseServer } from "@spt-aki/servers/DatabaseServer";
|
import { DatabaseServer } from "@spt-aki/servers/DatabaseServer";
|
||||||
|
import { ItemFilterService } from "@spt-aki/services/ItemFilterService";
|
||||||
import { LocalisationService } from "@spt-aki/services/LocalisationService";
|
import { LocalisationService } from "@spt-aki/services/LocalisationService";
|
||||||
import { RaidTimeAdjustmentService } from "@spt-aki/services/RaidTimeAdjustmentService";
|
import { RaidTimeAdjustmentService } from "@spt-aki/services/RaidTimeAdjustmentService";
|
||||||
import { HashUtil } from "@spt-aki/utils/HashUtil";
|
import { HashUtil } from "@spt-aki/utils/HashUtil";
|
||||||
@ -28,6 +29,7 @@ export declare class LocationController {
|
|||||||
protected locationGenerator: LocationGenerator;
|
protected locationGenerator: LocationGenerator;
|
||||||
protected localisationService: LocalisationService;
|
protected localisationService: LocalisationService;
|
||||||
protected raidTimeAdjustmentService: RaidTimeAdjustmentService;
|
protected raidTimeAdjustmentService: RaidTimeAdjustmentService;
|
||||||
|
protected itemFilterService: ItemFilterService;
|
||||||
protected lootGenerator: LootGenerator;
|
protected lootGenerator: LootGenerator;
|
||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
protected timeUtil: TimeUtil;
|
protected timeUtil: TimeUtil;
|
||||||
@ -35,7 +37,7 @@ export declare class LocationController {
|
|||||||
protected applicationContext: ApplicationContext;
|
protected applicationContext: ApplicationContext;
|
||||||
protected airdropConfig: IAirdropConfig;
|
protected airdropConfig: IAirdropConfig;
|
||||||
protected locationConfig: ILocationConfig;
|
protected locationConfig: ILocationConfig;
|
||||||
constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext);
|
constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, weightedRandomHelper: WeightedRandomHelper, logger: ILogger, locationGenerator: LocationGenerator, localisationService: LocalisationService, raidTimeAdjustmentService: RaidTimeAdjustmentService, itemFilterService: ItemFilterService, lootGenerator: LootGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil, configServer: ConfigServer, applicationContext: ApplicationContext);
|
||||||
/**
|
/**
|
||||||
* Handle client/location/getLocalloot
|
* Handle client/location/getLocalloot
|
||||||
* Get a location (map) with generated loot data
|
* Get a location (map) with generated loot data
|
||||||
|
@ -105,7 +105,7 @@ export declare class RepeatableQuestGenerator {
|
|||||||
/**
|
/**
|
||||||
* Filter a maps exits to just those for the desired side
|
* Filter a maps exits to just those for the desired side
|
||||||
* @param locationKey Map id (e.g. factory4_day)
|
* @param locationKey Map id (e.g. factory4_day)
|
||||||
* @param playerSide Scav/Bear
|
* @param playerSide Scav/Pmc
|
||||||
* @returns Array of Exit objects
|
* @returns Array of Exit objects
|
||||||
*/
|
*/
|
||||||
protected getLocationExitsForSide(locationKey: string, playerSide: string): Exit[];
|
protected getLocationExitsForSide(locationKey: string, playerSide: string): Exit[];
|
||||||
|
@ -3,7 +3,7 @@ import { ItemHelper } from "@spt-aki/helpers/ItemHelper";
|
|||||||
import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper";
|
import { PaymentHelper } from "@spt-aki/helpers/PaymentHelper";
|
||||||
import { QuestHelper } from "@spt-aki/helpers/QuestHelper";
|
import { QuestHelper } from "@spt-aki/helpers/QuestHelper";
|
||||||
import { IPmcData, IPostRaidPmcData } from "@spt-aki/models/eft/common/IPmcData";
|
import { IPmcData, IPostRaidPmcData } from "@spt-aki/models/eft/common/IPmcData";
|
||||||
import { IQuestStatus, TraderInfo, Victim } from "@spt-aki/models/eft/common/tables/IBotBase";
|
import { IQuestStatus, TraderInfo } from "@spt-aki/models/eft/common/tables/IBotBase";
|
||||||
import { Item } from "@spt-aki/models/eft/common/tables/IItem";
|
import { Item } from "@spt-aki/models/eft/common/tables/IItem";
|
||||||
import { ISaveProgressRequestData } from "@spt-aki/models/eft/inRaid/ISaveProgressRequestData";
|
import { ISaveProgressRequestData } from "@spt-aki/models/eft/inRaid/ISaveProgressRequestData";
|
||||||
import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig";
|
import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig";
|
||||||
@ -47,20 +47,6 @@ export declare class InRaidHelper {
|
|||||||
* @param items Items array to check
|
* @param items Items array to check
|
||||||
*/
|
*/
|
||||||
addUpdToMoneyFromRaid(items: Item[]): void;
|
addUpdToMoneyFromRaid(items: Item[]): void;
|
||||||
/**
|
|
||||||
* Add karma changes up and return the new value
|
|
||||||
* @param existingFenceStanding Current fence standing level
|
|
||||||
* @param victims Array of kills player performed
|
|
||||||
* @returns adjusted karma level after kills are taken into account
|
|
||||||
*/
|
|
||||||
calculateFenceStandingChangeFromKillsAsScav(existingFenceStanding: number, victims: Victim[]): number;
|
|
||||||
protected getAdditionalLossForKill(fenceStanding: number, repChangeForKill: number): number;
|
|
||||||
/**
|
|
||||||
* Get the standing gain/loss for killing an npc
|
|
||||||
* @param victim Who was killed by player
|
|
||||||
* @returns a numerical standing gain or loss
|
|
||||||
*/
|
|
||||||
protected getFenceStandingChangeForKillAsScav(victim: Victim): number;
|
|
||||||
/**
|
/**
|
||||||
* Reset a profile to a baseline, used post-raid
|
* Reset a profile to a baseline, used post-raid
|
||||||
* Reset points earned during session property
|
* Reset points earned during session property
|
||||||
|
@ -59,6 +59,12 @@ export declare class ItemHelper {
|
|||||||
* @returns Does item have the possibility ot need soft inserts
|
* @returns Does item have the possibility ot need soft inserts
|
||||||
*/
|
*/
|
||||||
armorItemCanHoldMods(itemTpl: string): boolean;
|
armorItemCanHoldMods(itemTpl: string): boolean;
|
||||||
|
/**
|
||||||
|
* Does the provided item tpl need soft/removable inserts to function
|
||||||
|
* @param itemTpl Armor item
|
||||||
|
* @returns True if item needs some kind of insert
|
||||||
|
*/
|
||||||
|
armorItemHasRemovableOrSoftInsertSlots(itemTpl: string): boolean;
|
||||||
/**
|
/**
|
||||||
* Does the pased in tpl have ability to hold removable plate items
|
* Does the pased in tpl have ability to hold removable plate items
|
||||||
* @param itemTpl item tpl to check for plate support
|
* @param itemTpl item tpl to check for plate support
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user