diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm index 584c300810c..5f0887efd57 100644 --- a/code/modules/hydroponics/grown.dm +++ b/code/modules/hydroponics/grown.dm @@ -110,18 +110,27 @@ for(var/datum/reagent/reagent in reagents.reagent_list) if(reagent.type != /datum/reagent/consumable/nutriment && reagent.type != /datum/reagent/consumable/nutriment/vitamin) continue + var/purity = clamp(seed.lifespan/200 + seed.endurance/200, 0, 1) + var/quality_min = 0 + var/quality_max = DRINK_FANTASTIC + var/quality = round(LERP(quality_min, quality_max, purity)) if(distill_reagent) - reagents.add_reagent(distill_reagent, reagent.volume) + var/data = list() + var/datum/reagent/consumable/ethanol/booze = distill_reagent + data["quality"] = quality + data["boozepwr"] = round(initial(booze.boozepwr) * purity) + reagents.add_reagent(distill_reagent, reagent.volume, data, added_purity = purity) else var/data = list() data["names"] = list("[initial(name)]" = 1) data["color"] = filling_color - data["boozepwr"] = wine_power + data["boozepwr"] = round(wine_power * purity) + data["quality"] = quality if(wine_flavor) data["tastes"] = list(wine_flavor = 1) else data["tastes"] = list(tastes[1] = 1) - reagents.add_reagent(/datum/reagent/consumable/ethanol/fruit_wine, reagent.volume, data) + reagents.add_reagent(/datum/reagent/consumable/ethanol/fruit_wine, reagent.volume, data, added_purity = purity) reagents.del_reagent(reagent.type) /obj/item/food/grown/on_grind() diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm index de249d72a10..274dbd425c2 100644 --- a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm @@ -37,7 +37,13 @@ All effects don't start immediately, but rather get worse over time; the rate is 91-100: Dangerously toxic - swift death */ -/datum/reagent/consumable/ethanol/New() +/datum/reagent/consumable/ethanol/New(list/data) + if(LAZYLEN(data)) + if(data["quality"]) + quality = data["quality"] + name = "Natural " + name + if(data["boozepwr"]) + boozepwr = data["boozepwr"] addiction_types = list(/datum/addiction/alcohol = 0.05 * boozepwr) return ..() diff --git a/tgui/packages/tgui/interfaces/SeedExtractor.tsx b/tgui/packages/tgui/interfaces/SeedExtractor.tsx index 0f3668e8260..4ed7d2cde8b 100644 --- a/tgui/packages/tgui/interfaces/SeedExtractor.tsx +++ b/tgui/packages/tgui/interfaces/SeedExtractor.tsx @@ -108,7 +108,9 @@ export const SeedExtractor = (props, context) => { + content={ + 'The health pool of the plant that delays death. Affects fermentation quality.' + }> setSortField('endurance')}> @@ -118,7 +120,7 @@ export const SeedExtractor = (props, context) => { + content={`The age at which the plant starts decaying, in ${data.cycle_seconds} second long cycles. Affects fermentation quality.`}> setSortField('lifespan')}>