Fixes Hydroponics Water Adding (#70280)

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
This commit is contained in:
Aki Ito
2022-10-05 12:09:15 -07:00
committed by GitHub
co-authored by Mothblocks
parent 02cef8a24b
commit 01a8366543
+13 -4
View File
@@ -591,10 +591,13 @@
/**
* Adjust water.
* Raises or lowers tray water values by a set value. Adding water will dillute toxicity from the tray.
* Returns the amount of water actually added/taken
* * adjustamt - determines how much water the tray will be adjusted upwards or downwards.
*/
/obj/machinery/hydroponics/proc/adjust_waterlevel(amt)
set_waterlevel(clamp(waterlevel + amt, 0, maxwater), FALSE)
var/initial_waterlevel = waterlevel
set_waterlevel(clamp(waterlevel+amt, 0, maxwater), FALSE)
return waterlevel-initial_waterlevel
/**
* Adjust Health.
@@ -849,9 +852,15 @@
//This was originally in apply_chemicals, but due to apply_chemicals only holding nutrients, we handle it here now.
if(reagent_source.reagents.has_reagent(/datum/reagent/water, 1))
var/water_amt = reagent_source.reagents.get_reagent_amount(/datum/reagent/water) * transfer_amount / reagent_source.reagents.total_volume
H.adjust_waterlevel(round(water_amt))
reagent_source.reagents.remove_reagent(/datum/reagent/water, water_amt)
reagent_source.reagents.trans_to(H.reagents, transfer_amount, transfered_by = user)
var/water_amt_adjusted = H.adjust_waterlevel(round(water_amt))
reagent_source.reagents.remove_reagent(/datum/reagent/water, water_amt_adjusted)
for(var/datum/reagent/not_water_reagent as anything in reagent_source.reagents.reagent_list)
if(istype(not_water_reagent,/datum/reagent/water))
continue
var/transfer_me_to_tray = reagent_source.reagents.get_reagent_amount(not_water_reagent.type) * transfer_amount / reagent_source.reagents.total_volume
reagent_source.reagents.trans_id_to(H.reagents, not_water_reagent.type, transfer_me_to_tray)
else
reagent_source.reagents.trans_to(H.reagents, transfer_amount, transfered_by = user)
lastuser = WEAKREF(user)
if(IS_EDIBLE(reagent_source) || istype(reagent_source, /obj/item/reagent_containers/pill))
qdel(reagent_source)