636 Commits over 153 Days - 0.17cph!
Have scientist briefly strafe and use suppressing fire before turning and sprinting to a distant cover
Have them crouch and sneak instead if the cover they want to go to is very close
Merge from ai_wolf_iteration (significant optimization)
Make scientists look towards where they "think" the player is, not where the player actually is
Make scientist not be able to shoot when they are sprinting
When generating covers, automatically delete previously spawned sub monuments
-Add more profile markers to heli
-Use fast broad grid check instead of precise one (heli range is 150m but cells are 32m wide, so we are not getting that much precision by using the narrow phase)
Fix heli adding player multiple time to its targets
Fix mistake than meant grid cell was queried but not used
Also don't iterate at all is ignorePlayers is true, instead of skipping every entry inside the loop
Only search for targets in grid cells around heli, instead of iterating on all players on the server
When adding a new target, instead of iterating over all existing targets to see if we already have it, use a lookup table (squared complexity > linear complexity)
Remove invalid targets by index instead of removing them by reference (squared complexity > linear complexity)
Only search for targets in grid cells around heli, instead of iterating on all players on the server
When adding a new target, instead of iterating over all existing targets to see if we already have it, use a lookup table (squared complexity > linear complexity)
Remove invalid targets by index instead of removing them by reference (squared complexity > linear complexity)
Add some randomness to the scientist peek timings
Setup new scientist animation system
Fix scientist corpse prefab ID not being updated after folder move
Make scientists reposition when they realize they are flanked
Fix covers not facing the right way when converted from a prefab local space to world space
When waiting in cover, scientist face the side they think you'll come from instead of facing the wall
This also helps sneaking up on them when flanking from the opposite side
Have scientist try to guess your current location based on where they saw you last
Renaming crouch to duck for consistency
First pass on scientists peeking out of tall and low cover
Use constants from BasePlayer and PlayerEyes for NPC cover generation and selection
Have scientists only crouch when their cover is low
Make scientists approach by sprinting or sneaking from cover to cover
Prevent scientists from shooting when they are sprinting
After they sprint, if their target is not directly in front of them, they will need some time to aim at their target again
Make killscientists command also kill new scientists
Fix scientist appearing on server but not client (had to redo DoPrepare and rebuild manifests after changing folder)
Update spawns in desert mil base dwellings
Bake covers for mil desert base
Bake covers inside prefabs in the prefab's local space, so that they can be retransformed in world space when the prefab is placed
(baked covers are not gameobjects, just structs in a list, so they are not automatically parented)
Make the cover tool faster by only generating the helper navmesh on tiny planes that perfectly fit the bounds of each monument sub-prefabs
Tool to load all sub-prefabs of a monument, automatically add scientist covers nodes to them, then save the covers in each prefabs
This way we can still bake covers in editor even though monuments are procedural
Also optimize the tool to take less than 1s for basic monuments like desert military base
Prevent scientists from magically knowing where you are and homing on you
They now have to use their senses, guess and search methodically
Allowing them to be surprised, baited and flanked
Fix scientists seeing through opaque tarp
Fix wolves not fleeing when damaged when their target is inside a safe zone
If a scientist loses sight of you and you pop from another angle they don't expect, they'll take more time to flick their crosshair to you
If you reappear in the exact same spot though, they won't need to move their crosshair so they'll just shoot based on the average human reaction time
Fix invis NRE when invis player is killed
Scientist accuracy now depends on what the player is doing not only distance
Modify sight checks to use bounding box top instead of bottom
Make bursts feel more natural
First pass on making scientist aiming feel fairer
Fix NRE caused by new scientist missing a component that wolves have
▇▉▋▇▇ ▄▊▇█ ▊▌_▍▉█▌_▄▄▉▉▇█▇▅▆
Remove redundant allies vislog
Use convars directly in debug aiarena script when ppossible instead of running commands
Add vislog to confirm that fallback roam EQS works correctly