1,375 Commits over 396 Days - 0.14cph!
Add method to find next waypoint on path in c#, will not use detour crowd for now
- Debug convar for nav trace
- tweak navgen params
- fix nav trace hit y being incorrect
- allow recast.draw to function as a toggle when used without params
- Speed up nav gen by 30% by using rust baked terrain and NavMeshBuilder.CollectSources
- Fix navmesh not taking into account terrain alpha properly
- Add nav raycast
- Update tile extractor profile markers
- Fix memory leaks with pooled list not being disposed
- Restore multithreaded navmesh building
- Increase tile poly buffer size for debug vis
- Handle mesh colliders submeshes (uncommon but possible)
Replace unity profile markers with timewarnings, add stopwatch to log build times
Add debug commands to test pathing and sampling
- Make layers and build params match what's done in game
- Add navmesh builder to ai singleton
- Make static methods that use a lot of state instance method
- Increase buffer size for nav tile rendering
- Add command to rebuild whole navmesh
- Display nav tile coords when using debug display in editor
Update pooled list renting to new API
Update protobuf deserialization of navdata
Fix scientists shooting before fully aligned to aim
Add custom voicelines to heavy when surprised, and when player shoots their armor a lot, to hint at weakspot in the back and armored front
Only delay heavy turning if surprised from behind, it looks odd pausing when the player is right in front
Fix formatting in RebindSkinnedMeshRenderer
Fix heavy scientist sometimes still turning too fast to face player or noise
Reduce heavy's magazine size and increase his reload time to create clearer opportunities for players
Make heavy scientist turn slower when surprised, to give a longer window of time to shoot his backpack and make it explode. Without this flanking is quite unrewarding.
- Fix npc looking straight at player instead of using overrideDirection when it's supplied (only an issue on client), required refactor of NPCs networking
- Fix compile errors
Sort categories and entities alphabetically in ai demos viewer
Fix heavy not repositionning when the minigun muzzle is blocked but his eyes are not
Add todo to remember accounting for ducking when estimating muzzle pos server side
Add random pitch to backpack hit sound
Prevent scientists shooting when their eyes are unobstructed but their weapon muzzle is. Some work is still needed to have them reposition to avoid the obstruction or take cover.
Add placeholder high pitch metal impact sound when heavy backpack weakspot is hit
Fix heavy facing wrong direction after clearing a corner, and staying far instead of constantly advancing
Separate heavy weakspot health from their main body health, makes it more intuitive
Fix scientist bullets sometimes being invisible by removing particle scale component, todo check with Petur if that can cause issues
Fix heavy scientist ground check trace hitting their own backpack, resulting in them randomly hovering
- Fix heavy shooting at walls too long after losing LoS, or if they never had LoS
- Prevent suppressive fire or misses if the weapon muzzle is close to an obstacle
Add heavy voicelines to ask his teammates to flank when players waste their time shooting his front armor, not hooked yet
Do not send RPCs for bullets bouncing off heavy's armor. It'll add unecessary network overhead and delays, just do it on the clients. This requires forwarding OnAttacked to EntityComponents and renaming resource dispenser's OnAttacked.
Make heavy more resistant to bullets from the front, but their ammo/fuel backpack will explode and instakill them on hit
Build manifest to be able to spawn scientists (got erased from merge)
Create custom inspector to make editing voicelines easier, stop using the "bark" term and try to always use "voiceline"
Refactor voicelines to replicate with voiceline index instead of voiceline hash, also allows per-category cooldown work to start
Refactor voiceline system to use audioclips instead of procedurally generating audio at runtime, todo now make cooldowns use voiceline type not exact text as id
Bake windows placeholder robot voices into audioClips, as people get different voices depending on their machine, sometimes even female. It'll also be easier to replace with proper voice recordings before release.
Prepare some voiceline variations so that they don't repeat the same things too much
Potential fix for "eject pistol shell not found" warning spam
Fix scientists potentially using the reload last frame pose instead of the aiming pose
Merge from ai_scientist_iteration, potential fix for footstep NRE
Potential fix for footstep NRE
Merge from ai_scientist_iteration