1,105 Commits over 335 Days - 0.14cph!
Fix wolf jumping into cars
Fix wolves jumping into cars
Fix wolves jumping into cars
Merge from ai_wolf_iteration
Fix wolves leaping too far
Fix wolf thinking the player is reachable when they are not, because of unity async paths returning "complete" instead of "partial" even when they are partial, potentially because of the hidden large projection they do
Hook last version of jump anim, and re-annotate the motion warping timings
Apply out of navmesh root motion when not in the air
Tweak the wolf dynamic vision range:
Reduce base wolf vision by 5m
Player crouching = 50% range
Player sprinting = 130% range (no change)
Crouching now allows getting in melee range if you approach a wolf from behind
Merge from admin_invis_command
Polish jump trajectory and weightiness
Merge from ai_wolf_iteration
Improve the fidelity of the wolf high jump using a bespoke animation
Add a telegraph before jumping
Make it dodgeable with enough space by running before the wolf lands
Give more time to hit the wolf before it jumps back
Fix anim montage generation not properly ignoring locomotion anims
Add debug commands for visualizing NPC acceleration, deceleration and gait
Fix wolves suddenly stoppinng when fleeing
Fix wolves that keep eating or chilling while their pack members are fighting nearby
Make bradley, heli and shark respect the "ai.addIgnorePlayer" and "ai.ignorePlayers" admin command
Add command to make admin invisible
Merge from ai_wolf_iteration
Remove unecessary includes
Fix wolves facing the wrong way when moving, and sometimes spinning when they start to move (new issues highlighted by async pathfinding)
Fix wolves hovering slightly above ground
Fix entity cluster spawn logic being biased towards the smallest possible cluster size when respawning entities
Wolves will not respond to a howl from a wolf that doesn't belong to their pack
This will prevent wolf packs from merging too often, reducing cases where players have to face more than 4 wolves
When using SetPath, don't update the path if it didn't change
Number of wolves per square km decreased from 3 to 2, max pack size increased from 3 to 4
Fix client compile issues
Remove allocs in async pathfinding
Make sure querying allies nearby doesn't return null or dead allies
Fix wolves leaping at players that didn't climb on anything, or dying suddenly for no apparent reason
Add better failed path vislogs
Have wolves give up stalking after a while if not dealt damage, and give up a lot faster if they see fire
Reduce wolf population and pack size to 3, until we find a way to make DensityPopulation spawn packs without having to increase the density
Don't return a success status from the position generator as we don't project on nav anymore, so it'll always succeed
Fix target check that was inverted after refactoring target getter
Remove unused RequireComponent attribute since components are now cached in the base state class
Use sense component member functions instead of magic extension functions to get or set the target
This makes the API more consistent
Remove some state local references to components that are no longer needed since references are now kept in the parent state class
Fix fire not scaring wolves when the player is standing on top of a tall object
They will now approach very slowly, flee as soon as the player swings their torch, and flee after jumping if fire is still lit
Cancel wolf jump when player goes down the tall object before the wolf arrives
Have wolves look at the player head instead of the player's crotch
Properly reset all state when client wolf is recycled
Initialize previous position properly to avoid large deltas when spawning and pooling
Fix wolves looking behind them for too long when fleeing
Fix wolves jumping excessively high to reach unreachable players
Tweak leap trajectory to be more believeable
Fix wolves dying when stranded in an environment they don't like (eg seaside)
Fix wolves roaming too far from their territory, potentially straying from their pack
Halve wolf territory size