branchrust_reboot/main/farming2cancel
263 Commits over 91 Days - 0.12cph!
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
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.
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.
Removed a bit of unused code
Show current stage name and progress on crosshair UI.
UI tweaks.
Additional farming save file with potatoes at fruiting stage, to save my sanity.
Yield value increases during the fruiting stage, includes yield gene modifiers. Placeholder values.
Show the yield and current stage info on crosshair info.
Show plant type on crosshair info
basic initial potato item/entity setup, manifest.