Updated Progressive Bot System

This commit is contained in:
Rage 2025-01-08 21:06:49 -05:00
parent 766b851cab
commit 26d2331891
148 changed files with 587732 additions and 526 deletions

2
.gitignore vendored
View File

@ -1,4 +1,4 @@
mods/Config Files/BepInEx/config/com.mpstark.DynamicMaps.cfg
mods/Config Files/BepInEx/config/xyz.drakia.questtracker.cfg
mods/Dynamic Goons/user/mods/inory-dynamicgoons/src/db/rotationData.json
mods/Config Files/BepInEx/config/com.Amanda.Graphics.cfg

View File

@ -1,7 +1,7 @@
[General]
gameName=spt
modid=0
version=d2025.1.7.0
version=d2025.1.8.0
newestVersion=
category="1,"
nexusFileStatus=1

View File

@ -15,9 +15,9 @@
// enableSafeGuard - Enables preventing weapon importing from bastardizing vanilla weapons. If you disable this, you will get cursed vanilla weapons.
// Higher weights = more often. Lower weights = less often. If you add a LOT of mod weapons, I suggest using a lower value.
// REVIEW THE APBS LOGS TO TUNE YOUR CONFIG. (\user\mods\acidphantasm-progressivebotsystem\logs)
"enableModdedWeapons": true,
"enableModdedEquipment": true,
"enableModdedClothing": true,
"enableModdedWeapons": false,
"enableModdedEquipment": false,
"enableModdedClothing": false,
"initalTierAppearance": 3,
"pmcWeaponWeights": 10,
"scavWeaponWeights": 1,
@ -50,6 +50,12 @@
"disableBossFollowerTierGeneration": false,
"disableRaiderRogueTierGeneration": false,
// Enable/Disable bots having the chance to roll ammo choice for rig magazines after selecting ammo choice for weapon
// "enableBotsToRollAmmoAgain" If set to true, AI PMCs will roll their ammo choice for additional magazines based on the chance configured - if false all magazines will always have the same ammo selected for the weapon.
// "chanceToRollAmmoAgain" chance out of 100 that bot will roll ammo again for each subsequent additional magazine they spawn with in their rig.
"enableBotsToRollAmmoAgain": true,
"chanceToRollAmmoAgain": 50,
// Enable/Disable custom game version weights for AI PMCs
// If set to true, AI PMCs will roll their weights from the values below - if false will use SPT defaults.
// The values listed below ARE the SPT defaults (for reference)
@ -169,10 +175,10 @@
// Explanation: "pmcMedRates": [ Chance for full resource value available, Minimum percent of item randomized between min and max resource ]
// Example.. "pmcMedRates": [ 65, 20 ] --- AFAK on a PMC has a 65% chance to be 400/400 and 35% chance to be between 0% and 80% used (it would spawn somewhere between 80/400 to 400/400).
"enableConsumableResourceRandomization": true,
"scavFoodRates": [ 25, 60 ],
"scavMedRates": [ 25, 60 ],
"pmcFoodRates": [ 65, 60 ],
"pmcMedRates": [ 65, 60 ],
"scavFoodRates": [ 10, 25 ],
"scavMedRates": [ 10, 25 ],
"pmcFoodRates": [ 10, 25 ],
"pmcMedRates": [ 10, 25 ],
// Blacklist specific ammo types from all AI -- USE "https://db.sp-tarkov.com/" to get the item _id
// Configure per tier blacklists
@ -231,12 +237,12 @@
// IF YOU WANT EVERY TIER AT EVERY LEVEL, SET ALL OF THESE TO: [ 79, 79 ]
"enableCustomLevelDeltas": false,
"tier1LevelDelta": [ 10, 5 ],
"tier2LevelDelta": [ 15, 5 ],
"tier3LevelDelta": [ 25, 7 ],
"tier4LevelDelta": [ 35, 10 ],
"tier5LevelDelta": [ 45, 15 ],
"tier6LevelDelta": [ 55, 20 ],
"tier7LevelDelta": [ 60, 20 ],
"tier2LevelDelta": [ 10, 5 ],
"tier3LevelDelta": [ 15, 7 ],
"tier4LevelDelta": [ 20, 10 ],
"tier5LevelDelta": [ 30, 15 ],
"tier6LevelDelta": [ 40, 20 ],
"tier7LevelDelta": [ 50, 20 ],
// LevelDelta's are the lowest and highest levels that AI can spawn relative to the player's level.
// Examples:
@ -246,12 +252,12 @@
// Default values below will always spawn scavs that are at least 1 tier below you unless you are Tier1.
"enableScavCustomLevelDeltas": false,
"tier1ScavLevelDelta": [ 10, 0 ],
"tier2ScavLevelDelta": [ 20, -10 ],
"tier3ScavLevelDelta": [ 30, -10 ],
"tier4ScavLevelDelta": [ 40, -10 ],
"tier5ScavLevelDelta": [ 50, -10 ],
"tier6ScavLevelDelta": [ 60, -10 ],
"tier7ScavLevelDelta": [ 70, -10 ],
"tier2ScavLevelDelta": [ 10, -10 ],
"tier3ScavLevelDelta": [ 15, -10 ],
"tier4ScavLevelDelta": [ 20, -10 ],
"tier5ScavLevelDelta": [ 30, -10 ],
"tier6ScavLevelDelta": [ 40, -10 ],
"tier7ScavLevelDelta": [ 50, -10 ],
// Enable/disable debug logging
"enableDebugLog": true

View File

