Posts by Skwizzy

    Skwizzy added a new version:

    Quote

    Version 1.1.0 is finally here with Loose Item Looting and a huge framework conversion!


    New Features:

    • New Dependancy DrakiaXYZ BigBrain - 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

    Skwizzy added a new version:

    Quote

    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

    Skwizzy added a new version:

    Skwizzy added a new version:

    Skwizzy added a new file: