1,506 Commits over 549 Days - 0.11cph!
Fix regression that caused scientists to not be able to throw grenades through some bottlenecks to setup a group push
Merge from scientist_agitation_fix
- improve perf/gameplay by fixing a scenario where nearby scientists would never stay in cover and be hyperactive
- improve perf by making scientists on other floors just lay in ambush, instead of constantly trying to peek above/below their floor
- fix regression that caused scientists to not group up to push when throwing grenades, landing a shot, or not seeing the player for a while
- fix some scientists still trying to push or throw grenades on a location even after their allies confirmed visually that the player is not there anymore
- fix a pool leak
Also prevent double push when throwing grenades
- Reduce random chance to push after peeking
- Prevent double push after landing a shot on the player
Fix bug in push assist logic which caused recursion, causing everyone to push instead of just a group
- Fix npc not grouping to push (bug introduced with voicelines removal)
- Fix leak
- Have npc always try to not push alone
Fix scientists not communicating with each other that target is lost, and some still rushing or grenading very stale location
- Prevent scientists from being overly agitated (going from hiding spot to hiding spot never pausing in between) when peeking and flanking both are not possible
- Prevent scientist on other floors or sniped from being too agitated (peeking and wobbling a lot) even though nothing is happening near them
- Fix scientists throwing grenades while searching or while being surprised
Another attempt at fixing npcs going through tropical ruins doors
Fix some traces not being added in the correct category of the npc visual debugger
- When sniped, make scientists hide before returning fire
- Fix scientists ignoring sounds in some contexts (all scientists properly go into hiding even if the sniper shot missed them)
Skip food detection on scientists
Improve scientists undergeared player evaluation
Initial bandaid fix for npc recklessly rushing players with prim weapons
Disable nav agent when scientists are sleeping, add editor only ai.showSleep command
Attempt to unbork the naval merge subtraction
Improve the way scientists search after losing sight of their target, todo fix scientists peeking too often instead of staying put
Increase bounds of sleeping volume, to help prevent sniping sleeping AI, will investigate better solution post naval
Hide scientists healthbar
Merge from fix_npc_flanking
Hook up new flanking algorithm to fsm
Polish flank code, remove allocs, ifdef logs, support moving navmesh, share editor and runtime code for easier testing, use parameters for magic numbers, fix wrong algorithm in ComputePathsInitialSimilarity
Fix islands having double info zone (there are two nested prefabs for island, only the nested one is generated by s2p)
Setup AI sleeping on islands, not working, still figuring out why
Sleep AIs on ghostships were not players are nearby, realized island AIs never sleep, still investigating
Fix new scientists not playing static sound effect on death
Fix new Scientist using wrong headshots sounds
Prevent another "Look rotation viewing vector is zero" error
Fix scientist visual aiming being a bit offset, reduce snapping in aim/legs, has the side effect or currently removing the bend forward when sprinting
Add more navmesh blocking volumes to oilrigs
Fix scientists dying spontaneously when patrolling
Refactor some methods to remove the need for resetPathOnFailure and prevent potential inconsistent behaviour in debug mode
Do not allow partial paths on scientist patrols, as it causes some wild teleportation behaviour, investigation in progress
Fix npcZone OOB translation being wrong when parented to a ghostship
Add hack to not check if underwater if parented to a ghostship
Adjust npc zones on ghostships to prevent samples lying exactly on zone boundary
- First pass on fixing ghostship npc zones
- Allow rotating and moving zones
- Allow destroying zones
- When samping in a donut around the unit, use navmesh space instead of world space (fixes sampling wrong ghostship floors)
- Fix search origin being corrupted
- Fix lastChosenHidingSpot never being set
Merge from naval_scientist_fixes, fix wrong space coordinate for scientists zone and water checks (navmesh space instead of world space)
Add npc zones to ghost ships, fixes scientists not rushing or flanking well
-Fix navmesh being full of holes and unusable on plank made structures on deepsea islands.
-Fix scientists walking on top of static canons of islands
-Fix scientists walking through trees on islands
-Not fixed: loot crates present on island spawn are forever baked into the navmesh
Fix potential "Look rotation viewing vector is zero" error