All Rust commits from Facepunch
Fix other pooled list leaks
Fix more pooled list leaks
Add missing "using" to properly free the pooled list in State_Flank
Have scientist only ask their closest ally to help in a rush, not the whole squad
- Replace f1 grenade with smoke grenade - Add support for custom expiration time for blackboard facts
- Add option to specify priority of voice lines - Encapsulate speaking logic into a separate component
- When staying in cover, try to hold a likely angle the player could come from - Fix scientist sometimes leaving their zone for a cover super far away (when they use the old cover system as fallback) - More navmesh blockers on oilrig small to prevent scientists wasting their time testing destinations inside geo
Remove allocs in flanking state
Make leaving zone during rush more robust
Merge from main
- Remove nav blockers in small oilrig - Cache zone on spawn - Discard potential destinations out of zone when peeking or taking cover - Don't flank targets out of our zone, or rush them, unless they got injured or an ally asked for help - Add debug visualization for zone checks - When leaving the zone for any reason, scientists should not filter points outside the zone anymore, or they'll be stuck
Initial setup for new AI zones (zones they don't want to leave unless they have a very good reason like pushing an injured player) This is to avoid all the scientists going on the same floor to fight upon hearing the first shot, instead they should cover the entrances to their floor and only move between floors on special occasions Previously this was done with navmesh blockers, but they prevent the scientists to ever pushing in another floor
Fix scientists not shooting back when sniped from very very very far away
Fix scientist flicking too fast when hurt or hearing sound while they are unaware (bug in suppressive fire)
Prevent shooting too long at where target was after it left
Bring scientist health back to what it was, hook hazmat protection values on top
Prevent noise event boxing and allocation when used in hashset
Remove some barks
Change push bark
Remove another bark, change push bark
Remove peek VO
- When a scientist just shot the player, have him ask support from other scientists to rush - Allow some voicelines to ignore cooldowns when they are important
Remove some voice lines that seemed out of place
Pre-emptive reload when mag not full and target not seen for a while
Reduce noise made by melee and bow
Clean up reaction time visualization code
Fix shooting scientists not making them aware after reaction time rework
Fix bow projectiles not making noise (regression)
- Fix hearing not working after reaction time rework - Make noise events readonly structs, they didn't really need to be classes and need all the pooling - Only simulate sighting once per noise
Fix hearing and being hit boosting scientist accuracy too fast
Fix scientists still reacting too fast, especially when seeing player through pixel gaps for a microsecond
Fix peripheral vision being too strong in combat
Reduce scientist health
Increase reaction time, reduce damage, simplify accuracy formula
Have scientists always be surprised when first hearing or being hurt by a player
Preventt scientists from looking at bullet impact instead of bullet origin, even if the bullet origin is out of hearing range
Fix scientists being able to shoot through solid colliders when hearing the player
Quick and dirty voicelines first pass
Prepare scientist TTS hooks (for prototyping only)
Add TTS for prototyping
Prevent scientist from sprinting when dogfighting from upclose, wasting time where they can't shoot
Fix compile error
Fix scientists sometimes facing away from their target lkp when in cover
Prevent scientists from throwing grenades instantly when they lose los
Better debug vis for scientist accuracy
Fix compile error
- Fix scientists being able to shoot when sprinting - Allow scientist to shoot when surprised and offscreen, but not being accurate (to help players pinpoint where they are before getting beamed) - Fix scientist being able to land a shot when they are supposed to be inaccurate, if they are doing suppressive fire
Allow scientist to shoot briefly even after they lose LoS
Fix being able to see scientist feet through the oilrig floor
Fix missing collision on oilrig