more models and consolidation

This commit is contained in:
Alex
2025-01-05 20:28:54 +00:00
parent 76f9830a7e
commit abf15257cd
325 changed files with 1260996 additions and 191 deletions
@@ -1,16 +1,14 @@
using Types.Annotations;
using Types.Context;
namespace Server.Context;
namespace Types.Context;
[Injectable(InjectionType.Singleton)]
public class ApplicationContext : IApplicationContext
public class ApplicationContext
{
private const short MaxSavedValues = 10;
private Dictionary<ContextVariableType, LinkedList<ContextVariable>> variables = new();
private object variablesLock = new();
private readonly Dictionary<ContextVariableType, LinkedList<ContextVariable>> variables = new();
private readonly object variablesLock = new();
public ContextVariable? GetLatestValue(ContextVariableType type)
{
lock (variablesLock)
-9
View File
@@ -1,9 +0,0 @@
namespace Types.Context;
public interface IApplicationContext
{
ContextVariable? GetLatestValue(ContextVariableType type);
ICollection<ContextVariable> GetValues(ContextVariableType type);
void AddValue(ContextVariableType type, object value);
void ClearValues(ContextVariableType type);
}
-1
View File
@@ -10,6 +10,5 @@
<ItemGroup>
<Folder Include="Helpers\" />
<Folder Include="Servers\Http\" />
</ItemGroup>
</Project>
+1
View File
@@ -4,4 +4,5 @@ public class HttpConfig
{
public int Port { get; set; }
public string Ip { get; set; }
public bool LogRequests { get; set; }
}
+220
View File
@@ -0,0 +1,220 @@
using System.Text.Json.Serialization;
namespace Types.Models.Eft.Common.Tables;
public class BotBase
{
}
public class HideoutImprovement
{
[JsonPropertyName("completed")]
public bool Completed { get; set; }
[JsonPropertyName("improveCompleteTimestamp")]
public long ImproveCompleteTimestamp { get; set; }
}
public class Productive
{
public List<Product> Products { get; set; }
/** Seconds passed of production */
public int? Progress { get; set; }
/** Is craft in some state of being worked on by client (crafting/ready to pick up) */
[JsonPropertyName("inProgress")]
public bool? InProgress { get; set; }
public string StartTimestamp { get; set; }
public int? SkipTime { get; set; }
/** Seconds needed to fully craft */
public int? ProductionTime { get; set; }
public List<Item> GivenItemsInStart { get; set; }
public bool? Interrupted { get; set; }
public string Code { get; set; }
public bool? Decoded { get; set; }
public bool? AvailableForFinish { get; set; }
/** Used in hideout production.json */
public bool? needFuelForAllProductionTime { get; set; }
/** Used when sending data to client */
public bool? NeedFuelForAllProductionTime { get; set; }
[JsonPropertyName("sptIsScavCase")]
public bool? SptIsScavCase { get; set; }
/** Some crafts are always inProgress, but need to be reset, e.g. water collector */
[JsonPropertyName("sptIsComplete")]
public bool? SptIsComplete { get; set; }
/** Is the craft a Continuous, e.g bitcoins/water collector */
[JsonPropertyName("sptIsContinuous")]
public bool? SptIsContinuous { get; set; }
/** Stores a list of tools used in this craft and whether they're FiR, to give back once the craft is done */
[JsonPropertyName("sptRequiredTools")]
public List<Item> SptRequiredTools { get; set; }
// Craft is cultist circle sacrifice
[JsonPropertyName("sptIsCultistCircle")]
public bool? SptIsCultistCircle { get; set; }
}
public class Production : Productive
{
public string RecipeId { get; set; }
public int? SkipTime { get; set; }
public int? ProductionTime { get; set; }
}
public class ScavCase : Productive
{
public string RecipeId { get; set; }
}
public class Product
{
[JsonPropertyName("_id")]
public string Id { get; set; }
[JsonPropertyName("_tpl")]
public string Template { get; set; }
[JsonPropertyName("upd")]
public Upd? Upd { get; set; }
}
public class BotHideoutArea
{
[JsonPropertyName("type")]
public HideoutAreas Type { get; set; }
[JsonPropertyName("level")]
public int Level { get; set; }
[JsonPropertyName("active")]
public bool Active { get; set; }
[JsonPropertyName("passiveBonusesEnabled")]
public bool PassiveBonusesEnabled { get; set; }
/** Must be integer */
[JsonPropertyName("completeTime")]
public int CompleteTime { get; set; }
[JsonPropertyName("constructing")]
public bool Constructing { get; set; }
[JsonPropertyName("slots")]
public List<HideoutSlot> Slots { get; set; }
[JsonPropertyName("lastRecipe")]
public string LastRecipe { get; set; }
}
public class HideoutSlot
{
/// <summary>
/// SPT specific value to keep track of what index this slot is (0,1,2,3 etc)
/// </summary>
[JsonPropertyName("locationIndex")]
public int LocationIndex { get; set; }
[JsonPropertyName("item")]
public List<HideoutItem>? Items { get; set; }
}
public class HideoutItem
{
[JsonPropertyName("_id")]
public string Id { get; set; }
[JsonPropertyName("_tpl")]
public string Template { get; set; }
[JsonPropertyName("upd")]
public Upd? Upd { get; set; }
}
public class LastCompleted
{
[JsonPropertyName("$oid")]
public string Oid { get; set; }
}
public class Notes
{
[JsonPropertyName("notes")]
public List<Note> DataNotes { get; set; }
}
public enum SurvivorClass {
UNKNOWN = 0,
NEUTRALIZER = 1,
MARAUDER = 2,
PARAMEDIC = 3,
SURVIVOR = 4,
}
public class QuestStatus
{
[JsonPropertyName("qid")]
public string QuestId { get; set; }
[JsonPropertyName("startTime")]
public long StartTime { get; set; }
[JsonPropertyName("status")]
public QuestStatus Status { get; set; }
[JsonPropertyName("statusTimers")]
public Dictionary<string, long>? StatusTimers { get; set; }
/** Property does not exist in live profile data, but is used by ProfileChanges.questsStatus when sent to client */
[JsonPropertyName("completedConditions")]
public List<string>? CompletedConditions { get; set; }
[JsonPropertyName("availableAfter")]
public long? AvailableAfter { get; set; }
}
public class TraderInfo
{
[JsonPropertyName("loyaltyLevel")]
public int? LoyaltyLevel { get; set; }
[JsonPropertyName("salesSum")]
public int SalesSum { get; set; }
[JsonPropertyName("standing")]
public int Standing { get; set; }
[JsonPropertyName("nextResupply")]
public int NextResupply { get; set; }
[JsonPropertyName("unlocked")]
public bool Unlocked { get; set; }
[JsonPropertyName("disabled")]
public bool Disabled { get; set; }
}
public class RagfairInfo
{
[JsonPropertyName("rating")]
public double Rating { get; set; }
[JsonPropertyName("isRatingGrowing")]
public bool IsRatingGrowing { get; set; }
[JsonPropertyName("offers")]
public List<RagfairOffer> Offers { get; set; }
}
public class Bonus
{
[JsonPropertyName("id")]
public string? Id { get; set; }
[JsonPropertyName("type")]
public BonusType Type { get; set; }
[JsonPropertyName("templateId")]
public string? TemplateId { get; set; }
[JsonPropertyName("passive")]
public bool? IsPassive { get; set; }
[JsonPropertyName("production")]
public bool? IsProduction { get; set; }
[JsonPropertyName("visible")]
public bool? IsVisible { get; set; }
[JsonPropertyName("value")]
public double? Value { get; set; }
[JsonPropertyName("icon")]
public string? Icon { get; set; }
[JsonPropertyName("filter")]
public List<string>? Filter { get; set; }
[JsonPropertyName("skillType")]
public BonusSkillType? SkillType { get; set; }
}
public class Note {
public double Time { get; set; }
public string Text { get; set; }
}
+6
View File
@@ -0,0 +1,6 @@
namespace Types.Models.Eft.Common.Tables;
public class BotCore
{
}
+6
View File
@@ -0,0 +1,6 @@
namespace Types.Models.Eft.Common.Tables;
public class BotType
{
}
+14
View File
@@ -0,0 +1,14 @@
namespace Types.Models.Logging;
public enum LogBackgroundColor
{
Default,
Black,
Red,
Green,
Yellow,
Blue,
Magenta,
Cyan,
White
}
+14
View File
@@ -0,0 +1,14 @@
namespace Types.Models.Logging;
public enum LogTextColor
{
Black,
Red,
Green,
Yellow,
Blue,
Magenta,
Cyan,
White,
Gray
}
+11
View File
@@ -0,0 +1,11 @@
using System.Text.Json.Serialization;
namespace Types.Models.Spt.Bots;
public class Bots
{
public Dictionary<string, BotType> types { get; }
[JsonPropertyName("base")]
public BotBase Base { get; }
public BotCode core { get; }
}
+15
View File
@@ -0,0 +1,15 @@
namespace Types.Models.Spt.Server;
public class DatabaseTables
{
public Bots? bots { get; }
public Hideout? hideout { get; }
public LocaleBase? locales { get; }
public Locations? locations { get; }
public Match? match { get; }
public Templates? templates { get; }
public Dictionary<string, Trader>? traders { get; }
public Globals? globals { get; }
public ServerBase? server { get; }
public SettingsBase? settings { get; }
}
+12 -1
View File
@@ -1,5 +1,16 @@
namespace Types.Models.Utils;
using Types.Models.Logging;
namespace Types.Models.Utils;
public interface ILogger
{
void WriteToLogFile(string data);
void Log(string data, string color, string? backgroundColor = null);
void LogWithColor(string data, LogTextColor textColor, LogBackgroundColor? backgroundColor = null);
void Error(string data);
void Warning(string data);
void Success(string data);
void Info(string data);
void Debug(string data, bool? onlyShowInConsole = null);
}
+8
View File
@@ -0,0 +1,8 @@
using Types.Annotations;
namespace Types.Servers;
[Injectable(InjectionType.Singleton)]
public class ConfigServer
{
}
+6
View File
@@ -0,0 +1,6 @@
namespace Types.Servers;
public class DatabaseServer
{
}
+7
View File
@@ -0,0 +1,7 @@
namespace Types.Servers.Http;
public interface IHttpListener
{
bool CanHandle(string sessionId, object req);
Task handle(string sessionId, object req, object resp);
}
+166
View File
@@ -0,0 +1,166 @@
using System.Net.WebSockets;
using Microsoft.Extensions.Primitives;
using Types.Annotations;
using Types.Context;
using Types.Models.Config;
using Types.Servers.Http;
using Types.Services;
using ILogger = Types.Models.Utils.ILogger;
namespace Types.Servers;
[Injectable(InjectionType.Singleton)]
public class HttpServer
{
protected HttpConfig httpConfig;
protected bool started;
private readonly ILogger _logger;
private readonly LocalisationService _localisationService;
private readonly ConfigServer _configServer;
private readonly ApplicationContext _applicationContext;
private readonly WebSocketServer _webSocketServer;
private readonly IEnumerable<IHttpListener> _httpListeners;
public HttpServer(
ILogger logger,
LocalisationService localisationService,
ConfigServer configServer,
ApplicationContext applicationContext,
WebSocketServer webSocketServer,
IEnumerable<IHttpListener> httpListeners
)
{
_logger = logger;
_localisationService = localisationService;
_configServer = configServer;
_applicationContext = applicationContext;
_webSocketServer = webSocketServer;
_httpListeners = httpListeners;
// TODO: hook up the config server to put the HttpConfig here
httpConfig = new HttpConfig() { Ip = "127.0.0.1", Port = 80, LogRequests = true};
}
public void Load(WebApplicationBuilder builder)
{
builder.WebHost.UseKestrel();
//builder.Services.AddControllers();
// At the end
var app = builder.Build();
// enable web socket
app.UseWebSockets();
app.UseRouting();
app.UseEndpoints(endpointBuilder => { endpointBuilder.MapFallback(HandleFallback); });
started = true;
app.Run($"http://{httpConfig.Ip}:{httpConfig.Port}");
}
private Task HandleFallback(HttpContext context)
{
if (context.WebSockets.IsWebSocketRequest)
{
return context.WebSockets.AcceptWebSocketAsync()
.ContinueWith(task => Converse(task.Result));
}
else
{
context.Request.Cookies.TryGetValue("PHPSESSID", out var sessionId);
_applicationContext.AddValue(ContextVariableType.SESSION_ID, sessionId);
// Extract headers for original IP detection
StringValues? realIp = null;
if (context.Request.Headers.ContainsKey("x-real-ip"))
realIp = context.Request.Headers["x-real-ip"];
StringValues? forwardedFor = null;
if (context.Request.Headers.ContainsKey("x-forwarded-for"))
forwardedFor = context.Request.Headers["x-forwarded-for"];
var clientIp = realIp.HasValue
? realIp.Value.First()
: forwardedFor.HasValue
? forwardedFor.Value.First()!.Split(",")[0].Trim()
: context.Connection.RemoteIpAddress!.ToString();
if (httpConfig.LogRequests)
{
var isLocalRequest = IsLocalRequest(clientIp);
if (isLocalRequest.HasValue) {
if (isLocalRequest.Value) {
_logger.Info(_localisationService.GetText("client_request", req.url));
} else {
_logger.Info(
_localisationService.GetText("client_request_ip", {
ip: clientIp,
url: req.url.replaceAll("/", "\\"), // Localisation service escapes `/` into hex code `&#x2f;`
}),
);
}
}
}
//_httpListeners.Single()
// This http request would be passed through the SPT Router and handled by an ICallback
}
return Task.CompletedTask;
}
private bool? IsLocalRequest(string? remoteAddress)
{
if (remoteAddress == null) {
return null;
}
return (
remoteAddress.StartsWith("127.0.0") ||
remoteAddress.StartsWith("192.168.") ||
remoteAddress.StartsWith("localhost")
);
}
protected Dictionary<string, string> GetCookies(HttpRequest req)
{
var found = new Dictionary<string, string>();
foreach (var keyValuePair in req.Cookies)
{
found.Add(keyValuePair.Key, keyValuePair.Value);
}
return found;
}
private void Converse(WebSocket connection)
{
var buffer = new byte[1024 * 4];
var receive = connection.ReceiveAsync(
new ArraySegment<byte>(buffer), CancellationToken.None);
receive.Wait();
var receiveResult = receive.Result;
while (!receiveResult.CloseStatus.HasValue)
{
connection.SendAsync(
new ArraySegment<byte>(buffer, 0, receiveResult.Count),
receiveResult.MessageType,
receiveResult.EndOfMessage,
CancellationToken.None);
receive = connection.ReceiveAsync(
new ArraySegment<byte>(buffer), CancellationToken.None);
receive.Wait();
receiveResult = receive.Result;
}
connection.CloseAsync(
receiveResult.CloseStatus.Value,
receiveResult.CloseStatusDescription,
CancellationToken.None);
}
public bool IsStarted() => started;
}
-5
View File
@@ -1,5 +0,0 @@
namespace Types.Servers;
public interface IConfigServer
{
}
-7
View File
@@ -1,7 +0,0 @@
namespace Types.Servers;
public interface IHttpServer
{
public void Load(WebApplicationBuilder builder);
public bool IsStarted();
}
-5
View File
@@ -1,5 +0,0 @@
namespace Types.Servers;
public interface IWebSocketServer
{
}
+8
View File
@@ -0,0 +1,8 @@
using Types.Annotations;
namespace Types.Servers;
[Injectable(InjectionType.Singleton)]
public class WebSocketServer
{
}
+6
View File
@@ -0,0 +1,6 @@
namespace Types.Services;
public class I18nService
{
}
-5
View File
@@ -1,5 +0,0 @@
namespace Types.Services;
public interface ILocalisationService
{
}
+178
View File
@@ -0,0 +1,178 @@
using Types.Annotations;
using Types.Servers;
using ILogger = Types.Models.Utils.ILogger;
namespace Types.Services;
[Injectable(InjectionType.Singleton)]
public class LocaleService
{
private readonly ILogger _logger;
private readonly DatabaseServer _databaseServer;
private readonly ConfigServer _configServer;
public LocaleService(ILogger logger, DatabaseServer databaseServer, ConfigServer configServer)
{
_logger = logger;
_databaseServer = databaseServer;
_configServer = configServer;
}
/**
* Get the eft globals db file based on the configured locale in config/locale.json, if not found, fall back to 'en'
* @returns dictionary
*/
public Dictionary<string, string> GetLocaleDb()
{
/*
const desiredLocale = this.databaseServer.getTables().locales.global[this.getDesiredGameLocale()];
if (desiredLocale) {
return desiredLocale;
}
this.logger.warning(
`Unable to find desired locale file using locale: ${this.getDesiredGameLocale()} from config/locale.json, falling back to 'en'`,
);
return this.databaseServer.getTables().locales.global.en;
*/
}
/**
* Gets the game locale key from the locale.json file,
* if value is 'system' get system locale
* @returns locale e.g en/ge/cz/cn
*/
public string GetDesiredGameLocale()
{
/*
if (this.localeConfig.gameLocale.toLowerCase() === "system") {
return this.getPlatformForClientLocale();
}
return this.localeConfig.gameLocale.toLowerCase();
*/
}
/**
* Gets the game locale key from the locale.json file,
* if value is 'system' get system locale
* @returns locale e.g en/ge/cz/cn
*/
public string GetDesiredServerLocale()
{
/*
if (this.localeConfig.serverLocale.toLowerCase() === "system") {
return this.getPlatformForServerLocale();
}
return this.localeConfig.serverLocale.toLowerCase();
*/
}
/**
* Get array of languages supported for localisation
* @returns array of locales e.g. en/fr/cn
*/
public ICollection<string> GetServerSupportedLocales()
{
// return this.localeConfig.serverSupportedLocales;
}
/**
* Get array of languages supported for localisation
* @returns array of locales e.g. en/fr/cn
*/
public Dictionary<string, string> GetLocaleFallbacks()
{
// return this.localeConfig.fallbacks;
}
/**
* Get the full locale of the computer running the server lowercased e.g. en-gb / pt-pt
* @returns string
*/
public string GetPlatformForServerLocale()
{
/*
const platformLocale = this.getPlatformLocale();
if (!platformLocale) {
this.logger.warning("System language could not be found, falling back to english");
return "en";
}
const baseNameCode = platformLocale.baseName.toLowerCase();
if (!this.localeConfig.serverSupportedLocales.includes(baseNameCode)) {
// Chek if base language (e.g. CN / EN / DE) exists
const languageCode = platformLocale.language.toLocaleLowerCase();
if (this.localeConfig.serverSupportedLocales.includes(languageCode)) {
if (baseNameCode === "zh") {
// Handle edge case of zh
return "zh-cn";
}
return languageCode;
}
if (baseNameCode === "pt") {
// Handle edge case of pt
return "pt-pt";
}
this.logger.warning(`Unsupported system language found: ${baseNameCode}, falling back to english`);
return "en";
}
return baseNameCode;
*/
}
/**
* Get the locale of the computer running the server
* @returns langage part of locale e.g. 'en' part of 'en-US'
*/
protected string GetPlatformForClientLocale()
{
/*
const platformLocale = this.getPlatformLocale();
if (!platformLocale) {
this.logger.warning("System language could not be found, falling back to english");
return "en";
}
const locales = this.databaseServer.getTables().locales;
const baseNameCode = platformLocale.baseName?.toLocaleLowerCase();
if (baseNameCode && locales.global[baseNameCode]) {
return baseNameCode;
}
const languageCode = platformLocale.language?.toLowerCase();
if (languageCode && locales.global[languageCode]) {
return languageCode;
}
const regionCode = platformLocale.region?.toLocaleLowerCase();
if (regionCode && locales.global[regionCode]) {
return regionCode;
}
// BSG map DE to GE some reason
if (platformLocale.language === "de") {
return "ge";
}
this.logger.warning(`Unsupported system language found: ${languageCode}, falling back to english`);
return "en";
*/
}
/**
* This is in a function so we can overwrite it during testing
* @returns The current platform locale
protected getPlatformLocale(): Intl.Locale {
return new Intl.Locale(Intl.DateTimeFormat().resolvedOptions().locale);
}
*/
}
+47
View File
@@ -0,0 +1,47 @@
using Types.Annotations;
using Types.Servers;
using Types.Utils;
using ILogger = Types.Models.Utils.ILogger;
namespace Types.Services;
[Injectable(InjectionType.Singleton)]
public class LocalisationService
{
private readonly ILogger _logger;
private readonly RandomUtil _randomUtil;
private readonly DatabaseServer _databaseServer;
private readonly LocaleService _localeService;
private readonly I18nService _i18nService;
public LocalisationService(
ILogger logger,
RandomUtil randomUtil,
DatabaseServer databaseServer,
LocaleService localeService
)
{
_logger = logger;
_randomUtil = randomUtil;
_databaseServer = databaseServer;
_localeService = localeService;
_i18nService = new I18nService();
File.ReadAllText()
}
public string GetText(string key, object? args = null)
{
throw new NotImplementedException();
}
public ICollection<string> GetKeys()
{
throw new NotImplementedException();
}
public string GetRandomTextThatMatchesPartialKey(string partialKey)
{
throw new NotImplementedException();
}
}
+50
View File
@@ -0,0 +1,50 @@
using Types.Annotations;
using Types.Models.Logging;
using ILogger = Types.Models.Utils.ILogger;
namespace Types.Utils.Logging;
[Injectable(InjectionType.Singleton)]
public class SimpleTextLogger : ILogger
{
// TODO: for now we simplify the logger into this barebones console writer
public void WriteToLogFile(string data)
{
Console.WriteLine(data);
}
public void Log(string data, string color, string? backgroundColor = null)
{
Console.WriteLine(data);
}
public void LogWithColor(string data, LogTextColor textColor, LogBackgroundColor? backgroundColor = null)
{
Console.WriteLine(data);
}
public void Error(string data)
{
Console.WriteLine(data);
}
public void Warning(string data)
{
Console.WriteLine(data);
}
public void Success(string data)
{
Console.WriteLine(data);
}
public void Info(string data)
{
Console.WriteLine(data);
}
public void Debug(string data, bool? onlyShowInConsole = null)
{
Console.WriteLine(data);
}
}
+6
View File
@@ -0,0 +1,6 @@
namespace Types.Utils;
public class RandomUtil
{
}
+382
View File
@@ -0,0 +1,382 @@
{
"airdropTypeWeightings": {
"mixed": 5,
"weaponArmor": 4,
"foodMedical": 1,
"barter": 1,
"radar": 0
},
"loot": {
"mixed": {
"icon": "Common",
"weaponPresetCount": {
"min": 3,
"max": 5
},
"armorPresetCount": {
"min": 1,
"max": 5
},
"itemCount": {
"min": 15,
"max": 35
},
"weaponCrateCount": {
"min": 1,
"max": 2
},
"itemBlacklist": [],
"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
},
"5d235b4d86f7742e017bc88a": {
"min": 10,
"max": 50
}
},
"armorLevelWhitelist": [0, 4, 5, 6],
"allowBossItems": false
},
"weaponArmor": {
"icon": "Weapon",
"weaponPresetCount": {
"min": 6,
"max": 8
},
"armorPresetCount": {
"min": 3,
"max": 6
},
"itemCount": {
"min": 11,
"max": 22
},
"weaponCrateCount": {
"min": 0,
"max": 2
},
"itemBlacklist": [],
"itemTypeWhitelist": [
"5485a8684bdc2da71d8b4567",
"5448e8d64bdc2dce718b4568",
"5448e8d04bdc2ddf718b4569",
"5447e1d04bdc2dff2f8b4567",
"5448e54d4bdc2dcc718b4568",
"5448e5284bdc2dcb718b4567",
"5448e53e4bdc2d60728b4567",
"55818ad54bdc2ddc698b4569",
"55818af64bdc2d5b648b4570",
"55818b0e4bdc2dde698b456e",
"5448bc234bdc2d3c308b4569",
"5645bcb74bdc2ded0b8b4578",
"5448e5724bdc2ddf718b4568",
"55818add4bdc2d5b648b456f",
"543be6564bdc2df4348b4568",
"550aa4cd4bdc2dd8348b456c",
"55818b164bdc2ddc698b456c",
"55818ae44bdc2dde698b456c"
],
"itemLimits": {
"5448e8d04bdc2ddf718b4569": 3,
"5448e8d64bdc2dce718b4568": 3,
"5448bc234bdc2d3c308b4569": 3,
"5448e54d4bdc2dcc718b4568": 3,
"5485a8684bdc2da71d8b4567": 4,
"5645bcb74bdc2ded0b8b4578": 2,
"5448e5724bdc2ddf718b4568": 2,
"55818add4bdc2d5b648b456f": 2,
"543be6564bdc2df4348b4568": 3,
"550aa4cd4bdc2dd8348b456c": 2,
"5447e1d04bdc2dff2f8b4567": 3,
"55818ad54bdc2ddc698b4569": 3,
"55818b164bdc2ddc698b456c": 2,
"55818ae44bdc2dde698b456c": 2,
"5448e5284bdc2dcb718b4567": 2
},
"itemStackLimits": {
"5fc382a9d724d907e2077dab": {
"min": 5,
"max": 5
},
"59e690b686f7746c9f75e848": {
"min": 10,
"max": 25
},
"5d235b4d86f7742e017bc88a": {
"min": 10,
"max": 50
}
},
"armorLevelWhitelist": [0, 3, 4, 5, 6],
"allowBossItems": false
},
"foodMedical": {
"icon": "Medical",
"weaponPresetCount": {
"min": 0,
"max": 0
},
"armorPresetCount": {
"min": 0,
"max": 0
},
"itemCount": {
"min": 25,
"max": 45
},
"weaponCrateCount": {
"min": 0,
"max": 0
},
"itemBlacklist": [],
"itemTypeWhitelist": [
"543be5dd4bdc2deb348b4569",
"5448e8d64bdc2dce718b4568",
"5448e8d04bdc2ddf718b4569",
"5448f3a64bdc2d60728b456a",
"5448f3ac4bdc2dce718b4569",
"5448f39d4bdc2d0a728b4568",
"5448f3a14bdc2d27728b4569"
],
"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
},
"5d235b4d86f7742e017bc88a": {
"min": 10,
"max": 50
}
},
"armorLevelWhitelist": [0],
"allowBossItems": false
},
"barter": {
"icon": "Supply",
"weaponPresetCount": {
"min": 0,
"max": 0
},
"armorPresetCount": {
"min": 0,
"max": 0
},
"itemCount": {
"min": 20,
"max": 35
},
"weaponCrateCount": {
"min": 0,
"max": 0
},
"itemBlacklist": [],
"itemTypeWhitelist": [
"5d650c3e815116009f6201d2",
"57864ee62459775490116fc1",
"57864ada245977548638de91",
"57864bb7245977548b3b66c2",
"57864e4c24597754843f8723",
"57864c322459775490116fbf",
"57864a66245977548f04a81f"
],
"itemLimits": {
"5447b5cf4bdc2d65278b4567": 1,
"57864ee62459775490116fc1": 2,
"5448e8d04bdc2ddf718b4569": 3,
"5448e8d64bdc2dce718b4568": 3,
"5448bc234bdc2d3c308b4569": 3,
"5448f3a64bdc2d60728b456a": 3,
"5448e54d4bdc2dcc718b4568": 3,
"5485a8684bdc2da71d8b4567": 4,
"57864bb7245977548b3b66c2": 5,
"57864ada245977548638de91": 5,
"5d650c3e815116009f6201d2": 5,
"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
},
"5d235b4d86f7742e017bc88a": {
"min": 10,
"max": 50
}
},
"armorLevelWhitelist": [0],
"allowBossItems": false
},
"radar": {
"icon": "Supply",
"weaponPresetCount": {
"min": 0,
"max": 0
},
"armorPresetCount": {
"min": 0,
"max": 0
},
"itemCount": {
"min": 0,
"max": 0
},
"weaponCrateCount": {
"min": 0,
"max": 0
},
"itemBlacklist": [],
"itemTypeWhitelist": [],
"itemLimits": {},
"itemStackLimits": {},
"armorLevelWhitelist": [],
"allowBossItems": false,
"useForcedLoot": true,
"forcedLoot": {
"66d9f7256916142b3b02276e": { "min": 2, "max": 4 }
}
}
},
"customAirdropMapping": {
"66da1b49099cf6adcc07a36b": "radar",
"66da1b546916142b3b022777": "radar"
}
}
+9
View File
@@ -0,0 +1,9 @@
{
"enabled": true,
"maxBackups": 15,
"directory": "./user/profiles/backups",
"backupInterval": {
"enabled": false,
"intervalMinutes": 120
}
}
File diff suppressed because it is too large Load Diff
+202
View File
@@ -0,0 +1,202 @@
{
"sptVersion": "3.10.5",
"projectName": "SPT",
"compatibleTarkovVersion": "0.15.5.33420",
"serverName": "SPT Server",
"profileSaveIntervalSeconds": 15,
"sptFriendNickname": "SPT",
"allowProfileWipe": true,
"bsgLogging": {
"verbosity": 6,
"sendToServer": false
},
"release": {
"betaDisclaimerTimeoutDelay": 30
},
"fixes": {
"fixShotgunDispersion": true,
"removeModItemsFromProfile": false,
"removeInvalidTradersFromProfile": false,
"fixProfileBreakingInventoryItemIssues": false
},
"survey": {
"locale": {
"en": {
"question_1": "How off-topic is general chat on the SPT discord?",
"question_1_answer_1": "Not at all",
"question_1_answer_2": "A little",
"question_1_answer_3": "Sometimes",
"question_1_answer_4": "Somewhat often",
"question_1_answer_5": "Quite often",
"question_1_answer_6": "Most of the time",
"question_1_answer_7": "Almost always",
"question_1_answer_8": "Always",
"question_1_answer_9": "NOT OFF TOPIC ENOUGH",
"question_1_answer_10": "I LIVE TO MAKE GENERAL CHAT OFF TOPIC",
"question_1_answer_11": "I am posting gifs to general chat as we speak",
"question_2": "When you download a mod from the hub do you read the readme/mod description?",
"question_2_answer_1": "What's a description",
"question_2_answer_2": "I can't read",
"question_2_answer_3": "I am illiterate",
"question_2_answer_4": "I am too busy making general chat off-topic to read",
"question_2_answer_5": "YOU WILL NEVER MAKE ME READ TEXT I WILL ASK IN GENERAL CHAT INSTEAD",
"title": "Feedback survey",
"time": "About 1 minute",
"description": "This is the first SPT survey! Your survey doesn't get sent anywhere, its just for modders to see how it works and maybe make use of.",
"farewell": "I told you at the start the survey doesn't get sent anywhere and yet you still completed it, curious."
}
},
"survey": {
"id": 1,
"welcomePageData": {
"titleLocaleKey": "title",
"timeLocaleKey": "time",
"descriptionLocaleKey": "description"
},
"farewellPageData": {
"textLocaleKey": "farewell"
},
"pages": [[0, 1]],
"questions": [
{
"id": 0,
"sortIndex": 1,
"titleLocaleKey": "question_1",
"hintLocaleKey": "",
"answerLimit": 10,
"answerType": "MultiOption",
"answers": [
{
"id": 0,
"questionId": 0,
"sortIndex": 1,
"localeKey": "question_1_answer_1"
},
{
"id": 1,
"questionId": 0,
"sortIndex": 1,
"localeKey": "question_1_answer_2"
},
{
"id": 2,
"questionId": 0,
"sortIndex": 1,
"localeKey": "question_1_answer_3"
},
{
"id": 3,
"questionId": 0,
"sortIndex": 1,
"localeKey": "question_1_answer_4"
},
{
"id": 4,
"questionId": 0,
"sortIndex": 1,
"localeKey": "question_1_answer_5"
},
{
"id": 5,
"questionId": 0,
"sortIndex": 1,
"localeKey": "question_1_answer_6"
},
{
"id": 6,
"questionId": 0,
"sortIndex": 1,
"localeKey": "question_1_answer_7"
},
{
"id": 7,
"questionId": 0,
"sortIndex": 1,
"localeKey": "question_1_answer_8"
},
{
"id": 8,
"questionId": 0,
"sortIndex": 1,
"localeKey": "question_1_answer_9"
},
{
"id": 9,
"questionId": 0,
"sortIndex": 1,
"localeKey": "question_1_answer_10"
},
{
"id": 10,
"questionId": 0,
"sortIndex": 1,
"localeKey": "question_1_answer_11"
}
]
},
{
"id": 1,
"sortIndex": 1,
"titleLocaleKey": "question_2",
"hintLocaleKey": "",
"answerLimit": 5,
"answerType": "SingleOption",
"answers": [
{
"id": 0,
"questionId": 1,
"sortIndex": 1,
"localeKey": "question_2_answer_1"
},
{
"id": 1,
"questionId": 1,
"sortIndex": 1,
"localeKey": "question_2_answer_2"
},
{
"id": 2,
"questionId": 1,
"sortIndex": 1,
"localeKey": "question_2_answer_3"
},
{
"id": 3,
"questionId": 1,
"sortIndex": 1,
"localeKey": "question_2_answer_4"
},
{
"id": 4,
"questionId": 1,
"sortIndex": 1,
"localeKey": "question_2_answer_5"
}
]
}
],
"isNew": false
}
},
"features": {
"autoInstallModDependencies": false,
"compressProfile": false,
"chatbotFeatures": {
"sptFriendEnabled": true,
"sptFriendGiftsEnabled": true,
"commandoEnabled": true,
"commandoFeatures": {
"giveCommandEnabled": true
},
"commandUseLimits": {
"StashRows": 15
},
"ids": {
"commando": "6723fd51c5924c57ce0ca01e",
"spt": "6723fd51c5924c57ce0ca01f"
}
},
"createNewProfileTypesBlacklist": []
},
"customWatermarkLocaleKeys": []
}
File diff suppressed because it is too large Load Diff
+10
View File
@@ -0,0 +1,10 @@
{
"healthMultipliers": {
"death": 0.3,
"blacked": 0.1
},
"save": {
"health": true,
"effects": true
}
}
+187
View File
@@ -0,0 +1,187 @@
{
"runIntervalSeconds": 10,
"hoursForSkillCrafting": 28800,
"runIntervalValues": {
"inRaid": 60,
"outOfRaid": 10
},
"expCraftAmount": 10,
"overrideCraftTimeSeconds": -1,
"overrideBuildTimeSeconds": -1,
"updateProfileHideoutWhenActiveWithinMinutes": 90,
"cultistCircle": {
"maxRewardItemCount": 5,
"maxAttemptsToPickRewardsWithinBudget": 5,
"rewardPriceMultiplerMinMax": {
"min": 0.7,
"max": 1.4
},
"bonusChanceMultiplier": 0.25,
"bonusAmountMultiplier": 0.43,
"highValueThresholdRub": 70000,
"hideoutTaskRewardTimeSeconds": 21600,
"hideoutCraftSacrificeThresholdRub": 400000,
"craftTimeThreshholds": [
{
"min": 1,
"max": 350000,
"craftTimeSeconds": 43200
},
{
"min": 350001,
"max": 399999,
"craftTimeSeconds": 50400
},
{
"min": 400000,
"max": 99999999,
"craftTimeSeconds": 50400
}
],
"craftTimeOverride": -1,
"directRewards": [
{
"reward": ["5857a8bc2459772bad15db29"],
"requiredItems": ["665ee77ccf2d642e98220bca"],
"craftTimeSeconds": 360,
"repeatable": false
},
{
"reward": ["5c093ca986f7740a1867ab12"],
"requiredItems": ["5732ee6a24597719ae0c0281"],
"craftTimeSeconds": 3960,
"repeatable": false
},
{
"reward": ["655c669103999d3c810c025b"],
"requiredItems": ["635267ab3c89e2112001f826"],
"craftTimeSeconds": 3960,
"repeatable": false
},
{
"reward": ["5fc64ea372b0dd78d51159dc"],
"requiredItems": [
"635267ab3c89e2112001f826",
"635267ab3c89e2112001f826",
"635267ab3c89e2112001f826",
"635267ab3c89e2112001f826",
"635267ab3c89e2112001f826"
],
"craftTimeSeconds": 3960,
"repeatable": false
},
{
"reward": ["5c0e874186f7745dc7616606"],
"requiredItems": ["66572c82ad599021091c6118"],
"craftTimeSeconds": 3960,
"repeatable": false
},
{
"reward": ["60a7ad3a0c5cb24b0134664a", "60a7ad2a2198820d95707a2e"],
"requiredItems": ["66572cbdad599021091c611a"],
"craftTimeSeconds": 3960,
"repeatable": false
},
{
"reward": ["5b3b713c5acfc4330140bd8d"],
"requiredItems": ["66572be36a723f7f005a066e"],
"craftTimeSeconds": 3960,
"repeatable": false
},
{
"reward": ["62a09dd4621468534a797ac7", "5bc9b9ecd4351e3bac122519"],
"requiredItems": ["66572b8d80b1cd4b6a67847f"],
"craftTimeSeconds": 3960,
"repeatable": false
},
{
"reward": ["5d40407c86f774318526545a", "5d40407c86f774318526545a", "5d40407c86f774318526545a"],
"requiredItems": ["655c66e40b2de553b618d4b8"],
"craftTimeSeconds": 3960,
"repeatable": false
},
{
"reward": ["572b7adb24597762ae139821", "56e335e4d2720b6c058b456d"],
"requiredItems": ["655c673673a43e23e857aebd"],
"craftTimeSeconds": 3960,
"repeatable": false
},
{
"reward": ["637b60c3b7afa97bfc3d7001", "59e3577886f774176a362503"],
"requiredItems": ["655c67782a1356436041c9c5"],
"craftTimeSeconds": 3960,
"repeatable": false
},
{
"reward": ["590c657e86f77412b013051d"],
"requiredItems": ["655c652d60d0ac437100fed7"],
"craftTimeSeconds": 3960,
"repeatable": false
},
{
"reward": ["5c0e655586f774045612eeb2"],
"requiredItems": ["655c663a6689c676ce57af85"],
"craftTimeSeconds": 3960,
"repeatable": false
},
{
"reward": ["5d1b376e86f774252519444e"],
"requiredItems": ["6582dbf0b8d7830efc45016f"],
"craftTimeSeconds": 3960,
"repeatable": true
},
{
"reward": ["62a091170b9d3c46de5b6cf2"],
"requiredItems": ["5aa2b986e5b5b00014028f4c"],
"craftTimeSeconds": 3960,
"repeatable": true
},
{
"reward": ["62a0a098de7ac8199358053b"],
"requiredItems": ["5c13cd2486f774072c757944"],
"craftTimeSeconds": 3960,
"repeatable": true
},
{
"reward": ["5d1b392c86f77425243e98fe", "5d1b392c86f77425243e98fe"],
"requiredItems": ["5a0c27731526d80618476ac4"],
"craftTimeSeconds": 3960,
"repeatable": true
},
{
"reward": [
"5e2aedd986f7746d404f3aa4",
"5e2aedd986f7746d404f3aa4",
"5c12620d86f7743f8b198b72",
"5c12620d86f7743f8b198b72"
],
"requiredItems": ["59faff1d86f7746c51718c9c"],
"craftTimeSeconds": 39960,
"repeatable": true
},
{
"reward": ["6389c8c5dbfd5e4b95197e6b"],
"requiredItems": ["5c0530ee86f774697952d952"],
"craftTimeSeconds": 39960,
"repeatable": true
}
],
"directRewardStackSize": {
"exampleParentId": { "min": 1000, "max": 50000 }
},
"rewardItemBlacklist": [
"5696686a4bdc2da3298b456a",
"5449016a4bdc2d6f028b456f",
"569668774bdc2da2298b4568",
"5485a8684bdc2da71d8b4567",
"543be5dd4bdc2deb348b4569"
],
"additionalRewardItemPool": [],
"currencyRewards": {
"5449016a4bdc2d6f028b456f": { "min": 20, "max": 50 },
"569668774bdc2da2298b4568": { "min": 20, "max": 50 },
"5696686a4bdc2da3298b456a": { "min": 20, "max": 50 },
"5d235b4d86f7742e017bc88a": { "min": 20, "max": 40 }
}
}
}
+9
View File
@@ -0,0 +1,9 @@
{
"ip": "127.0.0.1",
"port": 6969,
"backendIp": "127.0.0.1",
"backendPort": 6969,
"webSocketPingDelayMs": 90000,
"logRequests": true,
"serverImagePathOverride": {}
}
+32
View File
@@ -0,0 +1,32 @@
{
"raidMenuSettings": {
"aiAmount": "AsOnline",
"aiDifficulty": "AsOnline",
"bossEnabled": true,
"scavWars": false,
"taggedAndCursed": false,
"enablePve": true,
"randomWeather": false,
"randomTime": false
},
"save": {
"loot": true
},
"carExtracts": ["Dorms V-Ex", "PP Exfil", "V-Ex_light", "South V-Ex", "E7_car", "Sandbox_VExit", "Shorl_V-Ex"],
"coopExtracts": [
"Interchange Cooperation",
"tunnel_shared",
"EXFIL_ScavCooperation",
"Factory Gate",
"Exit_E10_coop",
"Smugglers_Trail_coop",
"Scav_coop_exit"
],
"carExtractBaseStandingGain": 0.2,
"coopExtractBaseStandingGain": 0.25,
"scavExtractStandingGain": 0.01,
"pmcKillProbabilityForScavGain": 0.2,
"keepFiRSecureContainerOnDeath": false,
"alwaysKeepFoundInRaidonRaidEnd": false,
"playerScavHostileChancePercent": 15
}
+14
View File
@@ -0,0 +1,14 @@
{
"returnChancePercent": {
"54cb50c76803fa8b248b4571": 85,
"54cb57776803fa99248b456e": 95
},
"blacklistedEquipment": ["SpecialSlot1", "SpecialSlot2", "SpecialSlot3"],
"slotIdsToAlwaysRemove": ["cartridges", "patron_in_weapon"],
"returnTimeOverrideSeconds": 0,
"storageTimeOverrideSeconds": 0,
"runIntervalSeconds": 600,
"minAttachmentRoublePriceToBeTaken": 15000,
"chanceNoAttachmentsTakenPercent": 10,
"simulateItemsBeingTaken": true
}
File diff suppressed because it is too large Load Diff
+167
View File
@@ -0,0 +1,167 @@
{
"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",
"5efdafc1e70b5e33f86de058",
"63dbd45917fff4dee40fe16e",
"648c1a965043c4052a4f8505",
"5ae089fb5acfc408fb13989b",
"6241c2c2117ad530666a5108",
"5580239d4bdc2de7118b4583",
"66da1b49099cf6adcc07a36b",
"66da1b546916142b3b022777",
"670ad7f1ad195290cd00da7a",
"66ec2aa6daf127599c0c31f1"
],
"rewardItemTypeBlacklist": ["65649eb40bf0ed77b8044453"],
"lootableItemBlacklist": ["660bbc47c38b837877075e47", "660bc341c38b837877075e4c"],
"rewardItemBlacklist": [
"58ac60eb86f77401897560ff",
"5e997f0b86f7741ac73993e2",
"5b44abe986f774283e2e3512",
"5e99711486f7744bfc4af328",
"5e99735686f7744bfc4af32c",
"6087e570b998180e9f76dc24",
"5d52d479a4b936793d58c76b",
"5e85aac65505fa48730d8af2",
"63495c500c297e20065a08b1",
"5cde8864d7f00c0010373be1",
"5b3b713c5acfc4330140bd8d",
"60c080eb991ac167ad1c3ad4",
"6389c7f115805221fb410466",
"64d0b40fbe2eed70e254e2d4",
"6389c88b33a719183c7f63b6",
"57cd379a24597778e7682ecf",
"5fc64ea372b0dd78d51159dc",
"5c0e842486f77443a74d2976",
"5c0e874186f7745dc7616606",
"5c0e541586f7747fa54205c9",
"63626d904aa74b8fe30ab426",
"6275303a9f372d6ea97f9ec7",
"628bc7fb408e2b2e9c0801b1",
"5ede4739e0350d05467f73e8",
"5ede47405b097655935d7d16",
"5ede474b0c226a66f5402622",
"5ede475339ee016e8c534742",
"5ede475b549eed7c6d5c18fb",
"62e910aaf957f2915e0a5e36",
"619bc61e86e01e16f839a999",
"619bddc6c9546643a67df6ee",
"6241c316234b593b5676b637",
"5d70e500a4b9364de70d38ce",
"619bde3dc9546643a67df6f2",
"619bdeb986e01e16f839a99e",
"619bddffc9546643a67df6f0",
"619bdf9cc9546643a67df6f8",
"63a0b2eabea67a6d93009e52",
"5d2f2ab648f03550091993ca",
"614451b71e5874611e2c7ae5",
"59f32bb586f774757e1e8442",
"6662e9aca7e0b43baa3d5f74",
"6662e9cda7e0b43baa3d5f76",
"59f32c3b86f77472a31742f0",
"6662e9f37fa79a6d83730fa0",
"6662ea05f6259762c56f3189",
"6638a5474e92f038531e210e",
"65ddcc9cfa85b9f17d0dfb07",
"6331ba83f2ab4f3f09502983",
"6331bb0d1aa9f42b804997a6",
"66d9f7e7099cf6adcc07a369",
"6655e35b6bc645cb7b059912",
"66d9f7256916142b3b02276e",
"671d85439ae8365d69117ba6",
"671d8617a3e45c1f5908278c",
"670e8eab8c1bb0e5a7075acf",
"671d8ac8a3e45c1f59082799",
"671d8b38b769f0d88c0950f8",
"671d8b8c0959c721a50ca838",
"660bc341c38b837877075e4c",
"67409848d0b2f8eb9b034db9",
"67449b6c89d5e1ddc603f504"
],
"bossItems": [
"6275303a9f372d6ea97f9ec7",
"62a61bbf8ec41a51b34758d2",
"628e4dd1f477aa12234918aa",
"628b9784bcf6e2659e09b8a2",
"628bc7fb408e2b2e9c0801b1",
"628baf0b967de16aab5a4f36",
"62963c18dbc8ab5f0d382d0b",
"628b9c7d45122232a872358f",
"5fc64ea372b0dd78d51159dc",
"64ca3d3954fc657e230529cc",
"64637076203536ad5600c990",
"5c0e874186f7745dc7616606",
"5c0e842486f77443a74d2976",
"5c0e541586f7747fa54205c9",
"5b3b713c5acfc4330140bd8d",
"5e997f0b86f7741ac73993e2",
"5d08d21286f774736e7c94c3",
"6087e570b998180e9f76dc24",
"60a7ad2a2198820d95707a2e",
"60a7ad3a0c5cb24b0134664a",
"60a7acf20c5cb24b01346648",
"636270263f2495c26f00b007",
"63626d904aa74b8fe30ab426",
"63611865ba5b90db0c0399d1",
"5eff09cd30a7dc22fd1ddfed",
"5efde6b4f5448336730dbd61",
"609e860ebd219504d8507525",
"63a0b208f444d32d6f03ea1e",
"63495c500c297e20065a08b1",
"6530e8587cbfc1e309011e37",
"6531119b9afebff7ff0a1769",
"6540d2162ae6d96b540afcaf",
"5e99735686f7744bfc4af32c",
"5e99711486f7744bfc4af328",
"61b9e1aaef9a1b5d6a79899a",
"5a43943586f77416ad2f06e2",
"5a43957686f7742a2c2f11b0",
"5c1a1e3f2e221602b66cc4c2"
],
"handbookPriceOverride": {
"63a8970d7108f713591149f5": { "price": 5000, "parentId": "5b5f6fa186f77409407a7eb7" },
"63a898a328e385334e0640a5": { "price": 10000, "parentId": "5b5f6fa186f77409407a7eb7" },
"63a897c6b1ff6e29734fcc95": { "price": 20000, "parentId": "5b5f6fa186f77409407a7eb7" }
}
}
+38
View File
@@ -0,0 +1,38 @@
{
"gameLocale": "system",
"serverLocale": "system",
"serverSupportedLocales": [
"ar",
"en",
"cs",
"da",
"de",
"el",
"es-es",
"fr",
"nl",
"no",
"tr",
"hi",
"hu",
"id",
"it",
"ja",
"ko",
"nl",
"no",
"pl",
"pt-br",
"pt-pt",
"ru",
"sv",
"vi",
"zh-cn"
],
"fallbacks": {
"en-*": "en",
"pt-*": "pt-pt",
"zh-*": "zh-cn",
"es-*": "es-es"
}
}
+543
View File
@@ -0,0 +1,543 @@
{
"looseLootMultiplier": {
"bigmap": 2.5,
"develop": 1,
"factory4_day": 3.5,
"factory4_night": 3.5,
"interchange": 2.8,
"laboratory": 2.8,
"rezervbase": 2.9,
"shoreline": 3.7,
"woods": 1.9,
"hideout": 0,
"lighthouse": 2.8,
"privatearea": 1,
"suburbs": 1,
"tarkovstreets": 3,
"terminal": 1,
"sandbox": 2.8,
"sandbox_high": 2.8,
"town": 0
},
"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,
"sandbox": 1,
"sandbox_high": 1,
"town": 1
},
"customWaves": {
"boss": {
"bigmap": [
{
"sptId": "usecbigmap",
"BossChance": 50,
"BossDifficult": "normal",
"BossEscortAmount": "0,0,2,2,2,1,1,1,1,1,0,2,3",
"BossEscortDifficult": "normal",
"BossEscortType": "pmcUSEC",
"BossName": "pmcUSEC",
"BossPlayer": false,
"BossZone": "",
"Delay": 0,
"DependKarma": false,
"DependKarmaPVE": false,
"ForceSpawn": false,
"IgnoreMaxBots": true,
"RandomTimeSpawn": false,
"SpawnMode": ["pve"],
"Supports": null,
"Time": -1,
"TriggerId": "",
"TriggerName": ""
},
{
"sptId": "bearbigmap",
"BossChance": 50,
"BossDifficult": "normal",
"BossEscortAmount": "0,0,2,2,2,1,1,1,1,1,0,2,3",
"BossEscortDifficult": "normal",
"BossEscortType": "pmcBEAR",
"BossName": "pmcBEAR",
"BossPlayer": false,
"BossZone": "",
"Delay": 0,
"DependKarma": false,
"DependKarmaPVE": false,
"ForceSpawn": false,
"IgnoreMaxBots": true,
"RandomTimeSpawn": false,
"SpawnMode": ["pve"],
"Supports": null,
"Time": -1,
"TriggerId": "",
"TriggerName": ""
}
],
"woods": [
{
"sptId": "usecbigmap",
"BossChance": 50,
"BossDifficult": "normal",
"BossEscortAmount": "0,0,2,2,2,1,1,1,1,1,1,2,3",
"BossEscortDifficult": "normal",
"BossEscortType": "pmcUSEC",
"BossName": "pmcUSEC",
"BossPlayer": false,
"BossZone": "",
"Delay": 0,
"DependKarma": false,
"DependKarmaPVE": false,
"ForceSpawn": false,
"IgnoreMaxBots": true,
"RandomTimeSpawn": false,
"SpawnMode": ["pve"],
"Supports": null,
"Time": -1,
"TriggerId": "",
"TriggerName": ""
},
{
"sptId": "bearbigmap",
"BossChance": 50,
"BossDifficult": "normal",
"BossEscortAmount": "0,0,2,2,2,1,1,1,1,1,1,2,3",
"BossEscortDifficult": "normal",
"BossEscortType": "pmcBEAR",
"BossName": "pmcBEAR",
"BossPlayer": false,
"BossZone": "",
"Delay": 0,
"DependKarma": false,
"DependKarmaPVE": false,
"ForceSpawn": false,
"IgnoreMaxBots": true,
"RandomTimeSpawn": false,
"SpawnMode": ["pve"],
"Supports": null,
"Time": -1,
"TriggerId": "",
"TriggerName": ""
}
],
"sandbox_high": [
{
"sptId": "usecbigmap",
"BossChance": 50,
"BossDifficult": "normal",
"BossEscortAmount": "0,0,2,2,2,1,1,1,1,1,0,2,3",
"BossEscortDifficult": "normal",
"BossEscortType": "pmcUSEC",
"BossName": "pmcUSEC",
"BossPlayer": false,
"BossZone": "",
"Delay": 0,
"DependKarma": false,
"DependKarmaPVE": false,
"ForceSpawn": false,
"IgnoreMaxBots": true,
"RandomTimeSpawn": false,
"SpawnMode": ["pve"],
"Supports": null,
"Time": -1,
"TriggerId": "",
"TriggerName": ""
},
{
"sptId": "bearbigmap",
"BossChance": 50,
"BossDifficult": "normal",
"BossEscortAmount": "0,0,2,2,2,1,1,1,1,1,0,2,3",
"BossEscortDifficult": "normal",
"BossEscortType": "pmcBEAR",
"BossName": "pmcBEAR",
"BossPlayer": false,
"BossZone": "",
"Delay": 0,
"DependKarma": false,
"DependKarmaPVE": false,
"ForceSpawn": false,
"IgnoreMaxBots": true,
"RandomTimeSpawn": false,
"SpawnMode": ["pve"],
"Supports": null,
"Time": -1,
"TriggerId": "",
"TriggerName": ""
}
]
},
"normal": {}
},
"openZones": {},
"forcedLootSingleSpawnById": {
"bigmap": [
"5ac620eb86f7743a8e6e0da0",
"5939e5a786f77461f11c0098",
"64e74a3d4d49d23b2c39d319",
"6614230055afee107f05e998",
"66b22630a6b4e5ec7c02cdb7"
],
"interchange": ["64e74a5ac2b4f829615ec336"],
"lighthouse": [
"6331bb0d1aa9f42b804997a6",
"6398a0861c712b1e1d4dadf1",
"6399f54b0a36db13c823ad21",
"64e74a64aac4cd0a7264ecdf",
"661666458c2aa9cb1602503b"
],
"rezervbase": ["64e74a4baac4cd0a7264ecdd", "6398a072e301557ae24cec92"],
"shoreline": [
"64e74a534d49d23b2c39d31b",
"661421c7c1f2f548c50ee649",
"6614217b6d9d5abcad0ff098",
"661423200d240a5f5d0f679b"
],
"tarkovstreets": [
"638df4cc7b560b03794a18d2",
"638cbc68a63f1b49be6a3010",
"638e0057ab150a5f56238960",
"63927b29c115f907b14700b9",
"638dfc803083a019d447768e",
"638e9d5536b3b72c944e2fc7",
"6393262086e646067c176aa2",
"63989ced706b793c7d60cfef",
"63a39e1d234195315d4020bd",
"64e74a35aac4cd0a7264ecdb",
"64e74a186393886f74114a96",
"64e74a1faac4cd0a7264ecd9",
"64e73909cd54ef0580746af3",
"64e74a2fc2b4f829615ec332",
"64e74a274d49d23b2c39d317",
"64f09c02b63b74469b6c149f",
"64f07f7726cfa02c506f8ac0",
"64f69b4267e11a7c6206e010",
"64f5b4f71a5f313cb144c06c",
"657acb2ac900be5902191ac9",
"6582dbf0b8d7830efc45016f"
],
"laboratory": ["6398a4cfb5992f573c6562b3", "64e74a44c2b4f829615ec334"],
"sandbox": ["6575a6ca8778e96ded05a802", "6582bd252b50c61c565828e2"],
"factory4_day": ["591093bb86f7747caa7bb2ee", "66c0b39ca1f68fcc1d0c0cc3"]
},
"splitWaveIntoSingleSpawnsSettings": {
"enabled": true,
"ignoreMaps": [
"base",
"develop",
"hideout",
"privatearea",
"suburbs",
"terminal",
"town",
"factory4_day",
"factory4_night"
],
"waveSizeThreshold": 4
},
"rogueLighthouseSpawnTimeSettings": {
"enabled": false,
"waitTimeSeconds": 120
},
"fitLootIntoContainerAttempts": 3,
"addOpenZonesToAllMaps": true,
"addCustomBotWavesToMaps": true,
"enableBotTypeLimits": true,
"botTypeLimits": {
"tarkovstreets": [
{
"type": "marksman",
"min": 2,
"max": 4
}
],
"woods": [
{
"type": "marksman",
"min": 2,
"max": 5
}
],
"bigmap": [
{
"type": "marksman",
"min": 2,
"max": 4
}
]
},
"containerRandomisationSettings": {
"enabled": true,
"maps": {
"tarkovstreets": true,
"factory4_day": true,
"factory4_night": true,
"bigmap": true,
"woods": true,
"shoreline": true,
"interchange": true,
"lighthouse": true,
"laboratory": true,
"rezervbase": true,
"sandbox": true
},
"containerTypesToNotRandomise": [
"5d6fd45b86f774317075ed43",
"5909d89086f77472591234a0",
"578f87b7245977356274f2cd",
"5909d76c86f77471e53d2adf",
"578f8782245977354405a1e3",
"5d6fe50986f77449d97f7463",
"578f879c24597735401e6bc6",
"578f8782245977354405a1e3",
"5d6fd13186f77424ad2a8c69"
],
"containerGroupMinSizeMultiplier": 1,
"containerGroupMaxSizeMultiplier": 1
},
"minFillLooseMagazinePercent": 50,
"minFillStaticMagazinePercent": 50,
"allowDuplicateItemsInStaticContainers": true,
"magazineLootHasAmmoChancePercent": 50,
"staticMagazineLootHasAmmoChancePercent": 0,
"looseLootBlacklist": {},
"scavRaidTimeSettings": {
"settings": {
"trainArrivalDelayObservedSeconds": 90
},
"maps": {
"bigmap": {
"reduceLootByPercent": true,
"minDynamicLootPercent": 50,
"minStaticLootPercent": 40,
"reducedChancePercent": 95,
"reductionPercentWeights": {
"20": 1,
"25": 2,
"30": 4,
"35": 4,
"40": 4,
"45": 4,
"50": 4,
"60": 2,
"70": 2
},
"adjustWaves": true
},
"factory4_day": {
"reduceLootByPercent": true,
"minDynamicLootPercent": 50,
"minStaticLootPercent": 40,
"reducedChancePercent": 95,
"reductionPercentWeights": {
"5": 2,
"20": 3,
"25": 3,
"30": 5,
"40": 5,
"50": 5,
"60": 2,
"65": 2
},
"adjustWaves": true
},
"factory4_night": {
"reduceLootByPercent": true,
"minDynamicLootPercent": 50,
"minStaticLootPercent": 40,
"reducedChancePercent": 75,
"reductionPercentWeights": {
"20": 4,
"30": 3,
"40": 3,
"60": 2,
"65": 2
},
"adjustWaves": true
},
"interchange": {
"reduceLootByPercent": true,
"minDynamicLootPercent": 50,
"minStaticLootPercent": 40,
"reducedChancePercent": 95,
"reductionPercentWeights": {
"20": 5,
"25": 5,
"30": 5,
"35": 5,
"40": 5,
"50": 5,
"55": 2
},
"adjustWaves": true
},
"rezervbase": {
"reduceLootByPercent": true,
"minDynamicLootPercent": 50,
"minStaticLootPercent": 40,
"reducedChancePercent": 95,
"reductionPercentWeights": {
"20": 3,
"30": 3,
"40": 4,
"50": 4,
"60": 2
},
"adjustWaves": true
},
"laboratory": {
"reduceLootByPercent": true,
"minDynamicLootPercent": 50,
"minStaticLootPercent": 40,
"reducedChancePercent": 95,
"reductionPercentWeights": {
"20": 3,
"30": 5,
"40": 5,
"50": 5,
"60": 2
},
"adjustWaves": true
},
"lighthouse": {
"reduceLootByPercent": true,
"minDynamicLootPercent": 50,
"minStaticLootPercent": 40,
"reducedChancePercent": 95,
"reductionPercentWeights": {
"20": 2,
"25": 2,
"30": 4,
"40": 4,
"50": 4,
"60": 2
},
"adjustWaves": true
},
"shoreline": {
"reduceLootByPercent": true,
"minDynamicLootPercent": 50,
"minStaticLootPercent": 40,
"reducedChancePercent": 95,
"reductionPercentWeights": {
"20": 2,
"25": 3,
"30": 5,
"35": 5,
"40": 5,
"50": 5,
"60": 2,
"65": 1
},
"adjustWaves": true
},
"tarkovstreets": {
"reduceLootByPercent": true,
"minDynamicLootPercent": 70,
"minStaticLootPercent": 60,
"reducedChancePercent": 95,
"reductionPercentWeights": {
"20": 3,
"30": 4,
"40": 5,
"50": 4,
"60": 3
},
"adjustWaves": true
},
"woods": {
"reduceLootByPercent": true,
"minDynamicLootPercent": 50,
"minStaticLootPercent": 40,
"reducedChancePercent": 95,
"reductionPercentWeights": {
"20": 3,
"30": 5,
"40": 5,
"50": 5,
"60": 1,
"65": 1
},
"adjustWaves": true
},
"sandbox": {
"reduceLootByPercent": true,
"minDynamicLootPercent": 50,
"minStaticLootPercent": 40,
"reducedChancePercent": 95,
"reductionPercentWeights": {
"20": 3,
"30": 5,
"40": 5,
"50": 5,
"60": 1,
"65": 1
},
"adjustWaves": true
},
"sandbox_high": {
"reduceLootByPercent": true,
"minDynamicLootPercent": 50,
"minStaticLootPercent": 40,
"reducedChancePercent": 95,
"reductionPercentWeights": {
"20": 3,
"30": 5,
"40": 5,
"50": 5,
"60": 1,
"65": 1
},
"adjustWaves": true
},
"default": {
"reduceLootByPercent": true,
"minDynamicLootPercent": 50,
"minStaticLootPercent": 50,
"reducedChancePercent": 95,
"reductionPercentWeights": {
"10": 1,
"20": 2,
"30": 5,
"40": 5,
"50": 5,
"60": 2,
"70": 1
},
"adjustWaves": true
}
}
},
"equipmentLootSettings": {
"modSpawnChancePercent": {
"mod_nvg": 5,
"front_plate": 100,
"back_plate": 100,
"left_side_plate": 25,
"right_side_plate": 25,
"mod_equipment_000": 5,
"mod_equipment_001": 5,
"mod_equipment_002": 5,
"mod_mount": 5,
"mod_equipment": 5
}
},
"reserveRaiderSpawnChanceOverrides": {
"nonTriggered": 80,
"triggered": 90
},
"nonMaps": ["base", "develop", "hideout", "privatearea", "suburbs", "terminal", "town"]
}
+12
View File
@@ -0,0 +1,12 @@
{
"looseLoot": {
"woods": [],
"bigmap": [],
"laboratory": []
},
"looseLootSpawnPointAdjustments": {
"bigmap": {},
"rezervbase": {},
"tarkovstreets": {}
}
}
+21
View File
@@ -0,0 +1,21 @@
{
"equipment": {
"ArmBand": false,
"Compass": false,
"Headwear": true,
"Earpiece": true,
"FaceCover": true,
"ArmorVest": true,
"Eyewear": true,
"TacticalVest": true,
"PocketItems": true,
"Backpack": true,
"Holster": true,
"FirstPrimaryWeapon": true,
"SecondPrimaryWeapon": true,
"Scabbard": false,
"SecuredContainer": false
},
"questItems": true,
"specialSlotItems": false
}
+15
View File
@@ -0,0 +1,15 @@
{
"enabled": false,
"randomiseMapContainers": {
"tarkovstreets": false,
"factory4_day": false,
"factory4_night": false,
"bigmap": false,
"woods": false,
"shoreline": false,
"interchange": false,
"lighthouse": false,
"laboratory": false,
"rezervbase": false
}
}
File diff suppressed because it is too large Load Diff
+897
View File
@@ -0,0 +1,897 @@
{
"gameVersionWeight": {
"standard": 2,
"left_behind": 1,
"prepare_for_escape": 1,
"edge_of_darkness": 4,
"unheard_edition": 2
},
"accountTypeWeight": {
"0": 75,
"1": 1,
"256": 2,
"512": 2
},
"vestLoot": {
"whitelist": [
"5485a8684bdc2da71d8b4567",
"5448bc234bdc2d3c308b4569",
"5448f3a14bdc2d27728b4569",
"5448f3a64bdc2d60728b456a",
"5448f39d4bdc2d0a728b4568",
"5448e8d04bdc2ddf718b4569",
"5448e8d64bdc2dce718b4568",
"590c745b86f7743cc433c5f2",
"543be6564bdc2df4348b4568",
"5448f3ac4bdc2dce718b4569"
],
"blacklist": [
"57864a3d24597754843f8721",
"57864a66245977548f04a81f",
"57864ada245977548638de91",
"57864bb7245977548b3b66c2",
"57864c322459775490116fbf",
"57864e4c24597754843f8723",
"57864ee62459775490116fc1",
"5c164d2286f774194c5e69fa",
"5c99f98d86f7745c314214b3",
"55818add4bdc2d5b648b456f",
"55818ad54bdc2ddc698b4569",
"55818aeb4bdc2ddc698b456a",
"55818ae44bdc2dde698b456c",
"55818b164bdc2ddc698b456c",
"5447e1d04bdc2dff2f8b4567",
"5448eb774bdc2d0a728b4567",
"550aa4cd4bdc2dd8348b456c",
"55818af64bdc2d5b648b4570",
"5448ecbe4bdc2d60728b4568",
"5d650c3e815116009f6201d2",
"5448e54d4bdc2dcc718b4568",
"543be5cb4bdc2deb348b4568",
"5485a8684bdc2da71d8b4567",
"543be5dd4bdc2deb348b4569",
"5fca13ca637ee0341a484f46",
"59f32c3b86f77472a31742f0",
"6662e9f37fa79a6d83730fa0",
"6662ea05f6259762c56f3189",
"59f32bb586f774757e1e8442",
"6662e9aca7e0b43baa3d5f74",
"6662e9cda7e0b43baa3d5f76",
"617aa4dd8166f034d57de9c5",
"5a2a57cfc4a2826c6e06d44a",
"619256e5f8af2c1a4e1f5d92",
"5a0c27731526d80618476ac4",
"57864c8c245977548867e7f1",
"6087e570b998180e9f76dc24",
"6391fcf5744e45201147080f",
"614451b71e5874611e2c7ae5",
"6540d2162ae6d96b540afcaf",
"65ca457b4aafb5d7fc0dcb5d",
"6331ba83f2ab4f3f09502983",
"67409848d0b2f8eb9b034db9",
"67449b6c89d5e1ddc603f504"
]
},
"pocketLoot": {
"whitelist": [
"5485a8684bdc2da71d8b4567",
"5448f3a14bdc2d27728b4569",
"5448f3a64bdc2d60728b456a",
"5448f39d4bdc2d0a728b4568",
"543be6564bdc2df4348b4568",
"590c745b86f7743cc433c5f2",
"543be5dd4bdc2deb348b4569",
"5448bc234bdc2d3c308b4569",
"57864a3d24597754843f8721",
"57864a66245977548f04a81f",
"57864ada245977548638de91",
"57864bb7245977548b3b66c2",
"57864c322459775490116fbf",
"57864e4c24597754843f8723",
"55818af64bdc2d5b648b4570",
"5448ecbe4bdc2d60728b4568",
"5448eb774bdc2d0a728b4567",
"5448f3ac4bdc2dce718b4569"
],
"blacklist": [
"5448e8d04bdc2ddf718b4569",
"5448e8d64bdc2dce718b4568",
"57864ee62459775490116fc1",
"5c164d2286f774194c5e69fa",
"5c99f98d86f7745c314214b3",
"55818add4bdc2d5b648b456f",
"55818ad54bdc2ddc698b4569",
"55818aeb4bdc2ddc698b456a",
"55818ae44bdc2dde698b456c",
"55818b164bdc2ddc698b456c",
"5447e1d04bdc2dff2f8b4567",
"550aa4cd4bdc2dd8348b456c",
"5d650c3e815116009f6201d2",
"5448e54d4bdc2dcc718b4568",
"543be5cb4bdc2deb348b4568",
"5fca13ca637ee0341a484f46",
"59f32c3b86f77472a31742f0",
"6662e9f37fa79a6d83730fa0",
"6662ea05f6259762c56f3189",
"59f32bb586f774757e1e8442",
"6662e9aca7e0b43baa3d5f74",
"6662e9cda7e0b43baa3d5f76",
"617aa4dd8166f034d57de9c5",
"5a2a57cfc4a2826c6e06d44a",
"619256e5f8af2c1a4e1f5d92",
"5a0c27731526d80618476ac4",
"57864c8c245977548867e7f1",
"6087e570b998180e9f76dc24",
"6391fcf5744e45201147080f",
"65ca457b4aafb5d7fc0dcb5d",
"660bbc98c38b837877075e4a",
"6331ba83f2ab4f3f09502983",
"67449b6c89d5e1ddc603f504"
]
},
"backpackLoot": {
"whitelist": [
"57864a3d24597754843f8721",
"57864a66245977548f04a81f",
"57864ada245977548638de91",
"57864bb7245977548b3b66c2",
"57864c322459775490116fbf",
"57864c8c245977548867e7f1",
"57864e4c24597754843f8723",
"57864ee62459775490116fc1",
"5c164d2286f774194c5e69fa",
"5c99f98d86f7745c314214b3",
"55818add4bdc2d5b648b456f",
"55818ad54bdc2ddc698b4569",
"55818aeb4bdc2ddc698b456a",
"55818ae44bdc2dde698b456c",
"55818b164bdc2ddc698b456c",
"5448bc234bdc2d3c308b4569",
"5447e1d04bdc2dff2f8b4567",
"5448eb774bdc2d0a728b4567",
"550aa4cd4bdc2dd8348b456c",
"55818af64bdc2d5b648b4570",
"5448ecbe4bdc2d60728b4568",
"5448e8d04bdc2ddf718b4569",
"5d650c3e815116009f6201d2",
"5448e8d64bdc2dce718b4568",
"5448f3a14bdc2d27728b4569",
"5448e54d4bdc2dcc718b4568",
"5448f3a64bdc2d60728b456a",
"543be5cb4bdc2deb348b4568",
"5485a8684bdc2da71d8b4567",
"543be5dd4bdc2deb348b4569",
"590c745b86f7743cc433c5f2",
"5448f39d4bdc2d0a728b4568",
"543be6564bdc2df4348b4568",
"5448f3ac4bdc2dce718b4569"
],
"blacklist": [
"5e99711486f7744bfc4af328",
"5fca13ca637ee0341a484f46",
"59f32c3b86f77472a31742f0",
"6662e9f37fa79a6d83730fa0",
"6662ea05f6259762c56f3189",
"59f32bb586f774757e1e8442",
"6662e9aca7e0b43baa3d5f74",
"6662e9cda7e0b43baa3d5f76",
"617aa4dd8166f034d57de9c5",
"5a2a57cfc4a2826c6e06d44a",
"619256e5f8af2c1a4e1f5d92",
"5a0c27731526d80618476ac4",
"6087e570b998180e9f76dc24",
"63495c500c297e20065a08b1",
"6391fcf5744e45201147080f",
"614451b71e5874611e2c7ae5",
"6540d2162ae6d96b540afcaf",
"65ca457b4aafb5d7fc0dcb5d",
"660bbc98c38b837877075e4a",
"66d9f7256916142b3b02276e",
"6331ba83f2ab4f3f09502983",
"67409848d0b2f8eb9b034db9",
"67449b6c89d5e1ddc603f504"
]
},
"useDifficultyOverride": false,
"difficulty": "AsOnline",
"botRelativeLevelDeltaMax": 10,
"botRelativeLevelDeltaMin": 70,
"_isUsec": "Percentage chance PMC will be USEC",
"isUsec": 50,
"_pmcType": "Controls what bot brain can be chosen for each PMC bot type, the number is the weighting to be picked",
"pmcType": {
"pmcbear": {
"factory4_day": {
"bossKilla": 2,
"bossKnight": 2,
"bossGluhar": 0,
"bossSanitar": 1,
"bossTagilla": 1,
"bossZryachiy": 0,
"bossBoar": 0,
"followerGluharAssault": 0,
"followerBully": 2,
"followerBigPipe": 2,
"followerSanitar": 0,
"assault": 5,
"cursedAssault": 0,
"exUsec": 5,
"arenaFighter": 0,
"arenaFighterEvent": 0,
"crazyAssaultEvent": 3,
"pmcBot": 5,
"pmcBEAR": 4
},
"factory4_night": {
"bossKilla": 2,
"bossKnight": 2,
"bossGluhar": 0,
"bossSanitar": 1,
"bossTagilla": 1,
"bossZryachiy": 0,
"bossBoar": 0,
"followerGluharAssault": 0,
"followerBully": 2,
"followerBigPipe": 2,
"followerSanitar": 0,
"assault": 5,
"cursedAssault": 0,
"exUsec": 5,
"arenaFighter": 0,
"arenaFighterEvent": 0,
"crazyAssaultEvent": 3,
"pmcBot": 5,
"pmcBEAR": 4
},
"bigmap": {
"bossKilla": 2,
"bossKnight": 2,
"bossGluhar": 0,
"bossSanitar": 1,
"bossTagilla": 1,
"bossZryachiy": 0,
"bossBoar": 0,
"followerGluharAssault": 0,
"followerBully": 2,
"followerBigPipe": 2,
"followerSanitar": 0,
"assault": 5,
"cursedAssault": 0,
"exUsec": 5,
"arenaFighter": 0,
"arenaFighterEvent": 0,
"crazyAssaultEvent": 3,
"pmcBot": 5,
"pmcBEAR": 4
},
"laboratory": {
"bossKilla": 2,
"bossKnight": 2,
"bossGluhar": 0,
"bossSanitar": 1,
"bossTagilla": 1,
"bossZryachiy": 0,
"bossBoar": 0,
"followerGluharAssault": 0,
"followerBully": 2,
"followerBigPipe": 2,
"followerSanitar": 0,
"assault": 5,
"cursedAssault": 0,
"exUsec": 5,
"arenaFighter": 0,
"arenaFighterEvent": 0,
"crazyAssaultEvent": 3,
"pmcBot": 5,
"pmcBEAR": 4
},
"woods": {
"bossKilla": 2,
"bossKnight": 2,
"bossGluhar": 0,
"bossSanitar": 1,
"bossTagilla": 1,
"bossKojaniy": 0,
"bossZryachiy": 0,
"bossBoar": 0,
"followerGluharAssault": 0,
"followerBully": 2,
"followerBigPipe": 2,
"followerSanitar": 0,
"assault": 5,
"cursedAssault": 0,
"exUsec": 5,
"arenaFighter": 0,
"arenaFighterEvent": 0,
"crazyAssaultEvent": 3,
"pmcBot": 5,
"pmcBEAR": 4
},
"interchange": {
"bossKilla": 2,
"bossKnight": 2,
"bossGluhar": 0,
"bossSanitar": 1,
"bossTagilla": 1,
"bossZryachiy": 0,
"bossBoar": 0,
"followerGluharAssault": 0,
"followerBully": 2,
"followerBigPipe": 2,
"followerSanitar": 0,
"assault": 5,
"cursedAssault": 0,
"exUsec": 5,
"arenaFighter": 0,
"arenaFighterEvent": 0,
"crazyAssaultEvent": 3,
"pmcBot": 5,
"pmcBEAR": 4
},
"lighthouse": {
"bossKilla": 2,
"bossKnight": 2,
"bossGluhar": 0,
"bossSanitar": 1,
"bossTagilla": 1,
"bossZryachiy": 0,
"bossBoar": 0,
"followerGluharAssault": 0,
"followerBully": 2,
"followerBigPipe": 2,
"followerSanitar": 0,
"assault": 5,
"cursedAssault": 0,
"exUsec": 5,
"arenaFighter": 0,
"arenaFighterEvent": 0,
"crazyAssaultEvent": 3,
"pmcBot": 5,
"pmcBEAR": 4
},
"rezervbase": {
"bossKilla": 2,
"bossKnight": 0,
"bossGluhar": 0,
"bossSanitar": 1,
"bossTagilla": 1,
"bossZryachiy": 0,
"bossBoar": 0,
"followerGluharAssault": 0,
"followerBully": 0,
"followerBigPipe": 0,
"followerSanitar": 0,
"assault": 4,
"cursedAssault": 0,
"exUsec": 0,
"arenaFighter": 0,
"arenaFighterEvent": 1,
"crazyAssaultEvent": 3,
"pmcBot": 5,
"pmcBEAR": 4
},
"shoreline": {
"bossKilla": 2,
"bossKnight": 2,
"bossGluhar": 0,
"bossSanitar": 1,
"bossTagilla": 1,
"bossZryachiy": 0,
"bossBoar": 0,
"followerGluharAssault": 0,
"followerBully": 2,
"followerBigPipe": 2,
"followerSanitar": 0,
"assault": 5,
"cursedAssault": 0,
"exUsec": 0,
"arenaFighter": 0,
"arenaFighterEvent": 0,
"crazyAssaultEvent": 3,
"pmcBot": 5,
"pmcBEAR": 4
},
"tarkovstreets": {
"bossKilla": 2,
"bossKnight": 0,
"bossGluhar": 0,
"bossSanitar": 1,
"bossTagilla": 1,
"bossZryachiy": 0,
"bossBoar": 0,
"followerGluharAssault": 0,
"followerBully": 2,
"followerBigPipe": 0,
"followerSanitar": 0,
"assault": 5,
"cursedAssault": 0,
"exUsec": 0,
"arenaFighter": 2,
"arenaFighterEvent": 0,
"crazyAssaultEvent": 3,
"pmcBot": 5,
"pmcBEAR": 4
},
"sandbox": {
"bossKilla": 2,
"bossKnight": 0,
"bossGluhar": 0,
"bossSanitar": 1,
"bossTagilla": 0,
"bossZryachiy": 0,
"bossBoar": 0,
"followerGluharAssault": 0,
"followerBully": 2,
"followerBigPipe": 0,
"followerSanitar": 0,
"followerKolontayAssault": 0,
"followerKolontaySecurity": 0,
"assault": 3,
"cursedAssault": 0,
"exUsec": 0,
"arenaFighter": 0,
"arenaFighterEvent": 1,
"crazyAssaultEvent": 1,
"pmcBot": 7,
"pmcBEAR": 4
},
"sandbox_high": {
"bossKilla": 2,
"bossKnight": 0,
"bossGluhar": 0,
"bossSanitar": 1,
"bossTagilla": 0,
"bossZryachiy": 0,
"bossBoar": 0,
"followerGluharAssault": 0,
"followerBully": 2,
"followerBigPipe": 0,
"followerSanitar": 0,
"followerKolontayAssault": 0,
"followerKolontaySecurity": 0,
"assault": 3,
"cursedAssault": 0,
"exUsec": 0,
"arenaFighter": 0,
"arenaFighterEvent": 1,
"crazyAssaultEvent": 1,
"pmcBot": 7,
"pmcBEAR": 4
}
},
"pmcusec": {
"factory4_day": {
"bossKilla": 2,
"bossKnight": 2,
"bossGluhar": 0,
"bossSanitar": 1,
"bossTagilla": 1,
"bossZryachiy": 0,
"bossBoar": 0,
"followerGluharAssault": 0,
"followerBully": 2,
"followerBigPipe": 2,
"followerSanitar": 0,
"assault": 5,
"cursedAssault": 0,
"exUsec": 5,
"arenaFighter": 0,
"arenaFighterEvent": 0,
"crazyAssaultEvent": 3,
"pmcBot": 5,
"pmcUSEC": 4
},
"factory4_night": {
"bossKilla": 2,
"bossKnight": 2,
"bossGluhar": 0,
"bossSanitar": 1,
"bossTagilla": 1,
"bossZryachiy": 0,
"bossBoar": 0,
"followerGluharAssault": 0,
"followerBully": 2,
"followerBigPipe": 2,
"followerSanitar": 0,
"assault": 5,
"cursedAssault": 0,
"exUsec": 5,
"arenaFighter": 0,
"arenaFighterEvent": 0,
"crazyAssaultEvent": 3,
"pmcBot": 5,
"pmcUSEC": 4
},
"bigmap": {
"bossKilla": 0,
"bossKnight": 0,
"bossGluhar": 0,
"bossSanitar": 1,
"bossTagilla": 0,
"bossZryachiy": 0,
"bossBoar": 0,
"followerGluharAssault": 0,
"followerBully": 0,
"followerBigPipe": 0,
"followerSanitar": 0,
"assault": 1,
"cursedAssault": 0,
"exUsec": 0,
"arenaFighter": 0,
"arenaFighterEvent": 0,
"crazyAssaultEvent": 2,
"pmcBot": 6,
"pmcUSEC": 4
},
"laboratory": {
"bossKilla": 2,
"bossKnight": 2,
"bossGluhar": 0,
"bossSanitar": 1,
"bossTagilla": 1,
"bossZryachiy": 0,
"bossBoar": 0,
"followerGluharAssault": 0,
"followerBully": 2,
"followerBigPipe": 2,
"followerSanitar": 0,
"assault": 5,
"cursedAssault": 0,
"exUsec": 5,
"arenaFighter": 0,
"arenaFighterEvent": 0,
"crazyAssaultEvent": 3,
"pmcBot": 5,
"pmcUSEC": 4
},
"woods": {
"bossKilla": 2,
"bossKnight": 2,
"bossGluhar": 0,
"bossSanitar": 1,
"bossTagilla": 1,
"bossKojaniy": 0,
"bossZryachiy": 0,
"bossBoar": 0,
"followerGluharAssault": 0,
"followerBully": 2,
"followerBigPipe": 2,
"followerSanitar": 0,
"assault": 5,
"cursedAssault": 0,
"exUsec": 5,
"arenaFighter": 0,
"arenaFighterEvent": 0,
"crazyAssaultEvent": 3,
"pmcBot": 5,
"pmcUSEC": 4
},
"interchange": {
"bossKilla": 2,
"bossKnight": 2,
"bossGluhar": 0,
"bossSanitar": 1,
"bossTagilla": 1,
"bossZryachiy": 0,
"bossBoar": 0,
"followerGluharAssault": 0,
"followerBully": 2,
"followerBigPipe": 2,
"followerSanitar": 0,
"assault": 5,
"cursedAssault": 0,
"exUsec": 5,
"arenaFighter": 0,
"arenaFighterEvent": 0,
"crazyAssaultEvent": 3,
"pmcBot": 5,
"pmcUSEC": 4
},
"lighthouse": {
"bossKilla": 2,
"bossKnight": 2,
"bossGluhar": 0,
"bossSanitar": 1,
"bossTagilla": 1,
"bossZryachiy": 0,
"bossBoar": 0,
"followerGluharAssault": 0,
"followerBully": 2,
"followerBigPipe": 2,
"followerSanitar": 0,
"assault": 5,
"cursedAssault": 0,
"exUsec": 5,
"arenaFighter": 0,
"arenaFighterEvent": 0,
"crazyAssaultEvent": 3,
"pmcBot": 5,
"pmcUSEC": 4
},
"rezervbase": {
"bossKilla": 2,
"bossKnight": 0,
"bossGluhar": 0,
"bossSanitar": 1,
"bossTagilla": 1,
"bossZryachiy": 0,
"bossBoar": 0,
"followerGluharAssault": 0,
"followerBully": 0,
"followerBigPipe": 0,
"followerSanitar": 0,
"assault": 4,
"cursedAssault": 0,
"exUsec": 0,
"arenaFighter": 0,
"arenaFighterEvent": 1,
"crazyAssaultEvent": 3,
"pmcBot": 5,
"pmcUSEC": 4
},
"shoreline": {
"bossKilla": 2,
"bossKnight": 2,
"bossGluhar": 0,
"bossSanitar": 1,
"bossTagilla": 1,
"bossZryachiy": 0,
"bossBoar": 0,
"followerGluharAssault": 0,
"followerBully": 2,
"followerBigPipe": 2,
"followerSanitar": 0,
"assault": 5,
"cursedAssault": 0,
"exUsec": 0,
"arenaFighter": 0,
"arenaFighterEvent": 0,
"crazyAssaultEvent": 3,
"pmcBot": 5,
"pmcUSEC": 4
},
"tarkovstreets": {
"bossKilla": 2,
"bossKnight": 0,
"bossGluhar": 0,
"bossSanitar": 1,
"bossTagilla": 1,
"bossZryachiy": 0,
"bossBoar": 0,
"followerGluharAssault": 0,
"followerBully": 2,
"followerBigPipe": 0,
"followerSanitar": 0,
"assault": 5,
"cursedAssault": 0,
"exUsec": 0,
"arenaFighter": 2,
"arenaFighterEvent": 0,
"crazyAssaultEvent": 3,
"pmcBot": 5,
"pmcUSEC": 4
},
"sandbox": {
"bossKilla": 2,
"bossKnight": 0,
"bossGluhar": 0,
"bossSanitar": 1,
"bossTagilla": 0,
"bossZryachiy": 0,
"bossBoar": 0,
"followerGluharAssault": 0,
"followerBully": 2,
"followerBigPipe": 0,
"followerSanitar": 0,
"followerKolontayAssault": 0,
"followerKolontaySecurity": 0,
"assault": 3,
"cursedAssault": 0,
"exUsec": 0,
"arenaFighter": 0,
"arenaFighterEvent": 1,
"crazyAssaultEvent": 1,
"pmcBot": 7,
"pmcUSEC": 4
},
"sandbox_high": {
"bossKilla": 2,
"bossKnight": 0,
"bossGluhar": 0,
"bossSanitar": 1,
"bossTagilla": 0,
"bossZryachiy": 0,
"bossBoar": 0,
"followerGluharAssault": 0,
"followerBully": 2,
"followerBigPipe": 0,
"followerSanitar": 0,
"followerKolontayAssault": 0,
"followerKolontaySecurity": 0,
"assault": 3,
"cursedAssault": 0,
"exUsec": 0,
"arenaFighter": 0,
"arenaFighterEvent": 1,
"crazyAssaultEvent": 1,
"pmcBot": 7,
"pmcUSEC": 4
}
}
},
"usecType": "pmcUSEC",
"bearType": "pmcBEAR",
"looseWeaponInBackpackChancePercent": 15,
"weaponHasEnhancementChancePercent": 5,
"looseWeaponInBackpackLootMinMax": {
"min": 1,
"max": 1
},
"maxBackpackLootTotalRub": [
{
"min": 1,
"max": 15,
"value": 100000
},
{
"min": 16,
"max": 35,
"value": 250000
},
{
"min": 36,
"max": 45,
"value": 450000
},
{
"min": 46,
"max": 64,
"value": 750000
},
{
"min": 65,
"max": 100,
"value": 2500000
}
],
"maxPocketLootTotalRub": 50000,
"maxVestLootTotalRub": 50000,
"convertIntoPmcChance": {
"default": {
"assault": {
"min": 25,
"max": 35
},
"cursedassault": {
"min": 15,
"max": 30
},
"pmcbot": {
"min": 5,
"max": 10
},
"exusec": {
"min": 5,
"max": 5
},
"arenafighter": {
"min": 0,
"max": 0
},
"arenafighterevent": {
"min": 0,
"max": 0
},
"crazyassaultevent": {
"min": 0,
"max": 0
}
},
"factory4_day": {
"assault": {
"min": 10,
"max": 15
}
},
"laboratory": {
"pmcbot": {
"min": 1,
"max": 5
}
},
"rezervbase": {
"pmcbot": {
"min": 0,
"max": 0
}
}
},
"hostilitySettings": {
"pmcusec": {
"additionalEnemyTypes": [
"bossPartisan",
"peacemaker",
"skier",
"ravangeZryachiyEvent",
"infectedAssault",
"infectedPmc",
"infectedCivil",
"infectedLaborant",
"infectedTagilla"
],
"additionalFriendlyTypes": ["shooterBTR", "sectactPriestEvent", "peacefullZryachiyEvent"],
"chancedEnemies": [
{
"EnemyChance": 100,
"Role": "assault"
},
{
"EnemyChance": 100,
"Role": "marksman"
},
{
"EnemyChance": 85,
"Role": "pmcUSEC"
},
{
"EnemyChance": 100,
"Role": "pmcBEAR"
}
],
"bearEnemyChance": 100,
"usecEnemyChance": 85,
"savageEnemyChance": 95,
"savagePlayerBehaviour": "AlwaysEnemies"
},
"pmcbear": {
"additionalEnemyTypes": [
"bossPartisan",
"peacemaker",
"skier",
"ravangeZryachiyEvent",
"infectedAssault",
"infectedPmc",
"infectedCivil",
"infectedLaborant",
"infectedTagilla"
],
"additionalFriendlyTypes": ["shooterBTR", "sectactPriestEvent", "peacefullZryachiyEvent"],
"chancedEnemies": [
{
"EnemyChance": 100,
"Role": "assault"
},
{
"EnemyChance": 100,
"Role": "marksman"
},
{
"EnemyChance": 85,
"Role": "pmcBEAR"
},
{
"EnemyChance": 100,
"Role": "pmcUSEC"
}
],
"bearEnemyChance": 85,
"usecEnemyChance": 100,
"savageEnemyChance": 95,
"savagePlayerBehaviour": "AlwaysEnemies"
}
},
"forceHealingItemsIntoSecure": true,
"addPrefixToSameNamePMCAsPlayerChance": 40,
"allPMCsHavePlayerNameWithRandomPrefixChance": 1,
"locationSpecificPmcLevelOverride": {
"sandbox": {
"min": 1,
"max": 20
},
"sandbox_high": {
"min": 21,
"max": 100
}
},
"addSecureContainerLootFromBotConfig": false
}
@@ -0,0 +1,25 @@
{
"victim": {
"responseChancePercent": 7,
"responseTypeWeights": {
"positive": 7,
"negative": 2,
"plead": 2
},
"stripCapitalisationChancePercent": 20,
"allCapsChancePercent": 20,
"appendBroToMessageEndChancePercent": 35
},
"killer": {
"responseChancePercent": 16,
"responseTypeWeights": {
"positive": 5,
"negative": 2,
"plead": 2,
"pity": 1
},
"stripCapitalisationChancePercent": 20,
"allCapsChancePercent": 15,
"appendBroToMessageEndChancePercent": 15
}
}
File diff suppressed because it is too large Load Diff
+437
View File
@@ -0,0 +1,437 @@
{
"runIntervalSeconds": 8,
"runIntervalValues": {
"inRaid": 60,
"outOfRaid": 8
},
"sell": {
"fees": true,
"chance": {
"base": 50,
"sellMultiplier": 1.24,
"maxSellChancePercent": 100,
"minSellChancePercent": 0
},
"time": {
"min": 0,
"max": 1.0
},
"expireSeconds": 71
},
"traders": {
"54cb50c76803fa8b248b4571": true,
"54cb57776803fa99248b456e": true,
"579dc571d53a0658a154fbec": false,
"58330581ace78e27b8b10cee": true,
"5935c25fb3acc3127c3d8cd9": true,
"5a7c2eca46aef81a7ca2145d": true,
"5ac3b934156ae10c4430e83c": true,
"5c0647fdd443bc2504c2d371": true,
"6617beeaa9cfa777ca915b7c": true,
"ragfair": false
},
"dynamic": {
"purchasesAreFoundInRaid": false,
"useTraderPriceForOffersIfHigher": true,
"barter": {
"chancePercent": 20,
"itemCountMin": 1,
"itemCountMax": 3,
"priceRangeVariancePercent": 15,
"minRoubleCostToBecomeBarter": 20000,
"makeSingleStackOnly": true,
"itemTypeBlacklist": [
"55802f4a4bdc2ddb688b4569",
"55802f3e4bdc2de7118b4584",
"543be5cb4bdc2deb348b4568",
"55818ac54bdc2d5b648b456e",
"5a74651486f7744e73386dd1"
]
},
"pack": {
"chancePercent": 6,
"itemCountMin": 4,
"itemCountMax": 17,
"itemTypeWhitelist": [
"5448eb774bdc2d0a728b4567",
"5448e8d64bdc2dce718b4568",
"5448f3ac4bdc2dce718b4569",
"543be6674bdc2df1348b4569",
"57864a3d24597754843f8721",
"57864a66245977548f04a81f",
"57864ada245977548638de91",
"57864ada245977548638de91"
]
},
"offerAdjustment": {
"adjustPriceWhenBelowHandbookPrice": false,
"maxPriceDifferenceBelowHandbookPercent": 64,
"handbookPriceMultipier": 1.1,
"priceThreshholdRub": 20000
},
"expiredOfferThreshold": 1400,
"offerItemCount": {
"min": 7,
"max": 30
},
"priceRanges": {
"default": {
"min": 0.8,
"max": 1.2
},
"preset": {
"min": 0.95,
"max": 1.05
},
"pack": {
"min": 0.75,
"max": 0.96
}
},
"ignoreQualityPriceVarianceBlacklist": [
"59e3577886f774176a362503",
"5d02797c86f774203f38e30a",
"5ab8e79e86f7742d8b372e78"
],
"showDefaultPresetsOnly": true,
"endTimeSeconds": {
"min": 360,
"max": 3600
},
"condition": {
"5422acb9af1c889c16000029": {
"_name": "WEAPON",
"conditionChance": 0.2,
"current": {
"min": 0,
"max": 1
},
"max": {
"min": 0.6,
"max": 1
}
},
"543be5664bdc2dd4348b4569": {
"_name": "MEDS",
"conditionChance": 0.2,
"current": {
"min": 0,
"max": 1
},
"max": {
"min": 0.6,
"max": 1
}
},
"5447e0e74bdc2d3c308b4567": {
"_name": "SPEC_ITEM",
"conditionChance": 0.3,
"current": {
"min": 0,
"max": 1
},
"max": {
"min": 0.02,
"max": 1
}
},
"543be5e94bdc2df1348b4568": {
"_name": "KEY",
"conditionChance": 0.04,
"current": {
"min": 0,
"max": 1
},
"max": {
"min": 0.96,
"max": 1
}
},
"5448e5284bdc2dcb718b4567": {
"_name": "VEST",
"conditionChance": 0.2,
"current": {
"min": 0,
"max": 1
},
"max": {
"min": 0.45,
"max": 1
}
},
"5448e54d4bdc2dcc718b4568": {
"_name": "ARMOR",
"conditionChance": 0.2,
"current": {
"min": 0,
"max": 1
},
"max": {
"min": 0.45,
"max": 1
}
},
"644120aa86ffbe10ee032b6f": {
"_name": "ARMOR_PLATE",
"conditionChance": 0.45,
"current": {
"min": 0,
"max": 1
},
"max": {
"min": 0.7,
"max": 1
}
},
"65649eb40bf0ed77b8044453": {
"_name": "BUILT_IN_INSERTS",
"conditionChance": 0.3,
"current": {
"min": 0,
"max": 1
},
"max": {
"min": 0.3,
"max": 1
}
},
"543be6674bdc2df1348b4569": {
"_name": "FOOD_DRINK",
"conditionChance": 0.05,
"current": {
"min": 1,
"max": 1
},
"max": {
"min": 0.05,
"max": 1
}
},
"5d650c3e815116009f6201d2": {
"_name": "FUEL",
"conditionChance": 0.12,
"current": {
"min": 1,
"max": 1
},
"max": {
"min": 0.7,
"max": 1
}
},
"5a341c4686f77469e155819e": {
"_name": "FACECOVER",
"conditionChance": 0.32,
"current": {
"min": 0,
"max": 1
},
"max": {
"min": 0.6,
"max": 1
}
},
"5448e5724bdc2ddf718b4568": {
"_name": "VISORS",
"conditionChance": 0.32,
"current": {
"min": 0,
"max": 1
},
"max": {
"min": 0.7,
"max": 1
}
},
"5a341c4086f77401f2541505": {
"_name": "HELMETS",
"conditionChance": 0.32,
"current": {
"min": 0,
"max": 1
},
"max": {
"min": 0.45,
"max": 1
}
},
"57bef4c42459772e8d35a53b": {
"_name": "ARMORED_EQUIPMENT",
"conditionChance": 0.25,
"current": {
"min": 0,
"max": 1
},
"max": {
"min": 0.05,
"max": 1
}
}
},
"stackablePercent": {
"min": 10,
"max": 600
},
"nonStackableCount": {
"min": 1,
"max": 10
},
"rating": {
"min": -2,
"max": 20
},
"armor": {
"removeRemovablePlateChance": 40,
"plateSlotIdToRemovePool": ["front_plate", "back_plate"]
},
"itemPriceMultiplier": {
"5737292724597765e5728562": 6,
"57372ac324597767001bc261": 5,
"5c110624d174af029e69734c": 38
},
"_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",
"62e910aaf957f2915e0a5e36",
"5447e1d04bdc2dff2f8b4567",
"57bef4c42459772e8d35a53b",
"55802f4a4bdc2ddb688b4569",
"616eb7aea207f41933308f46"
],
"removeSeasonalItemsWhenNotInEvent": true,
"blacklist": {
"damagedAmmoPacks": true,
"custom": [],
"enableBsgList": true,
"enableQuestList": true,
"traderItems": false,
"armorPlate": {
"maxProtectionLevel": 4,
"ignoreSlots": ["right_side_plate", "left_side_plate"]
},
"enableCustomItemCategoryList": false,
"customItemCategoryList": []
},
"unreasonableModPrices": {
"5448fe124bdc2da5018b4567": {
"itemType": "Weapon Mod",
"enabled": true,
"handbookPriceOverMultiplier": 6,
"newPriceHandbookMultiplier": 6
},
"57864a66245977548f04a81f": {
"itemType": "Electronics",
"enabled": true,
"handbookPriceOverMultiplier": 11,
"newPriceHandbookMultiplier": 11
}
},
"itemPriceOverrideRouble":{
"66bc98a01a47be227a5e956e": 500000,
"63a8970d7108f713591149f5": 50000,
"63a898a328e385334e0640a5": 100000,
"63a897c6b1ff6e29734fcc95": 200000
}
},
"tieredFlea": {
"enabled": false,
"unlocksTpl": {
"5d5d940f86f7742797262046": 32,
"545cdae64bdc2d39198b4568": 30,
"5b44c6ae86f7742d1627baea": 30,
"628e1ffc83ec92260c0f437f": 30,
"5f5e467b0bc58666c37e7821": 30,
"5c0e6a1586f77404597b4965": 26,
"5df8a42886f77412640e2e75": 25,
"5c94bbff86f7747ee735c08f": 30,
"63a0b208f444d32d6f03ea1e": 25,
"5c0530ee86f774697952d952": 25,
"57347ca924597744596b4e71": 35,
"5af04b6486f774195a3ebb49": 30,
"590c2e1186f77425357b6124": 30,
"590c5bbd86f774785762df04": 30,
"59e36c6f86f774176c10a2a7": 30,
"590a3b0486f7743954552bdb": 30,
"5c06782b86f77426df5407d2": 30,
"5c06779c86f77426e00dd782": 30,
"5d1b2fa286f77425227d1674": 30,
"57347cd0245977445a2d6ff1": 30,
"5d1b385e86f774252167b98a": 30,
"62a0a124de7ac81993580542": 40,
"5e42c81886f7742a01529f57": 40,
"5d1b371186f774253763a656": 35,
"5d1b36a186f7742523398433": 35,
"5e2af29386f7746d4159f077": 35,
"5d1b3a5d86f774252167ba22": 35,
"59e3577886f774176a362503": 35
},
"unlocksType": {
"57864a3d24597754843f8721": 35,
"57864a66245977548f04a81f": 20,
"57864ada245977548638de91": 20,
"590c745b86f7743cc433c5f2": 20,
"5447bedf4bdc2d87278b4568": 50,
"5447bed64bdc2d97278b4568": 40,
"5447b6254bdc2dc3278b4568": 35,
"5447b6194bdc2d67278b4567": 35,
"5447b5f14bdc2d61278b4567": 35,
"5447b5e04bdc2d62278b4567": 20,
"5447b6094bdc2dc3278b4567": 15,
"5447bee84bdc2dc3278b4569": 15,
"617f1ef5e8b54b0998387733": 10,
"5447b5cf4bdc2d65278b4567": 5,
"55818acf4bdc2dde698b456b": 20,
"55818ad54bdc2ddc698b4569": 23,
"55818add4bdc2d5b648b456f": 25,
"55818ae44bdc2dde698b456c": 30,
"55818aeb4bdc2ddc698b456a": 45,
"543be5cb4bdc2deb348b4568": 50,
"5c164d2286f774194c5e69fa": 40,
"5c99f98d86f7745c314214b3": 35
},
"ammoTiersEnabled": true,
"ammoTplUnlocks": {
"619636be6db0f2477964e710": 50,
"5fc382c1016cce60e8341b20": 50,
"5efb0cabfb3e451d70735af5": 35,
"64b8ee384b75259c590fa89b": 35,
"5d6e6911a4b9361bd5780d52": 35,
"5e85aa1a988a8701445df1f5": 35,
"6576f93989f0062e741ba952": 25,
"56dff061d2720bb5668b4567": 45,
"56dff2ced2720bb4668b4567": 40,
"64b7af434b75259c590fa893": 45,
"60194943740c5d77f6705eea": 35,
"5656d7c34bdc2d9d198b4587": 35,
"5e023e53d4353e3302577c4c": 25,
"5887431f2459777e1612938f": 30,
"59e77a2386f7742ee578960a": 35
}
}
}
+186
View File
@@ -0,0 +1,186 @@
{
"priceMultiplier": 1,
"applyRandomizeDurabilityLoss": true,
"weaponSkillRepairGain": 4.06,
"armorKitSkillPointGainPerRepairPointMultiplier": 0.05,
"repairKitIntellectGainMultiplier": {
"weapon": 0.045,
"armor": 0.03
},
"maxIntellectGainPerRepair": {
"kit": 0.6,
"trader": 0.6
},
"weaponTreatment": {
"critSuccessChance": 0.1,
"critSuccessAmount": 4,
"critFailureChance": 0.1,
"critFailureAmount": 4,
"pointGainMultiplier": 0.6
},
"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
}
}
}
},
"vest": {
"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
}
}
}
},
"headwear": {
"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
},
"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
}
}
},
"Rare": {
"WeaponSpread": {
"valuesMinMax": {
"min": 0.8,
"max": 0.9
},
"activeDurabilityPercentMinMax": {
"min": 75,
"max": 90
}
},
"MalfunctionProtections": {
"valuesMinMax": {
"min": 0.75,
"max": 0.9
},
"activeDurabilityPercentMinMax": {
"min": 75,
"max": 90
}
},
"WeaponDamage": {
"valuesMinMax": {
"min": 0.3,
"max": 0.6
},
"activeDurabilityPercentMinMax": {
"min": 75,
"max": 90
}
}
}
}
}
}
+111
View File
@@ -0,0 +1,111 @@
{
"rewardItemValueRangeRub": {
"common": {
"min": 100,
"max": 10000
},
"rare": {
"min": 1001,
"max": 100000
},
"superrare": {
"min": 10001,
"max": 1200000
}
},
"rewardItemParentBlacklist": [
"5485a8684bdc2da71d8b4567",
"543be5dd4bdc2deb348b4569",
"55802f4a4bdc2ddb688b4569",
"5448bf274bdc2dfc2f8b456a",
"5d52cc5ba4b9367408500062",
"62f109593b54472778797866",
"65649eb40bf0ed77b8044453"
],
"rewardItemBlacklist": [],
"moneyRewards": {
"moneyRewardChancePercent": 5,
"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": 900
},
"superrare": {
"min": 900,
"max": 2000
}
},
"eurCount": {
"common": {
"min": 100,
"max": 400
},
"rare": {
"min": 400,
"max": 900
},
"superrare": {
"min": 900,
"max": 2000
}
},
"gpCount": {
"common": {
"min": 1,
"max": 2
},
"rare": {
"min": 2,
"max": 5
},
"superrare": {
"min": 5,
"max": 15
}
}
},
"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
}
}
},
"allowMultipleMoneyRewardsPerRarity": false,
"allowMultipleAmmoRewardsPerRarity": true,
"allowBossItemsAsRewards": false
}
File diff suppressed because it is too large Load Diff
+455
View File
@@ -0,0 +1,455 @@
{
"updateTime": [
{
"_name": "prapor",
"traderId": "54cb50c76803fa8b248b4571",
"seconds": {
"min": 7000,
"max": 13500
}
},
{
"_name": "therapist",
"traderId": "54cb57776803fa99248b456e",
"seconds": {
"min": 3000,
"max": 9500
}
},
{
"_name": "fence",
"traderId": "579dc571d53a0658a154fbec",
"seconds": {
"min": 3000,
"max": 9000
}
},
{
"_name": "skier",
"traderId": "58330581ace78e27b8b10cee",
"seconds": {
"min": 5000,
"max": 9000
}
},
{
"_name": "peacekeeper",
"traderId": "5935c25fb3acc3127c3d8cd9",
"seconds": {
"min": 2000,
"max": 15000
}
},
{
"_name": "mechanic",
"traderId": "5a7c2eca46aef81a7ca2145d",
"seconds": {
"min": 6500,
"max": 13500
}
},
{
"_name": "ragman",
"traderId": "5ac3b934156ae10c4430e83c",
"seconds": {
"min": 6500,
"max": 15000
}
},
{
"_name": "jaeger",
"traderId": "5c0647fdd443bc2504c2d371",
"seconds": {
"min": 2000,
"max": 5500
}
},
{
"_name": "btr",
"traderId": "656f0f98d80a697f855d34b1",
"seconds": {
"min": 3000,
"max": 7500
}
},
{
"_name": "Ref",
"traderId": "6617beeaa9cfa777ca915b7c",
"seconds": {
"min": 3000,
"max": 7500
}
},
{
"traderId": "ragfair",
"seconds": {
"min": 3600,
"max": 3600
}
}
],
"updateTimeDefault": 3600,
"tradersResetFromServerStart": true,
"purchasesAreFoundInRaid": false,
"traderPriceMultipler": 1,
"fence": {
"discountOptions": {
"assortSize": 45,
"itemPriceMult": 0.8,
"presetPriceMult": 1.15,
"weaponPresetMinMax": {
"min": 5,
"max": 12
},
"equipmentPresetMinMax": {
"min": 5,
"max": 12
}
},
"partialRefreshTimeSeconds": 240,
"partialRefreshChangePercent": 15,
"assortSize": 120,
"weaponPresetMinMax": {
"min": 12,
"max": 19
},
"equipmentPresetMinMax": {
"min": 8,
"max": 15
},
"itemPriceMult": 1.3,
"presetPriceMult": 1.3,
"regenerateAssortsOnRefresh": false,
"itemTypeLimits": {
"5448eb774bdc2d0a728b4567": 10,
"5c518ec986f7743b68682ce2": 3,
"5c518ed586f774119a772aee": 0,
"5448bc234bdc2d3c308b4569": 16,
"55802f4a4bdc2ddb688b4569": 3,
"644120aa86ffbe10ee032b6f": 3,
"5c99f98d86f7745c314214b3": 2,
"5447b5cf4bdc2d65278b4567": 4,
"55818a104bdc2db9688b4569": 1,
"55818a304bdc2db5418b457d": 1,
"5448fe394bdc2d0d028b456c": 0,
"55818a594bdc2db9688b456a": 0,
"55818a604bdc2db5418b457e": 0,
"55818a684bdc2ddd698b456d": 1,
"55818a6f4bdc2db9688b456b": 1,
"55818ac54bdc2d5b648b456e": 1,
"55818acf4bdc2dde698b456b": 0,
"55818ad54bdc2ddc698b4569": 0,
"55818add4bdc2d5b648b456f": 0,
"55818ae44bdc2dde698b456c": 0,
"55818aeb4bdc2ddc698b456a": 0,
"55818af64bdc2d5b648b4570": 0,
"55818afb4bdc2dde698b456d": 1,
"55818b014bdc2ddc698b456b": 1,
"55818b084bdc2d5b648b4571": 1,
"55818b0e4bdc2dde698b456e": 0,
"55818b164bdc2ddc698b456c": 0,
"55818b1d4bdc2d5b648b4572": 1,
"55818b224bdc2dde698b456f": 1,
"550aa4cd4bdc2dd8348b456c": 0,
"550aa4dd4bdc2dc9348b4569": 1,
"5a74651486f7744e73386dd1": 0,
"5a2c3a9486f774688b05e574": 0,
"56ea9461d2720b67698b456f": 0,
"5448f3a64bdc2d60728b456a": 0,
"5a341c4686f77469e155819e": 7,
"5485a8684bdc2da71d8b4567": 23,
"5f4fbaaca5573a5ac31db429": 0,
"5447e0e74bdc2d3c308b4567": 4,
"57bef4c42459772e8d35a53b": 2,
"5b3f15d486f77432d0509248": 3,
"543be6564bdc2df4348b4568": 0,
"5448ecbe4bdc2d60728b4568": 0,
"5671435f4bdc2d96058b4569": 0,
"543be5cb4bdc2deb348b4568": 5,
"5448e53e4bdc2d60728b4567": 7
},
"preventDuplicateOffersOfCategory": [
"543be5cb4bdc2deb348b4568",
"57bef4c42459772e8d35a53b",
"5485a8684bdc2da71d8b4567",
"5448f3ac4bdc2dce718b4569",
"5448f39d4bdc2d0a728b4568",
"5448f3a14bdc2d27728b4569",
"5448bc234bdc2d3c308b4569",
"543be5e94bdc2df1348b4568",
"5448eb774bdc2d0a728b4567",
"5447e1d04bdc2dff2f8b4567",
"5448e53e4bdc2d60728b4567",
"5448ecbe4bdc2d60728b4568",
"543be6674bdc2df1348b4569",
"5448fe124bdc2da5018b4567",
"567849dd4bdc2d150f8b456e",
"5a341c4686f77469e155819e",
"5448e5284bdc2dcb718b4567",
"5447e0e74bdc2d3c308b4567",
"5b3f15d486f77432d0509248",
"5645bcb74bdc2ded0b8b4578",
"5795f317245977243854e041"
],
"weaponDurabilityPercentMinMax": {
"current": {
"min": 40,
"max": 100
},
"max": {
"min": 89,
"max": 100
}
},
"chancePlateExistsInArmorPercent": {
"3": 95,
"4": 75,
"5": 25,
"6": 10
},
"armorMaxDurabilityPercentMinMax": {
"current": {
"min": 50,
"max": 100
},
"max": {
"min": 80,
"max": 100
}
},
"itemStackSizeOverrideMinMax": {
"59e690b686f7746c9f75e848": {
"min": 5,
"max": 15
},
"5485a8684bdc2da71d8b4567": {
"min": 80,
"max": 7000
},
"543be5cb4bdc2deb348b4568": {
"min": 1,
"max": 16
},
"5b432b965acfc47a8774094e": {
"min": 120,
"max": 352
},
"544fb25a4bdc2dfb738b4567": {
"min": 120,
"max": 700
},
"5e831507ea0a7c419c2f9bd9": {
"min": 5,
"max": 100
},
"5755356824597772cb798962": {
"min": 1,
"max": 400
},
"544fb3364bdc2d34748b456a": {
"min": 1,
"max": 800
},
"5448bc234bdc2d3c308b4569": {
"min": 1,
"max": 50
},
"5448f3a14bdc2d27728b4569": {
"min": 1,
"max": 25
}
},
"itemCategoryRoublePriceLimit": {
"5448eb774bdc2d0a728b4567": 14000,
"5485a8684bdc2da71d8b4567": 230,
"5795f317245977243854e041": 30000,
"5448ecbe4bdc2d60728b4568": 40000,
"57864a3d24597754843f8721": 40000,
"5448e53e4bdc2d60728b4567": 90000,
"5a341c4686f77469e155819e": 24000,
"57864a66245977548f04a81f": 71000,
"5448e54d4bdc2dcc718b4568": 100000,
"5a2c3a9486f774688b05e574": 70000,
"5448f3a64bdc2d60728b456a": 70000,
"5447b6194bdc2d67278b4567": 103000,
"550aa4cd4bdc2dd8348b456c": 70000,
"57864ee62459775490116fc1": 95000,
"5448bc234bdc2d3c308b4569": 29000,
"5447b6094bdc2dc3278b4567": 35009,
"5447bedf4bdc2d87278b4568": 27008,
"5447bed64bdc2d97278b4568": 27007,
"5447b5e04bdc2d62278b4567": 33006,
"5447b5fc4bdc2d87278b4567": 60000,
"5447b5f14bdc2d61278b4567": 60000,
"5447b5cf4bdc2d65278b4567": 28003,
"5447b6254bdc2dc3278b4568": 28002,
"5447e1d04bdc2dff2f8b4567": 19001,
"55818ae44bdc2dde698b456c": 45000,
"55818add4bdc2d5b648b456f": 35000,
"590c745b86f7743cc433c5f2": 64000,
"57864bb7245977548b3b66c2": 85000,
"5448e5284bdc2dcb718b4567": 59001,
"5a341c4086f77401f2541505": 35000,
"5d21f59b6dbe99052b54ef83": 45000,
"5645bcb74bdc2ded0b8b4578": 35000,
"644120aa86ffbe10ee032b6f": 20000,
"57864c8c245977548867e7f1": 15000,
"5447e0e74bdc2d3c308b4567": 20000,
"616eb7aea207f41933308f46": 40000,
"5b3f15d486f77432d0509248": 5000,
"5448f3ac4bdc2dce718b4569": 42000,
"5448f3a14bdc2d27728b4569": 20000,
"543be5cb4bdc2deb348b4568": 15000,
"5c99f98d86f7745c314214b3": 15000
},
"presetSlotsToRemoveChancePercent": {
"mod_scope": 70,
"mod_magazine": 50,
"mod_sight_rear": 20,
"mod_sight_front": 20,
"mod_muzzle": 40,
"mod_pistol_grip": 5,
"mod_stock": 5,
"mod_handguard": 10,
"mod_barrel": 5,
"mod_stock_000": 10,
"mod_tactical_2": 35,
"mod_foregrip": 20,
"mod_mount": 40,
"mod_reciever": 5,
"mod_charge": 5,
"mod_mount_000": 20,
"mod_mount_002": 20,
"mod_mount_003": 20,
"mod_mount_004": 20,
"mod_tactical": 40,
"mod_tactical_000": 40,
"mod_tactical_001": 40,
"mod_tactical_002": 40,
"mod_tactical_003": 40,
"front_plate": 25,
"back_plate": 75,
"left_side_plate": 75,
"right_side_plate": 75
},
"ammoMaxPenLimit": 20,
"blacklistSeasonalItems": true,
"blacklist": [
"5c164d2286f774194c5e69fa",
"543be6674bdc2df1348b4569",
"5448bf274bdc2dfc2f8b456a",
"5447bedf4bdc2d87278b4568",
"6275303a9f372d6ea97f9ec7",
"62e9103049c018f425059f38",
"59f32c3b86f77472a31742f0",
"6662e9f37fa79a6d83730fa0",
"6662ea05f6259762c56f3189",
"59f32bb586f774757e1e8442",
"6662e9aca7e0b43baa3d5f74",
"6662e9cda7e0b43baa3d5f76",
"627bce33f21bc425b06ab967",
"62f109593b54472778797866",
"5d52cc5ba4b9367408500062",
"5d52d479a4b936793d58c76b",
"5e99711486f7744bfc4af328",
"62f10b79e7ee985f386b2f47",
"633ffb5d419dbf4bea7004c6",
"543be5dd4bdc2deb348b4569",
"65649eb40bf0ed77b8044453",
"5448e54d4bdc2dcc718b4568",
"5a341c4086f77401f2541505",
"5422acb9af1c889c16000029",
"64d0b40fbe2eed70e254e2d4",
"5fc22d7c187fea44d52eda44",
"646372518610c40fc20204e8",
"65ddcc9cfa85b9f17d0dfb07",
"660312cc4d6cdfa6f500c703",
"6655e35b6bc645cb7b059912"
],
"coopExtractGift": {
"sendGift": true,
"messageLocaleIds": ["5da89b1886f77439d7741002 0", "5da89b3a86f7742f9026cb83 0"],
"giftExpiryHours": 168,
"weaponPresetCount": {
"min": 0,
"max": 0
},
"armorPresetCount": {
"min": 0,
"max": 0
},
"itemCount": {
"min": 2,
"max": 5
},
"weaponCrateCount": {
"min": 0,
"max": 0
},
"itemBlacklist": [
"5e997f0b86f7741ac73993e2",
"5b44abe986f774283e2e3512",
"5e99711486f7744bfc4af328",
"5e99735686f7744bfc4af32c",
"6087e570b998180e9f76dc24",
"5d52d479a4b936793d58c76b",
"5e85aac65505fa48730d8af2",
"63495c500c297e20065a08b1",
"5cde8864d7f00c0010373be1",
"5b3b713c5acfc4330140bd8d",
"60c080eb991ac167ad1c3ad4",
"6389c7f115805221fb410466"
],
"itemTypeWhitelist": [
"5d650c3e815116009f6201d2",
"57864ee62459775490116fc1",
"57864ada245977548638de91",
"57864bb7245977548b3b66c2",
"57864e4c24597754843f8723",
"57864c322459775490116fbf",
"57864a66245977548f04a81f"
],
"itemLimits": {
"5d650c3e815116009f6201d2": 1,
"57864ee62459775490116fc1": 1,
"57864ada245977548638de91": 2,
"57864bb7245977548b3b66c2": 1,
"57864e4c24597754843f8723": 1,
"57864a66245977548f04a81f": 1,
"5448e8d04bdc2ddf718b4569": 1,
"5448e8d64bdc2dce718b4568": 1,
"5448bc234bdc2d3c308b4569": 1,
"5448e5724bdc2ddf718b4568": 1,
"55818add4bdc2d5b648b456f": 1,
"543be6564bdc2df4348b4568": 1,
"550aa4cd4bdc2dd8348b456c": 1,
"5448f39d4bdc2d0a728b4568": 1,
"5448f3a14bdc2d27728b4569": 1,
"5447e1d04bdc2dff2f8b4567": 1,
"55818ad54bdc2ddc698b4569": 1
},
"itemStackLimits": {
"5449016a4bdc2d6f028b456f": {
"min": 5000,
"max": 20000
},
"569668774bdc2da2298b4568": {
"min": 75,
"max": 150
},
"5696686a4bdc2da3298b456a": {
"min": 75,
"max": 150
}
},
"allowBossItems": false,
"useRewarditemBlacklist": true
},
"btrDeliveryExpireHours": 240,
"playerRepMin": -7,
"playerRepMax": 15
},
"moddedTraders": {
"clothingService": []
}
}
+181
View File
@@ -0,0 +1,181 @@
{
"acceleration": 7,
"weather": {
"generateWeatherAmountHours": 24,
"clouds": {
"values": [-1, -0.8, -0.5, 0.1, 0, 0.15, 0.4, 1],
"weights": [80, 22, 22, 15, 15, 15, 5, 4]
},
"windSpeed": {
"values": [0, 1, 2, 3, 4],
"weights": [6, 3, 2, 1, 1]
},
"windDirection": {
"values": [1, 2, 3, 4, 5, 6, 7, 8],
"weights": [1, 1, 1, 1, 1, 1, 1, 1]
},
"windGustiness": {
"min": 0,
"max": 1
},
"rain": {
"values": [1, 2, 3, 4, 5],
"weights": [20, 1, 1, 1, 1]
},
"rainIntensity": {
"min": 0,
"max": 1
},
"fog": {
"values": [0.0013, 0.0018, 0.002, 0.004, 0.006],
"weights": [35, 6, 4, 3, 1]
},
"temp": {
"0": {
"day": {
"min": 17,
"max": 32
},
"night": {
"min": 14,
"max": 24
}
},
"1": {
"day": {
"min": 7,
"max": 15
},
"night": {
"min": 2,
"max": 12
}
},
"2": {
"day": {
"min": -10,
"max": 5
},
"night": {
"min": -20,
"max": 0
}
},
"3": {
"day": {
"min": 1,
"max": 15
},
"night": {
"min": -10,
"max": 5
}
},
"4": {
"day": {
"min": 3,
"max": 11
},
"night": {
"min": -2,
"max": 8
}
},
"5": {
"day": {
"min": -4,
"max": 7
},
"night": {
"min": -10,
"max": 3
}
},
"6": {
"day": {
"min": 0,
"max": 24
},
"night": {
"min": -10,
"max": 8
}
}
},
"pressure": {
"min": 760,
"max": 780
},
"timePeriod": {
"values": [15, 30],
"weights": [1, 2]
}
},
"seasonDates": [
{
"seasonType": 0,
"name": "SUMMER",
"startDay": "2",
"startMonth": "6",
"endDay": "15",
"endMonth": "10"
},
{
"seasonType": 1,
"name": "AUTUMN",
"startDay": "15",
"startMonth": "10",
"endDay": "1",
"endMonth": "11"
},
{
"seasonType": 4,
"name": "AUTUMN_LATE",
"startDay": "1",
"startMonth": "11",
"endDay": "21",
"endMonth": "12"
},
{
"seasonType": 2,
"name": "WINTER_START",
"startDay": "21",
"startMonth": "12",
"endDay": "31",
"endMonth": "12"
},
{
"seasonType": 2,
"name": "WINTER_END",
"startDay": "1",
"startMonth": "1",
"endDay": "9",
"endMonth": "1"
},
{
"seasonType": 5,
"name": "SPRING_EARLY",
"startDay": "9",
"startMonth": "1",
"endDay": "25",
"endMonth": "3"
},
{
"seasonType": 3,
"name": "SPRING",
"startDay": "25",
"startMonth": "3",
"endDay": "2",
"endMonth": "6"
},
{
"seasonType": 4,
"name": "STORM",
"startDay": "24",
"startMonth": "10",
"endDay": "4",
"endMonth": "11"
}
],
"overrideSeason": null
}
+92
View File
@@ -0,0 +1,92 @@
{
"_id": "60dc8576337fdf54e60e1800",
"aid": 0,
"savage": null,
"Info": {
"Nickname": "BOTNAME",
"LowerNickname": "",
"Side": "Savage",
"Voice": "Scav_1",
"Level": 1,
"Experience": 0,
"RegistrationDate": 0,
"GameVersion": "",
"AccountType": 0,
"MemberCategory": 0,
"SelectedMemberCategory": 0,
"lockedMoveCommands": false,
"SavageLockTime": 0,
"LastTimePlayedAsSavage": 0,
"Settings": {
"Role": "assault",
"BotDifficulty": "normal",
"Experience": -1,
"StandingForKill": -0.04,
"AggressorBonus": 0.02
},
"NicknameChangeDate": 0,
"NeedWipeOptions": [],
"lastCompletedWipe": null,
"lastCompletedEvent": null,
"BannedState": false,
"BannedUntil": 0,
"IsStreamerModeAvailable": false,
"SquadInviteRestriction": false,
"HasCoopExtension": false,
"isMigratedSkills": false,
"HasPveGame": false
},
"Customization": {
"Head": "5cc2e4d014c02e000d0115f8",
"Body": "5cc2e59214c02e000f16684e",
"Feet": "5cde9fb87d6c8b0474535da9",
"Hands": "5cc2e68f14c02e28b47de290"
},
"Health": {
"UpdateTime": 0,
"Immortal": false
},
"Inventory": {
"fastPanel": {},
"hideoutAreaStashes": {},
"favoriteItems": []
},
"Skills": {
"Common": [],
"Mastering": [],
"Points": 0
},
"Stats": {
"Eft": {
"SessionCounters": {
"Items": []
},
"OverallCounters": {
"Items": []
},
"SessionExperienceMult": 0,
"ExperienceBonusMult": 0,
"TotalSessionExperience": 0,
"LastSessionDate": 0,
"Aggressor": null,
"DroppedItems": [],
"FoundInRaidItems": [],
"Victims": [],
"CarriedQuestItems": [],
"DamageHistory": {
"LethalDamagePart": "Head",
"LethalDamage": null,
"BodyParts": []
},
"LastPlayerState": null,
"TotalInGameTime": 0,
"SurvivorClass": "Unknown"
}
},
"Encyclopedia": null,
"TaskConditionCounters": {},
"InsuredItems": [],
"Hideout": null,
"Bonuses": [],
"WishList": []
}
+135
View 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
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More