diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm
index 20c16bbfc3..77f5884347 100644
--- a/code/modules/hydroponics/hydroponics.dm
+++ b/code/modules/hydroponics/hydroponics.dm
@@ -215,9 +215,8 @@
// Harvest code
if(age > myseed.production && (age - lastproduce) > myseed.production && (!harvest && !dead))
- nutrimentMutation()
if(myseed && myseed.yield != -1) // Unharvestable shouldn't be harvested
- harvest = 1
+ harvest = TRUE
else
lastproduce = age
if(prob(5)) // On each tick, there's a 5 percent chance the pest population will increase
@@ -395,11 +394,7 @@
sleep(5) // Wait a while
update_icon()
visible_message("[oldPlantName] suddenly mutates into [myseed.plantname]!")
- name = "hydroponics tray ([myseed.plantname])"
- if(myseed.product)
- desc = initial(myseed.product.desc)
- else
- desc = initial(desc)
+ TRAY_NAME_UPDATE
/obj/machinery/hydroponics/proc/mutateweed() // If the weeds gets the mutagent instead. Mind you, this pretty much destroys the old plant
if( weedlevel > 5 )
@@ -419,17 +414,23 @@
sleep(5) // Wait a while
update_icon()
visible_message("The mutated weeds in [src] spawn some [myseed.plantname]!")
+ TRAY_NAME_UPDATE
else
to_chat(usr, "The few weeds in [src] seem to react, but only for a moment...")
-/obj/machinery/hydroponics/proc/plantdies() // OH NOES!!!!! I put this all in one function to make things easier
+/**
+ * Plant Death Proc.
+ * Cleans up various stats for the plant upon death, including pests, harvestability, and plant health.
+ */
+/obj/machinery/hydroponics/proc/plantdies()
plant_health = 0
- harvest = 0
+ harvest = FALSE
pestlevel = 0 // Pests die
+ lastproduce = 0
if(!dead)
update_icon()
- dead = 1
+ dead = TRUE
/obj/machinery/hydroponics/proc/mutatepest(mob/user)
@@ -464,7 +465,6 @@
var/target = myseed ? myseed.plantname : src
var/visi_msg = ""
var/transfer_amount
-
if(istype(reagent_source, /obj/item/reagent_containers/food/snacks) || istype(reagent_source, /obj/item/reagent_containers/pill))
if(istype(reagent_source, /obj/item/reagent_containers/food/snacks))
var/obj/item/reagent_containers/food/snacks/R = reagent_source
@@ -472,7 +472,7 @@
R.generate_trash(get_turf(user))
visi_msg="[user] composts [reagent_source], spreading it through [target]"
transfer_amount = reagent_source.reagents.total_volume
- else
+ else
transfer_amount = reagent_source.amount_per_transfer_from_this
if(istype(reagent_source, /obj/item/reagent_containers/syringe/))
var/obj/item/reagent_containers/syringe/syr = reagent_source
@@ -628,22 +628,23 @@
harvest = FALSE
lastproduce = age
if(istype(myseed, /obj/item/seeds/replicapod))
- if(user)//runtimes
- to_chat(user, "You harvest from the [myseed.plantname].")
+ to_chat(user, "You harvest from the [myseed.plantname].")
else if(myseed.getYield() <= 0)
- if(user)
- to_chat(user, "You fail to harvest anything useful!")
+ to_chat(user, "You fail to harvest anything useful!")
else
- if(user)
- to_chat(user, "You harvest [myseed.getYield()] items from the [myseed.plantname].")
+ to_chat(user, "You harvest [myseed.getYield()] items from the [myseed.plantname].")
if(!myseed.get_gene(/datum/plant_gene/trait/repeated_harvest))
qdel(myseed)
myseed = null
- dead = 0
+ dead = FALSE
name = initial(name)
desc = initial(desc)
+ TRAY_NAME_UPDATE
+ if(self_sustaining) //No reason to pay for an empty tray.
+ idle_power_usage = 0
+ self_sustaining = FALSE
update_icon()
-
+
/// Tray Setters - The following procs adjust the tray or plants variables, and make sure that the stat doesn't go out of bounds.///
/obj/machinery/hydroponics/proc/adjustWater(adjustamt)
waterlevel = clamp(waterlevel + adjustamt, 0, maxwater)