@ -1,6 +1,6 @@
{
"name": "Acids Progressive Bot System",
"version": "1.4.0-alpha",
"version": "1.4.0",
"sptVersion": "~3.10",
"loadBefore": [],
"loadAfter": [

View File

@ -618,13 +618,11 @@
"grenades": {
"weights": {
"0": 70,
"1": 30,
"2": 0,
"3": 0,
"4": 0
"1": 30
},
"whitelist": {
"5710c24ad2720bc3458b45a3": 3,
"5448be9a4bdc2dfd2f8b456a": 3,
"58d3db5386f77426186285a0": 3,
"5a0c27731526d80618476ac4": 3,
"619256e5f8af2c1a4e1f5d92": 3,
@ -1319,13 +1317,11 @@
"grenades": {
"weights": {
"0": 70,
"1": 30,
"2": 0,
"3": 0,
"4": 0
"1": 30
},
"whitelist": {
"5710c24ad2720bc3458b45a3": 3,
"5448be9a4bdc2dfd2f8b456a": 3,
"58d3db5386f77426186285a0": 3,
"5a0c27731526d80618476ac4": 3,
"619256e5f8af2c1a4e1f5d92": 3,
@ -1988,14 +1984,20 @@
},
"grenades": {
"weights": {
"0": 8,
"1": 6,
"2": 2,
"3": 1,
"4": 0,
"5": 0
"0": 50,
"1": 40,
"2": 7,
"3": 3
},
"whitelist": {}
"whitelist": {
"5710c24ad2720bc3458b45a3": 3,
"5448be9a4bdc2dfd2f8b456a": 3,
"58d3db5386f77426186285a0": 3,
"5a0c27731526d80618476ac4": 7,
"619256e5f8af2c1a4e1f5d92": 1,
"617aa4dd8166f034d57de9c5": 1,
"5a2a57cfc4a2826c6e06d44a": 7
}
},
"healing": {
"weights": {
@ -10282,7 +10284,7 @@
"mod_muzzle": 50,
"mod_muzzle_000": 100,
"mod_muzzle_001": 100,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -10576,7 +10578,7 @@
"mod_muzzle": 78,
"mod_muzzle_000": 0,
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -10629,7 +10631,7 @@
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip": 100,
"mod_pistolgrip_000": 0,
"mod_reciever": 0,
"mod_scope": 100,
@ -11822,7 +11824,7 @@
"mod_muzzle": 93,
"mod_muzzle_000": 0,
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -11975,7 +11977,7 @@
"mod_muzzle": 93,
"mod_muzzle_000": 0,
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -13735,7 +13737,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13786,7 +13788,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13837,7 +13839,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13888,7 +13890,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13939,7 +13941,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13990,7 +13992,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14041,7 +14043,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14092,7 +14094,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14143,7 +14145,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14194,7 +14196,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,

View File

@ -619,9 +619,7 @@
"weights": {
"0": 60,
"1": 35,
"2": 5,
"3": 0,
"4": 0
"2": 5
},
"whitelist": {
"5710c24ad2720bc3458b45a3": 5,
@ -1271,8 +1269,8 @@
},
"food": {
"weights": {
"0": 50,
"1": 50
"0": 80,
"1": 20
},
"whitelist": {
"57347da92459774491567cf5": 5,
@ -1295,8 +1293,8 @@
},
"drink": {
"weights": {
"0": 50,
"1": 50
"0": 80,
"1": 20
},
"whitelist": {
"5448fee04bdc2dbc018b4567": 5,
@ -1325,9 +1323,7 @@
"weights": {
"0": 60,
"1": 35,
"2": 5,
"3": 0,
"4": 0
"2": 5
},
"whitelist": {
"5710c24ad2720bc3458b45a3": 5,
@ -1998,14 +1994,20 @@
},
"grenades": {
"weights": {
"0": 8,
"1": 6,
"2": 2,
"3": 1,
"4": 0,
"5": 0
"0": 50,
"1": 40,
"2": 7,
"3": 3
},
"whitelist": {}
"whitelist": {
"5710c24ad2720bc3458b45a3": 3,
"5448be9a4bdc2dfd2f8b456a": 3,
"58d3db5386f77426186285a0": 3,
"5a0c27731526d80618476ac4": 7,
"619256e5f8af2c1a4e1f5d92": 1,
"617aa4dd8166f034d57de9c5": 1,
"5a2a57cfc4a2826c6e06d44a": 7
}
},
"healing": {
"weights": {
@ -10292,7 +10294,7 @@
"mod_muzzle": 50,
"mod_muzzle_000": 100,
"mod_muzzle_001": 100,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -10586,7 +10588,7 @@
"mod_muzzle": 78,
"mod_muzzle_000": 0,
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -10639,7 +10641,7 @@
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip": 100,
"mod_pistolgrip_000": 0,
"mod_reciever": 0,
"mod_scope": 100,
@ -11832,7 +11834,7 @@
"mod_muzzle": 93,
"mod_muzzle_000": 0,
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -11985,7 +11987,7 @@
"mod_muzzle": 93,
"mod_muzzle_000": 0,
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -13745,7 +13747,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13796,7 +13798,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13847,7 +13849,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13898,7 +13900,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13949,7 +13951,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14000,7 +14002,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14051,7 +14053,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14102,7 +14104,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14153,7 +14155,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14204,7 +14206,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,

View File

@ -566,8 +566,8 @@
},
"food": {
"weights": {
"0": 50,
"1": 50
"0": 80,
"1": 20
},
"whitelist": {
"57347da92459774491567cf5": 5,
@ -618,11 +618,10 @@
},
"grenades": {
"weights": {
"0": 35,
"0": 45,
"1": 35,
"2": 15,
"3": 5,
"4": 0
"3": 5
},
"whitelist": {
"5710c24ad2720bc3458b45a3": 10,
@ -1277,8 +1276,8 @@
},
"food": {
"weights": {
"0": 50,
"1": 50
"0": 80,
"1": 20
},
"whitelist": {
"57347da92459774491567cf5": 5,
@ -1329,11 +1328,10 @@
},
"grenades": {
"weights": {
"0": 35,
"0": 45,
"1": 35,
"2": 15,
"3": 5,
"4": 0
"3": 5
},
"whitelist": {
"5710c24ad2720bc3458b45a3": 10,
@ -2008,14 +2006,20 @@
},
"grenades": {
"weights": {
"0": 8,
"1": 6,
"2": 2,
"3": 1,
"4": 0,
"5": 0
"0": 50,
"1": 40,
"2": 7,
"3": 3
},
"whitelist": {}
"whitelist": {
"5710c24ad2720bc3458b45a3": 3,
"5448be9a4bdc2dfd2f8b456a": 3,
"58d3db5386f77426186285a0": 3,
"5a0c27731526d80618476ac4": 7,
"619256e5f8af2c1a4e1f5d92": 1,
"617aa4dd8166f034d57de9c5": 1,
"5a2a57cfc4a2826c6e06d44a": 7
}
},
"healing": {
"weights": {
@ -10302,7 +10306,7 @@
"mod_muzzle": 50,
"mod_muzzle_000": 100,
"mod_muzzle_001": 100,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -10596,7 +10600,7 @@
"mod_muzzle": 78,
"mod_muzzle_000": 0,
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -10649,7 +10653,7 @@
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip": 100,
"mod_pistolgrip_000": 0,
"mod_reciever": 0,
"mod_scope": 100,
@ -11842,7 +11846,7 @@
"mod_muzzle": 93,
"mod_muzzle_000": 0,
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -11995,7 +11999,7 @@
"mod_muzzle": 93,
"mod_muzzle_000": 0,
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -13755,7 +13759,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13806,7 +13810,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13857,7 +13861,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13908,7 +13912,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13959,7 +13963,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14010,7 +14014,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14061,7 +14065,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14112,7 +14116,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14163,7 +14167,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14214,7 +14218,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,

View File

@ -10569,8 +10569,7 @@
"mod_stock": [
"5d25d0ac8abbc3054f3e61f7",
"5bfeb32b0db834001a6694d9",
"5cdeac22d7f00c000f26168f",
"5cf13123d7f00c1085616a50"
"5cdeac22d7f00c000f26168f"
]
},
"5bfea7ad0db834001c38f1ee": {

View File

@ -565,8 +565,8 @@
},
"food": {
"weights": {
"0": 50,
"1": 50
"0": 75,
"1": 25
},
"whitelist": {
"57347da92459774491567cf5": 5,
@ -609,7 +609,7 @@
},
"grenades": {
"weights": {
"0": 25,
"0": 35,
"1": 25,
"2": 25,
"3": 10,
@ -625,8 +625,7 @@
"618a431df1eb8e24b8741deb": 1,
"5a0c27731526d80618476ac4": 1,
"619256e5f8af2c1a4e1f5d92": 1,
"617aa4dd8166f034d57de9c5": 1,
"5a2a57cfc4a2826c6e06d44a": 1
"617aa4dd8166f034d57de9c5": 1
}
},
"healing": {
@ -1272,8 +1271,8 @@
},
"food": {
"weights": {
"0": 50,
"1": 50
"0": 75,
"1": 25
},
"whitelist": {
"57347da92459774491567cf5": 5,
@ -1316,7 +1315,7 @@
},
"grenades": {
"weights": {
"0": 25,
"0": 35,
"1": 25,
"2": 25,
"3": 10,
@ -1332,8 +1331,7 @@
"618a431df1eb8e24b8741deb": 1,
"5a0c27731526d80618476ac4": 1,
"619256e5f8af2c1a4e1f5d92": 1,
"617aa4dd8166f034d57de9c5": 1,
"5a2a57cfc4a2826c6e06d44a": 1
"617aa4dd8166f034d57de9c5": 1
}
},
"healing": {
@ -2000,14 +1998,20 @@
},
"grenades": {
"weights": {
"0": 8,
"1": 6,
"2": 2,
"3": 1,
"4": 0,
"5": 0
"0": 50,
"1": 40,
"2": 7,
"3": 3
},
"whitelist": {}
"whitelist": {
"5710c24ad2720bc3458b45a3": 3,
"5448be9a4bdc2dfd2f8b456a": 3,
"58d3db5386f77426186285a0": 3,
"5a0c27731526d80618476ac4": 7,
"619256e5f8af2c1a4e1f5d92": 1,
"617aa4dd8166f034d57de9c5": 1,
"5a2a57cfc4a2826c6e06d44a": 7
}
},
"healing": {
"weights": {
@ -10294,7 +10298,7 @@
"mod_muzzle": 50,
"mod_muzzle_000": 100,
"mod_muzzle_001": 100,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -10588,7 +10592,7 @@
"mod_muzzle": 78,
"mod_muzzle_000": 0,
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -10641,7 +10645,7 @@
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip": 100,
"mod_pistolgrip_000": 0,
"mod_reciever": 0,
"mod_scope": 100,
@ -11834,7 +11838,7 @@
"mod_muzzle": 93,
"mod_muzzle_000": 0,
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -11987,7 +11991,7 @@
"mod_muzzle": 93,
"mod_muzzle_000": 0,
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -13747,7 +13751,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13798,7 +13802,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13849,7 +13853,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13900,7 +13904,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13951,7 +13955,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14002,7 +14006,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14053,7 +14057,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14104,7 +14108,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14155,7 +14159,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14206,7 +14210,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,

View File

@ -565,8 +565,8 @@
},
"food": {
"weights": {
"0": 50,
"1": 50
"0": 75,
"1": 25
},
"whitelist": {
"57347d692459774491567cf1": 10,
@ -602,10 +602,10 @@
},
"grenades": {
"weights": {
"0": 20,
"1": 20,
"2": 20,
"3": 15,
"0": 30,
"1": 30,
"2": 25,
"3": 10,
"4": 5
},
"whitelist": {
@ -1265,8 +1265,8 @@
},
"food": {
"weights": {
"0": 50,
"1": 50
"0": 75,
"1": 25
},
"whitelist": {
"57347d692459774491567cf1": 10,
@ -1302,10 +1302,10 @@
},
"grenades": {
"weights": {
"0": 20,
"1": 20,
"2": 20,
"3": 15,
"0": 30,
"1": 30,
"2": 25,
"3": 10,
"4": 5
},
"whitelist": {
@ -1986,14 +1986,20 @@
},
"grenades": {
"weights": {
"0": 8,
"1": 6,
"2": 2,
"3": 1,
"4": 0,
"5": 0
"0": 50,
"1": 40,
"2": 7,
"3": 3
},
"whitelist": {}
"whitelist": {
"5710c24ad2720bc3458b45a3": 3,
"5448be9a4bdc2dfd2f8b456a": 3,
"58d3db5386f77426186285a0": 3,
"5a0c27731526d80618476ac4": 7,
"619256e5f8af2c1a4e1f5d92": 1,
"617aa4dd8166f034d57de9c5": 1,
"5a2a57cfc4a2826c6e06d44a": 7
}
},
"healing": {
"weights": {
@ -10280,7 +10286,7 @@
"mod_muzzle": 50,
"mod_muzzle_000": 100,
"mod_muzzle_001": 100,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -10574,7 +10580,7 @@
"mod_muzzle": 78,
"mod_muzzle_000": 0,
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -10627,7 +10633,7 @@
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip": 100,
"mod_pistolgrip_000": 0,
"mod_reciever": 0,
"mod_scope": 100,
@ -11820,7 +11826,7 @@
"mod_muzzle": 93,
"mod_muzzle_000": 0,
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -11973,7 +11979,7 @@
"mod_muzzle": 93,
"mod_muzzle_000": 0,
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -13733,7 +13739,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13784,7 +13790,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13835,7 +13841,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13886,7 +13892,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13937,7 +13943,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13988,7 +13994,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14039,7 +14045,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14090,7 +14096,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14141,7 +14147,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14192,7 +14198,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,

View File

@ -565,8 +565,8 @@
},
"food": {
"weights": {
"0": 50,
"1": 50
"0": 75,
"1": 25
},
"whitelist": {
"57347d692459774491567cf1": 10,
@ -602,11 +602,11 @@
},
"grenades": {
"weights": {
"0": 20,
"1": 20,
"2": 20,
"3": 20,
"4": 20
"0": 30,
"1": 30,
"2": 25,
"3": 10,
"4": 5
},
"whitelist": {
"5710c24ad2720bc3458b45a3": 5,
@ -1265,8 +1265,8 @@
},
"food": {
"weights": {
"0": 50,
"1": 50
"0": 75,
"1": 25
},
"whitelist": {
"57347d692459774491567cf1": 10,
@ -1302,11 +1302,11 @@
},
"grenades": {
"weights": {
"0": 20,
"1": 20,
"2": 20,
"3": 20,
"4": 20
"0": 30,
"1": 30,
"2": 25,
"3": 10,
"4": 5
},
"whitelist": {
"5710c24ad2720bc3458b45a3": 5,
@ -1986,14 +1986,20 @@
},
"grenades": {
"weights": {
"0": 8,
"1": 6,
"2": 2,
"3": 1,
"4": 0,
"5": 0
"0": 50,
"1": 40,
"2": 7,
"3": 3
},
"whitelist": {}
"whitelist": {
"5710c24ad2720bc3458b45a3": 3,
"5448be9a4bdc2dfd2f8b456a": 3,
"58d3db5386f77426186285a0": 3,
"5a0c27731526d80618476ac4": 7,
"619256e5f8af2c1a4e1f5d92": 1,
"617aa4dd8166f034d57de9c5": 1,
"5a2a57cfc4a2826c6e06d44a": 7
}
},
"healing": {
"weights": {
@ -10280,7 +10286,7 @@
"mod_muzzle": 50,
"mod_muzzle_000": 100,
"mod_muzzle_001": 100,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -10574,7 +10580,7 @@
"mod_muzzle": 78,
"mod_muzzle_000": 0,
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -10627,7 +10633,7 @@
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip": 100,
"mod_pistolgrip_000": 0,
"mod_reciever": 0,
"mod_scope": 100,
@ -11820,7 +11826,7 @@
"mod_muzzle": 93,
"mod_muzzle_000": 0,
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -11973,7 +11979,7 @@
"mod_muzzle": 93,
"mod_muzzle_000": 0,
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -13733,7 +13739,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13784,7 +13790,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13835,7 +13841,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13886,7 +13892,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13937,7 +13943,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13988,7 +13994,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14039,7 +14045,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14090,7 +14096,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14141,7 +14147,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14192,7 +14198,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,

View File

@ -565,8 +565,8 @@
},
"food": {
"weights": {
"0": 50,
"1": 50
"0": 75,
"1": 25
},
"whitelist": {
"57347d692459774491567cf1": 10,
@ -602,11 +602,11 @@
},
"grenades": {
"weights": {
"0": 20,
"1": 20,
"2": 20,
"3": 20,
"4": 20
"0": 30,
"1": 30,
"2": 25,
"3": 10,
"4": 5
},
"whitelist": {
"5710c24ad2720bc3458b45a3": 5,
@ -1265,8 +1265,8 @@
},
"food": {
"weights": {
"0": 50,
"1": 50
"0": 75,
"1": 25
},
"whitelist": {
"57347d692459774491567cf1": 10,
@ -1302,11 +1302,11 @@
},
"grenades": {
"weights": {
"0": 20,
"1": 20,
"2": 20,
"3": 20,
"4": 20
"0": 30,
"1": 30,
"2": 25,
"3": 10,
"4": 5
},
"whitelist": {
"5710c24ad2720bc3458b45a3": 5,
@ -1986,14 +1986,20 @@
},
"grenades": {
"weights": {
"0": 8,
"1": 6,
"2": 2,
"3": 1,
"4": 0,
"5": 0
"0": 50,
"1": 40,
"2": 7,
"3": 3
},
"whitelist": {}
"whitelist": {
"5710c24ad2720bc3458b45a3": 3,
"5448be9a4bdc2dfd2f8b456a": 3,
"58d3db5386f77426186285a0": 3,
"5a0c27731526d80618476ac4": 7,
"619256e5f8af2c1a4e1f5d92": 1,
"617aa4dd8166f034d57de9c5": 1,
"5a2a57cfc4a2826c6e06d44a": 7
}
},
"healing": {
"weights": {
@ -10336,7 +10342,7 @@
"mod_muzzle": 50,
"mod_muzzle_000": 100,
"mod_muzzle_001": 100,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -10630,7 +10636,7 @@
"mod_muzzle": 78,
"mod_muzzle_000": 0,
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -10683,7 +10689,7 @@
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip": 100,
"mod_pistolgrip_000": 0,
"mod_reciever": 0,
"mod_scope": 100,
@ -11876,7 +11882,7 @@
"mod_muzzle": 93,
"mod_muzzle_000": 0,
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -12029,7 +12035,7 @@
"mod_muzzle": 93,
"mod_muzzle_000": 0,
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -13789,7 +13795,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13840,7 +13846,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13891,7 +13897,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13942,7 +13948,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13993,7 +13999,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14044,7 +14050,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14095,7 +14101,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14146,7 +14152,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14197,7 +14203,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14248,7 +14254,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,

View File

@ -47,7 +47,7 @@ export class BotConfigs
"543be5cb4bdc2deb348b4568": 2,
"5485a8684bdc2da71d8b4567": 2,
"5d650c3e815116009f6201d2": 2,
"543be6564bdc2df4348b4568": 1
"543be6564bdc2df4348b4568": 4
}
constructor(
@ -497,7 +497,7 @@ export class BotConfigs
private removeScavLoot(): void
{
this.botConfig.disableLootOnBotTypes.push("assault", "marksman");
this.botConfig.disableLootOnBotTypes.push("assault", "marksman", "cursedassault", "assaultgroup", "crazyassaultevent");
}
private setIdenticalScavWeights(): void

View File

@ -41,7 +41,7 @@ import { ModInformation } from "../Globals/ModInformation";
import { APBSTester } from "../Utils/APBSTester";
import { vanillaButtpads } from "../Globals/VanillaItemLists";
import { APBSLogger } from "../Utils/APBSLogger";
import { Logging } from "../Enums/Logging";
import { RealismHelper } from "../Helpers/RealismHelper";
/** Handle profile related client events */
@injectable()
@ -73,7 +73,8 @@ export class APBSBotEquipmentModGenerator extends BotEquipmentModGenerator
@inject("RaidInformation") protected raidInformation: RaidInformation,
@inject("ModInformation") protected modInformation: ModInformation,
@inject("APBSTester") protected apbsTester: APBSTester,
@inject("APBSLogger") protected apbsLogger: APBSLogger
@inject("APBSLogger") protected apbsLogger: APBSLogger,
@inject("RealismHelper") protected realismHelper: RealismHelper
)
{
super(logger,
@ -111,7 +112,6 @@ export class APBSBotEquipmentModGenerator extends BotEquipmentModGenerator
if (!this.raidInformation.isBotEnabled(botRole))
{
this.apbsLogger.log(Logging.DEBUG, `${botRole} is disabled - TRACE: generateModsForEquipment`);
spawnChances = settings.spawnChances;
compatibleModsPool = settings.modPool[parentTemplate._id];
actualModPool = settings.modPool;
@ -128,6 +128,11 @@ export class APBSBotEquipmentModGenerator extends BotEquipmentModGenerator
{
if (modSlotName === "mod_equipment_000" && this.raidInformation.nightTime) continue;
if (modSlotName === "mod_equipment" && this.realismHelper.gasMasks.includes(parentTemplate._id) && this.realismHelper.realismDetected == true)
{
forceSpawn = true;
}
const itemSlotTemplate = this.getModItemSlotFromDb(modSlotName, parentTemplate);
if (!itemSlotTemplate)
{

View File

@ -118,7 +118,6 @@ export class APBSBotInventoryGenerator extends BotInventoryGenerator
if (!this.raidInformation.isBotEnabled(botRole))
{
this.apbsLogger.log(Logging.DEBUG, `${botRole} is disabled - TRACE: generateInventory`);
this.generateAndAddWeaponsToBot(templateInventory, wornItemChances, sessionId, botInventory, botRole, isPmc, itemGenerationLimitsMinMax, botLevel);
this.botLootGenerator.generateLoot(sessionId, botJsonTemplate, isPmc, botRole, botInventory, botLevel);
@ -152,7 +151,6 @@ export class APBSBotInventoryGenerator extends BotInventoryGenerator
if (!this.raidInformation.isBotEnabled(botRole))
{
this.apbsLogger.log(Logging.DEBUG, `${botRole} is disabled - TRACE: generateEquipment`);
equipmentPool = settings.rootEquipmentPool;
randomisationDetails = settings.randomisationDetails;
wornItemChances = settings.spawnChances;
@ -355,7 +353,18 @@ export class APBSBotInventoryGenerator extends BotInventoryGenerator
);
botInventory.items.push(...generatedWeapon.weapon);
if (this.raidInformation.isBotEnabled(botRole) && ModConfig.config.enableBotsToRollAmmoAgain)
{
this.apbsBotWeaponGenerator.apbsAddExtraMagazinesToInventory(
generatedWeapon,
itemGenerationWeights.items.magazines,
botInventory,
botRole,
botLevel
);
return;
}
this.botWeaponGenerator.addExtraMagazinesToInventory(
generatedWeapon,
itemGenerationWeights.items.magazines,

View File

@ -160,7 +160,6 @@ export class APBSBotLootCacheService extends BotLootCacheService
if (!this.raidInformation.isBotEnabled(botRole))
{
this.apbsLogger.log(Logging.DEBUG, `${botRole} is disabled - TRACE: addLootToCache`);
realWhitelist = botJsonTemplate.generation.items;
}

View File

@ -91,7 +91,6 @@ export class APBSBotLootGenerator extends BotLootGenerator
if (!this.raidInformation.isBotEnabled(botRole))
{
this.apbsLogger.log(Logging.DEBUG, `${botRole} is disabled - TRACE: generateLoot`);
itemCounts = botJsonTemplate.generation.items;
useOriginalLootCache = true;
}

View File

@ -4,7 +4,8 @@ import { DatabaseService } from "@spt/services/DatabaseService";
import { RandomUtil } from "@spt/utils/RandomUtil";
import { APBSLogger } from "../Utils/APBSLogger";
import { BotWeaponGenerator } from "@spt/generators/BotWeaponGenerator";
import { IInventory, IModsChances } from "@spt/models/eft/common/tables/IBotType";
import { IInventory as PmcInventory } from "@spt/models/eft/common/tables/IBotBase";
import { IGenerationData, IInventory, IModsChances } from "@spt/models/eft/common/tables/IBotType";
import { WeightedRandomHelper } from "@spt/helpers/WeightedRandomHelper";
import { APBSTierGetter } from "../Utils/APBSTierGetter";
import { ILogger } from "@spt/models/spt/utils/ILogger";
@ -29,6 +30,9 @@ import { APBSTester } from "../Utils/APBSTester";
import { ModInformation } from "../Globals/ModInformation";
import { Money } from "@spt/models/enums/Money";
import { APBSBotEquipmentModGenerator } from "./APBSBotEquipmentModGenerator";
import { APBSInventoryMagGen } from "../InventoryMagGen/APBSInventoryMagGen";
import { APBSIInventoryMagGen } from "../InventoryMagGen/APBSIInventoryMagGen";
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
/** Handle profile related client events */
@injectable()
@ -56,7 +60,8 @@ export class APBSBotWeaponGenerator extends BotWeaponGenerator
@inject("APBSEquipmentGetter") protected apbsEquipmentGetter: APBSEquipmentGetter,
@inject("APBSTester") protected apbsTester: APBSTester,
@inject("APBSBotEquipmentModGenerator") protected apbsBotEquipmentModGenerator: APBSBotEquipmentModGenerator,
@inject("ModInformation") protected modInformation: ModInformation
@inject("ModInformation") protected modInformation: ModInformation,
@injectAll("APBSInventoryMagGen") protected apbsInventoryMagGenComponents: APBSIInventoryMagGen[]
)
{
super(logger,
@ -88,7 +93,6 @@ export class APBSBotWeaponGenerator extends BotWeaponGenerator
// Check if bot disabled, if it is - use SPT code
if (!this.raidInformation.isBotEnabled(botRole))
{
this.apbsLogger.log(Logging.DEBUG, `${botRole} is disabled - TRACE: generateRandomWeapon`);
const weaponTpl = this.pickWeightedWeaponTplFromPool(equipmentSlot, botTemplateInventory);
return this.generateWeaponByTpl(sessionId, weaponTpl, equipmentSlot, botTemplateInventory, weaponParentId, modChances, botRole, isPmc, botLevel);
}
@ -329,4 +333,62 @@ export class APBSBotWeaponGenerator extends BotWeaponGenerator
weaponTemplate: weaponItemTemplate
};
}
}
public apbsAddExtraMagazinesToInventory(
generatedWeaponResult: IGenerateWeaponResult,
magWeights: IGenerationData,
inventory: PmcInventory,
botRole: string,
botLevel: number
): void
{
const weaponAndMods = generatedWeaponResult.weapon;
const weaponTemplate = generatedWeaponResult.weaponTemplate;
const magazineTpl = this.getMagazineTplFromWeaponTemplate(weaponAndMods, weaponTemplate, botRole);
const magTemplate = this.itemHelper.getItem(magazineTpl)[1];
if (!magTemplate)
{
this.logger.error(this.localisationService.getText("bot-unable_to_find_magazine_item", magazineTpl));
return;
}
const ammoTemplate = this.itemHelper.getItem(generatedWeaponResult.chosenAmmoTpl)[1];
if (!ammoTemplate)
{
this.logger.error(
this.localisationService.getText("bot-unable_to_find_ammo_item", generatedWeaponResult.chosenAmmoTpl)
);
return;
}
// Has an UBGL
if (generatedWeaponResult.chosenUbglAmmoTpl)
{
this.addUbglGrenadesToBotInventory(weaponAndMods, generatedWeaponResult, inventory);
}
const apbsInventoryMagGenModel = new APBSInventoryMagGen(
magWeights,
magTemplate,
weaponTemplate,
ammoTemplate,
inventory,
botRole,
botLevel
);
this.apbsInventoryMagGenComponents
.find((v) => v.canHandleInventoryMagGen(apbsInventoryMagGenModel))
.process(apbsInventoryMagGenModel);
// Add x stacks of bullets to SecuredContainer (bots use a magic mag packing skill to reload instantly)
this.addAmmoToSecureContainer(
this.botConfig.secureContainerAmmoStackCount,
generatedWeaponResult.chosenAmmoTpl,
ammoTemplate._props.StackMaxSize,
inventory
);
}
}

View File

@ -53,6 +53,8 @@ export interface Config
disableBossTierGeneration: boolean,
disableBossFollowerTierGeneration: boolean,
disableRaiderRogueTierGeneration: boolean,
enableBotsToRollAmmoAgain: boolean,
chanceToRollAmmoAgain: number,
gameVersionWeight: boolean,
standard: number,
left_behind: number,

View File

@ -60,54 +60,54 @@ export class TierInformation
tier: 2,
playerMinimumLevel: 11,
playerMaximumLevel: 20,
botMinLevelVariance: 15,
botMinLevelVariance: 10,
botMaxLevelVariance: 5,
scavMinLevelVariance: 15,
scavMinLevelVariance: 10,
scavMaxLevelVariance: 5
},
{
tier: 3,
playerMinimumLevel: 21,
playerMaximumLevel: 30,
botMinLevelVariance: 25,
botMinLevelVariance: 15,
botMaxLevelVariance: 7,
scavMinLevelVariance: 25,
scavMinLevelVariance: 15,
scavMaxLevelVariance: 7
},
{
tier: 4,
playerMinimumLevel: 31,
playerMaximumLevel: 40,
botMinLevelVariance: 35,
botMinLevelVariance: 20,
botMaxLevelVariance: 10,
scavMinLevelVariance: 35,
scavMinLevelVariance: 20,
scavMaxLevelVariance: 10
},
{
tier: 5,
playerMinimumLevel: 41,
playerMaximumLevel: 50,
botMinLevelVariance: 45,
botMinLevelVariance: 30,
botMaxLevelVariance: 15,
scavMinLevelVariance: 45,
scavMinLevelVariance: 30,
scavMaxLevelVariance: 15
},
{
tier: 6,
playerMinimumLevel: 51,
playerMaximumLevel: 60,
botMinLevelVariance: 55,
botMinLevelVariance: 40,
botMaxLevelVariance: 20,
scavMinLevelVariance: 55,
scavMinLevelVariance: 40,
scavMaxLevelVariance: 20
},
{
tier: 7,
playerMinimumLevel: 61,
playerMaximumLevel: 100,
botMinLevelVariance: 60,
botMinLevelVariance: 50,
botMaxLevelVariance: 20,
scavMinLevelVariance: 60,
scavMinLevelVariance: 50,
scavMaxLevelVariance: 20
}
]

View File

@ -3,9 +3,6 @@ export const vanillaButtpads = [
"5a0c59791526d8dba737bba7",
"5bbde409d4351e003562b036",
"5d120a28d7ad1a1c8962e295",
"606ef0812535c57a13424d20",
"606f262c6d0bd7580617bafa",
"606f263a8900dc2d9a55b68d",
"611a31ce5b7ffe001b4649d1",
"618167616ef05c2ce828f1a8",
"6516e9bc5901745209404287",

View File

@ -15,6 +15,8 @@ export class RealismHelper
)
{}
public realismDetected: boolean = false;
public gasMasks = [
"5b432c305acfc40019478128",
"60363c0c92ec1c31037959f5"
@ -22,6 +24,7 @@ export class RealismHelper
public initialize():void
{
this.realismDetected = true;
this.addGasMasksToBots();
}

View File

@ -55,6 +55,11 @@ import { APBSTester } from "./Utils/APBSTester";
import { APBSAttachmentChecker } from "./Utils/APBSAttachmentChecker";
import { APBSBotLootCacheService } from "./ClassExtensions/APBSBotLootCacheService";
import { APBSPlayerScavGenerator } from "./ClassExtensions/APBSPlayerScavGenerator";
import { APBSExternalInventoryMagGen } from "./InventoryMagGen/APBSExternalInventoryMagGen";
import { APBSMethodHolder } from "./InventoryMagGen/APBSMethodHolder";
import { APBSBarrelInventoryMagGen } from "./InventoryMagGen/APBSBarrelInventoryMagGen";
import { APBSInternalMagazineInventoryMagGen } from "./InventoryMagGen/APBSInternalMagazineInventoryMagGen";
import { APBSUbglExternalMagGen } from "./InventoryMagGen/APBSUbglExternalMagGen";
export class InstanceManager
{
@ -103,6 +108,8 @@ export class InstanceManager
public jsonHelper: JSONHelper;
public modConfig: ModConfig;
public apbsTester: APBSTester;
public apbsExternalInventoryMagGen: APBSExternalInventoryMagGen;
public apbsMethodHolder: APBSMethodHolder;
//#endregion
//#region accessible in or after postDBLoad
@ -176,6 +183,22 @@ export class InstanceManager
this.jsonHelper = container.resolve<JSONHelper>("JSONHelper");
this.container.register<APBSAttachmentChecker>("APBSAttachmentChecker", APBSAttachmentChecker, { lifecycle: Lifecycle.Singleton })
this.apbsAttachmentChecker = container.resolve<APBSAttachmentChecker>("APBSAttachmentChecker");
this.container.register<APBSMethodHolder>("APBSMethodHolder", APBSMethodHolder, { lifecycle: Lifecycle.Singleton });
this.apbsMethodHolder = container.resolve<APBSMethodHolder>("APBSMethodHolder");
this.container.register<RealismHelper>("RealismHelper", { useClass: RealismHelper })
this.container.register<APBSBotWeaponGenerator>("APBSBotWeaponGenerator", APBSBotWeaponGenerator);
this.container.register<APBSBarrelInventoryMagGen>("APBSBarrelInventoryMagGen", { useClass: APBSBarrelInventoryMagGen })
this.container.register<APBSExternalInventoryMagGen>("APBSExternalInventoryMagGen", { useClass: APBSExternalInventoryMagGen })
this.container.register<APBSInternalMagazineInventoryMagGen>("APBSInternalMagazineInventoryMagGen", { useClass: APBSInternalMagazineInventoryMagGen })
this.container.register<APBSUbglExternalMagGen>("APBSUbglExternalMagGen", { useClass: APBSUbglExternalMagGen })
this.container.registerType("APBSInventoryMagGen", "APBSBarrelInventoryMagGen");
this.container.registerType("APBSInventoryMagGen", "APBSExternalInventoryMagGen");
this.container.registerType("APBSInventoryMagGen", "APBSInternalMagazineInventoryMagGen");
this.container.registerType("APBSInventoryMagGen", "APBSUbglExternalMagGen");
// Class Extension Override
this.container.register<APBSBotGenerator>("APBSBotGenerator", APBSBotGenerator);
@ -190,8 +213,9 @@ export class InstanceManager
this.container.register("BotLootCacheService", { useToken: "APBSBotLootCacheService" });
this.container.register<APBSBotLootGenerator>("APBSBotLootGenerator", APBSBotLootGenerator);
this.container.register("BotLootGenerator", { useToken: "APBSBotLootGenerator" });
this.container.register<APBSBotWeaponGenerator>("APBSBotWeaponGenerator", APBSBotWeaponGenerator);
this.container.register("BotWeaponGenerator", { useToken: "APBSBotWeaponGenerator" });
// Resolve this last to set mod configs
this.container.register<ModConfig>("ModConfig", ModConfig, { lifecycle: Lifecycle.Singleton })

View File

@ -0,0 +1,51 @@
import { IInventoryMagGen } from "@spt/generators/weapongen/IInventoryMagGen";
import { InventoryMagGen } from "@spt/generators/weapongen/InventoryMagGen";
import { BotWeaponGeneratorHelper } from "@spt/helpers/BotWeaponGeneratorHelper";
import { RandomUtil } from "@spt/utils/RandomUtil";
import { inject, injectable } from "tsyringe";
import { APBSIInventoryMagGen } from "./APBSIInventoryMagGen";
import { APBSInventoryMagGen } from "./APBSInventoryMagGen";
@injectable()
export class APBSBarrelInventoryMagGen implements APBSIInventoryMagGen
{
constructor(
@inject("RandomUtil") protected randomUtil: RandomUtil,
@inject("BotWeaponGeneratorHelper") protected botWeaponGeneratorHelper: BotWeaponGeneratorHelper
)
{}
getPriority(): number
{
return 50;
}
canHandleInventoryMagGen(inventoryMagGen: APBSInventoryMagGen): boolean
{
return inventoryMagGen.getWeaponTemplate()._props.ReloadMode === "OnlyBarrel";
}
process(inventoryMagGen: APBSInventoryMagGen): void
{
// Can't be done by _props.ammoType as grenade launcher shoots grenades with ammoType of "buckshot"
let randomisedAmmoStackSize: number;
if (inventoryMagGen.getAmmoTemplate()._props.StackMaxRandom === 1)
{
// doesnt stack
randomisedAmmoStackSize = this.randomUtil.getInt(3, 6);
}
else
{
randomisedAmmoStackSize = this.randomUtil.getInt(
inventoryMagGen.getAmmoTemplate()._props.StackMinRandom,
inventoryMagGen.getAmmoTemplate()._props.StackMaxRandom
);
}
this.botWeaponGeneratorHelper.addAmmoIntoEquipmentSlots(
inventoryMagGen.getAmmoTemplate()._id,
randomisedAmmoStackSize,
inventoryMagGen.getPmcInventory()
);
}
}

View File

@ -0,0 +1,203 @@
import { IInventoryMagGen } from "@spt/generators/weapongen/IInventoryMagGen";
import { InventoryMagGen } from "@spt/generators/weapongen/InventoryMagGen";
import { BotGeneratorHelper } from "@spt/helpers/BotGeneratorHelper";
import { BotWeaponGeneratorHelper } from "@spt/helpers/BotWeaponGeneratorHelper";
import { ItemHelper } from "@spt/helpers/ItemHelper";
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
import { EquipmentSlots } from "@spt/models/enums/EquipmentSlots";
import { ItemAddedResult } from "@spt/models/enums/ItemAddedResult";
import { ILogger } from "@spt/models/spt/utils/ILogger";
import { LocalisationService } from "@spt/services/LocalisationService";
import { RandomUtil } from "@spt/utils/RandomUtil";
import { inject, injectable } from "tsyringe";
import { APBSIInventoryMagGen } from "./APBSIInventoryMagGen";
import { APBSInventoryMagGen } from "./APBSInventoryMagGen";
import { APBSEquipmentGetter } from "../Utils/APBSEquipmentGetter";
import { APBSTierGetter } from "../Utils/APBSTierGetter";
import { APBSMethodHolder } from "./APBSMethodHolder";
import { BaseClasses } from "@spt/models/enums/BaseClasses";
import { ModConfig } from "../Globals/ModConfig";
@injectable()
export class APBSExternalInventoryMagGen implements APBSIInventoryMagGen
{
constructor(
@inject("PrimaryLogger") protected logger: ILogger,
@inject("ItemHelper") protected itemHelper: ItemHelper,
@inject("LocalisationService") protected localisationService: LocalisationService,
@inject("BotWeaponGeneratorHelper") protected botWeaponGeneratorHelper: BotWeaponGeneratorHelper,
@inject("BotGeneratorHelper") protected botGeneratorHelper: BotGeneratorHelper,
@inject("RandomUtil") protected randomUtil: RandomUtil,
@inject("APBSEquipmentGetter") protected apbsEquipmentGetter: APBSEquipmentGetter,
@inject("APBSTierGetter") protected apbsTierGetter: APBSTierGetter,
@inject("APBSMethodHolder") protected apbsMethodHolder: APBSMethodHolder
)
{}
getPriority(): number
{
return 99;
}
canHandleInventoryMagGen(inventoryMagGen: APBSInventoryMagGen): boolean
{
if (inventoryMagGen.getWeaponTemplate()._props.ReloadMode === "OnlyBarrel") return false;
if (inventoryMagGen.getMagazineTemplate()._props.ReloadMagType === "InternalMagazine") return false;
if (inventoryMagGen.getWeaponTemplate()._parent === BaseClasses.UBGL) return false;
return true; // Fallback, if code reaches here it means no other implementation can handle this type of magazine
}
process(inventoryMagGen: APBSInventoryMagGen): void
{
// Cout of attempts to fit a magazine into bot inventory
let fitAttempts = 0;
// Magazine Db template
let magTemplate = inventoryMagGen.getMagazineTemplate();
let magazineTpl = magTemplate._id;
const weapon = inventoryMagGen.getWeaponTemplate();
const attemptedMagBlacklist: string[] = [];
const defaultMagazineTpl = this.botWeaponGeneratorHelper.getWeaponsDefaultMagazineTpl(weapon);
const randomizedMagazineCount = Number(
this.botWeaponGeneratorHelper.getRandomizedMagazineCount(inventoryMagGen.getMagCount())
);
const tierInfo = this.apbsTierGetter.getTierByLevel(inventoryMagGen.getBotLevel());
const ammoTable = this.apbsEquipmentGetter.getAmmoByBotRole(inventoryMagGen.getBotRole(), tierInfo)
for (let i = 0; i < randomizedMagazineCount; i++)
{
let selectedAmmoForMag = inventoryMagGen.getAmmoTemplate()._id;
if (ModConfig.config.enableBotsToRollAmmoAgain && this.randomUtil.getChance100(ModConfig.config.chanceToRollAmmoAgain))
{
selectedAmmoForMag = this.apbsMethodHolder.getWeightedCompatibleAmmo(ammoTable, weapon);
}
const magazineWithAmmo = this.botWeaponGeneratorHelper.createMagazineWithAmmo(
magazineTpl,
selectedAmmoForMag,
magTemplate
);
const fitsIntoInventory = this.botGeneratorHelper.addItemWithChildrenToEquipmentSlot(
[EquipmentSlots.TACTICAL_VEST, EquipmentSlots.POCKETS],
magazineWithAmmo[0]._id,
magazineTpl,
magazineWithAmmo,
inventoryMagGen.getPmcInventory()
);
if (fitsIntoInventory === ItemAddedResult.NO_CONTAINERS)
{
// No containers to fit magazines, stop trying
break;
}
// No space for magazine and we haven't reached desired magazine count
if (fitsIntoInventory === ItemAddedResult.NO_SPACE && i < randomizedMagazineCount)
{
// Prevent infinite loop by only allowing 5 attempts at fitting a magazine into inventory
if (fitAttempts > 5)
{
this.logger.debug(
`Failed ${fitAttempts} times to add magazine ${magazineTpl} to bot inventory, stopping`
);
break;
}
/* We were unable to fit at least the minimum amount of magazines,
* so we fallback to default magazine and try again.
* Temporary workaround to Killa spawning with no extra mags if he spawns with a drum mag */
if (magazineTpl === defaultMagazineTpl)
{
// We were already on default - stop here to prevent infinite looping
break;
}
// Add failed magazine tpl to blacklist
attemptedMagBlacklist.push(magazineTpl);
// Set chosen magazine tpl to the weapons default magazine tpl and try to fit into inventory next loop
magazineTpl = defaultMagazineTpl;
magTemplate = this.itemHelper.getItem(magazineTpl)[1];
if (!magTemplate)
{
this.logger.error(
this.localisationService.getText("bot-unable_to_find_default_magazine_item", magazineTpl)
);
break;
}
// Edge case - some weapons (SKS) have an internal magazine as default, choose random non-internal magazine to add to bot instead
if (magTemplate._props.ReloadMagType === "InternalMagazine")
{
const result = this.getRandomExternalMagazineForInternalMagazineGun(
inventoryMagGen.getWeaponTemplate()._id,
attemptedMagBlacklist
);
if (!result?._id)
{
this.logger.debug(
`Unable to add additional magazine into bot inventory for weapon: ${weapon._name}, attempted: ${fitAttempts} times`
);
break;
}
magazineTpl = result._id;
magTemplate = result;
fitAttempts++;
}
// Reduce loop counter by 1 to ensure we get full cout of desired magazines
i--;
}
if (fitsIntoInventory === ItemAddedResult.SUCCESS)
{
// Reset fit counter now it succeeded
fitAttempts = 0;
}
}
}
/**
* Get a random compatible external magazine for a weapon, exclude internal magazines from possible pool
* @param weaponTpl Weapon to get mag for
* @returns tpl of magazine
*/
protected getRandomExternalMagazineForInternalMagazineGun(
weaponTpl: string,
magazineBlacklist: string[]
): ITemplateItem | undefined
{
// The mag Slot data for the weapon
const magSlot = this.itemHelper.getItem(weaponTpl)[1]._props.Slots.find((x) => x._name === "mod_magazine");
if (!magSlot)
{
return undefined;
}
// All possible mags that fit into the weapon excluding blacklisted
const magazinePool = magSlot._props.filters[0].Filter.filter((x) => !magazineBlacklist.includes(x)).map(
(x) => this.itemHelper.getItem(x)[1]
);
if (!magazinePool)
{
return undefined;
}
// Non-internal magazines that fit into the weapon
const externalMagazineOnlyPool = magazinePool.filter((x) => x._props.ReloadMagType !== "InternalMagazine");
if (!externalMagazineOnlyPool || externalMagazineOnlyPool?.length === 0)
{
return undefined;
}
// Randomly chosen external magazine
return this.randomUtil.getArrayValue(externalMagazineOnlyPool);
}
}

View File

@ -0,0 +1,8 @@
import { APBSInventoryMagGen } from "./APBSInventoryMagGen";
export interface APBSIInventoryMagGen
{
getPriority(): number;
canHandleInventoryMagGen(inventoryMagGen: APBSInventoryMagGen): boolean;
process(inventoryMagGen: APBSInventoryMagGen): void;
}

View File

@ -0,0 +1,70 @@
import { IInventoryMagGen } from "@spt/generators/weapongen/IInventoryMagGen";
import { InventoryMagGen } from "@spt/generators/weapongen/InventoryMagGen";
import { BotWeaponGeneratorHelper } from "@spt/helpers/BotWeaponGeneratorHelper";
import { inject, injectable } from "tsyringe";
import { APBSIInventoryMagGen } from "./APBSIInventoryMagGen";
import { APBSInventoryMagGen } from "./APBSInventoryMagGen";
import { APBSEquipmentGetter } from "../Utils/APBSEquipmentGetter";
import { APBSTierGetter } from "../Utils/APBSTierGetter";
import { APBSMethodHolder } from "./APBSMethodHolder";
import { ModConfig } from "../Globals/ModConfig";
import { RandomUtil } from "@spt/utils/RandomUtil";
@injectable()
export class APBSInternalMagazineInventoryMagGen implements APBSIInventoryMagGen
{
constructor(
@inject("BotWeaponGeneratorHelper") protected botWeaponGeneratorHelper: BotWeaponGeneratorHelper,
@inject("RandomUtil") protected randomUtil: RandomUtil,
@inject("APBSEquipmentGetter") protected apbsEquipmentGetter: APBSEquipmentGetter,
@inject("APBSTierGetter") protected apbsTierGetter: APBSTierGetter,
@inject("APBSMethodHolder") protected apbsMethodHolder: APBSMethodHolder
)
{}
public getPriority(): number
{
return 0;
}
public canHandleInventoryMagGen(inventoryMagGen: APBSInventoryMagGen): boolean
{
return inventoryMagGen.getMagazineTemplate()._props.ReloadMagType === "InternalMagazine";
}
public process(inventoryMagGen: APBSInventoryMagGen): void
{
let bulletCount = this.botWeaponGeneratorHelper.getRandomizedBulletCount(
inventoryMagGen.getMagCount(),
inventoryMagGen.getMagazineTemplate()
);
if (ModConfig.config.enableBotsToRollAmmoAgain && this.randomUtil.getChance100(ModConfig.config.chanceToRollAmmoAgain))
{
const weapon = inventoryMagGen.getWeaponTemplate();
const tierInfo = this.apbsTierGetter.getTierByLevel(inventoryMagGen.getBotLevel());
const ammoTable = this.apbsEquipmentGetter.getAmmoByBotRole(inventoryMagGen.getBotRole(), tierInfo)
const rerolledAmmo = this.apbsMethodHolder.getWeightedCompatibleAmmo(ammoTable, weapon);
if (bulletCount > 20)
{
bulletCount = this.randomUtil.getInt(10, bulletCount);
}
this.botWeaponGeneratorHelper.addAmmoIntoEquipmentSlots(
rerolledAmmo,
bulletCount,
inventoryMagGen.getPmcInventory()
);
}
this.botWeaponGeneratorHelper.addAmmoIntoEquipmentSlots(
inventoryMagGen.getAmmoTemplate()._id,
bulletCount,
inventoryMagGen.getPmcInventory()
);
}
}

View File

@ -0,0 +1,52 @@
import { IInventory } from "@spt/models/eft/common/tables/IBotBase";
import { IGenerationData } from "@spt/models/eft/common/tables/IBotType";
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
export class APBSInventoryMagGen
{
constructor(
private magCounts: IGenerationData,
private magazineTemplate: ITemplateItem,
private weaponTemplate: ITemplateItem,
private ammoTemplate: ITemplateItem,
private pmcInventory: IInventory,
private botRole: string,
private botLevel: number
)
{}
public getMagCount(): IGenerationData
{
return this.magCounts;
}
public getMagazineTemplate(): ITemplateItem
{
return this.magazineTemplate;
}
public getWeaponTemplate(): ITemplateItem
{
return this.weaponTemplate;
}
public getAmmoTemplate(): ITemplateItem
{
return this.ammoTemplate;
}
public getPmcInventory(): IInventory
{
return this.pmcInventory;
}
public getBotRole(): string
{
return this.botRole;
}
public getBotLevel(): number
{
return this.botLevel;
}
}

View File

@ -0,0 +1,116 @@
import { ItemHelper } from "@spt/helpers/ItemHelper";
import { WeightedRandomHelper } from "@spt/helpers/WeightedRandomHelper";
import { IInventory } from "@spt/models/eft/common/tables/IBotBase";
import { IGenerationData } from "@spt/models/eft/common/tables/IBotType";
import { ITemplateItem } from "@spt/models/eft/common/tables/ITemplateItem";
import { ILogger } from "@spt/models/spt/utils/ILogger";
import { LocalisationService } from "@spt/services/LocalisationService";
import { inject, injectable } from "tsyringe";
@injectable()
export class APBSMethodHolder
{
constructor(
@inject("PrimaryLogger") protected logger: ILogger,
@inject("LocalisationService") protected localisationService: LocalisationService,
@inject("WeightedRandomHelper") protected weightedRandomHelper: WeightedRandomHelper,
@inject("ItemHelper") protected itemHelper: ItemHelper
)
{}
public getWeightedCompatibleAmmo(
cartridgePool: Record<string, Record<string, number>>,
weaponTemplate: ITemplateItem
): string
{
const desiredCaliber = this.getWeaponCaliber(weaponTemplate);
const cartridgePoolForWeapon = cartridgePool[desiredCaliber];
if (!cartridgePoolForWeapon || cartridgePoolForWeapon?.length === 0)
{
this.logger.debug(
this.localisationService.getText("bot-no_caliber_data_for_weapon_falling_back_to_default", {
weaponId: weaponTemplate._id,
weaponName: weaponTemplate._name,
defaultAmmo: weaponTemplate._props.defAmmo
})
);
// Immediately returns, default ammo is guaranteed to be compatible
return weaponTemplate._props.defAmmo;
}
// Get cartridges the weapons first chamber allow
const compatibleCartridgesInTemplate = this.getCompatibleCartridgesFromWeaponTemplate(weaponTemplate);
if (!compatibleCartridgesInTemplate)
{
// No chamber data found in weapon, send default
return weaponTemplate._props.defAmmo;
}
// Inner join the weapons allowed + passed in cartridge pool to get compatible cartridges
const compatibleCartridges = Object.keys(cartridgePoolForWeapon)
.filter((cartridge) => compatibleCartridgesInTemplate.includes(cartridge))
.reduce((acc, key) => ({ ...acc, [key]: cartridgePoolForWeapon[key] }), {});
if (!compatibleCartridges)
{
// No compatible cartridges, use default
return weaponTemplate._props.defAmmo;
}
return this.weightedRandomHelper.getWeightedValue<string>(compatibleCartridges);
}
public getWeaponCaliber(weaponTemplate: ITemplateItem): string
{
if (weaponTemplate._props.Caliber)
{
return weaponTemplate._props.Caliber;
}
if (weaponTemplate._props.ammoCaliber)
{
// 9x18pmm has a typo, should be Caliber9x18PM
return weaponTemplate._props.ammoCaliber === "Caliber9x18PMM"
? "Caliber9x18PM"
: weaponTemplate._props.ammoCaliber;
}
if (weaponTemplate._props.LinkedWeapon)
{
const ammoInChamber = this.itemHelper.getItem(
weaponTemplate._props.Chambers[0]._props.filters[0].Filter[0]
);
if (!ammoInChamber[0])
{
return;
}
return ammoInChamber[1]._props.Caliber;
}
}
public getCompatibleCartridgesFromWeaponTemplate(weaponTemplate: ITemplateItem): string[]
{
let cartridges = weaponTemplate._props.Chambers[0]?._props?.filters[0]?.Filter;
if (!cartridges)
{
// Fallback to the magazine if possible, e.g. for revolvers
// Grab the magazines template
const firstMagazine = weaponTemplate._props.Slots.find((slot) => slot._name === "mod_magazine");
const magazineTemplate = this.itemHelper.getItem(firstMagazine._props.filters[0].Filter[0]);
// Get the first slots array of cartridges
cartridges = magazineTemplate[1]._props.Slots[0]?._props.filters[0].Filter;
if (!cartridges)
{
// Normal magazines
// None found, try the cartridges array
cartridges = magazineTemplate[1]._props.Cartridges[0]?._props.filters[0].Filter;
}
}
return cartridges;
}
}

View File

@ -0,0 +1,68 @@
import { IInventoryMagGen } from "@spt/generators/weapongen/IInventoryMagGen";
import { InventoryMagGen } from "@spt/generators/weapongen/InventoryMagGen";
import { BotWeaponGeneratorHelper } from "@spt/helpers/BotWeaponGeneratorHelper";
import { BaseClasses } from "@spt/models/enums/BaseClasses";
import { EquipmentSlots } from "@spt/models/enums/EquipmentSlots";
import { inject, injectable } from "tsyringe";
import { APBSIInventoryMagGen } from "./APBSIInventoryMagGen";
import { APBSInventoryMagGen } from "./APBSInventoryMagGen";
import { ModConfig } from "../Globals/ModConfig";
import { RandomUtil } from "@spt/utils/RandomUtil";
import { APBSEquipmentGetter } from "../Utils/APBSEquipmentGetter";
import { APBSTierGetter } from "../Utils/APBSTierGetter";
import { APBSMethodHolder } from "./APBSMethodHolder";
@injectable()
export class APBSUbglExternalMagGen implements APBSIInventoryMagGen
{
constructor(
@inject("BotWeaponGeneratorHelper") protected botWeaponGeneratorHelper: BotWeaponGeneratorHelper,
@inject("RandomUtil") protected randomUtil: RandomUtil,
@inject("APBSEquipmentGetter") protected apbsEquipmentGetter: APBSEquipmentGetter,
@inject("APBSTierGetter") protected apbsTierGetter: APBSTierGetter,
@inject("APBSMethodHolder") protected apbsMethodHolder: APBSMethodHolder
)
{}
public getPriority(): number
{
return 1;
}
public canHandleInventoryMagGen(inventoryMagGen: APBSInventoryMagGen): boolean
{
return inventoryMagGen.getWeaponTemplate()._parent === BaseClasses.UBGL;
}
public process(inventoryMagGen: APBSInventoryMagGen): void
{
const bulletCount = this.botWeaponGeneratorHelper.getRandomizedBulletCount(
inventoryMagGen.getMagCount(),
inventoryMagGen.getMagazineTemplate()
);
if (ModConfig.config.enableBotsToRollAmmoAgain && this.randomUtil.getChance100(ModConfig.config.chanceToRollAmmoAgain))
{
const weapon = inventoryMagGen.getWeaponTemplate();
const tierInfo = this.apbsTierGetter.getTierByLevel(inventoryMagGen.getBotLevel());
const ammoTable = this.apbsEquipmentGetter.getAmmoByBotRole(inventoryMagGen.getBotRole(), tierInfo)
const rerolledAmmo = this.apbsMethodHolder.getWeightedCompatibleAmmo(ammoTable, weapon);
this.botWeaponGeneratorHelper.addAmmoIntoEquipmentSlots(
rerolledAmmo,
bulletCount,
inventoryMagGen.getPmcInventory()
);
}
this.botWeaponGeneratorHelper.addAmmoIntoEquipmentSlots(
inventoryMagGen.getAmmoTemplate()._id,
bulletCount,
inventoryMagGen.getPmcInventory(),
[EquipmentSlots.TACTICAL_VEST]
);
}
}

View File

@ -561,12 +561,7 @@
},
"grenades": {
"weights": {
"0": 8,
"1": 6,
"2": 2,
"3": 1,
"4": 0,
"5": 0
"0": 1
},
"whitelist": {}
},

View File

@ -618,13 +618,11 @@
"grenades": {
"weights": {
"0": 70,
"1": 30,
"2": 0,
"3": 0,
"4": 0
"1": 30
},
"whitelist": {
"5710c24ad2720bc3458b45a3": 3,
"5448be9a4bdc2dfd2f8b456a": 3,
"58d3db5386f77426186285a0": 3,
"5a0c27731526d80618476ac4": 3,
"619256e5f8af2c1a4e1f5d92": 3,
@ -1319,13 +1317,11 @@
"grenades": {
"weights": {
"0": 70,
"1": 30,
"2": 0,
"3": 0,
"4": 0
"1": 30
},
"whitelist": {
"5710c24ad2720bc3458b45a3": 3,
"5448be9a4bdc2dfd2f8b456a": 3,
"58d3db5386f77426186285a0": 3,
"5a0c27731526d80618476ac4": 3,
"619256e5f8af2c1a4e1f5d92": 3,
@ -1988,14 +1984,20 @@
},
"grenades": {
"weights": {
"0": 8,
"1": 6,
"2": 2,
"3": 1,
"4": 0,
"5": 0
"0": 50,
"1": 40,
"2": 7,
"3": 3
},
"whitelist": {}
"whitelist": {
"5710c24ad2720bc3458b45a3": 3,
"5448be9a4bdc2dfd2f8b456a": 3,
"58d3db5386f77426186285a0": 3,
"5a0c27731526d80618476ac4": 7,
"619256e5f8af2c1a4e1f5d92": 1,
"617aa4dd8166f034d57de9c5": 1,
"5a2a57cfc4a2826c6e06d44a": 7
}
},
"healing": {
"weights": {
@ -10282,7 +10284,7 @@
"mod_muzzle": 50,
"mod_muzzle_000": 100,
"mod_muzzle_001": 100,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -10576,7 +10578,7 @@
"mod_muzzle": 78,
"mod_muzzle_000": 0,
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -10629,7 +10631,7 @@
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip": 100,
"mod_pistolgrip_000": 0,
"mod_reciever": 0,
"mod_scope": 100,
@ -11822,7 +11824,7 @@
"mod_muzzle": 93,
"mod_muzzle_000": 0,
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -11975,7 +11977,7 @@
"mod_muzzle": 93,
"mod_muzzle_000": 0,
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -13735,7 +13737,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13786,7 +13788,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13837,7 +13839,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13888,7 +13890,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13939,7 +13941,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13990,7 +13992,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14041,7 +14043,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14092,7 +14094,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14143,7 +14145,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14194,7 +14196,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,

View File

@ -619,9 +619,7 @@
"weights": {
"0": 60,
"1": 35,
"2": 5,
"3": 0,
"4": 0
"2": 5
},
"whitelist": {
"5710c24ad2720bc3458b45a3": 5,
@ -1271,8 +1269,8 @@
},
"food": {
"weights": {
"0": 50,
"1": 50
"0": 80,
"1": 20
},
"whitelist": {
"57347da92459774491567cf5": 5,
@ -1295,8 +1293,8 @@
},
"drink": {
"weights": {
"0": 50,
"1": 50
"0": 80,
"1": 20
},
"whitelist": {
"5448fee04bdc2dbc018b4567": 5,
@ -1325,9 +1323,7 @@
"weights": {
"0": 60,
"1": 35,
"2": 5,
"3": 0,
"4": 0
"2": 5
},
"whitelist": {
"5710c24ad2720bc3458b45a3": 5,
@ -1998,14 +1994,20 @@
},
"grenades": {
"weights": {
"0": 8,
"1": 6,
"2": 2,
"3": 1,
"4": 0,
"5": 0
"0": 50,
"1": 40,
"2": 7,
"3": 3
},
"whitelist": {}
"whitelist": {
"5710c24ad2720bc3458b45a3": 3,
"5448be9a4bdc2dfd2f8b456a": 3,
"58d3db5386f77426186285a0": 3,
"5a0c27731526d80618476ac4": 7,
"619256e5f8af2c1a4e1f5d92": 1,
"617aa4dd8166f034d57de9c5": 1,
"5a2a57cfc4a2826c6e06d44a": 7
}
},
"healing": {
"weights": {
@ -10292,7 +10294,7 @@
"mod_muzzle": 50,
"mod_muzzle_000": 100,
"mod_muzzle_001": 100,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -10586,7 +10588,7 @@
"mod_muzzle": 78,
"mod_muzzle_000": 0,
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -10639,7 +10641,7 @@
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip": 100,
"mod_pistolgrip_000": 0,
"mod_reciever": 0,
"mod_scope": 100,
@ -11832,7 +11834,7 @@
"mod_muzzle": 93,
"mod_muzzle_000": 0,
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -11985,7 +11987,7 @@
"mod_muzzle": 93,
"mod_muzzle_000": 0,
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -13745,7 +13747,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13796,7 +13798,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13847,7 +13849,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13898,7 +13900,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13949,7 +13951,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14000,7 +14002,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14051,7 +14053,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14102,7 +14104,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14153,7 +14155,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14204,7 +14206,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,

View File

@ -566,8 +566,8 @@
},
"food": {
"weights": {
"0": 50,
"1": 50
"0": 80,
"1": 20
},
"whitelist": {
"57347da92459774491567cf5": 5,
@ -618,11 +618,10 @@
},
"grenades": {
"weights": {
"0": 35,
"0": 45,
"1": 35,
"2": 15,
"3": 5,
"4": 0
"3": 5
},
"whitelist": {
"5710c24ad2720bc3458b45a3": 10,
@ -1277,8 +1276,8 @@
},
"food": {
"weights": {
"0": 50,
"1": 50
"0": 80,
"1": 20
},
"whitelist": {
"57347da92459774491567cf5": 5,
@ -1329,11 +1328,10 @@
},
"grenades": {
"weights": {
"0": 35,
"0": 45,
"1": 35,
"2": 15,
"3": 5,
"4": 0
"3": 5
},
"whitelist": {
"5710c24ad2720bc3458b45a3": 10,
@ -2008,14 +2006,20 @@
},
"grenades": {
"weights": {
"0": 8,
"1": 6,
"2": 2,
"3": 1,
"4": 0,
"5": 0
"0": 50,
"1": 40,
"2": 7,
"3": 3
},
"whitelist": {}
"whitelist": {
"5710c24ad2720bc3458b45a3": 3,
"5448be9a4bdc2dfd2f8b456a": 3,
"58d3db5386f77426186285a0": 3,
"5a0c27731526d80618476ac4": 7,
"619256e5f8af2c1a4e1f5d92": 1,
"617aa4dd8166f034d57de9c5": 1,
"5a2a57cfc4a2826c6e06d44a": 7
}
},
"healing": {
"weights": {
@ -10302,7 +10306,7 @@
"mod_muzzle": 50,
"mod_muzzle_000": 100,
"mod_muzzle_001": 100,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -10596,7 +10600,7 @@
"mod_muzzle": 78,
"mod_muzzle_000": 0,
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -10649,7 +10653,7 @@
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip": 100,
"mod_pistolgrip_000": 0,
"mod_reciever": 0,
"mod_scope": 100,
@ -11842,7 +11846,7 @@
"mod_muzzle": 93,
"mod_muzzle_000": 0,
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -11995,7 +11999,7 @@
"mod_muzzle": 93,
"mod_muzzle_000": 0,
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -13755,7 +13759,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13806,7 +13810,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13857,7 +13861,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13908,7 +13912,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13959,7 +13963,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14010,7 +14014,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14061,7 +14065,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14112,7 +14116,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14163,7 +14167,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14214,7 +14218,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,

View File

@ -10569,8 +10569,7 @@
"mod_stock": [
"5d25d0ac8abbc3054f3e61f7",
"5bfeb32b0db834001a6694d9",
"5cdeac22d7f00c000f26168f",
"5cf13123d7f00c1085616a50"
"5cdeac22d7f00c000f26168f"
]
},
"5bfea7ad0db834001c38f1ee": {

View File

@ -565,8 +565,8 @@
},
"food": {
"weights": {
"0": 50,
"1": 50
"0": 75,
"1": 25
},
"whitelist": {
"57347da92459774491567cf5": 5,
@ -609,7 +609,7 @@
},
"grenades": {
"weights": {
"0": 25,
"0": 35,
"1": 25,
"2": 25,
"3": 10,
@ -625,8 +625,7 @@
"618a431df1eb8e24b8741deb": 1,
"5a0c27731526d80618476ac4": 1,
"619256e5f8af2c1a4e1f5d92": 1,
"617aa4dd8166f034d57de9c5": 1,
"5a2a57cfc4a2826c6e06d44a": 1
"617aa4dd8166f034d57de9c5": 1
}
},
"healing": {
@ -1272,8 +1271,8 @@
},
"food": {
"weights": {
"0": 50,
"1": 50
"0": 75,
"1": 25
},
"whitelist": {
"57347da92459774491567cf5": 5,
@ -1316,7 +1315,7 @@
},
"grenades": {
"weights": {
"0": 25,
"0": 35,
"1": 25,
"2": 25,
"3": 10,
@ -1332,8 +1331,7 @@
"618a431df1eb8e24b8741deb": 1,
"5a0c27731526d80618476ac4": 1,
"619256e5f8af2c1a4e1f5d92": 1,
"617aa4dd8166f034d57de9c5": 1,
"5a2a57cfc4a2826c6e06d44a": 1
"617aa4dd8166f034d57de9c5": 1
}
},
"healing": {
@ -2000,14 +1998,20 @@
},
"grenades": {
"weights": {
"0": 8,
"1": 6,
"2": 2,
"3": 1,
"4": 0,
"5": 0
"0": 50,
"1": 40,
"2": 7,
"3": 3
},
"whitelist": {}
"whitelist": {
"5710c24ad2720bc3458b45a3": 3,
"5448be9a4bdc2dfd2f8b456a": 3,
"58d3db5386f77426186285a0": 3,
"5a0c27731526d80618476ac4": 7,
"619256e5f8af2c1a4e1f5d92": 1,
"617aa4dd8166f034d57de9c5": 1,
"5a2a57cfc4a2826c6e06d44a": 7
}
},
"healing": {
"weights": {
@ -10294,7 +10298,7 @@
"mod_muzzle": 50,
"mod_muzzle_000": 100,
"mod_muzzle_001": 100,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -10588,7 +10592,7 @@
"mod_muzzle": 78,
"mod_muzzle_000": 0,
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -10641,7 +10645,7 @@
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip": 100,
"mod_pistolgrip_000": 0,
"mod_reciever": 0,
"mod_scope": 100,
@ -11834,7 +11838,7 @@
"mod_muzzle": 93,
"mod_muzzle_000": 0,
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -11987,7 +11991,7 @@
"mod_muzzle": 93,
"mod_muzzle_000": 0,
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -13747,7 +13751,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13798,7 +13802,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13849,7 +13853,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13900,7 +13904,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13951,7 +13955,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14002,7 +14006,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14053,7 +14057,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14104,7 +14108,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14155,7 +14159,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14206,7 +14210,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,

View File

@ -565,8 +565,8 @@
},
"food": {
"weights": {
"0": 50,
"1": 50
"0": 75,
"1": 25
},
"whitelist": {
"57347d692459774491567cf1": 10,
@ -602,10 +602,10 @@
},
"grenades": {
"weights": {
"0": 20,
"1": 20,
"2": 20,
"3": 15,
"0": 30,
"1": 30,
"2": 25,
"3": 10,
"4": 5
},
"whitelist": {
@ -1265,8 +1265,8 @@
},
"food": {
"weights": {
"0": 50,
"1": 50
"0": 75,
"1": 25
},
"whitelist": {
"57347d692459774491567cf1": 10,
@ -1302,10 +1302,10 @@
},
"grenades": {
"weights": {
"0": 20,
"1": 20,
"2": 20,
"3": 15,
"0": 30,
"1": 30,
"2": 25,
"3": 10,
"4": 5
},
"whitelist": {
@ -1986,14 +1986,20 @@
},
"grenades": {
"weights": {
"0": 8,
"1": 6,
"2": 2,
"3": 1,
"4": 0,
"5": 0
"0": 50,
"1": 40,
"2": 7,
"3": 3
},
"whitelist": {}
"whitelist": {
"5710c24ad2720bc3458b45a3": 3,
"5448be9a4bdc2dfd2f8b456a": 3,
"58d3db5386f77426186285a0": 3,
"5a0c27731526d80618476ac4": 7,
"619256e5f8af2c1a4e1f5d92": 1,
"617aa4dd8166f034d57de9c5": 1,
"5a2a57cfc4a2826c6e06d44a": 7
}
},
"healing": {
"weights": {
@ -10280,7 +10286,7 @@
"mod_muzzle": 50,
"mod_muzzle_000": 100,
"mod_muzzle_001": 100,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -10574,7 +10580,7 @@
"mod_muzzle": 78,
"mod_muzzle_000": 0,
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -10627,7 +10633,7 @@
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip": 100,
"mod_pistolgrip_000": 0,
"mod_reciever": 0,
"mod_scope": 100,
@ -11820,7 +11826,7 @@
"mod_muzzle": 93,
"mod_muzzle_000": 0,
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -11973,7 +11979,7 @@
"mod_muzzle": 93,
"mod_muzzle_000": 0,
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -13733,7 +13739,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13784,7 +13790,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13835,7 +13841,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13886,7 +13892,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13937,7 +13943,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13988,7 +13994,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14039,7 +14045,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14090,7 +14096,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14141,7 +14147,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14192,7 +14198,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,

View File

@ -565,8 +565,8 @@
},
"food": {
"weights": {
"0": 50,
"1": 50
"0": 75,
"1": 25
},
"whitelist": {
"57347d692459774491567cf1": 10,
@ -602,11 +602,11 @@
},
"grenades": {
"weights": {
"0": 20,
"1": 20,
"2": 20,
"3": 20,
"4": 20
"0": 30,
"1": 30,
"2": 25,
"3": 10,
"4": 5
},
"whitelist": {
"5710c24ad2720bc3458b45a3": 5,
@ -1265,8 +1265,8 @@
},
"food": {
"weights": {
"0": 50,
"1": 50
"0": 75,
"1": 25
},
"whitelist": {
"57347d692459774491567cf1": 10,
@ -1302,11 +1302,11 @@
},
"grenades": {
"weights": {
"0": 20,
"1": 20,
"2": 20,
"3": 20,
"4": 20
"0": 30,
"1": 30,
"2": 25,
"3": 10,
"4": 5
},
"whitelist": {
"5710c24ad2720bc3458b45a3": 5,
@ -1986,14 +1986,20 @@
},
"grenades": {
"weights": {
"0": 8,
"1": 6,
"2": 2,
"3": 1,
"4": 0,
"5": 0
"0": 50,
"1": 40,
"2": 7,
"3": 3
},
"whitelist": {}
"whitelist": {
"5710c24ad2720bc3458b45a3": 3,
"5448be9a4bdc2dfd2f8b456a": 3,
"58d3db5386f77426186285a0": 3,
"5a0c27731526d80618476ac4": 7,
"619256e5f8af2c1a4e1f5d92": 1,
"617aa4dd8166f034d57de9c5": 1,
"5a2a57cfc4a2826c6e06d44a": 7
}
},
"healing": {
"weights": {
@ -10280,7 +10286,7 @@
"mod_muzzle": 50,
"mod_muzzle_000": 100,
"mod_muzzle_001": 100,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -10574,7 +10580,7 @@
"mod_muzzle": 78,
"mod_muzzle_000": 0,
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -10627,7 +10633,7 @@
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip": 100,
"mod_pistolgrip_000": 0,
"mod_reciever": 0,
"mod_scope": 100,
@ -11820,7 +11826,7 @@
"mod_muzzle": 93,
"mod_muzzle_000": 0,
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -11973,7 +11979,7 @@
"mod_muzzle": 93,
"mod_muzzle_000": 0,
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -13733,7 +13739,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13784,7 +13790,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13835,7 +13841,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13886,7 +13892,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13937,7 +13943,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13988,7 +13994,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14039,7 +14045,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14090,7 +14096,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14141,7 +14147,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14192,7 +14198,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,

View File

@ -565,8 +565,8 @@
},
"food": {
"weights": {
"0": 50,
"1": 50
"0": 75,
"1": 25
},
"whitelist": {
"57347d692459774491567cf1": 10,
@ -602,11 +602,11 @@
},
"grenades": {
"weights": {
"0": 20,
"1": 20,
"2": 20,
"3": 20,
"4": 20
"0": 30,
"1": 30,
"2": 25,
"3": 10,
"4": 5
},
"whitelist": {
"5710c24ad2720bc3458b45a3": 5,
@ -1265,8 +1265,8 @@
},
"food": {
"weights": {
"0": 50,
"1": 50
"0": 75,
"1": 25
},
"whitelist": {
"57347d692459774491567cf1": 10,
@ -1302,11 +1302,11 @@
},
"grenades": {
"weights": {
"0": 20,
"1": 20,
"2": 20,
"3": 20,
"4": 20
"0": 30,
"1": 30,
"2": 25,
"3": 10,
"4": 5
},
"whitelist": {
"5710c24ad2720bc3458b45a3": 5,
@ -1986,14 +1986,20 @@
},
"grenades": {
"weights": {
"0": 8,
"1": 6,
"2": 2,
"3": 1,
"4": 0,
"5": 0
"0": 50,
"1": 40,
"2": 7,
"3": 3
},
"whitelist": {}
"whitelist": {
"5710c24ad2720bc3458b45a3": 3,
"5448be9a4bdc2dfd2f8b456a": 3,
"58d3db5386f77426186285a0": 3,
"5a0c27731526d80618476ac4": 7,
"619256e5f8af2c1a4e1f5d92": 1,
"617aa4dd8166f034d57de9c5": 1,
"5a2a57cfc4a2826c6e06d44a": 7
}
},
"healing": {
"weights": {
@ -10336,7 +10342,7 @@
"mod_muzzle": 50,
"mod_muzzle_000": 100,
"mod_muzzle_001": 100,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -10630,7 +10636,7 @@
"mod_muzzle": 78,
"mod_muzzle_000": 0,
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -10683,7 +10689,7 @@
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip": 100,
"mod_pistolgrip_000": 0,
"mod_reciever": 0,
"mod_scope": 100,
@ -11876,7 +11882,7 @@
"mod_muzzle": 93,
"mod_muzzle_000": 0,
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -12029,7 +12035,7 @@
"mod_muzzle": 93,
"mod_muzzle_000": 0,
"mod_muzzle_001": 0,
"mod_pistol_grip": 0,
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 0,
"mod_pistolgrip": 0,
"mod_pistolgrip_000": 0,
@ -13789,7 +13795,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13840,7 +13846,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13891,7 +13897,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13942,7 +13948,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -13993,7 +13999,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14044,7 +14050,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14095,7 +14101,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14146,7 +14152,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14197,7 +14203,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,
@ -14248,7 +14254,7 @@
"mod_pistol_grip": 100,
"mod_pistol_grip_akms": 50,
"mod_pistolgrip": 50,
"mod_pistolgrip_000": 50,
"mod_pistolgrip_000": 100,
"mod_reciever": 100,
"mod_scope": 88,
"mod_scope_000": 100,

View File

@ -0,0 +1,28 @@
[General]
gameName=spt
modid=0
version=d2025.1.7.0
newestVersion=
category="1,"
nexusFileStatus=1
installationFile=acidphantasm-progressivebotsystem.zip
repository=
ignoredVersion=
comments=
notes=
nexusDescription=
url=
hasCustomURL=false
lastNexusQuery=
lastNexusUpdate=
nexusLastModified=2024-12-16T07:04:24Z
nexusCategory=0
converted=false
validated=false
color=@Variant(\0\0\0\x43\0\xff\xff\0\0\0\0\0\0\0\0)
tracked=0
[installedFiles]
1\modid=0
1\fileid=0
size=1

View File

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2024 acidphantasm
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@ -0,0 +1,47 @@
# Welcome to PBS (Progressive Bot System)
The goal of this mod is to provide a system that allows all bots to progress with the player.
In vanilla, scavs are a minor annoyance once you reach level 30+. This aims to change that, they may not always have the best ammo but they won't always be rocking crappy shotguns or low level weapons.
## General Notes
This mod has only been tested with SAIN, SWAG+Donuts, QuestingBots, and LootingBots.
This mod may have missing mods or templates for weapons. If you see errors or warning - REPORT THEM.
This mod may have issues that prevent the game from working - if this happens, REMOVE THE MOD and REPORT THEM.
Currently all bots that are due to spawn or have spawned are logged inside the \user\mods\acidphantasm-progressivebotsystem\logs\ folder. These logs are wiped when you restart the server. These may be needed to provide support, and are a nice thing to review if you happen to want to know everything that has or will spawn.
## Put this mod last in your load order. If you have issues and it isn't last, then move it last.
### Current Features
- All AI will level with you.
- All AI have a tiering system.
- All AI will use modded weapons that you have installed.
- USEC spawn with weapons that you would expect from non-Russian forces.
- BEAR spawn with weapons that you would expect from Russian forces.
- Scavs pull a weapon from the Tier they have spawned from (any weapon available in that tier from USEC or BEAR can be chosen.)
- Scavs pull from ammo pools that do not contains meta ammo. I felt this was too easy a source of ammunition. This is subject to change.
- Bosses pull weapons from their vanilla pools until a later version.
- Bosses & guards pull ammo from a Tier4 pool.
- Boss guards pull a Tier4 weapon from the combined pools of USEC & BEAR.
### Current Tiers
- Tier 1 = Lv1-10
- Level Variance +/- 5
- Tier 2 = Lv11-20
- Level Variance +/- 7
- Tier 3 = Lv21-30
- Level Variance +/- 10
- Tier 4 = Lv31-40
- Level Variance +/- 15
- Tier 5 = Lv41-50
- Level Variance +/- 15
- Tier 6 = Lv51-60
- Level Variance +/- 20
- Tier 7 = Lv61-78
- Level Variance +/- 30
## Put this mod last in your load order. If you have issues and it isn't last, then move it last.

View File

@ -0,0 +1,258 @@
{
// Enable/Disable using a preset
// Presets are to be built and shared among APBS users. If enabled, ensure that you set the "presetName" to the name of the folder of your preset
"usePreset": false,
"presetName": "example",
// If you enable either of these settings, support will not be granted.
// enableModdedWeapons - Any mods adding weapons loaded before APBS will have their weapons & attachments imported.
// enableModdedEquipment - Any mods adding equipment loaded before APBS will be imported with their attachments (if any).
// enableModdedClothing - Any mods adding clothing loaded before APBS will be imported.
// initialTierAppearance - Whatever number (1-7) you put here, will be the first tier that imported mod items will be added to.
// pmcWeaponWeights - Weight of modded weapons being added to PMCs
// scavWeaponWeights - Weight of modded weapons being added to Scavs
// followerWeaponWeights - Weight of modded weapons being added to boss followers (not Goons)
// enableSafeGuard - Enables preventing weapon importing from bastardizing vanilla weapons. If you disable this, you will get cursed vanilla weapons.
// Higher weights = more often. Lower weights = less often. If you add a LOT of mod weapons, I suggest using a lower value.
// REVIEW THE APBS LOGS TO TUNE YOUR CONFIG. (\user\mods\acidphantasm-progressivebotsystem\logs)
"enableModdedWeapons": true,
"enableModdedEquipment": true,
"enableModdedClothing": true,
"initalTierAppearance": 3,
"pmcWeaponWeights": 10,
"scavWeaponWeights": 1,
"followerWeaponWeights": 7,
"enableSafeGuard": true,
// Enable/Disable PMC Seasonal Clothing
// If true, PMCs will wear seasonal appropriate clothing to blend into the environment better. If disabled, clothing will be tiered by level instead.
// If true, modded clothing will not import, regardless of setting, to protect the appearance of appropriate clothing.
"seasonalPmcAppearance": true,
// Enable/Disable Realism Gas Mask Compatibility
// APBS automatically detects Realism and adds gas masks to bots due to Radiation Zones. If you dont want this to happen, set to true.
"disableRealismGasMasks": false,
// Looking for a challenge, or maybe just want to chill and wreck some bots?
// Enable "onlyChads" to force all bots to be Tier7, or enable "tarkovAndChill" to force all bots to be Tier1
// Enabling both will enable chaos mode, bots will pull gear and weapons from completely random Tiers during generation. It's chaos.
// Alternatively, enable "blickyMode" to give everyone a blicky. It's actually the real chill mode.
// Side note on "blickyMode" - it breaks some boss guards. Don't report it. It's a joke mode. It also won't do anything if either of the other two "modes" are enabled.
"onlyChads": false,
"tarkovAndChill": false,
"blickyMode": false,
// Enable/Disable specific bot generation
// If set to true, it will disable APBS generation for that bot type, if false - will use APBS generation.
"disableScavTierGeneration": false,
"disablePMCTierGeneration": false,
"disableBossTierGeneration": false,
"disableBossFollowerTierGeneration": false,
"disableRaiderRogueTierGeneration": false,
// Enable/Disable custom game version weights for AI PMCs
// If set to true, AI PMCs will roll their weights from the values below - if false will use SPT defaults.
// The values listed below ARE the SPT defaults (for reference)
"gameVersionWeight": false,
"standard": 2,
"left_behind": 1,
"prepare_for_escape": 1,
"edge_of_darkness": 4,
"unheard_edition": 2,
// Enable/Disable PMC ammo tier sliding
// If set to true, it will enabling a sliding system for PMC ammo pools. If you enable this, the below numbers are the recommended amounts. Tweak as you wish.
// Example: "pmcAmmoTierSlideAmount: 1 will allow a Tier5 PMC to "slide" down and pick from a Tier4 ammo pool, if it passes the roll for "slideChance".
"enablePMCAmmoTierSliding": false,
"slideAmount": 1,
"slideChance": 33,
// Enable/Disable using individual weapon type attachment chances.
// If set to true, will allow generation to use individual category based weapon attachment chances, if false - all weapons use the same attachment chance pool.
// For Preset Makers:
// If the below setting is false, "weaponMods" in the chances.json is the attachment chance rolls used.
// If the below setting is true, then you must also fill out each weapons category of chances.
"enablePerWeaponTypeAttachmentChances": true,
// Force weapon stocks
// If set to true, will enforce all AI weapons to have stocks, if false - will use APBS values
// "stockButtpadChance" will allow dynamic configuration of any butt pads spawning on a stock that can take them.
"forceStock": false,
"stockButtpadChance": 50,
// Force weapon dust covers
// If set to true, will enforce all AI weapons to have dust covers, if false - will use APBS values
"forceDustCover": false,
// Force weapon mod_scope slot
// If set to true, will enforce all AI weapons to have a mod in the mod_scope slot
// This slot is *MOSTLY* optics but it's sometimes a laser/flashlight depending on gun, if false - will use APBS values
"forceScopeSlot": false,
// Force weapon muzzles
// "forceMuzzle" If set to true, will enforce all AI PMC weapons to have muzzles based on the chance configured, if false - will use APBS values
// "muzzleChance" chance of muzzle being selected (overrides preset and database values) for each tier [ T1, T2, T3, T4, T5, T6, T7 ]
// "forceChildrenMuzzle" If set to true, enforces muzzle children to also spawn (so if it rolls to pick a threaded adapter, the child silencer will be forced to spawn), if false - will roll those slots independently
// "forceChildrenMuzzle" works regardless of you setting forceMuzzle or not - if you just want to see more children adapters spawn, just set this true
"forceMuzzle": false,
"muzzleChance": [ 10, 25, 40, 55, 65, 75, 75 ],
"forceChildrenMuzzle": false,
// Force weapon mod count limits
// If set to true, will enforce all AI weapons to be limited to the scopeLimit & tacticalLimit, if disabled the generation may go wild
"forceWeaponModLimits": true,
"scopeLimit": 2,
"tacticalLimit": 1,
// Enable/disable AI having T-7 thermal goggles
// If set to true, will allow AI to spawn with T-7 thermal goggles, if false they will not.
// "startTier" controls what tier the goggles will be available in. "5c110624d174af029e69734c"
"enableT7Thermals": false,
"startTier": 6,
// Enable/Disable PMC/scav Loot
// If set to true, will allow PMCs/scavs to have backpack/rig/pocket loot. If disabled, they will not.
// Add ItemIDs to the blacklist array to prevent them from spawning
// Blacklist example "pmcLootBlacklistItems": ["6711039f9e648049e50b3307", "5c0e531286f7747fa54205c2"]
"pmcLoot": false,
"pmcLootBlacklistItems": [ "6711039f9e648049e50b3307" ],
"scavLoot": true,
// Enable/Disabe Scav specific tiering options
// "enableScavAttachmentTiering" - If set to true, will allow scavs to get additional weapon/equipment attachments as they tier up. If disabled, they will always have tier 1 attachments.
// "enableScavEqualChanceEquipmentTiering" - If set to true, will allow scavs to have equal chances for any equipment in their pools. If disabled, they will use APBS defaults (low chances for good gear).
"enableScavAttachmentTiering": false,
"enableScavEqualEquipmentTiering": false,
// Enable/Disable adding keys to Scav Backpack loot
// Pick -ONE- option below and enable it if you would like to expand the backpack key pool for scavs.
// All keys include every key/keycard.
// Mechanical keys are keys that aren't keycards. <- Recommended, if you are going to enable something
// Keycards include ALL keycards.
"addAllKeysToScavs": false,
"addOnlyMechanicalKeysToScavs": false,
"addOnlyKeyCardsToScavs": false,
// Configure Weapon Durability per AI Bot Type
// Numbers are as follows: [ minDurability, maxDurability, minDelta, maxDelta ]
// Example: [ 50, 90, 0, 25 ]
// Ex ctd: Minimum possible "max" durability would be 50%, the highest possible "max" durability is 90%
// Ex ctd: Whatever value is picked between 50% & 90% will be the "max" durability of the weapon ("max" is the limit you can repair the weapon to)
// Ex ctd: After the max durability is selected, it will roll for the actual current durability which will be between 0-25% lower than the max.
// Ex ctd: Weapons are safeguarded to never fall below 40%.
"scavWeaponDurability": [ 50, 90, 0, 20 ],
"pmcWeaponDurability": [ 95, 100, 0, 5 ],
"bossWeaponDurability": [ 80, 100, 0, 20 ],
"guardWeaponDurability": [ 80, 100, 0, 20 ],
"raiderWeaponDurability": [ 80, 100, 0, 20 ],
// Enable/Disable custom plate chances
// If you REALLY don't like APBS plate chances then you can adjust it here.
// If set to true, will change all AI plate chances to the values you set below, if false - will use APBS values
// If set to true, Main Plates = front/back and Side Plates = left/right, if false - APBS uses individual plate chances for front/back and sides.
// Values are configured for each tier, example: [ Tier1, Tier2, Tier3, Tier4, Tier5, Tier6, Tier7 ]
"enableCustomPlateChances": false,
"scavMainPlateChance": [ 25, 25, 25, 25, 25, 25, 25 ],
"scavSidePlateChance": [ 25, 25, 25, 25, 25, 25, 25 ],
"pmcMainPlateChance": [ 65, 75, 90, 90, 95, 100, 100 ],
"pmcSidePlateChance": [ 15, 25, 50, 75, 90, 95, 100 ],
"bossMainPlateChance": [ 75, 75, 75, 75, 75, 75, 75 ],
"bossSidePlateChance": [ 50, 50, 50, 50, 50, 50, 50 ],
"guardMainPlateChance": [ 75, 75, 75, 75, 75, 75, 75 ],
"guardSidePlateChance": [ 75, 75, 75, 75, 75, 75, 75 ],
"raiderMainPlateChance": [ 75, 75, 75, 75, 75, 75, 75 ],
"raiderSidePlateChance": [ 75, 75, 75, 75, 75, 75, 75 ],
// Enable/Disable randomization of medical and food resource values
// If set to true, all scavs and PMCs will have randomized resource values, based on the chances you set below, for medical and food items.
// If disabled the items will always be full resource values.
// Explanation: "pmcMedRates": [ Chance for full resource value available, Minimum percent of item randomized between min and max resource ]
// Example.. "pmcMedRates": [ 65, 20 ] --- AFAK on a PMC has a 65% chance to be 400/400 and 35% chance to be between 0% and 80% used (it would spawn somewhere between 80/400 to 400/400).
"enableConsumableResourceRandomization": true,
"scavFoodRates": [ 25, 60 ],
"scavMedRates": [ 25, 60 ],
"pmcFoodRates": [ 65, 60 ],
"pmcMedRates": [ 65, 60 ],
// Blacklist specific ammo types from all AI -- USE "https://db.sp-tarkov.com/" to get the item _id
// Configure per tier blacklists
// Example.. this will blacklist 9x19 RIP and 5.45x39mm PP from all bots in Tier1
// tier1AmmoBlacklist: [ "5c0d56a986f774449d5de529", "56dff2ced2720bb4668b4567" ]
"tier1AmmoBlacklist": [],
"tier2AmmoBlacklist": [],
"tier3AmmoBlacklist": [],
"tier4AmmoBlacklist": [],
"tier5AmmoBlacklist": [],
"tier6AmmoBlacklist": [],
"tier7AmmoBlacklist": [],
// Blacklist specific equipment from all AI -- USE "https://db.sp-tarkov.com/" to get the item _id
// Configure per tier blacklists
// Example.. this will blacklist BlackRock chest rig and GSSh-01 headset from all bots in Tier1
// tier1EquipmentBlacklist: [ "5648a69d4bdc2ded0b8b457b", "5b432b965acfc47a8774094e" ]
"tier1EquipmentBlacklist": [],
"tier2EquipmentBlacklist": [],
"tier3EquipmentBlacklist": [],
"tier4EquipmentBlacklist": [],
"tier5EquipmentBlacklist": [],
"tier6EquipmentBlacklist": [],
"tier7EquipmentBlacklist": [],
// Blacklist specific weapons from all AI -- USE "https://db.sp-tarkov.com/" to get the item _id
// Configure per tier blacklists
// Example.. this will blacklist PKP and PKM from all bots in Tier1
// tier1EquipmentBlacklist: [ "64ca3d3954fc657e230529cc", "64637076203536ad5600c990" ]
"tier1WeaponBlacklist": [],
"tier2WeaponBlacklist": [],
"tier3WeaponBlacklist": [],
"tier4WeaponBlacklist": [],
"tier5WeaponBlacklist": [],
"tier6WeaponBlacklist": [],
"tier7WeaponBlacklist": [],
// Blacklist specific attachments from all AI -- USE "https://db.sp-tarkov.com/" to get the item _id
// Configure per tier blacklists - very useful setting for those that play with modded weapon/equipment importing
// Example.. this will blacklist "AK 7.62x39 aluminium 10-round magazine" and "Ops-Core SLAAP Armor Helmet Plate" from all bots in Tier1
// tier1EquipmentBlacklist: [ "5b1fd4e35acfc40018633c39", "5c0e66e2d174af02a96252f4" ]
"tier1AttachmentBlacklist": [],
"tier2AttachmentBlacklist": [],
"tier3AttachmentBlacklist": [],
"tier4AttachmentBlacklist": [],
"tier5AttachmentBlacklist": [],
"tier6AttachmentBlacklist": [],
"tier7AttachmentBlacklist": [],
// LevelDelta's are the lowest and highest levels that AI can spawn relative to the player's level.
// Examples:
// "tier1LevelDelta": [ 5, 5 ] --- While you are Tier1 (lv1-10), all AI will be leveled -5 to +5 of your level.
// "tier2LevelDelta": [ 10, 25 ] --- While you are Tier2 (lv11-20), all AI will be leveled -10 to +25 of your level.
// "enableCustomLevelDeltas" if true will use the values you set below, otherwise they will use APBS values
// THE BELOW VALUES BY DEFAULT ARE APBS DEFAULTS
// IF YOU WANT EVERY TIER AT EVERY LEVEL, SET ALL OF THESE TO: [ 79, 79 ]
"enableCustomLevelDeltas": false,
"tier1LevelDelta": [ 10, 5 ],
"tier2LevelDelta": [ 15, 5 ],
"tier3LevelDelta": [ 25, 7 ],
"tier4LevelDelta": [ 35, 10 ],
"tier5LevelDelta": [ 45, 15 ],
"tier6LevelDelta": [ 55, 20 ],
"tier7LevelDelta": [ 60, 20 ],
// LevelDelta's are the lowest and highest levels that AI can spawn relative to the player's level.
// Examples:
// "tier2ScavLevelDelta": [ 10, -10 ] --- While you are Tier2 (lv11-20), scavs will be leveled -10 to -10 of your level. (always 10 levels behind you)
// "tier3ScavLevelDelta": [ 30, -10 ] --- While you are Tier3 (lv21-30), scavs will be leveled -30 to -10 of your level. (always 10 to 30 levels behind you)
// "enableScavCustomLevelDeltas" if true will use the values you set below, otherwise they will use APBS values
// Default values below will always spawn scavs that are at least 1 tier below you unless you are Tier1.
"enableScavCustomLevelDeltas": false,
"tier1ScavLevelDelta": [ 10, 0 ],
"tier2ScavLevelDelta": [ 20, -10 ],
"tier3ScavLevelDelta": [ 30, -10 ],
"tier4ScavLevelDelta": [ 40, -10 ],
"tier5ScavLevelDelta": [ 50, -10 ],
"tier6ScavLevelDelta": [ 60, -10 ],
"tier7ScavLevelDelta": [ 70, -10 ],
// Enable/disable debug logging
"enableDebugLog": true
}

View File

@ -0,0 +1,32 @@
{
"name": "Acids Progressive Bot System",
"version": "1.4.0-alpha",
"sptVersion": "~3.10",
"loadBefore": [],
"loadAfter": [
"DanW-SPTQuestingBots"
],
"incompatibilities": [],
"isBundleMod": false,
"main": "src/mod.js",
"scripts": {
"setup": "npm i",
"build": "node ./build.mjs",
"buildinfo": "node ./build.mjs --verbose"
},
"devDependencies": {
"@types/node": "20.11",
"@typescript-eslint/eslint-plugin": "7.2",
"@typescript-eslint/parser": "7.2",
"archiver": "^6.0",
"eslint": "8.57",
"fs-extra": "11.2",
"ignore": "^5.2",
"tsyringe": "4.8.0",
"typescript": "5.4",
"winston": "3.12"
},
"author": "acidphantasm",
"contributors": [],
"license": "MIT"
}

View File

@ -0,0 +1,479 @@
{
"scavAmmo": {
"Caliber1143x23ACP": {
"5efb0fc6aeb21837e749c801": 1,
"5efb0d4f4bc50b58e81710f3": 3
},
"Caliber127x55": {
"5cadf6e5ae921500113bb973": 1
},
"Caliber12g": {
"5d6e6772a4b936088465b17c": 2,
"5d6e6806a4b936088465b17e": 2,
"5d6e67fba4b9361bc73bc779": 2,
"560d5e524bdc2d25448b4571": 2,
"5d6e6869a4b9361c140bcfde": 1,
"5d6e68b3a4b9361bca7e50b5": 1,
"58820d1224597753c90aeb13": 1,
"5d6e68dea4b9361bcc29e659": 1,
"5d6e6891a4b9361bd473feea": 1,
"5d6e68e6a4b9361c140bcfe0": 1,
"5d6e689ca4b9361bc8618956": 1
},
"Caliber20g": {
"5d6e695fa4b936359b35d852": 2,
"5d6e69b9a4b9361bc8618958": 2,
"5a38ebd9c4a282000d722a5b": 2,
"5d6e69c7a4b9360b6c0d54e4": 1,
"5d6e6a53a4b9361bd473feec": 1
},
"Caliber23x75": {
"5f647f31b6238e5dd066e196": 3,
"5e85a9a6eacf8c039e4e2ac1": 1
},
"Caliber366TKM": {
"59e6658b86f77411d949b250": 3,
"59e6542b86f77411dc52a77a": 1
},
"Caliber40mmRU": {
"5656eb674bdc2d35148b457c": 1
},
"Caliber40x46": {
"5ede4739e0350d05467f73e8": 1,
"5ede47405b097655935d7d16": 1,
"5ede474b0c226a66f5402622": 1,
"5ede475339ee016e8c534742": 1,
"5ede475b549eed7c6d5c18fb": 1,
"5f0c892565703e5c461894e9": 1
},
"Caliber46x30": {
"5ba26812d4351e003201fef1": 3,
"5ba26844d4351e00334c9475": 1
},
"Caliber545x39": {
"56dff216d2720bbd668b4568": 1,
"56dff338d2720bbd668b4569": 4,
"56dff421d2720b5f5a8b4567": 4,
"56dff4ecd2720b5f5a8b4568": 2,
"56dff4a2d2720bbd668b456a": 4,
"56dff0bed2720bb0668b4567": 3,
"56dff3afd2720bba668b4567": 1
},
"Caliber556x45NATO": {
"59e6927d86f77411da468256": 2,
"59e6918f86f7746c9f75e849": 2,
"59e68f6f86f7746c9f75e846": 4,
"59e6920f86f77411d82aa167": 5,
"54527a984bdc2d4e668b4567": 1
},
"Caliber57x28": {
"5cc86832d7f00c000d3a6e6c": 2,
"5cc80f79e4a949033c7343b2": 3,
"5cc86840d7f00c002412c56c": 3,
"5cc80f8fe4a949033b0224a2": 1,
"5cc80f53e4a949000e1ea4f8": 1
},
"Caliber68x51": {
"6529302b8c26af6326029fb7": 1
},
"Caliber762x25TT": {
"573602322459776445391df1": 2,
"573601b42459776410737435": 2,
"5735fdcd2459776445391d61": 1,
"5736026a245977644601dc61": 1
},
"Caliber762x35": {
"6196365d58ef8c428c287da1": 1,
"6196364158ef8c428c287d9f": 6,
"5fbe3ffdf8b6a877a729ea82": 3
},
"Caliber762x39": {
"59e4d3d286f774176a36250a": 2,
"64b7af734b75259c590fa895": 2,
"64b7af5a8532cf95ee0a0dbd": 6,
"59e4d24686f7741776641ac7": 4,
"59e4cf5286f7741778269d8a": 2,
"5656d7c34bdc2d9d198b4587": 1
},
"Caliber762x51": {
"5e023e88277cce2b522ff2b1": 2,
"5e023e6e34d52a55c3304f71": 2,
"5e023e53d4353e3302577c4c": 1
},
"Caliber762x54R": {
"64b8f7c241772715af0f9c3d": 2,
"64b8f7b5389d7ffd620ccba2": 2,
"64b8f7968532cf95ee0a0dbf": 2,
"5e023cf8186a883be655e54f": 2,
"5887431f2459777e1612938f": 1
},
"Caliber86x70": {
"5fc382b6d6fa9c00c571bbc3": 2,
"5fc382c1016cce60e8341b20": 1
},
"Caliber9x18PM": {
"5737218f245977612125ba51": 5,
"57372140245977611f70ee91": 5,
"5737207f24597760ff7b25f2": 2,
"573719762459775a626ccbc1": 3,
"57371f8d24597761006c6a81": 3,
"57371f2b24597761224311f1": 5,
"57371eb62459776125652ac1": 1,
"57371b192459775a9f58a5e0": 1,
"57371e4124597760ff7b25f1": 1
},
"Caliber9x19PARA": {
"5efb0e16aeb21837e749c7ff": 1,
"58864a4f2459770fcc257101": 7,
"5a3c16fe86f77452b62de32a": 12,
"5c3df7d588a4501f290594e5": 6,
"64b7bbb74b75259c590fa897": 4,
"56d59d3ad2720bdb418b4577": 2
},
"Caliber9x21": {
"5a26ac06c4a282000c5a90a8": 5,
"5a26abfac4a28232980eabff": 3,
"5a269f97c4a282000b151807": 1
},
"Caliber9x33R": {
"62330c40bdd19b369e1e53d1": 5,
"62330bfadc5883093563729b": 3,
"62330c18744e5e31df12f516": 1
},
"Caliber9x39": {
"6576f96220d53a5b8f3e395e": 7,
"57a0dfb82459774d3078b56c": 5,
"5c0d668f86f7747ccb7f13b2": 1
},
"Caliber127x33": {
"66a0d1c87d0d369e270bb9de": 10,
"66a0d1f88486c69fce00fdf6": 1
}
},
"pmcAmmo": {
"Caliber1143x23ACP": {
"5ea2a8e200685063ec28c05a": 1,
"5efb0fc6aeb21837e749c801": 8,
"5efb0d4f4bc50b58e81710f3": 40,
"5e81f423763d9f754677bf2e": 15
},
"Caliber127x55": {
"5cadf6e5ae921500113bb973": 45
},
"Caliber12g": {
"5d6e6806a4b936088465b17e": 10,
"5c0d591486f7744c505b416f": 3,
"5d6e68d1a4b93622fe60e845": 3,
"5d6e6869a4b9361c140bcfde": 2,
"5d6e68b3a4b9361bca7e50b5": 4,
"58820d1224597753c90aeb13": 6,
"5d6e68dea4b9361bcc29e659": 8,
"5d6e6891a4b9361bd473feea": 12,
"5d6e68e6a4b9361c140bcfe0": 12,
"5d6e689ca4b9361bc8618956": 9
},
"Caliber20g": {
"5d6e695fa4b936359b35d852": 8,
"5d6e69b9a4b9361bc8618958": 8,
"5a38ebd9c4a282000d722a5b": 8,
"5d6e69c7a4b9360b6c0d54e4": 10,
"5d6e6a5fa4b93614ec501745": 3,
"5d6e6a53a4b9361bd473feec": 3
},
"Caliber23x75": {
"5f647f31b6238e5dd066e196": 10,
"5e85a9a6eacf8c039e4e2ac1": 2
},
"Caliber366TKM": {
"59e6658b86f77411d949b250": 20,
"59e6542b86f77411dc52a77a": 25,
"59e655cb86f77411dc52a77b": 8
},
"Caliber40mmRU": {
"5656eb674bdc2d35148b457c": 1
},
"Caliber40x46": {
"5ede4739e0350d05467f73e8": 1,
"5ede47405b097655935d7d16": 1,
"5ede474b0c226a66f5402622": 1,
"5ede475339ee016e8c534742": 1,
"5ede475b549eed7c6d5c18fb": 1,
"5f0c892565703e5c461894e9": 1
},
"Caliber46x30": {
"5ba26812d4351e003201fef1": 50,
"5ba26844d4351e00334c9475": 50
},
"Caliber545x39": {
"56dff216d2720bbd668b4568": 1,
"56dff338d2720bbd668b4569": 10,
"56dff421d2720b5f5a8b4567": 10,
"56dff4ecd2720b5f5a8b4568": 15,
"56dff4a2d2720bbd668b456a": 15,
"56dff0bed2720bb0668b4567": 35,
"56dff3afd2720bba668b4567": 45
},
"Caliber556x45NATO": {
"59e6927d86f77411da468256": 10,
"59e6918f86f7746c9f75e849": 20,
"59e68f6f86f7746c9f75e846": 45,
"59e6920f86f77411d82aa167": 50,
"54527a984bdc2d4e668b4567": 20
},
"Caliber57x28": {
"5cc86832d7f00c000d3a6e6c": 10,
"5cc80f79e4a949033c7343b2": 19,
"5cc86840d7f00c002412c56c": 24,
"5cc80f8fe4a949033b0224a2": 13,
"5cc80f53e4a949000e1ea4f8": 9
},
"Caliber68x51": {
"6529302b8c26af6326029fb7": 1
},
"Caliber762x25TT": {
"573602322459776445391df1": 6,
"573601b42459776410737435": 10,
"5735fdcd2459776445391d61": 18,
"5736026a245977644601dc61": 10,
"573603c924597764442bd9cb": 4,
"573603562459776430731618": 1
},
"Caliber762x35": {
"6196365d58ef8c428c287da1": 9,
"6196364158ef8c428c287d9f": 19,
"5fbe3ffdf8b6a877a729ea82": 14
},
"Caliber762x39": {
"59e4d3d286f774176a36250a": 3,
"64b7af734b75259c590fa895": 10,
"64b7af5a8532cf95ee0a0dbd": 20,
"59e4d24686f7741776641ac7": 25,
"59e4cf5286f7741778269d8a": 35,
"5656d7c34bdc2d9d198b4587": 15
},
"Caliber762x51": {
"5e023e88277cce2b522ff2b1": 10,
"5e023e6e34d52a55c3304f71": 40,
"5e023e53d4353e3302577c4c": 50
},
"Caliber762x54R": {
"64b8f7c241772715af0f9c3d": 9,
"64b8f7b5389d7ffd620ccba2": 14,
"64b8f7968532cf95ee0a0dbf": 16,
"5e023cf8186a883be655e54f": 20,
"5887431f2459777e1612938f": 14
},
"Caliber86x70": {
"5fc382b6d6fa9c00c571bbc3": 95,
"5fc382c1016cce60e8341b20": 5
},
"Caliber9x18PM": {
"5737218f245977612125ba51": 2,
"57372140245977611f70ee91": 6,
"5737207f24597760ff7b25f2": 6,
"573719762459775a626ccbc1": 6,
"57371f8d24597761006c6a81": 9,
"57371f2b24597761224311f1": 9,
"57371eb62459776125652ac1": 9,
"57371b192459775a9f58a5e0": 18,
"57371e4124597760ff7b25f1": 23,
"5737201124597760fc4431f1": 18,
"573720e02459776143012541": 9,
"573718ba2459775a75491131": 6
},
"Caliber9x19PARA": {
"5c0d56a986f774449d5de529": 1,
"5efb0e16aeb21837e749c7ff": 7,
"58864a4f2459770fcc257101": 20,
"5a3c16fe86f77452b62de32a": 30,
"5c3df7d588a4501f290594e5": 40,
"64b7bbb74b75259c590fa897": 40,
"56d59d3ad2720bdb418b4577": 25
},
"Caliber9x21": {
"5a26ac06c4a282000c5a90a8": 9,
"5a26abfac4a28232980eabff": 22,
"5a269f97c4a282000b151807": 17
},
"Caliber9x33R": {
"62330c40bdd19b369e1e53d1": 15,
"62330bfadc5883093563729b": 12
},
"Caliber9x39": {
"6576f96220d53a5b8f3e395e": 19,
"57a0dfb82459774d3078b56c": 27,
"5c0d668f86f7747ccb7f13b2": 13
},
"Caliber127x33": {
"66a0d1c87d0d369e270bb9de": 50,
"66a0d1f88486c69fce00fdf6": 30
}
},
"bossAmmo": {
"Caliber1143x23ACP": {
"5ea2a8e200685063ec28c05a": 4,
"5efb0fc6aeb21837e749c801": 1,
"5efb0d4f4bc50b58e81710f3": 10,
"5e81f423763d9f754677bf2e": 18,
"5efb0cabfb3e451d70735af5": 10
},
"Caliber127x55": {
"5cadf6e5ae921500113bb973": 3,
"5cadf6ddae9215051e1c23b2": 12,
"5cadf6eeae921500134b2799": 8
},
"Caliber12g": {
"5d6e6806a4b936088465b17e": 7,
"64b8ee384b75259c590fa89b": 4,
"5d6e6911a4b9361bd5780d52": 3,
"5c0d591486f7744c505b416f": 5,
"5d6e6891a4b9361bd473feea": 2,
"5d6e68e6a4b9361c140bcfe0": 6,
"5d6e689ca4b9361bc8618956": 8,
"5d6e68c4a4b9361b93413f79": 8,
"5d6e68a8a4b9360b6c0d54e2": 3
},
"Caliber20g": {
"5d6e69c7a4b9360b6c0d54e4": 1,
"5d6e6a53a4b9361bd473feec": 4,
"5d6e6a05a4b93618084f58d0": 5,
"5d6e6a42a4b9364f07165f52": 5
},
"Caliber23x75": {
"5f647f31b6238e5dd066e196": 2,
"5e85a9a6eacf8c039e4e2ac1": 4,
"5e85aa1a988a8701445df1f5": 4
},
"Caliber366TKM": {
"59e6658b86f77411d949b250": 1,
"59e6542b86f77411dc52a77a": 2,
"59e655cb86f77411dc52a77b": 10,
"5f0596629e22f464da6bbdd9": 8
},
"Caliber40mmRU": {
"5656eb674bdc2d35148b457c": 1
},
"Caliber40x46": {
"5ede4739e0350d05467f73e8": 1,
"5ede47405b097655935d7d16": 1,
"5ede474b0c226a66f5402622": 1,
"5ede475339ee016e8c534742": 1,
"5ede475b549eed7c6d5c18fb": 1,
"5f0c892565703e5c461894e9": 1
},
"Caliber46x30": {
"5ba26812d4351e003201fef1": 2,
"5ba26844d4351e00334c9475": 4,
"5ba2678ad4351e44f824b344": 15,
"64b6979341772715af0f9c39": 15,
"5ba26835d4351e0035628ff5": 8
},
"Caliber545x39": {
"56dff3afd2720bba668b4567": 6,
"56dff2ced2720bb4668b4567": 12,
"56dff061d2720bb5668b4567": 20,
"61962b617c6c7b169525f168": 12,
"56dfef82d2720bbd668b4567": 9,
"56dff026d2720bb8668b4567": 8,
"5c0d5e4486f77478390952fe": 4
},
"Caliber556x45NATO": {
"5c0d5ae286f7741e46554302": 1,
"54527a984bdc2d4e668b4567": 7,
"60194943740c5d77f6705eea": 20,
"59e6906286f7746c9f75e847": 26,
"54527ac44bdc2d36668b4567": 30,
"59e690b686f7746c9f75e848": 7,
"601949593ae8f707c4608daa": 5
},
"Caliber57x28": {
"5cc80f8fe4a949033b0224a2": 5,
"5cc80f53e4a949000e1ea4f8": 21,
"5cc80f67e4a949035e43bbba": 15,
"5cc80f38e4a949001152b560": 12
},
"Caliber68x51": {
"6529302b8c26af6326029fb7": 10,
"6529243824cbe3c74a05e5c1": 5
},
"Caliber762x25TT": {
"5736026a245977644601dc61": 5,
"573603c924597764442bd9cb": 10,
"573603562459776430731618": 10
},
"Caliber762x35": {
"6196365d58ef8c428c287da1": 7,
"5fbe3ffdf8b6a877a729ea82": 6,
"619636be6db0f2477964e710": 23,
"64b8725c4b75259c590fa899": 20,
"5fd20ff893a8961fc660a954": 9
},
"Caliber762x39": {
"59e4cf5286f7741778269d8a": 4,
"5656d7c34bdc2d9d198b4587": 28,
"64b7af434b75259c590fa893": 33,
"59e0d99486f7744a32234762": 20,
"601aa3d2b2bcb34913271e6d": 12
},
"Caliber762x51": {
"5e023e53d4353e3302577c4c": 6,
"58dd3ad986f77403051cba8f": 27,
"5a608bf24f39f98ffc77720e": 19,
"5a6086ea4f39f99cd479502f": 9,
"5efb0c1bd79ff02a1f5e68d9": 2
},
"Caliber762x54R": {
"5e023cf8186a883be655e54f": 3,
"5887431f2459777e1612938f": 20,
"59e77a2386f7742ee578960a": 25,
"5e023d34e8a400319a28ed44": 22,
"560d61e84bdc2da74d8b4571": 15,
"5e023d48186a883be655e551": 10
},
"Caliber86x70": {
"5fc382b6d6fa9c00c571bbc3": 5,
"5fc382c1016cce60e8341b20": 8,
"5fc275cf85fd526b824a571a": 8,
"5fc382a9d724d907e2077dab": 5
},
"Caliber9x18PM": {
"57371e4124597760ff7b25f1": 3,
"5737201124597760fc4431f1": 5,
"573720e02459776143012541": 12,
"573718ba2459775a75491131": 18,
"57371aab2459775a77142f22": 12,
"573719df2459775a626ccbc2": 10
},
"Caliber9x19PARA": {
"5c0d56a986f774449d5de529": 9,
"5efb0e16aeb21837e749c7ff": 5,
"5a3c16fe86f77452b62de32a": 4,
"56d59d3ad2720bdb418b4577": 18,
"5c925fa22e221601da359b7b": 22,
"5efb0da7a29a85116f6ea05f": 9
},
"Caliber9x21": {
"5a269f97c4a282000b151807": 8,
"6576f93989f0062e741ba952": 18,
"5a26ac0ec4a28200741e1e18": 18,
"6576f4708ca9c4381d16cd9d": 8
},
"Caliber9x33R": {
"62330c18744e5e31df12f516": 9,
"62330b3ed4dc74626d570b95": 6
},
"Caliber9x39": {
"5c0d668f86f7747ccb7f13b2": 9,
"61962d879bb3d20b0946d385": 25,
"57a0e5022459774d1673f889": 25,
"5c0d688c86f77413ae3407b2": 12
},
"Caliber127x33": {
"66a0d1c87d0d369e270bb9de": 3,
"66a0d1f88486c69fce00fdf6": 30,
"66a0d1e0ed648d72fe064d06": 25,
"668fe62ac62660a5d8071446": 12
}
}
}

View File

@ -0,0 +1,411 @@
{
"pmcUSEC": {
"appearance": {
"body": {
"5cde95d97d6c8b647a3769b0": 5,
"66546f823b51a4d21e0d17d7": 1,
"5d1f56a686f7744bce0ee9eb": 2
},
"feet": {
"5cde95ef7d6c8b04713c4f2d": 5,
"5d1f58ed86f7744bcb0acd1c": 1
},
"hands": {
"5cde95fa7d6c8b04737c2d13": 1
},
"head": {
"5cde96047d6c8b20b577f016": 1,
"5fdb4139e4ed5b5ea251e4ed": 1,
"5fdb5950f5264a66150d1c6e": 1,
"60a6aa8fd559ae040d0d951f": 1,
"619f9e338858a474c8685cc9": 1,
"62aca6a1310e67685a2fc2e7": 1,
"6574aabee0423b9ebe0c79cf": 1
}
}
},
"pmcBEAR": {
"appearance": {
"body": {
"5cc0858d14c02e000c6bea66": 5,
"66546f823b51a4d21e0d17d7": 1,
"5d1f565786f7743f8362bcd5": 2
},
"feet": {
"5cc085bb14c02e000e67a5c5": 5,
"5d1f58bd86f7744bce0ee9ef": 1
},
"hands": {
"5cc0876314c02e000c6bea6b": 1
},
"head": {
"5cc084dd14c02e000b0550a3": 1,
"5fdb50bb2b730a787b3f78cf": 1,
"5fdb7571e4ed5b5ea251e529": 1,
"60a6aaad42fd2735e4589978": 1,
"619f94f5b90286142b59d45f": 1,
"62a9e7d15ea3b87d6f642a28": 1,
"6574aa9a1b144de18c0fba45": 1
}
}
},
"springEarly": {
"pmcUSEC": {
"appearance": {
"body": {
"5d1f56c686f7744bcd13459c": 1,
"5fd3e9f71b735718c25cd9f8": 1,
"66043728333907134309d647": 1,
"66acbe49dc61999a6a03d4d6": 1,
"660437e57502eca33a08caca": 1,
"5d1f56f186f7744bcb0acd1a": 1,
"5d1f56ff86f7743f8362bcd7": 1,
"5d1f56a686f7744bce0ee9eb": 2,
"5e9da17386f774054b6f79a3": 2,
"5e4bb35286f77406a511c9bc": 2,
"5d1f56e486f7744bce0ee9ed": 2
},
"feet": {
"642d4d8eb6b75d4c89077cf9": 1,
"5fcf940bce1ba36a513bb9cc": 1,
"66acc8f719271bd6d00dec0b": 1,
"6295e944e9de5e7b3751c4da": 1,
"5d1f592286f7743f8362bcdb": 1,
"5e4bb3b586f77406812bd579": 1,
"5d1f590486f7744bcd13459e": 3,
"5d1f58ed86f7744bcb0acd1c": 3
},
"hands": {
"5cde95fa7d6c8b04737c2d13": 1
},
"head": {
"5cde96047d6c8b20b577f016": 1,
"5fdb4139e4ed5b5ea251e4ed": 1,
"5fdb5950f5264a66150d1c6e": 1,
"60a6aa8fd559ae040d0d951f": 1,
"619f9e338858a474c8685cc9": 1,
"62aca6a1310e67685a2fc2e7": 1,
"6574aabee0423b9ebe0c79cf": 1
}
}
},
"pmcBEAR": {
"appearance": {
"body": {
"657058fddf9b3231400e9188": 1,
"6033a31e9ec839204e6a2f3e": 1,
"5d1f567786f7744bcc04874f": 1,
"5e9d9fa986f774054d6b89f2": 1,
"5f5e401747344c2e4f6c42c5": 1,
"642e8ae07e17c882400c4f87": 2,
"5d1f568486f7744bca3f0b98": 2,
"66acec1dc94f4bf5bc063a16": 2,
"5e4bb31586f7740695730568": 2
},
"feet": {
"5d1f58bd86f7744bce0ee9ef": 1,
"6377315993a3b4967208e437": 1,
"66043cf87502eca33a08cad2": 1,
"5d1f58cb86f7744bca3f0b9a": 1,
"5d1f58a086f7743f8362bcd9": 1,
"617be9e4e02b3b3fa50fa8f2": 1,
"5f5e40400bc58666c37e7819": 1,
"66acebd4ede86671bb09584b": 3,
"5d1f58ab86f7743014162042": 3
},
"hands": {
"5cc0876314c02e000c6bea6b": 1
},
"head": {
"5cc084dd14c02e000b0550a3": 1,
"5fdb50bb2b730a787b3f78cf": 1,
"5fdb7571e4ed5b5ea251e529": 1,
"60a6aaad42fd2735e4589978": 1,
"619f94f5b90286142b59d45f": 1,
"62a9e7d15ea3b87d6f642a28": 1,
"6574aa9a1b144de18c0fba45": 1
}
}
}
},
"spring": {
"pmcUSEC": {
"appearance": {
"body": {
"5cde95d97d6c8b647a3769b0": 1,
"5fd3e9f71b735718c25cd9f8": 1,
"66043728333907134309d647": 1,
"5d4da0cb86f77450fe0a6629": 1,
"5d1f56f186f7744bcb0acd1a": 1,
"5f5e4075df4f3100376a8138": 1
},
"feet": {
"5cde95ef7d6c8b04713c4f2d": 1,
"6033a3fee29c9f6c9b14e74e": 1,
"660436487502eca33a08cac8": 1,
"6571cad4c8673f00290f5657": 1,
"66acc8f719271bd6d00dec0b": 1,
"5d1f592286f7743f8362bcdb": 1,
"642d6941ff5ecad7810a8a61": 1,
"5e9dcadd86f7743e20652f23": 1
},
"hands": {
"5cde95fa7d6c8b04737c2d13": 1
},
"head": {
"5cde96047d6c8b20b577f016": 1,
"5fdb4139e4ed5b5ea251e4ed": 1,
"5fdb5950f5264a66150d1c6e": 1,
"60a6aa8fd559ae040d0d951f": 1,
"619f9e338858a474c8685cc9": 1,
"62aca6a1310e67685a2fc2e7": 1,
"6574aabee0423b9ebe0c79cf": 1
}
}
},
"pmcBEAR": {
"appearance": {
"body": {
"5cc0858d14c02e000c6bea66": 1,
"5d1f564b86f7744bcb0acd16": 1,
"6295e698e9de5e7b3751c47a": 1,
"6033a31e9ec839204e6a2f3e": 1,
"5fce3e47fe40296c1d5fd784": 1,
"617bca4b4013b06b0b78df2a": 1,
"5df89f1f86f77412631087ea": 1
},
"feet": {
"5cc085bb14c02e000e67a5c5": 1,
"5d1f588e86f7744bcc048753": 1,
"66043cf87502eca33a08cad2": 1,
"6033a3d8ed2e0509b15f9031": 1,
"642e71620a69698d1b049f0a": 1,
"617be9e4e02b3b3fa50fa8f2": 1,
"642eea6f881906a7fe086841": 1,
"5df89f8f86f77412672a1e38": 1,
"5e9dc97c86f774054c19ac9a": 1,
"5e4bb39386f774067f79de05": 1
},
"hands": {
"5cc0876314c02e000c6bea6b": 1
},
"head": {
"5cc084dd14c02e000b0550a3": 1,
"5fdb50bb2b730a787b3f78cf": 1,
"5fdb7571e4ed5b5ea251e529": 1,
"60a6aaad42fd2735e4589978": 1,
"619f94f5b90286142b59d45f": 1,
"62a9e7d15ea3b87d6f642a28": 1,
"6574aa9a1b144de18c0fba45": 1
}
}
}
},
"summer": {
"pmcUSEC": {
"appearance": {
"body": {
"5cde95d97d6c8b647a3769b0": 1,
"5d1f56c686f7744bcd13459c": 1,
"5fd3e9f71b735718c25cd9f8": 1,
"66043728333907134309d647": 1,
"5d4da0cb86f77450fe0a6629": 1,
"66acbe49dc61999a6a03d4d6": 1,
"64ef3efdb63b74469b6c1499": 1,
"642c18b8a6a0660b560fb31c": 1,
"5d1f56f186f7744bcb0acd1a": 1,
"5f5e4075df4f3100376a8138": 1
},
"feet": {
"5cde95ef7d6c8b04713c4f2d": 1,
"6033a3fee29c9f6c9b14e74e": 1,
"660436487502eca33a08cac8": 1,
"6571cad4c8673f00290f5657": 1,
"66acc8f719271bd6d00dec0b": 1,
"5d1f593286f7743014162044": 1,
"5d1f592286f7743f8362bcdb": 1,
"642d6941ff5ecad7810a8a61": 1,
"5e9dcadd86f7743e20652f23": 1
},
"hands": {
"5cde95fa7d6c8b04737c2d13": 1
},
"head": {
"5cde96047d6c8b20b577f016": 1,
"5fdb4139e4ed5b5ea251e4ed": 1,
"5fdb5950f5264a66150d1c6e": 1,
"60a6aa8fd559ae040d0d951f": 1,
"619f9e338858a474c8685cc9": 1,
"62aca6a1310e67685a2fc2e7": 1,
"6574aabee0423b9ebe0c79cf": 1
}
}
},
"pmcBEAR": {
"appearance": {
"body": {
"5cc0858d14c02e000c6bea66": 1,
"5d1f564b86f7744bcb0acd16": 1,
"6295e698e9de5e7b3751c47a": 1,
"6033a31e9ec839204e6a2f3e": 1,
"5fce3e47fe40296c1d5fd784": 1,
"617bca4b4013b06b0b78df2a": 1,
"64ef3efdb63b74469b6c1499": 1,
"5df89f1f86f77412631087ea": 1,
"5e9d9fa986f774054d6b89f2": 1
},
"feet": {
"5cc085bb14c02e000e67a5c5": 1,
"5d1f588e86f7744bcc048753": 1,
"66043cf87502eca33a08cad2": 1,
"6033a3d8ed2e0509b15f9031": 1,
"642e71620a69698d1b049f0a": 1,
"617be9e4e02b3b3fa50fa8f2": 1,
"642eea6f881906a7fe086841": 1,
"5df89f8f86f77412672a1e38": 1,
"5e9dc97c86f774054c19ac9a": 1,
"5e4bb39386f774067f79de05": 1
},
"hands": {
"5cc0876314c02e000c6bea6b": 1
},
"head": {
"5cc084dd14c02e000b0550a3": 1,
"5fdb50bb2b730a787b3f78cf": 1,
"5fdb7571e4ed5b5ea251e529": 1,
"60a6aaad42fd2735e4589978": 1,
"619f94f5b90286142b59d45f": 1,
"62a9e7d15ea3b87d6f642a28": 1,
"6574aa9a1b144de18c0fba45": 1
}
}
}
},
"autumn": {
"pmcUSEC": {
"appearance": {
"body": {
"5d1f56c686f7744bcd13459c": 1,
"637b945722e2a933ed0e33c8": 1,
"6571cb0923aa6d72760a7f8f": 1,
"6033a35f80ae5e2f970ba6bb": 1,
"5d1f56e486f7744bce0ee9ed": 1,
"66acbe49dc61999a6a03d4d6": 1,
"660437e57502eca33a08caca": 1,
"64ef3efdb63b74469b6c1499": 1,
"5d1f56ff86f7743f8362bcd7": 1
},
"feet": {
"642d4d8eb6b75d4c89077cf9": 1,
"5fcf940bce1ba36a513bb9cc": 1,
"637ba17aa10a96c2b605dbc2": 1,
"6295e944e9de5e7b3751c4da": 1,
"5e4bb3b586f77406812bd579": 1,
"5f5e40a06760b4138443b341": 1
},
"hands": {
"5cde95fa7d6c8b04737c2d13": 1
},
"head": {
"5cde96047d6c8b20b577f016": 1,
"5fdb4139e4ed5b5ea251e4ed": 1,
"5fdb5950f5264a66150d1c6e": 1,
"60a6aa8fd559ae040d0d951f": 1,
"619f9e338858a474c8685cc9": 1,
"62aca6a1310e67685a2fc2e7": 1,
"6574aabee0423b9ebe0c79cf": 1
}
}
},
"pmcBEAR": {
"appearance": {
"body": {
"6377266693a3b4967208e42b": 1,
"5d1f568486f7744bca3f0b98": 1,
"657058fddf9b3231400e9188": 1,
"642ed297ac11c9eaf10d87e8": 1,
"5d1f567786f7744bcc04874f": 1,
"64ef3efdb63b74469b6c1499": 1,
"6430119aac11c9eaf10d881b": 1,
"5f5e401747344c2e4f6c42c5": 1
},
"feet": {
"5d1f58bd86f7744bce0ee9ef": 1,
"6377315993a3b4967208e437": 1,
"642ed40af5bdf1c04e01952e": 1,
"6295e63de08ed747e64ae991": 1,
"5d1f58a086f7743f8362bcd9": 1,
"66043d7ac8949a435906e434": 1,
"5d1f58ab86f7743014162042": 1,
"5f5e40400bc58666c37e7819": 1
},
"hands": {
"5cc0876314c02e000c6bea6b": 1
},
"head": {
"5cc084dd14c02e000b0550a3": 1,
"5fdb50bb2b730a787b3f78cf": 1,
"5fdb7571e4ed5b5ea251e529": 1,
"60a6aaad42fd2735e4589978": 1,
"619f94f5b90286142b59d45f": 1,
"62a9e7d15ea3b87d6f642a28": 1,
"6574aa9a1b144de18c0fba45": 1
}
}
}
},
"winter": {
"pmcUSEC": {
"appearance": {
"body": {
"5d1f56a686f7744bce0ee9eb": 1,
"5e9da17386f774054b6f79a3": 1,
"5e4bb35286f77406a511c9bc": 1,
"5d1f56e486f7744bce0ee9ed": 1
},
"feet": {
"5d1f590486f7744bcd13459e": 1,
"5d1f58ed86f7744bcb0acd1c": 1
},
"hands": {
"5cde95fa7d6c8b04737c2d13": 1
},
"head": {
"5cde96047d6c8b20b577f016": 1,
"5fdb4139e4ed5b5ea251e4ed": 1,
"5fdb5950f5264a66150d1c6e": 1,
"60a6aa8fd559ae040d0d951f": 1,
"619f9e338858a474c8685cc9": 1,
"62aca6a1310e67685a2fc2e7": 1,
"6574aabee0423b9ebe0c79cf": 1
}
}
},
"pmcBEAR": {
"appearance": {
"body": {
"642e8ae07e17c882400c4f87": 1,
"5d1f568486f7744bca3f0b98": 1,
"66acec1dc94f4bf5bc063a16": 1,
"5e4bb31586f7740695730568": 1
},
"feet": {
"66acebd4ede86671bb09584b": 1,
"5d1f58ab86f7743014162042": 1
},
"hands": {
"5cc0876314c02e000c6bea6b": 1
},
"head": {
"5cc084dd14c02e000b0550a3": 1,
"5fdb50bb2b730a787b3f78cf": 1,
"5fdb7571e4ed5b5ea251e529": 1,
"60a6aaad42fd2735e4589978": 1,
"619f94f5b90286142b59d45f": 1,
"62a9e7d15ea3b87d6f642a28": 1,
"6574aa9a1b144de18c0fba45": 1
}
}
}
}
}

View File

@ -0,0 +1,476 @@
{
"scavAmmo": {
"Caliber1143x23ACP": {
"5efb0fc6aeb21837e749c801": 1,
"5efb0d4f4bc50b58e81710f3": 3
},
"Caliber127x55": {
"5cadf6e5ae921500113bb973": 1
},
"Caliber12g": {
"5d6e6772a4b936088465b17c": 2,
"5d6e6806a4b936088465b17e": 2,
"5d6e67fba4b9361bc73bc779": 2,
"560d5e524bdc2d25448b4571": 2,
"5d6e6869a4b9361c140bcfde": 1,
"5d6e68b3a4b9361bca7e50b5": 1,
"58820d1224597753c90aeb13": 1,
"5d6e68dea4b9361bcc29e659": 1,
"5d6e6891a4b9361bd473feea": 1,
"5d6e68e6a4b9361c140bcfe0": 1,
"5d6e689ca4b9361bc8618956": 1
},
"Caliber20g": {
"5d6e695fa4b936359b35d852": 2,
"5d6e69b9a4b9361bc8618958": 2,
"5a38ebd9c4a282000d722a5b": 2,
"5d6e69c7a4b9360b6c0d54e4": 1,
"5d6e6a53a4b9361bd473feec": 1
},
"Caliber23x75": {
"5f647f31b6238e5dd066e196": 3,
"5e85a9a6eacf8c039e4e2ac1": 1
},
"Caliber366TKM": {
"59e6658b86f77411d949b250": 3,
"59e6542b86f77411dc52a77a": 1
},
"Caliber40mmRU": {
"5656eb674bdc2d35148b457c": 1
},
"Caliber40x46": {
"5ede4739e0350d05467f73e8": 1,
"5ede47405b097655935d7d16": 1,
"5ede474b0c226a66f5402622": 1,
"5ede475339ee016e8c534742": 1,
"5ede475b549eed7c6d5c18fb": 1,
"5f0c892565703e5c461894e9": 1
},
"Caliber46x30": {
"5ba26812d4351e003201fef1": 3,
"5ba26844d4351e00334c9475": 1
},
"Caliber545x39": {
"56dff216d2720bbd668b4568": 1,
"56dff338d2720bbd668b4569": 4,
"56dff421d2720b5f5a8b4567": 4,
"56dff4ecd2720b5f5a8b4568": 2,
"56dff4a2d2720bbd668b456a": 4,
"56dff0bed2720bb0668b4567": 3,
"56dff3afd2720bba668b4567": 1
},
"Caliber556x45NATO": {
"59e6927d86f77411da468256": 2,
"59e6918f86f7746c9f75e849": 2,
"59e68f6f86f7746c9f75e846": 4,
"59e6920f86f77411d82aa167": 5,
"54527a984bdc2d4e668b4567": 1
},
"Caliber57x28": {
"5cc86832d7f00c000d3a6e6c": 2,
"5cc80f79e4a949033c7343b2": 3,
"5cc86840d7f00c002412c56c": 3,
"5cc80f8fe4a949033b0224a2": 1,
"5cc80f53e4a949000e1ea4f8": 1
},
"Caliber68x51": {
"6529302b8c26af6326029fb7": 1
},
"Caliber762x25TT": {
"573602322459776445391df1": 2,
"573601b42459776410737435": 2,
"5735fdcd2459776445391d61": 1,
"5736026a245977644601dc61": 1
},
"Caliber762x35": {
"6196365d58ef8c428c287da1": 1,
"6196364158ef8c428c287d9f": 6,
"5fbe3ffdf8b6a877a729ea82": 3
},
"Caliber762x39": {
"59e4d3d286f774176a36250a": 2,
"64b7af734b75259c590fa895": 2,
"64b7af5a8532cf95ee0a0dbd": 6,
"59e4d24686f7741776641ac7": 4,
"59e4cf5286f7741778269d8a": 2,
"5656d7c34bdc2d9d198b4587": 1
},
"Caliber762x51": {
"5e023e88277cce2b522ff2b1": 2,
"5e023e6e34d52a55c3304f71": 2,
"5e023e53d4353e3302577c4c": 1
},
"Caliber762x54R": {
"64b8f7c241772715af0f9c3d": 2,
"64b8f7b5389d7ffd620ccba2": 2,
"64b8f7968532cf95ee0a0dbf": 2,
"5e023cf8186a883be655e54f": 2,
"5887431f2459777e1612938f": 1
},
"Caliber86x70": {
"5fc382b6d6fa9c00c571bbc3": 2,
"5fc382c1016cce60e8341b20": 1
},
"Caliber9x18PM": {
"5737218f245977612125ba51": 5,
"57372140245977611f70ee91": 5,
"5737207f24597760ff7b25f2": 2,
"573719762459775a626ccbc1": 3,
"57371f8d24597761006c6a81": 3,
"57371f2b24597761224311f1": 5,
"57371eb62459776125652ac1": 1,
"57371b192459775a9f58a5e0": 1,
"57371e4124597760ff7b25f1": 1
},
"Caliber9x19PARA": {
"5efb0e16aeb21837e749c7ff": 1,
"58864a4f2459770fcc257101": 7,
"5a3c16fe86f77452b62de32a": 12,
"5c3df7d588a4501f290594e5": 6,
"64b7bbb74b75259c590fa897": 4,
"56d59d3ad2720bdb418b4577": 2
},
"Caliber9x21": {
"5a26ac06c4a282000c5a90a8": 5,
"5a26abfac4a28232980eabff": 3,
"5a269f97c4a282000b151807": 1
},
"Caliber9x33R": {
"62330c40bdd19b369e1e53d1": 5,
"62330bfadc5883093563729b": 3,
"62330c18744e5e31df12f516": 1
},
"Caliber9x39": {
"6576f96220d53a5b8f3e395e": 7,
"57a0dfb82459774d3078b56c": 5,
"5c0d668f86f7747ccb7f13b2": 1
},
"Caliber127x33": {
"66a0d1c87d0d369e270bb9de": 10,
"66a0d1f88486c69fce00fdf6": 1
}
},
"pmcAmmo": {
"Caliber1143x23ACP": {
"5ea2a8e200685063ec28c05a": 1,
"5efb0fc6aeb21837e749c801": 8,
"5efb0d4f4bc50b58e81710f3": 40,
"5e81f423763d9f754677bf2e": 25
},
"Caliber127x55": {
"5cadf6e5ae921500113bb973": 45
},
"Caliber12g": {
"5d6e6806a4b936088465b17e": 10,
"5c0d591486f7744c505b416f": 3,
"5d6e68d1a4b93622fe60e845": 3,
"5d6e6869a4b9361c140bcfde": 2,
"5d6e68b3a4b9361bca7e50b5": 2,
"58820d1224597753c90aeb13": 2,
"5d6e68dea4b9361bcc29e659": 2,
"5d6e6891a4b9361bd473feea": 9,
"5d6e68e6a4b9361c140bcfe0": 15,
"5d6e689ca4b9361bc8618956": 9
},
"Caliber20g": {
"5d6e695fa4b936359b35d852": 3,
"5d6e69b9a4b9361bc8618958": 3,
"5a38ebd9c4a282000d722a5b": 5,
"5d6e69c7a4b9360b6c0d54e4": 10,
"5d6e6a5fa4b93614ec501745": 3,
"5d6e6a53a4b9361bd473feec": 3
},
"Caliber23x75": {
"5f647f31b6238e5dd066e196": 8,
"5e85a9a6eacf8c039e4e2ac1": 2
},
"Caliber366TKM": {
"59e6658b86f77411d949b250": 12,
"59e6542b86f77411dc52a77a": 35,
"59e655cb86f77411dc52a77b": 20
},
"Caliber40mmRU": {
"5656eb674bdc2d35148b457c": 1
},
"Caliber40x46": {
"5ede4739e0350d05467f73e8": 1,
"5ede47405b097655935d7d16": 1,
"5ede474b0c226a66f5402622": 1,
"5ede475339ee016e8c534742": 1,
"5ede475b549eed7c6d5c18fb": 1,
"5f0c892565703e5c461894e9": 1
},
"Caliber46x30": {
"5ba26812d4351e003201fef1": 40,
"5ba26844d4351e00334c9475": 60
},
"Caliber545x39": {
"56dff338d2720bbd668b4569": 5,
"56dff4a2d2720bbd668b456a": 7,
"56dff0bed2720bb0668b4567": 10,
"56dff3afd2720bba668b4567": 60,
"56dff2ced2720bb4668b4567": 5,
"56dff061d2720bb5668b4567": 1
},
"Caliber556x45NATO": {
"59e6918f86f7746c9f75e849": 10,
"59e68f6f86f7746c9f75e846": 40,
"59e6920f86f77411d82aa167": 50,
"54527a984bdc2d4e668b4567": 30,
"60194943740c5d77f6705eea": 10,
"59e6906286f7746c9f75e847": 5
},
"Caliber57x28": {
"5cc86832d7f00c000d3a6e6c": 4,
"5cc80f79e4a949033c7343b2": 11,
"5cc86840d7f00c002412c56c": 21,
"5cc80f8fe4a949033b0224a2": 21,
"5cc80f53e4a949000e1ea4f8": 12,
"5cc80f67e4a949035e43bbba": 4
},
"Caliber68x51": {
"6529302b8c26af6326029fb7": 1
},
"Caliber762x25TT": {
"573601b42459776410737435": 8,
"5735fdcd2459776445391d61": 12,
"5736026a245977644601dc61": 18,
"573603c924597764442bd9cb": 13,
"573603562459776430731618": 3
},
"Caliber762x35": {
"6196365d58ef8c428c287da1": 9,
"6196364158ef8c428c287d9f": 18,
"5fbe3ffdf8b6a877a729ea82": 18
},
"Caliber762x39": {
"64b7af5a8532cf95ee0a0dbd": 5,
"59e4d24686f7741776641ac7": 15,
"59e4cf5286f7741778269d8a": 40,
"5656d7c34bdc2d9d198b4587": 45,
"64b7af434b75259c590fa893": 10
},
"Caliber762x51": {
"5e023e88277cce2b522ff2b1": 10,
"5e023e6e34d52a55c3304f71": 30,
"5e023e53d4353e3302577c4c": 50,
"58dd3ad986f77403051cba8f": 10
},
"Caliber762x54R": {
"64b8f7b5389d7ffd620ccba2": 5,
"64b8f7968532cf95ee0a0dbf": 9,
"5e023cf8186a883be655e54f": 16,
"5887431f2459777e1612938f": 22,
"59e77a2386f7742ee578960a": 10
},
"Caliber86x70": {
"5fc382b6d6fa9c00c571bbc3": 90,
"5fc382c1016cce60e8341b20": 5,
"5fc275cf85fd526b824a571a": 5
},
"Caliber9x18PM": {
"57371f8d24597761006c6a81": 3,
"57371f2b24597761224311f1": 3,
"57371eb62459776125652ac1": 3,
"57371b192459775a9f58a5e0": 9,
"57371e4124597760ff7b25f1": 13,
"5737201124597760fc4431f1": 21,
"573720e02459776143012541": 14,
"573718ba2459775a75491131": 8
},
"Caliber9x19PARA": {
"5efb0e16aeb21837e749c7ff": 7,
"58864a4f2459770fcc257101": 1,
"5a3c16fe86f77452b62de32a": 15,
"5c3df7d588a4501f290594e5": 20,
"64b7bbb74b75259c590fa897": 30,
"56d59d3ad2720bdb418b4577": 55
},
"Caliber9x21": {
"5a26ac06c4a282000c5a90a8": 1,
"5a26abfac4a28232980eabff": 20,
"5a269f97c4a282000b151807": 27
},
"Caliber9x33R": {
"62330c40bdd19b369e1e53d1": 7,
"62330bfadc5883093563729b": 8,
"62330c18744e5e31df12f516": 4
},
"Caliber9x39": {
"6576f96220d53a5b8f3e395e": 10,
"57a0dfb82459774d3078b56c": 50,
"5c0d668f86f7747ccb7f13b2": 40
},
"Caliber127x33": {
"66a0d1c87d0d369e270bb9de": 30,
"66a0d1f88486c69fce00fdf6": 50
}
},
"bossAmmo": {
"Caliber1143x23ACP": {
"5ea2a8e200685063ec28c05a": 4,
"5efb0fc6aeb21837e749c801": 1,
"5efb0d4f4bc50b58e81710f3": 10,
"5e81f423763d9f754677bf2e": 18,
"5efb0cabfb3e451d70735af5": 10
},
"Caliber127x55": {
"5cadf6e5ae921500113bb973": 3,
"5cadf6ddae9215051e1c23b2": 12,
"5cadf6eeae921500134b2799": 8
},
"Caliber12g": {
"5d6e6806a4b936088465b17e": 7,
"64b8ee384b75259c590fa89b": 4,
"5d6e6911a4b9361bd5780d52": 3,
"5c0d591486f7744c505b416f": 5,
"5d6e6891a4b9361bd473feea": 2,
"5d6e68e6a4b9361c140bcfe0": 6,
"5d6e689ca4b9361bc8618956": 8,
"5d6e68c4a4b9361b93413f79": 8,
"5d6e68a8a4b9360b6c0d54e2": 3
},
"Caliber20g": {
"5d6e69c7a4b9360b6c0d54e4": 1,
"5d6e6a53a4b9361bd473feec": 4,
"5d6e6a05a4b93618084f58d0": 5,
"5d6e6a42a4b9364f07165f52": 5
},
"Caliber23x75": {
"5f647f31b6238e5dd066e196": 2,
"5e85a9a6eacf8c039e4e2ac1": 4,
"5e85aa1a988a8701445df1f5": 4
},
"Caliber366TKM": {
"59e6658b86f77411d949b250": 1,
"59e6542b86f77411dc52a77a": 2,
"59e655cb86f77411dc52a77b": 10,
"5f0596629e22f464da6bbdd9": 8
},
"Caliber40mmRU": {
"5656eb674bdc2d35148b457c": 1
},
"Caliber40x46": {
"5ede4739e0350d05467f73e8": 1,
"5ede47405b097655935d7d16": 1,
"5ede474b0c226a66f5402622": 1,
"5ede475339ee016e8c534742": 1,
"5ede475b549eed7c6d5c18fb": 1,
"5f0c892565703e5c461894e9": 1
},
"Caliber46x30": {
"5ba26812d4351e003201fef1": 2,
"5ba26844d4351e00334c9475": 4,
"5ba2678ad4351e44f824b344": 15,
"64b6979341772715af0f9c39": 15,
"5ba26835d4351e0035628ff5": 8
},
"Caliber545x39": {
"56dff3afd2720bba668b4567": 6,
"56dff2ced2720bb4668b4567": 12,
"56dff061d2720bb5668b4567": 20,
"61962b617c6c7b169525f168": 12,
"56dfef82d2720bbd668b4567": 9,
"56dff026d2720bb8668b4567": 8,
"5c0d5e4486f77478390952fe": 4
},
"Caliber556x45NATO": {
"5c0d5ae286f7741e46554302": 1,
"54527a984bdc2d4e668b4567": 7,
"60194943740c5d77f6705eea": 20,
"59e6906286f7746c9f75e847": 26,
"54527ac44bdc2d36668b4567": 30,
"59e690b686f7746c9f75e848": 7,
"601949593ae8f707c4608daa": 5
},
"Caliber57x28": {
"5cc80f8fe4a949033b0224a2": 5,
"5cc80f53e4a949000e1ea4f8": 21,
"5cc80f67e4a949035e43bbba": 15,
"5cc80f38e4a949001152b560": 12
},
"Caliber68x51": {
"6529302b8c26af6326029fb7": 10,
"6529243824cbe3c74a05e5c1": 5
},
"Caliber762x25TT": {
"5736026a245977644601dc61": 5,
"573603c924597764442bd9cb": 10,
"573603562459776430731618": 10
},
"Caliber762x35": {
"6196365d58ef8c428c287da1": 7,
"5fbe3ffdf8b6a877a729ea82": 6,
"619636be6db0f2477964e710": 23,
"64b8725c4b75259c590fa899": 20,
"5fd20ff893a8961fc660a954": 9
},
"Caliber762x39": {
"59e4cf5286f7741778269d8a": 4,
"5656d7c34bdc2d9d198b4587": 28,
"64b7af434b75259c590fa893": 33,
"59e0d99486f7744a32234762": 20,
"601aa3d2b2bcb34913271e6d": 12
},
"Caliber762x51": {
"5e023e53d4353e3302577c4c": 6,
"58dd3ad986f77403051cba8f": 27,
"5a608bf24f39f98ffc77720e": 19,
"5a6086ea4f39f99cd479502f": 9,
"5efb0c1bd79ff02a1f5e68d9": 2
},
"Caliber762x54R": {
"5e023cf8186a883be655e54f": 3,
"5887431f2459777e1612938f": 20,
"59e77a2386f7742ee578960a": 25,
"5e023d34e8a400319a28ed44": 22,
"560d61e84bdc2da74d8b4571": 15,
"5e023d48186a883be655e551": 10
},
"Caliber86x70": {
"5fc382b6d6fa9c00c571bbc3": 5,
"5fc382c1016cce60e8341b20": 8,
"5fc275cf85fd526b824a571a": 8,
"5fc382a9d724d907e2077dab": 5
},
"Caliber9x18PM": {
"57371e4124597760ff7b25f1": 3,
"5737201124597760fc4431f1": 5,
"573720e02459776143012541": 12,
"573718ba2459775a75491131": 18,
"57371aab2459775a77142f22": 12,
"573719df2459775a626ccbc2": 10
},
"Caliber9x19PARA": {
"5c0d56a986f774449d5de529": 9,
"5efb0e16aeb21837e749c7ff": 5,
"5a3c16fe86f77452b62de32a": 4,
"56d59d3ad2720bdb418b4577": 18,
"5c925fa22e221601da359b7b": 22,
"5efb0da7a29a85116f6ea05f": 9
},
"Caliber9x21": {
"5a269f97c4a282000b151807": 8,
"6576f93989f0062e741ba952": 18,
"5a26ac0ec4a28200741e1e18": 18,
"6576f4708ca9c4381d16cd9d": 8
},
"Caliber9x33R": {
"62330c18744e5e31df12f516": 9,
"62330b3ed4dc74626d570b95": 6
},
"Caliber9x39": {
"5c0d668f86f7747ccb7f13b2": 9,
"61962d879bb3d20b0946d385": 25,
"57a0e5022459774d1673f889": 25,
"5c0d688c86f77413ae3407b2": 12
},
"Caliber127x33": {
"66a0d1c87d0d369e270bb9de": 3,
"66a0d1f88486c69fce00fdf6": 30,
"66a0d1e0ed648d72fe064d06": 25,
"668fe62ac62660a5d8071446": 12
}
}
}

View File

@ -0,0 +1,430 @@
{
"pmcUSEC": {
"appearance": {
"body": {
"5cde95d97d6c8b647a3769b0": 5,
"66546f823b51a4d21e0d17d7": 1,
"5d1f56a686f7744bce0ee9eb": 2,
"5d1f56c686f7744bcd13459c": 3,
"637b945722e2a933ed0e33c8": 3,
"6571cb0923aa6d72760a7f8f": 3,
"5fd3e9f71b735718c25cd9f8": 3,
"642d9bbf6c06444bf7033855": 3
},
"feet": {
"5cde95ef7d6c8b04713c4f2d": 5,
"5d1f58ed86f7744bcb0acd1c": 2,
"5d1f590486f7744bcd13459e": 3,
"642d4d8eb6b75d4c89077cf9": 3,
"6033a3fee29c9f6c9b14e74e": 3
},
"hands": {
"5cde95fa7d6c8b04737c2d13": 1
},
"head": {
"5cde96047d6c8b20b577f016": 1,
"5fdb4139e4ed5b5ea251e4ed": 1,
"5fdb5950f5264a66150d1c6e": 1,
"60a6aa8fd559ae040d0d951f": 1,
"619f9e338858a474c8685cc9": 1,
"62aca6a1310e67685a2fc2e7": 1,
"6574aabee0423b9ebe0c79cf": 1
}
}
},
"pmcBEAR": {
"appearance": {
"body": {
"5cc0858d14c02e000c6bea66": 5,
"66546f823b51a4d21e0d17d7": 1,
"5d1f565786f7743f8362bcd5": 2,
"5fce3e0cfe40296c1d5fd782": 3,
"6377266693a3b4967208e42b": 3,
"5d1f564b86f7744bcb0acd16": 3,
"6295e698e9de5e7b3751c47a": 3,
"642e8ae07e17c882400c4f87": 3,
"5d1f568486f7744bca3f0b98": 3
},
"feet": {
"5cc085bb14c02e000e67a5c5": 5,
"5d1f58bd86f7744bce0ee9ef": 2,
"6377315993a3b4967208e437": 3,
"5d1f588e86f7744bcc048753": 3,
"65707a89f5a6f1412f0c5f7b": 3,
"642ed40af5bdf1c04e01952e": 3,
"5fce3e965a9f8c40685693bc": 3
},
"hands": {
"5cc0876314c02e000c6bea6b": 1
},
"head": {
"5cc084dd14c02e000b0550a3": 1,
"5fdb50bb2b730a787b3f78cf": 1,
"5fdb7571e4ed5b5ea251e529": 1,
"60a6aaad42fd2735e4589978": 1,
"619f94f5b90286142b59d45f": 1,
"62a9e7d15ea3b87d6f642a28": 1,
"6574aa9a1b144de18c0fba45": 1
}
}
},
"springEarly": {
"pmcUSEC": {
"appearance": {
"body": {
"5d1f56c686f7744bcd13459c": 1,
"5fd3e9f71b735718c25cd9f8": 1,
"66043728333907134309d647": 1,
"66acbe49dc61999a6a03d4d6": 1,
"660437e57502eca33a08caca": 1,
"5d1f56f186f7744bcb0acd1a": 1,
"5d1f56ff86f7743f8362bcd7": 1,
"5d1f56a686f7744bce0ee9eb": 2,
"5e9da17386f774054b6f79a3": 2,
"5e4bb35286f77406a511c9bc": 2,
"5d1f56e486f7744bce0ee9ed": 2
},
"feet": {
"642d4d8eb6b75d4c89077cf9": 1,
"5fcf940bce1ba36a513bb9cc": 1,
"66acc8f719271bd6d00dec0b": 1,
"6295e944e9de5e7b3751c4da": 1,
"5d1f592286f7743f8362bcdb": 1,
"5e4bb3b586f77406812bd579": 1,
"5d1f590486f7744bcd13459e": 3,
"5d1f58ed86f7744bcb0acd1c": 3
},
"hands": {
"5cde95fa7d6c8b04737c2d13": 1
},
"head": {
"5cde96047d6c8b20b577f016": 1,
"5fdb4139e4ed5b5ea251e4ed": 1,
"5fdb5950f5264a66150d1c6e": 1,
"60a6aa8fd559ae040d0d951f": 1,
"619f9e338858a474c8685cc9": 1,
"62aca6a1310e67685a2fc2e7": 1,
"6574aabee0423b9ebe0c79cf": 1
}
}
},
"pmcBEAR": {
"appearance": {
"body": {
"657058fddf9b3231400e9188": 1,
"6033a31e9ec839204e6a2f3e": 1,
"5d1f567786f7744bcc04874f": 1,
"5e9d9fa986f774054d6b89f2": 1,
"5f5e401747344c2e4f6c42c5": 1,
"642e8ae07e17c882400c4f87": 2,
"5d1f568486f7744bca3f0b98": 2,
"66acec1dc94f4bf5bc063a16": 2,
"5e4bb31586f7740695730568": 2
},
"feet": {
"5d1f58bd86f7744bce0ee9ef": 1,
"6377315993a3b4967208e437": 1,
"66043cf87502eca33a08cad2": 1,
"5d1f58cb86f7744bca3f0b9a": 1,
"5d1f58a086f7743f8362bcd9": 1,
"617be9e4e02b3b3fa50fa8f2": 1,
"5f5e40400bc58666c37e7819": 1,
"66acebd4ede86671bb09584b": 3,
"5d1f58ab86f7743014162042": 3
},
"hands": {
"5cc0876314c02e000c6bea6b": 1
},
"head": {
"5cc084dd14c02e000b0550a3": 1,
"5fdb50bb2b730a787b3f78cf": 1,
"5fdb7571e4ed5b5ea251e529": 1,
"60a6aaad42fd2735e4589978": 1,
"619f94f5b90286142b59d45f": 1,
"62a9e7d15ea3b87d6f642a28": 1,
"6574aa9a1b144de18c0fba45": 1
}
}
}
},
"spring": {
"pmcUSEC": {
"appearance": {
"body": {
"5cde95d97d6c8b647a3769b0": 1,
"5fd3e9f71b735718c25cd9f8": 1,
"66043728333907134309d647": 1,
"5d4da0cb86f77450fe0a6629": 1,
"5d1f56f186f7744bcb0acd1a": 1,
"5f5e4075df4f3100376a8138": 1
},
"feet": {
"5cde95ef7d6c8b04713c4f2d": 1,
"6033a3fee29c9f6c9b14e74e": 1,
"660436487502eca33a08cac8": 1,
"6571cad4c8673f00290f5657": 1,
"66acc8f719271bd6d00dec0b": 1,
"5d1f592286f7743f8362bcdb": 1,
"642d6941ff5ecad7810a8a61": 1,
"5e9dcadd86f7743e20652f23": 1
},
"hands": {
"5cde95fa7d6c8b04737c2d13": 1
},
"head": {
"5cde96047d6c8b20b577f016": 1,
"5fdb4139e4ed5b5ea251e4ed": 1,
"5fdb5950f5264a66150d1c6e": 1,
"60a6aa8fd559ae040d0d951f": 1,
"619f9e338858a474c8685cc9": 1,
"62aca6a1310e67685a2fc2e7": 1,
"6574aabee0423b9ebe0c79cf": 1
}
}
},
"pmcBEAR": {
"appearance": {
"body": {
"5cc0858d14c02e000c6bea66": 1,
"5d1f564b86f7744bcb0acd16": 1,
"6295e698e9de5e7b3751c47a": 1,
"6033a31e9ec839204e6a2f3e": 1,
"5fce3e47fe40296c1d5fd784": 1,
"617bca4b4013b06b0b78df2a": 1,
"5df89f1f86f77412631087ea": 1
},
"feet": {
"5cc085bb14c02e000e67a5c5": 1,
"5d1f588e86f7744bcc048753": 1,
"66043cf87502eca33a08cad2": 1,
"6033a3d8ed2e0509b15f9031": 1,
"642e71620a69698d1b049f0a": 1,
"617be9e4e02b3b3fa50fa8f2": 1,
"642eea6f881906a7fe086841": 1,
"5df89f8f86f77412672a1e38": 1,
"5e9dc97c86f774054c19ac9a": 1,
"5e4bb39386f774067f79de05": 1
},
"hands": {
"5cc0876314c02e000c6bea6b": 1
},
"head": {
"5cc084dd14c02e000b0550a3": 1,
"5fdb50bb2b730a787b3f78cf": 1,
"5fdb7571e4ed5b5ea251e529": 1,
"60a6aaad42fd2735e4589978": 1,
"619f94f5b90286142b59d45f": 1,
"62a9e7d15ea3b87d6f642a28": 1,
"6574aa9a1b144de18c0fba45": 1
}
}
}
},
"summer": {
"pmcUSEC": {
"appearance": {
"body": {
"5cde95d97d6c8b647a3769b0": 1,
"5d1f56c686f7744bcd13459c": 1,
"5fd3e9f71b735718c25cd9f8": 1,
"66043728333907134309d647": 1,
"5d4da0cb86f77450fe0a6629": 1,
"66acbe49dc61999a6a03d4d6": 1,
"64ef3efdb63b74469b6c1499": 1,
"642c18b8a6a0660b560fb31c": 1,
"5d1f56f186f7744bcb0acd1a": 1,
"5f5e4075df4f3100376a8138": 1
},
"feet": {
"5cde95ef7d6c8b04713c4f2d": 1,
"6033a3fee29c9f6c9b14e74e": 1,
"660436487502eca33a08cac8": 1,
"6571cad4c8673f00290f5657": 1,
"66acc8f719271bd6d00dec0b": 1,
"5d1f593286f7743014162044": 1,
"5d1f592286f7743f8362bcdb": 1,
"642d6941ff5ecad7810a8a61": 1,
"5e9dcadd86f7743e20652f23": 1
},
"hands": {
"5cde95fa7d6c8b04737c2d13": 1
},
"head": {
"5cde96047d6c8b20b577f016": 1,
"5fdb4139e4ed5b5ea251e4ed": 1,
"5fdb5950f5264a66150d1c6e": 1,
"60a6aa8fd559ae040d0d951f": 1,
"619f9e338858a474c8685cc9": 1,
"62aca6a1310e67685a2fc2e7": 1,
"6574aabee0423b9ebe0c79cf": 1
}
}
},
"pmcBEAR": {
"appearance": {
"body": {
"5cc0858d14c02e000c6bea66": 1,
"5d1f564b86f7744bcb0acd16": 1,
"6295e698e9de5e7b3751c47a": 1,
"6033a31e9ec839204e6a2f3e": 1,
"5fce3e47fe40296c1d5fd784": 1,
"617bca4b4013b06b0b78df2a": 1,
"64ef3efdb63b74469b6c1499": 1,
"5df89f1f86f77412631087ea": 1,
"5e9d9fa986f774054d6b89f2": 1
},
"feet": {
"5cc085bb14c02e000e67a5c5": 1,
"5d1f588e86f7744bcc048753": 1,
"66043cf87502eca33a08cad2": 1,
"6033a3d8ed2e0509b15f9031": 1,
"642e71620a69698d1b049f0a": 1,
"617be9e4e02b3b3fa50fa8f2": 1,
"642eea6f881906a7fe086841": 1,
"5df89f8f86f77412672a1e38": 1,
"5e9dc97c86f774054c19ac9a": 1,
"5e4bb39386f774067f79de05": 1
},
"hands": {
"5cc0876314c02e000c6bea6b": 1
},
"head": {
"5cc084dd14c02e000b0550a3": 1,
"5fdb50bb2b730a787b3f78cf": 1,
"5fdb7571e4ed5b5ea251e529": 1,
"60a6aaad42fd2735e4589978": 1,
"619f94f5b90286142b59d45f": 1,
"62a9e7d15ea3b87d6f642a28": 1,
"6574aa9a1b144de18c0fba45": 1
}
}
}
},
"autumn": {
"pmcUSEC": {
"appearance": {
"body": {
"5d1f56c686f7744bcd13459c": 1,
"637b945722e2a933ed0e33c8": 1,
"6571cb0923aa6d72760a7f8f": 1,
"6033a35f80ae5e2f970ba6bb": 1,
"5d1f56e486f7744bce0ee9ed": 1,
"66acbe49dc61999a6a03d4d6": 1,
"660437e57502eca33a08caca": 1,
"64ef3efdb63b74469b6c1499": 1,
"5d1f56ff86f7743f8362bcd7": 1
},
"feet": {
"642d4d8eb6b75d4c89077cf9": 1,
"5fcf940bce1ba36a513bb9cc": 1,
"637ba17aa10a96c2b605dbc2": 1,
"6295e944e9de5e7b3751c4da": 1,
"5e4bb3b586f77406812bd579": 1,
"5f5e40a06760b4138443b341": 1
},
"hands": {
"5cde95fa7d6c8b04737c2d13": 1
},
"head": {
"5cde96047d6c8b20b577f016": 1,
"5fdb4139e4ed5b5ea251e4ed": 1,
"5fdb5950f5264a66150d1c6e": 1,
"60a6aa8fd559ae040d0d951f": 1,
"619f9e338858a474c8685cc9": 1,
"62aca6a1310e67685a2fc2e7": 1,
"6574aabee0423b9ebe0c79cf": 1
}
}
},
"pmcBEAR": {
"appearance": {
"body": {
"6377266693a3b4967208e42b": 1,
"5d1f568486f7744bca3f0b98": 1,
"657058fddf9b3231400e9188": 1,
"642ed297ac11c9eaf10d87e8": 1,
"5d1f567786f7744bcc04874f": 1,
"64ef3efdb63b74469b6c1499": 1,
"6430119aac11c9eaf10d881b": 1,
"5f5e401747344c2e4f6c42c5": 1
},
"feet": {
"5d1f58bd86f7744bce0ee9ef": 1,
"6377315993a3b4967208e437": 1,
"642ed40af5bdf1c04e01952e": 1,
"6295e63de08ed747e64ae991": 1,
"5d1f58a086f7743f8362bcd9": 1,
"66043d7ac8949a435906e434": 1,
"5d1f58ab86f7743014162042": 1,
"5f5e40400bc58666c37e7819": 1
},
"hands": {
"5cc0876314c02e000c6bea6b": 1
},
"head": {
"5cc084dd14c02e000b0550a3": 1,
"5fdb50bb2b730a787b3f78cf": 1,
"5fdb7571e4ed5b5ea251e529": 1,
"60a6aaad42fd2735e4589978": 1,
"619f94f5b90286142b59d45f": 1,
"62a9e7d15ea3b87d6f642a28": 1,
"6574aa9a1b144de18c0fba45": 1
}
}
}
},
"winter": {
"pmcUSEC": {
"appearance": {
"body": {
"5d1f56a686f7744bce0ee9eb": 1,
"5e9da17386f774054b6f79a3": 1,
"5e4bb35286f77406a511c9bc": 1,
"5d1f56e486f7744bce0ee9ed": 1
},
"feet": {
"5d1f590486f7744bcd13459e": 1,
"5d1f58ed86f7744bcb0acd1c": 1
},
"hands": {
"5cde95fa7d6c8b04737c2d13": 1
},
"head": {
"5cde96047d6c8b20b577f016": 1,
"5fdb4139e4ed5b5ea251e4ed": 1,
"5fdb5950f5264a66150d1c6e": 1,
"60a6aa8fd559ae040d0d951f": 1,
"619f9e338858a474c8685cc9": 1,
"62aca6a1310e67685a2fc2e7": 1,
"6574aabee0423b9ebe0c79cf": 1
}
}
},
"pmcBEAR": {
"appearance": {
"body": {
"642e8ae07e17c882400c4f87": 1,
"5d1f568486f7744bca3f0b98": 1,
"66acec1dc94f4bf5bc063a16": 1,
"5e4bb31586f7740695730568": 1
},
"feet": {
"66acebd4ede86671bb09584b": 1,
"5d1f58ab86f7743014162042": 1
},
"hands": {
"5cc0876314c02e000c6bea6b": 1
},
"head": {
"5cc084dd14c02e000b0550a3": 1,
"5fdb50bb2b730a787b3f78cf": 1,
"5fdb7571e4ed5b5ea251e529": 1,
"60a6aaad42fd2735e4589978": 1,
"619f94f5b90286142b59d45f": 1,
"62a9e7d15ea3b87d6f642a28": 1,
"6574aa9a1b144de18c0fba45": 1
}
}
}
}
}

View File

@ -0,0 +1,464 @@
{
"scavAmmo": {
"Caliber1143x23ACP": {
"5efb0fc6aeb21837e749c801": 1,
"5efb0d4f4bc50b58e81710f3": 3
},
"Caliber127x55": {
"5cadf6e5ae921500113bb973": 1
},
"Caliber12g": {
"5d6e6772a4b936088465b17c": 2,
"5d6e6806a4b936088465b17e": 2,
"5d6e67fba4b9361bc73bc779": 2,
"560d5e524bdc2d25448b4571": 2,
"5d6e6869a4b9361c140bcfde": 1,
"5d6e68b3a4b9361bca7e50b5": 1,
"58820d1224597753c90aeb13": 1,
"5d6e68dea4b9361bcc29e659": 1,
"5d6e6891a4b9361bd473feea": 1,
"5d6e68e6a4b9361c140bcfe0": 1,
"5d6e689ca4b9361bc8618956": 1
},
"Caliber20g": {
"5d6e695fa4b936359b35d852": 2,
"5d6e69b9a4b9361bc8618958": 2,
"5a38ebd9c4a282000d722a5b": 2,
"5d6e69c7a4b9360b6c0d54e4": 1,
"5d6e6a53a4b9361bd473feec": 1
},
"Caliber23x75": {
"5f647f31b6238e5dd066e196": 3,
"5e85a9a6eacf8c039e4e2ac1": 1
},
"Caliber366TKM": {
"59e6658b86f77411d949b250": 3,
"59e6542b86f77411dc52a77a": 1
},
"Caliber40mmRU": {
"5656eb674bdc2d35148b457c": 1
},
"Caliber40x46": {
"5ede4739e0350d05467f73e8": 1,
"5ede47405b097655935d7d16": 1,
"5ede474b0c226a66f5402622": 1,
"5ede475339ee016e8c534742": 1,
"5ede475b549eed7c6d5c18fb": 1,
"5f0c892565703e5c461894e9": 1
},
"Caliber46x30": {
"5ba26812d4351e003201fef1": 3,
"5ba26844d4351e00334c9475": 1
},
"Caliber545x39": {
"56dff216d2720bbd668b4568": 1,
"56dff338d2720bbd668b4569": 4,
"56dff421d2720b5f5a8b4567": 4,
"56dff4ecd2720b5f5a8b4568": 2,
"56dff4a2d2720bbd668b456a": 4,
"56dff0bed2720bb0668b4567": 3,
"56dff3afd2720bba668b4567": 1
},
"Caliber556x45NATO": {
"59e6927d86f77411da468256": 2,
"59e6918f86f7746c9f75e849": 2,
"59e68f6f86f7746c9f75e846": 4,
"59e6920f86f77411d82aa167": 5,
"54527a984bdc2d4e668b4567": 1
},
"Caliber57x28": {
"5cc86832d7f00c000d3a6e6c": 2,
"5cc80f79e4a949033c7343b2": 3,
"5cc86840d7f00c002412c56c": 3,
"5cc80f8fe4a949033b0224a2": 1,
"5cc80f53e4a949000e1ea4f8": 1
},
"Caliber68x51": {
"6529302b8c26af6326029fb7": 1
},
"Caliber762x25TT": {
"573602322459776445391df1": 2,
"573601b42459776410737435": 2,
"5735fdcd2459776445391d61": 1,
"5736026a245977644601dc61": 1
},
"Caliber762x35": {
"6196365d58ef8c428c287da1": 1,
"6196364158ef8c428c287d9f": 6,
"5fbe3ffdf8b6a877a729ea82": 3
},
"Caliber762x39": {
"59e4d3d286f774176a36250a": 2,
"64b7af734b75259c590fa895": 2,
"64b7af5a8532cf95ee0a0dbd": 6,
"59e4d24686f7741776641ac7": 4,
"59e4cf5286f7741778269d8a": 2,
"5656d7c34bdc2d9d198b4587": 1
},
"Caliber762x51": {
"5e023e88277cce2b522ff2b1": 2,
"5e023e6e34d52a55c3304f71": 2,
"5e023e53d4353e3302577c4c": 1
},
"Caliber762x54R": {
"64b8f7c241772715af0f9c3d": 2,
"64b8f7b5389d7ffd620ccba2": 2,
"64b8f7968532cf95ee0a0dbf": 2,
"5e023cf8186a883be655e54f": 2,
"5887431f2459777e1612938f": 1
},
"Caliber86x70": {
"5fc382b6d6fa9c00c571bbc3": 2,
"5fc382c1016cce60e8341b20": 1
},
"Caliber9x18PM": {
"5737218f245977612125ba51": 5,
"57372140245977611f70ee91": 5,
"5737207f24597760ff7b25f2": 2,
"573719762459775a626ccbc1": 3,
"57371f8d24597761006c6a81": 3,
"57371f2b24597761224311f1": 5,
"57371eb62459776125652ac1": 1,
"57371b192459775a9f58a5e0": 1,
"57371e4124597760ff7b25f1": 1
},
"Caliber9x19PARA": {
"5efb0e16aeb21837e749c7ff": 1,
"58864a4f2459770fcc257101": 7,
"5a3c16fe86f77452b62de32a": 12,
"5c3df7d588a4501f290594e5": 6,
"64b7bbb74b75259c590fa897": 4,
"56d59d3ad2720bdb418b4577": 2
},
"Caliber9x21": {
"5a26ac06c4a282000c5a90a8": 5,
"5a26abfac4a28232980eabff": 3,
"5a269f97c4a282000b151807": 1
},
"Caliber9x33R": {
"62330c40bdd19b369e1e53d1": 5,
"62330bfadc5883093563729b": 3,
"62330c18744e5e31df12f516": 1
},
"Caliber9x39": {
"6576f96220d53a5b8f3e395e": 7,
"57a0dfb82459774d3078b56c": 5,
"5c0d668f86f7747ccb7f13b2": 1
},
"Caliber127x33": {
"66a0d1c87d0d369e270bb9de": 10,
"66a0d1f88486c69fce00fdf6": 1
}
},
"pmcAmmo": {
"Caliber1143x23ACP": {
"5ea2a8e200685063ec28c05a": 10,
"5efb0fc6aeb21837e749c801": 5,
"5efb0d4f4bc50b58e81710f3": 30,
"5e81f423763d9f754677bf2e": 50,
"5efb0cabfb3e451d70735af5": 10
},
"Caliber127x55": {
"5cadf6e5ae921500113bb973": 80,
"5cadf6ddae9215051e1c23b2": 20
},
"Caliber12g": {
"5d6e6806a4b936088465b17e": 15,
"64b8ee384b75259c590fa89b": 6,
"5c0d591486f7744c505b416f": 5,
"5d6e68e6a4b9361c140bcfe0": 15,
"5d6e689ca4b9361bc8618956": 13,
"5d6e68c4a4b9361b93413f79": 9
},
"Caliber20g": {
"5d6e69c7a4b9360b6c0d54e4": 8,
"5d6e6a5fa4b93614ec501745": 6,
"5d6e6a53a4b9361bd473feec": 6,
"5d6e6a05a4b93618084f58d0": 3,
"5d6e6a42a4b9364f07165f52": 2
},
"Caliber23x75": {
"5f647f31b6238e5dd066e196": 60,
"5e85a9a6eacf8c039e4e2ac1": 30,
"5e85aa1a988a8701445df1f5": 10
},
"Caliber366TKM": {
"59e6542b86f77411dc52a77a": 5,
"59e655cb86f77411dc52a77b": 65,
"5f0596629e22f464da6bbdd9": 30
},
"Caliber40mmRU": {
"5656eb674bdc2d35148b457c": 1
},
"Caliber40x46": {
"5ede4739e0350d05467f73e8": 1,
"5ede47405b097655935d7d16": 1,
"5ede474b0c226a66f5402622": 1,
"5ede475339ee016e8c534742": 1,
"5ede475b549eed7c6d5c18fb": 1,
"5f0c892565703e5c461894e9": 1
},
"Caliber46x30": {
"5ba26844d4351e00334c9475": 70,
"64b6979341772715af0f9c39": 15,
"5ba2678ad4351e44f824b344": 10,
"5ba26835d4351e0035628ff5": 5
},
"Caliber545x39": {
"56dff0bed2720bb0668b4567": 5,
"56dff3afd2720bba668b4567": 40,
"56dff2ced2720bb4668b4567": 30,
"56dff061d2720bb5668b4567": 15,
"61962b617c6c7b169525f168": 5,
"56dfef82d2720bbd668b4567": 5
},
"Caliber556x45NATO": {
"5c0d5ae286f7741e46554302": 5,
"59e6920f86f77411d82aa167": 10,
"54527a984bdc2d4e668b4567": 50,
"60194943740c5d77f6705eea": 30,
"59e6906286f7746c9f75e847": 10,
"54527ac44bdc2d36668b4567": 5
},
"Caliber57x28": {
"5cc86840d7f00c002412c56c": 10,
"5cc80f8fe4a949033b0224a2": 15,
"5cc80f53e4a949000e1ea4f8": 28,
"5cc80f67e4a949035e43bbba": 7
},
"Caliber68x51": {
"6529302b8c26af6326029fb7": 1
},
"Caliber762x25TT": {
"5736026a245977644601dc61": 5,
"573603c924597764442bd9cb": 10,
"573603562459776430731618": 10
},
"Caliber762x35": {
"6196365d58ef8c428c287da1": 5,
"5fbe3ffdf8b6a877a729ea82": 55,
"619636be6db0f2477964e710": 30,
"64b8725c4b75259c590fa899": 10
},
"Caliber762x39": {
"5656d7c34bdc2d9d198b4587": 60,
"64b7af434b75259c590fa893": 35,
"59e0d99486f7744a32234762": 5
},
"Caliber762x51": {
"5e023e53d4353e3302577c4c": 60,
"58dd3ad986f77403051cba8f": 35,
"5a608bf24f39f98ffc77720e": 5
},
"Caliber762x54R": {
"5887431f2459777e1612938f": 50,
"59e77a2386f7742ee578960a": 25,
"5e023d34e8a400319a28ed44": 5
},
"Caliber86x70": {
"5fc382b6d6fa9c00c571bbc3": 75,
"5fc382c1016cce60e8341b20": 20,
"5fc275cf85fd526b824a571a": 5
},
"Caliber9x18PM": {
"5737201124597760fc4431f1": 35,
"573720e02459776143012541": 25,
"573718ba2459775a75491131": 25,
"57371aab2459775a77142f22": 10
},
"Caliber9x19PARA": {
"5c0d56a986f774449d5de529": 5,
"5efb0e16aeb21837e749c7ff": 25,
"56d59d3ad2720bdb418b4577": 65,
"5c925fa22e221601da359b7b": 5
},
"Caliber9x21": {
"5a26abfac4a28232980eabff": 12,
"5a269f97c4a282000b151807": 30,
"6576f93989f0062e741ba952": 12,
"5a26ac0ec4a28200741e1e18": 8
},
"Caliber9x33R": {
"62330bfadc5883093563729b": 8,
"62330c18744e5e31df12f516": 8,
"62330b3ed4dc74626d570b95": 2
},
"Caliber9x39": {
"57a0dfb82459774d3078b56c": 25,
"5c0d668f86f7747ccb7f13b2": 60,
"61962d879bb3d20b0946d385": 10,
"57a0e5022459774d1673f889": 5
},
"Caliber127x33": {
"66a0d1c87d0d369e270bb9de": 30,
"66a0d1f88486c69fce00fdf6": 60,
"66a0d1e0ed648d72fe064d06": 10
}
},
"bossAmmo": {
"Caliber1143x23ACP": {
"5ea2a8e200685063ec28c05a": 4,
"5efb0fc6aeb21837e749c801": 1,
"5efb0d4f4bc50b58e81710f3": 10,
"5e81f423763d9f754677bf2e": 18,
"5efb0cabfb3e451d70735af5": 10
},
"Caliber127x55": {
"5cadf6e5ae921500113bb973": 3,
"5cadf6ddae9215051e1c23b2": 12,
"5cadf6eeae921500134b2799": 8
},
"Caliber12g": {
"5d6e6806a4b936088465b17e": 7,
"64b8ee384b75259c590fa89b": 4,
"5d6e6911a4b9361bd5780d52": 3,
"5c0d591486f7744c505b416f": 5,
"5d6e6891a4b9361bd473feea": 2,
"5d6e68e6a4b9361c140bcfe0": 6,
"5d6e689ca4b9361bc8618956": 8,
"5d6e68c4a4b9361b93413f79": 8,
"5d6e68a8a4b9360b6c0d54e2": 3
},
"Caliber20g": {
"5d6e69c7a4b9360b6c0d54e4": 1,
"5d6e6a53a4b9361bd473feec": 4,
"5d6e6a05a4b93618084f58d0": 5,
"5d6e6a42a4b9364f07165f52": 5
},
"Caliber23x75": {
"5f647f31b6238e5dd066e196": 2,
"5e85a9a6eacf8c039e4e2ac1": 4,
"5e85aa1a988a8701445df1f5": 4
},
"Caliber366TKM": {
"59e6658b86f77411d949b250": 1,
"59e6542b86f77411dc52a77a": 2,
"59e655cb86f77411dc52a77b": 10,
"5f0596629e22f464da6bbdd9": 8
},
"Caliber40mmRU": {
"5656eb674bdc2d35148b457c": 1
},
"Caliber40x46": {
"5ede4739e0350d05467f73e8": 1,
"5ede47405b097655935d7d16": 1,
"5ede474b0c226a66f5402622": 1,
"5ede475339ee016e8c534742": 1,
"5ede475b549eed7c6d5c18fb": 1,
"5f0c892565703e5c461894e9": 1
},
"Caliber46x30": {
"5ba26812d4351e003201fef1": 2,
"5ba26844d4351e00334c9475": 4,
"5ba2678ad4351e44f824b344": 15,
"64b6979341772715af0f9c39": 15,
"5ba26835d4351e0035628ff5": 8
},
"Caliber545x39": {
"56dff3afd2720bba668b4567": 6,
"56dff2ced2720bb4668b4567": 12,
"56dff061d2720bb5668b4567": 20,
"61962b617c6c7b169525f168": 12,
"56dfef82d2720bbd668b4567": 9,
"56dff026d2720bb8668b4567": 8,
"5c0d5e4486f77478390952fe": 4
},
"Caliber556x45NATO": {
"5c0d5ae286f7741e46554302": 1,
"54527a984bdc2d4e668b4567": 7,
"60194943740c5d77f6705eea": 20,
"59e6906286f7746c9f75e847": 26,
"54527ac44bdc2d36668b4567": 30,
"59e690b686f7746c9f75e848": 7,
"601949593ae8f707c4608daa": 5
},
"Caliber57x28": {
"5cc80f8fe4a949033b0224a2": 5,
"5cc80f53e4a949000e1ea4f8": 21,
"5cc80f67e4a949035e43bbba": 15,
"5cc80f38e4a949001152b560": 12
},
"Caliber68x51": {
"6529302b8c26af6326029fb7": 10,
"6529243824cbe3c74a05e5c1": 5
},
"Caliber762x25TT": {
"5736026a245977644601dc61": 5,
"573603c924597764442bd9cb": 10,
"573603562459776430731618": 10
},
"Caliber762x35": {
"6196365d58ef8c428c287da1": 7,
"5fbe3ffdf8b6a877a729ea82": 6,
"619636be6db0f2477964e710": 23,
"64b8725c4b75259c590fa899": 20,
"5fd20ff893a8961fc660a954": 9
},
"Caliber762x39": {
"59e4cf5286f7741778269d8a": 4,
"5656d7c34bdc2d9d198b4587": 28,
"64b7af434b75259c590fa893": 33,
"59e0d99486f7744a32234762": 20,
"601aa3d2b2bcb34913271e6d": 12
},
"Caliber762x51": {
"5e023e53d4353e3302577c4c": 6,
"58dd3ad986f77403051cba8f": 27,
"5a608bf24f39f98ffc77720e": 19,
"5a6086ea4f39f99cd479502f": 9,
"5efb0c1bd79ff02a1f5e68d9": 2
},
"Caliber762x54R": {
"5e023cf8186a883be655e54f": 3,
"5887431f2459777e1612938f": 20,
"59e77a2386f7742ee578960a": 25,
"5e023d34e8a400319a28ed44": 22,
"560d61e84bdc2da74d8b4571": 15,
"5e023d48186a883be655e551": 10
},
"Caliber86x70": {
"5fc382b6d6fa9c00c571bbc3": 5,
"5fc382c1016cce60e8341b20": 8,
"5fc275cf85fd526b824a571a": 8,
"5fc382a9d724d907e2077dab": 5
},
"Caliber9x18PM": {
"57371e4124597760ff7b25f1": 3,
"5737201124597760fc4431f1": 5,
"573720e02459776143012541": 12,
"573718ba2459775a75491131": 18,
"57371aab2459775a77142f22": 12,
"573719df2459775a626ccbc2": 10
},
"Caliber9x19PARA": {
"5c0d56a986f774449d5de529": 9,
"5efb0e16aeb21837e749c7ff": 5,
"5a3c16fe86f77452b62de32a": 4,
"56d59d3ad2720bdb418b4577": 18,
"5c925fa22e221601da359b7b": 22,
"5efb0da7a29a85116f6ea05f": 9
},
"Caliber9x21": {
"5a269f97c4a282000b151807": 8,
"6576f93989f0062e741ba952": 18,
"5a26ac0ec4a28200741e1e18": 18,
"6576f4708ca9c4381d16cd9d": 8
},