mirror of
https://github.com/sp-tarkov/server.git
synced 2025-02-12 17:30:42 -05:00
Add Repo
This commit is contained in:
commit
e1310d74ca
214
.drone.yml
Normal file
214
.drone.yml
Normal file
@ -0,0 +1,214 @@
|
|||||||
|
---
|
||||||
|
#######################
|
||||||
|
# SPT DOCKER PIPELINE #
|
||||||
|
#######################
|
||||||
|
|
||||||
|
kind: pipeline
|
||||||
|
type: docker
|
||||||
|
name: Verify Code
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
limit: 1
|
||||||
|
|
||||||
|
clone:
|
||||||
|
depth: 3
|
||||||
|
|
||||||
|
trigger:
|
||||||
|
event:
|
||||||
|
- pull_request
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Install
|
||||||
|
image: registry.sp-tarkov.com/spt/pnpm:7.25.1
|
||||||
|
volumes:
|
||||||
|
- name: cache
|
||||||
|
path: /drone/src/.pnpm-store/v3
|
||||||
|
commands:
|
||||||
|
- cd ./project
|
||||||
|
- pnpm install
|
||||||
|
|
||||||
|
- name: Run Rome
|
||||||
|
image: registry.sp-tarkov.com/spt/pnpm:7.25.1
|
||||||
|
commands:
|
||||||
|
- cd ./project
|
||||||
|
- pnpm run lint
|
||||||
|
# - npm run check:circular
|
||||||
|
|
||||||
|
# - name: Jest coverage
|
||||||
|
# image: registry.sp-tarkov.com/spt/pnpm:7.25.1
|
||||||
|
# commands:
|
||||||
|
# - cd ./project
|
||||||
|
# - pnpm run test:coverage
|
||||||
|
|
||||||
|
- name: Check that Build is not broken
|
||||||
|
image: registry.sp-tarkov.com/spt/node-wine:16
|
||||||
|
commands:
|
||||||
|
- cd ./project
|
||||||
|
- npm run build:release
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- name: cache
|
||||||
|
host:
|
||||||
|
path: /tmp/spt-cache/pnpm_store
|
||||||
|
image_pull_secrets:
|
||||||
|
- dockerconfig
|
||||||
|
---
|
||||||
|
#######################
|
||||||
|
# SPT SONAR PIPELINE #
|
||||||
|
#######################
|
||||||
|
|
||||||
|
kind: pipeline
|
||||||
|
type: docker
|
||||||
|
name: Sonar checks on branch
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
limit: 1
|
||||||
|
|
||||||
|
clone:
|
||||||
|
depth: 3
|
||||||
|
|
||||||
|
trigger:
|
||||||
|
event:
|
||||||
|
- push
|
||||||
|
- tag
|
||||||
|
branch:
|
||||||
|
- development
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Install
|
||||||
|
image: registry.sp-tarkov.com/spt/pnpm:7.25.1
|
||||||
|
volumes:
|
||||||
|
- name: cache
|
||||||
|
path: /drone/src/.pnpm-store/v3
|
||||||
|
commands:
|
||||||
|
- cd ./project
|
||||||
|
- pnpm install
|
||||||
|
|
||||||
|
- name: Run Rome
|
||||||
|
image: registry.sp-tarkov.com/spt/pnpm:7.25.1
|
||||||
|
commands:
|
||||||
|
- cd ./project
|
||||||
|
- pnpm run lint
|
||||||
|
# - npm run check:circular
|
||||||
|
depends_on:
|
||||||
|
- Install
|
||||||
|
when:
|
||||||
|
event:
|
||||||
|
- push
|
||||||
|
|
||||||
|
# - name: Jest coverage
|
||||||
|
# image: registry.sp-tarkov.com/spt/pnpm:7.25.1
|
||||||
|
# commands:
|
||||||
|
# - cd ./project
|
||||||
|
# - pnpm run test:coverage
|
||||||
|
# depends_on:
|
||||||
|
# - Run Rome
|
||||||
|
# when:
|
||||||
|
# event:
|
||||||
|
# - push
|
||||||
|
|
||||||
|
- name: Run Sonar scanner on push
|
||||||
|
image: sonarsource/sonar-scanner-cli:4
|
||||||
|
environment:
|
||||||
|
SONAR_PROJECT:
|
||||||
|
from_secret: SONAR_PROJECT
|
||||||
|
SONAR_URL:
|
||||||
|
from_secret: SONAR_URL
|
||||||
|
SONAR_TOKEN:
|
||||||
|
from_secret: SONAR_TOKEN
|
||||||
|
commands:
|
||||||
|
- >
|
||||||
|
sonar-scanner
|
||||||
|
-Dsonar.projectKey=$SONAR_PROJECT
|
||||||
|
-Dsonar.sources="./project/src"
|
||||||
|
-Dsonar.language="ts"
|
||||||
|
-Dsonar.host.url=$SONAR_URL
|
||||||
|
-Dsonar.login=$SONAR_TOKEN
|
||||||
|
-Dsonar.sourceEncoding="utf-8"
|
||||||
|
-Dsonar.javascript.lcov.reportPaths=./project/coverage/lcov.info
|
||||||
|
depends_on:
|
||||||
|
# - Jest coverage
|
||||||
|
- Run Rome
|
||||||
|
when:
|
||||||
|
event:
|
||||||
|
- push
|
||||||
|
|
||||||
|
- name: Check that Build is not broken
|
||||||
|
image: registry.sp-tarkov.com/spt/node-wine:16
|
||||||
|
commands:
|
||||||
|
- cd ./project
|
||||||
|
- npm run build:release
|
||||||
|
depends_on:
|
||||||
|
- Run Sonar scanner on push
|
||||||
|
when:
|
||||||
|
event:
|
||||||
|
- push
|
||||||
|
|
||||||
|
- name: Run Sonar scanner on tag
|
||||||
|
image: sonarsource/sonar-scanner-cli:4
|
||||||
|
environment:
|
||||||
|
SONAR_PROJECT:
|
||||||
|
from_secret: SONAR_PROJECT
|
||||||
|
SONAR_URL:
|
||||||
|
from_secret: SONAR_URL
|
||||||
|
SONAR_TOKEN:
|
||||||
|
from_secret: SONAR_TOKEN
|
||||||
|
commands:
|
||||||
|
- >
|
||||||
|
sonar-scanner
|
||||||
|
-Dsonar.projectKey=$SONAR_PROJECT
|
||||||
|
-Dsonar.sources="./project/src"
|
||||||
|
-Dsonar.language="ts"
|
||||||
|
-Dsonar.host.url=$SONAR_URL
|
||||||
|
-Dsonar.login=$SONAR_TOKEN
|
||||||
|
-Dsonar.sourceEncoding="utf-8"
|
||||||
|
-Dsonar.projectVersion=$DRONE_TAG
|
||||||
|
depends_on:
|
||||||
|
# - Jest coverage
|
||||||
|
- Run Rome
|
||||||
|
when:
|
||||||
|
event:
|
||||||
|
- tag
|
||||||
|
|
||||||
|
- name: Build and publish docs docker image
|
||||||
|
image: plugins/kaniko:1.6.6-kaniko1.8.1
|
||||||
|
settings:
|
||||||
|
repo: registry.sp-tarkov.com/spt/aki-docs
|
||||||
|
registry: registry.sp-tarkov.com
|
||||||
|
enable_cache: true
|
||||||
|
cache_repo: registry.sp-tarkov.com/spt/aki-docs
|
||||||
|
password:
|
||||||
|
from_secret: DOCKER_PASSWORD
|
||||||
|
username:
|
||||||
|
from_secret: DOCKER_USERNAME
|
||||||
|
dockerfile: project/docs.Dockerfile
|
||||||
|
context: project/
|
||||||
|
tags: latest
|
||||||
|
depends_on:
|
||||||
|
- Check that Build is not broken
|
||||||
|
|
||||||
|
- name: Deploy docs
|
||||||
|
image: docker:19.03.3-dind
|
||||||
|
volumes:
|
||||||
|
- name: docker_sock
|
||||||
|
path: /var/run/docker.sock
|
||||||
|
commands:
|
||||||
|
- "docker stack deploy --compose-file project/docker-compose.yml aki-docs"
|
||||||
|
- "docker service update --force aki-docs_docs"
|
||||||
|
depends_on:
|
||||||
|
- Build and publish docs docker image
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- name: docker_sock
|
||||||
|
host:
|
||||||
|
path: /var/run/docker.sock
|
||||||
|
- name: cache
|
||||||
|
host:
|
||||||
|
path: /tmp/spt-cache/pnpm_store
|
||||||
|
image_pull_secrets:
|
||||||
|
- dockerconfig
|
||||||
|
---
|
||||||
|
kind: signature
|
||||||
|
hmac: 9edf557994aab21f2961498d21c6469ee3a97ec002728764f379760609fa4e4b
|
||||||
|
|
||||||
|
...
|
70
.gitattributes
vendored
Normal file
70
.gitattributes
vendored
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
###############################################################################
|
||||||
|
# Set default behavior to automatically normalize line endings.
|
||||||
|
###############################################################################
|
||||||
|
* text=auto
|
||||||
|
###############################################################################
|
||||||
|
# Set default behavior for command prompt diff.
|
||||||
|
#
|
||||||
|
# This is need for earlier builds of msysgit that does not have it on by
|
||||||
|
# default for csharp files.
|
||||||
|
# Note: This is only used by command line
|
||||||
|
###############################################################################
|
||||||
|
#*.cs diff=csharp
|
||||||
|
###############################################################################
|
||||||
|
# Set the merge driver for project and solution files
|
||||||
|
#
|
||||||
|
# Merging from the command prompt will add diff markers to the files if there
|
||||||
|
# are conflicts (Merging from VS is not affected by the settings below, in VS
|
||||||
|
# the diff markers are never inserted). Diff markers may cause the following
|
||||||
|
# file extensions to fail to load in VS. An alternative would be to treat
|
||||||
|
# these files as binary and thus will always conflict and require user
|
||||||
|
# intervention with every merge. To do so, just uncomment the entries below
|
||||||
|
###############################################################################
|
||||||
|
#*.sln merge=binary
|
||||||
|
#*.csproj merge=binary
|
||||||
|
#*.vbproj merge=binary
|
||||||
|
#*.vcxproj merge=binary
|
||||||
|
#*.vcproj merge=binary
|
||||||
|
#*.dbproj merge=binary
|
||||||
|
#*.fsproj merge=binary
|
||||||
|
#*.lsproj merge=binary
|
||||||
|
#*.wixproj merge=binary
|
||||||
|
#*.modelproj merge=binary
|
||||||
|
#*.sqlproj merge=binary
|
||||||
|
#*.wwaproj merge=binary
|
||||||
|
###############################################################################
|
||||||
|
# behavior for image files
|
||||||
|
#
|
||||||
|
# image files are treated as binary by default.
|
||||||
|
###############################################################################
|
||||||
|
#*.jpg binary
|
||||||
|
#*.png binary
|
||||||
|
#*.gif binary
|
||||||
|
###############################################################################
|
||||||
|
# diff behavior for common document formats
|
||||||
|
#
|
||||||
|
# Convert binary document formats to text before diffing them. This feature
|
||||||
|
# is only available from the command line. Turn it on by uncommenting the
|
||||||
|
# entries below.
|
||||||
|
###############################################################################
|
||||||
|
#*.doc diff=astextplain
|
||||||
|
#*.DOC diff=astextplain
|
||||||
|
#*.docx diff=astextplain
|
||||||
|
#*.DOCX diff=astextplain
|
||||||
|
#*.dot diff=astextplain
|
||||||
|
#*.DOT diff=astextplain
|
||||||
|
#*.pdf diff=astextplain
|
||||||
|
#*.PDF diff=astextplain
|
||||||
|
#*.rtf diff=astextplain
|
||||||
|
#*.RTF diff=astextplain
|
||||||
|
project/assets/database/locations/interchange/looseLoot.json filter=lfs diff=lfs merge=lfs -text
|
||||||
|
project/assets/database/locations/lighthouse/looseLoot.json filter=lfs diff=lfs merge=lfs -text
|
||||||
|
project/assets/database/locations/shoreline/looseLoot.json filter=lfs diff=lfs merge=lfs -text
|
||||||
|
project/assets/database/locations/tarkovstreets/looseLoot.json filter=lfs diff=lfs merge=lfs -text
|
||||||
|
project/assets/database/locations/woods/looseLoot.json filter=lfs diff=lfs merge=lfs -text
|
||||||
|
project/assets/database/locations/factory4_day/looseLoot.json filter=lfs diff=lfs merge=lfs -text
|
||||||
|
project/assets/database/locations/factory4_night/looseLoot.json filter=lfs diff=lfs merge=lfs -text
|
||||||
|
project/assets/database/locations/rezervbase/looseLoot.json filter=lfs diff=lfs merge=lfs -text
|
||||||
|
project/assets/database/locations/bigmap/looseLoot.json filter=lfs diff=lfs merge=lfs -text
|
||||||
|
project/assets/database/locations/laboratory/looseLoot.json filter=lfs diff=lfs merge=lfs -text
|
||||||
|
project/assets/database/loot/* filter=lfs diff=lfs merge=lfs -text
|
41
.gitignore
vendored
Normal file
41
.gitignore
vendored
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
## SPT-AKI
|
||||||
|
*.exe
|
||||||
|
*.zip
|
||||||
|
*.d.ts
|
||||||
|
project/build/
|
||||||
|
project/obj/
|
||||||
|
project/dist/
|
||||||
|
project/user/
|
||||||
|
project/logs/
|
||||||
|
project/Aki_Data/
|
||||||
|
project/tmp/
|
||||||
|
project/docs/
|
||||||
|
project/types/
|
||||||
|
|
||||||
|
## visual studio
|
||||||
|
.vs
|
||||||
|
.idea
|
||||||
|
slnx.sqlite
|
||||||
|
slnx-journal.sqlite
|
||||||
|
|
||||||
|
## nodejs
|
||||||
|
node_modules
|
||||||
|
node.exe
|
||||||
|
package-lock.json
|
||||||
|
yarn.lock
|
||||||
|
|
||||||
|
## windows
|
||||||
|
desktop.ini
|
||||||
|
|
||||||
|
## parcel
|
||||||
|
.parcel-cache/
|
||||||
|
|
||||||
|
## Pkg
|
||||||
|
.pkg-cache
|
||||||
|
|
||||||
|
## yarn
|
||||||
|
**/yarn-error.log
|
||||||
|
|
||||||
|
#jest
|
||||||
|
coverage
|
||||||
|
.scannerwork/
|
32
LICENSE.md
Normal file
32
LICENSE.md
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
# NCSA Open Source License
|
||||||
|
|
||||||
|
Copyright (c) 2022 Merijn Hendriks. All rights reserved.
|
||||||
|
|
||||||
|
Developed by: Merijn Hendriks
|
||||||
|
SPT-AKI
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
with the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
* Redistributions of source code must retain the above copyright notice,
|
||||||
|
this list of conditions and the following disclaimers.
|
||||||
|
|
||||||
|
* Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
this list of conditions and the following disclaimers in the documentation
|
||||||
|
and/or other materials provided with the distribution.
|
||||||
|
|
||||||
|
* Neither the names of Merijn Hendriks, SPT-AKI, nor the names of
|
||||||
|
its contributors may be used to endorse or promote products derived from
|
||||||
|
this Software without specific prior written permission.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||||
|
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||||
|
THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES
|
||||||
|
OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||||||
|
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||||
|
OTHER DEALINGS WITH THE SOFTWARE.
|
318
README.md
Normal file
318
README.md
Normal file
@ -0,0 +1,318 @@
|
|||||||
|
# Server
|
||||||
|
|
||||||
|
Modding framework for Escape From Tarkov
|
||||||
|
|
||||||
|
[![Build Status](https://drone.sp-tarkov.com/api/badges/SPT-AKI/Server/status.svg?ref=refs/heads/development)](https://drone.sp-tarkov.com/SPT-AKI/Server)
|
||||||
|
[![Quality Gate Status](https://sonar.sp-tarkov.com/api/project_badges/measure?project=AKI&metric=alert_status&token=d3b87ff5fac591c1f49a57d4a2883c92bfe6a77f)](https://sonar.sp-tarkov.com/dashboard?id=AKI)
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
|
||||||
|
- NodeJS (with npm)
|
||||||
|
- Visual Studio Code
|
||||||
|
- git [LFS](https://git-lfs.github.com/)
|
||||||
|
|
||||||
|
## Observations
|
||||||
|
|
||||||
|
- The server was tested to work with **NodeJS 16.17.1**, if you are using a different version and experiencing difficulties change it before looking for support
|
||||||
|
- If you are updating a branch you've had for some time, run `npm ci` before running any tasks. This will run the clean and install target from npm.
|
||||||
|
- You can debug your mods using the server, just copy your mod files into the `user/mods` folder and put breakpoints on the **JS** files. **DO NOT** contact the dev team for support on this.
|
||||||
|
|
||||||
|
## Pulling
|
||||||
|
- Run `git lfs fetch` and `git lfs pull` to acquire loot files
|
||||||
|
|
||||||
|
## Setup
|
||||||
|
|
||||||
|
1. Visual Studio Code > File > Open Workspace... > `project\Server.code-workspace`
|
||||||
|
2. Visual Studio Code > Terminal > Run Task... > npm > npm: Install
|
||||||
|
|
||||||
|
## Build
|
||||||
|
|
||||||
|
This is for preparing for a release, not to run locally.
|
||||||
|
|
||||||
|
**Mode** | **Location**
|
||||||
|
-------- | -----------------------------------------------------------------
|
||||||
|
release | Visual Studio Code > Terminal > Run Build Task... > build:release
|
||||||
|
debug | Visual Studio Code > Terminal > Run Build Task... > build:debug
|
||||||
|
|
||||||
|
## Test / Run locally
|
||||||
|
|
||||||
|
Visual Studio Code > Run > Start Debugging
|
||||||
|
|
||||||
|
# Features
|
||||||
|
|
||||||
|
## Progression
|
||||||
|
Player profile is stored in SPT folder as a JSON file, allowing for changes to persist
|
||||||
|
- Scav:
|
||||||
|
- Stats increase by doing scav raids
|
||||||
|
- Skills increase by doing scav raids
|
||||||
|
- Scav reputation system (Karma)
|
||||||
|
- Scavs hostile below certain level
|
||||||
|
- Scav run cooldown adjustment
|
||||||
|
- Scav follow chance adjustment
|
||||||
|
- Scav case
|
||||||
|
- ~~Completion time adjustment~~ NOT IMPLEMENTED
|
||||||
|
- ~~Equipment chance adjustment~~ NOT IMPLEMENTED
|
||||||
|
- Bosses hostile below certain level
|
||||||
|
- ~~Exfil price adjustment~~ NOT IMPLEMENTED
|
||||||
|
- Improved gear with higher rep
|
||||||
|
- Increase rep by exiting through car extracts
|
||||||
|
- PMC:
|
||||||
|
- Stats increase by doing PMC raids
|
||||||
|
- Skills increase by doing PMC raids
|
||||||
|
- Hydration/food
|
||||||
|
- Increase out of raid
|
||||||
|
- Post-raid levels are persisted to profile
|
||||||
|
- Raid stat tracking
|
||||||
|
- Raid count
|
||||||
|
- Survived count
|
||||||
|
- KIA count
|
||||||
|
- MIA count
|
||||||
|
- AWOL count
|
||||||
|
- Kills count
|
||||||
|
|
||||||
|
## Bots
|
||||||
|
|
||||||
|
- Emulated bots:
|
||||||
|
- assault (scav)
|
||||||
|
- bossBully (Reshalla)
|
||||||
|
- bossGluhar
|
||||||
|
- bossKilla
|
||||||
|
- bossKnight
|
||||||
|
- bossKojainy (Shturman)
|
||||||
|
- bossSanitar
|
||||||
|
- bossTagilla
|
||||||
|
- curedAssault
|
||||||
|
- exUsec (Rogue)
|
||||||
|
- followerBigPipe
|
||||||
|
- Grenade launcher
|
||||||
|
- followerBirdEye
|
||||||
|
- followerBully
|
||||||
|
- followerGluharAssault
|
||||||
|
- followerGluharScout
|
||||||
|
- followerGluharSecurity
|
||||||
|
- followerGluharSnipe
|
||||||
|
- followerKojaniy
|
||||||
|
- followerSanitar
|
||||||
|
- gifter
|
||||||
|
- ~~Gives gifts~~ NOT IMPLEMENTED
|
||||||
|
- marksman
|
||||||
|
- pmcBot (raider)
|
||||||
|
- sectantPriest (Cultist)
|
||||||
|
- sectantWarrior (Cultist)
|
||||||
|
- Gear
|
||||||
|
- Semi-randomised gear chosen with weighting system
|
||||||
|
- Randomised durability of gear
|
||||||
|
- Ammo
|
||||||
|
- Ammo weighting system
|
||||||
|
- Loot
|
||||||
|
- Semi-randomised loot
|
||||||
|
- Item type spawn limit system
|
||||||
|
- Per-map AI types
|
||||||
|
|
||||||
|
## PMCs
|
||||||
|
- Simulated PMC players
|
||||||
|
- Custom weapons
|
||||||
|
- Semi-randomly generated with weighting system
|
||||||
|
- Semi-randomly chosen ammo with weighting system
|
||||||
|
- Custom gear
|
||||||
|
- Semi-randomly generated with weighting system
|
||||||
|
- Custom headgear
|
||||||
|
- Randomised attachments with percentage based chance to appear
|
||||||
|
- Face shields
|
||||||
|
- Flashlights
|
||||||
|
- Dogtags
|
||||||
|
- Random level
|
||||||
|
- Random name
|
||||||
|
- Voices
|
||||||
|
- Bear/usec voices for each faction
|
||||||
|
- Item blacklist/whitelist
|
||||||
|
- Item
|
||||||
|
- Highly configurable in config
|
||||||
|
|
||||||
|
## Inventory
|
||||||
|
- Move/split/delete stacks
|
||||||
|
- Tags (add/modify/remove)
|
||||||
|
- Armor/weapon kit item repair
|
||||||
|
- ~~Auto-sort~~ (SEMI-BROKEN - MOVES ITEMS OUT OF VISIBLE INVENTORY SPACE)
|
||||||
|
- Out of raid healing
|
||||||
|
- Out of raid eating
|
||||||
|
- Special slots (compass etc)
|
||||||
|
|
||||||
|
## Traders
|
||||||
|
- Buy/Sell
|
||||||
|
- Listed items are refreshed every hour
|
||||||
|
- purchase limits per refresh period
|
||||||
|
- Track sold rouble count
|
||||||
|
- Loyalty levels
|
||||||
|
- Build reputation
|
||||||
|
- Item repair
|
||||||
|
- Calculate randomised durability level based on item type/values
|
||||||
|
- Alternate clothing from Ragman
|
||||||
|
- Buy/unlock new clothing
|
||||||
|
- Insurance
|
||||||
|
- chance for items to be returned - higher chance for more expensive trader
|
||||||
|
- Chance parts will be stripped from returned weapons
|
||||||
|
- Fence
|
||||||
|
- Lists random items for sale
|
||||||
|
- Emulated system of 'churn' for items sold by fence
|
||||||
|
- every 4 minutes 20% of fences' items are replaced
|
||||||
|
- Configurable through config
|
||||||
|
|
||||||
|
## Flea market
|
||||||
|
- Buy and sell items
|
||||||
|
- Prices pulled from live data
|
||||||
|
- Listing tax fee
|
||||||
|
- Offer filtering
|
||||||
|
- Offer search
|
||||||
|
- Filter by item
|
||||||
|
- Linked search
|
||||||
|
- Simulated player offers
|
||||||
|
- Generated with random names/ratings/expiry times
|
||||||
|
- Variable prices based on live price (20% above/below)
|
||||||
|
- Weapon presets as offers
|
||||||
|
- Bartering offers
|
||||||
|
- Listed currency
|
||||||
|
- Rouble
|
||||||
|
- Euro
|
||||||
|
- Dollar
|
||||||
|
- Rating
|
||||||
|
- Increase flea rating by selling items
|
||||||
|
- Decrease flea rating by failing to sell items
|
||||||
|
- Will be purchased by simulated players
|
||||||
|
- Greater chance listed item will be purchased the lower it is listed for
|
||||||
|
- Adjust flea prices that are massively below trader buy price
|
||||||
|
- Receive purchased item through mail from seller
|
||||||
|
- Sorting by
|
||||||
|
- Rating
|
||||||
|
- Price
|
||||||
|
- Name
|
||||||
|
- Configurable using config
|
||||||
|
|
||||||
|
## Quests
|
||||||
|
- ~~Accurate quest list~~ INCOMPLETE (85% complete)
|
||||||
|
- Trader quests
|
||||||
|
- Accept/Complete
|
||||||
|
- Daily Quests
|
||||||
|
- Simulated system of daily quests
|
||||||
|
- Replace daily quest
|
||||||
|
- Replace quest with new one
|
||||||
|
- Charged fee
|
||||||
|
- ~~Scav daily quests~~ NOT IMPLEMENTED
|
||||||
|
- Types
|
||||||
|
- Elimination
|
||||||
|
- Exit location
|
||||||
|
- Find
|
||||||
|
- Trader item unlocks through completion of quests
|
||||||
|
- Receive mail from traders after accepting/completing/failing a quest
|
||||||
|
- Item rewards given through mail
|
||||||
|
|
||||||
|
## Hideout
|
||||||
|
- Areas supported
|
||||||
|
- Air filter
|
||||||
|
- Air filter degradation speed calculation
|
||||||
|
- Skill levelling boost + 40%
|
||||||
|
- Bitcoin farm
|
||||||
|
- Coin generation speed calculation
|
||||||
|
- Booze generator
|
||||||
|
- Create moonshine
|
||||||
|
- Generator
|
||||||
|
- Fuel usage calculation
|
||||||
|
- Heating
|
||||||
|
- Energy regen rate
|
||||||
|
- Negative effects removal rate x2
|
||||||
|
- Illumination
|
||||||
|
- Intel centre
|
||||||
|
- ~~Unlocks scav tasks from fence~~ NOT IMPLEMENTED
|
||||||
|
- ~~Reduces insurance return time by 20%~~ NOT IMPLEMENTED
|
||||||
|
- Quest money reward boost
|
||||||
|
- Lavatory
|
||||||
|
- Library
|
||||||
|
- Medstation
|
||||||
|
- Nutrition unit
|
||||||
|
- Rest space
|
||||||
|
- Scav case
|
||||||
|
- Custom reward system
|
||||||
|
- Configurable in config
|
||||||
|
- Security
|
||||||
|
- Shooting range
|
||||||
|
- Solar power
|
||||||
|
- Stash
|
||||||
|
- Gives bonus storage space
|
||||||
|
- Vents
|
||||||
|
- Water collector
|
||||||
|
- Workbench
|
||||||
|
- Christmas tree
|
||||||
|
- Item crafting
|
||||||
|
- Found in raid on completion
|
||||||
|
- Crafts when server not running
|
||||||
|
|
||||||
|
## Weapon building
|
||||||
|
- Create weapon presets
|
||||||
|
- Saving of presets
|
||||||
|
|
||||||
|
## Raids
|
||||||
|
- Supported maps
|
||||||
|
- Customs
|
||||||
|
- Factory day
|
||||||
|
- Factory night
|
||||||
|
- Reserve
|
||||||
|
- Woods
|
||||||
|
- Lighthouse
|
||||||
|
- Laboratory
|
||||||
|
- Shoreline
|
||||||
|
- Loot
|
||||||
|
- Generated from over 40,000 loot runs on live, spawn chances calculated from all runs to give fairly accurate depiction of live loot.
|
||||||
|
- Static loot (containers)
|
||||||
|
- Each container type can contain items appropriate to that type
|
||||||
|
- Loose loot
|
||||||
|
- Randomised loose items found on map
|
||||||
|
- Airdrops
|
||||||
|
- Randomised chance of spawning
|
||||||
|
- ~~Fires flares~~ NOT IMPLEMENTED
|
||||||
|
- ~~Drops 1 of 3 randomised loot crate types~~ NOT IMPLEMENTED
|
||||||
|
- Drops lootable crate in:
|
||||||
|
- Customs
|
||||||
|
- Reserve
|
||||||
|
- Woods
|
||||||
|
- Lighthouse
|
||||||
|
- Shoreline
|
||||||
|
- Can be adjusted by config file
|
||||||
|
- Raid damage
|
||||||
|
- Exiting a raid with injury to player character will be persisted out of raid
|
||||||
|
- Post-raid therapist healing
|
||||||
|
|
||||||
|
## Messages
|
||||||
|
- Receive from traders
|
||||||
|
- Pin/unpin senders
|
||||||
|
- Accept all attachments
|
||||||
|
- Accept individual mail attachment
|
||||||
|
|
||||||
|
## Modding
|
||||||
|
- Extensive system that allows for the modification of nearly any aspect of SPT
|
||||||
|
- Example mods covering a good slice of modding capabilities
|
||||||
|
|
||||||
|
## Misc
|
||||||
|
- Profiles
|
||||||
|
- Standard/Left Behind/Prepare To Escape/Edge Of Darkness
|
||||||
|
- Custom profiles
|
||||||
|
- SPT Easy start
|
||||||
|
- Lots of roubles / some skills / high level
|
||||||
|
- SPT Zero to hero
|
||||||
|
- No roubles, skills, trader rep or items
|
||||||
|
- Note system
|
||||||
|
- Add
|
||||||
|
- Edit
|
||||||
|
- Delete
|
||||||
|
- Extensive config system
|
||||||
|
- Alter how SPT works
|
||||||
|
- Holiday themes in hideout on appropriate days
|
||||||
|
- ~~Halloween~~ NOT IMPLEMENTED
|
||||||
|
- ~~Christmas~~ NOT IMPLEMENTED
|
||||||
|
|
||||||
|
## Code
|
||||||
|
- TypeScript
|
||||||
|
- Majority of custom EFT classes passed from client to server have been mapped
|
||||||
|
- Unit Tests
|
||||||
|
- Supports tests
|
||||||
|
- Dependency injection
|
||||||
|
- Config files accessible from `Aki_Data\Server\configs`
|
8
project/.dockerignore
Normal file
8
project/.dockerignore
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
**
|
||||||
|
|
||||||
|
!src
|
||||||
|
!types
|
||||||
|
!base_tsconfig.json
|
||||||
|
!tsconfig.json
|
||||||
|
!package.json
|
||||||
|
!typedoc.json
|
15
project/.eslintignore
Normal file
15
project/.eslintignore
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
# Exclude these folders from linting
|
||||||
|
node_modules
|
||||||
|
out/
|
||||||
|
obj/
|
||||||
|
build/
|
||||||
|
types/
|
||||||
|
user/mods/
|
||||||
|
|
||||||
|
# Exclude these filetypes from linting
|
||||||
|
*.json
|
||||||
|
*.png
|
||||||
|
*.ico
|
||||||
|
*.jpg
|
||||||
|
*.txt
|
||||||
|
*.exe
|
91
project/.eslintrc.json
Normal file
91
project/.eslintrc.json
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
{
|
||||||
|
"root": true,
|
||||||
|
"parser": "@typescript-eslint/parser",
|
||||||
|
"plugins": [
|
||||||
|
"@typescript-eslint"
|
||||||
|
],
|
||||||
|
"env": {
|
||||||
|
"node": true
|
||||||
|
},
|
||||||
|
"extends": [
|
||||||
|
"eslint:recommended",
|
||||||
|
"plugin:@typescript-eslint/eslint-recommended",
|
||||||
|
"plugin:@typescript-eslint/recommended"
|
||||||
|
],
|
||||||
|
"rules": {
|
||||||
|
"semi": [1, "always"],
|
||||||
|
"@typescript-eslint/no-explicit-any": 0,
|
||||||
|
"@typescript-eslint/no-unused-vars": 1,
|
||||||
|
"@typescript-eslint/no-empty-interface": 0,
|
||||||
|
"@typescript-eslint/no-namespace": 0,
|
||||||
|
"@typescript-eslint/comma-dangle": 1,
|
||||||
|
"@typescript-eslint/func-call-spacing": 2,
|
||||||
|
"@typescript-eslint/quotes": 1,
|
||||||
|
"@typescript-eslint/brace-style": [
|
||||||
|
"error",
|
||||||
|
"allman"
|
||||||
|
],
|
||||||
|
"@typescript-eslint/naming-convention": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
"selector": "default",
|
||||||
|
"format": [
|
||||||
|
"camelCase"
|
||||||
|
],
|
||||||
|
"leadingUnderscore": "allow"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"selector": "typeLike",
|
||||||
|
"format": [
|
||||||
|
"PascalCase"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"selector": "objectLiteralProperty",
|
||||||
|
"format": [
|
||||||
|
"PascalCase",
|
||||||
|
"camelCase"
|
||||||
|
],
|
||||||
|
"leadingUnderscore": "allow"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"selector": "typeProperty",
|
||||||
|
"format": [
|
||||||
|
"PascalCase",
|
||||||
|
"camelCase"
|
||||||
|
],
|
||||||
|
"leadingUnderscore": "allow"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"selector": "enumMember",
|
||||||
|
"format": [
|
||||||
|
"UPPER_CASE"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"@typescript-eslint/indent": [
|
||||||
|
"error",
|
||||||
|
4
|
||||||
|
],
|
||||||
|
"@typescript-eslint/no-unused-expressions": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
"allowShortCircuit": false,
|
||||||
|
"allowTernary": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"@typescript-eslint/keyword-spacing": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
"before": true,
|
||||||
|
"after": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"@typescript-eslint/explicit-module-boundary-types": [
|
||||||
|
"warn",
|
||||||
|
{
|
||||||
|
"allowArgumentsExplicitlyTypedAsAny": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
1
project/.nvmrc
Normal file
1
project/.nvmrc
Normal file
@ -0,0 +1 @@
|
|||||||
|
v16.17.1
|
6
project/.parcelrc
Normal file
6
project/.parcelrc
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"extends": "@parcel/config-default",
|
||||||
|
"transformers": {
|
||||||
|
"*.pjs": ["@parcel/transformer-js"]
|
||||||
|
}
|
||||||
|
}
|
30
project/.swcrc
Normal file
30
project/.swcrc
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://json.schemastore.org/swcrc",
|
||||||
|
"jsc": {
|
||||||
|
"parser": {
|
||||||
|
"syntax": "typescript",
|
||||||
|
"dynamicImport": true,
|
||||||
|
"decorators": true
|
||||||
|
},
|
||||||
|
"transform": {
|
||||||
|
"decoratorMetadata": true
|
||||||
|
},
|
||||||
|
"target": "es2020",
|
||||||
|
"loose": true,
|
||||||
|
"externalHelpers": false,
|
||||||
|
// Requires v1.2.50 or upper and requires target to be es2016 or upper.
|
||||||
|
"keepClassNames": true
|
||||||
|
},
|
||||||
|
"exclude": [
|
||||||
|
"node_modules/"
|
||||||
|
],
|
||||||
|
"module": {
|
||||||
|
"type": "commonjs",
|
||||||
|
"strict": false,
|
||||||
|
"strictMode": false,
|
||||||
|
"lazy": false,
|
||||||
|
"noInterop": false
|
||||||
|
},
|
||||||
|
"sourceMaps":true,
|
||||||
|
"minify": false
|
||||||
|
}
|
39
project/.vscode/launch.json
vendored
Normal file
39
project/.vscode/launch.json
vendored
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
{
|
||||||
|
// Use IntelliSense to learn about possible attributes.
|
||||||
|
// Hover to view descriptions of existing attributes.
|
||||||
|
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
||||||
|
"version": "0.2.0",
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"name": "Debug",
|
||||||
|
"type": "node",
|
||||||
|
"request": "launch",
|
||||||
|
"runtimeExecutable": "npm",
|
||||||
|
"sourceMaps": true,
|
||||||
|
"runtimeArgs": [
|
||||||
|
"run",
|
||||||
|
"test:debug"
|
||||||
|
],
|
||||||
|
"outFiles": [
|
||||||
|
"!**/node_modules/**"
|
||||||
|
],
|
||||||
|
"cwd": "${workspaceFolder}",
|
||||||
|
"outputCapture": "std"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Run Jest UnitTests",
|
||||||
|
"type": "node",
|
||||||
|
"request": "launch",
|
||||||
|
"program": "${workspaceFolder}/node_modules/.bin/jest",
|
||||||
|
"args": [
|
||||||
|
"--runInBand"
|
||||||
|
],
|
||||||
|
"console": "integratedTerminal",
|
||||||
|
"internalConsoleOptions": "neverOpen",
|
||||||
|
"disableOptimisticBPs": true,
|
||||||
|
"windows": {
|
||||||
|
"program": "${workspaceFolder}/node_modules/jest/bin/jest",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
13
project/.vscode/settings.json
vendored
Normal file
13
project/.vscode/settings.json
vendored
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"editor.defaultFormatter": "dbaeumer.vscode-eslint",
|
||||||
|
"eslint.format.enable": true,
|
||||||
|
"editor.codeActionsOnSave": {
|
||||||
|
"source.fixAll.eslint": true
|
||||||
|
},
|
||||||
|
"[json]": {
|
||||||
|
"editor.defaultFormatter": "vscode.json-language-features",
|
||||||
|
"editor.detectIndentation": false,
|
||||||
|
"editor.tabSize": 4,
|
||||||
|
"editor.insertSpaces": true
|
||||||
|
}
|
||||||
|
}
|
21
project/Dockerfile
Normal file
21
project/Dockerfile
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
FROM node:16-buster as builder
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
COPY package.json .
|
||||||
|
RUN yarn
|
||||||
|
|
||||||
|
COPY .parcelrc tsconfig.json base_tsconfig.json ./
|
||||||
|
COPY src ./src
|
||||||
|
RUN yarn test:comp-linux
|
||||||
|
|
||||||
|
|
||||||
|
##############################################
|
||||||
|
|
||||||
|
FROM debian:buster
|
||||||
|
|
||||||
|
COPY --from=builder /app/bundle /bin/Aki-server
|
||||||
|
|
||||||
|
EXPOSE 6969
|
||||||
|
|
||||||
|
CMD ["/bin/Aki-server"]
|
22
project/Server.code-workspace
Normal file
22
project/Server.code-workspace
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"folders": [
|
||||||
|
{
|
||||||
|
"path": "."
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"extensions": {
|
||||||
|
"recommendations": ["dbaeumer.vscode-eslint"],
|
||||||
|
},
|
||||||
|
"settings": {
|
||||||
|
"window.title": "SPT-AKI Server",
|
||||||
|
"[typescript]": {
|
||||||
|
"editor.formatOnSave": true,
|
||||||
|
"editor.defaultFormatter": "dbaeumer.vscode-eslint"
|
||||||
|
},
|
||||||
|
"eslint.validate": ["typescript"],
|
||||||
|
"editor.codeActionsOnSave": {
|
||||||
|
"source.organizeImports": true,
|
||||||
|
"source.fixAll.eslint": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
118
project/assets/configs/airdrop.json
Normal file
118
project/assets/configs/airdrop.json
Normal file
@ -0,0 +1,118 @@
|
|||||||
|
{
|
||||||
|
"airdropChancePercent": {
|
||||||
|
"bigmap": 20,
|
||||||
|
"woods": 25,
|
||||||
|
"lighthouse": 20,
|
||||||
|
"shoreline": 20,
|
||||||
|
"interchange": 20,
|
||||||
|
"reserve": 10,
|
||||||
|
"tarkovStreets": 12
|
||||||
|
},
|
||||||
|
"airdropMinStartTimeSeconds": 60,
|
||||||
|
"airdropMaxStartTimeSeconds": 300,
|
||||||
|
"planeMinFlyHeight": 400,
|
||||||
|
"planeMaxFlyHeight": 500,
|
||||||
|
"planeVolume": 0.5,
|
||||||
|
"planeSpeed": 65,
|
||||||
|
"crateFallSpeed": 3,
|
||||||
|
"loot": {
|
||||||
|
"presetCount": {
|
||||||
|
"min": 3,
|
||||||
|
"max": 5
|
||||||
|
},
|
||||||
|
"itemCount": {
|
||||||
|
"min": 12,
|
||||||
|
"max": 25
|
||||||
|
},
|
||||||
|
"itemBlacklist": [
|
||||||
|
"5e997f0b86f7741ac73993e2",
|
||||||
|
"5b44abe986f774283e2e3512",
|
||||||
|
"5e99711486f7744bfc4af328",
|
||||||
|
"5e99735686f7744bfc4af32c",
|
||||||
|
"6087e570b998180e9f76dc24",
|
||||||
|
"5d52d479a4b936793d58c76b",
|
||||||
|
"5e85aac65505fa48730d8af2",
|
||||||
|
"63495c500c297e20065a08b1",
|
||||||
|
"5cde8864d7f00c0010373be1",
|
||||||
|
"5b3b713c5acfc4330140bd8d",
|
||||||
|
"60c080eb991ac167ad1c3ad4"
|
||||||
|
],
|
||||||
|
"itemTypeWhitelist": [
|
||||||
|
"543be5dd4bdc2deb348b4569",
|
||||||
|
"5485a8684bdc2da71d8b4567",
|
||||||
|
"5d650c3e815116009f6201d2",
|
||||||
|
"5448e8d64bdc2dce718b4568",
|
||||||
|
"5448e8d04bdc2ddf718b4569",
|
||||||
|
"5447e1d04bdc2dff2f8b4567",
|
||||||
|
"57864ee62459775490116fc1",
|
||||||
|
"5448e54d4bdc2dcc718b4568",
|
||||||
|
"5448e5284bdc2dcb718b4567",
|
||||||
|
"5448e53e4bdc2d60728b4567",
|
||||||
|
"5448f3a64bdc2d60728b456a",
|
||||||
|
"5448f3ac4bdc2dce718b4569",
|
||||||
|
"55818ad54bdc2ddc698b4569",
|
||||||
|
"55818af64bdc2d5b648b4570",
|
||||||
|
"55818b0e4bdc2dde698b456e",
|
||||||
|
"5448bc234bdc2d3c308b4569",
|
||||||
|
"57864ada245977548638de91",
|
||||||
|
"5645bcb74bdc2ded0b8b4578",
|
||||||
|
"5448e5724bdc2ddf718b4568",
|
||||||
|
"55818add4bdc2d5b648b456f",
|
||||||
|
"543be6564bdc2df4348b4568",
|
||||||
|
"57864bb7245977548b3b66c2",
|
||||||
|
"550aa4cd4bdc2dd8348b456c",
|
||||||
|
"5448f39d4bdc2d0a728b4568",
|
||||||
|
"5448f3a14bdc2d27728b4569",
|
||||||
|
"5447e1d04bdc2dff2f8b4567",
|
||||||
|
"55818b164bdc2ddc698b456c",
|
||||||
|
"55818ae44bdc2dde698b456c"
|
||||||
|
],
|
||||||
|
"itemLimits": {
|
||||||
|
"5447b5cf4bdc2d65278b4567": 1,
|
||||||
|
"5448e8d04bdc2ddf718b4569": 3,
|
||||||
|
"5448e8d64bdc2dce718b4568": 3,
|
||||||
|
"5448bc234bdc2d3c308b4569": 3,
|
||||||
|
"5448f3a64bdc2d60728b456a": 3,
|
||||||
|
"5448e54d4bdc2dcc718b4568": 3,
|
||||||
|
"5485a8684bdc2da71d8b4567": 4,
|
||||||
|
"57864bb7245977548b3b66c2": 2,
|
||||||
|
"57864ada245977548638de91": 3,
|
||||||
|
"5d650c3e815116009f6201d2": 2,
|
||||||
|
"5645bcb74bdc2ded0b8b4578": 2,
|
||||||
|
"5448e5724bdc2ddf718b4568": 2,
|
||||||
|
"55818add4bdc2d5b648b456f": 2,
|
||||||
|
"543be6564bdc2df4348b4568": 3,
|
||||||
|
"550aa4cd4bdc2dd8348b456c": 2,
|
||||||
|
"5448f39d4bdc2d0a728b4568": 4,
|
||||||
|
"5448f3a14bdc2d27728b4569": 2,
|
||||||
|
"5447e1d04bdc2dff2f8b4567": 1,
|
||||||
|
"55818ad54bdc2ddc698b4569": 3,
|
||||||
|
"55818b164bdc2ddc698b456c": 2,
|
||||||
|
"55818ae44bdc2dde698b456c": 2,
|
||||||
|
"5448e5284bdc2dcb718b4567": 2
|
||||||
|
},
|
||||||
|
"itemStackLimits": {
|
||||||
|
"5fc382a9d724d907e2077dab": {
|
||||||
|
"min": 5,
|
||||||
|
"max": 5
|
||||||
|
},
|
||||||
|
"59e690b686f7746c9f75e848": {
|
||||||
|
"min": 10,
|
||||||
|
"max": 25
|
||||||
|
},
|
||||||
|
"5449016a4bdc2d6f028b456f": {
|
||||||
|
"min": 5000,
|
||||||
|
"max": 50000
|
||||||
|
},
|
||||||
|
"569668774bdc2da2298b4568": {
|
||||||
|
"min": 100,
|
||||||
|
"max": 500
|
||||||
|
},
|
||||||
|
"5696686a4bdc2da3298b456a": {
|
||||||
|
"min": 100,
|
||||||
|
"max": 500
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"armorLevelWhitelist": [0, 4, 5, 6]
|
||||||
|
}
|
||||||
|
}
|
1249
project/assets/configs/bot.json
Normal file
1249
project/assets/configs/bot.json
Normal file
File diff suppressed because it is too large
Load Diff
5
project/assets/configs/core.json
Normal file
5
project/assets/configs/core.json
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"akiVersion": "3.5.1",
|
||||||
|
"projectName": "SPT-AKI",
|
||||||
|
"compatibleTarkovVersion": "0.13.0.22032"
|
||||||
|
}
|
10
project/assets/configs/health.json
Normal file
10
project/assets/configs/health.json
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"healthMultipliers": {
|
||||||
|
"death": 0.3,
|
||||||
|
"blacked": 0.1
|
||||||
|
},
|
||||||
|
"save": {
|
||||||
|
"health": true,
|
||||||
|
"effects": true
|
||||||
|
}
|
||||||
|
}
|
5
project/assets/configs/hideout.json
Normal file
5
project/assets/configs/hideout.json
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"runIntervalSeconds": 15,
|
||||||
|
"hoursForSkillCrafting": 28800,
|
||||||
|
"hideoutWallAppearTimeSeconds": 86400
|
||||||
|
}
|
6
project/assets/configs/http.json
Normal file
6
project/assets/configs/http.json
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"ip": "127.0.0.1",
|
||||||
|
"port": 6969,
|
||||||
|
"webSocketPingDelayMs": 90000,
|
||||||
|
"logRequests": true
|
||||||
|
}
|
24
project/assets/configs/inraid.json
Normal file
24
project/assets/configs/inraid.json
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
{
|
||||||
|
"MIAOnRaidEnd": true,
|
||||||
|
"raidMenuSettings": {
|
||||||
|
"aiAmount": "AsOnline",
|
||||||
|
"aiDifficulty": "AsOnline",
|
||||||
|
"bossEnabled": true,
|
||||||
|
"scavWars": false,
|
||||||
|
"taggedAndCursed": false,
|
||||||
|
"enablePve": true
|
||||||
|
},
|
||||||
|
"save": {
|
||||||
|
"loot": true,
|
||||||
|
"durability": true
|
||||||
|
},
|
||||||
|
"carExtracts": [
|
||||||
|
"Dorms V-Ex",
|
||||||
|
"PP Exfil",
|
||||||
|
"V-Ex_light",
|
||||||
|
"South V-Ex",
|
||||||
|
"E7_car"
|
||||||
|
],
|
||||||
|
"carExtractBaseStandingGain": 0.25,
|
||||||
|
"scavExtractGain": 0.01
|
||||||
|
}
|
29
project/assets/configs/insurance.json
Normal file
29
project/assets/configs/insurance.json
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
{
|
||||||
|
"insuranceMultiplier": {
|
||||||
|
"54cb50c76803fa8b248b4571": 0.16,
|
||||||
|
"54cb57776803fa99248b456e": 0.25
|
||||||
|
},
|
||||||
|
"returnChancePercent": {
|
||||||
|
"54cb50c76803fa8b248b4571": 75,
|
||||||
|
"54cb57776803fa99248b456e": 85
|
||||||
|
},
|
||||||
|
"blacklistedEquipment": [],
|
||||||
|
"slotIdsWithChanceOfNotReturning": ["hideout",
|
||||||
|
"main",
|
||||||
|
"mod_scope",
|
||||||
|
"mod_magazine",
|
||||||
|
"mod_sight_rear",
|
||||||
|
"mod_sight_front",
|
||||||
|
"mod_tactical",
|
||||||
|
"mod_muzzle",
|
||||||
|
"mod_tactical_2",
|
||||||
|
"mod_foregrip",
|
||||||
|
"mod_tactical_000",
|
||||||
|
"mod_tactical_001",
|
||||||
|
"mod_tactical_002",
|
||||||
|
"mod_tactical_003",
|
||||||
|
"mod_nvg"
|
||||||
|
],
|
||||||
|
"returnTimeOverrideSeconds": 0,
|
||||||
|
"runIntervalSeconds": 600
|
||||||
|
}
|
22
project/assets/configs/inventory.json
Normal file
22
project/assets/configs/inventory.json
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"newItemsMarkedFound": false,
|
||||||
|
"randomLootContainers": {
|
||||||
|
"634959225289190e5e773b3b": {
|
||||||
|
"rewardCount": 6,
|
||||||
|
"foundInRaid": true,
|
||||||
|
"rewardTplPool": {
|
||||||
|
"57514643245977207f2c2d09": 1,
|
||||||
|
"544fb62a4bdc2dfb738b4568": 1,
|
||||||
|
"57513f07245977207e26a311": 1,
|
||||||
|
"57513f9324597720a7128161": 1,
|
||||||
|
"57513fcc24597720a31c09a6": 1,
|
||||||
|
"5e8f3423fd7471236e6e3b64": 1,
|
||||||
|
"60b0f93284c20f0feb453da7": 1,
|
||||||
|
"5734773724597737fd047c14": 1,
|
||||||
|
"59e3577886f774176a362503": 1,
|
||||||
|
"57505f6224597709a92585a9": 1,
|
||||||
|
"544fb6cc4bdc2d34748b456e": 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
56
project/assets/configs/item.json
Normal file
56
project/assets/configs/item.json
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
{
|
||||||
|
"blacklist": [
|
||||||
|
"54490a4d4bdc2dbc018b4573",
|
||||||
|
"544a3d0a4bdc2d1b388b4567",
|
||||||
|
"55d617094bdc2d89028b4568",
|
||||||
|
"590de52486f774226a0c24c2",
|
||||||
|
"5648b62b4bdc2d9d488b4585",
|
||||||
|
"544a3f024bdc2d1d388b4568",
|
||||||
|
"590de4a286f77423d9312a32",
|
||||||
|
"5751961824597720a31c09ac",
|
||||||
|
"63b35f281745dd52341e5da7",
|
||||||
|
"5996f6cb86f774678763a6ca",
|
||||||
|
"5996f6d686f77467977ba6cc",
|
||||||
|
"5943d9c186f7745a13413ac9",
|
||||||
|
|
||||||
|
"5cdeb229d7f00c000e7ce174",
|
||||||
|
"5996f6fc86f7745e585b4de3",
|
||||||
|
"5cde8864d7f00c0010373be1",
|
||||||
|
"5d2f2ab648f03550091993ca",
|
||||||
|
"5ae083b25acfc4001a5fc702",
|
||||||
|
"5e85aac65505fa48730d8af2",
|
||||||
|
|
||||||
|
"58ac60eb86f77401897560ff",
|
||||||
|
|
||||||
|
"59e8936686f77467ce798647",
|
||||||
|
"56e294cdd2720b603a8b4575",
|
||||||
|
"5d53f4b7a4b936793d58c780",
|
||||||
|
"6241c316234b593b5676b637",
|
||||||
|
|
||||||
|
"5e99735686f7744bfc4af32c",
|
||||||
|
|
||||||
|
"62811d61578c54356d6d67ea",
|
||||||
|
"6281214c1d5df4475f46a33a",
|
||||||
|
"6281215b4fa03b6b6c35dc6c",
|
||||||
|
"628121651d5df4475f46a33c",
|
||||||
|
"628120415631d45211793c99",
|
||||||
|
"628120f210e26c1f344e6558",
|
||||||
|
"5ede47641cf3836a88318df1",
|
||||||
|
"5d70e500a4b9364de70d38ce",
|
||||||
|
|
||||||
|
"624c0570c9b794431568f5d5",
|
||||||
|
"624c09cfbc2e27219346d955",
|
||||||
|
"624c09da2cec124eb67c1046",
|
||||||
|
"624c09e49b98e019a3315b66",
|
||||||
|
|
||||||
|
"5cffa483d7ad1a049e54ef1c",
|
||||||
|
|
||||||
|
"5f647fd3f6e4ab66c82faed6",
|
||||||
|
|
||||||
|
"5671446a4bdc2d97058b4569",
|
||||||
|
"57518f7724597720a31c09ab",
|
||||||
|
"61a4cda622af7f4f6a3ce617",
|
||||||
|
|
||||||
|
"6087e570b998180e9f76dc24"
|
||||||
|
]
|
||||||
|
}
|
5
project/assets/configs/locale.json
Normal file
5
project/assets/configs/locale.json
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"gameLocale": "system",
|
||||||
|
"serverLocale": "system",
|
||||||
|
"serverSupportedLocales": ["en", "ru", "zh", "fr", "cz", "ge", "it", "ko", "jp", "es", "de", "tr", "hu", "pl", "sk", "pt", "sv", "nl"]
|
||||||
|
}
|
649
project/assets/configs/location.json
Normal file
649
project/assets/configs/location.json
Normal file
@ -0,0 +1,649 @@
|
|||||||
|
{
|
||||||
|
"looseLootMultiplier": {
|
||||||
|
"bigmap": 1.2,
|
||||||
|
"develop": 1,
|
||||||
|
"factory4_day": 1.2,
|
||||||
|
"factory4_night": 1.2,
|
||||||
|
"interchange": 1.2,
|
||||||
|
"laboratory": 1,
|
||||||
|
"rezervbase": 1.2,
|
||||||
|
"shoreline": 1.2,
|
||||||
|
"woods": 1.3,
|
||||||
|
"hideout": 0,
|
||||||
|
"lighthouse": 1.2,
|
||||||
|
"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
|
||||||
|
},
|
||||||
|
"customWaves": {
|
||||||
|
"boss": {
|
||||||
|
"factory4_day": [{
|
||||||
|
"sptId": "sptBearFactoryDayBossSpawn",
|
||||||
|
"BossName": "sptBear",
|
||||||
|
"BossChance": 25,
|
||||||
|
"BossZone": "BotZone",
|
||||||
|
"BossPlayer": false,
|
||||||
|
"BossDifficult": "normal",
|
||||||
|
"BossEscortType": "sptBear",
|
||||||
|
"BossEscortDifficult": "normal",
|
||||||
|
"BossEscortAmount": "1",
|
||||||
|
"Time": -1,
|
||||||
|
"Supports": [{
|
||||||
|
"BossEscortType": "sptBear",
|
||||||
|
"BossEscortDifficult": [
|
||||||
|
"normal"
|
||||||
|
],
|
||||||
|
"BossEscortAmount": "1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"RandomTimeSpawn": false
|
||||||
|
}, {
|
||||||
|
"sptId": "sptUsecFactoryDayBossSpawn",
|
||||||
|
"BossName": "sptUsec",
|
||||||
|
"BossChance": 25,
|
||||||
|
"BossZone": "BotZone",
|
||||||
|
"BossPlayer": false,
|
||||||
|
"BossDifficult": "normal",
|
||||||
|
"BossEscortType": "sptUsec",
|
||||||
|
"BossEscortDifficult": "normal",
|
||||||
|
"BossEscortAmount": "1",
|
||||||
|
"Time": -1,
|
||||||
|
"Supports": [{
|
||||||
|
"BossEscortType": "sptUsec",
|
||||||
|
"BossEscortDifficult": [
|
||||||
|
"normal"
|
||||||
|
],
|
||||||
|
"BossEscortAmount": "1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"RandomTimeSpawn": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"bigmap": [{
|
||||||
|
"sptId": "sptBearCustomsScavBaseNormalSpawn",
|
||||||
|
"BossName": "sptBear",
|
||||||
|
"BossChance": 25,
|
||||||
|
"BossZone": "ZoneScavBase",
|
||||||
|
"BossPlayer": false,
|
||||||
|
"BossDifficult": "normal",
|
||||||
|
"BossEscortType": "sptBear",
|
||||||
|
"BossEscortDifficult": "normal",
|
||||||
|
"BossEscortAmount": "2",
|
||||||
|
"Time": -1,
|
||||||
|
"Supports": [{
|
||||||
|
"BossEscortType": "sptBear",
|
||||||
|
"BossEscortDifficult": [
|
||||||
|
"normal"
|
||||||
|
],
|
||||||
|
"BossEscortAmount": "2"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"RandomTimeSpawn": false
|
||||||
|
}, {
|
||||||
|
"sptId": "sptUsecCustomsScavBaseNormalSpawn",
|
||||||
|
"BossName": "sptUsec",
|
||||||
|
"BossChance": 25,
|
||||||
|
"BossZone": "ZoneScavBase",
|
||||||
|
"BossPlayer": false,
|
||||||
|
"BossDifficult": "normal",
|
||||||
|
"BossEscortType": "sptUsec",
|
||||||
|
"BossEscortDifficult": "normal",
|
||||||
|
"BossEscortAmount": "2",
|
||||||
|
"Time": -1,
|
||||||
|
"Supports": [{
|
||||||
|
"BossEscortType": "sptUsec",
|
||||||
|
"BossEscortDifficult": [
|
||||||
|
"normal"
|
||||||
|
],
|
||||||
|
"BossEscortAmount": "2"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"RandomTimeSpawn": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"woods": [{
|
||||||
|
"sptId": "sptBearWoodScavBaseNormalSpawn",
|
||||||
|
"BossName": "sptBear",
|
||||||
|
"BossChance": 25,
|
||||||
|
"BossZone": "ZoneScavBase2",
|
||||||
|
"BossPlayer": false,
|
||||||
|
"BossDifficult": "normal",
|
||||||
|
"BossEscortType": "sptBear",
|
||||||
|
"BossEscortDifficult": "normal",
|
||||||
|
"BossEscortAmount": "2",
|
||||||
|
"Time": -1,
|
||||||
|
"Supports": [{
|
||||||
|
"BossEscortType": "sptBear",
|
||||||
|
"BossEscortDifficult": [
|
||||||
|
"normal"
|
||||||
|
],
|
||||||
|
"BossEscortAmount": "2"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"RandomTimeSpawn": false
|
||||||
|
}, {
|
||||||
|
"sptId": "sptUsecWoodScavBaseNormalSpawn",
|
||||||
|
"BossName": "sptUsec",
|
||||||
|
"BossChance": 25,
|
||||||
|
"BossZone": "ZoneScavBase2",
|
||||||
|
"BossPlayer": false,
|
||||||
|
"BossDifficult": "normal",
|
||||||
|
"BossEscortType": "sptUsec",
|
||||||
|
"BossEscortDifficult": "normal",
|
||||||
|
"BossEscortAmount": "2",
|
||||||
|
"Time": -1,
|
||||||
|
"Supports": [{
|
||||||
|
"BossEscortType": "sptUsec",
|
||||||
|
"BossEscortDifficult": [
|
||||||
|
"normal"
|
||||||
|
],
|
||||||
|
"BossEscortAmount": "2"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"RandomTimeSpawn": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"shoreline": [{
|
||||||
|
"sptId": "sptBearShorelinePortNormalSpawn",
|
||||||
|
"BossName": "sptBear",
|
||||||
|
"BossChance": 20,
|
||||||
|
"BossZone": "ZonePort",
|
||||||
|
"BossPlayer": false,
|
||||||
|
"BossDifficult": "normal",
|
||||||
|
"BossEscortType": "sptBear",
|
||||||
|
"BossEscortDifficult": "normal",
|
||||||
|
"BossEscortAmount": "2",
|
||||||
|
"Time": -1,
|
||||||
|
"Supports": [{
|
||||||
|
"BossEscortType": "sptBear",
|
||||||
|
"BossEscortDifficult": [
|
||||||
|
"normal"
|
||||||
|
],
|
||||||
|
"BossEscortAmount": "1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"RandomTimeSpawn": false
|
||||||
|
}, {
|
||||||
|
"sptId": "sptUsecShorelinePortNormalSpawn",
|
||||||
|
"BossName": "sptUsec",
|
||||||
|
"BossChance": 20,
|
||||||
|
"BossZone": "ZonePort",
|
||||||
|
"BossPlayer": false,
|
||||||
|
"BossDifficult": "normal",
|
||||||
|
"BossEscortType": "sptUsec",
|
||||||
|
"BossEscortDifficult": "normal",
|
||||||
|
"BossEscortAmount": "2",
|
||||||
|
"Time": -1,
|
||||||
|
"Supports": [{
|
||||||
|
"BossEscortType": "sptUsec",
|
||||||
|
"BossEscortDifficult": [
|
||||||
|
"normal"
|
||||||
|
],
|
||||||
|
"BossEscortAmount": "1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"RandomTimeSpawn": false
|
||||||
|
}, {
|
||||||
|
"sptId": "sptUsecShorelineSanatorium1NormalSpawn",
|
||||||
|
"BossName": "sptUsec",
|
||||||
|
"BossChance": 10,
|
||||||
|
"BossZone": "ZoneSanatorium1",
|
||||||
|
"BossPlayer": false,
|
||||||
|
"BossDifficult": "normal",
|
||||||
|
"BossEscortType": "sptUsec",
|
||||||
|
"BossEscortDifficult": "normal",
|
||||||
|
"BossEscortAmount": "1",
|
||||||
|
"Time": -1,
|
||||||
|
"Supports": [{
|
||||||
|
"BossEscortType": "sptUsec",
|
||||||
|
"BossEscortDifficult": [
|
||||||
|
"normal"
|
||||||
|
],
|
||||||
|
"BossEscortAmount": "1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"RandomTimeSpawn": false
|
||||||
|
}, {
|
||||||
|
"sptId": "sptBearShorelineSanatorium1NormalSpawn",
|
||||||
|
"BossName": "sptBear",
|
||||||
|
"BossChance": 10,
|
||||||
|
"BossZone": "ZoneSanatorium1",
|
||||||
|
"BossPlayer": false,
|
||||||
|
"BossDifficult": "normal",
|
||||||
|
"BossEscortType": "sptBear",
|
||||||
|
"BossEscortDifficult": "normal",
|
||||||
|
"BossEscortAmount": "1",
|
||||||
|
"Time": -1,
|
||||||
|
"Supports": [{
|
||||||
|
"BossEscortType": "sptBear",
|
||||||
|
"BossEscortDifficult": [
|
||||||
|
"normal"
|
||||||
|
],
|
||||||
|
"BossEscortAmount": "1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"RandomTimeSpawn": false
|
||||||
|
}, {
|
||||||
|
"sptId": "sptUsecShorelineSanatorium2NormalSpawn",
|
||||||
|
"BossName": "sptUsec",
|
||||||
|
"BossChance": 10,
|
||||||
|
"BossZone": "ZoneSanatorium2",
|
||||||
|
"BossPlayer": false,
|
||||||
|
"BossDifficult": "normal",
|
||||||
|
"BossEscortType": "sptUsec",
|
||||||
|
"BossEscortDifficult": "normal",
|
||||||
|
"BossEscortAmount": "1",
|
||||||
|
"Time": -1,
|
||||||
|
"Supports": [{
|
||||||
|
"BossEscortType": "sptUsec",
|
||||||
|
"BossEscortDifficult": [
|
||||||
|
"normal"
|
||||||
|
],
|
||||||
|
"BossEscortAmount": "1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"RandomTimeSpawn": false
|
||||||
|
}, {
|
||||||
|
"sptId": "sptBearShorelineSanatorium2NormalSpawn",
|
||||||
|
"BossName": "sptBear",
|
||||||
|
"BossChance": 10,
|
||||||
|
"BossZone": "ZoneSanatorium2",
|
||||||
|
"BossPlayer": false,
|
||||||
|
"BossDifficult": "normal",
|
||||||
|
"BossEscortType": "sptBear",
|
||||||
|
"BossEscortDifficult": "normal",
|
||||||
|
"BossEscortAmount": "1",
|
||||||
|
"Time": -1,
|
||||||
|
"Supports": [{
|
||||||
|
"BossEscortType": "sptBear",
|
||||||
|
"BossEscortDifficult": [
|
||||||
|
"normal"
|
||||||
|
],
|
||||||
|
"BossEscortAmount": "1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"RandomTimeSpawn": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"laboratory": [{
|
||||||
|
"sptId": "sptBearLabsZoneFloor1NormalSpawn",
|
||||||
|
"BossName": "sptBear",
|
||||||
|
"BossChance": 15,
|
||||||
|
"BossZone": "BotZoneFloor1",
|
||||||
|
"BossDifficult": "normal",
|
||||||
|
"BossEscortAmount": "1",
|
||||||
|
"BossEscortDifficult": "normal",
|
||||||
|
"BossEscortType": "sptBear",
|
||||||
|
"BossPlayer": false,
|
||||||
|
"Time": -1,
|
||||||
|
"Supports": [{
|
||||||
|
"BossEscortType": "sptBear",
|
||||||
|
"BossEscortDifficult": [
|
||||||
|
"normal"
|
||||||
|
],
|
||||||
|
"BossEscortAmount": "1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"RandomTimeSpawn": false
|
||||||
|
}, {
|
||||||
|
"sptId": "sptBearLabsZoneFloor2NormalSpawn",
|
||||||
|
"BossChance": 15,
|
||||||
|
"BossName": "sptBear",
|
||||||
|
"BossZone": "BotZoneFloor2",
|
||||||
|
"BossDifficult": "normal",
|
||||||
|
"BossEscortAmount": "1",
|
||||||
|
"BossEscortDifficult": "normal",
|
||||||
|
"BossEscortType": "sptBear",
|
||||||
|
"BossPlayer": false,
|
||||||
|
"Time": -1,
|
||||||
|
"Supports": [{
|
||||||
|
"BossEscortType": "sptBear",
|
||||||
|
"BossEscortDifficult": [
|
||||||
|
"normal"
|
||||||
|
],
|
||||||
|
"BossEscortAmount": "1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"RandomTimeSpawn": false
|
||||||
|
}, {
|
||||||
|
"sptId": "sptBearLabsZoneBasementNormalSpawn",
|
||||||
|
"BossChance": 15,
|
||||||
|
"BossDifficult": "normal",
|
||||||
|
"BossEscortAmount": "0",
|
||||||
|
"BossEscortDifficult": "normal",
|
||||||
|
"BossEscortType": "sptBear",
|
||||||
|
"BossName": "sptBear",
|
||||||
|
"BossPlayer": false,
|
||||||
|
"BossZone": "BotZoneBasement",
|
||||||
|
"Time": -1,
|
||||||
|
"Supports": [{
|
||||||
|
"BossEscortType": "sptBear",
|
||||||
|
"BossEscortDifficult": [
|
||||||
|
"normal"
|
||||||
|
],
|
||||||
|
"BossEscortAmount": "0"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"RandomTimeSpawn": false
|
||||||
|
}, {
|
||||||
|
"sptId": "sptUsecLabsZoneFloor1NormalSpawn",
|
||||||
|
"BossChance": 15,
|
||||||
|
"BossDifficult": "normal",
|
||||||
|
"BossEscortAmount": "1",
|
||||||
|
"BossEscortDifficult": "normal",
|
||||||
|
"BossEscortType": "sptUsec",
|
||||||
|
"BossName": "sptUsec",
|
||||||
|
"BossPlayer": false,
|
||||||
|
"BossZone": "BotZoneFloor1",
|
||||||
|
"Time": -1,
|
||||||
|
"Supports": [{
|
||||||
|
"BossEscortType": "sptUsec",
|
||||||
|
"BossEscortDifficult": [
|
||||||
|
"normal"
|
||||||
|
],
|
||||||
|
"BossEscortAmount": "1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"RandomTimeSpawn": false
|
||||||
|
}, {
|
||||||
|
"sptId": "sptUsecLabsZoneFloor2NormalSpawn",
|
||||||
|
"BossChance": 15,
|
||||||
|
"BossDifficult": "normal",
|
||||||
|
"BossEscortAmount": "1",
|
||||||
|
"BossEscortDifficult": "normal",
|
||||||
|
"BossEscortType": "sptUsec",
|
||||||
|
"BossName": "sptUsec",
|
||||||
|
"BossPlayer": false,
|
||||||
|
"BossZone": "BotZoneFloor2",
|
||||||
|
"Time": -1,
|
||||||
|
"Supports": [{
|
||||||
|
"BossEscortType": "sptUsec",
|
||||||
|
"BossEscortDifficult": [
|
||||||
|
"normal"
|
||||||
|
],
|
||||||
|
"BossEscortAmount": "1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"RandomTimeSpawn": false
|
||||||
|
}, {
|
||||||
|
"sptId": "sptUsecLabsZoneBasementNormalSpawn",
|
||||||
|
"BossChance": 15,
|
||||||
|
"BossDifficult": "normal",
|
||||||
|
"BossEscortAmount": "0",
|
||||||
|
"BossEscortDifficult": "normal",
|
||||||
|
"BossEscortType": "sptUsec",
|
||||||
|
"BossName": "sptUsec",
|
||||||
|
"BossPlayer": false,
|
||||||
|
"BossZone": "BotZoneBasement",
|
||||||
|
"Time": -1,
|
||||||
|
"Supports": [{
|
||||||
|
"BossEscortType": "sptUsec",
|
||||||
|
"BossEscortDifficult": [
|
||||||
|
"normal"
|
||||||
|
],
|
||||||
|
"BossEscortAmount": "0"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"RandomTimeSpawn": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"interchange": [{
|
||||||
|
"sptId": "sptBearInterchangeNormalSpawn",
|
||||||
|
"BossName": "sptBear",
|
||||||
|
"BossChance": 15,
|
||||||
|
"BossZone": "ZoneCenter,ZoneCenterBot,ZoneOLI,ZoneIDEA,ZoneGoshan,ZonePowerStation",
|
||||||
|
"BossPlayer": false,
|
||||||
|
"BossDifficult": "normal",
|
||||||
|
"BossEscortType": "sptBear",
|
||||||
|
"BossEscortDifficult": "normal",
|
||||||
|
"BossEscortAmount": "1",
|
||||||
|
"Time": -1,
|
||||||
|
"Supports": [{
|
||||||
|
"BossEscortType": "sptBear",
|
||||||
|
"BossEscortDifficult": [
|
||||||
|
"normal"
|
||||||
|
],
|
||||||
|
"BossEscortAmount": "1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"RandomTimeSpawn": false
|
||||||
|
}, {
|
||||||
|
"sptId": "sptUsecInterchangeNormalSpawn",
|
||||||
|
"BossName": "sptUsec",
|
||||||
|
"BossChance": 15,
|
||||||
|
"BossZone": "ZoneCenter,ZoneCenterBot,ZoneOLI,ZoneIDEA,ZoneGoshan,ZonePowerStation",
|
||||||
|
"BossPlayer": false,
|
||||||
|
"BossDifficult": "normal",
|
||||||
|
"BossEscortType": "sptUsec",
|
||||||
|
"BossEscortDifficult": "normal",
|
||||||
|
"BossEscortAmount": "1",
|
||||||
|
"Time": -1,
|
||||||
|
"Supports": [{
|
||||||
|
"BossEscortType": "sptUsec",
|
||||||
|
"BossEscortDifficult": [
|
||||||
|
"normal"
|
||||||
|
],
|
||||||
|
"BossEscortAmount": "1"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"RandomTimeSpawn": false
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"normal": {
|
||||||
|
"factory4_day": [{
|
||||||
|
"sptId": "factoryDayScav1",
|
||||||
|
"number": 1,
|
||||||
|
"time_min": 5,
|
||||||
|
"time_max": 500,
|
||||||
|
"slots_min": 0,
|
||||||
|
"slots_max": 1,
|
||||||
|
"SpawnPoints": "BotZone",
|
||||||
|
"BotSide": "Savage",
|
||||||
|
"BotPreset": "normal",
|
||||||
|
"WildSpawnType": "assault",
|
||||||
|
"isPlayers": true
|
||||||
|
}, {
|
||||||
|
"sptId": "factoryDayScav2",
|
||||||
|
"number": 1,
|
||||||
|
"time_min": 5,
|
||||||
|
"time_max": 500,
|
||||||
|
"slots_min": 0,
|
||||||
|
"slots_max": 1,
|
||||||
|
"SpawnPoints": "BotZone",
|
||||||
|
"BotSide": "Savage",
|
||||||
|
"BotPreset": "normal",
|
||||||
|
"WildSpawnType": "assault",
|
||||||
|
"isPlayers": true
|
||||||
|
}, {
|
||||||
|
"sptId": "factoryDayScav3",
|
||||||
|
"number": 1,
|
||||||
|
"time_min": 5,
|
||||||
|
"time_max": 500,
|
||||||
|
"slots_min": 0,
|
||||||
|
"slots_max": 1,
|
||||||
|
"SpawnPoints": "BotZone",
|
||||||
|
"BotSide": "Savage",
|
||||||
|
"BotPreset": "normal",
|
||||||
|
"WildSpawnType": "assault",
|
||||||
|
"isPlayers": true
|
||||||
|
}, {
|
||||||
|
"sptId": "factoryDayScav4",
|
||||||
|
"number": 1,
|
||||||
|
"time_min": 5,
|
||||||
|
"time_max": 500,
|
||||||
|
"slots_min": 0,
|
||||||
|
"slots_max": 1,
|
||||||
|
"SpawnPoints": "BotZone",
|
||||||
|
"BotSide": "Savage",
|
||||||
|
"BotPreset": "normal",
|
||||||
|
"WildSpawnType": "assault",
|
||||||
|
"isPlayers": true
|
||||||
|
}, {
|
||||||
|
"sptId": "factoryDayScav5",
|
||||||
|
"number": 1,
|
||||||
|
"time_min": 5,
|
||||||
|
"time_max": 500,
|
||||||
|
"slots_min": 0,
|
||||||
|
"slots_max": 1,
|
||||||
|
"SpawnPoints": "BotZone",
|
||||||
|
"BotSide": "Savage",
|
||||||
|
"BotPreset": "normal",
|
||||||
|
"WildSpawnType": "assault",
|
||||||
|
"isPlayers": true
|
||||||
|
}, {
|
||||||
|
"sptId": "factoryDayScav6",
|
||||||
|
"number": 1,
|
||||||
|
"time_min": 5,
|
||||||
|
"time_max": 500,
|
||||||
|
"slots_min": 0,
|
||||||
|
"slots_max": 1,
|
||||||
|
"SpawnPoints": "BotZone",
|
||||||
|
"BotSide": "Savage",
|
||||||
|
"BotPreset": "normal",
|
||||||
|
"WildSpawnType": "assault",
|
||||||
|
"isPlayers": true
|
||||||
|
}, {
|
||||||
|
"sptId": "factoryDayScav7",
|
||||||
|
"number": 1,
|
||||||
|
"time_min": 5,
|
||||||
|
"time_max": 500,
|
||||||
|
"slots_min": 0,
|
||||||
|
"slots_max": 1,
|
||||||
|
"SpawnPoints": "BotZone",
|
||||||
|
"BotSide": "Savage",
|
||||||
|
"BotPreset": "normal",
|
||||||
|
"WildSpawnType": "assault",
|
||||||
|
"isPlayers": true
|
||||||
|
}, {
|
||||||
|
"sptId": "factoryDayScav8",
|
||||||
|
"number": 1,
|
||||||
|
"time_min": 5,
|
||||||
|
"time_max": 500,
|
||||||
|
"slots_min": 0,
|
||||||
|
"slots_max": 1,
|
||||||
|
"SpawnPoints": "BotZone",
|
||||||
|
"BotSide": "Savage",
|
||||||
|
"BotPreset": "normal",
|
||||||
|
"WildSpawnType": "assault",
|
||||||
|
"isPlayers": true
|
||||||
|
}, {
|
||||||
|
"sptId": "factoryDayScav9",
|
||||||
|
"number": 1,
|
||||||
|
"time_min": 5,
|
||||||
|
"time_max": 500,
|
||||||
|
"slots_min": 0,
|
||||||
|
"slots_max": 1,
|
||||||
|
"SpawnPoints": "BotZone",
|
||||||
|
"BotSide": "Savage",
|
||||||
|
"BotPreset": "normal",
|
||||||
|
"WildSpawnType": "assault",
|
||||||
|
"isPlayers": true
|
||||||
|
}, {
|
||||||
|
"sptId": "factoryDayScav10",
|
||||||
|
"number": 1,
|
||||||
|
"time_min": 5,
|
||||||
|
"time_max": 500,
|
||||||
|
"slots_min": 0,
|
||||||
|
"slots_max": 1,
|
||||||
|
"SpawnPoints": "BotZone",
|
||||||
|
"BotSide": "Savage",
|
||||||
|
"BotPreset": "normal",
|
||||||
|
"WildSpawnType": "assault",
|
||||||
|
"isPlayers": true
|
||||||
|
}, {
|
||||||
|
"sptId": "factoryDayScav11",
|
||||||
|
"number": 1,
|
||||||
|
"time_min": 5,
|
||||||
|
"time_max": 500,
|
||||||
|
"slots_min": 0,
|
||||||
|
"slots_max": 1,
|
||||||
|
"SpawnPoints": "BotZone",
|
||||||
|
"BotSide": "Savage",
|
||||||
|
"BotPreset": "normal",
|
||||||
|
"WildSpawnType": "assault",
|
||||||
|
"isPlayers": true
|
||||||
|
}, {
|
||||||
|
"sptId": "factoryDayScav12",
|
||||||
|
"number": 1,
|
||||||
|
"time_min": 5,
|
||||||
|
"time_max": 500,
|
||||||
|
"slots_min": 0,
|
||||||
|
"slots_max": 1,
|
||||||
|
"SpawnPoints": "BotZone",
|
||||||
|
"BotSide": "Savage",
|
||||||
|
"BotPreset": "normal",
|
||||||
|
"WildSpawnType": "assault",
|
||||||
|
"isPlayers": true
|
||||||
|
}, {
|
||||||
|
"sptId": "factoryDayScav13",
|
||||||
|
"number": 1,
|
||||||
|
"time_min": 5,
|
||||||
|
"time_max": 500,
|
||||||
|
"slots_min": 0,
|
||||||
|
"slots_max": 1,
|
||||||
|
"SpawnPoints": "BotZone",
|
||||||
|
"BotSide": "Savage",
|
||||||
|
"BotPreset": "normal",
|
||||||
|
"WildSpawnType": "assault",
|
||||||
|
"isPlayers": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"openZones": {
|
||||||
|
"bigmap": ["ZoneScavBase"]
|
||||||
|
},
|
||||||
|
"forcedLootSingleSpawnById": {
|
||||||
|
"bigmap": ["5ac620eb86f7743a8e6e0da0", "5939e5a786f77461f11c0098"],
|
||||||
|
"lighthouse": [
|
||||||
|
"6331bb0d1aa9f42b804997a6",
|
||||||
|
"6398a072e301557ae24cec92",
|
||||||
|
"6398a0861c712b1e1d4dadf1"
|
||||||
|
],
|
||||||
|
"tarkovstreets": [
|
||||||
|
"638df4cc7b560b03794a18d2",
|
||||||
|
"638cbc68a63f1b49be6a3010",
|
||||||
|
"6391fcf5744e45201147080f",
|
||||||
|
"638e0057ab150a5f56238960",
|
||||||
|
"63927b29c115f907b14700b9",
|
||||||
|
"638dfc803083a019d447768e",
|
||||||
|
"638e9d5536b3b72c944e2fc7",
|
||||||
|
"6393262086e646067c176aa2",
|
||||||
|
"63989ced706b793c7d60cfef",
|
||||||
|
"63a39e1d234195315d4020bd"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"splitWaveIntoSingleSpawnsSettings": {
|
||||||
|
"enabled": true,
|
||||||
|
"ignoreMaps": ["base", "develop", "hideout", "privatearea", "suburbs", "terminal", "town", "factory4_day", "factory4_night"],
|
||||||
|
"waveSizeThreshold": 4
|
||||||
|
},
|
||||||
|
"rogueLighthouseSpawnTimeSettings": {
|
||||||
|
"enabled": true,
|
||||||
|
"waitTimeSeconds": 180
|
||||||
|
},
|
||||||
|
"fixEmptyBotWavesSettings": {
|
||||||
|
"enabled": true,
|
||||||
|
"ignoreMaps": ["base", "develop", "hideout", "privatearea", "suburbs", "terminal", "town"]
|
||||||
|
}
|
||||||
|
}
|
20
project/assets/configs/lostondeath.json
Normal file
20
project/assets/configs/lostondeath.json
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"equipment": {
|
||||||
|
"ArmBand": false,
|
||||||
|
"Compass": false,
|
||||||
|
"Headwear": true,
|
||||||
|
"Earpiece": true,
|
||||||
|
"FaceCover": true,
|
||||||
|
"ArmorVest": true,
|
||||||
|
"Eyewear": true,
|
||||||
|
"TacticalVest": true,
|
||||||
|
"Backpack": true,
|
||||||
|
"Holster": true,
|
||||||
|
"FirstPrimaryWeapon": true,
|
||||||
|
"SecondPrimaryWeapon": true,
|
||||||
|
"Scabbard": false,
|
||||||
|
"SecuredContainer": false
|
||||||
|
},
|
||||||
|
"loot": true,
|
||||||
|
"questItems": true
|
||||||
|
}
|
3
project/assets/configs/match.json
Normal file
3
project/assets/configs/match.json
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"enabled": false
|
||||||
|
}
|
914
project/assets/configs/playerscav.json
Normal file
914
project/assets/configs/playerscav.json
Normal file
@ -0,0 +1,914 @@
|
|||||||
|
{
|
||||||
|
"karmaLevel": {
|
||||||
|
"-7": {
|
||||||
|
"botTypeForLoot": "assault",
|
||||||
|
"equipmentBlacklist": {
|
||||||
|
"Headwear": [],
|
||||||
|
"ArmorVest": [],
|
||||||
|
"TacticalVest": [],
|
||||||
|
"Backpack": [],
|
||||||
|
"FirstPrimaryWeapon": [],
|
||||||
|
"Holster": [],
|
||||||
|
"Scabbard": []
|
||||||
|
},
|
||||||
|
"modifiers": {
|
||||||
|
"equipment": {
|
||||||
|
"Headwear": -2,
|
||||||
|
"ArmorVest": -2,
|
||||||
|
"Backpack": -2,
|
||||||
|
"FirstPrimaryWeapon": -2,
|
||||||
|
"Holster": 0,
|
||||||
|
"Scabbard": -2
|
||||||
|
},
|
||||||
|
"mod": {
|
||||||
|
"mod_mount": 0,
|
||||||
|
"mod_mount_000": 0,
|
||||||
|
"mod_muzzle": 0,
|
||||||
|
"mod_tactical_001": 0,
|
||||||
|
"mod_tactical_002": 0,
|
||||||
|
"mod_stock": 0,
|
||||||
|
"mod_charge": 0,
|
||||||
|
"mod_sight_rear": 0,
|
||||||
|
"mod_sight_front": 0,
|
||||||
|
"mod_equipment": 0,
|
||||||
|
"mod_mount_001": 0,
|
||||||
|
"mod_scope": 0,
|
||||||
|
"mod_tactical": 0,
|
||||||
|
"mod_pistol_grip": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"itemLimits": {
|
||||||
|
"healing": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"drugs": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"stims": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 0
|
||||||
|
},
|
||||||
|
"looseLoot": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 0
|
||||||
|
},
|
||||||
|
"magazines": {
|
||||||
|
"min": 1,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"grenades": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"labsAccessCardChancePercent": 0
|
||||||
|
},
|
||||||
|
"-6": {
|
||||||
|
"botTypeForLoot": "assault",
|
||||||
|
"equipmentBlacklist": {
|
||||||
|
"Headwear": [],
|
||||||
|
"ArmorVest": [],
|
||||||
|
"TacticalVest": [],
|
||||||
|
"Backpack": [],
|
||||||
|
"FirstPrimaryWeapon": [],
|
||||||
|
"Holster": [],
|
||||||
|
"Scabbard": []
|
||||||
|
},
|
||||||
|
"modifiers": {
|
||||||
|
"equipment": {
|
||||||
|
"Headwear": -2,
|
||||||
|
"ArmorVest": -2,
|
||||||
|
"Backpack": -2,
|
||||||
|
"FirstPrimaryWeapon": -2,
|
||||||
|
"Holster": 0,
|
||||||
|
"Scabbard": -2
|
||||||
|
},
|
||||||
|
"mod": {
|
||||||
|
"mod_mount": 0,
|
||||||
|
"mod_mount_000": 0,
|
||||||
|
"mod_muzzle": 0,
|
||||||
|
"mod_tactical_001": 0,
|
||||||
|
"mod_tactical_002": 0,
|
||||||
|
"mod_stock": 0,
|
||||||
|
"mod_charge": 0,
|
||||||
|
"mod_sight_rear": 0,
|
||||||
|
"mod_sight_front": 0,
|
||||||
|
"mod_equipment": 0,
|
||||||
|
"mod_mount_001": 0,
|
||||||
|
"mod_scope": 0,
|
||||||
|
"mod_tactical": 0,
|
||||||
|
"mod_pistol_grip": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"itemLimits": {
|
||||||
|
"healing": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"drugs": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"stims": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 0
|
||||||
|
},
|
||||||
|
"looseLoot": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 4
|
||||||
|
},
|
||||||
|
"magazines": {
|
||||||
|
"min": 1,
|
||||||
|
"max": 2
|
||||||
|
},
|
||||||
|
"grenades": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"labsAccessCardChancePercent": 0
|
||||||
|
},
|
||||||
|
"-5": {
|
||||||
|
"botTypeForLoot": "assault",
|
||||||
|
"equipmentBlacklist": {
|
||||||
|
"Headwear": [],
|
||||||
|
"ArmorVest": [],
|
||||||
|
"TacticalVest": [],
|
||||||
|
"Backpack": [],
|
||||||
|
"FirstPrimaryWeapon": [],
|
||||||
|
"Holster": [],
|
||||||
|
"Scabbard": []
|
||||||
|
},
|
||||||
|
"modifiers": {
|
||||||
|
"equipment": {
|
||||||
|
"Headwear": -2,
|
||||||
|
"ArmorVest": -2,
|
||||||
|
"Backpack": -2,
|
||||||
|
"FirstPrimaryWeapon": -2,
|
||||||
|
"Holster": 0,
|
||||||
|
"Scabbard": -2
|
||||||
|
},
|
||||||
|
"mod": {
|
||||||
|
"mod_mount": 0,
|
||||||
|
"mod_mount_000": 0,
|
||||||
|
"mod_muzzle": 0,
|
||||||
|
"mod_tactical_001": 0,
|
||||||
|
"mod_tactical_002": 0,
|
||||||
|
"mod_stock": 0,
|
||||||
|
"mod_charge": 0,
|
||||||
|
"mod_sight_rear": 0,
|
||||||
|
"mod_sight_front": 0,
|
||||||
|
"mod_equipment": 0,
|
||||||
|
"mod_mount_001": 0,
|
||||||
|
"mod_scope": 0,
|
||||||
|
"mod_tactical": 0,
|
||||||
|
"mod_pistol_grip": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"itemLimits": {
|
||||||
|
"healing": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"drugs": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"stims": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 0
|
||||||
|
},
|
||||||
|
"looseLoot": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 4
|
||||||
|
},
|
||||||
|
"magazines": {
|
||||||
|
"min": 1,
|
||||||
|
"max": 2
|
||||||
|
},
|
||||||
|
"grenades": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"labsAccessCardChancePercent": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"-4": {
|
||||||
|
"botTypeForLoot": "assault",
|
||||||
|
"equipmentBlacklist": {
|
||||||
|
"Headwear": [],
|
||||||
|
"ArmorVest": [],
|
||||||
|
"TacticalVest": [],
|
||||||
|
"Backpack": [],
|
||||||
|
"FirstPrimaryWeapon": [],
|
||||||
|
"Holster": [],
|
||||||
|
"Scabbard": []
|
||||||
|
},
|
||||||
|
"modifiers": {
|
||||||
|
"equipment": {
|
||||||
|
"Headwear": -2,
|
||||||
|
"ArmorVest": -2,
|
||||||
|
"Backpack": -2,
|
||||||
|
"FirstPrimaryWeapon": -2,
|
||||||
|
"Holster": 0,
|
||||||
|
"Scabbard": -2
|
||||||
|
},
|
||||||
|
"mod": {
|
||||||
|
"mod_mount": 0,
|
||||||
|
"mod_mount_000": 0,
|
||||||
|
"mod_muzzle": 0,
|
||||||
|
"mod_tactical_001": 0,
|
||||||
|
"mod_tactical_002": 0,
|
||||||
|
"mod_stock": 0,
|
||||||
|
"mod_charge": 0,
|
||||||
|
"mod_sight_rear": 0,
|
||||||
|
"mod_sight_front": 0,
|
||||||
|
"mod_equipment": 0,
|
||||||
|
"mod_mount_001": 0,
|
||||||
|
"mod_scope": 0,
|
||||||
|
"mod_tactical": 0,
|
||||||
|
"mod_pistol_grip": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"itemLimits": {
|
||||||
|
"healing": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"drugs": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"stims": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 0
|
||||||
|
},
|
||||||
|
"looseLoot": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 4
|
||||||
|
},
|
||||||
|
"magazines": {
|
||||||
|
"min": 1,
|
||||||
|
"max": 2
|
||||||
|
},
|
||||||
|
"grenades": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"labsAccessCardChancePercent": 0
|
||||||
|
},
|
||||||
|
"-3": {
|
||||||
|
"botTypeForLoot": "assault",
|
||||||
|
"equipmentBlacklist": {
|
||||||
|
"Headwear": [],
|
||||||
|
"ArmorVest": [],
|
||||||
|
"TacticalVest": [],
|
||||||
|
"Backpack": [],
|
||||||
|
"FirstPrimaryWeapon": [],
|
||||||
|
"Holster": [],
|
||||||
|
"Scabbard": []
|
||||||
|
},
|
||||||
|
"modifiers": {
|
||||||
|
"equipment": {
|
||||||
|
"Headwear": -2,
|
||||||
|
"ArmorVest": -2,
|
||||||
|
"Backpack": -2,
|
||||||
|
"FirstPrimaryWeapon": -2,
|
||||||
|
"Holster": 0,
|
||||||
|
"Scabbard": -2
|
||||||
|
},
|
||||||
|
"mod": {
|
||||||
|
"mod_mount": 0,
|
||||||
|
"mod_mount_000": 0,
|
||||||
|
"mod_muzzle": 0,
|
||||||
|
"mod_tactical_001": 0,
|
||||||
|
"mod_tactical_002": 0,
|
||||||
|
"mod_stock": 0,
|
||||||
|
"mod_charge": 0,
|
||||||
|
"mod_sight_rear": 0,
|
||||||
|
"mod_sight_front": 0,
|
||||||
|
"mod_equipment": 0,
|
||||||
|
"mod_mount_001": 0,
|
||||||
|
"mod_scope": 0,
|
||||||
|
"mod_tactical": 0,
|
||||||
|
"mod_pistol_grip": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"itemLimits": {
|
||||||
|
"healing": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"drugs": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"stims": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 0
|
||||||
|
},
|
||||||
|
"looseLoot": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 4
|
||||||
|
},
|
||||||
|
"magazines": {
|
||||||
|
"min": 1,
|
||||||
|
"max": 2
|
||||||
|
},
|
||||||
|
"grenades": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"labsAccessCardChancePercent": 0
|
||||||
|
},
|
||||||
|
"-2": {
|
||||||
|
"botTypeForLoot": "assault",
|
||||||
|
"equipmentBlacklist": {
|
||||||
|
"Headwear": [],
|
||||||
|
"ArmorVest": [],
|
||||||
|
"TacticalVest": [],
|
||||||
|
"Backpack": [],
|
||||||
|
"FirstPrimaryWeapon": [],
|
||||||
|
"Holster": [],
|
||||||
|
"Scabbard": []
|
||||||
|
},
|
||||||
|
"modifiers": {
|
||||||
|
"equipment": {
|
||||||
|
"Headwear": -2,
|
||||||
|
"ArmorVest": -2,
|
||||||
|
"Backpack": -2,
|
||||||
|
"FirstPrimaryWeapon": -2,
|
||||||
|
"Holster": 0,
|
||||||
|
"Scabbard": -2
|
||||||
|
},
|
||||||
|
"mod": {
|
||||||
|
"mod_mount": 0,
|
||||||
|
"mod_mount_000": 0,
|
||||||
|
"mod_muzzle": 0,
|
||||||
|
"mod_tactical_001": 0,
|
||||||
|
"mod_tactical_002": 0,
|
||||||
|
"mod_stock": 0,
|
||||||
|
"mod_charge": 0,
|
||||||
|
"mod_sight_rear": 0,
|
||||||
|
"mod_sight_front": 0,
|
||||||
|
"mod_equipment": 0,
|
||||||
|
"mod_mount_001": 0,
|
||||||
|
"mod_scope": 0,
|
||||||
|
"mod_tactical": 0,
|
||||||
|
"mod_pistol_grip": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"itemLimits": {
|
||||||
|
"healing": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"drugs": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"stims": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 0
|
||||||
|
},
|
||||||
|
"looseLoot": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 4
|
||||||
|
},
|
||||||
|
"magazines": {
|
||||||
|
"min": 1,
|
||||||
|
"max": 2
|
||||||
|
},
|
||||||
|
"grenades": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"labsAccessCardChancePercent": 0
|
||||||
|
},
|
||||||
|
"-1": {
|
||||||
|
"botTypeForLoot": "assault",
|
||||||
|
"equipmentBlacklist": {
|
||||||
|
"Headwear": [],
|
||||||
|
"ArmorVest": [],
|
||||||
|
"TacticalVest": [],
|
||||||
|
"Backpack": [],
|
||||||
|
"FirstPrimaryWeapon": [],
|
||||||
|
"Holster": [],
|
||||||
|
"Scabbard": []
|
||||||
|
},
|
||||||
|
"modifiers": {
|
||||||
|
"equipment": {
|
||||||
|
"Headwear": -2,
|
||||||
|
"ArmorVest": -2,
|
||||||
|
"Backpack": -2,
|
||||||
|
"FirstPrimaryWeapon": -2,
|
||||||
|
"Holster": 0,
|
||||||
|
"Scabbard": -2
|
||||||
|
},
|
||||||
|
"mod": {
|
||||||
|
"mod_mount": 0,
|
||||||
|
"mod_mount_000": 0,
|
||||||
|
"mod_muzzle": 0,
|
||||||
|
"mod_tactical_001": 0,
|
||||||
|
"mod_tactical_002": 0,
|
||||||
|
"mod_stock": 0,
|
||||||
|
"mod_charge": 0,
|
||||||
|
"mod_sight_rear": 0,
|
||||||
|
"mod_sight_front": 0,
|
||||||
|
"mod_equipment": 0,
|
||||||
|
"mod_mount_001": 0,
|
||||||
|
"mod_scope": 0,
|
||||||
|
"mod_tactical": 0,
|
||||||
|
"mod_pistol_grip": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"itemLimits": {
|
||||||
|
"healing": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"drugs": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"stims": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 0
|
||||||
|
},
|
||||||
|
"looseLoot": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 4
|
||||||
|
},
|
||||||
|
"magazines": {
|
||||||
|
"min": 1,
|
||||||
|
"max": 2
|
||||||
|
},
|
||||||
|
"grenades": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"labsAccessCardChancePercent": 0
|
||||||
|
},
|
||||||
|
"0": {
|
||||||
|
"botTypeForLoot": "assault",
|
||||||
|
"equipmentBlacklist": {
|
||||||
|
"Headwear": [],
|
||||||
|
"ArmorVest": [],
|
||||||
|
"TacticalVest": [],
|
||||||
|
"Backpack": [],
|
||||||
|
"FirstPrimaryWeapon": [],
|
||||||
|
"Holster": [],
|
||||||
|
"Scabbard": []
|
||||||
|
},
|
||||||
|
"modifiers": {
|
||||||
|
"equipment": {
|
||||||
|
"Headwear": 0,
|
||||||
|
"ArmorVest": 0,
|
||||||
|
"Backpack": 0,
|
||||||
|
"FirstPrimaryWeapon": 0,
|
||||||
|
"Holster": 0,
|
||||||
|
"Scabbard": 0
|
||||||
|
},
|
||||||
|
"mod": {
|
||||||
|
"mod_mount": 0,
|
||||||
|
"mod_mount_000": 0,
|
||||||
|
"mod_muzzle": 0,
|
||||||
|
"mod_tactical_001": 0,
|
||||||
|
"mod_tactical_002": 0,
|
||||||
|
"mod_stock": 0,
|
||||||
|
"mod_charge": 0,
|
||||||
|
"mod_sight_rear": 0,
|
||||||
|
"mod_sight_front": 0,
|
||||||
|
"mod_equipment": 0,
|
||||||
|
"mod_mount_001": 0,
|
||||||
|
"mod_scope": 0,
|
||||||
|
"mod_tactical": 0,
|
||||||
|
"mod_pistol_grip": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"itemLimits": {
|
||||||
|
"healing": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"drugs": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"stims": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 0
|
||||||
|
},
|
||||||
|
"looseLoot": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 4
|
||||||
|
},
|
||||||
|
"magazines": {
|
||||||
|
"min": 1,
|
||||||
|
"max": 2
|
||||||
|
},
|
||||||
|
"grenades": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"labsAccessCardChancePercent": 0
|
||||||
|
},
|
||||||
|
"1": {
|
||||||
|
"botTypeForLoot": "assault",
|
||||||
|
"equipmentBlacklist": {
|
||||||
|
"Headwear": [],
|
||||||
|
"ArmorVest": [],
|
||||||
|
"TacticalVest": [],
|
||||||
|
"Backpack": [],
|
||||||
|
"FirstPrimaryWeapon": [],
|
||||||
|
"Holster": [],
|
||||||
|
"Scabbard": []
|
||||||
|
},
|
||||||
|
"modifiers": {
|
||||||
|
"equipment": {
|
||||||
|
"Headwear": 4,
|
||||||
|
"ArmorVest": 10,
|
||||||
|
"Backpack": 8,
|
||||||
|
"FirstPrimaryWeapon": 2,
|
||||||
|
"Holster": 5,
|
||||||
|
"Scabbard": 3
|
||||||
|
},
|
||||||
|
"mod": {
|
||||||
|
"mod_mount": 5,
|
||||||
|
"mod_mount_000": 4,
|
||||||
|
"mod_muzzle": 8,
|
||||||
|
"mod_tactical_001": 2,
|
||||||
|
"mod_tactical_002": 8,
|
||||||
|
"mod_stock": 8,
|
||||||
|
"mod_charge": 10,
|
||||||
|
"mod_sight_rear": 16,
|
||||||
|
"mod_sight_front": 36,
|
||||||
|
"mod_equipment": 8,
|
||||||
|
"mod_mount_001": 9,
|
||||||
|
"mod_scope": 6,
|
||||||
|
"mod_tactical": 4,
|
||||||
|
"mod_pistol_grip": 5
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"itemLimits": {
|
||||||
|
"healing": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"drugs": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 2
|
||||||
|
},
|
||||||
|
"stims": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 0
|
||||||
|
},
|
||||||
|
"looseLoot": {
|
||||||
|
"min": 1,
|
||||||
|
"max": 4
|
||||||
|
},
|
||||||
|
"magazines": {
|
||||||
|
"min": 1,
|
||||||
|
"max": 3
|
||||||
|
},
|
||||||
|
"grenades": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 2
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"labsAccessCardChancePercent": 2
|
||||||
|
},
|
||||||
|
"2": {
|
||||||
|
"botTypeForLoot": "assault",
|
||||||
|
"equipmentBlacklist": {
|
||||||
|
"Headwear": [],
|
||||||
|
"ArmorVest": [],
|
||||||
|
"TacticalVest": [],
|
||||||
|
"Backpack": [],
|
||||||
|
"FirstPrimaryWeapon": [],
|
||||||
|
"Holster": [],
|
||||||
|
"Scabbard": []
|
||||||
|
},
|
||||||
|
"modifiers": {
|
||||||
|
"equipment": {
|
||||||
|
"Headwear": 8,
|
||||||
|
"ArmorVest": 20,
|
||||||
|
"Backpack": 15,
|
||||||
|
"FirstPrimaryWeapon": 4,
|
||||||
|
"Holster": 15,
|
||||||
|
"Scabbard": 6
|
||||||
|
},
|
||||||
|
"mod": {
|
||||||
|
"mod_mount": 10,
|
||||||
|
"mod_mount_000": 8,
|
||||||
|
"mod_muzzle": 16,
|
||||||
|
"mod_tactical_001": 4,
|
||||||
|
"mod_tactical_002": 16,
|
||||||
|
"mod_stock": 16,
|
||||||
|
"mod_charge": 20,
|
||||||
|
"mod_sight_rear": 21,
|
||||||
|
"mod_sight_front": 43,
|
||||||
|
"mod_equipment": 16,
|
||||||
|
"mod_mount_001": 18,
|
||||||
|
"mod_scope": 12,
|
||||||
|
"mod_tactical": 8,
|
||||||
|
"mod_pistol_grip": 10
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"itemLimits": {
|
||||||
|
"healing": {
|
||||||
|
"min": 1,
|
||||||
|
"max": 2
|
||||||
|
},
|
||||||
|
"drugs": {
|
||||||
|
"min": 1,
|
||||||
|
"max": 2
|
||||||
|
},
|
||||||
|
"stims": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"looseLoot": {
|
||||||
|
"min": 2,
|
||||||
|
"max": 4
|
||||||
|
},
|
||||||
|
"magazines": {
|
||||||
|
"min": 2,
|
||||||
|
"max": 3
|
||||||
|
},
|
||||||
|
"grenades": {
|
||||||
|
"min": 1,
|
||||||
|
"max": 2
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"labsAccessCardChancePercent": 5
|
||||||
|
},
|
||||||
|
"3": {
|
||||||
|
"botTypeForLoot": "assault",
|
||||||
|
"equipmentBlacklist": {
|
||||||
|
"Headwear": [],
|
||||||
|
"ArmorVest": ["5df8a2ca86f7740bfe6df777"],
|
||||||
|
"TacticalVest": ["572b7adb24597762ae139821"],
|
||||||
|
"Backpack": ["56e33634d2720bd8058b456b", "5ab8ee7786f7742d8f33f0b9"],
|
||||||
|
"FirstPrimaryWeapon": ["5a38e6bac4a2826c6e06d79b"],
|
||||||
|
"Holster": [],
|
||||||
|
"Scabbard": []
|
||||||
|
},
|
||||||
|
"modifiers": {
|
||||||
|
"equipment": {
|
||||||
|
"Headwear": 12,
|
||||||
|
"ArmorVest": 30,
|
||||||
|
"Backpack": 22,
|
||||||
|
"FirstPrimaryWeapon": 6,
|
||||||
|
"Holster": 25,
|
||||||
|
"Scabbard": 9
|
||||||
|
},
|
||||||
|
"mod": {
|
||||||
|
"mod_mount": 15,
|
||||||
|
"mod_mount_000": 12,
|
||||||
|
"mod_muzzle": 24,
|
||||||
|
"mod_tactical_001": 6,
|
||||||
|
"mod_tactical_002": 24,
|
||||||
|
"mod_stock": 24,
|
||||||
|
"mod_charge": 30,
|
||||||
|
"mod_sight_rear": 26,
|
||||||
|
"mod_sight_front": 50,
|
||||||
|
"mod_equipment": 24,
|
||||||
|
"mod_mount_001": 27,
|
||||||
|
"mod_scope": 18,
|
||||||
|
"mod_tactical": 12,
|
||||||
|
"mod_pistol_grip": 15
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"itemLimits": {
|
||||||
|
"healing": {
|
||||||
|
"min": 1,
|
||||||
|
"max": 2
|
||||||
|
},
|
||||||
|
"drugs": {
|
||||||
|
"min": 1,
|
||||||
|
"max": 2
|
||||||
|
},
|
||||||
|
"stims": {
|
||||||
|
"min": 1,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"looseLoot": {
|
||||||
|
"min": 2,
|
||||||
|
"max": 5
|
||||||
|
},
|
||||||
|
"magazines": {
|
||||||
|
"min": 2,
|
||||||
|
"max": 4
|
||||||
|
},
|
||||||
|
"grenades": {
|
||||||
|
"min": 1,
|
||||||
|
"max": 2
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"labsAccessCardChancePercent": 10
|
||||||
|
},
|
||||||
|
"4": {
|
||||||
|
"botTypeForLoot": "assault",
|
||||||
|
"equipmentBlacklist": {
|
||||||
|
"Headwear": [],
|
||||||
|
"ArmorVest": ["59e7635f86f7742cbf2c1095", "5df8a2ca86f7740bfe6df777"],
|
||||||
|
"TacticalVest": ["5fd4c5477a8d854fa0105061", "572b7adb24597762ae139821"],
|
||||||
|
"Backpack": ["56e33680d2720be2748b4576", "56e33634d2720bd8058b456b", "5ab8ee7786f7742d8f33f0b9"],
|
||||||
|
"FirstPrimaryWeapon": ["5a38e6bac4a2826c6e06d79b"],
|
||||||
|
"Holster": [],
|
||||||
|
"Scabbard": []
|
||||||
|
},
|
||||||
|
"modifiers": {
|
||||||
|
"equipment": {
|
||||||
|
"Headwear": 16,
|
||||||
|
"ArmorVest": 40,
|
||||||
|
"Backpack": 30,
|
||||||
|
"FirstPrimaryWeapon": 8,
|
||||||
|
"Holster": 35,
|
||||||
|
"Scabbard": 12
|
||||||
|
},
|
||||||
|
"mod": {
|
||||||
|
"mod_mount": 20,
|
||||||
|
"mod_mount_000": 16,
|
||||||
|
"mod_muzzle": 32,
|
||||||
|
"mod_tactical_001": 8,
|
||||||
|
"mod_tactical_002": 32,
|
||||||
|
"mod_stock": 32,
|
||||||
|
"mod_charge": 40,
|
||||||
|
"mod_sight_rear": 31,
|
||||||
|
"mod_sight_front": 57,
|
||||||
|
"mod_equipment": 32,
|
||||||
|
"mod_mount_001": 36,
|
||||||
|
"mod_scope": 24,
|
||||||
|
"mod_tactical": 16,
|
||||||
|
"mod_pistol_grip": 20
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"itemLimits": {
|
||||||
|
"healing": {
|
||||||
|
"min": 2,
|
||||||
|
"max": 2
|
||||||
|
},
|
||||||
|
"drugs": {
|
||||||
|
"min": 2,
|
||||||
|
"max": 3
|
||||||
|
},
|
||||||
|
"stims": {
|
||||||
|
"min": 1,
|
||||||
|
"max": 2
|
||||||
|
},
|
||||||
|
"looseLoot": {
|
||||||
|
"min": 3,
|
||||||
|
"max": 6
|
||||||
|
},
|
||||||
|
"magazines": {
|
||||||
|
"min": 2,
|
||||||
|
"max": 4
|
||||||
|
},
|
||||||
|
"grenades": {
|
||||||
|
"min": 2,
|
||||||
|
"max": 3
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"labsAccessCardChancePercent": 15
|
||||||
|
},
|
||||||
|
"5": {
|
||||||
|
"botTypeForLoot": "assault",
|
||||||
|
"equipmentBlacklist": {
|
||||||
|
"Headwear": [],
|
||||||
|
"ArmorVest": ["59e7635f86f7742cbf2c1095", "5df8a2ca86f7740bfe6df777"],
|
||||||
|
"TacticalVest": ["5fd4c5477a8d854fa0105061", "572b7adb24597762ae139821"],
|
||||||
|
"Backpack": ["56e33680d2720be2748b4576", "56e33634d2720bd8058b456b", "5ab8ee7786f7742d8f33f0b9"],
|
||||||
|
"FirstPrimaryWeapon": ["5a38e6bac4a2826c6e06d79b"],
|
||||||
|
"Holster": [],
|
||||||
|
"Scabbard": []
|
||||||
|
},
|
||||||
|
"modifiers": {
|
||||||
|
"equipment": {
|
||||||
|
"Headwear": 20,
|
||||||
|
"ArmorVest": 50,
|
||||||
|
"Backpack": 39,
|
||||||
|
"FirstPrimaryWeapon": 8,
|
||||||
|
"Holster": 45,
|
||||||
|
"Scabbard": 15
|
||||||
|
},
|
||||||
|
"mod": {
|
||||||
|
"mod_mount": 25,
|
||||||
|
"mod_mount_000": 20,
|
||||||
|
"mod_muzzle": 40,
|
||||||
|
"mod_tactical_001": 10,
|
||||||
|
"mod_tactical_002": 40,
|
||||||
|
"mod_stock": 40,
|
||||||
|
"mod_charge": 50,
|
||||||
|
"mod_sight_rear": 36,
|
||||||
|
"mod_sight_front": 64,
|
||||||
|
"mod_equipment": 40,
|
||||||
|
"mod_mount_001": 45,
|
||||||
|
"mod_scope": 30,
|
||||||
|
"mod_tactical": 20,
|
||||||
|
"mod_pistol_grip": 25
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"itemLimits": {
|
||||||
|
"healing": {
|
||||||
|
"min": 2,
|
||||||
|
"max": 2
|
||||||
|
},
|
||||||
|
"drugs": {
|
||||||
|
"min": 2,
|
||||||
|
"max": 3
|
||||||
|
},
|
||||||
|
"stims": {
|
||||||
|
"min": 1,
|
||||||
|
"max": 2
|
||||||
|
},
|
||||||
|
"looseLoot": {
|
||||||
|
"min": 3,
|
||||||
|
"max": 6
|
||||||
|
},
|
||||||
|
"magazines": {
|
||||||
|
"min": 3,
|
||||||
|
"max": 4
|
||||||
|
},
|
||||||
|
"grenades": {
|
||||||
|
"min": 2,
|
||||||
|
"max": 3
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"labsAccessCardChancePercent": 20
|
||||||
|
},
|
||||||
|
"6": {
|
||||||
|
"botTypeForLoot": "assault",
|
||||||
|
"equipmentBlacklist": {
|
||||||
|
"Headwear": ["61c18db6dfd64163ea78fbb4", "60361b0b5a45383c122086a1", "5aa2b87de5b5b00016327c25", "5aa2ba19e5b5b00014028f4e", "59e770f986f7742cbe3164ef", "572b7fa124597762b472f9d2", "572b7d8524597762b472f9d1", "60361b5a9a15b10d96792291", "5f60e7788adaa7100c3adb49", "5aa2a7e8e5b5b00016327c16"],
|
||||||
|
"ArmorVest": ["59e7635f86f7742cbf2c1095", "5df8a2ca86f7740bfe6df777"],
|
||||||
|
"TacticalVest": ["5fd4c5477a8d854fa0105061", "572b7adb24597762ae139821"],
|
||||||
|
"Backpack": ["56e33680d2720be2748b4576", "56e33634d2720bd8058b456b", "5ab8ee7786f7742d8f33f0b9", "5ab8f04f86f774585f4237d8", "5f5e45cc5021ce62144be7aa"],
|
||||||
|
"FirstPrimaryWeapon": ["5a38e6bac4a2826c6e06d79b"],
|
||||||
|
"Holster": ["5448bd6b4bdc2dfc2f8b4569", "579204f224597773d619e051", "571a12c42459771f627b58a0"],
|
||||||
|
"Scabbard": []
|
||||||
|
},
|
||||||
|
"modifiers": {
|
||||||
|
"equipment": {
|
||||||
|
"Headwear": 26,
|
||||||
|
"ArmorVest": 70,
|
||||||
|
"Backpack": 58,
|
||||||
|
"FirstPrimaryWeapon": 8,
|
||||||
|
"Holster": 65,
|
||||||
|
"Scabbard": 21
|
||||||
|
},
|
||||||
|
"mod": {
|
||||||
|
"mod_mount": 35,
|
||||||
|
"mod_mount_000": 28,
|
||||||
|
"mod_muzzle": 56,
|
||||||
|
"mod_tactical_001": 14,
|
||||||
|
"mod_tactical_002": 56,
|
||||||
|
"mod_stock": 56,
|
||||||
|
"mod_charge": 70,
|
||||||
|
"mod_sight_rear": 46,
|
||||||
|
"mod_sight_front": 78,
|
||||||
|
"mod_equipment": 56,
|
||||||
|
"mod_mount_001": 63,
|
||||||
|
"mod_scope": 42,
|
||||||
|
"mod_tactical": 28,
|
||||||
|
"mod_pistol_grip": 35
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"itemLimits": {
|
||||||
|
"healing": {
|
||||||
|
"min": 2,
|
||||||
|
"max": 3
|
||||||
|
},
|
||||||
|
"drugs": {
|
||||||
|
"min": 3,
|
||||||
|
"max": 4
|
||||||
|
},
|
||||||
|
"stims": {
|
||||||
|
"min": 2,
|
||||||
|
"max": 3
|
||||||
|
},
|
||||||
|
"looseLoot": {
|
||||||
|
"min": 5,
|
||||||
|
"max": 7
|
||||||
|
},
|
||||||
|
"magazines": {
|
||||||
|
"min": 4,
|
||||||
|
"max": 4
|
||||||
|
},
|
||||||
|
"grenades": {
|
||||||
|
"min": 3,
|
||||||
|
"max": 4
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"labsAccessCardChancePercent": 25
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
661
project/assets/configs/quest.json
Normal file
661
project/assets/configs/quest.json
Normal file
@ -0,0 +1,661 @@
|
|||||||
|
{
|
||||||
|
"redeemTime": 48,
|
||||||
|
"usecOnlyQuests": ["6179b5eabca27a099552e052", "5e383a6386f77465910ce1f3", "5e4d515e86f77438b2195244", "639282134ed9512be67647ed"],
|
||||||
|
"bearOnlyQuests": ["6179b5b06e9dd54ac275e409", "5e381b0286f77420e3417a74", "5e4d4ac186f774264f758336", "639136d68ba6894d155e77cf"],
|
||||||
|
"questTemplateIds": {
|
||||||
|
"pmc": {
|
||||||
|
"elimination": "616052ea3054fc0e2c24ce6e",
|
||||||
|
"completion": "61604635c725987e815b1a46",
|
||||||
|
"exploration": "616041eb031af660100c9967"
|
||||||
|
},
|
||||||
|
"scav": {
|
||||||
|
"elimination": "62825ef60e88d037dc1eb428",
|
||||||
|
"completion": "628f588ebb558574b2260fe5",
|
||||||
|
"exploration": "62825ef60e88d037dc1eb42c"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"repeatableQuests": [{
|
||||||
|
"name": "Daily",
|
||||||
|
"side": "Pmc",
|
||||||
|
"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": [{
|
||||||
|
"levelRange": {
|
||||||
|
"min": 1,
|
||||||
|
"max": 15
|
||||||
|
},
|
||||||
|
"targets": [{
|
||||||
|
"key": "Savage",
|
||||||
|
"relativeProbability": 1,
|
||||||
|
"data": {
|
||||||
|
"isBoss": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"bodyPartProb": 0.4,
|
||||||
|
"bodyParts": [{
|
||||||
|
"key": "Head",
|
||||||
|
"relativeProbability": 1,
|
||||||
|
"data": ["Head"]
|
||||||
|
}, {
|
||||||
|
"key": "Stomach",
|
||||||
|
"relativeProbability": 3,
|
||||||
|
"data": ["Stomach"]
|
||||||
|
}, {
|
||||||
|
"key": "Chest",
|
||||||
|
"relativeProbability": 25,
|
||||||
|
"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": 100,
|
||||||
|
"minDist": 20,
|
||||||
|
"maxKills": 3,
|
||||||
|
"minKills": 2
|
||||||
|
}, {
|
||||||
|
"levelRange": {
|
||||||
|
"min": 16,
|
||||||
|
"max": 100
|
||||||
|
},
|
||||||
|
"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
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
"key": "bossKnight",
|
||||||
|
"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
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"rewardBaseTypeBlacklist": ["543be5e94bdc2df1348b4568", "5b3f15d486f77432d0509248"],
|
||||||
|
"rewardBlacklist": ["627bce33f21bc425b06ab967"],
|
||||||
|
"rewardAmmoStackMinSize": 15
|
||||||
|
}, {
|
||||||
|
"name": "Weekly",
|
||||||
|
"side": "Pmc",
|
||||||
|
"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": [{
|
||||||
|
"levelRange": {
|
||||||
|
"min": 1,
|
||||||
|
"max": 15
|
||||||
|
},
|
||||||
|
"targets": [{
|
||||||
|
"key": "Savage",
|
||||||
|
"relativeProbability": 7,
|
||||||
|
"data": {
|
||||||
|
"isBoss": false
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
"key": "AnyPmc",
|
||||||
|
"relativeProbability": 1,
|
||||||
|
"data": {
|
||||||
|
"isBoss": false
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
"key": "bossBully",
|
||||||
|
"relativeProbability": 0,
|
||||||
|
"data": {
|
||||||
|
"isBoss": true
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
"key": "bossGluhar",
|
||||||
|
"relativeProbability": 0,
|
||||||
|
"data": {
|
||||||
|
"isBoss": true
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
"key": "bossKilla",
|
||||||
|
"relativeProbability": 0,
|
||||||
|
"data": {
|
||||||
|
"isBoss": true
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
"key": "bossSanitar",
|
||||||
|
"relativeProbability": 0,
|
||||||
|
"data": {
|
||||||
|
"isBoss": true
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
"key": "bossTagilla",
|
||||||
|
"relativeProbability": 0,
|
||||||
|
"data": {
|
||||||
|
"isBoss": true
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
"key": "bossKojaniy",
|
||||||
|
"relativeProbability": 0,
|
||||||
|
"data": {
|
||||||
|
"isBoss": true
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
"key": "bossKnight",
|
||||||
|
"relativeProbability": 0,
|
||||||
|
"data": {
|
||||||
|
"isBoss": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"bodyPartProb": 0.3,
|
||||||
|
"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.20,
|
||||||
|
"maxDist": 100,
|
||||||
|
"minDist": 20,
|
||||||
|
"maxKills": 10,
|
||||||
|
"minKills": 5
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"levelRange": {
|
||||||
|
"min": 16,
|
||||||
|
"max": 100
|
||||||
|
},
|
||||||
|
"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
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
"key": "bossKnight",
|
||||||
|
"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
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"rewardBaseTypeBlacklist": ["543be5e94bdc2df1348b4568", "5b3f15d486f77432d0509248"],
|
||||||
|
"rewardBlacklist": ["627bce33f21bc425b06ab967"],
|
||||||
|
"rewardAmmoStackMinSize": 15
|
||||||
|
}, {
|
||||||
|
"name": "Daily_Savage",
|
||||||
|
"side": "Scav",
|
||||||
|
"types": [
|
||||||
|
"Elimination",
|
||||||
|
"Completion"
|
||||||
|
],
|
||||||
|
"resetTime": 86400,
|
||||||
|
"numQuests": 1,
|
||||||
|
"minPlayerLevel": 1,
|
||||||
|
"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.02, 0.05, 0.05],
|
||||||
|
"rewardSpread": 0.5
|
||||||
|
},
|
||||||
|
"locations": {
|
||||||
|
"any": ["any"],
|
||||||
|
"factory4_day": ["factory4_day", "factory4_night"],
|
||||||
|
"bigmap": ["bigmap"],
|
||||||
|
"Woods": ["Woods"],
|
||||||
|
"Shoreline": ["Shoreline"],
|
||||||
|
"Interchange": ["Interchange"],
|
||||||
|
"Lighthouse": ["Lighthouse"],
|
||||||
|
"RezervBase": ["RezervBase"]
|
||||||
|
},
|
||||||
|
"traderWhitelist": [{
|
||||||
|
"traderId": "579dc571d53a0658a154fbec",
|
||||||
|
"questTypes": ["Completion", "Exploration", "Elimination"]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"questConfig": {
|
||||||
|
"Exploration": {
|
||||||
|
"maxExtracts": 3,
|
||||||
|
"specificExits": {
|
||||||
|
"probability": 0.25,
|
||||||
|
"passageRequirementWhitelist": [
|
||||||
|
"None",
|
||||||
|
"WorldEvent",
|
||||||
|
"Train",
|
||||||
|
"Reference",
|
||||||
|
"Empty"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Completion": {
|
||||||
|
"minRequestedAmount": 1,
|
||||||
|
"maxRequestedAmount": 5,
|
||||||
|
"minRequestedBulletAmount": 20,
|
||||||
|
"maxRequestedBulletAmount": 60,
|
||||||
|
"useWhitelist": true,
|
||||||
|
"useBlacklist": false
|
||||||
|
},
|
||||||
|
"Elimination": [{
|
||||||
|
"levelRange": {
|
||||||
|
"min": 1,
|
||||||
|
"max": 15
|
||||||
|
},
|
||||||
|
"targets":
|
||||||
|
[{
|
||||||
|
"key": "AnyPmc",
|
||||||
|
"relativeProbability": 2,
|
||||||
|
"data": {
|
||||||
|
"isBoss": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"bodyPartProb": 0.4,
|
||||||
|
"bodyParts": [{
|
||||||
|
"key": "Head",
|
||||||
|
"relativeProbability": 1,
|
||||||
|
"data": ["Head"]
|
||||||
|
}, {
|
||||||
|
"key": "Stomach",
|
||||||
|
"relativeProbability": 3,
|
||||||
|
"data": ["Stomach"]
|
||||||
|
}, {
|
||||||
|
"key": "Chest",
|
||||||
|
"relativeProbability": 10,
|
||||||
|
"data": ["Chest"]
|
||||||
|
}, {
|
||||||
|
"key": "Arms",
|
||||||
|
"relativeProbability": 0.5,
|
||||||
|
"data": ["LeftArm", "RightArm"]
|
||||||
|
}, {
|
||||||
|
"key": "Legs",
|
||||||
|
"relativeProbability": 1,
|
||||||
|
"data": ["LeftLeg", "RightLeg"]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"specificLocationProb": 0.25,
|
||||||
|
"distLocationBlacklist": ["laboratory"],
|
||||||
|
"distProb": 0.20,
|
||||||
|
"maxDist": 100,
|
||||||
|
"minDist": 20,
|
||||||
|
"maxKills": 3,
|
||||||
|
"minKills": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"levelRange": {
|
||||||
|
"min": 16,
|
||||||
|
"max": 100
|
||||||
|
},
|
||||||
|
"targets":
|
||||||
|
[{
|
||||||
|
"key": "AnyPmc",
|
||||||
|
"relativeProbability": 1,
|
||||||
|
"data": {
|
||||||
|
"isBoss": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"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"],
|
||||||
|
"distProb": 0.25,
|
||||||
|
"maxDist": 200,
|
||||||
|
"minDist": 20,
|
||||||
|
"maxKills": 5,
|
||||||
|
"minKills": 2
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"rewardBaseTypeBlacklist": ["543be5e94bdc2df1348b4568", "5b3f15d486f77432d0509248"],
|
||||||
|
"rewardBlacklist": ["627bce33f21bc425b06ab967"],
|
||||||
|
"rewardAmmoStackMinSize": 15
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"locationIdMap": {
|
||||||
|
"any": "any",
|
||||||
|
"factory4_day": "55f2d3fd4bdc2d5f408b4567",
|
||||||
|
"factory4_night": "59fc81d786f774390775787e",
|
||||||
|
"bigmap": "56f40101d2720b2a4d8b45d6",
|
||||||
|
"Woods": "5704e3c2d2720bac5b8b4567",
|
||||||
|
"Shoreline": "5704e554d2720bac5b8b456e",
|
||||||
|
"Interchange": "5714dbc024597771384a510d",
|
||||||
|
"Lighthouse": "5704e4dad2720bb55b8b4567",
|
||||||
|
"laboratory": "5b0fc42d86f7744a585f9105",
|
||||||
|
"RezervBase": "5704e5fad2720bc05b8b4567"
|
||||||
|
}
|
||||||
|
}
|
152
project/assets/configs/ragfair.json
Normal file
152
project/assets/configs/ragfair.json
Normal file
@ -0,0 +1,152 @@
|
|||||||
|
{
|
||||||
|
"runIntervalSeconds": 45,
|
||||||
|
"sell": {
|
||||||
|
"simulatedSellHours": 12,
|
||||||
|
"fees": true,
|
||||||
|
"chance": {
|
||||||
|
"base": 50,
|
||||||
|
"overpriced": 0.5,
|
||||||
|
"underpriced": 2
|
||||||
|
},
|
||||||
|
"time": {
|
||||||
|
"base": 1.5,
|
||||||
|
"min": 0,
|
||||||
|
"max": 1.0
|
||||||
|
},
|
||||||
|
"reputation": {
|
||||||
|
"gain": 0.0000002,
|
||||||
|
"loss": 0.0000002
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"traders": {
|
||||||
|
"54cb50c76803fa8b248b4571": true,
|
||||||
|
"54cb57776803fa99248b456e": true,
|
||||||
|
"579dc571d53a0658a154fbec": false,
|
||||||
|
"58330581ace78e27b8b10cee": true,
|
||||||
|
"5935c25fb3acc3127c3d8cd9": true,
|
||||||
|
"5a7c2eca46aef81a7ca2145d": true,
|
||||||
|
"5ac3b934156ae10c4430e83c": true,
|
||||||
|
"5c0647fdd443bc2504c2d371": true,
|
||||||
|
"ragfair": false
|
||||||
|
},
|
||||||
|
"dynamic": {
|
||||||
|
"purchasesAreFoundInRaid": false,
|
||||||
|
"useTraderPriceForOffersIfHigher": true,
|
||||||
|
"barter": {
|
||||||
|
"enable": true,
|
||||||
|
"chancePercent": 20,
|
||||||
|
"itemCountMin": 1,
|
||||||
|
"itemCountMax": 3,
|
||||||
|
"priceRangeVariancePercent": 15,
|
||||||
|
"minRoubleCostToBecomeBarter": 20000,
|
||||||
|
"itemTypeBlacklist": [
|
||||||
|
"55802f4a4bdc2ddb688b4569",
|
||||||
|
"55802f3e4bdc2de7118b4584",
|
||||||
|
"543be5cb4bdc2deb348b4568",
|
||||||
|
"55818ac54bdc2d5b648b456e",
|
||||||
|
"5a74651486f7744e73386dd1"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"offerAdjustment":{
|
||||||
|
"maxPriceDifferenceBelowHandbookPercent": 64,
|
||||||
|
"handbookPriceMultipier": 1.1,
|
||||||
|
"priceThreshholdRub": 20000
|
||||||
|
},
|
||||||
|
"expiredOfferThreshold": 1500,
|
||||||
|
"offerItemCount": {
|
||||||
|
"min": 7,
|
||||||
|
"max": 30
|
||||||
|
},
|
||||||
|
"price": {
|
||||||
|
"min": 0.8,
|
||||||
|
"max": 1.2
|
||||||
|
},
|
||||||
|
"presetPrice": {
|
||||||
|
"min": 0.95,
|
||||||
|
"max": 1.05
|
||||||
|
},
|
||||||
|
"showDefaultPresetsOnly": true,
|
||||||
|
"endTimeSeconds": {
|
||||||
|
"min": 360,
|
||||||
|
"max": 3600
|
||||||
|
},
|
||||||
|
"condition": {
|
||||||
|
"5422acb9af1c889c16000029": {
|
||||||
|
"_name": "WEAPON",
|
||||||
|
"conditionChance": 0.2,
|
||||||
|
"min": 0.6,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"543be5664bdc2dd4348b4569": {
|
||||||
|
"_name": "MEDS",
|
||||||
|
"conditionChance": 0.2,
|
||||||
|
"min": 0.6,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"5447e0e74bdc2d3c308b4567": {
|
||||||
|
"_name": "SPEC_ITEM",
|
||||||
|
"conditionChance": 0.3,
|
||||||
|
"min": 0.02,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"543be5e94bdc2df1348b4568": {
|
||||||
|
"_name": "KEY",
|
||||||
|
"conditionChance": 0.02,
|
||||||
|
"min": 0.97,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"5448e5284bdc2dcb718b4567": {
|
||||||
|
"_name": "VEST",
|
||||||
|
"conditionChance": 0.2,
|
||||||
|
"min": 0.05,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"57bef4c42459772e8d35a53b": {
|
||||||
|
"_name": "ARMORED_EQUIPMENT",
|
||||||
|
"conditionChance": 0.6,
|
||||||
|
"min": 0.05,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"543be6674bdc2df1348b4569": {
|
||||||
|
"_name": "FOOD_DRINK",
|
||||||
|
"conditionChance": 0.05,
|
||||||
|
"min": 0.05,
|
||||||
|
"max": 1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"stackablePercent": {
|
||||||
|
"min": 10,
|
||||||
|
"max": 600
|
||||||
|
},
|
||||||
|
"nonStackableCount": {
|
||||||
|
"min": 1,
|
||||||
|
"max": 10
|
||||||
|
},
|
||||||
|
"rating": {
|
||||||
|
"min": 0.1,
|
||||||
|
"max": 0.95
|
||||||
|
},
|
||||||
|
"_currencies": "what percentage of the offers are in each currency",
|
||||||
|
"currencies": {
|
||||||
|
"5449016a4bdc2d6f028b456f": 78,
|
||||||
|
"5696686a4bdc2da3298b456a": 14,
|
||||||
|
"569668774bdc2da2298b4568": 8
|
||||||
|
},
|
||||||
|
"showAsSingleStack": [
|
||||||
|
"5422acb9af1c889c16000029",
|
||||||
|
"5448e54d4bdc2dcc718b4568",
|
||||||
|
"5795f317245977243854e041",
|
||||||
|
"5448e53e4bdc2d60728b4567",
|
||||||
|
"5448bf274bdc2dfc2f8b456a",
|
||||||
|
"543be5e94bdc2df1348b4568",
|
||||||
|
"5448f39d4bdc2d0a728b4568"
|
||||||
|
],
|
||||||
|
"removeSeasonalItemsWhenNotInEvent": true,
|
||||||
|
"blacklist": {
|
||||||
|
"custom": [],
|
||||||
|
"enableBsgList": true,
|
||||||
|
"enableQuestList": true,
|
||||||
|
"traderItems": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
116
project/assets/configs/repair.json
Normal file
116
project/assets/configs/repair.json
Normal file
@ -0,0 +1,116 @@
|
|||||||
|
{
|
||||||
|
"priceMultiplier": 1,
|
||||||
|
"applyRandomizeDurabilityLoss": true,
|
||||||
|
"weaponSkillRepairGain": 4.06,
|
||||||
|
"armorKitSkillPointGainPerRepairPointMultiplier": 0.05,
|
||||||
|
"repairKit": {
|
||||||
|
"armor": {
|
||||||
|
"rarityWeight": {
|
||||||
|
"common": 5,
|
||||||
|
"rare": 1
|
||||||
|
},
|
||||||
|
"bonusTypeWeight": {
|
||||||
|
"DamageReduction": 1
|
||||||
|
},
|
||||||
|
"common": {
|
||||||
|
"DamageReduction": {
|
||||||
|
"valuesMinMax": {
|
||||||
|
"min": 0.9,
|
||||||
|
"max": 0.98
|
||||||
|
},
|
||||||
|
"activeDurabilityPercentMinMax": {
|
||||||
|
"min": 75,
|
||||||
|
"max": 90
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"rare": {
|
||||||
|
"DamageReduction": {
|
||||||
|
"valuesMinMax": {
|
||||||
|
"min": 0.8,
|
||||||
|
"max": 0.9
|
||||||
|
},
|
||||||
|
"activeDurabilityPercentMinMax": {
|
||||||
|
"min": 75,
|
||||||
|
"max": 90
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"weapon": {
|
||||||
|
"rarityWeight": {
|
||||||
|
"common": 5,
|
||||||
|
"rare": 1
|
||||||
|
},
|
||||||
|
"bonusTypeWeight": {
|
||||||
|
"WeaponSpread": 1,
|
||||||
|
"MalfunctionProtections": 1,
|
||||||
|
"WeaponDamage": 1
|
||||||
|
},
|
||||||
|
"common": {
|
||||||
|
"WeaponSpread": {
|
||||||
|
"valuesMinMax": {
|
||||||
|
"min": 0.9,
|
||||||
|
"max": 0.99
|
||||||
|
},
|
||||||
|
"activeDurabilityPercentMinMax": {
|
||||||
|
"min": 75,
|
||||||
|
"max": 90
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"MalfunctionProtections": {
|
||||||
|
"valuesMinMax": {
|
||||||
|
"min": 0.94,
|
||||||
|
"max": 0.96
|
||||||
|
},
|
||||||
|
"activeDurabilityPercentMinMax": {
|
||||||
|
"min": 75,
|
||||||
|
"max": 90
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"WeaponDamage": {
|
||||||
|
"valuesMinMax": {
|
||||||
|
"min": 0.7,
|
||||||
|
"max": 0.9
|
||||||
|
},
|
||||||
|
"activeDurabilityPercentMinMax": {
|
||||||
|
"min": 75,
|
||||||
|
"max": 90
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"rare": {
|
||||||
|
"WeaponSpread": {
|
||||||
|
"valuesMinMax": {
|
||||||
|
"min": 0.8,
|
||||||
|
"max": 0.9
|
||||||
|
},
|
||||||
|
"activeDurabilityPercentMinMax": {
|
||||||
|
"min": 75,
|
||||||
|
"max": 90
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"MalfunctionProtections": {
|
||||||
|
"valuesMinMax": {
|
||||||
|
"min": 0.75,
|
||||||
|
"max": 0.90
|
||||||
|
},
|
||||||
|
"activeDurabilityPercentMinMax": {
|
||||||
|
"min": 75,
|
||||||
|
"max": 90
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"WeaponDamage": {
|
||||||
|
"valuesMinMax": {
|
||||||
|
"min": 0.3,
|
||||||
|
"max": 0.6
|
||||||
|
},
|
||||||
|
"activeDurabilityPercentMinMax": {
|
||||||
|
"min": 75,
|
||||||
|
"max": 90
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
106
project/assets/configs/scavcase.json
Normal file
106
project/assets/configs/scavcase.json
Normal file
@ -0,0 +1,106 @@
|
|||||||
|
{
|
||||||
|
"rewardItemValueRangeRub": {
|
||||||
|
"common": {
|
||||||
|
"min": 100,
|
||||||
|
"max": 10000
|
||||||
|
},
|
||||||
|
"rare": {
|
||||||
|
"min": 1001,
|
||||||
|
"max": 100000
|
||||||
|
},
|
||||||
|
"superrare": {
|
||||||
|
"min": 10001,
|
||||||
|
"max": 1200000
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"rewardItemParentBlacklist": [
|
||||||
|
"5485a8684bdc2da71d8b4567",
|
||||||
|
"543be5dd4bdc2deb348b4569",
|
||||||
|
"55802f4a4bdc2ddb688b4569",
|
||||||
|
"5448bf274bdc2dfc2f8b456a",
|
||||||
|
"5d52cc5ba4b9367408500062",
|
||||||
|
"5d70e500a4b9364de70d38ce"
|
||||||
|
],
|
||||||
|
"rewardItemBlacklist": [
|
||||||
|
"5ede4739e0350d05467f73e8",
|
||||||
|
"5ede47405b097655935d7d16",
|
||||||
|
"5ede474b0c226a66f5402622",
|
||||||
|
"5ede475339ee016e8c534742",
|
||||||
|
"5ede475b549eed7c6d5c18fb",
|
||||||
|
"62e910aaf957f2915e0a5e36",
|
||||||
|
"619bc61e86e01e16f839a999",
|
||||||
|
"619bddc6c9546643a67df6ee",
|
||||||
|
"5cde8864d7f00c0010373be1"
|
||||||
|
],
|
||||||
|
|
||||||
|
"moneyRewards": {
|
||||||
|
"moneyRewardChancePercent": 10,
|
||||||
|
"rubCount": {
|
||||||
|
"common": {
|
||||||
|
"min": 2000,
|
||||||
|
"max": 20000
|
||||||
|
},
|
||||||
|
"rare": {
|
||||||
|
"min": 10000,
|
||||||
|
"max": 40000
|
||||||
|
},
|
||||||
|
"superrare": {
|
||||||
|
"min": 50000,
|
||||||
|
"max": 200000
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"usdCount": {
|
||||||
|
"common": {
|
||||||
|
"min": 100,
|
||||||
|
"max": 400
|
||||||
|
},
|
||||||
|
"rare": {
|
||||||
|
"min": 400,
|
||||||
|
"max": 1000
|
||||||
|
},
|
||||||
|
"superrare": {
|
||||||
|
"min": 1200,
|
||||||
|
"max": 5000
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"eurCount": {
|
||||||
|
"common": {
|
||||||
|
"min": 100,
|
||||||
|
"max": 400
|
||||||
|
},
|
||||||
|
"rare": {
|
||||||
|
"min": 400,
|
||||||
|
"max": 1000
|
||||||
|
},
|
||||||
|
"superrare": {
|
||||||
|
"min": 1200,
|
||||||
|
"max": 5000
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ammoRewards": {
|
||||||
|
"ammoRewardChancePercent": 10,
|
||||||
|
"minStackSize": 10,
|
||||||
|
"ammoRewardBlacklist": {
|
||||||
|
"common": [
|
||||||
|
"59e690b686f7746c9f75e848"
|
||||||
|
],
|
||||||
|
"rare": [],
|
||||||
|
"superrare": []
|
||||||
|
},
|
||||||
|
"ammoRewardValueRangeRub": {
|
||||||
|
"common": {
|
||||||
|
"min": 1,
|
||||||
|
"max": 50
|
||||||
|
},
|
||||||
|
"rare": {
|
||||||
|
"min": 35,
|
||||||
|
"max": 350
|
||||||
|
},
|
||||||
|
"superrare": {
|
||||||
|
"min": 250,
|
||||||
|
"max": 50000
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
233
project/assets/configs/seasonalevents.json
Normal file
233
project/assets/configs/seasonalevents.json
Normal file
@ -0,0 +1,233 @@
|
|||||||
|
{
|
||||||
|
"enableSeasonalEventDetection": true,
|
||||||
|
"eventGear": {
|
||||||
|
"halloween": {
|
||||||
|
"assault": {
|
||||||
|
"FaceCover": {
|
||||||
|
"5bd071d786f7747e707b93a3": 1,
|
||||||
|
"5bd0716d86f774171822ef4b": 1,
|
||||||
|
"5bd06f5d86f77427101ad47c": 1,
|
||||||
|
"6176a48d732a664031271438": 1,
|
||||||
|
"6176a40f0b8c0312ac75a3d3": 1,
|
||||||
|
"62a5c2c98ec41a51b34739c0": 1,
|
||||||
|
"62a5c333ec21e50cad3b5dc6": 1,
|
||||||
|
"62a5c41e8ec41a51b34739c3": 1,
|
||||||
|
"635267ab3c89e2112001f826": 1
|
||||||
|
},
|
||||||
|
"Headwear": {
|
||||||
|
"59ef13ca86f77445fd0e2483": 2
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"bossTagilla": {
|
||||||
|
"Scabbard": {
|
||||||
|
"63495c500c297e20065a08b1": 2
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"christmas": {
|
||||||
|
"bossgluhar": {
|
||||||
|
"FaceCover": {
|
||||||
|
"5c1a1e3f2e221602b66cc4c2": 5
|
||||||
|
},
|
||||||
|
"Headwear": {
|
||||||
|
"5a43943586f77416ad2f06e2": 3,
|
||||||
|
"5a43957686f7742a2c2f11b0": 3
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"bossbully": {
|
||||||
|
"FaceCover": {
|
||||||
|
"5c1a1e3f2e221602b66cc4c2": 5
|
||||||
|
},
|
||||||
|
"Headwear": {
|
||||||
|
"5a43943586f77416ad2f06e2": 3,
|
||||||
|
"5a43957686f7742a2c2f11b0": 3
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"bossknight": {
|
||||||
|
"FaceCover": {
|
||||||
|
"5c1a1e3f2e221602b66cc4c2": 5
|
||||||
|
},
|
||||||
|
"Headwear": {
|
||||||
|
"5a43943586f77416ad2f06e2": 3,
|
||||||
|
"5a43957686f7742a2c2f11b0": 3
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"bosssanitar": {
|
||||||
|
"FaceCover": {
|
||||||
|
"5c1a1e3f2e221602b66cc4c2": 5
|
||||||
|
},
|
||||||
|
"Headwear": {
|
||||||
|
"5a43943586f77416ad2f06e2": 3,
|
||||||
|
"5a43957686f7742a2c2f11b0": 3
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"exusec": {
|
||||||
|
"FaceCover": {
|
||||||
|
"5c1a1e3f2e221602b66cc4c2": 5
|
||||||
|
},
|
||||||
|
"Headwear": {
|
||||||
|
"5a43943586f77416ad2f06e2": 3,
|
||||||
|
"5a43957686f7742a2c2f11b0": 3
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"followerbigpipe": {
|
||||||
|
"Headwear": {
|
||||||
|
"5a43943586f77416ad2f06e2": 3,
|
||||||
|
"5a43957686f7742a2c2f11b0": 3
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"followerbirdeye": {
|
||||||
|
"Headwear": {
|
||||||
|
"5a43943586f77416ad2f06e2": 3,
|
||||||
|
"5a43957686f7742a2c2f11b0": 3
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"followerbully": {
|
||||||
|
"Headwear": {
|
||||||
|
"5a43943586f77416ad2f06e2": 3,
|
||||||
|
"5a43957686f7742a2c2f11b0": 3
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"followergluharassault": {
|
||||||
|
"FaceCover": {
|
||||||
|
"5c1a1e3f2e221602b66cc4c2": 5
|
||||||
|
},
|
||||||
|
"Headwear": {
|
||||||
|
"5a43943586f77416ad2f06e2": 3,
|
||||||
|
"5a43957686f7742a2c2f11b0": 3
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"followergluharscout": {
|
||||||
|
"FaceCover": {
|
||||||
|
"5c1a1e3f2e221602b66cc4c2": 5
|
||||||
|
},
|
||||||
|
"Headwear": {
|
||||||
|
"5a43943586f77416ad2f06e2": 3,
|
||||||
|
"5a43957686f7742a2c2f11b0": 3
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"followergluharsecurity": {
|
||||||
|
"FaceCover": {
|
||||||
|
"5c1a1e3f2e221602b66cc4c2": 5
|
||||||
|
},
|
||||||
|
"Headwear": {
|
||||||
|
"5a43943586f77416ad2f06e2": 3,
|
||||||
|
"5a43957686f7742a2c2f11b0": 3
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"followerkojaniy": {
|
||||||
|
"Headwear": {
|
||||||
|
"5a43943586f77416ad2f06e2": 3,
|
||||||
|
"5a43957686f7742a2c2f11b0": 3
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"followersanitar": {
|
||||||
|
"FaceCover": {
|
||||||
|
"5c1a1e3f2e221602b66cc4c2": 5
|
||||||
|
},
|
||||||
|
"Headwear": {
|
||||||
|
"5a43943586f77416ad2f06e2": 3,
|
||||||
|
"5a43957686f7742a2c2f11b0": 3
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"marksman": {
|
||||||
|
"FaceCover": {
|
||||||
|
"5c1a1e3f2e221602b66cc4c2": 5
|
||||||
|
},
|
||||||
|
"Headwear": {
|
||||||
|
"5a43943586f77416ad2f06e2": 3,
|
||||||
|
"5a43957686f7742a2c2f11b0": 3
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pmcbot": {
|
||||||
|
"FaceCover": {
|
||||||
|
"5c1a1e3f2e221602b66cc4c2": 5
|
||||||
|
},
|
||||||
|
"Headwear": {
|
||||||
|
"5a43943586f77416ad2f06e2": 3,
|
||||||
|
"5a43957686f7742a2c2f11b0": 3
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sectantpriest": {
|
||||||
|
"FaceCover": {
|
||||||
|
"5c1a1e3f2e221602b66cc4c2": 5
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sectantwarrior": {
|
||||||
|
"FaceCover": {
|
||||||
|
"5c1a1e3f2e221602b66cc4c2": 5
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"bear": {
|
||||||
|
"FaceCover": {
|
||||||
|
"5c1a1e3f2e221602b66cc4c2": 30
|
||||||
|
},
|
||||||
|
"Headwear": {
|
||||||
|
"5a43957686f7742a2c2f11b0": 80,
|
||||||
|
"5a43943586f77416ad2f06e2": 80
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"usec": {
|
||||||
|
"FaceCover": {
|
||||||
|
"5c1a1e3f2e221602b66cc4c2": 30
|
||||||
|
},
|
||||||
|
"Headwear": {
|
||||||
|
"5a43957686f7742a2c2f11b0": 80,
|
||||||
|
"5a43943586f77416ad2f06e2": 80
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"gifterSettings": [{
|
||||||
|
"map": "bigmap",
|
||||||
|
"zones": "ZoneDormitory,ZoneGasStation,ZoneScavBase",
|
||||||
|
"spawnChance": 15
|
||||||
|
}, {
|
||||||
|
"map": "factory4_day",
|
||||||
|
"zones": "BotZone",
|
||||||
|
"spawnChance": 10
|
||||||
|
}, {
|
||||||
|
"map": "laboratory",
|
||||||
|
"zones": "BotZoneFloor1,BotZoneFloor2",
|
||||||
|
"spawnChance": 15
|
||||||
|
}, {
|
||||||
|
"map": "interchange",
|
||||||
|
"zones": "ZoneCenterBot,ZoneCenter,ZoneOLI,ZoneIDEA,ZoneGoshan,ZoneIDEAPark,ZoneOLIPark",
|
||||||
|
"spawnChance": 15
|
||||||
|
}, {
|
||||||
|
"map": "lighthouse",
|
||||||
|
"zones": "Zone_TreatmentContainers,Zone_Chalet,Zone_RoofContainers,Zone_RoofBeach,Zone_Hellicopter",
|
||||||
|
"spawnChance": 15
|
||||||
|
}, {
|
||||||
|
"map": "rezervbase",
|
||||||
|
"zones": "ZoneRailStrorage,ZoneRailStrorage,ZoneRailStrorage,ZonePTOR1,ZonePTOR2,ZoneBarrack,ZoneBarrack,ZoneBarrack,ZoneSubStorage",
|
||||||
|
"spawnChance": 15
|
||||||
|
}, {
|
||||||
|
"map": "shoreline",
|
||||||
|
"zones": "ZonePort,ZoneGreenHouses,ZoneSanatorium1,ZoneGreenHouses,ZoneSanatorium2,ZoneMeteoStation,ZoneSanatorium1,ZoneSanatorium2",
|
||||||
|
"spawnChance": 15
|
||||||
|
}, {
|
||||||
|
"map": "tarkovstreets",
|
||||||
|
"zones": "ZoneColumn",
|
||||||
|
"spawnChance": 10
|
||||||
|
}, {
|
||||||
|
"map": "woods",
|
||||||
|
"zones": "ZoneScavBase2,ZoneWoodCutter",
|
||||||
|
"spawnChance": 15
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"events": [{
|
||||||
|
"name": "halloween",
|
||||||
|
"startDay": "24",
|
||||||
|
"startMonth": "10",
|
||||||
|
"endDay": "4",
|
||||||
|
"endMonth": "11"
|
||||||
|
}, {
|
||||||
|
"name": "christmas",
|
||||||
|
"startDay": "16",
|
||||||
|
"startMonth": "12",
|
||||||
|
"endDay": "31",
|
||||||
|
"endMonth": "12"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
103
project/assets/configs/trader.json
Normal file
103
project/assets/configs/trader.json
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
{
|
||||||
|
"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,
|
||||||
|
"purchasesAreFoundInRaid": false,
|
||||||
|
"traderPriceMultipler": 1,
|
||||||
|
"persistPurchaseDataInProfile": true,
|
||||||
|
"fence": {
|
||||||
|
"discountOptions": {
|
||||||
|
"assortSize": 50,
|
||||||
|
"itemPriceMult": 0.8,
|
||||||
|
"presetPriceMult": 1.5
|
||||||
|
},
|
||||||
|
"partialRefreshTimeSeconds": 240,
|
||||||
|
"partialRefreshChangePercent": 15,
|
||||||
|
"assortSize": 120,
|
||||||
|
"maxPresetsPercent": 5,
|
||||||
|
"itemPriceMult": 1.2,
|
||||||
|
"presetPriceMult": 2.3,
|
||||||
|
"regenerateAssortsOnRefresh": false,
|
||||||
|
"itemTypeLimits": {
|
||||||
|
"550aa4bf4bdc2dd6348b456b": 3,
|
||||||
|
"55818add4bdc2d5b648b456f": 5,
|
||||||
|
"5448bc234bdc2d3c308b4569": 5,
|
||||||
|
"55818b224bdc2dde698b456f": 5,
|
||||||
|
"555ef6e44bdc2de9068b457e": 5,
|
||||||
|
"5a341c4086f77401f2541505": 5,
|
||||||
|
"55818ad54bdc2ddc698b4569": 5,
|
||||||
|
"5448e53e4bdc2d60728b4567": 5,
|
||||||
|
"55818ac54bdc2d5b648b456e": 5,
|
||||||
|
"55818af64bdc2d5b648b4570": 5,
|
||||||
|
"55818a304bdc2db5418b457d": 4,
|
||||||
|
"5a74651486f7744e73386dd1": 5,
|
||||||
|
"55818a594bdc2db9688b456a": 5,
|
||||||
|
"55818a104bdc2db9688b4569": 5,
|
||||||
|
"55818a684bdc2ddd698b456d": 3,
|
||||||
|
"550aa4cd4bdc2dd8348b456c": 3,
|
||||||
|
"55818acf4bdc2dde698b456b": 5,
|
||||||
|
"55818a6f4bdc2db9688b456b": 5,
|
||||||
|
"5447b5f14bdc2d61278b4567": 3,
|
||||||
|
"5447b5cf4bdc2d65278b4567": 5,
|
||||||
|
"5447b6094bdc2dc3278b4567": 5,
|
||||||
|
"5447b5e04bdc2d62278b4567": 5,
|
||||||
|
"55818b164bdc2ddc698b456c": 3,
|
||||||
|
"617f1ef5e8b54b0998387733": 2,
|
||||||
|
"5448ecbe4bdc2d60728b4568": 2,
|
||||||
|
"57864a66245977548f04a81f": 2,
|
||||||
|
"5a341c4686f77469e155819e": 3,
|
||||||
|
"57864a3d24597754843f8721": 2,
|
||||||
|
"5448e54d4bdc2dcc718b4568": 4,
|
||||||
|
"5448f39d4bdc2d0a728b4568": 5,
|
||||||
|
"5795f317245977243854e041": 3
|
||||||
|
},
|
||||||
|
"presetMaxDurabilityPercentMinMax": {
|
||||||
|
"min": 35,
|
||||||
|
"max": 60
|
||||||
|
},
|
||||||
|
"armorMaxDurabilityPercentMinMax": {
|
||||||
|
"min": 35,
|
||||||
|
"max": 60
|
||||||
|
},
|
||||||
|
"blacklist": [
|
||||||
|
"5661632d4bdc2d903d8b456b",
|
||||||
|
"543be5e94bdc2df1348b4568",
|
||||||
|
"543be6674bdc2df1348b4569",
|
||||||
|
"5448bf274bdc2dfc2f8b456a",
|
||||||
|
"5447bedf4bdc2d87278b4568",
|
||||||
|
"6275303a9f372d6ea97f9ec7",
|
||||||
|
"62e9103049c018f425059f38",
|
||||||
|
"59f32bb586f774757e1e8442",
|
||||||
|
"59f32c3b86f77472a31742f0",
|
||||||
|
"627bce33f21bc425b06ab967"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
41
project/assets/configs/weather.json
Normal file
41
project/assets/configs/weather.json
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
{
|
||||||
|
"acceleration": 7,
|
||||||
|
"weather": {
|
||||||
|
"clouds": {
|
||||||
|
"min": -1.5,
|
||||||
|
"max": 1.5
|
||||||
|
},
|
||||||
|
"windSpeed": {
|
||||||
|
"values": [0, 1, 2, 3],
|
||||||
|
"weights": [20, 15, 10, 5]
|
||||||
|
},
|
||||||
|
"windDirection": {
|
||||||
|
"values": [1, 2, 3, 4, 5, 6, 7, 8],
|
||||||
|
"weights": [10, 10, 10, 10, 10, 10, 10, 10]
|
||||||
|
},
|
||||||
|
"windGustiness": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"rain": {
|
||||||
|
"values": [1, 2, 3],
|
||||||
|
"weights": [100, 10, 5]
|
||||||
|
},
|
||||||
|
"rainIntensity": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 1
|
||||||
|
},
|
||||||
|
"fog": {
|
||||||
|
"values": [0.002, 0.006, 0.008, 0.012, 0.087],
|
||||||
|
"weights": [100, 40, 25, 25, 5]
|
||||||
|
},
|
||||||
|
"temp": {
|
||||||
|
"min": 0,
|
||||||
|
"max": 24
|
||||||
|
},
|
||||||
|
"pressure": {
|
||||||
|
"min": 760,
|
||||||
|
"max": 764
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
286
project/assets/database/bots/base.json
Normal file
286
project/assets/database/bots/base.json
Normal file
@ -0,0 +1,286 @@
|
|||||||
|
{
|
||||||
|
"_id": "60dc8576337fdf54e60e1800",
|
||||||
|
"aid": 0,
|
||||||
|
"savage": null,
|
||||||
|
"Info": {
|
||||||
|
"Nickname": "Арсен Предатель",
|
||||||
|
"LowerNickname": "",
|
||||||
|
"Side": "Savage",
|
||||||
|
"Voice": "Scav_1",
|
||||||
|
"Level": 1,
|
||||||
|
"Experience": 0,
|
||||||
|
"RegistrationDate": 0,
|
||||||
|
"GameVersion": "",
|
||||||
|
"AccountType": 0,
|
||||||
|
"MemberCategory": 0,
|
||||||
|
"lockedMoveCommands": false,
|
||||||
|
"SavageLockTime": 0,
|
||||||
|
"LastTimePlayedAsSavage": 0,
|
||||||
|
"Settings": {
|
||||||
|
"Role": "assault",
|
||||||
|
"BotDifficulty": "normal",
|
||||||
|
"Experience": -1,
|
||||||
|
"StandingForKill": -0.02,
|
||||||
|
"AggressorBonus": 0.01
|
||||||
|
},
|
||||||
|
"NicknameChangeDate": 0,
|
||||||
|
"NeedWipeOptions": [],
|
||||||
|
"lastCompletedWipe": null,
|
||||||
|
"BannedState": false,
|
||||||
|
"BannedUntil": 0,
|
||||||
|
"IsStreamerModeAvailable": false
|
||||||
|
},
|
||||||
|
"Customization": {
|
||||||
|
"Head": "5cc2e4d014c02e000d0115f8",
|
||||||
|
"Body": "5cc2e59214c02e000f16684e",
|
||||||
|
"Feet": "5cde9fb87d6c8b0474535da9",
|
||||||
|
"Hands": "5cc2e68f14c02e28b47de290"
|
||||||
|
},
|
||||||
|
"Health": {},
|
||||||
|
"Inventory": {},
|
||||||
|
"Skills": {
|
||||||
|
"Common": [],
|
||||||
|
"Mastering": [],
|
||||||
|
"Points": 0
|
||||||
|
},
|
||||||
|
"Stats": {
|
||||||
|
"SessionCounters": {
|
||||||
|
"Items": []
|
||||||
|
},
|
||||||
|
"OverallCounters": {
|
||||||
|
"Items": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Encyclopedia": null,
|
||||||
|
"ConditionCounters": {
|
||||||
|
"Counters": []
|
||||||
|
},
|
||||||
|
"BackendCounters": {},
|
||||||
|
"InsuredItems": [],
|
||||||
|
"Hideout": {
|
||||||
|
"Production": {},
|
||||||
|
"Areas": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"level": 0,
|
||||||
|
"active": true,
|
||||||
|
"passiveBonusesEnabled": true,
|
||||||
|
"completeTime": 0,
|
||||||
|
"constructing": false,
|
||||||
|
"slots": [],
|
||||||
|
"lastRecipe": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": 1,
|
||||||
|
"level": 0,
|
||||||
|
"active": true,
|
||||||
|
"passiveBonusesEnabled": true,
|
||||||
|
"completeTime": 0,
|
||||||
|
"constructing": false,
|
||||||
|
"slots": [],
|
||||||
|
"lastRecipe": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": 2,
|
||||||
|
"level": 0,
|
||||||
|
"active": true,
|
||||||
|
"passiveBonusesEnabled": true,
|
||||||
|
"completeTime": 0,
|
||||||
|
"constructing": false,
|
||||||
|
"slots": [],
|
||||||
|
"lastRecipe": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": 3,
|
||||||
|
"level": 0,
|
||||||
|
"active": true,
|
||||||
|
"passiveBonusesEnabled": true,
|
||||||
|
"completeTime": 0,
|
||||||
|
"constructing": false,
|
||||||
|
"slots": [],
|
||||||
|
"lastRecipe": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": 4,
|
||||||
|
"level": 0,
|
||||||
|
"active": true,
|
||||||
|
"passiveBonusesEnabled": true,
|
||||||
|
"completeTime": 0,
|
||||||
|
"constructing": false,
|
||||||
|
"slots": [],
|
||||||
|
"lastRecipe": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": 5,
|
||||||
|
"level": 0,
|
||||||
|
"active": true,
|
||||||
|
"passiveBonusesEnabled": true,
|
||||||
|
"completeTime": 0,
|
||||||
|
"constructing": false,
|
||||||
|
"slots": [],
|
||||||
|
"lastRecipe": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": 6,
|
||||||
|
"level": 0,
|
||||||
|
"active": true,
|
||||||
|
"passiveBonusesEnabled": true,
|
||||||
|
"completeTime": 0,
|
||||||
|
"constructing": false,
|
||||||
|
"slots": [],
|
||||||
|
"lastRecipe": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": 7,
|
||||||
|
"level": 0,
|
||||||
|
"active": true,
|
||||||
|
"passiveBonusesEnabled": true,
|
||||||
|
"completeTime": 0,
|
||||||
|
"constructing": false,
|
||||||
|
"slots": [],
|
||||||
|
"lastRecipe": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": 8,
|
||||||
|
"level": 0,
|
||||||
|
"active": true,
|
||||||
|
"passiveBonusesEnabled": true,
|
||||||
|
"completeTime": 0,
|
||||||
|
"constructing": false,
|
||||||
|
"slots": [],
|
||||||
|
"lastRecipe": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": 9,
|
||||||
|
"level": 0,
|
||||||
|
"active": true,
|
||||||
|
"passiveBonusesEnabled": true,
|
||||||
|
"completeTime": 0,
|
||||||
|
"constructing": false,
|
||||||
|
"slots": [],
|
||||||
|
"lastRecipe": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": 10,
|
||||||
|
"level": 0,
|
||||||
|
"active": true,
|
||||||
|
"passiveBonusesEnabled": true,
|
||||||
|
"completeTime": 0,
|
||||||
|
"constructing": false,
|
||||||
|
"slots": [],
|
||||||
|
"lastRecipe": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": 11,
|
||||||
|
"level": 0,
|
||||||
|
"active": true,
|
||||||
|
"passiveBonusesEnabled": true,
|
||||||
|
"completeTime": 0,
|
||||||
|
"constructing": false,
|
||||||
|
"slots": [],
|
||||||
|
"lastRecipe": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": 12,
|
||||||
|
"level": 0,
|
||||||
|
"active": true,
|
||||||
|
"passiveBonusesEnabled": true,
|
||||||
|
"completeTime": 0,
|
||||||
|
"constructing": false,
|
||||||
|
"slots": [],
|
||||||
|
"lastRecipe": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": 13,
|
||||||
|
"level": 0,
|
||||||
|
"active": true,
|
||||||
|
"passiveBonusesEnabled": true,
|
||||||
|
"completeTime": 0,
|
||||||
|
"constructing": false,
|
||||||
|
"slots": [],
|
||||||
|
"lastRecipe": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": 14,
|
||||||
|
"level": 0,
|
||||||
|
"active": true,
|
||||||
|
"passiveBonusesEnabled": true,
|
||||||
|
"completeTime": 0,
|
||||||
|
"constructing": false,
|
||||||
|
"slots": [],
|
||||||
|
"lastRecipe": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": 15,
|
||||||
|
"level": 0,
|
||||||
|
"active": true,
|
||||||
|
"passiveBonusesEnabled": true,
|
||||||
|
"completeTime": 0,
|
||||||
|
"constructing": false,
|
||||||
|
"slots": [],
|
||||||
|
"lastRecipe": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": 16,
|
||||||
|
"level": 0,
|
||||||
|
"active": true,
|
||||||
|
"passiveBonusesEnabled": true,
|
||||||
|
"completeTime": 0,
|
||||||
|
"constructing": false,
|
||||||
|
"slots": [],
|
||||||
|
"lastRecipe": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": 17,
|
||||||
|
"level": 0,
|
||||||
|
"active": true,
|
||||||
|
"passiveBonusesEnabled": true,
|
||||||
|
"completeTime": 0,
|
||||||
|
"constructing": false,
|
||||||
|
"slots": [],
|
||||||
|
"lastRecipe": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": 18,
|
||||||
|
"level": 0,
|
||||||
|
"active": true,
|
||||||
|
"passiveBonusesEnabled": true,
|
||||||
|
"completeTime": 0,
|
||||||
|
"constructing": false,
|
||||||
|
"slots": [],
|
||||||
|
"lastRecipe": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": 19,
|
||||||
|
"level": 0,
|
||||||
|
"active": true,
|
||||||
|
"passiveBonusesEnabled": true,
|
||||||
|
"completeTime": 0,
|
||||||
|
"constructing": false,
|
||||||
|
"slots": [],
|
||||||
|
"lastRecipe": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": 20,
|
||||||
|
"level": 0,
|
||||||
|
"active": true,
|
||||||
|
"passiveBonusesEnabled": true,
|
||||||
|
"completeTime": 0,
|
||||||
|
"constructing": false,
|
||||||
|
"slots": [],
|
||||||
|
"lastRecipe": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": 21,
|
||||||
|
"level": 0,
|
||||||
|
"active": true,
|
||||||
|
"passiveBonusesEnabled": true,
|
||||||
|
"completeTime": 0,
|
||||||
|
"constructing": false,
|
||||||
|
"slots": [],
|
||||||
|
"lastRecipe": null
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"Bonuses": []
|
||||||
|
}
|
135
project/assets/database/bots/core.json
Normal file
135
project/assets/database/bots/core.json
Normal file
@ -0,0 +1,135 @@
|
|||||||
|
{
|
||||||
|
"SAVAGE_KILL_DIST": 90,
|
||||||
|
"SOUND_DOOR_BREACH_METERS": 35.0,
|
||||||
|
"SOUND_DOOR_OPEN_METERS": 10.0,
|
||||||
|
"STEP_NOISE_DELTA": 1.0,
|
||||||
|
"JUMP_NOISE_DELTA": 1.0,
|
||||||
|
"GUNSHOT_SPREAD": 280,
|
||||||
|
"GUNSHOT_SPREAD_SILENCE": 60,
|
||||||
|
"BASE_WALK_SPEREAD2": 26.0,
|
||||||
|
"MOVE_SPEED_COEF_MAX": 2.1,
|
||||||
|
"SPEED_SERV_SOUND_COEF_A": 0.3,
|
||||||
|
"SPEED_SERV_SOUND_COEF_B": 0.7,
|
||||||
|
"G": 9.81,
|
||||||
|
"STAY_COEF": 1.0,
|
||||||
|
"SIT_COEF": 0.8,
|
||||||
|
"LAY_COEF": 0.8,
|
||||||
|
"MAX_ITERATIONS": 2,
|
||||||
|
"START_DIST_TO_COV": 12100.0,
|
||||||
|
"MAX_DIST_TO_COV": 220.0,
|
||||||
|
"STAY_HEIGHT": 1.1,
|
||||||
|
"CLOSE_POINTS": 3.0,
|
||||||
|
"COUNT_TURNS": 5,
|
||||||
|
"SIMPLE_POINT_LIFE_TIME_SEC": 30.0,
|
||||||
|
"DANGER_POINT_LIFE_TIME_SEC": 60.0,
|
||||||
|
"DANGER_POWER": 115.0,
|
||||||
|
"COVER_DIST_CLOSE": 10.0,
|
||||||
|
"GOOD_DIST_TO_POINT": 7.0,
|
||||||
|
"COVER_TOOFAR_FROM_BOSS": 20.0,
|
||||||
|
"COVER_TOOFAR_FROM_BOSS_SQRT": 400.0,
|
||||||
|
"MAX_Y_DIFF_TO_PROTECT": 1.0,
|
||||||
|
"FLARE_POWER": 8.0,
|
||||||
|
"MOVE_COEF": 1.2,
|
||||||
|
"PRONE_POSE": 0.7,
|
||||||
|
"LOWER_POSE": 0.5,
|
||||||
|
"MAX_POSE": 1.5,
|
||||||
|
"FLARE_TIME": 1.5,
|
||||||
|
"MAX_REQUESTS__PER_GROUP": 10,
|
||||||
|
"UPDATE_GOAL_TIMER_SEC": 3.3,
|
||||||
|
"DIST_NOT_TO_GROUP": 300.0,
|
||||||
|
"DIST_NOT_TO_GROUP_SQR": 90000.0,
|
||||||
|
"LAST_SEEN_POS_LIFETIME": 60.0,
|
||||||
|
"DELTA_GRENADE_START_TIME": 0.9,
|
||||||
|
"DELTA_GRENADE_END_TIME": 7.0,
|
||||||
|
"DELTA_GRENADE_RUN_DIST": 11,
|
||||||
|
"DELTA_GRENADE_RUN_DIST_SQRT": 56.25,
|
||||||
|
"PATROL_MIN_LIGHT_DIST": 8.0,
|
||||||
|
"HOLD_MIN_LIGHT_DIST": 3.5,
|
||||||
|
"STANDART_BOT_PAUSE_DOOR": 2.1,
|
||||||
|
"ARMOR_CLASS_COEF": 6.0,
|
||||||
|
"SHOTGUN_POWER": 30.0,
|
||||||
|
"RIFLE_POWER": 60.0,
|
||||||
|
"PISTOL_POWER": 20.0,
|
||||||
|
"SMG_POWER": 45.0,
|
||||||
|
"SNIPE_POWER": 55.0,
|
||||||
|
"GESTUS_PERIOD_SEC": 3.0,
|
||||||
|
"GESTUS_AIMING_DELAY": 2.5,
|
||||||
|
"GESTUS_REQUEST_LIFETIME": 10.0,
|
||||||
|
"GESTUS_FIRST_STAGE_MAX_TIME": 5.0,
|
||||||
|
"GESTUS_SECOND_STAGE_MAX_TIME": 2.0,
|
||||||
|
"GESTUS_MAX_ANSWERS": 4,
|
||||||
|
"GESTUS_FUCK_TO_SHOOT": 3,
|
||||||
|
"GESTUS_DIST_ANSWERS": 6.0,
|
||||||
|
"GESTUS_DIST_ANSWERS_SQRT": 36.0,
|
||||||
|
"GESTUS_ANYWAY_CHANCE": 10.0,
|
||||||
|
"TALK_DELAY": 5.0,
|
||||||
|
"CAN_SHOOT_TO_HEAD": true,
|
||||||
|
"CAN_TILT": true,
|
||||||
|
"TILT_CHANCE": 100.0,
|
||||||
|
"MIN_BLOCK_DIST": 3.0,
|
||||||
|
"MIN_BLOCK_TIME": 5.0,
|
||||||
|
"COVER_SECONDS_AFTER_LOSE_VISION": 10.0,
|
||||||
|
"MIN_ARG_COEF": 0.3,
|
||||||
|
"MAX_ARG_COEF": 100.0,
|
||||||
|
"DEAD_AGR_DIST": 60.0,
|
||||||
|
"MAX_DANGER_CARE_DIST_SQRT": 52900.0,
|
||||||
|
"MAX_DANGER_CARE_DIST": 230.0,
|
||||||
|
"MIN_MAX_PERSON_SEARCH": 2,
|
||||||
|
"PERCENT_PERSON_SEARCH": 0.3,
|
||||||
|
"LOOK_ANYSIDE_BY_WALL_SEC_OF_ENEMY": 20.0,
|
||||||
|
"CLOSE_TO_WALL_ROTATE_BY_WALL_SQRT": 4.0,
|
||||||
|
"SHOOT_TO_CHANGE_RND_PART_MIN": 2,
|
||||||
|
"SHOOT_TO_CHANGE_RND_PART_MAX": 5,
|
||||||
|
"SHOOT_TO_CHANGE_RND_PART_DELTA": 9.0,
|
||||||
|
"FORMUL_COEF_DELTA_DIST": 2.6,
|
||||||
|
"FORMUL_COEF_DELTA_SHOOT": 1.0,
|
||||||
|
"FORMUL_COEF_DELTA_FRIEND_COVER": 15.0,
|
||||||
|
"SUSPETION_POINT_DIST_CHECK": 5.0,
|
||||||
|
"MAX_BASE_REQUESTS_PER_PLAYER": 1,
|
||||||
|
"MAX_HOLD_REQUESTS_PER_PLAYER": 3,
|
||||||
|
"MAX_GO_TO_REQUESTS_PER_PLAYER": 3,
|
||||||
|
"MAX_COME_WITH_ME_REQUESTS_PER_PLAYER": 1,
|
||||||
|
"CORE_POINT_MAX_VALUE": 60.0,
|
||||||
|
"CORE_POINTS_MAX": 3,
|
||||||
|
"CORE_POINTS_MIN": 1,
|
||||||
|
"BORN_POISTS_FREE_ONLY_FAREST_BOT": false,
|
||||||
|
"BORN_POINSTS_FREE_ONLY_FAREST_PLAYER": false,
|
||||||
|
"SCAV_GROUPS_TOGETHER": true,
|
||||||
|
"LAY_DOWN_ANG_SHOOT": 40.0,
|
||||||
|
"HOLD_REQUEST_TIME_SEC": 240.0,
|
||||||
|
"TRIGGERS_DOWN_TO_RUN_WHEN_MOVE": 10,
|
||||||
|
"MIN_DIST_TO_RUN_WHILE_ATTACK_MOVING": 7.5,
|
||||||
|
"MIN_DIST_TO_RUN_WHILE_ATTACK_MOVING_OTHER_ENEMIS": 12.0,
|
||||||
|
"MIN_DIST_TO_STOP_RUN": 23.5,
|
||||||
|
"JUMP_SPREAD_DIST": 25.0,
|
||||||
|
"LOOK_TIMES_TO_KILL": 4,
|
||||||
|
"COME_INSIDE_TIMES": 5,
|
||||||
|
"TOTAL_TIME_KILL": 50.0,
|
||||||
|
"TOTAL_TIME_KILL_AFTER_WARN": 5.0,
|
||||||
|
"MOVING_AIM_COEF": 0.23,
|
||||||
|
"VERTICAL_DIST_TO_IGNORE_SOUND": 116.0,
|
||||||
|
"DEFENCE_LEVEL_SHIFT": 0.0,
|
||||||
|
"MIN_DIST_CLOSE_DEF": 2.2,
|
||||||
|
"USE_ID_PRIOR_WHO_GO": false,
|
||||||
|
"START_ACTIVE_FOLLOW_PLAYER_EVENT": true,
|
||||||
|
"START_ACTIVE_FORCE_ATTACK_PLAYER_EVENT": false,
|
||||||
|
"SMOKE_GRENADE_RADIUS_COEF": 2.0,
|
||||||
|
"GRENADE_PRECISION": 4,
|
||||||
|
"MAX_WARNS_BEFORE_KILL": 4,
|
||||||
|
"CARE_ENEMY_ONLY_TIME": 30.0,
|
||||||
|
"MIDDLE_POINT_COEF": 0.5,
|
||||||
|
"MAIN_TACTIC_ONLY_ATTACK": true,
|
||||||
|
"LAST_DAMAGE_ACTIVE": 5.0,
|
||||||
|
"SHALL_DIE_IF_NOT_INITED": true,
|
||||||
|
"CHECK_BOT_INIT_TIME_SEC": 20.0,
|
||||||
|
"WEAPON_ROOT_Y_OFFSET": 0.175,
|
||||||
|
"DELTA_SUPRESS_DISTANCE_SQRT": 25.0,
|
||||||
|
"DELTA_SUPRESS_DISTANCE": 5.0,
|
||||||
|
"WAVE_COEF_LOW": 1.0,
|
||||||
|
"WAVE_COEF_MID": 1.0,
|
||||||
|
"WAVE_COEF_HIGH": 1.0,
|
||||||
|
"WAVE_COEF_HORDE": 2.0,
|
||||||
|
"WAVE_ONLY_AS_ONLINE": false,
|
||||||
|
"LOCAL_BOTS_COUNT": 100,
|
||||||
|
"AXE_MAN_KILLS_END": 0
|
||||||
|
}
|
5772
project/assets/database/bots/types/assault.json
Normal file
5772
project/assets/database/bots/types/assault.json
Normal file
File diff suppressed because it is too large
Load Diff
13486
project/assets/database/bots/types/bear.json
Normal file
13486
project/assets/database/bots/types/bear.json
Normal file
File diff suppressed because it is too large
Load Diff
2583
project/assets/database/bots/types/bossbully.json
Normal file
2583
project/assets/database/bots/types/bossbully.json
Normal file
File diff suppressed because it is too large
Load Diff
3018
project/assets/database/bots/types/bossgluhar.json
Normal file
3018
project/assets/database/bots/types/bossgluhar.json
Normal file
File diff suppressed because it is too large
Load Diff
2519
project/assets/database/bots/types/bosskilla.json
Normal file
2519
project/assets/database/bots/types/bosskilla.json
Normal file
File diff suppressed because it is too large
Load Diff
2654
project/assets/database/bots/types/bossknight.json
Normal file
2654
project/assets/database/bots/types/bossknight.json
Normal file
File diff suppressed because it is too large
Load Diff
2707
project/assets/database/bots/types/bosskojaniy.json
Normal file
2707
project/assets/database/bots/types/bosskojaniy.json
Normal file
File diff suppressed because it is too large
Load Diff
2595
project/assets/database/bots/types/bosssanitar.json
Normal file
2595
project/assets/database/bots/types/bosssanitar.json
Normal file
File diff suppressed because it is too large
Load Diff
2650
project/assets/database/bots/types/bosstagilla.json
Normal file
2650
project/assets/database/bots/types/bosstagilla.json
Normal file
File diff suppressed because it is too large
Load Diff
2047
project/assets/database/bots/types/bosstest.json
Normal file
2047
project/assets/database/bots/types/bosstest.json
Normal file
File diff suppressed because it is too large
Load Diff
2426
project/assets/database/bots/types/bosszryachiy.json
Normal file
2426
project/assets/database/bots/types/bosszryachiy.json
Normal file
File diff suppressed because it is too large
Load Diff
5713
project/assets/database/bots/types/cursedassault.json
Normal file
5713
project/assets/database/bots/types/cursedassault.json
Normal file
File diff suppressed because it is too large
Load Diff
3627
project/assets/database/bots/types/exusec.json
Normal file
3627
project/assets/database/bots/types/exusec.json
Normal file
File diff suppressed because it is too large
Load Diff
2495
project/assets/database/bots/types/followerbigpipe.json
Normal file
2495
project/assets/database/bots/types/followerbigpipe.json
Normal file
File diff suppressed because it is too large
Load Diff
2896
project/assets/database/bots/types/followerbirdeye.json
Normal file
2896
project/assets/database/bots/types/followerbirdeye.json
Normal file
File diff suppressed because it is too large
Load Diff
2467
project/assets/database/bots/types/followerbully.json
Normal file
2467
project/assets/database/bots/types/followerbully.json
Normal file
File diff suppressed because it is too large
Load Diff
2866
project/assets/database/bots/types/followergluharassault.json
Normal file
2866
project/assets/database/bots/types/followergluharassault.json
Normal file
File diff suppressed because it is too large
Load Diff
2635
project/assets/database/bots/types/followergluharscout.json
Normal file
2635
project/assets/database/bots/types/followergluharscout.json
Normal file
File diff suppressed because it is too large
Load Diff
2795
project/assets/database/bots/types/followergluharsecurity.json
Normal file
2795
project/assets/database/bots/types/followergluharsecurity.json
Normal file
File diff suppressed because it is too large
Load Diff
2155
project/assets/database/bots/types/followergluharsnipe.json
Normal file
2155
project/assets/database/bots/types/followergluharsnipe.json
Normal file
File diff suppressed because it is too large
Load Diff
2726
project/assets/database/bots/types/followerkojaniy.json
Normal file
2726
project/assets/database/bots/types/followerkojaniy.json
Normal file
File diff suppressed because it is too large
Load Diff
2651
project/assets/database/bots/types/followersanitar.json
Normal file
2651
project/assets/database/bots/types/followersanitar.json
Normal file
File diff suppressed because it is too large
Load Diff
2099
project/assets/database/bots/types/followertagilla.json
Normal file
2099
project/assets/database/bots/types/followertagilla.json
Normal file
File diff suppressed because it is too large
Load Diff
2027
project/assets/database/bots/types/followertest.json
Normal file
2027
project/assets/database/bots/types/followertest.json
Normal file
File diff suppressed because it is too large
Load Diff
2674
project/assets/database/bots/types/followerzryachiy.json
Normal file
2674
project/assets/database/bots/types/followerzryachiy.json
Normal file
File diff suppressed because it is too large
Load Diff
3530
project/assets/database/bots/types/gifter.json
Normal file
3530
project/assets/database/bots/types/gifter.json
Normal file
File diff suppressed because it is too large
Load Diff
3602
project/assets/database/bots/types/marksman.json
Normal file
3602
project/assets/database/bots/types/marksman.json
Normal file
File diff suppressed because it is too large
Load Diff
4113
project/assets/database/bots/types/pmcbot.json
Normal file
4113
project/assets/database/bots/types/pmcbot.json
Normal file
File diff suppressed because it is too large
Load Diff
2655
project/assets/database/bots/types/sectantpriest.json
Normal file
2655
project/assets/database/bots/types/sectantpriest.json
Normal file
File diff suppressed because it is too large
Load Diff
3371
project/assets/database/bots/types/sectantwarrior.json
Normal file
3371
project/assets/database/bots/types/sectantwarrior.json
Normal file
File diff suppressed because it is too large
Load Diff
2047
project/assets/database/bots/types/test.json
Normal file
2047
project/assets/database/bots/types/test.json
Normal file
File diff suppressed because it is too large
Load Diff
13491
project/assets/database/bots/types/usec.json
Normal file
13491
project/assets/database/bots/types/usec.json
Normal file
File diff suppressed because it is too large
Load Diff
21375
project/assets/database/globals.json
Normal file
21375
project/assets/database/globals.json
Normal file
File diff suppressed because it is too large
Load Diff
4411
project/assets/database/hideout/areas.json
Normal file
4411
project/assets/database/hideout/areas.json
Normal file
File diff suppressed because it is too large
Load Diff
6918
project/assets/database/hideout/production.json
Normal file
6918
project/assets/database/hideout/production.json
Normal file
File diff suppressed because it is too large
Load Diff
324
project/assets/database/hideout/qte.json
Normal file
324
project/assets/database/hideout/qte.json
Normal file
@ -0,0 +1,324 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"id": "6390bc5b39fe6532b05e0257",
|
||||||
|
"area": 23,
|
||||||
|
"areaLevel": 1,
|
||||||
|
"quickTimeEvents": [
|
||||||
|
{
|
||||||
|
"type": "ShrinkingCircle",
|
||||||
|
"position": {
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.25
|
||||||
|
},
|
||||||
|
"speed": 2,
|
||||||
|
"successRange": {
|
||||||
|
"x": 0.45,
|
||||||
|
"y": 0.1
|
||||||
|
},
|
||||||
|
"key": "Mouse0",
|
||||||
|
"startDelay": 0.8,
|
||||||
|
"endDelay": 0.2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "ShrinkingCircle",
|
||||||
|
"position": {
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.25
|
||||||
|
},
|
||||||
|
"speed": 2.5,
|
||||||
|
"successRange": {
|
||||||
|
"x": 0.4,
|
||||||
|
"y": 0.095
|
||||||
|
},
|
||||||
|
"key": "Mouse0",
|
||||||
|
"startDelay": 0.8,
|
||||||
|
"endDelay": 0.2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "ShrinkingCircle",
|
||||||
|
"position": {
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.25
|
||||||
|
},
|
||||||
|
"speed": 2.5,
|
||||||
|
"successRange": {
|
||||||
|
"x": 0.35,
|
||||||
|
"y": 0.085
|
||||||
|
},
|
||||||
|
"key": "Mouse0",
|
||||||
|
"startDelay": 0.8,
|
||||||
|
"endDelay": 0.2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "ShrinkingCircle",
|
||||||
|
"position": {
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.25
|
||||||
|
},
|
||||||
|
"speed": 2.5,
|
||||||
|
"successRange": {
|
||||||
|
"x": 0.3,
|
||||||
|
"y": 0.08
|
||||||
|
},
|
||||||
|
"key": "Mouse0",
|
||||||
|
"startDelay": 0.8,
|
||||||
|
"endDelay": 0.2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "ShrinkingCircle",
|
||||||
|
"position": {
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.25
|
||||||
|
},
|
||||||
|
"speed": 2.5,
|
||||||
|
"successRange": {
|
||||||
|
"x": 0.25,
|
||||||
|
"y": 0.075
|
||||||
|
},
|
||||||
|
"key": "Mouse0",
|
||||||
|
"startDelay": 0.8,
|
||||||
|
"endDelay": 0.2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "ShrinkingCircle",
|
||||||
|
"position": {
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.25
|
||||||
|
},
|
||||||
|
"speed": 3,
|
||||||
|
"successRange": {
|
||||||
|
"x": 0.2,
|
||||||
|
"y": 0.07
|
||||||
|
},
|
||||||
|
"key": "Mouse0",
|
||||||
|
"startDelay": 0.8,
|
||||||
|
"endDelay": 0.2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "ShrinkingCircle",
|
||||||
|
"position": {
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.25
|
||||||
|
},
|
||||||
|
"speed": 3,
|
||||||
|
"successRange": {
|
||||||
|
"x": 0.15,
|
||||||
|
"y": 0.065
|
||||||
|
},
|
||||||
|
"key": "Mouse0",
|
||||||
|
"startDelay": 0.8,
|
||||||
|
"endDelay": 0.2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "ShrinkingCircle",
|
||||||
|
"position": {
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.25
|
||||||
|
},
|
||||||
|
"speed": 3.5,
|
||||||
|
"successRange": {
|
||||||
|
"x": 0.12,
|
||||||
|
"y": 0.06
|
||||||
|
},
|
||||||
|
"key": "Mouse0",
|
||||||
|
"startDelay": 0.8,
|
||||||
|
"endDelay": 0.2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "ShrinkingCircle",
|
||||||
|
"position": {
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.25
|
||||||
|
},
|
||||||
|
"speed": 3.5,
|
||||||
|
"successRange": {
|
||||||
|
"x": 0.12,
|
||||||
|
"y": 0.05
|
||||||
|
},
|
||||||
|
"key": "Mouse0",
|
||||||
|
"startDelay": 0.8,
|
||||||
|
"endDelay": 0.2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "ShrinkingCircle",
|
||||||
|
"position": {
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.25
|
||||||
|
},
|
||||||
|
"speed": 4,
|
||||||
|
"successRange": {
|
||||||
|
"x": 0.1,
|
||||||
|
"y": 0.045
|
||||||
|
},
|
||||||
|
"key": "Mouse0",
|
||||||
|
"startDelay": 0.8,
|
||||||
|
"endDelay": 0.2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "ShrinkingCircle",
|
||||||
|
"position": {
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.25
|
||||||
|
},
|
||||||
|
"speed": 4.5,
|
||||||
|
"successRange": {
|
||||||
|
"x": 0.1,
|
||||||
|
"y": 0.04
|
||||||
|
},
|
||||||
|
"key": "Mouse0",
|
||||||
|
"startDelay": 0.8,
|
||||||
|
"endDelay": 0.2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "ShrinkingCircle",
|
||||||
|
"position": {
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.25
|
||||||
|
},
|
||||||
|
"speed": 5,
|
||||||
|
"successRange": {
|
||||||
|
"x": 0.1,
|
||||||
|
"y": 0.035
|
||||||
|
},
|
||||||
|
"key": "Mouse0",
|
||||||
|
"startDelay": 0.8,
|
||||||
|
"endDelay": 0.2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "ShrinkingCircle",
|
||||||
|
"position": {
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.25
|
||||||
|
},
|
||||||
|
"speed": 5.5,
|
||||||
|
"successRange": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0.03
|
||||||
|
},
|
||||||
|
"key": "Mouse0",
|
||||||
|
"startDelay": 0.8,
|
||||||
|
"endDelay": 0.2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "ShrinkingCircle",
|
||||||
|
"position": {
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.25
|
||||||
|
},
|
||||||
|
"speed": 6,
|
||||||
|
"successRange": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0.02
|
||||||
|
},
|
||||||
|
"key": "Mouse0",
|
||||||
|
"startDelay": 0.8,
|
||||||
|
"endDelay": 0.2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "ShrinkingCircle",
|
||||||
|
"position": {
|
||||||
|
"x": 0.5,
|
||||||
|
"y": 0.25
|
||||||
|
},
|
||||||
|
"speed": 6,
|
||||||
|
"successRange": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0.01
|
||||||
|
},
|
||||||
|
"key": "Mouse0",
|
||||||
|
"startDelay": 0.8,
|
||||||
|
"endDelay": 0.2
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"requirements": [
|
||||||
|
{
|
||||||
|
"energy": 30,
|
||||||
|
"hydration": 30,
|
||||||
|
"type": "Health"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bodyPart": "LeftArm",
|
||||||
|
"effectName": "Fracture",
|
||||||
|
"excluded": true,
|
||||||
|
"type": "BodyPartBuff"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bodyPart": "RightArm",
|
||||||
|
"effectName": "Fracture",
|
||||||
|
"excluded": true,
|
||||||
|
"type": "BodyPartBuff"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"results": {
|
||||||
|
"finishEffect": {
|
||||||
|
"energy": 0,
|
||||||
|
"hydration": 0,
|
||||||
|
"rewardsRange": [
|
||||||
|
{
|
||||||
|
"weight": 1,
|
||||||
|
"result": "Exit",
|
||||||
|
"time": 86400,
|
||||||
|
"type": "MusclePain"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"singleSuccessEffect": {
|
||||||
|
"energy": -2,
|
||||||
|
"hydration": -2,
|
||||||
|
"rewardsRange": [
|
||||||
|
{
|
||||||
|
"weight": 1,
|
||||||
|
"result": "None",
|
||||||
|
"skillId": "Endurance",
|
||||||
|
"levelMultipliers": [
|
||||||
|
{
|
||||||
|
"level": 0,
|
||||||
|
"multiplier": 2.25
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"level": 10,
|
||||||
|
"multiplier": 1.5
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"level": 25,
|
||||||
|
"multiplier": 0.75
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "Skill"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"weight": 1,
|
||||||
|
"result": "None",
|
||||||
|
"skillId": "Strength",
|
||||||
|
"levelMultipliers": [
|
||||||
|
{
|
||||||
|
"level": 0,
|
||||||
|
"multiplier": 2.25
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"level": 10,
|
||||||
|
"multiplier": 0.6
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"level": 25,
|
||||||
|
"multiplier": 0.75
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"type": "Skill"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"singleFailEffect": {
|
||||||
|
"energy": -4,
|
||||||
|
"hydration": -4,
|
||||||
|
"rewardsRange": [
|
||||||
|
{
|
||||||
|
"weight": 1,
|
||||||
|
"result": "Exit",
|
||||||
|
"type": "GymArmTrauma"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
137
project/assets/database/hideout/scavcase.json
Normal file
137
project/assets/database/hideout/scavcase.json
Normal file
@ -0,0 +1,137 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"EndProducts": {
|
||||||
|
"Common": {
|
||||||
|
"max": "0",
|
||||||
|
"min": "0"
|
||||||
|
},
|
||||||
|
"Rare": {
|
||||||
|
"max": "1",
|
||||||
|
"min": "1"
|
||||||
|
},
|
||||||
|
"Superrare": {
|
||||||
|
"max": "5",
|
||||||
|
"min": "3"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ProductionTime": 16800,
|
||||||
|
"Requirements": [
|
||||||
|
{
|
||||||
|
"count": 1,
|
||||||
|
"isEncoded": false,
|
||||||
|
"isFunctional": false,
|
||||||
|
"templateId": "5d1b376e86f774252519444e",
|
||||||
|
"type": "Item"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_id": "6271093e621b0a76055cd61e"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"EndProducts": {
|
||||||
|
"Common": {
|
||||||
|
"max": "2",
|
||||||
|
"min": "1"
|
||||||
|
},
|
||||||
|
"Rare": {
|
||||||
|
"max": "1",
|
||||||
|
"min": "0"
|
||||||
|
},
|
||||||
|
"Superrare": {
|
||||||
|
"max": "0",
|
||||||
|
"min": "0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ProductionTime": 2500,
|
||||||
|
"Requirements": [
|
||||||
|
{
|
||||||
|
"count": 2500,
|
||||||
|
"isEncoded": false,
|
||||||
|
"isFunctional": false,
|
||||||
|
"templateId": "5449016a4bdc2d6f028b456f",
|
||||||
|
"type": "Item"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_id": "62710974e71632321e5afd5f"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"EndProducts": {
|
||||||
|
"Common": {
|
||||||
|
"max": "0",
|
||||||
|
"min": "0"
|
||||||
|
},
|
||||||
|
"Rare": {
|
||||||
|
"max": "4",
|
||||||
|
"min": "2"
|
||||||
|
},
|
||||||
|
"Superrare": {
|
||||||
|
"max": "3",
|
||||||
|
"min": "2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ProductionTime": 19200,
|
||||||
|
"Requirements": [
|
||||||
|
{
|
||||||
|
"count": 1,
|
||||||
|
"isEncoded": false,
|
||||||
|
"isFunctional": false,
|
||||||
|
"templateId": "5c12613b86f7743bbe2c3f76",
|
||||||
|
"type": "Item"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_id": "62710a0e436dcc0b9c55f4ec"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"EndProducts": {
|
||||||
|
"Common": {
|
||||||
|
"max": "0",
|
||||||
|
"min": "0"
|
||||||
|
},
|
||||||
|
"Rare": {
|
||||||
|
"max": "3",
|
||||||
|
"min": "1"
|
||||||
|
},
|
||||||
|
"Superrare": {
|
||||||
|
"max": "2",
|
||||||
|
"min": "1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ProductionTime": 8100,
|
||||||
|
"Requirements": [
|
||||||
|
{
|
||||||
|
"count": 95000,
|
||||||
|
"isEncoded": false,
|
||||||
|
"isFunctional": false,
|
||||||
|
"templateId": "5449016a4bdc2d6f028b456f",
|
||||||
|
"type": "Item"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_id": "62710a69adfbd4354d79c58e"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"EndProducts": {
|
||||||
|
"Common": {
|
||||||
|
"max": "1",
|
||||||
|
"min": "1"
|
||||||
|
},
|
||||||
|
"Rare": {
|
||||||
|
"max": "3",
|
||||||
|
"min": "1"
|
||||||
|
},
|
||||||
|
"Superrare": {
|
||||||
|
"max": "0",
|
||||||
|
"min": "0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ProductionTime": 7700,
|
||||||
|
"Requirements": [
|
||||||
|
{
|
||||||
|
"count": 15000,
|
||||||
|
"isEncoded": false,
|
||||||
|
"isFunctional": false,
|
||||||
|
"templateId": "5449016a4bdc2d6f028b456f",
|
||||||
|
"type": "Item"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"_id": "62710a8c403346379e3de9be"
|
||||||
|
}
|
||||||
|
]
|
6
project/assets/database/hideout/settings.json
Normal file
6
project/assets/database/hideout/settings.json
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"generatorSpeedWithoutFuel": 0.07,
|
||||||
|
"generatorFuelFlowRate": 0.0013194444444444,
|
||||||
|
"airFilterUnitFlowRate": 0.0047222222222222,
|
||||||
|
"gpuBoostRate": 0.041225
|
||||||
|
}
|
19370
project/assets/database/locales/global/ch.json
Normal file
19370
project/assets/database/locales/global/ch.json
Normal file
File diff suppressed because it is too large
Load Diff
19370
project/assets/database/locales/global/cz.json
Normal file
19370
project/assets/database/locales/global/cz.json
Normal file
File diff suppressed because it is too large
Load Diff
19370
project/assets/database/locales/global/en.json
Normal file
19370
project/assets/database/locales/global/en.json
Normal file
File diff suppressed because it is too large
Load Diff
19370
project/assets/database/locales/global/es-mx.json
Normal file
19370
project/assets/database/locales/global/es-mx.json
Normal file
File diff suppressed because it is too large
Load Diff
19370
project/assets/database/locales/global/es.json
Normal file
19370
project/assets/database/locales/global/es.json
Normal file
File diff suppressed because it is too large
Load Diff
19370
project/assets/database/locales/global/fr.json
Normal file
19370
project/assets/database/locales/global/fr.json
Normal file
File diff suppressed because it is too large
Load Diff
19370
project/assets/database/locales/global/ge.json
Normal file
19370
project/assets/database/locales/global/ge.json
Normal file
File diff suppressed because it is too large
Load Diff
19370
project/assets/database/locales/global/hu.json
Normal file
19370
project/assets/database/locales/global/hu.json
Normal file
File diff suppressed because it is too large
Load Diff
19370
project/assets/database/locales/global/it.json
Normal file
19370
project/assets/database/locales/global/it.json
Normal file
File diff suppressed because it is too large
Load Diff
19370
project/assets/database/locales/global/jp.json
Normal file
19370
project/assets/database/locales/global/jp.json
Normal file
File diff suppressed because it is too large
Load Diff
19370
project/assets/database/locales/global/kr.json
Normal file
19370
project/assets/database/locales/global/kr.json
Normal file
File diff suppressed because it is too large
Load Diff
19370
project/assets/database/locales/global/pl.json
Normal file
19370
project/assets/database/locales/global/pl.json
Normal file
File diff suppressed because it is too large
Load Diff
19370
project/assets/database/locales/global/po.json
Normal file
19370
project/assets/database/locales/global/po.json
Normal file
File diff suppressed because it is too large
Load Diff
19370
project/assets/database/locales/global/ru.json
Normal file
19370
project/assets/database/locales/global/ru.json
Normal file
File diff suppressed because it is too large
Load Diff
19370
project/assets/database/locales/global/sk.json
Normal file
19370
project/assets/database/locales/global/sk.json
Normal file
File diff suppressed because it is too large
Load Diff
19370
project/assets/database/locales/global/tu.json
Normal file
19370
project/assets/database/locales/global/tu.json
Normal file
File diff suppressed because it is too large
Load Diff
18
project/assets/database/locales/languages.json
Normal file
18
project/assets/database/locales/languages.json
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"ch": "Chinese",
|
||||||
|
"cz": "Czech",
|
||||||
|
"en": "English",
|
||||||
|
"fr": "French",
|
||||||
|
"ge": "German",
|
||||||
|
"hu": "Hungarian",
|
||||||
|
"it": "Italian",
|
||||||
|
"jp": "Japanese",
|
||||||
|
"kr": "Korean",
|
||||||
|
"pl": "Polish",
|
||||||
|
"po": "Portugal",
|
||||||
|
"sk": "Slovak",
|
||||||
|
"es": "Spanish",
|
||||||
|
"es-mx": "Spanish Mexico",
|
||||||
|
"tu": "Turkish",
|
||||||
|
"ru": "Русский"
|
||||||
|
}
|
40
project/assets/database/locales/menu/ch.json
Normal file
40
project/assets/database/locales/menu/ch.json
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
{
|
||||||
|
"menu": {
|
||||||
|
"EXIT": "退出游戏",
|
||||||
|
"DOWN: ": "下: ",
|
||||||
|
"NEXT": "下一步",
|
||||||
|
"Escape from Tarkov": "逃离塔科夫",
|
||||||
|
"AUTHORIZATION": "授权",
|
||||||
|
"Servers are currently at full capacity": "服务器当前已满载",
|
||||||
|
"REMEMBER ACCOUNT": "记住帐户",
|
||||||
|
"{0} Beta version": "{0} Beta测试版本",
|
||||||
|
"RIGHT: ": "右: ",
|
||||||
|
"Profile data loading...": "配置文件数据加载中...",
|
||||||
|
"LEFT: ": "左: ",
|
||||||
|
"UP: ": "上: ",
|
||||||
|
"213 - Error connecting to auth server": "授权当前不可用,请稍后再试。",
|
||||||
|
"230 - MAX LOGIN COUNT": "您的重试次数已达最高,请稍后再试",
|
||||||
|
"Place in queue:": "在队列中的位置:",
|
||||||
|
"206 - Wrong email or password": "Wrong email or password",
|
||||||
|
"240 - Servers temporarily unavailable. Please, try later.": "服务器维护中",
|
||||||
|
"BATTLEYE_ServiceNotRunningProperly": "反作弊运行不正确。游戏需要重新启动",
|
||||||
|
"BATTLEYE_UnknownRestartReason": "反作弊运行错误。 游戏需要重新启动",
|
||||||
|
"BATTLEYE_ServiceNeedsToBeUpdated": "反作弊版本过时。游戏需要重新启动",
|
||||||
|
"SABER_ANTICHEAT_AnticheatConnectionFailed": "反作弊连接失败",
|
||||||
|
"BATTLEYE_ANTICHEAT_QueryTimeout": "反作弊连接失败。请重新启动游戏",
|
||||||
|
"BATTLEYE_ANTICHEAT_CorruptedMemory": "文件损坏。完整性验证失败。请重新安装反作弊系统",
|
||||||
|
"BATTLEYE_ANTICHEAT_GameRestartRequired": "游戏需要重新启动",
|
||||||
|
"BATTLEYE_ANTICHEAT_WinAPIFailure": "关键Windows API调用失败",
|
||||||
|
"BATTLEYE_ANTICHEAT_ClientNotResponding": "反作弊连接失败",
|
||||||
|
"BATTLEYE_ANTICHEAT_BadServiceVersion": "服务版本错误",
|
||||||
|
"BATTLEYE_ANTICHEAT_DisallowedProgram": "非法程序正在运行",
|
||||||
|
"BATTLEYE_ANTICHEAT_FailedToLoadAnticheat": "反作弊载入失败。",
|
||||||
|
"BATTLEYE_ANTICHEAT_GlobalBan": "该玩家已被BattleEye封禁",
|
||||||
|
"BATTLEYE_ANTICHEAT_CorruptedData": "游戏的完整性验证失败。请重新安装反作弊系统",
|
||||||
|
"ASSEMBLE": "组装",
|
||||||
|
"When you leave the raid you don’t get anything and also receive Left the Action exit status.": "When you leave the raid you don’t get anything and also receive Left the Action exit status.",
|
||||||
|
"Production completed: {0}": "Production completed: {0}",
|
||||||
|
"UI/leave_game_confirmation_caption": "Exit",
|
||||||
|
"UI/leave_game_confirmation_text": "Are you sure you want to leave?"
|
||||||
|
}
|
||||||
|
}
|
40
project/assets/database/locales/menu/cz.json
Normal file
40
project/assets/database/locales/menu/cz.json
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
{
|
||||||
|
"menu": {
|
||||||
|
"EXIT": "UKONČIT",
|
||||||
|
"DOWN: ": "DOLŮ: ",
|
||||||
|
"NEXT": "DALŠÍ",
|
||||||
|
"Escape from Tarkov": "ESCAPE FROM TARKOV",
|
||||||
|
"AUTHORIZATION": "AUTORIZACE",
|
||||||
|
"Servers are currently at full capacity": "Servery jsou momentálně plné",
|
||||||
|
"REMEMBER ACCOUNT": "ZAPAMATOVAT ÚČET",
|
||||||
|
"{0} Beta version": "{0} Beta verze",
|
||||||
|
"RIGHT: ": "VPRAVO: ",
|
||||||
|
"Profile data loading...": "Načítání osobního profilu...",
|
||||||
|
"LEFT: ": "VLEVO: ",
|
||||||
|
"UP: ": "NAHORU: ",
|
||||||
|
"213 - Error connecting to auth server": "Autorizace není nyní k dispozici, zkuste to později, prosím.",
|
||||||
|
"230 - MAX LOGIN COUNT": "Dosáhl jste maximálního počtu pokusů, zkuste to později",
|
||||||
|
"Place in queue:": "Místo ve frontě:",
|
||||||
|
"206 - Wrong email or password": "Wrong email or password",
|
||||||
|
"240 - Servers temporarily unavailable. Please, try later.": "Údržba serveru",
|
||||||
|
"BATTLEYE_ServiceNotRunningProperly": "Anticheat neběží správně. Restartujte hru",
|
||||||
|
"BATTLEYE_UnknownRestartReason": "Anticheat neběží správně. Restartujte hru",
|
||||||
|
"BATTLEYE_ServiceNeedsToBeUpdated": "Anticheat potřebuje update. Restartujte hru",
|
||||||
|
"SABER_ANTICHEAT_AnticheatConnectionFailed": "Připojení k anticheatu selhalo",
|
||||||
|
"BATTLEYE_ANTICHEAT_QueryTimeout": "Připojení k anticheatu selhalo. Prosím restartujte hru",
|
||||||
|
"BATTLEYE_ANTICHEAT_CorruptedMemory": "Poškozená paměť. Integritu ochrany se nepodařilo ověřit. Přeinstalujte anticheat",
|
||||||
|
"BATTLEYE_ANTICHEAT_GameRestartRequired": "Je třeba restartovat hru",
|
||||||
|
"BATTLEYE_ANTICHEAT_WinAPIFailure": "Spuštění funkce Windows API kriticky selhalo",
|
||||||
|
"BATTLEYE_ANTICHEAT_ClientNotResponding": "Připojení k anticheatu selhalo",
|
||||||
|
"BATTLEYE_ANTICHEAT_BadServiceVersion": "Špatná verze služby",
|
||||||
|
"BATTLEYE_ANTICHEAT_DisallowedProgram": "Je spuštěn zakázaný program",
|
||||||
|
"BATTLEYE_ANTICHEAT_FailedToLoadAnticheat": "Načtení anticheatu selhalo.",
|
||||||
|
"BATTLEYE_ANTICHEAT_GlobalBan": "Hráč byl zabanován BattleEye",
|
||||||
|
"BATTLEYE_ANTICHEAT_CorruptedData": "Integritu hry se nepodařilo ověřit. Přeinstalujte anticheat",
|
||||||
|
"ASSEMBLE": "SESTAVIT",
|
||||||
|
"When you leave the raid you don’t get anything and also receive Left the Action exit status.": "When you leave the raid you don’t get anything and also receive Left the Action exit status.",
|
||||||
|
"Production completed: {0}": "Production completed: {0}",
|
||||||
|
"UI/leave_game_confirmation_caption": "Exit",
|
||||||
|
"UI/leave_game_confirmation_text": "Are you sure you want to leave?"
|
||||||
|
}
|
||||||
|
}
|
40
project/assets/database/locales/menu/en.json
Normal file
40
project/assets/database/locales/menu/en.json
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
{
|
||||||
|
"menu": {
|
||||||
|
"206 - Wrong email or password": "Wrong email or password",
|
||||||
|
"213 - Error connecting to auth server": "Authorization is unavailable now, please try again later.",
|
||||||
|
"230 - MAX LOGIN COUNT": "You have reached the maximum attempts. Try again later",
|
||||||
|
"240 - Servers temporarily unavailable. Please, try later.": "Server maintenance",
|
||||||
|
"ASSEMBLE": "ASSEMBLE",
|
||||||
|
"AUTHORIZATION": "AUTHORIZATION",
|
||||||
|
"BATTLEYE_ANTICHEAT_BadServiceVersion": "Bad service version",
|
||||||
|
"BATTLEYE_ANTICHEAT_ClientNotResponding": "Anticheat connection failed",
|
||||||
|
"BATTLEYE_ANTICHEAT_CorruptedData": "The integrity of the game failed to validate. Reinstall anticheat",
|
||||||
|
"BATTLEYE_ANTICHEAT_CorruptedMemory": "Corrupted memory. The integrity of the protection failed to validate. Reinstall anticheat",
|
||||||
|
"BATTLEYE_ANTICHEAT_DisallowedProgram": "Disallowed program running",
|
||||||
|
"BATTLEYE_ANTICHEAT_FailedToLoadAnticheat": "Anticheat loading failed.",
|
||||||
|
"BATTLEYE_ANTICHEAT_GameRestartRequired": "Game restart required",
|
||||||
|
"BATTLEYE_ANTICHEAT_GlobalBan": "The player has been banned by BE",
|
||||||
|
"BATTLEYE_ANTICHEAT_QueryTimeout": "Anticheat connection failed. Please restart the game",
|
||||||
|
"BATTLEYE_ANTICHEAT_WinAPIFailure": "A critical Windows API call failed",
|
||||||
|
"BATTLEYE_ServiceNeedsToBeUpdated": "Anticheat is outdated. Game restart required",
|
||||||
|
"BATTLEYE_ServiceNotRunningProperly": "Anticheat is running incorrectly. Game restart required",
|
||||||
|
"BATTLEYE_UnknownRestartReason": "Anticheat is running incorrectly. Game restart required",
|
||||||
|
"DOWN: ": "DOWN: ",
|
||||||
|
"EXIT": "EXIT",
|
||||||
|
"Escape from Tarkov": "ESCAPE FROM TARKOV",
|
||||||
|
"LEFT: ": "LEFT: ",
|
||||||
|
"NEXT": "NEXT",
|
||||||
|
"Place in queue:": "Place in queue:",
|
||||||
|
"Production completed: {0}": "Production completed: {0}",
|
||||||
|
"Profile data loading...": "Loading profile data...",
|
||||||
|
"REMEMBER ACCOUNT": "REMEMBER ACCOUNT",
|
||||||
|
"RIGHT: ": "RIGHT: ",
|
||||||
|
"SABER_ANTICHEAT_AnticheatConnectionFailed": "Anticheat connection failed",
|
||||||
|
"Servers are currently at full capacity": "Servers are currently at full capacity",
|
||||||
|
"UI/leave_game_confirmation_caption": "Exit",
|
||||||
|
"UI/leave_game_confirmation_text": "Are you sure you want to leave?",
|
||||||
|
"UP: ": "UP: ",
|
||||||
|
"When you leave the raid you don’t get anything and also receive Left the Action exit status.": "If you leave the raid, you lose all your loot and also receive the Left the Action exit status.",
|
||||||
|
"{0} Beta version": "{0} Beta version"
|
||||||
|
}
|
||||||
|
}
|
40
project/assets/database/locales/menu/es-mx.json
Normal file
40
project/assets/database/locales/menu/es-mx.json
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
{
|
||||||
|
"menu": {
|
||||||
|
"EXIT": "SALIR",
|
||||||
|
"DOWN: ": "ABAJO: ",
|
||||||
|
"NEXT": "SIGUIENTE",
|
||||||
|
"Escape from Tarkov": "ESCAPE FROM TARKOV",
|
||||||
|
"AUTHORIZATION": "AUTORIZACIÓN",
|
||||||
|
"Servers are currently at full capacity": "Los servidores están llenos ahora mismo",
|
||||||
|
"REMEMBER ACCOUNT": "RECORDAR CUENTA",
|
||||||
|
"{0} Beta version": "{0} Versión Beta",
|
||||||
|
"RIGHT: ": "DERECHA: ",
|
||||||
|
"Profile data loading...": "Cargando datos del perfil...",
|
||||||
|
"LEFT: ": "IZQUIERDA: ",
|
||||||
|
"UP: ": "ARRIBA: ",
|
||||||
|
"213 - Error connecting to auth server": "La autorización no está disponible en estos momentos, por favor, inténtelo de nuevo más tarde.",
|
||||||
|
"230 - MAX LOGIN COUNT": "Has alcanzado el número máximo de intentos. Prueba de nuevo más tarde",
|
||||||
|
"Place in queue:": "Puesto en la cola:",
|
||||||
|
"206 - Wrong email or password": "Wrong email or password",
|
||||||
|
"240 - Servers temporarily unavailable. Please, try later.": "Servidor en mantenimiento",
|
||||||
|
"BATTLEYE_ServiceNotRunningProperly": "El Anticheat se ejecutó de forma incorrecta. Reinicia el juego",
|
||||||
|
"BATTLEYE_UnknownRestartReason": "El Anticheat se ejecutó de forma incorrecta. Reinicia el juego",
|
||||||
|
"BATTLEYE_ServiceNeedsToBeUpdated": "El Anticheat está desactualizado. Reinicia el juego",
|
||||||
|
"SABER_ANTICHEAT_AnticheatConnectionFailed": "Falló la conexión del Anticheat",
|
||||||
|
"BATTLEYE_ANTICHEAT_QueryTimeout": "Falló la conexión del Anticheat. Por favor, reinicia el juego",
|
||||||
|
"BATTLEYE_ANTICHEAT_CorruptedMemory": "Memoria corrupta. No se pudo validar la integridad de la protección. Reinstala el Anticheat",
|
||||||
|
"BATTLEYE_ANTICHEAT_GameRestartRequired": "Requiere reiniciar el juego",
|
||||||
|
"BATTLEYE_ANTICHEAT_WinAPIFailure": "Falló la petición a una API crítica de Windows",
|
||||||
|
"BATTLEYE_ANTICHEAT_ClientNotResponding": "Falló la conexión del Anticheat",
|
||||||
|
"BATTLEYE_ANTICHEAT_BadServiceVersion": "Versión incorrecta del servicio",
|
||||||
|
"BATTLEYE_ANTICHEAT_DisallowedProgram": "Un programa no permitido está en funcionamiento",
|
||||||
|
"BATTLEYE_ANTICHEAT_FailedToLoadAnticheat": "El Anticheat falló al cargar.",
|
||||||
|
"BATTLEYE_ANTICHEAT_GlobalBan": "El jugador ha sido baneado por BE",
|
||||||
|
"BATTLEYE_ANTICHEAT_CorruptedData": "La integridad de la protección falló la validación. Reinstala el Anticheat",
|
||||||
|
"ASSEMBLE": "ENSAMBLAR",
|
||||||
|
"When you leave the raid you don’t get anything and also receive Left the Action exit status.": "When you leave the raid you don’t get anything and also receive Left the Action exit status.",
|
||||||
|
"Production completed: {0}": "Production completed: {0}",
|
||||||
|
"UI/leave_game_confirmation_caption": "Exit",
|
||||||
|
"UI/leave_game_confirmation_text": "Are you sure you want to leave?"
|
||||||
|
}
|
||||||
|
}
|
40
project/assets/database/locales/menu/es.json
Normal file
40
project/assets/database/locales/menu/es.json
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
{
|
||||||
|
"menu": {
|
||||||
|
"EXIT": "SALIR",
|
||||||
|
"DOWN: ": "ABAJO: ",
|
||||||
|
"NEXT": "SIGUIENTE",
|
||||||
|
"Escape from Tarkov": "ESCAPE FROM TARKOV",
|
||||||
|
"AUTHORIZATION": "AUTORIZACIÓN",
|
||||||
|
"Servers are currently at full capacity": "Los servidores están llenos ahora mismo",
|
||||||
|
"REMEMBER ACCOUNT": "RECORDAR CUENTA",
|
||||||
|
"{0} Beta version": "Versión Beta {0}",
|
||||||
|
"RIGHT: ": "DERECHA: ",
|
||||||
|
"Profile data loading...": "Cargando los datos de tu perfil...",
|
||||||
|
"LEFT: ": "IZQUIERDA: ",
|
||||||
|
"UP: ": "ARRIBA: ",
|
||||||
|
"213 - Error connecting to auth server": "Error 213 - El proceso de autorización no está disponible en estos momentos, por favor, inténtalo de nuevo más tarde.",
|
||||||
|
"230 - MAX LOGIN COUNT": "Error 230 - Has alcanzado el número máximo de intentos. Prueba de nuevo más tarde.",
|
||||||
|
"Place in queue:": "Puesto en la cola:",
|
||||||
|
"206 - Wrong email or password": "Wrong email or password",
|
||||||
|
"240 - Servers temporarily unavailable. Please, try later.": "Error 240 - Mantenimiento del servidor en progreso. Por favor, inténtalo de nuevo más tarde.",
|
||||||
|
"BATTLEYE_ServiceNotRunningProperly": "El sistema antitrampas no está funcionando correctamente. Reinicia el juego.",
|
||||||
|
"BATTLEYE_UnknownRestartReason": "El sistema antitrampas no está funcionando correctamente. Reinicia el juego.",
|
||||||
|
"BATTLEYE_ServiceNeedsToBeUpdated": "El sistema antitrampas no está actualizado. Reinicia el juego.",
|
||||||
|
"SABER_ANTICHEAT_AnticheatConnectionFailed": "Conexión fallida con el sistema antitrampas.",
|
||||||
|
"BATTLEYE_ANTICHEAT_QueryTimeout": "Conexión fallida con el sistema antitrampas. Por favor, reinicia el juego.",
|
||||||
|
"BATTLEYE_ANTICHEAT_CorruptedMemory": "Memoria corrupta. No se ha podido validar la integridad de la protección. Reinstala el sistema antitrampas.",
|
||||||
|
"BATTLEYE_ANTICHEAT_GameRestartRequired": "Se requiere reiniciar el juego.",
|
||||||
|
"BATTLEYE_ANTICHEAT_WinAPIFailure": "Ha fallado la petición a una API crítica de Windows.",
|
||||||
|
"BATTLEYE_ANTICHEAT_ClientNotResponding": "Conexión fallida con el sistema antitrampas.",
|
||||||
|
"BATTLEYE_ANTICHEAT_BadServiceVersion": "Versión incorrecta del servicio.",
|
||||||
|
"BATTLEYE_ANTICHEAT_DisallowedProgram": "Un programa no permitido está en funcionamiento.",
|
||||||
|
"BATTLEYE_ANTICHEAT_FailedToLoadAnticheat": "Carga fallida del sistema antitrampas.",
|
||||||
|
"BATTLEYE_ANTICHEAT_GlobalBan": "El jugador ha sido baneado por BattlEye.",
|
||||||
|
"BATTLEYE_ANTICHEAT_CorruptedData": "La integridad del juego ha fallado al validarse. Reinstala el sistema antitrampas.",
|
||||||
|
"ASSEMBLE": "MONTAR",
|
||||||
|
"When you leave the raid you don’t get anything and also receive Left the Action exit status.": "When you leave the raid you don’t get anything and also receive Left the Action exit status.",
|
||||||
|
"Production completed: {0}": "Production completed: {0}",
|
||||||
|
"UI/leave_game_confirmation_caption": "Exit",
|
||||||
|
"UI/leave_game_confirmation_text": "Are you sure you want to leave?"
|
||||||
|
}
|
||||||
|
}
|
40
project/assets/database/locales/menu/fr.json
Normal file
40
project/assets/database/locales/menu/fr.json
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
{
|
||||||
|
"menu": {
|
||||||
|
"EXIT": "SORTIE",
|
||||||
|
"DOWN: ": "BAS : ",
|
||||||
|
"NEXT": "SUIVANT",
|
||||||
|
"Escape from Tarkov": "ESCAPE FROM TARKOV",
|
||||||
|
"AUTHORIZATION": "AUTORISATION",
|
||||||
|
"Servers are currently at full capacity": "Les serveurs sont actuellement complets",
|
||||||
|
"REMEMBER ACCOUNT": "SE SOUVENIR DE MOI",
|
||||||
|
"{0} Beta version": "{0} Version Beta",
|
||||||
|
"RIGHT: ": "DROITE : ",
|
||||||
|
"Profile data loading...": "Chargement des données du profil...",
|
||||||
|
"LEFT: ": "GAUCHE : ",
|
||||||
|
"UP: ": "HAUT : ",
|
||||||
|
"213 - Error connecting to auth server": "Autorisation non disponible actuellement, veuillez réessayer plus tard.",
|
||||||
|
"230 - MAX LOGIN COUNT": "Vous avez atteint la limite de tentative. Veuillez réessayer plus tard",
|
||||||
|
"Place in queue:": "Position dans la file : ",
|
||||||
|
"206 - Wrong email or password": "Email ou mot de passe invalide",
|
||||||
|
"240 - Servers temporarily unavailable. Please, try later.": "Maintenance des serveurs",
|
||||||
|
"BATTLEYE_ServiceNotRunningProperly": "Anticheat is running incorrectly. Game restart required",
|
||||||
|
"BATTLEYE_UnknownRestartReason": "Anticheat is running incorrectly. Game restart required",
|
||||||
|
"BATTLEYE_ServiceNeedsToBeUpdated": "Anticheat is outdated. Game restart required",
|
||||||
|
"SABER_ANTICHEAT_AnticheatConnectionFailed": "Anticheat connection failed",
|
||||||
|
"BATTLEYE_ANTICHEAT_QueryTimeout": "Anticheat connection failed. Please restart the game",
|
||||||
|
"BATTLEYE_ANTICHEAT_CorruptedMemory": "Corrupted memory. The integrity of the protection failed to validate. Reinstall anticheat",
|
||||||
|
"BATTLEYE_ANTICHEAT_GameRestartRequired": "Game restart required",
|
||||||
|
"BATTLEYE_ANTICHEAT_WinAPIFailure": "A critical Windows API call failed",
|
||||||
|
"BATTLEYE_ANTICHEAT_ClientNotResponding": "Anticheat connection failed",
|
||||||
|
"BATTLEYE_ANTICHEAT_BadServiceVersion": "Bad service version",
|
||||||
|
"BATTLEYE_ANTICHEAT_DisallowedProgram": "Disallowed program running",
|
||||||
|
"BATTLEYE_ANTICHEAT_FailedToLoadAnticheat": "Anticheat loading failed.",
|
||||||
|
"BATTLEYE_ANTICHEAT_GlobalBan": "The player has been banned by BE",
|
||||||
|
"BATTLEYE_ANTICHEAT_CorruptedData": "The integrity of the game failed to validate. Reinstall anticheat",
|
||||||
|
"ASSEMBLE": "ASSEMBLE",
|
||||||
|
"When you leave the raid you don’t get anything and also receive Left the Action exit status.": "When you leave the raid you don’t get anything and also receive Left the Action exit status.",
|
||||||
|
"Production completed: {0}": "Production completed: {0}",
|
||||||
|
"UI/leave_game_confirmation_caption": "Exit",
|
||||||
|
"UI/leave_game_confirmation_text": "Are you sure you want to leave?"
|
||||||
|
}
|
||||||
|
}
|
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