- Pmcs now level with the player
There are 5 tiers, early game 90% of pmcs will be between levels 1 and 14.
When the player hits level 15 (for example), pmcs will spawn as follows, 40% 1 - 14, 45% 15 - 24 etc... (configurable)
- NEW - Scavs, rogues, bosses, etc.. now also progress as the player levels
This is highly configurable, and the effect is relatively subtle.
Basically, when you are low level, all enemies are more likely to use lower tier gear and ammo.
As you level, they will have a higher chances of using better gear.
This does not add any weapons to bots, but it does slightly weight which ones will be used.
Note: By default, bosses are largely untouched, but they are more likely to use weaker ammo at lower tiers.
This can be turned off in the config by setting "enableNonPMCBotChanges": false
- Pmcs clothing choice is based off of the PMC's level.
Now you may be able to recognize high-level players by their clothing (if not their meta gear).
- Pmcs loadouts are tiered to the four trader levels.
They will only have access (mostly) to gear that a pmc would at the appropriate trader tier.
Levels 1 - 14 (by default) are trader tier 1, levels 40 - 55 are trader tier 4 (all trader items unlocked), level 55+ is the tier 5 uber chad, they have access to everything (weighted chance) so these bots could use goon gear, or Tagilla's Facemask.
- Pmcs gear is algorithmically weighted
They will favour the best gear at whichever trader tier they are at.
This is quite complex, but an example should make this clear; At trader tier 1, a bot chooses their weapon based off of the best ammo they have available to them. So a bot may choose a Mosin over a pistol, due to the higher pen of the ammo. BUT as the bullet per minute is low on a mosin, the bot may be more inclined to choose a higher rate of fire AK, with ammo of slightly lesser Pen.
There are MANY MANY such weighting changes, and upon unlock of a trader tier, a bot may choose a weapon from a previous tier that is now viable because of unlocked ammo.
- Pmcs will use weapons appropriate for the map they are on!!
Think, more smgs/shotguns/automatic weapons on factory and less sniper rifles/markman rifles, with the reverse on woods.
This is controlled via multipliers seen in the AdvancedConfig.
NOTE: the advanced config is not really meant for the average person to tinker with, do not ask for help if you break things.
- Night Time vs Day Time loadouts
Night time Pmcs are more likely to use NVGS, IR devices, silencers.
- RANDOMNESS pmcs in the game are not predictable, and there is a random chance that a lower level player may choose better gear, better ammo, or a sight that they picked up. The same is true for higher leveled players, although there is weightings to choose the best equipment, you may still see a high level player sporting a scav vest on occasion, or rocking a crappy shotty with flachette!
- Scav LOOT now redone!
Scavs loot is now live-like with a massively expanded loot pool, randomized weightings, all customizable in the config!
Built for balance and a live-like feel in mind while also giving that rare chance to find those rarely spawned items.
Balance is based off of the inverse Flea price of items, IE: a weighting of 1 for Marked room, 3000 for Marlboros.
If you're really digging the mod, consider supporting my caffeine addiction ☕:
Courtesy of qliqoei
Courtesy of Gamer Visuals
The following are STRONGLY recommended.
Although the above are not required, this mod is intended to be paired with them for the best experience
My other mods that go well with ALP:
=== INSTALL STEPS ===
1. Drag and drop the user folder into your SPT directory.
2. Update your user/mods/order.json so that ALP is after mods you want included with ALPS bots.
3. Optionally Change a few config options (see below).
Thats it!
Example order.json :
{
"order": [
"ServerValueModifier",
"All",
"the",
"compatible",
"gear/trader mods",
"AlgorithmicLevelProgression",
"All",
"the",
"creaky",
"weird",
"broken",
"gear/trader mods",
]
}
Have an error? Try the above!
ALP now runs after DB Load, like most server mods; this means you can now use the load order.json to resolve many issues previously seen.
Simply place mods you suspect are conflicting AFTER ALP in the load order.json.
This includes custom traders that may have previously been incompatible with ALP!
To test newly added mod compatibility one can now simply move custom weapon/equipment mods BEFORE ALP in the order.json and test.**
** Although ALP works with many mods, I do not guarantee compatibility, it's up to you test and debug issues yourself!
==== Configuration Options ====
// Turn on and off the pmc bot adjusted equipment
"enableProgressionChanges": true,
// Turn on and off the pmc bot adjusted levels
"enableLevelChanges": true,
// PMCS will wear level appropriate clothing (IE level 34 will wear plaid)
"leveledClothing": true,
// This enables bots that are not PMCs to progress with the player (in a limited capacity)
"enableNonPMCBotChanges": true,
// The below two "shift" items that would be unlocked at a certain loyalty level to a later level
// For example if you needed to finish a quest at tier 2 traders to unlock some ammo, it would be shifted to tier 3
"questUnlockedItemsShifted": true,
// This is much the same as the above, this shifts traded items
// For example if you could trade for some armor at tier 2, it would be shifted to tier 3
// In general, turning the above on can make bots create meta builds earlier and in general makes pmcs better equipped sooner.
"tradedItemsShifted": true,
// Allows bots to use items from custom traders like Priscillu
// Enable this by setting it to: true
"addCustomTraders": false,
// This is a blacklist for when you multiple traders installed and the "addCustomTraders" set to true.
"customTradersToExclude": [
"insertTheTraderNameToIgnoreTheirItems"
],
// Feel free to add any item id's you don't want pmcs to use here:
"customBlacklist": [
"get id's from here https://db.sp-tarkov.com/search/",
"5example3208of34not8f83real8a1id"
],
// This dictates at what level bots obtain trader tiers.
// 1 - 14 for example are for tier 1 traders
// NOTE: These cannot overlap or have gaps: 1-14, 15-24, 25-39, 40-100
"levelRange": {
"1": {
"min": 1,
"max": 14
},
"2": {
"min": 15,
"max": 24
},
"3": {
"min": 25,
"max": 39
},
"4": {
"min": 40,
"max": 54
},
"5": {
"min": 55,
"max": 100
}
},
// This is the ratioed weighting of bot tiers per your level.
// For example, if you were level 5, as per above, between 1 - 14, would put you at tier "1"
// therefor you would have a weighting of pmcs of:10,5,2,1
// In this example, it is far more likely to have low tier 1 bots (10x) then tier 4 for example
// THE BELOW SETTINGS ARE TO SIMULATE AN EARLY WIPE EXPERIENCE
// AS YOU LEVEL, THE WIPE AND PLAYER DISTRIBUTION PROGRESSES
"botRangeAtLevel": {
"1": [
10,
5,
2,
1,
0
],
"2": [
10,
13,
7,
4,
1
],
"3": [
8,
10,
11,
4,
2
],
"4": [
8,
10,
10,
7,
5
],
"5": [
7,
8,
10,
10,
7
]
},
// This sets the randomness for each specified piece of equpment.
// 0 is meta, 1 is completely random, 2 will make pmcs prioritize the worst gear.
"randomness": {
"Ammo": 0.3,
"Holster": 0.3,
"Headwear": 0.1,
"FirstPrimaryWeapon": 0.4,
"Earpiece": 0.3,
"Backpack": 0.3,
"Eyewear": 0.2,
"TacticalVest": 0.1,
"ArmorVest": 0.1,
"FaceCover": 0.2
},
Example:
Imagine a pmc can wear a usec hat, or a Ulach helmet, at 0, the weighting may look like this:
Hat > 5, Ulach > 150,
Resulting in the pmc almost always choosing a ulach over a hat.
At 0.5, the top and bottom chances are smoothed around a median, like so
Hat > 35, Ulach > 100,
And at 1, all items within that category will have equal chances:
Hat > 54, Ulach > 54
// Just keep this off
"debug": false
==== nonPmcBotsConfig ====
Below explains the configuration options for the nonPmcConfig.json found in the config folder of this mod.
This may seem complex, feel free to leave this file as is for a vanilla plus experience.
// This adds all usable keys to the loot pool for scavs (low random chance)
"addRandomizedKeysToScavs": true,
// The disparity between super rare and common items
// Increase this to make rare loot more rare, vice versa to make rare loot more common.
// Recommended settings: 0.2 - 3
"lootDisparityMultiplier": 1,
// Size of the key pool (randomized on game start) 0.5 === 50%
"percentageOfKeysInSpawnPool": 0.5,
// Add ids of items you'd like the scavs NOT to have in their loot pool
"scavLootBlacklist": [ ],
// Add additional items to the scavs loot pool via the item ID, automatically weights the item for balance.
"additionalScavLoot": ["5c94bbff86f7747ee735c08f"],
// These values increase the randomness of the ammo or equipment used by bots
// (1 = 100% randomness, 0.5 = 80% randomness... it's confusing)
// Basically be careful here, this is highly sensitive
// Even slightly increasing this will produce dramatic effects
// I recommend to keep it off, or below 0.2, try increments of 0.05
"botAmmoRandomness": 0,
"botEquipmentRandomness": 0,
// This is the configuration for nonPmcBots
"nonPmcBots": [
{
// Name of the bot, or bot group (see below for bot group explanation)
"name": "assault",
// These are this bots tiers
"tiers": [
[1, 14],
[15, 30],
[31, 45],
[46, 100]
],
// These values add equipment to bots, this can be best explained like so.
// There is a "Constants" folder with lists of items, prioritized from worst > best
// The numbers below specify how much and which portion of that list is added to a bot.
// 0,0.3 > would result in the bottom 30% of that equipment type being added to that bot.
// 0.5,1 > the same but the top 50% of that equipment type.
// 0,1 > All of that equipment type that exists (largely) will be added to that bots spawn pool.
"Headwear": [0, 0.3],
"ArmorVest": [0, 0.3],
"TacticalVest": [0, 0.3],
"Backpack": [0, 0.3],
"Ammo": [0, 0.5]
},
]
Bot groups are lists of bots that can have the same nonPmcBot configurations.
If you understand JSON than the examples are quite obvious.
allBossFollowers is under nonPmcBots, and is comprised of a list of that type.
TO PREVENT WIERDNESS, ONLY ADD EACH BOTTYPE TO EITHER A GROUP OR THE "nonPMCBots" LIST, not both.
EXAMPLE:
If you wanted to add a custom setting for "bosssanitar", you would first remove him from the
"allBosses" list, then add him to the "nonPmcBots" list, with his own custom config.
Creating your own groups is easy, create a new list similar to "allBosses" but named "whatever"
Then move the bottype names over that you want your new configuration to effect.
When done add your "whatever" config to the "nonPmcBots" list.