From e1bc56743c04c9c703154bf08233451c389c09d5 Mon Sep 17 00:00:00 2001 From: Artorp Date: Wed, 8 Apr 2015 15:15:12 +0200 Subject: [PATCH] Dispose chems directly from chemdispenser Makes it possible to dispose chemicals directly from the chem dispenser --- code/modules/reagents/Chemistry-Machinery.dm | 12 +++++++++++- nano/templates/chem_dispenser.tmpl | 15 ++++++++++++++- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm index abe1d517e4a..f9c21cf46fc 100644 --- a/code/modules/reagents/Chemistry-Machinery.dm +++ b/code/modules/reagents/Chemistry-Machinery.dm @@ -129,7 +129,7 @@ var beakerCurrentVolume = 0 if(beaker && beaker:reagents && beaker:reagents.reagent_list.len) for(var/datum/reagent/R in beaker:reagents.reagent_list) - beakerContents.Add(list(list("name" = R.name, "volume" = R.volume))) // list in a list because Byond merges the first list... + beakerContents.Add(list(list("name" = R.name, "id"=R.id, "volume" = R.volume))) // list in a list because Byond merges the first list... beakerCurrentVolume += R.volume data["beakerContents"] = beakerContents @@ -178,6 +178,16 @@ R.add_reagent(href_list["dispense"], min(amount, energy * 10, space)) energy = max(energy - min(amount, energy * 10, space) / 10, 0) + if(href_list["remove"]) + if(beaker) + if(href_list["removeamount"]) + var/amount = text2num(href_list["removeamount"]) + if(isnum(amount) && (amount > 0)) + var/obj/item/weapon/reagent_containers/glass/B = beaker + var/datum/reagents/R = B.reagents + var/id = href_list["remove"] + R.remove_reagent(id, amount) + if(href_list["ejectBeaker"]) if(beaker) var/obj/item/weapon/reagent_containers/glass/B = beaker diff --git a/nano/templates/chem_dispenser.tmpl b/nano/templates/chem_dispenser.tmpl index 3de1d02984d..4ecc76683e0 100644 --- a/nano/templates/chem_dispenser.tmpl +++ b/nano/templates/chem_dispenser.tmpl @@ -58,9 +58,22 @@ Used In File(s): \code\modules\reagents\Chemistry-Machinery.dm
{{if data.isBeakerLoaded}} + {{if data.beakerCurrentVolume}} + Dispose: + {{/if}} Volume: {{:data.beakerCurrentVolume}} / {{:data.beakerMaxVolume}}
{{for data.beakerContents}} - {{:value.volume}} units of {{:value.name}}
+
+ + {{:helper.link('1', null, {'remove' : value.id, 'removeamount' : 1})}} + {{:helper.link('5', null, {'remove' : value.id, 'removeamount' : 5})}} + {{:helper.link('10', null, {'remove' : value.id, 'removeamount' : 10})}} + {{:helper.link('ALL', null, {'remove' : value.id, 'removeamount' : value.volume})}} + + + {{:value.volume}} units of {{:value.name}} + +
{{empty}} {{if data.glass}}