mirror of
https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13.git
synced 2025-12-09 16:07:40 +00:00
Testing and bugfixes
This commit is contained in:
@@ -28,6 +28,7 @@
|
||||
var/amount = 30
|
||||
var/recharge_amount = 10
|
||||
var/recharge_counter = 0
|
||||
var/canStore = TRUE//If this can hold reagents or not
|
||||
var/mutable_appearance/beaker_overlay
|
||||
var/working_state = "dispenser_working"
|
||||
var/nopower_state = "dispenser_nopower"
|
||||
@@ -198,6 +199,7 @@
|
||||
data["maxVol"] = reagents.maximum_volume
|
||||
data["isBeakerLoaded"] = beaker ? 1 : 0
|
||||
data["stepAmount"] = dispenceUnit
|
||||
data["canStore"] = canStore
|
||||
|
||||
var/beakerContents[0]
|
||||
var/beakerCurrentVolume = 0
|
||||
@@ -563,6 +565,7 @@
|
||||
working_state = null
|
||||
nopower_state = null
|
||||
pass_flags = PASSTABLE
|
||||
canStore = FALSE
|
||||
dispensable_reagents = list(
|
||||
/datum/reagent/water,
|
||||
/datum/reagent/consumable/ice,
|
||||
@@ -695,12 +698,14 @@
|
||||
dispensable_reagents = list(/datum/reagent/toxin/mutagen)
|
||||
upgrade_reagents = null
|
||||
emagged_reagents = list(/datum/reagent/toxin/plasma)
|
||||
canStore = FALSE
|
||||
|
||||
|
||||
/obj/machinery/chem_dispenser/mutagensaltpeter
|
||||
name = "botanical chemical dispenser"
|
||||
desc = "Creates and dispenses chemicals useful for botany."
|
||||
flags_1 = NODECONSTRUCT_1
|
||||
canStore = FALSE
|
||||
|
||||
dispensable_reagents = list(
|
||||
/datum/reagent/toxin/mutagen,
|
||||
@@ -823,6 +828,7 @@
|
||||
working_state = "minidispenser_working"
|
||||
nopower_state = "minidispenser_nopower"
|
||||
circuit = /obj/item/circuitboard/machine/chem_dispenser/apothecary
|
||||
canStore = FALSE
|
||||
powerefficiency = 0.0833333
|
||||
dispensable_reagents = list( //radium and stable plasma moved to upgrade tier 1 and 2, they've little to do with most medicines anyway.
|
||||
/datum/reagent/hydrogen,
|
||||
|
||||
@@ -341,7 +341,7 @@ datum/reagent/fermi/nanite_b_gone/reaction_obj(obj/O, reac_volume)
|
||||
pH = 0
|
||||
chemical_flags = REAGENT_FORCEONNEW
|
||||
can_synth = TRUE
|
||||
var/strength = 1
|
||||
var/strength = 1.5
|
||||
|
||||
//Consumes self on addition and shifts pH
|
||||
/datum/reagent/fermi/acidic_buffer/on_new(datapH)
|
||||
@@ -370,7 +370,7 @@ datum/reagent/fermi/nanite_b_gone/reaction_obj(obj/O, reac_volume)
|
||||
color = "#fbf344"
|
||||
pH = 4
|
||||
can_synth = TRUE
|
||||
strength = 0.2
|
||||
strength = 0.25
|
||||
|
||||
/datum/reagent/fermi/basic_buffer
|
||||
name = "Strong basic buffer"
|
||||
@@ -379,7 +379,7 @@ datum/reagent/fermi/nanite_b_gone/reaction_obj(obj/O, reac_volume)
|
||||
pH = 14
|
||||
chemical_flags = REAGENT_FORCEONNEW
|
||||
can_synth = TRUE
|
||||
var/strength = 1
|
||||
var/strength = 1.5
|
||||
|
||||
/datum/reagent/fermi/basic_buffer/weak
|
||||
name = "Basic buffer"
|
||||
@@ -387,7 +387,7 @@ datum/reagent/fermi/nanite_b_gone/reaction_obj(obj/O, reac_volume)
|
||||
color = "#5873c4"
|
||||
pH = 10
|
||||
can_synth = TRUE
|
||||
strength = 0.2
|
||||
strength = 0.25
|
||||
|
||||
/datum/reagent/fermi/basic_buffer/on_new(datapH)
|
||||
if(!holder)
|
||||
|
||||
@@ -35,26 +35,28 @@ export const ChemDispenser = (props, context) => {
|
||||
return (
|
||||
<Window
|
||||
width={565}
|
||||
height={720}
|
||||
height={data.canStore ? 720 : 620}
|
||||
resizable>
|
||||
<Window.Content scrollable>
|
||||
<Section
|
||||
title="Status"
|
||||
buttons={
|
||||
[recording && (
|
||||
[(recording && (
|
||||
<Box inline mx={1} color="red">
|
||||
<Icon name="circle" mr={1} />
|
||||
Recording
|
||||
</Box>),
|
||||
<Button
|
||||
key="colorButton"
|
||||
icon="cog"
|
||||
disabled={!data.isBeakerLoaded}
|
||||
tooltip="Alternate between buttons and radial input"
|
||||
tooltipPosition="bottom-left"
|
||||
selected={modeToggle}
|
||||
onClick={() => setModeToggle(!modeToggle)}/>
|
||||
]}>
|
||||
</Box>
|
||||
)
|
||||
),
|
||||
<Button
|
||||
key="colorButton"
|
||||
icon="cog"
|
||||
disabled={!data.isBeakerLoaded}
|
||||
tooltip="Alternate between buttons and radial input"
|
||||
tooltipPosition="bottom-left"
|
||||
selected={modeToggle}
|
||||
onClick={() => setModeToggle(!modeToggle)} />]
|
||||
}>
|
||||
<LabeledList>
|
||||
<LabeledList.Item label="Energy">
|
||||
<ProgressBar
|
||||
@@ -132,8 +134,8 @@ export const ChemDispenser = (props, context) => {
|
||||
onClick={() => act('amount', {
|
||||
target: amount,
|
||||
})} />
|
||||
))) : (!!data.isBeakerLoaded &&
|
||||
<NumberInput
|
||||
))) : (!!data.isBeakerLoaded
|
||||
&& <NumberInput
|
||||
key="dispenseInput"
|
||||
width="65px"
|
||||
unit="u"
|
||||
@@ -145,15 +147,14 @@ export const ChemDispenser = (props, context) => {
|
||||
maxValue={data.beakerMaxVolume}
|
||||
onDrag={(e, amount) => act('amount', {
|
||||
target: amount,
|
||||
})} />
|
||||
),
|
||||
<Button
|
||||
key="colorButton"
|
||||
icon="cog"
|
||||
tooltip="Color code the reagents by pH"
|
||||
tooltipPosition="bottom-left"
|
||||
selected={hasCol}
|
||||
onClick={() => setHasCol(!hasCol)} />]
|
||||
})} />),
|
||||
<Button
|
||||
key="colorButton"
|
||||
icon="cog"
|
||||
tooltip="Color code the reagents by pH"
|
||||
tooltipPosition="bottom-left"
|
||||
selected={hasCol}
|
||||
onClick={() => setHasCol(!hasCol)} />]
|
||||
)}>
|
||||
<Box mr={-1}>
|
||||
{data.chemicals.map(chemical => (
|
||||
@@ -163,7 +164,7 @@ export const ChemDispenser = (props, context) => {
|
||||
width="129.5px"
|
||||
lineHeight={1.75}
|
||||
content={chemical.title}
|
||||
tooltip={"pH: "+chemical.pH}
|
||||
tooltip={"pH: " + chemical.pH}
|
||||
backgroundColor={hasCol ? chemical.pHCol : "blue"}
|
||||
onClick={() => act('dispense', {
|
||||
reagent: chemical.id,
|
||||
@@ -171,31 +172,32 @@ export const ChemDispenser = (props, context) => {
|
||||
))}
|
||||
</Box>
|
||||
</Section>
|
||||
<Section
|
||||
title="Storage"
|
||||
buttons={
|
||||
<Box>
|
||||
Transfer amount:
|
||||
<AnimatedNumber
|
||||
initial={5}
|
||||
value={data.amount} />
|
||||
u
|
||||
</Box>
|
||||
}
|
||||
>
|
||||
<ProgressBar
|
||||
value={data.storedVol / data.maxVol}>
|
||||
{toFixed(data.storedVol) + ' units / ' + data.maxVol + ' units'}
|
||||
</ProgressBar>
|
||||
<ChemicalBuffer>
|
||||
{storedContents.map(chemical => (
|
||||
<ChemicalBufferEntry
|
||||
key={chemical.id}
|
||||
chemical={chemical}
|
||||
transferTo="beaker" />
|
||||
))}
|
||||
</ChemicalBuffer>
|
||||
</Section>
|
||||
{!!data.canStore && (
|
||||
<Section
|
||||
title="Storage"
|
||||
buttons={
|
||||
<Box>
|
||||
Transfer amount:
|
||||
<AnimatedNumber
|
||||
initial={5}
|
||||
value={data.amount} />
|
||||
u
|
||||
</Box>
|
||||
}>
|
||||
<ProgressBar
|
||||
value={data.storedVol / data.maxVol}>
|
||||
{toFixed(data.storedVol) + ' units / ' + data.maxVol + ' units'}
|
||||
</ProgressBar>
|
||||
<ChemicalBuffer>
|
||||
{storedContents.map(chemical => (
|
||||
<ChemicalBufferEntry
|
||||
key={chemical.id}
|
||||
chemical={chemical}
|
||||
transferTo="beaker" />
|
||||
))}
|
||||
</ChemicalBuffer>
|
||||
</Section>
|
||||
)}
|
||||
<Section
|
||||
title="Beaker"
|
||||
buttons={(
|
||||
@@ -221,14 +223,14 @@ export const ChemDispenser = (props, context) => {
|
||||
{recording
|
||||
&& 'Virtual beaker'
|
||||
|| data.isBeakerLoaded
|
||||
&& (
|
||||
<Fragment>
|
||||
<AnimatedNumber
|
||||
initial={0}
|
||||
value={data.beakerCurrentVolume} />
|
||||
/{data.beakerMaxVolume} units
|
||||
</Fragment>
|
||||
)
|
||||
&& (
|
||||
<Fragment>
|
||||
<AnimatedNumber
|
||||
initial={0}
|
||||
value={data.beakerCurrentVolume} />
|
||||
/{data.beakerMaxVolume} units
|
||||
</Fragment>
|
||||
)
|
||||
|| 'No beaker'}
|
||||
</LabeledList.Item>
|
||||
<LabeledList.Item
|
||||
@@ -300,17 +302,19 @@ const ChemicalBeakerEntry = (props, context) => {
|
||||
value={chemical.volume}
|
||||
initial={0} />
|
||||
{` units of ${chemical.name}`}
|
||||
</Table.Cell>
|
||||
<Table.Cell collapsing>
|
||||
<Button
|
||||
content="Store"
|
||||
icon="upload"
|
||||
disabled={!!data.recordingRecipe}
|
||||
mt={0.5}
|
||||
onClick={() => act('store', {
|
||||
id: chemical.id,
|
||||
})} />
|
||||
</Table.Cell>
|
||||
{!!data.canStore && (
|
||||
<Table.Cell collapsing>
|
||||
<Button
|
||||
content="Store"
|
||||
icon="upload"
|
||||
disabled={!!data.recordingRecipe}
|
||||
mt={0.5}
|
||||
onClick={() => act('store', {
|
||||
id: chemical.id,
|
||||
})} />
|
||||
</Table.Cell>
|
||||
)}
|
||||
</Table.Row>
|
||||
);
|
||||
};
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user