4,306 Commits over 1,919 Days - 0.09cph!
Water requirement gene balance tweak
Potato world population spawning.
Increased potato grow time, but lowered optimal condition values.
Some initial potato consumable stats: lowered hyrdration benefit, restores health more slowly.
Removed hardiness bonus from plant properties as it's no longer needed.
Fixed a bug with value remapping breaking some optimal condition calcs.
Added optimal quality values to plant properties, so they can be set per growable type, eg potatoes could grow more easily in worse conditions. (all set to 1 at the moment though)
Fixed some client #ifdef errors.
Changed item description "Potato Seed" to "Seed Potato" cus that's what they're actually called.
switched hemp and pumpkin over to GrowableEntity
Yield calculation changes
More balance tweaks.
Small planter is now a default blueprint.
Quality/modifier/calculation balance tweaks.
Added CompostEntireStack composter inspector bool, if this is enabled, the entire stack of an item will be composted each tick instead of just one from the stack.
Simplified the fertilizer item creaction, getting rid of a loop.
Increased composter tick rate to 15 minutes
Color code condition UI values, red when <= 0.5.
Changed "Water" label to "Water Saturation" to be more obvious what it indicates.
UI work: clearer stats display, show percentage values, reordered.
Added BelowMinimumSaturationTriggerLevel and AboveMaximumSaturationTriggerLevel to PlanterBox, for electrical use later on.
Added availableIdealWaterCapacity, availableWaterCapacity and idealSaturation to PlanterBox. These are used to determine how much more (if any) water a planterbox needs to receive in order to bring it to the optimal saturation level for growth (and not over).
Send an update if any genetics change during crossbreeding.
Rough first pass on generic.genes gene type crossbreeding weights
Check only server entities in crossbreeding vis results.
Tweaked crossbreeding range to give the correct neighbour results in planters.
Crossbreeding only happens within a planter.
Play a particle effect when crossbreeding triggers. Using the harvest effect as placeholder.
Water quality returns 0 not -1 when underwater.
Artificial light quality is now capped at 1 instead of 1.5, because it already provides the bonus of 24hr light and ignores the plants time of day happiness.
merged & fixed water consumption changes
finished water consumption changes: protobuf, display, update.
Added GetPositiveGeneCount and GetNegativeGeneCount to GrowableGenes.
Basic initial "market" value calculation based on plant type base value and the type/number of gene modifiers it has.
Added a temperature based water requirement multiplier to properties.
Water requirement calculation now uses it.
WIP refactoring some related stuff.
Qualities are now calculated correctly and instantly when a seed is planted into a planterbox, instead of having a null planterbox until the first tick because of the parent not being set by that point.
Updated farming save.
Fixed an optimisation messing up gene display in some situations
More gene encoding/transfer work.
Fixed some loading issues
Removed cloning mechanic, instead you now receive a seed (plus bonus ones for yield gene modifiers) when picking the fruit, which contain the plant's gene data.
Codegen.
Show water ml consumption on crosshair info.
More water + yield calc wip and a bit of refactor.
Removed some more unneeded code.
Changed socket placement checks to use new growable entity instead of the old plant entity.
BaseRidableAnimals now eats growables instead of plants.
Added temperate to UI and protobuf.
Re-ordered quality stats in UI to make more sense.
Moved all quality calcs to GrowableEntity.Quality, bit of other refctoring.
Added temperature quality calc.
Clamp01 on the existing curve evaluations to prevent any accidental bad data in the curves causing bad shit.
Removed a bunch of pre-existing code related to growth and growthAge which isn't needed.