userMaverickcancel
branchrust_reboot/main/Livestock_animalscancel

150 Commits over 30 Days - 0.21cph!

Today
Gate navmesh save log and AI despawn log behind ai.logIssues
Today
Fix "[NPCAnimController.DoPrepare] Skipping blacklisted clip tiger_prowl" error on manifest regen
Today
Merge from main
Today
Have AI tests run at 4x speed, with same delta times, confirmed results are the same thanks to the deterministic mode, AI tests now down to 15min I also added a local guard that stops me from blowing past the 30min budget in the future
4 Days Ago
Fix regression caught by Led_TwoInSingleFile_StandSideBySide test
4 Days Ago
On livestock, stop using syncvars for things that should not be broadcasted to all clients, instead use protobuf
4 Days Ago
Fix livestock not using trough when any grass is present, after current overgrazing rework Now eat less food the more grass there is in the pen, but still eats food, and grass only is less filling
6 Days Ago
Merge from main
6 Days Ago
- Add better debug drawing commands to test cows pens and diagnostic problems with them not eating / reproducing etc, that work on client - Limit herd size to 5, and increase herd detection distance to 40m
6 Days Ago
Move the shared AI test prefab paths from AITestFixture into a new AITestUtils so client tests use them instead of keeping their own copies
6 Days Ago
Fix test that sometimes randomly fails in editor because server and client share one TOD_Sky
6 Days Ago
Rework how outdoor herd sized are measured to make the 9 max herd cap more robust, instead of each cow checking only their neighboors, each neighboor checks their neighboors recursively Stretched herds no longer then allow the cap to be bypassed Perf is same, because then the other cows don't need to run their own queries, so the same total amount of queries are run Wild cows are skipped as they can't reproduce so don't need to know about their herd size
7 Days Ago
Fix lamb not using the same eye/mouth mask as adults, and having their eye/mouth tinted brown/black
7 Days Ago
- Fix client pooling not resetting livestock stats properly, showing incorrect or fluctuating stat before first network update - When a cow has no owner, the owner UI is replaced with "no owner, feed at a trough to claim" - Fix trust UI showing "can breed" even though trust doesn't factor in breeding anymore, instead show "will defend you" - Rename the trust thresholds, shy>curious>can be led>will defend you for females and babies, hostile>wary>can be led>will defend you for males - Female cows will also attack anyone that attacks their owner, as if they were their calf (and only owner is defended, not others)
7 Days Ago
Update rust native libraries for all platforms
7 Days Ago
- Make recessive genes factor in the buy price you get with the NPC - Make the buyer NPC comment on hidden bad genes / inbred cows / true god cows with good recessives - Hint at recessive genes in the genes UI
7 Days Ago
Remove distinction between adults and calves for needs, take into account unborn calves to decide whether to breed or not, to check if we hit the cap (open ground, was already done for in pens)
7 Days Ago
Fix livestock potentially not breeding / eating, is 3 mates / troughts are closer to them but unreachable, even though they have another mate / trough in the pen
7 Days Ago
FSM now binds all state / transitions "owner" on the first SetState, instead of lazily
7 Days Ago
Fix new navmesh stalls on main thread: - build ghost ships async - allow splitting work with more granularity to stay under the budget, else a megabase navmesh tile can go way over, we need to split individual colliders of a tile - cache ToBaseEntity, as it's expensive
7 Days Ago
Make cows more intuitive and clear: - simplify cow ownership, you buy a cow it's yours, it eats at your trough it's yours now, no bond needed (only for leading), nobody can steal a lead from the owner, cows with no owner can't breed - UI shows owner - cows don't die from old age anymore, crowding is the only death, starved animals lie at 1 hp and get up when food is available again - cows can buffer up to 3 charges of milk to reduce micromanagement - UI shows milk cooldown / charges - overgrazing mechanic removed, replaced with simple grass need (it just checks if each cow has at least one foundation worth of grass in the pen) - cows can eat any food a horse can - if all fails, cows will teleport food from the trough to their belly (should be rare, just to prevent cows blocking other cows from eating despite the queue system) - UI shows pregnancy status, father, remaining time, cooldown after birth - UI shows how long the food / water in the trough will last given the number of cows using it (both on the trough UI, and on the cow UI) - cow names are not picked based on the server players language, but on the cow owner language, wild cows have no names and get one with their first owner (you won't have herds of foreign cows with names you may not be able to read, unless you steal them) - separate frame budgets for scientists, animals and livestock: too many livestock can't slow down scientists and animals anymore, only slow down livestock on the server - (in another previous changelist) personal space is same for all cows in herd, it doesn't fluctuate unless barn changes - (in another previous changelist) free range cows stop breeding when herd size reaches 9 (no crazy outbreak after leaving 2 cows outside)
7 Days Ago
Fix cows clipping through walls, causing their head to stick out of buildings
9 Days Ago
Make cpu affinity a warning instead of an error
9 Days Ago
Fix "death while running" anim never playing because speed was measured after stopping
9 Days Ago
Reduce the amount and size of comments in livestock fsm, instead move them to a separate document file
9 Days Ago
Fix agent velocity not always being accurate
9 Days Ago
Merge from livestock_hotfixes
9 Days Ago
Add a deterministic mode to NPCs for tests: - one rng generator per npc, use it everywhere there is a random draw - infinite budget and fixed time step during AI test - fix warp causing an agent speed spike - fix melee / voice sens lookups not checking their age - fix tiger / croc / grenade using deltaTime instead of fsm time, or not respecting timescale
9 Days Ago
Prevent cows from picking destinations where they will clip with each other
10 Days Ago
Fix broken test
10 Days Ago
Rework livestock personal space - free range cows stop reproducing even if fully bonded when herd reach a cap - indoor / pen cows, navmesh flood fill to get their exact area in m2, and derive the need directly off that, so that all cows shows the same thing and it's stable / reacts directly to players doing building changes (it's also cheaper that what we are doing now, as we don't need to re-query just check the cache) - this gives fast feedback and stays stable over time, so players get a better idea of if something they are doing is working or not
12 Days Ago
Make cows actually line up with troughs to eat + play the correct animation Make a system so that we can align any animal with props without turn in place (maybe handy for cars mounting/unmounting?)
12 Days Ago
Optimize path following further following Daniel's leads: - support full batching, serial path no longer needed even if some NPCs can swim or open doors, move requests are queued for next batch - better use of unity's TransformAccessArray to avoid native overhead (don't set to null, do not re-build every batch instead persistent w stable identities) - iterate forward instead of backward (ListHashSet is slower backward, + has RemoveUnordered so iterating backward to delete is not really needed) - skip IsUnityNull checks that's no longer needed
13 Days Ago
Merge from livestock_hotfixes
13 Days Ago
Merge from main
13 Days Ago
Merge from main
17 Days Ago
FIx weird animal behaviours around food, and disable food sensing for all animals and critters that don't need it
18 Days Ago
Makes livestock docile in safezones to prevent griefing, make npc livestock buyer react properly if livestock dies / flees during conversation
18 Days Ago
Prevent cows grazing on ice / sand
18 Days Ago
Streamline NPC team system, merges the competing systems into one
19 Days Ago
Fix junkpiles not rebuilding their navmesh tiles on spawn / despawn
19 Days Ago
Fix navmesh not building properly on player roofs / conditional roof models
19 Days Ago
Fix navmesh building on top of player boats
20 Days Ago
Fix navmesh not baking properly graveyard fence and frontier bar doors
20 Days Ago
- Fix livestock and old animals going underwater - Fix bull stuck forever in charge mode when you move to its side - Fix bull trying to headbutt even if target is unreachable - Fix curious cow being so curious it lets itself starve - Reduce bull damage - Livestock leads now behave more like horse leads, slows down the player and break around 7m - Fix cow sometimes snapping back to idle after a graze instead of playing the exit anim
20 Days Ago
Fix TestSheepShearing.BlowBesideWool_ShearsRatherThanCuts being broken after shearing changes
20 Days Ago
Update rust native libs for all platforms
20 Days Ago
- Move navmesh save to background thread (260ms -> 0.8ms for large map) - Instead of re-saving all tiles, append only dirty tiles at end of save, and only do a full resave when the size cap is blown
20 Days Ago
Fix inbred cows looking wrong
20 Days Ago
Only change livestock hp in 5% increment when mood increases / drops, to avoid networking full entity snapshots everytime health changes because of mood