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.
Bosses still use their vanilla equipment, but have had tweaks to their ammo pools, and available attachments on weapon/gear.
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!
- Configuration app (available on Windows only) that has 125+ settings.
- Chances are, if you want to change something - it's available. If not, ask for it and maybe it'll be added.
- Please, actually look at the config - it covers so much more than the features listed here.
- 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
- If you have Pack'N'Strap - AI will have the belts in their Armband slot!
- If you have Realism - You can enable adding gas masks to Bots if you play with Hazard Zones
- All PMCs will use weapons/equipment for kill quests that require specific things (v1.7.0+)
- 20 quests are currently available for them to choose from, they must be on an available map and within level range to being "assigned" a quest .
- Questing Bots is not required for this feature, it's completely independent.
- All AI pocket/rig/backpack loot has been adjusted.
- Balancing - no more ammo box spam on PMCs.
- Whitelists - nobody can use impact grenades except PMCs, and they must be of a higher level to use them.
- All AI Weapon Durability has been adjusted and balanced.
- All AI medical/food/drink items may appear to be used.
- All AI will randomly choose to use different ammunition in their additional mags.
- Maybe that SR-25 spawned with M80, but perhaps one of their mags has M62 in it...or BCP. Who knows!
- All AI can use different size magazines based on your configuration.
- If they spawn with 60 rounders, they won't have like 5 of them - they are limited to 2.
- 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.
- Scavs have a low chance to use weapons and equipment from the same tier PMC (or lower) as them.
- Scavs weapon attachments and ammo will always be more basic, never meta.
- Guards/Raiders/Rogues are beefed up a bit, they should be dangerous instead of a cake-walk.
- 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 PMC 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.
- The configuration values for custom deltas are done per tier, so you need to set each of them - the "Tier" is based on YOUR PMC level.
- If you want AI to be any level possible, set each custom level delta in the config to 79 levels below you and 79 levels above you.
- 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 #2: Player Level 27. Tier 3. AI will spawn between level 12 & level 34.
- Example #1: Player Level 32. Tier 4. AI will spawn between level 12 & level 42.
- Example #3: Player Level 48. Tier 5. AI will spawn between level 18 & level 63.
Player Level Min Level Delta Max Level Delta Tier 1 1-10 10 5 Tier 2 11-20 10 5 Tier 3 21-30 15 7 Tier 4 31-40 20 10 Tier 5 41-50 30 15 Tier 6 51-60 40 20 Tier 7 61-79 50 20 Configuration
If you are on Windows, use the APBSConfig.exe application in the \user\mods\acidphantasm-progressivebotsystem folder.
Otherwise, you need to use the config.json located in \user\mods\acidphantasm-progressivebotsystem\config\
CodeDisplay More{ "usePreset": false, "presetName": "example", "compatibilityConfig": { "enableModdedWeapons": false, "enableModdedEquipment": false, "enableModdedClothing": false, "enableModdedAttachments": false, "initalTierAppearance": 3, "pmcWeaponWeights": 8, "scavWeaponWeights": 1, "followerWeaponWeights": 6, "enableSafeGuard": true, "enableMPRSafeGuard": true, "PackNStrap_UnlootablePMCArmbandBelts": true, "Realism_AddGasMasksToBots": false }, "normalizedHealthPool": { "enable": false, "healthHead": 35, "healthChest": 85, "healthStomach": 70, "healthLeftArm": 60, "healthRightArm": 60, "healthLeftLeg": 65, "healthRightLeg": 65, "excludedBots": [] }, "generalConfig": { "enableBotsToRollAmmoAgain": true, "chanceToRollAmmoAgain": 50, "enablePerWeaponTypeAttachmentChances": true, "enableLargeCapacityMagazineLimit": true, "largeCapacityMagazineCount": 2, "forceStock": false, "stockButtpadChance": 50, "forceDustCover": false, "forceScopeSlot": false, "forceMuzzle": false, "muzzleChance": [ 10, 25, 40, 55, 65, 75, 75 ], "forceChildrenMuzzle": false, "forceWeaponModLimits": true, "scopeLimit": 2, "tacticalLimit": 1, "onlyChads": false, "tarkovAndChill": false, "blickyMode": false, "enableT7Thermals": false, "startTier": 6, "plateChances": { "enable": false, "pmcMainPlateChance": [ 65, 75, 90, 90, 95, 100, 100 ], "pmcSidePlateChance": [ 15, 25, 35, 55, 75, 95, 100 ], "scavMainPlateChance": [ 25, 25, 25, 25, 25, 25, 25 ], "scavSidePlateChance": [ 10, 10, 10, 10, 10, 10, 10 ], "bossMainPlateChance": [ 90, 90, 90, 90, 90, 90, 90 ], "bossSidePlateChance": [ 75, 75, 75, 75, 75, 75, 75 ], "followerMainPlateChance": [ 75, 75, 75, 75, 75, 75, 75 ], "followerSidePlateChance": [ 50, 50, 50, 50, 50, 50, 50 ], "specialMainPlateChance": [ 75, 75, 75, 75, 75, 75, 75 ], "specialSidePlateChance": [ 50, 50, 50, 50, 50, 50, 50 ] } }, "pmcBots": { "enable": true, "resourceRandomization": { "enable": true, "foodRateMaxChance": 10, "foodRateUsagePercent": 33, "medRateMaxChance": 10, "medRateUsagePercent": 33 }, "weaponDurability": { "enable": true, "min": 95, "max": 100, "minDelta": 0, "maxDelta": 5, "minLimitPercent": 90, "enhancementChance": 10 }, "lootConfig": { "enable": false, "blacklist": [ "6711039f9e648049e50b3307" ] }, "questConfig": { "enable": true, "chance": 10 }, "additionalOptions": { "seasonalPmcAppearance": true, "ammoTierSliding": { "enable": false, "slideAmount": 1, "slideChance": 33 }, "gameVersionWeighting": { "enable": false, "standard": 20, "leftBehind": 10, "prepareForEscape": 10, "edgeOfDarkness": 40, "unheardEdition": 20 } }, "secrets": { "developerSettings": { "devNames": { "enable": true, "nameList": [ "Chomp", "Dirtbikercj", "Clodan", "CWX", "DrakiaXYZ", "Kaeno", "Refringe", "Waffle", "AcidPhantasm", "Archangel" ] }, "devLevels": { "enable": false, "min": 30, "max": 79 } } } }, "scavBots": { "enable": true, "resourceRandomization": { "enable": true, "foodRateMaxChance": 10, "foodRateUsagePercent": 10, "medRateMaxChance": 10, "medRateUsagePercent": 10 }, "weaponDurability": { "enable": true, "min": 70, "max": 90, "minDelta": 5, "maxDelta": 20, "minLimitPercent": 50, "enhancementChance": 1 }, "lootConfig": { "enable": true, "blacklist": [] }, "keyConfig": { "addAllKeysToScavs": false, "addOnlyMechanicalKeysToScavs": false, "addOnlyKeyCardsToScavs": false }, "additionalOptions": { "enableScavAttachmentTiering": false, "enableScavEqualEquipmentTiering": false } }, "bossBots": { "enable": true, "resourceRandomization": { "enable": true, "foodRateMaxChance": 50, "foodRateUsagePercent": 50, "medRateMaxChance": 50, "medRateUsagePercent": 50 }, "weaponDurability": { "enable": true, "min": 90, "max": 100, "minDelta": 0, "maxDelta": 5, "minLimitPercent": 85, "enhancementChance": 0 }, "lootConfig": { "enable": true, "blacklist": [] } }, "followerBots": { "enable": true, "resourceRandomization": { "enable": true, "foodRateMaxChance": 25, "foodRateUsagePercent": 25, "medRateMaxChance": 25, "medRateUsagePercent": 25 }, "weaponDurability": { "enable": true, "min": 90, "max": 100, "minDelta": 0, "maxDelta": 15, "minLimitPercent": 75, "enhancementChance": 0 }, "lootConfig": { "enable": true, "blacklist": [] } }, "specialBots": { "enable": true, "resourceRandomization": { "enable": true, "foodRateMaxChance": 15, "foodRateUsagePercent": 25, "medRateMaxChance": 15, "medRateUsagePercent": 25 }, "weaponDurability": { "enable": true, "min": 90, "max": 100, "minDelta": 0, "maxDelta": 10, "minLimitPercent": 80, "enhancementChance": 0 }, "lootConfig": { "enable": true, "blacklist": [] } }, "weaponBlacklist": { "tier1Blacklist": [], "tier2Blacklist": [], "tier3Blacklist": [], "tier4Blacklist": [], "tier5Blacklist": [], "tier6Blacklist": [], "tier7Blacklist": [] }, "equipmentBlacklist": { "tier1Blacklist": [], "tier2Blacklist": [], "tier3Blacklist": [], "tier4Blacklist": [], "tier5Blacklist": [], "tier6Blacklist": [], "tier7Blacklist": [] }, "ammoBlacklist": { "tier1Blacklist": [], "tier2Blacklist": [], "tier3Blacklist": [], "tier4Blacklist": [], "tier5Blacklist": [], "tier6Blacklist": [], "tier7Blacklist": [] }, "attachmentBlacklist": { "tier1Blacklist": [], "tier2Blacklist": [], "tier3Blacklist": [], "tier4Blacklist": [], "tier5Blacklist": [], "tier6Blacklist": [], "tier7Blacklist": [] }, "clothingBlacklist": { "tier1Blacklist": [], "tier2Blacklist": [], "tier3Blacklist": [], "tier4Blacklist": [], "tier5Blacklist": [], "tier6Blacklist": [], "tier7Blacklist": [] }, "customLevelDeltas": { "enable": false, "tier1": { "min": 10, "max": 5 }, "tier2": { "min": 10, "max": 5 }, "tier3": { "min": 15, "max": 7 }, "tier4": { "min": 20, "max": 10 }, "tier5": { "min": 30, "max": 15 }, "tier6": { "min": 40, "max": 20 }, "tier7": { "min": 50, "max": 20 } }, "customScavLevelDeltas": { "enable": false, "tier1": { "min": 10, "max": 0 }, "tier2": { "min": 10, "max": -10 }, "tier3": { "min": 15, "max": -10 }, "tier4": { "min": 20, "max": -10 }, "tier5": { "min": 30, "max": -10 }, "tier6": { "min": 40, "max": -10 }, "tier7": { "min": 50, "max": -10 } }, "enableDebugLog": false, "configAppSettings": { "showUndo": true, "showDefault": false, "disableAnimations": false } }
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:
- No known current issues that are not load order related
Load Order Issues:
- If you use SVM, it's suggested - as usual to make sure SVM loads *first* in your load order.
- Do not enable the AI PMC tab of SVM unless you ensure that SVM loads first. May still break though.
- Mods that allow any attachment in any slot or on any weapon may be completely incompatible.
- You can attempt to adjust your load order to have it load after APBS. If that works, you may also have to disable Quest Loadouts on PMCs.
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 on any bot.
- 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.
- Make it load after APBS or 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~