acidphantasm added a new file:
QuoteDisplay More
Are you tired of scavs being utterly pointless after level 20? This mod is probably for you then.
Because all of the AI will level with you, they'll all start wearing gearing that gets better as you get better. Bosses and their guards will always have decent loadouts. Scavs will actually wear the gear they have been scavenging (sometimes). What the hell is the purpose of scavs outside the early game? Now they have a purpose. Maybe they'll spawn with armour worth yoinking the plates out of? Maybe they'll spawn with weapons that have useful attachments for you! Who knows! That's for you to try this mod and find out!
This gives you a reason to actually check your kills and maybe you'll find something shiny.
All AI have their loadouts adjusted with this mod. Not just scavs. Not just PMCs. All of them. (Boss weapons needed for quests will still spawn, I'm not that mean!)
Please review all of the mod page!
Do not use this with another progression mod.
This mod is still in active development. It may be missing features or configuration options you may want.
Installation
- Download APBS - Acid's Progressive Bot System
- Open the downloaded .zip file in 7-zip
- Select the user folder in the .zip file in 7-zip
- Drag the user folder from 7-zip into your SPT folder
Demonstration Video (yoink):
Features
This list is not even close to encompassing everything that APBS can do, or what you can change!
- Very large configuration file. If you want to tweak/disable something - there's probably a setting for you.
- All AI will level with you.
- All AI have a tiering system.
- All AI weapons have individual attachment chances in each tier.
- Snipers, Marksman Rifles, and Carbines have scopes more often.
- Assault Rifles have foregrips, stocks, muzzles more often. (etc etc etc)
- All AI will use MODDED weapons, equipment, and clothing that you have installed.
- Must be enabled in the config - Not all mods are compatible, no support granted
- Non-Boss pocket/backpack/rig loot has been adjusted.
- Your Player Scav will have gear generated based on your PMC level. Maybe you'll get a decent gun.
- USEC spawn with weapons that you would expect from non-Russian forces.
- BEAR spawn with weapons that you would expect from Russian forces.
- Per map weapon choices for AI? You got it! Factory is mostly short range, but Woods is mostly long range!
- AI will used NVGs if it's night, and they have a helmet supporting NVGs. They will not wear them during the day.
- If you're one of those super long raid enjoyers, then you may still see them with or without them if you transition from day to night, or night to day.
- Scavs have a low chance to use weapons and equipment from the same tier PMC as them.
- Scavs weapon attachments and ammo will always be more basic, never meta.
- Bosses/Goons/Raiders/Rogues pull equipment from a vanilla-ish pool. Their equipment is pretty vanilla - but attachments are expanded.
- Guards pull equipment from a custom equipment pool. Expect them to be beefier than vanilla, and use better ammo.
- All tiering and item weights are handmade and subject to change.
- What is tiered?
- Weapons!
- Equipment!
- PMC Clothing!
- Attachments!
- Ammo!
- This is not based on "loadouts" or "kits", nor traders, nor anything else other progression mods do. It's just based on tiers (by level), and completely random within those tiers.
- Custom Presets (v1.1.0+) can be created, and shared between users. Make your own progression!
- Please see "Presets" tab for information.
- EVERYTHING that APBS does with AI loadouts and equipment, you can also do.
- Change their equipment pools? Check!
- Change their ammo pools? Check!
- Change the CHANCE of a specific attachment on a specific class of weapons? Check!
- APBS is yours to create and customize. Share your preset with users. Laugh at them getting wiped by your gigachad scavs. Do what you want.
Tiering System
- All tiers are based on YOUR character level.
- All of these deltas can be changed in the configuration. If you want more variance, then configure it! If you want less, configure it!
- You can also configure custom level deltas for Scavs separately, if you so wanted.
- Min Level Delta: The number of levels BELOW your player level the AI can spawn
- Max Level Delta: The number of levels ABOVE your player level the AI can spawn
- Example #1: Player Level 32. Tier 4. AI will spawn between level 1 & level 47.
- Example #2: Player Level 28. Tier 3. AI will spawn between level 3 & level 38.
Player Level Min Level Delta Max Level Delta Tier 1 1-10 10 5 Tier 2 11-20 15 7 Tier 3 21-30 25 10 Tier 4 31-40 35 15 Tier 5 41-50 45 15 Tier 6 51-60 55 20 Tier 7 61-79 60 20 Configuration
\user\mods\acidphantasm-progressivebotsystem\config\config.jsonc
CodeDisplay More{ // 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": false, "enableModdedEquipment": false, "enableModdedClothing": false, "initalTierAppearance": 3, "pmcWeaponWeights": 10, "scavWeaponWeights": 1, "followerWeaponWeights": 7, "enableSafeGuard": 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 "forceStock": false, // 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 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. "pmcLoot": false, "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, 7 ], "tier3LevelDelta": [ 25, 10 ], "tier4LevelDelta": [ 35, 15 ], "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 }
Walkthrough for creating your own preset
Helpful Things:
Visual Studio Code SPT ID Highlighter Extension
Steps:
- Copy the example preset
- Rename the preset folder
- Edit the config to use your preset
- Edit your preset
Preset Guidelines
- They can be a lot of work if you want to fully customize your progression.
- The biggest gameplay impact you can make is editing the TierX_equipment.json files, as that controls what equipment and weapons AI spawns with.
- The second biggest gameplay impact would be editing the TierX_ammo.json files, as those control what ammunition AI can use in specific tiers.
- Presets are version agnostic unless a structure change needs to happen.
- I will let people know if this happens on the Version tab for each release.
- This basically means, once you spend time making a preset, you can use it forever even if APBS updates.
Getting Started
- Navigate to the \user\mods\acidphantasm-progressivebotsystem\presets\ folder.
- Copy the example folder.
- Paste the folder you copied in this directory.
- Rename the copied folder to your preset name (Example: acidphantasm_first_preset)
- Do not use special characters. Underscores are acceptable.
- Edit the APBS config to use your preset.
Editing Your Preset
Inside your preset folder that you copied and renamed earlier, you will see 35 .json files. There are 5 files per tier.
File Rules
- You MUST not rename these files. You are not required to edit all of them, only what you see fit to edit.
- You MUST not delete these. Your preset will not work without these 35 files.
In order of easier to toughest files to edit (time & effort) see the below table. This table is subjective. I've been editing these files for weeks now, and I'm very quick at it (even the mods JSON) but the expectation for time spent is how much you will have to spend to understand the structure, and figure out your own method for editing these quicker. If you are just editing minor changes in each of the JSONs, it's fairly quick. The mods.json is the exception - unless you're doing 1-2 changes on a specific gun, expect to spend hours.
Level of Effort Time tierX_appearance.json Low 5-10 minutes per tier tierX_ammo.json Low 10-20 minutes per tier tierX_equipment.json Medium 1-2 hours per tier tierX_chances.json Medium 1-2 hours per tier tierX_mods.json Difficult 10-60 hours per tier
Appearance:
Remember not to edit the STRUCTURE of the json. Only edit the IDs and Weights.
Ammo:
Remember not to edit the STRUCTURE of the json. Only edit the IDs and Weights.
Chances:
Remember not to edit the STRUCTURE of the json. ONLY edit the chances (numbers).
Equipment:
Remember not to edit the STRUCTURE of the json. ONLY edit the IDs & weights.
If you want a Tier1 USEC PMC to use a AXMC, just add the ID ("627e14b21713922ded6f2c15") for the AXMC to the "FirstPrimaryWeapon" - "LongRange" object, right after the other weapons, then set the weight you want it to spawn at. Higher values = more likely, lower values = less likely.
Mods:
Remember not to edit the STRUCTURE of the json.
This is the toughest to edit correctly. The structure is laid out with each individual attachment, as well as each weapon, equipment, helmet, etc if it has slots.
You must remember to never remove a PARENT, you should only be editing the children of the mount point, or removing the mount point in the parent.
Honestly, if you can help it - I really advise against trying to change the mods.json drastically. Each JSON is 18k+ lines of just items and attachments.
Known Current Issues
- None at the moment
If you use SPT-Realism by Fontaine, you must disable Bot Changes in the Realism Config.
- I personally suggest not using another progression mod with Realism, instead just use the progression that is built in. It's made to work seamlessly with Realism and will work with the other changes in that mod - no other progression mod will be balanced with Realism.
This mod was only tested with SAIN, SWAG+Donuts, LootingBots, QuestingBots, and few WTT Custom Weapons. I have had no issues with those mods.
- If you have a mod conflict, ensure the mod in question loads after APBS - or try loading it before.
- If you still have a mod conflict, you can report it in the SPT DISCORD on my thread in #mods-development
- I make no guarantees this will work with any other mods.
This mod will work but will completely ignore any settings in mods that add/remove/change the following:
- Changes to the pools for Equipment, Weapon, Pocket, Rig, Backpack, Headset, Headphones, or Ammo.
- Non-PMC pocket, rig, backpack loot is unaffected and will be manipulated by any other mods you have.
Some mod weapons will not load on bots and will throw a 'No Preset' found error. This isn't my responsibility. Disable the mod weapon importing in the config.
Do not report problems with any of the above.
Alternative Mods
I know this mod won't be for everyone, and the intention is to provide an alternative progression mod. It's a type of mod that I wanted to take on because progression mods are a different type of hell to develop and implement.
The scope and end-goal of this mod is my vision of progression for SPT. It may not match what you want or enjoy.
If you don't like it - I won't be offended and you don't have to use it.
I would suggest trying any of the following alternative progression mods if you do not like APBS:
ALP - ALGORITHMIC LEVEL PROGRESSION
VALENS-PROGRESSION
If you enjoy my work - you can buy me a coffee~