1,285 Commits over 365 Days - 0.15cph!
Fix new scientists not being able to open doors
Add some randomness to the way scientist sample candidate positions, so that they don't pick the same too often, or multiple scientists don't pick the same
Reduce odds of re-hiding after peeking
Improve and simplify flanking pathfinding
Don't allow partial paths when flanking
- Make flanking route filtering more lenient as it was discarding some good ones
- Attempt to fix scientist bugging out when hiding
Better debug drawing for flanks, flank when possible, increase sightings memory duration
Don't refresh the path over time when moving to a static point (eg cover, peek)
Start setting up flanking state
- Make flanking debug display work both in games with DDRAW and in editor with gizmos
- Add height param to path debug drawing
Makes VDDRAW fallback to gizmos/handles when used in editor instead of DDRAW
- Make scientists sometimes opt for repositionning and staying on the offensive instead of staying in cover when they don't need to reload
- Add comments to each FSM transitions to help understand the scientist's thoughts
Make sure the cover is not compromised by the time we arrive in it, as it can look silly
Fix scientist heading toward bullet impact location instead of shot location (if the shot is loud enough eg firearm)
Lower scientist eyes slightly to prevent them seeing above above pipe piles and pallet piles (technically a player can do this, but it feels unfair if the scientist does it)
Use crouched height to trace for potential covers instead of standing height
Widen the trace fan to avoid having part of the body poke outside of the cover
Add audio cue when scientists are surprised
Makes surprising scientists less inconsistent
- If scientists hear footsteps approaching while reloading they'll hide somewhere else
- Fix scientist still being allowed to shoot when surprised
- Fix scientist being surprised too easily / often
Temporarily disable look at proc anim
- First pass on scientist patrol, surprised state, and better relaxed/aiming animation handling
- Fix aiming anim param being bool instead of weight
Use tags to network ducking / aiming / relaxed state of scientist instead of RPC or protobuf
Fix loot not working on new scientists
Use classic scientist mesh
Fix scientists seeing from their belly button instead of their eyes
- If running into the target by accident when heading to a cover, enter dogfight mode
- When hiding look in the direction the player is likely to come from
First pass on cover behaviour
- Fix scientist being stuck in search state (they were selecting the same search spot over and over again)
- Fix scientist searching silly spots after losing sight of the player instead of in a sensible direction
Temporarily disable friendly fire on scientists until we improve shooting logic
- Fix oilrig being considered in water by scientists
- Allow reacting to noises not necessarily coming from the current target when investigating
- Prevent pathfinding spam if hearing lots of noises eg AK full auto (could have caused perf spike)
- Fix enemy being marked as visible when just heard or when hit by a bullet
Fix scientist not rushing to investigate noises when searching
Fix scientists getting stuck in search recursion
- Temp workaround to scientist not able to move on oilrig (oilrig thinks it's in water)
- Fix getting stuck in search state
- Fix scientist heading to a different floor when strafing
- Make scientist head towards LKP instead of actual player pos
- Add scientist search behavior when reaching LKP but no player is there
- Simplify FindLKP
- Fix FSM getting stuck in "roaming"
- Adapt killscientists command to kill new scientists
- Fix NRE on scientist death
- Fix target lost transition not working properly
- Simplify FSM
Don't add scientist brain twice
Fix crocs dying at jungle pond
Fix croc not being able to attack dpv, boogie board, kayak and rowboats
Fix croc trying to attack cars and shelters with no success
Merge from tiger_death_nre_fix (again)
Temporary fix for tiger NRE on death, the proper fix will be shelved and merged post patch, as the bug unearthed a deeper bug in entityComponent whose fix could create other bugs
Merge from tiger_death_nre_fix
Replace all usages of "is {}" pattern matching to properly account for unity null override (previous commit didn't go through)