Posts by DanW

    DanW added a new version:

    Quote
    • Updated for SPT 3.11
    • Renamed disable_prapor_starting_gifts to disable_starting_gifts in config.json and made it also disable Mechanic's starting gift


    Config.json files from previous releases are not compatible.

    DanW added a new version:

    Quote

    Gameplay Changes:

    • Added adjustments to EFT Scav spawns when using the Questing Bots spawning system (#44). See the Overview tab or the README for a description of the system concept and details about each setting.
    • When using the Questing Bots spawning system, register PMC's and player Scavs as actual players in EFT to reduce the chance that Scavs will spawn near them
    • Regularly update the BotZone for bot groups to be whichever one is closest to its boss. This prevents them from running far away whenever they stop questing, and instead they should patrol the local area.
    • Reduced the desirability of EFT quests from 60 to 50
    • Reduced the desirability of boss hunter quests from 40 to 30
    • Reset all map-specific bot-cap adjustments in bot_spawns.bot_cap_adjustments.map_specific_adjustments to 0
    • Prevented PMC's and PScavs from spawning inside the broken silo on Factory
    • Allow bots using PmcBear and PmcUsec brain types to quest
    • Changed bots_per_group_distribution and bot_difficulty_as_online arrays for PMC's and player Scavs from using interpolation to using chances. In the new format, the chance that the value in the left column will be selected is defined in the right column. Chances values do not need to add up to 100; the algorithm simply uses relative weighting (for the numbers in the second column) between rows.
    • Revised the chances that various bot difficulties will be selected and bot groups will be of various sizes for PMC's and player Scavs. Most notably, PMC's are more likely to spawn as solos compared to previous releases.
    • Reverted when PMC conversion chances are adjusted from the /client/game/start endpoint back to when the plugin loads. This will allow future versions of Realism (>1.5.0) to work with the Questing Bots spawning system without having to make any configuration changes.
    • Bug fix for crashing or freezing when loading into raids if a custom trader mod is used that has quests with prerequisites containing circular references to other quests. (#43)
    • Bug fix for incessant exceptions when the BotObjectiveManager component is not disposed when a bot is disposed (due to an error). This is mostly seen on Fika servers. (#46)
    • Bug fix for bot group members attacking bots that are separated due to being stuck or healing for too long (#47)
    • Bug fix for the new rewrite of DONUTS not being detected (if DONUTS is installed without SWAG)
    • Bug fix for bosses not spawning when playing solo using a Fika dedicated server (#49)

    Code Changes:

    • Added server and client validation of arrays in config.json including a check to ensure an older version of the file isn't used
    • Prevented the "advanced spawning system" from being disabled
    • Removed the obsolete contents of the bot_spawns.bot_cap_adjustments section in config.json and related code. The contents from the previous bot_spawns.advanced_eft_bot_count_management section (with the enabled setting removed) were then moved to this section.
    • Revised the abstract bot generator class to prevent bot-generator instances from overriding Unity's Awake and Update methods. Instead, these methods call new methods (Init and Refresh, respectively) that must be implemented in each bot-generator instance. This is a breaking change for any spawn mod that uses the Questing Bots spawning system as its framework!
    • Set the maximum generated bot count for bot generators in the Awake method instead of the constructor
    • Moved the PendingSpawnPoints list into the abstract bot generator class because it's needed for all instances of it
    • Changed the method patched when activating bots from method_11 to method_10
    • Added some additional error handling to PMC and player Scav spawning
    • Added debug patches to expose errors discarded in EFT's HandleFinishedTask methods (currently disabled)
    • Changed more logging messages from Info to Debug or disabled them
    • Reorganized patches into multiple namespaces
    • Minor refactoring
    • Removed obsolete code


    config.json files from previous releases are not compatible.

    Questing Bots has no control over how bots are generated; that's all done by SPT.


    The reason the game doesn't run is because Questing Bots won't allow the game to start until all starting bots have been generated.

    DanW added a new version:

    Quote
    • Bug fix for being unable to open doors in the hideout


    config.json files from the 2.3.1 through 2.8.2 releases are compatible, but several options no longer do anything and toggle_switches_during_raid.exclusion_radius will be too high.

    DanW added a new version:

    Quote
    • Bug fix for errors when transferring items in your stash after loading the Hideout


    config.json files from the 2.3.1 through 2.8.1 releases are compatible, but several options no longer do anything and toggle_switches_during_raid.exclusion_radius will be too high.

    DanW added a new version:

    Quote
    • Updated to SPT 3.10.x (#39)
    • Increased required version of Waypoints from 1.5.2 to 1.6.2
    • Increased required version of BigBrain from 1.0.1 to 1.2.0
    • Updates for the new Factory map:
      • Updated standard quests
      • Prevent bots from spawning outside of the building where the transit is located
      • Increased max_alive_bots from 5 to 7
    • Updated management of bots on Lightkeeper Island:
      • Use EFT's LighthouseTraderZone class for tracking which bots are allowed on the island and currently on the island
      • Use the collider in LighthouseTraderZone to determine the boundary of Lightkeeper Island for changing bot hostilities instead of hardcoding corner locations (but keep the hardcoded points as a failsafe in case the collider is null)
      • Force Zryachiy and his followers to become hostile toward you if your DSP encoding is removed
      • Force your DSP encoding to be disabled and Lighkeeper trader rep to be reduced if you kill another player on Lightkeeper Island, unless that player is also an aggressor on the island
    • Added (configurable) overrides for EFT's new bot hostility settings:
      • Added override to force all PMC groups to be hostile toward each other
      • Added override to force PMC groups to be hostile toward Scavs (and vice versa)
    • If the spawning system in this mod is used, remove all PMC waves in BSG's PvE settings
    • If Performance Improvements versions 0.2.1 - 0.2.3 is loaded, show a constant error in the game, and write an error to the server and game consoles.
    • If Please Just Fight is loaded with the Questing Bots spawning system enabled, show an error in the game, game console, and server console.
    • Automatically disable this mod's spawning system if Reality is loaded
    • Hardcoded some quest locations on various maps
    • Slightly reduced the chances that PMC and PScav groups of 3 or more members will spawn
    • Prevented PMC's and Partisan from being included in Boss Hunter quests
    • Wait for EFT's "bot preset" bot generation to finish before starting this mod's bot generation
    • Ensure the server's PMC conversion chance is 0% before EFT's "bot preset" bot generation begins
    • Adjust PMC conversion chances when the /client/game/start endpoint is called instead of when the plugin loads. The endpoint might be changed in the future to improve compatibility with Realism.
    • Improved the robustness of the code that verifies PMC-conversion chances haven't been changed by another mod, and write warning messages to the server to explain what changed if the verification fails
    • Create a "fake stash" for keys before transferring them to bots that are about to unlock doors
    • Only show warning messages about null quest templates once when loading into a raid instead of when processing each quest
    • Removed many debug options and moved them to a separate mod
    • Changed the logging level for many client messages (mostly from Info to Debug)
    • Some refactoring but much more is needed
    • Removed obsolete methods from the client and server code
    • Bug fixes for problems introduced in SPT 3.10:
      • Bug fix for remaining members of a bot group generated by this mod not becoming followers after a boss is set
      • Bug fix for a new boss of a PMC group generated by this mod not being set when the initial one dies
      • Bug fix for a new boss not being selected if the current one is separated from its group (due to being stuck for too long)
      • Bug fix for bot paths not avoiding airdrop crates (EFT issue)
      • Bug fix for initial raid setup failing when WorldInteractiveObjects with the same ID are found on the map (EFT issue)
      • Bug fix for exceptions when sounds fail to play while bots perform certain actions if you're using a third-person view
    • Bug fixes for remaining problems from previous SPT releases:
      • Bug fix for door and switch interactions not working for all clients when using Fika
      • Bug fix for PScav groups generated by this mod allowing Scavs who spawned earlier to join
      • Bug fix for bots generated by this mod being allowed to join other bot groups
      • Bug fix for PMC spawn points being too restricted when spawning at the beginning of a Scav raid
      • Bug fix for 0 bots being infinitely generated for bot groups. Ensure at least 1 PMC and 1 PScav is generated (if those generators are enabled).
      • Bug fix for StackOverflowException when finding the required level for a quest added by a custom trader that has circular references in its prerequisites. When this happens, show an error in the game console and server console, and set the required level for that quest to 1.
      • Bug fix for exception when airdrops land for Fika client machines


    config.json files from previous releases are not compatible.

    DanW added a new version:

    Quote

    This version includes a new version of the LateToThePartyFikaSync plugin, available here

    • Improved the robustness of the code used to destroy loot
    • Ensure the position of the main player is tracked immediately after spawning (instead of having a 100ms delay)
    • Changed the logging level for initial door messages from Info to Debug
    • Refactored LateToThePartyFikaSync plugin code
    • Bug fix for incomplete loot destruction (loot that's unable to be picked up) when using Fika
    • Bug fix for exception when airdrops land for Fika client machines


    config.json files from the 2.3.1 through 2.8.0 releases are compatible, but several options no longer do anything and toggle_switches_during_raid.exclusion_radius will be too high.

    DanW added a new version:

    Quote
    • Increased required version of Waypoints from 1.6.0 to 1.6.2
    • Restored Fika compatibility:
      • Requires the newly included LateToThePartyFikaSync plugin, available here. Thanks to Lacyway for creating the plugin code!
      • If Fika is detected without the LateToThePartyFikaSync plugin installed, show an error message in the main menu, game console, and server console when the game first loads
      • If the LateToThePartyFikaSync plugin installed, show an error message in the main menu, game console, and server console if it's not a compatible version
    • Significantly reduced the time needed to destroy loot when setting up the initial state for Scav runs
    • Rewrote code so all components attach to GameWorld instead of being static
    • If destroy_loot_during_raid.loot_ranking.enabled=false, do not retrieve any loot-ranking data from the server
    • Show an error message if a weapon with undefined properties is found when generating loot-ranking data
    • Removed some debugging messages
    • Removed outdated server code
    • Lots of refactoring, but much more is still needed
    • Bug fix for trying to make the VEX leave when it isn't present
    • Bug fix for allowing the VEX departure to be aborted after the animation begins


    config.json files from the 2.3.1 through 2.7.1 releases are compatible, but several options no longer do anything and toggle_switches_during_raid.exclusion_radius will be too high.

    DanW added a new version:

    Quote
    • Bug fix for not being able to place some unexamined items into your secure container


    Config.json files from the 2.0.0 - 2.1.0 releases are compatible.

    DanW added a new version:

    Quote
    • Updated for SPT 3.10
    • Added requirement for Waypoints 1.6.0 and removed redundant features that perform similar functions
    • Made Fika incompatible. There is currently no way to synchronize door, switch, etc. states between clients.
    • If Lockable Doors is loaded, show a warning message in the main menu, game console, and server console when the game first loads about known limitations
    • Added SPT version check (currently set to allow all SPT 3.10.x versions)
    • Reduced toggle_switches_during_raid.exclusion_radius from 150 to 75 or many switches on Labs would never be activated
    • Removed trader-stock-adjustment feature because it doesn't look like BSG will be restoring trader stock limits
    • Removed the bot-conversion-chance adjustment feature because there are now plenty of spawn mods that do a better job
    • Removed logging buffer and crash detection because this hasn't been needed in a long time
    • Removed most debug options and transferred them into a separate mod
    • Do not try to directly despawn items that are locked in their parent items (i.e. soft armor inserts)
    • Do not force doors near loot to open if something is already interacting with it
    • Do not force doors near loot to open if open_doors_during_raid.enabled=false
    • Ignore and show warning messages for items with invalid templates
    • Removed warning message when checking for VEX's if there are no alive players in the map
    • Made all Unity methods protected instead of private because the recent Visual Studio update is dumb and forces them to be faded out
    • Began refactoring (but much more is still needed)
    • Removed manifest from WinForms app (LootRankingDataReader) to reduce VirusTotal false positives


    config.json files from the 2.3.1 through 2.6.1 releases are compatible, but several options no longer do anything and toggle_switches_during_raid.exclusion_radius will be too high.

    DanW added a new version:

    Quote
    • Updated for SPT 3.10.0
    • Refactoring and minor performance improvements


    Config.json files from the 2.0.0 - 2.0.2 releases are compatible.

    DanW added a new version:

    Quote
    • Updated for SPT 3.10.0
    • Made all Unity methods protected instead of private because the recent Visual Studio update is dumb and forces them to be faded out

    DanW added a new version:

    Quote
    • Renamed the "Distance from PMCs (m)" F12 menu option to "Distance from Bots That Are Questing (m)"
    • Instead of showing a warning message when QuestManiac is detected, make it incompatible. Quests take far too long to process, and there the performance impact is too significant to tolerate.
    • Simplified the code needed to create custom bot generators using this mod's spawn system (a patch is no longer needed)
    • Disabled logging messages when bots are forced to be hostile toward bosses
    • Disabled server messages showing BotSpawnPeriodCheck values
    • Use the SPT method for getting members of a bot group
    • Made all Unity methods protected instead of private because the recent Visual Studio update is dumb and forces them to be faded out
    • Removed unused OnGameStarted patch
    • Bug fix for PMC spawns being too close together when using other mods that allow more than one human player (#38)
    • Bug fix for bots incorrectly being prevented from grouping together
    • Bug fix for Zryachiy and his followers not able to be excluded from the AI limiter
    • Bug fix for followers of bots with quests on Lightkeeper Island setting off the mines on the bridge


    config.json files from the 0.8.0 release are compatible.

    I created this as a developer tool for the following purposes:

    • Getting the key ID's needed to unlock doors
    • Unlocking doors to allow bots to walk inside initially locked rooms

    It's not intended to be used during normal gameplay.

    DanW added a new version:

    Quote
    • Reorganized F12 menu options into two sets of flags
    • Separated "Unlock Door" and "Turn On Power" actions into separate options that can be enabled in the F12 menu

    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.