Posts by DanW

    DanW added a new version:

    Quote
    • Increased required version of SPT from 3.9.0 to 3.9.6
    • Increased required version of Waypoints from 1.5.1 to 1.5.2
    • Added support for bots doing quests on Lightkeeper Island:
      • If a bot selects a quest on Lightkeeper Island, it will become allied with Zryachiy and his followers
      • Once a bot passes through the gate on the bridge leading to Lightkeeper Island, it will become temporarily allied with all bots beyond that point on the bridge or anywhere on the island. After the bot returns back through the gate going in the opposite direction, it will end its temporary alliances.
      • Bots that select a quest on Lightkeeper Island will be able to pass through the claymores on the bridge without setting them off even if you can't
      • Any player that kills a bot beyond the gate leading to Lightkeeper Island or anywhere on the island will receive negative Lightkeeper rep and have their DSP encoding disabled
      • Added Lightkeeper Island quests (only allowed for PMC's level 35 or higher)
      • If SAIN is detected, it must be at least a certain version for Lightkeeper Island quests to be enabled. This is currently set to SAIN 3.1.2, which has not been released! Previous versions of SAIN do not allow enemy bots to become allies during the raid.
    • Significantly improved bot path-finding to quest objectives in the command bunker and around D2 in Reserve
    • Added D2 camping quests to Reserve
    • Added remedies for bots getting stuck while questing:
      • If a bot becomes stuck for >6 seconds (configurable) while doing a quest, it will try jumping over the obstacle in front of it. It will retry this every 4 seconds (configurable) until it gives up.
      • If a bot becomes stuck for >8 seconds (configurable) while doing a quest, it will try vaulting over the obstacle in front of it. It will retry this every 4 seconds (configurable) until it gives up.
      • If either remedy is used, bots will recalculate their paths to their objectives after they land back on the ground
    • Added setting to F12 menu to only enable the AI limiter if there are at least a certain number of bots on the map (15 by default)
    • Added optional forbiddenWeapons field to quests to prevent bots from using weapons that are not appropriate for the quest. If the types of all of the bot's weapons are in the array, it will not be allowed to select the quest. This is mostly used to prevent bots from using pistols and shotguns for sniping quests and using sniper rifles for ambush quests.
    • Separated boss hunter quests into individual quests for each boss instead of a single quest for all of them. The name of each quest will now contain the boss's name, so it's easier to understand what bots are doing using the bot debug overlays.
    • Blacklisted Zryachiy and his followers, "skier", and "peacemaker" from Boss Hunter quests
    • Changed the min/max number of EFT quests a bot needs to complete before trying to extract from 2/5 to 2/4
    • Changed the min/max number of non-EFT quests a bot needs to complete before trying to extract from 6/12 to 3/8
    • Changed the default bot-cap adjustment for Factory Day from 13 to 0 because the SPT location data for it has been fixed
    • Use SPT's USEC chance when generating PMC's instead of having a fixed 50% chance
    • Changed the way bot-generation requests are intercepted so a custom endpoint is no longer needed
    • Show an error when the game starts if this mod's spawning system and nVidia reflex are both enabled
    • Prevent PMC's and PScavs spawned by this mod from being forced to be hostile with Zryachiy and his followers, the BTR, or Santa
    • Always allow bots to join boss bot groups
    • If a bot's state is not EBotState.Active, show its state in its bot overlay instead of any other information
    • Added debug setting to make all PMC's friendly
    • Simplified the method used to generate bot groups
    • Stop trying to find static paths to invalid quest objectives
    • Removed the patch that fixed a bug with bot Standby logic because it's no longer needed
    • Use the SPT method for getting members of a bot group
    • Ensure private fields are arguments in patches, not accessed via reflection while the patch runs
    • Ensure private fields that cannot be arguments in patches are cached when the patch is created
    • Added unused method to prevent a bot from sprinting for a certain amount of time
    • Added unused method to delete all static-path data
    • Fixed typo in message when bots are ready to extract after completing a certain number of quests
    • Added warning messages when processing EFT quests if any of their templates are null
    • Bug fix for the AI limiter not working on Ground Zero when you are level 21 or higher
    • Bug fix for errors when bots try unlocking doors that no longer exist (namely because they were destroyed by Backdoor Bandit)
    • Bug fix for bots trying to unlock the same door multiple times
    • Bug fix for error when multiple waypoints for a quest are connected with a static path
    • Bug fix for redundant static paths being generated (where one is the reverse of another)
    • Bug fix for error spam if a questing bot's path data is null
    • Bug fix for respawns of Zryachiy's followers not being able to join his bot group
    • Bug fix for the members of the wrong bot group being used to check if a bot can join a bot group
    • Bug fix for not being able to override properties of quests that are private, arrays, or reference types via eftQuestSettings.json
    • Bug fix for quest zone positions not able to be changed via zoneAndItemQuestPositions.json


    config.json files from previous releases are not compatible.

    DanW added a new version:

    Quote
    • Bug fix for the game freezing while starting if disable_fence=false and barters_only=true


    Config.json files from the 2.0.0 and 2.0.1 releases are compatible.

    What's the name of that option? What I am looking for is that all PMC bots can walk freely on the map no matter where they are, but the other bots would only act if I approached them

    If you keep "Enable AI Limiting for Bots That Are Questing" disabled in the F12 menu, PMC's should never be disabled unless they get stuck so badly that questing gets disabled for them.

    All you have to do is change bot_spawns.enabled=false. That will disable everything related to spawning in this mod.

    DanW added a new version:

    Quote
    • Fixed incompatibility with the loot-destruction system and Fika


    config.json files from the 2.3.1 through 2.6.0 releases are compatible, but you'll receive warning messages in the server console about trader-inventory changes being disabled.

    Is that possible to add another option that allows you to enable the AI limiter but disable it for PMCs? I only saw the option for sniperscav, bossandfellow, raiders, and rouges.

    That's the default behavior. There's already another option to allow the system to disable PMC's.

    DanW added a new version:

    Quote
    • Bug fix for being unable to disable the flea market
    • Added Russian translation for the "Hardcore Playthrough" edition description (thanks to AcidMC)


    Config.json files from the 2.0.0 release are compatible.

    DanW added a new version:

    Quote
    • Only apply hardcore rules to specific profiles:
      • Added a new "Hardcore Playthrough" edition to the SPT Launcher
      • Only enable hardcore rules when a profile using the "Hardcore Playthrough" edition is loaded (resolves #4) or when use_for_all_profiles=true in config.json
      • Show a warning message when the main menu is displayed if enabled=false in config.json but a profile using the "Hardcore Playthrough" edition is loaded or use_for_all_profiles=true in config.json
    • Improved handling of repair options:
      • Disable the repair option for items unless a suitable repair kit is in the player's inventory (resolves #1)
      • Removed traders from the repair window drop-down menu
      • Moved all code to the client
      • Changed the config.json option name from disable_repairs to disable_trader_repairs to improve clarity
    • Improved how insurance is disabled:
      • Instead of extending the Scav cooldown timer, you will no longer be able to select "Scav" when entering a raid
      • Moved all code to the client
    • Improved how post-raid healing is disabled:
      • Instead of skipping the screen, show it but you will not be able to apply any treatment. That way, you can still see the damage you received during the raid.
      • Moved all code to the client
    • Added a whitelist (traders.whitelist_traders) of ID's for traders who will not have their offers modified if traders.barters_only=true or traders.whitelist_only=true
    • Changed the trader-item whitelist name from whitelist to whitelist_items in config.json
    • Changed the option for enabling debug mode from debug to debug.enabled in config.json
    • Moved the option to change the flea market minimum level from services.flea_market to debug in config.json, renamed it to flea_market_min_level, and only use it if debug.enabled=true
    • Fixed debug message in UpdateSideSelectionPatch to have the correct class name


    Config.json files from previous releases are not compatible.

    DanW added a new version:

    Quote
    • Updated to SPT 3.9.x
    • Increased required version of Waypoints from 1.4.3 to 1.5.1
    • Increased required version of BigBrain from 0.4.0 to 1.0.1
    • Improved the interaction between Questing Bots and SAIN:
      • Reduced brain-layer priorities of questing and boss-following to be less than SAIN's brain-layer priorities. This fixes issues where bots would prematurely end combat and run away, and bots will generally be much more alert, patient, and effective in combat. However, they will also tend to perform significantly fewer quests throughout the raid.
      • Added a new brain layer (with a higher priority than SAIN's) to make bots retreat and support their boss if their group is in combat and they're not in immediate danger. This prevents bot groups from becoming too spread out and running around the same general area chasing each other between engagements. The distance thresholds are configurable, but by default they will use this layer if they're more than 35m away from their boss, and they will stop using the layer once they are within 15m of their boss.
      • Only prevent followers from following or regrouping with their bosses if they need to heal, and ignore other "able-bodied" checks. This prevents bot followers from running away and ignoring their bosses for a while instead of healing.
      • Added separate min/max pairs to questing.bot_questing_requirements.search_time_after_combat that are automatically selected based on Questing Bots's brain-layer priorities vs. SAIN's. If SAIN is prioritized, questing.bot_questing_requirements.search_time_after_combat will be 5/20 s. Otherwise, it will be 20/45 s.
    • Changed the raid-start delay to occur before the final countdown until the raid starts instead of being in parallel with it
    • Added a config option to override the radius around the BTR within which questing bots will "avoid danger" (reduced EFT's 40m setting to 10m by default).
    • Added config options to change priorities of all Questing Bots brain layers
    • Updated bot-overlay information to include the new brain layer and to hide some information when one of SAIN's brain layers is active
    • Added an Advanced F12 menu option to show your current coordinates on the screen
    • Bug fix for bots ignoring their hearing (using SAIN) when sniping
    • Bug fix for not using the "default" Scav raid-time reduction settings to generate the player-Scav spawn schedule if the location ID cannot be found in the server data


    Please use my AI Hostility Fix mod if you're using SAIN 3.0.3 (or below) or SPT 3.9.1 (or below).


    config.json files from previous releases are not compatible.

    DanW added a new version:

    Quote
    • Added config option (on by default) to consider trader offers in exchange for GP Coins to be considered barter trades


    Config.json files from previous releases are not compatible.

    DanW added a new version:

    Quote
    • Updated to SPT 3.9.0


    config.json files from the 2.3.1 through 2.5.1 releases are compatible, but you'll receive warning messages in the server console about trader-inventory changes being disabled.

    DanW added a new version:

    Quote
    • Updated to SPT 3.9.0
    • Bug fix for Scav runs being available after creating a new profile until restarting the game


    Config.json files from the 1.2.0 through 1.3.2 releases are compatible, but yellow flares will not be whitelisted in them by default.

    DanW added a new version:

    Quote

    Updated for SPT-AKI 3.9.0

    DanW added a new version:

    Quote
    • Added map-specific distances for the AI limiter. These can be accessed via the "Advanced" F12 menu settings, and the actual distance used is the lesser of the map-specific distance and the global limiting distance for human players.
    • Increased default min/max values of questing.bot_questing_requirements.search_time_after_combat from 10/30 to 20/45 seconds to dissuade bots from leaving combat as quickly
    • Updated the algorithm used to find locations of EFT quests. All EFT quests can now be located, which fixes problems in previous releases with finding positions for the following quests:
      • Capturing Outposts on all locations (Customs, Woods, and Shoreline)
      • Background Check on Customs
      • Return the Favor on Woods
      • Overpopulation on Lighthouse
      • Knock-knock on Lighthouse
      • Seaside Vacation on Lighthouse
      • Safe Corridor on Reserve
      • No Place for Renegades on Reserve
      • One location for Bunker Part 2 on Reserve
      • All locations for Long Line on Interchange
      • No Swiping on Shoreline
      • Multiple locations for Scrap Metal on Shoreline
      • One location for Spa Tour Part 2 on Shoreline
      • One location for Eagle Eye on Shoreline
      • Gendarmerie Mall Cop on Streets
    • Added the ability for bots to open car doors and trunks. Added/updated the following quests to use this feature:
      • Merin Car on Lighthouse
      • Truck that spawns a violet card by the Sawmill Checkpoint on Woods
      • Giving Trunk on Customs
      • Car trunk that spawns the OLI Logistics key on Customs
      • Car trunk with the medbag in the Storage area on Customs
    • Added a config option to increase the desirability of quests that are currently active for you. Desirability is increased by 1.2X by default.
    • Added config option to scale the value of BotSpawnPeriodCheck to reduce the feeling of Scavs "swarming" you. The period is 3X longer by default.
    • Added the ability to override EFT quest properties using the new config/eftQuestSettings.json file. None are changed by default.
    • Added the ability to specify target positions for bots to collect EFT quest items and doors that must be unlocked to reach them using the new config/zoneAndItemQuestPositions.json file.
    • After each objective that a bot completes for an EFT quest requiring you to place a marker, it will wait for the "protect objective" time before selecting another quest.
    • After each objective that a bot completes for an EFT elimination quest, it will wait a configurable amount of time (60s by default) before selecting another quest.
    • Implemented SAIN interop method to instruct bots to ignore their hearing when in an ambush position defined by a quest. This is needed if questing.brain_layer_priority is reduced to be a lower priority than SAIN's brain layers.
    • Stop treating assaultGroup Scavs as bosses
    • Added debug option in the advanced F12 menu to write more information about bot spawning to the game console
    • Added unused method to find the bot's weapon with the longest sighting range
    • Bug fix for CloseNearbyDoors action not working
    • Bug fix for allowing SPT 3.9.0


    config.json files from previous releases are not compatible.

    DanW added a new version:

    Quote
    • Allow the server and client to run on different machines. To accomplish this, the following changes were made:
      • Moved the client DLL into its own folder ("DanW-LateToTheParty")
      • Log files will now be stored within the new client directory for this mod
      • Added server and client checks for an older client DLL still remaining in the "BepInEx\plugins" directory. If so, show an error when the server or game starts and disable this mod.
      • If a "log" directory from older versions of the server files still exist, write warning messages in the server console, but still allow the mod to function
    • Removed the LateToTheParty endpoint for writing error messages to the server console and will now use the SPT one
    • If the map cannot be determined when loot is ready to be destroyed (namely when using Fika), write error messages to the game console and server console and then disable the loot-destruction system
    • Bug fix for not being able to disable the loot-ranking system
    • Bug fix for allowing SPT 3.9.0


    config.json files from the 2.3.1 through 2.5.0 releases are compatible, but you'll receive warning messages in the server console about trader-inventory changes being disabled.

    DanW added a new version:

    Quote
    • Added config option to disable Prapor's starting gifts (enabled by default)
    • Bug fix for allowing SPT 3.9.0


    Config.json files from the 1.2.0 through 1.3.1 releases are compatible, but yellow flares will not be whitelisted in them by default.

    DanW added a new version:

    Quote
    • Added support for having multiple non-AI players
    • Bug fix for opening doors requiring power (before it's turned on) when other mods are used that add context-menu actions
    • Bug fix for opening the inner KIBA door before the outer door


    config.json files from the 2.3.1, 2.4.0, and 2.4.1 releases are compatible, but you'll receive warning messages in the server console about trader-inventory changes being disabled.

    DanW added a new version:

    Quote
    • Allow the server and client to run on different machines. To accomplish this, the following changes were made:
      • Check the positions of all non-AI players, not only the main player, when determining which bots to disable in the AI limiter
      • Check the positions of all non-AI players, not only the main player, to determine where to spawn bots
      • Added interop support that provides a method to obtain the current bot-generation progress
      • Moved the client DLL into its own folder ("DanW-SPTQuestingBots")
      • Moved the "quests" folder from the server directory to the new client directory for this mod
      • Log files will now be stored within the new client directory for this mod
      • Removed the basic quest-file validation script that runs as the server starts
      • Added a basic quest-file validation script that runs as the game starts. If quests are missing or cannot be validated, a warning message will be written to the server console, but the mod will still function.
      • Added server and client checks for an older client DLL still remaining in the "BepInEx\plugins" directory. If so, show an error when the server or game starts and disable this mod.
      • If "quests" and "log" directories from older versions of the server files still exist, write warning messages in the server console, but still allow the mod to function
      • Bug fix for boss-spawn limiting not working when there are multiple non-AI players in the raid
      • Bug fix for multiple instances of components trying to be added when using certain types of mods (thanks to @belettee)
      • Bug fix for the raid-start delay-code running multiple times if multiple non-AI players are in the raid (thanks to @belettee)
    • Added config option to replace SPT's bot caps with EFT's when using the advanced spawning system. There are also options to only change the bot cap if EFT's is lower (enabled by default) and to apply additional map-specific adjustments.
    • If "As Online" difficulty is selected for a raid, random difficulties will be assigned to bots spawned by Questing Bots. The weighting of the difficulties is defined by the bot_difficulty_as_online array for each bot type in config.json.
    • Added AI-limiter option to keep certain bot types always active (accessible in the F12 menu). By default, Rogues and sniper Scavs will always be active.
    • Added a setting in the F12 menu to prevent bots from sprinting when they're within a certain distance of any quest objective (3m by default)
    • Disable BotStandby logic for all bots because it was causing problems and the AI limiter basically serves the same purpose
    • Reduced questing.bot_search_distances.objective_reached_navmesh_path_error from 20m to 2m because bots should be able to reach all quest positions now. This also prevents bots from trying to reach all steps for an inaccessible quest objective.
    • Added a configuration option to only reset a bot's decisions before looting if SAIN is a older than a specified version (2.2.1.99 by default). Additional improvements for switching between Questing Bots's and SAIN's logic will be included in future releases.
    • Added min_raid_time_remaining config option (180s by default) to prevent bots from spawning too late in the raid
    • Blacklist quest objectives on Scav island on Shoreline because Unity struggles to find complete paths to it (thanks to @MonstraG)
    • Ensure quest objectives on Lightkeeper Island on Lighthouse are blacklisted even if the first step is not on the island
    • If bots cannot form a valid path and are not on the NavMesh, teleport them to a valid NavMesh position (WIP)
    • Automatically disable the bot spawning system if Better Spawns Plus is detected (thanks to @xuvvy and @artofsound)
    • Added an error message when using DONUTS but not SWAG when EFT loads, but still allow the mod to function
    • Added null checks in case doors no longer exist (namely because they were destroyed by Backdoor Bandit)
    • Added bot difficulties to the "assignments" log file written at the end of each raid
    • Added rows for bots that were generated by Questing Bots but never spawned in the "assignments" log file written at the end of each raid
    • Removed the Questing Bots endpoint for writing error messages to the server console and will now use the SPT one
    • Changed the server message about the advanced spawning system ignoring bot caps for PMC's and PScavs from a warning to an info message
    • Bug fix for bots sprinting after completing objectives when they're still within maxRunDistance of them
    • Bug fix for Scavs not spawning later in the raid
    • Bug fix for bots unlocking doors requiring power (before it's turned on) when other mods are used that add context-menu actions
    • Bug fix for bots unlocking the inner KIBA door before the outer door
    • Bug fix for the AI limiter preventing bots from achieving the EBotState.PreActive state
    • Bug fix for bot and quest overlays not rendering properly when DLSS is enabled (thanks to Solarint)


    config.json files from previous releases are not compatible.


    IMPORTANT:

    • Because the file structure has changed with this release, files from all previous versions of this mod must be removed before installing this version!
    • If you're using Fika, you must set bot_spawns.delay_game_start_until_bot_gen_finishes=false in config.json or bosses may not spawn. Setting bot_spawns.spawn_initial_bosses_first=true may also help to ensure there are no long delays before bosses spawn.

    DanW added a new version:

    Quote
    • Bug fix for Fence selling weapons and equipment when disabled


    Config.json files from the 1.2.0 through 1.3.0 releases are compatible, but yellow flares will not be whitelisted in them by default.