branchrust_reboot/main/Livestock_animalscancel
335 Commits over 488 Days - 0.03cph!
Hook up the procedural cow textures derived from genes
Fixed a few places where we were caching a static reference to the scrap item def, we have ItemLookup in ItemManager that does this for us
Deduct scrap when purchasing animals
First pass on livestock naming
▌ ▋▌▅ ▋▌▄▉█ ▍ ██▋▊█▋▌ ▅▄▍ ▉▇▉▌ ▌▄▍▆ ▅▄▌▅▊▅▊▍ ▊▋█▊▆█ ▌█ █▉█▊▍▇▇█ ▇▅▆█▆▍▆ ▊▌▋█▇▅▇▌▉ ▄▉▅▄ ▋▇▋▄ █▄▇▇▊ ▇▆ ▌▋▇▌█▌▅▋▋█▋▋█ ▄█▇▅▋ ▌▊█ ▆▆▊▍█▆ ▄▅▊▍▄▉ █▉▊▋▉ ▇▋▌▋█▉▄▉ ▆▄▍▋ ▆▉▋▋▌▉ █▋▌▄▊▅▉▅▉▊▆▄█ ▌▉▊▇▅▋▊▌▊▊ █▆▅▄██▇▆ ▌▊▄▅ ▄▊▆ ▄▋▆▇ ▄▇▆▆▉▅▅ ▉▆ ▊▍▆ ▋▋▄▇▌█▄▄▊▆▇ █▇█▊█▍ ▄▄▄▇▉ ▊▇▅▍▊▍ ▇▌▅▉ ▌▇▆▇▍▆ █▊▋▅▊▌▍ ▌▌ ▅█▊▉▅▊▍▌▆▅▋▅▌▌▄▋▌▄▌▉▄▅▇▉ ▋▊█▇▆ ▌▌▇▇▅█▉▊▆▄▍▍█▄▆▆ ▅ ▊▋▊▇ ▋▋▅▆ ▋▍▅▅▌ ▉▆▊▊▇▆▇▌▊▇█▄▉▄▌▊▉▅▄ ▆ ▊▄▊▊▌ ▅▅ ▆▄▇ ▉█▉█▉▊▇ ▌▊▍▌▆▍▇▆▇▆▊▆ ▊▆▋ ▄▌ ▆█▉▄ ▌▆▅ ▅▋▇▋ ▄▉▄▉▆▇▋█ ▅▇ ▇▅▇ ▇▉▌█ ▍█▅▌█ ▊▅▄▄▇▄█▋ ▊█ ▉▉ ▆▋▅▄▄ ▇▉▆▌█▍▇▆▊▆▇▋ ▆▇▅▍▉▍▍ ▉▅▄▋▄▇▋▌▉▌▅▌▋ ▇▍▅▊▉▉▅▆▊▌▊▋▅▄█ ▅█▉▊▋▆ ▉▍ ▆▌▆█▋ ▄▌██ █▊▇▆▆▉ ▇▄▌▊▍▆▇▍▌▇▆▋▄▆▉▄ █▌▍▌▌▇▄ ▇▆▋ █▆▆█ ▊▆▌ ▌▆▊▍▊ ▊▊▍▌▇▄▉▇ ▋▆ ▍█▅ ▉▇▇▋▄▍█ ▇▅▌▄▋ █▋▄▌ ▅▍▌▄▌▅ ▇▍▍ ▍▍▋▍▍▅▇ ▋▆▄▌ █▅ ▆▋█▆█▋▌▅ ▍▇▉█▊▆▄▇ ▇▇▍█▋▄▍▋█▅ ▊▋▍▅▊▅▇▄▋▅▉▊▋▉▄▌▄▊▅█▇▍▇▇▍▋▍▄█▆▋▋▋▆ ▄▅▅▌▋ █▄▊▉▌ ▋▋ ▊██ ▌▄▇▉▍▌▋█▉▆▍▆▇▉▉▇▌▌██▌▋▅▌ ▊█▋▇ █▉▅▄ █▉▉▅█▅ ▋█▇▋ ▉▊▌▆▊▄▄█▍▍▆▍▉▅▌█▍▉▅▇▍▍▄▌▋▌▄▇ ▍▋▄▄▅▅ ▅▉ ▄█▋▊▇ ▄▊ ▆▋█▍ █▇ ▄▆▆▇▍ ▋▉▉▍▉ ▌▄▊▉ ▆▌▆▌▇ ▍▆▇█▌ █▄▌▇▌▅▆▌▉▍▌█▌▊▆▇▉▄▅ ▍▌▊ ▊▉█▇▉▊▉█▅▊▋█▌▌▍▆▊▌▆▄█▋▊ ▋▍▉▊ ▍▇▅ ▆▉▍▋▇▇▌█▉▊ ▆▄▋▅▋█ ▌▇█▇▇▇
Merge from main (stomped test list)
- Make genes impact cow selling price
- Refine the test that compare if 32x speed matches 1x speed results, it failed, births are actually wrong I need to fix that
- Make better tests for livestock capture, including with the new pen
- Refine the test that compare if 32x speed matches 1x speed results, it failed, births are actually wrong I need to fix that
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