forked from CWX/ALT-Mods
WIP - Ready for testing
This commit is contained in:
parent
0ccced9915
commit
e308ac55ca
BIN
Ereshkigal-AkiConfig/dist/AKICONFIG README.pdf
vendored
Normal file
BIN
Ereshkigal-AkiConfig/dist/AKICONFIG README.pdf
vendored
Normal file
Binary file not shown.
64
Ereshkigal-AkiConfig/dist/README.md
vendored
Normal file
64
Ereshkigal-AkiConfig/dist/README.md
vendored
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
|
||||||
|
This project was created to automate most parts of building and setting up an environment.
|
||||||
|
|
||||||
|
## **NodeJS 14.15.3:**
|
||||||
|
|
||||||
|
The first step would be to install nodejs on your pc, the version you NEED is **14.15.3**
|
||||||
|
|
||||||
|
That version is the one that has been used to test the mod templates and build scripts.
|
||||||
|
|
||||||
|
It can be downloaded from here: https://nodejs.org/download/release/v14.15.3/
|
||||||
|
|
||||||
|
A system reboot may be needed after install.
|
||||||
|
|
||||||
|
## **IDE:**
|
||||||
|
|
||||||
|
The second step is having an IDE ready. For the currect purpose we've setup a VSCodium workspace file.
|
||||||
|
|
||||||
|
You CAN use Visual Studio Code if you so desire, just keep in mind that our dev tests on the mod files was done using VSCodium.
|
||||||
|
|
||||||
|
You can get VSCodium here: https://vscodium.com/#install
|
||||||
|
|
||||||
|
## **Workspace:**
|
||||||
|
|
||||||
|
Once you have NodeJS and VSCodium ready, open the mod.code-workspace file with VSCodium (File->Open Worspace from File...).
|
||||||
|
|
||||||
|
Once the project loads into VSCodium you will be recommended to install the ESLint plugin. This is HIGHLY recommended.
|
||||||
|
|
||||||
|
## **Environment Setup:**
|
||||||
|
|
||||||
|
There is a task that will automatically setup your environment to use typescript.
|
||||||
|
|
||||||
|
To run it, you just need to go to:
|
||||||
|
|
||||||
|
> Terminal->Run Task...->Show All Tasks...->npm: install
|
||||||
|
|
||||||
|
After running this task, your environment will be ready to start coding.
|
||||||
|
|
||||||
|
DO NOT remove the node_modules folder, this is an auto generated directory that has the required dependencies to be able to use typescript and more.
|
||||||
|
|
||||||
|
## **IMPORTANT:**
|
||||||
|
|
||||||
|
Before starting to work on your mod, we suggest you read about Dependency Injection and Inversion of Control as this is the adopted architecture SPT-AKI has adopted.
|
||||||
|
|
||||||
|
It will be difficult to understand some of the problems you may be having if you dont understand the basics of it.
|
||||||
|
|
||||||
|
A guide explaining all the essentials will be available on the hub on release for you to read about.
|
||||||
|
|
||||||
|
## **Coding:**
|
||||||
|
|
||||||
|
All your work should be centered around the mod.ts file as an entry point.
|
||||||
|
You can ONLY change the following properties from the package.json file: `"name"`, `"version"`, `"license"`: `"MIT"`, `"author"`, `"akiVersion"`.
|
||||||
|
|
||||||
|
If you have never used typescript before, you can read about it here: https://www.typescriptlang.org/docs/
|
||||||
|
|
||||||
|
## **Distributing your mod:**
|
||||||
|
|
||||||
|
The project has been set up with an automatic task that will copy and zip ALL required files for your mod to work on SPT-AKI.
|
||||||
|
To run this task you just need to go to:
|
||||||
|
|
||||||
|
> Terminal->Run Task...->Show All Tasks...->npm: build:zip
|
||||||
|
|
||||||
|
The output will be a mod.zip file that will appear on the root of the project.
|
||||||
|
|
||||||
|
Always verify that all files were included into the zip file.
|
335
Ereshkigal-AkiConfig/dist/config/config.json
vendored
Normal file
335
Ereshkigal-AkiConfig/dist/config/config.json
vendored
Normal file
@ -0,0 +1,335 @@
|
|||||||
|
{
|
||||||
|
"Server values": {
|
||||||
|
"HTTP": {
|
||||||
|
"ip": "127.0.0.1",
|
||||||
|
"port": 6969
|
||||||
|
},
|
||||||
|
"Health": {
|
||||||
|
"healthMultipliers": {
|
||||||
|
"death": 0.3,
|
||||||
|
"blacked": 0.1
|
||||||
|
},
|
||||||
|
"save": {
|
||||||
|
"health": true,
|
||||||
|
"effects": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Hideout": {
|
||||||
|
"runIntervalSeconds": 900,
|
||||||
|
"scavCase": {
|
||||||
|
"rewardParentBlacklist": [
|
||||||
|
"5485a8684bdc2da71d8b4567",
|
||||||
|
"543be5dd4bdc2deb348b4569"
|
||||||
|
],
|
||||||
|
"rewardItemBlacklist": [],
|
||||||
|
"ammoRewards": {
|
||||||
|
"giveMultipleOfTen": true,
|
||||||
|
"minAmount": 10
|
||||||
|
},
|
||||||
|
"moneyRewards": {
|
||||||
|
"enabled": false,
|
||||||
|
"rub": {
|
||||||
|
"min": 1000,
|
||||||
|
"max": 200000
|
||||||
|
},
|
||||||
|
"usd": {
|
||||||
|
"min": 100,
|
||||||
|
"max": 2000
|
||||||
|
},
|
||||||
|
"eur": {
|
||||||
|
"min": 100,
|
||||||
|
"max": 2000
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"fuelDrainRateMultipler": 1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Raids values": {
|
||||||
|
"Loot values": {
|
||||||
|
"looseLootMultiplier": {
|
||||||
|
"bigmap": 1,
|
||||||
|
"develop": 1,
|
||||||
|
"factory4_day": 1,
|
||||||
|
"factory4_night": 1,
|
||||||
|
"interchange": 1,
|
||||||
|
"laboratory": 1,
|
||||||
|
"rezervbase": 1,
|
||||||
|
"shoreline": 1,
|
||||||
|
"woods": 1,
|
||||||
|
"hideout": 0,
|
||||||
|
"lighthouse": 1,
|
||||||
|
"privatearea": 1,
|
||||||
|
"suburbs": 1,
|
||||||
|
"tarkovstreets": 1,
|
||||||
|
"terminal": 1,
|
||||||
|
"town": 1
|
||||||
|
},
|
||||||
|
"staticLootMultiplier": {
|
||||||
|
"bigmap": 1,
|
||||||
|
"develop": 1,
|
||||||
|
"factory4_day": 1,
|
||||||
|
"factory4_night": 1,
|
||||||
|
"interchange": 1,
|
||||||
|
"laboratory": 1,
|
||||||
|
"rezervbase": 1,
|
||||||
|
"shoreline": 1,
|
||||||
|
"woods": 1,
|
||||||
|
"hideout": 0,
|
||||||
|
"lighthouse": 1,
|
||||||
|
"privatearea": 1,
|
||||||
|
"suburbs": 1,
|
||||||
|
"tarkovstreets": 1,
|
||||||
|
"terminal": 1,
|
||||||
|
"town": 1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Airdrop values": {
|
||||||
|
"airdropChancePercent": {
|
||||||
|
"bigmap": 25,
|
||||||
|
"woods": 25,
|
||||||
|
"lighthouse": 25,
|
||||||
|
"shoreline": 25,
|
||||||
|
"interchange": 25,
|
||||||
|
"reserve": 25
|
||||||
|
},
|
||||||
|
"airdropMinStartTimeSeconds": 60,
|
||||||
|
"airdropMaxStartTimeSeconds": 300,
|
||||||
|
"airdropMinOpenHeight": 350,
|
||||||
|
"airdropMaxOpenHeight": 400,
|
||||||
|
"planeMinFlyHeight": 400,
|
||||||
|
"planeMaxFlyHeight": 500,
|
||||||
|
"planeVolume": 1
|
||||||
|
},
|
||||||
|
"MIAOnRaidEnd": false,
|
||||||
|
"raidMenuSettings": {
|
||||||
|
"aiAmount": "AsOnline",
|
||||||
|
"aiDifficulty": "AsOnline",
|
||||||
|
"bossEnabled": true,
|
||||||
|
"scavWars": false,
|
||||||
|
"taggedAndCursed": false
|
||||||
|
},
|
||||||
|
"save": {
|
||||||
|
"loot": true,
|
||||||
|
"durability": true
|
||||||
|
},
|
||||||
|
"carExtracts": [
|
||||||
|
"Dorms V-Ex",
|
||||||
|
"PP Exfil",
|
||||||
|
"V-Ex_light",
|
||||||
|
"South V-Ex"
|
||||||
|
],
|
||||||
|
"carExtractBaseStandingGain": 0.25,
|
||||||
|
"scavExtractGain": 0.01
|
||||||
|
},
|
||||||
|
"Traders values": {
|
||||||
|
"Traders": {
|
||||||
|
"updateTime": [
|
||||||
|
{
|
||||||
|
"traderId": "54cb50c76803fa8b248b4571",
|
||||||
|
"seconds": 3600
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"traderId": "54cb57776803fa99248b456e",
|
||||||
|
"seconds": 3600
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"traderId": "579dc571d53a0658a154fbec",
|
||||||
|
"seconds": 3600
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"traderId": "58330581ace78e27b8b10cee",
|
||||||
|
"seconds": 3600
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"traderId": "5935c25fb3acc3127c3d8cd9",
|
||||||
|
"seconds": 3600
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"traderId": "5a7c2eca46aef81a7ca2145d",
|
||||||
|
"seconds": 3600
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"traderId": "5ac3b934156ae10c4430e83c",
|
||||||
|
"seconds": 3600
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"traderId": "5c0647fdd443bc2504c2d371",
|
||||||
|
"seconds": 3600
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"traderId": "ragfair",
|
||||||
|
"seconds": 3600
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"updateTimeDefault": 3600,
|
||||||
|
"fenceAssortSize": 100,
|
||||||
|
"fenceMaxPresetsCount": 5,
|
||||||
|
"fencePresetPriceMult": 2.5,
|
||||||
|
"minDurabilityForSale": 60,
|
||||||
|
"fenceItemIgnoreList": [
|
||||||
|
"58ac60eb86f77401897560ff",
|
||||||
|
"59e8936686f77467ce798647",
|
||||||
|
"56e294cdd2720b603a8b4575",
|
||||||
|
"5661632d4bdc2d903d8b456b",
|
||||||
|
"543be5e94bdc2df1348b4568",
|
||||||
|
"543be6674bdc2df1348b4569",
|
||||||
|
"5448bf274bdc2dfc2f8b456a",
|
||||||
|
"543be5664bdc2dd4348b4569",
|
||||||
|
"5447bedf4bdc2d87278b4568"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"Repair": {
|
||||||
|
"priceMultiplier": 1
|
||||||
|
},
|
||||||
|
"Insurances": {
|
||||||
|
"insuranceMultiplier": {
|
||||||
|
"54cb50c76803fa8b248b4571": 0.16,
|
||||||
|
"54cb57776803fa99248b456e": 0.25
|
||||||
|
},
|
||||||
|
"returnChancePercent": {
|
||||||
|
"54cb50c76803fa8b248b4571": 80,
|
||||||
|
"54cb57776803fa99248b456e": 85
|
||||||
|
},
|
||||||
|
"runIntervalSeconds": 600
|
||||||
|
},
|
||||||
|
"Trading": {
|
||||||
|
"newItemsMarkedFound": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"FleaMarket configuration": {
|
||||||
|
"runIntervalSeconds": 60,
|
||||||
|
"sell": {
|
||||||
|
"fees": true,
|
||||||
|
"chance": {
|
||||||
|
"base": 50,
|
||||||
|
"overprices": 0.5,
|
||||||
|
"underpriced": 2
|
||||||
|
},
|
||||||
|
"time": {
|
||||||
|
"base": 15,
|
||||||
|
"min": 5,
|
||||||
|
"max": 15
|
||||||
|
},
|
||||||
|
"reputation": {
|
||||||
|
"gain": 2e-7,
|
||||||
|
"loss": 2e-7
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"traders": {
|
||||||
|
"EnablePraporOffers": true,
|
||||||
|
"EnableTheRapistOffers": true,
|
||||||
|
"EnableFenceOffers": false,
|
||||||
|
"EnableSkierOffers": true,
|
||||||
|
"EnablePeacekeeperOffers": true,
|
||||||
|
"EnableMechanicOffers": true,
|
||||||
|
"EnableRagmanOffers": true,
|
||||||
|
"EnableJaegerOffers": true,
|
||||||
|
"EnableAllAvailableOffers": false
|
||||||
|
},
|
||||||
|
"dynamic": {
|
||||||
|
"expiredOfferThreshold": 1500,
|
||||||
|
"offerItemCount": {
|
||||||
|
"min": 7,
|
||||||
|
"max": 15
|
||||||
|
},
|
||||||
|
"price": {
|
||||||
|
"min": 0.8,
|
||||||
|
"max": 1.2
|
||||||
|
},
|
||||||
|
"endTimeSeconds": {
|
||||||
|
"min": 180,
|
||||||
|
"max": 1800
|
||||||
|
},
|
||||||
|
"condition": {
|
||||||
|
"conditionChance": 0.2,
|
||||||
|
"min": 0.6,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"stackablePercent": {
|
||||||
|
"min": 10,
|
||||||
|
"max": 500
|
||||||
|
},
|
||||||
|
"nonStackableCount": {
|
||||||
|
"min": 1,
|
||||||
|
"max": 10
|
||||||
|
},
|
||||||
|
"rating": {
|
||||||
|
"min": 0.1,
|
||||||
|
"max": 0.95
|
||||||
|
},
|
||||||
|
"currencies": {
|
||||||
|
"5449016a4bdc2d6f028b456f": 75,
|
||||||
|
"5696686a4bdc2da3298b456a": 23,
|
||||||
|
"569668774bdc2da2298b4568": 2
|
||||||
|
},
|
||||||
|
"showAsSingleStack": [
|
||||||
|
"5422acb9af1c889c16000029",
|
||||||
|
"5448e54d4bdc2dcc718b4568",
|
||||||
|
"5795f317245977243854e041",
|
||||||
|
"5448e53e4bdc2d60728b4567",
|
||||||
|
"5448bf274bdc2dfc2f8b456a",
|
||||||
|
"543be5e94bdc2df1348b4568",
|
||||||
|
"5448f39d4bdc2d0a728b4568"
|
||||||
|
],
|
||||||
|
"blacklist": {
|
||||||
|
"custom": [
|
||||||
|
"5cdeb229d7f00c000e7ce174",
|
||||||
|
"5996f6d686f77467977ba6cc",
|
||||||
|
"5996f6cb86f774678763a6ca",
|
||||||
|
"5943d9c186f7745a13413ac9",
|
||||||
|
"5996f6fc86f7745e585b4de3",
|
||||||
|
"5cde8864d7f00c0010373be1",
|
||||||
|
"5d2f2ab648f03550091993ca"
|
||||||
|
],
|
||||||
|
"enableBsgList": true,
|
||||||
|
"enableQuestList": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Weather values": {
|
||||||
|
"acceleration": 2,
|
||||||
|
"weather": {
|
||||||
|
"clouds": {
|
||||||
|
"min": -1.5,
|
||||||
|
"max": 1.5
|
||||||
|
},
|
||||||
|
"windSpeed": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 3
|
||||||
|
},
|
||||||
|
"windDirection": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 3
|
||||||
|
},
|
||||||
|
"windGustiness": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"rain": {
|
||||||
|
"min": 1,
|
||||||
|
"max": 4
|
||||||
|
},
|
||||||
|
"rainIntensity": {
|
||||||
|
"min": 0.1,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"fog": {
|
||||||
|
"min": 0.001,
|
||||||
|
"max": 0.03
|
||||||
|
},
|
||||||
|
"temp": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 16
|
||||||
|
},
|
||||||
|
"pressure": {
|
||||||
|
"min": 760,
|
||||||
|
"max": 764
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"other": {
|
||||||
|
"hideWarningMessage": true,
|
||||||
|
"showModLogs": true
|
||||||
|
}
|
||||||
|
}
|
537
Ereshkigal-AkiConfig/dist/config/dailyConfig.json
vendored
Normal file
537
Ereshkigal-AkiConfig/dist/config/dailyConfig.json
vendored
Normal file
@ -0,0 +1,537 @@
|
|||||||
|
{
|
||||||
|
"redeemTime": 48,
|
||||||
|
"repeatableQuests": [
|
||||||
|
{
|
||||||
|
"name": "Daily",
|
||||||
|
"types": [
|
||||||
|
"Elimination",
|
||||||
|
"Completion",
|
||||||
|
"Exploration"
|
||||||
|
],
|
||||||
|
"resetTime": 86400,
|
||||||
|
"numQuests": 3,
|
||||||
|
"minPlayerLevel": 5,
|
||||||
|
"rewardScaling": {
|
||||||
|
"levels": [
|
||||||
|
1,
|
||||||
|
20,
|
||||||
|
45,
|
||||||
|
100
|
||||||
|
],
|
||||||
|
"experience": [
|
||||||
|
2000,
|
||||||
|
4000,
|
||||||
|
20000,
|
||||||
|
80000
|
||||||
|
],
|
||||||
|
"roubles": [
|
||||||
|
6000,
|
||||||
|
10000,
|
||||||
|
100000,
|
||||||
|
250000
|
||||||
|
],
|
||||||
|
"items": [
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
4,
|
||||||
|
4
|
||||||
|
],
|
||||||
|
"reputation": [
|
||||||
|
0.01,
|
||||||
|
0.01,
|
||||||
|
0.01,
|
||||||
|
0.01
|
||||||
|
],
|
||||||
|
"rewardSpread": 0.5
|
||||||
|
},
|
||||||
|
"locations": {
|
||||||
|
"any": [
|
||||||
|
"any"
|
||||||
|
],
|
||||||
|
"factory4_day": [
|
||||||
|
"factory4_day",
|
||||||
|
"factory4_night"
|
||||||
|
],
|
||||||
|
"bigmap": [
|
||||||
|
"bigmap"
|
||||||
|
],
|
||||||
|
"Woods": [
|
||||||
|
"Woods"
|
||||||
|
],
|
||||||
|
"Shoreline": [
|
||||||
|
"Shoreline"
|
||||||
|
],
|
||||||
|
"Interchange": [
|
||||||
|
"Interchange"
|
||||||
|
],
|
||||||
|
"Lighthouse": [
|
||||||
|
"Lighthouse"
|
||||||
|
],
|
||||||
|
"laboratory": [
|
||||||
|
"laboratory"
|
||||||
|
],
|
||||||
|
"RezervBase": [
|
||||||
|
"RezervBase"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"traderWhitelist": [
|
||||||
|
{
|
||||||
|
"traderId": "54cb50c76803fa8b248b4571",
|
||||||
|
"questTypes": [
|
||||||
|
"Completion",
|
||||||
|
"Exploration",
|
||||||
|
"Elimination"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"traderId": "54cb57776803fa99248b456e",
|
||||||
|
"questTypes": [
|
||||||
|
"Completion",
|
||||||
|
"Exploration",
|
||||||
|
"Elimination"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"traderId": "58330581ace78e27b8b10cee",
|
||||||
|
"questTypes": [
|
||||||
|
"Completion",
|
||||||
|
"Exploration",
|
||||||
|
"Elimination"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"traderId": "5935c25fb3acc3127c3d8cd9",
|
||||||
|
"questTypes": [
|
||||||
|
"Completion",
|
||||||
|
"Exploration",
|
||||||
|
"Elimination"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"traderId": "5a7c2eca46aef81a7ca2145d",
|
||||||
|
"questTypes": [
|
||||||
|
"Completion",
|
||||||
|
"Exploration"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"traderId": "5ac3b934156ae10c4430e83c",
|
||||||
|
"questTypes": [
|
||||||
|
"Completion",
|
||||||
|
"Exploration",
|
||||||
|
"Elimination"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"traderId": "5c0647fdd443bc2504c2d371",
|
||||||
|
"questTypes": [
|
||||||
|
"Completion",
|
||||||
|
"Exploration",
|
||||||
|
"Elimination"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"questConfig": {
|
||||||
|
"Exploration": {
|
||||||
|
"maxExtracts": 3,
|
||||||
|
"specificExits": {
|
||||||
|
"probability": 0.25,
|
||||||
|
"passageRequirementWhitelist": [
|
||||||
|
"None",
|
||||||
|
"TransferItem",
|
||||||
|
"WorldEvent",
|
||||||
|
"Train",
|
||||||
|
"Reference",
|
||||||
|
"Empty"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Completion": {
|
||||||
|
"minRequestedAmount": 1,
|
||||||
|
"maxRequestedAmount": 5,
|
||||||
|
"minRequestedBulletAmount": 20,
|
||||||
|
"maxRequestedBulletAmount": 60,
|
||||||
|
"useWhitelist": true,
|
||||||
|
"useBlacklist": false
|
||||||
|
},
|
||||||
|
"Elimination": {
|
||||||
|
"targets": [
|
||||||
|
{
|
||||||
|
"key": "Savage",
|
||||||
|
"relativeProbability": 7,
|
||||||
|
"data": {
|
||||||
|
"isBoss": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "AnyPmc",
|
||||||
|
"relativeProbability": 2,
|
||||||
|
"data": {
|
||||||
|
"isBoss": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "bossBully",
|
||||||
|
"relativeProbability": 0.5,
|
||||||
|
"data": {
|
||||||
|
"isBoss": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "bossGluhar",
|
||||||
|
"relativeProbability": 0.5,
|
||||||
|
"data": {
|
||||||
|
"isBoss": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "bossKilla",
|
||||||
|
"relativeProbability": 0.5,
|
||||||
|
"data": {
|
||||||
|
"isBoss": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "bossSanitar",
|
||||||
|
"relativeProbability": 0.5,
|
||||||
|
"data": {
|
||||||
|
"isBoss": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "bossTagilla",
|
||||||
|
"relativeProbability": 0.5,
|
||||||
|
"data": {
|
||||||
|
"isBoss": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "bossKojaniy",
|
||||||
|
"relativeProbability": 0.5,
|
||||||
|
"data": {
|
||||||
|
"isBoss": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"bodyPartProb": 0.4,
|
||||||
|
"bodyParts": [
|
||||||
|
{
|
||||||
|
"key": "Head",
|
||||||
|
"relativeProbability": 1,
|
||||||
|
"data": [
|
||||||
|
"Head"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "Stomach",
|
||||||
|
"relativeProbability": 3,
|
||||||
|
"data": [
|
||||||
|
"Stomach"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "Chest",
|
||||||
|
"relativeProbability": 5,
|
||||||
|
"data": [
|
||||||
|
"Chest"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "Arms",
|
||||||
|
"relativeProbability": 0.5,
|
||||||
|
"data": [
|
||||||
|
"LeftArm",
|
||||||
|
"RightArm"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "Legs",
|
||||||
|
"relativeProbability": 1,
|
||||||
|
"data": [
|
||||||
|
"LeftLeg",
|
||||||
|
"RightLeg"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"specificLocationProb": 0.25,
|
||||||
|
"distLocationBlacklist": [
|
||||||
|
"laboratory",
|
||||||
|
"factory4_day",
|
||||||
|
"factory4_night"
|
||||||
|
],
|
||||||
|
"distProb": 0.25,
|
||||||
|
"maxDist": 200,
|
||||||
|
"minDist": 20,
|
||||||
|
"maxKills": 5,
|
||||||
|
"minKills": 2
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Weekly",
|
||||||
|
"types": [
|
||||||
|
"Elimination",
|
||||||
|
"Completion",
|
||||||
|
"Exploration"
|
||||||
|
],
|
||||||
|
"resetTime": 604800,
|
||||||
|
"numQuests": 1,
|
||||||
|
"minPlayerLevel": 15,
|
||||||
|
"rewardScaling": {
|
||||||
|
"levels": [
|
||||||
|
1,
|
||||||
|
20,
|
||||||
|
45,
|
||||||
|
100
|
||||||
|
],
|
||||||
|
"experience": [
|
||||||
|
4000,
|
||||||
|
8000,
|
||||||
|
40000,
|
||||||
|
160000
|
||||||
|
],
|
||||||
|
"roubles": [
|
||||||
|
12000,
|
||||||
|
20000,
|
||||||
|
200000,
|
||||||
|
500000
|
||||||
|
],
|
||||||
|
"items": [
|
||||||
|
3,
|
||||||
|
3,
|
||||||
|
4,
|
||||||
|
4
|
||||||
|
],
|
||||||
|
"reputation": [
|
||||||
|
0.02,
|
||||||
|
0.03,
|
||||||
|
0.03,
|
||||||
|
0.03
|
||||||
|
],
|
||||||
|
"rewardSpread": 0.5
|
||||||
|
},
|
||||||
|
"locations": {
|
||||||
|
"any": [
|
||||||
|
"any"
|
||||||
|
],
|
||||||
|
"factory4_day": [
|
||||||
|
"factory4_day",
|
||||||
|
"factory4_night"
|
||||||
|
],
|
||||||
|
"bigmap": [
|
||||||
|
"bigmap"
|
||||||
|
],
|
||||||
|
"Woods": [
|
||||||
|
"Woods"
|
||||||
|
],
|
||||||
|
"Shoreline": [
|
||||||
|
"Shoreline"
|
||||||
|
],
|
||||||
|
"Interchange": [
|
||||||
|
"Interchange"
|
||||||
|
],
|
||||||
|
"Lighthouse": [
|
||||||
|
"Lighthouse"
|
||||||
|
],
|
||||||
|
"laboratory": [
|
||||||
|
"laboratory"
|
||||||
|
],
|
||||||
|
"RezervBase": [
|
||||||
|
"RezervBase"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"traderWhitelist": [
|
||||||
|
{
|
||||||
|
"traderId": "54cb50c76803fa8b248b4571",
|
||||||
|
"questTypes": [
|
||||||
|
"Completion",
|
||||||
|
"Exploration",
|
||||||
|
"Elimination"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"traderId": "54cb57776803fa99248b456e",
|
||||||
|
"questTypes": [
|
||||||
|
"Completion",
|
||||||
|
"Exploration",
|
||||||
|
"Elimination"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"traderId": "58330581ace78e27b8b10cee",
|
||||||
|
"questTypes": [
|
||||||
|
"Completion",
|
||||||
|
"Exploration",
|
||||||
|
"Elimination"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"traderId": "5935c25fb3acc3127c3d8cd9",
|
||||||
|
"questTypes": [
|
||||||
|
"Completion",
|
||||||
|
"Exploration",
|
||||||
|
"Elimination"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"traderId": "5a7c2eca46aef81a7ca2145d",
|
||||||
|
"questTypes": [
|
||||||
|
"Completion",
|
||||||
|
"Exploration"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"traderId": "5ac3b934156ae10c4430e83c",
|
||||||
|
"questTypes": [
|
||||||
|
"Completion",
|
||||||
|
"Exploration",
|
||||||
|
"Elimination"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"traderId": "5c0647fdd443bc2504c2d371",
|
||||||
|
"questTypes": [
|
||||||
|
"Completion",
|
||||||
|
"Exploration",
|
||||||
|
"Elimination"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"questConfig": {
|
||||||
|
"Exploration": {
|
||||||
|
"maxExtracts": 10,
|
||||||
|
"specificExits": {
|
||||||
|
"probability": 0.5,
|
||||||
|
"passageRequirementWhitelist": [
|
||||||
|
"None",
|
||||||
|
"TransferItem",
|
||||||
|
"WorldEvent",
|
||||||
|
"Train",
|
||||||
|
"Reference",
|
||||||
|
"Empty"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Completion": {
|
||||||
|
"minRequestedAmount": 2,
|
||||||
|
"maxRequestedAmount": 10,
|
||||||
|
"minRequestedBulletAmount": 20,
|
||||||
|
"maxRequestedBulletAmount": 60,
|
||||||
|
"useWhitelist": true,
|
||||||
|
"useBlacklist": false
|
||||||
|
},
|
||||||
|
"Elimination": {
|
||||||
|
"targets": [
|
||||||
|
{
|
||||||
|
"key": "Savage",
|
||||||
|
"relativeProbability": 7,
|
||||||
|
"data": {
|
||||||
|
"isBoss": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "AnyPmc",
|
||||||
|
"relativeProbability": 2,
|
||||||
|
"data": {
|
||||||
|
"isBoss": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "bossBully",
|
||||||
|
"relativeProbability": 0.5,
|
||||||
|
"data": {
|
||||||
|
"isBoss": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "bossGluhar",
|
||||||
|
"relativeProbability": 0.5,
|
||||||
|
"data": {
|
||||||
|
"isBoss": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "bossKilla",
|
||||||
|
"relativeProbability": 0.5,
|
||||||
|
"data": {
|
||||||
|
"isBoss": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "bossSanitar",
|
||||||
|
"relativeProbability": 0.5,
|
||||||
|
"data": {
|
||||||
|
"isBoss": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "bossTagilla",
|
||||||
|
"relativeProbability": 0.5,
|
||||||
|
"data": {
|
||||||
|
"isBoss": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "bossKojaniy",
|
||||||
|
"relativeProbability": 0.5,
|
||||||
|
"data": {
|
||||||
|
"isBoss": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"bodyPartProb": 0.4,
|
||||||
|
"bodyParts": [
|
||||||
|
{
|
||||||
|
"key": "Head",
|
||||||
|
"relativeProbability": 1,
|
||||||
|
"data": [
|
||||||
|
"Head"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "Stomach",
|
||||||
|
"relativeProbability": 3,
|
||||||
|
"data": [
|
||||||
|
"Stomach"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "Chest",
|
||||||
|
"relativeProbability": 5,
|
||||||
|
"data": [
|
||||||
|
"Chest"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "Arms",
|
||||||
|
"relativeProbability": 0.5,
|
||||||
|
"data": [
|
||||||
|
"LeftArm",
|
||||||
|
"RightArm"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "Legs",
|
||||||
|
"relativeProbability": 1,
|
||||||
|
"data": [
|
||||||
|
"LeftLeg",
|
||||||
|
"RightLeg"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"specificLocationProb": 0.25,
|
||||||
|
"distLocationBlacklist": [
|
||||||
|
"laboratory",
|
||||||
|
"factory4_day",
|
||||||
|
"factory4_night"
|
||||||
|
],
|
||||||
|
"distProb": 0.25,
|
||||||
|
"maxDist": 200,
|
||||||
|
"minDist": 20,
|
||||||
|
"maxKills": 15,
|
||||||
|
"minKills": 5
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
296
Ereshkigal-AkiConfig/dist/config/pmcConfig.json
vendored
Normal file
296
Ereshkigal-AkiConfig/dist/config/pmcConfig.json
vendored
Normal file
@ -0,0 +1,296 @@
|
|||||||
|
{
|
||||||
|
"presetBatch": {
|
||||||
|
"assault": 120,
|
||||||
|
"bossBully": 1,
|
||||||
|
"bossGluhar": 1,
|
||||||
|
"bossKilla": 1,
|
||||||
|
"bossKojaniy": 1,
|
||||||
|
"bossSanitar": 1,
|
||||||
|
"bossTagilla": 1,
|
||||||
|
"bossTest": 40,
|
||||||
|
"cursedAssault": 120,
|
||||||
|
"followerBully": 4,
|
||||||
|
"followerGluharAssault": 2,
|
||||||
|
"followerGluharScout": 2,
|
||||||
|
"followerGluharSecurity": 2,
|
||||||
|
"followerGluharSnipe": 2,
|
||||||
|
"followerKojaniy": 2,
|
||||||
|
"followerSanitar": 2,
|
||||||
|
"followerTagilla": 2,
|
||||||
|
"followerTest": 4,
|
||||||
|
"marksman": 30,
|
||||||
|
"pmcBot": 120,
|
||||||
|
"sectantPriest": 1,
|
||||||
|
"sectantWarrior": 5,
|
||||||
|
"gifter": 1,
|
||||||
|
"test": 40,
|
||||||
|
"exUsec": 15
|
||||||
|
},
|
||||||
|
"bosses": [
|
||||||
|
"bossbully",
|
||||||
|
"bossgluhar",
|
||||||
|
"bosskilla",
|
||||||
|
"bosskojaniy",
|
||||||
|
"bosssanitar",
|
||||||
|
"bosstagilla"
|
||||||
|
],
|
||||||
|
"durability": {
|
||||||
|
"default": {
|
||||||
|
"armor": {
|
||||||
|
"maxDelta": 10,
|
||||||
|
"minDelta": 0
|
||||||
|
},
|
||||||
|
"weapon": {
|
||||||
|
"lowestMax": 50,
|
||||||
|
"highestMax": 100,
|
||||||
|
"maxDelta": 10,
|
||||||
|
"minDelta": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pmc": {
|
||||||
|
"armor": {
|
||||||
|
"lowestMaxPercent": 90,
|
||||||
|
"highestMaxPercent": 100,
|
||||||
|
"maxDelta": 10,
|
||||||
|
"minDelta": 0
|
||||||
|
},
|
||||||
|
"weapon": {
|
||||||
|
"lowestMax": 95,
|
||||||
|
"highestMax": 100,
|
||||||
|
"maxDelta": 5,
|
||||||
|
"minDelta": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"boss": {
|
||||||
|
"armor": {
|
||||||
|
"maxDelta": 10,
|
||||||
|
"minDelta": 0
|
||||||
|
},
|
||||||
|
"weapon": {
|
||||||
|
"lowestMax": 80,
|
||||||
|
"highestMax": 100,
|
||||||
|
"maxDelta": 10,
|
||||||
|
"minDelta": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"follower": {
|
||||||
|
"armor": {
|
||||||
|
"maxDelta": 10,
|
||||||
|
"minDelta": 0
|
||||||
|
},
|
||||||
|
"weapon": {
|
||||||
|
"lowestMax": 80,
|
||||||
|
"highestMax": 100,
|
||||||
|
"maxDelta": 10,
|
||||||
|
"minDelta": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"assault": {
|
||||||
|
"armor": {
|
||||||
|
"maxDelta": 10,
|
||||||
|
"minDelta": 0
|
||||||
|
},
|
||||||
|
"weapon": {
|
||||||
|
"lowestMax": 48,
|
||||||
|
"highestMax": 70,
|
||||||
|
"maxDelta": 10,
|
||||||
|
"minDelta": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"cursedassault": {
|
||||||
|
"armor": {
|
||||||
|
"maxDelta": 10,
|
||||||
|
"minDelta": 0
|
||||||
|
},
|
||||||
|
"weapon": {
|
||||||
|
"lowestMax": 50,
|
||||||
|
"highestMax": 70,
|
||||||
|
"maxDelta": 10,
|
||||||
|
"minDelta": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"marksman": {
|
||||||
|
"armor": {
|
||||||
|
"maxDelta": 10,
|
||||||
|
"minDelta": 0
|
||||||
|
},
|
||||||
|
"weapon": {
|
||||||
|
"lowestMax": 50,
|
||||||
|
"highestMax": 70,
|
||||||
|
"maxDelta": 10,
|
||||||
|
"minDelta": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pmcbot": {
|
||||||
|
"armor": {
|
||||||
|
"maxDelta": 10,
|
||||||
|
"minDelta": 0
|
||||||
|
},
|
||||||
|
"weapon": {
|
||||||
|
"lowestMax": 80,
|
||||||
|
"highestMax": 100,
|
||||||
|
"maxDelta": 10,
|
||||||
|
"minDelta": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exusec": {
|
||||||
|
"armor": {
|
||||||
|
"maxDelta": 10,
|
||||||
|
"minDelta": 0
|
||||||
|
},
|
||||||
|
"weapon": {
|
||||||
|
"lowestMax": 79,
|
||||||
|
"highestMax": 100,
|
||||||
|
"maxDelta": 10,
|
||||||
|
"minDelta": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sectantpriest": {
|
||||||
|
"armor": {
|
||||||
|
"maxDelta": 10,
|
||||||
|
"minDelta": 0
|
||||||
|
},
|
||||||
|
"weapon": {
|
||||||
|
"lowestMax": 90,
|
||||||
|
"highestMax": 100,
|
||||||
|
"maxDelta": 10,
|
||||||
|
"minDelta": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sectantwarrior": {
|
||||||
|
"armor": {
|
||||||
|
"maxDelta": 10,
|
||||||
|
"minDelta": 0
|
||||||
|
},
|
||||||
|
"weapon": {
|
||||||
|
"lowestMax": 90,
|
||||||
|
"highestMax": 100,
|
||||||
|
"maxDelta": 10,
|
||||||
|
"minDelta": 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"lootNValue": {
|
||||||
|
"scav": 3,
|
||||||
|
"pmc": 1.8
|
||||||
|
},
|
||||||
|
"pmc": {
|
||||||
|
"dynamicLoot": {
|
||||||
|
"whitelist": [
|
||||||
|
"57864a3d24597754843f8721",
|
||||||
|
"57864a66245977548f04a81f",
|
||||||
|
"57864ada245977548638de91",
|
||||||
|
"57864bb7245977548b3b66c2",
|
||||||
|
"57864c322459775490116fbf",
|
||||||
|
"57864c8c245977548867e7f1",
|
||||||
|
"57864e4c24597754843f8723",
|
||||||
|
"57864ee62459775490116fc1",
|
||||||
|
"5c164d2286f774194c5e69fa",
|
||||||
|
"5c99f98d86f7745c314214b3",
|
||||||
|
"55818add4bdc2d5b648b456f",
|
||||||
|
"55818ad54bdc2ddc698b4569",
|
||||||
|
"55818aeb4bdc2ddc698b456a",
|
||||||
|
"55818ae44bdc2dde698b456c",
|
||||||
|
"55818b164bdc2ddc698b456c",
|
||||||
|
"5448bc234bdc2d3c308b4569",
|
||||||
|
"5447e1d04bdc2dff2f8b4567",
|
||||||
|
"5448eb774bdc2d0a728b4567",
|
||||||
|
"550aa4cd4bdc2dd8348b456c",
|
||||||
|
"55818af64bdc2d5b648b4570",
|
||||||
|
"5448ecbe4bdc2d60728b4568",
|
||||||
|
"5448e8d04bdc2ddf718b4569",
|
||||||
|
"5d650c3e815116009f6201d2",
|
||||||
|
"5448e8d64bdc2dce718b4568",
|
||||||
|
"5448f3a14bdc2d27728b4569",
|
||||||
|
"5448e54d4bdc2dcc718b4568",
|
||||||
|
"5448f3a64bdc2d60728b456a",
|
||||||
|
"543be5cb4bdc2deb348b4568",
|
||||||
|
"5485a8684bdc2da71d8b4567",
|
||||||
|
"543be5dd4bdc2deb348b4569",
|
||||||
|
"590c745b86f7743cc433c5f2",
|
||||||
|
"5448f39d4bdc2d0a728b4568",
|
||||||
|
"543be6564bdc2df4348b4568"
|
||||||
|
],
|
||||||
|
"blacklist": [
|
||||||
|
"5fca13ca637ee0341a484f46",
|
||||||
|
"59f32c3b86f77472a31742f0",
|
||||||
|
"59f32bb586f774757e1e8442",
|
||||||
|
"617aa4dd8166f034d57de9c5",
|
||||||
|
"5a2a57cfc4a2826c6e06d44a",
|
||||||
|
"619256e5f8af2c1a4e1f5d92",
|
||||||
|
"5a0c27731526d80618476ac4"
|
||||||
|
],
|
||||||
|
"spawnLimits": {
|
||||||
|
"5c99f98d86f7745c314214b3": 1,
|
||||||
|
"5c164d2286f774194c5e69fa": 1,
|
||||||
|
"550aa4cd4bdc2dd8348b456c": 2,
|
||||||
|
"55818add4bdc2d5b648b456f": 1,
|
||||||
|
"55818ad54bdc2ddc698b4569": 1,
|
||||||
|
"55818aeb4bdc2ddc698b456a": 1,
|
||||||
|
"55818ae44bdc2dde698b456c": 1,
|
||||||
|
"55818af64bdc2d5b648b4570": 1,
|
||||||
|
"5448e54d4bdc2dcc718b4568": 1,
|
||||||
|
"5448f3a64bdc2d60728b456a": 2,
|
||||||
|
"5447e1d04bdc2dff2f8b4567": 1,
|
||||||
|
"5a341c4686f77469e155819e": 1,
|
||||||
|
"55818b164bdc2ddc698b456c": 2,
|
||||||
|
"5448bc234bdc2d3c308b4569": 2,
|
||||||
|
"543be5dd4bdc2deb348b4569": 2,
|
||||||
|
"543be5cb4bdc2deb348b4568": 2,
|
||||||
|
"5485a8684bdc2da71d8b4567": 2,
|
||||||
|
"5d650c3e815116009f6201d2": 2,
|
||||||
|
"5448f39d4bdc2d0a728b4568": 2,
|
||||||
|
"543be6564bdc2df4348b4568": 1
|
||||||
|
},
|
||||||
|
"moneyStackLimits": {
|
||||||
|
"5449016a4bdc2d6f028b456f": 4000,
|
||||||
|
"5696686a4bdc2da3298b456a": 50,
|
||||||
|
"569668774bdc2da2298b4568": 50
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"cartridgeBlacklist": [
|
||||||
|
"56dff421d2720b5f5a8b4567",
|
||||||
|
"56dff216d2720bbd668b4568",
|
||||||
|
"56dff338d2720bbd668b4569",
|
||||||
|
"56dff4ecd2720b5f5a8b4568",
|
||||||
|
"59e6918f86f7746c9f75e849",
|
||||||
|
"5c0d5ae286f7741e46554302",
|
||||||
|
"5c0d56a986f774449d5de529",
|
||||||
|
"5efb0e16aeb21837e749c7ff",
|
||||||
|
"5737218f245977612125ba51",
|
||||||
|
"57372140245977611f70ee91",
|
||||||
|
"57371aab2459775a77142f22",
|
||||||
|
"573719762459775a626ccbc1",
|
||||||
|
"573601b42459776410737435",
|
||||||
|
"573602322459776445391df1",
|
||||||
|
"59e4d3d286f774176a36250a",
|
||||||
|
"5e023e88277cce2b522ff2b1",
|
||||||
|
"59e6658b86f77411d949b250",
|
||||||
|
"5c0d591486f7744c505b416f",
|
||||||
|
"5d6e68d1a4b93622fe60e845",
|
||||||
|
"5d6e6869a4b9361c140bcfde",
|
||||||
|
"5e85a9f4add9fe03027d9bf1",
|
||||||
|
"5cadf6e5ae921500113bb973",
|
||||||
|
"5cadf6ddae9215051e1c23b2",
|
||||||
|
"6196365d58ef8c428c287da1",
|
||||||
|
"5ba26812d4351e003201fef1",
|
||||||
|
"5cc80f79e4a949033c7343b2"
|
||||||
|
],
|
||||||
|
"difficulty": "AsOnline",
|
||||||
|
"isUsec": 50,
|
||||||
|
"chanceSameSideIsHostilePercent": 50,
|
||||||
|
"usecType": "bosstest",
|
||||||
|
"bearType": "test",
|
||||||
|
"maxBackpackLootTotalRub": 150000,
|
||||||
|
"maxPocketLootTotalRub": 50000,
|
||||||
|
"maxVestLootTotalRub": 50000,
|
||||||
|
"types": {
|
||||||
|
"assault": 25,
|
||||||
|
"cursedAssault": 25,
|
||||||
|
"pmcBot": 25,
|
||||||
|
"exUsec": 10
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"showTypeInNickname": false,
|
||||||
|
"maxBotCap": 20
|
||||||
|
}
|
4
Ereshkigal-AkiConfig/dist/locale/DailyLocale.json
vendored
Normal file
4
Ereshkigal-AkiConfig/dist/locale/DailyLocale.json
vendored
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"redeemTime": "",
|
||||||
|
"repeatableQuests": ""
|
||||||
|
}
|
195
Ereshkigal-AkiConfig/dist/locale/PmcLocale.json
vendored
Normal file
195
Ereshkigal-AkiConfig/dist/locale/PmcLocale.json
vendored
Normal file
@ -0,0 +1,195 @@
|
|||||||
|
{
|
||||||
|
"presetBatch": {
|
||||||
|
"assault": "",
|
||||||
|
"bossBully": "",
|
||||||
|
"bossGluhar": "",
|
||||||
|
"bossKilla": "",
|
||||||
|
"bossKojaniy": "",
|
||||||
|
"bossSanitar": "",
|
||||||
|
"bossTagilla": "",
|
||||||
|
"bossTest": "",
|
||||||
|
"cursedAssault": "",
|
||||||
|
"followerBully": "",
|
||||||
|
"followerGluharAssault": "",
|
||||||
|
"followerGluharScout": "",
|
||||||
|
"followerGluharSecurity": "",
|
||||||
|
"followerGluharSnipe": "",
|
||||||
|
"followerKojaniy": "",
|
||||||
|
"followerSanitar": "",
|
||||||
|
"followerTagilla": "",
|
||||||
|
"followerTest": "",
|
||||||
|
"marksman": "",
|
||||||
|
"pmcBot": "",
|
||||||
|
"sectantPriest": "",
|
||||||
|
"sectantWarrior": "",
|
||||||
|
"gifter": "",
|
||||||
|
"test": "",
|
||||||
|
"exUsec": ""
|
||||||
|
},
|
||||||
|
"bosses": "",
|
||||||
|
"durability": {
|
||||||
|
"default": {
|
||||||
|
"armor": {
|
||||||
|
"maxDelta": "",
|
||||||
|
"minDelta": ""
|
||||||
|
},
|
||||||
|
"weapon": {
|
||||||
|
"lowestMax": "",
|
||||||
|
"highestMax": "",
|
||||||
|
"maxDelta": "",
|
||||||
|
"minDelta": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pmc": {
|
||||||
|
"armor": {
|
||||||
|
"lowestMaxPercent": "",
|
||||||
|
"highestMaxPercent": "",
|
||||||
|
"maxDelta": "",
|
||||||
|
"minDelta": ""
|
||||||
|
},
|
||||||
|
"weapon": {
|
||||||
|
"lowestMax": "",
|
||||||
|
"highestMax": "",
|
||||||
|
"maxDelta": "",
|
||||||
|
"minDelta": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"boss": {
|
||||||
|
"armor": {
|
||||||
|
"maxDelta": "",
|
||||||
|
"minDelta": ""
|
||||||
|
},
|
||||||
|
"weapon": {
|
||||||
|
"lowestMax": "",
|
||||||
|
"highestMax": "",
|
||||||
|
"maxDelta": "",
|
||||||
|
"minDelta": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"follower": {
|
||||||
|
"armor": {
|
||||||
|
"maxDelta": "",
|
||||||
|
"minDelta": ""
|
||||||
|
},
|
||||||
|
"weapon": {
|
||||||
|
"lowestMax": "",
|
||||||
|
"highestMax": "",
|
||||||
|
"maxDelta": "",
|
||||||
|
"minDelta": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"assault": {
|
||||||
|
"armor": {
|
||||||
|
"maxDelta": "",
|
||||||
|
"minDelta": ""
|
||||||
|
},
|
||||||
|
"weapon": {
|
||||||
|
"lowestMax": "",
|
||||||
|
"highestMax": "",
|
||||||
|
"maxDelta": "",
|
||||||
|
"minDelta": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"cursedassault": {
|
||||||
|
"armor": {
|
||||||
|
"maxDelta": "",
|
||||||
|
"minDelta": ""
|
||||||
|
},
|
||||||
|
"weapon": {
|
||||||
|
"lowestMax": "",
|
||||||
|
"highestMax": "",
|
||||||
|
"maxDelta": "",
|
||||||
|
"minDelta": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"marksman": {
|
||||||
|
"armor": {
|
||||||
|
"maxDelta": "",
|
||||||
|
"minDelta": ""
|
||||||
|
},
|
||||||
|
"weapon": {
|
||||||
|
"lowestMax": "",
|
||||||
|
"highestMax": "",
|
||||||
|
"maxDelta": "",
|
||||||
|
"minDelta": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pmcbot": {
|
||||||
|
"armor": {
|
||||||
|
"maxDelta": "",
|
||||||
|
"minDelta": ""
|
||||||
|
},
|
||||||
|
"weapon": {
|
||||||
|
"lowestMax": "",
|
||||||
|
"highestMax": "",
|
||||||
|
"maxDelta": "",
|
||||||
|
"minDelta": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exusec": {
|
||||||
|
"armor": {
|
||||||
|
"maxDelta": "",
|
||||||
|
"minDelta": ""
|
||||||
|
},
|
||||||
|
"weapon": {
|
||||||
|
"lowestMax": "",
|
||||||
|
"highestMax": "",
|
||||||
|
"maxDelta": "",
|
||||||
|
"minDelta": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sectantpriest": {
|
||||||
|
"armor": {
|
||||||
|
"maxDelta": "",
|
||||||
|
"minDelta": ""
|
||||||
|
},
|
||||||
|
"weapon": {
|
||||||
|
"lowestMax": "",
|
||||||
|
"highestMax": "",
|
||||||
|
"maxDelta": "",
|
||||||
|
"minDelta": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sectantwarrior": {
|
||||||
|
"armor": {
|
||||||
|
"maxDelta": "",
|
||||||
|
"minDelta": ""
|
||||||
|
},
|
||||||
|
"weapon": {
|
||||||
|
"lowestMax": "",
|
||||||
|
"highestMax": "",
|
||||||
|
"maxDelta": "",
|
||||||
|
"minDelta": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"lootNValue": {
|
||||||
|
"scav": "",
|
||||||
|
"pmc": ""
|
||||||
|
},
|
||||||
|
"pmc": {
|
||||||
|
"dynamicLoot": {
|
||||||
|
"whitelist": "",
|
||||||
|
"blacklist": "",
|
||||||
|
"spawnLimits": "",
|
||||||
|
"moneyStackLimits": ""
|
||||||
|
},
|
||||||
|
"cartridgeBlacklist": "",
|
||||||
|
"difficulty": "",
|
||||||
|
"isUsec": "",
|
||||||
|
"chanceSameSideIsHostilePercent": "",
|
||||||
|
"usecType": "",
|
||||||
|
"bearType": "",
|
||||||
|
"maxBackpackLootTotalRub": "",
|
||||||
|
"maxPocketLootTotalRub": "",
|
||||||
|
"maxVestLootTotalRub": "",
|
||||||
|
"types": {
|
||||||
|
"assault": "",
|
||||||
|
"cursedAssault": "",
|
||||||
|
"pmcBot": "",
|
||||||
|
"exUsec": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"showTypeInNickname": "",
|
||||||
|
"maxBotCap": ""
|
||||||
|
}
|
254
Ereshkigal-AkiConfig/dist/locale/locale.json
vendored
Normal file
254
Ereshkigal-AkiConfig/dist/locale/locale.json
vendored
Normal file
@ -0,0 +1,254 @@
|
|||||||
|
{
|
||||||
|
"Server values": {
|
||||||
|
"HTTP": {
|
||||||
|
"ip": "",
|
||||||
|
"port": ""
|
||||||
|
},
|
||||||
|
"Health": {
|
||||||
|
"healthMultipliers": {
|
||||||
|
"death": "",
|
||||||
|
"blacked": ""
|
||||||
|
},
|
||||||
|
"save": {
|
||||||
|
"health": "",
|
||||||
|
"effects": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Hideout": {
|
||||||
|
"runIntervalSeconds": "",
|
||||||
|
"scavCase": {
|
||||||
|
"rewardParentBlacklist": "",
|
||||||
|
"rewardItemBlacklist": "",
|
||||||
|
"ammoRewards": {
|
||||||
|
"giveMultipleOfTen": "",
|
||||||
|
"minAmount": ""
|
||||||
|
},
|
||||||
|
"moneyRewards": {
|
||||||
|
"enabled": "",
|
||||||
|
"rub": {
|
||||||
|
"min": "",
|
||||||
|
"max": ""
|
||||||
|
},
|
||||||
|
"usd": {
|
||||||
|
"min": "",
|
||||||
|
"max": ""
|
||||||
|
},
|
||||||
|
"eur": {
|
||||||
|
"min": "",
|
||||||
|
"max": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"enableChristmasGifts": ""
|
||||||
|
},
|
||||||
|
"Raids values": {
|
||||||
|
"Loot values": {
|
||||||
|
"looseLootMultiplier": {
|
||||||
|
"bigmap": "",
|
||||||
|
"develop": "",
|
||||||
|
"factory4day": "",
|
||||||
|
"factory4night": "",
|
||||||
|
"interchange": "",
|
||||||
|
"laboratory": "",
|
||||||
|
"rezervbase": "",
|
||||||
|
"shoreline": "",
|
||||||
|
"woods": "",
|
||||||
|
"hideout": "",
|
||||||
|
"lighthouse": "",
|
||||||
|
"privatearea": "",
|
||||||
|
"suburbs": "",
|
||||||
|
"tarkovstreets": "",
|
||||||
|
"terminal": "",
|
||||||
|
"town": ""
|
||||||
|
},
|
||||||
|
"staticLootMultiplier": {
|
||||||
|
"bigmap": "",
|
||||||
|
"develop": "",
|
||||||
|
"factory4day": "",
|
||||||
|
"factory4night": "",
|
||||||
|
"interchange": "",
|
||||||
|
"laboratory": "",
|
||||||
|
"rezervbase": "",
|
||||||
|
"shoreline": "",
|
||||||
|
"woods": "",
|
||||||
|
"hideout": "",
|
||||||
|
"lighthouse": "",
|
||||||
|
"privatearea": "",
|
||||||
|
"suburbs": "",
|
||||||
|
"tarkovstreets": "",
|
||||||
|
"terminal": "",
|
||||||
|
"town": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Airdrop values": {
|
||||||
|
"airdropChancePercent": {
|
||||||
|
"bigmap": "",
|
||||||
|
"woods": "",
|
||||||
|
"lighthouse": "",
|
||||||
|
"shoreline": "",
|
||||||
|
"interchange": "",
|
||||||
|
"reserve": ""
|
||||||
|
},
|
||||||
|
"airdropMinStartTimeSeconds": "",
|
||||||
|
"airdropMaxStartTimeSeconds": "",
|
||||||
|
"airdropMinOpenHeight": "",
|
||||||
|
"airdropMaxOpenHeight": "",
|
||||||
|
"planeMinFlyHeight": "",
|
||||||
|
"planeMaxFlyHeight": "",
|
||||||
|
"planeVolume": ""
|
||||||
|
},
|
||||||
|
"MIAOnRaidEnd": "",
|
||||||
|
"raidMenuSettings": {
|
||||||
|
"aiAmount": "",
|
||||||
|
"aiDifficulty": "",
|
||||||
|
"bossEnabled": "",
|
||||||
|
"scavWars": "",
|
||||||
|
"taggedAndCursed": ""
|
||||||
|
},
|
||||||
|
"save": {
|
||||||
|
"loot": "",
|
||||||
|
"durability": ""
|
||||||
|
},
|
||||||
|
"carExtracts": "",
|
||||||
|
"carExtractBaseStandingGain": "",
|
||||||
|
"scavExtractGain": ""
|
||||||
|
},
|
||||||
|
"Traders values": {
|
||||||
|
"Traders": {
|
||||||
|
"updateTime": "",
|
||||||
|
"updateTimeDefault": "",
|
||||||
|
"fenceAssortSize": "",
|
||||||
|
"fenceMaxPresetsCount": "",
|
||||||
|
"fencePresetPriceMult": "",
|
||||||
|
"minDurabilityForSale": "",
|
||||||
|
"fenceItemIgnoreList": ""
|
||||||
|
},
|
||||||
|
"Repair": {
|
||||||
|
"priceMultiplier": ""
|
||||||
|
},
|
||||||
|
"Insurances": {
|
||||||
|
"insuranceMultiplier": "",
|
||||||
|
"returnChancePercent": "",
|
||||||
|
"runIntervalSeconds": ""
|
||||||
|
},
|
||||||
|
"Trading": {
|
||||||
|
"newItemsMarkedFound": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"FleaMarket configuration": {
|
||||||
|
"runIntervalSeconds": "",
|
||||||
|
"sell": {
|
||||||
|
"fees": "",
|
||||||
|
"chance": {
|
||||||
|
"base": "",
|
||||||
|
"overprices": "",
|
||||||
|
"underpriced": ""
|
||||||
|
},
|
||||||
|
"time": {
|
||||||
|
"base": "",
|
||||||
|
"min": "",
|
||||||
|
"max": ""
|
||||||
|
},
|
||||||
|
"reputation": {
|
||||||
|
"gain": "",
|
||||||
|
"loss": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"traders": {
|
||||||
|
"EnablePraporOffers": "",
|
||||||
|
"EnableTheRapistOffers": "",
|
||||||
|
"EnableFenceOffers": "",
|
||||||
|
"EnableSkierOffers": "",
|
||||||
|
"EnablePeacekeeperOffers": "",
|
||||||
|
"EnableMechanicOffers": "",
|
||||||
|
"EnableRagmanOffers": "",
|
||||||
|
"EnableJaegerOffers": "",
|
||||||
|
"EnableAllAvailableOffers": ""
|
||||||
|
},
|
||||||
|
"dynamic": {
|
||||||
|
"expiredOfferThreshold": "",
|
||||||
|
"offerItemCount": {
|
||||||
|
"min": "",
|
||||||
|
"max": ""
|
||||||
|
},
|
||||||
|
"price": {
|
||||||
|
"min": "",
|
||||||
|
"max": ""
|
||||||
|
},
|
||||||
|
"endTimeSeconds": {
|
||||||
|
"min": "",
|
||||||
|
"max": ""
|
||||||
|
},
|
||||||
|
"condition": {
|
||||||
|
"conditionChance": "",
|
||||||
|
"min": "",
|
||||||
|
"max": ""
|
||||||
|
},
|
||||||
|
"stackablePercent": {
|
||||||
|
"min": "",
|
||||||
|
"max": ""
|
||||||
|
},
|
||||||
|
"nonStackableCount": {
|
||||||
|
"min": "",
|
||||||
|
"max": ""
|
||||||
|
},
|
||||||
|
"rating": {
|
||||||
|
"min": "",
|
||||||
|
"max": ""
|
||||||
|
},
|
||||||
|
"currencies": "",
|
||||||
|
"showAsSingleStack": "",
|
||||||
|
"blacklist": {
|
||||||
|
"custom": "",
|
||||||
|
"enableBsgList": "",
|
||||||
|
"enableQuestList": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Weather values": {
|
||||||
|
"acceleration": "",
|
||||||
|
"weather": {
|
||||||
|
"clouds": {
|
||||||
|
"min": "",
|
||||||
|
"max": ""
|
||||||
|
},
|
||||||
|
"windSpeed": {
|
||||||
|
"min": "",
|
||||||
|
"max": ""
|
||||||
|
},
|
||||||
|
"windDirection": {
|
||||||
|
"min": "",
|
||||||
|
"max": ""
|
||||||
|
},
|
||||||
|
"windGustiness": {
|
||||||
|
"min": "",
|
||||||
|
"max": ""
|
||||||
|
},
|
||||||
|
"rain": {
|
||||||
|
"min": "",
|
||||||
|
"max": ""
|
||||||
|
},
|
||||||
|
"rainIntensity": {
|
||||||
|
"min": "",
|
||||||
|
"max": ""
|
||||||
|
},
|
||||||
|
"fog": {
|
||||||
|
"min": "",
|
||||||
|
"max": ""
|
||||||
|
},
|
||||||
|
"temp": {
|
||||||
|
"min": "",
|
||||||
|
"max": ""
|
||||||
|
},
|
||||||
|
"pressure": {
|
||||||
|
"min": "",
|
||||||
|
"max": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"other": {
|
||||||
|
"hideWarningMessage": "",
|
||||||
|
"showModLogs": ""
|
||||||
|
}
|
||||||
|
}
|
289
Ereshkigal-AkiConfig/dist/models/IConfig.ts
vendored
Normal file
289
Ereshkigal-AkiConfig/dist/models/IConfig.ts
vendored
Normal file
@ -0,0 +1,289 @@
|
|||||||
|
export interface HTTP
|
||||||
|
{
|
||||||
|
ip: string;
|
||||||
|
port: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface HealthMultipliers
|
||||||
|
{
|
||||||
|
death: number;
|
||||||
|
blacked: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface HealthSave
|
||||||
|
{
|
||||||
|
health: boolean;
|
||||||
|
effects: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Health
|
||||||
|
{
|
||||||
|
healthMultipliers: HealthMultipliers;
|
||||||
|
save: HealthSave;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface AmmoRewards
|
||||||
|
{
|
||||||
|
giveMultipleOfTen: boolean;
|
||||||
|
minAmount: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface MinMax
|
||||||
|
{
|
||||||
|
min: number;
|
||||||
|
max: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface MoneyRewards
|
||||||
|
{
|
||||||
|
enabled: boolean;
|
||||||
|
rub: MinMax;
|
||||||
|
usd: MinMax;
|
||||||
|
eur: MinMax
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface ScavCase
|
||||||
|
{
|
||||||
|
rewardParentBlacklist: any;
|
||||||
|
rewardItemBlacklist: any;
|
||||||
|
ammoRewards: AmmoRewards;
|
||||||
|
moneyRewards: MoneyRewards;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Hideout
|
||||||
|
{
|
||||||
|
runIntervalSeconds: number;
|
||||||
|
scavCase: ScavCase;
|
||||||
|
fuelDrainRateMultipler: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface LootMultiplier
|
||||||
|
{
|
||||||
|
bigmap: number;
|
||||||
|
develop: number;
|
||||||
|
factory4day: number;
|
||||||
|
factory4night: number;
|
||||||
|
interchange: number;
|
||||||
|
laboratory: number;
|
||||||
|
rezervbase: number;
|
||||||
|
shoreline: number;
|
||||||
|
woods: number;
|
||||||
|
hideout: number;
|
||||||
|
lighthouse: number;
|
||||||
|
privatearea: number;
|
||||||
|
suburbs: number;
|
||||||
|
tarkovstreets: number;
|
||||||
|
terminal: number;
|
||||||
|
town: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface LootValues
|
||||||
|
{
|
||||||
|
looseLootMultiplier: LootMultiplier;
|
||||||
|
staticLootMultiplier: LootMultiplier;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface AirdropChancePercent
|
||||||
|
{
|
||||||
|
bigmap: number;
|
||||||
|
woods: number;
|
||||||
|
lighthouse: number;
|
||||||
|
shoreline: number;
|
||||||
|
interchange: number;
|
||||||
|
reserve: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface AirdropValues
|
||||||
|
{
|
||||||
|
airdropChancePercent: AirdropChancePercent;
|
||||||
|
airdropMinOpenHeight: number;
|
||||||
|
airdropMaxOpenHeight: number;
|
||||||
|
planeMinFlyHeight: number;
|
||||||
|
planeMaxFlyHeight: number;
|
||||||
|
planeVolume: number;
|
||||||
|
airdropMinStartTimeSeconds: number;
|
||||||
|
airdropMaxStartTimeSeconds: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface RaidMenuSettings
|
||||||
|
{
|
||||||
|
aiAmount: string;
|
||||||
|
aiDifficulty: string;
|
||||||
|
bossEnabled: boolean;
|
||||||
|
scavWars: boolean;
|
||||||
|
taggedAndCursed: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface RaidsValuesSave
|
||||||
|
{
|
||||||
|
loot: boolean;
|
||||||
|
durability: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Traders
|
||||||
|
{
|
||||||
|
updateTime: any;
|
||||||
|
updateTimeDefault: number;
|
||||||
|
fenceAssortSize: number;
|
||||||
|
fenceMaxPresetsCount: number;
|
||||||
|
fencePresetPriceMult: number;
|
||||||
|
minDurabilityForSale: number;
|
||||||
|
fenceItemIgnoreList: any;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Repair
|
||||||
|
{
|
||||||
|
priceMultiplier: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Insurances
|
||||||
|
{
|
||||||
|
insuranceMultiplier: any;
|
||||||
|
returnChancePercent: any;
|
||||||
|
runIntervalSeconds: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Trading
|
||||||
|
{
|
||||||
|
newItemsMarkedFound: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Chance
|
||||||
|
{
|
||||||
|
base: number;
|
||||||
|
overprices: number;
|
||||||
|
underpriced: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Time
|
||||||
|
{
|
||||||
|
base: number;
|
||||||
|
min: number;
|
||||||
|
max: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Reputation
|
||||||
|
{
|
||||||
|
gain: number;
|
||||||
|
loss: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Sell
|
||||||
|
{
|
||||||
|
fees: boolean;
|
||||||
|
chance: Chance;
|
||||||
|
time: Time;
|
||||||
|
reputation: Reputation;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface FleaMarketTraders
|
||||||
|
{
|
||||||
|
EnablePraporOffers: boolean;
|
||||||
|
EnableTheRapistOffers: boolean;
|
||||||
|
EnableFenceOffers: false,
|
||||||
|
EnableSkierOffers: boolean;
|
||||||
|
EnablePeacekeeperOffers: boolean;
|
||||||
|
EnableMechanicOffers: boolean;
|
||||||
|
EnableRagmanOffers: boolean;
|
||||||
|
EnableJaegerOffers: boolean;
|
||||||
|
EnableAllAvailableOffers: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Condition
|
||||||
|
{
|
||||||
|
conditionChance: number;
|
||||||
|
min: number;
|
||||||
|
max: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Blacklist
|
||||||
|
{
|
||||||
|
custom: any;
|
||||||
|
enableBsgList: boolean;
|
||||||
|
enableQuestList: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Dynamic
|
||||||
|
{
|
||||||
|
expiredOfferThreshold: number;
|
||||||
|
offerItemCount: MinMax;
|
||||||
|
price: MinMax;
|
||||||
|
endTimeSeconds: MinMax;
|
||||||
|
condition: Condition;
|
||||||
|
stackablePercent: MinMax;
|
||||||
|
nonStackableCount: MinMax;
|
||||||
|
rating: MinMax;
|
||||||
|
currencies: any;
|
||||||
|
showAsSingleStack: any;
|
||||||
|
blacklist: Blacklist;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Weather
|
||||||
|
{
|
||||||
|
clouds: MinMax;
|
||||||
|
windSpeed: MinMax;
|
||||||
|
windDirection: MinMax;
|
||||||
|
windGustiness: MinMax;
|
||||||
|
rain: MinMax;
|
||||||
|
rainIntensity: MinMax;
|
||||||
|
fog: MinMax;
|
||||||
|
temp: MinMax;
|
||||||
|
pressure: MinMax;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Other
|
||||||
|
{
|
||||||
|
hideWarningMessage: boolean;
|
||||||
|
showModLogs: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface ServerValues
|
||||||
|
{
|
||||||
|
http: HTTP;
|
||||||
|
health: Health;
|
||||||
|
hideout: Hideout;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface RaidsValues
|
||||||
|
{
|
||||||
|
lootValues: LootValues;
|
||||||
|
airdropValues: AirdropValues;
|
||||||
|
miaOnRaidEnd: boolean;
|
||||||
|
raidMenuSettings: RaidMenuSettings;
|
||||||
|
save: RaidsValuesSave;
|
||||||
|
carExtracts: any;
|
||||||
|
carExtractBaseStandingGain: number;
|
||||||
|
scavExtractGain: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface TradersValues
|
||||||
|
{
|
||||||
|
traders: Traders;
|
||||||
|
repair: Repair;
|
||||||
|
insurances: Insurances;
|
||||||
|
trading: Trading;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface FleaMarketConfiguration
|
||||||
|
{
|
||||||
|
runIntervalSeconds: number;
|
||||||
|
sell: Sell;
|
||||||
|
traders: FleaMarketTraders;
|
||||||
|
dynamic: Dynamic;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface WeatherValues
|
||||||
|
{
|
||||||
|
acceleration: number;
|
||||||
|
weather: Weather;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface IConfig
|
||||||
|
{
|
||||||
|
serverValues: ServerValues;
|
||||||
|
raidsValues: RaidsValues;
|
||||||
|
tradersValues: TradersValues;
|
||||||
|
fleaMarketConfiguration: FleaMarketConfiguration;
|
||||||
|
weatherValues: WeatherValues;
|
||||||
|
other: Other;
|
||||||
|
}
|
5
Ereshkigal-AkiConfig/dist/models/IDailyConfig.ts
vendored
Normal file
5
Ereshkigal-AkiConfig/dist/models/IDailyConfig.ts
vendored
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
export interface IDailyConfig
|
||||||
|
{
|
||||||
|
redeemTime: number;
|
||||||
|
repeatableQuests: any;
|
||||||
|
}
|
5
Ereshkigal-AkiConfig/dist/models/IDailyLocale.ts
vendored
Normal file
5
Ereshkigal-AkiConfig/dist/models/IDailyLocale.ts
vendored
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
export interface IDailyLocale
|
||||||
|
{
|
||||||
|
redeemTime: string;
|
||||||
|
repeatableQuests: string;
|
||||||
|
}
|
289
Ereshkigal-AkiConfig/dist/models/ILocale.ts
vendored
Normal file
289
Ereshkigal-AkiConfig/dist/models/ILocale.ts
vendored
Normal file
@ -0,0 +1,289 @@
|
|||||||
|
export interface HTTP
|
||||||
|
{
|
||||||
|
ip: string;
|
||||||
|
port: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface HealthMultipliers
|
||||||
|
{
|
||||||
|
death: string;
|
||||||
|
blacked: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface HealthSave
|
||||||
|
{
|
||||||
|
health: boolean;
|
||||||
|
effects: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Health
|
||||||
|
{
|
||||||
|
healthMultipliers: HealthMultipliers;
|
||||||
|
save: HealthSave;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface AmmoRewards
|
||||||
|
{
|
||||||
|
giveMultipleOfTen: boolean;
|
||||||
|
minAmount: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface MinMax
|
||||||
|
{
|
||||||
|
min: string;
|
||||||
|
max: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface MoneyRewards
|
||||||
|
{
|
||||||
|
enabled: boolean;
|
||||||
|
rub: MinMax;
|
||||||
|
usd: MinMax;
|
||||||
|
eur: MinMax
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface ScavCase
|
||||||
|
{
|
||||||
|
rewardParentBlacklist: string;
|
||||||
|
rewardItemBlacklist: string;
|
||||||
|
ammoRewards: AmmoRewards;
|
||||||
|
moneyRewards: MoneyRewards;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Hideout
|
||||||
|
{
|
||||||
|
runIntervalSeconds: string;
|
||||||
|
scavCase: ScavCase;
|
||||||
|
fuelDrainRateMultipler: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface LootMultiplier
|
||||||
|
{
|
||||||
|
bigmap: string;
|
||||||
|
develop: string;
|
||||||
|
factory4day: string;
|
||||||
|
factory4night: string;
|
||||||
|
interchange: string;
|
||||||
|
laboratory: string;
|
||||||
|
rezervbase: string;
|
||||||
|
shoreline: string;
|
||||||
|
woods: string;
|
||||||
|
hideout: string;
|
||||||
|
lighthouse: string;
|
||||||
|
privatearea: string;
|
||||||
|
suburbs: string;
|
||||||
|
tarkovstreets: string;
|
||||||
|
terminal: string;
|
||||||
|
town: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface LootValues
|
||||||
|
{
|
||||||
|
looseLootMultiplier: LootMultiplier;
|
||||||
|
staticLootMultiplier: LootMultiplier;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface AirdropChancePercent
|
||||||
|
{
|
||||||
|
bigmap: number;
|
||||||
|
woods: number;
|
||||||
|
lighthouse: number;
|
||||||
|
shoreline: number;
|
||||||
|
interchange: number;
|
||||||
|
reserve: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface AirdropValues
|
||||||
|
{
|
||||||
|
airdropChancePercent: AirdropChancePercent;
|
||||||
|
airdropMinOpenHeight: number;
|
||||||
|
airdropMaxOpenHeight: number;
|
||||||
|
planeMinFlyHeight: number;
|
||||||
|
planeMaxFlyHeight: number;
|
||||||
|
planeVolume: number;
|
||||||
|
airdropMinStartTimeSeconds: number;
|
||||||
|
airdropMaxStartTimeSeconds: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface RaidMenuSettings
|
||||||
|
{
|
||||||
|
aiAmount: string;
|
||||||
|
aiDifficulty: string;
|
||||||
|
bossEnabled: boolean;
|
||||||
|
scavWars: boolean;
|
||||||
|
taggedAndCursed: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface RaidsValuesSave
|
||||||
|
{
|
||||||
|
loot: boolean;
|
||||||
|
durability: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Traders
|
||||||
|
{
|
||||||
|
updateTime: string;
|
||||||
|
updateTimeDefault: string;
|
||||||
|
fenceAssortSize: string;
|
||||||
|
fenceMaxPresetsCount: string;
|
||||||
|
fencePresetPriceMult: string;
|
||||||
|
minDurabilityForSale: string;
|
||||||
|
fenceItemIgnoreList: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Repair
|
||||||
|
{
|
||||||
|
priceMultiplier: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Insurances
|
||||||
|
{
|
||||||
|
insuranceMultiplier: string;
|
||||||
|
returnChancePercent: string;
|
||||||
|
runIntervalSeconds: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Trading
|
||||||
|
{
|
||||||
|
newItemsMarkedFound: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Chance
|
||||||
|
{
|
||||||
|
base: string;
|
||||||
|
overprices: string;
|
||||||
|
underpriced: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Time
|
||||||
|
{
|
||||||
|
base: string;
|
||||||
|
min: string;
|
||||||
|
max: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Reputation
|
||||||
|
{
|
||||||
|
gain: string;
|
||||||
|
loss: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Sell
|
||||||
|
{
|
||||||
|
fees: boolean;
|
||||||
|
chance: Chance;
|
||||||
|
time: Time;
|
||||||
|
reputation: Reputation;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface FleaMarketTraders
|
||||||
|
{
|
||||||
|
EnablePraporOffers: boolean;
|
||||||
|
EnableTheRapistOffers: boolean;
|
||||||
|
EnableFenceOffers: false,
|
||||||
|
EnableSkierOffers: boolean;
|
||||||
|
EnablePeacekeeperOffers: boolean;
|
||||||
|
EnableMechanicOffers: boolean;
|
||||||
|
EnableRagmanOffers: boolean;
|
||||||
|
EnableJaegerOffers: boolean;
|
||||||
|
EnableAllAvailableOffers: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Condition
|
||||||
|
{
|
||||||
|
conditionChance: string;
|
||||||
|
min: string;
|
||||||
|
max: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Blacklist
|
||||||
|
{
|
||||||
|
custom: string;
|
||||||
|
enableBsgList: boolean;
|
||||||
|
enableQuestList: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Dynamic
|
||||||
|
{
|
||||||
|
expiredOfferThreshold: string;
|
||||||
|
offerItemCount: MinMax;
|
||||||
|
price: MinMax;
|
||||||
|
endTimeSeconds: MinMax;
|
||||||
|
condition: Condition;
|
||||||
|
stackablePercent: MinMax;
|
||||||
|
nonStackableCount: MinMax;
|
||||||
|
rating: MinMax;
|
||||||
|
currencies: string;
|
||||||
|
showAsSingleStack: string;
|
||||||
|
blacklist: Blacklist;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Weather
|
||||||
|
{
|
||||||
|
clouds: MinMax;
|
||||||
|
windSpeed: MinMax;
|
||||||
|
windDirection: MinMax;
|
||||||
|
windGustiness: MinMax;
|
||||||
|
rain: MinMax;
|
||||||
|
rainIntensity: MinMax;
|
||||||
|
fog: MinMax;
|
||||||
|
temp: MinMax;
|
||||||
|
pressure: MinMax;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Other
|
||||||
|
{
|
||||||
|
hideWarningMessage: boolean;
|
||||||
|
showModLogs: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface ServerValues
|
||||||
|
{
|
||||||
|
http: HTTP;
|
||||||
|
health: Health;
|
||||||
|
hideout: Hideout;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface RaidsValues
|
||||||
|
{
|
||||||
|
lootValues: LootValues;
|
||||||
|
airdropValues: AirdropValues;
|
||||||
|
miaOnRaidEnd: boolean;
|
||||||
|
raidMenuSettings: RaidMenuSettings;
|
||||||
|
save: RaidsValuesSave;
|
||||||
|
carExtracts: string;
|
||||||
|
carExtractBaseStandingGain: string;
|
||||||
|
scavExtractGain: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface TradersValues
|
||||||
|
{
|
||||||
|
traders: Traders;
|
||||||
|
repair: Repair;
|
||||||
|
insurances: Insurances;
|
||||||
|
trading: Trading;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface FleaMarketConfiguration
|
||||||
|
{
|
||||||
|
runIntervalSeconds: string;
|
||||||
|
sell: Sell;
|
||||||
|
traders: FleaMarketTraders;
|
||||||
|
dynamic: Dynamic;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface WeatherValues
|
||||||
|
{
|
||||||
|
acceleration: string;
|
||||||
|
weather: Weather;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface ILocale
|
||||||
|
{
|
||||||
|
serverValues: ServerValues;
|
||||||
|
raidsValues: RaidsValues;
|
||||||
|
tradersValues: TradersValues;
|
||||||
|
fleaMarketConfiguration: FleaMarketConfiguration;
|
||||||
|
weatherValues: WeatherValues;
|
||||||
|
other: Other;
|
||||||
|
}
|
125
Ereshkigal-AkiConfig/dist/models/IPmcConfig.ts
vendored
Normal file
125
Ereshkigal-AkiConfig/dist/models/IPmcConfig.ts
vendored
Normal file
@ -0,0 +1,125 @@
|
|||||||
|
export interface PresetBatch
|
||||||
|
{
|
||||||
|
assault: number;
|
||||||
|
bossBully: number;
|
||||||
|
bossGluhar: number;
|
||||||
|
bossKilla: number;
|
||||||
|
bossKojaniy: number;
|
||||||
|
bossSanitar: number;
|
||||||
|
bossTagilla: number;
|
||||||
|
bossTest: number;
|
||||||
|
cursedAssault: number;
|
||||||
|
followerBully: number;
|
||||||
|
followerGluharAssault: number;
|
||||||
|
followerGluharScout: number;
|
||||||
|
followerGluharSecurity: number;
|
||||||
|
followerGluharSnipe: number;
|
||||||
|
followerKojaniy: number;
|
||||||
|
followerSanitar: number;
|
||||||
|
followerTagilla: number;
|
||||||
|
followerTest: number;
|
||||||
|
marksman: number;
|
||||||
|
pmcBot: number;
|
||||||
|
sectantPriest: number;
|
||||||
|
sectantWarrior: number;
|
||||||
|
gifter: number;
|
||||||
|
test: number;
|
||||||
|
exUsec: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface DefaultArmor
|
||||||
|
{
|
||||||
|
maxDelta: number;
|
||||||
|
minDelta: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface PmcArmor
|
||||||
|
{
|
||||||
|
lowestMaxPercent: number;
|
||||||
|
highestMaxPercent: number;
|
||||||
|
maxDelta: number;
|
||||||
|
minDelta: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Weapon
|
||||||
|
{
|
||||||
|
lowestMax: number;
|
||||||
|
highestMax: number;
|
||||||
|
maxDelta: number;
|
||||||
|
minDelta: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Bot
|
||||||
|
{
|
||||||
|
armor: DefaultArmor;
|
||||||
|
weapon: Weapon;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface PMC
|
||||||
|
{
|
||||||
|
armor: PmcArmor;
|
||||||
|
weapon: Weapon;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface LootNValue
|
||||||
|
{
|
||||||
|
scav: number;
|
||||||
|
pmc: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Durability
|
||||||
|
{
|
||||||
|
default: Bot;
|
||||||
|
pmc: PMC;
|
||||||
|
boss: Bot;
|
||||||
|
follower: Bot;
|
||||||
|
assault: Bot;
|
||||||
|
cursedassault: Bot;
|
||||||
|
marksman: Bot;
|
||||||
|
pmcbot: Bot;
|
||||||
|
exusec: Bot;
|
||||||
|
sectantpriest: Bot;
|
||||||
|
sectantwarrior: Bot;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface DynamicLoot
|
||||||
|
{
|
||||||
|
whitelist: any;
|
||||||
|
blacklist: any;
|
||||||
|
spawnLimits: any;
|
||||||
|
moneyStackLimits: any;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Types
|
||||||
|
{
|
||||||
|
assault: number;
|
||||||
|
cursedAssault: number;
|
||||||
|
pmcBot: number;
|
||||||
|
exUsec: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface PMCConfig
|
||||||
|
{
|
||||||
|
dynamicLoot: DynamicLoot;
|
||||||
|
cartridgeBlacklist: any;
|
||||||
|
difficulty: string;
|
||||||
|
isUsec: number;
|
||||||
|
chanceSameSideIsHostilePercent: number;
|
||||||
|
usecType: string;
|
||||||
|
bearType: string;
|
||||||
|
maxBackpackLootTotalRub: number;
|
||||||
|
maxPocketLootTotalRub: number;
|
||||||
|
maxVestLootTotalRub: number;
|
||||||
|
types: Types;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface IPmcConfig
|
||||||
|
{
|
||||||
|
presetBatch: PresetBatch;
|
||||||
|
bosses: any;
|
||||||
|
durability: Durability;
|
||||||
|
lootNValue: LootNValue;
|
||||||
|
pmc: PMCConfig;
|
||||||
|
showTypeInNickname: boolean;
|
||||||
|
maxBotCap: number;
|
||||||
|
}
|
125
Ereshkigal-AkiConfig/dist/models/IPmcLocale.ts
vendored
Normal file
125
Ereshkigal-AkiConfig/dist/models/IPmcLocale.ts
vendored
Normal file
@ -0,0 +1,125 @@
|
|||||||
|
export interface PresetBatch
|
||||||
|
{
|
||||||
|
assault: string;
|
||||||
|
bossBully: string;
|
||||||
|
bossGluhar: string;
|
||||||
|
bossKilla: string;
|
||||||
|
bossKojaniy: string;
|
||||||
|
bossSanitar: string;
|
||||||
|
bossTagilla: string;
|
||||||
|
bossTest: string;
|
||||||
|
cursedAssault: string;
|
||||||
|
followerBully: string;
|
||||||
|
followerGluharAssault: string;
|
||||||
|
followerGluharScout: string;
|
||||||
|
followerGluharSecurity: string;
|
||||||
|
followerGluharSnipe: string;
|
||||||
|
followerKojaniy: string;
|
||||||
|
followerSanitar: string;
|
||||||
|
followerTagilla: string;
|
||||||
|
followerTest: string;
|
||||||
|
marksman: string;
|
||||||
|
pmcBot: string;
|
||||||
|
sectantPriest: string;
|
||||||
|
sectantWarrior: string;
|
||||||
|
gifter: string;
|
||||||
|
test: string;
|
||||||
|
exUsec: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface DefaultArmor
|
||||||
|
{
|
||||||
|
maxDelta: string;
|
||||||
|
minDelta: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface PmcArmor
|
||||||
|
{
|
||||||
|
lowestMaxPercent: string;
|
||||||
|
highestMaxPercent: string;
|
||||||
|
maxDelta: string;
|
||||||
|
minDelta: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Weapon
|
||||||
|
{
|
||||||
|
lowestMax: string;
|
||||||
|
highestMax: string;
|
||||||
|
maxDelta: string;
|
||||||
|
minDelta: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Bot
|
||||||
|
{
|
||||||
|
armor: DefaultArmor;
|
||||||
|
weapon: Weapon;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface PMC
|
||||||
|
{
|
||||||
|
armor: PmcArmor;
|
||||||
|
weapon: Weapon;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface LootNValue
|
||||||
|
{
|
||||||
|
scav: string;
|
||||||
|
pmc: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Durability
|
||||||
|
{
|
||||||
|
default: Bot;
|
||||||
|
pmc: PMC;
|
||||||
|
boss: Bot;
|
||||||
|
follower: Bot;
|
||||||
|
assault: Bot;
|
||||||
|
cursedassault: Bot;
|
||||||
|
marksman: Bot;
|
||||||
|
pmcbot: Bot;
|
||||||
|
exusec: Bot;
|
||||||
|
sectantpriest: Bot;
|
||||||
|
sectantwarrior: Bot;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface DynamicLoot
|
||||||
|
{
|
||||||
|
whitelist: string;
|
||||||
|
blacklist: string;
|
||||||
|
spawnLimits: string;
|
||||||
|
moneyStackLimits: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Types
|
||||||
|
{
|
||||||
|
assault: string;
|
||||||
|
cursedAssault: string;
|
||||||
|
pmcBot: string;
|
||||||
|
exUsec: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface PMCConfig
|
||||||
|
{
|
||||||
|
dynamicLoot: DynamicLoot;
|
||||||
|
cartridgeBlacklist: string;
|
||||||
|
difficulty: string;
|
||||||
|
isUsec: string;
|
||||||
|
chanceSameSideIsHostilePercent: string;
|
||||||
|
usecType: string;
|
||||||
|
bearType: string;
|
||||||
|
maxBackpackLootTotalRub: string;
|
||||||
|
maxPocketLootTotalRub: string;
|
||||||
|
maxVestLootTotalRub: string;
|
||||||
|
types: Types;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface IPmcLocale
|
||||||
|
{
|
||||||
|
presetBatch: PresetBatch;
|
||||||
|
bosses: string;
|
||||||
|
durability: Durability;
|
||||||
|
lootNValue: LootNValue;
|
||||||
|
pmc: PMCConfig;
|
||||||
|
showTypeInNickname: boolean;
|
||||||
|
maxBotCap: string;
|
||||||
|
}
|
26
Ereshkigal-AkiConfig/dist/package.json
vendored
Normal file
26
Ereshkigal-AkiConfig/dist/package.json
vendored
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
{
|
||||||
|
"name": "AkiConfig",
|
||||||
|
"version": "3.0.0",
|
||||||
|
"main": "src/mod.js",
|
||||||
|
"license": "CC-BY-NC-ND 4.0",
|
||||||
|
"author": "Ereshkigal",
|
||||||
|
"akiVersion": "3.0.0",
|
||||||
|
"updated by": "CWX, Valens, GGaulin",
|
||||||
|
"scripts": {
|
||||||
|
"setup:environment": "npm i",
|
||||||
|
"build:unzipped": "copyfiles -e \"./node_modules/**/*.*\" -e \"./dist/**/*.*\" -e \"./package-lock.json\" -e \"./tsconfig.json\" -e \"./README.txt\" -e \"./mod.code-workspace\" ./**/*.* ./dist",
|
||||||
|
"zip:files": "cd dist/ && bestzip ../mod.zip *",
|
||||||
|
"build:zip": "npm run clean:environment && npm run build:unzipped && npm run zip:files",
|
||||||
|
"clean:environment": "node -e \"require('fs').rm('mod.zip', ()=>{})\" && node -e \"require('fs').rmdir('./dist/',{recursive:true},()=>{})\""
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@types/node": "^14.15.3",
|
||||||
|
"@typescript-eslint/eslint-plugin": "^4.33.0",
|
||||||
|
"@typescript-eslint/parser": "^4.33.0",
|
||||||
|
"copyfiles": "2.4.1",
|
||||||
|
"eslint": "7.26.0",
|
||||||
|
"tsyringe": "4.6.0",
|
||||||
|
"typescript": "4.6.4",
|
||||||
|
"bestzip": "2.2.1"
|
||||||
|
}
|
||||||
|
}
|
58
Ereshkigal-AkiConfig/dist/src/AkiConfigHandler.ts
vendored
Normal file
58
Ereshkigal-AkiConfig/dist/src/AkiConfigHandler.ts
vendored
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
import { injectable } from "tsyringe";
|
||||||
|
import { IConfig } from "../models/IConfig";
|
||||||
|
import { IDailyConfig } from "../models/IDailyConfig";
|
||||||
|
import { IPmcConfig } from "../models/IPmcConfig";
|
||||||
|
import { ILocale } from "../models/ILocale";
|
||||||
|
import { IDailyLocale } from "../models/IDailyLocale";
|
||||||
|
import { IPmcLocale } from "../models/IPmcLocale";
|
||||||
|
|
||||||
|
@injectable()
|
||||||
|
export class AkiConfigHandler
|
||||||
|
{
|
||||||
|
private config: IConfig;
|
||||||
|
private dailyConfig: IDailyConfig;
|
||||||
|
private pmcConfig: IPmcConfig;
|
||||||
|
private locales: ILocale;
|
||||||
|
private dailyLocales: IDailyLocale;
|
||||||
|
private pmcLocales: IPmcLocale;
|
||||||
|
|
||||||
|
constructor()
|
||||||
|
{
|
||||||
|
this.config = require("../config/config.json");
|
||||||
|
this.dailyConfig = require("../config/dailyConfig.json");
|
||||||
|
this.pmcConfig = require("../config/pmcConfig.json");
|
||||||
|
this.locales = require("../locale/locale.json");
|
||||||
|
this.dailyLocales = require("../locale/dailyLocale.json");
|
||||||
|
this.pmcLocales = require("../locale/pmcLocale.json");
|
||||||
|
}
|
||||||
|
|
||||||
|
public getConfig(): IConfig
|
||||||
|
{
|
||||||
|
return this.config;
|
||||||
|
}
|
||||||
|
|
||||||
|
public getDailyConfig(): IDailyConfig
|
||||||
|
{
|
||||||
|
return this.dailyConfig;
|
||||||
|
}
|
||||||
|
|
||||||
|
public getPmcConfig(): IPmcConfig
|
||||||
|
{
|
||||||
|
return this.pmcConfig;
|
||||||
|
}
|
||||||
|
|
||||||
|
public getLocales(): ILocale
|
||||||
|
{
|
||||||
|
return this.locales;
|
||||||
|
}
|
||||||
|
|
||||||
|
public getDailyLocales(): IDailyLocale
|
||||||
|
{
|
||||||
|
return this.dailyLocales;
|
||||||
|
}
|
||||||
|
|
||||||
|
public getPmcLocales(): IPmcLocale
|
||||||
|
{
|
||||||
|
return this.pmcLocales;
|
||||||
|
}
|
||||||
|
}
|
50
Ereshkigal-AkiConfig/dist/src/bots.ts
vendored
Normal file
50
Ereshkigal-AkiConfig/dist/src/bots.ts
vendored
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
import { inject, injectable } from "tsyringe";
|
||||||
|
import type { ILogger } from "@spt-aki/models/spt/utils/ILogger";
|
||||||
|
import { IBotConfig } from "@spt-aki/models/spt/config/IBotConfig";
|
||||||
|
import { ConfigServer } from "@spt-aki/servers/ConfigServer";
|
||||||
|
import { ConfigTypes } from "@spt-aki/models/enums/ConfigTypes";
|
||||||
|
import { AkiConfigHandler } from "./AkiConfigHandler";
|
||||||
|
|
||||||
|
@injectable()
|
||||||
|
export class Bots
|
||||||
|
{
|
||||||
|
constructor(
|
||||||
|
@inject("AkiConfigHandler") protected configHandler: AkiConfigHandler,
|
||||||
|
@inject("ConfigServer") protected configServer: ConfigServer,
|
||||||
|
@inject("WinstonLogger") private logger: ILogger
|
||||||
|
)
|
||||||
|
{}
|
||||||
|
|
||||||
|
public applyChanges(): void
|
||||||
|
{
|
||||||
|
const pmcConfig = this.configHandler.getPmcConfig();
|
||||||
|
const bots = this.configServer.getConfig<IBotConfig>(ConfigTypes.BOT);
|
||||||
|
|
||||||
|
for (const bot in pmcConfig.pmc.types)
|
||||||
|
{
|
||||||
|
switch (bot)
|
||||||
|
{
|
||||||
|
default:
|
||||||
|
bots.pmc.types[bot] = pmcConfig.pmc.types[bot];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (const options in pmcConfig.pmc)
|
||||||
|
{
|
||||||
|
switch (options)
|
||||||
|
{
|
||||||
|
case "types":
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
bots.pmc[options] = pmcConfig.pmc[options];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (const bot in pmcConfig.presetBatch)
|
||||||
|
{
|
||||||
|
bots.presetBatch[bot] = pmcConfig.presetBatch[bot];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
240
Ereshkigal-AkiConfig/dist/src/generator.ts
vendored
Normal file
240
Ereshkigal-AkiConfig/dist/src/generator.ts
vendored
Normal file
@ -0,0 +1,240 @@
|
|||||||
|
import { inject, injectable } from "tsyringe";
|
||||||
|
import type { ILogger } from "@spt-aki/models/spt/utils/ILogger";
|
||||||
|
import { IBotConfig } from "@spt-aki/models/spt/config/IBotConfig";
|
||||||
|
import { IHealthConfig } from "@spt-aki/models/spt/config/IHealthConfig";
|
||||||
|
import { IHideoutConfig } from "@spt-aki/models/spt/config/IHideoutConfig";
|
||||||
|
import { IHttpConfig } from "@spt-aki/models/spt/config/IHttpConfig";
|
||||||
|
import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig";
|
||||||
|
import { IInsuranceConfig } from "@spt-aki/models/spt/config/IInsuranceConfig";
|
||||||
|
import { IInventoryConfig } from "@spt-aki/models/spt/config/IInventoryConfig";
|
||||||
|
import { ILocationConfig } from "@spt-aki/models/spt/config/ILocationConfig";
|
||||||
|
import { IQuestConfig } from "@spt-aki/models/spt/config/IQuestConfig";
|
||||||
|
import { IRagfairConfig } from "@spt-aki/models/spt/config/IRagfairConfig";
|
||||||
|
import { IRepairConfig } from "@spt-aki/models/spt/config/IRepairConfig";
|
||||||
|
import { ITraderConfig } from "@spt-aki/models/spt/config/ITraderConfig";
|
||||||
|
import { IWeatherConfig } from "@spt-aki/models/spt/config/IWeatherConfig";
|
||||||
|
import { IAirdropConfig } from "@spt-aki/models/spt/config/IAirdropConfig";
|
||||||
|
import { VFS } from "@spt-aki/utils/VFS";
|
||||||
|
import { ConfigServer } from "@spt-aki/servers/ConfigServer";
|
||||||
|
import { ConfigTypes } from "@spt-aki/models/enums/ConfigTypes";
|
||||||
|
import { JsonUtil } from "@spt-aki/utils/JsonUtil";
|
||||||
|
|
||||||
|
@injectable()
|
||||||
|
export class Generator
|
||||||
|
{
|
||||||
|
private pkg = require("../package.json");
|
||||||
|
|
||||||
|
constructor(
|
||||||
|
@inject("VFS") protected vfs: VFS,
|
||||||
|
@inject("JsonUtil") protected jsonUtil: JsonUtil,
|
||||||
|
@inject("ConfigServer") protected configServer: ConfigServer,
|
||||||
|
@inject("WinstonLogger") private logger: ILogger
|
||||||
|
)
|
||||||
|
{}
|
||||||
|
|
||||||
|
private createConfig(modPath: string, file: string): void
|
||||||
|
{
|
||||||
|
let config = null;
|
||||||
|
let dailyConfig = null;
|
||||||
|
let pmcConfig = null;
|
||||||
|
/*
|
||||||
|
Generate the whole configuration on first run
|
||||||
|
This way the default values are always up to date to AKI.
|
||||||
|
*/
|
||||||
|
|
||||||
|
//The default file type must be an object
|
||||||
|
config = {
|
||||||
|
"Server values": {
|
||||||
|
//"Enable Christmas Gifts": false,
|
||||||
|
"HTTP": {},
|
||||||
|
"Health": {},
|
||||||
|
"Hideout": {}
|
||||||
|
},
|
||||||
|
"Raids values": {
|
||||||
|
"Loot values": {},
|
||||||
|
"Airdrop values": {}
|
||||||
|
},
|
||||||
|
"Traders values": {
|
||||||
|
"Traders": {},
|
||||||
|
"Repair": {},
|
||||||
|
"Insurances": {},
|
||||||
|
"Trading": {}
|
||||||
|
},
|
||||||
|
"FleaMarket configuration": {},
|
||||||
|
"Weather values": {}
|
||||||
|
};
|
||||||
|
dailyConfig = {};
|
||||||
|
pmcConfig = {};
|
||||||
|
|
||||||
|
//We will have to gather every config that exists atm and throw them together into the object
|
||||||
|
const bots = this.configServer.getConfig<IBotConfig>(ConfigTypes.BOT);
|
||||||
|
const health = this.configServer.getConfig<IHealthConfig>(ConfigTypes.HEALTH);
|
||||||
|
const hideout = this.configServer.getConfig<IHideoutConfig>(ConfigTypes.HIDEOUT);
|
||||||
|
const http = this.configServer.getConfig<IHttpConfig>(ConfigTypes.HTTP);
|
||||||
|
const inraid = this.configServer.getConfig<IInRaidConfig>(ConfigTypes.IN_RAID);
|
||||||
|
const insurance = this.configServer.getConfig<IInsuranceConfig>(ConfigTypes.INSURANCE);
|
||||||
|
const inventory = this.configServer.getConfig<IInventoryConfig>(ConfigTypes.INVENTORY);
|
||||||
|
const location = this.configServer.getConfig<ILocationConfig>(ConfigTypes.LOCATION);
|
||||||
|
const quest = this.configServer.getConfig<IQuestConfig>(ConfigTypes.QUEST);
|
||||||
|
const ragfair = this.configServer.getConfig<IRagfairConfig>(ConfigTypes.RAGFAIR);
|
||||||
|
const repair = this.configServer.getConfig<IRepairConfig>(ConfigTypes.REPAIR);
|
||||||
|
const trader = this.configServer.getConfig<ITraderConfig>(ConfigTypes.TRADER);
|
||||||
|
const weather = this.configServer.getConfig<IWeatherConfig>(ConfigTypes.WEATHER);
|
||||||
|
const airdrops = this.configServer.getConfig<IAirdropConfig>(ConfigTypes.AIRDROP);
|
||||||
|
|
||||||
|
//Sorting the http values
|
||||||
|
Object.assign(config["Server values"]["HTTP"], http);
|
||||||
|
|
||||||
|
//Sorting the health config
|
||||||
|
Object.assign(config["Server values"]["Health"], health);
|
||||||
|
|
||||||
|
//Sorting the hideout values
|
||||||
|
Object.assign(config["Server values"]["Hideout"], hideout);
|
||||||
|
|
||||||
|
//Sorting the inraid values
|
||||||
|
Object.assign(config["Raids values"], inraid);
|
||||||
|
|
||||||
|
//Sorting location values
|
||||||
|
Object.assign(config["Raids values"]["Loot values"], location);
|
||||||
|
|
||||||
|
//Sorting airdrop values
|
||||||
|
//Object.assign(config["Raids values"]["Airdrop values"], airdrops)
|
||||||
|
|
||||||
|
//Sorting trader values
|
||||||
|
Object.assign(config["Traders values"]["Traders"], trader);
|
||||||
|
|
||||||
|
//Sorting repair values
|
||||||
|
Object.assign(config["Traders values"]["Repair"], repair);
|
||||||
|
|
||||||
|
//Sorting insurance values
|
||||||
|
Object.assign(config["Traders values"]["Insurances"], insurance);
|
||||||
|
|
||||||
|
//Sorting inventory values
|
||||||
|
Object.assign(config["Traders values"]["Trading"], inventory);
|
||||||
|
|
||||||
|
//Sorting quest values
|
||||||
|
Object.assign(dailyConfig, quest);
|
||||||
|
|
||||||
|
//Sorting the bots config now
|
||||||
|
Object.assign(pmcConfig, bots);
|
||||||
|
|
||||||
|
//Sorting ragfair values
|
||||||
|
Object.assign(config["FleaMarket configuration"], ragfair);
|
||||||
|
|
||||||
|
//Weather values
|
||||||
|
Object.assign(config["Weather values"], weather);
|
||||||
|
|
||||||
|
//Some personnal changes for end-user
|
||||||
|
config["FleaMarket configuration"].traders = {
|
||||||
|
EnablePraporOffers: true,
|
||||||
|
EnableTheRapistOffers: true,
|
||||||
|
EnableFenceOffers: false,
|
||||||
|
EnableSkierOffers: true,
|
||||||
|
EnablePeacekeeperOffers: true,
|
||||||
|
EnableMechanicOffers: true,
|
||||||
|
EnableRagmanOffers: true,
|
||||||
|
EnableJaegerOffers: true,
|
||||||
|
EnableAllAvailableOffers: false,
|
||||||
|
};
|
||||||
|
|
||||||
|
if (file === null) {
|
||||||
|
//Write the config in the folder
|
||||||
|
this.vfs.writeFile(
|
||||||
|
`${modPath}config/config.json`,
|
||||||
|
this.jsonUtil.serialize(config, true)
|
||||||
|
);
|
||||||
|
this.vfs.writeFile(
|
||||||
|
`${modPath}config/dailyConfig.json`,
|
||||||
|
this.jsonUtil.serialize(dailyConfig, true)
|
||||||
|
);
|
||||||
|
this.vfs.writeFile(
|
||||||
|
`${modPath}config/pmcConfig.json`,
|
||||||
|
this.jsonUtil.serialize(pmcConfig, true)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
this.logger.warning(`[AKI-CONFIG] - Generating ${file} file`)
|
||||||
|
let toWrite = null
|
||||||
|
if (file === "config")
|
||||||
|
{
|
||||||
|
toWrite = config
|
||||||
|
}
|
||||||
|
else if (file === 'dailyConfig')
|
||||||
|
{
|
||||||
|
toWrite = dailyConfig
|
||||||
|
}
|
||||||
|
else if (file === 'pmcConfig')
|
||||||
|
{
|
||||||
|
toWrite = pmcConfig
|
||||||
|
}
|
||||||
|
this.vfs.writeFile(
|
||||||
|
`${modPath}config/${file}.json`,
|
||||||
|
this.jsonUtil.serialize(toWrite, true)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
this.logger.error("[AKI-Config]: New configuration file created, please restart your server to use it.");
|
||||||
|
}
|
||||||
|
|
||||||
|
public checkConfigExisting(modPath: string): void
|
||||||
|
{
|
||||||
|
const validation = [];
|
||||||
|
|
||||||
|
//Check if config folder exists
|
||||||
|
if (this.vfs.exists(`${modPath}config`))
|
||||||
|
{
|
||||||
|
//Check if all the config folder exists
|
||||||
|
const fileList = this.vfs.getFiles(`${modPath}config/`);
|
||||||
|
for (const file in fileList)
|
||||||
|
{
|
||||||
|
const fileName = fileList[file];
|
||||||
|
if (fileName === "config.json")
|
||||||
|
{
|
||||||
|
validation.push("config");
|
||||||
|
}
|
||||||
|
if (fileName === "dailyConfig.json")
|
||||||
|
{
|
||||||
|
validation.push("dailyConfig");
|
||||||
|
}
|
||||||
|
if (fileName === "pmcConfig.json")
|
||||||
|
{
|
||||||
|
validation.push("pmcConfig");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//All configurations files existing
|
||||||
|
if ((validation.length === 3))
|
||||||
|
{
|
||||||
|
this.logger.success(
|
||||||
|
"[AKI-CONFIG] - All configurations files already created, all green."
|
||||||
|
);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//One of the 3 file is missing, we only want to regenerate the missing one
|
||||||
|
this.logger.error(
|
||||||
|
"[AKI-CONFIG] - A config file is missing. Generating the missing file"
|
||||||
|
);
|
||||||
|
|
||||||
|
if (!validation.includes("config"))
|
||||||
|
{
|
||||||
|
this.createConfig(modPath, "config");
|
||||||
|
}
|
||||||
|
if (!validation.includes("dailyConfig"))
|
||||||
|
{
|
||||||
|
this.createConfig(modPath, "dailyConfig");
|
||||||
|
}
|
||||||
|
if (!validation.includes("pmcConfig"))
|
||||||
|
{
|
||||||
|
this.createConfig(modPath, "pmcConfig");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
this.logger.warning(
|
||||||
|
"First time AKI-Configurator is run, generating the config file..."
|
||||||
|
);
|
||||||
|
this.createConfig(modPath, null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
61
Ereshkigal-AkiConfig/dist/src/mod.ts
vendored
Normal file
61
Ereshkigal-AkiConfig/dist/src/mod.ts
vendored
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
import { DependencyContainer, Lifecycle } from "tsyringe";
|
||||||
|
import type { IMod } from "@spt-aki/models/external/mod";
|
||||||
|
import type { ILogger } from "@spt-aki/models/spt/utils/ILogger";
|
||||||
|
import { InitialModLoader } from "@spt-aki/loaders/InitialModLoader";
|
||||||
|
import { Generator } from "./generator";
|
||||||
|
import { Ragfair } from "./ragfair";
|
||||||
|
import { Weather } from "./weather";
|
||||||
|
import { Bots } from "./bots";
|
||||||
|
import { Raids } from "./raids";
|
||||||
|
import { Server } from "./server";
|
||||||
|
import { Traders } from "./traders";
|
||||||
|
import { Quests } from "./quests";
|
||||||
|
import { Notifications } from "./notifications";
|
||||||
|
import { AkiConfigHandler } from "./AkiConfigHandler";
|
||||||
|
|
||||||
|
class AkiConfig implements IMod
|
||||||
|
{
|
||||||
|
private logger: ILogger;
|
||||||
|
private pkg;
|
||||||
|
|
||||||
|
public load(container: DependencyContainer): void
|
||||||
|
{
|
||||||
|
container.register<AkiConfigHandler>("AkiConfigHandler", AkiConfigHandler, {lifecycle:Lifecycle.Singleton});
|
||||||
|
container.register<Generator>("Generator", Generator);
|
||||||
|
container.register<Ragfair>("Ragfair", Ragfair);
|
||||||
|
container.register<Weather>("Weather", Weather);
|
||||||
|
container.register<Bots>("Bots", Bots);
|
||||||
|
container.register<Raids>("Raids", Raids);
|
||||||
|
container.register<Server>("Server", Server);
|
||||||
|
container.register<Traders>("Traders", Traders);
|
||||||
|
container.register<Quests>("Quests", Quests);
|
||||||
|
container.register<Notifications>("Notifications", Notifications);
|
||||||
|
|
||||||
|
this.logger = container.resolve<ILogger>("WinstonLogger");
|
||||||
|
|
||||||
|
this.pkg = require("../package.json");
|
||||||
|
this.logger.info(`Loading: ${this.pkg.name} ${this.pkg.version}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
public delayedLoad(container: DependencyContainer): void
|
||||||
|
{
|
||||||
|
const initialModLoader = container.resolve<InitialModLoader>("InitialModLoader");
|
||||||
|
const modPath = `./${initialModLoader.getModPath(this.pkg.name)}`;
|
||||||
|
|
||||||
|
container.resolve<Generator>("Generator").checkConfigExisting(modPath);
|
||||||
|
container.resolve<Ragfair>("Ragfair").applyChanges();
|
||||||
|
container.resolve<Weather>("Weather").applyChanges();
|
||||||
|
container.resolve<Bots>("Bots").applyChanges();
|
||||||
|
container.resolve<Raids>("Raids").applyChanges();
|
||||||
|
container.resolve<Server>("Server").applyChanges();
|
||||||
|
container.resolve<Traders>("Traders").applyChanges();
|
||||||
|
container.resolve<Quests>("Quests").applyChanges();
|
||||||
|
|
||||||
|
if (container.resolve<AkiConfigHandler>("AkiConfigHandler").getConfig().other.showModLogs)
|
||||||
|
{
|
||||||
|
container.resolve<Notifications>("Notifications").sendNotifications()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = { mod: new AkiConfig() };
|
28
Ereshkigal-AkiConfig/dist/src/notifications.ts
vendored
Normal file
28
Ereshkigal-AkiConfig/dist/src/notifications.ts
vendored
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
import { inject, injectable } from "tsyringe";
|
||||||
|
import type { ILogger } from "@spt-aki/models/spt/utils/ILogger";
|
||||||
|
import { AkiConfigHandler } from "./AkiConfigHandler";
|
||||||
|
|
||||||
|
@injectable()
|
||||||
|
export class Notifications
|
||||||
|
{
|
||||||
|
constructor(
|
||||||
|
@inject("WinstonLogger") private logger: ILogger,
|
||||||
|
@inject("AkiConfigHandler") private configHandler: AkiConfigHandler
|
||||||
|
)
|
||||||
|
{}
|
||||||
|
|
||||||
|
public sendNotifications(): void
|
||||||
|
{
|
||||||
|
const config = this.configHandler.getConfig();
|
||||||
|
const locale = this.configHandler.getLocales();
|
||||||
|
|
||||||
|
if (!config.other.hideWarningMessage)
|
||||||
|
{
|
||||||
|
this.logger.log("[AIO Config INFORMATION]", "yellow");
|
||||||
|
this.logger.info("Please read the AKICONFIG README.pdf carefully as this has all the information you need.");
|
||||||
|
this.logger.log("[AIO Config INFORMATION]", "yellow");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
26
Ereshkigal-AkiConfig/dist/src/quests.ts
vendored
Normal file
26
Ereshkigal-AkiConfig/dist/src/quests.ts
vendored
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
import { inject, injectable } from "tsyringe";
|
||||||
|
import type { ILogger } from "@spt-aki/models/spt/utils/ILogger";
|
||||||
|
import { IQuestConfig } from "@spt-aki/models/spt/config/IQuestConfig";
|
||||||
|
import { ConfigServer } from "@spt-aki/servers/ConfigServer";
|
||||||
|
import { ConfigTypes } from "@spt-aki/models/enums/ConfigTypes";
|
||||||
|
import { AkiConfigHandler } from "./AkiConfigHandler";
|
||||||
|
|
||||||
|
@injectable()
|
||||||
|
export class Quests
|
||||||
|
{
|
||||||
|
constructor(
|
||||||
|
@inject("AkiConfigHandler") protected configHandler: AkiConfigHandler,
|
||||||
|
@inject("ConfigServer") protected configServer: ConfigServer,
|
||||||
|
@inject("WinstonLogger") private logger: ILogger
|
||||||
|
)
|
||||||
|
{}
|
||||||
|
|
||||||
|
public applyChanges(): void
|
||||||
|
{
|
||||||
|
const dailyConfig = this.configHandler.getDailyConfig();
|
||||||
|
const questConfig = this.configServer.getConfig<IQuestConfig>(ConfigTypes.QUEST);
|
||||||
|
|
||||||
|
questConfig.redeemTime = dailyConfig.redeemTime;
|
||||||
|
questConfig.repeatableQuests = dailyConfig.repeatableQuests;
|
||||||
|
}
|
||||||
|
}
|
72
Ereshkigal-AkiConfig/dist/src/ragfair.ts
vendored
Normal file
72
Ereshkigal-AkiConfig/dist/src/ragfair.ts
vendored
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
import { inject, injectable } from "tsyringe";
|
||||||
|
import type { ILogger } from "@spt-aki/models/spt/utils/ILogger";
|
||||||
|
import { IRagfairConfig } from "@spt-aki/models/spt/config/IRagfairConfig";
|
||||||
|
import { ConfigServer } from "@spt-aki/servers/ConfigServer";
|
||||||
|
import { ConfigTypes } from "@spt-aki/models/enums/ConfigTypes";
|
||||||
|
import { Traders } from "@spt-aki/models/enums/Traders";
|
||||||
|
import { AkiConfigHandler } from "./AkiConfigHandler";
|
||||||
|
|
||||||
|
@injectable()
|
||||||
|
export class Ragfair
|
||||||
|
{
|
||||||
|
constructor(
|
||||||
|
@inject("AkiConfigHandler") protected configHandler: AkiConfigHandler,
|
||||||
|
@inject("ConfigServer") protected configServer: ConfigServer,
|
||||||
|
@inject("WinstonLogger") private logger: ILogger
|
||||||
|
)
|
||||||
|
{}
|
||||||
|
|
||||||
|
public applyChanges(): void
|
||||||
|
{
|
||||||
|
const config = this.configHandler.getConfig();
|
||||||
|
const ragfair = this.configServer.getConfig<IRagfairConfig>(ConfigTypes.RAGFAIR);
|
||||||
|
|
||||||
|
for (const options in ragfair.sell)
|
||||||
|
{
|
||||||
|
ragfair.sell[options] = config["FleaMarket configuration"].sell[options];
|
||||||
|
}
|
||||||
|
|
||||||
|
for (const options in ragfair.dynamic)
|
||||||
|
{
|
||||||
|
ragfair.dynamic[options] = config["FleaMarket configuration"].dynamic[options];
|
||||||
|
}
|
||||||
|
|
||||||
|
const traderList = config["FleaMarket configuration"].traders;
|
||||||
|
for (const trader in config["FleaMarket configuration"].traders)
|
||||||
|
{
|
||||||
|
switch (trader)
|
||||||
|
{
|
||||||
|
case "EnablePraporOffers":
|
||||||
|
ragfair.traders[Traders.PRAPOR] = traderList.EnablePraporOffers;
|
||||||
|
break;
|
||||||
|
case "EnableTheRapistOffers":
|
||||||
|
ragfair.traders[Traders.THERAPIST] = traderList.EnableTheRapistOffers;
|
||||||
|
break;
|
||||||
|
case "EnableFenceOffers":
|
||||||
|
ragfair.traders[Traders.FENCE] = traderList.EnableFenceOffers;
|
||||||
|
break;
|
||||||
|
case "EnableSkierOffers":
|
||||||
|
ragfair.traders[Traders.SKIER] = traderList.EnableSkierOffers;
|
||||||
|
break;
|
||||||
|
case "EnablePeacekeeperOffers":
|
||||||
|
ragfair.traders[Traders.PEACEKEEPER] = traderList.EnablePeacekeeperOffers;
|
||||||
|
break;
|
||||||
|
case "EnableMechanicOffers":
|
||||||
|
ragfair.traders[Traders.MECHANIC] = traderList.EnableMechanicOffers;
|
||||||
|
break;
|
||||||
|
case "EnableRagmanOffers":
|
||||||
|
ragfair.traders[Traders.RAGMAN] = traderList.EnableRagmanOffers;
|
||||||
|
break;
|
||||||
|
case "EnableJaegerOffers":
|
||||||
|
ragfair.traders[Traders.JAEGER] = traderList.EnableJaegerOffers;
|
||||||
|
break;
|
||||||
|
case "EnableAllAvailableOffers":
|
||||||
|
ragfair.traders["ragfair"] = traderList.EnableAllAvailableOffers;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
ragfair.traders[trader] = traderList[trader];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
40
Ereshkigal-AkiConfig/dist/src/raids.ts
vendored
Normal file
40
Ereshkigal-AkiConfig/dist/src/raids.ts
vendored
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
import { inject, injectable } from "tsyringe";
|
||||||
|
import type { ILogger } from "@spt-aki/models/spt/utils/ILogger";
|
||||||
|
import { IInRaidConfig } from "@spt-aki/models/spt/config/IInRaidConfig";
|
||||||
|
import { ILocationConfig } from "@spt-aki/models/spt/config/ILocationConfig";
|
||||||
|
import { IAirdropConfig } from "@spt-aki/models/spt/config/IAirdropConfig";
|
||||||
|
import { ConfigServer } from "@spt-aki/servers/ConfigServer";
|
||||||
|
import { ConfigTypes } from "@spt-aki/models/enums/ConfigTypes";
|
||||||
|
import { AkiConfigHandler } from "./AkiConfigHandler";
|
||||||
|
|
||||||
|
@injectable()
|
||||||
|
export class Raids
|
||||||
|
{
|
||||||
|
constructor(
|
||||||
|
@inject("AkiConfigHandler") protected configHandler: AkiConfigHandler,
|
||||||
|
@inject("ConfigServer") protected configServer: ConfigServer,
|
||||||
|
@inject("WinstonLogger") private logger: ILogger
|
||||||
|
)
|
||||||
|
{}
|
||||||
|
|
||||||
|
public applyChanges(): void
|
||||||
|
{
|
||||||
|
const config = this.configHandler.getConfig();
|
||||||
|
const locationConfig = this.configServer.getConfig<ILocationConfig>(ConfigTypes.LOCATION);
|
||||||
|
const airdropConfig = this.configServer.getConfig<IAirdropConfig>(ConfigTypes.AIRDROP);
|
||||||
|
const inRaidConfig = this.configServer.getConfig<IInRaidConfig>(ConfigTypes.IN_RAID);
|
||||||
|
|
||||||
|
locationConfig.looseLootMultiplier = config["Raids values"]["Loot values"].looseLootMultiplier;
|
||||||
|
locationConfig.staticLootMultiplier = config["Raids values"]["Loot values"].staticLootMultiplier;
|
||||||
|
|
||||||
|
for (const options in airdropConfig)
|
||||||
|
{
|
||||||
|
airdropConfig[options] = config["Raids values"]["Airdrop values"][options];
|
||||||
|
}
|
||||||
|
|
||||||
|
for (const options in inRaidConfig)
|
||||||
|
{
|
||||||
|
inRaidConfig[options] = config["Raids values"][options];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
37
Ereshkigal-AkiConfig/dist/src/server.ts
vendored
Normal file
37
Ereshkigal-AkiConfig/dist/src/server.ts
vendored
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
import { inject, injectable } from "tsyringe";
|
||||||
|
import type { ILogger } from "@spt-aki/models/spt/utils/ILogger";
|
||||||
|
import { IHealthConfig } from "@spt-aki/models/spt/config/IHealthConfig";
|
||||||
|
import { IHideoutConfig } from "@spt-aki/models/spt/config/IHideoutConfig";
|
||||||
|
import { IHttpConfig } from "@spt-aki/models/spt/config/IHttpConfig";
|
||||||
|
import { ConfigServer } from "@spt-aki/servers/ConfigServer";
|
||||||
|
import { ConfigTypes } from "@spt-aki/models/enums/ConfigTypes";
|
||||||
|
import { AkiConfigHandler } from "./AkiConfigHandler";
|
||||||
|
|
||||||
|
@injectable()
|
||||||
|
export class Server
|
||||||
|
{
|
||||||
|
constructor(
|
||||||
|
@inject("AkiConfigHandler") protected configHandler: AkiConfigHandler,
|
||||||
|
@inject("ConfigServer") protected configServer: ConfigServer,
|
||||||
|
@inject("WinstonLogger") private logger: ILogger
|
||||||
|
)
|
||||||
|
{}
|
||||||
|
|
||||||
|
public applyChanges(): void
|
||||||
|
{
|
||||||
|
const config = this.configHandler.getConfig();
|
||||||
|
const serverConfig = this.configServer.getConfig<IHttpConfig>(ConfigTypes.HTTP);
|
||||||
|
const healthConfig = this.configServer.getConfig<IHealthConfig>(ConfigTypes.HEALTH);
|
||||||
|
const hideoutConfig = this.configServer.getConfig<IHideoutConfig>(ConfigTypes.HIDEOUT);
|
||||||
|
|
||||||
|
serverConfig.ip = config["Server values"].HTTP.ip;
|
||||||
|
serverConfig.port = config["Server values"].HTTP.port;
|
||||||
|
|
||||||
|
healthConfig.healthMultipliers = config["Server values"].Health.healthMultipliers;
|
||||||
|
healthConfig.save = config["Server values"].Health.save;
|
||||||
|
|
||||||
|
hideoutConfig.runIntervalSeconds = config["Server values"].Hideout.runIntervalSeconds;
|
||||||
|
hideoutConfig.scavCase = config["Server values"].Hideout.scavCase;
|
||||||
|
hideoutConfig.fuelDrainRateMultipler = config["Server values"].Hideout.fuelDrainRateMultipler;
|
||||||
|
}
|
||||||
|
}
|
49
Ereshkigal-AkiConfig/dist/src/traders.ts
vendored
Normal file
49
Ereshkigal-AkiConfig/dist/src/traders.ts
vendored
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
import { inject, injectable } from "tsyringe";
|
||||||
|
import type { ILogger } from "@spt-aki/models/spt/utils/ILogger";
|
||||||
|
import { IInsuranceConfig } from "@spt-aki/models/spt/config/IInsuranceConfig";
|
||||||
|
import { IInventoryConfig } from "@spt-aki/models/spt/config/IInventoryConfig";
|
||||||
|
import { IRepairConfig } from "@spt-aki/models/spt/config/IRepairConfig";
|
||||||
|
import { ITraderConfig } from "@spt-aki/models/spt/config/ITraderConfig";
|
||||||
|
import { ConfigServer } from "@spt-aki/servers/ConfigServer";
|
||||||
|
import { ConfigTypes } from "@spt-aki/models/enums/ConfigTypes";
|
||||||
|
import { AkiConfigHandler } from "./AkiConfigHandler";
|
||||||
|
|
||||||
|
@injectable()
|
||||||
|
export class Traders
|
||||||
|
{
|
||||||
|
constructor(
|
||||||
|
@inject("AkiConfigHandler") protected configHandler: AkiConfigHandler,
|
||||||
|
@inject("ConfigServer") protected configServer: ConfigServer,
|
||||||
|
@inject("WinstonLogger") private logger: ILogger
|
||||||
|
)
|
||||||
|
{}
|
||||||
|
|
||||||
|
public applyChanges(): void
|
||||||
|
{
|
||||||
|
const config = this.configHandler.getConfig();
|
||||||
|
const insurance = this.configServer.getConfig<IInsuranceConfig>(ConfigTypes.INSURANCE);
|
||||||
|
const inventory = this.configServer.getConfig<IInventoryConfig>(ConfigTypes.INVENTORY);
|
||||||
|
const repair = this.configServer.getConfig<IRepairConfig>(ConfigTypes.REPAIR);
|
||||||
|
const trader = this.configServer.getConfig<ITraderConfig>(ConfigTypes.TRADER);
|
||||||
|
|
||||||
|
for (const options in insurance)
|
||||||
|
{
|
||||||
|
insurance[options] = config["Traders values"].Insurances[options];
|
||||||
|
}
|
||||||
|
|
||||||
|
for (const options in inventory)
|
||||||
|
{
|
||||||
|
inventory[options] = config["Traders values"].Trading[options];
|
||||||
|
}
|
||||||
|
|
||||||
|
for (const options in repair)
|
||||||
|
{
|
||||||
|
repair[options] = config["Traders values"].Repair[options];
|
||||||
|
}
|
||||||
|
|
||||||
|
for (const options in trader)
|
||||||
|
{
|
||||||
|
trader[options] = config["Traders values"].Traders[options];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
43
Ereshkigal-AkiConfig/dist/src/weather.ts
vendored
Normal file
43
Ereshkigal-AkiConfig/dist/src/weather.ts
vendored
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
import { inject, injectable } from "tsyringe";
|
||||||
|
import type { ILogger } from "@spt-aki/models/spt/utils/ILogger";
|
||||||
|
import { IWeatherConfig } from "@spt-aki/models/spt/config/IWeatherConfig";
|
||||||
|
import { ConfigServer } from "@spt-aki/servers/ConfigServer";
|
||||||
|
import { ConfigTypes } from "@spt-aki/models/enums/ConfigTypes";
|
||||||
|
import { AkiConfigHandler } from "./AkiConfigHandler";
|
||||||
|
|
||||||
|
@injectable()
|
||||||
|
export class Weather
|
||||||
|
{
|
||||||
|
constructor(
|
||||||
|
@inject("AkiConfigHandler") protected configHandler: AkiConfigHandler,
|
||||||
|
@inject("ConfigServer") protected configServer: ConfigServer,
|
||||||
|
@inject("WinstonLogger") private logger: ILogger
|
||||||
|
)
|
||||||
|
{}
|
||||||
|
|
||||||
|
public applyChanges(): void
|
||||||
|
{
|
||||||
|
const config = this.configHandler.getConfig();
|
||||||
|
const weatherValues = this.configServer.getConfig<IWeatherConfig>(ConfigTypes.WEATHER);
|
||||||
|
|
||||||
|
weatherValues.acceleration = config["Weather values"].acceleration;
|
||||||
|
weatherValues.weather.clouds.min = config["Weather values"].weather.clouds.min;
|
||||||
|
weatherValues.weather.clouds.max = config["Weather values"].weather.clouds.max;
|
||||||
|
weatherValues.weather.windSpeed.min = config["Weather values"].weather.windSpeed.min;
|
||||||
|
weatherValues.weather.windSpeed.max = config["Weather values"].weather.windSpeed.max;
|
||||||
|
weatherValues.weather.windDirection.min = config["Weather values"].weather.windDirection.min;
|
||||||
|
weatherValues.weather.windDirection.max = config["Weather values"].weather.windDirection.max;
|
||||||
|
weatherValues.weather.windGustiness.min = config["Weather values"].weather.windGustiness.min;
|
||||||
|
weatherValues.weather.windGustiness.max = config["Weather values"].weather.windGustiness.max;
|
||||||
|
weatherValues.weather.rain.min = config["Weather values"].weather.rain.min;
|
||||||
|
weatherValues.weather.rain.max = config["Weather values"].weather.rain.max;
|
||||||
|
weatherValues.weather.rainIntensity.min = config["Weather values"].weather.rainIntensity.min;
|
||||||
|
weatherValues.weather.rainIntensity.max = config["Weather values"].weather.rainIntensity.max;
|
||||||
|
weatherValues.weather.fog.min = config["Weather values"].weather.fog.min;
|
||||||
|
weatherValues.weather.fog.max = config["Weather values"].weather.fog.max;
|
||||||
|
weatherValues.weather.temp.min = config["Weather values"].weather.temp.min;
|
||||||
|
weatherValues.weather.temp.max = config["Weather values"].weather.temp.max;
|
||||||
|
weatherValues.weather.pressure.min = config["Weather values"].weather.pressure.min;
|
||||||
|
weatherValues.weather.pressure.max = config["Weather values"].weather.pressure.max;
|
||||||
|
}
|
||||||
|
}
|
4
Ereshkigal-AkiConfig/dist/types/Program.d.ts
vendored
Normal file
4
Ereshkigal-AkiConfig/dist/types/Program.d.ts
vendored
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
export declare class Program {
|
||||||
|
constructor();
|
||||||
|
start(): void;
|
||||||
|
}
|
3
Ereshkigal-AkiConfig/dist/types/TYPES.d.ts
vendored
Normal file
3
Ereshkigal-AkiConfig/dist/types/TYPES.d.ts
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
export declare const TYPES: {
|
||||||
|
[name: string]: symbol;
|
||||||
|
};
|
15
Ereshkigal-AkiConfig/dist/types/callbacks/BotCallbacks.d.ts
vendored
Normal file
15
Ereshkigal-AkiConfig/dist/types/callbacks/BotCallbacks.d.ts
vendored
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
import { BotController } from "../controllers/BotController";
|
||||||
|
import { IGenerateBotsRequestData } from "../models/eft/bot/IGenerateBotsRequestData";
|
||||||
|
import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData";
|
||||||
|
import { IBotBase } from "../models/eft/common/tables/IBotBase";
|
||||||
|
import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData";
|
||||||
|
import { HttpResponseUtil } from "../utils/HttpResponseUtil";
|
||||||
|
export declare class BotCallbacks {
|
||||||
|
protected botController: BotController;
|
||||||
|
protected httpResponse: HttpResponseUtil;
|
||||||
|
constructor(botController: BotController, httpResponse: HttpResponseUtil);
|
||||||
|
getBotLimit(url: string, info: IEmptyRequestData, sessionID: string): string;
|
||||||
|
getBotDifficulty(url: string, info: IEmptyRequestData, sessionID: string): string;
|
||||||
|
generateBots(url: string, info: IGenerateBotsRequestData, sessionID: string): IGetBodyResponseData<IBotBase[]>;
|
||||||
|
getBotCap(): string;
|
||||||
|
}
|
18
Ereshkigal-AkiConfig/dist/types/callbacks/BundleCallbacks.d.ts
vendored
Normal file
18
Ereshkigal-AkiConfig/dist/types/callbacks/BundleCallbacks.d.ts
vendored
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
import { BundleLoader } from "../loaders/BundleLoader";
|
||||||
|
import { IHttpConfig } from "../models/spt/config/IHttpConfig";
|
||||||
|
import { IHttpServer } from "../models/spt/server/IHttpServer";
|
||||||
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
|
import { HttpResponseUtil } from "../utils/HttpResponseUtil";
|
||||||
|
export declare class BundleCallbacks {
|
||||||
|
protected logger: ILogger;
|
||||||
|
protected httpResponse: HttpResponseUtil;
|
||||||
|
protected httpServer: IHttpServer;
|
||||||
|
protected bundleLoader: BundleLoader;
|
||||||
|
protected configServer: ConfigServer;
|
||||||
|
protected httpConfig: IHttpConfig;
|
||||||
|
constructor(logger: ILogger, httpResponse: HttpResponseUtil, httpServer: IHttpServer, bundleLoader: BundleLoader, configServer: ConfigServer);
|
||||||
|
sendBundle(sessionID: string, req: any, resp: any, body: any): any;
|
||||||
|
getBundles(url: string, info: any, sessionID: string): string;
|
||||||
|
getBundle(url: string, info: any, sessionID: string): string;
|
||||||
|
}
|
23
Ereshkigal-AkiConfig/dist/types/callbacks/CustomizationCallbacks.d.ts
vendored
Normal file
23
Ereshkigal-AkiConfig/dist/types/callbacks/CustomizationCallbacks.d.ts
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
import { CustomizationController } from "../controllers/CustomizationController";
|
||||||
|
import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData";
|
||||||
|
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||||
|
import { ISuit } from "../models/eft/common/tables/ITrader";
|
||||||
|
import { IBuyClothingRequestData } from "../models/eft/customization/IBuyClothingRequestData";
|
||||||
|
import { IWearClothingRequestData } from "../models/eft/customization/IWearClothingRequestData";
|
||||||
|
import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData";
|
||||||
|
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
|
||||||
|
import { SaveServer } from "../servers/SaveServer";
|
||||||
|
import { HttpResponseUtil } from "../utils/HttpResponseUtil";
|
||||||
|
export declare class CustomizationCallbacks {
|
||||||
|
protected customizationController: CustomizationController;
|
||||||
|
protected saveServer: SaveServer;
|
||||||
|
protected httpResponse: HttpResponseUtil;
|
||||||
|
constructor(customizationController: CustomizationController, saveServer: SaveServer, httpResponse: HttpResponseUtil);
|
||||||
|
getSuits(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<{
|
||||||
|
_id: string;
|
||||||
|
suites: string[];
|
||||||
|
}>;
|
||||||
|
getTraderSuits(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<ISuit[]>;
|
||||||
|
wearClothing(pmcData: IPmcData, body: IWearClothingRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
buyClothing(pmcData: IPmcData, body: IBuyClothingRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
}
|
32
Ereshkigal-AkiConfig/dist/types/callbacks/DataCallbacks.d.ts
vendored
Normal file
32
Ereshkigal-AkiConfig/dist/types/callbacks/DataCallbacks.d.ts
vendored
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData";
|
||||||
|
import { IGlobals } from "../models/eft/common/IGlobals";
|
||||||
|
import { ICustomizationItem } from "../models/eft/common/tables/ICustomizationItem";
|
||||||
|
import { IQuest } from "../models/eft/common/tables/IQuest";
|
||||||
|
import { IHideoutArea } from "../models/eft/hideout/IHideoutArea";
|
||||||
|
import { IHideoutProduction } from "../models/eft/hideout/IHideoutProduction";
|
||||||
|
import { IHideoutScavCase } from "../models/eft/hideout/IHideoutScavCase";
|
||||||
|
import { IHideoutSettingsBase } from "../models/eft/hideout/IHideoutSettingsBase";
|
||||||
|
import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData";
|
||||||
|
import { ILanguageBase } from "../models/spt/server/ILocaleBase";
|
||||||
|
import { ISettingsBase } from "../models/spt/server/ISettingsBase";
|
||||||
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
import { HttpResponseUtil } from "../utils/HttpResponseUtil";
|
||||||
|
export declare class DataCallbacks {
|
||||||
|
protected httpResponse: HttpResponseUtil;
|
||||||
|
protected databaseServer: DatabaseServer;
|
||||||
|
constructor(httpResponse: HttpResponseUtil, databaseServer: DatabaseServer);
|
||||||
|
getSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<ISettingsBase>;
|
||||||
|
getGlobals(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IGlobals>;
|
||||||
|
getTemplateItems(url: string, info: IEmptyRequestData, sessionID: string): string;
|
||||||
|
getTemplateHandbook(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||||
|
getTemplateSuits(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<Record<string, ICustomizationItem>>;
|
||||||
|
getTemplateCharacter(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<string[]>;
|
||||||
|
getTemplateQuests(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IQuest[]>;
|
||||||
|
getHideoutSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutSettingsBase>;
|
||||||
|
getHideoutAreas(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutArea[]>;
|
||||||
|
gethideoutProduction(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutProduction[]>;
|
||||||
|
getHideoutScavcase(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IHideoutScavCase[]>;
|
||||||
|
getLocalesLanguages(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<ILanguageBase[]>;
|
||||||
|
getLocalesMenu(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||||
|
getLocalesGlobal(url: string, info: IEmptyRequestData, sessionID: string): string;
|
||||||
|
}
|
45
Ereshkigal-AkiConfig/dist/types/callbacks/DialogueCallbacks.d.ts
vendored
Normal file
45
Ereshkigal-AkiConfig/dist/types/callbacks/DialogueCallbacks.d.ts
vendored
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
import { DialogueController } from "../controllers/DialogueController";
|
||||||
|
import { OnUpdate } from "../di/OnUpdate";
|
||||||
|
import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData";
|
||||||
|
import { IFriendRequestData } from "../models/eft/dialog/IFriendRequestData";
|
||||||
|
import { IGetAllAttachmentsRequestData } from "../models/eft/dialog/IGetAllAttachmentsRequestData";
|
||||||
|
import { IGetAllAttachmentsResponse } from "../models/eft/dialog/IGetAllAttachmentsResponse";
|
||||||
|
import { IGetChatServerListRequestData } from "../models/eft/dialog/IGetChatServerListRequestData";
|
||||||
|
import { IGetFriendListDataResponse } from "../models/eft/dialog/IGetFriendListDataResponse";
|
||||||
|
import { IGetMailDialogInfoRequestData } from "../models/eft/dialog/IGetMailDialogInfoRequestData";
|
||||||
|
import { IGetMailDialogListRequestData } from "../models/eft/dialog/IGetMailDialogListRequestData";
|
||||||
|
import { IGetMailDialogViewRequestData } from "../models/eft/dialog/IGetMailDialogViewRequestData";
|
||||||
|
import { IGetMailDialogViewResponseData } from "../models/eft/dialog/IGetMailDialogViewResponseData";
|
||||||
|
import { IPinDialogRequestData } from "../models/eft/dialog/IPinDialogRequestData";
|
||||||
|
import { IRemoveDialogRequestData } from "../models/eft/dialog/IRemoveDialogRequestData";
|
||||||
|
import { ISendMessageRequest } from "../models/eft/dialog/ISendMessageRequest";
|
||||||
|
import { ISetDialogReadRequestData } from "../models/eft/dialog/ISetDialogReadRequestData";
|
||||||
|
import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData";
|
||||||
|
import { INullResponseData } from "../models/eft/httpResponse/INullResponseData";
|
||||||
|
import { DialogueInfo } from "../models/eft/profile/IAkiProfile";
|
||||||
|
import { HashUtil } from "../utils/HashUtil";
|
||||||
|
import { HttpResponseUtil } from "../utils/HttpResponseUtil";
|
||||||
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
|
export declare class DialogueCallbacks extends OnUpdate {
|
||||||
|
protected hashUtil: HashUtil;
|
||||||
|
protected timeUtil: TimeUtil;
|
||||||
|
protected httpResponse: HttpResponseUtil;
|
||||||
|
protected dialogueController: DialogueController;
|
||||||
|
constructor(hashUtil: HashUtil, timeUtil: TimeUtil, httpResponse: HttpResponseUtil, dialogueController: DialogueController);
|
||||||
|
getFriendList(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IGetFriendListDataResponse>;
|
||||||
|
getChatServerList(url: string, info: IGetChatServerListRequestData, sessionID: string): IGetBodyResponseData<any[]>;
|
||||||
|
getMailDialogList(url: string, info: IGetMailDialogListRequestData, sessionID: string): IGetBodyResponseData<DialogueInfo[]>;
|
||||||
|
getMailDialogView(url: string, info: IGetMailDialogViewRequestData, sessionID: string): IGetBodyResponseData<IGetMailDialogViewResponseData>;
|
||||||
|
getMailDialogInfo(url: string, info: IGetMailDialogInfoRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||||
|
removeDialog(url: string, info: IRemoveDialogRequestData, sessionID: string): IGetBodyResponseData<any[]>;
|
||||||
|
pinDialog(url: string, info: IPinDialogRequestData, sessionID: string): IGetBodyResponseData<any[]>;
|
||||||
|
unpinDialog(url: string, info: IPinDialogRequestData, sessionID: string): IGetBodyResponseData<any[]>;
|
||||||
|
setRead(url: string, info: ISetDialogReadRequestData, sessionID: string): IGetBodyResponseData<any[]>;
|
||||||
|
getAllAttachments(url: string, info: IGetAllAttachmentsRequestData, sessionID: string): IGetBodyResponseData<IGetAllAttachmentsResponse>;
|
||||||
|
listOutbox(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any[]>;
|
||||||
|
listInbox(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any[]>;
|
||||||
|
friendRequest(url: string, request: IFriendRequestData, sessionID: string): INullResponseData;
|
||||||
|
sendMessage(url: string, request: ISendMessageRequest, sessionID: string): IGetBodyResponseData<number>;
|
||||||
|
onUpdate(timeSinceLastRun: number): boolean;
|
||||||
|
getRoute(): string;
|
||||||
|
}
|
24
Ereshkigal-AkiConfig/dist/types/callbacks/GameCallbacks.d.ts
vendored
Normal file
24
Ereshkigal-AkiConfig/dist/types/callbacks/GameCallbacks.d.ts
vendored
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
import { GameController } from "../controllers/GameController";
|
||||||
|
import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData";
|
||||||
|
import { IGameConfigResponse } from "../models/eft/game/IGameConfigResponse";
|
||||||
|
import { IGameEmptyCrcRequestData } from "../models/eft/game/IGameEmptyCrcRequestData";
|
||||||
|
import { IVersionValidateRequestData } from "../models/eft/game/IVersionValidateRequestData";
|
||||||
|
import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData";
|
||||||
|
import { INullResponseData } from "../models/eft/httpResponse/INullResponseData";
|
||||||
|
import { HttpResponseUtil } from "../utils/HttpResponseUtil";
|
||||||
|
import { Watermark } from "../utils/Watermark";
|
||||||
|
declare class GameCallbacks {
|
||||||
|
protected httpResponse: HttpResponseUtil;
|
||||||
|
protected watermark: Watermark;
|
||||||
|
protected gameController: GameController;
|
||||||
|
constructor(httpResponse: HttpResponseUtil, watermark: Watermark, gameController: GameController);
|
||||||
|
versionValidate(url: string, info: IVersionValidateRequestData, sessionID: string): INullResponseData;
|
||||||
|
gameStart(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||||
|
gameLogout(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||||
|
getGameConfig(url: string, info: IGameEmptyCrcRequestData, sessionID: string): IGetBodyResponseData<IGameConfigResponse>;
|
||||||
|
getServer(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||||
|
validateGameVersion(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||||
|
gameKeepalive(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||||
|
getVersion(url: string, info: IEmptyRequestData, sessionID: string): string;
|
||||||
|
}
|
||||||
|
export { GameCallbacks };
|
8
Ereshkigal-AkiConfig/dist/types/callbacks/HandbookCallbacks.d.ts
vendored
Normal file
8
Ereshkigal-AkiConfig/dist/types/callbacks/HandbookCallbacks.d.ts
vendored
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
import { HandbookController } from "../controllers/HandbookController";
|
||||||
|
import { OnLoad } from "../di/OnLoad";
|
||||||
|
export declare class HandbookCallbacks extends OnLoad {
|
||||||
|
protected handbookController: HandbookController;
|
||||||
|
constructor(handbookController: HandbookController);
|
||||||
|
onLoad(): void;
|
||||||
|
getRoute(): string;
|
||||||
|
}
|
20
Ereshkigal-AkiConfig/dist/types/callbacks/HealthCallbacks.d.ts
vendored
Normal file
20
Ereshkigal-AkiConfig/dist/types/callbacks/HealthCallbacks.d.ts
vendored
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
import { HealthController } from "../controllers/HealthController";
|
||||||
|
import { ProfileHelper } from "../helpers/ProfileHelper";
|
||||||
|
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||||
|
import { IHealthTreatmentRequestData } from "../models/eft/health/IHealthTreatmentRequestData";
|
||||||
|
import { IOffraidEatRequestData } from "../models/eft/health/IOffraidEatRequestData";
|
||||||
|
import { IOffraidHealRequestData } from "../models/eft/health/IOffraidHealRequestData";
|
||||||
|
import { ISyncHealthRequestData } from "../models/eft/health/ISyncHealthRequestData";
|
||||||
|
import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData";
|
||||||
|
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
|
||||||
|
import { HttpResponseUtil } from "../utils/HttpResponseUtil";
|
||||||
|
export declare class HealthCallbacks {
|
||||||
|
protected httpResponse: HttpResponseUtil;
|
||||||
|
protected profileHelper: ProfileHelper;
|
||||||
|
protected healthController: HealthController;
|
||||||
|
constructor(httpResponse: HttpResponseUtil, profileHelper: ProfileHelper, healthController: HealthController);
|
||||||
|
syncHealth(url: string, info: ISyncHealthRequestData, sessionID: string): IGetBodyResponseData<string>;
|
||||||
|
offraidEat(pmcData: IPmcData, body: IOffraidEatRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
offraidHeal(pmcData: IPmcData, body: IOffraidHealRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
healthTreatment(pmcData: IPmcData, info: IHealthTreatmentRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
}
|
33
Ereshkigal-AkiConfig/dist/types/callbacks/HideoutCallbacks.d.ts
vendored
Normal file
33
Ereshkigal-AkiConfig/dist/types/callbacks/HideoutCallbacks.d.ts
vendored
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
import { HideoutController } from "../controllers/HideoutController";
|
||||||
|
import { OnUpdate } from "../di/OnUpdate";
|
||||||
|
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||||
|
import { IHideoutContinousProductionStartRequestData } from "../models/eft/hideout/IHideoutContinousProductionStartRequestData";
|
||||||
|
import { IHideoutPutItemInRequestData } from "../models/eft/hideout/IHideoutPutItemInRequestData";
|
||||||
|
import { IHideoutScavCaseStartRequestData } from "../models/eft/hideout/IHideoutScavCaseStartRequestData";
|
||||||
|
import { IHideoutSingleProductionStartRequestData } from "../models/eft/hideout/IHideoutSingleProductionStartRequestData";
|
||||||
|
import { IHideoutTakeItemOutRequestData } from "../models/eft/hideout/IHideoutTakeItemOutRequestData";
|
||||||
|
import { IHideoutTakeProductionRequestData } from "../models/eft/hideout/IHideoutTakeProductionRequestData";
|
||||||
|
import { IHideoutToggleAreaRequestData } from "../models/eft/hideout/IHideoutToggleAreaRequestData";
|
||||||
|
import { IHideoutUpgradeCompleteRequestData } from "../models/eft/hideout/IHideoutUpgradeCompleteRequestData";
|
||||||
|
import { IHideoutUpgradeRequestData } from "../models/eft/hideout/IHideoutUpgradeRequestData";
|
||||||
|
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
|
||||||
|
import { IHideoutConfig } from "../models/spt/config/IHideoutConfig";
|
||||||
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
|
export declare class HideoutCallbacks extends OnUpdate {
|
||||||
|
protected hideoutController: HideoutController;
|
||||||
|
protected configServer: ConfigServer;
|
||||||
|
protected hideoutConfig: IHideoutConfig;
|
||||||
|
constructor(hideoutController: HideoutController, // TODO: delay needed
|
||||||
|
configServer: ConfigServer);
|
||||||
|
upgrade(pmcData: IPmcData, body: IHideoutUpgradeRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
upgradeComplete(pmcData: IPmcData, body: IHideoutUpgradeCompleteRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
putItemsInAreaSlots(pmcData: IPmcData, body: IHideoutPutItemInRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
takeItemsFromAreaSlots(pmcData: IPmcData, body: IHideoutTakeItemOutRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
toggleArea(pmcData: IPmcData, body: IHideoutToggleAreaRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
singleProductionStart(pmcData: IPmcData, body: IHideoutSingleProductionStartRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
scavCaseProductionStart(pmcData: IPmcData, body: IHideoutScavCaseStartRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
continuousProductionStart(pmcData: IPmcData, body: IHideoutContinousProductionStartRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
takeProduction(pmcData: IPmcData, body: IHideoutTakeProductionRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
onUpdate(timeSinceLastRun: number): boolean;
|
||||||
|
getRoute(): string;
|
||||||
|
}
|
9
Ereshkigal-AkiConfig/dist/types/callbacks/HttpCallbacks.d.ts
vendored
Normal file
9
Ereshkigal-AkiConfig/dist/types/callbacks/HttpCallbacks.d.ts
vendored
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
import { OnLoad } from "../di/OnLoad";
|
||||||
|
import { IHttpServer } from "../models/spt/server/IHttpServer";
|
||||||
|
export declare class HttpCallbacks extends OnLoad {
|
||||||
|
protected httpServer: IHttpServer;
|
||||||
|
constructor(httpServer: IHttpServer);
|
||||||
|
onLoad(): void;
|
||||||
|
getRoute(): string;
|
||||||
|
getImage(): string;
|
||||||
|
}
|
23
Ereshkigal-AkiConfig/dist/types/callbacks/InraidCallbacks.d.ts
vendored
Normal file
23
Ereshkigal-AkiConfig/dist/types/callbacks/InraidCallbacks.d.ts
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
import { InraidController } from "../controllers/InraidController";
|
||||||
|
import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData";
|
||||||
|
import { INullResponseData } from "../models/eft/httpResponse/INullResponseData";
|
||||||
|
import { IRegisterPlayerRequestData } from "../models/eft/inRaid/IRegisterPlayerRequestData";
|
||||||
|
import { ISaveProgressRequestData } from "../models/eft/inRaid/ISaveProgressRequestData";
|
||||||
|
import { IAirdropConfig } from "../models/spt/config/IAirdropConfig";
|
||||||
|
import { IInRaidConfig } from "../models/spt/config/IInRaidConfig";
|
||||||
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
|
import { HttpResponseUtil } from "../utils/HttpResponseUtil";
|
||||||
|
export declare class InraidCallbacks {
|
||||||
|
protected inraidController: InraidController;
|
||||||
|
protected httpResponse: HttpResponseUtil;
|
||||||
|
protected configServer: ConfigServer;
|
||||||
|
protected airdropConfig: IAirdropConfig;
|
||||||
|
protected inraidConfig: IInRaidConfig;
|
||||||
|
constructor(inraidController: InraidController, httpResponse: HttpResponseUtil, configServer: ConfigServer);
|
||||||
|
registerPlayer(url: string, info: IRegisterPlayerRequestData, sessionID: string): INullResponseData;
|
||||||
|
saveProgress(url: string, info: ISaveProgressRequestData, sessionID: string): INullResponseData;
|
||||||
|
getRaidEndState(): string;
|
||||||
|
getRaidMenuSettings(url: string, info: IEmptyRequestData, sessionID: string): string;
|
||||||
|
getWeaponDurability(url: string, info: any, sessionID: string): string;
|
||||||
|
getAirdropConfig(url: string, info: any, sessionID: string): string;
|
||||||
|
}
|
24
Ereshkigal-AkiConfig/dist/types/callbacks/InsuranceCallbacks.d.ts
vendored
Normal file
24
Ereshkigal-AkiConfig/dist/types/callbacks/InsuranceCallbacks.d.ts
vendored
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
import { InsuranceController } from "../controllers/InsuranceController";
|
||||||
|
import { OnLoadOnUpdate } from "../di/OnLoadOnUpdate";
|
||||||
|
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||||
|
import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData";
|
||||||
|
import { IGetInsuranceCostRequestData } from "../models/eft/insurance/IGetInsuranceCostRequestData";
|
||||||
|
import { IInsureRequestData } from "../models/eft/insurance/IInsureRequestData";
|
||||||
|
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
|
||||||
|
import { IInsuranceConfig } from "../models/spt/config/IInsuranceConfig";
|
||||||
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
|
import { InsuranceService } from "../services/InsuranceService";
|
||||||
|
import { HttpResponseUtil } from "../utils/HttpResponseUtil";
|
||||||
|
export declare class InsuranceCallbacks extends OnLoadOnUpdate {
|
||||||
|
protected insuranceController: InsuranceController;
|
||||||
|
protected insuranceService: InsuranceService;
|
||||||
|
protected httpResponse: HttpResponseUtil;
|
||||||
|
protected configServer: ConfigServer;
|
||||||
|
protected insuranceConfig: IInsuranceConfig;
|
||||||
|
constructor(insuranceController: InsuranceController, insuranceService: InsuranceService, httpResponse: HttpResponseUtil, configServer: ConfigServer);
|
||||||
|
onLoad(): void;
|
||||||
|
getInsuranceCost(url: string, info: IGetInsuranceCostRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||||
|
insure(pmcData: IPmcData, body: IInsureRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
onUpdate(secondsSinceLastRun: number): boolean;
|
||||||
|
getRoute(): string;
|
||||||
|
}
|
39
Ereshkigal-AkiConfig/dist/types/callbacks/InventoryCallbacks.d.ts
vendored
Normal file
39
Ereshkigal-AkiConfig/dist/types/callbacks/InventoryCallbacks.d.ts
vendored
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
import { InventoryController } from "../controllers/InventoryController";
|
||||||
|
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||||
|
import { IInventoryBindRequestData } from "../models/eft/inventory/IInventoryBindRequestData";
|
||||||
|
import { IInventoryCreateMarkerRequestData } from "../models/eft/inventory/IInventoryCreateMarkerRequestData";
|
||||||
|
import { IInventoryDeleteMarkerRequestData } from "../models/eft/inventory/IInventoryDeleteMarkerRequestData";
|
||||||
|
import { IInventoryEditMarkerRequestData } from "../models/eft/inventory/IInventoryEditMarkerRequestData";
|
||||||
|
import { IInventoryExamineRequestData } from "../models/eft/inventory/IInventoryExamineRequestData";
|
||||||
|
import { IInventoryFoldRequestData } from "../models/eft/inventory/IInventoryFoldRequestData";
|
||||||
|
import { IInventoryMergeRequestData } from "../models/eft/inventory/IInventoryMergeRequestData";
|
||||||
|
import { IInventoryMoveRequestData } from "../models/eft/inventory/IInventoryMoveRequestData";
|
||||||
|
import { IInventoryReadEncyclopediaRequestData } from "../models/eft/inventory/IInventoryReadEncyclopediaRequestData";
|
||||||
|
import { IInventoryRemoveRequestData } from "../models/eft/inventory/IInventoryRemoveRequestData";
|
||||||
|
import { IInventorySortRequestData } from "../models/eft/inventory/IInventorySortRequestData";
|
||||||
|
import { IInventorySplitRequestData } from "../models/eft/inventory/IInventorySplitRequestData";
|
||||||
|
import { IInventorySwapRequestData } from "../models/eft/inventory/IInventorySwapRequestData";
|
||||||
|
import { IInventoryTagRequestData } from "../models/eft/inventory/IInventoryTagRequestData";
|
||||||
|
import { IInventoryToggleRequestData } from "../models/eft/inventory/IInventoryToggleRequestData";
|
||||||
|
import { IInventoryTransferRequestData } from "../models/eft/inventory/IInventoryTransferRequestData";
|
||||||
|
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
|
||||||
|
export declare class InventoryCallbacks {
|
||||||
|
protected inventoryController: InventoryController;
|
||||||
|
constructor(inventoryController: InventoryController);
|
||||||
|
moveItem(pmcData: IPmcData, body: IInventoryMoveRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
removeItem(pmcData: IPmcData, body: IInventoryRemoveRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
splitItem(pmcData: IPmcData, body: IInventorySplitRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
mergeItem(pmcData: IPmcData, body: IInventoryMergeRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
transferItem(pmcData: IPmcData, body: IInventoryTransferRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
swapItem(pmcData: IPmcData, body: IInventorySwapRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
foldItem(pmcData: IPmcData, body: IInventoryFoldRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
toggleItem(pmcData: IPmcData, body: IInventoryToggleRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
tagItem(pmcData: IPmcData, body: IInventoryTagRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
bindItem(pmcData: IPmcData, body: IInventoryBindRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
examineItem(pmcData: IPmcData, body: IInventoryExamineRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
readEncyclopedia(pmcData: IPmcData, body: IInventoryReadEncyclopediaRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
sortInventory(pmcData: IPmcData, body: IInventorySortRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
createMapMarker(pmcData: IPmcData, body: IInventoryCreateMarkerRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
deleteMapMarker(pmcData: IPmcData, body: IInventoryDeleteMarkerRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
editMapMarker(pmcData: IPmcData, body: IInventoryEditMarkerRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
}
|
11
Ereshkigal-AkiConfig/dist/types/callbacks/ItemEventCallbacks.d.ts
vendored
Normal file
11
Ereshkigal-AkiConfig/dist/types/callbacks/ItemEventCallbacks.d.ts
vendored
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData";
|
||||||
|
import { IItemEventRouterRequest } from "../models/eft/itemEvent/IItemEventRouterRequest";
|
||||||
|
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
|
||||||
|
import { ItemEventRouter } from "../routers/ItemEventRouter";
|
||||||
|
import { HttpResponseUtil } from "../utils/HttpResponseUtil";
|
||||||
|
export declare class ItemEventCallbacks {
|
||||||
|
protected httpResponse: HttpResponseUtil;
|
||||||
|
protected itemEventRouter: ItemEventRouter;
|
||||||
|
constructor(httpResponse: HttpResponseUtil, itemEventRouter: ItemEventRouter);
|
||||||
|
handleEvents(url: string, info: IItemEventRouterRequest, sessionID: string): IGetBodyResponseData<IItemEventRouterResponse>;
|
||||||
|
}
|
28
Ereshkigal-AkiConfig/dist/types/callbacks/LauncherCallbacks.d.ts
vendored
Normal file
28
Ereshkigal-AkiConfig/dist/types/callbacks/LauncherCallbacks.d.ts
vendored
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
import { LauncherController } from "../controllers/LauncherController";
|
||||||
|
import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData";
|
||||||
|
import { IChangeRequestData } from "../models/eft/launcher/IChangeRequestData";
|
||||||
|
import { ILoginRequestData } from "../models/eft/launcher/ILoginRequestData";
|
||||||
|
import { IRegisterData } from "../models/eft/launcher/IRegisterData";
|
||||||
|
import { IRemoveProfileData } from "../models/eft/launcher/IRemoveProfileData";
|
||||||
|
import { SaveServer } from "../servers/SaveServer";
|
||||||
|
import { HttpResponseUtil } from "../utils/HttpResponseUtil";
|
||||||
|
import { Watermark } from "../utils/Watermark";
|
||||||
|
declare class LauncherCallbacks {
|
||||||
|
protected httpResponse: HttpResponseUtil;
|
||||||
|
protected launcherController: LauncherController;
|
||||||
|
protected saveServer: SaveServer;
|
||||||
|
protected watermark: Watermark;
|
||||||
|
constructor(httpResponse: HttpResponseUtil, launcherController: LauncherController, saveServer: SaveServer, watermark: Watermark);
|
||||||
|
connect(): string;
|
||||||
|
login(url: string, info: ILoginRequestData, sessionID: string): string;
|
||||||
|
register(url: string, info: IRegisterData, sessionID: string): "FAILED" | "OK";
|
||||||
|
get(url: string, info: ILoginRequestData, sessionID: string): string;
|
||||||
|
changeUsername(url: string, info: IChangeRequestData, sessionID: string): "FAILED" | "OK";
|
||||||
|
changePassword(url: string, info: IChangeRequestData, sessionID: string): "FAILED" | "OK";
|
||||||
|
wipe(url: string, info: IRegisterData, sessionID: string): "FAILED" | "OK";
|
||||||
|
getServerVersion(): string;
|
||||||
|
ping(url: string, info: IEmptyRequestData, sessionID: string): string;
|
||||||
|
removeProfile(url: string, info: IRemoveProfileData, sessionID: string): string;
|
||||||
|
getCompatibleTarkovVersion(): string;
|
||||||
|
}
|
||||||
|
export { LauncherCallbacks };
|
14
Ereshkigal-AkiConfig/dist/types/callbacks/LocationCallbacks.d.ts
vendored
Normal file
14
Ereshkigal-AkiConfig/dist/types/callbacks/LocationCallbacks.d.ts
vendored
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import { LocationController } from "../controllers/LocationController";
|
||||||
|
import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData";
|
||||||
|
import { ILocationBase } from "../models/eft/common/ILocationBase";
|
||||||
|
import { ILocationsGenerateAllResponse } from "../models/eft/common/ILocationsSourceDestinationBase";
|
||||||
|
import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData";
|
||||||
|
import { IGetLocationRequestData } from "../models/eft/location/IGetLocationRequestData";
|
||||||
|
import { HttpResponseUtil } from "../utils/HttpResponseUtil";
|
||||||
|
export declare class LocationCallbacks {
|
||||||
|
protected httpResponse: HttpResponseUtil;
|
||||||
|
protected locationController: LocationController;
|
||||||
|
constructor(httpResponse: HttpResponseUtil, locationController: LocationController);
|
||||||
|
getLocationData(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<ILocationsGenerateAllResponse>;
|
||||||
|
getLocation(url: string, info: IGetLocationRequestData, sessionID: string): IGetBodyResponseData<ILocationBase>;
|
||||||
|
}
|
35
Ereshkigal-AkiConfig/dist/types/callbacks/MatchCallbacks.d.ts
vendored
Normal file
35
Ereshkigal-AkiConfig/dist/types/callbacks/MatchCallbacks.d.ts
vendored
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
import { MatchController } from "../controllers/MatchController";
|
||||||
|
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||||
|
import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData";
|
||||||
|
import { INullResponseData } from "../models/eft/httpResponse/INullResponseData";
|
||||||
|
import { IEndOfflineRaidRequestData } from "../models/eft/match/IEndOfflineRaidRequestData";
|
||||||
|
import { IGetProfileRequestData } from "../models/eft/match/IGetProfileRequestData";
|
||||||
|
import { IStartOfflineRaidRequestData } from "../models/eft/match/IStartOffineRaidRequestData";
|
||||||
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
import { HttpResponseUtil } from "../utils/HttpResponseUtil";
|
||||||
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
|
export declare class MatchCallbacks {
|
||||||
|
protected httpResponse: HttpResponseUtil;
|
||||||
|
protected jsonUtil: JsonUtil;
|
||||||
|
protected matchController: MatchController;
|
||||||
|
protected databaseServer: DatabaseServer;
|
||||||
|
constructor(httpResponse: HttpResponseUtil, jsonUtil: JsonUtil, matchController: MatchController, databaseServer: DatabaseServer);
|
||||||
|
updatePing(url: string, info: any, sessionID: string): INullResponseData;
|
||||||
|
exitMatch(url: string, info: any, sessionID: string): INullResponseData;
|
||||||
|
exitToMenu(url: string, info: any, sessionID: string): INullResponseData;
|
||||||
|
startGroupSearch(url: string, info: any, sessionID: string): INullResponseData;
|
||||||
|
stopGroupSearch(url: string, info: any, sessionID: string): INullResponseData;
|
||||||
|
sendGroupInvite(url: string, info: any, sessionID: string): INullResponseData;
|
||||||
|
acceptGroupInvite(url: string, info: any, sessionID: string): INullResponseData;
|
||||||
|
cancelGroupInvite(url: string, info: any, sessionID: string): INullResponseData;
|
||||||
|
putMetrics(url: string, info: any, sessionID: string): INullResponseData;
|
||||||
|
getProfile(url: string, info: IGetProfileRequestData, sessionID: string): IGetBodyResponseData<IPmcData[]>;
|
||||||
|
serverAvailable(url: string, info: any, sessionID: string): IGetBodyResponseData<any> | IGetBodyResponseData<true>;
|
||||||
|
joinMatch(url: string, info: any, sessionID: string): IGetBodyResponseData<any>;
|
||||||
|
getMetrics(url: string, info: any, sessionID: string): IGetBodyResponseData<string>;
|
||||||
|
getGroupStatus(url: string, info: any, sessionID: string): IGetBodyResponseData<any>;
|
||||||
|
createGroup(url: string, info: any, sessionID: string): IGetBodyResponseData<any>;
|
||||||
|
deleteGroup(url: string, info: any, sessionID: string): INullResponseData;
|
||||||
|
startOfflineRaid(url: string, info: IStartOfflineRaidRequestData, sessionID: string): INullResponseData;
|
||||||
|
endOfflineRaid(url: string, info: IEndOfflineRaidRequestData, sessionID: string): INullResponseData;
|
||||||
|
}
|
22
Ereshkigal-AkiConfig/dist/types/callbacks/ModCallbacks.d.ts
vendored
Normal file
22
Ereshkigal-AkiConfig/dist/types/callbacks/ModCallbacks.d.ts
vendored
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
import { OnLoad } from "../di/OnLoad";
|
||||||
|
import { DelayedModLoader } from "../loaders/DelayedModLoader";
|
||||||
|
import { IHttpConfig } from "../models/spt/config/IHttpConfig";
|
||||||
|
import { IHttpServer } from "../models/spt/server/IHttpServer";
|
||||||
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
|
import { HttpResponseUtil } from "../utils/HttpResponseUtil";
|
||||||
|
declare class ModCallbacks extends OnLoad {
|
||||||
|
protected logger: ILogger;
|
||||||
|
protected httpResponse: HttpResponseUtil;
|
||||||
|
protected httpServer: IHttpServer;
|
||||||
|
protected modLoader: DelayedModLoader;
|
||||||
|
protected configServer: ConfigServer;
|
||||||
|
protected httpConfig: IHttpConfig;
|
||||||
|
constructor(logger: ILogger, httpResponse: HttpResponseUtil, httpServer: IHttpServer, modLoader: DelayedModLoader, configServer: ConfigServer);
|
||||||
|
onLoad(): void;
|
||||||
|
getRoute(): string;
|
||||||
|
sendBundle(sessionID: string, req: any, resp: any, body: any): void;
|
||||||
|
getBundles(url: string, info: any, sessionID: string): string;
|
||||||
|
getBundle(url: string, info: any, sessionID: string): string;
|
||||||
|
}
|
||||||
|
export { ModCallbacks };
|
11
Ereshkigal-AkiConfig/dist/types/callbacks/NoteCallbacks.d.ts
vendored
Normal file
11
Ereshkigal-AkiConfig/dist/types/callbacks/NoteCallbacks.d.ts
vendored
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
import { NoteController } from "../controllers/NoteController";
|
||||||
|
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||||
|
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
|
||||||
|
import { INoteActionData } from "../models/eft/notes/INoteActionData";
|
||||||
|
export declare class NoteCallbacks {
|
||||||
|
protected noteController: NoteController;
|
||||||
|
constructor(noteController: NoteController);
|
||||||
|
addNote(pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
editNote(pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
deleteNote(pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
}
|
24
Ereshkigal-AkiConfig/dist/types/callbacks/NotifierCallbacks.d.ts
vendored
Normal file
24
Ereshkigal-AkiConfig/dist/types/callbacks/NotifierCallbacks.d.ts
vendored
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
import { NotifierController } from "../controllers/NotifierController";
|
||||||
|
import { HttpServerHelper } from "../helpers/HttpServerHelper";
|
||||||
|
import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData";
|
||||||
|
import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData";
|
||||||
|
import { INotifierChannel } from "../models/eft/notifier/INotifier";
|
||||||
|
import { ISelectProfileRequestData } from "../models/eft/notifier/ISelectProfileRequestData";
|
||||||
|
import { HttpResponseUtil } from "../utils/HttpResponseUtil";
|
||||||
|
export declare class NotifierCallbacks {
|
||||||
|
protected httpServerHelper: HttpServerHelper;
|
||||||
|
protected httpResponse: HttpResponseUtil;
|
||||||
|
protected notifierController: NotifierController;
|
||||||
|
constructor(httpServerHelper: HttpServerHelper, httpResponse: HttpResponseUtil, notifierController: NotifierController);
|
||||||
|
/**
|
||||||
|
* If we don't have anything to send, it's ok to not send anything back
|
||||||
|
* because notification requests can be long-polling. In fact, we SHOULD wait
|
||||||
|
* until we actually have something to send because otherwise we'd spam the client
|
||||||
|
* and the client would abort the connection due to spam.
|
||||||
|
*/
|
||||||
|
sendNotification(_sessionID: string, req: any, resp: any, _data: any): void;
|
||||||
|
getNotifier(url: string, info: any, sessionID: string): IGetBodyResponseData<any[]>;
|
||||||
|
createNotifierChannel(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<INotifierChannel>;
|
||||||
|
selectProfile(url: string, info: ISelectProfileRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||||
|
notify(url: string, info: any, sessionID: string): string;
|
||||||
|
}
|
15
Ereshkigal-AkiConfig/dist/types/callbacks/PresetBuildCallbacks.d.ts
vendored
Normal file
15
Ereshkigal-AkiConfig/dist/types/callbacks/PresetBuildCallbacks.d.ts
vendored
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
import { PresetBuildController } from "../controllers/PresetBuildController";
|
||||||
|
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||||
|
import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData";
|
||||||
|
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
|
||||||
|
import { IPresetBuildActionRequestData } from "../models/eft/presetBuild/IPresetBuildActionRequestData";
|
||||||
|
import { WeaponBuild } from "../models/eft/profile/IAkiProfile";
|
||||||
|
import { HttpResponseUtil } from "../utils/HttpResponseUtil";
|
||||||
|
export declare class PresetBuildCallbacks {
|
||||||
|
protected httpResponse: HttpResponseUtil;
|
||||||
|
protected presetBuildController: PresetBuildController;
|
||||||
|
constructor(httpResponse: HttpResponseUtil, presetBuildController: PresetBuildController);
|
||||||
|
getHandbookUserlist(url: string, info: any, sessionID: string): IGetBodyResponseData<WeaponBuild[]>;
|
||||||
|
saveBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
removeBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
}
|
8
Ereshkigal-AkiConfig/dist/types/callbacks/PresetCallbacks.d.ts
vendored
Normal file
8
Ereshkigal-AkiConfig/dist/types/callbacks/PresetCallbacks.d.ts
vendored
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
import { PresetController } from "../controllers/PresetController";
|
||||||
|
import { OnLoad } from "../di/OnLoad";
|
||||||
|
export declare class PresetCallbacks extends OnLoad {
|
||||||
|
protected presetController: PresetController;
|
||||||
|
constructor(presetController: PresetController);
|
||||||
|
onLoad(): void;
|
||||||
|
getRoute(): string;
|
||||||
|
}
|
30
Ereshkigal-AkiConfig/dist/types/callbacks/ProfileCallbacks.d.ts
vendored
Normal file
30
Ereshkigal-AkiConfig/dist/types/callbacks/ProfileCallbacks.d.ts
vendored
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
import { ProfileController } from "../controllers/ProfileController";
|
||||||
|
import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData";
|
||||||
|
import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData";
|
||||||
|
import { INullResponseData } from "../models/eft/httpResponse/INullResponseData";
|
||||||
|
import { IGetMiniProfileRequestData } from "../models/eft/launcher/IGetMiniProfileRequestData";
|
||||||
|
import { IProfileChangeNicknameRequestData } from "../models/eft/profile/IProfileChangeNicknameRequestData";
|
||||||
|
import { IProfileChangeVoiceRequestData } from "../models/eft/profile/IProfileChangeVoiceRequestData";
|
||||||
|
import { IProfileCreateRequestData } from "../models/eft/profile/IProfileCreateRequestData";
|
||||||
|
import { ISearchFriendRequestData } from "../models/eft/profile/ISearchFriendRequestData";
|
||||||
|
import { ISearchFriendResponse } from "../models/eft/profile/ISearchFriendResponse";
|
||||||
|
import { IValidateNicknameRequestData } from "../models/eft/profile/IValidateNicknameRequestData";
|
||||||
|
import { HttpResponseUtil } from "../utils/HttpResponseUtil";
|
||||||
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
|
export declare class ProfileCallbacks {
|
||||||
|
protected httpResponse: HttpResponseUtil;
|
||||||
|
protected timeUtil: TimeUtil;
|
||||||
|
protected profileController: ProfileController;
|
||||||
|
constructor(httpResponse: HttpResponseUtil, timeUtil: TimeUtil, profileController: ProfileController);
|
||||||
|
createProfile(url: string, info: IProfileCreateRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||||
|
getProfileData(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||||
|
regenerateScav(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||||
|
changeVoice(url: string, info: IProfileChangeVoiceRequestData, sessionID: string): INullResponseData;
|
||||||
|
changeNickname(url: string, info: IProfileChangeNicknameRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||||
|
validateNickname(url: string, info: IValidateNicknameRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||||
|
getReservedNickname(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<string>;
|
||||||
|
getProfileStatus(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||||
|
searchFriend(url: string, info: ISearchFriendRequestData, sessionID: string): IGetBodyResponseData<ISearchFriendResponse[]>;
|
||||||
|
getMiniProfile(url: string, info: IGetMiniProfileRequestData, sessionID: string): string;
|
||||||
|
getAllMiniProfiles(url: string, info: any, sessionID: string): string;
|
||||||
|
}
|
26
Ereshkigal-AkiConfig/dist/types/callbacks/QuestCallbacks.d.ts
vendored
Normal file
26
Ereshkigal-AkiConfig/dist/types/callbacks/QuestCallbacks.d.ts
vendored
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
import { QuestController } from "../controllers/QuestController";
|
||||||
|
import { RepeatableQuestController } from "../controllers/RepeatableQuestController";
|
||||||
|
import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData";
|
||||||
|
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||||
|
import { IQuest } from "../models/eft/common/tables/IQuest";
|
||||||
|
import { IPmcDataRepeatableQuest } from "../models/eft/common/tables/IRepeatableQuests";
|
||||||
|
import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData";
|
||||||
|
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
|
||||||
|
import { IAcceptQuestRequestData } from "../models/eft/quests/IAcceptQuestRequestData";
|
||||||
|
import { ICompleteQuestRequestData } from "../models/eft/quests/ICompleteQuestRequestData";
|
||||||
|
import { IHandoverQuestRequestData } from "../models/eft/quests/IHandoverQuestRequestData";
|
||||||
|
import { IListQuestsRequestData } from "../models/eft/quests/IListQuestsRequestData";
|
||||||
|
import { IRepeatableQuestChangeRequest } from "../models/eft/quests/IRepeatableQuestChangeRequest";
|
||||||
|
import { HttpResponseUtil } from "../utils/HttpResponseUtil";
|
||||||
|
export declare class QuestCallbacks {
|
||||||
|
protected httpResponse: HttpResponseUtil;
|
||||||
|
protected questController: QuestController;
|
||||||
|
protected repeatableQuestController: RepeatableQuestController;
|
||||||
|
constructor(httpResponse: HttpResponseUtil, questController: QuestController, repeatableQuestController: RepeatableQuestController);
|
||||||
|
changeRepeatableQuest(pmcData: IPmcData, body: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse;
|
||||||
|
acceptQuest(pmcData: IPmcData, body: IAcceptQuestRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
completeQuest(pmcData: IPmcData, body: ICompleteQuestRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
handoverQuest(pmcData: IPmcData, body: IHandoverQuestRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
listQuests(url: string, info: IListQuestsRequestData, sessionID: string): IGetBodyResponseData<IQuest[]>;
|
||||||
|
activityPeriods(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IPmcDataRepeatableQuest[]>;
|
||||||
|
}
|
39
Ereshkigal-AkiConfig/dist/types/callbacks/RagfairCallbacks.d.ts
vendored
Normal file
39
Ereshkigal-AkiConfig/dist/types/callbacks/RagfairCallbacks.d.ts
vendored
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
import { RagfairController } from "../controllers/RagfairController";
|
||||||
|
import { OnLoadOnUpdate } from "../di/OnLoadOnUpdate";
|
||||||
|
import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData";
|
||||||
|
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||||
|
import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData";
|
||||||
|
import { INullResponseData } from "../models/eft/httpResponse/INullResponseData";
|
||||||
|
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
|
||||||
|
import { IAddOfferRequestData } from "../models/eft/ragfair/IAddOfferRequestData";
|
||||||
|
import { IExtendOfferRequestData } from "../models/eft/ragfair/IExtendOfferRequestData";
|
||||||
|
import { IGetItemPriceResult } from "../models/eft/ragfair/IGetItemPriceResult";
|
||||||
|
import { IGetMarketPriceRequestData } from "../models/eft/ragfair/IGetMarketPriceRequestData";
|
||||||
|
import { IRemoveOfferRequestData } from "../models/eft/ragfair/IRemoveOfferRequestData";
|
||||||
|
import { ISearchRequestData } from "../models/eft/ragfair/ISearchRequestData";
|
||||||
|
import { IRagfairConfig } from "../models/spt/config/IRagfairConfig";
|
||||||
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
|
import { RagfairServer } from "../servers/RagfairServer";
|
||||||
|
import { HttpResponseUtil } from "../utils/HttpResponseUtil";
|
||||||
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
|
export declare class RagfairCallbacks extends OnLoadOnUpdate {
|
||||||
|
protected httpResponse: HttpResponseUtil;
|
||||||
|
protected logger: ILogger;
|
||||||
|
protected jsonUtil: JsonUtil;
|
||||||
|
protected ragfairServer: RagfairServer;
|
||||||
|
protected ragfairController: RagfairController;
|
||||||
|
protected configServer: ConfigServer;
|
||||||
|
protected ragfairConfig: IRagfairConfig;
|
||||||
|
constructor(httpResponse: HttpResponseUtil, logger: ILogger, jsonUtil: JsonUtil, ragfairServer: RagfairServer, ragfairController: RagfairController, configServer: ConfigServer);
|
||||||
|
onLoad(): void;
|
||||||
|
getRoute(): string;
|
||||||
|
search(url: string, info: ISearchRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||||
|
getMarketPrice(url: string, info: IGetMarketPriceRequestData, sessionID: string): IGetBodyResponseData<IGetItemPriceResult>;
|
||||||
|
getItemPrices(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||||
|
addOffer(pmcData: IPmcData, info: IAddOfferRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
removeOffer(pmcData: IPmcData, info: IRemoveOfferRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
extendOffer(pmcData: IPmcData, info: IExtendOfferRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
onUpdate(timeSinceLastRun: number): boolean;
|
||||||
|
sendReport(url: string, info: any, sessionID: string): INullResponseData;
|
||||||
|
}
|
11
Ereshkigal-AkiConfig/dist/types/callbacks/RepairCallbacks.d.ts
vendored
Normal file
11
Ereshkigal-AkiConfig/dist/types/callbacks/RepairCallbacks.d.ts
vendored
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
import { RepairController } from "../controllers/RepairController";
|
||||||
|
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||||
|
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
|
||||||
|
import { IRepairActionDataRequest } from "../models/eft/repair/IRepairActionDataRequest";
|
||||||
|
import { ITraderRepairActionDataRequest } from "../models/eft/repair/ITraderRepairActionDataRequest";
|
||||||
|
export declare class RepairCallbacks {
|
||||||
|
protected repairController: RepairController;
|
||||||
|
constructor(repairController: RepairController);
|
||||||
|
traderRepair(pmcData: IPmcData, body: ITraderRepairActionDataRequest, sessionID: string): IItemEventRouterResponse;
|
||||||
|
repair(pmcData: IPmcData, body: IRepairActionDataRequest, sessionID: string): IItemEventRouterResponse;
|
||||||
|
}
|
9
Ereshkigal-AkiConfig/dist/types/callbacks/SaveCallbacks.d.ts
vendored
Normal file
9
Ereshkigal-AkiConfig/dist/types/callbacks/SaveCallbacks.d.ts
vendored
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
import { OnLoadOnUpdate } from "../di/OnLoadOnUpdate";
|
||||||
|
import { SaveServer } from "../servers/SaveServer";
|
||||||
|
export declare class SaveCallbacks extends OnLoadOnUpdate {
|
||||||
|
protected saveServer: SaveServer;
|
||||||
|
constructor(saveServer: SaveServer);
|
||||||
|
onLoad(): void;
|
||||||
|
getRoute(): string;
|
||||||
|
onUpdate(secondsSinceLastRun: number): boolean;
|
||||||
|
}
|
11
Ereshkigal-AkiConfig/dist/types/callbacks/TradeCallbacks.d.ts
vendored
Normal file
11
Ereshkigal-AkiConfig/dist/types/callbacks/TradeCallbacks.d.ts
vendored
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
import { TradeController } from "../controllers/TradeController";
|
||||||
|
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||||
|
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
|
||||||
|
import { IProcessBaseTradeRequestData } from "../models/eft/trade/IProcessBaseTradeRequestData";
|
||||||
|
import { IProcessRagfairTradeRequestData } from "../models/eft/trade/IProcessRagfairTradeRequestData";
|
||||||
|
export declare class TradeCallbacks {
|
||||||
|
protected tradeController: TradeController;
|
||||||
|
constructor(tradeController: TradeController);
|
||||||
|
processTrade(pmcData: IPmcData, body: IProcessBaseTradeRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
processRagfairTrade(pmcData: IPmcData, body: IProcessRagfairTradeRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
}
|
18
Ereshkigal-AkiConfig/dist/types/callbacks/TraderCallbacks.d.ts
vendored
Normal file
18
Ereshkigal-AkiConfig/dist/types/callbacks/TraderCallbacks.d.ts
vendored
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
import { TraderController } from "../controllers/TraderController";
|
||||||
|
import { OnLoadOnUpdate } from "../di/OnLoadOnUpdate";
|
||||||
|
import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData";
|
||||||
|
import { IBarterScheme, ITraderAssort, ITraderBase } from "../models/eft/common/tables/ITrader";
|
||||||
|
import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData";
|
||||||
|
import { HttpResponseUtil } from "../utils/HttpResponseUtil";
|
||||||
|
export declare class TraderCallbacks extends OnLoadOnUpdate {
|
||||||
|
protected httpResponse: HttpResponseUtil;
|
||||||
|
protected traderController: TraderController;
|
||||||
|
constructor(httpResponse: HttpResponseUtil, traderController: TraderController);
|
||||||
|
onLoad(): void;
|
||||||
|
getRoute(): string;
|
||||||
|
getTraderSettings(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<ITraderBase[]>;
|
||||||
|
getProfilePurchases(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<Record<string, IBarterScheme[][]>>;
|
||||||
|
getTrader(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<ITraderBase>;
|
||||||
|
getAssort(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<ITraderAssort>;
|
||||||
|
onUpdate(): boolean;
|
||||||
|
}
|
10
Ereshkigal-AkiConfig/dist/types/callbacks/WeatherCallbacks.d.ts
vendored
Normal file
10
Ereshkigal-AkiConfig/dist/types/callbacks/WeatherCallbacks.d.ts
vendored
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
import { WeatherController } from "../controllers/WeatherController";
|
||||||
|
import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData";
|
||||||
|
import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData";
|
||||||
|
import { HttpResponseUtil } from "../utils/HttpResponseUtil";
|
||||||
|
export declare class WeatherCallbacks {
|
||||||
|
protected httpResponse: HttpResponseUtil;
|
||||||
|
protected weatherController: WeatherController;
|
||||||
|
constructor(httpResponse: HttpResponseUtil, weatherController: WeatherController);
|
||||||
|
getWeather(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||||
|
}
|
10
Ereshkigal-AkiConfig/dist/types/callbacks/WishlistCallbacks.d.ts
vendored
Normal file
10
Ereshkigal-AkiConfig/dist/types/callbacks/WishlistCallbacks.d.ts
vendored
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
import { WishlistController } from "../controllers/WishlistController";
|
||||||
|
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||||
|
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
|
||||||
|
import { IWishlistActionData } from "../models/eft/wishlist/IWishlistActionData";
|
||||||
|
export declare class WishlistCallbacks {
|
||||||
|
protected wishlistController: WishlistController;
|
||||||
|
constructor(wishlistController: WishlistController);
|
||||||
|
addToWishlist(pmcData: IPmcData, body: IWishlistActionData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
removeFromWishlist(pmcData: IPmcData, body: IWishlistActionData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
}
|
35
Ereshkigal-AkiConfig/dist/types/controllers/BotController.d.ts
vendored
Normal file
35
Ereshkigal-AkiConfig/dist/types/controllers/BotController.d.ts
vendored
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
import { BotGenerator } from "../generators/BotGenerator";
|
||||||
|
import { BotHelper } from "../helpers/BotHelper";
|
||||||
|
import { IGenerateBotsRequestData } from "../models/eft/bot/IGenerateBotsRequestData";
|
||||||
|
import { IBotBase } from "../models/eft/common/tables/IBotBase";
|
||||||
|
import { IBotCore } from "../models/eft/common/tables/IBotCore";
|
||||||
|
import { Difficulty } from "../models/eft/common/tables/IBotType";
|
||||||
|
import { IBotConfig } from "../models/spt/config/IBotConfig";
|
||||||
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
export declare class BotController {
|
||||||
|
protected databaseServer: DatabaseServer;
|
||||||
|
protected botGenerator: BotGenerator;
|
||||||
|
protected botHelper: BotHelper;
|
||||||
|
protected configServer: ConfigServer;
|
||||||
|
protected botConfig: IBotConfig;
|
||||||
|
constructor(databaseServer: DatabaseServer, botGenerator: BotGenerator, botHelper: BotHelper, configServer: ConfigServer);
|
||||||
|
/**
|
||||||
|
* Return the number of bot loadout varieties to be generated
|
||||||
|
* @param type bot Type we want the loadout gen count for
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
|
getBotPresetGenerationLimit(type: string): number;
|
||||||
|
getBotCoreDifficulty(): IBotCore;
|
||||||
|
/**
|
||||||
|
* Get bot difficulty settings
|
||||||
|
* adjust PMC settings to ensure they engage the correct bot types
|
||||||
|
* @param type what bot the server is requesting settings for
|
||||||
|
* @param difficulty difficulty level server requested settings for
|
||||||
|
* @returns Difficulty object
|
||||||
|
*/
|
||||||
|
getBotDifficulty(type: string, difficulty: string): Difficulty;
|
||||||
|
protected getPmcDifficultySettings(pmcType: "bear" | "usec", difficulty: string): Difficulty;
|
||||||
|
generate(info: IGenerateBotsRequestData, playerScav?: boolean): IBotBase[];
|
||||||
|
getBotCap(): number;
|
||||||
|
}
|
22
Ereshkigal-AkiConfig/dist/types/controllers/CustomizationController.d.ts
vendored
Normal file
22
Ereshkigal-AkiConfig/dist/types/controllers/CustomizationController.d.ts
vendored
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
import { ProfileHelper } from "../helpers/ProfileHelper";
|
||||||
|
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||||
|
import { ISuit } from "../models/eft/common/tables/ITrader";
|
||||||
|
import { IBuyClothingRequestData } from "../models/eft/customization/IBuyClothingRequestData";
|
||||||
|
import { IWearClothingRequestData } from "../models/eft/customization/IWearClothingRequestData";
|
||||||
|
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
|
||||||
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
|
import { ItemEventRouter } from "../routers/ItemEventRouter";
|
||||||
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
import { SaveServer } from "../servers/SaveServer";
|
||||||
|
export declare class CustomizationController {
|
||||||
|
protected logger: ILogger;
|
||||||
|
protected itemEventRouter: ItemEventRouter;
|
||||||
|
protected databaseServer: DatabaseServer;
|
||||||
|
protected saveServer: SaveServer;
|
||||||
|
protected profileHelper: ProfileHelper;
|
||||||
|
constructor(logger: ILogger, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, saveServer: SaveServer, profileHelper: ProfileHelper);
|
||||||
|
getTraderSuits(traderID: string, sessionID: string): ISuit[];
|
||||||
|
wearClothing(pmcData: IPmcData, body: IWearClothingRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
buyClothing(pmcData: IPmcData, body: IBuyClothingRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
protected getAllTraderSuits(sessionID: string): ISuit[];
|
||||||
|
}
|
25
Ereshkigal-AkiConfig/dist/types/controllers/DialogueController.d.ts
vendored
Normal file
25
Ereshkigal-AkiConfig/dist/types/controllers/DialogueController.d.ts
vendored
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
import { DialogueHelper } from "../helpers/DialogueHelper";
|
||||||
|
import { IGetAllAttachmentsResponse } from "../models/eft/dialog/IGetAllAttachmentsResponse";
|
||||||
|
import { IGetFriendListDataResponse } from "../models/eft/dialog/IGetFriendListDataResponse";
|
||||||
|
import { IGetMailDialogViewResponseData } from "../models/eft/dialog/IGetMailDialogViewResponseData";
|
||||||
|
import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData";
|
||||||
|
import { DialogueInfo, Message } from "../models/eft/profile/IAkiProfile";
|
||||||
|
import { SaveServer } from "../servers/SaveServer";
|
||||||
|
import { HttpResponseUtil } from "../utils/HttpResponseUtil";
|
||||||
|
export declare class DialogueController {
|
||||||
|
protected httpResponse: HttpResponseUtil;
|
||||||
|
protected saveServer: SaveServer;
|
||||||
|
protected dialogueHelper: DialogueHelper;
|
||||||
|
constructor(httpResponse: HttpResponseUtil, saveServer: SaveServer, dialogueHelper: DialogueHelper);
|
||||||
|
getFriendList(sessionID: string): IGetFriendListDataResponse;
|
||||||
|
generateDialogueList(sessionID: string): IGetBodyResponseData<DialogueInfo[]>;
|
||||||
|
getDialogueInfo(dialogueID: string, sessionID: string): DialogueInfo;
|
||||||
|
generateDialogueView(dialogueID: string, sessionID: string): IGetMailDialogViewResponseData;
|
||||||
|
removeDialogue(dialogueID: string, sessionID: string): void;
|
||||||
|
setDialoguePin(dialogueID: string, shouldPin: boolean, sessionID: string): void;
|
||||||
|
setRead(dialogueIDs: string[], sessionID: string): void;
|
||||||
|
getAllAttachments(dialogueID: string, sessionID: string): IGetAllAttachmentsResponse;
|
||||||
|
protected messagesHaveUncollectedRewards(messages: Message[]): boolean;
|
||||||
|
protected removeExpiredItems(sessionID: string): void;
|
||||||
|
update(): void;
|
||||||
|
}
|
33
Ereshkigal-AkiConfig/dist/types/controllers/GameController.d.ts
vendored
Normal file
33
Ereshkigal-AkiConfig/dist/types/controllers/GameController.d.ts
vendored
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
import { GameHelper } from "../helpers/GameHelper";
|
||||||
|
import { HttpServerHelper } from "../helpers/HttpServerHelper";
|
||||||
|
import { ProfileHelper } from "../helpers/ProfileHelper";
|
||||||
|
import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData";
|
||||||
|
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||||
|
import { IPmcDataRepeatableQuest, IRepeatableQuest } from "../models/eft/common/tables/IRepeatableQuests";
|
||||||
|
import { IGameConfigResponse } from "../models/eft/game/IGameConfigResponse";
|
||||||
|
import { IAkiProfile } from "../models/eft/profile/IAkiProfile";
|
||||||
|
import { IHttpConfig } from "../models/spt/config/IHttpConfig";
|
||||||
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
|
import { Watermark } from "../utils/Watermark";
|
||||||
|
export declare class GameController {
|
||||||
|
protected logger: ILogger;
|
||||||
|
protected watermark: Watermark;
|
||||||
|
protected httpServerHelper: HttpServerHelper;
|
||||||
|
protected profileHelper: ProfileHelper;
|
||||||
|
protected gameHelper: GameHelper;
|
||||||
|
protected configServer: ConfigServer;
|
||||||
|
protected httpConfig: IHttpConfig;
|
||||||
|
constructor(logger: ILogger, watermark: Watermark, httpServerHelper: HttpServerHelper, profileHelper: ProfileHelper, gameHelper: GameHelper, configServer: ConfigServer);
|
||||||
|
gameStart(_url: string, _info: IEmptyRequestData, sessionID: string): void;
|
||||||
|
protected addMissingBonusesProperty(pmcProfile: IPmcData): void;
|
||||||
|
protected addMissingRepeatableQuestsProperty(pmcProfile: IPmcData): void;
|
||||||
|
protected addMissingWeaponRepairSkill(pmcProfile: IPmcData): void;
|
||||||
|
protected addMissingAkiVersionTagToProfile(fullProfile: IAkiProfile): void;
|
||||||
|
protected addMissingArmorRepairSkill(pmcProfile: IPmcData): void;
|
||||||
|
protected fixNullTraderSalesSums(pmcProfile: IPmcData): void;
|
||||||
|
protected removeDanglingBackendCounters(pmcProfile: IPmcData): void;
|
||||||
|
getGameConfig(sessionID: string): IGameConfigResponse;
|
||||||
|
getServer(): any[];
|
||||||
|
protected getActiveRepeatableQuests(repeatableQuests: IPmcDataRepeatableQuest[]): IRepeatableQuest[];
|
||||||
|
}
|
8
Ereshkigal-AkiConfig/dist/types/controllers/HandbookController.d.ts
vendored
Normal file
8
Ereshkigal-AkiConfig/dist/types/controllers/HandbookController.d.ts
vendored
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
import { HandbookHelper } from "../helpers/HandbookHelper";
|
||||||
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
export declare class HandbookController {
|
||||||
|
protected databaseServer: DatabaseServer;
|
||||||
|
protected handbookHelper: HandbookHelper;
|
||||||
|
constructor(databaseServer: DatabaseServer, handbookHelper: HandbookHelper);
|
||||||
|
load(): void;
|
||||||
|
}
|
25
Ereshkigal-AkiConfig/dist/types/controllers/HealthController.d.ts
vendored
Normal file
25
Ereshkigal-AkiConfig/dist/types/controllers/HealthController.d.ts
vendored
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
import { ItemHelper } from "../helpers/ItemHelper";
|
||||||
|
import { PaymentService } from "../services/PaymentService";
|
||||||
|
import { InventoryHelper } from "../helpers/InventoryHelper";
|
||||||
|
import { HealthHelper } from "../helpers/HealthHelper";
|
||||||
|
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||||
|
import { IHealthTreatmentRequestData } from "../models/eft/health/IHealthTreatmentRequestData";
|
||||||
|
import { IOffraidEatRequestData } from "../models/eft/health/IOffraidEatRequestData";
|
||||||
|
import { IOffraidHealRequestData } from "../models/eft/health/IOffraidHealRequestData";
|
||||||
|
import { ISyncHealthRequestData } from "../models/eft/health/ISyncHealthRequestData";
|
||||||
|
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
|
||||||
|
import { ItemEventRouter } from "../routers/ItemEventRouter";
|
||||||
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
|
export declare class HealthController {
|
||||||
|
protected logger: ILogger;
|
||||||
|
protected itemEventRouter: ItemEventRouter;
|
||||||
|
protected itemHelper: ItemHelper;
|
||||||
|
protected paymentService: PaymentService;
|
||||||
|
protected inventoryHelper: InventoryHelper;
|
||||||
|
protected healthHelper: HealthHelper;
|
||||||
|
constructor(logger: ILogger, itemEventRouter: ItemEventRouter, itemHelper: ItemHelper, paymentService: PaymentService, inventoryHelper: InventoryHelper, healthHelper: HealthHelper);
|
||||||
|
saveVitality(pmcData: IPmcData, info: ISyncHealthRequestData, sessionID: string): void;
|
||||||
|
offraidHeal(pmcData: IPmcData, body: IOffraidHealRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
offraidEat(pmcData: IPmcData, body: IOffraidEatRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
healthTreatment(pmcData: IPmcData, info: IHealthTreatmentRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
}
|
68
Ereshkigal-AkiConfig/dist/types/controllers/HideoutController.d.ts
vendored
Normal file
68
Ereshkigal-AkiConfig/dist/types/controllers/HideoutController.d.ts
vendored
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
import { HideoutHelper } from "../helpers/HideoutHelper";
|
||||||
|
import { InventoryHelper } from "../helpers/InventoryHelper";
|
||||||
|
import { PaymentHelper } from "../helpers/PaymentHelper";
|
||||||
|
import { PresetHelper } from "../helpers/PresetHelper";
|
||||||
|
import { ProfileHelper } from "../helpers/ProfileHelper";
|
||||||
|
import { HideoutArea, IPmcData, Product } from "../models/eft/common/IPmcData";
|
||||||
|
import { HideoutUpgradeCompleteRequestData } from "../models/eft/hideout/HideoutUpgradeCompleteRequestData";
|
||||||
|
import { IHideoutContinousProductionStartRequestData } from "../models/eft/hideout/IHideoutContinousProductionStartRequestData";
|
||||||
|
import { IHideoutProduction } from "../models/eft/hideout/IHideoutProduction";
|
||||||
|
import { IHideoutPutItemInRequestData } from "../models/eft/hideout/IHideoutPutItemInRequestData";
|
||||||
|
import { IHideoutScavCase } from "../models/eft/hideout/IHideoutScavCase";
|
||||||
|
import { IHideoutScavCaseStartRequestData } from "../models/eft/hideout/IHideoutScavCaseStartRequestData";
|
||||||
|
import { IHideoutSingleProductionStartRequestData } from "../models/eft/hideout/IHideoutSingleProductionStartRequestData";
|
||||||
|
import { IHideoutTakeItemOutRequestData } from "../models/eft/hideout/IHideoutTakeItemOutRequestData";
|
||||||
|
import { IHideoutTakeProductionRequestData } from "../models/eft/hideout/IHideoutTakeProductionRequestData";
|
||||||
|
import { IHideoutToggleAreaRequestData } from "../models/eft/hideout/IHideoutToggleAreaRequestData";
|
||||||
|
import { IHideoutUpgradeRequestData } from "../models/eft/hideout/IHideoutUpgradeRequestData";
|
||||||
|
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
|
||||||
|
import { IHideoutConfig } from "../models/spt/config/IHideoutConfig";
|
||||||
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
|
import { ItemEventRouter } from "../routers/ItemEventRouter";
|
||||||
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
import { SaveServer } from "../servers/SaveServer";
|
||||||
|
import { PlayerService } from "../services/PlayerService";
|
||||||
|
import { HashUtil } from "../utils/HashUtil";
|
||||||
|
import { HttpResponseUtil } from "../utils/HttpResponseUtil";
|
||||||
|
import { RandomUtil } from "../utils/RandomUtil";
|
||||||
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
|
export declare class HideoutController {
|
||||||
|
protected logger: ILogger;
|
||||||
|
protected hashUtil: HashUtil;
|
||||||
|
protected timeUtil: TimeUtil;
|
||||||
|
protected databaseServer: DatabaseServer;
|
||||||
|
protected randomUtil: RandomUtil;
|
||||||
|
protected inventoryHelper: InventoryHelper;
|
||||||
|
protected saveServer: SaveServer;
|
||||||
|
protected playerService: PlayerService;
|
||||||
|
protected presetHelper: PresetHelper;
|
||||||
|
protected paymentHelper: PaymentHelper;
|
||||||
|
protected itemEventRouter: ItemEventRouter;
|
||||||
|
protected httpResponse: HttpResponseUtil;
|
||||||
|
protected profileHelper: ProfileHelper;
|
||||||
|
protected hideoutHelper: HideoutHelper;
|
||||||
|
protected configServer: ConfigServer;
|
||||||
|
protected hideoutConfig: IHideoutConfig;
|
||||||
|
constructor(logger: ILogger, hashUtil: HashUtil, timeUtil: TimeUtil, databaseServer: DatabaseServer, randomUtil: RandomUtil, inventoryHelper: InventoryHelper, saveServer: SaveServer, playerService: PlayerService, presetHelper: PresetHelper, paymentHelper: PaymentHelper, itemEventRouter: ItemEventRouter, httpResponse: HttpResponseUtil, profileHelper: ProfileHelper, hideoutHelper: HideoutHelper, configServer: ConfigServer);
|
||||||
|
upgrade(pmcData: IPmcData, body: IHideoutUpgradeRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
upgradeComplete(pmcData: IPmcData, body: HideoutUpgradeCompleteRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
putItemsInAreaSlots(pmcData: IPmcData, body: IHideoutPutItemInRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
takeItemsFromAreaSlots(pmcData: IPmcData, body: IHideoutTakeItemOutRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
protected removeItemFromGenerator(sessionID: string, pmcData: IPmcData, body: IHideoutTakeItemOutRequestData, output: IItemEventRouterResponse, hideoutArea: HideoutArea): IItemEventRouterResponse;
|
||||||
|
toggleArea(pmcData: IPmcData, body: IHideoutToggleAreaRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
singleProductionStart(pmcData: IPmcData, body: IHideoutSingleProductionStartRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
scavCaseProductionStart(pmcData: IPmcData, body: IHideoutScavCaseStartRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
protected getRandomisedItemRarityCounter(recipe: IHideoutScavCase): {
|
||||||
|
[x: string]: number;
|
||||||
|
};
|
||||||
|
protected getRandomisedScavRewards(rarityItemCounter: {
|
||||||
|
[x: string]: number;
|
||||||
|
}): Product[];
|
||||||
|
continuousProductionStart(pmcData: IPmcData, body: IHideoutContinousProductionStartRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
takeProduction(pmcData: IPmcData, body: IHideoutTakeProductionRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
protected handleRecipie(sessionID: string, recipe: IHideoutProduction, pmcData: IPmcData, body: IHideoutTakeProductionRequestData, output: IItemEventRouterResponse): IItemEventRouterResponse;
|
||||||
|
protected handleScavCase(sessionID: string, pmcData: IPmcData, body: IHideoutTakeProductionRequestData, output: IItemEventRouterResponse): IItemEventRouterResponse;
|
||||||
|
registerProduction(pmcData: IPmcData, body: IHideoutSingleProductionStartRequestData | IHideoutContinousProductionStartRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
update(): void;
|
||||||
|
}
|
31
Ereshkigal-AkiConfig/dist/types/controllers/InraidController.d.ts
vendored
Normal file
31
Ereshkigal-AkiConfig/dist/types/controllers/InraidController.d.ts
vendored
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
import { ExtendedProfileHelper } from "../helpers/ExtendedProfileHelper";
|
||||||
|
import { HealthHelper } from "../helpers/HealthHelper";
|
||||||
|
import { InRaidHelper } from "../helpers/InRaidHelper";
|
||||||
|
import { ItemHelper } from "../helpers/ItemHelper";
|
||||||
|
import { QuestHelper } from "../helpers/QuestHelper";
|
||||||
|
import { TraderHelper } from "../helpers/TraderHelper";
|
||||||
|
import { IRegisterPlayerRequestData } from "../models/eft/inRaid/IRegisterPlayerRequestData";
|
||||||
|
import { ISaveProgressRequestData } from "../models/eft/inRaid/ISaveProgressRequestData";
|
||||||
|
import { IInRaidConfig } from "../models/spt/config/IInRaidConfig";
|
||||||
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
import { SaveServer } from "../servers/SaveServer";
|
||||||
|
import { InsuranceService } from "../services/InsuranceService";
|
||||||
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
|
export declare class InraidController {
|
||||||
|
protected saveServer: SaveServer;
|
||||||
|
protected jsonUtil: JsonUtil;
|
||||||
|
protected databaseServer: DatabaseServer;
|
||||||
|
protected questHelper: QuestHelper;
|
||||||
|
protected itemHelper: ItemHelper;
|
||||||
|
protected extendedProfileHelper: ExtendedProfileHelper;
|
||||||
|
protected healthHelper: HealthHelper;
|
||||||
|
protected traderHelper: TraderHelper;
|
||||||
|
protected insuranceService: InsuranceService;
|
||||||
|
protected inRaidHelper: InRaidHelper;
|
||||||
|
protected configServer: ConfigServer;
|
||||||
|
protected inraidConfig: IInRaidConfig;
|
||||||
|
constructor(saveServer: SaveServer, jsonUtil: JsonUtil, databaseServer: DatabaseServer, questHelper: QuestHelper, itemHelper: ItemHelper, extendedProfileHelper: ExtendedProfileHelper, healthHelper: HealthHelper, traderHelper: TraderHelper, insuranceService: InsuranceService, inRaidHelper: InRaidHelper, configServer: ConfigServer);
|
||||||
|
addPlayer(sessionID: string, info: IRegisterPlayerRequestData): void;
|
||||||
|
saveProgress(offraidData: ISaveProgressRequestData, sessionID: string): void;
|
||||||
|
}
|
38
Ereshkigal-AkiConfig/dist/types/controllers/InsuranceController.d.ts
vendored
Normal file
38
Ereshkigal-AkiConfig/dist/types/controllers/InsuranceController.d.ts
vendored
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
import { DialogueHelper } from "../helpers/DialogueHelper";
|
||||||
|
import { ItemHelper } from "../helpers/ItemHelper";
|
||||||
|
import { ProfileHelper } from "../helpers/ProfileHelper";
|
||||||
|
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||||
|
import { IGetInsuranceCostRequestData } from "../models/eft/insurance/IGetInsuranceCostRequestData";
|
||||||
|
import { IInsureRequestData } from "../models/eft/insurance/IInsureRequestData";
|
||||||
|
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
|
||||||
|
import { IInsuranceConfig } from "../models/spt/config/IInsuranceConfig";
|
||||||
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
|
import { ItemEventRouter } from "../routers/ItemEventRouter";
|
||||||
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
import { SaveServer } from "../servers/SaveServer";
|
||||||
|
import { InsuranceService } from "../services/InsuranceService";
|
||||||
|
import { PaymentService } from "../services/PaymentService";
|
||||||
|
import { RandomUtil } from "../utils/RandomUtil";
|
||||||
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
|
export declare class InsuranceController {
|
||||||
|
protected logger: ILogger;
|
||||||
|
protected randomUtil: RandomUtil;
|
||||||
|
protected itemEventRouter: ItemEventRouter;
|
||||||
|
protected timeUtil: TimeUtil;
|
||||||
|
protected saveServer: SaveServer;
|
||||||
|
protected databaseServer: DatabaseServer;
|
||||||
|
protected itemHelper: ItemHelper;
|
||||||
|
protected profileHelper: ProfileHelper;
|
||||||
|
protected dialogueHelper: DialogueHelper;
|
||||||
|
protected paymentService: PaymentService;
|
||||||
|
protected insuranceService: InsuranceService;
|
||||||
|
protected configServer: ConfigServer;
|
||||||
|
protected insuranceConfig: IInsuranceConfig;
|
||||||
|
constructor(logger: ILogger, randomUtil: RandomUtil, itemEventRouter: ItemEventRouter, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, itemHelper: ItemHelper, profileHelper: ProfileHelper, dialogueHelper: DialogueHelper, paymentService: PaymentService, // TODO: delay required
|
||||||
|
insuranceService: InsuranceService, configServer: ConfigServer);
|
||||||
|
processReturn(): void;
|
||||||
|
insure(pmcData: IPmcData, body: IInsureRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
cost(info: IGetInsuranceCostRequestData, sessionID: string): any;
|
||||||
|
doAbsolutelyNothing(): void;
|
||||||
|
}
|
107
Ereshkigal-AkiConfig/dist/types/controllers/InventoryController.d.ts
vendored
Normal file
107
Ereshkigal-AkiConfig/dist/types/controllers/InventoryController.d.ts
vendored
Normal file
@ -0,0 +1,107 @@
|
|||||||
|
import { InventoryHelper } from "../helpers/InventoryHelper";
|
||||||
|
import { PaymentHelper } from "../helpers/PaymentHelper";
|
||||||
|
import { PresetHelper } from "../helpers/PresetHelper";
|
||||||
|
import { ProfileHelper } from "../helpers/ProfileHelper";
|
||||||
|
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||||
|
import { IAddItemRequestData } from "../models/eft/inventory/IAddItemRequestData";
|
||||||
|
import { IInventoryBindRequestData } from "../models/eft/inventory/IInventoryBindRequestData";
|
||||||
|
import { IInventoryCreateMarkerRequestData } from "../models/eft/inventory/IInventoryCreateMarkerRequestData";
|
||||||
|
import { IInventoryDeleteMarkerRequestData } from "../models/eft/inventory/IInventoryDeleteMarkerRequestData";
|
||||||
|
import { IInventoryEditMarkerRequestData } from "../models/eft/inventory/IInventoryEditMarkerRequestData";
|
||||||
|
import { IInventoryExamineRequestData } from "../models/eft/inventory/IInventoryExamineRequestData";
|
||||||
|
import { IInventoryFoldRequestData } from "../models/eft/inventory/IInventoryFoldRequestData";
|
||||||
|
import { IInventoryMergeRequestData } from "../models/eft/inventory/IInventoryMergeRequestData";
|
||||||
|
import { IInventoryMoveRequestData } from "../models/eft/inventory/IInventoryMoveRequestData";
|
||||||
|
import { IInventoryReadEncyclopediaRequestData } from "../models/eft/inventory/IInventoryReadEncyclopediaRequestData";
|
||||||
|
import { IInventoryRemoveRequestData } from "../models/eft/inventory/IInventoryRemoveRequestData";
|
||||||
|
import { IInventorySortRequestData } from "../models/eft/inventory/IInventorySortRequestData";
|
||||||
|
import { IInventorySplitRequestData } from "../models/eft/inventory/IInventorySplitRequestData";
|
||||||
|
import { IInventorySwapRequestData } from "../models/eft/inventory/IInventorySwapRequestData";
|
||||||
|
import { IInventoryTagRequestData } from "../models/eft/inventory/IInventoryTagRequestData";
|
||||||
|
import { IInventoryToggleRequestData } from "../models/eft/inventory/IInventoryToggleRequestData";
|
||||||
|
import { IInventoryTransferRequestData } from "../models/eft/inventory/IInventoryTransferRequestData";
|
||||||
|
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
|
||||||
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
|
import { ItemEventRouter } from "../routers/ItemEventRouter";
|
||||||
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
import { HashUtil } from "../utils/HashUtil";
|
||||||
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
|
export declare class InventoryController {
|
||||||
|
protected logger: ILogger;
|
||||||
|
protected hashUtil: HashUtil;
|
||||||
|
protected jsonUtil: JsonUtil;
|
||||||
|
protected databaseServer: DatabaseServer;
|
||||||
|
protected presetHelper: PresetHelper;
|
||||||
|
protected inventoryHelper: InventoryHelper;
|
||||||
|
protected profileHelper: ProfileHelper;
|
||||||
|
protected paymentHelper: PaymentHelper;
|
||||||
|
protected itemEventRouter: ItemEventRouter;
|
||||||
|
constructor(logger: ILogger, hashUtil: HashUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, presetHelper: PresetHelper, inventoryHelper: InventoryHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, itemEventRouter: ItemEventRouter);
|
||||||
|
/**
|
||||||
|
* Move Item
|
||||||
|
* change location of item with parentId and slotId
|
||||||
|
* transfers items from one profile to another if fromOwner/toOwner is set in the body.
|
||||||
|
* otherwise, move is contained within the same profile_f.
|
||||||
|
*/
|
||||||
|
moveItem(pmcData: IPmcData, body: IInventoryMoveRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
/**
|
||||||
|
* Remove Item from Profile
|
||||||
|
* Deep tree item deletion, also removes items from insurance list
|
||||||
|
*/
|
||||||
|
removeItem(pmcData: IPmcData, itemId: string, sessionID: string, output?: IItemEventRouterResponse): IItemEventRouterResponse;
|
||||||
|
/**
|
||||||
|
* Implements functionality "Discard" from Main menu (Stash etc.)
|
||||||
|
* Removes item from PMC Profile
|
||||||
|
*/
|
||||||
|
discardItem(pmcData: IPmcData, body: IInventoryRemoveRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
/**
|
||||||
|
* Split Item
|
||||||
|
* spliting 1 item-stack into 2 separate items ...
|
||||||
|
*/
|
||||||
|
splitItem(pmcData: IPmcData, body: IInventorySplitRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
/**
|
||||||
|
* Merge Item
|
||||||
|
* merges 2 items into one, deletes item from `body.item` and adding number of stacks into `body.with`
|
||||||
|
*/
|
||||||
|
mergeItem(pmcData: IPmcData, body: IInventoryMergeRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
/**
|
||||||
|
* Transfer item
|
||||||
|
* Used to take items from scav inventory into stash or to insert ammo into mags (shotgun ones) and reloading weapon by clicking "Reload"
|
||||||
|
*/
|
||||||
|
transferItem(pmcData: IPmcData, body: IInventoryTransferRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
/**
|
||||||
|
* Swap Item
|
||||||
|
* its used for "reload" if you have weapon in hands and magazine is somewhere else in rig or backpack in equipment
|
||||||
|
*/
|
||||||
|
swapItem(pmcData: IPmcData, body: IInventorySwapRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
/**
|
||||||
|
* Give Item
|
||||||
|
* its used for "add" item like gifts etc.
|
||||||
|
*/
|
||||||
|
addItem(pmcData: IPmcData, body: IAddItemRequestData, output: IItemEventRouterResponse, sessionID: string, callback: any, foundInRaid?: boolean, addUpd?: any): IItemEventRouterResponse;
|
||||||
|
/**
|
||||||
|
* Handles folding of Weapons
|
||||||
|
*/
|
||||||
|
foldItem(pmcData: IPmcData, body: IInventoryFoldRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
/**
|
||||||
|
* Toggles "Toggleable" items like night vision goggles and face shields.
|
||||||
|
*/
|
||||||
|
toggleItem(pmcData: IPmcData, body: IInventoryToggleRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
/**
|
||||||
|
* Handles Tagging of items (primary Containers).
|
||||||
|
*/
|
||||||
|
tagItem(pmcData: IPmcData, body: IInventoryTagRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
bindItem(pmcData: IPmcData, body: IInventoryBindRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
/**
|
||||||
|
* Handles examining of the item *
|
||||||
|
*/
|
||||||
|
examineItem(pmcData: IPmcData, body: IInventoryExamineRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
readEncyclopedia(pmcData: IPmcData, body: IInventoryReadEncyclopediaRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
/**
|
||||||
|
* Handles sorting of Inventory.
|
||||||
|
*/
|
||||||
|
sortInventory(pmcData: IPmcData, body: IInventorySortRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
createMapMarker(pmcData: IPmcData, body: IInventoryCreateMarkerRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
deleteMapMarker(pmcData: IPmcData, body: IInventoryDeleteMarkerRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
editMapMarker(pmcData: IPmcData, body: IInventoryEditMarkerRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
}
|
28
Ereshkigal-AkiConfig/dist/types/controllers/LauncherController.d.ts
vendored
Normal file
28
Ereshkigal-AkiConfig/dist/types/controllers/LauncherController.d.ts
vendored
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
import { HttpServerHelper } from "../helpers/HttpServerHelper";
|
||||||
|
import { IChangeRequestData } from "../models/eft/launcher/IChangeRequestData";
|
||||||
|
import { ILoginRequestData } from "../models/eft/launcher/ILoginRequestData";
|
||||||
|
import { IRegisterData } from "../models/eft/launcher/IRegisterData";
|
||||||
|
import { Info } from "../models/eft/profile/IAkiProfile";
|
||||||
|
import { ICoreConfig } from "../models/spt/config/ICoreConfig";
|
||||||
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
import { SaveServer } from "../servers/SaveServer";
|
||||||
|
import { HashUtil } from "../utils/HashUtil";
|
||||||
|
export declare class LauncherController {
|
||||||
|
protected hashUtil: HashUtil;
|
||||||
|
protected saveServer: SaveServer;
|
||||||
|
protected httpServerHelper: HttpServerHelper;
|
||||||
|
protected databaseServer: DatabaseServer;
|
||||||
|
protected configServer: ConfigServer;
|
||||||
|
protected coreConfig: ICoreConfig;
|
||||||
|
constructor(hashUtil: HashUtil, saveServer: SaveServer, httpServerHelper: HttpServerHelper, databaseServer: DatabaseServer, configServer: ConfigServer);
|
||||||
|
connect(): any;
|
||||||
|
find(sessionIdKey: string): Info;
|
||||||
|
login(info: ILoginRequestData): string;
|
||||||
|
register(info: IRegisterData): string;
|
||||||
|
protected createAccount(info: IRegisterData): string;
|
||||||
|
changeUsername(info: IChangeRequestData): string;
|
||||||
|
changePassword(info: IChangeRequestData): string;
|
||||||
|
wipe(info: IRegisterData): string;
|
||||||
|
getCompatibleTarkovVersion(): string;
|
||||||
|
}
|
18
Ereshkigal-AkiConfig/dist/types/controllers/LocationController.d.ts
vendored
Normal file
18
Ereshkigal-AkiConfig/dist/types/controllers/LocationController.d.ts
vendored
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
import { LocationGenerator } from "../generators/LocationGenerator";
|
||||||
|
import { ILocationBase } from "../models/eft/common/ILocationBase";
|
||||||
|
import { ILocationsGenerateAllResponse } from "../models/eft/common/ILocationsSourceDestinationBase";
|
||||||
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
|
export declare class LocationController {
|
||||||
|
protected jsonUtil: JsonUtil;
|
||||||
|
protected logger: ILogger;
|
||||||
|
protected locationGenerator: LocationGenerator;
|
||||||
|
protected databaseServer: DatabaseServer;
|
||||||
|
protected timeUtil: TimeUtil;
|
||||||
|
constructor(jsonUtil: JsonUtil, logger: ILogger, locationGenerator: LocationGenerator, databaseServer: DatabaseServer, timeUtil: TimeUtil);
|
||||||
|
get(location: string): ILocationBase;
|
||||||
|
generate(name: string): ILocationBase;
|
||||||
|
generateAll(): ILocationsGenerateAllResponse;
|
||||||
|
}
|
30
Ereshkigal-AkiConfig/dist/types/controllers/MatchController.d.ts
vendored
Normal file
30
Ereshkigal-AkiConfig/dist/types/controllers/MatchController.d.ts
vendored
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
import { ProfileHelper } from "../helpers/ProfileHelper";
|
||||||
|
import { TraderHelper } from "../helpers/TraderHelper";
|
||||||
|
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||||
|
import { IEndOfflineRaidRequestData } from "../models/eft/match/IEndOfflineRaidRequestData";
|
||||||
|
import { IGetProfileRequestData } from "../models/eft/match/IGetProfileRequestData";
|
||||||
|
import { IStartOfflineRaidRequestData } from "../models/eft/match/IStartOffineRaidRequestData";
|
||||||
|
import { IInRaidConfig } from "../models/spt/config/IInRaidConfig";
|
||||||
|
import { IMatchConfig } from "../models/spt/config/IMatchConfig";
|
||||||
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
|
import { SaveServer } from "../servers/SaveServer";
|
||||||
|
import { MatchLocationService } from "../services/MatchLocationService";
|
||||||
|
export declare class MatchController {
|
||||||
|
protected saveServer: SaveServer;
|
||||||
|
protected profileHelper: ProfileHelper;
|
||||||
|
protected matchLocationService: MatchLocationService;
|
||||||
|
protected traderHelper: TraderHelper;
|
||||||
|
protected configServer: ConfigServer;
|
||||||
|
protected matchConfig: IMatchConfig;
|
||||||
|
protected inraidConfig: IInRaidConfig;
|
||||||
|
constructor(saveServer: SaveServer, profileHelper: ProfileHelper, matchLocationService: MatchLocationService, traderHelper: TraderHelper, configServer: ConfigServer);
|
||||||
|
getEnabled(): boolean;
|
||||||
|
getProfile(info: IGetProfileRequestData): IPmcData[];
|
||||||
|
protected getMatch(location: any): any;
|
||||||
|
createGroup(sessionID: string, info: any): any;
|
||||||
|
deleteGroup(info: any): void;
|
||||||
|
joinMatch(info: any, sessionID: string): any[];
|
||||||
|
getGroupStatus(info: any): any;
|
||||||
|
startOfflineRaid(info: IStartOfflineRaidRequestData, sessionID: string): void;
|
||||||
|
endOfflineRaid(info: IEndOfflineRaidRequestData, sessionID: string): void;
|
||||||
|
}
|
12
Ereshkigal-AkiConfig/dist/types/controllers/NoteController.d.ts
vendored
Normal file
12
Ereshkigal-AkiConfig/dist/types/controllers/NoteController.d.ts
vendored
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||||
|
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
|
||||||
|
import { INoteActionData } from "../models/eft/notes/INoteActionData";
|
||||||
|
import { ItemEventRouter } from "../routers/ItemEventRouter";
|
||||||
|
declare class NoteController {
|
||||||
|
protected itemEventRouter: ItemEventRouter;
|
||||||
|
constructor(itemEventRouter: ItemEventRouter);
|
||||||
|
addNote(pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
editNote(pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
deleteNote(pmcData: IPmcData, body: INoteActionData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
}
|
||||||
|
export { NoteController };
|
22
Ereshkigal-AkiConfig/dist/types/controllers/NotifierController.d.ts
vendored
Normal file
22
Ereshkigal-AkiConfig/dist/types/controllers/NotifierController.d.ts
vendored
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
import { NotifierHelper } from "../helpers/NotifierHelper";
|
||||||
|
import { NotificationService } from "../services/NotificationService";
|
||||||
|
import { INotifierChannel } from "../models/eft/notifier/INotifier";
|
||||||
|
import { HttpServerHelper } from "../helpers/HttpServerHelper";
|
||||||
|
export declare class NotifierController {
|
||||||
|
protected notifierHelper: NotifierHelper;
|
||||||
|
protected httpServerHelper: HttpServerHelper;
|
||||||
|
protected notificationService: NotificationService;
|
||||||
|
protected pollInterval: number;
|
||||||
|
protected timeout: number;
|
||||||
|
constructor(notifierHelper: NotifierHelper, httpServerHelper: HttpServerHelper, notificationService: NotificationService);
|
||||||
|
/**
|
||||||
|
* Resolve an array of session notifications.
|
||||||
|
*
|
||||||
|
* If no notifications are currently queued then intermittently check for new notifications until either
|
||||||
|
* one or more appear or when a timeout expires.
|
||||||
|
* If no notifications are available after the timeout, use a default message.
|
||||||
|
*/
|
||||||
|
notifyAsync(sessionID: string): Promise<unknown>;
|
||||||
|
getServer(sessionID: string): string;
|
||||||
|
getChannel(sessionID: string): INotifierChannel;
|
||||||
|
}
|
18
Ereshkigal-AkiConfig/dist/types/controllers/PresetBuildController.d.ts
vendored
Normal file
18
Ereshkigal-AkiConfig/dist/types/controllers/PresetBuildController.d.ts
vendored
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
import { ItemHelper } from "../helpers/ItemHelper";
|
||||||
|
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||||
|
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
|
||||||
|
import { IPresetBuildActionRequestData } from "../models/eft/presetBuild/IPresetBuildActionRequestData";
|
||||||
|
import { WeaponBuild } from "../models/eft/profile/IAkiProfile";
|
||||||
|
import { ItemEventRouter } from "../routers/ItemEventRouter";
|
||||||
|
import { SaveServer } from "../servers/SaveServer";
|
||||||
|
import { HashUtil } from "../utils/HashUtil";
|
||||||
|
export declare class PresetBuildController {
|
||||||
|
protected hashUtil: HashUtil;
|
||||||
|
protected itemEventRouter: ItemEventRouter;
|
||||||
|
protected itemHelper: ItemHelper;
|
||||||
|
protected saveServer: SaveServer;
|
||||||
|
constructor(hashUtil: HashUtil, itemEventRouter: ItemEventRouter, itemHelper: ItemHelper, saveServer: SaveServer);
|
||||||
|
getUserBuilds(sessionID: string): WeaponBuild[];
|
||||||
|
saveBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
removeBuild(pmcData: IPmcData, body: IPresetBuildActionRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
}
|
8
Ereshkigal-AkiConfig/dist/types/controllers/PresetController.d.ts
vendored
Normal file
8
Ereshkigal-AkiConfig/dist/types/controllers/PresetController.d.ts
vendored
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
import { PresetHelper } from "../helpers/PresetHelper";
|
||||||
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
export declare class PresetController {
|
||||||
|
protected presetHelper: PresetHelper;
|
||||||
|
protected databaseServer: DatabaseServer;
|
||||||
|
constructor(presetHelper: PresetHelper, databaseServer: DatabaseServer);
|
||||||
|
initialize(): void;
|
||||||
|
}
|
34
Ereshkigal-AkiConfig/dist/types/controllers/ProfileController.d.ts
vendored
Normal file
34
Ereshkigal-AkiConfig/dist/types/controllers/ProfileController.d.ts
vendored
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
import { ExtendedProfileHelper } from "../helpers/ExtendedProfileHelper";
|
||||||
|
import { ItemHelper } from "../helpers/ItemHelper";
|
||||||
|
import { TraderHelper } from "../helpers/TraderHelper";
|
||||||
|
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||||
|
import { IMiniProfile } from "../models/eft/launcher/IMiniProfile";
|
||||||
|
import { IProfileChangeNicknameRequestData } from "../models/eft/profile/IProfileChangeNicknameRequestData";
|
||||||
|
import { IProfileChangeVoiceRequestData } from "../models/eft/profile/IProfileChangeVoiceRequestData";
|
||||||
|
import { IProfileCreateRequestData } from "../models/eft/profile/IProfileCreateRequestData";
|
||||||
|
import { ISearchFriendRequestData } from "../models/eft/profile/ISearchFriendRequestData";
|
||||||
|
import { ISearchFriendResponse } from "../models/eft/profile/ISearchFriendResponse";
|
||||||
|
import { IValidateNicknameRequestData } from "../models/eft/profile/IValidateNicknameRequestData";
|
||||||
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
import { SaveServer } from "../servers/SaveServer";
|
||||||
|
import { HashUtil } from "../utils/HashUtil";
|
||||||
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
|
export declare class ProfileController {
|
||||||
|
protected hashUtil: HashUtil;
|
||||||
|
protected timeUtil: TimeUtil;
|
||||||
|
protected saveServer: SaveServer;
|
||||||
|
protected databaseServer: DatabaseServer;
|
||||||
|
protected itemHelper: ItemHelper;
|
||||||
|
protected traderHelper: TraderHelper;
|
||||||
|
protected extendedProfileHelper: ExtendedProfileHelper;
|
||||||
|
constructor(hashUtil: HashUtil, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, itemHelper: ItemHelper, traderHelper: TraderHelper, extendedProfileHelper: ExtendedProfileHelper);
|
||||||
|
getMiniProfiles(): IMiniProfile[];
|
||||||
|
getMiniProfile(sessionID: string): any;
|
||||||
|
getCompleteProfile(sessionID: string): IPmcData[];
|
||||||
|
createProfile(info: IProfileCreateRequestData, sessionID: string): void;
|
||||||
|
generatePlayerScav(sessionID: string): IPmcData;
|
||||||
|
validateNickname(info: IValidateNicknameRequestData, sessionID: string): string;
|
||||||
|
changeNickname(info: IProfileChangeNicknameRequestData, sessionID: string): string;
|
||||||
|
changeVoice(info: IProfileChangeVoiceRequestData, sessionID: string): void;
|
||||||
|
getFriends(info: ISearchFriendRequestData, sessionID: string): ISearchFriendResponse[];
|
||||||
|
}
|
74
Ereshkigal-AkiConfig/dist/types/controllers/QuestController.d.ts
vendored
Normal file
74
Ereshkigal-AkiConfig/dist/types/controllers/QuestController.d.ts
vendored
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
import { DialogueHelper } from "../helpers/DialogueHelper";
|
||||||
|
import { ItemHelper } from "../helpers/ItemHelper";
|
||||||
|
import { ProfileHelper } from "../helpers/ProfileHelper";
|
||||||
|
import { QuestConditionHelper } from "../helpers/QuestConditionHelper";
|
||||||
|
import { QuestHelper } from "../helpers/QuestHelper";
|
||||||
|
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||||
|
import { IQuest, Reward } from "../models/eft/common/tables/IQuest";
|
||||||
|
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
|
||||||
|
import { IAcceptQuestRequestData } from "../models/eft/quests/IAcceptQuestRequestData";
|
||||||
|
import { ICompleteQuestRequestData } from "../models/eft/quests/ICompleteQuestRequestData";
|
||||||
|
import { IHandoverQuestRequestData } from "../models/eft/quests/IHandoverQuestRequestData";
|
||||||
|
import { IQuestConfig } from "../models/spt/config/IQuestConfig";
|
||||||
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
|
import { ItemEventRouter } from "../routers/ItemEventRouter";
|
||||||
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
import { PlayerService } from "../services/PlayerService";
|
||||||
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
|
export declare class QuestController {
|
||||||
|
protected logger: ILogger;
|
||||||
|
protected timeUtil: TimeUtil;
|
||||||
|
protected itemEventRouter: ItemEventRouter;
|
||||||
|
protected databaseServer: DatabaseServer;
|
||||||
|
protected itemHelper: ItemHelper;
|
||||||
|
protected dialogueHelper: DialogueHelper;
|
||||||
|
protected profileHelper: ProfileHelper;
|
||||||
|
protected questHelper: QuestHelper;
|
||||||
|
protected questConditionHelper: QuestConditionHelper;
|
||||||
|
protected playerService: PlayerService;
|
||||||
|
protected configServer: ConfigServer;
|
||||||
|
protected questConfig: IQuestConfig;
|
||||||
|
constructor(logger: ILogger, timeUtil: TimeUtil, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, questHelper: QuestHelper, questConditionHelper: QuestConditionHelper, playerService: PlayerService, configServer: ConfigServer);
|
||||||
|
/**
|
||||||
|
* Get all quests visible to player
|
||||||
|
* Exclude quests with incomplete preconditions (level/loyalty)
|
||||||
|
* @param sessionID session id
|
||||||
|
* @returns array of IQuest
|
||||||
|
*/
|
||||||
|
getClientQuests(sessionID: string): IQuest[];
|
||||||
|
acceptQuest(pmcData: IPmcData, acceptedQuest: IAcceptQuestRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
acceptRepeatableQuest(pmcData: IPmcData, acceptedQuest: IAcceptQuestRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
/**
|
||||||
|
* Remove completed quest from profile
|
||||||
|
* Add newly unlocked quests to profile
|
||||||
|
* Also recalculate thier level due to exp rewards
|
||||||
|
* @param pmcData Player profile
|
||||||
|
* @param body completed quest request
|
||||||
|
* @param sessionID session id
|
||||||
|
* @returns ItemEvent response
|
||||||
|
*/
|
||||||
|
completeQuest(pmcData: IPmcData, body: ICompleteQuestRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
/**
|
||||||
|
* Send a popup to player on completion of a quest
|
||||||
|
* @param sessionID session id
|
||||||
|
* @param pmcData player profile
|
||||||
|
* @param completedQuestId completed quest id
|
||||||
|
* @param questRewards rewards given to player
|
||||||
|
*/
|
||||||
|
protected sendDialogMessageOnQuestComplete(sessionID: string, pmcData: IPmcData, completedQuestId: string, questRewards: Reward[]): void;
|
||||||
|
/**
|
||||||
|
* Returns a list of quests that should be failed when a quest is completed
|
||||||
|
* @param completedQuestId quest completed id
|
||||||
|
* @returns array of quests
|
||||||
|
*/
|
||||||
|
protected getQuestsFailedByCompletingQuest(completedQuestId: string): IQuest[];
|
||||||
|
/**
|
||||||
|
* Fail the quests provided
|
||||||
|
* @param sessionID session id
|
||||||
|
* @param pmcData player profile
|
||||||
|
* @param questsToFail quests to fail
|
||||||
|
*/
|
||||||
|
protected failQuests(sessionID: string, pmcData: IPmcData, questsToFail: IQuest[]): void;
|
||||||
|
handoverQuest(pmcData: IPmcData, body: IHandoverQuestRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
}
|
70
Ereshkigal-AkiConfig/dist/types/controllers/RagfairController.d.ts
vendored
Normal file
70
Ereshkigal-AkiConfig/dist/types/controllers/RagfairController.d.ts
vendored
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
import { RagfairOfferGenerator } from "../generators/RagfairOfferGenerator";
|
||||||
|
import { HandbookHelper } from "../helpers/HandbookHelper";
|
||||||
|
import { InventoryHelper } from "../helpers/InventoryHelper";
|
||||||
|
import { ItemHelper } from "../helpers/ItemHelper";
|
||||||
|
import { PaymentHelper } from "../helpers/PaymentHelper";
|
||||||
|
import { ProfileHelper } from "../helpers/ProfileHelper";
|
||||||
|
import { RagfairHelper } from "../helpers/RagfairHelper";
|
||||||
|
import { RagfairOfferHelper } from "../helpers/RagfairOfferHelper";
|
||||||
|
import { RagfairSellHelper } from "../helpers/RagfairSellHelper";
|
||||||
|
import { RagfairSortHelper } from "../helpers/RagfairSortHelper";
|
||||||
|
import { RagfairTaxHelper } from "../helpers/RagfairTaxHelper";
|
||||||
|
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||||
|
import { Item } from "../models/eft/common/tables/IItem";
|
||||||
|
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
|
||||||
|
import { IAkiProfile } from "../models/eft/profile/IAkiProfile";
|
||||||
|
import { IAddOfferRequestData, Requirement } from "../models/eft/ragfair/IAddOfferRequestData";
|
||||||
|
import { IExtendOfferRequestData } from "../models/eft/ragfair/IExtendOfferRequestData";
|
||||||
|
import { IGetItemPriceResult } from "../models/eft/ragfair/IGetItemPriceResult";
|
||||||
|
import { IGetMarketPriceRequestData } from "../models/eft/ragfair/IGetMarketPriceRequestData";
|
||||||
|
import { IGetOffersResult } from "../models/eft/ragfair/IGetOffersResult";
|
||||||
|
import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer";
|
||||||
|
import { ISearchRequestData } from "../models/eft/ragfair/ISearchRequestData";
|
||||||
|
import { IRagfairConfig } from "../models/spt/config/IRagfairConfig";
|
||||||
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
|
import { ItemEventRouter } from "../routers/ItemEventRouter";
|
||||||
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
import { RagfairServer } from "../servers/RagfairServer";
|
||||||
|
import { SaveServer } from "../servers/SaveServer";
|
||||||
|
import { PaymentService } from "../services/PaymentService";
|
||||||
|
import { RagfairOfferService } from "../services/RagfairOfferService";
|
||||||
|
import { RagfairPriceService } from "../services/RagfairPriceService";
|
||||||
|
import { RagfairRequiredItemsService } from "../services/RagfairRequiredItemsService";
|
||||||
|
import { HttpResponseUtil } from "../utils/HttpResponseUtil";
|
||||||
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
|
export declare class RagfairController {
|
||||||
|
protected logger: ILogger;
|
||||||
|
protected timeUtil: TimeUtil;
|
||||||
|
protected httpResponse: HttpResponseUtil;
|
||||||
|
protected itemEventRouter: ItemEventRouter;
|
||||||
|
protected ragfairServer: RagfairServer;
|
||||||
|
protected ragfairPriceService: RagfairPriceService;
|
||||||
|
protected databaseServer: DatabaseServer;
|
||||||
|
protected itemHelper: ItemHelper;
|
||||||
|
protected saveServer: SaveServer;
|
||||||
|
protected ragfairSellHelper: RagfairSellHelper;
|
||||||
|
protected ragfairTaxHelper: RagfairTaxHelper;
|
||||||
|
protected ragfairSortHelper: RagfairSortHelper;
|
||||||
|
protected ragfairOfferHelper: RagfairOfferHelper;
|
||||||
|
protected profileHelper: ProfileHelper;
|
||||||
|
protected paymentService: PaymentService;
|
||||||
|
protected handbookHelper: HandbookHelper;
|
||||||
|
protected paymentHelper: PaymentHelper;
|
||||||
|
protected inventoryHelper: InventoryHelper;
|
||||||
|
protected ragfairHelper: RagfairHelper;
|
||||||
|
protected ragfairOfferService: RagfairOfferService;
|
||||||
|
protected ragfairRequiredItemsService: RagfairRequiredItemsService;
|
||||||
|
protected ragfairOfferGenerator: RagfairOfferGenerator;
|
||||||
|
protected configServer: ConfigServer;
|
||||||
|
protected ragfairConfig: IRagfairConfig;
|
||||||
|
constructor(logger: ILogger, timeUtil: TimeUtil, httpResponse: HttpResponseUtil, itemEventRouter: ItemEventRouter, ragfairServer: RagfairServer, ragfairPriceService: RagfairPriceService, databaseServer: DatabaseServer, itemHelper: ItemHelper, saveServer: SaveServer, ragfairSellHelper: RagfairSellHelper, ragfairTaxHelper: RagfairTaxHelper, ragfairSortHelper: RagfairSortHelper, ragfairOfferHelper: RagfairOfferHelper, profileHelper: ProfileHelper, paymentService: PaymentService, handbookHelper: HandbookHelper, paymentHelper: PaymentHelper, inventoryHelper: InventoryHelper, ragfairHelper: RagfairHelper, ragfairOfferService: RagfairOfferService, ragfairRequiredItemsService: RagfairRequiredItemsService, ragfairOfferGenerator: RagfairOfferGenerator, configServer: ConfigServer);
|
||||||
|
getOffers(sessionID: string, info: ISearchRequestData): IGetOffersResult;
|
||||||
|
update(): void;
|
||||||
|
getItemPrice(info: IGetMarketPriceRequestData): IGetItemPriceResult;
|
||||||
|
addPlayerOffer(pmcData: IPmcData, info: IAddOfferRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
createPlayerOffer(profile: IAkiProfile, requirements: Requirement[], items: Item[], sellInOnePiece: boolean, amountToSend: number): IRagfairOffer;
|
||||||
|
getAllFleaPrices(): Record<string, number>;
|
||||||
|
removeOffer(offerId: string, sessionID: string): IItemEventRouterResponse;
|
||||||
|
extendOffer(info: IExtendOfferRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
}
|
42
Ereshkigal-AkiConfig/dist/types/controllers/RepairController.d.ts
vendored
Normal file
42
Ereshkigal-AkiConfig/dist/types/controllers/RepairController.d.ts
vendored
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
import { QuestHelper } from "../helpers/QuestHelper";
|
||||||
|
import { RepairHelper } from "../helpers/RepairHelper";
|
||||||
|
import { TraderHelper } from "../helpers/TraderHelper";
|
||||||
|
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||||
|
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
|
||||||
|
import { IRepairActionDataRequest } from "../models/eft/repair/IRepairActionDataRequest";
|
||||||
|
import { ITraderRepairActionDataRequest } from "../models/eft/repair/ITraderRepairActionDataRequest";
|
||||||
|
import { IRepairConfig } from "../models/spt/config/IRepairConfig";
|
||||||
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
|
import { ItemEventRouter } from "../routers/ItemEventRouter";
|
||||||
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
import { PaymentService } from "../services/PaymentService";
|
||||||
|
export declare class RepairController {
|
||||||
|
protected logger: ILogger;
|
||||||
|
protected itemEventRouter: ItemEventRouter;
|
||||||
|
protected databaseServer: DatabaseServer;
|
||||||
|
protected questHelper: QuestHelper;
|
||||||
|
protected traderHelper: TraderHelper;
|
||||||
|
protected paymentService: PaymentService;
|
||||||
|
protected repairHelper: RepairHelper;
|
||||||
|
protected configServer: ConfigServer;
|
||||||
|
protected repairConfig: IRepairConfig;
|
||||||
|
protected readonly WEAPON_SKILL_REPAIR_GAIN: number;
|
||||||
|
constructor(logger: ILogger, itemEventRouter: ItemEventRouter, databaseServer: DatabaseServer, questHelper: QuestHelper, traderHelper: TraderHelper, paymentService: PaymentService, repairHelper: RepairHelper, configServer: ConfigServer);
|
||||||
|
/**
|
||||||
|
* Repair with trader
|
||||||
|
* @param pmcData player profile
|
||||||
|
* @param body endpoint request data
|
||||||
|
* @param sessionID session id
|
||||||
|
* @returns item event router action
|
||||||
|
*/
|
||||||
|
traderRepair(pmcData: IPmcData, body: ITraderRepairActionDataRequest, sessionID: string): IItemEventRouterResponse;
|
||||||
|
/**
|
||||||
|
* Repair with repair kit
|
||||||
|
* @param pmcData player profile
|
||||||
|
* @param body endpoint request data
|
||||||
|
* @param sessionID session id
|
||||||
|
* @returns item event router action
|
||||||
|
*/
|
||||||
|
repairWithKit(pmcData: IPmcData, body: IRepairActionDataRequest, sessionID: string): IItemEventRouterResponse;
|
||||||
|
}
|
219
Ereshkigal-AkiConfig/dist/types/controllers/RepeatableQuestController.d.ts
vendored
Normal file
219
Ereshkigal-AkiConfig/dist/types/controllers/RepeatableQuestController.d.ts
vendored
Normal file
@ -0,0 +1,219 @@
|
|||||||
|
import { GameHelper } from "../helpers/GameHelper";
|
||||||
|
import { ItemHelper } from "../helpers/ItemHelper";
|
||||||
|
import { PresetHelper } from "../helpers/PresetHelper";
|
||||||
|
import { ProfileHelper } from "../helpers/ProfileHelper";
|
||||||
|
import { RagfairServerHelper } from "../helpers/RagfairServerHelper";
|
||||||
|
import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData";
|
||||||
|
import { Exit } from "../models/eft/common/ILocationBase";
|
||||||
|
import { IPmcData, TraderInfo } from "../models/eft/common/IPmcData";
|
||||||
|
import { ICompletion, ICompletionAvailableFor, IElimination, IEliminationCondition, IExploration, IExplorationCondition, IPmcDataRepeatableQuest, IRepeatableQuest, IReward, IRewards } from "../models/eft/common/tables/IRepeatableQuests";
|
||||||
|
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
|
||||||
|
import { IRepeatableQuestChangeRequest } from "../models/eft/quests/IRepeatableQuestChangeRequest";
|
||||||
|
import { ELocationName } from "../models/enums/ELocationName";
|
||||||
|
import { IQuestConfig, IRepeatableQuestConfig } from "../models/spt/config/IQuestConfig";
|
||||||
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
|
import { ItemEventRouter } from "../routers/ItemEventRouter";
|
||||||
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
import { PaymentService } from "../services/PaymentService";
|
||||||
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
|
import { MathUtil } from "../utils/MathUtil";
|
||||||
|
import { ObjectId } from "../utils/ObjectId";
|
||||||
|
import { ProbabilityObject, ProbabilityObjectArray, RandomUtil } from "../utils/RandomUtil";
|
||||||
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
|
export interface IQuestTypePool {
|
||||||
|
types: string[];
|
||||||
|
pool: IQuestPool;
|
||||||
|
}
|
||||||
|
export interface IQuestPool {
|
||||||
|
Exploration: IExplorationPool;
|
||||||
|
Elimination: IEliminationPool;
|
||||||
|
}
|
||||||
|
export interface IExplorationPool {
|
||||||
|
locations: Partial<Record<ELocationName, string[]>>;
|
||||||
|
}
|
||||||
|
export interface IEliminationPool {
|
||||||
|
targets: IEliminationTargetPool;
|
||||||
|
}
|
||||||
|
export interface IEliminationTargetPool {
|
||||||
|
Savage?: ITargetLocation;
|
||||||
|
AnyPmc?: ITargetLocation;
|
||||||
|
bossBully?: ITargetLocation;
|
||||||
|
bossGluhar?: ITargetLocation;
|
||||||
|
bossKilla?: ITargetLocation;
|
||||||
|
bossSanitar?: ITargetLocation;
|
||||||
|
bossTagilla?: ITargetLocation;
|
||||||
|
bossKojaniy?: ITargetLocation;
|
||||||
|
}
|
||||||
|
export interface ITargetLocation {
|
||||||
|
locations: string[];
|
||||||
|
}
|
||||||
|
export declare class RepeatableQuestController {
|
||||||
|
protected timeUtil: TimeUtil;
|
||||||
|
protected logger: ILogger;
|
||||||
|
protected randomUtil: RandomUtil;
|
||||||
|
protected mathUtil: MathUtil;
|
||||||
|
protected jsonUtil: JsonUtil;
|
||||||
|
protected databaseServer: DatabaseServer;
|
||||||
|
protected itemHelper: ItemHelper;
|
||||||
|
protected presetHelper: PresetHelper;
|
||||||
|
protected profileHelper: ProfileHelper;
|
||||||
|
protected gameHelper: GameHelper;
|
||||||
|
protected ragfairServerHelper: RagfairServerHelper;
|
||||||
|
protected itemEventRouter: ItemEventRouter;
|
||||||
|
protected paymentService: PaymentService;
|
||||||
|
protected objectId: ObjectId;
|
||||||
|
protected configServer: ConfigServer;
|
||||||
|
protected questConfig: IQuestConfig;
|
||||||
|
constructor(timeUtil: TimeUtil, logger: ILogger, randomUtil: RandomUtil, mathUtil: MathUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, itemHelper: ItemHelper, presetHelper: PresetHelper, profileHelper: ProfileHelper, gameHelper: GameHelper, ragfairServerHelper: RagfairServerHelper, itemEventRouter: ItemEventRouter, paymentService: PaymentService, objectId: ObjectId, configServer: ConfigServer);
|
||||||
|
/**
|
||||||
|
* This is the method reached by the /client/repeatalbeQuests/activityPeriods endpoint
|
||||||
|
* Returns an array of objects in the format of repeatable quests to the client.
|
||||||
|
* repeatableQuestObject = {
|
||||||
|
* id: Unique Id,
|
||||||
|
* name: "Daily",
|
||||||
|
* endTime: the time when the quests expire
|
||||||
|
* activeQuests: currently available quests in an array. Each element of quest type format (see assets/database/templates/repeatableQuests.json).
|
||||||
|
* inactiveQuests: the quests which were previously active (required by client to fail them if they are not completed)
|
||||||
|
* }
|
||||||
|
*
|
||||||
|
* The method checks if the player level requirement for repeatable quests (e.g. daily lvl5, weekly lvl15) is met and if the previously active quests
|
||||||
|
* are still valid. This ischecked by endTime persisted in profile accordning to the resetTime configured for each repeatable kind (daily, weekly)
|
||||||
|
* in QuestCondig.js
|
||||||
|
*
|
||||||
|
* If the condition is met, new repeatableQuests are created, old quests (which are persisted in the profile.RepeatableQuests[i].activeQuests) are
|
||||||
|
* moved to profile.RepeatableQuests[i].inactiveQuests. This memory is required to get rid of old repeatable quest data in the profile, otherwise
|
||||||
|
* they'll litter the profile's Quests field.
|
||||||
|
* (if the are on "Succeed" but not "Completed" we keep them, to allow the player to complete them and get the rewards)
|
||||||
|
* The new quests generated are again persisted in profile.RepeatableQuests
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @param {string} sessionId Player's session id
|
||||||
|
* @returns {array} array of "repeatableQuestObjects" as descibed above
|
||||||
|
*/
|
||||||
|
getClientRepeatableQuests(_info: IEmptyRequestData, sessionID: string): IPmcDataRepeatableQuest[];
|
||||||
|
/**
|
||||||
|
* This method is called by GetClientRepeatableQuests and creates one element of quest type format (see assets/database/templates/repeatableQuests.json).
|
||||||
|
* It randomly draws a quest type (currently Elimination, Completion or Exploration) as well as a trader who is providing the quest
|
||||||
|
*/
|
||||||
|
generateRepeatableQuest(pmcLevel: number, pmcTraderInfo: Record<string, TraderInfo>, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest;
|
||||||
|
/**
|
||||||
|
* Just for debug reasons. Draws dailies a random assort of dailies extracted from dumps
|
||||||
|
*/
|
||||||
|
generateDebugDailies(dailiesPool: any, factory: any, number: any): any;
|
||||||
|
/**
|
||||||
|
* Generates the base object of quest type format given as templates in assets/database/templates/repeatableQuests.json
|
||||||
|
* The templates include Elimination, Completion and Extraction quest types
|
||||||
|
*
|
||||||
|
* @param {string} type quest type: "Elimination", "Completion" or "Extraction"
|
||||||
|
* @param {string} traderId trader from which the quest will be provided
|
||||||
|
* @returns {object} a object which contains the base elements for repeatable quests of the requests type
|
||||||
|
* (needs to be filled with reward and conditions by called to make a valid quest)
|
||||||
|
*/
|
||||||
|
generateRepeatableTemplate(type: string, traderId: string): IRepeatableQuest;
|
||||||
|
/**
|
||||||
|
* Generates a valid Exploration quest
|
||||||
|
*
|
||||||
|
* @param {integer} pmcLevel player's level for reward generation
|
||||||
|
* @param {string} traderId trader from which the quest will be provided
|
||||||
|
* @param {object} questTypePool Pools for quests (used to avoid redundant quests)
|
||||||
|
* @param {object} repeatableConfig The configuration for the repeatably kind (daily, weekly) as configured in QuestConfig for the requestd quest
|
||||||
|
* @returns {object} object of quest type format for "Exploration" (see assets/database/templates/repeatableQuests.json)
|
||||||
|
*/
|
||||||
|
generateExplorationQuest(pmcLevel: number, traderId: string, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IExploration;
|
||||||
|
/**
|
||||||
|
* Generates a valid Completion quest
|
||||||
|
*
|
||||||
|
* @param {integer} pmcLevel player's level for requested items and reward generation
|
||||||
|
* @param {string} traderId trader from which the quest will be provided
|
||||||
|
* @param {object} repeatableConfig The configuration for the repeatably kind (daily, weekly) as configured in QuestConfig for the requestd quest
|
||||||
|
* @returns {object} object of quest type format for "Completion" (see assets/database/templates/repeatableQuests.json)
|
||||||
|
*/
|
||||||
|
generateCompletionQuest(pmcLevel: number, traderId: string, repeatableConfig: IRepeatableQuestConfig): ICompletion;
|
||||||
|
/**
|
||||||
|
* Generates a valid Elimination quest
|
||||||
|
*
|
||||||
|
* @param {integer} pmcLevel player's level for requested items and reward generation
|
||||||
|
* @param {string} traderId trader from which the quest will be provided
|
||||||
|
* @param {object} questTypePool Pools for quests (used to avoid redundant quests)
|
||||||
|
* @param {object} repeatableConfig The configuration for the repeatably kind (daily, weekly) as configured in QuestConfig for the requestd quest
|
||||||
|
* @returns {object} object of quest type format for "Elimination" (see assets/database/templates/repeatableQuests.json)
|
||||||
|
*/
|
||||||
|
generateEliminationQuest(pmcLevel: number, traderId: string, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IElimination;
|
||||||
|
/**
|
||||||
|
* Exploration repeatable quests can specify a required extraction point.
|
||||||
|
* This method creates the according object which will be appended to the conditions array
|
||||||
|
*
|
||||||
|
* @param {string} exit The exit name to generate the condition for
|
||||||
|
* @returns {object} Exit condition
|
||||||
|
*/
|
||||||
|
generateExplorationExitCondition(exit: Exit): IExplorationCondition;
|
||||||
|
/**
|
||||||
|
* A repeatable quest, besides some more or less static components, exists of reward and condition (see assets/database/templates/repeatableQuests.json)
|
||||||
|
* This is a helper method for GenerateCompletionQuest to create a completion condition (of which a completion quest theoretically can have many)
|
||||||
|
*
|
||||||
|
* @param {string} targetItemId id of the item to request
|
||||||
|
* @param {integer} value amount of items of this specific type to request
|
||||||
|
* @returns {object} object of "Completion"-condition
|
||||||
|
*/
|
||||||
|
generateCompletionAvailableForFinish(targetItemId: string, value: number): ICompletionAvailableFor;
|
||||||
|
/**
|
||||||
|
* A repeatable quest, besides some more or less static components, exists of reward and condition (see assets/database/templates/repeatableQuests.json)
|
||||||
|
* This is a helper method for GenerateEliminationQuest to create a location condition.
|
||||||
|
*
|
||||||
|
* @param {string} location the location on which to fulfill the elimination quest
|
||||||
|
* @returns {object} object of "Elimination"-location-subcondition
|
||||||
|
*/
|
||||||
|
generateEliminationLocation(location: string[]): IEliminationCondition;
|
||||||
|
/**
|
||||||
|
* A repeatable quest, besides some more or less static components, exists of reward and condition (see assets/database/templates/repeatableQuests.json)
|
||||||
|
* This is a helper method for GenerateEliminationQuest to create a kill condition.
|
||||||
|
*
|
||||||
|
* @param {string} target array of target npcs e.g. "AnyPmc", "Savage"
|
||||||
|
* @param {array} bodyParts array of body parts with which to kill e.g. ["stomach", "thorax"]
|
||||||
|
* @param {number} distance distance from which to kill (currently only >= supported)
|
||||||
|
* @returns {object} object of "Elimination"-kill-subcondition
|
||||||
|
*/
|
||||||
|
generateEliminationCondition(target: string, bodyPart: string[], distance: number): IEliminationCondition;
|
||||||
|
/**
|
||||||
|
* Used to create a quest pool during each cycle of repeatable quest generation. The pool will be subsequently
|
||||||
|
* narrowed down during quest generation to avoid duplicate quests. Like duplicate extractions or elimination quests
|
||||||
|
* where you have to e.g. kill scavs in same locations.
|
||||||
|
*
|
||||||
|
* @returns {object} the quest pool
|
||||||
|
*/
|
||||||
|
generateQuestPool(repeatableConfig: IRepeatableQuestConfig): IQuestTypePool;
|
||||||
|
/**
|
||||||
|
* Generate the reward for a mission. A reward can consist of
|
||||||
|
* - Experience
|
||||||
|
* - Money
|
||||||
|
* - Items
|
||||||
|
* - Trader Reputation
|
||||||
|
*
|
||||||
|
* The reward is dependent on the player level as given by the wiki. The exact mapping of pmcLevel to
|
||||||
|
* experience / money / items / trader reputation can be defined in QuestConfig.js
|
||||||
|
*
|
||||||
|
* There's also a random variation of the reward the spread of which can be also defined in the config.
|
||||||
|
*
|
||||||
|
* Additonaly, a scaling factor w.r.t. quest difficulty going from 0.2...1 can be used
|
||||||
|
*
|
||||||
|
* @param {integer} pmcLevel player's level
|
||||||
|
* @param {number} difficulty a reward scaling factor goint from 0.2 to 1
|
||||||
|
* @param {string} traderId the trader for reputation gain (and possible in the future filtering of reward item type based on trader)
|
||||||
|
* @param {object} repeatableConfig The configuration for the repeatably kind (daily, weekly) as configured in QuestConfig for the requestd quest
|
||||||
|
* @returns {object} object of "Reward"-type that can be given for a repeatable mission
|
||||||
|
*/
|
||||||
|
generateReward(pmcLevel: number, difficulty: number, traderId: string, repeatableConfig: IRepeatableQuestConfig): IRewards;
|
||||||
|
/**
|
||||||
|
* Helper to create a reward item structured as required by the client
|
||||||
|
*
|
||||||
|
* @param {string} tpl itemId of the rewarded item
|
||||||
|
* @param {integer} value amount of items to give
|
||||||
|
* @param {integer} index all rewards will be appended to a list, for unkown reasons the client wants the index
|
||||||
|
* @returns {object} object of "Reward"-item-type
|
||||||
|
*/
|
||||||
|
generateRewardItem(tpl: string, value: number, index: number, preset?: any): IReward;
|
||||||
|
debugLogRepeatableQuestIds(pmcData: IPmcData): void;
|
||||||
|
probabilityObjectArray<K, V>(configArrayInput: ProbabilityObject<K, V>[]): ProbabilityObjectArray<K, V>;
|
||||||
|
changeRepeatableQuest(pmcDataIn: IPmcData, body: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse;
|
||||||
|
}
|
21
Ereshkigal-AkiConfig/dist/types/controllers/TradeController.d.ts
vendored
Normal file
21
Ereshkigal-AkiConfig/dist/types/controllers/TradeController.d.ts
vendored
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
import { RagfairServer } from "../servers/RagfairServer";
|
||||||
|
import { ProfileHelper } from "../helpers/ProfileHelper";
|
||||||
|
import { TradeHelper } from "../helpers/TradeHelper";
|
||||||
|
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||||
|
import { IProcessRagfairTradeRequestData } from "../models/eft/trade/IProcessRagfairTradeRequestData";
|
||||||
|
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
|
||||||
|
import { Upd } from "../models/eft/common/tables/IItem";
|
||||||
|
import { IProcessBaseTradeRequestData } from "../models/eft/trade/IProcessBaseTradeRequestData";
|
||||||
|
import { ItemEventRouter } from "../routers/ItemEventRouter";
|
||||||
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
|
declare class TradeController {
|
||||||
|
protected logger: ILogger;
|
||||||
|
protected itemEventRouter: ItemEventRouter;
|
||||||
|
protected tradeHelper: TradeHelper;
|
||||||
|
protected profileHelper: ProfileHelper;
|
||||||
|
protected ragfairServer: RagfairServer;
|
||||||
|
constructor(logger: ILogger, itemEventRouter: ItemEventRouter, tradeHelper: TradeHelper, profileHelper: ProfileHelper, ragfairServer: RagfairServer);
|
||||||
|
confirmTrading(pmcData: IPmcData, body: IProcessBaseTradeRequestData, sessionID: string, foundInRaid?: boolean, upd?: Upd): IItemEventRouterResponse;
|
||||||
|
confirmRagfairTrading(pmcData: IPmcData, body: IProcessRagfairTradeRequestData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
}
|
||||||
|
export { TradeController };
|
26
Ereshkigal-AkiConfig/dist/types/controllers/TraderController.d.ts
vendored
Normal file
26
Ereshkigal-AkiConfig/dist/types/controllers/TraderController.d.ts
vendored
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
import { ProfileHelper } from "../helpers/ProfileHelper";
|
||||||
|
import { TraderAssortHelper } from "../helpers/TraderAssortHelper";
|
||||||
|
import { TraderHelper } from "../helpers/TraderHelper";
|
||||||
|
import { IBarterScheme, ITraderAssort, ITraderBase } from "../models/eft/common/tables/ITrader";
|
||||||
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
import { TraderAssortService } from "../services/TraderAssortService";
|
||||||
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
|
export declare class TraderController {
|
||||||
|
protected logger: ILogger;
|
||||||
|
protected databaseServer: DatabaseServer;
|
||||||
|
protected traderAssortHelper: TraderAssortHelper;
|
||||||
|
protected profileHelper: ProfileHelper;
|
||||||
|
protected traderHelper: TraderHelper;
|
||||||
|
protected timeUtil: TimeUtil;
|
||||||
|
protected traderAssortService: TraderAssortService;
|
||||||
|
protected jsonUtil: JsonUtil;
|
||||||
|
constructor(logger: ILogger, databaseServer: DatabaseServer, traderAssortHelper: TraderAssortHelper, profileHelper: ProfileHelper, traderHelper: TraderHelper, timeUtil: TimeUtil, traderAssortService: TraderAssortService, jsonUtil: JsonUtil);
|
||||||
|
load(): void;
|
||||||
|
getTrader(traderID: string, sessionID: string): ITraderBase;
|
||||||
|
getAllTraders(sessionID: string): ITraderBase[];
|
||||||
|
updateTraders(): boolean;
|
||||||
|
getAssort(sessionId: string, traderId: string): ITraderAssort;
|
||||||
|
getPurchasesData(traderID: string, sessionID: string): Record<string, IBarterScheme[][]>;
|
||||||
|
}
|
11
Ereshkigal-AkiConfig/dist/types/controllers/WeatherController.d.ts
vendored
Normal file
11
Ereshkigal-AkiConfig/dist/types/controllers/WeatherController.d.ts
vendored
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
import { WeatherGenerator } from "../generators/WeatherGenerator";
|
||||||
|
import { IWeatherData } from "../models/eft/weather/IWeatherData";
|
||||||
|
import { IWeatherConfig } from "../models/spt/config/IWeatherConfig";
|
||||||
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
|
export declare class WeatherController {
|
||||||
|
protected weatherGenerator: WeatherGenerator;
|
||||||
|
protected configServer: ConfigServer;
|
||||||
|
protected weatherConfig: IWeatherConfig;
|
||||||
|
constructor(weatherGenerator: WeatherGenerator, configServer: ConfigServer);
|
||||||
|
generate(): IWeatherData;
|
||||||
|
}
|
10
Ereshkigal-AkiConfig/dist/types/controllers/WishlistController.d.ts
vendored
Normal file
10
Ereshkigal-AkiConfig/dist/types/controllers/WishlistController.d.ts
vendored
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
import { ItemEventRouter } from "../routers/ItemEventRouter";
|
||||||
|
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||||
|
import { IWishlistActionData } from "../models/eft/wishlist/IWishlistActionData";
|
||||||
|
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
|
||||||
|
export declare class WishlistController {
|
||||||
|
protected itemEvenRouter: ItemEventRouter;
|
||||||
|
constructor(itemEvenRouter: ItemEventRouter);
|
||||||
|
addToWishList(pmcData: IPmcData, body: IWishlistActionData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
removeFromWishList(pmcData: IPmcData, body: IWishlistActionData, sessionID: string): IItemEventRouterResponse;
|
||||||
|
}
|
14
Ereshkigal-AkiConfig/dist/types/di/Container.d.ts
vendored
Normal file
14
Ereshkigal-AkiConfig/dist/types/di/Container.d.ts
vendored
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
import { DependencyContainer } from "tsyringe";
|
||||||
|
export declare class Container {
|
||||||
|
static registerTypes(depContainer: DependencyContainer): void;
|
||||||
|
static registerListTypes(depContainer: DependencyContainer): void;
|
||||||
|
private static registerUtils;
|
||||||
|
private static registerRouters;
|
||||||
|
private static registerGenerators;
|
||||||
|
private static registerHelpers;
|
||||||
|
private static registerLoaders;
|
||||||
|
private static registerCallbacks;
|
||||||
|
private static registerServices;
|
||||||
|
private static registerServers;
|
||||||
|
private static registerControllers;
|
||||||
|
}
|
4
Ereshkigal-AkiConfig/dist/types/di/OnLoad.d.ts
vendored
Normal file
4
Ereshkigal-AkiConfig/dist/types/di/OnLoad.d.ts
vendored
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
export declare class OnLoad {
|
||||||
|
onLoad(): void;
|
||||||
|
getRoute(): string;
|
||||||
|
}
|
7
Ereshkigal-AkiConfig/dist/types/di/OnLoadOnUpdate.d.ts
vendored
Normal file
7
Ereshkigal-AkiConfig/dist/types/di/OnLoadOnUpdate.d.ts
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
import { OnLoad } from "./OnLoad";
|
||||||
|
import { OnUpdate } from "./OnUpdate";
|
||||||
|
export declare class OnLoadOnUpdate implements OnLoad, OnUpdate {
|
||||||
|
onUpdate(timeSinceLastRun: number): boolean;
|
||||||
|
onLoad(): void;
|
||||||
|
getRoute(): string;
|
||||||
|
}
|
4
Ereshkigal-AkiConfig/dist/types/di/OnUpdate.d.ts
vendored
Normal file
4
Ereshkigal-AkiConfig/dist/types/di/OnUpdate.d.ts
vendored
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
export declare class OnUpdate {
|
||||||
|
onUpdate(timeSinceLastRun: number): boolean;
|
||||||
|
getRoute(): string;
|
||||||
|
}
|
40
Ereshkigal-AkiConfig/dist/types/di/Router.d.ts
vendored
Normal file
40
Ereshkigal-AkiConfig/dist/types/di/Router.d.ts
vendored
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||||
|
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
|
||||||
|
import { IAkiProfile } from "../models/eft/profile/IAkiProfile";
|
||||||
|
export declare class Router {
|
||||||
|
private handledRoutes;
|
||||||
|
getTopLevelRoute(): string;
|
||||||
|
protected getHandledRoutes(): HandledRoute[];
|
||||||
|
private getInternalHandledRoutes;
|
||||||
|
canHandle(url: string, partialMatch?: boolean): boolean;
|
||||||
|
}
|
||||||
|
export declare class StaticRouter extends Router {
|
||||||
|
private routes;
|
||||||
|
constructor(routes: RouteAction[]);
|
||||||
|
handleStatic(url: string, info: any, sessionID: string, output: string): any;
|
||||||
|
getHandledRoutes(): HandledRoute[];
|
||||||
|
}
|
||||||
|
export declare class DynamicRouter extends Router {
|
||||||
|
private routes;
|
||||||
|
constructor(routes: RouteAction[]);
|
||||||
|
handleDynamic(url: string, info: any, sessionID: string, output: string): any;
|
||||||
|
getHandledRoutes(): HandledRoute[];
|
||||||
|
}
|
||||||
|
export declare class ItemEventRouterDefinition extends Router {
|
||||||
|
constructor();
|
||||||
|
handleItemEvent(url: string, pmcData: IPmcData, body: any, sessionID: string): IItemEventRouterResponse;
|
||||||
|
}
|
||||||
|
export declare class SaveLoadRouter extends Router {
|
||||||
|
constructor();
|
||||||
|
handleLoad(profile: IAkiProfile): IAkiProfile;
|
||||||
|
}
|
||||||
|
export declare class HandledRoute {
|
||||||
|
route: string;
|
||||||
|
dynamic: boolean;
|
||||||
|
constructor(route: string, dynamic: boolean);
|
||||||
|
}
|
||||||
|
export declare class RouteAction {
|
||||||
|
url: string;
|
||||||
|
action: (url: string, info: any, sessionID: string, output: string) => any;
|
||||||
|
constructor(url: string, action: (url: string, info: any, sessionID: string, output: string) => any);
|
||||||
|
}
|
5
Ereshkigal-AkiConfig/dist/types/di/Serializer.d.ts
vendored
Normal file
5
Ereshkigal-AkiConfig/dist/types/di/Serializer.d.ts
vendored
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
import { IHttpServer } from "../models/spt/server/IHttpServer";
|
||||||
|
export declare class Serializer {
|
||||||
|
serialize(sessionID: string, req: any, resp: any, body: any, httpServer: IHttpServer): void;
|
||||||
|
canHandle(something: string): boolean;
|
||||||
|
}
|
46
Ereshkigal-AkiConfig/dist/types/generators/BotGenerator.d.ts
vendored
Normal file
46
Ereshkigal-AkiConfig/dist/types/generators/BotGenerator.d.ts
vendored
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
import { BotHelper } from "../helpers/BotHelper";
|
||||||
|
import { GameEventHelper } from "../helpers/GameEventHelper";
|
||||||
|
import { IGenerateBotsRequestData } from "../models/eft/bot/IGenerateBotsRequestData";
|
||||||
|
import { Health as PmcHealth } from "../models/eft/common/IPmcData";
|
||||||
|
import { IBotBase } from "../models/eft/common/tables/IBotBase";
|
||||||
|
import { Health, Inventory, Skills } from "../models/eft/common/tables/IBotType";
|
||||||
|
import { IBotConfig } from "../models/spt/config/IBotConfig";
|
||||||
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
import { HashUtil } from "../utils/HashUtil";
|
||||||
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
|
import { RandomUtil } from "../utils/RandomUtil";
|
||||||
|
import { BotInventoryGenerator } from "./BotInventoryGenerator";
|
||||||
|
declare namespace BotGenerator {
|
||||||
|
interface IRandomisedBotLevelResult {
|
||||||
|
level: number;
|
||||||
|
exp: number;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
export declare class BotGenerator {
|
||||||
|
protected logger: ILogger;
|
||||||
|
protected hashUtil: HashUtil;
|
||||||
|
protected randomUtil: RandomUtil;
|
||||||
|
protected jsonUtil: JsonUtil;
|
||||||
|
protected databaseServer: DatabaseServer;
|
||||||
|
protected botInventoryGenerator: BotInventoryGenerator;
|
||||||
|
protected botHelper: BotHelper;
|
||||||
|
protected gameEventHelper: GameEventHelper;
|
||||||
|
protected configServer: ConfigServer;
|
||||||
|
protected botConfig: IBotConfig;
|
||||||
|
constructor(logger: ILogger, hashUtil: HashUtil, randomUtil: RandomUtil, jsonUtil: JsonUtil, databaseServer: DatabaseServer, botInventoryGenerator: BotInventoryGenerator, botHelper: BotHelper, gameEventHelper: GameEventHelper, configServer: ConfigServer);
|
||||||
|
generate(info: IGenerateBotsRequestData, playerScav?: boolean): IBotBase[];
|
||||||
|
protected generateBot(bot: IBotBase, role: string, isPmc: boolean): IBotBase;
|
||||||
|
protected generateRandomLevel(min: number, max: number): BotGenerator.IRandomisedBotLevelResult;
|
||||||
|
/** Converts health object to the required format */
|
||||||
|
protected generateHealth(healthObj: Health, playerScav?: boolean): PmcHealth;
|
||||||
|
protected generateSkills(skillsObj: Skills): Skills;
|
||||||
|
protected getPmcRole(pmcSide: string): string;
|
||||||
|
protected removeChristmasItemsFromBotInventory(nodeInventory: Inventory): void;
|
||||||
|
protected generateId(bot: IBotBase): IBotBase;
|
||||||
|
protected generateInventoryID(profile: IBotBase): IBotBase;
|
||||||
|
protected getPMCDifficulty(requestedDifficulty: string): string;
|
||||||
|
protected generateDogtag(bot: IBotBase): IBotBase;
|
||||||
|
}
|
||||||
|
export {};
|
24
Ereshkigal-AkiConfig/dist/types/generators/BotInventoryGenerator.d.ts
vendored
Normal file
24
Ereshkigal-AkiConfig/dist/types/generators/BotInventoryGenerator.d.ts
vendored
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
import { Inventory as PmcInventory } from "../models/eft/common/IPmcData";
|
||||||
|
import { Inventory, Chances, Generation, Mods } from "../models/eft/common/tables/IBotType";
|
||||||
|
import { HashUtil } from "../utils/HashUtil";
|
||||||
|
import { RandomUtil } from "../utils/RandomUtil";
|
||||||
|
import { BotGeneratorHelper } from "../helpers/BotGeneratorHelper";
|
||||||
|
import { BotWeaponGenerator } from "./BotWeaponGenerator";
|
||||||
|
import { BotLootGenerator } from "./BotLootGenerator";
|
||||||
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
import { WeightedRandomHelper } from "../helpers/WeightedRandomHelper";
|
||||||
|
export declare class BotInventoryGenerator {
|
||||||
|
protected logger: ILogger;
|
||||||
|
protected hashUtil: HashUtil;
|
||||||
|
protected randomUtil: RandomUtil;
|
||||||
|
protected databaseServer: DatabaseServer;
|
||||||
|
protected botWeaponGenerator: BotWeaponGenerator;
|
||||||
|
protected botLootGenerator: BotLootGenerator;
|
||||||
|
protected botGeneratorHelper: BotGeneratorHelper;
|
||||||
|
protected weightedRandomHelper: WeightedRandomHelper;
|
||||||
|
constructor(logger: ILogger, hashUtil: HashUtil, randomUtil: RandomUtil, databaseServer: DatabaseServer, botWeaponGenerator: BotWeaponGenerator, botLootGenerator: BotLootGenerator, botGeneratorHelper: BotGeneratorHelper, weightedRandomHelper: WeightedRandomHelper);
|
||||||
|
generateInventory(templateInventory: Inventory, equipmentChances: Chances, generation: Generation, botRole: string, isPmc: boolean): PmcInventory;
|
||||||
|
protected generateEquipment(equipmentSlot: string, equipmentPool: Record<string, number>, modPool: Mods, spawnChances: Chances, botRole: string, inventory: PmcInventory): void;
|
||||||
|
protected generateInventoryBase(): PmcInventory;
|
||||||
|
}
|
29
Ereshkigal-AkiConfig/dist/types/generators/BotLootGenerator.d.ts
vendored
Normal file
29
Ereshkigal-AkiConfig/dist/types/generators/BotLootGenerator.d.ts
vendored
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
import { PMCLootGenerator } from "../generators/PMCLootGenerator";
|
||||||
|
import { BotGeneratorHelper } from "../helpers/BotGeneratorHelper";
|
||||||
|
import { HandbookHelper } from "../helpers/HandbookHelper";
|
||||||
|
import { Inventory as PmcInventory } from "../models/eft/common/IPmcData";
|
||||||
|
import { ItemMinMax, Items } from "../models/eft/common/tables/IBotType";
|
||||||
|
import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem";
|
||||||
|
import { IBotConfig } from "../models/spt/config/IBotConfig";
|
||||||
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
import { HashUtil } from "../utils/HashUtil";
|
||||||
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
|
import { RandomUtil } from "../utils/RandomUtil";
|
||||||
|
export declare class BotLootGenerator {
|
||||||
|
protected jsonUtil: JsonUtil;
|
||||||
|
protected hashUtil: HashUtil;
|
||||||
|
protected randomUtil: RandomUtil;
|
||||||
|
protected databaseServer: DatabaseServer;
|
||||||
|
protected handbookHelper: HandbookHelper;
|
||||||
|
protected botGeneratorHelper: BotGeneratorHelper;
|
||||||
|
protected pmcLootGenerator: PMCLootGenerator;
|
||||||
|
protected configServer: ConfigServer;
|
||||||
|
protected botConfig: IBotConfig;
|
||||||
|
constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, databaseServer: DatabaseServer, handbookHelper: HandbookHelper, botGeneratorHelper: BotGeneratorHelper, pmcLootGenerator: PMCLootGenerator, configServer: ConfigServer);
|
||||||
|
generateLoot(lootPool: Items, itemCounts: ItemMinMax, isPmc: boolean, inventory: PmcInventory): void;
|
||||||
|
protected getRandomisedCount(min: number, max: number, nValue: number): number;
|
||||||
|
protected addLootFromPool(pool: ITemplateItem[], equipmentSlots: string[], count: number, inventory: PmcInventory, totalValueLimit?: number, useLimits?: boolean): void;
|
||||||
|
/** Compares two item templates by their price to spawn chance ratio */
|
||||||
|
protected compareByValue(a: ITemplateItem, b: ITemplateItem): number;
|
||||||
|
}
|
88
Ereshkigal-AkiConfig/dist/types/generators/BotWeaponGenerator.d.ts
vendored
Normal file
88
Ereshkigal-AkiConfig/dist/types/generators/BotWeaponGenerator.d.ts
vendored
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
import { BotGeneratorHelper } from "../helpers/BotGeneratorHelper";
|
||||||
|
import { ItemHelper } from "../helpers/ItemHelper";
|
||||||
|
import { WeightedRandomHelper } from "../helpers/WeightedRandomHelper";
|
||||||
|
import { Inventory as PmcInventory } from "../models/eft/common/IPmcData";
|
||||||
|
import { Inventory, MinMax, ModsChances } from "../models/eft/common/tables/IBotType";
|
||||||
|
import { Item } from "../models/eft/common/tables/IItem";
|
||||||
|
import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem";
|
||||||
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
import { HashUtil } from "../utils/HashUtil";
|
||||||
|
import { RandomUtil } from "../utils/RandomUtil";
|
||||||
|
export declare class BotWeaponGenerator {
|
||||||
|
protected logger: ILogger;
|
||||||
|
protected hashUtil: HashUtil;
|
||||||
|
protected databaseServer: DatabaseServer;
|
||||||
|
protected itemHelper: ItemHelper;
|
||||||
|
protected weightedRandomHelper: WeightedRandomHelper;
|
||||||
|
protected botGeneratorHelper: BotGeneratorHelper;
|
||||||
|
protected randomUtil: RandomUtil;
|
||||||
|
private readonly modMagazineSlotId;
|
||||||
|
constructor(logger: ILogger, hashUtil: HashUtil, databaseServer: DatabaseServer, itemHelper: ItemHelper, weightedRandomHelper: WeightedRandomHelper, botGeneratorHelper: BotGeneratorHelper, randomUtil: RandomUtil);
|
||||||
|
generateWeapon(equipmentSlot: string, templateInventory: Inventory, modChances: ModsChances, magCounts: MinMax, botRole: string, isPmc: boolean, inventory: PmcInventory): void;
|
||||||
|
/**
|
||||||
|
* Get the mods necessary to kit out a weapon to its preset level
|
||||||
|
* @param weaponTpl weapon to find preset for
|
||||||
|
* @param equipmentSlot the slot the weapon will be placed in
|
||||||
|
* @param weaponParentId
|
||||||
|
* @returns array of weapon mods
|
||||||
|
*/
|
||||||
|
protected getPresetWeaponMods(weaponTpl: string, equipmentSlot: string, weaponParentId: string, itemTemplate: ITemplateItem, botRole: string): Item[];
|
||||||
|
/** Checks if all required slots are occupied on a weapon and all it's mods */
|
||||||
|
protected isWeaponValid(itemList: Item[]): boolean;
|
||||||
|
/**
|
||||||
|
* Generates extra magazines or bullets (if magazine is internal) and adds them to TacticalVest and Pockets.
|
||||||
|
* Additionally, adds extra bullets to SecuredContainer
|
||||||
|
* @param weaponMods
|
||||||
|
* @param weaponTemplate
|
||||||
|
* @param magCounts
|
||||||
|
* @param ammoTpl
|
||||||
|
* @param inventory
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
|
protected generateExtraMagazines(weaponMods: Item[], weaponTemplate: ITemplateItem, magCounts: MinMax, ammoTpl: string, inventory: PmcInventory): void;
|
||||||
|
/**
|
||||||
|
* Get a randomised count of magazines
|
||||||
|
* @param magCounts min and max value returned value can be between
|
||||||
|
* @returns numberical value of magazine count
|
||||||
|
*/
|
||||||
|
protected getRandomisedMagazineCount(magCounts: MinMax): number;
|
||||||
|
/**
|
||||||
|
* Add ammo to the secure container
|
||||||
|
* @param stackCount How many stacks of ammo to add
|
||||||
|
* @param ammoTpl Ammo type to add
|
||||||
|
* @param stackSize Size of the ammo stack to add
|
||||||
|
* @param inventory Player inventory
|
||||||
|
*/
|
||||||
|
protected addAmmoToSecureContainer(stackCount: number, ammoTpl: string, stackSize: number, inventory: PmcInventory): void;
|
||||||
|
/**
|
||||||
|
* Get a weapons magazine tpl from a weapon template
|
||||||
|
* @param weaponMods mods from a weapon template
|
||||||
|
* @param weaponTemplate Weapon to get magazine tpl for
|
||||||
|
* @returns magazine tpl string
|
||||||
|
*/
|
||||||
|
protected getMagazineTplFromWeaponTemplate(weaponMods: Item[], weaponTemplate: ITemplateItem): string;
|
||||||
|
protected addBulletsToVestAndPockets(ammoTpl: string, bulletCount: number, inventory: PmcInventory): void;
|
||||||
|
/**
|
||||||
|
* Finds and returns compatible ammo tpl
|
||||||
|
*
|
||||||
|
* @param {*} weaponMods
|
||||||
|
* @param {*} weaponTemplate
|
||||||
|
* @returns compatible ammo tpl
|
||||||
|
*/
|
||||||
|
protected getCompatibleAmmo(weaponMods: Item[], weaponTemplate: ITemplateItem): string;
|
||||||
|
/**
|
||||||
|
* Fill existing magazines to full, while replacing their contents with specified ammo
|
||||||
|
* @param weaponMods
|
||||||
|
* @param magazine
|
||||||
|
* @param ammoTpl
|
||||||
|
*/
|
||||||
|
protected fillExistingMagazines(weaponMods: Item[], magazine: Item, ammoTpl: string): void;
|
||||||
|
/**
|
||||||
|
* Fill each Camora with a bullet
|
||||||
|
* @param weaponMods Weapon mods to find and update camora mod(s) from
|
||||||
|
* @param magazineId magazine id to find and add to
|
||||||
|
* @param ammoTpl ammo template id to hydate with
|
||||||
|
*/
|
||||||
|
protected fillCamorasWithAmmo(weaponMods: Item[], magazineId: string, ammoTpl: string): void;
|
||||||
|
}
|
46
Ereshkigal-AkiConfig/dist/types/generators/LocationGenerator.d.ts
vendored
Normal file
46
Ereshkigal-AkiConfig/dist/types/generators/LocationGenerator.d.ts
vendored
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
import { ContainerHelper } from "../helpers/ContainerHelper";
|
||||||
|
import { GameEventHelper } from "../helpers/GameEventHelper";
|
||||||
|
import { ItemHelper } from "../helpers/ItemHelper";
|
||||||
|
import { PresetHelper } from "../helpers/PresetHelper";
|
||||||
|
import { RagfairServerHelper } from "../helpers/RagfairServerHelper";
|
||||||
|
import { ILooseLoot, SpawnpointTemplate } from "../models/eft/common/ILooseLoot";
|
||||||
|
import { Item } from "../models/eft/common/tables/IItem";
|
||||||
|
import { IStaticAmmoDetails, IStaticContainerProps, IStaticForcedProps, IStaticLootDetails } from "../models/eft/common/tables/ILootBase";
|
||||||
|
import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem";
|
||||||
|
import { ILocationConfig } from "../models/spt/config/ILocationConfig";
|
||||||
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
|
import { MathUtil } from "../utils/MathUtil";
|
||||||
|
import { ObjectId } from "../utils/ObjectId";
|
||||||
|
import { RandomUtil } from "../utils/RandomUtil";
|
||||||
|
export interface IContainerItem {
|
||||||
|
items: Item[];
|
||||||
|
width: number;
|
||||||
|
height: number;
|
||||||
|
}
|
||||||
|
export declare class LocationGenerator {
|
||||||
|
protected logger: ILogger;
|
||||||
|
protected jsonUtil: JsonUtil;
|
||||||
|
protected objectId: ObjectId;
|
||||||
|
protected randomUtil: RandomUtil;
|
||||||
|
protected ragfairServerHelper: RagfairServerHelper;
|
||||||
|
protected itemHelper: ItemHelper;
|
||||||
|
protected mathUtil: MathUtil;
|
||||||
|
protected gameEventHelper: GameEventHelper;
|
||||||
|
protected containerHelper: ContainerHelper;
|
||||||
|
protected presetHelper: PresetHelper;
|
||||||
|
protected configServer: ConfigServer;
|
||||||
|
protected locationConfig: ILocationConfig;
|
||||||
|
constructor(logger: ILogger, jsonUtil: JsonUtil, objectId: ObjectId, randomUtil: RandomUtil, ragfairServerHelper: RagfairServerHelper, itemHelper: ItemHelper, mathUtil: MathUtil, gameEventHelper: GameEventHelper, containerHelper: ContainerHelper, presetHelper: PresetHelper, configServer: ConfigServer);
|
||||||
|
generateContainerLoot(containerIn: IStaticContainerProps, staticForced: IStaticForcedProps[], staticLootDist: Record<string, IStaticLootDetails>, staticAmmoDist: Record<string, IStaticAmmoDetails[]>, locationName: string): IStaticContainerProps;
|
||||||
|
protected getLooseLootMultiplerForLocation(location: string): number;
|
||||||
|
protected getStaticLootMultiplerForLocation(location: string): number;
|
||||||
|
generateDynamicLoot(dynamicLootDist: ILooseLoot, staticAmmoDist: Record<string, IStaticAmmoDetails[]>, locationName: string): SpawnpointTemplate[];
|
||||||
|
protected createItem(tpl: string, staticAmmoDist: Record<string, IStaticAmmoDetails[]>, parentId?: string): IContainerItem;
|
||||||
|
protected getRandomCompatibleCaliberTemplateId(item: ITemplateItem): string;
|
||||||
|
protected getRandomValidCaliber(magTemplate: ITemplateItem): string;
|
||||||
|
protected drawAmmoTpl(caliber: string, staticAmmoDist: Record<string, IStaticAmmoDetails[]>): string;
|
||||||
|
protected createRandomMagCartridges(magTemplate: ITemplateItem, parentId: string, staticAmmoDist: Record<string, IStaticAmmoDetails[]>, caliber?: string): Item;
|
||||||
|
protected createCartidges(parentId: string, ammoTpl: string, stackCount: number): Item;
|
||||||
|
}
|
15
Ereshkigal-AkiConfig/dist/types/generators/PMCLootGenerator.d.ts
vendored
Normal file
15
Ereshkigal-AkiConfig/dist/types/generators/PMCLootGenerator.d.ts
vendored
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
import { ItemHelper } from "../helpers/ItemHelper";
|
||||||
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
|
import { IBotConfig } from "../models/spt/config/IBotConfig";
|
||||||
|
export declare class PMCLootGenerator {
|
||||||
|
protected itemHelper: ItemHelper;
|
||||||
|
protected databaseServer: DatabaseServer;
|
||||||
|
protected configServer: ConfigServer;
|
||||||
|
protected pocketLootPool: string[];
|
||||||
|
protected backpackLootPool: string[];
|
||||||
|
protected botConfig: IBotConfig;
|
||||||
|
constructor(itemHelper: ItemHelper, databaseServer: DatabaseServer, configServer: ConfigServer);
|
||||||
|
generatePMCPocketLootPool(): string[];
|
||||||
|
generatePMCBackpackLootPool(): string[];
|
||||||
|
}
|
25
Ereshkigal-AkiConfig/dist/types/generators/RagfairAssortGenerator.d.ts
vendored
Normal file
25
Ereshkigal-AkiConfig/dist/types/generators/RagfairAssortGenerator.d.ts
vendored
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
import { ItemHelper } from "../helpers/ItemHelper";
|
||||||
|
import { Item } from "../models/eft/common/tables/IItem";
|
||||||
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
import { HashUtil } from "../utils/HashUtil";
|
||||||
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
|
export declare class RagfairAssortGenerator {
|
||||||
|
protected jsonUtil: JsonUtil;
|
||||||
|
protected hashUtil: HashUtil;
|
||||||
|
protected itemHelper: ItemHelper;
|
||||||
|
protected databaseServer: DatabaseServer;
|
||||||
|
protected generatedAssortItems: Item[];
|
||||||
|
constructor(jsonUtil: JsonUtil, hashUtil: HashUtil, itemHelper: ItemHelper, databaseServer: DatabaseServer);
|
||||||
|
/**
|
||||||
|
* Get an array of unique items that can be sold on the flea
|
||||||
|
* @returns array of unique items
|
||||||
|
*/
|
||||||
|
getAssortItems(): Item[];
|
||||||
|
protected assortsAreGenerated(): boolean;
|
||||||
|
/**
|
||||||
|
* Generate an array of items the flea can sell
|
||||||
|
* @returns array of unique items
|
||||||
|
*/
|
||||||
|
protected generateRagfairAssortItems(): Item[];
|
||||||
|
protected createRagfairAssortItem(tplId: string, id?: string): Item;
|
||||||
|
}
|
60
Ereshkigal-AkiConfig/dist/types/generators/RagfairOfferGenerator.d.ts
vendored
Normal file
60
Ereshkigal-AkiConfig/dist/types/generators/RagfairOfferGenerator.d.ts
vendored
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
import { ItemHelper } from "../helpers/ItemHelper";
|
||||||
|
import { PresetHelper } from "../helpers/PresetHelper";
|
||||||
|
import { RagfairServerHelper } from "../helpers/RagfairServerHelper";
|
||||||
|
import { Item } from "../models/eft/common/tables/IItem";
|
||||||
|
import { ITemplateItem } from "../models/eft/common/tables/ITemplateItem";
|
||||||
|
import { IBarterScheme } from "../models/eft/common/tables/ITrader";
|
||||||
|
import { IRagfairOffer } from "../models/eft/ragfair/IRagfairOffer";
|
||||||
|
import { IRagfairConfig } from "../models/spt/config/IRagfairConfig";
|
||||||
|
import { ILogger } from "../models/spt/utils/ILogger";
|
||||||
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
|
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||||
|
import { SaveServer } from "../servers/SaveServer";
|
||||||
|
import { FenceService } from "../services/FenceService";
|
||||||
|
import { RagfairOfferService } from "../services/RagfairOfferService";
|
||||||
|
import { RagfairPriceService } from "../services/RagfairPriceService";
|
||||||
|
import { HashUtil } from "../utils/HashUtil";
|
||||||
|
import { JsonUtil } from "../utils/JsonUtil";
|
||||||
|
import { RandomUtil } from "../utils/RandomUtil";
|
||||||
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
|
import { RagfairAssortGenerator } from "./RagfairAssortGenerator";
|
||||||
|
export declare class RagfairOfferGenerator {
|
||||||
|
protected logger: ILogger;
|
||||||
|
protected jsonUtil: JsonUtil;
|
||||||
|
protected hashUtil: HashUtil;
|
||||||
|
protected randomUtil: RandomUtil;
|
||||||
|
protected timeUtil: TimeUtil;
|
||||||
|
protected databaseServer: DatabaseServer;
|
||||||
|
protected ragfairServerHelper: RagfairServerHelper;
|
||||||
|
protected saveServer: SaveServer;
|
||||||
|
protected presetHelper: PresetHelper;
|
||||||
|
protected ragfairAssortGenerator: RagfairAssortGenerator;
|
||||||
|
protected ragfairOfferService: RagfairOfferService;
|
||||||
|
protected ragfairPriceService: RagfairPriceService;
|
||||||
|
protected fenceService: FenceService;
|
||||||
|
protected itemHelper: ItemHelper;
|
||||||
|
protected configServer: ConfigServer;
|
||||||
|
protected ragfairConfig: IRagfairConfig;
|
||||||
|
constructor(logger: ILogger, jsonUtil: JsonUtil, hashUtil: HashUtil, randomUtil: RandomUtil, timeUtil: TimeUtil, databaseServer: DatabaseServer, ragfairServerHelper: RagfairServerHelper, saveServer: SaveServer, presetHelper: PresetHelper, ragfairAssortGenerator: RagfairAssortGenerator, ragfairOfferService: RagfairOfferService, ragfairPriceService: RagfairPriceService, fenceService: FenceService, itemHelper: ItemHelper, configServer: ConfigServer);
|
||||||
|
createOffer(userID: string, time: number, items: Item[], barterScheme: IBarterScheme[], loyalLevel: number, price: number, sellInOnePiece?: boolean): IRagfairOffer;
|
||||||
|
protected getTraderId(userID: string): string;
|
||||||
|
protected getRating(userID: string): number;
|
||||||
|
protected getRatingGrowing(userID: string): boolean;
|
||||||
|
protected getOfferEndTime(userID: string, time: number): number;
|
||||||
|
/**
|
||||||
|
* Create multiple offers for items by using a unique list of items we've generated previously
|
||||||
|
* @param expiredOffers
|
||||||
|
*/
|
||||||
|
generateDynamicOffers(expiredOffers?: Item[]): void;
|
||||||
|
generateTraderOffers(traderID: string): void;
|
||||||
|
protected getItemCondition(userID: string, items: Item[], itemDetails: ITemplateItem): Item[];
|
||||||
|
protected addMissingCondition(item: Item): Item;
|
||||||
|
protected getOfferRequirements(items: Item[]): {
|
||||||
|
count: number;
|
||||||
|
_tpl: string;
|
||||||
|
}[];
|
||||||
|
/**
|
||||||
|
* Create a flea offer and store it in the Ragfair server offers array
|
||||||
|
*/
|
||||||
|
createFleaOffer(userID: string, time: number, items: Item[], barterScheme: IBarterScheme[], loyalLevel: number, price: number, sellInOnePiece?: boolean): IRagfairOffer;
|
||||||
|
}
|
33
Ereshkigal-AkiConfig/dist/types/generators/WeatherGenerator.d.ts
vendored
Normal file
33
Ereshkigal-AkiConfig/dist/types/generators/WeatherGenerator.d.ts
vendored
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
import { WeightedRandomHelper } from "../helpers/WeightedRandomHelper";
|
||||||
|
import { ConfigServer } from "../servers/ConfigServer";
|
||||||
|
import { IWeatherData } from "../models/eft/weather/IWeatherData";
|
||||||
|
import { IWeatherConfig } from "../models/spt/config/IWeatherConfig";
|
||||||
|
import { RandomUtil } from "../utils/RandomUtil";
|
||||||
|
import { TimeUtil } from "../utils/TimeUtil";
|
||||||
|
export declare class WeatherGenerator {
|
||||||
|
protected weightedRandomHelper: WeightedRandomHelper;
|
||||||
|
protected randomUtil: RandomUtil;
|
||||||
|
protected timeUtil: TimeUtil;
|
||||||
|
protected configServer: ConfigServer;
|
||||||
|
protected weatherConfig: IWeatherConfig;
|
||||||
|
constructor(weightedRandomHelper: WeightedRandomHelper, randomUtil: RandomUtil, timeUtil: TimeUtil, configServer: ConfigServer);
|
||||||
|
calculateTime(data: IWeatherData): IWeatherData;
|
||||||
|
/**
|
||||||
|
* Get server uptime seconds multiplied by a multiplier and add to current time as seconds
|
||||||
|
* Format to BSGs requirements
|
||||||
|
* @param computedDate current date
|
||||||
|
* @returns formatted time
|
||||||
|
*/
|
||||||
|
protected getAcceleratedTime(computedDate: Date): string;
|
||||||
|
/**
|
||||||
|
* Get current time formatted to fit BSGs requirement
|
||||||
|
* @param computedDate
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
|
protected getNormalTime(computedDate: Date): string;
|
||||||
|
generateWeather(data: IWeatherData): IWeatherData;
|
||||||
|
protected getWeightedFog(): string;
|
||||||
|
protected getWeightedRain(): number;
|
||||||
|
protected getRandomFloat(node: string): number;
|
||||||
|
protected getRandomInt(node: string): number;
|
||||||
|
}
|
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