This mod aims to add more life to the bots by enhancing some EFT looting behaviors letting bots loot items, containers, and corpses during patrols. More features to come!
If you enjoy my work, support me at Ko-Fi!
REQUIRED DEPENDENCY: BigBrain This mod will not work unless the BigBrain mod is also installed!
View readme for more details. Please report any issues in the comments section here or feel free to open an issue on the github. Having debug enabled in the mod menu is recommended when reporting issues.
- Check here for an existing issue before reporting a bug
Base game behavior:
- Scavs start a raid on patrol, when they finish a combat engagement they will return to patrol mode after the amount of seconds specified in the Mind.TIME_TO_FORGOR_ABOUT_ENEMY_SEC bot config property
- When scavs are on patrol, they have a chance to inspect a nearby corpse and loot simple things such as weapons and
- When scavs are on patrol, sometimes they stop in front of a lootable container and pretend to loot it
- PMCs and Scavs in SPT spawn with some potentially valuable loot already in their inventory
Modded behavior:
- New bot brain layer (LootingLayer) added for looting that replaces the base game logic responsible for "looting"
- LootingLayer will activate every 10 seconds (by default) during a patrol causing the bots to scan for the closest lootable item, container, or corpse. Scan distance configured by the "Detect Loot Distance" setting (75m by default)
- Once a lootable object has been found, bots will attempt to navigate to the object and commence looting
- Bots will attempt to loot everything from within corpse and a container
- Bots will examine each item for about 1 second before looting it (simulates discovering items when searcing containers/corpses)
- If a bot cannot equip a piece of gear, they will attempt to place it in their inventory
- Not all loot is navigable, relies heavily on the availability of a nearby NavMesh that bots can use to navigate
- If a container is behind a door, bots will open the door if unlocked.
- If a bot is stuck in place or if the bot spends too much time moving, the loot will be ignored
- Once looting has finished, bots will wait the amount of time specified
in the "Delay between looting" setting before the next loot scan occurs (15s by default)
Gear Swap Criteria
- Bot will always swap to gear that has higher armor rating (helmets, armor vests, armored rigs)
- Backpack will be swapped if backpack being looted has more slots
- When looting larger rigs, bots will swap if currently equipped rig is of equal or lower armor class
- When throwing old backpacks/tactical rigs, bots try to take all the loot from the container thrown
- When looting weapons, bots will compare the item's Handbook(default) or Flea market price in rubles to the value of the weapons currently equipped.
- Looted weapons with higher value will replace an equipped weapon with the lowest value
- Bots prefer to use the highest value weapon as their primary (if they have ammo)
Package Contents
- BepInEx/plugins/skwizzy.LootingBots.dll - Client plugin responsible for all the new corpse looting logic
- user/mods/Skwizzy-LootingBots-ServerMod - Server mod responsible for:
- Marks all items with DiscardLimits as InsuranceDisabled. It then disables the DiscardLimit settings for the server via the EnableDiscardLimits option in Server/database/globals.json. SPT PMC bots by default spawn with loot already in their backpacks, this loot is not marked Found In Raid and thus is subject to BSG's RMT protection logic. With discard limits enabled, when a bot drops their backback to swap to a new one any loot with discard limits in their bag will be deleted immediately when the bag is dropped. To avoid this we set the EnableDiscardLimits to false, and also make sure to flag all items with a DiscardLimit >= 0 as InsuranceDisabled to prevent items suchs as keys and cases to be insured.
- Provides the option to clear out the loot that PMC/Scav bots start with
in their backpacks. This does not include meds, ammo, grenades ect. These options can be found in the Skwizzy-LootingBots-ServerMod/config/config.json.
Install
- Extract the contents of the .zip file into your SPT directory
- Recommended to have LootingBots-ServerMod loaded last in the mod order to make sure discard limits arent enabled by another server mod
Loot Finder
- Enable corpse looting - Enables corpse looting for the selected bot types
- Enable corpse line of sight check - When scanning for loot, corpses will be ignored if they are not visible by the bot
- Detect corpse distance - Distance (in meters) a bot is able to detect a corpse
- Enable container looting - Enables container looting for the selected bot types
- Enable container line of sight check - When scanning for loot, containers will be ignored if they are not visible by the bot
- Detect container distance - Distance (in meters) a bot is able to detect a container
- Enable loose item looting - Enables loose item looting for the selected bot types
- Enable item line of sight check - When scanning for loot, loose items will be ignored if they are not visible by the bot
- Detect item distance - Distance (in meters) a bot is able to detect an item
- Debug: Log Levels - Enable different levels of log messages to show in the logs
- Debug: Show navigation points - Renders spheres where bots are trying to navigate when container looting. (Red): Container position. (Green): Calculated bot destination. (Blue): NavMesh corrected destination (where the bot will move).
Loot Finder (Timing)
- Delay after spawn - Amount of seconds a bot will wait to start their first loot scan after spawning into raid.
- Delay after taking an item (ms) - Amount of milliseconds a bot will wait after taking an item into their inventory before attempting to loot another item. Simulates the amount of time it takes for a player to look through loot decide to take something.
- Enable examine time - Adds a delay before looting an item to simulate the time it takes for a bot to "uncover (examine)" an item when searching containers, items and corpses. The delay is calculated using the ExamineTime of an object and the AttentionExamineTime of the bot.
- Loot scan interval - The amount of seconds the bot will wait until triggering another loot scan
Weapon Loot Settings
- Use flea market prices- Bots will query more accurate ragfair prices to do item value checks. Will make a query to get ragfair prices when the client is first started. May affect initial client start times.
- Calculate value from attachments- Calculate weapon value by looking up each attachment. More accurate than just looking at the base weapon template but a slightly more expensive check
- Allow weapon attachment stripping - Allows bots to take the attachments off of a weapon if they are not able to pick the weapon up into their inventory
- PMC: Min loot value threshold - PMC bots will only loot items that exceed the specified value in roubles. When set to 0, bots will ignore the minimum value threshold
- PMC: Max loot value threshold - PMC bots will NOT loot items that exceed the specified value in roubles. When set to 0, bots will ignore the maximum value threshold
- PMC: Allowed gear to equip - The equipment a PMC bot is able to equip during raid
- PMC: Allowed gear in bags - The equipment a PMC bot is able to place in their backpack/rig
- Scav: Min loot value threshold - All non-PMC bots will only loot items that exceed the specified value in roubles. When set to 0, bots will ignore the minimum value threshold
- Scav: Max value threshold - All non-PMC bots will NOT loot items that exceed the specified value in roubles. When set to 0, bots will ignore the maximum value threshold
- Scav: Allowed gear to equip - The equipment a non-PMC bot is able to equip during raid
- Scav: Allowed gear in bags - The equipment a non-PMC bot is able to place in their backpack/rig
- Log Levels - Enable different levels of log messages to show in the logs
Settings for LootingBots-ServerMod can be found in user/Skwizzy-LootingBots-ServerMod/config/config.json
- pmcSpawnWithLoot - When set to true, PMCs will spawn with loot in their bags/pockets (default SPT behavior)
- scavSpawnWithLoot - When set to true, Scavs will spawn with loot in the bags/pockets (default SPT behavior)
Default config:
{ "pmcSpawnWithLoot": false, "scavSpawnWithLoot": true } - Waypoints - Expanded Bot Patrols - Adds expanded NavMeshes to all maps allowing bots to be able to navigate to almost every part of the map. When playing with larger Loot Detection Distances, this will allow bots to travel freely to extremely far away loot
- SAIN 2.0 - Solarint's AI Modifications - Full AI Combat System Replacement - Amazing overhaul of bot AI, gives the game a whole new feel. Overhaul of the bot reactions allows bots to loot and not be interrupted if they hear shots from halfway across the map as well as many other things!
- Search Open Containers - Allows you to search an opened container without having to close them. Nice QOL when encountering containers that have been looted by a bot and left open
This mod will conflict with any mod that sets theglobals.config.DiscardLimitsEnabled to true. PMC bots will throw exceptions when attempting to discard gear with DiscardLimits set. This needs to be false for the mod to function properly with pmc looting.
3.1K Downloads
There is a known memory leak in this version, working on a fix!
Compatible with AKI 3.7.1 - 3.7.6
For Modders
Thanks to DanW!
Adds support for external commands without requiring LootingBots as a dependency for mods.
Currently the two external commands are:
- Force a loot scan: Forces a bot to scan for loot the next time it is able to do so
- Inhibit looting: Stops a bot from looting and prevents them from scanning for loot for a specified amount of seconds
For more details view the Full documentation
New Features
- New Setting Loot Finder (Timing): Enable examine time - Adds a delay before looting an item to simulate the time it takes for a bot to "uncover (examine)" an item when searching containers, items and corpses. The delay is calculated using the ExamineTime of an object and the AttentionExamineTime of the bot. Without any mods changing these values, it seems like the average examine time is 1 second. Looting should take a bit more time now depending on the amount of items in the container/corpse
- Added a checkbox for PlayerScav to all the Loot Finder settings. Now you can enable/disable looting for player scavs separately from normal scavs
Changes
-
Lowered delay at the beginning of container/corpse looting to 2500 ms (simulates UI opening and waiting for the search process to start)
-
Renamed Transaction Delay to Delay after taking item and clarified the behavior in the description
-
Allow bots to try and loot "searchable" items even if they do not have room to pick them up. Was preventing loose items like backpacks and rigs from being considered as valid loot
-
Prevent friendly bots from looting things the player is looting. Enemies can still try to loot the same object as the player
-
Hide debugging F12 settings under the "advanced settings" checkbox at the top of the menu
-
A bot will now end exit the loot finding logic if the first three items found are not within the acceptable looting range. This is to prevent bots from performing the expensive path distance calculation multiple times unnecessarily as its usually the case that if the first 3 items are not in range then none of the following items will be in range.
-
Only show top level items in looting results when searching containers/equipment
-
Fixed issue with debug spheres not working
1.7K Downloads
1.0K Downloads
Finally updated GClasses and NoDiscardLimit implementation to work with AKI 3.7.0!!
Changes
- Added LootingLayer to the following new bot brains: BossBoar, BoarSniper, FlBoar, Obdolbs and ArenaFighter
- Fix issue where bots were not picking up usable magazines after equipping a new weapon
- Fix issue where PMCs/scavs with boss brains were being treated as bosses and not allowed to swap gear
- Fix issue where helmets were not recognized as equippable
- Fix mistake in distance math where shortest distance was not being updated resulting in horribly incorrect loot finding.
120.4K Downloads
Thanks @hel0t for the update!
Update references to work with SPT 3.9.0.
VirusTotal is showing one of the vendors reporting as malicious (Anity-AVL). This is a false positive, a rescan of version 1.3.4 which had the vendor as passing is now also reporting as malicious
10.5K Downloads
Changes
- Fix ArgumentOutOfRangeException seen when loot scans do not find any lootable items
- Fix issue where one loot result was always omitted when processing results from a loot scan
9.9K Downloads
NoDiscardLimit server mod has been renamed to LootingBots-ServerMod to make it clear that it is related to the LootingBots client mod. Make sure to delete the old Skwizzy-NoDiscardLimit folder in your user/mods!!
Mostly bugfixes and performance improvements. Should be less dips in frame rate when loot scans are executing, however a large scan radius may still cause some small hitching (mostly testing with 500m radius). This is a side effect of the unity Phsyics.OverlapSphereAlloc method used to detect nearby objects, a more robust approach is needed to further improve the scanning performance when using a large detection radius
New Performance Settings (F12)
- Maximum looting bots - Limits the amount of bots that are able to simultaneously run looting logic. A value of 0 represents no limit
- Limit looting by distance to player - Any bot farther than the specified distance in meters will not run any looting logic. A value of 0 represents no limit
New Loot Settings (F12)
- Bots always close containers - When enabled, bots will always try to close a container after they have finished looting. If the bot is interrupted while looting, the container may remain open. This is enabled by default
- Added dogtags to the list of items that are able to be picked up by bots. By default both PMCs and Scavs will pick up dogtags
- Added armor plates to the list of items that can be picked up by bots. By default PMCs and Scavs will NOT pick up armor plates
Server Mod Changes
- NoDiscardLimit server mod has been renamed to LootingBots-ServerMod to make it clear that it is related to the LootingBots client mod. Make sure to delete the old Skwizzy-NoDiscardLimit folder in your user/mods!!
- Changed default value of pmcSpawnWithLoot to true as it seems like many people prefer pmcs still spawn with their own loot. If using realism, this setting can either be achieved using the Realism Bot Loot changes + LB compatibility options or by setting pmcSpawnWithLoot to false
- Fixed an issue where pmc starting loot was not cleared properly when using pmcSpawnWithLoot: false. Should be compatible with other mods that affect bot loadout generation such as ALP and Realism as long as the NoDiscardLimit mod is loaded after these mods
Client Mod Changes
- Add additional .5 second delay after throw actions to fix issues where bots would sometimes not equip new items after throwing their old item during a swap action
- Fix issue where bots that were interrupted during a loot scan would sometimes continually scan for loot until aggro'd by another bot
- Change initial inventory sort to coroutine to improve performance when LootingBrain is first initialized
- Change loot finding to use Phsyics.OverlapSphereNonAlloc which has better performance with larger data sets
- Prevent bots from sprinting as they approach lootable objects to prevent instances of repeated powersliding
- Only call BotOwner.GoToPoint once when a bot is moving to loot to improve performance.
- Add a little more padding to the destination points when looting to reduce instances where bots are spinning/wiggling while looting because they are too close. Corpse looting still needs some work
56.4K Downloads
Small update with some bugfixes before a meatier logic update. Ty for all the love and support
New Features
- Bots will now close containers after looting is completed, similar to live behavior. If a bot is interrupted or killed during looting, the container may not be closed
- Bots can now merge stackable items. If a bot finds an item that can be stacked and they already have that item in their inventory, the items will be merged if the result of the merge does not exceed the maximum stack size. (example: bot has 40 pst bullets and finds 20 pst, the stacks will NOT be merged)
Changes
- Fix issue where player corpses were not being detected as loot
- Filter out items that are in locked slots when looting corpses and armors
- Added value of weapons to the bot's DebugPanel
- Fix issue where bots would not loot loose armor vests
- Fix issue where bots that spawn with 2 weapons would sometimes swap weapons incorrectly, incorrectly throwing their secondary weapons
- Prevent unremovable mods from appearing in loot results when stripping attachments from weapons
24.3K Downloads
New Features
Thanks to Solarint for the following new features:
-
Added 3 new methods to the Mod Interop support. GetItemPrice, GetNetLootValue, CheckIfInventoryFull. More info can be found in the interop docs
-
Added 3 new options to the Loot Finder settings. These settings will cause bots to ignore loot during loot scans if the loot is not visible by the bot. All disabled by default
- Enable corpse line of sight check
- Enable container line of sight check
- Enable item line of sight check.
Changes
- Added a new patch to the BotOwner.Dispose method that will remove the BotOwner from the ActiveLootCache when a bot is killed while looting. Should be the root cause of the null reference exceptions seen in the ActiveLootCache
31.5K Downloads
Update GClasses to support AKI 3.8.0
558 Downloads
Compatible with AKI 3.7.1 - 3.7.6
Changes
- Prevent caching and finding loot if the BotOwner.name is empty. Should prevent exceptions from being thrown by the ActiveLootCache
19.4K Downloads
Compatible with AKI 3.7.1 - 3.7.6
Changes
- Prevent scavs from looting memory 🤖 . Fixed a memory leak due to excessive regex calls and log message concatenation
42.2K Downloads
Changes
- When scanning for loot, calculate the distance the bot has to walk in order to reach the loot. If this distance is larger than the loot detection radius, the loot will be considered too far to loot. This should prevent bots on maps like interchange from pathing from the second floor to the parking garage if some loot was detected in the garage with a small vertical distance
- Change old loot value threshold settings to Min loot value threshold
- Scav: Max loot value threshold and PMC: Max loot value threshold - When a value other than 0 is specified, bots will not loot items with a value that exceeds the maximum threshold. By default this is set to
0
for both scav and PMC - Change Delay between looting setting to Loot scan interval. This now accurately controls the time between loot scans for a bot. When a bot completes a scan or leaves the looting logic, the bot will wait the specified amount of seconds before scanning again. Previously there were 2 timers and they were not playing nicely together
- Default Loot scan interval has been increased: 6 seconds -> 10 seconds
- Allow bots to pick up stacks of money
- Sort the initial results from a loot scan by distance, greatly reducing the amount of times needed to iterate through the results (Thanks Drakia)
- Move loot finding calculations into a coroutine to avoid blocking thread with heavy calculations
- Do not allow the looting layer to activate if the bot is healing
- Do not allow the looting layer to activate if the bot type is not enabled for any looting. Previously bots not enabled for looting would still scan but not loot
24.9K Downloads
Finally updated GClasses and NoDiscardLimit implementation to work with AKI 3.7.1! Thank you everyone for your patience!
Changes
- Added LootingLayer to the following new bot brains: BossBoar, BoarSniper, FlBoar, Obdolbs and ArenaFighter
- Fix issue where bots were not picking up usable magazines after equipping a new weapon
- Fix issue where PMCs/scavs with boss brains were being treated as bosses and not allowed to swap gear
- Fix issue where helmets were not recognized as equippable
- Fix mistake in distance math where shortest distance was not being updated resulting in horribly incorrect loot finding.
16.6K Downloads
New Features
-
NoDiscardLimit: Settings to remove loot from bot spawns- Thanks to Fontaine, the NoDiscardLimit mod now has options to prevent PMCs and Scavs from spawning with loot already in their inventories. Items such as meds/ammo/food/drinks will still be added to their inventory as part of bot loot generation
- Settings can be found in user/NoDiscardLimit/config/config.json
- pmcSpawnWithLoot: When set to true, PMCs will spawn with loot in their bags/pockets (default SPT behavior)
- scavSpawnWithLoot: When set to true, Scavs will spawn with loot in the bags/pockets (default SPT behavior)
- Default config: {"pmcSpawnWithLoot": false, "scavSpawnWithLoot": true }
-
Loot Finder (Timer) settings: Delay after spawn - Setting to control the amount of seconds a bot will wait to start their first loot scan after spawning into raid.
-
Loot Settings: Transaction Delay - New setting to control the amount of time a bot will wait after executing a looting transaction before performing another one. Used to simulate the amount of time a bot will take to loot things from a container/corpse. A looting transaction is when a bot decides to take/equip an item
Changes
- Loot Finder scans will only run if the bot has more than 2 available slots in their inventory
- Loot Finder scans will ignore loose items that will not fit in the bot's current inventory
- Increased base looting time for containers and corpses to 3 seconds
- BotDebug menu "Available space" now updated in real time as loot is transferred
- Fix issue where bots were treated as bosses preventing them from swapping any equipment
- Fix issue where gear looted from containers or the ground would not be equipped/swapped
- Bots will forget their target loot when interrupted during looting, triggering a new scan when returning to the looting layer. Previously bots would attempt to navigate to the same loot after the interruption.
- Fix issue where some items were still not insurable such as the Ronin mask
- Fix issue where destination was not being reset after LootingLogic had ended. Caused an issue with bots thinking they were close enough to a new lootable container when they were actually not.
- Show "Calculating path..." in BotDebug menu when distance to loot is being initialized
19.4K Downloads
Update of 1.1.2 to support AKI 3.6.0. Thanks DrakiaXYZ for the updates to GClasses!
5.9K Downloads
Community was quick to sort this one out!
Update to NoDiscardLimit server mod to fix issue where items like keys and cases were able to be insured when the EnableDiscardLimit server config option was set to false. For items that have a DiscardLimit set, the server mod will now flag those items as InsuranceDisabled which will continue to prevent the user from being able to insure items like keys and cases. Restores what is allowed to be insured back to the EFT Live behavior and fixes the exploit where items can be duplicated via insurance of items in pouches. If you had previously insured items that were not supposed to be insurable, they will no longer be insured.
You should deleteSkiwzzy-NoDiscardLimit-1.0.0 mod in your user directory if you had the previous version installed.
1.5K Downloads
Thanks again to everyone in the discord for all the testing, issue reports, and suggestions!
Smallish update mainly adding some more customizable Mod Settings for looting behavior, fixing some bugs, and adding some new tools for debugging
New Features
- Mod Settings: New Detection Radius Settings - Detection radius has been separated into 3 different settings for each type of loot. Now you can configure how far a bot can detect each type of lootable object. Options are: "Detect corpse distance", "Detect container distance", "Detect item distance"
- Mod Settings: Allow attachment stripping - Option to control whether or not bots should try to take the attachments off a weapon if the weapon cannot be picked up. This is enabled by default.
- Mod Settings: Allowed gear to equip settings - 2 new settings have been added, PMC: Allowed gear to equip and Scav: Allowed gear to equip. With these 2 settings, bots will only be able to equip gear that have been enabled in the settings. Available choices for both settings are Backpack, TacticalRig, ArmoredRig, ArmorVest, Weapon, Grenade, Helmet, All. PMC setting applies only to PMC bots and Scav settings apply to all other bot types. Defaults to All
- Mod Settings: Allowed gear to pickup settings - 2 new settings have been added, PMC: Allowed gear to pickup and Scav: Allowed gear to pickup. When encountering gear to loot, bots will only pickup the gear into their bags that have been enabled in the settings. Available choices for both settings are Backpack, TacticalRig, ArmoredRig, ArmorVest, Weapon, Grenade, Helmet, All. PMC setting applies only to PMC bots and Scav settings apply to all other bot types. **Defaults to All
- Mod Settings: Loot Threshold Settings- 2 new settings have been added to the "Loot Settings" section PMC: Loot value threshold and Scav: Loot value threshold. Bots will now only pick up items that have a value in roubles that exceeds the threshold set. PMC bot types will use the "PMC" threshold, while all other bot types will use the "Scav" threshold. If you want bots to pick up any item regardless of value, set these both to 0. PMC defaults to 12000₽, Scav defaults to 5000₽
Changes and Fixes
- Only execute Update methods in LootingLogic when BotState is Active
- Only activate LootingLayer if BotState is Active
- Only activate looting layer if a bot has available slots for looting
- Only loot corpses if their Player object is defined
- Fix issues where bots gets stuck looting with a short "Delay Between Looting". Have tested with a value of 0 and consistely saw bots looting and immediately moving towards the next nearest lootable after looting had ended
- Add missing LootingLayer to "Knight" and "Killa" bot brains
- Add BotType for Bloodhounds to Loot Finder settings
- Integration with BotDebug mod, a new dedicated panel was added for the LootingLayer
- Debug panel shows "Available space, "Total looted value", "Target Loot", "Distance to Loot" and an indicator when the bot is actively performing looting transactions
Been a bit busy IRL with work as of late but I will continue to make updates as time allows!
9.3K Downloads
Updated to support AKI 3.5.8 and latest version of BigBrain
5.9K Downloads
Version 1.1.0 is finally here with Loose Item Looting and a huge framework conversion!
Big Shoutout to the AI modding community! DrakiaXYZ, Solarint for debugging help. TinyTeeth, Props, Nooky and the rest for diligent testing. You guys are the best!
New Features:
- New Dependancy DrakiaXYZ BigBrain - MUST ALSO BE INSTALLED FOR LOOTINGBOTS TO WORK! Huge refactor to utilize DrakiaXYZ new BigBrain AI framework. Allows for full control over the bot's logic layer, bypassing the need to patch any existing BSG methods. This has reduced the complexity of the code immensely and allows for much better maintainability.
-
New "LootingLayer" - Added to all bot brains to handle custom looting logic. Bypasses all old BSG code
-
Layer will attempt to activate every 6 seconds while a bot is on patrol and trigger a scan of nearby loot.
-
If a lootable object has been found, the bot will attempt to navigate to the object and commence looting
-
Once looting is completed, the bot will wait the amount of time specified in the "Delay Between Looting" option before attempting another loot scan.
-
- Loose Item Looting - Bots are now able to loot loose items found on the map! The LootFinder component now detects all lootable objects (items, containers, corpses)
-
Inventory Management - Bots now have some logic to better manage their inventory when looting to help make sure things like ammo and magazines are able to be looted for weapons that bots are picking up.
- Bots will now try to reserve a 1x2 grid slot in their rig that will only be used as a place for magazines when bots reload.
- Item placement in rigs has been adjusted so that bots prefer to place items in slots that match the exact size of the item.
- Bots will also receive 10 stacks of loose ammo in their secure containers for the weapons they are looting so that they are able to fill empty magazines.
- Bots will now throw all old magazines for a gun that they are dropping and will not pick up mags that they are not able to use.
- Corpse looting logic is fully detached from BSG code, meaning bots will now use the custom "LootFinder" to locate nearby corpses. Should see bots looting corpses more frequently
- All bot types are actually able to loot now! Previously PMC bots using different boss brains would not exhibit custom looting behavior, but now thanks to BigBrain we can bypass that pesky logic with our own! This means even Bosses and Raiders should now be able to loot. Defaults have been adjusted, all looting types are enabled for Scav, PMC, and Raider type bots.
For a full list of changes view the release notes
5.0K Downloads
Updated for AKI 3.5.7
11.2K Downloads
Updated for AKI 3.5.5
466 Downloads
Container Looting!
Two flavors of container looting to satisfy players with different performance requirements. With dynamic container looting, bots will add container checks alongside their normal dead body check allowing them to identify nearby containers and break their patrol to try and loot them. Reserve patrol looting is similar except it is limited to bots that use the preexisting patrols that stop in front of containers.
As always please let me know if you experience any issues!
Special thanks to DrakiaXYZ and Solarint for answering all my patrol/navmesh related questions!
New Features
- Reserve Patrol Container Looting - First iteration of container looting. Hooks into the method that is called during a patrol that makes a bot pretend to loot a container in raid and actually lets the bots take the items from the container. This version is low cost but also very limited as I havent seen too many bots that are using these specific patrols that have the container points in them.
-
Dynamic Looting System - New dynamic looting system that relies on the logic used by the bots to loot corpses. Runs additional logic alongside the corpse looting methods to check for nearby containers within a sphere around the player and finds the closest container that has a valid navigation path. Once the bot reaches the container they will exhibit the same behavior as corpse looting where they crouch, look at the container, and initiate the same looting logic used by corpse looting. After looting, the bot will wait a certain amount of time before trying to find another nearby container to loot.
- If a container is behind a door, the bot will open the door after running into it for a few seconds to get to the container
- If a bot is stuck on an open door, the bot will close it
- Not all containers are able to be reached. This entirely depends on if there is a valid NavMesh nearby that the bot can use to navigate close enough to the container
Mod Settings
- Enable reserve patrols - Enables looting of containers for bots on patrols that stop in front of lootable containers (reserve patrols). Not needed if using dynamic looting.
- Enable dynamic looting - Enable dynamic looting of containers for selected bot types. Will detect containers within the set distance and navigate to them similar to how they would loot a corpse. More resource demanding than reserve patrol looting.
- Dynamic Looting: Dynamic looting: Delay between containers - The amount of time the bot will wait after looting a container before trying to find the next nearest container
- Dynamic looting: Detect container distance - Distance (in meters) a bot is able to detect a container
- Debug: Show navigation points - Renders spheres to help visualize the decision making process for where a bot should move to. (Credits to DrakiaXYZ for the helper)
- Red - container position.
- Black - "Optimized" container position.
- Green - Calculated bot destination
- Blue - Where the bot will actually move. (Position snapped to NavMesh)
Fixes
- Properly disable new corpse looting for bot types when disabling looting
- Update bot's gear value when new weapons are equipped
- Correct weapon swap logic when looted weapon is worth more than both the primary and secondary weapon. (Bot throws secondary, moves primary to secondary, and equips looted weapon as primary)
- Fix issue where bots always swapped from armor vest to armor rig
2.4K Downloads
Repost of previous release since I just released the 3.5.0 compatible version and didnt want that one to be the latest version available to download
This is mainly a performance update to address issues reported with the use of flea market queries while in raid. The weapon appraisal system has been overhauled so that the data is initialized when the client first starts, allowing for smoother looting transactions in raid. If you were having performance issues in 1.0.0 with the flea market option, give it a try again in 1.0.1!
Some small enhancements have been included, like including attachments in weapon appraisal making the value calculations a lot more accurate than just using the weapon's TemplateId.
Mod Menu has changed, be sure to double check your settings
Will begin looking into container looting this week!
New Features
3/23
- Mod Menu - Weapon Looting: Use flea market prices - Bots will query more accurate ragfair prices to do item value checks. Will make a query to get ragfair prices when the client is first started. May affect initial client start times. Defaults to false.
3/24
- Mod Menu - Weapon Looting:Calculate value from attachments- Calculate weapon value by looking up each attachment. More accurate than just looking at the base weapon template but a slightly more expensive check. Disable if experiencing performance issues!
- Mod Menu - Corpse Looting: Enable looting (replaces PMCs can loot) - Enables corpse looting for the selected bot types. Takes effect during the generation of the next raid. Defaults to all
- Mod Menu - Corpse Looting: Log Levels (replaces Enable Debug) - Enable different levels of log messages to show in the logs
Fixes
3/23
- Fix issue where bots were looting items out of deeply nested containers
- Default to Handbook prices for weapon appraisal for performance
- Optimize swap throw/equip flow
- Skip transaction when bot returns the secure container as the place to move the item
- Use existing handbook instance created when client first starts. No more additional query for getting the default prices for weapon appraisal!
3/24
- Move ragfair query to initial client load. Overall loot time in raid is on par if not faster than handbook
- Attachment appraisal for ragfair and handbook
- Convert handbook to dictionary on client start for faster raid access
2.0K Downloads
Brings Looting Bots 1.0.1 to AKI 3.5.0
Version 1.0.1 patch notes:
This is mainly a performance update to address issues reported with the use of flea market queries while in raid. The weapon appraisal system has been overhauled so that the data is initialized when the client first starts, allowing for smoother looting transactions in raid. If you were having performance issues in 1.0.0 with the flea market option, give it a try again in 1.0.1!
Some small enhancements have been included, like including attachments in weapon appraisal making the value calculations a lot more accurate than just using the weapon's TemplateId.
Mod Menu has changed, be sure to double check your settings
Will begin looking into container looting this week!
New Features
3/23
- Mod Menu - Weapon Looting: Use flea market prices - Bots will query more accurate ragfair prices to do item value checks. Will make a query to get ragfair prices when the client is first started. May affect initial client start times. Defaults to false.
3/24
- Mod Menu - Weapon Looting:Calculate value from attachments- Calculate weapon value by looking up each attachment. More accurate than just looking at the base weapon template but a slightly more expensive check. Disable if experiencing performance issues!
- Mod Menu - Corpse Looting: Enable looting (replaces PMCs can loot) - Enables corpse looting for the selected bot types. Takes effect during the generation of the next raid. Defaults to all
- Mod Menu - Corpse Looting: Log Levels (replaces Enable Debug) - Enable different levels of log messages to show in the logs
Fixes
3/23
- Fix issue where bots were looting items out of deeply nested containers
- Default to Handbook prices for weapon appraisal for performance
- Optimize swap throw/equip flow
- Skip transaction when bot returns the secure container as the place to move the item
- Use existing handbook instance created when client first starts. No more additional query for getting the default prices for weapon appraisal!
3/24
- Move ragfair query to initial client load. Overall loot time in raid is on par if not faster than handbook
- Attachment appraisal for ragfair and handbook
- Convert handbook to dictionary on client start for faster raid access
Not quite yet...