From c7965d3b4a63755cd5dd540c93249de008afa3a0 Mon Sep 17 00:00:00 2001
From: Fermi <33956696+Thalpy@users.noreply.github.com>
Date: Mon, 4 Jan 2021 10:53:21 +0000
Subject: [PATCH] Pushing to review diff
---
.../chemistry/machinery/chem_dispenser.dm | 14 +++---
.../chemistry/reagents/fermi_reagents.dm | 12 ++++-
.../packages/tgui/interfaces/ChemDispenser.js | 50 ++++++++++---------
tgui/packages/tgui/interfaces/ChemMaster.js | 2 +-
4 files changed, 44 insertions(+), 34 deletions(-)
diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm
index 0fe4898b76..25658df0a5 100644
--- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm
+++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm
@@ -33,7 +33,6 @@
var/nopower_state = "dispenser_nopower"
var/has_panel_overlay = TRUE
var/obj/item/reagent_containers/beaker = null
- var/list/stored_beakers = list()
var/list/dispensable_reagents = list(
/datum/reagent/hydrogen,
/datum/reagent/lithium,
@@ -363,10 +362,11 @@
return
var/reagent = text2path(params["id"])
var/datum/reagent/R = beaker.reagents.has_reagent(reagent)
- if(reagents.total_volume+amount > reagents.maximum_volume)
+ var/potentialAmount = min(amount, R.volume)
+ if(reagents.total_volume+potentialAmount > reagents.maximum_volume)
say("Not enough storage space left!")
return
- beaker.reagents.trans_id_to(src, R.type, amount)
+ beaker.reagents.trans_id_to(src, R.type, potentialAmount)
work_animation()
. = TRUE
@@ -455,13 +455,13 @@
if(M.rating > 3)
dispensable_reagents |= upgrade_reagents3
switch(M.rating)
- if(0)
+ if(-INFINITY to 1)
dispenceUnit = 5
- if(1)
- dispenceUnit = 3
if(2)
+ dispenceUnit = 3
+ if(3)
dispenceUnit = 2
- if(3 to INFINITY)
+ if(4 to INFINITY)
dispenceUnit = 1
powerefficiency = round(newpowereff, 0.01)
diff --git a/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm b/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm
index 453fe50e9c..3e2978ef04 100644
--- a/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm
+++ b/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm
@@ -345,12 +345,16 @@ datum/reagent/fermi/nanite_b_gone/reaction_obj(obj/O, reac_volume)
//Consumes self on addition and shifts pH
/datum/reagent/fermi/acidic_buffer/on_new(datapH)
+ if(!holder)
+ return ..()
+ if(holder.reagents_holder_flags & NO_REACT)
+ return..()
if(holder.has_reagent(/datum/reagent/stabilizing_agent))
return ..()
data = datapH
if(LAZYLEN(holder.reagent_list) == 1)
return ..()
- holder.pH = ((holder.pH * (holder.total_volume-volume))+(pH * (volume*strength)))/(holder.total_volume + volume)
+ holder.pH = ((holder.pH * (holder.total_volume-volume))+(pH * volume*strength))/holder.total_volume //This is BEFORE removal
holder.my_atom.visible_message("The beaker fizzes as the pH changes!")
playsound(holder.my_atom, 'sound/FermiChem/bufferadd.ogg', 50, 1)
holder.remove_reagent(type, volume, ignore_pH = TRUE)
@@ -382,12 +386,16 @@ datum/reagent/fermi/nanite_b_gone/reaction_obj(obj/O, reac_volume)
strength = 0.4
/datum/reagent/fermi/basic_buffer/on_new(datapH)
+ if(!holder)
+ return ..()
+ if(holder.reagents_holder_flags & NO_REACT)
+ return..()
if(holder.has_reagent(/datum/reagent/stabilizing_agent))
return ..()
data = datapH
if(LAZYLEN(holder.reagent_list) == 1)
return ..()
- holder.pH = ((holder.pH * (holder.total_volume-volume))+(pH * (volume*strength)))/(holder.total_volume + volume)
+ holder.pH = ((holder.pH * (holder.total_volume-volume))+(pH * volume*strength))/holder.total_volume //This is BEFORE removal
holder.my_atom.visible_message("The beaker froths as the pH changes!")
playsound(holder.my_atom, 'sound/FermiChem/bufferadd.ogg', 50, 1)
holder.remove_reagent(type, volume, ignore_pH = TRUE)
diff --git a/tgui/packages/tgui/interfaces/ChemDispenser.js b/tgui/packages/tgui/interfaces/ChemDispenser.js
index 5390552dca..434b447364 100644
--- a/tgui/packages/tgui/interfaces/ChemDispenser.js
+++ b/tgui/packages/tgui/interfaces/ChemDispenser.js
@@ -111,21 +111,21 @@ export const ChemDispenser = (props, context) => {
title="Dispense"
buttons={(
[ act('amount', {
- target: amount,
- })} />,
+ width="65px"
+ unit="u"
+ step={data.stepAmount}
+ stepPixelSize={data.stepAmount}
+ value={data.amount}
+ minValue={0}
+ maxValue={data.beakerMaxVolume}
+ onDrag={(e, amount) => act('amount', {
+ target: amount,
+ })} />,