Known Issues:
- Noticeable stutters and flicker when a lot of bots spawn at the same time
Changes from the 0.10.3 Release:
- Rewrote the server code for SPT 4.0
- Moved client code to a new .NET Standard 2.1 project
- Updated required version of SPT to 4.0.2
- Updated required version of BigBrain to 1.4.0
- Updated required version of Waypoints to 1.8.2
- Made Phobos and ORBIT incompatible
- Added support for Labyrinth:
- Added Labyrinth quests (Fixes #90)
- Added quests for the Labyrinth entrance on Shoreline
- Bots will first try to complete quests to escape their starting chambers. After escaping, they will select random quests like normal.
- With the Questing Bots spawning system, bot groups will be split up, and each member will spawn in its own starting chamber (like live EFT). Each member will try to escape its starting chamber before regrouping.
- By default, all bots will be unable to pass through active traps in starting chambers. The traps must be disabled first.
- By default, all bots will be unable to walk through the poison-tipped barbed wire placed throughout the map
- By default, PMC and player Scav bots can set off the alarm when they reach the middle of the map
- Added Labyrinth to various settings in config.json that are map-specific
- Added Labyrinth-specific spawn-distance limits when using the Questing Bots spawning system
- Added Labyrinth-specific distance threshold to the AI limiting system and allow AI limiting for questing bots on it
- Added automatic detection of traps and alarm triggers (see #90 for more information)
- Added new quest step types:
- OpenNeabyDoors: Bots will open all doors within the specified radius of their starting point (currently bots cannot open locked doors)
- Teleport: When bots reach the quest location, they will immediately teleport to the specified location
- Added new quest features:
- alarmQuest: Quests that can only be performed when the Labyrinth alarm is on
- ignoreHearing: While performing the quest objective, bots will ignore footsteps and gunshots, unless they see an enemy or are hit by an enemy
- prioritizeOverFollowing: If bots are instructed to perform a quest objective with this enabled, they will try to complete the objective without taking a break to regroup with their followers or boss (applies to both questing bots and questing boss followers).
- forceUnlock: Forces bots to unlock all doors and toggle locked switches if necessary to complete the quest step
- requireForFollowers: After completing the quest step, questing bosses will force their followers to perform the quest step too. They will wait until all followers complete (or fail) the step before proceeding.
- Disable EFT's bot "local avoidance" system for questing bots (this caused erratic pathing behavior)
- Increased the brain layer priority for AI limiting (sleeping) from 99 to 250 because the highest vanilla AI combat layer priority is 200.
- Allow Labyrinth bot types, Cultist event bot types, Zryachiy event bot types, zombies, and Partisan to sleep and (if enabled in config.json) quest
- Added F12 config option to allow custom bot types (added by other mods) to sleep (#106)
- Added
bot_spawns.player_scavs.disabled_mapsconfig setting to prevent the Questing Bots spawning system from spawning player Scavs on specified maps even ifDisabledForScavis changed tofalsefor them by other mods - Prevent bots from trying to deactivate mines (grenade traps) unless they have a complete path to them
- Improved pathfinding to switch positions when bots perform
ToggleSwitchquest steps - Updated SAIN interop commands to make bots ignore gunfire sounds when forcing them to ignore hearing input
- Prevent switches from returning to their initial states when bots interact with them (which sometimes happened on Labyrinth)
- Raise
CommandStatus.BeginandCommandStatus.Succeedevents when bots interact with doors and switches - Added new interop methods (for #101):
GetCurrentQuestActionType(BotOwner bot)GetCurrentQuestName(BotOwner bot)GetCurrentQuestLocation(BotOwner bot)IsCurrentJobAssignmentAnEftQuest(BotOwner bot)HasAnActiveJobAssignment(BotOwner bot)HasAQuestingBoss(BotOwner bot)GetBotQuestInfo(BotOwner bot)GetJobAssignmentHistory(BotOwner bot)
- Improved performance of existing
GetCurrentDecision(BotOwner bot)interop method - Added more overrides for EFT quest positions to improve bot questing accuracy
- Updated server mods that automatically disable the Questing Bots spawning system (now only Acid's Bot Placement System and Unda)
- Wait one frame before adding airdrop rush quest to ensure its
NavMeshObstaclecarves the NavMesh - Added override in config.json for SPT's player Scav brain-swap weightings (disabled by default; will require SPT 4.1 to work correctly)
- Added advanced F12 config option to show bot hostility assignments (disabled by default)
- Use the semantic-version range for the server to set the required SPT version in the client
- Improved localization for bot nicknames in debug gizmos and logging messages (thanks @ozen-m)
- Updated SAIN interop GUID and namespace [#93]
- Added a WIP performance benchmarking system (only available in debug builds)
- Added currently unused method to outline the trigger zones that cause Partisan to spawn
- Lots of refactoring
- Bug fix for bots being broken when attempting to unlock doors using Fika Headless
- Bug fix for Fika Headless incompatibility with spawning skipped bot waves [#92]
- Bug fix for Fika incompatibility with spawn rush quests [#98]
- Bug fix for some bosses and followers killing each other after spawning (#86)
- Bug fix for the Questing Bots spawning system ignoring the location of human players when searching for valid spawn positions for each member of a bot group
- Bug fix for the Questing Bots spawning system only blocking the pending spawn position of questing bosses, not their followers, when searching for valid spawn positions for new bot groups
- Bug fix for an exception being thrown if all possible spawn points for a bot group are blacklisted
- Bug fix for NRE when bots search for doors to unlock
- Bug fix for the Questing Bots following and regrouping brain layers being added to sniper bots (who cannot quest)
- Bug fix for blank quest names being shown in logs when using Fika headless
config.json files from previous releases are not compatible.