Initial changes for 3.6.0
This commit is contained in:
parent
561e30f57c
commit
c4cfcdc367
@ -47,6 +47,8 @@ export declare class GameController {
|
|||||||
protected locationConfig: ILocationConfig;
|
protected locationConfig: ILocationConfig;
|
||||||
constructor(logger: ILogger, databaseServer: DatabaseServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, encodingUtil: EncodingUtil, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
constructor(logger: ILogger, databaseServer: DatabaseServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, preAkiModLoader: PreAkiModLoader, httpServerHelper: HttpServerHelper, encodingUtil: EncodingUtil, hideoutHelper: HideoutHelper, profileHelper: ProfileHelper, profileFixerService: ProfileFixerService, localisationService: LocalisationService, customLocationWaveService: CustomLocationWaveService, openZoneService: OpenZoneService, seasonalEventService: SeasonalEventService, applicationContext: ApplicationContext, configServer: ConfigServer);
|
||||||
gameStart(_url: string, _info: IEmptyRequestData, sessionID: string, startTimeStampMS: number): void;
|
gameStart(_url: string, _info: IEmptyRequestData, sessionID: string, startTimeStampMS: number): void;
|
||||||
|
/** Check for any missing assorts inside each traders assort.json data, checking against traders qeustassort.json */
|
||||||
|
protected validateQuestAssortUnlocksExist(): void;
|
||||||
/**
|
/**
|
||||||
* BSG have two values for shotgun dispersion, we make sure both have the same value
|
* BSG have two values for shotgun dispersion, we make sure both have the same value
|
||||||
*/
|
*/
|
||||||
|
@ -4,6 +4,7 @@ import { ItemHelper } from "../helpers/ItemHelper";
|
|||||||
import { PaymentHelper } from "../helpers/PaymentHelper";
|
import { PaymentHelper } from "../helpers/PaymentHelper";
|
||||||
import { PresetHelper } from "../helpers/PresetHelper";
|
import { PresetHelper } from "../helpers/PresetHelper";
|
||||||
import { ProfileHelper } from "../helpers/ProfileHelper";
|
import { ProfileHelper } from "../helpers/ProfileHelper";
|
||||||
|
import { QuestHelper } from "../helpers/QuestHelper";
|
||||||
import { IPmcData } from "../models/eft/common/IPmcData";
|
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||||
import { IAddItemRequestData } from "../models/eft/inventory/IAddItemRequestData";
|
import { IAddItemRequestData } from "../models/eft/inventory/IAddItemRequestData";
|
||||||
import { IInventoryBindRequestData } from "../models/eft/inventory/IInventoryBindRequestData";
|
import { IInventoryBindRequestData } from "../models/eft/inventory/IInventoryBindRequestData";
|
||||||
@ -44,6 +45,7 @@ export declare class InventoryController {
|
|||||||
protected fenceService: FenceService;
|
protected fenceService: FenceService;
|
||||||
protected presetHelper: PresetHelper;
|
protected presetHelper: PresetHelper;
|
||||||
protected inventoryHelper: InventoryHelper;
|
protected inventoryHelper: InventoryHelper;
|
||||||
|
protected questHelper: QuestHelper;
|
||||||
protected ragfairOfferService: RagfairOfferService;
|
protected ragfairOfferService: RagfairOfferService;
|
||||||
protected profileHelper: ProfileHelper;
|
protected profileHelper: ProfileHelper;
|
||||||
protected paymentHelper: PaymentHelper;
|
protected paymentHelper: PaymentHelper;
|
||||||
@ -51,7 +53,7 @@ export declare class InventoryController {
|
|||||||
protected lootGenerator: LootGenerator;
|
protected lootGenerator: LootGenerator;
|
||||||
protected eventOutputHolder: EventOutputHolder;
|
protected eventOutputHolder: EventOutputHolder;
|
||||||
protected httpResponseUtil: HttpResponseUtil;
|
protected httpResponseUtil: HttpResponseUtil;
|
||||||
constructor(logger: ILogger, hashUtil: HashUtil, jsonUtil: JsonUtil, itemHelper: ItemHelper, randomUtil: RandomUtil, databaseServer: DatabaseServer, fenceService: FenceService, presetHelper: PresetHelper, inventoryHelper: InventoryHelper, ragfairOfferService: RagfairOfferService, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, localisationService: LocalisationService, lootGenerator: LootGenerator, eventOutputHolder: EventOutputHolder, httpResponseUtil: HttpResponseUtil);
|
constructor(logger: ILogger, hashUtil: HashUtil, jsonUtil: JsonUtil, itemHelper: ItemHelper, randomUtil: RandomUtil, databaseServer: DatabaseServer, fenceService: FenceService, presetHelper: PresetHelper, inventoryHelper: InventoryHelper, questHelper: QuestHelper, ragfairOfferService: RagfairOfferService, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, localisationService: LocalisationService, lootGenerator: LootGenerator, eventOutputHolder: EventOutputHolder, httpResponseUtil: HttpResponseUtil);
|
||||||
/**
|
/**
|
||||||
* Move Item
|
* Move Item
|
||||||
* change location of item with parentId and slotId
|
* change location of item with parentId and slotId
|
||||||
|
@ -3,9 +3,9 @@ import { LootGenerator } from "../generators/LootGenerator";
|
|||||||
import { WeightedRandomHelper } from "../helpers/WeightedRandomHelper";
|
import { WeightedRandomHelper } from "../helpers/WeightedRandomHelper";
|
||||||
import { ILocationBase } from "../models/eft/common/ILocationBase";
|
import { ILocationBase } from "../models/eft/common/ILocationBase";
|
||||||
import { ILocationsGenerateAllResponse } from "../models/eft/common/ILocationsSourceDestinationBase";
|
import { ILocationsGenerateAllResponse } from "../models/eft/common/ILocationsSourceDestinationBase";
|
||||||
|
import { IAirdropLootResult } from "../models/eft/location/IAirdropLootResult";
|
||||||
import { AirdropTypeEnum } from "../models/enums/AirdropType";
|
import { AirdropTypeEnum } from "../models/enums/AirdropType";
|
||||||
import { IAirdropConfig } from "../models/spt/config/IAirdropConfig";
|
import { IAirdropConfig } from "../models/spt/config/IAirdropConfig";
|
||||||
import { LootItem } from "../models/spt/services/LootItem";
|
|
||||||
import { LootRequest } from "../models/spt/services/LootRequest";
|
import { LootRequest } from "../models/spt/services/LootRequest";
|
||||||
import { ILogger } from "../models/spt/utils/ILogger";
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
import { ConfigServer } from "../servers/ConfigServer";
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
@ -39,7 +39,7 @@ export declare class LocationController {
|
|||||||
* Generates it randomly based on config/airdrop.json values
|
* Generates it randomly based on config/airdrop.json values
|
||||||
* @returns Array of LootItem objects
|
* @returns Array of LootItem objects
|
||||||
*/
|
*/
|
||||||
getAirdropLoot(): LootItem[];
|
getAirdropLoot(): IAirdropLootResult;
|
||||||
/**
|
/**
|
||||||
* Randomly pick a type of airdrop loot using weighted values from config
|
* Randomly pick a type of airdrop loot using weighted values from config
|
||||||
* @returns airdrop type value
|
* @returns airdrop type value
|
||||||
|
@ -19,6 +19,7 @@ import { DatabaseServer } from "../servers/DatabaseServer";
|
|||||||
import { LocaleService } from "../services/LocaleService";
|
import { LocaleService } from "../services/LocaleService";
|
||||||
import { LocalisationService } from "../services/LocalisationService";
|
import { LocalisationService } from "../services/LocalisationService";
|
||||||
import { PlayerService } from "../services/PlayerService";
|
import { PlayerService } from "../services/PlayerService";
|
||||||
|
import { SeasonalEventService } from "../services/SeasonalEventService";
|
||||||
import { HttpResponseUtil } from "../utils/HttpResponseUtil";
|
import { HttpResponseUtil } from "../utils/HttpResponseUtil";
|
||||||
import { TimeUtil } from "../utils/TimeUtil";
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
export declare class QuestController {
|
export declare class QuestController {
|
||||||
@ -34,10 +35,11 @@ export declare class QuestController {
|
|||||||
protected questConditionHelper: QuestConditionHelper;
|
protected questConditionHelper: QuestConditionHelper;
|
||||||
protected playerService: PlayerService;
|
protected playerService: PlayerService;
|
||||||
protected localeService: LocaleService;
|
protected localeService: LocaleService;
|
||||||
|
protected seasonalEventService: SeasonalEventService;
|
||||||
protected localisationService: LocalisationService;
|
protected localisationService: LocalisationService;
|
||||||
protected configServer: ConfigServer;
|
protected configServer: ConfigServer;
|
||||||
protected questConfig: IQuestConfig;
|
protected questConfig: IQuestConfig;
|
||||||
constructor(logger: ILogger, timeUtil: TimeUtil, httpResponseUtil: HttpResponseUtil, eventOutputHolder: EventOutputHolder, databaseServer: DatabaseServer, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, questHelper: QuestHelper, questConditionHelper: QuestConditionHelper, playerService: PlayerService, localeService: LocaleService, localisationService: LocalisationService, configServer: ConfigServer);
|
constructor(logger: ILogger, timeUtil: TimeUtil, httpResponseUtil: HttpResponseUtil, eventOutputHolder: EventOutputHolder, databaseServer: DatabaseServer, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, questHelper: QuestHelper, questConditionHelper: QuestConditionHelper, playerService: PlayerService, localeService: LocaleService, seasonalEventService: SeasonalEventService, localisationService: LocalisationService, configServer: ConfigServer);
|
||||||
/**
|
/**
|
||||||
* Get all quests visible to player
|
* Get all quests visible to player
|
||||||
* Exclude quests with incomplete preconditions (level/loyalty)
|
* Exclude quests with incomplete preconditions (level/loyalty)
|
||||||
@ -45,6 +47,19 @@ export declare class QuestController {
|
|||||||
* @returns array of IQuest
|
* @returns array of IQuest
|
||||||
*/
|
*/
|
||||||
getClientQuests(sessionID: string): IQuest[];
|
getClientQuests(sessionID: string): IQuest[];
|
||||||
|
/**
|
||||||
|
* Does a provided quest have a level requirement equal to or below defined level
|
||||||
|
* @param quest Quest to check
|
||||||
|
* @param playerLevel level of player to test against quest
|
||||||
|
* @returns true if quest can be seen/accepted by player of defined level
|
||||||
|
*/
|
||||||
|
protected playerLevelFulfillsQuestRequrement(quest: IQuest, playerLevel: number): boolean;
|
||||||
|
/**
|
||||||
|
* Should a quest be shown to the player in trader quest screen
|
||||||
|
* @param questId Quest to check
|
||||||
|
* @returns true = show to player
|
||||||
|
*/
|
||||||
|
protected showEventQuestToPlayer(questId: string): boolean;
|
||||||
/**
|
/**
|
||||||
* Is the quest for the opposite side the player is on
|
* Is the quest for the opposite side the player is on
|
||||||
* @param playerSide Player side (usec/bear)
|
* @param playerSide Player side (usec/bear)
|
||||||
|
@ -14,12 +14,12 @@ export declare class AssortHelper {
|
|||||||
protected questHelper: QuestHelper;
|
protected questHelper: QuestHelper;
|
||||||
constructor(logger: ILogger, itemHelper: ItemHelper, databaseServer: DatabaseServer, localisationService: LocalisationService, questHelper: QuestHelper);
|
constructor(logger: ILogger, itemHelper: ItemHelper, databaseServer: DatabaseServer, localisationService: LocalisationService, questHelper: QuestHelper);
|
||||||
/**
|
/**
|
||||||
* Remove assorts from a trader that have not been unlocked yet
|
* Remove assorts from a trader that have not been unlocked yet (via player completing corrisponding quest)
|
||||||
* @param pmcProfile player profile
|
* @param pmcProfile Player profile
|
||||||
* @param traderId traders id the assort belongs to
|
* @param traderId Traders id the assort belongs to
|
||||||
* @param traderAssorts All assort items from same trader
|
* @param traderAssorts All assort items from same trader
|
||||||
* @param mergedQuestAssorts Dict of quest assort to quest id unlocks for all traders
|
* @param mergedQuestAssorts Dict of quest assort to quest id unlocks for all traders (key = started/failed/complete)
|
||||||
* @returns assort items minus locked quest assorts
|
* @returns Assort items minus locked quest assorts
|
||||||
*/
|
*/
|
||||||
stripLockedQuestAssort(pmcProfile: IPmcData, traderId: string, traderAssorts: ITraderAssort, mergedQuestAssorts: Record<string, Record<string, string>>, flea?: boolean): ITraderAssort;
|
stripLockedQuestAssort(pmcProfile: IPmcData, traderId: string, traderAssorts: ITraderAssort, mergedQuestAssorts: Record<string, Record<string, string>>, flea?: boolean): ITraderAssort;
|
||||||
/**
|
/**
|
||||||
|
@ -189,16 +189,16 @@ export declare class HideoutHelper {
|
|||||||
* @returns coin slot count
|
* @returns coin slot count
|
||||||
*/
|
*/
|
||||||
protected getBTCSlots(pmcData: IPmcData): number;
|
protected getBTCSlots(pmcData: IPmcData): number;
|
||||||
/**
|
|
||||||
* Get a count of bitcoins player miner can hold
|
|
||||||
*/
|
|
||||||
protected getManagementSkillsSlots(): number;
|
|
||||||
/**
|
/**
|
||||||
* Does profile have elite hideout management skill
|
* Does profile have elite hideout management skill
|
||||||
* @param pmcData Profile to look at
|
* @param pmcData Profile to look at
|
||||||
* @returns True if profile has skill
|
* @returns True if profile has skill
|
||||||
*/
|
*/
|
||||||
protected hasEliteHideoutManagementSkill(pmcData: IPmcData): boolean;
|
protected hasEliteHideoutManagementSkill(pmcData: IPmcData): boolean;
|
||||||
|
/**
|
||||||
|
* Get a count of bitcoins player miner can hold
|
||||||
|
*/
|
||||||
|
protected getBitcoinMinerContainerSlotSize(): number;
|
||||||
/**
|
/**
|
||||||
* Get the hideout management skill from player profile
|
* Get the hideout management skill from player profile
|
||||||
* @param pmcData Profile to look at
|
* @param pmcData Profile to look at
|
||||||
@ -206,12 +206,6 @@ export declare class HideoutHelper {
|
|||||||
*/
|
*/
|
||||||
protected getHideoutManagementSkill(pmcData: IPmcData): Common;
|
protected getHideoutManagementSkill(pmcData: IPmcData): Common;
|
||||||
protected getHideoutManagementConsumptionBonus(pmcData: IPmcData): number;
|
protected getHideoutManagementConsumptionBonus(pmcData: IPmcData): number;
|
||||||
/**
|
|
||||||
* Get the crafting skill details from player profile
|
|
||||||
* @param pmcData Player profile
|
|
||||||
* @returns crafting skill, null if not found
|
|
||||||
*/
|
|
||||||
protected getCraftingSkill(pmcData: IPmcData): Common;
|
|
||||||
/**
|
/**
|
||||||
* Adjust craft time based on crafting skill level found in player profile
|
* Adjust craft time based on crafting skill level found in player profile
|
||||||
* @param pmcData Player profile
|
* @param pmcData Player profile
|
||||||
|
@ -186,14 +186,14 @@ declare class ItemHelper {
|
|||||||
*/
|
*/
|
||||||
findBarterItems(by: "tpl" | "id", pmcData: IPmcData, barterItemId: string): Item[];
|
findBarterItems(by: "tpl" | "id", pmcData: IPmcData, barterItemId: string): Item[];
|
||||||
/**
|
/**
|
||||||
*
|
* Regenerate all guids with new ids, exceptions are for items that cannot be altered (e.g. stash/sorting table)
|
||||||
* @param pmcData
|
* @param pmcData Player profile
|
||||||
* @param items
|
* @param items Items to adjust ID values of
|
||||||
* @param insuredItems insured items to not replace ids for
|
* @param insuredItems insured items to not replace ids for
|
||||||
* @param fastPanel
|
* @param fastPanel
|
||||||
* @returns
|
* @returns Item[]
|
||||||
*/
|
*/
|
||||||
replaceIDs(pmcData: IPmcData, items: Item[], insuredItems?: InsuredItem[], fastPanel?: any): any[];
|
replaceIDs(pmcData: IPmcData, items: Item[], insuredItems?: InsuredItem[], fastPanel?: any): Item[];
|
||||||
/**
|
/**
|
||||||
* WARNING, SLOW. Recursively loop down through an items hierarchy to see if any of the ids match the supplied list, return true if any do
|
* WARNING, SLOW. Recursively loop down through an items hierarchy to see if any of the ids match the supplied list, return true if any do
|
||||||
* @param {string} tpl Items tpl to check parents of
|
* @param {string} tpl Items tpl to check parents of
|
||||||
|
@ -63,6 +63,7 @@ export declare class QuestHelper {
|
|||||||
getDeltaQuests(before: IQuest[], after: IQuest[]): IQuest[];
|
getDeltaQuests(before: IQuest[], after: IQuest[]): IQuest[];
|
||||||
/**
|
/**
|
||||||
* Increase skill points of a skill on player profile
|
* Increase skill points of a skill on player profile
|
||||||
|
* Dupe of PlayerService.incrementSkillLevel()
|
||||||
* @param sessionID Session id
|
* @param sessionID Session id
|
||||||
* @param pmcData Player profile
|
* @param pmcData Player profile
|
||||||
* @param skillName Name of skill to increase skill points of
|
* @param skillName Name of skill to increase skill points of
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
import { IPmcData } from "../models/eft/common/IPmcData";
|
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||||
import { Item } from "../models/eft/common/tables/IItem";
|
import { Item } from "../models/eft/common/tables/IItem";
|
||||||
import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem";
|
import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem";
|
||||||
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
import { RagfairPriceService } from "../services/RagfairPriceService";
|
import { RagfairPriceService } from "../services/RagfairPriceService";
|
||||||
import { ItemHelper } from "./ItemHelper";
|
import { ItemHelper } from "./ItemHelper";
|
||||||
import { ILogger } from "../models/spt/utils/ILogger";
|
|
||||||
export declare class RagfairTaxHelper {
|
export declare class RagfairTaxHelper {
|
||||||
protected logger: ILogger;
|
protected logger: ILogger;
|
||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
|
@ -3,6 +3,7 @@ export interface IGlobals {
|
|||||||
time: number;
|
time: number;
|
||||||
config: Config;
|
config: Config;
|
||||||
bot_presets: BotPreset[];
|
bot_presets: BotPreset[];
|
||||||
|
AudioSettings: IAudioSettings;
|
||||||
BotWeaponScatterings: BotWeaponScattering[];
|
BotWeaponScatterings: BotWeaponScattering[];
|
||||||
ItemPresets: Record<string, Preset>;
|
ItemPresets: Record<string, Preset>;
|
||||||
}
|
}
|
||||||
@ -1299,6 +1300,20 @@ export interface BotPreset {
|
|||||||
FIRST_CONTACT_ADD_SEC: number;
|
FIRST_CONTACT_ADD_SEC: number;
|
||||||
COEF_IF_MOVE: number;
|
COEF_IF_MOVE: number;
|
||||||
}
|
}
|
||||||
|
export interface IAudioSettings {
|
||||||
|
AudioGroupPresets: IAudioGroupPreset[];
|
||||||
|
}
|
||||||
|
export interface IAudioGroupPreset {
|
||||||
|
AngleToAllowBinaural: number;
|
||||||
|
DisabledBinauralByDistance: boolean;
|
||||||
|
DistanceToAllowBinaural: number;
|
||||||
|
GroupType: number;
|
||||||
|
HeightToAllowBinaural: number;
|
||||||
|
Name: string;
|
||||||
|
OcclusionEnabled: boolean;
|
||||||
|
OcclusionIntensity: number;
|
||||||
|
OverallVolume: number;
|
||||||
|
}
|
||||||
export interface BotWeaponScattering {
|
export interface BotWeaponScattering {
|
||||||
Name: string;
|
Name: string;
|
||||||
PriorityScatter1meter: number;
|
PriorityScatter1meter: number;
|
||||||
|
@ -40,6 +40,7 @@ export interface Info {
|
|||||||
Nickname: string;
|
Nickname: string;
|
||||||
LowerNickname: string;
|
LowerNickname: string;
|
||||||
Side: string;
|
Side: string;
|
||||||
|
SquadInviteRestriction: boolean;
|
||||||
Voice: string;
|
Voice: string;
|
||||||
Level: number;
|
Level: number;
|
||||||
Experience: number;
|
Experience: number;
|
||||||
|
@ -36,6 +36,7 @@ export interface Props {
|
|||||||
IsUnremovable?: boolean;
|
IsUnremovable?: boolean;
|
||||||
IsLockedafterEquip?: boolean;
|
IsLockedafterEquip?: boolean;
|
||||||
IsSpecialSlotOnly?: boolean;
|
IsSpecialSlotOnly?: boolean;
|
||||||
|
IsStationaryWeapon?: boolean;
|
||||||
QuestItem?: boolean;
|
QuestItem?: boolean;
|
||||||
QuestStashMaxCount?: number;
|
QuestStashMaxCount?: number;
|
||||||
LootExperience?: number;
|
LootExperience?: number;
|
||||||
@ -257,6 +258,7 @@ export interface Props {
|
|||||||
CutoffFreq?: number;
|
CutoffFreq?: number;
|
||||||
Resonance?: number;
|
Resonance?: number;
|
||||||
RolloffMultiplier?: number;
|
RolloffMultiplier?: number;
|
||||||
|
ReverbVolume: number;
|
||||||
CompressorVolume?: number;
|
CompressorVolume?: number;
|
||||||
AmbientVolume?: number;
|
AmbientVolume?: number;
|
||||||
DryVolume?: number;
|
DryVolume?: number;
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
export interface IAddItemRequestData {
|
export interface IAddItemRequestData {
|
||||||
|
/** Trader id */
|
||||||
tid: string;
|
tid: string;
|
||||||
items: AddItem[];
|
items: AddItem[];
|
||||||
}
|
}
|
||||||
|
5
TypeScript/1LogToConsole/types/models/eft/location/IAirdropLootResult.d.ts
vendored
Normal file
5
TypeScript/1LogToConsole/types/models/eft/location/IAirdropLootResult.d.ts
vendored
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
import { LootItem } from "../../../models/spt/services/LootItem";
|
||||||
|
export interface IAirdropLootResult {
|
||||||
|
dropType: string;
|
||||||
|
loot: LootItem[];
|
||||||
|
}
|
5
TypeScript/1LogToConsole/types/models/enums/SeasonalEventType.d.ts
vendored
Normal file
5
TypeScript/1LogToConsole/types/models/enums/SeasonalEventType.d.ts
vendored
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
export declare enum SeasonalEventType {
|
||||||
|
NONE = "None",
|
||||||
|
CHRISTMAS = "Christmas",
|
||||||
|
HALLOWEEN = "Halloween"
|
||||||
|
}
|
@ -30,5 +30,6 @@ export declare enum WildSpawnTypeNumber {
|
|||||||
FOLLOWERBIRDEYE = 28,
|
FOLLOWERBIRDEYE = 28,
|
||||||
BOSSZRYACHIY = 29,
|
BOSSZRYACHIY = 29,
|
||||||
FOLLOWERZRYACHIY = 30,
|
FOLLOWERZRYACHIY = 30,
|
||||||
ARENAFIGHTEREVENT = 31
|
ARENAFIGHTER = 31,
|
||||||
|
ARENAFIGHTEREVENT = 32
|
||||||
}
|
}
|
||||||
|
@ -10,6 +10,7 @@ export interface IAirdropConfig extends IBaseConfig {
|
|||||||
planeVolume: number;
|
planeVolume: number;
|
||||||
planeSpeed: number;
|
planeSpeed: number;
|
||||||
crateFallSpeed: number;
|
crateFallSpeed: number;
|
||||||
|
containerIds: Record<string, string>;
|
||||||
airdropMinStartTimeSeconds: number;
|
airdropMinStartTimeSeconds: number;
|
||||||
airdropMaxStartTimeSeconds: number;
|
airdropMaxStartTimeSeconds: number;
|
||||||
loot: Record<string, AirdropLoot>;
|
loot: Record<string, AirdropLoot>;
|
||||||
|
@ -4,4 +4,5 @@ export interface IHideoutConfig extends IBaseConfig {
|
|||||||
runIntervalSeconds: number;
|
runIntervalSeconds: number;
|
||||||
hoursForSkillCrafting: number;
|
hoursForSkillCrafting: number;
|
||||||
hideoutWallAppearTimeSeconds: number;
|
hideoutWallAppearTimeSeconds: number;
|
||||||
|
expCraftAmount: number;
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,15 @@
|
|||||||
|
import { MemberCategory } from "../../../models/enums/MemberCategory";
|
||||||
import { MinMax } from "../../common/MinMax";
|
import { MinMax } from "../../common/MinMax";
|
||||||
export interface IPmcConfig {
|
export interface IPmcConfig {
|
||||||
|
/** What game version should the PMC have */
|
||||||
|
gameVersionWeight: Record<string, number>;
|
||||||
|
/** What account type should the PMC have */
|
||||||
|
accountTypeWeight: Record<MemberCategory, number>;
|
||||||
|
/** Global whitelist/blacklist of vest loot for PMCs */
|
||||||
vestLoot: SlotLootSettings;
|
vestLoot: SlotLootSettings;
|
||||||
|
/** Global whitelist/blacklist of pocket loot for PMCs */
|
||||||
pocketLoot: SlotLootSettings;
|
pocketLoot: SlotLootSettings;
|
||||||
|
/** Global whitelist/blacklist of backpack loot for PMCs */
|
||||||
backpackLoot: SlotLootSettings;
|
backpackLoot: SlotLootSettings;
|
||||||
dynamicLoot: DynamicLoot;
|
dynamicLoot: DynamicLoot;
|
||||||
useDifficultyOverride: boolean;
|
useDifficultyOverride: boolean;
|
||||||
|
@ -1,10 +1,14 @@
|
|||||||
import { MinMax } from "../../../models/common/MinMax";
|
import { MinMax } from "../../../models/common/MinMax";
|
||||||
|
import { SeasonalEventType } from "../../../models/enums/SeasonalEventType";
|
||||||
import { ELocationName } from "../../enums/ELocationName";
|
import { ELocationName } from "../../enums/ELocationName";
|
||||||
import { IBaseConfig } from "./IBaseConfig";
|
import { IBaseConfig } from "./IBaseConfig";
|
||||||
export interface IQuestConfig extends IBaseConfig {
|
export interface IQuestConfig extends IBaseConfig {
|
||||||
kind: "aki-quest";
|
kind: "aki-quest";
|
||||||
redeemTime: number;
|
redeemTime: number;
|
||||||
questTemplateIds: IPlayerTypeQuestIds;
|
questTemplateIds: IPlayerTypeQuestIds;
|
||||||
|
/** Show non-seasonal quests be shown to player */
|
||||||
|
showNonSeasonalEventQuests: boolean;
|
||||||
|
eventQuests: Record<string, IEventQuestData>;
|
||||||
repeatableQuests: IRepeatableQuestConfig[];
|
repeatableQuests: IRepeatableQuestConfig[];
|
||||||
locationIdMap: Record<string, string>;
|
locationIdMap: Record<string, string>;
|
||||||
bearOnlyQuests: string[];
|
bearOnlyQuests: string[];
|
||||||
@ -19,6 +23,13 @@ export interface IQuestTypeIds {
|
|||||||
Completion: string;
|
Completion: string;
|
||||||
Exploration: string;
|
Exploration: string;
|
||||||
}
|
}
|
||||||
|
export interface IEventQuestData {
|
||||||
|
name: string;
|
||||||
|
season: SeasonalEventType;
|
||||||
|
startTimestamp: number;
|
||||||
|
endTimestamp: number;
|
||||||
|
yearly: boolean;
|
||||||
|
}
|
||||||
export interface IRepeatableQuestConfig {
|
export interface IRepeatableQuestConfig {
|
||||||
name: string;
|
name: string;
|
||||||
side: string;
|
side: string;
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
import { SeasonalEventType } from "../../../models/enums/SeasonalEventType";
|
||||||
import { IBaseConfig } from "./IBaseConfig";
|
import { IBaseConfig } from "./IBaseConfig";
|
||||||
export interface ISeasonalEventConfig extends IBaseConfig {
|
export interface ISeasonalEventConfig extends IBaseConfig {
|
||||||
kind: "aki-seasonalevents";
|
kind: "aki-seasonalevents";
|
||||||
@ -9,6 +10,7 @@ export interface ISeasonalEventConfig extends IBaseConfig {
|
|||||||
}
|
}
|
||||||
export interface ISeasonalEvent {
|
export interface ISeasonalEvent {
|
||||||
name: string;
|
name: string;
|
||||||
|
type: SeasonalEventType;
|
||||||
startDay: number;
|
startDay: number;
|
||||||
startMonth: number;
|
startMonth: number;
|
||||||
endDay: number;
|
endDay: number;
|
||||||
|
@ -27,6 +27,7 @@ export interface Config {
|
|||||||
TurnOffLogging: boolean;
|
TurnOffLogging: boolean;
|
||||||
WeaponOverlapDistanceCulling: number;
|
WeaponOverlapDistanceCulling: number;
|
||||||
WebDiagnosticsEnabled: boolean;
|
WebDiagnosticsEnabled: boolean;
|
||||||
|
NetworkStateView: INetworkStateView;
|
||||||
}
|
}
|
||||||
export interface FramerateLimit {
|
export interface FramerateLimit {
|
||||||
MaxFramerateGameLimit: number;
|
MaxFramerateGameLimit: number;
|
||||||
@ -46,3 +47,7 @@ export interface ReleaseProfiler {
|
|||||||
MaxRecords: number;
|
MaxRecords: number;
|
||||||
RecordTriggerValue: number;
|
RecordTriggerValue: number;
|
||||||
}
|
}
|
||||||
|
export interface INetworkStateView {
|
||||||
|
LossThreshold: number;
|
||||||
|
RttThreshold: number;
|
||||||
|
}
|
||||||
|
@ -1,22 +1,27 @@
|
|||||||
import { IPmcData } from "../models/eft/common/IPmcData";
|
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||||
import { ILogger } from "../models/spt/utils/ILogger";
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
import { LocalisationService } from "./LocalisationService";
|
import { LocalisationService } from "./LocalisationService";
|
||||||
export declare class PlayerService {
|
export declare class PlayerService {
|
||||||
protected logger: ILogger;
|
protected logger: ILogger;
|
||||||
|
protected timeUtil: TimeUtil;
|
||||||
protected localisationService: LocalisationService;
|
protected localisationService: LocalisationService;
|
||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
constructor(logger: ILogger, localisationService: LocalisationService, databaseServer: DatabaseServer);
|
constructor(logger: ILogger, timeUtil: TimeUtil, localisationService: LocalisationService, databaseServer: DatabaseServer);
|
||||||
/**
|
/**
|
||||||
* increases the profile skill and updates any output
|
* Dupe of QuestHelper.rewardsSkillPoints()
|
||||||
* @param {Object} pmcData
|
* Add xp to a player skill
|
||||||
* @param {String} skillName
|
* @param pmcData Player profile
|
||||||
* @param {Number} amount
|
* @param skillName Name of skill to increment
|
||||||
|
* @param amount Amount of skill points to add to skill
|
||||||
|
* @param useSkillProgressRateMultipler Skills are multiplied by a value in globals, default is off to maintain compatibility with legacy code
|
||||||
*/
|
*/
|
||||||
incrementSkillLevel(pmcData: IPmcData, skillName: string, amount: number): void;
|
incrementSkillLevel(pmcData: IPmcData, skillName: string, amount: number, useSkillProgressRateMultipler?: boolean): void;
|
||||||
/**
|
/**
|
||||||
* @param {Object} pmcData
|
* Get level of player
|
||||||
* @returns number
|
* @param pmcData Player profile
|
||||||
|
* @returns Level of player
|
||||||
*/
|
*/
|
||||||
calculateLevel(pmcData: IPmcData): number;
|
calculateLevel(pmcData: IPmcData): number;
|
||||||
}
|
}
|
||||||
|
@ -1,20 +1,26 @@
|
|||||||
import { BotHelper } from "../helpers/BotHelper";
|
import { BotHelper } from "../helpers/BotHelper";
|
||||||
import { Config } from "../models/eft/common/IGlobals";
|
import { Config } from "../models/eft/common/IGlobals";
|
||||||
import { Inventory } from "../models/eft/common/tables/IBotType";
|
import { Inventory } from "../models/eft/common/tables/IBotType";
|
||||||
|
import { SeasonalEventType } from "../models/enums/SeasonalEventType";
|
||||||
|
import { IHttpConfig } from "../models/spt/config/IHttpConfig";
|
||||||
|
import { IQuestConfig } from "../models/spt/config/IQuestConfig";
|
||||||
import { ISeasonalEvent, ISeasonalEventConfig } from "../models/spt/config/ISeasonalEventConfig";
|
import { ISeasonalEvent, ISeasonalEventConfig } from "../models/spt/config/ISeasonalEventConfig";
|
||||||
import { ILogger } from "../models/spt/utils/ILogger";
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
import { ConfigServer } from "../servers/ConfigServer";
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
import { DatabaseImporter } from "../utils/DatabaseImporter";
|
||||||
import { LocalisationService } from "./LocalisationService";
|
import { LocalisationService } from "./LocalisationService";
|
||||||
export declare class SeasonalEventService {
|
export declare class SeasonalEventService {
|
||||||
protected logger: ILogger;
|
protected logger: ILogger;
|
||||||
protected databaseServer: DatabaseServer;
|
protected databaseServer: DatabaseServer;
|
||||||
|
protected databaseImporter: DatabaseImporter;
|
||||||
protected localisationService: LocalisationService;
|
protected localisationService: LocalisationService;
|
||||||
protected botHelper: BotHelper;
|
protected botHelper: BotHelper;
|
||||||
protected configServer: ConfigServer;
|
protected configServer: ConfigServer;
|
||||||
protected seasonalEventConfig: ISeasonalEventConfig;
|
protected seasonalEventConfig: ISeasonalEventConfig;
|
||||||
constructor(logger: ILogger, databaseServer: DatabaseServer, localisationService: LocalisationService, botHelper: BotHelper, configServer: ConfigServer);
|
protected questConfig: IQuestConfig;
|
||||||
protected get events(): Record<string, string>;
|
protected httpConfig: IHttpConfig;
|
||||||
|
constructor(logger: ILogger, databaseServer: DatabaseServer, databaseImporter: DatabaseImporter, localisationService: LocalisationService, botHelper: BotHelper, configServer: ConfigServer);
|
||||||
protected get christmasEventItems(): string[];
|
protected get christmasEventItems(): string[];
|
||||||
protected get halloweenEventItems(): string[];
|
protected get halloweenEventItems(): string[];
|
||||||
/**
|
/**
|
||||||
@ -52,12 +58,12 @@ export declare class SeasonalEventService {
|
|||||||
*/
|
*/
|
||||||
seasonalEventEnabled(): boolean;
|
seasonalEventEnabled(): boolean;
|
||||||
/**
|
/**
|
||||||
* is christmas event active
|
* Is christmas event active (Globals eventtype array contains even name)
|
||||||
* @returns true if active
|
* @returns true if active
|
||||||
*/
|
*/
|
||||||
christmasEventEnabled(): boolean;
|
christmasEventEnabled(): boolean;
|
||||||
/**
|
/**
|
||||||
* is christmas event active
|
* is halloween event active (Globals eventtype array contains even name)
|
||||||
* @returns true if active
|
* @returns true if active
|
||||||
*/
|
*/
|
||||||
halloweenEventEnabled(): boolean;
|
halloweenEventEnabled(): boolean;
|
||||||
@ -71,12 +77,19 @@ export declare class SeasonalEventService {
|
|||||||
* @param eventName Name of event to get gear changes for
|
* @param eventName Name of event to get gear changes for
|
||||||
* @returns bots with equipment changes
|
* @returns bots with equipment changes
|
||||||
*/
|
*/
|
||||||
protected getEventBotGear(eventName: string): Record<string, Record<string, Record<string, number>>>;
|
protected getEventBotGear(eventType: SeasonalEventType): Record<string, Record<string, Record<string, number>>>;
|
||||||
/**
|
/**
|
||||||
* Get the dates each seasonal event starts and ends at
|
* Get the dates each seasonal event starts and ends at
|
||||||
* @returns Record with event name + start/end date
|
* @returns Record with event name + start/end date
|
||||||
*/
|
*/
|
||||||
getEventDetails(): ISeasonalEvent[];
|
getEventDetails(): ISeasonalEvent[];
|
||||||
|
/**
|
||||||
|
* Look up quest in configs/quest.json
|
||||||
|
* @param questId Quest to look up
|
||||||
|
* @param event event type (Christmas/Halloween/None)
|
||||||
|
* @returns true if related
|
||||||
|
*/
|
||||||
|
isQuestRelatedToEvent(questId: string, event: SeasonalEventType): boolean;
|
||||||
/**
|
/**
|
||||||
* Check if current date falls inside any of the seasons events pased in, if so, handle them
|
* Check if current date falls inside any of the seasons events pased in, if so, handle them
|
||||||
*/
|
*/
|
||||||
@ -92,7 +105,12 @@ export declare class SeasonalEventService {
|
|||||||
* @param globalConfig globals.json
|
* @param globalConfig globals.json
|
||||||
* @param eventName Name of the event to enable. e.g. Christmas
|
* @param eventName Name of the event to enable. e.g. Christmas
|
||||||
*/
|
*/
|
||||||
protected updateGlobalEvents(globalConfig: Config, eventName: string): void;
|
protected updateGlobalEvents(globalConfig: Config, eventType: SeasonalEventType): void;
|
||||||
|
/**
|
||||||
|
* Change trader icons to be more event themed (Halloween only so far)
|
||||||
|
* @param eventType What event is active
|
||||||
|
*/
|
||||||
|
protected adjustTraderIcons(eventType: SeasonalEventType): void;
|
||||||
/**
|
/**
|
||||||
* Add lootble items from backpack into patrol.ITEMS_TO_DROP difficulty property
|
* Add lootble items from backpack into patrol.ITEMS_TO_DROP difficulty property
|
||||||
*/
|
*/
|
||||||
@ -101,7 +119,7 @@ export declare class SeasonalEventService {
|
|||||||
* Read in data from seasonalEvents.json and add found equipment items to bots
|
* Read in data from seasonalEvents.json and add found equipment items to bots
|
||||||
* @param eventName Name of the event to read equipment in from config
|
* @param eventName Name of the event to read equipment in from config
|
||||||
*/
|
*/
|
||||||
protected addEventGearToBots(eventName: string): void;
|
protected addEventGearToBots(eventType: SeasonalEventType): void;
|
||||||
protected addPumpkinsToScavBackpacks(): void;
|
protected addPumpkinsToScavBackpacks(): void;
|
||||||
/**
|
/**
|
||||||
* Set Khorovod(dancing tree) chance to 100% on all maps that support it
|
* Set Khorovod(dancing tree) chance to 100% on all maps that support it
|
||||||
|
@ -26,6 +26,11 @@ export declare class DatabaseImporter implements OnLoad {
|
|||||||
private filepath;
|
private filepath;
|
||||||
protected httpConfig: IHttpConfig;
|
protected httpConfig: IHttpConfig;
|
||||||
constructor(logger: ILogger, vfs: VFS, jsonUtil: JsonUtil, localisationService: LocalisationService, databaseServer: DatabaseServer, imageRouter: ImageRouter, encodingUtil: EncodingUtil, hashUtil: HashUtil, importerUtil: ImporterUtil, configServer: ConfigServer);
|
constructor(logger: ILogger, vfs: VFS, jsonUtil: JsonUtil, localisationService: LocalisationService, databaseServer: DatabaseServer, imageRouter: ImageRouter, encodingUtil: EncodingUtil, hashUtil: HashUtil, importerUtil: ImporterUtil, configServer: ConfigServer);
|
||||||
|
/**
|
||||||
|
* Get path to aki data
|
||||||
|
* @returns path to data
|
||||||
|
*/
|
||||||
|
getSptDataPath(): string;
|
||||||
onLoad(): Promise<void>;
|
onLoad(): Promise<void>;
|
||||||
/**
|
/**
|
||||||
* Read all json files in database folder and map into a json object
|
* Read all json files in database folder and map into a json object
|
||||||
@ -39,7 +44,7 @@ export declare class DatabaseImporter implements OnLoad {
|
|||||||
* Find and map files with image router inside a designated path
|
* Find and map files with image router inside a designated path
|
||||||
* @param filepath Path to find files in
|
* @param filepath Path to find files in
|
||||||
*/
|
*/
|
||||||
loadImages(filepath: string, routes: string[]): void;
|
loadImages(filepath: string, directories: string[], routes: string[]): void;
|
||||||
/**
|
/**
|
||||||
* Check for a path override in the http json config file
|
* Check for a path override in the http json config file
|
||||||
* @param imagePath Key
|
* @param imagePath Key
|
||||||
|
Loading…
x
Reference in New Issue
Block a user