branchrust_reboot/main/world_update_2/waterwell_updatecancel
39 Commits over 31 Days - 0.05cph!
Added Waterwell NPC Mask model/materials
Deleted waterwell modelviewer files
Another pass on vending orders
Remove some old hacks to fix save games (again)
Added explicit versions of TakeFrom to eliminate param[] allocation
Fixed dead npc shopkeepers using the wrong loot panel, a symptom of them not using the correct corpse prefab
Involved moving CreateCorpse override up a level from HumanNPC to NPCPlayer, this turned into a bit of a refactor as I cleaned up the copy+pasted CreateCorpse methods in FrankensteinPet, ScarecrowNPC and GingerbreadNPC, exposed any differences in their corpse generation process as virtual properties (see CorpsePath, ShouldCorpseTakeChildren, KeepCorpseClothingIntact, OverrideCorpseName, ApplyLoot, CopyInventoryToCorpse)
Remove Gibbable, GroundWatch components from new planters, mark them as immortal
Added 1x planter to water well A
Added 2x planters to water well B
Fixed parenting of planter in water well D and E
S2P all wells
Added static respawning planters to new Water Wells.
Respawning Static Planters ~
Added ConVar to adjust the extra favourable gene chance.
Better system for informing the static planter when plants die
Set respawn check to 30 seconds
Ensured soil saturation stays at maximum throughout growth cycle
Overall quality artificially set
Added system to mark growable entities as god - this ensure they always calulate max quality on all stats
Applied to plants inside static planter
Dont try to Free a list that doesn't exist
Added an optimised way to check if a static planter box is empty
Statically spawned planter boxes will now generate genes with a weight towards the positive, rather than completely random
Fixed static planter now actually spawns the random selection of plants.
Spawn positions are now cached in the editor instead of at runtime
Fixed NPC shopkeeper not respawning
Manually reimplemented the vending machine changes on this branch
Merge from parent (many merge issues, will need some fixing)
Created basic setup for static planter box:
Will grab all available sockets at startup, pick a random plant from a list and spawn them on the traditional deploy sockets
Created a new water wells test scene, added to the dev scene loader
waterwell shopkeeper jumpsuit prefab and inventory
waterwell shopkeeper materials
Self intersecting polygon bug on Food_Cache_005
Shop UI now closes if vendor dies while player is shopping
Setup placeholder clothing loadout
Add NPC/vending spawners to water well C and E
Lowered chance of teas in food cache loot table
Protobuf restructuring, save next refresh time
Expose server.waterWellNpcSalesRefreshFrequency, default one hour (WIP)
Removed a bunch of code in InvisibleVendingMachine that was marked to be removed
New vendor refreshes item selection (every 60s right now for testing)
Happens regardless of whether the vendor is alive or not
Don't show map marker for water well NPC
First pass on a shopkeeper NPC in the water well (only on D variant right now)
Can be killed by players, will not drop any loot
Will respawn after 30-60 minutes
Shop is inaccessible while the shopkeeper is dead (so please be nice)
Some minor shopkeeper cleanup, converted a generic flag into a named const flag for better tracking and invisible vending machines no longer need to do a Vis.Entities every time they sell something or look at the player
Added 1 - 2 food cache spawners to water wells b,c,d,e
Set up prefabs and first pass on loot table (mixture of high quality food and teas)
Clean up food cache prefabs (correct mesh LOD settings, removed unneeded colliders, added RendererBatch to pickle jars)
Move Food Cache folder to Prefabs/Misc/Food Crate (as this is not a deployable)