* Initial bot commit
* Added server commands and cvars for adding AI players to the game.
* Added auto modes for automating the adding and removal of bots
* Bots connect to the server and join teams correctly
* Added round restart and new map detection for AI system
Push before new project added for detour
* Initial bot integration
* Integrated all basic bot code for navigation and task performing
* Added support for multi_managers to better understand how buttons and triggers affect doors
* Improved bot understanding of door triggers and weldables
* Reworked nav profiles
Nav profiles for bots are now dynamically updated to take into account changing capabilities, such as picking up a welder
* Improved bot door usage
* Added weldable obstacles back into navigation
Bots now understand how to get around weldable barriers
* Replaced fixed arrays with vectors
* Resource node and hive lists are now vectors.
* Further improved bot weld behaviour
* Added dynamic reachability calculations
When barriers and doors are open/closed, new reachability calculations are done for structures and items so bots understand when items/structures become reachable or unreachable as the match progresses.
* Added team-based reachability calculations
Reachabilities for structures and items are now based on the team, so bots understand when they can't reach a structure from their spawn point.
* Implemented long-range off-mesh connections and dynamic off-mesh connections
* Implemented fully dynamic off-mesh connections
Phase gates now use connections rather than custom path finding. Much more performant.
* Replaced arrays with vectors for simpler code
* Started Bot Swimming
* Bots understand trigger_changetarget
Bots can now navigate doors operated with a trigger_changetarget so they understand the sequence in which triggers must be activated to make it work
* Push before trying to fix long-range connections
* Implement new off-mesh connection system
* Redid population of door triggers
* Fixed trigger types and links to doors
* Added lift and moving platform support
* Lift improvements
* Bots avoid getting crushed under a lift when summoning it
* Bots are better at judging which stop a platform needs to be at
* Tweak lift and welder usage
* Fixed bug with multiple off-mesh connections close together
* Finish lift movement
* Fixed dodgy path finding
* Improved skulk ladder usage and lerk lift usage
* Fix crash with path finding
* Re-implement commander AI
* Commander improvements
* Improve commander sieging
* Commander scanning tweak
* Reimplemented regular marine AI
* Start reimplementing alien AI
* Implement gorge building behaviours
* Start alien tactical decisioning
* Continuing alien building and other non-combat logic
* More alien role work
* Adjusted base node definitions
* Iterate Capper Logic
* Alien assault AI
* Alien Combat
* Fix grenade throwing, better combat
* Marine combat AI improvements
* Commander improvements
* Commander + nav improvements
* Drop mines
* Improved bot stuck detection
* Commander supply improvements
* Bot fill timing config
* Added nsbots.cfg to configure internal bots
* Changed bot config file to "nsbots.cfg"
* Bug fixing with navigation
* Fix skulk movement on ladders
* Improved commander placement and tactical refresh
* Fixed bug with ladder climbing
* Doors block off-mesh connections
* Finished doors blocking connections
* Marine and alien tactical bug fixes
* Add commander beacon back in
* Start combat mode stuff
* First pass at combat mode
* Bots attack turrets
* Fix ladder and wall climbing
* Commander chat request
* Improved skulk ladders
* Added nav meshes for new bot code
* Added bot configuration to listen server menu
* Added bot config file
* Added default bot config to listenserver.cfg
* Added default bot settings to server.cfg
* Include VS filter for bot files
* Crash fixes
* Bot improvements
* Bot stability and mine placement improvements
* Fixed crash on new map start with bots
* Reverted Svencoop fix
* Fixed crash, added more cvars
* Performance improvement
* Commander building improvements
* Stop bot spasming when waiting to take command
* Fixed doors not blocking connections
* Added bot disabled guard to round start
* Commander improvements, movement improvements
* Tweaked level load sequence
* Performance improvements
* Bot load spread
* Fixed commander update
* Refactor bot frame handling
* Bug fixes + Pierow's dynamic load spread
* Minor bug fixes
* Fix door detection, prep for test
* Fixed commander siege spam
* linux compile test
* fix hardcoded inlcudes
* O1 compile flag for detour
- fix linux server crash
* Revert detour compile flags to original for windows
* linux build update
* remove x64 build configs
* update bot nav meshes and configs
* fix bot physics at high server fps, update navmeshes. from @RGreenlees
---------
Co-authored-by: RGreenlees <RGreenlees@users.noreply.github.com>
Co-authored-by: RichardGreenlees <richard.greenlees@forecast.global>
This sadly means that buildings cannot be placed where destroyed func_breakables and func_weldables are. Unfortunately, the fix also meant structures could be placed inside railings which would immediately cause them to sink
This is a fix for Issue #55. Changes made:
* Server ignores intangible entities when determining if a building placement is valid (fixes func_breakable issue)
* If a func_weldable has the "welds open" spawnflag set, then upon completing the weld when it plays the break effect, it will become fully intangible. It will reset upon round restart.
Fix by @RGreenlees