branchrust_reboot/main/Livestock_animalscancel
528 Commits over 518 Days - 0.04cph!
merge from Cow_pattern_testing
Fix livestock fence being ignore by navmesh
Move livestock convars out of ai. and into their own factory
Increase padding on livestock UI
FIrst pass on the gene system, clean up the UI (right now I show everything in the UI, but we have convars to hide genes / recessive genes / age / trust etc which I want to explore)
- Make it so that we can run the livestock balance setup at 32x speed instead of only 2x, required a few logic changes like carryovers, but end results now match normal speed
- Fix time progressing between tests, causing some tests to suddenly run at night
Created Cow Meat Cooked, Raw and Spoiled Icon
Created Lamb Meat Cooked, Raw and Spoiled Icon
Hooked Up New Icons
Updated Lamb and Sheep Prefab to give Lamb Meat when harvested
Added Lamb Meat Model and Textures
Setup Lamb Cooked, Raw and Spoiled Meat Materials
Setup Lamb Cooked, Raw and Spoiled Prefabs
Updated Lamb Meat item names and descriptions
Rebuild dll (will still need linux and mac built before we deploy, only windows for now)
Subtract the subtraction that nuked the navmesh doors
Merge from main (need to subtract navmesh doors deletion after + dll rebuild)
Updated cow, bull and calf with new uv set and LODs.
Fix cows healing when roaming, instead of when needs are met, causing walled in cows to do well
Updated Cow, Bull, Calf Corpse Prefab to give Raw Cow Meat when harvested
Update Cow meat item names and descriptions
Added Cow Meat Model and Textures
Setup Cow Cooked, Raw and Spoiled Meat Materials
Setup Cow Cooked, Raw and Spoiled Prefabs
Updated Big Cat Meat Spoiled Material so it as showing the spoiled effect
Fixed stag not responding to ai select/move commands
Merge from animal_fencing_v2
Add the vendor to the ranch, s2p both
Fixed animal leads not working after purchase
First pass on npc's selling baby animals to the player
Possibly fixed the conversation data graph editor sometimes silently dropping newly added conversation nodes
LeadingPlayer is now a Synced field
Compile simulator now passes
Fixed most compile errors, still one issue
Hitch & Trough now has a water container on the right, supports fluid IO
Livestock can drink from trough
Added a storage adaptor to the food portion of the trough
Merge from livestock_nav_optis (linux and mac dll not built yet)
More navmesh and path following optis:
- Disable navmesh carving completely when new navmesh is enabled, we still had its overhead
- Pin arrays before marshalling them, because unity's mono is not smart enough to do it and is copying everything which is excruciatingly slow
- During path following, when calculating remaining distance, cache the rest of the path and only update the current segment we're on, instead of recalculating the length of the whole path
- Add telemetry to new navmesh
Cow eat animations to include trough variants
Fix compile error in ConsoleSystem
Fix missing #if SERVER directing to gate navbakestats
- Simplify cow needs to be easier to balance and understand as a player: remove mood as a tracked value, mood is just computed on demand by min(fullness, hydration, personal space)
- HP just converges to mood so that happy cow is full hp, sad cow dies automatically, and eating automatically heals => added benefit: cow condition becomes cleanly visible to players through the healthbar
- Sleeping cows needs are frozen instead of ticking down
- Add ultra compact building to benchmark (multiple cows in a 1x1 with through or shelter)
- Fix benchmark not having water source for free range cows, causing free range cows to produce less scrap
Merge from the old animals to new system port
- Create a balance tool for livestock economy: spawns herds in free range, compound, small pen, barn, solo 2x2, letting them eat/reproduce at x2 speed for one hour, it gives us information to balance how much scrap should each setup generate
- Fix moms spawning calves behind walls when giving birth, allowed them to escape the pen!
- Create sheep population assets
Merge from new_navmesh_fixes (for the doors)
Add tests for domestication / grudge, fix TC faulty replication because it's a prop
Livestock capture/domestication first pass:
- you gain trust by just hanging around cows, enough trust and you can lead them where you want, even more trust and they come sleep near your TC unprompted
- with enough trust bulls become neutral to you instead of trying to punch you, maxed out trust makes bulls protect you from threats
- not mandatory, you can still coerce a cow into your base by hitting then chasing it in the right direction, or luring a bull that's chasing you, then only build trust once they are captive
- some wild cows are also naive and just follow players for no reason, you can kidnap naive calves and capture their mom for free
- bull army soon possible
- Mothers now defend calves if they are hurt, and don't forget too fast what you did
- Better courtship between bull and cows, more legible to a player (ai commands: addignoreplayer, spawn bull, spawn cow, forcebreed)
- Fix client crash when calf dies because of NRE, it seems every ragdoll other than cow was not setup properly, maybe because of the new ragdoll copy tool? => added a CI test to validate ragdoll assets so that it doesn't happen again
Fix broken livestock tests that always return red because behaviour changed / were non-deterministic and would fail sometimes
- Prevent child state from re-entering itself from parent transition (common cause of bugs)
- Fix croc never entering onNavmesh state
- Fix pendingStates not working when logIssues is disabled
- Fix livestock fixtures being broken when using new navmesh
- Fix ai.showstate text being on a single line
- Fix kicking not working
- Hook new cow stomp, sheep turns, happy canter
- Calves now do the opposite of old cows, they always move faster (it helps them keep up with their mom despite their smol legs)
- Cows now remember if you attacked them, and don't just get chill towards you instantly after fleeing
- Cows can kick if you run after them too close while they flee
- Baby now spawns laying down, and slowly gets up while the mom looks at it
- Fix bull turning its back to you when you approach it and it's defending a cow, it should just stand its ground
- Fix all cows fleeing when you shoot near them, but the bull keeping grazing as if nothing happened, now he should attack
- Fix cows stopping flee despite the threat still being close
- Fix graze share counting the walk so fullness kept falling
- put the old drink rate back
- let starving animals roam for food
- guard ResetPath on unplaced agents
Cow stomp animation added