mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-30 00:29:02 +01:00
Fixes Hydroponics Water Adding (#70280)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user