mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-17 18:13:34 +01:00
Botany Mutation Rework
Reworked the mutation system for Botany to use a "tier system", adjusting mutation chances and the potential type of mutation based on the amount of the reagent(s) added. Updated handling for Floral Somatoray to work properly with new Botany Mutation Rework. Adjusted Floral Somatoray's Yield setting to adjust the yield stat of the plant instead of yield_mod stat of the tray. Also added additional information to the Plant Analyzer when scanning trays. Will now include information such as age, yield modifier, and toxicity in the report. This will not be shown when scanning harvested goods or seeds. Fixed some typos and missing words in podmen.dm in preparation of planned attempt to reintegrate pod-cloning functionality. Fixed hydroponics trays setting "waterlevel = maxwater" and "nutrilevel = 3" whenever RefreshParts() is called, and fixed sanity check for water and nutrients above previous max levels. Unreported change from my previous commit (this is for the sake of documentation): End of round score will factor Hydroponics harvests into the calculations.
This commit is contained in:
@@ -18,6 +18,17 @@
|
||||
|
||||
var/datum/seed/grown_seed
|
||||
var/datum/reagents/grown_reagents
|
||||
|
||||
//--FalseIncarnate
|
||||
var/IS_TRAY = 0 //used to track if the target is a hydroponics tray or soil. 1 if true, otherwise 0
|
||||
var/tray_age //age of the plant in the tray
|
||||
var/tray_weed_level //weed level of tray
|
||||
var/tray_pest_level //pest level of tray
|
||||
var/tray_toxins //toxicity of the tray
|
||||
var/tray_yield_mod //yield modifier of the tray
|
||||
var/tray_mutation_mod //mutation modifier of the tray
|
||||
//--FalseIncarnate
|
||||
|
||||
if(istype(target,/obj/item/weapon/reagent_containers/food/snacks/grown))
|
||||
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/grown/G = target
|
||||
@@ -38,6 +49,19 @@
|
||||
else if(istype(target,/obj/machinery/portable_atmospherics/hydroponics))
|
||||
|
||||
var/obj/machinery/portable_atmospherics/hydroponics/H = target
|
||||
|
||||
//--FalseIncarnate
|
||||
//Flag the target as a tray for showing tray-specific stats
|
||||
IS_TRAY = 1
|
||||
//Save tray data to matching variables
|
||||
tray_age = H.age
|
||||
tray_weed_level = H.weedlevel
|
||||
tray_pest_level = H.pestlevel
|
||||
tray_toxins = H.toxins
|
||||
tray_yield_mod = H.yield_mod
|
||||
tray_mutation_mod = H.mutation_mod
|
||||
//--FalseIncarnate
|
||||
|
||||
grown_seed = H.seed
|
||||
grown_reagents = H.reagents
|
||||
|
||||
@@ -57,6 +81,19 @@
|
||||
dat += "<tr><td><b>Maturation time</b></td><td>[grown_seed.maturation]</td></tr>"
|
||||
dat += "<tr><td><b>Production time</b></td><td>[grown_seed.production]</td></tr>"
|
||||
dat += "<tr><td><b>Potency</b></td><td>[grown_seed.potency]</td></tr>"
|
||||
|
||||
//--FalseIncarnate
|
||||
//Tray-specific stats like Age and Mutation Modifier, not shown if target was not a hydroponics tray or soil
|
||||
if(IS_TRAY == 1)
|
||||
dat += "<tr><td></td></tr>"
|
||||
dat += "<tr><td><b>Age</b></td><td>[tray_age]</td></tr>"
|
||||
dat += "<tr><td><b>Weed Level</b></td><td>[tray_weed_level]</td></tr>"
|
||||
dat += "<tr><td><b>Pest Level</b></td><td>[tray_pest_level]</td></tr>"
|
||||
dat += "<tr><td><b>Toxins</b></td><td>[tray_toxins]</td></tr>"
|
||||
dat += "<tr><td><b>Yield Modifier</b></td><td>[tray_yield_mod]</td></tr>"
|
||||
dat += "<tr><td><b>Mutation Modifier</b></td><td>[tray_mutation_mod]</td></tr>"
|
||||
//--FalseIncarnate
|
||||
|
||||
dat += "</table>"
|
||||
|
||||
if(grown_reagents && grown_reagents.reagent_list && grown_reagents.reagent_list.len)
|
||||
|
||||
Reference in New Issue
Block a user